From 9f939fa900ed9f083b70413ab87b2ea096afd21e Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 08:02:01 -0400 Subject: [PATCH 01/41] amr: amr_max_level param + multi-level design roadmap (increment 1, gated) - Foundation for multi-level AMR nesting (arbitrary refinement depth L0..L_amr_max_level). Add the amr_max_level namelist param (default 1 = current single-level behavior); gate amr_max_level>1 fail-closed in m_checker (not yet supported), documented in case.md + descriptions.py. docs/documentation/amr_multilevel.md captures the design: the core generalization is 'coarse = L0' -> 'coarse for level l+1 = level l' throughout the coupling; FLAT block pool + per-block level/parent tag (so the SFC distribution / lazy owned-only alloc / repartition-restart / P2P migration machinery all carry over unchanged - level-agnostic); RECURSIVE subcycling with time-interpolated C/F BCs (Berger-Colella). Increments: (1) param+gate [this], (2) recursive coupling, (3) recursive subcycle, (4) per-level regrid+nesting, (5) restart/distribution/GPU per level. VALIDATED CPU reldebug: amr_max_level=2 aborts with the gate; 21C71558 + 6C20B752 (np=1) bit-identical (default 1 neutral). --- docs/documentation/amr_multilevel.md | 60 ++++++++++++++++++++++++++ docs/documentation/case.md | 2 + src/simulation/m_checker.fpp | 3 ++ src/simulation/m_global_parameters.fpp | 1 + toolchain/mfc/params/definitions.py | 2 + toolchain/mfc/params/descriptions.py | 1 + 6 files changed, 69 insertions(+) create mode 100644 docs/documentation/amr_multilevel.md diff --git a/docs/documentation/amr_multilevel.md b/docs/documentation/amr_multilevel.md new file mode 100644 index 0000000000..240ac92a00 --- /dev/null +++ b/docs/documentation/amr_multilevel.md @@ -0,0 +1,60 @@ +# Multi-level AMR nesting — design and implementation plan + +Status: **in progress.** The block-structured AMR core today supports a single refined +level (L1, 2:1 over the L0 base grid). This document is the roadmap for generalizing it to +arbitrary refinement depth (L0, L1, …, L`amr_max_level`). It is implemented in +behavior-preserving increments: at `amr_max_level = 1` the code is bit-identical to the +single-level core. + +## The one assumption to generalize + +Everywhere in `m_amr`, "coarse" means the **L0 base grid**: + +- `t_level%%region` is a box in **L0 cell indices**. +- Every coupling routine reads/writes the L0 fields (`q_cons_base` / `q_cons_ts(1)`): + gather (`s_amr_gather_coarse_patch`), prolong (`s_interpolate_coarse_to_fine`), + restriction (`s_restrict_fine_to_coarse`), reflux (fine flux corrects L0). +- The advance driver (`m_time_steppers`) loops the single fine-block pool once per L0 step. + +Multi-level replaces "coarse = L0" with "**the coarse side of level `l+1` is level `l`**". + +## Target architecture + +- Levels `0 .. amr_max_level`. A level-`l` block (`l ≥ 1`) refines a covering level-`(l-1)` + region by `ref_ratio` (2 today). Level `l+1` must be **properly nested** inside level `l` + (surrounded by level-`l` cells; never adjacent to level `l-1`). +- **Flat pool + per-block level tag** (chosen over a per-level pool array): `amr_slots` stays + one pool; each block gains `level` and `parent` (the covering coarser block, or 0 for an + L1 block whose parent is L0). Rationale: the distribution machinery (SFC owners, P2P + gather/restriction/reflux/migration, lazy owned-only slot allocation, repartition-on-restart) + all operate on the flat pool and are level-agnostic, so they carry over with near-zero change. + A per-level pool array would force rewriting every `amr_slots(k)` reference (high churn, + silent-bug-prone — the same reason the #4 lazy-alloc avoided a global→local pool remap). +- **Recursive subcycling** (chosen over lock-step): `advance(l)` advances level `l` by `dt_l`, + then for `s = 1..ref_ratio` recursively advances level `l+1` by `dt_{l+1} = dt_l/ref_ratio` + with time-interpolated C/F boundary data from level `l` (extends today's 2-level subcycle, + `q_ghost_a/b`, recursively), then refluxes `l+1 → l`. Most accurate and efficient; the + standard Berger–Colella time integration. + +## Increments (each validated np=1 bit-identical + np≥2 conservation + GPU) + +1. **Foundation (bit-identical).** `amr_max_level` namelist param (default 1), gated + `amr_max_level > 1` fail-closed in `m_checker` until the recursion lands. *(this increment)* +2. **Recursive coupling.** Add the per-block `%%level`/`%%parent` tags, then parameterize + gather/prolong/restriction/reflux by a coarse-level source: the level-`l` block data instead + of only `q_cons_base`. The L1↔L0 path is the `l = 0` special case and stays byte-identical. +3. **Recursive subcycle driver.** Generalize the `m_time_steppers` AMR advance into a + recursive `advance(level)` with per-level `dt` and time-interpolated coarse ghosts. +4. **Per-level regrid + proper nesting.** Tag each level for the next-finer one; build level + `l+1` boxes clustered + tiled + nested inside level `l`; distribute (reusing the SFC map). +5. **Restart / distribution / GPU per level.** Extend the fine-restart record with a per-block + level; validate repartition-on-restart and the device present-table across levels. + +## Design decisions on record + +- Flat pool + per-block `level`/`parent` tag (not a per-level pool array). +- Recursive subcycling with time-interpolated C/F BCs (not lock-step). +- `ref_ratio` stays 2 for now (ratio-4 is separate, banked work); nesting/coupling are written + ratio-generic so ratio-4 drops in later. +- Load balance: the existing SFC map distributes blocks across **all** levels from the flat + pool; the `amr_max_blocks < num_procs` warning applies per the total block count. diff --git a/docs/documentation/case.md b/docs/documentation/case.md index 232797fe04..c41b2702f7 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -684,6 +684,7 @@ To restart the simulation from $k$-th time step, see @ref running "Restarting Ca | `amr_buf` | Integer | Coarse-cell padding around tagged cells when regridding (default 3) | | `amr_subcycle` | Logical | Advance the coarse level at the case dt and the fine level at dt/2 (two substeps; Berger-Colella refluxing). Requires `amr`; incompatible with `cfl_dt`. | | `amr_max_blocks` | Integer | Number of fixed refined-block slots preallocated (each max-block sized; ~N x device memory); must be >= 1 (default 4) | +| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Only 1 is currently supported; multi-level nesting is planned (see `docs/documentation/amr_multilevel.md`) | | `amr_cluster_eff` | Real | Berger-Rigoutsos min tag efficiency a clustered block box reaches before splitting stops; must satisfy 0 < eff <= 1 (default 0.7) | | `hybrid_weno` | Logical | Use linear-optimal reconstruction in smooth cells, full WENO only at flagged discontinuities (requires WENO reconstruction) | | `hybrid_weno_eps` | Real | Smoothness threshold for hybrid WENO shock flagging; must be > 0 (default 1e-2) | @@ -954,6 +955,7 @@ visualization output is future work. | `amr_buf` | Integer | Coarse-cell padding around tagged cells; must be >= 1 when `amr_regrid_int > 0` (default 3) | | `amr_subcycle` | Logical | Advance fine level at dt/2 (two substeps per coarse step) with Berger–Colella refluxing | | `amr_max_blocks` | Integer | Number of fixed refined-block slots preallocated (each max-block sized; ~N x device memory); must be >= 1 (default 4) | +| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Only 1 is currently supported; multi-level nesting is planned (see `docs/documentation/amr_multilevel.md`) | | `amr_cluster_eff` | Real | Berger-Rigoutsos min tag efficiency a clustered block box reaches before splitting stops; must satisfy 0 < eff <= 1 (default 0.7) | ### 8. Acoustic Source {#sec-acoustic-source} diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 6d86df139b..c927ceb878 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -192,6 +192,9 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_tag_eps <= 0._wp, "amr_tag_eps must be > 0 when regridding") @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") + @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") + @:PROHIBIT(amr_max_level > 1, & + & "amr_max_level > 1 (multi-level nesting) is not yet supported; see docs/documentation/amr_multilevel.md") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index c24b996b58..38b0ee7625 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -502,6 +502,7 @@ contains amr_buf = 3 amr_subcycle = .false. amr_max_blocks = 4 + amr_max_level = 1 amr_cluster_eff = 0.7_wp hybrid_smooth_flux = 2 partition_tile_size = 8 diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 79c021df0c..ef94a0d4c3 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -681,6 +681,7 @@ def _load(): _r("amr_buf", INT) _r("amr_subcycle", LOG) _r("amr_max_blocks", INT) + _r("amr_max_level", INT) _r("amr_cluster_eff", REAL) _r("hybrid_weno_eps", REAL, {"output"}) _r("hybrid_smooth_flux", INT, {"output"}) @@ -1397,6 +1398,7 @@ def _nv(targets: set, *names: str) -> None: "amr_buf", "amr_subcycle", "amr_max_blocks", + "amr_max_level", "amr_cluster_eff", "alf_factor", "num_igr_iters", diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index eead3f5d85..9b4a72ec1b 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -124,6 +124,7 @@ "amr_buf": "Coarse-cell padding around tagged cells when regridding", "amr_subcycle": "Advance the coarse level at the case dt and the fine level at dt/2 (two substeps; Berger-Colella refluxing)", "amr_max_blocks": "Number of fixed refined-block slots preallocated for multi-block AMR (each sized max-block; N slots ~ N x device memory)", + "amr_max_level": "Maximum AMR refinement depth (refined levels above L0); >= 1, default 1. Only 1 supported today (multi-level nesting planned)", "amr_cluster_eff": "Berger-Rigoutsos min tag efficiency (tagged/total) a clustered block box must reach before splitting stops (0 < eff <= 1)", "hybrid_weno": "Use linear-optimal reconstruction in smooth cells, full WENO only at flagged discontinuities", "hybrid_weno_eps": "Smoothness threshold for hybrid WENO shock flagging (must be > 0)", From 9dfe80dd0b5a1c36d31dbc08a66e67e61476c132 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 08:21:03 -0400 Subject: [PATCH 02/41] amr: per-block level data model (multi-level increment 2a) - Add amr_block_level(:) (refinement level of each active block, 1..amr_max_level) + amr_num_levels to the replicated block metadata in m_global_parameters, allocated + initialized to 1 alongside amr_block_owner and freed at finalize. Both are 1 today (single fine level); the regrid will tag each block's level once multi-level nesting lands. This is the foundation the level-aware coupling (increment 2b) keys off: a level-l block's coarse side is level l-1 (the L0 base grid when l==1), the covering coarser block found by region overlap on the replicated boxes. Bit-identical at amr_max_level=1 (the field is written but not yet read; the level>1 paths stay gated in m_checker). VALIDATED CPU reldebug -b mpirun: 21C71558 + 6C20B752 (np=1 IGR) + 5EFB3277 (np=2) all pass. --- src/simulation/m_amr.fpp | 4 ++++ src/simulation/m_global_parameters.fpp | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 58a626e696..5e60c0d693 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -183,8 +183,11 @@ contains allocate (amr_isect_lo_all(3, amr_max_blocks), amr_isect_hi_all(3, amr_max_blocks)) allocate (amr_owns_all(amr_max_blocks)) allocate (amr_block_owner(amr_max_blocks)) + allocate (amr_block_level(amr_max_blocks)) amr_region_lo_all = 0; amr_region_hi_all = 0; amr_isect_lo_all = 0; amr_isect_hi_all = 0; amr_owns_all = .false. amr_block_owner = 0 + amr_block_level = 1 ! single fine level today; the regrid tags each block's level once multi-level nesting lands + amr_num_levels = 1 amr_num_blocks = 1 amr_cur = 1 @@ -4277,6 +4280,7 @@ contains if (allocated(sw_y_cb)) deallocate (sw_y_cb, sw_y_cc, sw_dy) if (allocated(sw_z_cb)) deallocate (sw_z_cb, sw_z_cc, sw_dz) if (allocated(amr_block_owner)) deallocate (amr_block_owner) + if (allocated(amr_block_level)) deallocate (amr_block_level) if (allocated(amr_gxcb)) deallocate (amr_gxcb) if (allocated(amr_gycb)) deallocate (amr_gycb) if (allocated(amr_gzcb)) deallocate (amr_gzcb) diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index 38b0ee7625..e593d773d1 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -309,6 +309,11 @@ module m_global_parameters integer, allocatable :: amr_region_lo_all(:,:), amr_region_hi_all(:,:) integer, allocatable :: amr_isect_lo_all(:,:), amr_isect_hi_all(:,:) logical, allocatable :: amr_owns_all(:) + !> Multi-level nesting (amr_multilevel.md): the refinement level of each active block (1..amr_max_level). A level-l block + !! refines a covering level-(l-1) region, so its coupling coarse side is level l-1 (L0 when l==1). amr_num_levels is the deepest + !! level currently populated. Both are 1 today (single fine level); the block region stays in L0 cell indices at every level. + integer, allocatable :: amr_block_level(:) + integer :: amr_num_levels = 1 !> Fine-level distribution map (fine-SFC-distribution work): SFC/work-balanced single-owner rank per active block. PHASE 1 !! computes and reports it but does NOT apply it - the mirror decomposition (amr_owns_all) still governs ownership, so behavior From 5364d5f38eac8114a0124ef4b07c617ec9b95d26 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 08:37:38 -0400 Subject: [PATCH 03/41] amr: parent-block finder + coarse-frame design (multi-level 2b start) - Add f_amr_parent_block(k): the covering level-(level(k)-1) block that block k refines - its coarse parent - or 0 when block k is level 1 (parent = L0 base grid), found by region overlap on the replicated boxes (proper nesting => exactly one). Pure, bit-identical (unused until the level-aware coupling wires it in). Document the ONE hard detail of the coupling in amr_multilevel.md: the prolong reuses its amr_cg frame unchanged IF amr_cg + (amr_isect_lo, amr_cpat_off, ref_ratio) are in PARENT-LEVEL cell indices. Level-2 block with L0 region R2, parent L1 block p (L0 region R1): parent-fine index of L0 cell c = 2*(c-R1.lo); coarse footprint isect = 2*(R2-R1.lo); fine extent m = ref_ratio^2*|R2|-1; amr_cg gathered from amr_slots(p)%q_cons; coarse coords = the parent's fine coords (needed only for advance/stretched, so a uniform-grid np=1 prolong->restrict operator self-check is the first testable milestone). s_set_amr_fine_geometry + s_amr_gather_coarse_patch each gain a level==1?L0:parent-fine branch. VALIDATED CPU reldebug: 21C71558 (np=1) bit-identical. --- docs/documentation/amr_multilevel.md | 22 +++++++++++++++++++--- src/simulation/m_amr.fpp | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/docs/documentation/amr_multilevel.md b/docs/documentation/amr_multilevel.md index 240ac92a00..f37b8b2755 100644 --- a/docs/documentation/amr_multilevel.md +++ b/docs/documentation/amr_multilevel.md @@ -40,9 +40,25 @@ Multi-level replaces "coarse = L0" with "**the coarse side of level `l+1` is lev 1. **Foundation (bit-identical).** `amr_max_level` namelist param (default 1), gated `amr_max_level > 1` fail-closed in `m_checker` until the recursion lands. *(this increment)* -2. **Recursive coupling.** Add the per-block `%%level`/`%%parent` tags, then parameterize - gather/prolong/restriction/reflux by a coarse-level source: the level-`l` block data instead - of only `q_cons_base`. The L1↔L0 path is the `l = 0` special case and stays byte-identical. +2. **Recursive coupling.** Add the per-block `%%level`/`%%parent` tags (done: `amr_block_level` + in 2a; `f_amr_parent_block(k)` finds the covering coarser block by region overlap), then + parameterize gather/prolong/restriction/reflux by a coarse-level source: the level-`l` block + data instead of only `q_cons_base`. The L1↔L0 path is the `l = 0` case and stays byte-identical. + + **The one hard detail — the coarse frame.** The prolong reads `amr_cg` via + (`amr_isect_lo`, `amr_cpat_off`, `ref_ratio`) and is reused unchanged as long as `amr_cg` and + that frame are in **parent-level cell indices**. Level-1 block: parent level is L0, frame is + L0 indices (today). Level-2 block with L0 region `R2`, parent L1 block `p` with L0 region `R1`: + - parent-fine index of L0 cell `c` is `2*(c - R1.lo)` (ref_ratio per level); + - coarse footprint in the parent's fine frame: `isect = 2*(R2 - R1.lo)`; + - fine extent `m = ref_ratio*(parent-fine footprint) - 1 = ref_ratio^2 * |R2| - 1`; + - `amr_cg` holds the parent's fine cells `[isect.lo - nmar : isect.hi + nmar]`, gathered from + `amr_slots(p)%%q_cons` (np=1: local copy; np≥2: P2P via `amr_block_owner`); + - "coarse coords" are the parent's fine coords `amr_slots(p)%%x_cb`, not `amr_gxcb` — needed + only for the advance/stretched grids, so a **uniform-grid np=1 operator self-check** + (`prolong → restrict` conserves) is the first testable milestone and can skip coords. + `s_set_amr_fine_geometry` and `s_amr_gather_coarse_patch` choose this frame; each gains a + `level == 1 ? L0 : parent-fine` branch. 3. **Recursive subcycle driver.** Generalize the `m_time_steppers` AMR advance into a recursive `advance(level)` with per-level `dt` and time-interpolated coarse ghosts. 4. **Per-level regrid + proper nesting.** Tag each level for the next-finer one; build level diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 5e60c0d693..94428e878b 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -657,6 +657,26 @@ contains end function f_amr_boxes_overlap + !> Multi-level nesting: index of the covering level-(level(k)-1) block that block k refines - its coarse parent - or 0 when + !! block k is level 1 (its parent is the L0 base grid). Regions are in L0 cell indices at every level, so the parent is the + !! level-below block whose box contains k's; proper nesting guarantees exactly one, and the first overlap is returned. + pure integer function f_amr_parent_block(k) result(p) + + integer, intent(in) :: k + integer :: j + + p = 0 + if (amr_block_level(k) <= 1) return + do j = 1, amr_num_blocks + if (amr_block_level(j) == amr_block_level(k) - 1 .and. f_amr_boxes_overlap(amr_region_lo_all(:,k), & + & amr_region_hi_all(:,k), amr_region_lo_all(:,j), amr_region_hi_all(:,j))) then + p = j + return + end if + end do + + end function f_amr_parent_block + !> Copy this rank's own coarse cells (box [bl:bh] GLOBAL, read from q_coarse at its own start-idx frame o1/o2/o3) into amr_cg in !! the block-local patch frame. stp -> stp, exact. impure subroutine s_amr_unpack_patch(q_coarse, bl, bh, o1, o2, o3) From 05d10c0f24950e57146d6e9face3d2d7a9598805 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 09:09:55 -0400 Subject: [PATCH 04/41] amr: level-aware L1->L2 coupling conserves exactly (multi-level 2b milestone) - Implement the level-aware coarse frame so a level>=2 block's coarse side is its PARENT block's fine cells. s_set_amr_fine_geometry: for level>=2, express the footprint in parent-fine indices (isect = parent_ref_ratio*(R2 - parent R1.lo), m = ref_ratio*footprint) and build coords by bisecting the parent's fine coords. s_amr_gather_from_parent: fill amr_cg from the parent block's fine array in that frame (np=1 local copy; np>=2 P2P is future work). The prolong / restrict / conservation-check are REUSED UNCHANGED - they read (amr_isect_lo, amr_cpat_off, ref_ratio), which is all the coarse frame needs. s_amr_test_multilevel: a np=1 static self-test that nests a level-2 block inside block 1, populates it (level-aware gather + prolong), checks that restrict(fine) recovers the parent-fine coarse, then removes the block (non-intrusive). Relax the m_checker gate to allow np=1 amr_max_level=2 (development self-test; the recursive advance is increment 3). VALIDATED CPU reldebug np=1: MULTILEVEL self-test restrict-prolong conservation err = 0.0000E+00 (EXACT); full run completes and conserves (mass 1.2e-16 / energy 5.7e-16). --- src/simulation/m_amr.fpp | 141 +++++++++++++++++++++++++++++++++-- src/simulation/m_checker.fpp | 5 +- 2 files changed, 139 insertions(+), 7 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 94428e878b..7846f0edc2 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -512,6 +512,15 @@ contains real(wp), allocatable :: rbuf(:,:), sbuf(:) integer, allocatable :: reqs(:), srank(:) + ! multi-level: a level>=2 block's coarse side is its PARENT block's fine cells, not the L0 base grid q_coarse - gather + ! amr_cg from the parent's fine array in the parent-fine frame (isect already parent-fine from s_set_amr_fine_geometry). + ! np=1 is a local copy; the np>=2 P2P version (parent owner -> block owner, mirroring the L0 path) is future work. + + if (amr_block_level(amr_cur) >= 2) then + call s_amr_gather_from_parent(pull_host) + return + end if + if (pull_host) then do i = 1, sys_size $:GPU_UPDATE(host='[q_coarse(i)%sf]') @@ -614,6 +623,45 @@ contains end subroutine s_amr_gather_coarse_patch + !> Multi-level gather: fill amr_cg (the current level>=2 block's coarse patch) from its PARENT block's fine array, in the + !! parent-fine cell frame (amr_isect_lo/hi are already parent-fine from s_set_amr_fine_geometry). np=1 = a local copy on the + !! owner (which also owns the parent); the np>=2 point-to-point version (parent owner -> block owner) is future work. + impure subroutine s_amr_gather_from_parent(pull_host) + + logical, intent(in) :: pull_host + integer :: i, g1, g2, g3, pblk, w1, w2, w3 + + pblk = f_amr_parent_block(amr_cur) + amr_cpat_off = 0 + amr_cpat_off(1) = amr_isect_lo(1) - amr_cpat_mar + if (n_glb > 0) amr_cpat_off(2) = amr_isect_lo(2) - amr_cpat_mar + if (p_glb > 0) amr_cpat_off(3) = amr_isect_lo(3) - amr_cpat_mar + w1 = (amr_isect_hi(1) - amr_isect_lo(1)) + 2*amr_cpat_mar + w2 = 0; w3 = 0 + if (n_glb > 0) w2 = (amr_isect_hi(2) - amr_isect_lo(2)) + 2*amr_cpat_mar + if (p_glb > 0) w3 = (amr_isect_hi(3) - amr_isect_lo(3)) + 2*amr_cpat_mar + if (.not. amr_rank_owns_block) return ! np=1: the owner holds both this block and its parent + if (pull_host) then + do i = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(pblk)%q_cons(i)%sf]') + end do + end if + do i = 1, sys_size + do g3 = 0, w3 + do g2 = 0, w2 + do g1 = 0, w1 + amr_cg(i)%sf(g1, g2, g3) = amr_slots(pblk)%q_cons(i)%sf(g1 + amr_cpat_off(1), g2 + amr_cpat_off(2), & + & g3 + amr_cpat_off(3)) + end do + end do + end do + end do + do i = 1, sys_size + $:GPU_UPDATE(device='[amr_cg(i)%sf]') + end do + + end subroutine s_amr_gather_from_parent + !> This rank's (r's) contiguous owned coarse-cell range per dim from the replicated amr_decomp table: interior [start:start+ext] !! plus its physical-boundary ghosts (buff_size cells only where the subdomain touches the domain edge). Equal to the set where !! f_amr_own_coarse is true, but as one contiguous span so box intersections identify contributors without a per-cell scan. @@ -899,7 +947,7 @@ contains impure subroutine s_set_amr_fine_geometry(lo, hi) integer, intent(in) :: lo(3), hi(3) - integer :: sidx(3), ext(3), nmar, bad_loc, bad_glb + integer :: sidx(3), ext(3), nmar, bad_loc, bad_glb, pblk, d, rr amr_slots(amr_cur)%region%lo = lo; amr_slots(amr_cur)%region%hi = hi amr_region_lo = lo; amr_region_hi = hi ! global mirror for m_amr_registers (no use-cycle) @@ -912,8 +960,22 @@ contains ! At np=1 the owner is rank 0 and the footprint is the whole domain-resident block, so ! this reduces exactly to the old mirror (block \cap subdomain == whole block). amr_rank_owns_block = (amr_block_owner(amr_cur) == proc_rank) + pblk = 0 if (amr_rank_owns_block) then amr_isect_lo = lo; amr_isect_hi = hi + if (amr_block_level(amr_cur) >= 2) then + ! multi-level: express the coarse footprint in the PARENT block's fine-cell frame (a level-l block's coarse side + ! is level l-1). parent-fine index of L0 cell c is rr*(c - R1.lo) where rr is the parent's ref_ratio; the block + ! spans rr fine cells per parent-covered L0 cell. m below then gets ref_ratio*(footprint) cells, as for a level-1 + ! block over L0. amr_cg / the prolong read this frame, so no other coupling code changes for the local (np=1) path. + pblk = f_amr_parent_block(amr_cur); rr = amr_slots(pblk)%ref_ratio + do d = 1, 3 + amr_isect_lo(d) = rr*(lo(d) - amr_region_lo_all(d, pblk)) + amr_isect_hi(d) = rr*(hi(d) - amr_region_lo_all(d, pblk)) + (rr - 1) + end do + if (n_glb == 0) then; amr_isect_lo(2) = 0; amr_isect_hi(2) = 0; end if + if (p_glb == 0) then; amr_isect_lo(3) = 0; amr_isect_hi(3) = 0; end if + end if else amr_isect_lo = 1; amr_isect_hi = 0 ! empty footprint if (n_glb > 0) then; amr_isect_lo(2) = 1; amr_isect_hi(2) = 0; end if @@ -937,10 +999,17 @@ contains end if ! coord building only on ranks with fine cells (others never read their coord arrays); the parent origin ! is this rank's INTERSECTION start, converted to LOCAL indexing so the bisection reads its x_cb slice - if (amr_rank_owns_block) then - ! whole-block fine coords from the GLOBAL boundaries (owner may not hold the coarse - ! coordinate slice for cells it now refines). amr_gxcb has lbound -1; the parent - ! origin is the block's GLOBAL low corner. + if (amr_rank_owns_block .and. amr_block_level(amr_cur) >= 2) then + ! level >= 2: bisect the PARENT block's fine coords (its x_cb, lbound -1), parent origin = the parent-fine footprint + call s_build_level_coords(amr_slots(pblk)%x_cb, -1, amr_isect_lo(1), amr_slots(amr_cur)%m, amr_slots(amr_cur)%x_cb, & + & amr_slots(amr_cur)%x_cc, amr_slots(amr_cur)%dx) + if (n_glb > 0) call s_build_level_coords(amr_slots(pblk)%y_cb, -1, amr_isect_lo(2), amr_slots(amr_cur)%n, & + & amr_slots(amr_cur)%y_cb, amr_slots(amr_cur)%y_cc, amr_slots(amr_cur)%dy) + if (p_glb > 0) call s_build_level_coords(amr_slots(pblk)%z_cb, -1, amr_isect_lo(3), amr_slots(amr_cur)%p, & + & amr_slots(amr_cur)%z_cb, amr_slots(amr_cur)%z_cc, amr_slots(amr_cur)%dz) + else if (amr_rank_owns_block) then + ! level 1: whole-block fine coords from the GLOBAL L0 boundaries (owner may not hold the coarse coordinate slice for + ! cells it now refines). amr_gxcb has lbound -1; the parent origin is the block's GLOBAL low corner. call s_build_level_coords(amr_gxcb, -1, amr_isect_lo(1), amr_slots(amr_cur)%m, amr_slots(amr_cur)%x_cb, & & amr_slots(amr_cur)%x_cc, amr_slots(amr_cur)%dx) if (n_glb > 0) call s_build_level_coords(amr_gycb, -1, amr_isect_lo(2), amr_slots(amr_cur)%n, & @@ -1185,10 +1254,72 @@ contains if (qbmm .and. .not. polytropic) call s_amr_prolong_pbmv() end if end do + if (amr_max_level >= 2) call s_amr_test_multilevel(q_cons_base) call s_amr_select_slot(1) end subroutine s_populate_amr_fine + !> Multi-level coupling self-test (development milestone; np=1, static). Nest ONE level-2 block inside block 1, populate it from + !! the parent (level-aware gather + prolong), and check that restrict(level-2 fine) recovers the parent-fine coarse it was + !! prolonged from (conservation err ~ 0 => the level-aware geometry/gather/prolong/restrict are consistent). Non-intrusive: the + !! level-2 block is removed afterward, so the run continues single-level. The recursive advance/regrid (increments 3-4) follow. + impure subroutine s_amr_test_multilevel(q_cons_base) + + type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_base + integer :: L2, n1, i, ci, cj, ck, inset(3) + real(wp) :: err, e + type(scalar_field), dimension(:), allocatable :: scratch + + if (amr_max_level < 2 .or. num_procs > 1) return + n1 = amr_num_blocks + if (n1 < 1 .or. n1 + 1 > amr_max_blocks) return + L2 = n1 + 1 + inset = 0 + inset(1) = max((amr_region_hi_all(1, 1) - amr_region_lo_all(1, 1) + 1)/4, amr_cpat_mar) + if (n_glb > 0) inset(2) = max((amr_region_hi_all(2, 1) - amr_region_lo_all(2, 1) + 1)/4, amr_cpat_mar) + if (p_glb > 0) inset(3) = max((amr_region_hi_all(3, 1) - amr_region_lo_all(3, 1) + 1)/4, amr_cpat_mar) + amr_region_lo_all(:,L2) = amr_region_lo_all(:,1) + inset + amr_region_hi_all(:,L2) = amr_region_hi_all(:,1) - inset + amr_block_level(L2) = 2 + amr_block_owner(L2) = amr_block_owner(1) + amr_num_blocks = L2; amr_num_levels = 2 + call s_amr_reconcile_slots() + amr_cur = L2 + call s_set_amr_fine_geometry(amr_region_lo_all(:,L2), amr_region_hi_all(:,L2)) + call s_amr_gather_coarse_patch(amr_slots(1)%q_cons, .false.) ! q_coarse ignored for level>=2 (reads the parent block) + if (amr_rank_owns_block) then + call s_interpolate_coarse_to_fine() + allocate (scratch(1:sys_size)) + do i = 1, sys_size + allocate (scratch(i)%sf(0:amr_cpat_hi(1),0:amr_cpat_hi(2),0:amr_cpat_hi(3))) + call s_restrict_one_var(amr_slots(amr_cur)%q_cons(i), scratch(i)) + end do + err = 0._wp + do i = 1, sys_size + do ck = amr_isect_lo(3), merge(amr_isect_hi(3), amr_isect_lo(3), p_glb > 0) + do cj = amr_isect_lo(2), merge(amr_isect_hi(2), amr_isect_lo(2), n_glb > 0) + do ci = amr_isect_lo(1), amr_isect_hi(1) + e = abs(real(scratch(i)%sf(ci - amr_cpat_off(1), cj - amr_cpat_off(2), ck - amr_cpat_off(3)), & + & wp) - real(amr_cg(i)%sf(ci - amr_cpat_off(1), cj - amr_cpat_off(2), ck - amr_cpat_off(3)), & + & wp)) + if (e > err) err = e + end do + end do + end do + deallocate (scratch(i)%sf) + end do + deallocate (scratch) + print '(A,I0,A,ES12.4)', ' [amr] MULTILEVEL self-test (L2 block ', L2, '): restrict-prolong conservation err = ', err + end if + call s_amr_free_slot(L2) + amr_block_level(L2) = 1; amr_num_blocks = n1; amr_num_levels = 1 + ! restore amr_cg + the patch frame (amr_cpat_off) to block 1: the L2 gather above overwrote them with the parent-fine + ! frame, and the normal single-block conservation check that follows reads block 1's frame. + call s_amr_select_slot(1) + call s_amr_gather_coarse_patch(q_cons_base, .false.) + + end subroutine s_amr_test_multilevel + !> Volume-weighted restriction for a single variable pair. Reads from qf (fine, must include interior 0:amr_slots(amr_cur)%m !! etc.); writes to qc (coarse, over the block). impure subroutine s_restrict_one_var(qf, qc) diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index c927ceb878..8636cf2081 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,8 +193,9 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - @:PROHIBIT(amr_max_level > 1, & - & "amr_max_level > 1 (multi-level nesting) is not yet supported; see docs/documentation/amr_multilevel.md") + @:PROHIBIT(amr_max_level > 2, "amr_max_level > 2 is not yet supported; see docs/documentation/amr_multilevel.md") + @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1, & + & "amr_max_level > 1 currently runs a single-rank coupling self-test only (the recursive multi-level advance is under development); use num_procs = 1") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if From f79d8fbdca3e6145272041484a82b86c0d1993f4 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 09:49:56 -0400 Subject: [PATCH 05/41] docs(amr): increment 3 plan - lock-step advance first, then subcycle - After the 2b L1->L2 coupling milestone (conservation err = 0.0 on CPU AND GPU/V100), record the increment-3 plan: build the coupling OUT of a level-2 block (restrict-to-parent + Berger-Colella reflux-to-parent, both required for conservation) + a persistent static L2 block + a level-loop driver in m_time_steppers. Lock-step FIRST (all levels at L0 dt, interleaved per RK stage - extends today's non-subcycle mode) to a np=1 static 2-level runs-and-conserves milestone, THEN recursive subcycling on top (generalizing s_advance_amr_fine_substeps, already Berger-Colella for L0<->L1). --- docs/documentation/amr_multilevel.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/documentation/amr_multilevel.md b/docs/documentation/amr_multilevel.md index f37b8b2755..a59f648595 100644 --- a/docs/documentation/amr_multilevel.md +++ b/docs/documentation/amr_multilevel.md @@ -59,8 +59,22 @@ Multi-level replaces "coarse = L0" with "**the coarse side of level `l+1` is lev (`prolong → restrict` conserves) is the first testable milestone and can skip coords. `s_set_amr_fine_geometry` and `s_amr_gather_coarse_patch` choose this frame; each gains a `level == 1 ? L0 : parent-fine` branch. -3. **Recursive subcycle driver.** Generalize the `m_time_steppers` AMR advance into a - recursive `advance(level)` with per-level `dt` and time-interpolated coarse ghosts. +3. **Advance (make level-2 evolve).** 2b built the coupling *into* a level-2 block + (gather-from-parent, prolong); this builds the coupling *out* of it plus the driver: + - **restrict-to-parent** — level-aware `s_restrict_fine_to_coarse` folds a level-2 block's + fine averages back into its parent L1 block's fine array (mirror of gather-from-parent, + same parent-fine frame); + - **reflux-to-parent** — the Berger-Colella C/F flux correction from L2 into L1's cells + (the reflux registers key off "the coarse", which becomes level l-1); + - a **persistent static L2 block** (replacing the non-intrusive self-test), and a + **level-loop driver** in `m_time_steppers`: for level 1..maxlevel, fill+advance from the + parent then restrict+reflux to it. + Both restrict-to-parent and reflux-to-parent are required for conservation. + **Lock-step first** (all levels advance at L0's `dt`, interleaved per RK stage — extends + today's non-subcycle mode; no time-interpolation/recursion): first milestone is a np=1 + static 2-level case that runs several steps and conserves (~1e-13). **Then** add recursive + subcycling (level l+1 takes `ref_ratio` substeps with time-interpolated ghosts) on top, + generalizing `s_advance_amr_fine_substeps` (already Berger-Colella for L0↔L1). 4. **Per-level regrid + proper nesting.** Tag each level for the next-finer one; build level `l+1` boxes clustered + tiled + nested inside level `l`; distribute (reusing the SFC map). 5. **Restart / distribution / GPU per level.** Extend the fine-restart record with a per-block From d857d216412ca111695273b3aebf2742cfc996cd Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 10:33:26 -0400 Subject: [PATCH 06/41] amr: restrict-to-parent - fold level-2 fine back into the parent (increment 3 step 1) - s_restrict_fine_to_coarse gains a level>=2 branch: instead of folding into the L0 coarse_tgt, s_amr_restrict_to_parent restricts the block's fine averages into its PARENT block's fine array over the covered cells, using the SAME s_amr_restrict_overwrite_device child-sum kernel targeted at the parent in the parent-fine frame (amr_isect already parent-fine; offset 0 = the parent's local fine indexing). Mirror of the 2b gather-from-parent; np=1 local, np>=2 P2P scatter is future work. The self-test now also folds L2 back into the parent and checks the covered cells are unchanged (restrict(prolong) = identity). VALIDATED CPU reldebug np=1: restrict-prolong conservation err = 0.0 AND restrict-to-parent identity err = 0.0 (both EXACT); run conserves (mass 1.2e-16). Next (increment 3): persistent L2 block + level-loop driver (advance L2), then Berger-Colella reflux-to-parent for exact conservation of the running case. --- src/simulation/m_amr.fpp | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 7846f0edc2..a3ad0dfa00 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1310,6 +1310,32 @@ contains end do deallocate (scratch) print '(A,I0,A,ES12.4)', ' [amr] MULTILEVEL self-test (L2 block ', L2, '): restrict-prolong conservation err = ', err + ! restrict-to-parent (increment 3 step 1): fold L2 back into the parent block; the covered cells must be UNCHANGED + ! (restrict(prolong) = identity), which exercises s_amr_restrict_to_parent via s_restrict_fine_to_coarse. + block + real(wp) :: err2, e2 + real(stp), allocatable :: psave(:,:,:,:) + allocate (psave(amr_isect_lo(1):amr_isect_hi(1),amr_isect_lo(2):amr_isect_hi(2),amr_isect_lo(3):amr_isect_hi(3), & + & 1:sys_size)) + do i = 1, sys_size + psave(:,:,:,i) = amr_slots(1)%q_cons(i)%sf(amr_isect_lo(1):amr_isect_hi(1),amr_isect_lo(2):amr_isect_hi(2), & + & amr_isect_lo(3):amr_isect_hi(3)) + end do + call s_restrict_fine_to_coarse(amr_slots(1)%q_cons) ! coarse_tgt ignored for level>=2 (folds into the parent) + err2 = 0._wp + do i = 1, sys_size + do ck = amr_isect_lo(3), amr_isect_hi(3) + do cj = amr_isect_lo(2), amr_isect_hi(2) + do ci = amr_isect_lo(1), amr_isect_hi(1) + e2 = abs(real(psave(ci, cj, ck, i), wp) - real(amr_slots(1)%q_cons(i)%sf(ci, cj, ck), wp)) + if (e2 > err2) err2 = e2 + end do + end do + end do + end do + deallocate (psave) + print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: restrict-to-parent identity err = ', err2 + end block end if call s_amr_free_slot(L2) amr_block_level(L2) = 1; amr_num_blocks = n1; amr_num_levels = 1 @@ -1369,6 +1395,15 @@ contains if (rank_time_wrt .and. amr_rank_owns_block) call s_rank_time_tic() + ! multi-level: a level>=2 block folds back into its PARENT block's fine array (the coarse side of level l is level l-1), + ! not the L0 coarse_tgt. Same restriction kernel, targeted at the parent in the parent-fine frame. np=1 local; np>=2 P2P + ! TODO. + if (amr_block_level(amr_cur) >= 2) then + if (amr_rank_owns_block) call s_amr_restrict_to_parent() + if (rank_time_wrt .and. amr_rank_owns_block) call s_rank_time_toc() + return + end if + ! whole-block-per-rank fold-back: the block owner restricts its fine block to coarse averages over the covered cells ! [region_lo:region_hi] and SCATTERS them POINT-TO-POINT to the coarse-cell owners - the owner overwrites the covered ! cells it holds locally and SENDS each other coarse-owner exactly its covered slice (all sys_size in one message). Covered @@ -1486,6 +1521,23 @@ contains end subroutine s_restrict_fine_to_coarse + !> Multi-level restriction: fold the current level>=2 block's fine averages back into its PARENT block's fine array over the + !! covered cells. Same child-sum kernel as the L0 fold-back, targeted at the parent in the parent-fine frame (amr_isect is + !! already parent-fine; offset 0 = the parent's local fine indexing). np=1 local; the np>=2 P2P scatter is future work. + impure subroutine s_amr_restrict_to_parent() + + integer :: pblk, rr, nchild, dj_hi, dk_hi + + pblk = f_amr_parent_block(amr_cur) + rr = amr_slots(amr_cur)%ref_ratio + nchild = rr; if (n_glb > 0) nchild = nchild*rr; if (p_glb > 0) nchild = nchild*rr + dj_hi = merge(rr - 1, 0, n_glb > 0); dk_hi = merge(rr - 1, 0, p_glb > 0) + if (amr_isect_lo(1) <= amr_isect_hi(1) .and. amr_isect_lo(2) <= amr_isect_hi(2) .and. amr_isect_lo(3) <= amr_isect_hi(3)) & + & call s_amr_restrict_overwrite_device(amr_slots(pblk)%q_cons, amr_slots(amr_cur)%q_cons, amr_isect_lo, amr_isect_hi, & + & 0, 0, 0, amr_isect_lo, rr, dj_hi, dk_hi, nchild) + + end subroutine s_amr_restrict_to_parent + !> Rank r's coarse INTERIOR box (global) from the replicated amr_decomp table (no ghosts). Covered coarse cells are in-domain, !! so restriction targets are identified by interior overlap alone. pure subroutine f_amr_rank_interior(r, ilo, ihi) From 09300089445043f3570db3e3158aa26b72547f55 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 21:23:20 -0400 Subject: [PATCH 07/41] amr: reflux-to-parent - Berger-Colella C/F flux correction into the parent (increment 3 step 2) Mirror of restrict-to-parent: a level>=2 block's fine flux registers correct its PARENT block's cells (the coarse side of level l is level l-1), not the L0 grid. s_amr_reflux_to_parent + s_amr_reflux_apply_parent apply the same Berger-Colella correction as the L0 s_amr_apply_reflux but target amr_slots(pblk)%q_cons in the parent-fine frame: the block footprint is amr_isect (already parent-fine, offset 0), so the outside cells are amr_isect_lo-1 / amr_isect_hi+1, and q_parent(outside) += dt*(F_coarse - Fbar_fine)/dxf (low) / +(Fbar_fine - F_coarse)/dxf (high), Fbar_fine = child-averaged fine register. Three face blocks; collapsed dims pin to 0. State form (the lock-step advance applies it after restrict-to-parent); np=1 local, np>=2 P2P freg delivery is future work; uniform parent-fine dx (stretched-grid coords TODO). creg is now public from m_amr_registers (freg already was). The np=1 self-test (s_amr_test_multilevel) gains a reflux check: inject a known x-face C/F flux mismatch into the L2 block's registers, confirm the correction deposits exactly the mismatch/dxf into the parent's outside cells (reflux is conservative - the flux crossing the boundary is redeposited, not lost), then RESTORE the perturbation so the self-test stays non-intrusive. VALIDATED CPU np=1: reflux-to-parent conservation err = 3.5527E-15 (machine zero) alongside restrict-prolong = 0 and restrict-to-parent identity = 0; full run conserves. Single-level AMR goldens 21C71558 + 852CCB81 bit-identical (all new code is level>=2-gated; creg export neutral). Next (increment 3): persistent L2 block + level-loop driver, then the lock-step advance conserves. --- src/simulation/m_amr.fpp | 157 ++++++++++++++++++++++++++++- src/simulation/m_amr_registers.fpp | 2 +- 2 files changed, 157 insertions(+), 2 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index a3ad0dfa00..953f924d0e 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -22,7 +22,7 @@ module m_amr & s_mpi_allreduce_max, s_mpi_allreduce_integer_sum, s_mpi_sendrecv_variables_buffers, s_mpi_allreduce_array_max use m_rhs, only: s_compute_rhs use m_phase_change, only: s_infinite_relaxation_k - use m_amr_registers, only: s_amr_zero_fine_registers, freg + use m_amr_registers, only: s_amr_zero_fine_registers, freg, creg use m_rank_timing, only: s_rank_time_tic, s_rank_time_toc use m_ibm, only: s_ibm_alloc_fine, s_ibm_setup_fine, s_ibm_swap_to_fine, s_ibm_restore_from_fine, s_ibm_correct_state, & & s_update_mib, moving_immersed_boundary_flag, num_gps @@ -1336,6 +1336,39 @@ contains deallocate (psave) print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: restrict-to-parent identity err = ', err2 end block + ! reflux-to-parent (increment 3 step 2): inject a known C/F flux mismatch into this block's x-face registers and confirm + ! the Berger-Colella correction deposits exactly (F_coarse - Fbar_fine)/dxf into the parent's outside cells (reflux is + ! conservative - the flux crossing the c/f boundary is redeposited, not lost). 1D self-test drives the x-faces; the + ! 2D/3D faces run in the advance driver. Perturbation is restored below so the self-test stays non-intrusive. + block + integer :: e, ol, oh + real(wp) :: dxf, errr, expl, exph, al, ah + real(stp), allocatable :: ql0(:), qh0(:) + dxf = amr_slots(1)%dx(amr_isect_lo(1)); ol = amr_isect_lo(1) - 1; oh = amr_isect_hi(1) + 1 + allocate (ql0(sys_size), qh0(sys_size)) + do e = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') + ql0(e) = amr_slots(1)%q_cons(e)%sf(ol, 0, 0); qh0(e) = amr_slots(1)%q_cons(e)%sf(oh, 0, 0) + creg(1)%lo(e,:,:,L2) = 0.11_wp*e; creg(1)%hi(e,:,:,L2) = 0.07_wp*e + freg(1)%lo(e,:,:,L2) = 0.03_wp*e; freg(1)%hi(e,:,:,L2) = 0.05_wp*e + end do + $:GPU_UPDATE(device='[creg(1)%lo(:, :, :, L2), creg(1)%hi(:, :, :, L2), freg(1)%lo(:, :, :, L2), freg(1)%hi(:, :, & + & :, L2)]') + call s_amr_reflux_to_parent(1._wp) + errr = 0._wp + do e = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') + al = real(amr_slots(1)%q_cons(e)%sf(ol, 0, 0), wp) - real(ql0(e), wp) + ah = real(amr_slots(1)%q_cons(e)%sf(oh, 0, 0), wp) - real(qh0(e), wp) + expl = (0.11_wp*e - 0.03_wp*e)/dxf; exph = (0.05_wp*e - 0.07_wp*e)/dxf + errr = max(errr, abs(al - expl), abs(ah - exph)) + ! restore the parent's outside cells (undo the injected reflux so block 1 keeps its real state) + amr_slots(1)%q_cons(e)%sf(ol, 0, 0) = ql0(e); amr_slots(1)%q_cons(e)%sf(oh, 0, 0) = qh0(e) + $:GPU_UPDATE(device='[amr_slots(1)%q_cons(e)%sf]') + end do + deallocate (ql0, qh0) + print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: reflux-to-parent conservation err = ', errr + end block end if call s_amr_free_slot(L2) amr_block_level(L2) = 1; amr_num_blocks = n1; amr_num_levels = 1 @@ -1538,6 +1571,128 @@ contains end subroutine s_amr_restrict_to_parent + !> Multi-level reflux: apply the Berger-Colella C/F flux correction from the current level>=2 block into its PARENT block's + !! cells just OUTSIDE the block footprint, in the parent-fine frame (mirror of the L0 s_amr_apply_reflux targeted at the parent + !! - "the coarse" is level l-1). State form: q_parent(outside) += dt*(F_coarse - Fbar_fine)/dxf on the low face and += + !! dt*(Fbar_fine - F_coarse)/dxf on the high face, where Fbar_fine is the child-averaged fine register. creg/freg key off this + !! block's slot. np=1 local; the np>=2 P2P freg delivery is future work. Uniform parent-fine dx (stretched: coords TODO). + impure subroutine s_amr_reflux_to_parent(dt_reflux) + + real(wp), intent(in) :: dt_reflux + integer :: pblk + real(wp) :: dxf, dyf, dzf + + pblk = f_amr_parent_block(amr_cur) + ! uniform parent-fine cell widths (interior index; stretched-grid coords are future work). dy/dz only allocated when active. + dxf = amr_slots(pblk)%dx(amr_isect_lo(1)); dyf = dxf; dzf = dxf + if (n_glb > 0) dyf = amr_slots(pblk)%dy(amr_isect_lo(2)) + if (p_glb > 0) dzf = amr_slots(pblk)%dz(amr_isect_lo(3)) + call s_amr_reflux_apply_parent(amr_slots(pblk)%q_cons, dxf, dyf, dzf, dt_reflux) + + end subroutine s_amr_reflux_to_parent + + !> Device kernel for s_amr_reflux_to_parent: the parent's q_cons and (uniform) fine cell widths are passed as arguments + !! (present-table safe, like s_amr_restrict_overwrite_device). Reads creg/freg(:,:,:,amr_cur) and amr_isect_lo/hi (parent-fine + !! footprint = parent's local fine indices, offset 0). Three face blocks mirror s_amr_apply_reflux; collapsed dims pin to 0. + impure subroutine s_amr_reflux_apply_parent(qp, dxf, dyf, dzf, dt_reflux) + + type(scalar_field), dimension(sys_size), intent(inout) :: qp + real(wp), intent(in) :: dxf, dyf, dzf, dt_reflux + integer :: rr, eq, c1, c2, f10, f20, dd1, dd2, nch, dd1_hi, dd2_hi, islot + integer :: il1, ih1, il2, ih2, il3, ih3, ol1, oh1, ol2, oh2, ol3, oh3 + real(wp) :: fblo, fbhi, mlo, mhi + + rr = amr_slots(amr_cur)%ref_ratio; islot = amr_cur + il1 = amr_isect_lo(1); ih1 = amr_isect_hi(1); ol1 = il1 - 1; oh1 = ih1 + 1 + il2 = amr_isect_lo(2); ih2 = amr_isect_hi(2); ol2 = il2 - 1; oh2 = ih2 + 1 + il3 = amr_isect_lo(3); ih3 = amr_isect_hi(3); ol3 = il3 - 1; oh3 = ih3 + 1 + + ! x-faces: transverse (y, z) + nch = 1; if (n_glb > 0) nch = nch*rr; if (p_glb > 0) nch = nch*rr + dd1_hi = merge(rr - 1, 0, n_glb > 0); dd2_hi = merge(rr - 1, 0, p_glb > 0) + mlo = dxf; mhi = dxf + $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') + do eq = 1, sys_size + do c2 = il3, ih3 + do c1 = il2, ih2 + f20 = 0; if (p_glb > 0) f20 = rr*(c2 - il3) + f10 = 0; if (n_glb > 0) f10 = rr*(c1 - il2) + fblo = 0._wp; fbhi = 0._wp + do dd2 = 0, dd2_hi + do dd1 = 0, dd1_hi + fblo = fblo + freg(1)%lo(eq, f10 + dd1, f20 + dd2, islot) + fbhi = fbhi + freg(1)%hi(eq, f10 + dd1, f20 + dd2, islot) + end do + end do + fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) + qp(eq)%sf(ol1, c1, c2) = qp(eq)%sf(ol1, c1, c2) + real(dt_reflux*(creg(1)%lo(eq, c1 - il2, c2 - il3, & + & islot) - fblo)/mlo, stp) + qp(eq)%sf(oh1, c1, c2) = qp(eq)%sf(oh1, c1, c2) + real(dt_reflux*(fbhi - creg(1)%hi(eq, c1 - il2, c2 - il3, & + & islot))/mhi, stp) + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + + ! y-faces (n_glb > 0): transverse (x, z); x always active + if (n_glb > 0) then + nch = rr; if (p_glb > 0) nch = nch*rr + dd2_hi = merge(rr - 1, 0, p_glb > 0) + mlo = dyf; mhi = dyf + $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') + do eq = 1, sys_size + do c2 = il3, ih3 + do c1 = il1, ih1 + f20 = 0; if (p_glb > 0) f20 = rr*(c2 - il3) + f10 = rr*(c1 - il1) + fblo = 0._wp; fbhi = 0._wp + do dd2 = 0, dd2_hi + do dd1 = 0, rr - 1 + fblo = fblo + freg(2)%lo(eq, f10 + dd1, f20 + dd2, islot) + fbhi = fbhi + freg(2)%hi(eq, f10 + dd1, f20 + dd2, islot) + end do + end do + fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) + qp(eq)%sf(c1, ol2, c2) = qp(eq)%sf(c1, ol2, c2) + real(dt_reflux*(creg(2)%lo(eq, c1 - il1, c2 - il3, & + & islot) - fblo)/mlo, stp) + qp(eq)%sf(c1, oh2, c2) = qp(eq)%sf(c1, oh2, c2) + real(dt_reflux*(fbhi - creg(2)%hi(eq, c1 - il1, & + & c2 - il3, islot))/mhi, stp) + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + end if + + ! z-faces (p_glb > 0): transverse (x, y); both active in 3D + if (p_glb > 0) then + nch = rr*rr + mlo = dzf; mhi = dzf + $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') + do eq = 1, sys_size + do c2 = il2, ih2 + do c1 = il1, ih1 + f20 = rr*(c2 - il2) + f10 = rr*(c1 - il1) + fblo = 0._wp; fbhi = 0._wp + do dd2 = 0, rr - 1 + do dd1 = 0, rr - 1 + fblo = fblo + freg(3)%lo(eq, f10 + dd1, f20 + dd2, islot) + fbhi = fbhi + freg(3)%hi(eq, f10 + dd1, f20 + dd2, islot) + end do + end do + fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) + qp(eq)%sf(c1, c2, ol3) = qp(eq)%sf(c1, c2, ol3) + real(dt_reflux*(creg(3)%lo(eq, c1 - il1, c2 - il2, & + & islot) - fblo)/mlo, stp) + qp(eq)%sf(c1, c2, oh3) = qp(eq)%sf(c1, c2, oh3) + real(dt_reflux*(fbhi - creg(3)%hi(eq, c1 - il1, & + & c2 - il2, islot))/mhi, stp) + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + end if + + end subroutine s_amr_reflux_apply_parent + !> Rank r's coarse INTERIOR box (global) from the replicated amr_decomp table (no ghosts). Covered coarse cells are in-domain, !! so restriction targets are identified by interior overlap alone. pure subroutine f_amr_rank_interior(r, ilo, ihi) diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index 005f330ac8..f847ab51a4 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -39,7 +39,7 @@ module m_amr_registers implicit none private; public :: s_initialize_amr_registers, s_amr_capture_boundary_flux, s_amr_apply_reflux, s_amr_zero_fine_registers, & - & s_amr_apply_reflux_state, s_finalize_amr_registers, s_amr_reflux_face_flags, freg + & s_amr_apply_reflux_state, s_finalize_amr_registers, s_amr_reflux_face_flags, freg, creg !> SSP-RK3 effective flux weights: q^{n+1} = q^n + dt*(L(q^n)/6 + L(q^(1))/6 + 2*L(q^(2))/3). real(wp), parameter :: rk3_w(3) = [1._wp/6._wp, 1._wp/6._wp, 2._wp/3._wp] From 1d6fdb256dacb359475a2b4d863a6588c9de9ef5 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Wed, 8 Jul 2026 21:45:46 -0400 Subject: [PATCH 08/41] amr: persistent level-2 block (increment 3 step 3) The np=1 self-test (s_amr_test_multilevel) no longer removes the level-2 block it nests: amr_num_blocks stays = L2 and amr_block_level(L2) = 2, so the block persists across timesteps for the advance driver to step. The self-test's operator checks (restrict-prolong, restrict-to-parent identity, reflux-to-parent) still run at init. GPU-safe non-intrusiveness: those checks fold L2 into block 1 and perturb its outside cells on the DEVICE, so the whole intrusive region is now bracketed by a FULL block-1 save (device->host->buffer) and restore (buffer->host->device). The previous partial per-cell restores left block 1's device copy inconsistent - a GPU-only NaN by step 3 that CPU (host==device) never showed. The persistent parent now enters the advance exactly as s_populate_amr_fine left it. The advance is not yet level-aware (increment 3 step 4), so the three m_time_steppers block loops (stage fill, stage advance, post-stage restrict/reflux) skip level>=2: the persistent L2 is INERT (populated at init, not filled/advanced/restricted), so it cannot mis-couple to L0 or fold stale fine data into the evolving parent. s_amr_conservation_check returns early at amr_num_blocks>1 and the mass/energy drift sums the L0 grid, so the inert nested L2 is invisible to conservation. VALIDATED np=1 static (amr_regrid_int=0) 2-level, 6-7 steps, CONSERVES on CPU AND GPU (nvhpc acc, V100): mass drift 6.99E-13 / energy 9.89E-13 (identical CPU/GPU); self-tests 0 / 0 / 3.55E-15. Single-level AMR goldens 21C71558 + 852CCB81 + 5EFB3277 bit-identical. Next (increment 3 step 4): the level-loop driver makes the L2 live (fill/advance/restrict/reflux to parent) - removes the guards. --- src/simulation/m_amr.fpp | 33 ++++++++++++++++++++++-------- src/simulation/m_time_steppers.fpp | 5 +++++ 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 953f924d0e..a2c31f8783 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1266,9 +1266,10 @@ contains impure subroutine s_amr_test_multilevel(q_cons_base) type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_base - integer :: L2, n1, i, ci, cj, ck, inset(3) - real(wp) :: err, e - type(scalar_field), dimension(:), allocatable :: scratch + integer :: L2, n1, i, ci, cj, ck, inset(3), bi + real(wp) :: err, e + type(scalar_field), dimension(:), allocatable :: scratch + real(stp), allocatable :: b1save(:,:,:,:) !< full block-1 state, restored after the intrusive checks if (amr_max_level < 2 .or. num_procs > 1) return n1 = amr_num_blocks @@ -1310,6 +1311,16 @@ contains end do deallocate (scratch) print '(A,I0,A,ES12.4)', ' [amr] MULTILEVEL self-test (L2 block ', L2, '): restrict-prolong conservation err = ', err + ! GPU-safe non-intrusiveness: the intrusive checks below fold L2 into block 1 and perturb its outside cells on the + ! DEVICE. Save block 1's full state now and restore it afterwards so the persistent parent enters the advance clean - + ! partial per-cell restores left the device copy inconsistent (a GPU-only NaN by step 3, invisible on CPU). + allocate (b1save(lbound(amr_slots(1)%q_cons(1)%sf, 1):ubound(amr_slots(1)%q_cons(1)%sf, 1), & + & lbound(amr_slots(1)%q_cons(1)%sf, 2):ubound(amr_slots(1)%q_cons(1)%sf, 2), & + & lbound(amr_slots(1)%q_cons(1)%sf, 3):ubound(amr_slots(1)%q_cons(1)%sf, 3),1:sys_size)) + do bi = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(1)%q_cons(bi)%sf]') + b1save(:,:,:,bi) = amr_slots(1)%q_cons(bi)%sf + end do ! restrict-to-parent (increment 3 step 1): fold L2 back into the parent block; the covered cells must be UNCHANGED ! (restrict(prolong) = identity), which exercises s_amr_restrict_to_parent via s_restrict_fine_to_coarse. block @@ -1362,16 +1373,22 @@ contains ah = real(amr_slots(1)%q_cons(e)%sf(oh, 0, 0), wp) - real(qh0(e), wp) expl = (0.11_wp*e - 0.03_wp*e)/dxf; exph = (0.05_wp*e - 0.07_wp*e)/dxf errr = max(errr, abs(al - expl), abs(ah - exph)) - ! restore the parent's outside cells (undo the injected reflux so block 1 keeps its real state) - amr_slots(1)%q_cons(e)%sf(ol, 0, 0) = ql0(e); amr_slots(1)%q_cons(e)%sf(oh, 0, 0) = qh0(e) - $:GPU_UPDATE(device='[amr_slots(1)%q_cons(e)%sf]') end do deallocate (ql0, qh0) print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: reflux-to-parent conservation err = ', errr end block + ! restore block 1's full state (buffer -> host -> device): undoes every intrusive-check write so the persistent + ! parent enters the advance exactly as s_populate_amr_fine left it (device-clean). + do bi = 1, sys_size + amr_slots(1)%q_cons(bi)%sf = b1save(:,:,:,bi) + $:GPU_UPDATE(device='[amr_slots(1)%q_cons(bi)%sf]') + end do + deallocate (b1save) end if - call s_amr_free_slot(L2) - amr_block_level(L2) = 1; amr_num_blocks = n1; amr_num_levels = 1 + ! persistent L2 block (increment 3 step 3): KEEP the level-2 block in the active set (amr_num_blocks = L2, amr_num_levels = + ! 2, + ! level 2) so the advance driver can step it across timesteps. The self-test perturbations above are restored, so the block + ! holds its clean prolonged state. amr_num_blocks stays = L2 (set above); no free/revert. ! restore amr_cg + the patch frame (amr_cpat_off) to block 1: the L2 gather above overwrote them with the parent-fine ! frame, and the normal single-block conservation check that follows reads block 1's frame. call s_amr_select_slot(1) diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index ff35bf0d76..89c3604c9b 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -511,6 +511,8 @@ contains ! Phase 1 - FILL every block's ghost shell from the (gathered) coarse; interiors stay stage-entry. do islot = 1, amr_num_blocks call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) + ! persistent level>=2 blocks are inert until the level-loop driver (increment 3 step 4) + if (amr_block_level(amr_cur) >= 2) cycle call s_amr_fine_stage_fill(q_cons_ts(1)%vf, pb_ts(1)%sf, mv_ts(1)%sf) end do ! Phase 2 - block-to-block fine-fine halo: overwrite adjacent-sub-block seam ghosts with neighbour fine interior. @@ -518,6 +520,7 @@ contains ! Phase 3 - ADVANCE every block (RHS + RK update) + reflux at its c/f faces. do islot = 1, amr_num_blocks call s_amr_select_slot(islot) + if (amr_block_level(amr_cur) >= 2) cycle ! level>=2 advance is increment 3 step 4 (level-loop driver) call s_amr_fine_stage_advance(s, rk_coef(s,:), bc_type, q_T_sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & & t_step, time_avg) ! freg slices of the block faces move to the coarse-outside-owners (ALL ranks call; no-op at np=1) @@ -620,6 +623,8 @@ contains ! is subcycled, restricted, and state-refluxed in turn; amr_cur resets to 1 afterwards. do islot = 1, amr_num_blocks call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) + ! persistent level>=2 blocks are inert until the level-loop driver (increment 3 step 4) + if (amr_block_level(amr_cur) >= 2) cycle if (amr_subcycle) then call s_advance_amr_fine_substeps(q_cons_ts(stor)%vf, q_cons_ts(1)%vf, rk_coef, bc_type, q_T_sf, & & pb_ts(stor)%sf, mv_ts(stor)%sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & From b3f3d39a41d4ebede5aab75475241717a6d68410 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 10:47:29 -0400 Subject: [PATCH 09/41] amr: level-loop driver conserves on GPU - fix persistent-L2 device NaN (increment 3 step 4) Lock-step multi-level advance in m_time_steppers: FILL every block top-down (level-aware s_amr_fine_stage_fill gathers a level>=2 block from its PARENT), ADVANCE all blocks, RESTRICT bottom-up (reverse slot order so the child folds into its parent before the parent folds into L0). level>=2 blocks skip the L0 reflux (parent-flux capture is step 4b). The intractable GPU-only NaN was a one-line omission: s_amr_test_multilevel prolongs the persistent L2 block via s_interpolate_coarse_to_fine (s_prolong_one_var is a HOST loop) but never pushed the result to the device, so the freshly ACC_SETUP'd L2 device q_cons stayed NaN and folded into the parent via restrict-to-parent. Added the GPU_UPDATE(device) after the prolong, mirroring s_populate_amr_fine. Invisible on CPU (host==device); localised with count(x/=x) after nvfortran maxval hid the NaN, and compute-sanitizer memcheck came back clean (ruling out OOB, pointing at the missing host-to-device sync). Also: level-aware s_amr_swap_to_fine ghost coords (a level>=2 block sources its parent's fine coords, not the L0 amr_g?cb which its parent-fine amr_isect indexes out of bounds); gather-from-parent copies via a device kernel (s_amr_copy_parent_patch, parent q_cons passed as an argument - present-table safe like s_amr_restrict_overwrite_device). VALIDATED np=1 static 2-level, CPU and GPU (V100): self-test errs 0 and 3.55e-15; full run completes with NO NaN and conserves (mass 5.0e-13, energy 7.1e-13, identical CPU/GPU). --- src/simulation/m_amr.fpp | 85 ++++++++++++++++++++++-------- src/simulation/m_time_steppers.fpp | 22 +++++--- 2 files changed, 77 insertions(+), 30 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index a2c31f8783..7aa5e1249b 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -629,7 +629,7 @@ contains impure subroutine s_amr_gather_from_parent(pull_host) logical, intent(in) :: pull_host - integer :: i, g1, g2, g3, pblk, w1, w2, w3 + integer :: pblk, w1, w2, w3 pblk = f_amr_parent_block(amr_cur) amr_cpat_off = 0 @@ -641,26 +641,40 @@ contains if (n_glb > 0) w2 = (amr_isect_hi(2) - amr_isect_lo(2)) + 2*amr_cpat_mar if (p_glb > 0) w3 = (amr_isect_hi(3) - amr_isect_lo(3)) + 2*amr_cpat_mar if (.not. amr_rank_owns_block) return ! np=1: the owner holds both this block and its parent - if (pull_host) then - do i = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(pblk)%q_cons(i)%sf]') - end do - end if + ! copy the parent's fine patch into amr_cg with a DEVICE kernel (the parent q_cons is passed as an argument, present-table + ! safe like s_amr_restrict_overwrite_device). np>=2 P2P (parent owner -> block owner) is future work; pull_host stays in the + ! signature for the level-1 path. + call s_amr_copy_parent_patch(amr_slots(pblk)%q_cons, w1, w2, w3) + + end subroutine s_amr_gather_from_parent + + !> Device kernel for s_amr_gather_from_parent: copy the parent block's fine patch into amr_cg over [amr_cpat_off : + w]. The + !! parent q_cons is passed as the qp ARGUMENT (not indexed as amr_slots(pblk) inside the kernel) so its deep %sf attach resolves + !! present-table safe, like s_amr_restrict_overwrite_device. amr_cg is then synced to host for host consumers (the init + !! self-test's restrict-prolong check). + impure subroutine s_amr_copy_parent_patch(qp, w1, w2, w3) + + type(scalar_field), dimension(sys_size), intent(in) :: qp + integer, intent(in) :: w1, w2, w3 + integer :: i, g1, g2, g3, o1, o2, o3 + + o1 = amr_cpat_off(1); o2 = amr_cpat_off(2); o3 = amr_cpat_off(3) + $:GPU_PARALLEL_LOOP(collapse=4) do i = 1, sys_size do g3 = 0, w3 do g2 = 0, w2 do g1 = 0, w1 - amr_cg(i)%sf(g1, g2, g3) = amr_slots(pblk)%q_cons(i)%sf(g1 + amr_cpat_off(1), g2 + amr_cpat_off(2), & - & g3 + amr_cpat_off(3)) + amr_cg(i)%sf(g1, g2, g3) = qp(i)%sf(g1 + o1, g2 + o2, g3 + o3) end do end do end do end do + $:END_GPU_PARALLEL_LOOP() do i = 1, sys_size - $:GPU_UPDATE(device='[amr_cg(i)%sf]') + $:GPU_UPDATE(host='[amr_cg(i)%sf]') end do - end subroutine s_amr_gather_from_parent + end subroutine s_amr_copy_parent_patch !> This rank's (r's) contiguous owned coarse-cell range per dim from the replicated amr_decomp table: interior [start:start+ext] !! plus its physical-boundary ghosts (buff_size cells only where the subdomain touches the domain edge). Equal to the set where @@ -1290,6 +1304,12 @@ contains call s_amr_gather_coarse_patch(amr_slots(1)%q_cons, .false.) ! q_coarse ignored for level>=2 (reads the parent block) if (amr_rank_owns_block) then call s_interpolate_coarse_to_fine() + ! push the host-side prolong to the device (mirror s_populate_amr_fine): s_prolong_one_var is a host loop, so without + ! this the persistent L2 block's device q_cons is never valued (NaN) - a GPU-only failure invisible on CPU + ! (host==device) + do i = 1, sys_size + $:GPU_UPDATE(device='[amr_slots(amr_cur)%q_cons(i)%sf]') + end do allocate (scratch(1:sys_size)) do i = 1, sys_size allocate (scratch(i)%sf(0:amr_cpat_hi(1),0:amr_cpat_hi(2),0:amr_cpat_hi(3))) @@ -2223,13 +2243,32 @@ contains ! (cl is a GLOBAL coarse index, region_lo + floor(jg/2)), matching the interior build. Blocks stay ! buff_size inside the domain, so every ghost parent is an in-domain coarse cell with exact coords. block - integer :: jg, cl + integer :: jg, cl, pblk2 + real(wp), allocatable :: cxb(:), cyb(:), czb(:) + ! ghost parent boundaries: a level>=2 block's coarse side is its PARENT's fine grid (indexed in the parent-fine + ! amr_isect frame, matching the interior s_build_level_coords), NOT the L0 global boundaries. amr_isect_lo is a + ! parent-fine index, so indexing amr_g?cb (sized for L0) reads OUT OF BOUNDS -> garbage on host, NaN on the device + ! copy. Source the parent's fine coords for level>=2, the global L0 boundaries for level 1. + if (amr_block_level(amr_cur) >= 2) then + pblk2 = f_amr_parent_block(amr_cur) + allocate (cxb(lbound(amr_slots(pblk2)%x_cb, 1):ubound(amr_slots(pblk2)%x_cb, 1))); cxb = amr_slots(pblk2)%x_cb + if (n_glb > 0) then + allocate (cyb(lbound(amr_slots(pblk2)%y_cb, 1):ubound(amr_slots(pblk2)%y_cb, 1))); cyb = amr_slots(pblk2)%y_cb + end if + if (p_glb > 0) then + allocate (czb(lbound(amr_slots(pblk2)%z_cb, 1):ubound(amr_slots(pblk2)%z_cb, 1))); czb = amr_slots(pblk2)%z_cb + end if + else + allocate (cxb(lbound(amr_gxcb, 1):ubound(amr_gxcb, 1))); cxb = amr_gxcb + if (n_glb > 0) then; allocate (cyb(lbound(amr_gycb, 1):ubound(amr_gycb, 1))); cyb = amr_gycb; end if + if (p_glb > 0) then; allocate (czb(lbound(amr_gzcb, 1):ubound(amr_gzcb, 1))); czb = amr_gzcb; end if + end if do jg = amr_slots(amr_cur)%m + 1, amr_slots(amr_cur)%m + buff_size cl = amr_isect_lo(1) + floor(real(jg, wp)/2._wp) if (mod(jg, 2) == 0) then - x_cb(jg) = 0.5_wp*(amr_gxcb(cl - 1) + amr_gxcb(cl)) + x_cb(jg) = 0.5_wp*(cxb(cl - 1) + cxb(cl)) else - x_cb(jg) = amr_gxcb(cl) + x_cb(jg) = cxb(cl) end if dx(jg) = x_cb(jg) - x_cb(jg - 1); x_cc(jg) = 0.5_wp*(x_cb(jg - 1) + x_cb(jg)) end do @@ -2238,9 +2277,9 @@ contains do jg = -1 - buff_size, -1 cl = amr_isect_lo(1) + floor(real(jg, wp)/2._wp) if (mod(abs(jg), 2) == 0) then - x_cb(jg) = 0.5_wp*(amr_gxcb(cl - 1) + amr_gxcb(cl)) + x_cb(jg) = 0.5_wp*(cxb(cl - 1) + cxb(cl)) else - x_cb(jg) = amr_gxcb(cl) + x_cb(jg) = cxb(cl) end if end do do jg = -buff_size, -1 @@ -2250,9 +2289,9 @@ contains do jg = amr_slots(amr_cur)%n + 1, amr_slots(amr_cur)%n + buff_size cl = amr_isect_lo(2) + floor(real(jg, wp)/2._wp) if (mod(jg, 2) == 0) then - y_cb(jg) = 0.5_wp*(amr_gycb(cl - 1) + amr_gycb(cl)) + y_cb(jg) = 0.5_wp*(cyb(cl - 1) + cyb(cl)) else - y_cb(jg) = amr_gycb(cl) + y_cb(jg) = cyb(cl) end if dy(jg) = y_cb(jg) - y_cb(jg - 1); y_cc(jg) = 0.5_wp*(y_cb(jg - 1) + y_cb(jg)) end do @@ -2261,9 +2300,9 @@ contains do jg = -1 - buff_size, -1 cl = amr_isect_lo(2) + floor(real(jg, wp)/2._wp) if (mod(abs(jg), 2) == 0) then - y_cb(jg) = 0.5_wp*(amr_gycb(cl - 1) + amr_gycb(cl)) + y_cb(jg) = 0.5_wp*(cyb(cl - 1) + cyb(cl)) else - y_cb(jg) = amr_gycb(cl) + y_cb(jg) = cyb(cl) end if end do do jg = -buff_size, -1 @@ -2274,9 +2313,9 @@ contains do jg = amr_slots(amr_cur)%p + 1, amr_slots(amr_cur)%p + buff_size cl = amr_isect_lo(3) + floor(real(jg, wp)/2._wp) if (mod(jg, 2) == 0) then - z_cb(jg) = 0.5_wp*(amr_gzcb(cl - 1) + amr_gzcb(cl)) + z_cb(jg) = 0.5_wp*(czb(cl - 1) + czb(cl)) else - z_cb(jg) = amr_gzcb(cl) + z_cb(jg) = czb(cl) end if dz(jg) = z_cb(jg) - z_cb(jg - 1); z_cc(jg) = 0.5_wp*(z_cb(jg - 1) + z_cb(jg)) end do @@ -2285,9 +2324,9 @@ contains do jg = -1 - buff_size, -1 cl = amr_isect_lo(3) + floor(real(jg, wp)/2._wp) if (mod(abs(jg), 2) == 0) then - z_cb(jg) = 0.5_wp*(amr_gzcb(cl - 1) + amr_gzcb(cl)) + z_cb(jg) = 0.5_wp*(czb(cl - 1) + czb(cl)) else - z_cb(jg) = amr_gzcb(cl) + z_cb(jg) = czb(cl) end if end do do jg = -buff_size, -1 diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index 89c3604c9b..dd7a0efa53 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -508,11 +508,12 @@ contains ! afterwards so the next stage's coarse RHS captures creg into slot 1. if (amr .and. .not. amr_subcycle) then ! max_grid_size tiling: three phases so a sub-block's seam ghosts read its neighbours' STAGE-ENTRY interior. - ! Phase 1 - FILL every block's ghost shell from the (gathered) coarse; interiors stay stage-entry. + ! Phase 1 - FILL every block's ghost shell top-down. s_amr_fine_stage_fill is level-aware: a level>=2 block gathers + ! its ghosts from its PARENT (s_amr_gather_coarse_patch's level branch), a level-1 block from L0. Blocks are stored + ! parent-before-child (L2 at a higher slot), so slot order fills the parent's stage-entry state before the child + ! reads it. do islot = 1, amr_num_blocks call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) - ! persistent level>=2 blocks are inert until the level-loop driver (increment 3 step 4) - if (amr_block_level(amr_cur) >= 2) cycle call s_amr_fine_stage_fill(q_cons_ts(1)%vf, pb_ts(1)%sf, mv_ts(1)%sf) end do ! Phase 2 - block-to-block fine-fine halo: overwrite adjacent-sub-block seam ghosts with neighbour fine interior. @@ -520,9 +521,13 @@ contains ! Phase 3 - ADVANCE every block (RHS + RK update) + reflux at its c/f faces. do islot = 1, amr_num_blocks call s_amr_select_slot(islot) - if (amr_block_level(amr_cur) >= 2) cycle ! level>=2 advance is increment 3 step 4 (level-loop driver) call s_amr_fine_stage_advance(s, rk_coef(s,:), bc_type, q_T_sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & & t_step, time_avg) + ! reflux into "the coarse". A level-1 block corrects the L0 rhs (rhs form; L0 updates after the stage loop). A + ! level>=2 block's coarse side is its PARENT L1 - its Berger-Colella correction needs L1's flux at the block's + ! footprint faces (creg captured during L1's advance) and applies as a STATE reflux; that parent-flux capture is + ! the remaining piece (increment 3 step 4b), so level>=2 blocks skip the L0 reflux here for now. + if (amr_block_level(amr_cur) >= 2) cycle ! freg slices of the block faces move to the coarse-outside-owners (ALL ranks call; no-op at np=1) call s_amr_p2p_reflux_faces() call s_amr_apply_reflux(rhs_vf) ! coarse update sees the fine flux at c/f faces @@ -621,10 +626,13 @@ contains ! ghost lerp sources, restriction target, and state-reflux target are all device-resident: ! the substep/restriction/reflux machinery runs as device kernels (M2). Each active block slot ! is subcycled, restricted, and state-refluxed in turn; amr_cur resets to 1 afterwards. - do islot = 1, amr_num_blocks + ! RESTRICT bottom-up: a level>=2 block folds into its PARENT (level-aware s_restrict_fine_to_coarse = + ! restrict-to-parent) + ! and must do so BEFORE the parent folds into L0, so the L0 covered cells reflect the finest data. Finer levels live at + ! higher slots (child after parent), so iterate slots in REVERSE. Disjoint same-level blocks make this bit-identical to + ! forward order for single-level runs. + do islot = amr_num_blocks, 1, -1 call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) - ! persistent level>=2 blocks are inert until the level-loop driver (increment 3 step 4) - if (amr_block_level(amr_cur) >= 2) cycle if (amr_subcycle) then call s_advance_amr_fine_substeps(q_cons_ts(stor)%vf, q_cons_ts(1)%vf, rk_coef, bc_type, q_T_sf, & & pb_ts(stor)%sf, mv_ts(stor)%sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & From 4fdebe0ee75a7a2d7ce0070b6471f3494d405d3e Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 16:34:58 -0400 Subject: [PATCH 10/41] amr: dynamic per-level regrid + L2->L1 reflux conserve to machine zero (np=1, 2 levels) Make s_amr_regrid hierarchical so level-2 blocks are created/destroyed dynamically nested inside level-1 blocks (replacing the static self-test block), and add the L2->L1 Berger-Colella reflux that the dynamic case needs for exact conservation. Regrid (m_amr.fpp): after the L0->L1 boxes are clustered, append a nested level-2 box per level-1 box (A1 uses a fixed inset; the fine-solution sensor is a follow-up), tag amr_block_level per box, and order the box list parents-first so the build loop fills a parent before its child's gather-from-parent reads it. THE conservation-critical fix: the new block's overlap-copy (which restores fine detail from the old blocks' stash) must only copy from SAME-LEVEL old blocks - an old level-2 stash is in the 4x parent-fine frame, so copying it into a new level-1 block with the L0-frame shift 2*(isect-old_ilo) corrupted the parent (the L2 came out uniform high-density, injecting +6% mass on the first advance). Track old_level per old block and skip cross-level overlap sources; level-2 destinations re-prolong from their fresh parent (detail-preserving same-level L2 migration is future work). Reflux (m_amr_registers.fpp + m_time_steppers.fpp): capture creg for each level-2 child from its PARENT block's fine flux during the parent's advance (child footprint = amr_isect in the parent-fine frame), rk3_w-weighted for the once-per-step STATE correction; give freg the same rk3_w weighting for level-2 blocks; skip level-2 blocks in the L0 coarse-creg loop; call s_amr_reflux_to_parent(dt) per level-2 block in the lock-step restrict loop. Advective flux only - viscous/chemistry-diffusion multi-level reflux is now gated fail-closed in m_checker. VALIDATED CPU np=1 (scratchpad hyb_dyn.py, central shock, reflective bc): dynamic level-2 regrid tracks the moving shock and conserves mass 1.97e-16 / energy 0.0 (was 0.12 before the overlap-copy fix, 3.9e-5 with the fix but no reflux). No regression: single-level dynamic regrid 3.9e-16, static multi-level self-test 5e-13 with errs 0/0/3.55e-15. --- src/simulation/m_amr.fpp | 114 ++++++++++++++++++++--------- src/simulation/m_amr_registers.fpp | 81 +++++++++++++++++++- src/simulation/m_checker.fpp | 2 + src/simulation/m_time_steppers.fpp | 8 +- 4 files changed, 168 insertions(+), 37 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 7aa5e1249b..f1a057adad 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -41,7 +41,7 @@ module m_amr & s_amr_swap_to_fine, s_amr_restore_coarse, s_amr_fill_fine_ghosts, s_amr_operator_checks, s_amr_fine_stage_fill, & & s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_advance_amr_fine_substeps, s_amr_conservation_defect, & & s_set_amr_fine_geometry, s_amr_regrid, s_write_amr_restart, s_read_amr_restart, s_amr_relax_fine, s_amr_setup_ib, & - & s_amr_check_active_box_containment, s_amr_p2p_reflux_faces + & s_amr_check_active_box_containment, s_amr_p2p_reflux_faces, s_amr_reflux_to_parent !> Fine-level time step for subcycling (= 0.5*dt after init; 0 when amr is off). real(wp) :: amr_dt_fine = 0._wp @@ -3619,10 +3619,10 @@ contains integer :: lo(3), hi(3), sh(3), old_np, k, kk integer :: old_ilo(3, amr_max_blocks), old_ext(3, amr_max_blocks) integer :: old_chi(3, amr_max_blocks) - integer :: old_owner(amr_max_blocks) + integer :: old_owner(amr_max_blocks), old_level(amr_max_blocks) logical :: old_owns(amr_max_blocks), any_xchg, same, merged integer :: ci, cj, ck, fi, fj, fk, ofi, ofj, ofk, i - integer :: sidx(3), tg_lo(3), tg_hi(3), nboxes + integer :: sidx(3), tg_lo(3), tg_hi(3), nboxes, n_level1 real(wp) :: r0, g ! valid coarse CONS ghosts at internal rank boundaries: the tag sweep reads +/-1 across seams and the rebuild @@ -3792,6 +3792,35 @@ contains end if end if + ! 3b) multi-level nesting: append a level-2 box nested inside each level-1 box (parents-first ordering so the build loop + ! below fills a parent before its child's gather-from-parent reads it). A1 uses a FIXED inset (like + ! s_amr_test_multilevel); + ! A2 replaces it with the density-gradient sensor run on each L1 block's fine solution. np=1 + non-IB for now + ! (multi-level + ! distribution / IB nesting are future work); regions stay in L0 cell indices at every level. + n_level1 = nboxes + if (amr_max_level >= 2 .and. num_procs == 1 .and. .not. ib) then + block + integer :: kb, ins(3), l2lo(3), l2hi(3) + do kb = 1, n_level1 + ins = 0 + ins(1) = max((boxes(kb)%hi(1) - boxes(kb)%lo(1) + 1)/4, amr_cpat_mar) + if (n_glb > 0) ins(2) = max((boxes(kb)%hi(2) - boxes(kb)%lo(2) + 1)/4, amr_cpat_mar) + if (p_glb > 0) ins(3) = max((boxes(kb)%hi(3) - boxes(kb)%lo(3) + 1)/4, amr_cpat_mar) + l2lo = boxes(kb)%lo + ins; l2hi = boxes(kb)%hi - ins + if (l2hi(1) < l2lo(1)) cycle ! inset left no interior in x + if (n_glb > 0 .and. l2hi(2) < l2lo(2)) cycle + if (p_glb > 0 .and. l2hi(3) < l2lo(3)) cycle + if (nboxes + 1 > amr_max_blocks) exit ! pool full - stop nesting (warned once below) + nboxes = nboxes + 1 + ! level tagged in the assembly (boxes > n_level1 are level 2) + boxes(nboxes)%lo = l2lo; boxes(nboxes)%hi = l2hi + end do + if (nboxes >= amr_max_blocks .and. proc_rank == 0) print '(A)', & + & ' [amr] NOTE: block pool full during level-2 nesting; some level-1 boxes were not refined' + end block + end if + ! 4) unchanged? (same count and boxes as the live slots -> keep them; a rebuild would reproduce them exactly anyway) if (nboxes == amr_num_blocks) then same = .true. @@ -3812,6 +3841,7 @@ contains old_ext(2, k) = merge(2*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 0, n_glb > 0) old_ext(3, k) = merge(2*(amr_region_hi_all(3, k) - amr_region_lo_all(3, k) + 1) - 1, 0, p_glb > 0) old_owner(k) = amr_block_owner(k) + old_level(k) = amr_block_level(k) ! overlap-copy must match levels: an old L2's stash is in the 4x parent-fine frame old_owns(k) = amr_owns_all(k) if (old_owns(k)) then do i = 1, sys_size @@ -3842,7 +3872,11 @@ contains amr_num_blocks = nboxes do k = 1, nboxes amr_region_lo_all(:,k) = boxes(k)%lo; amr_region_hi_all(:,k) = boxes(k)%hi + ! boxes 1..n_level1 are the L0->L1 blocks; any appended above (k > n_level1) are the nested level-2 blocks. Setting + ! this every regrid resets a stale level when a slot is reused across levels. + amr_block_level(k) = merge(2, 1, k > n_level1) end do + amr_num_levels = merge(2, 1, nboxes > n_level1) call s_amr_assign_block_owners() #ifdef MFC_MPI @@ -3946,25 +3980,35 @@ contains if (.not. amr_rank_owns_block) cycle call s_interpolate_coarse_to_fine() ! every old block's stashed fine state is now replicated in amr_slots(kk)%q_cons_stor (migration above), so copy - ! the overlap from EVERY covering old block regardless of who owned it - sh is the old->new LOCAL fine index shift - do kk = 1, old_np - sh = 2*(amr_isect_lo - old_ilo(:,kk)) ! old LOCAL fine index = new LOCAL fine index + sh (collapsed dims sh=0) - do i = 1, sys_size - do fk = 0, amr_slots(k)%p - ofk = fk + sh(3) - if (p_glb > 0 .and. (ofk < 0 .or. ofk > old_ext(3, kk))) cycle - do fj = 0, amr_slots(k)%n - ofj = fj + sh(2) - if (n_glb > 0 .and. (ofj < 0 .or. ofj > old_ext(2, kk))) cycle - do fi = 0, amr_slots(k)%m - ofi = fi + sh(1) - if (ofi < 0 .or. ofi > old_ext(1, kk)) cycle - amr_slots(k)%q_cons(i)%sf(fi, fj, fk) = amr_slots(kk)%q_cons_stor(i)%sf(ofi, ofj, ofk) + ! the overlap from EVERY covering old block regardless of who owned it - sh is the old->new LOCAL fine index shift. + ! A level>=2 block SKIPS this: old_ilo/sh are the L0 index frame, but a child's amr_isect_lo is its PARENT-fine + ! frame, + ! so the shift is wrong. It re-prolongs from its (freshly-built, parents-first) parent each regrid instead; the + ! coupling + ! keeps conservation. Detail-preserving same-level L2 migration (parent-fine overlap) is a later increment. + if (amr_block_level(amr_cur) < 2) then + do kk = 1, old_np + ! same-level overlap only (a child's stash is 4x-framed) + if (old_level(kk) /= amr_block_level(amr_cur)) cycle + ! old LOCAL fine index = new LOCAL fine index + sh (collapsed dims sh=0) + sh = 2*(amr_isect_lo - old_ilo(:,kk)) + do i = 1, sys_size + do fk = 0, amr_slots(k)%p + ofk = fk + sh(3) + if (p_glb > 0 .and. (ofk < 0 .or. ofk > old_ext(3, kk))) cycle + do fj = 0, amr_slots(k)%n + ofj = fj + sh(2) + if (n_glb > 0 .and. (ofj < 0 .or. ofj > old_ext(2, kk))) cycle + do fi = 0, amr_slots(k)%m + ofi = fi + sh(1) + if (ofi < 0 .or. ofi > old_ext(1, kk)) cycle + amr_slots(k)%q_cons(i)%sf(fi, fj, fk) = amr_slots(kk)%q_cons_stor(i)%sf(ofi, ofj, ofk) + end do end do end do end do end do - end do + end if do i = 1, sys_size $:GPU_UPDATE(device='[amr_slots(k)%q_cons(i)%sf]') end do @@ -3972,24 +4016,28 @@ contains ! then overwrite the overlap with the old blocks' fine data (same index shift) if (qbmm .and. .not. polytropic) then call s_amr_prolong_pbmv() - do kk = 1, old_np - if (.not. old_owns(kk)) cycle - sh = 2*(amr_isect_lo - old_ilo(:,kk)) - do fk = 0, amr_slots(k)%p - ofk = fk + sh(3) - if (p_glb > 0 .and. (ofk < 0 .or. ofk > old_ext(3, kk))) cycle - do fj = 0, amr_slots(k)%n - ofj = fj + sh(2) - if (n_glb > 0 .and. (ofj < 0 .or. ofj > old_ext(2, kk))) cycle - do fi = 0, amr_slots(k)%m - ofi = fi + sh(1) - if (ofi < 0 .or. ofi > old_ext(1, kk)) cycle - amr_slots(k)%pb_f%sf(fi, fj, fk,:,:) = amr_slots(kk)%pb_stor%sf(ofi, ofj, ofk,:,:) - amr_slots(k)%mv_f%sf(fi, fj, fk,:,:) = amr_slots(kk)%mv_stor%sf(ofi, ofj, ofk,:,:) + ! level>=2 re-prolongs only (the L0-frame overlap shift is wrong for a child) + if (amr_block_level(amr_cur) < 2) then + do kk = 1, old_np + if (old_level(kk) /= amr_block_level(amr_cur)) cycle ! same-level overlap only + if (.not. old_owns(kk)) cycle + sh = 2*(amr_isect_lo - old_ilo(:,kk)) + do fk = 0, amr_slots(k)%p + ofk = fk + sh(3) + if (p_glb > 0 .and. (ofk < 0 .or. ofk > old_ext(3, kk))) cycle + do fj = 0, amr_slots(k)%n + ofj = fj + sh(2) + if (n_glb > 0 .and. (ofj < 0 .or. ofj > old_ext(2, kk))) cycle + do fi = 0, amr_slots(k)%m + ofi = fi + sh(1) + if (ofi < 0 .or. ofi > old_ext(1, kk)) cycle + amr_slots(k)%pb_f%sf(fi, fj, fk,:,:) = amr_slots(kk)%pb_stor%sf(ofi, ofj, ofk,:,:) + amr_slots(k)%mv_f%sf(fi, fj, fk,:,:) = amr_slots(kk)%mv_stor%sf(ofi, ofj, ofk,:,:) + end do end do end do end do - end do + end if $:GPU_UPDATE(device='[amr_slots(k)%pb_f%sf, amr_slots(k)%mv_f%sf]') end if ! whole-block-per-rank: no fine-fine halo; the new block's ghost shell is (re)prolonged by the next fine advance diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index f847ab51a4..2d8e56c85d 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -180,10 +180,10 @@ contains type(vector_field), intent(in) :: flux_src integer, intent(in) :: stage integer :: eq, t1, t2, jlo, jhi, t1_lo, t1_hi, t2_lo, t2_hi, o1, o2, islot, save_cur - integer :: sidx(3), ext(3), tlo(3), thi(3) + integer :: sidx(3), ext(3), tlo(3), thi(3), kc, dch logical :: own_lo(3), own_hi(3), cap_lo, cap_hi - real(wp) :: coef - logical :: accum + real(wp) :: coef, ccoef + logical :: accum, cacc, is_child if (.not. amr) return if (igr) return ! stage-1 IGR coupling is restriction-only: the fused IGR flux kernels do not expose face fluxes to capture @@ -196,6 +196,10 @@ contains else coef = rk3_w(stage); accum = (stage > 1) ! stage 1 overwrites = implicit zero per coarse step end if + else if (amr_in_fine_advance .and. amr_block_level(amr_cur) >= 2) then + ! lock-step L2->L1 reflux: the parent already RK-updated by the time we reflux, so freg must hold the rk3_w-weighted + ! step-integral flux for the once-per-step STATE correction (stage 1 overwrites = implicit zero, cf. the coarse creg). + coef = rk3_w(stage); accum = (stage > 1) else coef = 1._wp; accum = .false. ! overwrite each stage - default behavior, byte-identical end if @@ -327,6 +331,75 @@ contains end do $:END_GPU_PARALLEL_LOOP() end if + ! multi-level lock-step: this fine block (amr_cur) is the COARSE side (parent) of its level+1 children. Capture creg for + ! each child from THIS block's fine flux at the child's footprint faces - the child's amr_isect_lo/hi is already in this + ! parent's fine frame, so it indexes flux_dir directly (face jlo=isect_lo-1, jhi=isect_hi; transverse origin o1/o2). + ! creg + ! holds the rk3_w-weighted step-integral flux for the once-per-step STATE reflux into this parent + ! (s_amr_reflux_to_parent). + ! Advective (flux_dir) only; viscous/chemistry multi-level reflux is gated in m_checker until captured here too. np=1 + ! (children co-owned with the parent); np>=2 P2P delivery is future work. + ccoef = rk3_w(stage); cacc = (stage > 1) + do kc = 1, amr_num_blocks + if (amr_block_level(kc) /= amr_block_level(amr_cur) + 1 .or. .not. amr_owns_all(kc)) cycle + is_child = .true. + do dch = 1, 3 + is_child = is_child .and. amr_region_lo_all(dch, kc) <= amr_region_hi_all(dch, & + & amr_cur) .and. amr_region_hi_all(dch, kc) >= amr_region_lo_all(dch, amr_cur) + end do + if (.not. is_child) cycle + select case (id) + case (1); jlo = amr_isect_lo_all(1, kc) - 1; jhi = amr_isect_hi_all(1, kc) + o1 = amr_isect_lo_all(2, kc); t1_hi = amr_isect_hi_all(2, kc) - amr_isect_lo_all(2, kc) + o2 = amr_isect_lo_all(3, kc); t2_hi = amr_isect_hi_all(3, kc) - amr_isect_lo_all(3, kc) + case (2); jlo = amr_isect_lo_all(2, kc) - 1; jhi = amr_isect_hi_all(2, kc) + o1 = amr_isect_lo_all(1, kc); t1_hi = amr_isect_hi_all(1, kc) - amr_isect_lo_all(1, kc) + o2 = amr_isect_lo_all(3, kc); t2_hi = amr_isect_hi_all(3, kc) - amr_isect_lo_all(3, kc) + case (3); jlo = amr_isect_lo_all(3, kc) - 1; jhi = amr_isect_hi_all(3, kc) + o1 = amr_isect_lo_all(1, kc); t1_hi = amr_isect_hi_all(1, kc) - amr_isect_lo_all(1, kc) + o2 = amr_isect_lo_all(2, kc); t2_hi = amr_isect_hi_all(2, kc) - amr_isect_lo_all(2, kc) + end select + $:GPU_PARALLEL_LOOP(collapse=3) + do t2 = 0, t2_hi + do t1 = 0, t1_hi + do eq = 1, sys_size + select case (id) + case (1) + if (cacc) then + creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_dir%vf(eq)%sf(jlo, & + & o1 + t1, o2 + t2), wp) + creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_dir%vf(eq)%sf(jhi, & + & o1 + t1, o2 + t2), wp) + else + creg(1)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) + creg(1)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) + end if + case (2) + if (cacc) then + creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) + creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) + else + creg(2)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) + creg(2)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) + end if + case (3) + if (cacc) then + creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) + creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) + else + creg(3)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) + creg(3)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) + end if + end select + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + end do else ! coarse branch: a face's capture runs on the rank owning the coarse cells just OUTSIDE it (its ! flux_n covers that face; at a rank-interior face the same rank also holds the inside cells). @@ -337,6 +410,8 @@ contains ! ONE coarse s_compute_rhs pass fills EVERY active block's registers: revisit each slot's region+intersection in turn. save_cur = amr_cur do islot = 1, amr_num_blocks + ! a level>=2 block's coarse side is its PARENT (creg captured in the fine branch), not L0 + if (amr_block_level(islot) >= 2) cycle call s_amr_select_slot(islot) call s_amr_reflux_face_flags(sidx, ext, own_lo, own_hi, tlo, thi) cap_lo = own_lo(id); cap_hi = own_hi(id) diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 8636cf2081..51feefd7c0 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -196,6 +196,8 @@ contains @:PROHIBIT(amr_max_level > 2, "amr_max_level > 2 is not yet supported; see docs/documentation/amr_multilevel.md") @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1, & & "amr_max_level > 1 currently runs a single-rank coupling self-test only (the recursive multi-level advance is under development); use num_procs = 1") + @:PROHIBIT(amr_max_level > 1 .and. (viscous .or. (chemistry .and. chem_params%diffusion)), & + & "multi-level AMR (amr_max_level > 1) currently refluxes the ADVECTIVE flux only; viscous/chemistry-diffusion multi-level is not yet conservative across the level-2 c/f boundary") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index dd7a0efa53..f6b629eecc 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -29,7 +29,7 @@ module m_time_steppers use m_constants, only: model_eqns_6eq, time_stepper_rk1, time_stepper_rk2, time_stepper_rk3 use m_active_box, only: s_grow_active_box, s_check_active_box_envelope, ab_x, ab_y, ab_z, ab_active use m_amr, only: s_amr_fine_stage_fill, s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_advance_amr_fine_substeps, & - & s_restrict_fine_to_coarse, s_amr_relax_fine, s_amr_p2p_reflux_faces + & s_restrict_fine_to_coarse, s_amr_relax_fine, s_amr_p2p_reflux_faces, s_amr_reflux_to_parent use m_amr_registers, only: s_amr_apply_reflux, s_amr_apply_reflux_state implicit none @@ -641,6 +641,12 @@ contains ! equilibrate the fine solution (phase change) before it restricts to the coarse level if (relax) call s_amr_relax_fine() call s_restrict_fine_to_coarse(q_cons_ts(1)%vf) + ! multi-level lock-step: a level>=2 block also Berger-Colella STATE-refluxes into its PARENT (creg = the parent's + ! flux at the footprint faces + freg = this block's face flux, both rk3_w-weighted step integrals captured during + ! the + ! advance). Corrects the parent's cells just OUTSIDE the footprint for the C/F flux mismatch. Subcycle multi-level + ! reflux is future work; dt is the shared lock-step step. + if (amr_block_level(amr_cur) >= 2 .and. .not. amr_subcycle) call s_amr_reflux_to_parent(dt) ! freg slices of rank-boundary block faces move to the outside rank (ALL ranks call; no-op at np=1) if (amr_subcycle) call s_amr_p2p_reflux_faces() if (amr_subcycle) call s_amr_apply_reflux_state(q_cons_ts(1)%vf) From df9991297f4dfc33932d42deaba5697d5801ac23 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 16:51:49 -0400 Subject: [PATCH 11/41] amr: enable viscous/chemistry multi-level - total-flux L2->L1 reflux (np=1) The prior commit gated viscous/chemistry-diffusion multi-level fail-closed because the L2->L1 reflux captured only the advective flux. It turned out the NaN that motivated the gate was NOT the reflux but the viscous CFL: the level-2 cells are ref_ratio^2 finer, so their parabolic (diffusion) stability limit is 16x tighter, and lock-step advances every level at the L0 dt - so the L2 viscous advance was simply unstable. With a dt that respects the finest level's viscous stability, viscous multi-level runs; the efficient fix (only the fine levels take small substeps) is subcycling (still TODO). For conservation, extend the L2 child-creg capture to add the viscous (flux_src on mom..E) and chemistry-diffusion (flux_src on species, plus energy when not viscous) face fluxes, so the L2 reflux matches the TOTAL advective+viscous+diffusive flux exactly as the single-level coarse creg already does. Drop the m_checker gate. VALIDATED CPU np=1: viscous multi-level (scratchpad hyb_dyn_visc, Re=100, dt=5e-6 viscous-stable, reflective bc) conserves mass 0.0 / energy 0.0 (machine zero); at too-large dt it NaNs on the L2 viscous CFL as expected. No regression: inviscid multi-level 1.97e-16, viscous single-level 3.9e-16. GPU validation to follow. --- src/simulation/m_amr_registers.fpp | 79 ++++++++++++++++++++++++++++++ src/simulation/m_checker.fpp | 2 - 2 files changed, 79 insertions(+), 2 deletions(-) diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index 2d8e56c85d..79a9ad92c5 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -399,6 +399,85 @@ contains end do end do $:END_GPU_PARALLEL_LOOP() + ! total-flux matching (child creg): add the viscous momentum/energy face fluxes (flux_src) so the L2 reflux matches + ! the TOTAL advective+viscous flux, exactly as the single-level coarse creg does. Always accumulate onto the + ! advective. + if (viscous) then + $:GPU_PARALLEL_LOOP(collapse=3) + do t2 = 0, t2_hi + do t1 = 0, t1_hi + do eq = eqn_idx%mom%beg, eqn_idx%E + select case (id) + case (1) + creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jlo, & + & o1 + t1, o2 + t2), wp) + creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jhi, & + & o1 + t1, o2 + t2), wp) + case (2) + creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) + creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) + case (3) + creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) + creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) + end select + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + end if + ! total-flux matching (child creg, chemistry species diffusion): species mass fluxes into creg, and the energy flux + ! only when NOT viscous (as on the single-level fine/coarse sides). Always accumulate onto the advective. + if (chemistry .and. chem_params%diffusion) then + $:GPU_PARALLEL_LOOP(collapse=2) + do t2 = 0, t2_hi + do t1 = 0, t1_hi + $:GPU_LOOP(parallelism='[seq]') + do eq = eqn_idx%species%beg, eqn_idx%species%end + select case (id) + case (1) + creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jlo, & + & o1 + t1, o2 + t2), wp) + creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jhi, & + & o1 + t1, o2 + t2), wp) + case (2) + creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) + creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) + case (3) + creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) + creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) + end select + end do + if (.not. viscous) then + select case (id) + case (1) + creg(1)%lo(eqn_idx%E, t1, t2, kc) = creg(1)%lo(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(jlo, o1 + t1, o2 + t2), wp) + creg(1)%hi(eqn_idx%E, t1, t2, kc) = creg(1)%hi(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(jhi, o1 + t1, o2 + t2), wp) + case (2) + creg(2)%lo(eqn_idx%E, t1, t2, kc) = creg(2)%lo(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jlo, o2 + t2), wp) + creg(2)%hi(eqn_idx%E, t1, t2, kc) = creg(2)%hi(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jhi, o2 + t2), wp) + case (3) + creg(3)%lo(eqn_idx%E, t1, t2, kc) = creg(3)%lo(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jlo), wp) + creg(3)%hi(eqn_idx%E, t1, t2, kc) = creg(3)%hi(eqn_idx%E, t1, t2, & + & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jhi), wp) + end select + end if + end do + end do + $:END_GPU_PARALLEL_LOOP() + end if end do else ! coarse branch: a face's capture runs on the rank owning the coarse cells just OUTSIDE it (its diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 51feefd7c0..8636cf2081 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -196,8 +196,6 @@ contains @:PROHIBIT(amr_max_level > 2, "amr_max_level > 2 is not yet supported; see docs/documentation/amr_multilevel.md") @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1, & & "amr_max_level > 1 currently runs a single-rank coupling self-test only (the recursive multi-level advance is under development); use num_procs = 1") - @:PROHIBIT(amr_max_level > 1 .and. (viscous .or. (chemistry .and. chem_params%diffusion)), & - & "multi-level AMR (amr_max_level > 1) currently refluxes the ADVECTIVE flux only; viscous/chemistry-diffusion multi-level is not yet conservative across the level-2 c/f boundary") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if From 4a0c94782bd8745401a5512b419df947fbb7cb58 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 17:17:48 -0400 Subject: [PATCH 12/41] amr: generalize multi-level nesting to >2 levels (np=1) Replace the single level-2 append pass in s_amr_regrid with a hierarchical loop that appends a box at level l nested inside each level-(l-1) box for l = 2..amr_max_level, tracking each box's level in box_level(:) and ordering parents-before-children so the build loop fills a parent before its child's gather-from-parent reads it. The assembly now tags amr_block_level from box_level and sets amr_num_levels = max level present. Drop the amr_max_level > 2 checker gate. Everything downstream was already recursive: the level-aware geometry/gather/prolong/restrict (a level-l block's coarse side is its level-(l-1) parent), the child-creg reflux capture (captured during ANY fine block's advance for its level+1 children), and the reverse-slot-order restrict/reflux (finest first) all key off amr_block_level, so no per-level special-casing was needed. VALIDATED CPU np=1: amr_max_level=3 (scratchpad hyb_l3.py, m=255, reflective bc) nests L1[121:135] > L2[124:132] > L3[127:129] and conserves mass 1.97e-16 / energy 0.0 (machine zero). No regression: amr_max_level=2 still 1.97e-16. Fixed-inset placement shrinks ~2*inset per level, so deep nesting needs a broad feature (sensor-on-fine tagging is a follow-up). GPU validation to follow. --- src/simulation/m_amr.fpp | 60 ++++++++++++++++++++---------------- src/simulation/m_checker.fpp | 1 - 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index f1a057adad..256e17b39c 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3622,7 +3622,7 @@ contains integer :: old_owner(amr_max_blocks), old_level(amr_max_blocks) logical :: old_owns(amr_max_blocks), any_xchg, same, merged integer :: ci, cj, ck, fi, fj, fk, ofi, ofj, ofk, i - integer :: sidx(3), tg_lo(3), tg_hi(3), nboxes, n_level1 + integer :: sidx(3), tg_lo(3), tg_hi(3), nboxes, box_level(amr_max_blocks) real(wp) :: r0, g ! valid coarse CONS ghosts at internal rank boundaries: the tag sweep reads +/-1 across seams and the rebuild @@ -3792,32 +3792,38 @@ contains end if end if - ! 3b) multi-level nesting: append a level-2 box nested inside each level-1 box (parents-first ordering so the build loop - ! below fills a parent before its child's gather-from-parent reads it). A1 uses a FIXED inset (like - ! s_amr_test_multilevel); - ! A2 replaces it with the density-gradient sensor run on each L1 block's fine solution. np=1 + non-IB for now - ! (multi-level - ! distribution / IB nesting are future work); regions stay in L0 cell indices at every level. - n_level1 = nboxes + ! 3b) multi-level nesting: hierarchically append a box at level l nested inside each level-(l-1) box, for l = + ! 2..amr_max_ + ! level. Parents-first ordering (every level-(l-1) box precedes its level-l children) so the build loop fills a parent + ! before its child's gather-from-parent reads it. A FIXED inset for now (a follow-up runs the density-gradient sensor on + ! each parent block's fine solution); np=1 + non-IB (multi-level distribution / IB nesting are future work). Regions + ! stay + ! in L0 cell indices at every level. + box_level(1:nboxes) = 1 if (amr_max_level >= 2 .and. num_procs == 1 .and. .not. ib) then block - integer :: kb, ins(3), l2lo(3), l2hi(3) - do kb = 1, n_level1 - ins = 0 - ins(1) = max((boxes(kb)%hi(1) - boxes(kb)%lo(1) + 1)/4, amr_cpat_mar) - if (n_glb > 0) ins(2) = max((boxes(kb)%hi(2) - boxes(kb)%lo(2) + 1)/4, amr_cpat_mar) - if (p_glb > 0) ins(3) = max((boxes(kb)%hi(3) - boxes(kb)%lo(3) + 1)/4, amr_cpat_mar) - l2lo = boxes(kb)%lo + ins; l2hi = boxes(kb)%hi - ins - if (l2hi(1) < l2lo(1)) cycle ! inset left no interior in x - if (n_glb > 0 .and. l2hi(2) < l2lo(2)) cycle - if (p_glb > 0 .and. l2hi(3) < l2lo(3)) cycle - if (nboxes + 1 > amr_max_blocks) exit ! pool full - stop nesting (warned once below) - nboxes = nboxes + 1 - ! level tagged in the assembly (boxes > n_level1 are level 2) - boxes(nboxes)%lo = l2lo; boxes(nboxes)%hi = l2hi + integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo + plo = 1; phi = nboxes ! [plo:phi] = the boxes at the previous level (lev-1) to nest inside + do lev = 2, amr_max_level + newlo = nboxes + 1 + do kb = plo, phi + ins = 0 + ins(1) = max((boxes(kb)%hi(1) - boxes(kb)%lo(1) + 1)/4, amr_cpat_mar) + if (n_glb > 0) ins(2) = max((boxes(kb)%hi(2) - boxes(kb)%lo(2) + 1)/4, amr_cpat_mar) + if (p_glb > 0) ins(3) = max((boxes(kb)%hi(3) - boxes(kb)%lo(3) + 1)/4, amr_cpat_mar) + clo = boxes(kb)%lo + ins; chi = boxes(kb)%hi - ins + if (chi(1) < clo(1)) cycle ! inset left no interior in x + if (n_glb > 0 .and. chi(2) < clo(2)) cycle + if (p_glb > 0 .and. chi(3) < clo(3)) cycle + if (nboxes + 1 > amr_max_blocks) exit ! pool full - stop nesting + nboxes = nboxes + 1 + boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + end do + plo = newlo; phi = nboxes ! the boxes just appended are the parents for the next level + if (phi < plo) exit ! nothing nested at this level -> no deeper levels possible end do if (nboxes >= amr_max_blocks .and. proc_rank == 0) print '(A)', & - & ' [amr] NOTE: block pool full during level-2 nesting; some level-1 boxes were not refined' + & ' [amr] NOTE: block pool full during multi-level nesting; some boxes were not refined further' end block end if @@ -3872,11 +3878,11 @@ contains amr_num_blocks = nboxes do k = 1, nboxes amr_region_lo_all(:,k) = boxes(k)%lo; amr_region_hi_all(:,k) = boxes(k)%hi - ! boxes 1..n_level1 are the L0->L1 blocks; any appended above (k > n_level1) are the nested level-2 blocks. Setting - ! this every regrid resets a stale level when a slot is reused across levels. - amr_block_level(k) = merge(2, 1, k > n_level1) + ! box_level(k) is the refinement level assigned during the hierarchical nesting above (1 for the L0->L1 boxes, l for + ! a box nested at level l). Setting it every regrid resets a stale level when a slot is reused across levels. + amr_block_level(k) = box_level(k) end do - amr_num_levels = merge(2, 1, nboxes > n_level1) + amr_num_levels = maxval(box_level(1:nboxes)) call s_amr_assign_block_owners() #ifdef MFC_MPI diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 8636cf2081..5acd239344 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,7 +193,6 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - @:PROHIBIT(amr_max_level > 2, "amr_max_level > 2 is not yet supported; see docs/documentation/amr_multilevel.md") @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1, & & "amr_max_level > 1 currently runs a single-rank coupling self-test only (the recursive multi-level advance is under development); use num_procs = 1") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & From f72253a1385998a3adb80630fd80c47554e006f9 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 18:08:27 -0400 Subject: [PATCH 13/41] test(amr): add np=1 amr_max_level=2 multi-level golden (static 2-level block) --- tests/75AD6885/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/75AD6885/golden.txt | 16 +++ toolchain/mfc/test/cases.py | 22 ++++ 3 files changed, 231 insertions(+) create mode 100644 tests/75AD6885/golden-metadata.txt create mode 100644 tests/75AD6885/golden.txt diff --git a/tests/75AD6885/golden-metadata.txt b/tests/75AD6885/golden-metadata.txt new file mode 100644 index 0000000000..89200c948e --- /dev/null +++ b/tests/75AD6885/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-09 18:07:35.597073. + +mfc.sh: + + Invocation: test --generate --only 75AD6885 -j 8 + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: df5bd24745945968aebee1214685c5754598f844 on amr-multilevel (dirty) + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 88% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/75AD6885/golden.txt b/tests/75AD6885/golden.txt new file mode 100644 index 0000000000..5d5f742159 --- /dev/null +++ b/tests/75AD6885/golden.txt @@ -0,0 +1,16 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000188 0.49999999946589 0.49999927564897 0.49997010033663 0.49884344004511 0.46690023550826 0.15684109011019 0.12738536104668 0.12505946967076 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921741e-06 6.175499736e-05 0.00235343211297 0.04637431088153 0.04334870246431 0.00376226359271 9.644425937e-05 1.85291298e-06 2.79646e-08 3.7774e-10 -2.271e-11 1.56e-12 9.6e-13 -8e-14 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 1e-14 -2e-14 -1.91e-12 6.6191e-10 8.5703665e-07 3.538406673e-05 0.00136476467263 0.03577661786462 0.03668359600978 0.00287444793089 6.324352899e-05 1.07366847e-06 1.437255e-08 2.0695e-10 -2.094e-11 2.33e-12 4.2e-13 -5e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.00.000006.dat 2.49999999928568 2.49999994654389 2.4999964735218 2.49981734638575 2.49305675656102 2.37634675700937 1.36967354333457 1.26081856973676 1.25028504291838 1.25000548091579 1.25000008276828 1.25000000099198 1.24999999994637 1.25000000000411 1.25000000000286 1.24999999999976 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999998 1.25000000000006 1.25000000000656 1.2499999981306 1.24999746478626 1.2498953720646 1.24597553194693 1.15270465800327 0.34422216078828 0.25703510066963 0.25016683463211 0.25000284054476 0.25000003812134 0.25000000032996 0.24999999996909 0.25000000000553 0.25000000000115 0.24999999999987 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000027337241 1.00000000000564 0.99999999999835 1.00000000000128 1.00000000000002 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000188 0.49999999946589 0.49999927564897 0.49997010033663 0.49884344004511 0.46690023550826 0.15684109011019 0.12738536104668 0.12505946967076 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921753e-06 6.175822088e-05 0.00235813344129 0.04824925512011 0.08060785310619 0.0074788947115 0.00019285712307 3.70581434e-06 5.592919e-08 7.5549e-10 -4.541e-11 3.12e-12 1.91e-12 -1.6e-13 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 1e-14 -4e-14 -3.83e-12 1.32381e-09 1.71407579e-06 7.07723656e-05 0.00273585771221 0.07662582955367 0.23389021323433 0.02256497848161 0.00050570763779 8.58927808e-06 1.1498037e-07 1.65559e-09 -1.6754e-10 1.86e-11 3.32e-12 -3.8e-13 1e-14 1e-14 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.00.000006.dat 0.99999999971427 0.99999997861756 0.99999858940844 0.99992693779153 0.99722159268301 0.9500911976124 0.54717056816571 0.50432180038005 0.50011401344736 0.50000219236494 0.50000003310731 0.50000000039679 0.49999999997855 0.50000000000165 0.50000000000114 0.4999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000263 0.49999999925224 0.49999898591421 0.49995801165027 0.49838946601557 0.46053358059757 0.13597287749655 0.10280106789671 0.1000667274563 0.10000113621606 0.10000001524854 0.10000000013198 0.09999999998764 0.10000000000221 0.10000000000046 0.09999999999995 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000027337241 1.00000000000564 0.99999999999835 1.00000000000128 1.00000000000002 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 5c4aab7e07..0e4b76f9e4 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3861,6 +3861,28 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (h) multi-level (amr_max_level=2): the ONLY golden exercising a SECOND refinement level. + # Same 1D Sod as (a) but amr_max_level=2, so the initial block build nests a level-2 child + # (geometric inset) inside the level-1 block. Every coarse step the lock-step driver fills + # the L2 from its parent (top-down), advances all levels at the coarse dt, then restricts and + # total-flux refluxes bottom-up (L2->L1->L0) - the Berger-Colella C/F coupling that keeps mass + # and energy conserved to machine zero. np=1 only (the L2<->L1 coupling is local; cross-rank + # P2P is not yet implemented, and the checker prohibits amr_max_level>1 with num_procs>1). + # Kept STATIC (amr_regrid_int=0) on purpose: a rebuilding L2 has integer box boundaries that + # can flip a cell under a compiler's FP reordering -> a shifted golden; the static block fixes + # the hierarchy so this protects the multi-level advance/restrict/reflux path deterministically. + stack.push( + "AMR -> 1D -> multi-level static block", + { + **amr_1d_base, + "amr_regrid_int": 0, + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {})) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From cf8255dece4a03d3182ae71105055dffa1db3844 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 19:34:40 -0400 Subject: [PATCH 14/41] amr: sensor-on-fine child tagging for multi-level regrid (np=1) --- src/simulation/m_amr.fpp | 166 +++++++++++++++++++++++++++++++++++---- 1 file changed, 151 insertions(+), 15 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 256e17b39c..e6da821e4a 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3795,33 +3795,115 @@ contains ! 3b) multi-level nesting: hierarchically append a box at level l nested inside each level-(l-1) box, for l = ! 2..amr_max_ ! level. Parents-first ordering (every level-(l-1) box precedes its level-l children) so the build loop fills a parent - ! before its child's gather-from-parent reads it. A FIXED inset for now (a follow-up runs the density-gradient sensor on - ! each parent block's fine solution); np=1 + non-IB (multi-level distribution / IB nesting are future work). Regions - ! stay - ! in L0 cell indices at every level. + ! before its child's gather-from-parent reads it. SENSOR-ON-FINE: each child's extent is the density-gradient sensor run + ! on the parent-level FINE solution (the still-live OLD level-(l-1) blocks, read here BEFORE the step-5 stash), + ! coarsened + ! to L0-cell granularity and clustered - so children track features inside the parent instead of a fixed centre. A + ! brand-new region with no old fine data falls back to a centred inset (the sensor takes over next regrid); a parent + ! whose + ! fine solution is smooth gets no child. Tagging only places boxes - conservation (restrict/reflux) is independent of + ! where they sit. np=1 + non-IB (multi-level distribution / IB nesting are future work). Regions stay in L0 cell + ! indices. box_level(1:nboxes) = 1 if (amr_max_level >= 2 .and. num_procs == 1 .and. .not. ib) then block - integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo + integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo, ob, obi, ncb, kc, mlo(3), mhi(3) + logical, allocatable :: ctag(:,:,:) + logical :: covered, any_tag + type(t_box), allocatable :: cboxes(:) + + ! host-refresh the live (old) blocks' continuity fields: the fine sensor below reads amr_slots(ob)%q_cons on the + ! host, but the GPU_UPDATE host that the step-5 stash does runs AFTER this nesting - so the host copy is stale + ! here + do ob = 1, amr_num_blocks + do obi = eqn_idx%cont%beg, eqn_idx%cont%end + $:GPU_UPDATE(host='[amr_slots(ob)%q_cons(obi)%sf]') + end do + end do + allocate (ctag(0:m,0:n,0:p)) + plo = 1; phi = nboxes ! [plo:phi] = the boxes at the previous level (lev-1) to nest inside do lev = 2, amr_max_level newlo = nboxes + 1 do kb = plo, phi - ins = 0 - ins(1) = max((boxes(kb)%hi(1) - boxes(kb)%lo(1) + 1)/4, amr_cpat_mar) - if (n_glb > 0) ins(2) = max((boxes(kb)%hi(2) - boxes(kb)%lo(2) + 1)/4, amr_cpat_mar) - if (p_glb > 0) ins(3) = max((boxes(kb)%hi(3) - boxes(kb)%lo(3) + 1)/4, amr_cpat_mar) - clo = boxes(kb)%lo + ins; chi = boxes(kb)%hi - ins - if (chi(1) < clo(1)) cycle ! inset left no interior in x - if (n_glb > 0 .and. chi(2) < clo(2)) cycle - if (p_glb > 0 .and. chi(3) < clo(3)) cycle if (nboxes + 1 > amr_max_blocks) exit ! pool full - stop nesting - nboxes = nboxes + 1 - boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + ! nesting window: children keep an amr_cpat_mar margin from the parent boundary so their ghost + ! prolongation reads valid parent interior cells + mlo = boxes(kb)%lo; mhi = boxes(kb)%hi + mlo(1) = mlo(1) + amr_cpat_mar; mhi(1) = mhi(1) - amr_cpat_mar + if (n_glb > 0) then; mlo(2) = mlo(2) + amr_cpat_mar; mhi(2) = mhi(2) - amr_cpat_mar; end if + if (p_glb > 0) then; mlo(3) = mlo(3) + amr_cpat_mar; mhi(3) = mhi(3) - amr_cpat_mar; end if + if (mhi(1) < mlo(1)) cycle ! too small to nest a child in x + if (n_glb > 0 .and. mhi(2) < mlo(2)) cycle + if (p_glb > 0 .and. mhi(3) < mlo(3)) cycle + + ! sensor-on-fine: tag from every OLD level-(lev-1) block overlapping this parent window (amr_block_level + ! still holds the old levels here - it is reset to box_level at step 5b, below) + ctag = .false.; covered = .false.; any_tag = .false. + do ob = 1, amr_num_blocks + if (amr_block_level(ob) /= lev - 1) cycle + if (boxes(kb)%lo(1) > amr_region_hi_all(1, ob) .or. boxes(kb)%hi(1) < amr_region_lo_all(1, & + & ob)) cycle + if (n_glb > 0) then + if (boxes(kb)%lo(2) > amr_region_hi_all(2, ob) .or. boxes(kb)%hi(2) < amr_region_lo_all(2, & + & ob)) cycle + end if + if (p_glb > 0) then + if (boxes(kb)%lo(3) > amr_region_hi_all(3, ob) .or. boxes(kb)%hi(3) < amr_region_lo_all(3, & + & ob)) cycle + end if + covered = .true. + call s_amr_tag_child_from_fine(ob, mlo, mhi, ctag, any_tag) + end do + + if (covered .and. .not. any_tag) cycle ! parent's fine solution is smooth here - no child + + if (covered) then + ! cluster the fine-tagged L0 cells into child boxes, pad by amr_buf, clamp into the nesting window + call s_amr_cluster(ctag, cboxes, ncb) + do kc = 1, ncb + if (nboxes + 1 > amr_max_blocks) exit + clo = cboxes(kc)%lo; chi = cboxes(kc)%hi + clo(1) = max(clo(1) - amr_buf, mlo(1)); chi(1) = min(chi(1) + amr_buf, mhi(1)) + if (n_glb > 0) then + clo(2) = max(clo(2) - amr_buf, mlo(2)); chi(2) = min(chi(2) + amr_buf, mhi(2)) + else + clo(2) = 0; chi(2) = 0 + end if + if (p_glb > 0) then + clo(3) = max(clo(3) - amr_buf, mlo(3)); chi(3) = min(chi(3) + amr_buf, mhi(3)) + else + clo(3) = 0; chi(3) = 0 + end if + ! slot cap: a level->=2 block's fine grid spans 4*(its L0 extent) cells while the slot holds + ! 2*amr_maxc_fit fine cells, so cap the child's L0 extent to amr_maxc_fit/2 - exactly the bound + ! the fixed inset (ins >= width/4) implicitly respected. A feature wider than that gets one + ! capped child rather than tiles (multi-level fine-fine tiling is future work). + chi(1) = min(chi(1), clo(1) + amr_maxc_fit(1)/2 - 1) + if (n_glb > 0) chi(2) = min(chi(2), clo(2) + amr_maxc_fit(2)/2 - 1) + if (p_glb > 0) chi(3) = min(chi(3), clo(3) + amr_maxc_fit(3)/2 - 1) + nboxes = nboxes + 1 + boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + end do + if (allocated(cboxes)) deallocate (cboxes) + else + ! brand-new region (no old fine data yet): centred inset so the child still appears this regrid + ins = 0 + ins(1) = max((boxes(kb)%hi(1) - boxes(kb)%lo(1) + 1)/4, amr_cpat_mar) + if (n_glb > 0) ins(2) = max((boxes(kb)%hi(2) - boxes(kb)%lo(2) + 1)/4, amr_cpat_mar) + if (p_glb > 0) ins(3) = max((boxes(kb)%hi(3) - boxes(kb)%lo(3) + 1)/4, amr_cpat_mar) + clo = boxes(kb)%lo + ins; chi = boxes(kb)%hi - ins + if (chi(1) < clo(1)) cycle ! inset left no interior in x + if (n_glb > 0 .and. chi(2) < clo(2)) cycle + if (p_glb > 0 .and. chi(3) < clo(3)) cycle + nboxes = nboxes + 1 + boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + end if end do plo = newlo; phi = nboxes ! the boxes just appended are the parents for the next level if (phi < plo) exit ! nothing nested at this level -> no deeper levels possible end do + deallocate (ctag) if (nboxes >= amr_max_blocks .and. proc_rank == 0) print '(A)', & & ' [amr] NOTE: block pool full during multi-level nesting; some boxes were not refined further' end block @@ -4059,6 +4141,60 @@ contains end subroutine s_amr_regrid + !> Sensor-on-fine child tagging: OR-accumulate density-gradient tags from an OLD fine block's solution into an L0-cell tag + !! grid, restricted to a parent nesting window. Reads amr_slots(ob)%q_cons on the HOST (the caller host-refreshes the cont + !! range first; the step-5 stash's GPU_UPDATE runs later). Fine cell (fi,fj,fk) covers L0 cell (ci,cj,ck) with fi = + !! rr*(ci-olo(1))+d etc.; the gradient uses one-sided differences at the fine-interior edges so no stale fine ghost is read. + !! Only decides placement - conservation is enforced downstream by restrict/reflux regardless of the box extent. + impure subroutine s_amr_tag_child_from_fine(ob, win_lo, win_hi, ctag, any_tag) + + integer, intent(in) :: ob, win_lo(3), win_hi(3) + logical, intent(inout) :: ctag(0:,0:,0:) + logical, intent(inout) :: any_tag + integer :: rr, ci, cj, ck, fi, fj, fk, d1, d2, d3, fm1, fm2, fm3, olo(3), lo(3), hi(3) + real(wp) :: r0, g + logical :: tagged + + rr = amr_slots(ob)%ref_ratio + olo = amr_region_lo_all(:,ob) + fm1 = amr_slots(ob)%m; fm2 = amr_slots(ob)%n; fm3 = amr_slots(ob)%p + ! overlap of this old block with the parent window, in L0 cells + lo(1) = max(win_lo(1), amr_region_lo_all(1, ob)); hi(1) = min(win_hi(1), amr_region_hi_all(1, ob)) + lo(2) = merge(max(win_lo(2), amr_region_lo_all(2, ob)), 0, n_glb > 0) + hi(2) = merge(min(win_hi(2), amr_region_hi_all(2, ob)), 0, n_glb > 0) + lo(3) = merge(max(win_lo(3), amr_region_lo_all(3, ob)), 0, p_glb > 0) + hi(3) = merge(min(win_hi(3), amr_region_hi_all(3, ob)), 0, p_glb > 0) + do ck = lo(3), hi(3) + do cj = lo(2), hi(2) + do ci = lo(1), hi(1) + tagged = .false. + do d3 = 0, merge(rr - 1, 0, p_glb > 0) + fk = (ck - olo(3))*rr + d3 + do d2 = 0, merge(rr - 1, 0, n_glb > 0) + fj = (cj - olo(2))*rr + d2 + do d1 = 0, rr - 1 + fi = (ci - olo(1))*rr + d1 + r0 = max(abs(f_amr_rho_tot(amr_slots(ob)%q_cons, fi, fj, fk)), 1.e-30_wp) + g = abs(f_amr_rho_tot(amr_slots(ob)%q_cons, min(fi + 1, fm1), fj, & + & fk) - f_amr_rho_tot(amr_slots(ob)%q_cons, max(fi - 1, 0), fj, fk)) + if (n_glb > 0) g = max(g, abs(f_amr_rho_tot(amr_slots(ob)%q_cons, fi, min(fj + 1, fm2), & + & fk) - f_amr_rho_tot(amr_slots(ob)%q_cons, fi, max(fj - 1, 0), fk))) + if (p_glb > 0) g = max(g, abs(f_amr_rho_tot(amr_slots(ob)%q_cons, fi, fj, min(fk + 1, & + & fm3)) - f_amr_rho_tot(amr_slots(ob)%q_cons, fi, fj, max(fk - 1, 0)))) + if (g/(2._wp*r0) > amr_tag_eps) tagged = .true. + end do + end do + end do + if (tagged) then + ctag(ci, cj, ck) = .true. + any_tag = .true. + end if + end do + end do + end do + + end subroutine s_amr_tag_child_from_fine + !> Write the fine-level restart file for save step t_step alongside the level-0 restart (whose format stays untouched): the !! writing rank count, the active-block count, and for EACH block its box + each rank's intersection-local fine conservative !! state. Serial mode: one unformatted file per rank inside its level-0 step directory. Parallel mode: one shared MPI-IO From 7c3f930ea4da8854c0a0b1252506bfda37522a1a Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 20:17:37 -0400 Subject: [PATCH 15/41] test(amr): add np=1 dynamic multi-level golden (sensor-on-fine child tagging) --- tests/1DBD439A/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/1DBD439A/golden.txt | 16 +++ toolchain/mfc/test/cases.py | 24 ++++ 3 files changed, 233 insertions(+) create mode 100644 tests/1DBD439A/golden-metadata.txt create mode 100644 tests/1DBD439A/golden.txt diff --git a/tests/1DBD439A/golden-metadata.txt b/tests/1DBD439A/golden-metadata.txt new file mode 100644 index 0000000000..410ffe311e --- /dev/null +++ b/tests/1DBD439A/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-09 20:17:07.298155. + +mfc.sh: + + Invocation: test --generate --only 1DBD439A -j 8 + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 74bede137d0392a2f91e88a08bea74097bfc81e0 on amr-multilevel (dirty) + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 81% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/1DBD439A/golden.txt b/tests/1DBD439A/golden.txt new file mode 100644 index 0000000000..29f94d5c85 --- /dev/null +++ b/tests/1DBD439A/golden.txt @@ -0,0 +1,16 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.00.000006.dat 0.99999999984041 0.99999998962947 0.99999941556158 0.99998609203598 0.99883766904725 0.96030747406811 0.53952839010409 0.50131248115565 0.50002824523662 0.50000024199719 0.50000000131594 0.49999999998333 0.50000000000079 0.50000000000007 0.50000000000009 0.49999999999998 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999997 0.50000000000002 0.50000000000011 0.49999999999743 0.4999999999225 0.49999992342279 0.49999091956408 0.4990722455518 0.46700349662001 0.15786500049639 0.12605137625602 0.12501691438251 0.12500012330053 0.12500000049062 0.12499999999449 0.1250000000006 0.12500000000013 0.125 0.12499999999999 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 1.7799e-10 1.227446e-08 6.9150662e-07 1.72642076e-05 0.0013727280579 0.04676885459948 0.0462350741987 0.00157165563296 3.343148774e-05 2.8629158e-07 1.61082e-09 -2.122e-11 9.4e-13 1.2e-13 2.1e-13 -4e-14 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -1e-14 6e-14 -2e-14 -1.5e-13 3.12e-12 8.929e-11 9.062181e-08 1.074397596e-05 0.00109509975732 0.03685048993538 0.03766609415853 0.0011594362091 1.791423364e-05 1.3025524e-07 7.7003e-10 -1.023e-11 7.7e-13 1.4e-13 4e-14 -1e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.00.000006.dat 2.49999999944144 2.49999996370315 2.49999795446976 2.4999513238605 2.49594164257797 2.3732282942502 1.37616660670775 1.25461449203755 1.25009887132775 1.25000084699114 1.25000000460578 1.24999999994164 1.25000000000277 1.25000000000025 1.25000000000031 1.24999999999991 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000002 1.2499999999999 1.25000000000009 1.25000000000037 1.24999999999102 1.24999999972875 1.24999973197987 1.24996821982997 1.24676601518251 1.1529733257985 0.34724427787507 0.25300070582564 0.25004737718555 0.25000034524242 0.25000000137373 0.24999999998458 0.25000000000168 0.25000000000035 0.25000000000001 0.24999999999997 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.00002874534111 1.00000000009419 1.0 0.99985379083595 0.99999973458187 1.0 1.0 1.00000000034729 1.0 1.0 0.99999999999029 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000269 1.0 1.0 1.00000000010215 1.0 1.00000000291779 1.00000000000001 0.99999999999968 1.00000000000031 1.0 1.0 1.0 0.99999999955925 1.0 1.0 0.99999999998535 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.00.000006.dat 0.99999999984041 0.99999998962947 0.99999941556158 0.99998609203598 0.99883766904725 0.96030747406811 0.53952839010409 0.50131248115565 0.50002824523662 0.50000024199719 0.50000000131594 0.49999999998333 0.50000000000079 0.50000000000007 0.50000000000009 0.49999999999998 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999997 0.50000000000002 0.50000000000011 0.49999999999743 0.4999999999225 0.49999992342279 0.49999091956408 0.4990722455518 0.46700349662001 0.15786500049639 0.12605137625602 0.12501691438251 0.12500012330053 0.12500000049062 0.12499999999449 0.1250000000006 0.12500000000013 0.125 0.12499999999999 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 1.7799e-10 1.227446e-08 6.9150703e-07 1.726444771e-05 0.00137432547894 0.04870195834399 0.08569534995143 0.00313508179436 6.685919857e-05 5.7258289e-07 3.22165e-09 -4.244e-11 1.89e-12 2.4e-13 4.2e-13 -8e-14 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -2e-14 1.2e-13 -4e-14 -3e-13 6.24e-12 1.7858e-10 1.8124364e-07 2.148834217e-05 0.002194271004 0.07890838120504 0.23859686466342 0.00919812415809 0.00014329447922 1.04204092e-06 6.16021e-09 -8.186e-11 6.16e-12 1.15e-12 3e-13 -1.1e-13 1e-14 0.0 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.00.000006.dat 0.99999999977658 0.99999998548126 0.99999918178781 0.99995178552942 0.99837627962213 0.94883577073838 0.54975459567027 0.50184494455997 0.50003954808406 0.50000033879642 0.50000000166867 0.49999999997666 0.50000000000111 0.50000000000496 0.50000000000012 0.49999999999997 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000001 0.49999999999996 0.49999999999869 0.50000000000015 0.49999999999641 0.49999999984043 0.49999989279195 0.49998728642695 0.49870592548387 0.46060776781806 0.13710030875592 0.10119814940262 0.10001895036082 0.10000013809694 0.10000000059357 0.09999999999383 0.10000000000067 0.1000000000016 0.1 0.09999999999999 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.00002874534111 1.00000000009419 1.0 0.99985379083595 0.99999973458187 1.0 1.0 1.00000000034729 1.0 1.0 0.99999999999029 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000269 1.0 1.0 1.00000000010215 1.0 1.00000000291779 1.00000000000001 0.99999999999968 1.00000000000031 1.0 1.0 1.0 0.99999999955925 1.0 1.0 0.99999999998535 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 0e4b76f9e4..eb3d58abf0 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3883,6 +3883,30 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (i) multi-level + dynamic regrid: (h) is a static hierarchy; this arms amr_regrid_int so the + # level-2 child is placed by SENSOR-ON-FINE (the density-gradient sensor run on the level-1 fine + # solution, coarsened + clustered into a nested child box), not a fixed inset. This is the ONLY + # golden protecting the sensor-on-fine child-tagging path (s_amr_tag_child_from_fine + the 3b + # nesting loop) and its slot-size cap. Same eps=0.1 on the same sharp Sod as the (b) single-level + # dynamic golden - the shock cells sit far from the threshold, so the fine tag set (and the L0- + # coarsened, integer-padded, window-clamped L2 box built from it) is cross-compiler stable. amr_buf + # is 6 (not 2): the L1 block must be wider than the amr_cpat_mar nesting margin for the L2 to be a + # stable MULTI-cell box - buf=2 pins it to a single cell that a one-cell tag flip would move. + # np=1 only (multi-level coupling is local). + stack.push( + "AMR -> 1D -> multi-level dynamic regrid", + { + **amr_1d_base, + "amr_regrid_int": 2, + "amr_tag_eps": 0.1, + "amr_buf": 6, + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {})) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From d6ccc939f3e05c74cd2e465e1e5fcc9906377a8b Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 22:06:22 -0400 Subject: [PATCH 16/41] amr(#26 inc.1): extract recursive s_amr_advance_subtree - behavior-preserving refactor Split s_advance_amr_fine_substeps into (a) L0-sourced ghost setup and (b) a new recursive subroutine s_amr_advance_subtree that subcycles the currently-selected block (amr_cur) over its two SSP-RK3 substeps and zeroes/accumulates its flux registers. Pure code motion: the substep loop body is byte-identical, so depth-1 (single-level L0<->L1) behavior is unchanged. The recursive keyword + a future child clause are the seam for multi-level subcycling (inc.2). VALIDATED CPU: 10/10 AMR subcycle/two-fluid/viscous/QBMM/multi-level goldens byte- identical. VALIDATED GPU (V100, OpenACC): --gpu acc build clean; subcycle (852CCB81) + multi-level (75AD6885) golden-match; self-tests exact, mass/energy drift ~1e-13. --- src/simulation/m_amr.fpp | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index e6da821e4a..09f6faba46 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -2998,9 +2998,6 @@ contains real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv integer, intent(in) :: t_step real(wp), intent(inout) :: time_avg - real(wp), parameter :: c_abs(3) = [0._wp, 1._wp, 0.5_wp] - integer :: sub, s - real(wp) :: th if (.not. amr) return ! valid coarse CONS ghosts on both lerp sources (ALL ranks call: pairwise halo); the exchanged t^n / @@ -3019,14 +3016,39 @@ contains if (amr_rank_owns_block) call s_amr_fill_fine_ghosts(amr_cg, amr_slots(amr_cur)%q_ghost_b) if (.not. amr_rank_owns_block) return - ! rank_time brackets cover the fine-advance compute segments and pause across the MPI exchanges (the inner s_compute_rhs - ! pair nests to a no-op) - if (rank_time_wrt) call s_rank_time_tic() ! non-polytropic QBMM: the pb/mv ghost shell gets the same two-source time-lerp treatment if (qbmm .and. .not. polytropic) then call s_amr_fill_fine_ghosts_pbmv(pb_old, mv_old, amr_slots(amr_cur)%pb_ghost_a%sf, amr_slots(amr_cur)%mv_ghost_a%sf) call s_amr_fill_fine_ghosts_pbmv(pb_in, mv_in, amr_slots(amr_cur)%pb_ghost_b%sf, amr_slots(amr_cur)%mv_ghost_b%sf) end if + + ! recurse into this block's subtree: subcycle its substeps (children advance within each substep - future increment) + call s_amr_advance_subtree(coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + + end subroutine s_advance_amr_fine_substeps + + !> Advance the currently-selected fine block (amr_cur) through its subcycle: two amr_dt_fine SSP-RK3 substeps whose ghost shell + !! is the two-source time-lerp of the block's q_ghost_a (parent t^n) / q_ghost_b (parent t^{n+1}) sources, filled by the caller + !! before this call. Fine flux registers are zeroed here and accumulate over all six stages so the end-of-step reflux sees the + !! time-averaged effective fine flux. RECURSIVE: children of this block subcycle within each of its substeps; the child clause + !! is added in a later increment, so today this reduces exactly to the single-level L0<->L1 advance. + recursive subroutine s_amr_advance_subtree(coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + + real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) + type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type + type(scalar_field), intent(inout) :: q_T_sf + real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in + real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv + integer, intent(in) :: t_step + real(wp), intent(inout) :: time_avg + real(wp), parameter :: c_abs(3) = [0._wp, 1._wp, 0.5_wp] + integer :: sub, s + real(wp) :: th + + ! rank_time brackets cover the fine-advance compute segments and pause across the MPI exchanges (the inner s_compute_rhs + ! pair nests to a no-op) + + if (rank_time_wrt) call s_rank_time_tic() call s_amr_zero_fine_registers() do sub = 1, 2 @@ -3089,7 +3111,7 @@ contains end do if (rank_time_wrt) call s_rank_time_toc() - end subroutine s_advance_amr_fine_substeps + end subroutine s_amr_advance_subtree !> Shrink box [blo:bhi] to the tight bounding box of the tagged (gtag==1) cells inside it. ok=.false. if no tagged cell. !! Collapsed dims (lo=hi=0) survive unchanged. Deterministic (integer scan of the identical global tag field). From 12c61be2d3e866f2cde50778169fd150bf88db18 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Thu, 9 Jul 2026 22:46:33 -0400 Subject: [PATCH 17/41] amr(#26 inc.2): recursive multi-level subcycling - each level at its own dt Build the coupling into a recursion out of inc.1's s_amr_advance_subtree: - s_amr_advance_subtree gains a dt_sub arg (top call passes amr_dt_fine=dt/2; the recursion halves), so per-level dt (L1 dt/2, L2 dt/4, ...) falls out of the recursion. - s_amr_gather_from_parent_field(pblk, qp): gather a level>=2 block's coarse patch from a SPECIFIC parent snapshot field (reuses the existing s_amr_copy_parent_patch GPU kernel); the lock-step s_amr_gather_from_parent now delegates to it. - s_amr_advance_children: after each parent substep (parent @ t_b in q_cons, t_a in q_cons_stor - both live for free, no new storage), for each level+1 child gather its two ghost-lerp sources from those snapshots, recurse at dt_sub/2, then fold back with s_amr_restrict_to_parent + per-substep Berger-Colella s_amr_reflux_to_parent(dt_sub). - Driver (m_time_steppers) skips level>=2 blocks in the top-level subcycle loop; they are advanced/restricted/refluxed inside the parent's recursion. m_amr_registers needs ZERO changes: the per-substep weights (freg 1/r*rk3_w, creg rk3_w from the #31 lock-step child-capture) already close conservation, and the capture/consume timing is self-consistent across the recursion. inc.2 adds NO new GPU device kernels. VALIDATED np=1: static 2-level + amr_subcycle=T (case D95E1B08). L2 genuinely active (2-level vs 1-level solution differs 1.66e-2 where the wave crosses the block); global drift 9.7345E-10 mass / 1.3777E-09 energy = IDENTICAL to the single-level subcycle baseline (L2<->L1 reflux is internal, adds zero global leak). Self-test exact (reflux 3.55e-15). All 10 existing AMR goldens byte-identical. CPU and GPU(V100/OpenACC) results byte-for-byte identical - no present-table/sync divergence. New golden D95E1B08 protects the recursion. --- src/simulation/m_amr.fpp | 95 +++++++++++--- src/simulation/m_time_steppers.fpp | 6 + tests/D95E1B08/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/D95E1B08/golden.txt | 16 +++ toolchain/mfc/test/cases.py | 20 +++ 5 files changed, 316 insertions(+), 14 deletions(-) create mode 100644 tests/D95E1B08/golden-metadata.txt create mode 100644 tests/D95E1B08/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 09f6faba46..267a918ec3 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -629,9 +629,25 @@ contains impure subroutine s_amr_gather_from_parent(pull_host) logical, intent(in) :: pull_host - integer :: pblk, w1, w2, w3 + integer :: pblk pblk = f_amr_parent_block(amr_cur) + ! lock-step fill: gather from the parent's CURRENT fine state. pull_host stays in the signature for the level-1 path. + call s_amr_gather_from_parent_field(pblk, amr_slots(pblk)%q_cons) + + end subroutine s_amr_gather_from_parent + + !> Gather amr_cg (the current level>=2 block's coarse patch) from a SPECIFIC parent snapshot field qp, in the parent-fine cell + !! frame (amr_isect_lo/hi already parent-fine from s_set_amr_fine_geometry). The subcycle recursion calls this twice per parent + !! substep - qp = the parent slot's q_cons_stor (t^n bracket) then q_cons (t^{n+1} bracket) - to build the child's two + !! ghost-lerp sources. np=1 = a local copy on the owner (which also owns the parent); the np>=2 P2P version (parent owner -> + !! block owner) is future work. + impure subroutine s_amr_gather_from_parent_field(pblk, qp) + + integer, intent(in) :: pblk + type(scalar_field), dimension(sys_size), intent(in) :: qp + integer :: w1, w2, w3 + amr_cpat_off = 0 amr_cpat_off(1) = amr_isect_lo(1) - amr_cpat_mar if (n_glb > 0) amr_cpat_off(2) = amr_isect_lo(2) - amr_cpat_mar @@ -641,12 +657,11 @@ contains if (n_glb > 0) w2 = (amr_isect_hi(2) - amr_isect_lo(2)) + 2*amr_cpat_mar if (p_glb > 0) w3 = (amr_isect_hi(3) - amr_isect_lo(3)) + 2*amr_cpat_mar if (.not. amr_rank_owns_block) return ! np=1: the owner holds both this block and its parent - ! copy the parent's fine patch into amr_cg with a DEVICE kernel (the parent q_cons is passed as an argument, present-table - ! safe like s_amr_restrict_overwrite_device). np>=2 P2P (parent owner -> block owner) is future work; pull_host stays in the - ! signature for the level-1 path. - call s_amr_copy_parent_patch(amr_slots(pblk)%q_cons, w1, w2, w3) + ! copy the parent's fine patch into amr_cg with a DEVICE kernel (qp passed as an argument, present-table safe like + ! s_amr_restrict_overwrite_device). np>=2 P2P (parent owner -> block owner) is future work. + call s_amr_copy_parent_patch(qp, w1, w2, w3) - end subroutine s_amr_gather_from_parent + end subroutine s_amr_gather_from_parent_field !> Device kernel for s_amr_gather_from_parent: copy the parent block's fine patch into amr_cg over [amr_cpat_off : + w]. The !! parent q_cons is passed as the qp ARGUMENT (not indexed as amr_slots(pblk) inside the kernel) so its deep %sf attach resolves @@ -3022,19 +3037,21 @@ contains call s_amr_fill_fine_ghosts_pbmv(pb_in, mv_in, amr_slots(amr_cur)%pb_ghost_b%sf, amr_slots(amr_cur)%mv_ghost_b%sf) end if - ! recurse into this block's subtree: subcycle its substeps (children advance within each substep - future increment) - call s_amr_advance_subtree(coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + ! recurse into this block's subtree: subcycle its substeps at amr_dt_fine; children (if any) subcycle within each substep + call s_amr_advance_subtree(amr_dt_fine, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) end subroutine s_advance_amr_fine_substeps !> Advance the currently-selected fine block (amr_cur) through its subcycle: two amr_dt_fine SSP-RK3 substeps whose ghost shell !! is the two-source time-lerp of the block's q_ghost_a (parent t^n) / q_ghost_b (parent t^{n+1}) sources, filled by the caller !! before this call. Fine flux registers are zeroed here and accumulate over all six stages so the end-of-step reflux sees the - !! time-averaged effective fine flux. RECURSIVE: children of this block subcycle within each of its substeps; the child clause - !! is added in a later increment, so today this reduces exactly to the single-level L0<->L1 advance. - recursive subroutine s_amr_advance_subtree(coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + !! time-averaged effective fine flux. RECURSIVE: after each of this block's substeps, its level+1 children subcycle within that + !! substep (s_amr_advance_children) at dt_sub/ref_ratio, so per-level dt falls out of the recursion. With no children this is + !! exactly the single-level L0<->L1 advance. + recursive subroutine s_amr_advance_subtree(dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) - real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) + real(wp), intent(in) :: dt_sub !< this block's substep dt (parent step / ref_ratio) + real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type type(scalar_field), intent(inout) :: q_T_sf real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in @@ -3093,11 +3110,11 @@ contains ! RK stage update at the FINE time step (device kernel) call s_amr_fine_rk_update(amr_slots(amr_cur)%q_cons, amr_slots(amr_cur)%q_cons_stor, amr_slots(amr_cur)%rhs, & - & coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), amr_dt_fine) + & coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), dt_sub) if (qbmm .and. .not. polytropic) then call s_amr_fine_rk_update_pbmv(amr_slots(amr_cur)%pb_f%sf, amr_slots(amr_cur)%mv_f%sf, & & amr_slots(amr_cur)%pb_stor%sf, amr_slots(amr_cur)%mv_stor%sf, amr_rhs_pb_f, & - & amr_rhs_mv_f, coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), amr_dt_fine) + & amr_rhs_mv_f, coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), dt_sub) end if ! 6-equation model: per-substage pressure relaxation (instantaneous equilibration - ! per stage at fine dt is the same infinite-rate limit the coarse applies per stage) @@ -3108,11 +3125,61 @@ contains ! IB state correction on the fine block after each substep RK update (no-op unless ib) call s_amr_ib_correct_fine() end do + + ! multi-level: this block is now at t_b (q_cons) with t_a preserved in q_cons_stor. Each level+1 child subcycles WITHIN + ! this substep - gathering its two ghost-lerp sources from those two snapshots - then folds back (restrict + + ! Berger-Colella + ! reflux) into this block over dt_sub. No-op when this block has no children (single-level, or the finest level). + if (amr_max_level >= 2) call s_amr_advance_children(amr_cur, dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, & + & rhs_mv, t_step, time_avg) end do if (rank_time_wrt) call s_rank_time_toc() end subroutine s_amr_advance_subtree + !> Recursively subcycle every level+1 child of parent slot pslot within ONE of the parent's substeps [t_a, t_b] (duration + !! dt_sub). The parent has just finished that substep: q_cons = parent @ t_b, q_cons_stor = parent @ t_a. For each child: gather + !! its two ghost-lerp sources from those two parent snapshots (parent-fine frame), recurse s_amr_advance_subtree at dt_sub/2 + !! (the child takes ref_ratio substeps covering [t_a, t_b]), then fold the child back into the parent - restrict the covered + !! cells and apply the Berger-Colella C/F flux correction (s_amr_reflux_to_parent over dt_sub, consuming the child's freg + the + !! parent-side creg captured during THIS substep). The registers already carry the matching per-substep time weights (freg + !! 1/r*rk3_w, creg rk3_w), so conservation closes with no register changes. np=1 (child co-owned with parent); np>=2 P2P is + !! future work (#27). + recursive subroutine s_amr_advance_children(pslot, dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, & + & time_avg) + + integer, intent(in) :: pslot + real(wp), intent(in) :: dt_sub + real(wp), dimension(:,:), intent(in) :: coefs + type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type + type(scalar_field), intent(inout) :: q_T_sf + real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in + real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv + integer, intent(in) :: t_step + real(wp), intent(inout) :: time_avg + integer :: kc + + do kc = 1, amr_num_blocks + if (amr_block_level(kc) /= amr_block_level(pslot) + 1) cycle + if (f_amr_parent_block(kc) /= pslot) cycle + call s_amr_select_slot(kc) ! amr_cur = kc; mirrors (isect already parent-fine) + if (.not. amr_rank_owns_block) cycle ! np>=2: child on another rank - future work (#27) + ! two ghost-lerp sources from the parent's substep endpoints (parent-fine frame) + call s_amr_gather_from_parent_field(pslot, amr_slots(pslot)%q_cons_stor) ! parent @ t_a + call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_a) + call s_amr_gather_from_parent_field(pslot, amr_slots(pslot)%q_cons) ! parent @ t_b + call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_b) + ! recurse: the child subcycles its ref_ratio substeps (and its own children) over [t_a, t_b] + call s_amr_advance_subtree(dt_sub*0.5_wp, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + ! fold the child back into the parent (relax the fine phase first, matching the driver's relax -> restrict order) + if (relax) call s_amr_relax_fine() + call s_amr_restrict_to_parent() + call s_amr_reflux_to_parent(dt_sub) + end do + call s_amr_select_slot(pslot) ! restore the parent's mirrors for its next substep + + end subroutine s_amr_advance_children + !> Shrink box [blo:bhi] to the tight bounding box of the tagged (gtag==1) cells inside it. ok=.false. if no tagged cell. !! Collapsed dims (lo=hi=0) survive unchanged. Deterministic (integer scan of the identical global tag field). impure subroutine s_amr_trim_box(gtag, blo, bhi, ok) diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index f6b629eecc..ca5e833106 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -633,6 +633,12 @@ contains ! forward order for single-level runs. do islot = amr_num_blocks, 1, -1 call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) + ! recursive subcycle multi-level: a level>=2 block is advanced, restricted, AND Berger-Colella refluxed into its + ! parent INSIDE the parent's recursive subcycle (s_amr_advance_children within s_advance_amr_fine_substeps), so it + ! is + ! skipped in this top-level per-block loop. Only level-1 blocks are driven here (they recurse into their L2 + ! children). + if (amr_subcycle .and. amr_block_level(amr_cur) >= 2) cycle if (amr_subcycle) then call s_advance_amr_fine_substeps(q_cons_ts(stor)%vf, q_cons_ts(1)%vf, rk_coef, bc_type, q_T_sf, & & pb_ts(stor)%sf, mv_ts(stor)%sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & diff --git a/tests/D95E1B08/golden-metadata.txt b/tests/D95E1B08/golden-metadata.txt new file mode 100644 index 0000000000..30663fc4c0 --- /dev/null +++ b/tests/D95E1B08/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-09 22:23:25.552977. + +mfc.sh: + + Invocation: test --generate --only D95E1B08 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 379c1d87b88f6cd1a3bd3072d2d0ff46ed667ab3 on amr-multilevel (dirty) + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 88% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/D95E1B08/golden.txt b/tests/D95E1B08/golden.txt new file mode 100644 index 0000000000..6c76598659 --- /dev/null +++ b/tests/D95E1B08/golden.txt @@ -0,0 +1,16 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000117 0.50000000000076 0.50000000000047 0.50000000000209 0.49999999998248 0.50000000014658 0.50000001309142 0.50000094951443 0.50005366373445 0.50143936386686 0.49997081170756 0.49859707767117 0.49993921310745 0.49999892221841 0.49999998510918 0.49999999983274 0.5000000000171 0.49999999999813 0.49999999999947 0.49999999999947 0.49999999999813 0.5000000000171 0.49999999983274 0.49999998510918 0.49999892221841 0.49993921310748 0.49859707767122 0.49997081170762 0.50143936387114 0.50005366371909 0.50000094943036 0.50000001321997 0.50000000006571 0.49999999107973 0.49999942278158 0.49996995383899 0.49884345037248 0.46690023384543 0.15684108925088 0.12738536102709 0.12505946967055 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921741e-06 6.175499736e-05 0.00235343211297 0.04637431088153 0.04334870246431 0.00376226359271 9.644425937e-05 1.85291298e-06 2.79646e-08 3.7774e-10 -2.271e-11 1.56e-12 1.02e-12 -7.2e-13 -2.56e-12 2.474e-11 -2.1099e-10 -1.547106e-08 -1.12349623e-06 -6.34839645e-05 -0.00163502795286 -0.04467324819363 -0.00155389441229 -7.191327149e-05 -1.27523604e-06 -1.759682e-08 -2.3713e-10 2.436e-11 -2.32e-12 -7.5e-13 7.5e-13 2.32e-12 -2.436e-11 2.3713e-10 1.759682e-08 1.27523604e-06 7.191327145e-05 0.00155389441226 0.04467324819325 0.00163502794914 6.34839816e-05 1.12359609e-06 1.531529e-08 4.3195e-10 1.010204e-08 6.8323641e-07 3.554861518e-05 0.00136476605309 0.03577661660383 0.03668359552766 0.00287444790371 6.324352877e-05 1.07366847e-06 1.437255e-08 2.0695e-10 -2.094e-11 2.33e-12 4.2e-13 -5e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.00.000006.dat 2.49999999928568 2.49999994654389 2.4999964735218 2.49981734638575 2.49305675656102 2.37634675700937 1.36967354333457 1.26081856973676 1.25028504291838 1.25000548091579 1.25000008276828 1.25000000099198 1.24999999994637 1.25000000000411 1.25000000000267 1.25000000000166 1.25000000000731 1.24999999993868 1.25000000051302 1.25000004581997 1.25000332332873 1.25018776963165 1.25507360639346 1.24982329286133 1.24512844687564 1.24978733947964 1.24999622780065 1.24999994788214 1.24999999941459 1.25000000005985 1.24999999999345 1.24999999999815 1.24999999999815 1.24999999999345 1.25000000005985 1.24999999941459 1.24999994788214 1.24999622780065 1.24978733947976 1.24512844687582 1.24982329286154 1.25507360640842 1.2501877695779 1.25000332303451 1.25000004626991 1.25000000022998 1.24999996877907 1.24999797974523 1.24989485932523 1.24597556837648 1.15270465024305 0.34422215943154 0.25703510060947 0.25016683463152 0.25000284054476 0.25000003812134 0.25000000032996 0.24999999996909 0.25000000000553 0.25000000000115 0.24999999999987 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000117 0.50000000000076 0.50000000000047 0.50000000000209 0.49999999998248 0.50000000014658 0.50000001309142 0.50000094951443 0.50005366373445 0.50143936386686 0.49997081170756 0.49859707767117 0.49993921310745 0.49999892221841 0.49999998510918 0.49999999983274 0.5000000000171 0.49999999999813 0.49999999999947 0.49999999999947 0.49999999999813 0.5000000000171 0.49999999983274 0.49999998510918 0.49999892221841 0.49993921310748 0.49859707767122 0.49997081170762 0.50143936387114 0.50005366371909 0.50000094943036 0.50000001321997 0.50000000006571 0.49999999107973 0.49999942278158 0.49996995383899 0.49884345037248 0.46690023384543 0.15684108925088 0.12738536102709 0.12505946967055 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921753e-06 6.175822088e-05 0.00235813344129 0.04824925512011 0.08060785310619 0.0074788947115 0.00019285712307 3.70581434e-06 5.592919e-08 7.5549e-10 -4.542e-11 3.12e-12 2.05e-12 -1.43e-12 -5.12e-12 4.948e-11 -4.2199e-10 -3.094212e-08 -2.24698819e-06 -0.00012695430331 -0.0032606693265 -0.08935171243508 -0.00311653333298 -0.00014384403065 -2.55047758e-06 -3.519365e-08 -4.7425e-10 4.873e-11 -4.63e-12 -1.5e-12 1.5e-12 4.63e-12 -4.873e-11 4.7425e-10 3.519365e-08 2.55047758e-06 0.00014384403056 0.00311653333293 0.08935171243432 0.00326066931906 0.00012695433752 2.24718791e-06 3.063057e-08 8.6389e-10 2.020409e-08 1.36647439e-06 7.110150302e-05 0.00273586042288 0.07662582712622 0.23389021144187 0.02256497827167 0.00050570763599 8.58927807e-06 1.1498037e-07 1.65559e-09 -1.6754e-10 1.86e-11 3.32e-12 -3.8e-13 1e-14 1e-14 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.00.000006.dat 0.99999999971427 0.99999997861756 0.99999858940844 0.99992693779153 0.99722159268301 0.9500911976124 0.54717056816571 0.50432180038005 0.50011401344736 0.50000219236494 0.50000003310731 0.50000000039679 0.49999999997855 0.50000000000164 0.50000000000107 0.50000000000066 0.50000000000292 0.49999999997547 0.50000000020521 0.50000001832799 0.50000132933099 0.50007510624075 0.50202837630028 0.4991309908993 0.49805041019751 0.499914933723 0.49999849111961 0.49999997915286 0.49999999976584 0.50000000002394 0.49999999999738 0.49999999999926 0.49999999999926 0.49999999999738 0.50000000002394 0.49999999976584 0.49999997915286 0.49999849111961 0.49991493372305 0.49805041019758 0.4991309908994 0.50202837630628 0.50007510621925 0.5000013292133 0.50000001850797 0.50000000009199 0.49999998751163 0.49999919189791 0.49995794322458 0.49838948058871 0.46053357752941 0.13597287698973 0.10280106787289 0.10006672745606 0.10000113621606 0.10000001524854 0.10000000013198 0.09999999998764 0.10000000000221 0.10000000000046 0.09999999999995 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index eb3d58abf0..9de1465bdd 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3907,6 +3907,26 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (j) multi-level + SUBCYCLE: (h) advances every level lock-step at the coarse dt; this arms + # amr_subcycle so each level steps at its OWN dt (L1 at dt/2, L2 at dt/4) via the recursive + # driver - s_amr_advance_subtree recurses into s_amr_advance_children, which subcycles each L2 + # child within every L1 substep (two ghost-lerp sources gathered from the parent's t^n/t^{n+1} + # snapshots) and folds it back with a per-substep Berger-Colella reflux-to-parent. The ONLY + # golden protecting the recursive multi-level subcycle path. Kept STATIC (amr_regrid_int=0) for + # the same determinism reason as (h). np=1 only. + stack.push( + "AMR -> 1D -> multi-level subcycle", + { + **amr_1d_base, + "amr_regrid_int": 0, + "amr_subcycle": "T", + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {})) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From 90a4df7120894f722c16a346ea8a216ac3f8ae81 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 10:24:35 -0400 Subject: [PATCH 18/41] amr(#26): fix pslot/amr_cur arg-aliasing breaking multi-level subcycle conservation s_amr_advance_children is called as s_amr_advance_children(amr_cur, ...), so its intent(in) dummy pslot is argument-associated with the module variable amr_cur. The in-loop s_amr_select_slot(kc) reassigns amr_cur and silently corrupted pslot, so the final restore left amr_cur on the child slot: the driver's L1->L0 restrict/reflux then operated on the child, the L1 fine solution was discarded, and apply_reflux_state used the child's registers -> conservation leak (up to ~1e-3 with a moving L2; masked in the static golden where the child sits in smooth flow). Copy pslot to a local read before any slot switch. Regenerate D95E1B08 (captured the buggy state) and add 00E15144 (dynamic regrid + subcycle + multi-level). CPU+GPU(V100) both conserve to machine zero (~4e-15); full AMR golden group 47/47. --- src/simulation/m_amr.fpp | 17 ++- tests/00E15144/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/00E15144/golden.txt | 16 +++ tests/D95E1B08/golden-metadata.txt | 28 ++--- tests/D95E1B08/golden.txt | 16 +-- toolchain/mfc/test/cases.py | 23 ++++ 6 files changed, 265 insertions(+), 28 deletions(-) create mode 100644 tests/00E15144/golden-metadata.txt create mode 100644 tests/00E15144/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 267a918ec3..223a909196 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3157,17 +3157,22 @@ contains real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv integer, intent(in) :: t_step real(wp), intent(inout) :: time_avg - integer :: kc + integer :: kc, pslot_l + ! pslot is argument-associated with the module variable amr_cur (the caller passes amr_cur as + ! pslot); the s_amr_select_slot(kc) below reassigns amr_cur and would silently corrupt pslot. + ! Copy it to a local read before any slot switch. + + pslot_l = pslot do kc = 1, amr_num_blocks - if (amr_block_level(kc) /= amr_block_level(pslot) + 1) cycle - if (f_amr_parent_block(kc) /= pslot) cycle + if (amr_block_level(kc) /= amr_block_level(pslot_l) + 1) cycle + if (f_amr_parent_block(kc) /= pslot_l) cycle call s_amr_select_slot(kc) ! amr_cur = kc; mirrors (isect already parent-fine) if (.not. amr_rank_owns_block) cycle ! np>=2: child on another rank - future work (#27) ! two ghost-lerp sources from the parent's substep endpoints (parent-fine frame) - call s_amr_gather_from_parent_field(pslot, amr_slots(pslot)%q_cons_stor) ! parent @ t_a + call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons_stor) ! parent @ t_a call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_a) - call s_amr_gather_from_parent_field(pslot, amr_slots(pslot)%q_cons) ! parent @ t_b + call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons) ! parent @ t_b call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_b) ! recurse: the child subcycles its ref_ratio substeps (and its own children) over [t_a, t_b] call s_amr_advance_subtree(dt_sub*0.5_wp, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) @@ -3176,7 +3181,7 @@ contains call s_amr_restrict_to_parent() call s_amr_reflux_to_parent(dt_sub) end do - call s_amr_select_slot(pslot) ! restore the parent's mirrors for its next substep + call s_amr_select_slot(pslot_l) ! restore the parent's mirrors for its next substep end subroutine s_amr_advance_children diff --git a/tests/00E15144/golden-metadata.txt b/tests/00E15144/golden-metadata.txt new file mode 100644 index 0000000000..eda68980c9 --- /dev/null +++ b/tests/00E15144/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-10 09:49:27.304533. + +mfc.sh: + + Invocation: test --generate --only 00E15144 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: fe60e30b319a8f1368db1a2d5afbe7951566cd4f on amr-multilevel (dirty) + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 79% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/00E15144/golden.txt b/tests/00E15144/golden.txt new file mode 100644 index 0000000000..60cdcd2680 --- /dev/null +++ b/tests/00E15144/golden.txt @@ -0,0 +1,16 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.00.000006.dat 0.99999999982436 0.99999998813243 0.99999930774533 0.99998569531392 0.99883895200444 0.96030405053951 0.53952937346629 0.50131420390977 0.50002818507782 0.50000024265924 0.50000000131983 0.49999999998327 0.50000000000075 0.50000000000006 0.50000000000014 0.49999999999997 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000001 0.49999999999995 0.50000000000003 0.50000000000012 0.49999999999762 0.49999999990201 0.49999991968435 0.49999091699782 0.49907236536418 0.46700481572794 0.15786392583684 0.12605106028332 0.12501687258248 0.12500012314501 0.12500000048292 0.12499999999468 0.12500000000057 0.12500000000012 0.12500000000002 0.12499999999999 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 1.943e-10 1.404807e-08 8.190827e-07 1.746373653e-05 0.00137145828059 0.04676217353381 0.04624078063423 0.0015736416417 3.336020401e-05 2.8707916e-07 1.60973e-09 -2.104e-11 9.3e-13 1e-13 2.5e-13 -5e-14 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -1e-14 8e-14 -3e-14 -1.7e-13 2.93e-12 1.1681e-10 9.5042e-08 1.074751916e-05 0.00109497655954 0.03684524213244 0.03767186446445 0.00115907335156 1.786996893e-05 1.3009009e-07 7.6127e-10 -9.98e-12 7.5e-13 1.4e-13 5e-14 -2e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.00.000006.dat 2.49999999938526 2.49999995846349 2.49999757711475 2.49994993544092 2.49594611296855 2.37321480993358 1.37617153339639 1.25462055863414 1.25009866071051 1.25000084930832 1.2500000046194 1.24999999994144 1.25000000000263 1.25000000000023 1.25000000000049 1.24999999999988 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000002 1.24999999999983 1.2500000000001 1.25000000000042 1.24999999999167 1.24999999965705 1.24999971889534 1.24996821084796 1.2467664293502 1.1529730408875 0.34724520964984 0.2529997845009 0.25004726007293 0.25000034480697 0.25000000135217 0.24999999998511 0.25000000000161 0.25000000000035 0.25000000000006 0.24999999999996 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.00002879489376 1.00000000007025 1.0 0.99984554109741 0.9999996903407 1.0 1.0 1.00000000037088 1.0 1.0 0.99999999999031 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000287 1.0 1.0 1.00000000010325 1.0 1.00000000958983 1.00000000000014 0.99999999999915 1.00000000000074 1.0 1.0 1.0 0.99999999960605 1.0 1.0 0.99999999998545 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.00.000006.dat 0.99999999982436 0.99999998813243 0.99999930774533 0.99998569531392 0.99883895200444 0.96030405053951 0.53952937346629 0.50131420390977 0.50002818507782 0.50000024265924 0.50000000131983 0.49999999998327 0.50000000000075 0.50000000000006 0.50000000000014 0.49999999999997 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000001 0.49999999999995 0.50000000000003 0.50000000000012 0.49999999999762 0.49999999990201 0.49999991968435 0.49999091699782 0.49907236536418 0.46700481572794 0.15786392583684 0.12605106028332 0.12501687258248 0.12500012314501 0.12500000048292 0.12499999999468 0.12500000000057 0.12500000000012 0.12500000000002 0.12499999999999 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 1.943e-10 1.404808e-08 8.1908326e-07 1.746398635e-05 0.00137305246039 0.04869517472881 0.08570577045166 0.0031390326255 6.67166472e-05 5.7415804e-07 3.21945e-09 -4.208e-11 1.86e-12 2.1e-13 4.9e-13 -1e-13 1e-14 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -2e-14 1.6e-13 -6e-14 -3.3e-13 5.86e-12 2.3363e-10 1.9008404e-07 2.14954288e-05 0.00219402362369 0.07889692116987 0.23863504131647 0.00919526855987 0.00014294045721 1.04071968e-06 6.09019e-09 -7.984e-11 6.02e-12 1.11e-12 3.9e-13 -1.3e-13 1e-14 0.0 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.00.000006.dat 0.9999999997541 0.9999999833854 0.99999903084577 0.99995118062735 0.99837806850045 0.94883050553125 0.54976090847906 0.50184739091288 0.50003946383907 0.5000003397233 0.50000000166232 0.49999999997658 0.50000000000105 0.50000000000494 0.5000000000002 0.49999999999995 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000001 0.49999999999993 0.4999999999986 0.50000000000017 0.49999999999667 0.49999999981119 0.49999988755813 0.49998727949819 0.49870609125912 0.46060782112259 0.13710011847324 0.10119778220221 0.1000189035183 0.10000013792276 0.10000000058026 0.09999999999405 0.10000000000064 0.10000000000159 0.10000000000002 0.09999999999999 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.00002879489376 1.00000000007025 1.0 0.99984554109741 0.9999996903407 1.0 1.0 1.00000000037088 1.0 1.0 0.99999999999031 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000287 1.0 1.0 1.00000000010325 1.0 1.00000000958983 1.00000000000014 0.99999999999915 1.00000000000074 1.0 1.0 1.0 0.99999999960605 1.0 1.0 0.99999999998545 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/tests/D95E1B08/golden-metadata.txt b/tests/D95E1B08/golden-metadata.txt index 30663fc4c0..47be3c2962 100644 --- a/tests/D95E1B08/golden-metadata.txt +++ b/tests/D95E1B08/golden-metadata.txt @@ -1,24 +1,24 @@ -This file was created on 2026-07-09 22:23:25.552977. +This file was created on 2026-07-10 09:47:22.332886. mfc.sh: Invocation: test --generate --only D95E1B08 -- -b mpirun Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No - Git: 379c1d87b88f6cd1a3bd3072d2d0ff46ed667ab3 on amr-multilevel (dirty) + Git: fe60e30b319a8f1368db1a2d5afbe7951566cd4f on amr-multilevel (dirty) -post_process: +syscheck: CMake Configuration: - CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) PRE_PROCESS : OFF SIMULATION : OFF - POST_PROCESS : ON - SYSCHECK : OFF + POST_PROCESS : OFF + SYSCHECK : ON DOCUMENTATION : OFF ALL : OFF @@ -74,7 +74,7 @@ pre_process: OMPI_CXX : OMPI_FC : -syscheck: +simulation: CMake Configuration: @@ -84,9 +84,9 @@ syscheck: Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) PRE_PROCESS : OFF - SIMULATION : OFF + SIMULATION : ON POST_PROCESS : OFF - SYSCHECK : ON + SYSCHECK : OFF DOCUMENTATION : OFF ALL : OFF @@ -108,18 +108,18 @@ syscheck: OMPI_CXX : OMPI_FC : -simulation: +post_process: CMake Configuration: - CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) PRE_PROCESS : OFF - SIMULATION : ON - POST_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON SYSCHECK : OFF DOCUMENTATION : OFF ALL : OFF @@ -160,7 +160,7 @@ CPU: Core(s) per socket: 12 Socket(s): 2 Stepping: 7 - CPU(s) scaling MHz: 88% + CPU(s) scaling MHz: 77% CPU max MHz: 2700.0000 CPU min MHz: 1200.0000 BogoMIPS: 5400.00 diff --git a/tests/D95E1B08/golden.txt b/tests/D95E1B08/golden.txt index 6c76598659..4ce3341b42 100644 --- a/tests/D95E1B08/golden.txt +++ b/tests/D95E1B08/golden.txt @@ -1,16 +1,16 @@ D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 -D/cons.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000117 0.50000000000076 0.50000000000047 0.50000000000209 0.49999999998248 0.50000000014658 0.50000001309142 0.50000094951443 0.50005366373445 0.50143936386686 0.49997081170756 0.49859707767117 0.49993921310745 0.49999892221841 0.49999998510918 0.49999999983274 0.5000000000171 0.49999999999813 0.49999999999947 0.49999999999947 0.49999999999813 0.5000000000171 0.49999999983274 0.49999998510918 0.49999892221841 0.49993921310748 0.49859707767122 0.49997081170762 0.50143936387114 0.50005366371909 0.50000094943036 0.50000001321997 0.50000000006571 0.49999999107973 0.49999942278158 0.49996995383899 0.49884345037248 0.46690023384543 0.15684108925088 0.12738536102709 0.12505946967055 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/cons.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.5 0.5000000000025 0.49999999939132 0.4999992504458 0.49997012505176 0.49884344093249 0.46690023522685 0.15684109006854 0.12738536104435 0.12505946967077 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -D/cons.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921741e-06 6.175499736e-05 0.00235343211297 0.04637431088153 0.04334870246431 0.00376226359271 9.644425937e-05 1.85291298e-06 2.79646e-08 3.7774e-10 -2.271e-11 1.56e-12 1.02e-12 -7.2e-13 -2.56e-12 2.474e-11 -2.1099e-10 -1.547106e-08 -1.12349623e-06 -6.34839645e-05 -0.00163502795286 -0.04467324819363 -0.00155389441229 -7.191327149e-05 -1.27523604e-06 -1.759682e-08 -2.3713e-10 2.436e-11 -2.32e-12 -7.5e-13 7.5e-13 2.32e-12 -2.436e-11 2.3713e-10 1.759682e-08 1.27523604e-06 7.191327145e-05 0.00155389441226 0.04467324819325 0.00163502794914 6.34839816e-05 1.12359609e-06 1.531529e-08 4.3195e-10 1.010204e-08 6.8323641e-07 3.554861518e-05 0.00136476605309 0.03577661660383 0.03668359552766 0.00287444790371 6.324352877e-05 1.07366847e-06 1.437255e-08 2.0695e-10 -2.094e-11 2.33e-12 4.2e-13 -5e-14 0.0 0.0 -0.0 +D/cons.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921741e-06 6.175499736e-05 0.00235343211297 0.04637431088153 0.04334870246431 0.00376226359271 9.644425937e-05 1.85291298e-06 2.79646e-08 3.7774e-10 -2.271e-11 1.56e-12 9.6e-13 -8e-14 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 1e-14 1e-14 -2.62e-12 7.5082e-10 8.8685797e-07 3.535366511e-05 0.00136476551423 0.03577661749882 0.03668359602961 0.00287444792732 6.324352899e-05 1.07366847e-06 1.437255e-08 2.0695e-10 -2.094e-11 2.33e-12 4.2e-13 -5e-14 0.0 0.0 -0.0 D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 -D/cons.3.00.000006.dat 2.49999999928568 2.49999994654389 2.4999964735218 2.49981734638575 2.49305675656102 2.37634675700937 1.36967354333457 1.26081856973676 1.25028504291838 1.25000548091579 1.25000008276828 1.25000000099198 1.24999999994637 1.25000000000411 1.25000000000267 1.25000000000166 1.25000000000731 1.24999999993868 1.25000000051302 1.25000004581997 1.25000332332873 1.25018776963165 1.25507360639346 1.24982329286133 1.24512844687564 1.24978733947964 1.24999622780065 1.24999994788214 1.24999999941459 1.25000000005985 1.24999999999345 1.24999999999815 1.24999999999815 1.24999999999345 1.25000000005985 1.24999999941459 1.24999994788214 1.24999622780065 1.24978733947976 1.24512844687582 1.24982329286154 1.25507360640842 1.2501877695779 1.25000332303451 1.25000004626991 1.25000000022998 1.24999996877907 1.24999797974523 1.24989485932523 1.24597556837648 1.15270465024305 0.34422215943154 0.25703510060947 0.25016683463152 0.25000284054476 0.25000003812134 0.25000000032996 0.24999999996909 0.25000000000553 0.25000000000115 0.24999999999987 0.25 0.25 0.25 +D/cons.3.00.000006.dat 2.49999999928568 2.49999994654389 2.4999964735218 2.49981734638575 2.49305675656102 2.37634675700937 1.36967354333457 1.26081856973676 1.25028504291838 1.25000548091579 1.25000008276828 1.25000000099198 1.24999999994637 1.25000000000411 1.25000000000286 1.24999999999976 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999998 1.24999999999998 1.25000000000875 1.24999999786964 1.24999737657602 1.2498954585656 1.24597553509662 1.1527046567558 0.34422216086158 0.25703510066221 0.25016683463212 0.25000284054476 0.25000003812134 0.25000000032996 0.24999999996909 0.25000000000553 0.25000000000115 0.24999999999987 0.25 0.25 0.25 D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000032108946 1.00000000000484 0.99999999999794 1.00000000000162 1.00000000000003 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 -D/prim.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000117 0.50000000000076 0.50000000000047 0.50000000000209 0.49999999998248 0.50000000014658 0.50000001309142 0.50000094951443 0.50005366373445 0.50143936386686 0.49997081170756 0.49859707767117 0.49993921310745 0.49999892221841 0.49999998510918 0.49999999983274 0.5000000000171 0.49999999999813 0.49999999999947 0.49999999999947 0.49999999999813 0.5000000000171 0.49999999983274 0.49999998510918 0.49999892221841 0.49993921310748 0.49859707767122 0.49997081170762 0.50143936387114 0.50005366371909 0.50000094943036 0.50000001321997 0.50000000006571 0.49999999107973 0.49999942278158 0.49996995383899 0.49884345037248 0.46690023384543 0.15684108925088 0.12738536102709 0.12505946967055 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/prim.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.5 0.5000000000025 0.49999999939132 0.4999992504458 0.49997012505176 0.49884344093249 0.46690023522685 0.15684109006854 0.12738536104435 0.12505946967077 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -D/prim.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921753e-06 6.175822088e-05 0.00235813344129 0.04824925512011 0.08060785310619 0.0074788947115 0.00019285712307 3.70581434e-06 5.592919e-08 7.5549e-10 -4.542e-11 3.12e-12 2.05e-12 -1.43e-12 -5.12e-12 4.948e-11 -4.2199e-10 -3.094212e-08 -2.24698819e-06 -0.00012695430331 -0.0032606693265 -0.08935171243508 -0.00311653333298 -0.00014384403065 -2.55047758e-06 -3.519365e-08 -4.7425e-10 4.873e-11 -4.63e-12 -1.5e-12 1.5e-12 4.63e-12 -4.873e-11 4.7425e-10 3.519365e-08 2.55047758e-06 0.00014384403056 0.00311653333293 0.08935171243432 0.00326066931906 0.00012695433752 2.24718791e-06 3.063057e-08 8.6389e-10 2.020409e-08 1.36647439e-06 7.110150302e-05 0.00273586042288 0.07662582712622 0.23389021144187 0.02256497827167 0.00050570763599 8.58927807e-06 1.1498037e-07 1.65559e-09 -1.6754e-10 1.86e-11 3.32e-12 -3.8e-13 1e-14 1e-14 -0.0 +D/prim.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921753e-06 6.175822088e-05 0.00235813344129 0.04824925512011 0.08060785310619 0.0074788947115 0.00019285712307 3.70581434e-06 5.592919e-08 7.5549e-10 -4.541e-11 3.12e-12 1.91e-12 -1.6e-13 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 2e-14 2e-14 -5.25e-12 1.50164e-09 1.77371861e-06 7.071155523e-05 0.00273585939445 0.07662582881639 0.2338902134229 0.02256497845397 0.00050570763782 8.58927808e-06 1.1498037e-07 1.65559e-09 -1.6754e-10 1.86e-11 3.32e-12 -3.8e-13 1e-14 1e-14 -0.0 D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 -D/prim.3.00.000006.dat 0.99999999971427 0.99999997861756 0.99999858940844 0.99992693779153 0.99722159268301 0.9500911976124 0.54717056816571 0.50432180038005 0.50011401344736 0.50000219236494 0.50000003310731 0.50000000039679 0.49999999997855 0.50000000000164 0.50000000000107 0.50000000000066 0.50000000000292 0.49999999997547 0.50000000020521 0.50000001832799 0.50000132933099 0.50007510624075 0.50202837630028 0.4991309908993 0.49805041019751 0.499914933723 0.49999849111961 0.49999997915286 0.49999999976584 0.50000000002394 0.49999999999738 0.49999999999926 0.49999999999926 0.49999999999738 0.50000000002394 0.49999999976584 0.49999997915286 0.49999849111961 0.49991493372305 0.49805041019758 0.4991309908994 0.50202837630628 0.50007510621925 0.5000013292133 0.50000001850797 0.50000000009199 0.49999998751163 0.49999919189791 0.49995794322458 0.49838948058871 0.46053357752941 0.13597287698973 0.10280106787289 0.10006672745606 0.10000113621606 0.10000001524854 0.10000000013198 0.09999999998764 0.10000000000221 0.10000000000046 0.09999999999995 0.1 0.1 0.1 +D/prim.3.00.000006.dat 0.99999999971427 0.99999997861756 0.99999858940844 0.99992693779153 0.99722159268301 0.9500911976124 0.54717056816571 0.50432180038005 0.50011401344736 0.50000219236494 0.50000003310731 0.50000000039679 0.49999999997855 0.50000000000165 0.50000000000114 0.4999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.49999999999999 0.5000000000035 0.49999999914785 0.49999895063009 0.49995802239501 0.49838946727492 0.46053358010965 0.13597287752351 0.10280106789377 0.1000667274563 0.10000113621606 0.10000001524854 0.10000000013198 0.09999999998764 0.10000000000221 0.10000000000046 0.09999999999995 0.1 0.1 0.1 D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000032108946 1.00000000000484 0.99999999999794 1.00000000000162 1.00000000000003 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 9de1465bdd..f33b865c29 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3927,6 +3927,29 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (k) multi-level + dynamic regrid + SUBCYCLE: the union of (i) and (j). (i) rebuilds the L2 by + # sensor-on-fine regrid but advances lock-step; (j) subcycles but keeps a static L2. This arms + # BOTH, so the L2 child is created/destroyed by regrid WHILE the recursive subcycle driver steps + # each level at its own dt. Protects the regrid x subcycle x multi-level interaction: the L1->L0 + # fold must operate on the L1 parent (not the child slot) after the recursion returns - an + # argument-aliasing slip that left amr_cur on the child silently discarded the fine solution and + # broke conservation (drift ~1e-3 with a moving L2). Uses (i)'s robust eps=0.1/amr_buf=6 so the + # rebuilt L2 box is cross-compiler stable. np=1 only. + stack.push( + "AMR -> 1D -> multi-level dynamic subcycle", + { + **amr_1d_base, + "amr_regrid_int": 2, + "amr_tag_eps": 0.1, + "amr_buf": 6, + "amr_subcycle": "T", + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {})) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From 08c5b8f9f1b16591e2c002b71338cba38a919187 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 11:53:23 -0400 Subject: [PATCH 19/41] amr(#27 inc.1): static multi-level runs at np>=2 (co-located refinement towers) Multi-level (amr_max_level>1) was hard-gated to num_procs=1. Enable it for a STATIC hierarchy (amr_regrid_int=0) at np>=2 via co-located refinement towers: the L2 child inherits its parent's rank (s_amr_test_multilevel already sets amr_block_owner(L2)=amr_block_owner(1)), so the L1<->L2 fold stays LOCAL (bit-identical to np=1) and only L0<->L1 crosses ranks via the existing Body-1 P2P. Changes: (1) checker gate now only prohibits DYNAMIC (amr_regrid_int>0) multi-level at np>1 - the cross-rank sensor-on-fine nesting is still np=1; (2) un-gate s_amr_test_multilevel for np>=2; (3) owner-guard s_amr_restrict_to_parent + s_amr_reflux_to_parent - without them the lock-step L2->parent fold dereferences a non-owner's unallocated parent slot (SIGSEGV on rank 1); the subcycle path already guarded. Validated: static 2-level conserves machine-zero at np=1/2/4, both lock-step and subcycle; the 4 np=1 multi-level goldens are unchanged (guards are no-ops at np=1). New golden 4644A339 (multi-level static np=2). GPU np=1 unchanged (no-op guards); np>=2 GPU validation is the multi-GPU scaling study (sbatch). --- src/simulation/m_amr.fpp | 4 +- src/simulation/m_checker.fpp | 4 +- tests/4644A339/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/4644A339/golden.txt | 32 +++++ toolchain/mfc/test/cases.py | 20 +++ 5 files changed, 250 insertions(+), 3 deletions(-) create mode 100644 tests/4644A339/golden-metadata.txt create mode 100644 tests/4644A339/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 223a909196..910d2e8a12 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1300,7 +1300,7 @@ contains type(scalar_field), dimension(:), allocatable :: scratch real(stp), allocatable :: b1save(:,:,:,:) !< full block-1 state, restored after the intrusive checks - if (amr_max_level < 2 .or. num_procs > 1) return + if (amr_max_level < 2) return ! np>=2: the L2 is co-located with block 1 (owner-guarded intrusive checks below) n1 = amr_num_blocks if (n1 < 1 .or. n1 + 1 > amr_max_blocks) return L2 = n1 + 1 @@ -1613,6 +1613,7 @@ contains integer :: pblk, rr, nchild, dj_hi, dk_hi + if (.not. amr_rank_owns_block) return ! np>=2: child+parent co-located; only the owner folds locally pblk = f_amr_parent_block(amr_cur) rr = amr_slots(amr_cur)%ref_ratio nchild = rr; if (n_glb > 0) nchild = nchild*rr; if (p_glb > 0) nchild = nchild*rr @@ -1634,6 +1635,7 @@ contains integer :: pblk real(wp) :: dxf, dyf, dzf + if (.not. amr_rank_owns_block) return ! np>=2: child+parent co-located; only the owner refluxes locally pblk = f_amr_parent_block(amr_cur) ! uniform parent-fine cell widths (interior index; stretched-grid coords are future work). dy/dz only allocated when active. dxf = amr_slots(pblk)%dx(amr_isect_lo(1)); dyf = dxf; dzf = dxf diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 5acd239344..1501037299 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,8 +193,8 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1, & - & "amr_max_level > 1 currently runs a single-rank coupling self-test only (the recursive multi-level advance is under development); use num_procs = 1") + @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. amr_regrid_int > 0, & + & "dynamic multi-level regrid (amr_regrid_int > 0) with amr_max_level > 1 is np=1 only (the cross-rank sensor-on-fine nesting is under development); a STATIC multi-level hierarchy (amr_regrid_int = 0) is supported at num_procs > 1") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if diff --git a/tests/4644A339/golden-metadata.txt b/tests/4644A339/golden-metadata.txt new file mode 100644 index 0000000000..7ff400ec7e --- /dev/null +++ b/tests/4644A339/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-10 11:52:32.898923. + +mfc.sh: + + Invocation: test --generate --only 4644A339 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 17eaa6e3f65a0ad1cce6460de16bb65224022803 on amr-multilevel (dirty) + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 79% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/4644A339/golden.txt b/tests/4644A339/golden.txt new file mode 100644 index 0000000000..67d3479df6 --- /dev/null +++ b/tests/4644A339/golden.txt @@ -0,0 +1,32 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000188 0.49999999946589 0.49999927564897 0.49997010033663 0.49884344004511 0.46690023550826 0.15684109011019 0.12738536104668 0.12505946967076 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921741e-06 6.175499736e-05 0.00235343211297 0.04637431088153 0.04334870246431 0.00376226359271 9.644425937e-05 1.85291298e-06 2.79646e-08 3.7774e-10 -2.271e-11 1.56e-12 9.6e-13 -8e-14 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 +D/cons.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000006.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 1e-14 -2e-14 -1.91e-12 6.6191e-10 8.5703665e-07 3.538406673e-05 0.00136476467263 0.03577661786462 0.03668359600978 0.00287444793089 6.324352899e-05 1.07366847e-06 1.437255e-08 2.0695e-10 -2.094e-11 2.33e-12 4.2e-13 -5e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.00.000006.dat 2.49999999928568 2.49999994654389 2.4999964735218 2.49981734638575 2.49305675656102 2.37634675700937 1.36967354333457 1.26081856973676 1.25028504291838 1.25000548091579 1.25000008276828 1.25000000099198 1.24999999994637 1.25000000000411 1.25000000000286 1.24999999999976 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.01.000000.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.01.000006.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999998 1.25000000000006 1.25000000000656 1.2499999981306 1.24999746478626 1.2498953720646 1.24597553194693 1.15270465800327 0.34422216078828 0.25703510066963 0.25016683463211 0.25000284054476 0.25000003812134 0.25000000032996 0.24999999996909 0.25000000000553 0.25000000000115 0.24999999999987 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000027337241 1.00000000000564 0.99999999999835 1.00000000000128 1.00000000000002 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.00.000006.dat 0.99999999979591 0.99999998472683 0.99999899243059 0.99994780428952 0.99800633490866 0.96114045213925 0.53777269575953 0.5030507498549 0.5000813962002 0.50000156595549 0.50000002364808 0.50000000028342 0.49999999998468 0.50000000000118 0.50000000000082 0.49999999999993 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000188 0.49999999946589 0.49999927564897 0.49997010033663 0.49884344004511 0.46690023550826 0.15684109011019 0.12738536104668 0.12505946967076 0.12500101444172 0.12500001361476 0.12500000011784 0.12499999998896 0.12500000000198 0.12500000000041 0.12499999999995 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 2.2435e-10 1.808107e-08 1.1921753e-06 6.175822088e-05 0.00235813344129 0.04824925512011 0.08060785310619 0.0074788947115 0.00019285712307 3.70581434e-06 5.592919e-08 7.5549e-10 -4.541e-11 3.12e-12 1.91e-12 -1.6e-13 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 +D/prim.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.01.000006.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 1e-14 -4e-14 -3.83e-12 1.32381e-09 1.71407579e-06 7.07723656e-05 0.00273585771221 0.07662582955367 0.23389021323433 0.02256497848161 0.00050570763779 8.58927808e-06 1.1498037e-07 1.65559e-09 -1.6754e-10 1.86e-11 3.32e-12 -3.8e-13 1e-14 1e-14 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.00.000006.dat 0.99999999971427 0.99999997861756 0.99999858940844 0.99992693779153 0.99722159268301 0.9500911976124 0.54717056816571 0.50432180038005 0.50011401344736 0.50000219236494 0.50000003310731 0.50000000039679 0.49999999997855 0.50000000000165 0.50000000000114 0.4999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.50000000000002 0.50000000000263 0.49999999925224 0.49999898591421 0.49995801165027 0.49838946601557 0.46053358059757 0.13597287749655 0.10280106789671 0.1000667274563 0.10000113621606 0.10000001524854 0.10000000013198 0.09999999998764 0.10000000000221 0.10000000000046 0.09999999999995 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000027337241 1.00000000000564 0.99999999999835 1.00000000000128 1.00000000000002 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index f33b865c29..8fb57860d1 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3950,6 +3950,26 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (l) multi-level at np=2: same STATIC 2-level hierarchy as (h) but run on TWO ranks. Multi-level was + # np=1-gated (single-rank coupling self-test); this is the FIRST golden exercising the parallel path. + # The refinement tower (L1 parent + its L2 child) is co-located on ONE rank (the child inherits its + # parent's owner), so the L1<->L2 fold stays LOCAL (bit-identical to np=1) and only the L0<->L1 coupling + # crosses ranks via the existing single-level P2P. Protects the owner-guards on s_amr_restrict_to_parent + # / s_amr_reflux_to_parent (without them the lock-step L2->parent fold dereferences a non-owner's + # unallocated parent slot -> SIGSEGV on rank 1). Kept STATIC (amr_regrid_int=0): cross-rank sensor-on-fine + # regrid nesting is still np=1 (checker-gated). Same 1D Sod as (h); deterministic across the 2-way split. + stack.push( + "AMR -> 1D -> multi-level static np=2", + { + **amr_1d_base, + "amr_regrid_int": 0, + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {}, ppn=2)) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From ee0864b4eec67eceaaea19427123d582e8dc6c6e Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 12:57:12 -0400 Subject: [PATCH 20/41] amr(#27 inc.2): dynamic multi-level at np>=2 (distributed nesting + co-located owners) --- src/simulation/m_amr.fpp | 80 +++++++++--- src/simulation/m_checker.fpp | 11 +- tests/F57C3A5B/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/F57C3A5B/golden.txt | 32 +++++ toolchain/mfc/test/cases.py | 23 ++++ 5 files changed, 323 insertions(+), 16 deletions(-) create mode 100644 tests/F57C3A5B/golden-metadata.txt create mode 100644 tests/F57C3A5B/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 910d2e8a12..7371e61fa5 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -885,14 +885,14 @@ contains !! is untouched; this only fills amr_block_owner for the Phase-2 switch and prints a predicted-imbalance line. impure subroutine s_amr_assign_block_owners() - integer :: k, kk, r, ord(amr_num_blocks) - integer(kind=8) :: wt(amr_num_blocks), key(amr_num_blocks), tmpk, cum, tgt, total + integer :: k, kk, r, a, lev, maxlev, ord(amr_num_blocks) + integer(kind=8) :: wt(amr_num_blocks), twt(amr_num_blocks), key(amr_num_blocks), tmpk, cum, tgt, total integer :: tmpo real(wp) :: rank_load(0:num_procs - 1), imbal if (amr_num_blocks < 1) return - ! per-block fine-work weight = fine cell count (product of 2*extent-1 over active dims) + ! per-block own fine-work weight = fine cell count (product of 2*extent-1 over active dims) do k = 1, amr_num_blocks wt(k) = int(2*(amr_region_hi_all(1, k) - amr_region_lo_all(1, k) + 1) - 1, 8) if (n_glb > 0) wt(k) = wt(k)*int(2*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 8) @@ -901,6 +901,19 @@ contains ord(k) = k end do + ! CO-LOCATE refinement towers: a level-1 block and all its nested descendants are owned WHOLE by one rank so every + ! parent<->child gather/restrict/reflux stays LOCAL (no new MPI - only L0<->L1 crosses ranks). Roll each block's own + ! work up onto its top-level (level-1) ancestor, SFC-balance only the level-1 anchors, then let descendants inherit. + ! Single-level (all blocks level 1): twt == wt and the inherit pass is empty, so this is byte-identical to before. + twt = 0_8 + do k = 1, amr_num_blocks + a = k + do while (amr_block_level(a) > 1) + a = f_amr_parent_block(a) + end do + twt(a) = twt(a) + wt(k) + end do + ! sort block indices by Morton key (insertion sort - amr_num_blocks is small, <= amr_max_blocks) do k = 2, amr_num_blocks tmpk = key(ord(k)); tmpo = ord(k); kk = k - 1 @@ -911,19 +924,29 @@ contains ord(kk + 1) = tmpo end do - ! chains-on-chains: walk blocks in SFC order, advance the owner rank when the cumulative weight crosses the next even share + ! chains-on-chains over the level-1 anchors in SFC order, weighted by whole-tower work; advance the owner rank when the + ! cumulative tower weight crosses the next even share total = 0_8 do k = 1, amr_num_blocks - total = total + wt(k) + if (amr_block_level(k) == 1) total = total + twt(k) end do rank_load = 0._wp r = 0; cum = 0_8 do k = 1, amr_num_blocks + if (amr_block_level(ord(k)) /= 1) cycle tgt = (int(r + 1, 8)*total)/int(num_procs, 8) if (cum >= tgt .and. r < num_procs - 1) r = r + 1 amr_block_owner(ord(k)) = r - rank_load(r) = rank_load(r) + real(wt(ord(k)), wp) - cum = cum + wt(ord(k)) + rank_load(r) = rank_load(r) + real(twt(ord(k)), wp) + cum = cum + twt(ord(k)) + end do + + ! descendants inherit their parent's owner (top-down, level by level - parents already assigned when their children run) + maxlev = maxval(amr_block_level(1:amr_num_blocks)) + do lev = 2, maxlev + do k = 1, amr_num_blocks + if (amr_block_level(k) == lev) amr_block_owner(k) = amr_block_owner(f_amr_parent_block(k)) + end do end do if (proc_rank == 0) then @@ -3901,22 +3924,36 @@ contains ! where they sit. np=1 + non-IB (multi-level distribution / IB nesting are future work). Regions stay in L0 cell ! indices. box_level(1:nboxes) = 1 - if (amr_max_level >= 2 .and. num_procs == 1 .and. .not. ib) then + if (amr_max_level >= 2 .and. .not. ib) then block integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo, ob, obi, ncb, kc, mlo(3), mhi(3) - logical, allocatable :: ctag(:,:,:) + integer :: mg, ng, pg, ci, cj, ck, sidx(3) + logical, allocatable :: ctag(:,:,:), gctag(:,:,:) logical :: covered, any_tag type(t_box), allocatable :: cboxes(:) +#ifdef MFC_MPI + integer :: ierr +#endif ! host-refresh the live (old) blocks' continuity fields: the fine sensor below reads amr_slots(ob)%q_cons on the ! host, but the GPU_UPDATE host that the step-5 stash does runs AFTER this nesting - so the host copy is stale ! here do ob = 1, amr_num_blocks + if (.not. amr_owns_all(ob)) cycle ! np>1: only the owner holds this old block's fine q_cons do obi = eqn_idx%cont%beg, eqn_idx%cont%end $:GPU_UPDATE(host='[amr_slots(ob)%q_cons(obi)%sf]') end do end do - allocate (ctag(0:m,0:n,0:p)) + ! Fine-sensor tags accumulate in a GLOBAL L0 frame: at np>1 an old block is read only by its owner, but its + ! tag footprint can fall in ANOTHER rank's subdomain, so the local (0:m) frame the clusterer uses cannot hold + ! it. Each owner ORs its tags into gctag; an ALLREDUCE unions them; the clusterer then consumes the local slice. + mg = m_glb; ng = 0; pg = 0 + if (n_glb > 0) ng = n_glb + if (p_glb > 0) pg = p_glb + sidx = 0; sidx(1) = start_idx(1) + if (n_glb > 0) sidx(2) = start_idx(2) + if (p_glb > 0) sidx(3) = start_idx(3) + allocate (ctag(0:m,0:n,0:p), gctag(0:mg,0:ng,0:pg)) plo = 1; phi = nboxes ! [plo:phi] = the boxes at the previous level (lev-1) to nest inside do lev = 2, amr_max_level @@ -3935,7 +3972,7 @@ contains ! sensor-on-fine: tag from every OLD level-(lev-1) block overlapping this parent window (amr_block_level ! still holds the old levels here - it is reset to box_level at step 5b, below) - ctag = .false.; covered = .false.; any_tag = .false. + gctag = .false.; covered = .false.; any_tag = .false. do ob = 1, amr_num_blocks if (amr_block_level(ob) /= lev - 1) cycle if (boxes(kb)%lo(1) > amr_region_hi_all(1, ob) .or. boxes(kb)%hi(1) < amr_region_lo_all(1, & @@ -3948,13 +3985,28 @@ contains if (boxes(kb)%lo(3) > amr_region_hi_all(3, ob) .or. boxes(kb)%hi(3) < amr_region_lo_all(3, & & ob)) cycle end if - covered = .true. - call s_amr_tag_child_from_fine(ob, mlo, mhi, ctag, any_tag) + covered = .true. ! replicated (metadata) - identical on every rank regardless of ownership + if (amr_owns_all(ob)) call s_amr_tag_child_from_fine(ob, mlo, mhi, gctag, any_tag) end do +#ifdef MFC_MPI + ! union the distributed owners' fine tags so every rank clusters the SAME child boxes (regrid must be + ! deterministic); no-op at np=1 (the single owner already holds the whole global tag field) + if (num_procs > 1) call MPI_ALLREDUCE(MPI_IN_PLACE, gctag, (mg + 1)*(ng + 1)*(pg + 1), MPI_LOGICAL, & + & MPI_LOR, MPI_COMM_WORLD, ierr) +#endif + any_tag = any(gctag) ! recompute from the reduced field (a rank's local any_tag saw only its own obs) if (covered .and. .not. any_tag) cycle ! parent's fine solution is smooth here - no child if (covered) then + ! slice the reduced global tag field into this rank's local (0:m) frame for the clusterer + do ck = 0, p + do cj = 0, n + do ci = 0, m + ctag(ci, cj, ck) = gctag(ci + sidx(1), cj + sidx(2), ck + sidx(3)) + end do + end do + end do ! cluster the fine-tagged L0 cells into child boxes, pad by amr_buf, clamp into the nesting window call s_amr_cluster(ctag, cboxes, ncb) do kc = 1, ncb @@ -3999,7 +4051,7 @@ contains plo = newlo; phi = nboxes ! the boxes just appended are the parents for the next level if (phi < plo) exit ! nothing nested at this level -> no deeper levels possible end do - deallocate (ctag) + deallocate (ctag, gctag) if (nboxes >= amr_max_blocks .and. proc_rank == 0) print '(A)', & & ' [amr] NOTE: block pool full during multi-level nesting; some boxes were not refined further' end block diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 1501037299..e94020f6b5 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,14 +193,21 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. amr_regrid_int > 0, & - & "dynamic multi-level regrid (amr_regrid_int > 0) with amr_max_level > 1 is np=1 only (the cross-rank sensor-on-fine nesting is under development); a STATIC multi-level hierarchy (amr_regrid_int = 0) is supported at num_procs > 1") + @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. ib, & + & "multi-level AMR (amr_max_level > 1) with immersed boundaries at num_procs > 1 is not yet supported (fine-grid IB nesting is under development); use num_procs = 1 or amr_max_level = 1 with IB") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if @:PROHIBIT(.not. amr .and. amr_regrid_int > 0, "amr_regrid_int requires amr") @:PROHIBIT(amr_subcycle .and. .not. amr, "amr_subcycle requires amr") @:PROHIBIT(amr_subcycle .and. cfl_dt, "amr_subcycle requires a fixed dt (cfl_dt not supported)") + ! Pre-existing (independent of level count): subcycled fine advance + dynamic regrid at np>1 leaks + ! conservation (~1e-4 in a closed system) - a subcycle's accumulated L0<->L1 reflux is not applied + ! across a regrid rebuild under the P2P reflux path. Static (amr_regrid_int = 0) subcycle and + ! lock-step (amr_subcycle = F) dynamic regrid both conserve to machine zero at np>1; fail closed on the + ! leaking combination until the reflux/regrid ordering is fixed. + @:PROHIBIT(amr_subcycle .and. amr_regrid_int > 0 .and. num_procs > 1, & + & "amr_subcycle with dynamic regrid (amr_regrid_int > 0) is not yet conservation-safe at num_procs > 1; use amr_subcycle = F (lock-step) for dynamic multi-rank runs, or amr_regrid_int = 0 (static) with subcycling") if (num_particle_clouds > 0) then call s_check_inputs_particle_clouds diff --git a/tests/F57C3A5B/golden-metadata.txt b/tests/F57C3A5B/golden-metadata.txt new file mode 100644 index 0000000000..108f116d93 --- /dev/null +++ b/tests/F57C3A5B/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-10 12:43:35.509880. + +mfc.sh: + + Invocation: test --generate --only F57C3A5B -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 659d65c460609acc7b60d77785232aeb62de53c8 on amr-multilevel (dirty) + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 79% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/F57C3A5B/golden.txt b/tests/F57C3A5B/golden.txt new file mode 100644 index 0000000000..a50f34e1f0 --- /dev/null +++ b/tests/F57C3A5B/golden.txt @@ -0,0 +1,32 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.00.000006.dat 0.99999999984041 0.99999998962947 0.99999941556158 0.99998609203598 0.99883766904725 0.96030747406811 0.53952839010409 0.50131248115565 0.50002824523662 0.50000024199719 0.50000000131594 0.49999999998333 0.50000000000079 0.50000000000007 0.50000000000009 0.49999999999998 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999997 0.50000000000002 0.50000000000011 0.49999999999743 0.4999999999225 0.49999992342279 0.49999091956408 0.4990722455518 0.46700349662001 0.15786500049639 0.12605137625602 0.12501691438251 0.12500012330053 0.12500000049062 0.12499999999449 0.1250000000006 0.12500000000013 0.125 0.12499999999999 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 1.7799e-10 1.227446e-08 6.9150662e-07 1.72642076e-05 0.0013727280579 0.04676885459948 0.0462350741987 0.00157165563296 3.343148774e-05 2.8629158e-07 1.61082e-09 -2.122e-11 9.4e-13 1.2e-13 2.1e-13 -4e-14 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 +D/cons.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000006.dat 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -1e-14 6e-14 -2e-14 -1.5e-13 3.12e-12 8.929e-11 9.062181e-08 1.074397596e-05 0.00109509975732 0.03685048993538 0.03766609415853 0.0011594362091 1.791423364e-05 1.3025524e-07 7.7003e-10 -1.023e-11 7.7e-13 1.4e-13 4e-14 -1e-14 0.0 0.0 -0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.00.000006.dat 2.49999999944144 2.49999996370315 2.49999795446976 2.4999513238605 2.49594164257797 2.3732282942502 1.37616660670775 1.25461449203755 1.25009887132775 1.25000084699114 1.25000000460578 1.24999999994164 1.25000000000277 1.25000000000025 1.25000000000031 1.24999999999991 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.01.000000.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.01.000006.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000002 1.2499999999999 1.25000000000009 1.25000000000037 1.24999999999102 1.24999999972875 1.24999973197987 1.24996821982997 1.24676601518251 1.1529733257985 0.34724427787507 0.25300070582564 0.25004737718555 0.25000034524242 0.25000000137373 0.24999999998458 0.25000000000168 0.25000000000035 0.25000000000001 0.24999999999997 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.00002874534111 1.00000000009419 1.0 0.99985379083595 0.99999973458187 1.0 1.0 1.00000000034729 1.0 1.0 0.99999999999029 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000269 1.0 1.0 1.00000000010215 1.0 1.00000000291779 1.00000000000001 0.99999999999968 1.00000000000031 1.0 1.0 1.0 0.99999999955925 1.0 1.0 0.99999999998535 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.00.000006.dat 0.99999999984041 0.99999998962947 0.99999941556158 0.99998609203598 0.99883766904725 0.96030747406811 0.53952839010409 0.50131248115565 0.50002824523662 0.50000024199719 0.50000000131594 0.49999999998333 0.50000000000079 0.50000000000007 0.50000000000009 0.49999999999998 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999997 0.50000000000002 0.50000000000011 0.49999999999743 0.4999999999225 0.49999992342279 0.49999091956408 0.4990722455518 0.46700349662001 0.15786500049639 0.12605137625602 0.12501691438251 0.12500012330053 0.12500000049062 0.12499999999449 0.1250000000006 0.12500000000013 0.125 0.12499999999999 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 1.7799e-10 1.227446e-08 6.9150703e-07 1.726444771e-05 0.00137432547894 0.04870195834399 0.08569534995143 0.00313508179436 6.685919857e-05 5.7258289e-07 3.22165e-09 -4.244e-11 1.89e-12 2.4e-13 4.2e-13 -8e-14 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 +D/prim.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.01.000006.dat 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -2e-14 1.2e-13 -4e-14 -3e-13 6.24e-12 1.7858e-10 1.8124364e-07 2.148834217e-05 0.002194271004 0.07890838120504 0.23859686466342 0.00919812415809 0.00014329447922 1.04204092e-06 6.16021e-09 -8.186e-11 6.16e-12 1.15e-12 3e-13 -1.1e-13 1e-14 0.0 -0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.00.000006.dat 0.99999999977658 0.99999998548126 0.99999918178781 0.99995178552942 0.99837627962213 0.94883577073838 0.54975459567027 0.50184494455997 0.50003954808406 0.50000033879642 0.50000000166867 0.49999999997666 0.50000000000111 0.50000000000496 0.50000000000012 0.49999999999997 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000001 0.49999999999996 0.49999999999869 0.50000000000015 0.49999999999641 0.49999999984043 0.49999989279195 0.49998728642695 0.49870592548387 0.46060776781806 0.13710030875592 0.10119814940262 0.10001895036082 0.10000013809694 0.10000000059357 0.09999999999383 0.10000000000067 0.1000000000016 0.1 0.09999999999999 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.00002874534111 1.00000000009419 1.0 0.99985379083595 0.99999973458187 1.0 1.0 1.00000000034729 1.0 1.0 0.99999999999029 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000269 1.0 1.0 1.00000000010215 1.0 1.00000000291779 1.00000000000001 0.99999999999968 1.00000000000031 1.0 1.0 1.0 0.99999999955925 1.0 1.0 0.99999999998535 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 8fb57860d1..1011bfad38 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3970,6 +3970,29 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {}, ppn=2)) stack.pop() + # (m) multi-level + dynamic regrid at np=2: (l) is a STATIC 2-level hierarchy on two ranks; this arms + # amr_regrid_int so the level-2 children are placed by DISTRIBUTED sensor-on-fine nesting. Each rank tags + # children only for the level-1 parents it owns (its local fine data), the tags are OR-reduced across ranks + # into one global field, and the SFC owner map keeps every child co-located with its parent (tower weight + # rolled onto the level-1 anchor). This is the FIRST golden exercising the cross-rank dynamic multi-level + # path (the distributed 3b nesting + the co-located owner reassignment as towers are created/moved). Uses + # (i)'s robust eps=0.1/amr_buf=6 so the rebuilt L2 box is cross-compiler stable across the 2-way split. + # LOCK-STEP (amr_subcycle=F): subcycle + dynamic regrid at np>1 is checker-gated (a pre-existing reflux/ + # regrid-ordering leak, independent of level count). + stack.push( + "AMR -> 1D -> multi-level dynamic regrid np=2", + { + **amr_1d_base, + "amr_regrid_int": 2, + "amr_tag_eps": 0.1, + "amr_buf": 6, + "amr_max_level": 2, + "amr_max_blocks": 8, + }, + ) + cases.append(define_case_d(stack, "", {}, ppn=2)) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From 6642c776db2d7f14c2f31a5cb6c3d08d576d7cdf Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 13:41:15 -0400 Subject: [PATCH 21/41] amr(#27 inc.2): gate multi-level np>1 to validated 1D (2D/3D fine-block migration segfaults; use n>0 not num_dims which is unset at checker time) --- src/simulation/m_checker.fpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index e94020f6b5..b4b47eaafd 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,8 +193,11 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. ib, & - & "multi-level AMR (amr_max_level > 1) with immersed boundaries at num_procs > 1 is not yet supported (fine-grid IB nesting is under development); use num_procs = 1 or amr_max_level = 1 with IB") + ! n/p are the raw namelist grid sizes (set in s_read_input_file, before decomposition); num_dims is + ! NOT yet assigned at checker time in a non-case-optimized build, so test the grid extents directly. + ! n > 0 => 2D or 3D. + @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. (n > 0 .or. ib), & + & "multi-level AMR (amr_max_level > 1) at num_procs > 1 is currently validated for 1D non-IB only (the cross-rank 2D/3D fine-block migration and fine-grid IB nesting are under development); use num_procs = 1, or amr_max_level = 1, for 2D/3D or IB") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if From 4dea454f7fd8efb0440513eb4499e877c3b238bf Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 14:34:16 -0400 Subject: [PATCH 22/41] amr(#27 inc.3): 2D/3D multi-level at np>=2 (fix parent-gather arg + fine-fine halo buffer sizing on non-owner ranks) --- src/simulation/m_amr.fpp | 74 ++++++----- src/simulation/m_checker.fpp | 7 +- tests/ADA042A2/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/ADA042A2/golden.txt | 20 +++ toolchain/mfc/test/cases.py | 56 +++++++++ 5 files changed, 315 insertions(+), 35 deletions(-) create mode 100644 tests/ADA042A2/golden-metadata.txt create mode 100644 tests/ADA042A2/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 7371e61fa5..72c88d8639 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -633,7 +633,9 @@ contains pblk = f_amr_parent_block(amr_cur) ! lock-step fill: gather from the parent's CURRENT fine state. pull_host stays in the signature for the level-1 path. - call s_amr_gather_from_parent_field(pblk, amr_slots(pblk)%q_cons) + ! Owner-guard at the CALL SITE: on a non-owner rank the parent slot is unallocated (co-located tower - owner holds both + ! block and parent), and passing amr_slots(pblk)%q_cons would dereference it before the callee's internal early-return. + if (amr_rank_owns_block) call s_amr_gather_from_parent_field(pblk, amr_slots(pblk)%q_cons) end subroutine s_amr_gather_from_parent @@ -1339,7 +1341,8 @@ contains call s_amr_reconcile_slots() amr_cur = L2 call s_set_amr_fine_geometry(amr_region_lo_all(:,L2), amr_region_hi_all(:,L2)) - call s_amr_gather_coarse_patch(amr_slots(1)%q_cons, .false.) ! q_coarse ignored for level>=2 (reads the parent block) + call s_amr_gather_coarse_patch(q_cons_base, .false.) ! q_coarse ignored for level>=2 (reads the parent block); pass the + ! always-allocated base field, not amr_slots(1) (the parent slot is unallocated on a non-owner rank at np>1) if (amr_rank_owns_block) then call s_interpolate_coarse_to_fine() ! push the host-side prolong to the device (mirror s_populate_amr_fine): s_prolong_one_var is a host loop, so without @@ -1409,32 +1412,36 @@ contains ! the Berger-Colella correction deposits exactly (F_coarse - Fbar_fine)/dxf into the parent's outside cells (reflux is ! conservative - the flux crossing the c/f boundary is redeposited, not lost). 1D self-test drives the x-faces; the ! 2D/3D faces run in the advance driver. Perturbation is restored below so the self-test stays non-intrusive. - block - integer :: e, ol, oh - real(wp) :: dxf, errr, expl, exph, al, ah - real(stp), allocatable :: ql0(:), qh0(:) - dxf = amr_slots(1)%dx(amr_isect_lo(1)); ol = amr_isect_lo(1) - 1; oh = amr_isect_hi(1) + 1 - allocate (ql0(sys_size), qh0(sys_size)) - do e = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') - ql0(e) = amr_slots(1)%q_cons(e)%sf(ol, 0, 0); qh0(e) = amr_slots(1)%q_cons(e)%sf(oh, 0, 0) - creg(1)%lo(e,:,:,L2) = 0.11_wp*e; creg(1)%hi(e,:,:,L2) = 0.07_wp*e - freg(1)%lo(e,:,:,L2) = 0.03_wp*e; freg(1)%hi(e,:,:,L2) = 0.05_wp*e - end do - $:GPU_UPDATE(device='[creg(1)%lo(:, :, :, L2), creg(1)%hi(:, :, :, L2), freg(1)%lo(:, :, :, L2), freg(1)%hi(:, :, & - & :, L2)]') - call s_amr_reflux_to_parent(1._wp) - errr = 0._wp - do e = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') - al = real(amr_slots(1)%q_cons(e)%sf(ol, 0, 0), wp) - real(ql0(e), wp) - ah = real(amr_slots(1)%q_cons(e)%sf(oh, 0, 0), wp) - real(qh0(e), wp) - expl = (0.11_wp*e - 0.03_wp*e)/dxf; exph = (0.05_wp*e - 0.07_wp*e)/dxf - errr = max(errr, abs(al - expl), abs(ah - exph)) - end do - deallocate (ql0, qh0) - print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: reflux-to-parent conservation err = ', errr - end block + ! The expected-deposit check is x-face (1D) math; skip it in 2D/3D (the transverse faces make the single-cell + ! expectation invalid) - 2D/3D reflux conservation is exercised by the advance driver and its closed-system drift. + if (n_glb == 0) then + block + integer :: e, ol, oh + real(wp) :: dxf, errr, expl, exph, al, ah + real(stp), allocatable :: ql0(:), qh0(:) + dxf = amr_slots(1)%dx(amr_isect_lo(1)); ol = amr_isect_lo(1) - 1; oh = amr_isect_hi(1) + 1 + allocate (ql0(sys_size), qh0(sys_size)) + do e = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') + ql0(e) = amr_slots(1)%q_cons(e)%sf(ol, 0, 0); qh0(e) = amr_slots(1)%q_cons(e)%sf(oh, 0, 0) + creg(1)%lo(e,:,:,L2) = 0.11_wp*e; creg(1)%hi(e,:,:,L2) = 0.07_wp*e + freg(1)%lo(e,:,:,L2) = 0.03_wp*e; freg(1)%hi(e,:,:,L2) = 0.05_wp*e + end do + $:GPU_UPDATE(device='[creg(1)%lo(:, :, :, L2), creg(1)%hi(:, :, :, L2), freg(1)%lo(:, :, :, L2), & + & freg(1)%hi(:, :, :, L2)]') + call s_amr_reflux_to_parent(1._wp) + errr = 0._wp + do e = 1, sys_size + $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') + al = real(amr_slots(1)%q_cons(e)%sf(ol, 0, 0), wp) - real(ql0(e), wp) + ah = real(amr_slots(1)%q_cons(e)%sf(oh, 0, 0), wp) - real(qh0(e), wp) + expl = (0.11_wp*e - 0.03_wp*e)/dxf; exph = (0.05_wp*e - 0.07_wp*e)/dxf + errr = max(errr, abs(al - expl), abs(ah - exph)) + end do + deallocate (ql0, qh0) + print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: reflux-to-parent conservation err = ', errr + end block + end if ! restore block 1's full state (buffer -> host -> device): undoes every intrusive-check write so the persistent ! parent enters the advance exactly as s_populate_amr_fine left it (device-clean). do bi = 1, sys_size @@ -2875,6 +2882,7 @@ contains do xb = 1, amr_num_blocks do yb = 1, amr_num_blocks if (xb == yb) cycle + if (amr_block_level(xb) /= amr_block_level(yb)) cycle ! fine-fine halo is same-level only (matched resolution) d = 0 if (f_amr_seam(xb, yb, 1)) d = 1 if (n_glb > 0) then; if (f_amr_seam(xb, yb, 2)) d = 2; end if @@ -2882,8 +2890,14 @@ contains if (d == 0) cycle rX = amr_block_owner(xb); rY = amr_block_owner(yb) if (proc_rank /= rX .and. proc_rank /= rY) cycle - xm(1) = amr_slots(xb)%m; xm(2) = amr_slots(xb)%n; xm(3) = amr_slots(xb)%p - ym(1) = amr_slots(yb)%m; ym(2) = amr_slots(yb)%n; ym(3) = amr_slots(yb)%p + ! fine extents from the REPLICATED region metadata (fine = 2*coarse-1), not amr_slots%m/n/p: at np>1 this rank + ! may own only one of the pair, and the transverse size (used for the buffer count) must be valid for both + xm(1) = 2*(amr_region_hi_all(1, xb) - amr_region_lo_all(1, xb) + 1) - 1 + xm(2) = merge(2*(amr_region_hi_all(2, xb) - amr_region_lo_all(2, xb) + 1) - 1, 0, n_glb > 0) + xm(3) = merge(2*(amr_region_hi_all(3, xb) - amr_region_lo_all(3, xb) + 1) - 1, 0, p_glb > 0) + ym(1) = 2*(amr_region_hi_all(1, yb) - amr_region_lo_all(1, yb) + 1) - 1 + ym(2) = merge(2*(amr_region_hi_all(2, yb) - amr_region_lo_all(2, yb) + 1) - 1, 0, n_glb > 0) + ym(3) = merge(2*(amr_region_hi_all(3, yb) - amr_region_lo_all(3, yb) + 1) - 1, 0, p_glb > 0) ! transverse fine size (dims /= d); xb and yb share it (exact-match seam) tsz = 1 if (d /= 1) tsz = tsz*(xm(1) + 1) diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index b4b47eaafd..31da457dd2 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,11 +193,8 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") - ! n/p are the raw namelist grid sizes (set in s_read_input_file, before decomposition); num_dims is - ! NOT yet assigned at checker time in a non-case-optimized build, so test the grid extents directly. - ! n > 0 => 2D or 3D. - @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. (n > 0 .or. ib), & - & "multi-level AMR (amr_max_level > 1) at num_procs > 1 is currently validated for 1D non-IB only (the cross-rank 2D/3D fine-block migration and fine-grid IB nesting are under development); use num_procs = 1, or amr_max_level = 1, for 2D/3D or IB") + @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. ib, & + & "multi-level AMR (amr_max_level > 1) with immersed boundaries at num_procs > 1 is not yet supported (fine-grid IB nesting is under development); use num_procs = 1, or amr_max_level = 1, with IB") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if diff --git a/tests/ADA042A2/golden-metadata.txt b/tests/ADA042A2/golden-metadata.txt new file mode 100644 index 0000000000..938351af51 --- /dev/null +++ b/tests/ADA042A2/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-10 14:33:34.589096. + +mfc.sh: + + Invocation: test --generate --only ADA042A2 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=Yes & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 1c626aa053e9962a8d63ea5a4ece5efae6f4d123 on amr-multilevel (dirty) + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-007-36-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-007-36-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-007-36-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-007-36-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 77% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/ADA042A2/golden.txt b/tests/ADA042A2/golden.txt new file mode 100644 index 0000000000..d6cdd0ec78 --- /dev/null +++ b/tests/ADA042A2/golden.txt @@ -0,0 +1,20 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.00.000006.dat 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999778 0.49999999999779 0.49999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.49999999999779 0.49999999999778 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000924 0.50000000000922 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000922 0.50000000000924 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997357 0.49999999999824 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999812 0.49999999999824 0.49999999997357 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717037 0.49999999717059 0.499999997169 0.49999999717505 0.49999999986648 0.49999999987797 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987837 0.49999999987797 0.49999999986648 0.49999999717505 0.499999997169 0.49999999717059 0.49999999717037 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717035 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514641 0.49999976514729 0.49999976514674 0.49999976463722 0.49999970666342 0.4999997062044 0.49999970620499 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620498 0.49999970620499 0.4999997062044 0.49999970666342 0.49999976463722 0.49999976514674 0.49999976514729 0.49999976514641 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514667 0.49998466355156 0.49998466355156 0.49998466355156 0.49998466355155 0.4999846635517 0.49998466355197 0.49998466354682 0.49998466366289 0.49998472225564 0.499984722314 0.4999847223088 0.49998472230909 0.49998472230924 0.49998472230923 0.49998472230923 0.49998472230923 0.49998472230923 0.49998472230923 0.49998472230923 0.49998472230924 0.49998472230909 0.4999847223088 0.499984722314 0.49998472225564 0.49998466366289 0.49998466354682 0.49998466355197 0.4999846635517 0.49998466355155 0.49998466355156 0.49998466355156 0.49998466355156 0.49925805577945 0.49925805577945 0.49925805577945 0.49925805577946 0.49925805577943 0.49925805577892 0.4992580557824 0.49925805577729 0.49925805238696 0.49925805237861 0.49925805238217 0.49925805238165 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238163 0.49925805238165 0.49925805238217 0.49925805237861 0.49925805238696 0.49925805577729 0.4992580557824 0.49925805577892 0.49925805577943 0.49925805577946 0.49925805577945 0.49925805577945 0.49925805577945 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719807 0.47311633719729 0.47311633719748 0.47311633781733 0.47311633781882 0.47311633781802 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781815 0.47311633781802 0.47311633781882 0.47311633781733 0.47311633719748 0.47311633719729 0.47311633719807 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.1510740602515 0.15107406025129 0.15107406025202 0.15107406048207 0.15107406048262 0.15107406048241 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048244 0.15107406048241 0.15107406048262 0.15107406048207 0.15107406025202 0.15107406025129 0.1510740602515 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645714 0.12653652646215 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646213 0.12653652646215 0.12653652645714 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 +D/cons.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000006.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.6e-12 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.6e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.129e-11 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -9e-14 -1.129e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.983e-11 2.979e-11 2.28e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.34e-12 2.28e-12 2.979e-11 2.983e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.3762e-09 1.8e-10 1.7164e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7165e-10 1.7164e-10 1.8e-10 3.3762e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786514e-07 2.7786516e-07 2.778648e-07 2.7787755e-07 3.4748546e-07 3.4759989e-07 3.4759972e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759971e-07 3.4759972e-07 3.4759989e-07 3.4748546e-07 2.7787755e-07 2.778648e-07 2.7786516e-07 2.7786514e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.81456499e-05 1.814564981e-05 1.81456509e-05 1.814562492e-05 1.807916003e-05 1.80790428e-05 1.807904355e-05 1.80790435e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.807904349e-05 1.80790435e-05 1.807904355e-05 1.80790428e-05 1.807916003e-05 1.814562492e-05 1.81456509e-05 1.814564981e-05 1.81456499e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135737 0.00087632135749 0.00087632135635 0.00087632137151 0.00087632082117 0.00087632083483 0.00087632083385 0.00087632083396 0.00087632083398 0.00087632083397 0.00087632083397 0.00087632083397 0.00087632083397 0.00087632083397 0.00087632083397 0.00087632083398 0.00087632083396 0.00087632083385 0.00087632083483 0.00087632082117 0.00087632137151 0.00087632135635 0.00087632135749 0.00087632135737 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135735 0.02945349956262 0.02945349956262 0.02945349956262 0.02945349956263 0.02945349956262 0.02945349956256 0.02945349956305 0.02945349955901 0.02945350008645 0.02945350008367 0.02945350008416 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.0294535000841 0.02945350008416 0.02945350008367 0.02945350008645 0.02945349955901 0.02945349956305 0.02945349956256 0.02945349956262 0.02945349956263 0.02945349956262 0.02945349956262 0.02945349956262 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113118 0.02923786113102 0.02923786113162 0.02923786121959 0.02923786122004 0.02923786121987 0.02923786121989 0.0292378612199 0.0292378612199 0.0292378612199 0.0292378612199 0.0292378612199 0.0292378612199 0.0292378612199 0.0292378612199 0.02923786121989 0.02923786121987 0.02923786122004 0.02923786121959 0.02923786113162 0.02923786113102 0.02923786113118 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276212 0.00182141276206 0.00182141276887 0.00182141276882 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276883 0.00182141276882 0.00182141276887 0.00182141276206 0.00182141276212 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 +D/cons.3.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.00.000006.dat 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 +D/cons.3.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.01.000006.dat 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 1e-14 -3e-14 -2e-14 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 2e-14 3e-14 -1e-14 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -1e-14 5e-14 4e-14 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -4e-14 -5e-14 1e-14 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -2e-14 1.2e-13 1e-13 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -1e-13 -1.2e-13 2e-14 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -2e-14 -3.2e-13 2.94e-12 -2.624e-11 -2.323e-11 -5.5e-13 1e-14 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -1e-14 5.5e-13 2.323e-11 2.624e-11 -2.94e-12 3.2e-13 2e-14 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -1e-14 3.1e-13 -4.5e-13 -6.02e-12 6.1434e-10 6.2207e-10 -1.22e-12 3e-14 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -3e-14 1.22e-12 -6.2207e-10 -6.1434e-10 6.02e-12 4.5e-13 -3.1e-13 1e-14 0.0 -0.0 0.0 0.0 -0.0 -0.0 1e-14 -1.7e-13 -7e-13 1.14e-11 -2.0565e-10 -2.0535e-10 1.15e-11 -7.2e-13 -1.6e-13 1e-14 -0.0 -0.0 0.0 -0.0 0.0 0.0 -1e-14 1.6e-13 7.2e-13 -1.15e-11 2.0535e-10 2.0565e-10 -1.14e-11 7e-13 1.7e-13 -1e-14 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 3e-14 7.4e-13 -6.74e-12 3.563e-11 3.565e-11 -6.72e-12 7.3e-13 3e-14 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -3e-14 -7.3e-13 6.72e-12 -3.565e-11 -3.563e-11 6.74e-12 -7.4e-13 -3e-14 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -1e-14 -2.1e-13 1.83e-12 -8.57e-12 -8.58e-12 1.82e-12 -2.1e-13 -1e-14 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 1e-14 2.1e-13 -1.82e-12 8.58e-12 8.57e-12 -1.83e-12 2.1e-13 1e-14 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -2e-14 1.5e-13 -7.4e-13 -7.3e-13 1.5e-13 -2e-14 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 2e-14 -1.5e-13 7.3e-13 7.4e-13 -1.5e-13 2e-14 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 1e-14 -4e-14 -4e-14 1e-14 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -1e-14 4e-14 4e-14 -1e-14 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 +D/cons.4.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.4.00.000006.dat 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999987 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.4.01.000000.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.4.01.000006.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999224 1.24999999999227 1.24999999999998 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999998 1.24999999999227 1.24999999999224 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003231 1.25000000003234 1.25000000003228 1.25000000000029 1.25000000000028 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000027 1.25000000000028 1.25000000000029 1.25000000003228 1.25000000003234 1.25000000003231 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990765 1.24999999990765 1.24999999990768 1.24999999990751 1.24999999999385 1.24999999999343 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999344 1.24999999999343 1.24999999999385 1.24999999990751 1.24999999990768 1.24999999990765 1.24999999990765 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999009624 1.24999999009624 1.24999999009624 1.24999999009623 1.24999999009628 1.24999999009708 1.2499999900915 1.24999999011266 1.24999999953267 1.24999999957288 1.2499999995743 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.24999999957429 1.2499999995743 1.24999999957288 1.24999999953267 1.24999999011266 1.2499999900915 1.24999999009708 1.24999999009628 1.24999999009623 1.24999999009624 1.24999999009624 1.24999999009624 1.24999917801534 1.24999917801534 1.24999917801534 1.24999917801536 1.24999917801442 1.24999917801752 1.24999917801557 1.24999917623228 1.24999897332503 1.24999897171846 1.24999897172051 1.24999897172047 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172048 1.24999897172047 1.24999897172051 1.24999897171846 1.24999897332503 1.24999917623228 1.24999917801557 1.24999917801752 1.24999917801442 1.24999917801536 1.24999917801534 1.24999917801534 1.24999917801534 1.24994632917091 1.24994632917091 1.24994632917091 1.24994632917087 1.24994632917139 1.24994632917233 1.24994632915432 1.24994632956056 1.24994653463474 1.24994653483896 1.24994653482077 1.24994653482178 1.24994653482232 1.24994653482228 1.24994653482228 1.24994653482228 1.24994653482228 1.24994653482228 1.24994653482228 1.24994653482232 1.24994653482178 1.24994653482077 1.24994653483896 1.24994653463474 1.24994632956056 1.24994632915432 1.24994632917233 1.24994632917139 1.24994632917087 1.24994632917091 1.24994632917091 1.24994632917091 1.24741512380987 1.24741512380987 1.24741512380987 1.24741512380988 1.2474151238098 1.24741512380801 1.24741512382017 1.24741512380226 1.24741511186255 1.24741511183346 1.24741511184589 1.24741511184409 1.247415111844 1.24741511184401 1.24741511184401 1.24741511184401 1.24741511184401 1.24741511184401 1.24741511184401 1.247415111844 1.24741511184409 1.24741511184589 1.24741511183346 1.24741511186255 1.24741512380226 1.24741512382017 1.24741512380801 1.2474151238098 1.24741512380988 1.24741512380987 1.24741512380987 1.24741512380987 1.17130161459157 1.17130161459157 1.17130161459157 1.17130161459156 1.17130161459158 1.17130161459201 1.17130161458929 1.17130161458992 1.17130161736813 1.17130161737278 1.17130161737005 1.17130161737048 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737049 1.17130161737048 1.17130161737005 1.17130161737278 1.17130161736813 1.17130161458992 1.17130161458929 1.17130161459201 1.17130161459158 1.17130161459156 1.17130161459157 1.17130161459157 1.17130161459157 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865205 0.32676475865214 0.32676475865147 0.3267647586539 0.32676475892598 0.32676475892815 0.32676475892746 0.32676475892755 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892756 0.32676475892755 0.32676475892746 0.32676475892815 0.32676475892598 0.3267647586539 0.32676475865147 0.32676475865214 0.32676475865205 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865204 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.2544872404355 0.25448724043549 0.25448724043542 0.25448724045055 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045048 0.25448724045055 0.25448724043542 0.25448724043549 0.2544872404355 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.5.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000566 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000566 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999954303 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999954303 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000011123428 1.00000011111452 1.00000011111481 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.0000001111148 1.00000011111481 1.00000011111452 1.00000011123428 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000135 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999831 0.99999999999999 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.00000000000137 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 1011bfad38..8070b0f2ab 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3993,6 +3993,62 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {}, ppn=2)) stack.pop() + # (n) 2D multi-level at np=2: goldens (h)-(m) validate the multi-level hierarchy along x only; this is the FIRST + # golden exercising the 2D cross-rank multi-level path. A planar Sod (BASE_CFG densities as full-height y-strips) + # on m=63 x n=31 at ppn=2 (x-split) tiles the level-1 block into same-level sub-blocks on BOTH ranks, so the + # block-to-block fine-fine halo runs across the rank seam (its transverse buffer count must come from the + # REPLICATED region metadata, not the owner-only slot m/n/p, or a rank owning only one side of a seam sizes the + # buffer from an unallocated slot -> a 2D-only crash), and the self-test L2 co-locates with its parent tile. + # Kept STATIC (amr_regrid_int=0) for determinism, like (h)/(l). + amr_2d_base = { + "m": 63, + "n": 31, + "p": 0, + "dt": 4.0e-4, + "t_step_stop": 6, + "t_step_save": 6, + "x_domain%beg": 0.0, + "x_domain%end": 1.0, + "y_domain%beg": 0.0, + "y_domain%end": 1.0, + "bc_x%beg": -3, + "bc_x%end": -3, + "bc_y%beg": -3, + "bc_y%end": -3, + "patch_icpp(1)%geometry": 3, + "patch_icpp(1)%x_centroid": 0.05, + "patch_icpp(1)%y_centroid": 0.5, + "patch_icpp(1)%length_x": 0.1, + "patch_icpp(1)%length_y": 1.0, + "patch_icpp(1)%vel(1)": 0.0, + "patch_icpp(1)%vel(2)": 0.0, + "patch_icpp(2)%geometry": 3, + "patch_icpp(2)%x_centroid": 0.45, + "patch_icpp(2)%y_centroid": 0.5, + "patch_icpp(2)%length_x": 0.7, + "patch_icpp(2)%length_y": 1.0, + "patch_icpp(2)%vel(1)": 0.0, + "patch_icpp(2)%vel(2)": 0.0, + "patch_icpp(3)%geometry": 3, + "patch_icpp(3)%x_centroid": 0.9, + "patch_icpp(3)%y_centroid": 0.5, + "patch_icpp(3)%length_x": 0.2, + "patch_icpp(3)%length_y": 1.0, + "patch_icpp(3)%vel(1)": 0.0, + "patch_icpp(3)%vel(2)": 0.0, + "amr": "T", + "amr_block_beg(1)": 16, + "amr_block_end(1)": 47, + "amr_block_beg(2)": 8, + "amr_block_end(2)": 23, + } + stack.push( + "AMR -> 2D -> multi-level static np=2", + {**amr_2d_base, "amr_regrid_int": 0, "amr_max_level": 2, "amr_max_blocks": 16}, + ) + cases.append(define_case_d(stack, "", {}, ppn=2)) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From 963947e2167dcf278836b09771ad8df919552cce Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 20:20:37 -0400 Subject: [PATCH 23/41] amr(#28): document root cause of subcycle+dynamic+np>1 leak (missing per-substep fine-fine seam halo, not reflux/regrid ordering) --- src/simulation/m_checker.fpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 31da457dd2..9d314119e6 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -201,11 +201,17 @@ contains @:PROHIBIT(.not. amr .and. amr_regrid_int > 0, "amr_regrid_int requires amr") @:PROHIBIT(amr_subcycle .and. .not. amr, "amr_subcycle requires amr") @:PROHIBIT(amr_subcycle .and. cfl_dt, "amr_subcycle requires a fixed dt (cfl_dt not supported)") - ! Pre-existing (independent of level count): subcycled fine advance + dynamic regrid at np>1 leaks - ! conservation (~1e-4 in a closed system) - a subcycle's accumulated L0<->L1 reflux is not applied - ! across a regrid rebuild under the P2P reflux path. Static (amr_regrid_int = 0) subcycle and - ! lock-step (amr_subcycle = F) dynamic regrid both conserve to machine zero at np>1; fail closed on the - ! leaking combination until the reflux/regrid ordering is fixed. + ! ROOT-CAUSED (per-step probe, 2026-07-10): subcycled fine advance at np>1 leaks conservation (~1e-4 in a + ! closed system) when max_grid_size TILING splits a feature into ADJACENT same-level sub-blocks. The + ! block-to-block fine-fine seam halo (s_amr_fine_fine_halo, which overwrites the shared-face ghosts with the + ! neighbour's fine interior so both sides compute a MATCHING seam flux) runs only in the LOCK-STEP path + ! (m_time_steppers, gated `.not. amr_subcycle`); the subcycle path re-fills ghosts from the coarse each + ! substep, so the two sub-blocks' shared fine fluxes disagree and mass leaks at the seam - the leak switches + ! on exactly when a 2nd adjacent block appears, and d_regrid is identically 0 (regrid is NOT the culprit). + ! Fixing it needs the fine-fine halo run PER SUBSTEP inside the subcycle with same-level blocks advanced in + ! lockstep (a subcycle-driver restructure, not a one-liner). np=1 never tiles into adjacent blocks (no leak); + ! lock-step (amr_subcycle = F) does the halo (no leak). Dynamic regrid is prohibited as the practical trigger + ! (a growing feature splits into adjacent tiles); fail closed until the per-substep seam halo lands. @:PROHIBIT(amr_subcycle .and. amr_regrid_int > 0 .and. num_procs > 1, & & "amr_subcycle with dynamic regrid (amr_regrid_int > 0) is not yet conservation-safe at num_procs > 1; use amr_subcycle = F (lock-step) for dynamic multi-rank runs, or amr_regrid_int = 0 (static) with subcycling") From 887eb98d5120985bc6cebcf19e4a9f64522da2d3 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 10 Jul 2026 21:31:25 -0400 Subject: [PATCH 24/41] amr(#28): single-level subcycle conserves at np>1 (transpose subcycle driver for per-substep fine-fine seam halo) --- src/simulation/m_amr.fpp | 249 ++++++++++++++++++++--------- src/simulation/m_checker.fpp | 22 ++- src/simulation/m_time_steppers.fpp | 26 +-- tests/244B1E42/golden-metadata.txt | 193 ++++++++++++++++++++++ tests/244B1E42/golden.txt | 20 +++ toolchain/mfc/test/cases.py | 14 ++ 6 files changed, 419 insertions(+), 105 deletions(-) create mode 100644 tests/244B1E42/golden-metadata.txt create mode 100644 tests/244B1E42/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 72c88d8639..f3f143e3b6 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -39,7 +39,7 @@ module m_amr public :: t_level, amr_maxc, amr_maxc_fit, amr_dt_fine, s_initialize_amr_module, s_populate_amr_fine, & & s_interpolate_coarse_to_fine, s_restrict_fine_to_coarse, s_amr_conservation_check, s_finalize_amr_module, & & s_amr_swap_to_fine, s_amr_restore_coarse, s_amr_fill_fine_ghosts, s_amr_operator_checks, s_amr_fine_stage_fill, & - & s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_advance_amr_fine_substeps, s_amr_conservation_defect, & + & s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_amr_advance_fine_subcycle_all, s_amr_conservation_defect, & & s_set_amr_fine_geometry, s_amr_regrid, s_write_amr_restart, s_read_amr_restart, s_amr_relax_fine, s_amr_setup_ib, & & s_amr_check_active_box_containment, s_amr_p2p_reflux_faces, s_amr_reflux_to_parent @@ -3036,26 +3036,19 @@ contains end subroutine s_amr_fine_stage_advance - !> Subcycled fine advance (amr_subcycle): two dt/2 SSP-RK3 substeps AFTER the coarse step. q_old/q_new are the coarse t^n and - !! t^{n+1} states; each stage's ghosts are the linear time interpolation at the stage time theta = (substep-1 + c_s)/2 with - !! SSP-RK3 abscissae c = [0, 1, 1/2]. Fine flux registers are zeroed here and accumulate over all six stages (0.5*rk3_w each) so - !! the end-of-step state reflux sees the time-averaged effective fine flux. - impure subroutine s_advance_amr_fine_substeps(q_old, q_new, coefs, bc_type, q_T_sf, pb_old, mv_old, pb_in, rhs_pb, mv_in, & - & rhs_mv, t_step, time_avg) + !> Per-block SETUP for the transposed subcycle advance (amr_subcycle): exchange valid coarse ghosts, gather+prolong the selected + !! block's two time-lerp ghost sources (parent t^n in q_ghost_a, t^{n+1} in q_ghost_b), and zero its flux registers. The + !! collective exchanges/gathers run on ALL ranks; the owner-only fills and register-zero are guarded. Called once per level-1 + !! block before the transposed stage loop (which then reuses the prepared ghost sources every substep). + impure subroutine s_amr_subcycle_setup_block(q_old, q_new, pb_old, mv_old, pb_in, mv_in) type(scalar_field), dimension(sys_size), intent(inout) :: q_old, q_new - real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) - type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type - type(scalar_field), intent(inout) :: q_T_sf real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(in) :: pb_old, mv_old real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in - real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv - integer, intent(in) :: t_step - real(wp), intent(inout) :: time_avg - if (.not. amr) return ! valid coarse CONS ghosts on both lerp sources (ALL ranks call: pairwise halo); the exchanged t^n / ! t^{n+1} ghost layers make the prolonged block-boundary ghosts correct even at rank boundaries + if (amr_xchg_coarse_ghosts) then call s_amr_exchange_coarse_cons_halo(q_old) call s_amr_exchange_coarse_cons_halo(q_new) @@ -3076,17 +3069,171 @@ contains call s_amr_fill_fine_ghosts_pbmv(pb_in, mv_in, amr_slots(amr_cur)%pb_ghost_b%sf, amr_slots(amr_cur)%mv_ghost_b%sf) end if - ! recurse into this block's subtree: subcycle its substeps at amr_dt_fine; children (if any) subcycle within each substep - call s_amr_advance_subtree(amr_dt_fine, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) + ! registers accumulate over all six stages of the transposed loop, so zero them once at setup (the stage-1 overwrite + ! trick cannot span two substeps) + call s_amr_zero_fine_registers() + + end subroutine s_amr_subcycle_setup_block + + !> Subcycled fine advance (amr_subcycle) over ALL level-1 blocks, TRANSPOSED: instead of each block running its full 2x3-stage + !! subcycle in turn, every same-level block advances stage-by-stage in LOCKSTEP with the block-to-block fine-fine seam halo + !! (s_amr_fine_fine_halo) interposed between the ghost lerp and the RHS at each stage. That is what makes max_grid_size-tiled + !! ADJACENT sub-blocks (which appear at np>1 when a feature exceeds a rank's slot) compute a MATCHING shared-face flux, so the + !! subcycle conserves at the seam - the per-block order did not run the halo and leaked there. Two dt/2 SSP-RK3 substeps AFTER + !! the coarse step: q_old/q_new are the coarse t^n / t^{n+1} states; each stage's ghosts are the linear time interpolation at + !! stage time theta = (substep-1 + c_s)/2 with SSP-RK3 abscissae c = [0, 1, 1/2]. Level-1 blocks drive their level-2 children + !! per substep (s_amr_advance_children); the L2-L2 seam halo is future work. A single owned level-1 block is byte-identical to + !! the old per-block subcycle (the halo is a no-op with < 2 adjacent same-level blocks, and is skipped at np=1). + impure subroutine s_amr_advance_fine_subcycle_all(q_old, q_new, coefs, bc_type, q_T_sf, pb_old, mv_old, pb_in, rhs_pb, mv_in, & + & rhs_mv, t_step, time_avg) + + type(scalar_field), dimension(sys_size), intent(inout) :: q_old, q_new + real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) + type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type + type(scalar_field), intent(inout) :: q_T_sf + real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(in) :: pb_old, mv_old + real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in + real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv + integer, intent(in) :: t_step + real(wp), intent(inout) :: time_avg + real(wp), parameter :: c_abs(3) = [0._wp, 1._wp, 0.5_wp] + integer :: islot, sub, s + real(wp) :: th + + if (.not. amr) return + + ! SETUP: each level-1 block prepares its two time-lerp ghost sources and zeros its registers (collective; ALL ranks call) + do islot = 1, amr_num_blocks + if (amr_block_level(islot) /= 1) cycle + call s_amr_select_slot(islot) + call s_amr_subcycle_setup_block(q_old, q_new, pb_old, mv_old, pb_in, mv_in) + end do + + do sub = 1, 2 + do s = 1, 3 + th = (real(sub - 1, wp) + c_abs(s))*0.5_wp + ! lerp every block's ghost shell to the stage time (+ substep-entry backup) BEFORE the seam halo reads interiors + do islot = 1, amr_num_blocks + if (amr_block_level(islot) /= 1) cycle + call s_amr_select_slot(islot) + if (.not. amr_rank_owns_block) cycle + call s_amr_subtree_stage_lerp(s, th) + end do + ! reconcile shared seam ghosts among ADJACENT same-level blocks so both sides compute a matching flux. Only np>1 + ! tiles a feature into adjacent sub-blocks; at np=1 this is skipped, keeping the single-rank path byte-identical. + if (num_procs > 1) call s_amr_fine_fine_halo() + ! RHS + RK update every block from the reconciled ghost shell + do islot = 1, amr_num_blocks + if (amr_block_level(islot) /= 1) cycle + call s_amr_select_slot(islot) + if (.not. amr_rank_owns_block) cycle + call s_amr_subtree_stage_advance(amr_dt_fine, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, & + & time_avg, s, th) + end do + end do + ! after this substep each level-1 block is at t_b (q_cons) with t_a in q_cons_stor: its level-2 children subcycle + ! within [t_a, t_b] then fold back (restrict + Berger-Colella reflux). No-op for single-level. + if (amr_max_level >= 2) then + do islot = 1, amr_num_blocks + if (amr_block_level(islot) /= 1) cycle + call s_amr_select_slot(islot) + if (.not. amr_rank_owns_block) cycle + call s_amr_advance_children(islot, amr_dt_fine, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, & + & time_avg) + end do + end if + end do + call s_amr_select_slot(1) + + end subroutine s_amr_advance_fine_subcycle_all + + !> Ghost-lerp half of one subcycled fine substage for the selected block (amr_cur): time-interpolate the ghost shell to stage + !! time th and, on substep stage 1, back up the substep-entry state. Split from the RHS half so that same-level blocks can run + !! this together and the block-to-block fine-fine seam halo can be interposed before any block reads a neighbour's interior. + !! Owner-only (the caller guards); no numerical coupling between blocks here. + impure subroutine s_amr_subtree_stage_lerp(s, th) + + integer, intent(in) :: s + real(wp), intent(in) :: th + + if (rank_time_wrt) call s_rank_time_tic() + ! lerp the ghost shell into q_cons at the stage time (device kernel; interior untouched) + call s_amr_lerp_fine_ghosts(amr_slots(amr_cur)%q_ghost_a, amr_slots(amr_cur)%q_ghost_b, amr_slots(amr_cur)%q_cons, th) + if (qbmm .and. .not. polytropic) call s_amr_lerp_fine_ghosts_pbmv(amr_slots(amr_cur)%pb_f%sf, amr_slots(amr_cur)%mv_f%sf, & + & amr_slots(amr_cur)%pb_ghost_a%sf, amr_slots(amr_cur)%mv_ghost_a%sf, amr_slots(amr_cur)%pb_ghost_b%sf, & + & amr_slots(amr_cur)%mv_ghost_b%sf, th) + + ! substep-entry backup for the SSP-RK combination (device copy, interior only) + if (s == 1) then + call s_amr_copy_fine_fields(amr_slots(amr_cur)%q_cons, amr_slots(amr_cur)%q_cons_stor, 0, amr_slots(amr_cur)%m, 0, & + & amr_slots(amr_cur)%n, 0, amr_slots(amr_cur)%p) + if (qbmm .and. .not. polytropic) call s_amr_backup_pbmv(amr_slots(amr_cur)%pb_f%sf, amr_slots(amr_cur)%mv_f%sf, & + & amr_slots(amr_cur)%pb_stor%sf, amr_slots(amr_cur)%mv_stor%sf) + end if + if (rank_time_wrt) call s_rank_time_toc() + + end subroutine s_amr_subtree_stage_lerp + + !> RHS + RK-update half of one subcycled fine substage for the selected block (amr_cur): compute the fine RHS from the (already + !! halo-reconciled) ghost shell and apply the SSP-RK stage update at the fine substep dt_sub, plus per-stage pressure relaxation + !! and IB correction. Split from the lerp half so the fine-fine seam halo runs between them. Owner-only (the caller guards). + impure subroutine s_amr_subtree_stage_advance(dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg, & + & s, th) + + real(wp), intent(in) :: dt_sub !< this block's substep dt (parent step / ref_ratio) + real(wp), dimension(:,:), intent(in) :: coefs !< rk_coef(1:3, 1:4) + type(integer_field), dimension(1:num_dims,1:2), intent(in) :: bc_type + type(scalar_field), intent(inout) :: q_T_sf + real(stp), dimension(:,:,:,:,:), intent(inout) :: pb_in, mv_in + real(wp), dimension(:,:,:,:,:), intent(inout) :: rhs_pb, rhs_mv + integer, intent(in) :: t_step, s + real(wp), intent(in) :: th + real(wp), intent(inout) :: time_avg + + if (rank_time_wrt) call s_rank_time_tic() + amr_in_fine_advance = .true. + call s_amr_swap_to_fine() + ! widen the conversion range to the ghost shell (restored by s_amr_restore_coarse) + idwint = amr_slots(amr_cur)%idwbuff + $:GPU_UPDATE(device='[idwint]') + if (qbmm .and. .not. polytropic) then + ! the block's OWN side-state and rhs scratch (the coarse arrays stay untouched) + call s_compute_rhs(amr_slots(amr_cur)%q_cons, q_T_sf, amr_slots(amr_cur)%q_prim, bc_type, amr_slots(amr_cur)%rhs, & + & amr_slots(amr_cur)%pb_f%sf, amr_rhs_pb_f, amr_slots(amr_cur)%mv_f%sf, amr_rhs_mv_f, t_step, & + & time_avg, s) + else + call s_compute_rhs(amr_slots(amr_cur)%q_cons, q_T_sf, amr_slots(amr_cur)%q_prim, bc_type, amr_slots(amr_cur)%rhs, & + & pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg, s) + end if + call s_amr_restore_coarse() + amr_in_fine_advance = .false. + + ! RK stage update at the FINE time step (device kernel) + call s_amr_fine_rk_update(amr_slots(amr_cur)%q_cons, amr_slots(amr_cur)%q_cons_stor, amr_slots(amr_cur)%rhs, coefs(s, 1), & + & coefs(s, 2), coefs(s, 3), coefs(s, 4), dt_sub) + if (qbmm .and. .not. polytropic) then + call s_amr_fine_rk_update_pbmv(amr_slots(amr_cur)%pb_f%sf, amr_slots(amr_cur)%mv_f%sf, amr_slots(amr_cur)%pb_stor%sf, & + & amr_slots(amr_cur)%mv_stor%sf, amr_rhs_pb_f, amr_rhs_mv_f, coefs(s, 1), coefs(s, 2), & + & coefs(s, 3), coefs(s, 4), dt_sub) + end if + ! 6-equation model: per-substage pressure relaxation (instantaneous equilibration - per stage at fine dt is the same + ! infinite-rate limit the coarse applies per stage) + if (model_eqns == model_eqns_6eq .and. (.not. relax)) call s_amr_pressure_relax_fine() + ! moving body: rebuild the fine-block IB state at the body's fine sub-time position (th matches the fluid-ghost lerp) + if (moving_immersed_boundary_flag) call s_amr_update_mib_fine(th) + ! IB state correction on the fine block after each substep RK update (no-op unless ib) + call s_amr_ib_correct_fine() + if (rank_time_wrt) call s_rank_time_toc() - end subroutine s_advance_amr_fine_substeps + end subroutine s_amr_subtree_stage_advance !> Advance the currently-selected fine block (amr_cur) through its subcycle: two amr_dt_fine SSP-RK3 substeps whose ghost shell !! is the two-source time-lerp of the block's q_ghost_a (parent t^n) / q_ghost_b (parent t^{n+1}) sources, filled by the caller !! before this call. Fine flux registers are zeroed here and accumulate over all six stages so the end-of-step reflux sees the !! time-averaged effective fine flux. RECURSIVE: after each of this block's substeps, its level+1 children subcycle within that !! substep (s_amr_advance_children) at dt_sub/ref_ratio, so per-level dt falls out of the recursion. With no children this is - !! exactly the single-level L0<->L1 advance. + !! exactly the single-level L0<->L1 advance. Used for level>=2 children (per-block); level-1 blocks run the transposed, + !! seam-halo'd s_amr_advance_fine_subcycle_all instead. recursive subroutine s_amr_advance_subtree(dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) real(wp), intent(in) :: dt_sub !< this block's substep dt (parent step / ref_ratio) @@ -3101,78 +3248,20 @@ contains integer :: sub, s real(wp) :: th - ! rank_time brackets cover the fine-advance compute segments and pause across the MPI exchanges (the inner s_compute_rhs - ! pair nests to a no-op) - - if (rank_time_wrt) call s_rank_time_tic() call s_amr_zero_fine_registers() - do sub = 1, 2 do s = 1, 3 th = (real(sub - 1, wp) + c_abs(s))*0.5_wp - - ! lerp the ghost shell into q_cons at the stage time (device kernel; interior untouched) - call s_amr_lerp_fine_ghosts(amr_slots(amr_cur)%q_ghost_a, amr_slots(amr_cur)%q_ghost_b, & - & amr_slots(amr_cur)%q_cons, th) - if (qbmm .and. .not. polytropic) call s_amr_lerp_fine_ghosts_pbmv(amr_slots(amr_cur)%pb_f%sf, & - & amr_slots(amr_cur)%mv_f%sf, amr_slots(amr_cur)%pb_ghost_a%sf, amr_slots(amr_cur)%mv_ghost_a%sf, & - & amr_slots(amr_cur)%pb_ghost_b%sf, amr_slots(amr_cur)%mv_ghost_b%sf, th) - if (rank_time_wrt) call s_rank_time_toc() - - ! whole-block-per-rank: no fine-fine continuation halo (owner holds the whole block; blocks >= buff_size apart) - if (rank_time_wrt) call s_rank_time_tic() - - ! substep-entry backup for the SSP-RK combination (device copy, interior only) - if (s == 1) then - call s_amr_copy_fine_fields(amr_slots(amr_cur)%q_cons, amr_slots(amr_cur)%q_cons_stor, 0, & - & amr_slots(amr_cur)%m, 0, amr_slots(amr_cur)%n, 0, amr_slots(amr_cur)%p) - if (qbmm .and. .not. polytropic) call s_amr_backup_pbmv(amr_slots(amr_cur)%pb_f%sf, & - & amr_slots(amr_cur)%mv_f%sf, amr_slots(amr_cur)%pb_stor%sf, amr_slots(amr_cur)%mv_stor%sf) - end if - - amr_in_fine_advance = .true. - call s_amr_swap_to_fine() - ! widen the conversion range to the ghost shell (restored by s_amr_restore_coarse) - idwint = amr_slots(amr_cur)%idwbuff - $:GPU_UPDATE(device='[idwint]') - if (qbmm .and. .not. polytropic) then - ! the block's OWN side-state and rhs scratch (the coarse arrays stay untouched) - call s_compute_rhs(amr_slots(amr_cur)%q_cons, q_T_sf, amr_slots(amr_cur)%q_prim, bc_type, & - & amr_slots(amr_cur)%rhs, amr_slots(amr_cur)%pb_f%sf, amr_rhs_pb_f, & - & amr_slots(amr_cur)%mv_f%sf, amr_rhs_mv_f, t_step, time_avg, s) - else - call s_compute_rhs(amr_slots(amr_cur)%q_cons, q_T_sf, amr_slots(amr_cur)%q_prim, bc_type, & - & amr_slots(amr_cur)%rhs, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg, s) - end if - call s_amr_restore_coarse() - amr_in_fine_advance = .false. - - ! RK stage update at the FINE time step (device kernel) - call s_amr_fine_rk_update(amr_slots(amr_cur)%q_cons, amr_slots(amr_cur)%q_cons_stor, amr_slots(amr_cur)%rhs, & - & coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), dt_sub) - if (qbmm .and. .not. polytropic) then - call s_amr_fine_rk_update_pbmv(amr_slots(amr_cur)%pb_f%sf, amr_slots(amr_cur)%mv_f%sf, & - & amr_slots(amr_cur)%pb_stor%sf, amr_slots(amr_cur)%mv_stor%sf, amr_rhs_pb_f, & - & amr_rhs_mv_f, coefs(s, 1), coefs(s, 2), coefs(s, 3), coefs(s, 4), dt_sub) - end if - ! 6-equation model: per-substage pressure relaxation (instantaneous equilibration - - ! per stage at fine dt is the same infinite-rate limit the coarse applies per stage) - if (model_eqns == model_eqns_6eq .and. (.not. relax)) call s_amr_pressure_relax_fine() - ! moving body: rebuild the fine-block IB state at the body's fine sub-time position (th matches the fluid-ghost - ! lerp) - if (moving_immersed_boundary_flag) call s_amr_update_mib_fine(th) - ! IB state correction on the fine block after each substep RK update (no-op unless ib) - call s_amr_ib_correct_fine() + call s_amr_subtree_stage_lerp(s, th) + call s_amr_subtree_stage_advance(dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg, & + & s, th) end do - ! multi-level: this block is now at t_b (q_cons) with t_a preserved in q_cons_stor. Each level+1 child subcycles WITHIN ! this substep - gathering its two ghost-lerp sources from those two snapshots - then folds back (restrict + - ! Berger-Colella - ! reflux) into this block over dt_sub. No-op when this block has no children (single-level, or the finest level). + ! Berger-Colella reflux) into this block over dt_sub. No-op when this block has no children (single-level / finest). if (amr_max_level >= 2) call s_amr_advance_children(amr_cur, dt_sub, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, & & rhs_mv, t_step, time_avg) end do - if (rank_time_wrt) call s_rank_time_toc() end subroutine s_amr_advance_subtree diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 9d314119e6..ea38fa196f 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -201,19 +201,15 @@ contains @:PROHIBIT(.not. amr .and. amr_regrid_int > 0, "amr_regrid_int requires amr") @:PROHIBIT(amr_subcycle .and. .not. amr, "amr_subcycle requires amr") @:PROHIBIT(amr_subcycle .and. cfl_dt, "amr_subcycle requires a fixed dt (cfl_dt not supported)") - ! ROOT-CAUSED (per-step probe, 2026-07-10): subcycled fine advance at np>1 leaks conservation (~1e-4 in a - ! closed system) when max_grid_size TILING splits a feature into ADJACENT same-level sub-blocks. The - ! block-to-block fine-fine seam halo (s_amr_fine_fine_halo, which overwrites the shared-face ghosts with the - ! neighbour's fine interior so both sides compute a MATCHING seam flux) runs only in the LOCK-STEP path - ! (m_time_steppers, gated `.not. amr_subcycle`); the subcycle path re-fills ghosts from the coarse each - ! substep, so the two sub-blocks' shared fine fluxes disagree and mass leaks at the seam - the leak switches - ! on exactly when a 2nd adjacent block appears, and d_regrid is identically 0 (regrid is NOT the culprit). - ! Fixing it needs the fine-fine halo run PER SUBSTEP inside the subcycle with same-level blocks advanced in - ! lockstep (a subcycle-driver restructure, not a one-liner). np=1 never tiles into adjacent blocks (no leak); - ! lock-step (amr_subcycle = F) does the halo (no leak). Dynamic regrid is prohibited as the practical trigger - ! (a growing feature splits into adjacent tiles); fail closed until the per-substep seam halo lands. - @:PROHIBIT(amr_subcycle .and. amr_regrid_int > 0 .and. num_procs > 1, & - & "amr_subcycle with dynamic regrid (amr_regrid_int > 0) is not yet conservation-safe at num_procs > 1; use amr_subcycle = F (lock-step) for dynamic multi-rank runs, or amr_regrid_int = 0 (static) with subcycling") + ! Subcycled fine advance at np>1 needs the block-to-block fine-fine seam halo (s_amr_fine_fine_halo) run PER SUBSTEP: + ! max_grid_size TILING can split a feature into ADJACENT same-level sub-blocks, and the halo overwrites their shared-face + ! ghosts with the neighbour's fine interior so both sides compute a MATCHING seam flux (else mass leaks at the seam). + ! s_amr_advance_fine_subcycle_all advances all LEVEL-1 blocks stage-by-stage in lockstep with the halo interposed, so + ! single-level subcycle np>1 is conservation-safe. The level-2 children still advance per-block (s_amr_advance_children), + ! so L2-L2 seams are not yet reconciled - keep multi-level (amr_max_level > 1) subcycle gated at np>1 until the recursive + ! per-substep L2 halo lands. np=1 never tiles into adjacent blocks (halo skipped there, byte-identical to before). + @:PROHIBIT(amr_subcycle .and. amr_regrid_int > 0 .and. num_procs > 1 .and. amr_max_level > 1, & + & "multi-level (amr_max_level > 1) amr_subcycle with dynamic regrid is not yet conservation-safe at num_procs > 1: the level-2 seam halo is per-block, not lockstep (single-level subcycling IS supported at np > 1). Use amr_subcycle = F (lock-step) for multi-level dynamic multi-rank runs") if (num_particle_clouds > 0) then call s_check_inputs_particle_clouds diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index ca5e833106..7761dcda68 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -28,7 +28,7 @@ module m_time_steppers use m_derived_variables use m_constants, only: model_eqns_6eq, time_stepper_rk1, time_stepper_rk2, time_stepper_rk3 use m_active_box, only: s_grow_active_box, s_check_active_box_envelope, ab_x, ab_y, ab_z, ab_active - use m_amr, only: s_amr_fine_stage_fill, s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_advance_amr_fine_substeps, & + use m_amr, only: s_amr_fine_stage_fill, s_amr_fine_stage_advance, s_amr_fine_fine_halo, s_amr_advance_fine_subcycle_all, & & s_restrict_fine_to_coarse, s_amr_relax_fine, s_amr_p2p_reflux_faces, s_amr_reflux_to_parent use m_amr_registers, only: s_amr_apply_reflux, s_amr_apply_reflux_state @@ -625,25 +625,27 @@ contains if (amr) then ! ghost lerp sources, restriction target, and state-reflux target are all device-resident: ! the substep/restriction/reflux machinery runs as device kernels (M2). Each active block slot - ! is subcycled, restricted, and state-refluxed in turn; amr_cur resets to 1 afterwards. + ! is restricted and state-refluxed in turn (the subcycle advance ran above); amr_cur resets to 1 afterwards. ! RESTRICT bottom-up: a level>=2 block folds into its PARENT (level-aware s_restrict_fine_to_coarse = ! restrict-to-parent) ! and must do so BEFORE the parent folds into L0, so the L0 covered cells reflect the finest data. Finer levels live at ! higher slots (child after parent), so iterate slots in REVERSE. Disjoint same-level blocks make this bit-identical to ! forward order for single-level runs. + ! subcycle: advance ALL level-1 blocks together, transposed stage-by-stage with the per-substep fine-fine seam halo + ! (s_amr_advance_fine_subcycle_all), so max_grid_size-tiled adjacent sub-blocks conserve at their shared seam. Each + ! block's level-2 children subcycle within it (s_amr_advance_children). The restrict + reflux fold below is then a + ! separate per-block pass (block footprints are disjoint, so order-independent). + if (amr_subcycle) then + call s_amr_advance_fine_subcycle_all(q_cons_ts(stor)%vf, q_cons_ts(1)%vf, rk_coef, bc_type, q_T_sf, & + & pb_ts(stor)%sf, mv_ts(stor)%sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & + & t_step, time_avg) + end if do islot = amr_num_blocks, 1, -1 call s_amr_select_slot(islot) ! refresh the region/intersection mirrors (sets amr_cur) - ! recursive subcycle multi-level: a level>=2 block is advanced, restricted, AND Berger-Colella refluxed into its - ! parent INSIDE the parent's recursive subcycle (s_amr_advance_children within s_advance_amr_fine_substeps), so it - ! is - ! skipped in this top-level per-block loop. Only level-1 blocks are driven here (they recurse into their L2 - ! children). + ! subcycle multi-level: a level>=2 block was advanced, restricted, AND Berger-Colella refluxed into its parent + ! INSIDE the parent's subcycle (s_amr_advance_children), so it is skipped in this per-block restrict/reflux loop. + ! Only level-1 blocks fold to L0 here. if (amr_subcycle .and. amr_block_level(amr_cur) >= 2) cycle - if (amr_subcycle) then - call s_advance_amr_fine_substeps(q_cons_ts(stor)%vf, q_cons_ts(1)%vf, rk_coef, bc_type, q_T_sf, & - & pb_ts(stor)%sf, mv_ts(stor)%sf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, & - & t_step, time_avg) - end if ! equilibrate the fine solution (phase change) before it restricts to the coarse level if (relax) call s_amr_relax_fine() call s_restrict_fine_to_coarse(q_cons_ts(1)%vf) diff --git a/tests/244B1E42/golden-metadata.txt b/tests/244B1E42/golden-metadata.txt new file mode 100644 index 0000000000..2809f3b191 --- /dev/null +++ b/tests/244B1E42/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-10 21:12:11.258359. + +mfc.sh: + + Invocation: test --generate --only 244B1E42 -j 8 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: db7ec71a81259f8d4d8dfde90a4219c32c00fcf6 on amr-multilevel (dirty) + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 81% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/244B1E42/golden.txt b/tests/244B1E42/golden.txt new file mode 100644 index 0000000000..eb84b4bfca --- /dev/null +++ b/tests/244B1E42/golden.txt @@ -0,0 +1,20 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.00.000006.dat 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999994938 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999999501153 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99999958844729 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99997322364244 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.99871283349007 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.96822797293795 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.53107483327492 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50196927495389 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50004163299439 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000063753831 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000768479 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.50000000007484 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.49999999998498 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000266 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.50000000000028 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.49999999999996 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.50000000000002 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.4999999999999 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999778 0.49999999999779 0.49999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.49999999999999 0.49999999999779 0.49999999999778 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.49999999999779 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000924 0.50000000000922 0.50000000000009 0.50000000000009 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000008 0.50000000000009 0.50000000000009 0.50000000000922 0.50000000000924 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.50000000000923 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997357 0.49999999999832 0.49999999999819 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.4999999999982 0.49999999999819 0.49999999999832 0.49999999997357 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999997362 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717036 0.49999999717059 0.49999999716906 0.49999999717492 0.49999999984785 0.49999999986057 0.49999999986099 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986098 0.49999999986099 0.49999999986057 0.49999999984785 0.49999999717492 0.49999999716906 0.49999999717059 0.49999999717036 0.49999999717035 0.49999999717035 0.49999999717035 0.49999999717035 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514628 0.49999976514801 0.49999976514413 0.49999976457652 0.49999969662419 0.4999996961065 0.49999969610715 0.49999969610713 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610714 0.49999969610713 0.49999969610715 0.4999996961065 0.49999969662419 0.49999976457652 0.49999976514413 0.49999976514801 0.49999976514628 0.49999976514667 0.49999976514667 0.49999976514667 0.49999976514667 0.49998466355156 0.49998466355156 0.49998466355156 0.49998466355155 0.49998466355171 0.49998466355205 0.49998466354627 0.49998466364471 0.49998473220663 0.49998473224087 0.49998473223509 0.49998473223542 0.49998473223559 0.49998473223558 0.49998473223558 0.49998473223558 0.49998473223558 0.49998473223558 0.49998473223558 0.49998473223559 0.49998473223542 0.49998473223509 0.49998473224087 0.49998473220663 0.49998466364471 0.49998466354627 0.49998466355205 0.49998466355171 0.49998466355155 0.49998466355156 0.49998466355156 0.49998466355156 0.49925805577945 0.49925805577945 0.49925805577945 0.49925805577946 0.49925805577943 0.4992580557789 0.49925805578254 0.4992580557785 0.49925805268265 0.49925805267679 0.49925805268048 0.49925805267996 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267993 0.49925805267996 0.49925805268048 0.49925805267679 0.49925805268265 0.4992580557785 0.49925805578254 0.4992580557789 0.49925805577943 0.49925805577946 0.49925805577945 0.49925805577945 0.49925805577945 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719807 0.47311633719732 0.47311633719724 0.47311633772102 0.4731163377217 0.47311633772097 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772109 0.47311633772097 0.4731163377217 0.47311633772102 0.47311633719724 0.47311633719732 0.47311633719807 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.47311633719795 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.1510740602515 0.15107406025126 0.15107406025201 0.15107406047008 0.1510740604707 0.15107406047046 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047049 0.15107406047046 0.1510740604707 0.15107406047008 0.15107406025201 0.15107406025126 0.1510740602515 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.15107406025147 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645713 0.12653652646167 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646164 0.12653652646167 0.12653652645713 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12653652645716 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004188 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12503018004184 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500041001472 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000438464 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12500000002789 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12499999999397 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.12500000000168 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.1250000000001 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.12499999999998 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.976e-11 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 5.89161e-09 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 4.8696284e-07 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 3.168119599e-05 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.00152063876976 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.03784016743891 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.0349429252118 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 0.00241402505365 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 4.930590031e-05 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 7.5435195e-07 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 9.08921e-09 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 1.0564e-10 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 -2.062e-11 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.17e-12 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 3.3e-13 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 -5e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000006.dat -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 -3e-14 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 1.2e-13 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.6e-12 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.6e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 2.61e-12 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.129e-11 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1e-13 -1.129e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 -1.13e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.983e-11 2.981e-11 2.21e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.27e-12 2.21e-12 2.981e-11 2.983e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 2.981e-11 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37441e-09 3.37698e-09 2.0182e-10 1.9261e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9262e-10 1.9261e-10 2.0182e-10 3.37698e-09 3.37441e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 3.37442e-09 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786515e-07 2.7786515e-07 2.7786477e-07 2.7788248e-07 3.5942829e-07 3.5955776e-07 3.5955756e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955755e-07 3.5955756e-07 3.5955776e-07 3.5942829e-07 2.7788248e-07 2.7786477e-07 2.7786515e-07 2.7786515e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 2.7786513e-07 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.814564989e-05 1.814564983e-05 1.8145651e-05 1.814561655e-05 1.806704615e-05 1.806691132e-05 1.806691218e-05 1.806691213e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691212e-05 1.806691213e-05 1.806691218e-05 1.806691132e-05 1.806704615e-05 1.814561655e-05 1.8145651e-05 1.814564983e-05 1.814564989e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 1.814564993e-05 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135737 0.00087632135749 0.00087632135625 0.00087632137459 0.00087632108049 0.00087632109851 0.00087632109741 0.00087632109752 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109754 0.00087632109752 0.00087632109741 0.00087632109851 0.00087632108049 0.00087632137459 0.00087632135625 0.00087632135749 0.00087632135737 0.00087632135735 0.00087632135735 0.00087632135735 0.00087632135735 0.02945349956262 0.02945349956262 0.02945349956262 0.02945349956263 0.02945349956262 0.02945349956255 0.0294534995631 0.02945349955869 0.02945349996821 0.02945349996452 0.02945349996509 0.02945349996502 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996501 0.02945349996502 0.02945349996509 0.02945349996452 0.02945349996821 0.02945349955869 0.0294534995631 0.02945349956255 0.02945349956262 0.02945349956263 0.02945349956262 0.02945349956262 0.02945349956262 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113118 0.029237861131 0.02923786113153 0.02923786122851 0.02923786122894 0.02923786122875 0.02923786122877 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122878 0.02923786122877 0.02923786122875 0.02923786122894 0.02923786122851 0.02923786113153 0.029237861131 0.02923786113118 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.02923786113115 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276212 0.00182141276205 0.00182141276816 0.00182141276809 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.0018214127681 0.00182141276809 0.00182141276816 0.00182141276205 0.00182141276212 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 0.00182141276211 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965891e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 3.203965887e-05 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.3391555e-07 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 4.65873e-09 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 5.143e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 -1.04e-11 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.8e-12 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 1.1e-13 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 -2e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 +D/cons.3.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.00.000006.dat 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 +D/cons.3.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.01.000006.dat -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 1e-14 -3e-14 -2e-14 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 2e-14 3e-14 -1e-14 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -1e-14 4e-14 5e-14 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -5e-14 -4e-14 1e-14 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -2e-14 1.6e-13 7e-14 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -7e-14 -1.6e-13 2e-14 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -1e-14 -3.1e-13 2.78e-12 -2.374e-11 -2.528e-11 -5.7e-13 1e-14 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -1e-14 5.7e-13 2.528e-11 2.374e-11 -2.78e-12 3.1e-13 1e-14 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 4.5e-13 -1.06e-12 -5.79e-12 9.6991e-10 7.0274e-10 -1.33e-12 3e-14 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -3e-14 1.33e-12 -7.0274e-10 -9.6991e-10 5.79e-12 1.06e-12 -4.5e-13 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 1e-14 -1.8e-13 -8e-13 1.268e-11 -1.9292e-10 -1.9275e-10 1.274e-11 -8.1e-13 -1.8e-13 2e-14 -0.0 -0.0 0.0 -0.0 0.0 0.0 -2e-14 1.8e-13 8.1e-13 -1.274e-11 1.9275e-10 1.9292e-10 -1.268e-11 8e-13 1.8e-13 -1e-14 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 4e-14 7.7e-13 -7.12e-12 3.752e-11 3.753e-11 -7.11e-12 7.6e-13 4e-14 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -4e-14 -7.6e-13 7.11e-12 -3.753e-11 -3.752e-11 7.12e-12 -7.7e-13 -4e-14 0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -1e-14 -2e-13 1.81e-12 -8.45e-12 -8.46e-12 1.8e-12 -2e-13 -1e-14 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 1e-14 2e-13 -1.8e-12 8.46e-12 8.45e-12 -1.81e-12 2e-13 1e-14 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -2e-14 1.9e-13 -9.3e-13 -9.3e-13 1.9e-13 -2e-14 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 2e-14 -1.9e-13 9.3e-13 9.3e-13 -1.9e-13 2e-14 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 1e-14 -4e-14 -4e-14 1e-14 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 -1e-14 4e-14 4e-14 -1e-14 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 +D/cons.4.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.4.00.000006.dat 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999999982283 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999998254036 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49999855956857 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49990629298303 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.49551273330233 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 2.39895426619189 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.34851474695566 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25696539403606 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25014576604106 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000223139878 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000002689675 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.25000000026193 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.24999999994743 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000932 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.25000000000097 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999986 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.24999999999985 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.4.01.000000.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.4.01.000006.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.25000000000008 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999965 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999224 1.24999999999227 1.24999999999997 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999999 1.24999999999997 1.24999999999227 1.24999999999224 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.24999999999225 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003231 1.25000000003234 1.25000000003228 1.25000000000031 1.2500000000003 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.25000000000029 1.2500000000003 1.25000000000031 1.25000000003228 1.25000000003234 1.25000000003231 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.25000000003232 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990765 1.24999999990765 1.24999999990768 1.24999999990749 1.24999999999411 1.24999999999368 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999369 1.24999999999368 1.24999999999411 1.24999999990749 1.24999999990768 1.24999999990765 1.24999999990765 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999990766 1.24999999009624 1.24999999009624 1.24999999009624 1.24999999009623 1.24999999009627 1.24999999009706 1.2499999900917 1.24999999011221 1.24999999946747 1.24999999951201 1.24999999951346 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951344 1.24999999951346 1.24999999951201 1.24999999946747 1.24999999011221 1.2499999900917 1.24999999009706 1.24999999009627 1.24999999009623 1.24999999009624 1.24999999009624 1.24999999009624 1.24999917801534 1.24999917801534 1.24999917801534 1.24999917801535 1.24999917801398 1.24999917802002 1.24999917800645 1.24999917601983 1.24999893818788 1.24999893637599 1.24999893637824 1.24999893637819 1.2499989363782 1.2499989363782 1.2499989363782 1.2499989363782 1.2499989363782 1.2499989363782 1.2499989363782 1.2499989363782 1.24999893637819 1.24999893637824 1.24999893637599 1.24999893818788 1.24999917601983 1.24999917800645 1.24999917802002 1.24999917801398 1.24999917801535 1.24999917801534 1.24999917801534 1.24999917801534 1.24994632917091 1.24994632917091 1.24994632917091 1.24994632917087 1.24994632917142 1.2499463291726 1.24994632915237 1.24994632949694 1.24994656946278 1.2499465695826 1.24994656956238 1.24994656956356 1.24994656956415 1.2499465695641 1.2499465695641 1.2499465695641 1.2499465695641 1.2499465695641 1.2499465695641 1.24994656956415 1.24994656956356 1.24994656956238 1.2499465695826 1.24994656946278 1.24994632949694 1.24994632915237 1.2499463291726 1.24994632917142 1.24994632917087 1.24994632917091 1.24994632917091 1.24994632917091 1.24741512380987 1.24741512380987 1.24741512380987 1.24741512380988 1.24741512380979 1.24741512380793 1.24741512382066 1.24741512380652 1.24741511290881 1.2474151128884 1.2474151129013 1.24741511289947 1.24741511289936 1.24741511289937 1.24741511289937 1.24741511289937 1.24741511289937 1.24741511289937 1.24741511289937 1.24741511289936 1.24741511289947 1.2474151129013 1.2474151128884 1.24741511290881 1.24741512380652 1.24741512382066 1.24741512380793 1.24741512380979 1.24741512380988 1.24741512380987 1.24741512380987 1.24741512380987 1.17130161459157 1.17130161459157 1.17130161459157 1.17130161459156 1.17130161459158 1.17130161459198 1.1713016145894 1.17130161458909 1.17130161695014 1.17130161695217 1.17130161694965 1.17130161695004 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695005 1.17130161695004 1.17130161694965 1.17130161695217 1.17130161695014 1.17130161458909 1.1713016145894 1.17130161459198 1.17130161459158 1.17130161459156 1.17130161459157 1.17130161459157 1.17130161459157 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865205 0.32676475865216 0.32676475865137 0.32676475865381 0.32676475895364 0.32676475895589 0.32676475895508 0.32676475895518 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895519 0.32676475895518 0.32676475895508 0.32676475895589 0.32676475895364 0.32676475865381 0.32676475865137 0.32676475865216 0.32676475865205 0.32676475865204 0.32676475865204 0.32676475865204 0.32676475865204 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.2544872404355 0.2544872404355 0.25448724043538 0.25448724044906 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044895 0.25448724044906 0.25448724043538 0.2544872404355 0.2544872404355 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25448724043549 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489048 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25008460489036 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000114806308 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.25000001227701 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2500000000781 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2499999999831 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.2500000000047 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.25000000000029 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.24999999999995 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.5.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000713 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000713 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999996502 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999996502 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000013055381 1.00000013042245 1.0000001304228 1.00000013042278 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042279 1.00000013042278 1.0000001304228 1.00000013042245 1.00000013055381 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000121 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 0.99999999999795 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.00000000000166 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.00000000000002 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 8070b0f2ab..64ac625050 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -4049,6 +4049,20 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {}, ppn=2)) stack.pop() + # (o) single-level SUBCYCLE at np=2: same amr_2d_base grid+block as (n) - which max_grid_size TILES into two + # ADJACENT same-level sub-blocks across the x rank seam (one per rank) - but amr_subcycle=T. The subcycle + # advances every level-1 block stage-by-stage in LOCKSTEP with the block-to-block fine-fine seam halo interposed + # each substep (s_amr_advance_fine_subcycle_all), so the two sub-blocks compute a MATCHING shared-face flux and + # conserve at the seam. Before that per-substep halo the subcycle re-prolonged the seam ghosts from the coarse + # each substep and the adjacent fluxes disagreed - mass leaked at the seam (~1e-4). This is the ONLY golden + # exercising the subcycle seam halo at np>1. Single-level (amr_max_level=1); STATIC for determinism. + stack.push( + "AMR -> 2D -> single-level subcycle np=2", + {**amr_2d_base, "amr_regrid_int": 0, "amr_subcycle": "T", "amr_max_blocks": 16}, + ) + cases.append(define_case_d(stack, "", {}, ppn=2)) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From b4a1f5312d47cf92be7e80d651dbacb5e91b6a73 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 12:55:56 -0400 Subject: [PATCH 25/41] amr(#35): multi-level L2-L2 seam conserves in lock-step (level-aware fine-fine halo extent + reflux seam-face exclusion + enable L2 tiling) --- src/simulation/m_amr.fpp | 127 ++++++++++++------- tests/EF58E377/golden-metadata.txt | 193 +++++++++++++++++++++++++++++ tests/EF58E377/golden.txt | 32 +++++ toolchain/mfc/test/cases.py | 33 +++++ 4 files changed, 342 insertions(+), 43 deletions(-) create mode 100644 tests/EF58E377/golden-metadata.txt create mode 100644 tests/EF58E377/golden.txt diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index f3f143e3b6..1156fdd7a3 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1662,29 +1662,43 @@ contains impure subroutine s_amr_reflux_to_parent(dt_reflux) real(wp), intent(in) :: dt_reflux - integer :: pblk - real(wp) :: dxf, dyf, dzf + integer :: pblk, d, y + real(wp) :: dxf, dyf, dzf, w_lo(3), w_hi(3) if (.not. amr_rank_owns_block) return ! np>=2: child+parent co-located; only the owner refluxes locally pblk = f_amr_parent_block(amr_cur) + ! max_grid_size tiling of a level>=2 feature: a face shared with an ADJACENT sibling tile (same parent) is fine-fine, not a + ! c/f boundary - its "outside" parent cell is covered by the sibling's restrict, so refluxing there double-writes and leaks. + ! Skip those faces (weight 0); the fine-fine halo already matched the shared seam flux. No siblings -> all weights 1 + ! (no-op). + w_lo = 1._wp; w_hi = 1._wp + do d = 1, num_dims + do y = 1, amr_num_blocks + if (y == amr_cur) cycle + if (f_amr_parent_block(y) /= pblk) cycle ! same-parent sibling tile only (guarantees same level) + if (f_amr_seam(amr_cur, y, d)) w_hi(d) = 0._wp ! sibling just above -> shared high face + if (f_amr_seam(y, amr_cur, d)) w_lo(d) = 0._wp ! sibling just below -> shared low face + end do + end do ! uniform parent-fine cell widths (interior index; stretched-grid coords are future work). dy/dz only allocated when active. dxf = amr_slots(pblk)%dx(amr_isect_lo(1)); dyf = dxf; dzf = dxf if (n_glb > 0) dyf = amr_slots(pblk)%dy(amr_isect_lo(2)) if (p_glb > 0) dzf = amr_slots(pblk)%dz(amr_isect_lo(3)) - call s_amr_reflux_apply_parent(amr_slots(pblk)%q_cons, dxf, dyf, dzf, dt_reflux) + call s_amr_reflux_apply_parent(amr_slots(pblk)%q_cons, dxf, dyf, dzf, dt_reflux, w_lo, w_hi) end subroutine s_amr_reflux_to_parent !> Device kernel for s_amr_reflux_to_parent: the parent's q_cons and (uniform) fine cell widths are passed as arguments !! (present-table safe, like s_amr_restrict_overwrite_device). Reads creg/freg(:,:,:,amr_cur) and amr_isect_lo/hi (parent-fine !! footprint = parent's local fine indices, offset 0). Three face blocks mirror s_amr_apply_reflux; collapsed dims pin to 0. - impure subroutine s_amr_reflux_apply_parent(qp, dxf, dyf, dzf, dt_reflux) + impure subroutine s_amr_reflux_apply_parent(qp, dxf, dyf, dzf, dt_reflux, w_lo, w_hi) type(scalar_field), dimension(sys_size), intent(inout) :: qp - real(wp), intent(in) :: dxf, dyf, dzf, dt_reflux - integer :: rr, eq, c1, c2, f10, f20, dd1, dd2, nch, dd1_hi, dd2_hi, islot - integer :: il1, ih1, il2, ih2, il3, ih3, ol1, oh1, ol2, oh2, ol3, oh3 - real(wp) :: fblo, fbhi, mlo, mhi + real(wp), intent(in) :: dxf, dyf, dzf, dt_reflux + real(wp), dimension(3), intent(in) :: w_lo, w_hi !< per-dim low/high face weights (0 skips a fine-fine seam) + integer :: rr, eq, c1, c2, f10, f20, dd1, dd2, nch, dd1_hi, dd2_hi, islot + integer :: il1, ih1, il2, ih2, il3, ih3, ol1, oh1, ol2, oh2, ol3, oh3 + real(wp) :: fblo, fbhi, mlo, mhi, wl, wh rr = amr_slots(amr_cur)%ref_ratio; islot = amr_cur il1 = amr_isect_lo(1); ih1 = amr_isect_hi(1); ol1 = il1 - 1; oh1 = ih1 + 1 @@ -1694,7 +1708,7 @@ contains ! x-faces: transverse (y, z) nch = 1; if (n_glb > 0) nch = nch*rr; if (p_glb > 0) nch = nch*rr dd1_hi = merge(rr - 1, 0, n_glb > 0); dd2_hi = merge(rr - 1, 0, p_glb > 0) - mlo = dxf; mhi = dxf + mlo = dxf; mhi = dxf; wl = w_lo(1); wh = w_hi(1) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size do c2 = il3, ih3 @@ -1709,10 +1723,10 @@ contains end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(ol1, c1, c2) = qp(eq)%sf(ol1, c1, c2) + real(dt_reflux*(creg(1)%lo(eq, c1 - il2, c2 - il3, & + qp(eq)%sf(ol1, c1, c2) = qp(eq)%sf(ol1, c1, c2) + real(wl*dt_reflux*(creg(1)%lo(eq, c1 - il2, c2 - il3, & & islot) - fblo)/mlo, stp) - qp(eq)%sf(oh1, c1, c2) = qp(eq)%sf(oh1, c1, c2) + real(dt_reflux*(fbhi - creg(1)%hi(eq, c1 - il2, c2 - il3, & - & islot))/mhi, stp) + qp(eq)%sf(oh1, c1, c2) = qp(eq)%sf(oh1, c1, c2) + real(wh*dt_reflux*(fbhi - creg(1)%hi(eq, c1 - il2, & + & c2 - il3, islot))/mhi, stp) end do end do end do @@ -1722,7 +1736,7 @@ contains if (n_glb > 0) then nch = rr; if (p_glb > 0) nch = nch*rr dd2_hi = merge(rr - 1, 0, p_glb > 0) - mlo = dyf; mhi = dyf + mlo = dyf; mhi = dyf; wl = w_lo(2); wh = w_hi(2) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size do c2 = il3, ih3 @@ -1737,9 +1751,9 @@ contains end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(c1, ol2, c2) = qp(eq)%sf(c1, ol2, c2) + real(dt_reflux*(creg(2)%lo(eq, c1 - il1, c2 - il3, & + qp(eq)%sf(c1, ol2, c2) = qp(eq)%sf(c1, ol2, c2) + real(wl*dt_reflux*(creg(2)%lo(eq, c1 - il1, c2 - il3, & & islot) - fblo)/mlo, stp) - qp(eq)%sf(c1, oh2, c2) = qp(eq)%sf(c1, oh2, c2) + real(dt_reflux*(fbhi - creg(2)%hi(eq, c1 - il1, & + qp(eq)%sf(c1, oh2, c2) = qp(eq)%sf(c1, oh2, c2) + real(wh*dt_reflux*(fbhi - creg(2)%hi(eq, c1 - il1, & & c2 - il3, islot))/mhi, stp) end do end do @@ -1750,7 +1764,7 @@ contains ! z-faces (p_glb > 0): transverse (x, y); both active in 3D if (p_glb > 0) then nch = rr*rr - mlo = dzf; mhi = dzf + mlo = dzf; mhi = dzf; wl = w_lo(3); wh = w_hi(3) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size do c2 = il2, ih2 @@ -1765,9 +1779,9 @@ contains end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(c1, c2, ol3) = qp(eq)%sf(c1, c2, ol3) + real(dt_reflux*(creg(3)%lo(eq, c1 - il1, c2 - il2, & + qp(eq)%sf(c1, c2, ol3) = qp(eq)%sf(c1, c2, ol3) + real(wl*dt_reflux*(creg(3)%lo(eq, c1 - il1, c2 - il2, & & islot) - fblo)/mlo, stp) - qp(eq)%sf(c1, c2, oh3) = qp(eq)%sf(c1, c2, oh3) + real(dt_reflux*(fbhi - creg(3)%hi(eq, c1 - il1, & + qp(eq)%sf(c1, c2, oh3) = qp(eq)%sf(c1, c2, oh3) + real(wh*dt_reflux*(fbhi - creg(3)%hi(eq, c1 - il1, & & c2 - il2, islot))/mhi, stp) end do end do @@ -2863,7 +2877,7 @@ contains !! stp on unpack (identity for stp fields). No-op with a single block / no adjacent pairs (incl. every np=1 case, untiled). impure subroutine s_amr_fine_fine_halo() - integer :: xb, yb, d, rX, rY, i, cnt, xm(3), ym(3), tsz, ierr + integer :: xb, yb, d, rX, rY, i, cnt, xm(3), ym(3), tsz, ierr, fmul real(wp), allocatable :: xbuf(:), ybuf(:) if (.not. amr) return @@ -2890,14 +2904,18 @@ contains if (d == 0) cycle rX = amr_block_owner(xb); rY = amr_block_owner(yb) if (proc_rank /= rX .and. proc_rank /= rY) cycle - ! fine extents from the REPLICATED region metadata (fine = 2*coarse-1), not amr_slots%m/n/p: at np>1 this rank - ! may own only one of the pair, and the transverse size (used for the buffer count) must be valid for both - xm(1) = 2*(amr_region_hi_all(1, xb) - amr_region_lo_all(1, xb) + 1) - 1 - xm(2) = merge(2*(amr_region_hi_all(2, xb) - amr_region_lo_all(2, xb) + 1) - 1, 0, n_glb > 0) - xm(3) = merge(2*(amr_region_hi_all(3, xb) - amr_region_lo_all(3, xb) + 1) - 1, 0, p_glb > 0) - ym(1) = 2*(amr_region_hi_all(1, yb) - amr_region_lo_all(1, yb) + 1) - 1 - ym(2) = merge(2*(amr_region_hi_all(2, yb) - amr_region_lo_all(2, yb) + 1) - 1, 0, n_glb > 0) - ym(3) = merge(2*(amr_region_hi_all(3, yb) - amr_region_lo_all(3, yb) + 1) - 1, 0, p_glb > 0) + ! fine extents from the REPLICATED region metadata (not amr_slots%m/n/p: at np>1 this rank may own only one of the + ! pair, and the transverse size (used for the buffer count) must be valid for both). A level-L block's region is in + ! L0-coarse cells but its own grid is 2**L finer (each level halves dx), so fine = 2**L*(coarse extent)-1; xb, yb + ! share the level (same-level seam). 2**1 keeps L1 byte-identical; L2 tiles need 2**2 (an L1-frame 2* mislocates the + ! seam slice to half the block, filling the seam ghost from the wrong cells - the source of the L2-L2 leak). + fmul = 2**amr_block_level(xb) + xm(1) = fmul*(amr_region_hi_all(1, xb) - amr_region_lo_all(1, xb) + 1) - 1 + xm(2) = merge(fmul*(amr_region_hi_all(2, xb) - amr_region_lo_all(2, xb) + 1) - 1, 0, n_glb > 0) + xm(3) = merge(fmul*(amr_region_hi_all(3, xb) - amr_region_lo_all(3, xb) + 1) - 1, 0, p_glb > 0) + ym(1) = fmul*(amr_region_hi_all(1, yb) - amr_region_lo_all(1, yb) + 1) - 1 + ym(2) = merge(fmul*(amr_region_hi_all(2, yb) - amr_region_lo_all(2, yb) + 1) - 1, 0, n_glb > 0) + ym(3) = merge(fmul*(amr_region_hi_all(3, yb) - amr_region_lo_all(3, yb) + 1) - 1, 0, p_glb > 0) ! transverse fine size (dims /= d); xb and yb share it (exact-match seam) tsz = 1 if (d /= 1) tsz = tsz*(xm(1) + 1) @@ -3689,20 +3707,22 @@ contains !! whole-own), appending them to out(nt+1:). Tiles are ADJACENT (share fine seams) - the block-to-block fine-fine halo makes !! those seams conservative. Even split: ntl = ceil(ext/amr_maxc_fit) tiles, each of size ceil(ext/ntl) <= amr_maxc_fit. Sets !! capped=1 and stops if the amr_max_blocks cap is hit. Collapsed dims stay [0:0]. - pure subroutine s_amr_tile_box(lo, hi, out, nt, cap, capped) + pure subroutine s_amr_tile_box(lo, hi, out, nt, cap, capped, tsz) - integer, intent(in) :: lo(3), hi(3), cap - type(t_box), intent(inout) :: out(:) - integer, intent(inout) :: nt, capped - integer :: ntl(3), s(3), t1, t2, t3, qlo(3), qhi(3) + integer, intent(in) :: lo(3), hi(3), cap + type(t_box), intent(inout) :: out(:) + integer, intent(inout) :: nt, capped + integer, intent(in), optional :: tsz(3) !< per-dim tile size (default amr_maxc_fit; level>=2 passes amr_maxc_fit/2) + integer :: ntl(3), s(3), t1, t2, t3, qlo(3), qhi(3), tc(3) + tc = amr_maxc_fit; if (present(tsz)) tc = tsz ntl = 1; s = 1 - ntl(1) = (hi(1) - lo(1) + amr_maxc_fit(1))/amr_maxc_fit(1); s(1) = (hi(1) - lo(1) + ntl(1))/ntl(1) + ntl(1) = (hi(1) - lo(1) + tc(1))/tc(1); s(1) = (hi(1) - lo(1) + ntl(1))/ntl(1) if (n_glb > 0) then - ntl(2) = (hi(2) - lo(2) + amr_maxc_fit(2))/amr_maxc_fit(2); s(2) = (hi(2) - lo(2) + ntl(2))/ntl(2) + ntl(2) = (hi(2) - lo(2) + tc(2))/tc(2); s(2) = (hi(2) - lo(2) + ntl(2))/ntl(2) end if if (p_glb > 0) then - ntl(3) = (hi(3) - lo(3) + amr_maxc_fit(3))/amr_maxc_fit(3); s(3) = (hi(3) - lo(3) + ntl(3))/ntl(3) + ntl(3) = (hi(3) - lo(3) + tc(3))/tc(3); s(3) = (hi(3) - lo(3) + ntl(3))/ntl(3) end if do t3 = 0, ntl(3) - 1 qlo(3) = 0; qhi(3) = 0 @@ -4127,14 +4147,35 @@ contains clo(3) = 0; chi(3) = 0 end if ! slot cap: a level->=2 block's fine grid spans 4*(its L0 extent) cells while the slot holds - ! 2*amr_maxc_fit fine cells, so cap the child's L0 extent to amr_maxc_fit/2 - exactly the bound - ! the fixed inset (ins >= width/4) implicitly respected. A feature wider than that gets one - ! capped child rather than tiles (multi-level fine-fine tiling is future work). - chi(1) = min(chi(1), clo(1) + amr_maxc_fit(1)/2 - 1) - if (n_glb > 0) chi(2) = min(chi(2), clo(2) + amr_maxc_fit(2)/2 - 1) - if (p_glb > 0) chi(3) = min(chi(3), clo(3) + amr_maxc_fit(3)/2 - 1) - nboxes = nboxes + 1 - boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + ! 2*amr_maxc_fit fine cells, so a child's L0 extent must be <= amr_maxc_fit/2. In LOCK-STEP a + ! feature wider than that TILES into adjacent <= amr_maxc_fit/2 sub-blocks (like the L1 tiling): + ! the per-stage fine-fine halo (s_amr_fine_fine_halo, level-aware) matches the shared seam flux + ! and the L2->L1 reflux skips those fine-fine faces. SUBCYCLE advances level-2 children + ! per-block + ! (s_amr_advance_children) with no L2-L2 halo, so it keeps ONE capped child (adjacent tiles + ! would + ! leak at their seam there - transposing that path is future work); a wide feature is under- + ! refined rather than non-conservative. + if (amr_subcycle) then + chi(1) = min(chi(1), clo(1) + amr_maxc_fit(1)/2 - 1) + if (n_glb > 0) chi(2) = min(chi(2), clo(2) + amr_maxc_fit(2)/2 - 1) + if (p_glb > 0) chi(3) = min(chi(3), clo(3) + amr_maxc_fit(3)/2 - 1) + nboxes = nboxes + 1 + boxes(nboxes)%lo = clo; boxes(nboxes)%hi = chi; box_level(nboxes) = lev + else + block + type(t_box) :: l2t(amr_max_blocks) + integer :: nl2, cpd, it + nl2 = 0; cpd = 0 + call s_amr_tile_box(clo, chi, l2t, nl2, amr_max_blocks, cpd, amr_maxc_fit/2) + do it = 1, nl2 + if (nboxes + 1 > amr_max_blocks) exit + nboxes = nboxes + 1 + boxes(nboxes)%lo = l2t(it)%lo; boxes(nboxes)%hi = l2t(it)%hi + box_level(nboxes) = lev + end do + end block + end if end do if (allocated(cboxes)) deallocate (cboxes) else diff --git a/tests/EF58E377/golden-metadata.txt b/tests/EF58E377/golden-metadata.txt new file mode 100644 index 0000000000..0335184f5a --- /dev/null +++ b/tests/EF58E377/golden-metadata.txt @@ -0,0 +1,193 @@ +This file was created on 2026-07-11 12:53:19.617831. + +mfc.sh: + + Invocation: test --generate --only EF58E377 -j 8 -- -b mpirun + Lock: mpi=Yes & gpu=No & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: 22f93f982487db8f6bd1687efcae6045f48c43fa on amr-multilevel (dirty) + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +post_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-01-006-24-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : ON + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-03-002-27-0.pace.gatech.edu + + C : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc) + Fortran : GNU v12.3.0 (/usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : OFF + OpenMP : OFF + + Fypp : /storage/project/r-sbryngelson3-0/sbryngelson3/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gcc + CXX : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/g++ + FC : /usr/local/pace-apps/spack/packages/linux-rhel9-x86_64_v3/gcc-11.3.1/gcc-12.3.0-ukkkutsxfl5kpnnaxflpkq2jtliwthfz/bin/gfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 93% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/EF58E377/golden.txt b/tests/EF58E377/golden.txt new file mode 100644 index 0000000000..7b88bcd616 --- /dev/null +++ b/tests/EF58E377/golden.txt @@ -0,0 +1,32 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999999999 1.00000000000022 0.99999999991657 1.00000000016773 0.99999996514715 0.99987849020293 0.95996624517424 0.53999670917703 0.50015854305622 0.50000004716006 0.49999999999796 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/cons.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.49999999999856 0.49999999998378 0.49999992414875 0.4998907364775 0.46723128565104 0.15770490496811 0.12517304530412 0.12500010350741 0.12499999989544 0.12500000006582 0.12499999999942 0.12500000000004 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/cons.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.00.000006.dat 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 1.1e-13 -3.5e-13 1.957e-10 5.11e-12 4.092472e-08 0.0001437274988 0.04710570673722 0.04856258163932 0.0001878871985 5.580283e-08 -1.97e-12 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 +D/cons.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.2.01.000006.dat 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -2e-14 1.7e-12 1.853e-11 8.975921e-08 0.0001292231459 0.03523747178929 0.04124734890363 0.00018575685398 1.093136e-07 5.726e-11 1.5676e-10 1.3e-13 4e-14 0.0 -0.0 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 +D/cons.3.00.000000.dat 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.00.000006.dat 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.49999999999966 2.50000000000076 2.49999999970798 2.50000000058706 2.49999987801503 2.49957487501741 2.37140473988591 1.3784649691841 1.25055537254895 1.25000016506029 1.24999999999287 1.25000000000001 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 +D/cons.3.01.000000.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.3.01.000006.dat 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25000000000006 1.24999999999495 1.24999999994322 1.24999973452087 1.24961790472485 1.15159734481569 0.34829708236939 0.25048764391853 0.25000028982241 0.24999999970722 0.2500000001843 0.24999999999839 0.25000000000012 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 +D/cons.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999998 1.0 1.0 1.00000000000023 1.0 1.00000000307128 1.0 1.0 1.0 0.999994343224 0.99999999785606 1.0 1.0 1.0 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999997522115 1.0 0.99999999999142 1.0 1.0 1.00000000000009 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999999999 1.00000000000022 0.99999999991657 1.00000000016773 0.99999996514715 0.99987849020293 0.95996624517424 0.53999670917703 0.50015854305622 0.50000004716006 0.49999999999796 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.1.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.1.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000002 0.49999999999856 0.49999999998378 0.49999992414875 0.4998907364775 0.46723128565104 0.15770490496811 0.12517304530412 0.12500010350741 0.12499999989544 0.12500000006582 0.12499999999942 0.12500000000004 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 +D/prim.2.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.00.000006.dat 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 1.1e-13 -3.5e-13 1.957e-10 5.11e-12 4.092472e-08 0.00014374496522 0.04907016988776 0.08993125479104 0.00037565528194 1.1160566e-07 -3.94e-12 1e-14 0.0 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 +D/prim.2.01.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/prim.2.01.000006.dat 0.0 -0.0 -0.0 0.0 -0.0 -0.0 0.0 -4e-14 3.4e-12 3.706e-11 1.7951844e-07 0.00025850278164 0.075417620505 0.26154766024537 0.00148400043737 8.7450806e-07 4.5811e-10 1.25405e-09 1.02e-12 3.4e-13 1e-14 -1e-14 -0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 -0.0 0.0 +D/prim.3.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000002 1.0 0.99999999999986 1.00000000000007 0.99999999988319 0.99999999716354 0.99999995120601 0.99982994587494 0.94809959894791 0.55051564303678 0.50022213597586 0.50000006602411 0.49999999999715 0.5 0.49999999999999 0.5 0.5 0.5 0.5 0.5 0.5 0.5 +D/prim.3.01.000000.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.3.01.000006.dat 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.50000000000003 0.49999999999798 0.49999999997729 0.49999989380834 0.49984715520903 0.46010743267128 0.13716120342834 0.10019500243476 0.10000011592894 0.10000000236077 0.10000000007372 0.10000000000021 0.10000000000005 0.1 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/prim.4.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.00.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999998 1.0 1.0 1.00000000000023 1.0 1.00000000307128 1.0 1.0 1.0 0.999994343224 0.99999999785606 1.0 1.0 1.0 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/prim.4.01.000006.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999997522115 1.0 0.99999999999142 1.0 1.0 1.00000000000009 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 64ac625050..4363963d1e 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -4063,6 +4063,39 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {}, ppn=2)) stack.pop() + # (p) multi-level + dynamic regrid at np=2 with a WIDE level-2 feature that max_grid_size TILES: (m) uses + # eps=0.1 so the sensor-on-fine L2 stays a single sub-block; this uses a tiny eps=1e-4 on three sharp jumps + # placed INSIDE the level-1 block, so at np=2 the L2 tag exceeds amr_maxc_fit/2 and SPLITS into adjacent + # same-parent L2 sub-blocks. The ONLY golden exercising the level-2 fine-fine SEAM: the per-stage halo must + # reconcile the shared L2 ghosts using the level-aware fine extent (fine = 2**level*coarse, so an L1-frame + # 2*coarse mislocates the L2 seam slice and fills the ghost from the wrong cells -> ~2e-2 mass drift), AND the + # L2->L1 reflux must SKIP the sibling-tile seam faces (a fine-fine seam is not a c/f boundary; refluxing there + # double-writes -> a residual ~3e-5). Closed walls (bc=-2) make it a clean conservation problem; eps=1e-4 + # keeps every tagged cell far from the threshold so the tag set (hence the deterministic tile boundaries) is + # cross-compiler stable. LOCK-STEP (amr_subcycle=F): subcycle advances L2 children per-block with no L2-L2 + # halo, so it keeps ONE capped child (tiling that path is future work) and is unaffected here. + stack.push( + "AMR -> 1D -> multi-level dynamic regrid tiled L2 np=2", + { + **amr_1d_base, + "bc_x%beg": -2, + "bc_x%end": -2, + "patch_icpp(1)%x_centroid": 0.15, + "patch_icpp(1)%length_x": 0.3, + "patch_icpp(2)%x_centroid": 0.5, + "patch_icpp(2)%length_x": 0.4, + "patch_icpp(3)%x_centroid": 0.85, + "patch_icpp(3)%length_x": 0.3, + "amr_regrid_int": 2, + "amr_tag_eps": 1.0e-4, + "amr_buf": 6, + "amr_max_level": 2, + "amr_max_blocks": 16, + }, + ) + cases.append(define_case_d(stack, "", {}, ppn=2)) + stack.pop() + amr_golden_tests() def hybrid_sensor_tests(): From 1f035d7fb6ed34923c67f3d8299a8a2df304636e Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 18:53:45 -0400 Subject: [PATCH 26/41] amr: guard two review-found multi-level edge cases (tile-size div-by-zero + static under-refine) 1) s_amr_tile_box: clamp the per-dim tile size to >= 1. The lock-step multi-level nesting path passes amr_maxc_fit/2, which is 0 when a rank's fine half-extent is 1 (small subdomain at high np) -> integer div-by-zero (SIGFPE) instead of refining. 2) static multi-level (amr_max_level>1, amr_regrid_int=0) built its only L2 in s_amr_test_multilevel, which SILENTLY returned (no L2, under-resolved 'success') when amr_max_blocks was too small. Abort at the point of failure (the L1 tile count is only known there) + a checker gate for the trivially-detectable <2 case. --- src/simulation/m_amr.fpp | 9 ++++++++- src/simulation/m_checker.fpp | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 1156fdd7a3..fbcbfa99d5 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1327,7 +1327,12 @@ contains if (amr_max_level < 2) return ! np>=2: the L2 is co-located with block 1 (owner-guarded intrusive checks below) n1 = amr_num_blocks - if (n1 < 1 .or. n1 + 1 > amr_max_blocks) return + if (n1 < 1) return + ! the static hierarchy nests exactly one level-2 block; without pool room it would SILENTLY refine only to level 1 + ! (an under-resolved but "successful" run). n1 (the level-1 tile count) is only known here, not at checker time, so abort + ! at the point of failure. Replicated inputs -> every rank takes the same branch (collective-safe). + if (n1 + 1 > amr_max_blocks) call s_mpi_abort('amr static multi-level (amr_max_level > 1, amr_regrid_int = 0): ' & + & // 'amr_max_blocks is too small to nest the level-2 block (need >= level-1 block count + 1); increase amr_max_blocks') L2 = n1 + 1 inset = 0 inset(1) = max((amr_region_hi_all(1, 1) - amr_region_lo_all(1, 1) + 1)/4, amr_cpat_mar) @@ -3716,6 +3721,8 @@ contains integer :: ntl(3), s(3), t1, t2, t3, qlo(3), qhi(3), tc(3) tc = amr_maxc_fit; if (present(tsz)) tc = tsz + tc = max(tc, 1) ! a level>=2 caller passes amr_maxc_fit/2, which is 0 when a rank's fine half-extent is 1 (small + ! subdomain at high np) - a 0 tile size would divide-by-zero below; a 1-cell tile is the valid floor ntl = 1; s = 1 ntl(1) = (hi(1) - lo(1) + tc(1))/tc(1); s(1) = (hi(1) - lo(1) + ntl(1))/ntl(1) if (n_glb > 0) then diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index ea38fa196f..3a041a2d81 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -193,6 +193,8 @@ contains @:PROHIBIT(amr_regrid_int > 0 .and. amr_buf < 1, "amr_buf must be >= 1 when regridding") @:PROHIBIT(amr_max_blocks < 1, "amr_max_blocks must be >= 1") @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") + @:PROHIBIT(amr_max_level > 1 .and. amr_max_blocks < 2, & + & "multi-level AMR (amr_max_level > 1) needs amr_max_blocks >= 2 (at least one level-1 block plus one nested level-2 block); a run-time abort catches the tiled case where even more blocks are required") @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. ib, & & "multi-level AMR (amr_max_level > 1) with immersed boundaries at num_procs > 1 is not yet supported (fine-grid IB nesting is under development); use num_procs = 1, or amr_max_level = 1, with IB") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & From 86536cca30c502203308c61cbf3d565edbcf217a Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 19:06:26 -0400 Subject: [PATCH 27/41] amr: two review perf cleanups in the fine-fine halo and reflux-to-parent - s_amr_fine_slice now moves only the buff_size-deep near-seam slab it packs/ unpacks device<->host (interior transverse only), replacing the two full-block q_cons GPU_UPDATE loops in s_amr_fine_fine_halo. Byte-identical (same cells, same order) at a fraction of the PCIe volume - the halo runs per stage, 6x per fine step after the #28 transpose. - s_amr_reflux_to_parent: swap the sibling-seam detection nest (block outer, dim inner) so f_amr_parent_block - an O(nblocks) scan - is evaluated once per sibling instead of once per (sibling, dim). Behavior-identical. Both from the high-effort branch review. GPU (V100): all L1/L2-tiling np=2 goldens byte-identical (EF58E377 tiled-L2, F57C3A5B, 244B1E42, ADA042A2, 5EFB3277, ...). --- src/simulation/m_amr.fpp | 57 +++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index fbcbfa99d5..52d6139399 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1677,10 +1677,10 @@ contains ! Skip those faces (weight 0); the fine-fine halo already matched the shared seam flux. No siblings -> all weights 1 ! (no-op). w_lo = 1._wp; w_hi = 1._wp - do d = 1, num_dims - do y = 1, amr_num_blocks - if (y == amr_cur) cycle - if (f_amr_parent_block(y) /= pblk) cycle ! same-parent sibling tile only (guarantees same level) + do y = 1, amr_num_blocks ! block outer, dim inner: f_amr_parent_block (a linear scan) is evaluated once per sibling + if (y == amr_cur) cycle + if (f_amr_parent_block(y) /= pblk) cycle ! same-parent sibling tile only (guarantees same level) + do d = 1, num_dims if (f_amr_seam(amr_cur, y, d)) w_hi(d) = 0._wp ! sibling just above -> shared high face if (f_amr_seam(y, amr_cur, d)) w_lo(d) = 0._wp ! sibling just below -> shared low face end do @@ -2844,7 +2844,10 @@ contains end function f_amr_seam !> Pack (dir=+1) / unpack (dir=-1) the fine cells of slot's q_cons over [dlo:dhi] in dim d, full transverse, all sys_size, in a - !! fixed (i, d-index, transverse) order so a packer and unpacker with matching extents align cell-for-cell. Host arrays. + !! fixed (i, d-index, transverse) order so a packer and unpacker with matching extents align cell-for-cell. GPU: only this + !! buff_size-deep near-seam slab is moved device<->host (host<-device before a pack, device<-host after an unpack), interior + !! transverse (0:fm) only - exactly the cells touched below, so the round-trip is byte-identical to a full-field update at a + !! tiny fraction of the volume (the halo runs per stage, 6x per fine step). impure subroutine s_amr_fine_slice(slot, d, dlo, dhi, buf, dir) integer, intent(in) :: slot, d, dlo, dhi, dir @@ -2852,6 +2855,17 @@ contains integer :: i, a, b, c, idx, fm(3) fm(1) = amr_slots(slot)%m; fm(2) = amr_slots(slot)%n; fm(3) = amr_slots(slot)%p + if (dir == 1) then ! host <- device: make the slab current before the pack reads it + do i = 1, sys_size + #:for D, TA, TB in [(1, 2, 3), (2, 1, 3), (3, 1, 2)] + #:set SEC = {1: '(dlo:dhi, 0:fm(2), 0:fm(3))', 2: '(0:fm(1), dlo:dhi, 0:fm(3))', & + & 3: '(0:fm(1), 0:fm(2), dlo:dhi)'}[D] + if (d == ${D}$) then + $:GPU_UPDATE(host='[amr_slots(slot)%q_cons(i)%sf' + SEC + ']') + end if + #:endfor + end do + end if idx = 0 do i = 1, sys_size do c = dlo, dhi @@ -2872,6 +2886,17 @@ contains #:endfor end do end do + if (dir == -1) then ! device <- host: push the freshly unpacked seam ghosts back to the device + do i = 1, sys_size + #:for D, TA, TB in [(1, 2, 3), (2, 1, 3), (3, 1, 2)] + #:set SEC = {1: '(dlo:dhi, 0:fm(2), 0:fm(3))', 2: '(0:fm(1), dlo:dhi, 0:fm(3))', & + & 3: '(0:fm(1), 0:fm(2), dlo:dhi)'}[D] + if (d == ${D}$) then + $:GPU_UPDATE(device='[amr_slots(slot)%q_cons(i)%sf' + SEC + ']') + end if + #:endfor + end do + end if end subroutine s_amr_fine_slice @@ -2882,22 +2907,14 @@ contains !! stp on unpack (identity for stp fields). No-op with a single block / no adjacent pairs (incl. every np=1 case, untiled). impure subroutine s_amr_fine_fine_halo() - integer :: xb, yb, d, rX, rY, i, cnt, xm(3), ym(3), tsz, ierr, fmul + integer :: xb, yb, d, rX, rY, cnt, xm(3), ym(3), tsz, ierr, fmul real(wp), allocatable :: xbuf(:), ybuf(:) if (.not. amr) return if (amr_num_blocks < 2) return - ! device-resident fine state -> host for the packs; pushed back after (owned blocks only) - do xb = 1, amr_num_blocks - if (amr_block_owner(xb) == proc_rank) then - call s_amr_select_slot(xb) - do i = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(xb)%q_cons(i)%sf]') - end do - end if - end do - + ! device<->host of the fine state is done per-seam inside s_amr_fine_slice, moving only the buff_size-deep near-seam + ! slab each pack/unpack touches (not the whole block) - a large PCIe saving since this runs per stage (6x per fine step) do xb = 1, amr_num_blocks do yb = 1, amr_num_blocks if (xb == yb) cycle @@ -2951,14 +2968,6 @@ contains deallocate (xbuf, ybuf) end do end do - - do xb = 1, amr_num_blocks - if (amr_block_owner(xb) == proc_rank) then - do i = 1, sys_size - $:GPU_UPDATE(device='[amr_slots(xb)%q_cons(i)%sf]') - end do - end if - end do call s_amr_select_slot(1) end subroutine s_amr_fine_fine_halo From decbb1f11bc0314768559590206437628c87d81a Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 19:13:45 -0400 Subject: [PATCH 28/41] amr: strip development self-test scaffolding from static multi-level construction s_amr_test_multilevel was the ONLY builder of the static (amr_regrid_int=0) level-2 hierarchy, but it also ran ~90 lines of intrusive development checks on every populate: block-1 full save/restore, restrict-prolong / restrict-to-parent / reflux-to-parent identity probes (perturbing creg/freg), and three ES12.4 prints PER STEP. Those identities are now permanently protected by the static multi-level goldens (75AD6885, 4644A339, ADA042A2, D95E1B08) and the runtime conservation-defect probe, so the scaffolding is dead weight (and self-test spam) in production. Remove the checks, keep only the construction (inset -> L2 metadata -> reconcile -> fine geometry -> prolong -> device push -> persist), and rename the routine to s_amr_build_static_multilevel to match its now-sole purpose. The checks restored block 1 exactly and registers are re-zeroed each step, so output is byte-identical: GPU (V100) static ML goldens all pass unchanged (prints, which no golden captures, are simply gone). --- src/simulation/m_amr.fpp | 121 ++++----------------------------------- 1 file changed, 11 insertions(+), 110 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 52d6139399..72e256cf16 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -1308,7 +1308,7 @@ contains if (qbmm .and. .not. polytropic) call s_amr_prolong_pbmv() end if end do - if (amr_max_level >= 2) call s_amr_test_multilevel(q_cons_base) + if (amr_max_level >= 2) call s_amr_build_static_multilevel(q_cons_base) call s_amr_select_slot(1) end subroutine s_populate_amr_fine @@ -1317,15 +1317,16 @@ contains !! the parent (level-aware gather + prolong), and check that restrict(level-2 fine) recovers the parent-fine coarse it was !! prolonged from (conservation err ~ 0 => the level-aware geometry/gather/prolong/restrict are consistent). Non-intrusive: the !! level-2 block is removed afterward, so the run continues single-level. The recursive advance/regrid (increments 3-4) follow. - impure subroutine s_amr_test_multilevel(q_cons_base) + !> Build the STATIC multi-level hierarchy (amr_regrid_int = 0): nest exactly one level-2 block inside level-1 block 1 by a fixed + !! geometric inset (a regrid would place it by sensor-on-fine instead), prolong the parent state into it, and keep it persistent + !! so the advance driver steps it every timestep. The restrict/reflux identity that this construction relies on is protected by + !! the static multi-level goldens (75AD6885 et al.) and the runtime conservation-defect probe. + impure subroutine s_amr_build_static_multilevel(q_cons_base) type(scalar_field), dimension(sys_size), intent(inout) :: q_cons_base - integer :: L2, n1, i, ci, cj, ck, inset(3), bi - real(wp) :: err, e - type(scalar_field), dimension(:), allocatable :: scratch - real(stp), allocatable :: b1save(:,:,:,:) !< full block-1 state, restored after the intrusive checks + integer :: L2, n1, i, inset(3) - if (amr_max_level < 2) return ! np>=2: the L2 is co-located with block 1 (owner-guarded intrusive checks below) + if (amr_max_level < 2) return ! np>=2: the L2 is co-located with block 1 n1 = amr_num_blocks if (n1 < 1) return ! the static hierarchy nests exactly one level-2 block; without pool room it would SILENTLY refine only to level 1 @@ -1356,115 +1357,15 @@ contains do i = 1, sys_size $:GPU_UPDATE(device='[amr_slots(amr_cur)%q_cons(i)%sf]') end do - allocate (scratch(1:sys_size)) - do i = 1, sys_size - allocate (scratch(i)%sf(0:amr_cpat_hi(1),0:amr_cpat_hi(2),0:amr_cpat_hi(3))) - call s_restrict_one_var(amr_slots(amr_cur)%q_cons(i), scratch(i)) - end do - err = 0._wp - do i = 1, sys_size - do ck = amr_isect_lo(3), merge(amr_isect_hi(3), amr_isect_lo(3), p_glb > 0) - do cj = amr_isect_lo(2), merge(amr_isect_hi(2), amr_isect_lo(2), n_glb > 0) - do ci = amr_isect_lo(1), amr_isect_hi(1) - e = abs(real(scratch(i)%sf(ci - amr_cpat_off(1), cj - amr_cpat_off(2), ck - amr_cpat_off(3)), & - & wp) - real(amr_cg(i)%sf(ci - amr_cpat_off(1), cj - amr_cpat_off(2), ck - amr_cpat_off(3)), & - & wp)) - if (e > err) err = e - end do - end do - end do - deallocate (scratch(i)%sf) - end do - deallocate (scratch) - print '(A,I0,A,ES12.4)', ' [amr] MULTILEVEL self-test (L2 block ', L2, '): restrict-prolong conservation err = ', err - ! GPU-safe non-intrusiveness: the intrusive checks below fold L2 into block 1 and perturb its outside cells on the - ! DEVICE. Save block 1's full state now and restore it afterwards so the persistent parent enters the advance clean - - ! partial per-cell restores left the device copy inconsistent (a GPU-only NaN by step 3, invisible on CPU). - allocate (b1save(lbound(amr_slots(1)%q_cons(1)%sf, 1):ubound(amr_slots(1)%q_cons(1)%sf, 1), & - & lbound(amr_slots(1)%q_cons(1)%sf, 2):ubound(amr_slots(1)%q_cons(1)%sf, 2), & - & lbound(amr_slots(1)%q_cons(1)%sf, 3):ubound(amr_slots(1)%q_cons(1)%sf, 3),1:sys_size)) - do bi = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(1)%q_cons(bi)%sf]') - b1save(:,:,:,bi) = amr_slots(1)%q_cons(bi)%sf - end do - ! restrict-to-parent (increment 3 step 1): fold L2 back into the parent block; the covered cells must be UNCHANGED - ! (restrict(prolong) = identity), which exercises s_amr_restrict_to_parent via s_restrict_fine_to_coarse. - block - real(wp) :: err2, e2 - real(stp), allocatable :: psave(:,:,:,:) - allocate (psave(amr_isect_lo(1):amr_isect_hi(1),amr_isect_lo(2):amr_isect_hi(2),amr_isect_lo(3):amr_isect_hi(3), & - & 1:sys_size)) - do i = 1, sys_size - psave(:,:,:,i) = amr_slots(1)%q_cons(i)%sf(amr_isect_lo(1):amr_isect_hi(1),amr_isect_lo(2):amr_isect_hi(2), & - & amr_isect_lo(3):amr_isect_hi(3)) - end do - call s_restrict_fine_to_coarse(amr_slots(1)%q_cons) ! coarse_tgt ignored for level>=2 (folds into the parent) - err2 = 0._wp - do i = 1, sys_size - do ck = amr_isect_lo(3), amr_isect_hi(3) - do cj = amr_isect_lo(2), amr_isect_hi(2) - do ci = amr_isect_lo(1), amr_isect_hi(1) - e2 = abs(real(psave(ci, cj, ck, i), wp) - real(amr_slots(1)%q_cons(i)%sf(ci, cj, ck), wp)) - if (e2 > err2) err2 = e2 - end do - end do - end do - end do - deallocate (psave) - print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: restrict-to-parent identity err = ', err2 - end block - ! reflux-to-parent (increment 3 step 2): inject a known C/F flux mismatch into this block's x-face registers and confirm - ! the Berger-Colella correction deposits exactly (F_coarse - Fbar_fine)/dxf into the parent's outside cells (reflux is - ! conservative - the flux crossing the c/f boundary is redeposited, not lost). 1D self-test drives the x-faces; the - ! 2D/3D faces run in the advance driver. Perturbation is restored below so the self-test stays non-intrusive. - ! The expected-deposit check is x-face (1D) math; skip it in 2D/3D (the transverse faces make the single-cell - ! expectation invalid) - 2D/3D reflux conservation is exercised by the advance driver and its closed-system drift. - if (n_glb == 0) then - block - integer :: e, ol, oh - real(wp) :: dxf, errr, expl, exph, al, ah - real(stp), allocatable :: ql0(:), qh0(:) - dxf = amr_slots(1)%dx(amr_isect_lo(1)); ol = amr_isect_lo(1) - 1; oh = amr_isect_hi(1) + 1 - allocate (ql0(sys_size), qh0(sys_size)) - do e = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') - ql0(e) = amr_slots(1)%q_cons(e)%sf(ol, 0, 0); qh0(e) = amr_slots(1)%q_cons(e)%sf(oh, 0, 0) - creg(1)%lo(e,:,:,L2) = 0.11_wp*e; creg(1)%hi(e,:,:,L2) = 0.07_wp*e - freg(1)%lo(e,:,:,L2) = 0.03_wp*e; freg(1)%hi(e,:,:,L2) = 0.05_wp*e - end do - $:GPU_UPDATE(device='[creg(1)%lo(:, :, :, L2), creg(1)%hi(:, :, :, L2), freg(1)%lo(:, :, :, L2), & - & freg(1)%hi(:, :, :, L2)]') - call s_amr_reflux_to_parent(1._wp) - errr = 0._wp - do e = 1, sys_size - $:GPU_UPDATE(host='[amr_slots(1)%q_cons(e)%sf]') - al = real(amr_slots(1)%q_cons(e)%sf(ol, 0, 0), wp) - real(ql0(e), wp) - ah = real(amr_slots(1)%q_cons(e)%sf(oh, 0, 0), wp) - real(qh0(e), wp) - expl = (0.11_wp*e - 0.03_wp*e)/dxf; exph = (0.05_wp*e - 0.07_wp*e)/dxf - errr = max(errr, abs(al - expl), abs(ah - exph)) - end do - deallocate (ql0, qh0) - print '(A,ES12.4)', ' [amr] MULTILEVEL self-test: reflux-to-parent conservation err = ', errr - end block - end if - ! restore block 1's full state (buffer -> host -> device): undoes every intrusive-check write so the persistent - ! parent enters the advance exactly as s_populate_amr_fine left it (device-clean). - do bi = 1, sys_size - amr_slots(1)%q_cons(bi)%sf = b1save(:,:,:,bi) - $:GPU_UPDATE(device='[amr_slots(1)%q_cons(bi)%sf]') - end do - deallocate (b1save) end if - ! persistent L2 block (increment 3 step 3): KEEP the level-2 block in the active set (amr_num_blocks = L2, amr_num_levels = - ! 2, - ! level 2) so the advance driver can step it across timesteps. The self-test perturbations above are restored, so the block - ! holds its clean prolonged state. amr_num_blocks stays = L2 (set above); no free/revert. + ! persistent L2 block: KEEP the level-2 block in the active set (amr_num_blocks = L2, amr_num_levels = 2) so the advance + ! driver steps it across timesteps. amr_num_blocks stays = L2 (set above); no free/revert. ! restore amr_cg + the patch frame (amr_cpat_off) to block 1: the L2 gather above overwrote them with the parent-fine ! frame, and the normal single-block conservation check that follows reads block 1's frame. call s_amr_select_slot(1) call s_amr_gather_coarse_patch(q_cons_base, .false.) - end subroutine s_amr_test_multilevel + end subroutine s_amr_build_static_multilevel !> Volume-weighted restriction for a single variable pair. Reads from qf (fine, must include interior 0:amr_slots(amr_cur)%m !! etc.); writes to qc (coarse, over the block). From 08409a5bb92946b01ebd2f4a075ae1d2cb53331a Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 19:35:04 -0400 Subject: [PATCH 29/41] amr: unify the L0/L1 and L2->L1 Berger-Colella reflux into one kernel s_amr_apply_reflux_state (L0/L1, coarse/sidx frame, unit weights from ownership, ref_ratio=2) and s_amr_reflux_apply_parent (L2->L1, parent-fine frame, sibling-seam weights, ref_ratio=slot) were near-verbatim copies of the same three-face flux correction, so a future physics/stencil fix could silently drift the two apart and break conservation on one path only (the review's concern). Extract the shared math into s_amr_reflux_apply_faces(q, islot, rr, dtl, olo, ohi, glo, ghi, woff, w_lo, w_hi, mlo, mhi): the caller passes all framing (outside index, creg-local loop range, transverse write origin, per-face weights, cell widths). Both callers become thin wrappers; the L2->L1 copy is deleted (net -60 lines). A zero weight now SKIPS the write (not multiply-by-0) so an unowned coarse face's out-of-bounds outside index is never touched. Output uses the wp-add store (matches the coarse path; byte-identical to both in the default double build, and the more accurate choice in the untested --mixed config). GPU (V100): all 12 subcycle-single-level + multi-level goldens (1D/2D, static/dynamic/ tiled) byte-identical. (A GPU-only present-table trap from array-element loop bounds was caught by this validation and fixed by hoisting the bounds to scalars.) --- src/simulation/m_amr.fpp | 128 +++------------------- src/simulation/m_amr_registers.fpp | 164 +++++++++++++++++------------ 2 files changed, 112 insertions(+), 180 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 72e256cf16..6e1e51f4f3 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -22,7 +22,7 @@ module m_amr & s_mpi_allreduce_max, s_mpi_allreduce_integer_sum, s_mpi_sendrecv_variables_buffers, s_mpi_allreduce_array_max use m_rhs, only: s_compute_rhs use m_phase_change, only: s_infinite_relaxation_k - use m_amr_registers, only: s_amr_zero_fine_registers, freg, creg + use m_amr_registers, only: s_amr_zero_fine_registers, s_amr_reflux_apply_faces, freg, creg use m_rank_timing, only: s_rank_time_tic, s_rank_time_toc use m_ibm, only: s_ibm_alloc_fine, s_ibm_setup_fine, s_ibm_swap_to_fine, s_ibm_restore_from_fine, s_ibm_correct_state, & & s_update_mib, moving_immersed_boundary_flag, num_gps @@ -1568,8 +1568,8 @@ contains impure subroutine s_amr_reflux_to_parent(dt_reflux) real(wp), intent(in) :: dt_reflux - integer :: pblk, d, y - real(wp) :: dxf, dyf, dzf, w_lo(3), w_hi(3) + integer :: pblk, d, y, olo(3), ohi(3), glo(3), ghi(3), woff(3) + real(wp) :: dxf, w_lo(3), w_hi(3), mlo(3), mhi(3) if (.not. amr_rank_owns_block) return ! np>=2: child+parent co-located; only the owner refluxes locally pblk = f_amr_parent_block(amr_cur) @@ -1586,116 +1586,22 @@ contains if (f_amr_seam(y, amr_cur, d)) w_lo(d) = 0._wp ! sibling just below -> shared low face end do end do - ! uniform parent-fine cell widths (interior index; stretched-grid coords are future work). dy/dz only allocated when active. - dxf = amr_slots(pblk)%dx(amr_isect_lo(1)); dyf = dxf; dzf = dxf - if (n_glb > 0) dyf = amr_slots(pblk)%dy(amr_isect_lo(2)) - if (p_glb > 0) dzf = amr_slots(pblk)%dz(amr_isect_lo(3)) - call s_amr_reflux_apply_parent(amr_slots(pblk)%q_cons, dxf, dyf, dzf, dt_reflux, w_lo, w_hi) - - end subroutine s_amr_reflux_to_parent - - !> Device kernel for s_amr_reflux_to_parent: the parent's q_cons and (uniform) fine cell widths are passed as arguments - !! (present-table safe, like s_amr_restrict_overwrite_device). Reads creg/freg(:,:,:,amr_cur) and amr_isect_lo/hi (parent-fine - !! footprint = parent's local fine indices, offset 0). Three face blocks mirror s_amr_apply_reflux; collapsed dims pin to 0. - impure subroutine s_amr_reflux_apply_parent(qp, dxf, dyf, dzf, dt_reflux, w_lo, w_hi) - - type(scalar_field), dimension(sys_size), intent(inout) :: qp - real(wp), intent(in) :: dxf, dyf, dzf, dt_reflux - real(wp), dimension(3), intent(in) :: w_lo, w_hi !< per-dim low/high face weights (0 skips a fine-fine seam) - integer :: rr, eq, c1, c2, f10, f20, dd1, dd2, nch, dd1_hi, dd2_hi, islot - integer :: il1, ih1, il2, ih2, il3, ih3, ol1, oh1, ol2, oh2, ol3, oh3 - real(wp) :: fblo, fbhi, mlo, mhi, wl, wh - - rr = amr_slots(amr_cur)%ref_ratio; islot = amr_cur - il1 = amr_isect_lo(1); ih1 = amr_isect_hi(1); ol1 = il1 - 1; oh1 = ih1 + 1 - il2 = amr_isect_lo(2); ih2 = amr_isect_hi(2); ol2 = il2 - 1; oh2 = ih2 + 1 - il3 = amr_isect_lo(3); ih3 = amr_isect_hi(3); ol3 = il3 - 1; oh3 = ih3 + 1 - - ! x-faces: transverse (y, z) - nch = 1; if (n_glb > 0) nch = nch*rr; if (p_glb > 0) nch = nch*rr - dd1_hi = merge(rr - 1, 0, n_glb > 0); dd2_hi = merge(rr - 1, 0, p_glb > 0) - mlo = dxf; mhi = dxf; wl = w_lo(1); wh = w_hi(1) - $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') - do eq = 1, sys_size - do c2 = il3, ih3 - do c1 = il2, ih2 - f20 = 0; if (p_glb > 0) f20 = rr*(c2 - il3) - f10 = 0; if (n_glb > 0) f10 = rr*(c1 - il2) - fblo = 0._wp; fbhi = 0._wp - do dd2 = 0, dd2_hi - do dd1 = 0, dd1_hi - fblo = fblo + freg(1)%lo(eq, f10 + dd1, f20 + dd2, islot) - fbhi = fbhi + freg(1)%hi(eq, f10 + dd1, f20 + dd2, islot) - end do - end do - fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(ol1, c1, c2) = qp(eq)%sf(ol1, c1, c2) + real(wl*dt_reflux*(creg(1)%lo(eq, c1 - il2, c2 - il3, & - & islot) - fblo)/mlo, stp) - qp(eq)%sf(oh1, c1, c2) = qp(eq)%sf(oh1, c1, c2) + real(wh*dt_reflux*(fbhi - creg(1)%hi(eq, c1 - il2, & - & c2 - il3, islot))/mhi, stp) - end do - end do + ! parent-fine frame for the shared reflux kernel: outside cell = isect boundary +/-1; creg-local loop range 0:extent; + ! transverse write at the isect origin; uniform parent-fine cell widths (interior index; stretched-grid coords are TODO). + olo = 0; ohi = 0; glo = 0; ghi = 0; woff = 0; mlo = 1._wp; mhi = 1._wp + dxf = amr_slots(pblk)%dx(amr_isect_lo(1)) + do d = 1, num_dims + olo(d) = amr_isect_lo(d) - 1; ohi(d) = amr_isect_hi(d) + 1 + ghi(d) = amr_isect_hi(d) - amr_isect_lo(d) + woff(d) = amr_isect_lo(d) end do - $:END_GPU_PARALLEL_LOOP() - - ! y-faces (n_glb > 0): transverse (x, z); x always active - if (n_glb > 0) then - nch = rr; if (p_glb > 0) nch = nch*rr - dd2_hi = merge(rr - 1, 0, p_glb > 0) - mlo = dyf; mhi = dyf; wl = w_lo(2); wh = w_hi(2) - $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') - do eq = 1, sys_size - do c2 = il3, ih3 - do c1 = il1, ih1 - f20 = 0; if (p_glb > 0) f20 = rr*(c2 - il3) - f10 = rr*(c1 - il1) - fblo = 0._wp; fbhi = 0._wp - do dd2 = 0, dd2_hi - do dd1 = 0, rr - 1 - fblo = fblo + freg(2)%lo(eq, f10 + dd1, f20 + dd2, islot) - fbhi = fbhi + freg(2)%hi(eq, f10 + dd1, f20 + dd2, islot) - end do - end do - fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(c1, ol2, c2) = qp(eq)%sf(c1, ol2, c2) + real(wl*dt_reflux*(creg(2)%lo(eq, c1 - il1, c2 - il3, & - & islot) - fblo)/mlo, stp) - qp(eq)%sf(c1, oh2, c2) = qp(eq)%sf(c1, oh2, c2) + real(wh*dt_reflux*(fbhi - creg(2)%hi(eq, c1 - il1, & - & c2 - il3, islot))/mhi, stp) - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if - - ! z-faces (p_glb > 0): transverse (x, y); both active in 3D - if (p_glb > 0) then - nch = rr*rr - mlo = dzf; mhi = dzf; wl = w_lo(3); wh = w_hi(3) - $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') - do eq = 1, sys_size - do c2 = il2, ih2 - do c1 = il1, ih1 - f20 = rr*(c2 - il2) - f10 = rr*(c1 - il1) - fblo = 0._wp; fbhi = 0._wp - do dd2 = 0, rr - 1 - do dd1 = 0, rr - 1 - fblo = fblo + freg(3)%lo(eq, f10 + dd1, f20 + dd2, islot) - fbhi = fbhi + freg(3)%hi(eq, f10 + dd1, f20 + dd2, islot) - end do - end do - fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - qp(eq)%sf(c1, c2, ol3) = qp(eq)%sf(c1, c2, ol3) + real(wl*dt_reflux*(creg(3)%lo(eq, c1 - il1, c2 - il2, & - & islot) - fblo)/mlo, stp) - qp(eq)%sf(c1, c2, oh3) = qp(eq)%sf(c1, c2, oh3) + real(wh*dt_reflux*(fbhi - creg(3)%hi(eq, c1 - il1, & - & c2 - il2, islot))/mhi, stp) - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if + mlo(1) = dxf; mhi(1) = dxf + if (n_glb > 0) then; mlo(2) = amr_slots(pblk)%dy(amr_isect_lo(2)); mhi(2) = mlo(2); end if + if (p_glb > 0) then; mlo(3) = amr_slots(pblk)%dz(amr_isect_lo(3)); mhi(3) = mlo(3); end if + call s_amr_reflux_apply_faces(amr_slots(pblk)%q_cons, amr_cur, amr_slots(amr_cur)%ref_ratio, dt_reflux, olo, ohi, glo, & + & ghi, woff, w_lo, w_hi, mlo, mhi) - end subroutine s_amr_reflux_apply_parent + end subroutine s_amr_reflux_to_parent !> Rank r's coarse INTERIOR box (global) from the replicated amr_decomp table (no ghosts). Covered coarse cells are in-domain, !! so restriction targets are identified by interior overlap alone. diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index 79a9ad92c5..e8409d2779 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -39,7 +39,7 @@ module m_amr_registers implicit none private; public :: s_initialize_amr_registers, s_amr_capture_boundary_flux, s_amr_apply_reflux, s_amr_zero_fine_registers, & - & s_amr_apply_reflux_state, s_finalize_amr_registers, s_amr_reflux_face_flags, freg, creg + & s_amr_apply_reflux_state, s_finalize_amr_registers, s_amr_reflux_face_flags, s_amr_reflux_apply_faces, freg, creg !> SSP-RK3 effective flux weights: q^{n+1} = q^n + dt*(L(q^n)/6 + L(q^(1))/6 + 2*L(q^(2))/3). real(wp), parameter :: rk3_w(3) = [1._wp/6._wp, 1._wp/6._wp, 2._wp/3._wp] @@ -817,43 +817,74 @@ contains impure subroutine s_amr_apply_reflux_state(q_cons) type(scalar_field), dimension(sys_size), intent(inout) :: q_cons - integer :: eq, c1, c2, f10, f20, dd1, dd2, nch, islot - integer :: bl1, bh1, bl2, bh2, bl3, bh3, ol1, ol2, ol3, oh1, oh2, oh3 - integer :: tl1, tl2, tl3, dd1_hi, dd2_hi, sidx(3), ext(3), tlo(3), thi(3) - logical :: d2, d3, own_lo(3), own_hi(3), has_lo, has_hi - real(wp) :: fblo, fbhi, mlo, mhi, dtl + integer :: d, sidx(3), ext(3), tlo(3), thi(3), olo(3), ohi(3), glo(3), ghi(3), woff(3) + logical :: own_lo(3), own_hi(3) + real(wp) :: w_lo(3), w_hi(3), mlo(3), mhi(3) if (.not. amr) return if (igr) return ! stage-1 IGR: restriction-only coupling (no captured fluxes) - islot = amr_cur ! working block slot (local => captured by value in the device kernels below) - ! per-face participation and block-relative index conventions: see s_amr_apply_reflux call s_amr_reflux_face_flags(sidx, ext, own_lo, own_hi, tlo, thi) if (.not. (any(own_lo) .or. any(own_hi))) return - ! device kernels: the restricted coarse state stays device-resident - d2 = n_glb > 0; d3 = p_glb > 0 - dtl = dt - bl1 = tlo(1) - amr_region_lo(1); bh1 = thi(1) - amr_region_lo(1) - bl2 = tlo(2) - amr_region_lo(2); bh2 = thi(2) - amr_region_lo(2) - bl3 = tlo(3) - amr_region_lo(3); bh3 = thi(3) - amr_region_lo(3) - ol1 = amr_region_lo(1) - 1 - sidx(1); oh1 = amr_region_hi(1) + 1 - sidx(1) - ol2 = amr_region_lo(2) - 1 - sidx(2); oh2 = amr_region_hi(2) + 1 - sidx(2) - ol3 = amr_region_lo(3) - 1 - sidx(3); oh3 = amr_region_hi(3) + 1 - sidx(3) - tl1 = amr_region_lo(1) - sidx(1); tl2 = amr_region_lo(2) - sidx(2); tl3 = amr_region_lo(3) - sidx(3) - has_lo = own_lo(1); has_hi = own_hi(1) - if (has_lo .or. has_hi) then - nch = 1 - if (n_glb > 0) nch = nch*2 - if (p_glb > 0) nch = nch*2 - dd1_hi = merge(1, 0, n_glb > 0); dd2_hi = merge(1, 0, p_glb > 0) - mlo = 1._wp; mhi = 1._wp - if (has_lo) mlo = dx(ol1) - if (has_hi) mhi = dx(oh1) + ! L0/L1 (coarse) frame for the shared kernel: outside cell = region boundary +/-1 in local (sidx-offset) coords; the + ! creg-local loop range is the owned transverse overlap [tlo:thi] block-relative; ownership -> unit face weights; cell + ! widths from the global coarse grid (ref_ratio = 2, dt = coarse step). + olo = 0; ohi = 0; glo = 0; ghi = 0; woff = 0; w_lo = 0._wp; w_hi = 0._wp; mlo = 1._wp; mhi = 1._wp + do d = 1, num_dims + olo(d) = amr_region_lo(d) - 1 - sidx(d); ohi(d) = amr_region_hi(d) + 1 - sidx(d) + glo(d) = tlo(d) - amr_region_lo(d); ghi(d) = thi(d) - amr_region_lo(d) + woff(d) = amr_region_lo(d) - sidx(d) + if (own_lo(d)) w_lo(d) = 1._wp + if (own_hi(d)) w_hi(d) = 1._wp + end do + if (own_lo(1)) mlo(1) = dx(olo(1)) + if (own_hi(1)) mhi(1) = dx(ohi(1)) + if (n_glb > 0) then + if (own_lo(2)) mlo(2) = dy(olo(2)) + if (own_hi(2)) mhi(2) = dy(ohi(2)) + end if + if (p_glb > 0) then + if (own_lo(3)) mlo(3) = dz(olo(3)) + if (own_hi(3)) mhi(3) = dz(ohi(3)) + end if + call s_amr_reflux_apply_faces(q_cons, amr_cur, 2, dt, olo, ohi, glo, ghi, woff, w_lo, w_hi, mlo, mhi) + + end subroutine s_amr_apply_reflux_state + + !> Shared Berger-Colella STATE reflux kernel: apply q(outside) += w*dtl*(F_coarse - Fbar_fine)/m on the low face and += + !! w*dtl*(Fbar_fine - F_coarse)/m on the high face for each active dim, where F_coarse is creg and Fbar_fine averages freg over + !! the rr**(ndim-1) covering fine faces. Used by BOTH s_amr_apply_reflux_state (L0/L1, coarse/sidx frame, unit weights from + !! ownership, rr=2) and s_amr_reflux_to_parent (L2->L1, parent-fine frame, sibling-seam weights, rr=ref_ratio). All framing is + !! passed by the caller so the flux-correction math is single-sourced: islot - register slot (amr_cur) rr - refinement ratio + !! (fine faces per coarse face per transverse dim) dtl - reflux dt olo/ohi(d) - the outside coarse-cell index just below/above + !! the block face in dim d glo/ghi(d) - creg-local loop range in dim d (transverse for the two faces d' /= d) woff(d) - + !! transverse write origin so the cell index is woff(d) + g w_lo/w_hi(d) - per-face weight (0 skips the write: unowned face at + !! np>1, or a fine-fine sibling-tile seam) mlo/mhi(d) - outside-cell width for the low/high face (invalid/unused where the + !! weight is 0) A zero weight SKIPS the write (not multiply-by-0) because the outside index may be out of bounds on an unowned + !! face. + impure subroutine s_amr_reflux_apply_faces(q, islot, rr, dtl, olo, ohi, glo, ghi, woff, w_lo, w_hi, mlo, mhi) + + type(scalar_field), dimension(sys_size), intent(inout) :: q + integer, intent(in) :: islot, rr, olo(3), ohi(3), glo(3), ghi(3), woff(3) + real(wp), intent(in) :: dtl, w_lo(3), w_hi(3), mlo(3), mhi(3) + integer :: eq, g1, g2, f10, f20, dd1, dd2, nch, dd1_hi, dd2_hi, ol, oh, w2, w3, w1, gl1, gh1, gl2, gh2, gl3, gh3 + real(wp) :: fblo, fbhi, wl, wh, ml, mh + + ! loop bounds hoisted to scalars: array-element bounds (glo(d)/ghi(d)) drive the collapsed inner loop and would force the + ! host arrays present on the device (an ACC present error) + + gl1 = glo(1); gh1 = ghi(1); gl2 = glo(2); gh2 = ghi(2); gl3 = glo(3); gh3 = ghi(3) + + ! x-faces: transverse (y, z) + if (w_lo(1) /= 0._wp .or. w_hi(1) /= 0._wp) then + nch = 1; if (n_glb > 0) nch = nch*rr; if (p_glb > 0) nch = nch*rr + dd1_hi = merge(rr - 1, 0, n_glb > 0); dd2_hi = merge(rr - 1, 0, p_glb > 0) + ol = olo(1); oh = ohi(1); w2 = woff(2); w3 = woff(3); wl = w_lo(1); wh = w_hi(1); ml = mlo(1); mh = mhi(1) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size - do c2 = bl3, bh3 - do c1 = bl2, bh2 - f20 = 0; if (d3) f20 = 2*c2 - f10 = 0; if (d2) f10 = 2*c1 + do g2 = gl3, gh3 + do g1 = gl2, gh2 + f20 = 0; if (p_glb > 0) f20 = rr*g2 + f10 = 0; if (n_glb > 0) f10 = rr*g1 fblo = 0._wp; fbhi = 0._wp do dd2 = 0, dd2_hi do dd1 = 0, dd1_hi @@ -862,77 +893,72 @@ contains end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - if (has_lo) q_cons(eq)%sf(ol1, tl2 + c1, tl3 + c2) = q_cons(eq)%sf(ol1, tl2 + c1, & - & tl3 + c2) + dtl*(creg(1)%lo(eq, c1, c2, islot) - fblo)/mlo - if (has_hi) q_cons(eq)%sf(oh1, tl2 + c1, tl3 + c2) = q_cons(eq)%sf(oh1, tl2 + c1, & - & tl3 + c2) + dtl*(fbhi - creg(1)%hi(eq, c1, c2, islot))/mhi + if (wl /= 0._wp) q(eq)%sf(ol, w2 + g1, w3 + g2) = q(eq)%sf(ol, w2 + g1, w3 + g2) + wl*dtl*(creg(1)%lo(eq, & + & g1, g2, islot) - fblo)/ml + if (wh /= 0._wp) q(eq)%sf(oh, w2 + g1, w3 + g2) = q(eq)%sf(oh, w2 + g1, & + & w3 + g2) + wh*dtl*(fbhi - creg(1)%hi(eq, g1, g2, islot))/mh end do end do end do $:END_GPU_PARALLEL_LOOP() end if - has_lo = own_lo(2); has_hi = own_hi(2) - if (n_glb > 0 .and. (has_lo .or. has_hi)) then - nch = 2 - if (p_glb > 0) nch = nch*2 - dd2_hi = merge(1, 0, p_glb > 0) - mlo = 1._wp; mhi = 1._wp - if (has_lo) mlo = dy(ol2) - if (has_hi) mhi = dy(oh2) + ! y-faces (n_glb > 0): transverse (x, z); x always active + if (n_glb > 0 .and. (w_lo(2) /= 0._wp .or. w_hi(2) /= 0._wp)) then + nch = rr; if (p_glb > 0) nch = nch*rr + dd2_hi = merge(rr - 1, 0, p_glb > 0) + ol = olo(2); oh = ohi(2); w1 = woff(1); w3 = woff(3); wl = w_lo(2); wh = w_hi(2); ml = mlo(2); mh = mhi(2) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size - do c2 = bl3, bh3 - do c1 = bl1, bh1 - f20 = 0; if (d3) f20 = 2*c2 - f10 = 2*c1 + do g2 = gl3, gh3 + do g1 = gl1, gh1 + f20 = 0; if (p_glb > 0) f20 = rr*g2 + f10 = rr*g1 fblo = 0._wp; fbhi = 0._wp do dd2 = 0, dd2_hi - do dd1 = 0, 1 + do dd1 = 0, rr - 1 fblo = fblo + freg(2)%lo(eq, f10 + dd1, f20 + dd2, islot) fbhi = fbhi + freg(2)%hi(eq, f10 + dd1, f20 + dd2, islot) end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - if (has_lo) q_cons(eq)%sf(tl1 + c1, ol2, tl3 + c2) = q_cons(eq)%sf(tl1 + c1, ol2, & - & tl3 + c2) + dtl*(creg(2)%lo(eq, c1, c2, islot) - fblo)/mlo - if (has_hi) q_cons(eq)%sf(tl1 + c1, oh2, tl3 + c2) = q_cons(eq)%sf(tl1 + c1, oh2, & - & tl3 + c2) + dtl*(fbhi - creg(2)%hi(eq, c1, c2, islot))/mhi + if (wl /= 0._wp) q(eq)%sf(w1 + g1, ol, w3 + g2) = q(eq)%sf(w1 + g1, ol, w3 + g2) + wl*dtl*(creg(2)%lo(eq, & + & g1, g2, islot) - fblo)/ml + if (wh /= 0._wp) q(eq)%sf(w1 + g1, oh, w3 + g2) = q(eq)%sf(w1 + g1, oh, & + & w3 + g2) + wh*dtl*(fbhi - creg(2)%hi(eq, g1, g2, islot))/mh end do end do end do $:END_GPU_PARALLEL_LOOP() end if - has_lo = own_lo(3); has_hi = own_hi(3) - if (p_glb > 0 .and. (has_lo .or. has_hi)) then - nch = 4 - mlo = 1._wp; mhi = 1._wp - if (has_lo) mlo = dz(ol3) - if (has_hi) mhi = dz(oh3) + ! z-faces (p_glb > 0): transverse (x, y); both active in 3D + if (p_glb > 0 .and. (w_lo(3) /= 0._wp .or. w_hi(3) /= 0._wp)) then + nch = rr*rr + ol = olo(3); oh = ohi(3); w1 = woff(1); w2 = woff(2); wl = w_lo(3); wh = w_hi(3); ml = mlo(3); mh = mhi(3) $:GPU_PARALLEL_LOOP(collapse=3, private='[f10, f20, dd1, dd2, fblo, fbhi]') do eq = 1, sys_size - do c2 = bl2, bh2 - do c1 = bl1, bh1 - f20 = 2*c2 - f10 = 2*c1 + do g2 = gl2, gh2 + do g1 = gl1, gh1 + f20 = rr*g2 + f10 = rr*g1 fblo = 0._wp; fbhi = 0._wp - do dd2 = 0, 1 - do dd1 = 0, 1 + do dd2 = 0, rr - 1 + do dd1 = 0, rr - 1 fblo = fblo + freg(3)%lo(eq, f10 + dd1, f20 + dd2, islot) fbhi = fbhi + freg(3)%hi(eq, f10 + dd1, f20 + dd2, islot) end do end do fblo = fblo/real(nch, wp); fbhi = fbhi/real(nch, wp) - if (has_lo) q_cons(eq)%sf(tl1 + c1, tl2 + c2, ol3) = q_cons(eq)%sf(tl1 + c1, tl2 + c2, & - & ol3) + dtl*(creg(3)%lo(eq, c1, c2, islot) - fblo)/mlo - if (has_hi) q_cons(eq)%sf(tl1 + c1, tl2 + c2, oh3) = q_cons(eq)%sf(tl1 + c1, tl2 + c2, & - & oh3) + dtl*(fbhi - creg(3)%hi(eq, c1, c2, islot))/mhi + if (wl /= 0._wp) q(eq)%sf(w1 + g1, w2 + g2, ol) = q(eq)%sf(w1 + g1, w2 + g2, ol) + wl*dtl*(creg(3)%lo(eq, & + & g1, g2, islot) - fblo)/ml + if (wh /= 0._wp) q(eq)%sf(w1 + g1, w2 + g2, oh) = q(eq)%sf(w1 + g1, w2 + g2, & + & oh) + wh*dtl*(fbhi - creg(3)%hi(eq, g1, g2, islot))/mh end do end do end do $:END_GPU_PARALLEL_LOOP() end if - end subroutine s_amr_apply_reflux_state + end subroutine s_amr_reflux_apply_faces impure subroutine s_finalize_amr_registers() From 99ff235ae9e5dde5a01987c8543b824cd776dfa2 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sat, 11 Jul 2026 20:25:45 -0400 Subject: [PATCH 30/41] amr: unify the coarse-self and child creg boundary-flux capture The coarse-side creg capture (islot loop, region/sidx frame, per-face ownership gating) and the child creg capture (kc loop, parent-fine frame, both faces) in s_amr_capture_boundary_flux were near-duplicate: same advective + total-flux-viscous + chemistry-species/energy math over two frames. A future physics term added to one side but not the other would silently break conservation on one path (the review's concern). Extract two shared kernels: s_amr_capture_creg_dense (dense eq range, per-face gated, accumulate-or-overwrite via merge(creg,0,acc)+cf*flux) covers advective and viscous; s_amr_capture_creg_chem covers the species-seq + conditional-energy chemistry capture. The coarse and child branches now just compute their frame and call the same kernels (net ~-190 lines). The merge idiom is byte-identical to the old if(accum)/else and never reads uninitialized creg (merge selects, no arithmetic). GPU (V100): 20 goldens across inviscid / viscous / chemistry / bubbles / QBMM / multi-level / subcycle / 3D all byte-identical. --- src/simulation/m_amr_registers.fpp | 376 +++++++++-------------------- 1 file changed, 117 insertions(+), 259 deletions(-) diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index e8409d2779..c51aba5345 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -169,6 +169,107 @@ contains end subroutine s_initialize_amr_registers + !> Shared creg boundary-flux capture (dense eq range): creg(id)%lo/hi(eq, t1, t2, slot) [+=/=] cf * flux(face, o1+t1, o2+t2) for + !! eq in [eqb:eqe], over transverse [t1lo:t1hi] x [t2lo:t2hi]. acc=.true. accumulates, .false. overwrites (the merge picks the + !! old value or 0 with no arithmetic, so a stage-1 overwrite reads no uninitialized creg). clo/chi gate the low/high face + !! (unowned coarse faces off; child faces always on). Used for the advective (flux_dir, eqb=1..sys_size) and viscous (flux_src, + !! eqb=mom..E) captures on BOTH the coarse-self (islot) and child (kc) sides - see s_amr_capture_boundary_flux. + impure subroutine s_amr_capture_creg_dense(slot, id, flux, cf, acc, clo, chi, jlo, jhi, o1, o2, t1lo, t1hi, t2lo, t2hi, eqb, & + & eqe) + + integer, intent(in) :: slot, id, jlo, jhi, o1, o2, t1lo, t1hi, t2lo, t2hi, eqb, eqe + type(vector_field), intent(in) :: flux + real(wp), intent(in) :: cf + logical, intent(in) :: acc, clo, chi + integer :: eq, t1, t2 + + $:GPU_PARALLEL_LOOP(collapse=3) + do t2 = t2lo, t2hi + do t1 = t1lo, t1hi + do eq = eqb, eqe + select case (id) + case (1) + if (clo) creg(1)%lo(eq, t1, t2, slot) = merge(creg(1)%lo(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) + if (chi) creg(1)%hi(eq, t1, t2, slot) = merge(creg(1)%hi(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) + case (2) + if (clo) creg(2)%lo(eq, t1, t2, slot) = merge(creg(2)%lo(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) + if (chi) creg(2)%hi(eq, t1, t2, slot) = merge(creg(2)%hi(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) + case (3) + if (clo) creg(3)%lo(eq, t1, t2, slot) = merge(creg(3)%lo(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) + if (chi) creg(3)%hi(eq, t1, t2, slot) = merge(creg(3)%hi(eq, t1, t2, slot), 0._wp, & + & acc) + cf*real(flux%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) + end select + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + + end subroutine s_amr_capture_creg_dense + + !> Shared creg boundary-flux capture (chemistry species diffusion): always-accumulate the species mass fluxes, plus the energy + !! flux only when NOT viscous (the viscous pass already captured flux_src(E)). Species use a seq inner loop (a runtime range). + !! Used for the chem capture on BOTH the coarse-self and child sides. + impure subroutine s_amr_capture_creg_chem(slot, id, flux, cf, clo, chi, jlo, jhi, o1, o2, t1lo, t1hi, t2lo, t2hi) + + integer, intent(in) :: slot, id, jlo, jhi, o1, o2, t1lo, t1hi, t2lo, t2hi + type(vector_field), intent(in) :: flux + real(wp), intent(in) :: cf + logical, intent(in) :: clo, chi + integer :: eq, t1, t2 + + $:GPU_PARALLEL_LOOP(collapse=2) + do t2 = t2lo, t2hi + do t1 = t1lo, t1hi + $:GPU_LOOP(parallelism='[seq]') + do eq = eqn_idx%species%beg, eqn_idx%species%end + select case (id) + case (1) + if (clo) creg(1)%lo(eq, t1, t2, slot) = creg(1)%lo(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(jlo, & + & o1 + t1, o2 + t2), wp) + if (chi) creg(1)%hi(eq, t1, t2, slot) = creg(1)%hi(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(jhi, & + & o1 + t1, o2 + t2), wp) + case (2) + if (clo) creg(2)%lo(eq, t1, t2, slot) = creg(2)%lo(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(o1 + t1, & + & jlo, o2 + t2), wp) + if (chi) creg(2)%hi(eq, t1, t2, slot) = creg(2)%hi(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(o1 + t1, & + & jhi, o2 + t2), wp) + case (3) + if (clo) creg(3)%lo(eq, t1, t2, slot) = creg(3)%lo(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(o1 + t1, & + & o2 + t2, jlo), wp) + if (chi) creg(3)%hi(eq, t1, t2, slot) = creg(3)%hi(eq, t1, t2, slot) + cf*real(flux%vf(eq)%sf(o1 + t1, & + & o2 + t2, jhi), wp) + end select + end do + if (.not. viscous) then + select case (id) + case (1) + if (clo) creg(1)%lo(eqn_idx%E, t1, t2, slot) = creg(1)%lo(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(jlo, o1 + t1, o2 + t2), wp) + if (chi) creg(1)%hi(eqn_idx%E, t1, t2, slot) = creg(1)%hi(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(jhi, o1 + t1, o2 + t2), wp) + case (2) + if (clo) creg(2)%lo(eqn_idx%E, t1, t2, slot) = creg(2)%lo(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(o1 + t1, jlo, o2 + t2), wp) + if (chi) creg(2)%hi(eqn_idx%E, t1, t2, slot) = creg(2)%hi(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(o1 + t1, jhi, o2 + t2), wp) + case (3) + if (clo) creg(3)%lo(eqn_idx%E, t1, t2, slot) = creg(3)%lo(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jlo), wp) + if (chi) creg(3)%hi(eqn_idx%E, t1, t2, slot) = creg(3)%hi(eqn_idx%E, t1, t2, & + & slot) + cf*real(flux%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jhi), wp) + end select + end if + end do + end do + $:END_GPU_PARALLEL_LOOP() + + end subroutine s_amr_capture_creg_chem + !> Capture the c/f boundary-face fluxes for direction id from the just-finalized flux array. Runs INSIDE s_compute_rhs: coarse !! call (amr_in_fine_advance false, coarse globals) fills creg at the block boundary faces; fine call (flag true, globals !! swapped to the fine block) fills freg at fine faces -1 and m/n/p. creg uses relative 0-based transverse; freg uses 0-based @@ -359,125 +460,14 @@ contains o1 = amr_isect_lo_all(1, kc); t1_hi = amr_isect_hi_all(1, kc) - amr_isect_lo_all(1, kc) o2 = amr_isect_lo_all(2, kc); t2_hi = amr_isect_hi_all(2, kc) - amr_isect_lo_all(2, kc) end select - $:GPU_PARALLEL_LOOP(collapse=3) - do t2 = 0, t2_hi - do t1 = 0, t1_hi - do eq = 1, sys_size - select case (id) - case (1) - if (cacc) then - creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_dir%vf(eq)%sf(jlo, & - & o1 + t1, o2 + t2), wp) - creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_dir%vf(eq)%sf(jhi, & - & o1 + t1, o2 + t2), wp) - else - creg(1)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) - creg(1)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) - end if - case (2) - if (cacc) then - creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - else - creg(2)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - creg(2)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - end if - case (3) - if (cacc) then - creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - else - creg(3)%lo(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - creg(3)%hi(eq, t1, t2, kc) = ccoef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end if - end select - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - ! total-flux matching (child creg): add the viscous momentum/energy face fluxes (flux_src) so the L2 reflux matches - ! the TOTAL advective+viscous flux, exactly as the single-level coarse creg does. Always accumulate onto the - ! advective. - if (viscous) then - $:GPU_PARALLEL_LOOP(collapse=3) - do t2 = 0, t2_hi - do t1 = 0, t1_hi - do eq = eqn_idx%mom%beg, eqn_idx%E - select case (id) - case (1) - creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jlo, & - & o1 + t1, o2 + t2), wp) - creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jhi, & - & o1 + t1, o2 + t2), wp) - case (2) - creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if - ! total-flux matching (child creg, chemistry species diffusion): species mass fluxes into creg, and the energy flux - ! only when NOT viscous (as on the single-level fine/coarse sides). Always accumulate onto the advective. - if (chemistry .and. chem_params%diffusion) then - $:GPU_PARALLEL_LOOP(collapse=2) - do t2 = 0, t2_hi - do t1 = 0, t1_hi - $:GPU_LOOP(parallelism='[seq]') - do eq = eqn_idx%species%beg, eqn_idx%species%end - select case (id) - case (1) - creg(1)%lo(eq, t1, t2, kc) = creg(1)%lo(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jlo, & - & o1 + t1, o2 + t2), wp) - creg(1)%hi(eq, t1, t2, kc) = creg(1)%hi(eq, t1, t2, kc) + ccoef*real(flux_src%vf(eq)%sf(jhi, & - & o1 + t1, o2 + t2), wp) - case (2) - creg(2)%lo(eq, t1, t2, kc) = creg(2)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - creg(2)%hi(eq, t1, t2, kc) = creg(2)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - creg(3)%lo(eq, t1, t2, kc) = creg(3)%lo(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - creg(3)%hi(eq, t1, t2, kc) = creg(3)%hi(eq, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end do - if (.not. viscous) then - select case (id) - case (1) - creg(1)%lo(eqn_idx%E, t1, t2, kc) = creg(1)%lo(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(jlo, o1 + t1, o2 + t2), wp) - creg(1)%hi(eqn_idx%E, t1, t2, kc) = creg(1)%hi(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(jhi, o1 + t1, o2 + t2), wp) - case (2) - creg(2)%lo(eqn_idx%E, t1, t2, kc) = creg(2)%lo(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jlo, o2 + t2), wp) - creg(2)%hi(eqn_idx%E, t1, t2, kc) = creg(2)%hi(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - creg(3)%lo(eqn_idx%E, t1, t2, kc) = creg(3)%lo(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jlo), wp) - creg(3)%hi(eqn_idx%E, t1, t2, kc) = creg(3)%hi(eqn_idx%E, t1, t2, & - & kc) + ccoef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end if - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if + ! shared capture into this CHILD's creg (parent-fine frame, both faces always owned since child is co-located): + ! advective, then total-flux viscous, then chemistry species+energy. + call s_amr_capture_creg_dense(kc, id, flux_dir, ccoef, cacc, .true., .true., jlo, jhi, o1, o2, 0, t1_hi, 0, & + & t2_hi, 1, sys_size) + if (viscous) call s_amr_capture_creg_dense(kc, id, flux_src, ccoef, .true., .true., .true., jlo, jhi, o1, o2, 0, & + & t1_hi, 0, t2_hi, eqn_idx%mom%beg, eqn_idx%E) + if (chemistry .and. chem_params%diffusion) call s_amr_capture_creg_chem(kc, id, flux_src, ccoef, .true., .true., & + & jlo, jhi, o1, o2, 0, t1_hi, 0, t2_hi) end do else ! coarse branch: a face's capture runs on the rank owning the coarse cells just OUTSIDE it (its @@ -508,146 +498,14 @@ contains t1_lo = tlo(1) - amr_region_lo(1); t1_hi = thi(1) - amr_region_lo(1); o1 = amr_region_lo(1) - sidx(1) t2_lo = tlo(2) - amr_region_lo(2); t2_hi = thi(2) - amr_region_lo(2); o2 = amr_region_lo(2) - sidx(2) end select - $:GPU_PARALLEL_LOOP(collapse=3) - do t2 = t2_lo, t2_hi - do t1 = t1_lo, t1_hi - do eq = 1, sys_size - select case (id) - case (1) - if (cap_lo) then - if (accum) then - creg(1)%lo(eq, t1, t2, islot) = creg(1)%lo(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) - else - creg(1)%lo(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) - end if - end if - if (cap_hi) then - if (accum) then - creg(1)%hi(eq, t1, t2, islot) = creg(1)%hi(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) - else - creg(1)%hi(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) - end if - end if - case (2) - if (cap_lo) then - if (accum) then - creg(2)%lo(eq, t1, t2, islot) = creg(2)%lo(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - else - creg(2)%lo(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - end if - end if - if (cap_hi) then - if (accum) then - creg(2)%hi(eq, t1, t2, islot) = creg(2)%hi(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - else - creg(2)%hi(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - end if - end if - case (3) - if (cap_lo) then - if (accum) then - creg(3)%lo(eq, t1, t2, islot) = creg(3)%lo(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - else - creg(3)%lo(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - end if - end if - if (cap_hi) then - if (accum) then - creg(3)%hi(eq, t1, t2, islot) = creg(3)%hi(eq, t1, t2, & - & islot) + coef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - else - creg(3)%hi(eq, t1, t2, islot) = coef*real(flux_dir%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end if - end if - end select - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - ! total-flux matching (coarse side): add viscous momentum/energy face fluxes into creg, same - ! face gating and transverse offsets as the base capture; always accumulate. - if (viscous) then - $:GPU_PARALLEL_LOOP(collapse=3) - do t2 = t2_lo, t2_hi - do t1 = t1_lo, t1_hi - do eq = eqn_idx%mom%beg, eqn_idx%E - select case (id) - case (1) - if (cap_lo) creg(1)%lo(eq, t1, t2, islot) = creg(1)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) - if (cap_hi) creg(1)%hi(eq, t1, t2, islot) = creg(1)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) - case (2) - if (cap_lo) creg(2)%lo(eq, t1, t2, islot) = creg(2)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - if (cap_hi) creg(2)%hi(eq, t1, t2, islot) = creg(2)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - if (cap_lo) creg(3)%lo(eq, t1, t2, islot) = creg(3)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - if (cap_hi) creg(3)%hi(eq, t1, t2, islot) = creg(3)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end do - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if - ! total-flux matching (coarse side, chemistry species diffusion): species mass fluxes - ! into creg (and the energy flux only when NOT viscous, as on the fine side); same face - ! gating and transverse offsets as the base capture; always accumulate. - if (chemistry .and. chem_params%diffusion) then - $:GPU_PARALLEL_LOOP(collapse=2) - do t2 = t2_lo, t2_hi - do t1 = t1_lo, t1_hi - $:GPU_LOOP(parallelism='[seq]') - do eq = eqn_idx%species%beg, eqn_idx%species%end - select case (id) - case (1) - if (cap_lo) creg(1)%lo(eq, t1, t2, islot) = creg(1)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(jlo, o1 + t1, o2 + t2), wp) - if (cap_hi) creg(1)%hi(eq, t1, t2, islot) = creg(1)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(jhi, o1 + t1, o2 + t2), wp) - case (2) - if (cap_lo) creg(2)%lo(eq, t1, t2, islot) = creg(2)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, jlo, o2 + t2), wp) - if (cap_hi) creg(2)%hi(eq, t1, t2, islot) = creg(2)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - if (cap_lo) creg(3)%lo(eq, t1, t2, islot) = creg(3)%lo(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jlo), wp) - if (cap_hi) creg(3)%hi(eq, t1, t2, islot) = creg(3)%hi(eq, t1, t2, & - & islot) + coef*real(flux_src%vf(eq)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end do - if (.not. viscous) then - select case (id) - case (1) - if (cap_lo) creg(1)%lo(eqn_idx%E, t1, t2, islot) = creg(1)%lo(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(jlo, o1 + t1, o2 + t2), wp) - if (cap_hi) creg(1)%hi(eqn_idx%E, t1, t2, islot) = creg(1)%hi(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(jhi, o1 + t1, o2 + t2), wp) - case (2) - if (cap_lo) creg(2)%lo(eqn_idx%E, t1, t2, islot) = creg(2)%lo(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jlo, o2 + t2), wp) - if (cap_hi) creg(2)%hi(eqn_idx%E, t1, t2, islot) = creg(2)%hi(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, jhi, o2 + t2), wp) - case (3) - if (cap_lo) creg(3)%lo(eqn_idx%E, t1, t2, islot) = creg(3)%lo(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jlo), wp) - if (cap_hi) creg(3)%hi(eqn_idx%E, t1, t2, islot) = creg(3)%hi(eqn_idx%E, t1, t2, & - & islot) + coef*real(flux_src%vf(eqn_idx%E)%sf(o1 + t1, o2 + t2, jhi), wp) - end select - end if - end do - end do - $:END_GPU_PARALLEL_LOOP() - end if + ! shared capture into this coarse block's creg (region/sidx frame, per-face ownership gating): advective, then + ! total-flux viscous, then chemistry species+energy. + call s_amr_capture_creg_dense(islot, id, flux_dir, coef, accum, cap_lo, cap_hi, jlo, jhi, o1, o2, t1_lo, & + & t1_hi, t2_lo, t2_hi, 1, sys_size) + if (viscous) call s_amr_capture_creg_dense(islot, id, flux_src, coef, .true., cap_lo, cap_hi, jlo, jhi, o1, & + & o2, t1_lo, t1_hi, t2_lo, t2_hi, eqn_idx%mom%beg, eqn_idx%E) + if (chemistry .and. chem_params%diffusion) call s_amr_capture_creg_chem(islot, id, flux_src, coef, cap_lo, & + & cap_hi, jlo, jhi, o1, o2, t1_lo, t1_hi, t2_lo, t2_hi) end if ! cap_lo .or. cap_hi end do call s_amr_select_slot(save_cur) From 3f73cfd1a0374fbdc3358ab81d95613a438a0cdf Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sun, 12 Jul 2026 22:18:14 -0400 Subject: [PATCH 31/41] =?UTF-8?q?amr:=20address=20multi-level=20code=20rev?= =?UTF-8?q?iew=20=E2=80=94=20static-builder=20guards,=20level-aware=20exte?= =?UTF-8?q?nts,=20nesting=20guard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review of PR #6 (amr-multilevel). Correctness/safety fixes: - static builder (s_amr_build_static_multilevel): fail-closed guards for an inverted L2 box (small parent) and for an L2 whose L0-extent > amr_maxc_fit/2 (would overrun the creg register 0:amr_maxc_fit-1 in the L2->L1 reflux capture) — the dynamic regrid path already caps/clamps. - checker: gate multi-level+IB at ALL rank counts (was np>1 only); gate static AMR (amr_regrid_int=0) to amr_max_level<=2. - proper-nesting guard in the regrid: abort fail-closed if a level>=2 block overlaps != 1 parent-level block (gather/reflux take the FIRST overlap; a tile straddling a parent-tile seam would silently couple to one parent — wrong BC + leak). - stretched-grid reflux-to-parent: per-face parent-fine dx mirroring s_amr_apply_reflux_state (byte-identical on uniform grids). - level-aware extents: tower load-weight and the regrid stash old_ext use 2**level (level-2 is 4x its L0 footprint); level-1 byte-identical. Fast-path also compares box_level; guard tower roll-up against amr_block_level(0). - fix stale comment: the child creg captures total flux (advective+viscous+chem), not advective only, so viscous/chem multi-level conserves. Validated: 8/8 multi-level AMR goldens byte-identical on GPU (V100); guards are fail-closed. --- src/simulation/m_amr.fpp | 81 ++++++++++++++++++++++-------- src/simulation/m_amr_registers.fpp | 9 ++-- src/simulation/m_checker.fpp | 6 ++- 3 files changed, 69 insertions(+), 27 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 6e1e51f4f3..39eb9f554b 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -894,11 +894,13 @@ contains if (amr_num_blocks < 1) return - ! per-block own fine-work weight = fine cell count (product of 2*extent-1 over active dims) + ! per-block own fine-work weight = fine cell count (product of (2**level)*extent-1 over active dims). A level-l block is + ! ref_ratio**l = 2**l finer than L0, so its work is 4x (not 2x) the L0 footprint at level 2; using the level factor keeps + ! the co-located-tower load balance honest. Level-1 blocks (2**1 = 2) are byte-identical to the previous form. do k = 1, amr_num_blocks - wt(k) = int(2*(amr_region_hi_all(1, k) - amr_region_lo_all(1, k) + 1) - 1, 8) - if (n_glb > 0) wt(k) = wt(k)*int(2*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 8) - if (p_glb > 0) wt(k) = wt(k)*int(2*(amr_region_hi_all(3, k) - amr_region_lo_all(3, k) + 1) - 1, 8) + wt(k) = int((2**amr_block_level(k))*(amr_region_hi_all(1, k) - amr_region_lo_all(1, k) + 1) - 1, 8) + if (n_glb > 0) wt(k) = wt(k)*int((2**amr_block_level(k))*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 8) + if (p_glb > 0) wt(k) = wt(k)*int((2**amr_block_level(k))*(amr_region_hi_all(3, k) - amr_region_lo_all(3, k) + 1) - 1, 8) key(k) = f_amr_morton(amr_region_lo_all(1, k), amr_region_lo_all(2, k), amr_region_lo_all(3, k)) ord(k) = k end do @@ -911,6 +913,7 @@ contains do k = 1, amr_num_blocks a = k do while (amr_block_level(a) > 1) + if (f_amr_parent_block(a) < 1) exit ! proper-nesting invariant broken; stop before indexing amr_block_level(0) a = f_amr_parent_block(a) end do twt(a) = twt(a) + wt(k) @@ -1313,10 +1316,6 @@ contains end subroutine s_populate_amr_fine - !> Multi-level coupling self-test (development milestone; np=1, static). Nest ONE level-2 block inside block 1, populate it from - !! the parent (level-aware gather + prolong), and check that restrict(level-2 fine) recovers the parent-fine coarse it was - !! prolonged from (conservation err ~ 0 => the level-aware geometry/gather/prolong/restrict are consistent). Non-intrusive: the - !! level-2 block is removed afterward, so the run continues single-level. The recursive advance/regrid (increments 3-4) follow. !> Build the STATIC multi-level hierarchy (amr_regrid_int = 0): nest exactly one level-2 block inside level-1 block 1 by a fixed !! geometric inset (a regrid would place it by sensor-on-fine instead), prolong the parent state into it, and keep it persistent !! so the advance driver steps it every timestep. The restrict/reflux identity that this construction relies on is protected by @@ -1341,6 +1340,22 @@ contains if (p_glb > 0) inset(3) = max((amr_region_hi_all(3, 1) - amr_region_lo_all(3, 1) + 1)/4, amr_cpat_mar) amr_region_lo_all(:,L2) = amr_region_lo_all(:,1) + inset amr_region_hi_all(:,L2) = amr_region_hi_all(:,1) - inset + ! Guard the fixed-inset box against configs this single-block static builder cannot represent - the dynamic regrid path + ! has the analogous checks (proper-nesting skip + amr_maxc_fit/2 clamp), but the static path bypasses them. Replicated + ! inputs -> every rank takes the same branch (collective-safe). (a) a level-1 block smaller than 2*inset inverts the box; + ! (b) a level-2 L0-extent > amr_maxc_fit/2 makes its parent-fine transverse extent (2*L0) overrun the creg register + ! (allocated 0:amr_maxc_fit-1), a silent out-of-bounds device write in the L2->L1 reflux capture. + if (amr_region_lo_all(1, L2) > amr_region_hi_all(1, L2) .or. (n_glb > 0 .and. amr_region_lo_all(2, & + & L2) > amr_region_hi_all(2, L2)) .or. (p_glb > 0 .and. amr_region_lo_all(3, L2) > amr_region_hi_all(3, & + & L2))) call s_mpi_abort('amr static multi-level: level-1 block 1 is too small to nest a level-2 block (the fixed ' & + & // 'inset inverts the box); enlarge the base amr block or reduce amr_cpat_mar') + if (2*(amr_region_hi_all(1, L2) - amr_region_lo_all(1, & + & L2) + 1) > amr_maxc_fit(1) .or. (n_glb > 0 .and. 2*(amr_region_hi_all(2, L2) - amr_region_lo_all(2, & + & L2) + 1) > amr_maxc_fit(2)) .or. (p_glb > 0 .and. 2*(amr_region_hi_all(3, L2) - amr_region_lo_all(3, & + & L2) + 1) > amr_maxc_fit(3))) & + & call s_mpi_abort('amr static multi-level: the nested level-2 block exceeds the per-rank scratch cap ' & + & // '(2*L0-extent > amr_maxc_fit); static multi-level does not tile the level-2 block - use a smaller base amr ' & + & // 'block or the dynamic regrid path (amr_regrid_int > 0)') amr_block_level(L2) = 2 amr_block_owner(L2) = amr_block_owner(1) amr_num_blocks = L2; amr_num_levels = 2 @@ -1564,12 +1579,12 @@ contains !! cells just OUTSIDE the block footprint, in the parent-fine frame (mirror of the L0 s_amr_apply_reflux targeted at the parent !! - "the coarse" is level l-1). State form: q_parent(outside) += dt*(F_coarse - Fbar_fine)/dxf on the low face and += !! dt*(Fbar_fine - F_coarse)/dxf on the high face, where Fbar_fine is the child-averaged fine register. creg/freg key off this - !! block's slot. np=1 local; the np>=2 P2P freg delivery is future work. Uniform parent-fine dx (stretched: coords TODO). + !! block's slot. np=1 local; the np>=2 P2P freg delivery is future work. Per-face parent-fine dx (stretched-grid safe). impure subroutine s_amr_reflux_to_parent(dt_reflux) real(wp), intent(in) :: dt_reflux integer :: pblk, d, y, olo(3), ohi(3), glo(3), ghi(3), woff(3) - real(wp) :: dxf, w_lo(3), w_hi(3), mlo(3), mhi(3) + real(wp) :: w_lo(3), w_hi(3), mlo(3), mhi(3) if (.not. amr_rank_owns_block) return ! np>=2: child+parent co-located; only the owner refluxes locally pblk = f_amr_parent_block(amr_cur) @@ -1587,17 +1602,18 @@ contains end do end do ! parent-fine frame for the shared reflux kernel: outside cell = isect boundary +/-1; creg-local loop range 0:extent; - ! transverse write at the isect origin; uniform parent-fine cell widths (interior index; stretched-grid coords are TODO). + ! transverse write at the isect origin. Per-face parent-fine cell widths - dx at the low/high OUTSIDE cell (olo/ohi), + ! mirroring the L0/L1 s_amr_apply_reflux_state so a stretched parent grid corrects each C/F face with its own width + ! (on a uniform grid dx is constant, so this is byte-identical to the previous single-dxf form). olo = 0; ohi = 0; glo = 0; ghi = 0; woff = 0; mlo = 1._wp; mhi = 1._wp - dxf = amr_slots(pblk)%dx(amr_isect_lo(1)) do d = 1, num_dims olo(d) = amr_isect_lo(d) - 1; ohi(d) = amr_isect_hi(d) + 1 ghi(d) = amr_isect_hi(d) - amr_isect_lo(d) woff(d) = amr_isect_lo(d) end do - mlo(1) = dxf; mhi(1) = dxf - if (n_glb > 0) then; mlo(2) = amr_slots(pblk)%dy(amr_isect_lo(2)); mhi(2) = mlo(2); end if - if (p_glb > 0) then; mlo(3) = amr_slots(pblk)%dz(amr_isect_lo(3)); mhi(3) = mlo(3); end if + mlo(1) = amr_slots(pblk)%dx(olo(1)); mhi(1) = amr_slots(pblk)%dx(ohi(1)) + if (n_glb > 0) then; mlo(2) = amr_slots(pblk)%dy(olo(2)); mhi(2) = amr_slots(pblk)%dy(ohi(2)); end if + if (p_glb > 0) then; mlo(3) = amr_slots(pblk)%dz(olo(3)); mhi(3) = amr_slots(pblk)%dz(ohi(3)); end if call s_amr_reflux_apply_faces(amr_slots(pblk)%q_cons, amr_cur, amr_slots(amr_cur)%ref_ratio, dt_reflux, olo, ohi, glo, & & ghi, woff, w_lo, w_hi, mlo, mhi) @@ -4024,11 +4040,14 @@ contains end block end if - ! 4) unchanged? (same count and boxes as the live slots -> keep them; a rebuild would reproduce them exactly anyway) + ! 4) unchanged? (same count, boxes AND levels as the live slots -> keep them; a rebuild would reproduce them exactly + ! anyway). The level must be compared too: a box that keeps its coordinates but changes refinement level would + ! otherwise slip through with a stale amr_block_level, corrupting the level-aware coupling. if (nboxes == amr_num_blocks) then same = .true. do k = 1, nboxes - if (any(boxes(k)%lo /= amr_slots(k)%region%lo) .or. any(boxes(k)%hi /= amr_slots(k)%region%hi)) same = .false. + if (any(boxes(k)%lo /= amr_slots(k)%region%lo) .or. any(boxes(k)%hi /= amr_slots(k)%region%hi) & + & .or. box_level(k) /= amr_block_level(k)) same = .false. end do if (same) return end if @@ -4040,9 +4059,13 @@ contains ! migration below and the overlap-copy's index shift are correct even where this rank did not own the old block old_ilo(:,k) = amr_region_lo_all(:,k) old_chi(:,k) = amr_region_hi_all(:,k) ! old COARSE hi (for the P2P migration overlap test below) - old_ext(1, k) = 2*(amr_region_hi_all(1, k) - amr_region_lo_all(1, k) + 1) - 1 - old_ext(2, k) = merge(2*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 0, n_glb > 0) - old_ext(3, k) = merge(2*(amr_region_hi_all(3, k) - amr_region_lo_all(3, k) + 1) - 1, 0, p_glb > 0) + ! fine extent = (2**level)*footprint - 1: a level-2 block is 4x its L0 footprint, so stashing/migrating it with the + ! level-1 factor (2x) truncates half its fine cells. Level-1 blocks (2**1 = 2) are byte-identical to before. + old_ext(1, k) = (2**amr_block_level(k))*(amr_region_hi_all(1, k) - amr_region_lo_all(1, k) + 1) - 1 + old_ext(2, k) = merge((2**amr_block_level(k))*(amr_region_hi_all(2, k) - amr_region_lo_all(2, k) + 1) - 1, 0, & + & n_glb > 0) + old_ext(3, k) = merge((2**amr_block_level(k))*(amr_region_hi_all(3, k) - amr_region_lo_all(3, k) + 1) - 1, 0, & + & p_glb > 0) old_owner(k) = amr_block_owner(k) old_level(k) = amr_block_level(k) ! overlap-copy must match levels: an old L2's stash is in the 4x parent-fine frame old_owns(k) = amr_owns_all(k) @@ -4079,6 +4102,24 @@ contains ! a box nested at level l). Setting it every regrid resets a stale level when a slot is reused across levels. amr_block_level(k) = box_level(k) end do + ! Proper-nesting guard: each level>=2 block must be covered by EXACTLY ONE parent-level block. f_amr_parent_block (and + ! the gather/reflux that key off it) take the FIRST overlap, so a fine tile straddling two parent tiles - an internal + ! parent-level tile seam crossed by a nested feature - would silently couple to only one parent (wrong coarse BC + a + ! conservation leak on the other). Abort fail-closed instead. Replicated boxes -> every rank aborts together. + block + integer :: bk, bkk, npar + do bk = 1, nboxes + if (box_level(bk) < 2) cycle + npar = 0 + do bkk = 1, nboxes + if (box_level(bkk) == box_level(bk) - 1 .and. f_amr_boxes_overlap(boxes(bk)%lo, boxes(bk)%hi, & + & boxes(bkk)%lo, boxes(bkk)%hi)) npar = npar + 1 + end do + if (npar /= 1) call s_mpi_abort('amr multi-level: a level>=2 block overlaps more than one (or no) ' & + & // 'parent-level block - a fine tile straddling a parent-tile seam is unsupported (gather/reflux ' & + & // 'couple to a single parent); reduce max_grid_size or the refined feature extent') + end do + end block amr_num_levels = maxval(box_level(1:nboxes)) call s_amr_assign_block_owners() diff --git a/src/simulation/m_amr_registers.fpp b/src/simulation/m_amr_registers.fpp index c51aba5345..1d951c2a3c 100644 --- a/src/simulation/m_amr_registers.fpp +++ b/src/simulation/m_amr_registers.fpp @@ -435,11 +435,10 @@ contains ! multi-level lock-step: this fine block (amr_cur) is the COARSE side (parent) of its level+1 children. Capture creg for ! each child from THIS block's fine flux at the child's footprint faces - the child's amr_isect_lo/hi is already in this ! parent's fine frame, so it indexes flux_dir directly (face jlo=isect_lo-1, jhi=isect_hi; transverse origin o1/o2). - ! creg - ! holds the rk3_w-weighted step-integral flux for the once-per-step STATE reflux into this parent - ! (s_amr_reflux_to_parent). - ! Advective (flux_dir) only; viscous/chemistry multi-level reflux is gated in m_checker until captured here too. np=1 - ! (children co-owned with the parent); np>=2 P2P delivery is future work. + ! creg holds the rk3_w-weighted step-integral flux for the once-per-step STATE reflux into this parent + ! (s_amr_reflux_to_parent). Captures the TOTAL flux - advective (flux_dir), then viscous (flux_src, mom..E), then + ! chemistry species+energy - mirroring the coarse-self branch below, so viscous/chemistry multi-level conserves (no + ! checker gate). np=1 (children co-owned with the parent); np>=2 P2P delivery is future work. ccoef = rk3_w(stage); cacc = (stage > 1) do kc = 1, amr_num_blocks if (amr_block_level(kc) /= amr_block_level(amr_cur) + 1 .or. .not. amr_owns_all(kc)) cycle diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 3a041a2d81..041abd9a03 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -195,8 +195,10 @@ contains @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") @:PROHIBIT(amr_max_level > 1 .and. amr_max_blocks < 2, & & "multi-level AMR (amr_max_level > 1) needs amr_max_blocks >= 2 (at least one level-1 block plus one nested level-2 block); a run-time abort catches the tiled case where even more blocks are required") - @:PROHIBIT(amr_max_level > 1 .and. num_procs > 1 .and. ib, & - & "multi-level AMR (amr_max_level > 1) with immersed boundaries at num_procs > 1 is not yet supported (fine-grid IB nesting is under development); use num_procs = 1, or amr_max_level = 1, with IB") + @:PROHIBIT(amr_max_level > 1 .and. ib, & + & "multi-level AMR (amr_max_level > 1) with immersed boundaries is not yet supported at any rank count (fine-grid IB nesting is under development); use amr_max_level = 1 with IB") + @:PROHIBIT(amr_regrid_int == 0 .and. amr_max_level > 2, & + & "static multi-level AMR (amr_regrid_int = 0) nests exactly one level-2 block in block 1, so it supports at most amr_max_level = 2; use amr_regrid_int > 0 for deeper or multi-block nesting") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & & "amr_cluster_eff must satisfy 0 < amr_cluster_eff <= 1") end if From e176e294609fec1e0786d6a092aa5875e583de37 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Sun, 12 Jul 2026 22:19:31 -0400 Subject: [PATCH 32/41] docs(amr): amr_max_level multi-level is implemented, not planned The amr_max_level description in case.md, descriptions.py, and amr_multilevel.md still said only level 1 was supported / multi-level was 'planned', contradicting the shipped, golden-tested amr_max_level=2 (static up to 2, dynamic regrid deeper). Correct all three. --- docs/documentation/amr_multilevel.md | 10 +++++----- docs/documentation/case.md | 4 ++-- toolchain/mfc/params/descriptions.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/documentation/amr_multilevel.md b/docs/documentation/amr_multilevel.md index a59f648595..6d1ab22e8d 100644 --- a/docs/documentation/amr_multilevel.md +++ b/docs/documentation/amr_multilevel.md @@ -1,10 +1,10 @@ # Multi-level AMR nesting — design and implementation plan -Status: **in progress.** The block-structured AMR core today supports a single refined -level (L1, 2:1 over the L0 base grid). This document is the roadmap for generalizing it to -arbitrary refinement depth (L0, L1, …, L`amr_max_level`). It is implemented in -behavior-preserving increments: at `amr_max_level = 1` the code is bit-identical to the -single-level core. +Status: **multi-level nesting implemented.** The block-structured AMR core supports arbitrary +refinement depth (L0, L1, …, L`amr_max_level`, 2:1 per level): static AMR (`amr_regrid_int = 0`) +nests one level-2 block, dynamic regrid (`amr_regrid_int > 0`) nests deeper and per-level. This +document is the design record. It was implemented in behavior-preserving increments: at +`amr_max_level = 1` the code is bit-identical to the single-level core. ## The one assumption to generalize diff --git a/docs/documentation/case.md b/docs/documentation/case.md index c41b2702f7..33982f5aeb 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -684,7 +684,7 @@ To restart the simulation from $k$-th time step, see @ref running "Restarting Ca | `amr_buf` | Integer | Coarse-cell padding around tagged cells when regridding (default 3) | | `amr_subcycle` | Logical | Advance the coarse level at the case dt and the fine level at dt/2 (two substeps; Berger-Colella refluxing). Requires `amr`; incompatible with `cfl_dt`. | | `amr_max_blocks` | Integer | Number of fixed refined-block slots preallocated (each max-block sized; ~N x device memory); must be >= 1 (default 4) | -| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Only 1 is currently supported; multi-level nesting is planned (see `docs/documentation/amr_multilevel.md`) | +| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Multi-level nesting (>= 2) is supported: static AMR (`amr_regrid_int = 0`) nests up to level 2, dynamic regrid (`amr_regrid_int > 0`) nests deeper (see `docs/documentation/amr_multilevel.md`) | | `amr_cluster_eff` | Real | Berger-Rigoutsos min tag efficiency a clustered block box reaches before splitting stops; must satisfy 0 < eff <= 1 (default 0.7) | | `hybrid_weno` | Logical | Use linear-optimal reconstruction in smooth cells, full WENO only at flagged discontinuities (requires WENO reconstruction) | | `hybrid_weno_eps` | Real | Smoothness threshold for hybrid WENO shock flagging; must be > 0 (default 1e-2) | @@ -955,7 +955,7 @@ visualization output is future work. | `amr_buf` | Integer | Coarse-cell padding around tagged cells; must be >= 1 when `amr_regrid_int > 0` (default 3) | | `amr_subcycle` | Logical | Advance fine level at dt/2 (two substeps per coarse step) with Berger–Colella refluxing | | `amr_max_blocks` | Integer | Number of fixed refined-block slots preallocated (each max-block sized; ~N x device memory); must be >= 1 (default 4) | -| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Only 1 is currently supported; multi-level nesting is planned (see `docs/documentation/amr_multilevel.md`) | +| `amr_max_level` | Integer | Maximum AMR refinement depth (number of refined levels above L0); must be >= 1 (default 1). Multi-level nesting (>= 2) is supported: static AMR (`amr_regrid_int = 0`) nests up to level 2, dynamic regrid (`amr_regrid_int > 0`) nests deeper (see `docs/documentation/amr_multilevel.md`) | | `amr_cluster_eff` | Real | Berger-Rigoutsos min tag efficiency a clustered block box reaches before splitting stops; must satisfy 0 < eff <= 1 (default 0.7) | ### 8. Acoustic Source {#sec-acoustic-source} diff --git a/toolchain/mfc/params/descriptions.py b/toolchain/mfc/params/descriptions.py index 9b4a72ec1b..5bb26d14ed 100644 --- a/toolchain/mfc/params/descriptions.py +++ b/toolchain/mfc/params/descriptions.py @@ -124,7 +124,7 @@ "amr_buf": "Coarse-cell padding around tagged cells when regridding", "amr_subcycle": "Advance the coarse level at the case dt and the fine level at dt/2 (two substeps; Berger-Colella refluxing)", "amr_max_blocks": "Number of fixed refined-block slots preallocated for multi-block AMR (each sized max-block; N slots ~ N x device memory)", - "amr_max_level": "Maximum AMR refinement depth (refined levels above L0); >= 1, default 1. Only 1 supported today (multi-level nesting planned)", + "amr_max_level": "Maximum AMR refinement depth (refined levels above L0); >= 1, default 1. Multi-level (>= 2) supported: static (amr_regrid_int=0) up to 2, dynamic regrid (>0) deeper", "amr_cluster_eff": "Berger-Rigoutsos min tag efficiency (tagged/total) a clustered block box must reach before splitting stops (0 < eff <= 1)", "hybrid_weno": "Use linear-optimal reconstruction in smooth cells, full WENO only at flagged discontinuities", "hybrid_weno_eps": "Smoothness threshold for hybrid WENO shock flagging (must be > 0)", From 89b6b3d78a9a80a845eefc20163ecc7b4498bf85 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 07:50:58 -0400 Subject: [PATCH 33/41] amr: skip the amr_cg device->host copy on the runtime C/F ghost-fill path (#691) s_amr_copy_parent_patch synced the gathered coarse patch amr_cg device->host after every parent gather, but the runtime C/F ghost-fill (s_amr_fine_stage_advance lock-step, s_amr_fill_fine_ghosts subcycle) reads amr_cg on the DEVICE (filled by the copy kernel); only the init/regrid host prolong and the restrict-prolong self-test consume it on the host. Thread a to_host flag through s_amr_gather_from_parent_field -> s_amr_copy_parent_patch (= .not. pull_host: init/regrid true, runtime false; subcycle call sites explicit false) so the D2H runs only when a host consumer follows. Removes a per-substep, per-level>=2-block whole-patch device->host transfer. Validated: 8/8 multi-level AMR goldens byte-identical on GPU (V100). --- src/simulation/m_amr.fpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 39eb9f554b..f82fbca192 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -635,7 +635,9 @@ contains ! lock-step fill: gather from the parent's CURRENT fine state. pull_host stays in the signature for the level-1 path. ! Owner-guard at the CALL SITE: on a non-owner rank the parent slot is unallocated (co-located tower - owner holds both ! block and parent), and passing amr_slots(pblk)%q_cons would dereference it before the callee's internal early-return. - if (amr_rank_owns_block) call s_amr_gather_from_parent_field(pblk, amr_slots(pblk)%q_cons) + ! to_host = .not. pull_host: init/regrid (pull_host=F) feed the host prolong/self-test; runtime (pull_host=T) reads amr_cg + ! on the device in the C/F ghost-fill, so skip the device->host copy. + if (amr_rank_owns_block) call s_amr_gather_from_parent_field(pblk, amr_slots(pblk)%q_cons, .not. pull_host) end subroutine s_amr_gather_from_parent @@ -644,10 +646,11 @@ contains !! substep - qp = the parent slot's q_cons_stor (t^n bracket) then q_cons (t^{n+1} bracket) - to build the child's two !! ghost-lerp sources. np=1 = a local copy on the owner (which also owns the parent); the np>=2 P2P version (parent owner -> !! block owner) is future work. - impure subroutine s_amr_gather_from_parent_field(pblk, qp) + impure subroutine s_amr_gather_from_parent_field(pblk, qp, to_host) integer, intent(in) :: pblk type(scalar_field), dimension(sys_size), intent(in) :: qp + logical, intent(in) :: to_host !< host copy of amr_cg needed (init/regrid), not runtime integer :: w1, w2, w3 amr_cpat_off = 0 @@ -661,7 +664,7 @@ contains if (.not. amr_rank_owns_block) return ! np=1: the owner holds both this block and its parent ! copy the parent's fine patch into amr_cg with a DEVICE kernel (qp passed as an argument, present-table safe like ! s_amr_restrict_overwrite_device). np>=2 P2P (parent owner -> block owner) is future work. - call s_amr_copy_parent_patch(qp, w1, w2, w3) + call s_amr_copy_parent_patch(qp, w1, w2, w3, to_host) end subroutine s_amr_gather_from_parent_field @@ -669,11 +672,14 @@ contains !! parent q_cons is passed as the qp ARGUMENT (not indexed as amr_slots(pblk) inside the kernel) so its deep %sf attach resolves !! present-table safe, like s_amr_restrict_overwrite_device. amr_cg is then synced to host for host consumers (the init !! self-test's restrict-prolong check). - impure subroutine s_amr_copy_parent_patch(qp, w1, w2, w3) + impure subroutine s_amr_copy_parent_patch(qp, w1, w2, w3, to_host) type(scalar_field), dimension(sys_size), intent(in) :: qp integer, intent(in) :: w1, w2, w3 - integer :: i, g1, g2, g3, o1, o2, o3 + !> .true. only for the init/regrid HOST consumers (the whole-block host prolong + the restrict-prolong self-test). The + !! runtime C/F ghost-fill reads amr_cg on the DEVICE (filled by the kernel below), so no device->host copy is needed. + logical, intent(in) :: to_host + integer :: i, g1, g2, g3, o1, o2, o3 o1 = amr_cpat_off(1); o2 = amr_cpat_off(2); o3 = amr_cpat_off(3) $:GPU_PARALLEL_LOOP(collapse=4) @@ -687,9 +693,12 @@ contains end do end do $:END_GPU_PARALLEL_LOOP() - do i = 1, sys_size - $:GPU_UPDATE(host='[amr_cg(i)%sf]') - end do + ! amr_cg is now device-current for the runtime C/F ghost-fill. Only sync to host when a host consumer follows. + if (to_host) then + do i = 1, sys_size + $:GPU_UPDATE(host='[amr_cg(i)%sf]') + end do + end if end subroutine s_amr_copy_parent_patch @@ -3153,9 +3162,9 @@ contains call s_amr_select_slot(kc) ! amr_cur = kc; mirrors (isect already parent-fine) if (.not. amr_rank_owns_block) cycle ! np>=2: child on another rank - future work (#27) ! two ghost-lerp sources from the parent's substep endpoints (parent-fine frame) - call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons_stor) ! parent @ t_a + call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons_stor, .false.) ! parent @ t_a (device C/F fill) call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_a) - call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons) ! parent @ t_b + call s_amr_gather_from_parent_field(pslot_l, amr_slots(pslot_l)%q_cons, .false.) ! parent @ t_b (device C/F fill) call s_amr_fill_fine_ghosts(amr_cg, amr_slots(kc)%q_ghost_b) ! recurse: the child subcycles its ref_ratio substeps (and its own children) over [t_a, t_b] call s_amr_advance_subtree(dt_sub*0.5_wp, coefs, bc_type, q_T_sf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg) From bc2a63c56ed322ee775336aa283073bcaf13df23 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 08:11:28 -0400 Subject: [PATCH 34/41] amr: np=1 device-direct level-1 coarse gather (drop the per-stage host round-trip) s_amr_gather_coarse_patch (the L0->L1 coarse-BC gather) pulled q_coarse device->host, unpacked it into amr_cg on the host, then pushed amr_cg host->device - a full round-trip every RK stage per fine block. At num_procs==1 the sole owner holds every covered coarse cell, so copy q_coarse (device) -> amr_cg (device) with a DEVICE kernel over the in-domain patch (same index map as s_amr_unpack_patch), and skip the q_coarse pull. Gated on pull_host (runtime): at init/regrid q_coarse's device copy may be stale, so those keep the host path. np>1 keeps the host pack for the MPI P2P gather. amr_cpat_off hoisted to scalars for present-table safety (mirrors s_amr_copy_parent_patch). With this + the #691 amr_cg fix, the np=1 AMR advance's coarse-BC gather (L0->L1 and L1->L2) stays entirely on-device per stage - no host round-trips except the seam halo. Validated: full 56-test AMR golden suite byte-identical on GPU (V100). --- src/simulation/m_amr.fpp | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index f82fbca192..62aefa82d7 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -521,12 +521,6 @@ contains return end if - if (pull_host) then - do i = 1, sys_size - $:GPU_UPDATE(host='[q_coarse(i)%sf]') - end do - end if - ! block-local patch frame (cell 0 == global region_lo-nmar; collapsed dims -> 0) + its GLOBAL cell range [plo:phi] amr_cpat_off = 0 amr_cpat_off(1) = amr_region_lo_all(1, amr_cur) - amr_cpat_mar @@ -545,6 +539,39 @@ contains if (p_glb > 0) o3 = start_idx(3) maxsz = sys_size*(v1hi + 1)*(v2hi + 1)*(v3hi + 1) + ! np=1 runtime: the sole owner holds every covered coarse cell and q_coarse is device-current (pull_host), so copy + ! q_coarse (device) -> amr_cg (device) with a DEVICE kernel over the in-domain patch, avoiding the device->host->device + ! round-trip (q_coarse pull + host unpack + amr_cg push). Same index map as s_amr_unpack_patch. At init/regrid + ! (.not. pull_host) q_coarse's device copy may be stale, so fall through to the host path. + if (num_procs == 1 .and. pull_host) then + block + integer :: bl1, bh1, bl2, bh2, bl3, bh3, coff1, coff2, coff3 + call f_amr_rank_coarse_range(owner, crlo, crhi) + call s_amr_box_isect(plo, phi, crlo, crhi, bl, bh) + bl1 = bl(1); bh1 = bh(1); bl2 = bl(2); bh2 = bh(2); bl3 = bl(3); bh3 = bh(3) + coff1 = amr_cpat_off(1); coff2 = amr_cpat_off(2); coff3 = amr_cpat_off(3) + $:GPU_PARALLEL_LOOP(collapse=4) + do i = 1, sys_size + do g3 = bl3, bh3 + do g2 = bl2, bh2 + do g1 = bl1, bh1 + amr_cg(i)%sf(g1 - coff1, g2 - coff2, g3 - coff3) = q_coarse(i)%sf(g1 - o1, g2 - o2, g3 - o3) + end do + end do + end do + end do + $:END_GPU_PARALLEL_LOOP() + end block + return + end if + + ! np>1 runtime: pull q_coarse to host for the owner's local unpack and the non-owner MPI pack below. + if (pull_host) then + do i = 1, sys_size + $:GPU_UPDATE(host='[q_coarse(i)%sf]') + end do + end if + if (proc_rank == owner) then ! fill the cells this rank holds locally (own contribution box), then receive the rest from the other coarse-owners call f_amr_rank_coarse_range(proc_rank, crlo, crhi) From 62197879cb6335a413f2bf8e0bd1c2bdf2a61909 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 09:53:38 -0400 Subject: [PATCH 35/41] ibm(amr): size fine IB marker field for the deepest level (multi-level prep) --- src/simulation/m_ibm.fpp | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/simulation/m_ibm.fpp b/src/simulation/m_ibm.fpp index 660ddd8ad9..df8661bd9f 100644 --- a/src/simulation/m_ibm.fpp +++ b/src/simulation/m_ibm.fpp @@ -1661,24 +1661,34 @@ contains integer, intent(in) :: nslots, f1_lo, f1_hi, f2_lo, f2_hi, f3_lo, f3_hi integer :: islot - ! ghost-point capacity for any fine block = its buffered cell count (a block can hold no more - ! ghost points than cells). s_ibm_setup reads this to size the shared declare-target ghost_points. - - fine_gps_cap = int(f1_hi - f1_lo + 1, 8)*int(f2_hi - f2_lo + 1, 8)*int(f3_hi - f3_lo + 1, 8) - - ! Marker-field bounds = the coarse ib_markers bounds (m,n,p are the coarse grid here - alloc_fine runs - ! before any fine swap, and ib_markers was already allocated to these in s_initialize_ibm_module). The - ! host park copies must match ib_markers for the whole-array swap copy. The fine block's local index - ! range must fit inside these (it does for a body smaller than the coarse block); guarded below. - mkr_lo(1) = -buff_size; mkr_hi(1) = m + buff_size - mkr_lo(2) = -buff_size; mkr_hi(2) = n + buff_size + ! Marker-field bounds: sized to enclose BOTH the coarse block (m/n/p with ghosts) AND the deepest + ! fine block a rank can own (level amr_max_level). A level-l block has 2**l * base_ext - 1 interior + ! cells per active dim, where base_ext = amr_block_end(d) - amr_block_beg(d) + 1 (the user-specified + ! block footprint in coarse cells). The max() keeps the coarse extent as the floor so the coarse + ! ib_markers layout (set by s_initialize_ibm_module) is never shrunk. At amr_max_level = 1, + ! 2**1 = 2 gives the same sizing as today (byte-identical for existing single-level IB+AMR cases). + + mkr_lo(1) = -buff_size + mkr_hi(1) = max(m, 2**amr_max_level*(amr_block_end(1) - amr_block_beg(1) + 1) - 1) + buff_size + mkr_lo(2) = -buff_size + if (n_glb > 0) then + mkr_hi(2) = max(n, 2**amr_max_level*(amr_block_end(2) - amr_block_beg(2) + 1) - 1) + buff_size + else + mkr_hi(2) = n + buff_size + end if if (p > 0) then - mkr_lo(3) = -buff_size; mkr_hi(3) = p + buff_size + mkr_lo(3) = -buff_size + mkr_hi(3) = max(p, 2**amr_max_level*(amr_block_end(3) - amr_block_beg(3) + 1) - 1) + buff_size else mkr_lo(3) = 0; mkr_hi(3) = 0 end if @:PROHIBIT(f1_hi > mkr_hi(1) .or. f2_hi > mkr_hi(2) .or. (p > 0 .and. f3_hi > mkr_hi(3)), & - & "AMR fine IB: fine block extent exceeds the coarse ib_markers bounds; the copy-based fine-marker swap needs ib_markers sized to enclose the fine block") + & "AMR fine IB: fine block extent exceeds the deepest-level ib_markers bounds; the copy-based fine-marker swap needs ib_markers sized to enclose the fine block") + + ! ghost-point capacity: upper bound for the deepest fine block = its buffered cell count. Computed from + ! the widened mkr bounds so it matches ib_markers (the declare-target never reallocated on Cray GPU). + ! s_ibm_setup reads this to size the shared declare-target ghost_points. + fine_gps_cap = int(mkr_hi(1) - mkr_lo(1) + 1, 8)*int(mkr_hi(2) - mkr_lo(2) + 1, 8)*int(max(mkr_hi(3) - mkr_lo(3) + 1, 1), 8) ! Extra slot (nslots+1) parks the coarse markers during a fine swap - reusing an ib_fine slot avoids ! adding a new module-level derived-type allocatable (which corrupts descriptors on CCE OpenMP, From 0a87a1b46aadeb8d5426bf397ad112f073a1815f Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 10:07:40 -0400 Subject: [PATCH 36/41] amr(ib): cascade body-containment into multi-level nesting (refine body to L_max) --- src/simulation/m_amr.fpp | 41 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 62aefa82d7..00d8b97dc4 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3922,7 +3922,7 @@ contains ! where they sit. np=1 + non-IB (multi-level distribution / IB nesting are future work). Regions stay in L0 cell ! indices. box_level(1:nboxes) = 1 - if (amr_max_level >= 2 .and. .not. ib) then + if (amr_max_level >= 2) then block integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo, ob, obi, ncb, kc, mlo(3), mhi(3) integer :: mg, ng, pg, ci, cj, ck, sidx(3) @@ -3986,6 +3986,34 @@ contains covered = .true. ! replicated (metadata) - identical on every rank regardless of ownership if (amr_owns_all(ob)) call s_amr_tag_child_from_fine(ob, mlo, mhi, gctag, any_tag) end do + ! IB: always refine the body region at this level, even where the density sensor is quiet - mark the + ! body's L0-frame bbox into gctag so it is clustered into a child (mirrors the L1 expand at :3836). + ! Containment margin = max(amr_buf, 4) + amr_cpat_mar: the child window (mlo:mhi) is the parent inset by + ! amr_cpat_mar, and clamping the tag to that window can eat up to amr_cpat_mar of the body's stencil + ! margin at the parent-adjacent side - so tag out to the IB image-point reach (max(amr_buf, 4)) PLUS the + ! inset it must survive, keeping the C/F boundary in fluid a full stencil off the body. + if (ib) then + block + integer :: ib_i, bb_lo(3), bb_hi(3), gi, gj, gk + do ib_i = 1, num_ibs + call s_amr_body_bbox(ib_i, max(amr_buf, 4) + amr_cpat_mar, bb_lo, bb_hi) + ! clamp the body bbox to this parent's nesting window (global L0 frame - s_amr_body_bbox + ! returns GLOBAL L0 cell indices, same frame as mlo/mhi) + bb_lo = max(bb_lo, mlo); bb_hi = min(bb_hi, mhi) + if (bb_hi(1) < bb_lo(1)) cycle + if (n_glb > 0 .and. bb_hi(2) < bb_lo(2)) cycle + if (p_glb > 0 .and. bb_hi(3) < bb_lo(3)) cycle + covered = .true. + do gk = bb_lo(3), bb_hi(3) + do gj = bb_lo(2), bb_hi(2) + do gi = bb_lo(1), bb_hi(1) + gctag(gi, gj, gk) = .true. + end do + end do + end do + end do + end block + end if #ifdef MFC_MPI ! union the distributed owners' fine tags so every rank clusters the SAME child boxes (regrid must be ! deterministic); no-op at np=1 (the single owner already holds the whole global tag field) @@ -4021,6 +4049,17 @@ contains else clo(3) = 0; chi(3) = 0 end if + ! IB: a child clustered from the (widened) body tag must fully contain every overlapping body - + ! expand over bodies (mirrors the L1 expand at :3836), then re-clamp to the nesting window so + ! the + ! child stays nested (the expand uses max(amr_buf, 4); the window re-clamp is the binding limit, + ! and the Step-2 tag already carried the +amr_cpat_mar so mlo/mhi sit clear of the body stencil) + if (ib) then + call s_amr_expand_box_over_bodies(clo, chi) + clo(1) = max(clo(1), mlo(1)); chi(1) = min(chi(1), mhi(1)) + if (n_glb > 0) then; clo(2) = max(clo(2), mlo(2)); chi(2) = min(chi(2), mhi(2)); end if + if (p_glb > 0) then; clo(3) = max(clo(3), mlo(3)); chi(3) = min(chi(3), mhi(3)); end if + end if ! slot cap: a level->=2 block's fine grid spans 4*(its L0 extent) cells while the slot holds ! 2*amr_maxc_fit fine cells, so a child's L0 extent must be <= amr_maxc_fit/2. In LOCK-STEP a ! feature wider than that TILES into adjacent <= amr_maxc_fit/2 sub-blocks (like the L1 tiling): From b8657533d19f29d1baca00edc423e667fb712eb0 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 10:56:54 -0400 Subject: [PATCH 37/41] ibm(amr): size the active ib_markers field for the deepest level (park/active copies were non-conforming at amr_max_level>=2) --- src/simulation/m_ibm.fpp | 43 ++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/src/simulation/m_ibm.fpp b/src/simulation/m_ibm.fpp index df8661bd9f..642724b4b8 100644 --- a/src/simulation/m_ibm.fpp +++ b/src/simulation/m_ibm.fpp @@ -106,7 +106,15 @@ contains !> Allocates memory for the variables in the IBM module impure subroutine s_initialize_ibm_module() - if (p > 0) then + if (amr .and. ib) then + ! Size the declare-target ib_markers for the DEEPEST fine level: it must both hold an L2 (4x) block's + ! markers when swapped to a fine block and conform to the level-aware park slots (s_ibm_alloc_fine) + ! that the whole-array park/restore copies assign to/from. ib_markers is device-mapped once here and + ! never reallocated (Cray present-table), so the widening must happen at this ALLOCATE. At + ! amr_max_level = 1 the bounds reduce to the plain coarse extents (byte-identical). + call s_ibm_marker_bounds() + @:ALLOCATE(ib_markers%sf(mkr_lo(1):mkr_hi(1), mkr_lo(2):mkr_hi(2), mkr_lo(3):mkr_hi(3))) + else if (p > 0) then @:ALLOCATE(ib_markers%sf(-buff_size:m+buff_size, -buff_size:n+buff_size, -buff_size:p+buff_size)) else @:ALLOCATE(ib_markers%sf(-buff_size:m+buff_size, -buff_size:n+buff_size, 0:0)) @@ -1653,20 +1661,13 @@ contains end subroutine s_update_ib_lookup - !> Allocate the per-slot fine-IB marker fields (static-body AMR). One integer field per AMR slot, sized to the max buffered fine - !! extents (mirrors the coarse ib_markers bounds); ghost-point lists start empty and are filled by s_ibm_setup_fine. No-op - !! unless amr .and. ib. - impure subroutine s_ibm_alloc_fine(nslots, f1_lo, f1_hi, f2_lo, f2_hi, f3_lo, f3_hi) - - integer, intent(in) :: nslots, f1_lo, f1_hi, f2_lo, f2_hi, f3_lo, f3_hi - integer :: islot - - ! Marker-field bounds: sized to enclose BOTH the coarse block (m/n/p with ghosts) AND the deepest - ! fine block a rank can own (level amr_max_level). A level-l block has 2**l * base_ext - 1 interior - ! cells per active dim, where base_ext = amr_block_end(d) - amr_block_beg(d) + 1 (the user-specified - ! block footprint in coarse cells). The max() keeps the coarse extent as the floor so the coarse - ! ib_markers layout (set by s_initialize_ibm_module) is never shrunk. At amr_max_level = 1, - ! 2**1 = 2 gives the same sizing as today (byte-identical for existing single-level IB+AMR cases). + !> Compute the deepest-level marker-field bounds into the module mkr_lo/mkr_hi. Sized to enclose BOTH the coarse block (m/n/p + !! with ghosts) AND the deepest fine block a rank can own (level amr_max_level). A level-l block has 2**l * base_ext - 1 + !! interior cells per active dim, where base_ext = amr_block_end(d) - amr_block_beg(d) + 1 (the user-specified block footprint + !! in coarse cells). The max() keeps the coarse extent as the floor so the coarse layout is never shrunk. At amr_max_level = 1, + !! 2**1 = 2 gives the same sizing as the plain coarse bounds (byte-identical for existing single-level IB+AMR cases). Called + !! from both s_initialize_ibm_module (to size the declare-target ib_markers before the device map) and s_ibm_alloc_fine. + impure subroutine s_ibm_marker_bounds() mkr_lo(1) = -buff_size mkr_hi(1) = max(m, 2**amr_max_level*(amr_block_end(1) - amr_block_beg(1) + 1) - 1) + buff_size @@ -1682,6 +1683,18 @@ contains else mkr_lo(3) = 0; mkr_hi(3) = 0 end if + + end subroutine s_ibm_marker_bounds + + !> Allocate the per-slot fine-IB marker fields (static-body AMR). One integer field per AMR slot, sized to the max buffered fine + !! extents (mirrors the coarse ib_markers bounds); ghost-point lists start empty and are filled by s_ibm_setup_fine. No-op + !! unless amr .and. ib. + impure subroutine s_ibm_alloc_fine(nslots, f1_lo, f1_hi, f2_lo, f2_hi, f3_lo, f3_hi) + + integer, intent(in) :: nslots, f1_lo, f1_hi, f2_lo, f2_hi, f3_lo, f3_hi + integer :: islot + + call s_ibm_marker_bounds() @:PROHIBIT(f1_hi > mkr_hi(1) .or. f2_hi > mkr_hi(2) .or. (p > 0 .and. f3_hi > mkr_hi(3)), & & "AMR fine IB: fine block extent exceeds the deepest-level ib_markers bounds; the copy-based fine-marker swap needs ib_markers sized to enclose the fine block") From e8e1f6149837fc97636d24a99f14088da6e82fb1 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 11:32:05 -0400 Subject: [PATCH 38/41] amr(ib): grow the regrid boxes array to amr_max_blocks before multi-level nesting (IB path left it at the cluster count, overrunning on child append) --- src/simulation/m_amr.fpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 00d8b97dc4..87918daa49 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3923,6 +3923,17 @@ contains ! indices. box_level(1:nboxes) = 1 if (amr_max_level >= 2) then + ! the nesting loop below APPENDS level-l child boxes into `boxes` (up to amr_max_blocks total). The non-IB + ! path already grew `boxes` to amr_max_blocks via the tiling move_alloc; the IB path (which only merges, never + ! grows) leaves `boxes` at the cluster count, so grow it here or the child appends overrun the allocation. + if (size(boxes) < amr_max_blocks) then + block + type(t_box), allocatable :: grown(:) + allocate (grown(amr_max_blocks)) + grown(1:nboxes) = boxes(1:nboxes) + call move_alloc(grown, boxes) + end block + end if block integer :: kb, ins(3), clo(3), chi(3), lev, plo, phi, newlo, ob, obi, ncb, kc, mlo(3), mhi(3) integer :: mg, ng, pg, ci, cj, ck, sidx(3) From f94cc1d835b10dddb23982c38903edcf9da0f860 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 11:35:12 -0400 Subject: [PATCH 39/41] amr(ib): admit np=1 static multi-level IB + golden (2D cylinder, amr_max_level=2) --- src/simulation/m_checker.fpp | 6 +- tests/05A8C23C/golden-metadata.txt | 159 +++++++++++++++++++++++++++++ tests/05A8C23C/golden.txt | 10 ++ toolchain/mfc/test/cases.py | 64 ++++++++++++ 4 files changed, 237 insertions(+), 2 deletions(-) create mode 100644 tests/05A8C23C/golden-metadata.txt create mode 100644 tests/05A8C23C/golden.txt diff --git a/src/simulation/m_checker.fpp b/src/simulation/m_checker.fpp index 041abd9a03..79f27d85f2 100644 --- a/src/simulation/m_checker.fpp +++ b/src/simulation/m_checker.fpp @@ -195,8 +195,10 @@ contains @:PROHIBIT(amr_max_level < 1, "amr_max_level must be >= 1") @:PROHIBIT(amr_max_level > 1 .and. amr_max_blocks < 2, & & "multi-level AMR (amr_max_level > 1) needs amr_max_blocks >= 2 (at least one level-1 block plus one nested level-2 block); a run-time abort catches the tiled case where even more blocks are required") - @:PROHIBIT(amr_max_level > 1 .and. ib, & - & "multi-level AMR (amr_max_level > 1) with immersed boundaries is not yet supported at any rank count (fine-grid IB nesting is under development); use amr_max_level = 1 with IB") + @:PROHIBIT(amr_max_level > 1 .and. ib .and. num_procs > 1, & + & "multi-level AMR (amr_max_level > 1) with immersed boundaries is only supported at num_procs = 1 (the fine-IB image-point stencil is not decomposition-exact across a rank seam)") + @:PROHIBIT(amr_max_level > 1 .and. ib .and. any(patch_ib(1:num_ibs)%moving_ibm /= 0), & + & "multi-level AMR (amr_max_level > 1) with a MOVING immersed body is not yet supported; use a static body") @:PROHIBIT(amr_regrid_int == 0 .and. amr_max_level > 2, & & "static multi-level AMR (amr_regrid_int = 0) nests exactly one level-2 block in block 1, so it supports at most amr_max_level = 2; use amr_regrid_int > 0 for deeper or multi-block nesting") @:PROHIBIT(amr_cluster_eff <= 0._wp .or. amr_cluster_eff > 1._wp, & diff --git a/tests/05A8C23C/golden-metadata.txt b/tests/05A8C23C/golden-metadata.txt new file mode 100644 index 0000000000..93e7463bc8 --- /dev/null +++ b/tests/05A8C23C/golden-metadata.txt @@ -0,0 +1,159 @@ +This file was created on 2026-07-13 11:33:31.414621. + +mfc.sh: + + Invocation: test --generate --only 05A8C23C -- -b mpirun + Lock: mpi=Yes & gpu=Acc & debug=Yes & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: e8e1f6149837fc97636d24a99f14088da6e82fb1 on amr-multilevel (dirty) + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-005-30-0.pace.gatech.edu + + C : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc) + Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) + + PRE_PROCESS : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : ON + OpenMP : OFF + + Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc + CXX : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc++ + FC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +simulation: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-005-30-0.pace.gatech.edu + + C : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc) + Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) + + PRE_PROCESS : OFF + SIMULATION : ON + POST_PROCESS : OFF + SYSCHECK : OFF + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : ON + OpenMP : OFF + + Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc + CXX : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc++ + FC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +syscheck: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-005-30-0.pace.gatech.edu + + C : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc) + Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) + + PRE_PROCESS : OFF + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : ON + OpenMP : OFF + + Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Debug + + Configuration Environment: + + CC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc + CXX : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc++ + FC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +CPU: + + CPU Info: + From lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Address sizes: 46 bits physical, 48 bits virtual + Byte Order: Little Endian + CPU(s): 24 + On-line CPU(s) list: 0-23 + Vendor ID: GenuineIntel + Model name: Intel(R) Xeon(R) Gold 6226 CPU @ 2.70GHz + CPU family: 6 + Model: 85 + Thread(s) per core: 1 + Core(s) per socket: 12 + Socket(s): 2 + Stepping: 7 + CPU(s) scaling MHz: 79% + CPU max MHz: 2700.0000 + CPU min MHz: 1200.0000 + BogoMIPS: 5400.00 + Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req vnmi pku ospke avx512_vnni md_clear flush_l1d arch_capabilities + Virtualization: VT-x + L1d cache: 768 KiB (24 instances) + L1i cache: 768 KiB (24 instances) + L2 cache: 24 MiB (24 instances) + L3 cache: 38.5 MiB (2 instances) + NUMA node(s): 2 + NUMA node0 CPU(s): 0-11 + NUMA node1 CPU(s): 12-23 + Vulnerability Gather data sampling: Vulnerable + Vulnerability Indirect target selection: Vulnerable + Vulnerability Itlb multihit: KVM: Vulnerable + Vulnerability L1tf: Not affected + Vulnerability Mds: Not affected + Vulnerability Meltdown: Not affected + Vulnerability Mmio stale data: Vulnerable + Vulnerability Reg file data sampling: Not affected + Vulnerability Retbleed: Vulnerable + Vulnerability Spec rstack overflow: Not affected + Vulnerability Spec store bypass: Vulnerable + Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers + Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Vulnerable; BHI: Vulnerable + Vulnerability Srbds: Not affected + Vulnerability Tsa: Not affected + Vulnerability Tsx async abort: Mitigation; TSX disabled + Vulnerability Vmscape: Vulnerable + diff --git a/tests/05A8C23C/golden.txt b/tests/05A8C23C/golden.txt new file mode 100644 index 0000000000..4fe77aeef2 --- /dev/null +++ b/tests/05A8C23C/golden.txt @@ -0,0 +1,10 @@ +D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.1.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000001 1.00000000005803 1.00000000010088 1.00000000010088 1.00000000005803 1.00000000000001 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000004 1.00000000015503 1.00000000621312 1.00000021486074 1.00000035964309 1.00000035964309 1.00000021486074 1.00000000621312 1.00000000015503 1.00000000000004 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000000003 1.00000000281456 1.00000049916038 1.00001485085148 1.00030021683905 1.00049485620316 1.00049485620316 1.00030021683905 1.00001485085148 1.00000049916038 1.00000000281456 1.0000000000003 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000000001 1.00000000596224 1.00000695502521 1.00045463842333 1.00640181549545 1.00901339047051 1.01269943891238 1.01269943891238 1.00901339047051 1.00640181549545 1.00045463842333 1.00000695502521 1.00000000596224 1.0000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000013 1.00000000459201 1.00000792496422 1.00250646395306 1.00949355883418 1.00745487521044 1.00365176934624 1.00362645528698 1.00362645528698 1.00365176934624 1.00745487521044 1.00949355883418 1.00250646395306 1.00000792496422 1.00000000459201 1.00000000000013 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000075693 1.00000155340671 1.00088080074777 1.0155092778982 1.00270344382951 1.00001077431409 0.9999489370031 0.99995376157427 0.99995376157427 0.9999489370031 1.00001077431409 1.00270344382951 1.0155092778982 1.00088080074777 1.00000155340671 1.00000000075693 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000005695 1.00000020510407 1.00021109293439 1.009192782623 1.00126939081101 0.99995555754111 0.99999969723065 0.99999999979728 0.999999999977 0.999999999977 0.99999999979728 0.99999969723065 0.99995555754111 1.00126939081101 1.00919278262301 1.00021109293443 1.00000020510407 1.00000000005695 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000053411 1.00000110276916 1.00037535100448 1.00196522254797 0.99997255976286 0.99999968920289 1.0 1.0 1.0 1.0 1.0 1.0 0.99999968920289 0.99997255976286 1.0019652225482 1.00037535100413 1.00000110276916 1.00000000053411 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000018 1.00000001044581 1.00002005692176 1.00414175919316 1.00100508111234 0.999933237127 0.99999999978609 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999978609 0.99993323713121 1.0010050813032 1.00414175974045 1.0000200569573 1.00000001044582 1.00000000000018 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000009371 1.00000018281719 1.00002073131021 1.00002018345938 0.99992487231297 0.99999999996527 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999996527 0.99992487230837 1.00002018136857 1.00002072174574 1.00000018218636 1.00000000009366 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999992835 0.99999984903667 0.99997927463033 0.99998473947193 0.99992478060438 0.99999999996528 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999996528 0.99992479316755 0.99998803332718 0.99998309622353 0.99999989701424 0.9999999999598 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999976 0.99999998930249 0.99997949086176 0.99563911390072 0.99893708485096 0.99992312788586 0.99999999978163 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999994996 0.99992272847859 0.99911293669207 0.99600000335252 0.9999844626927 0.99999999329914 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999929823 0.99999862735962 0.99956131724072 0.99790147043646 0.99988731965535 0.99999968495471 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999989503 0.99996640760371 0.99991288978242 0.99999001128362 0.99999928817607 0.99999999966836 0.99999999999999 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999993604 0.99999977511248 0.99977824463495 0.99047047836769 0.99863828104192 0.99994965866257 0.99999968869397 0.99999999978631 0.99999999996837 0.99999999996836 0.99999999995153 0.99999999989503 0.99999283224524 0.99984790722165 0.99933704390348 1.00000050064169 0.99999999999846 0.99999999999987 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999997 0.99999999898524 0.99999812554107 0.9990554137584 0.98429361046435 0.99705288268027 0.9998584466293 0.99992645788173 0.99993165299106 0.99993162687903 0.99992608824379 0.99996855869757 1.00053451594785 0.98483787613459 0.99989125012395 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999985 0.9999999940877 0.99999052370913 0.99727806445699 0.98999496925816 0.99206582321012 0.99608260590968 0.99609687467304 0.99609973046975 0.99731167795515 1.00013630013626 0.99965127348762 1.00070222452966 0.99999999999969 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999935 0.99999999040882 0.99998992172155 0.99946926471993 0.99316395278841 0.99045128243288 0.9865892716527 0.9865932190189 0.99124679458074 1.00026560567948 1.00000147322219 0.99999999999994 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999919 0.99999999424775 0.99999919432143 0.9999785750197 0.99963259124216 0.99939628197384 0.9993959829479 0.99963707173169 0.99999869610505 0.99999999999349 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999999999 0.99999999964797 0.99999998726547 0.99999962971755 0.99999938098702 0.99999938057877 0.99999963108756 0.99999999890752 0.99999999999986 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999999983 0.99999999985566 0.99999999975273 0.99999999975256 0.99999999985478 0.99999999999995 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.2.00.000000.dat 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/cons.2.00.000020.dat 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.1 0.09999999993714 0.09999999989072 0.09999999989072 0.09999999993714 0.1 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999986566 0.09999999345717 0.09999976692209 0.09999961054452 0.09999961054452 0.09999976692209 0.09999999345717 0.09999999986566 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999712962 0.09999961821199 0.09998436277232 0.09967273917661 0.09946208608942 0.09946208608942 0.09967273917661 0.09998436277232 0.09999961821199 0.09999999712962 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999993 0.09999999658896 0.0999928361002 0.09968168017725 0.09307293712551 0.06824563063981 0.04326283192877 0.04326283192877 0.06824563063981 0.09307293712551 0.09968168017725 0.0999928361002 0.09999999658896 0.09999999999993 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999986 0.09999999889206 0.09999738785469 0.09723897766209 0.06300011233127 -4.33099648e-06 -4.38612647e-06 -7.35365535e-06 -7.35365535e-06 -4.38612647e-06 -4.33099648e-06 0.06300011233127 0.09723897766209 0.09999738785469 0.09999999889206 0.09999999999986 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999976158 0.09999934139947 0.09947935027194 0.02750796830814 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.02750796830814 0.09947935027194 0.09999934139947 0.09999999976158 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000000322 0.10000000903029 0.10000569871866 0.06407811568598 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.06407811568597 0.10000569871861 0.10000000903029 0.10000000000322 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999982297 0.09999947647711 0.09970233408143 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.09970233408017 0.09999947647708 0.09999999982297 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000000002 0.10000000123101 0.1000025079505 0.07184013362608 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.07184013320026 0.10000250791545 0.10000000123101 0.10000000000002 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000005587 0.10000016172247 0.05000252986025 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.05000252911144 0.10000016141174 0.10000000005586 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000002967 0.1000001023864 0.05000207473263 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.05000154072846 0.10000006960942 0.10000000001602 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999998 0.09999999917941 0.09999862409225 0.07123604465372 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.07155046399479 0.09999890423061 0.09999999947172 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999964656 0.09999908290985 0.0995562811658 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.09998858970209 0.0999994097617 0.09999999980513 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999089 0.09999996519 0.09996334033658 0.06258615496675 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.06816860454436 0.10000005006417 0.09999999999794 0.09999999999985 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999997 0.09999999944611 0.09999875779486 0.09922351236857 0.02637807793282 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.02635278235906 0.09998595863029 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999983 0.09999999725089 0.09999470493602 0.09662315340548 0.06148896810239 -3.43375186e-06 4.8267531e-06 7.06972037e-06 7.06843499e-06 3.99946808e-06 2.4810806e-07 0.06742388494566 0.10091675942722 0.09999999999979 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999974 0.09999999241563 0.09998748900253 0.09950621199648 0.09169256239703 0.06689383278435 0.04199768299195 0.04199845196856 0.06739651022958 0.1003579518888 0.10000188693019 0.09999999999992 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999923 0.09999999292815 0.09999921227917 0.09997305763945 0.09952898617632 0.0992275600183 0.09922718065496 0.09953463379187 0.09999919892986 0.09999999999937 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999997 0.09999999962022 0.09999998400633 0.09999952425237 0.09999920588113 0.09999920542073 0.0999995259126 0.09999999905142 0.09999999999987 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999999979 0.09999999981516 0.09999999968295 0.09999999968274 0.09999999981407 0.09999999999998 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/cons.3.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.00.000020.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -1e-14 -2.63e-12 3.5e-13 -3.5e-13 2.63e-12 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -4e-14 -5.42e-11 -3.9967e-10 -1.317251e-08 1.8684e-09 -1.8684e-09 1.317251e-08 3.9967e-10 5.42e-11 4e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -3.4e-13 -4.5448e-10 -2.1211646e-07 -1.11176965e-06 -3.04471761e-05 5.31776744e-06 -5.31776744e-06 3.04471761e-05 1.11176965e-06 2.1211646e-07 4.5448e-10 3.4e-13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -4e-14 -3.59579e-09 -1.41054448e-06 -0.00026993741149 -0.00034644837273 -0.00042588114654 -2.046952525e-05 2.046952525e-05 0.00042588114654 0.00034644837273 0.00026993741149 1.41054448e-06 3.59579e-09 4e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -4.27543e-09 -7.0156195e-06 -0.00072269644538 -0.00041745278078 0.0 0.0 0.0 0.0 0.0 0.0 0.00041745278078 0.00072269644538 7.0156195e-06 4.27543e-09 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -6.3041e-10 -1.18563416e-06 -0.00053981973406 -0.00116622605588 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00116622605588 0.00053981973406 1.18563416e-06 6.3041e-10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -6.728e-11 -2.4308128e-07 -0.0002647200584 -0.00064582459324 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00064582459324 0.0002647200584 2.4308129e-07 6.728e-11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -4.6031e-10 -7.8915487e-07 -0.00013623987005 -2.24611826e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.24611826e-06 0.00013623986999 7.8915485e-07 4.6031e-10 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -2.1e-13 -1.255924e-08 -2.436831906e-05 -0.00048971153664 -4.22911857e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.22912378e-06 0.00048971156121 2.436832727e-05 1.255925e-08 2.1e-13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -8.019e-11 -1.046648e-07 -1.21280892e-06 -2.91359996e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.91359915e-06 1.21202112e-06 1.0453722e-07 8.014e-11 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 5.66e-11 7.547763e-08 9.1535854e-07 -2.8827284e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.88684143e-06 -6.8404311e-07 -5.139422e-08 -3.192e-11 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.9e-13 1.285548e-08 2.489185724e-05 0.00049907202239 -2.76553869e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.72126012e-06 -0.00041320749153 -1.882153155e-05 -8.04092e-09 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 6.5832e-10 1.10096588e-06 0.00014608650843 5.9778004e-07 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.7999529e-07 -4.10962567e-06 -4.8581971e-07 -2.9251e-10 -1e-14 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 7.563e-11 2.665808e-07 0.00027918752565 0.00062140074086 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -6.39681475e-06 5.9236724e-07 1e-14 -4e-14 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 8.4099e-10 1.41292445e-06 0.00055501527602 0.00111104194796 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.00111494068555 -0.00013807694629 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5e-14 5.52458e-09 8.42603297e-06 0.00072695149411 0.00038571024686 0.0 0.0 0.0 0.0 0.0 0.0 -6.89260137e-06 -6.13839279e-06 -2e-13 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 6.3e-13 5.94697e-09 2.10631547e-06 0.00029415207947 0.00035132136168 0.00042884376997 2.233711716e-05 -2.261768276e-05 -0.00072677578301 -1.765658772e-05 -1.32554e-09 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.2e-13 9.4168e-10 3.6284217e-07 1.60647272e-06 4.142597611e-05 -6.2432983e-06 6.27251453e-06 -4.245874034e-05 -1.13907795e-06 -7.87e-12 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-13 1.2438e-10 8.0846e-10 2.466218e-08 -3.4947e-09 3.66273e-09 -2.51919e-08 -5.7209e-10 -9e-14 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 5e-14 6.75e-12 -8.5e-13 9.7e-13 -6.88e-12 -4e-14 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.4.00.000000.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 +D/cons.4.00.000020.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000002 2.50500000000004 2.50500000019653 2.50500000034165 2.50500000034165 2.50500000019653 2.50500000000004 2.50500000000002 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000015 2.50500000052882 2.5050000210615 2.50500072763279 2.50500121801031 2.50500121801031 2.50500072763279 2.5050000210615 2.50500000052882 2.50500000000015 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000106 2.50500000955031 2.50500170639367 2.50505034398838 2.50601878855152 2.50667911503618 2.50667911503618 2.50601878855152 2.50505034398838 2.50500170639367 2.50500000955031 2.50500000000106 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000033 2.5050000204974 2.50502359300684 2.50656072151107 2.52710785193156 2.53517027987713 2.54707380169103 2.54707380169103 2.53517027987713 2.52710785193156 2.50656072151107 2.50502359300684 2.5050000204974 2.50500000000033 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000045 2.5050000159392 2.50502744021891 2.51361793300396 2.53662021289609 2.52654150142316 2.51297840102942 2.51288915176041 2.51288915176041 2.51297840102942 2.52654150142316 2.53662021289609 2.51361793300396 2.50502744021891 2.5050000159392 2.50500000000045 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000004 2.50500000262288 2.50500536335206 2.50804466142796 2.55616910319166 2.50997162324118 2.50339658044169 2.50482097381075 2.50483788910228 2.50483788910228 2.50482097381075 2.50339658044169 2.50997162324118 2.55616910319166 2.50804466142796 2.50500536335206 2.50500000262288 2.50500000000004 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000019935 2.50500071774178 2.50573949513787 2.53560360989988 2.50483720806104 2.50434053596449 2.50499893819108 2.50499999928905 2.50499999991935 2.50499999991935 2.50499999928905 2.50499893819108 2.50434053596449 2.50483720806104 2.53560360989989 2.50573949513803 2.50500071774178 2.50500000019935 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000003 2.50500000185031 2.5050038018505 2.50628468914902 2.50697596590258 2.50326397913506 2.50499891003803 2.50499999999998 2.505 2.505 2.505 2.505 2.50499999999998 2.50499891003803 2.50326397913508 2.50697596590335 2.50628468914767 2.50500380185049 2.50500000185031 2.50500000000003 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000062 2.50500003662931 2.50507035828319 2.51818773099587 2.5035686976265 2.50476595586222 2.50499999924983 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999924983 2.50476595587698 2.5035686982946 2.51818773286754 2.50507035840388 2.50500003662934 2.50500000000062 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000002 2.50500000033372 2.50500065511855 2.50257292901354 2.50007075439234 2.50473665384811 2.50499999987822 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999987822 2.50473665383197 2.50007074707315 2.502572895482 2.50500065288227 2.50500000033356 2.50500000000002 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999998 2.50499999975254 2.50499948262152 2.50242771388752 2.49994662630818 2.50473633247831 2.50499999987823 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999987824 2.50473637650253 2.49995814814552 2.50244102516185 2.50499964702554 2.50499999986109 2.50499999999999 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999915 2.50499996253013 2.50492819197041 2.48839891642565 2.49633095677788 2.50473053198222 2.50499999923418 2.505 2.505 2.505 2.505 2.505 2.505 2.5049999998245 2.50472913215388 2.49694096168013 2.48966651807599 2.50494559318321 2.50499997652766 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999997 2.50499999751195 2.50499511097949 2.50342728917856 2.49275407019583 2.50296610606238 2.50499889513981 2.50499999999998 2.505 2.505 2.505 2.505 2.505 2.50499999963186 2.50324299746224 2.49970014265586 2.50496395881794 2.50499745318263 2.50499999882142 2.50499999999997 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999977555 2.50499921053915 2.50422246395533 2.47000588914827 2.49564279683212 2.50432041316727 2.50499890825333 2.50499999925058 2.50499999988907 2.50499999988905 2.50499999983002 2.50499999963186 2.50447116745028 2.49985953494074 2.50113258288892 2.50500175465028 2.50499999999424 2.50499999999955 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.5049999999999 2.50499999639752 2.50499332449534 2.50163526664006 2.44683397874741 2.49019192650375 2.50286571534294 2.50474219058606 2.50476040440131 2.50476031283423 2.50474090422633 2.50324669438434 2.50223976144219 2.44871384986454 2.50462102860474 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999948 2.50499997906095 2.50496802386313 2.4952905489665 2.46829984143002 2.47268550300459 2.48649028731715 2.4865397425247 2.48654936829415 2.49073593684966 2.50046838331022 2.50220133499806 2.50749271726091 2.50499999999889 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999766 2.50499996572482 2.50496352109264 2.50310289241464 2.48070804074063 2.47013734164417 2.45562907444537 2.45564248959209 2.47292933561848 2.50594764169523 2.50500532652758 2.50499999999977 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999999 2.50499999999689 2.50499997918838 2.50499710575353 2.50492243744672 2.50367372604483 2.50282025318816 2.50281917855367 2.50368990582993 2.50499534673534 2.50499999997718 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999967 2.50499999873142 2.50499995389341 2.50499865832469 2.50499775719258 2.50499775571976 2.50499866327884 2.50499999608696 2.50499999999948 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999998 2.5049999999993 2.50499999947675 2.50499999910389 2.50499999910327 2.50499999947355 2.50499999999983 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 +D/cons.5.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.5.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999852967 0.99999805881593 0.99974678049217 0.99999935078694 1.0 1.0 0.99999935078694 0.99974678049217 0.99999805881593 0.99999999852967 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999946623 0.99914949872772 0.99948034224225 0.99972036710035 1.00000163195758 1.0000014707345 1.0000014707345 1.00000163195758 0.99972036710035 0.99948034224225 0.99914949872772 0.99999999946623 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999995338 1.00012852751316 0.99990365993561 0.99929376434343 0.99999970173064 1.0 1.0 1.0 1.0 0.99999970173064 0.99929376434343 0.99990365993561 1.00012852751316 0.99999999995338 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999927353355 1.00017062670472 1.0001346366913 0.99999999983883 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999983883 1.0001346366913 1.00017062670472 0.99999927353355 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000165068279 1.00000163324226 0.99999984917615 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999984917615 1.00000163324225 1.00000165068279 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000088620796 1.00000229088921 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000229088482 1.00000088620796 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000001663 1.00000243249815 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000243249867 1.00000000001663 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000024593469 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000245579862 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999972249276 1.00000255895972 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000260733666 0.99999999996409 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999805914357 0.99999905327416 1.00000017350417 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000966866 0.9999986412985 0.99999795237656 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000081826616 0.99983128481321 0.99988073527527 1.00000026415753 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99989484366232 0.99997335193192 1.00000050064169 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000001912 0.99989098308882 1.000100506461 1.00074917022876 1.00000032624306 1.0 1.0 1.0 1.0 1.00000018796352 1.00071545944107 1.00009466153381 0.99989593451444 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000084568675 1.00091007560056 1.00046164089848 1.00031183063631 1.00000338683292 1.0000028802624 1.00000287858608 1.00000255637252 1.00030977960819 1.00052576350798 1.00086346280179 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000261 1.00000002550225 1.00000203747533 1.000286840253 1.00000086264184 1.00000000042525 0.99999999996156 1.00000000062963 1.00028065979602 1.00000129868476 0.99999999999994 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000005 1.00000000017986 1.00000002548328 1.00000000006219 0.9999999999997 0.9999999999997 1.0 0.9999999999707 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000008 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index 4363963d1e..b01c23b3f6 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3701,6 +3701,70 @@ def amr_golden_tests(): cases.append(define_case_d(stack, "", {})) stack.pop() + # (n3) MULTI-LEVEL STATIC IB AMR (SP22): a single fixed circular body refined to LEVEL 2. Same 2D + # quiescent-drift setup as (n) with dynamic regrid, but amr_max_level=2 so the body-containment + # cascade nests a level-2 child inside the level-1 block over the body. Conservation is NOT machine- + # zero here (the IB overwrites body cells, so s_amr_conservation_defect reads a bounded non-zero) - + # the golden field values are the correctness oracle. np=1, static body only (the checker still fails + # closed for np>1 and moving bodies). amr_max_blocks is raised to nest the extra level-2 child. + stack.push( + "AMR -> 2D -> multi-level IB (static cylinder, np=1)", + { + "m": 63, + "n": 63, + "p": 0, + "dt": 1.0e-4, + "t_step_stop": 20, + "t_step_save": 20, + "num_patches": 1, + "mixture_err": "T", + "mapped_weno": "T", + "mp_weno": "T", + "x_domain%beg": 0.0, + "x_domain%end": 1.0, + "y_domain%beg": 0.0, + "y_domain%end": 1.0, + "bc_x%beg": -3, + "bc_x%end": -3, + "bc_y%beg": -3, + "bc_y%end": -3, + "patch_icpp(1)%geometry": 3, + "patch_icpp(1)%x_centroid": 0.5, + "patch_icpp(1)%y_centroid": 0.5, + "patch_icpp(1)%length_x": 1.0, + "patch_icpp(1)%length_y": 1.0, + "patch_icpp(1)%vel(1)": 0.1, + "patch_icpp(1)%vel(2)": 0.0, + "patch_icpp(1)%pres": 1.0, + "patch_icpp(1)%alpha_rho(1)": 1.0, + "patch_icpp(1)%alpha(1)": 1.0, + # static circular body at the domain center + "ib": "T", + "num_ibs": 1, + "fd_order": 2, + "viscous": "F", + "patch_ib(1)%geometry": 2, + "patch_ib(1)%x_centroid": 0.5, + "patch_ib(1)%y_centroid": 0.5, + "patch_ib(1)%radius": 0.1, + "patch_ib(1)%slip": "F", + # initial 2:1 fine block over the body (regrid rebuilds it from the sensor each step) + "amr": "T", + "amr_block_beg(1)": 20, + "amr_block_beg(2)": 20, + "amr_block_end(1)": 43, + "amr_block_end(2)": 43, + # dynamic regrid refining the body to level 2 + "amr_max_level": 2, + "amr_max_blocks": 16, + "amr_regrid_int": 2, + "amr_tag_eps": 1.0e-4, + "amr_buf": 2, + }, + ) + cases.append(define_case_d(stack, "", {})) + stack.pop() + # (o) PRESCRIBED-MOTION MOVING IMMERSED BOUNDARY (SP21): a single circular body translating at a # prescribed velocity (moving_ibm=1) through quiescent flow, resolved on a STATIC fine block that # contains its whole trajectory. Each fine RK substage rebuilds the block's IB markers/ghost points From 262f119c1678509d556187d48bf5b59bf55185e9 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 12:42:53 -0400 Subject: [PATCH 40/41] amr(ib): widen multi-level body containment so the fine C/F boundary clears the body (refine the surface, not the interior) --- src/simulation/m_amr.fpp | 19 ++++++--- tests/05A8C23C/golden-metadata.txt | 66 ++++++++++++++++++++++-------- tests/05A8C23C/golden.txt | 10 ++--- toolchain/mfc/test/cases.py | 22 ++++++---- 4 files changed, 81 insertions(+), 36 deletions(-) diff --git a/src/simulation/m_amr.fpp b/src/simulation/m_amr.fpp index 87918daa49..c3787b5328 100644 --- a/src/simulation/m_amr.fpp +++ b/src/simulation/m_amr.fpp @@ -3546,9 +3546,12 @@ contains ! containment margin: the IB image-point stencil reaches a few cells beyond the surface ! (the validated static-block goldens keep ~5); buff_size (floored to 10 by ib) would - ! exceed the per-rank block cap for ordinary bodies + ! exceed the per-rank block cap for ordinary bodies. For amr_max_level > 1 the body must + ! survive every child nesting inset (amr_cpat_mar per level down to amr_max_level), so the + ! parent block clears the body by that many extra cells - keeping the finest C/F boundary a + ! full image-point stencil off the surface (refining the surface, not the interior). - mrg = max(amr_buf, 4) + mrg = max(amr_buf, 4) + max(0, amr_max_level - 1)*amr_cpat_mar do i = 1, num_ibs call s_amr_body_bbox(i, mrg, blo, bhi) @@ -4001,8 +4004,10 @@ contains ! body's L0-frame bbox into gctag so it is clustered into a child (mirrors the L1 expand at :3836). ! Containment margin = max(amr_buf, 4) + amr_cpat_mar: the child window (mlo:mhi) is the parent inset by ! amr_cpat_mar, and clamping the tag to that window can eat up to amr_cpat_mar of the body's stencil - ! margin at the parent-adjacent side - so tag out to the IB image-point reach (max(amr_buf, 4)) PLUS the - ! inset it must survive, keeping the C/F boundary in fluid a full stencil off the body. + ! margin at the parent-adjacent side. The parent (widened in s_amr_expand_box_over_bodies by + ! (amr_max_level-1)*amr_cpat_mar) now clears the body by enough that this window contains the body plus + ! max(amr_buf, 4), so the tag survives the inset with a full image-point stencil of fluid on every side: + ! the body SURFACE is refined at every level and the C/F boundary sits a full stencil off it, in fluid. if (ib) then block integer :: ib_i, bb_lo(3), bb_hi(3), gi, gj, gk @@ -4063,8 +4068,10 @@ contains ! IB: a child clustered from the (widened) body tag must fully contain every overlapping body - ! expand over bodies (mirrors the L1 expand at :3836), then re-clamp to the nesting window so ! the - ! child stays nested (the expand uses max(amr_buf, 4); the window re-clamp is the binding limit, - ! and the Step-2 tag already carried the +amr_cpat_mar so mlo/mhi sit clear of the body stencil) + ! child stays nested. Because the parent was widened by (amr_max_level-1)*amr_cpat_mar, its + ! nesting window (mlo:mhi) already contains the body plus max(amr_buf, 4), so the re-clamp does + ! NOT cut the body's stencil: the child CONTAINS the body bbox and the C/F boundary lands a full + ! image-point stencil off the surface, in fluid (surface refined, not just the interior). if (ib) then call s_amr_expand_box_over_bodies(clo, chi) clo(1) = max(clo(1), mlo(1)); chi(1) = min(chi(1), mhi(1)) diff --git a/tests/05A8C23C/golden-metadata.txt b/tests/05A8C23C/golden-metadata.txt index 93e7463bc8..0c3135158e 100644 --- a/tests/05A8C23C/golden-metadata.txt +++ b/tests/05A8C23C/golden-metadata.txt @@ -1,23 +1,23 @@ -This file was created on 2026-07-13 11:33:31.414621. +This file was created on 2026-07-13 12:39:04.139268. mfc.sh: Invocation: test --generate --only 05A8C23C -- -b mpirun - Lock: mpi=Yes & gpu=Acc & debug=Yes & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No - Git: e8e1f6149837fc97636d24a99f14088da6e82fb1 on amr-multilevel (dirty) + Lock: mpi=Yes & gpu=Acc & debug=No & reldebug=No & gcov=No & unified=No & single=No & mixed=No & fastmath=No + Git: f94cc1d835b10dddb23982c38903edcf9da0f860 on amr-multilevel (dirty) -pre_process: +post_process: CMake Configuration: - CMake v3.26.5 on atl1-1-02-005-30-0.pace.gatech.edu + CMake v3.26.5 on atl1-1-03-002-29-0.pace.gatech.edu C : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc) Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) - PRE_PROCESS : ON + PRE_PROCESS : OFF SIMULATION : OFF - POST_PROCESS : OFF + POST_PROCESS : ON SYSCHECK : OFF DOCUMENTATION : OFF ALL : OFF @@ -29,7 +29,7 @@ pre_process: Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp Doxygen : - Build Type : Debug + Build Type : Release Configuration Environment: @@ -40,7 +40,7 @@ pre_process: OMPI_CXX : OMPI_FC : -simulation: +syscheck: CMake Configuration: @@ -50,7 +50,41 @@ simulation: Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) PRE_PROCESS : OFF - SIMULATION : ON + SIMULATION : OFF + POST_PROCESS : OFF + SYSCHECK : ON + DOCUMENTATION : OFF + ALL : OFF + + MPI : ON + OpenACC : ON + OpenMP : OFF + + Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp + Doxygen : + + Build Type : Release + + Configuration Environment: + + CC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc + CXX : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc++ + FC : /usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran + OMPI_CC : + OMPI_CXX : + OMPI_FC : + +pre_process: + + CMake Configuration: + + CMake v3.26.5 on atl1-1-02-005-30-0.pace.gatech.edu + + C : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvc) + Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) + + PRE_PROCESS : ON + SIMULATION : OFF POST_PROCESS : OFF SYSCHECK : OFF DOCUMENTATION : OFF @@ -63,7 +97,7 @@ simulation: Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp Doxygen : - Build Type : Debug + Build Type : Release Configuration Environment: @@ -74,7 +108,7 @@ simulation: OMPI_CXX : OMPI_FC : -syscheck: +simulation: CMake Configuration: @@ -84,9 +118,9 @@ syscheck: Fortran : NVHPC v24.5.0 (/usr/local/pace-apps/manual/packages/nvhpc/24.5/Linux_x86_64/24.5/compilers/bin/nvfortran) PRE_PROCESS : OFF - SIMULATION : OFF + SIMULATION : ON POST_PROCESS : OFF - SYSCHECK : ON + SYSCHECK : OFF DOCUMENTATION : OFF ALL : OFF @@ -97,7 +131,7 @@ syscheck: Fypp : /storage/home/hcoda1/6/sbryngelson3/r-sbryngelson3-0/MFC-lomach/build/venv/bin/fypp Doxygen : - Build Type : Debug + Build Type : Release Configuration Environment: @@ -126,7 +160,7 @@ CPU: Core(s) per socket: 12 Socket(s): 2 Stepping: 7 - CPU(s) scaling MHz: 79% + CPU(s) scaling MHz: 77% CPU max MHz: 2700.0000 CPU min MHz: 1200.0000 BogoMIPS: 5400.00 diff --git a/tests/05A8C23C/golden.txt b/tests/05A8C23C/golden.txt index 4fe77aeef2..7a1d2b32e1 100644 --- a/tests/05A8C23C/golden.txt +++ b/tests/05A8C23C/golden.txt @@ -1,10 +1,10 @@ D/cons.1.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -D/cons.1.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000000001 1.00000000005803 1.00000000010088 1.00000000010088 1.00000000005803 1.00000000000001 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000004 1.00000000015503 1.00000000621312 1.00000021486074 1.00000035964309 1.00000035964309 1.00000021486074 1.00000000621312 1.00000000015503 1.00000000000004 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000000003 1.00000000281456 1.00000049916038 1.00001485085148 1.00030021683905 1.00049485620316 1.00049485620316 1.00030021683905 1.00001485085148 1.00000049916038 1.00000000281456 1.0000000000003 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000000001 1.00000000596224 1.00000695502521 1.00045463842333 1.00640181549545 1.00901339047051 1.01269943891238 1.01269943891238 1.00901339047051 1.00640181549545 1.00045463842333 1.00000695502521 1.00000000596224 1.0000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000013 1.00000000459201 1.00000792496422 1.00250646395306 1.00949355883418 1.00745487521044 1.00365176934624 1.00362645528698 1.00362645528698 1.00365176934624 1.00745487521044 1.00949355883418 1.00250646395306 1.00000792496422 1.00000000459201 1.00000000000013 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000075693 1.00000155340671 1.00088080074777 1.0155092778982 1.00270344382951 1.00001077431409 0.9999489370031 0.99995376157427 0.99995376157427 0.9999489370031 1.00001077431409 1.00270344382951 1.0155092778982 1.00088080074777 1.00000155340671 1.00000000075693 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000005695 1.00000020510407 1.00021109293439 1.009192782623 1.00126939081101 0.99995555754111 0.99999969723065 0.99999999979728 0.999999999977 0.999999999977 0.99999999979728 0.99999969723065 0.99995555754111 1.00126939081101 1.00919278262301 1.00021109293443 1.00000020510407 1.00000000005695 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000053411 1.00000110276916 1.00037535100448 1.00196522254797 0.99997255976286 0.99999968920289 1.0 1.0 1.0 1.0 1.0 1.0 0.99999968920289 0.99997255976286 1.0019652225482 1.00037535100413 1.00000110276916 1.00000000053411 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000018 1.00000001044581 1.00002005692176 1.00414175919316 1.00100508111234 0.999933237127 0.99999999978609 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999978609 0.99993323713121 1.0010050813032 1.00414175974045 1.0000200569573 1.00000001044582 1.00000000000018 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000009371 1.00000018281719 1.00002073131021 1.00002018345938 0.99992487231297 0.99999999996527 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999996527 0.99992487230837 1.00002018136857 1.00002072174574 1.00000018218636 1.00000000009366 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999992835 0.99999984903667 0.99997927463033 0.99998473947193 0.99992478060438 0.99999999996528 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999996528 0.99992479316755 0.99998803332718 0.99998309622353 0.99999989701424 0.9999999999598 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999976 0.99999998930249 0.99997949086176 0.99563911390072 0.99893708485096 0.99992312788586 0.99999999978163 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999994996 0.99992272847859 0.99911293669207 0.99600000335252 0.9999844626927 0.99999999329914 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999929823 0.99999862735962 0.99956131724072 0.99790147043646 0.99988731965535 0.99999968495471 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999989503 0.99996640760371 0.99991288978242 0.99999001128362 0.99999928817607 0.99999999966836 0.99999999999999 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999993604 0.99999977511248 0.99977824463495 0.99047047836769 0.99863828104192 0.99994965866257 0.99999968869397 0.99999999978631 0.99999999996837 0.99999999996836 0.99999999995153 0.99999999989503 0.99999283224524 0.99984790722165 0.99933704390348 1.00000050064169 0.99999999999846 0.99999999999987 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999997 0.99999999898524 0.99999812554107 0.9990554137584 0.98429361046435 0.99705288268027 0.9998584466293 0.99992645788173 0.99993165299106 0.99993162687903 0.99992608824379 0.99996855869757 1.00053451594785 0.98483787613459 0.99989125012395 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999985 0.9999999940877 0.99999052370913 0.99727806445699 0.98999496925816 0.99206582321012 0.99608260590968 0.99609687467304 0.99609973046975 0.99731167795515 1.00013630013626 0.99965127348762 1.00070222452966 0.99999999999969 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999935 0.99999999040882 0.99998992172155 0.99946926471993 0.99316395278841 0.99045128243288 0.9865892716527 0.9865932190189 0.99124679458074 1.00026560567948 1.00000147322219 0.99999999999994 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999919 0.99999999424775 0.99999919432143 0.9999785750197 0.99963259124216 0.99939628197384 0.9993959829479 0.99963707173169 0.99999869610505 0.99999999999349 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999999999999 0.99999999964797 0.99999998726547 0.99999962971755 0.99999938098702 0.99999938057877 0.99999963108756 0.99999999890752 0.99999999999986 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999999983 0.99999999985566 0.99999999975273 0.99999999975256 0.99999999985478 0.99999999999995 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 +D/cons.1.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000299 1.00000000000299 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000000017383 1.00000019635284 1.00000516033168 1.00000516034692 1.00000019637849 1.00000000017375 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000029679 1.00003193482917 1.00351288286864 1.00959742770713 1.00959656191626 1.00352450636769 1.00003173189332 1.00000000300148 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000005839 1.00001248455661 1.00620798164812 1.00899617695009 1.00300182798476 1.00298837914667 1.00993893620904 1.00654026061299 1.00002239014432 1.00000000014849 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000003390559 1.00070114132637 1.00589285368476 0.99996193914065 1.00005001785317 1.00376792605292 1.00983608296858 1.01097516526637 1.00638374295016 1.00000353707945 1.00000000000369 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000042006905 1.00243684229454 1.00027449538666 0.99994662024169 1.00057690814367 1.0000516896939 0.99996046476933 1.00003078315172 1.00518721894023 1.00050888453623 1.00000000540541 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.9999997361086 0.99759471420721 0.99975875201458 0.99945671406838 0.99998553860821 0.99999999994449 0.99996771122503 0.99998782313466 1.00040948926837 1.00189063407528 1.00000004888171 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999995592528 0.99922233121047 0.99393651900351 0.99435649589375 0.99994771024311 0.99997165286961 1.00000801755879 0.99973040596255 0.99931706900243 0.99805048235688 0.99999995084107 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999991396 0.99998340682468 0.99355393287858 0.98858068933491 0.9999273250043 0.99975293130637 0.99947661511079 0.99981258767379 0.99451153467399 0.9994367630251 0.99999999316455 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999619006 0.99995524469412 0.99276436038453 0.98984328677435 0.99571909846199 0.99579729620607 0.98986702969128 0.99332619403325 0.9999956092537 0.99999999999409 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999999999 0.99999999941095 0.99997907302506 0.99609906005875 0.98869575127967 0.9886957623097 0.99609945421509 0.99997923406792 0.99999999979867 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999995813 0.9999999223919 0.99999732112252 0.99999732112309 0.99999992238459 0.99999999995844 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 D/cons.2.00.000000.dat 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 -D/cons.2.00.000020.dat 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.1 0.09999999993714 0.09999999989072 0.09999999989072 0.09999999993714 0.1 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999986566 0.09999999345717 0.09999976692209 0.09999961054452 0.09999961054452 0.09999976692209 0.09999999345717 0.09999999986566 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999712962 0.09999961821199 0.09998436277232 0.09967273917661 0.09946208608942 0.09946208608942 0.09967273917661 0.09998436277232 0.09999961821199 0.09999999712962 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999993 0.09999999658896 0.0999928361002 0.09968168017725 0.09307293712551 0.06824563063981 0.04326283192877 0.04326283192877 0.06824563063981 0.09307293712551 0.09968168017725 0.0999928361002 0.09999999658896 0.09999999999993 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999986 0.09999999889206 0.09999738785469 0.09723897766209 0.06300011233127 -4.33099648e-06 -4.38612647e-06 -7.35365535e-06 -7.35365535e-06 -4.38612647e-06 -4.33099648e-06 0.06300011233127 0.09723897766209 0.09999738785469 0.09999999889206 0.09999999999986 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999976158 0.09999934139947 0.09947935027194 0.02750796830814 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.02750796830814 0.09947935027194 0.09999934139947 0.09999999976158 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000000322 0.10000000903029 0.10000569871866 0.06407811568598 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.06407811568597 0.10000569871861 0.10000000903029 0.10000000000322 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999982297 0.09999947647711 0.09970233408143 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.09970233408017 0.09999947647708 0.09999999982297 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000000002 0.10000000123101 0.1000025079505 0.07184013362608 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.07184013320026 0.10000250791545 0.10000000123101 0.10000000000002 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000005587 0.10000016172247 0.05000252986025 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.05000252911144 0.10000016141174 0.10000000005586 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.10000000002967 0.1000001023864 0.05000207473263 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.05000154072846 0.10000006960942 0.10000000001602 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999998 0.09999999917941 0.09999862409225 0.07123604465372 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.07155046399479 0.09999890423061 0.09999999947172 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999964656 0.09999908290985 0.0995562811658 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.09998858970209 0.0999994097617 0.09999999980513 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999089 0.09999996519 0.09996334033658 0.06258615496675 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.06816860454436 0.10000005006417 0.09999999999794 0.09999999999985 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999997 0.09999999944611 0.09999875779486 0.09922351236857 0.02637807793282 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.02635278235906 0.09998595863029 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999983 0.09999999725089 0.09999470493602 0.09662315340548 0.06148896810239 -3.43375186e-06 4.8267531e-06 7.06972037e-06 7.06843499e-06 3.99946808e-06 2.4810806e-07 0.06742388494566 0.10091675942722 0.09999999999979 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999974 0.09999999241563 0.09998748900253 0.09950621199648 0.09169256239703 0.06689383278435 0.04199768299195 0.04199845196856 0.06739651022958 0.1003579518888 0.10000188693019 0.09999999999992 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999923 0.09999999292815 0.09999921227917 0.09997305763945 0.09952898617632 0.0992275600183 0.09922718065496 0.09953463379187 0.09999919892986 0.09999999999937 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999997 0.09999999962022 0.09999998400633 0.09999952425237 0.09999920588113 0.09999920542073 0.0999995259126 0.09999999905142 0.09999999999987 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999999979 0.09999999981516 0.09999999968295 0.09999999968274 0.09999999981407 0.09999999999998 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +D/cons.2.00.000020.dat 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999676 0.09999999999676 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999983272 0.09999980425808 0.09999439286084 0.0999943928444 0.09999980423026 0.09999999983281 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0999999988098 0.09997191615569 0.09652394667283 0.0786147697939 0.0786157930458 0.09651253652258 0.0999721734125 0.09999999878311 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999997784 0.09999499840548 0.08056757550004 0.02266150588998 0.00299240277941 0.00304169026375 0.02229869052244 0.08006438042764 0.09998278951695 0.09999999993765 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999339847 0.09959242126731 0.01988088699053 -0.00012525736891 -3.634734181e-05 0.0 0.0 0.01299073902437 0.07790784285212 0.09999824988856 0.09999999999892 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1000000478721 0.08190048418775 1.516796209e-05 -1.413994297e-05 0.0 0.0 0.0 0.0 0.01587779381651 0.09976904584295 0.09999999859171 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999104491 0.08126493530694 6.903979401e-05 0.0 0.0 0.0 0.0 0.0 0.0 0.07997922989374 0.1000000068388 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0999999823512 0.0993701878771 0.01881913739732 0.0 0.0 0.0 0.0 0.0 0.0 0.07971990698881 0.09999999748321 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999995353 0.09999022085002 0.07922275562835 0.01231880658529 0.0 0.0 0.0 0.0 0.01530986532712 0.0996149920376 0.0999999969192 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999766262 0.09995322556192 0.07660451177828 0.01516035222658 0.0 0.0 0.01516423265794 0.07707219665401 0.09999675652823 0.09999999999722 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999940804 0.09997431674184 0.09558951836645 0.07325836332879 0.07325836790561 0.09558998630669 0.09997452251812 0.09999999985978 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999994719 0.09999990407092 0.09999655894412 0.09999655894485 0.09999990406158 0.09999999994758 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.09999999999999 0.09999999999999 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 D/cons.3.00.000000.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -D/cons.3.00.000020.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -1e-14 -2.63e-12 3.5e-13 -3.5e-13 2.63e-12 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -4e-14 -5.42e-11 -3.9967e-10 -1.317251e-08 1.8684e-09 -1.8684e-09 1.317251e-08 3.9967e-10 5.42e-11 4e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -3.4e-13 -4.5448e-10 -2.1211646e-07 -1.11176965e-06 -3.04471761e-05 5.31776744e-06 -5.31776744e-06 3.04471761e-05 1.11176965e-06 2.1211646e-07 4.5448e-10 3.4e-13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -4e-14 -3.59579e-09 -1.41054448e-06 -0.00026993741149 -0.00034644837273 -0.00042588114654 -2.046952525e-05 2.046952525e-05 0.00042588114654 0.00034644837273 0.00026993741149 1.41054448e-06 3.59579e-09 4e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -4.27543e-09 -7.0156195e-06 -0.00072269644538 -0.00041745278078 0.0 0.0 0.0 0.0 0.0 0.0 0.00041745278078 0.00072269644538 7.0156195e-06 4.27543e-09 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -6.3041e-10 -1.18563416e-06 -0.00053981973406 -0.00116622605588 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00116622605588 0.00053981973406 1.18563416e-06 6.3041e-10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -6.728e-11 -2.4308128e-07 -0.0002647200584 -0.00064582459324 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00064582459324 0.0002647200584 2.4308129e-07 6.728e-11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -4.6031e-10 -7.8915487e-07 -0.00013623987005 -2.24611826e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.24611826e-06 0.00013623986999 7.8915485e-07 4.6031e-10 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -2.1e-13 -1.255924e-08 -2.436831906e-05 -0.00048971153664 -4.22911857e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.22912378e-06 0.00048971156121 2.436832727e-05 1.255925e-08 2.1e-13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -1e-14 -8.019e-11 -1.046648e-07 -1.21280892e-06 -2.91359996e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.91359915e-06 1.21202112e-06 1.0453722e-07 8.014e-11 1e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 5.66e-11 7.547763e-08 9.1535854e-07 -2.8827284e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.88684143e-06 -6.8404311e-07 -5.139422e-08 -3.192e-11 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.9e-13 1.285548e-08 2.489185724e-05 0.00049907202239 -2.76553869e-06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.72126012e-06 -0.00041320749153 -1.882153155e-05 -8.04092e-09 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 6.5832e-10 1.10096588e-06 0.00014608650843 5.9778004e-07 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.7999529e-07 -4.10962567e-06 -4.8581971e-07 -2.9251e-10 -1e-14 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 7.563e-11 2.665808e-07 0.00027918752565 0.00062140074086 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -6.39681475e-06 5.9236724e-07 1e-14 -4e-14 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 8.4099e-10 1.41292445e-06 0.00055501527602 0.00111104194796 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.00111494068555 -0.00013807694629 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 5e-14 5.52458e-09 8.42603297e-06 0.00072695149411 0.00038571024686 0.0 0.0 0.0 0.0 0.0 0.0 -6.89260137e-06 -6.13839279e-06 -2e-13 0.0 0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 6.3e-13 5.94697e-09 2.10631547e-06 0.00029415207947 0.00035132136168 0.00042884376997 2.233711716e-05 -2.261768276e-05 -0.00072677578301 -1.765658772e-05 -1.32554e-09 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.2e-13 9.4168e-10 3.6284217e-07 1.60647272e-06 4.142597611e-05 -6.2432983e-06 6.27251453e-06 -4.245874034e-05 -1.13907795e-06 -7.87e-12 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-13 1.2438e-10 8.0846e-10 2.466218e-08 -3.4947e-09 3.66273e-09 -2.51919e-08 -5.7209e-10 -9e-14 -0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 5e-14 6.75e-12 -8.5e-13 9.7e-13 -6.88e-12 -4e-14 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +D/cons.3.00.000020.dat 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -5e-14 5e-14 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -4.381e-11 -3.791524e-08 -2.5619761e-07 2.5619918e-07 3.791369e-08 4.379e-11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -2.52927e-09 -1.221728012e-05 -0.00060917678595 -0.0003774592602 0.00037763477321 0.00060901727646 1.222191265e-05 2.54434e-09 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -5.683e-11 -1.139289564e-05 -0.00102222296257 0.00056473355661 0.00024112341842 -0.00026287899704 -0.00045494048475 0.00104778121202 1.224188491e-05 1.1488e-10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -3.648931e-08 -0.00045080879331 0.00040800758301 -0.00014072555997 -1.509901873e-05 0.0 0.0 0.00048493849287 0.00110232133524 2.49420333e-06 3.34e-12 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -5.0052308e-07 -0.00032170885116 0.00017751031346 -3.66109099e-05 0.0 0.0 0.0 0.0 0.00035710133162 0.00040570882505 5.11139e-09 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.15865e-07 0.00024029465094 -0.00031229366382 0.0 0.0 0.0 0.0 0.0 0.0 0.00040594240188 5.911568e-08 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.83539e-08 0.00045004523289 -0.00032997814405 0.0 0.0 0.0 0.0 0.0 0.0 -0.00040749517387 -5.941419e-08 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.711e-11 1.58153304e-05 0.00120957221158 0.0003419727601 0.0 0.0 0.0 0.0 -0.00036628171747 -0.00042612662289 -6.83245e-09 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 3.29403e-09 1.895109385e-05 0.00110559852944 0.00022990118119 0.0 0.0 -0.00023142391454 -0.00105296406891 -3.0688139e-06 -5.6e-12 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 2.4133e-10 5.72671559e-06 0.00055266905018 0.00039662157338 -0.00039662816698 -0.00055267560377 -5.70750915e-06 -1.454e-10 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 8.82e-12 8.32434e-09 1.0178165e-07 -1.0178179e-07 -8.32421e-09 -8.8e-12 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1e-14 -1e-14 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -0.0 -0.0 -0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 D/cons.4.00.000000.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 -D/cons.4.00.000020.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000002 2.50500000000004 2.50500000019653 2.50500000034165 2.50500000034165 2.50500000019653 2.50500000000004 2.50500000000002 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000015 2.50500000052882 2.5050000210615 2.50500072763279 2.50500121801031 2.50500121801031 2.50500072763279 2.5050000210615 2.50500000052882 2.50500000000015 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000106 2.50500000955031 2.50500170639367 2.50505034398838 2.50601878855152 2.50667911503618 2.50667911503618 2.50601878855152 2.50505034398838 2.50500170639367 2.50500000955031 2.50500000000106 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000033 2.5050000204974 2.50502359300684 2.50656072151107 2.52710785193156 2.53517027987713 2.54707380169103 2.54707380169103 2.53517027987713 2.52710785193156 2.50656072151107 2.50502359300684 2.5050000204974 2.50500000000033 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000045 2.5050000159392 2.50502744021891 2.51361793300396 2.53662021289609 2.52654150142316 2.51297840102942 2.51288915176041 2.51288915176041 2.51297840102942 2.52654150142316 2.53662021289609 2.51361793300396 2.50502744021891 2.5050000159392 2.50500000000045 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000004 2.50500000262288 2.50500536335206 2.50804466142796 2.55616910319166 2.50997162324118 2.50339658044169 2.50482097381075 2.50483788910228 2.50483788910228 2.50482097381075 2.50339658044169 2.50997162324118 2.55616910319166 2.50804466142796 2.50500536335206 2.50500000262288 2.50500000000004 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000019935 2.50500071774178 2.50573949513787 2.53560360989988 2.50483720806104 2.50434053596449 2.50499893819108 2.50499999928905 2.50499999991935 2.50499999991935 2.50499999928905 2.50499893819108 2.50434053596449 2.50483720806104 2.53560360989989 2.50573949513803 2.50500071774178 2.50500000019935 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000003 2.50500000185031 2.5050038018505 2.50628468914902 2.50697596590258 2.50326397913506 2.50499891003803 2.50499999999998 2.505 2.505 2.505 2.505 2.50499999999998 2.50499891003803 2.50326397913508 2.50697596590335 2.50628468914767 2.50500380185049 2.50500000185031 2.50500000000003 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000062 2.50500003662931 2.50507035828319 2.51818773099587 2.5035686976265 2.50476595586222 2.50499999924983 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999924983 2.50476595587698 2.5035686982946 2.51818773286754 2.50507035840388 2.50500003662934 2.50500000000062 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000002 2.50500000033372 2.50500065511855 2.50257292901354 2.50007075439234 2.50473665384811 2.50499999987822 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999987822 2.50473665383197 2.50007074707315 2.502572895482 2.50500065288227 2.50500000033356 2.50500000000002 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999998 2.50499999975254 2.50499948262152 2.50242771388752 2.49994662630818 2.50473633247831 2.50499999987823 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999987824 2.50473637650253 2.49995814814552 2.50244102516185 2.50499964702554 2.50499999986109 2.50499999999999 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999915 2.50499996253013 2.50492819197041 2.48839891642565 2.49633095677788 2.50473053198222 2.50499999923418 2.505 2.505 2.505 2.505 2.505 2.505 2.5049999998245 2.50472913215388 2.49694096168013 2.48966651807599 2.50494559318321 2.50499997652766 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999997 2.50499999751195 2.50499511097949 2.50342728917856 2.49275407019583 2.50296610606238 2.50499889513981 2.50499999999998 2.505 2.505 2.505 2.505 2.505 2.50499999963186 2.50324299746224 2.49970014265586 2.50496395881794 2.50499745318263 2.50499999882142 2.50499999999997 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999977555 2.50499921053915 2.50422246395533 2.47000588914827 2.49564279683212 2.50432041316727 2.50499890825333 2.50499999925058 2.50499999988907 2.50499999988905 2.50499999983002 2.50499999963186 2.50447116745028 2.49985953494074 2.50113258288892 2.50500175465028 2.50499999999424 2.50499999999955 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.5049999999999 2.50499999639752 2.50499332449534 2.50163526664006 2.44683397874741 2.49019192650375 2.50286571534294 2.50474219058606 2.50476040440131 2.50476031283423 2.50474090422633 2.50324669438434 2.50223976144219 2.44871384986454 2.50462102860474 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999948 2.50499997906095 2.50496802386313 2.4952905489665 2.46829984143002 2.47268550300459 2.48649028731715 2.4865397425247 2.48654936829415 2.49073593684966 2.50046838331022 2.50220133499806 2.50749271726091 2.50499999999889 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999766 2.50499996572482 2.50496352109264 2.50310289241464 2.48070804074063 2.47013734164417 2.45562907444537 2.45564248959209 2.47292933561848 2.50594764169523 2.50500532652758 2.50499999999977 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999999 2.50499999999689 2.50499997918838 2.50499710575353 2.50492243744672 2.50367372604483 2.50282025318816 2.50281917855367 2.50368990582993 2.50499534673534 2.50499999997718 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999967 2.50499999873142 2.50499995389341 2.50499865832469 2.50499775719258 2.50499775571976 2.50499866327884 2.50499999608696 2.50499999999948 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999998 2.5049999999993 2.50499999947675 2.50499999910389 2.50499999910327 2.50499999947355 2.50499999999983 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 +D/cons.4.00.000020.dat 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000001 2.50500000001011 2.50500000001011 2.50500000000001 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000003 2.50500000059152 2.50500066668114 2.50501747522235 2.50501747527396 2.50500066676802 2.50500000059126 2.50500000000003 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000001 2.50500001025493 2.50510883229494 2.51709909403902 2.53761124600471 2.53760823294598 2.51713961098332 2.50510814834444 2.50500001036967 2.50500000000001 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000020184 2.50504313892972 2.52577252327873 2.53267085060007 2.51154358455292 2.51149227584195 2.53598875695331 2.52692822076033 2.50507655262093 2.5050000005134 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500011784352 2.50741546939692 2.52162769780821 2.50222688296709 2.5029600192832 2.51481266894181 2.53585864190856 2.53952383321541 2.52643248521424 2.50501218753003 2.50500000001279 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50500000000001 2.50500147293062 2.51264528757142 2.5019020650204 2.50262812863173 2.50448285883042 2.50518120890685 2.50486140699328 2.5009260817389 2.51909289143385 2.50676115729558 2.50500001875203 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499907680892 2.49566885340541 2.49996133433872 2.49950831527609 2.5049492894893 2.50499999980534 2.50488678896011 2.5008967919049 2.50199283904226 2.51066990865901 2.50500017152469 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999999 2.5049998441936 2.50222669065126 2.47968334388009 2.48148484113945 2.50481668306643 2.50490060607478 2.50252809590212 2.49999130574285 2.49856894948423 2.49721658766723 2.50499982793802 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999969463 2.50494103834131 2.48141349892263 2.46121457211647 2.50062319939338 2.50008682450618 2.49911676309532 2.50090554842766 2.48170380029413 2.50300039470618 2.50499997580202 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999998 2.5049999864501 2.50483898003197 2.47891942233674 2.46562256304442 2.48582259650247 2.48627095355641 2.46570162865042 2.48068631372907 2.50498433124604 2.50499999997906 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999995 2.50499999788173 2.50492434715399 2.49115669738131 2.46442320371019 2.46442324231117 2.49115810926374 2.50492493220096 2.50499999928208 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999984819 2.50499971916787 2.50499029380017 2.50499029380225 2.5049997191414 2.50499999984931 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.50499999999999 2.50499999999999 2.50499999999999 2.50499999999999 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 2.505 D/cons.5.00.000000.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -D/cons.5.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999852967 0.99999805881593 0.99974678049217 0.99999935078694 1.0 1.0 0.99999935078694 0.99974678049217 0.99999805881593 0.99999999852967 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999946623 0.99914949872772 0.99948034224225 0.99972036710035 1.00000163195758 1.0000014707345 1.0000014707345 1.00000163195758 0.99972036710035 0.99948034224225 0.99914949872772 0.99999999946623 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999995338 1.00012852751316 0.99990365993561 0.99929376434343 0.99999970173064 1.0 1.0 1.0 1.0 0.99999970173064 0.99929376434343 0.99990365993561 1.00012852751316 0.99999999995338 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999927353355 1.00017062670472 1.0001346366913 0.99999999983883 1.0 1.0 1.0 1.0 1.0 1.0 0.99999999983883 1.0001346366913 1.00017062670472 0.99999927353355 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000165068279 1.00000163324226 0.99999984917615 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999984917615 1.00000163324225 1.00000165068279 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000088620796 1.00000229088921 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000229088482 1.00000088620796 1.00000000000001 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000001663 1.00000243249815 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000243249867 1.00000000001663 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000024593469 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000245579862 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999972249276 1.00000255895972 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000260733666 0.99999999996409 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99999805914357 0.99999905327416 1.00000017350417 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000966866 0.9999986412985 0.99999795237656 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000081826616 0.99983128481321 0.99988073527527 1.00000026415753 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.99989484366232 0.99997335193192 1.00000050064169 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0000000001912 0.99989098308882 1.000100506461 1.00074917022876 1.00000032624306 1.0 1.0 1.0 1.0 1.00000018796352 1.00071545944107 1.00009466153381 0.99989593451444 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000001 1.00000084568675 1.00091007560056 1.00046164089848 1.00031183063631 1.00000338683292 1.0000028802624 1.00000287858608 1.00000255637252 1.00030977960819 1.00052576350798 1.00086346280179 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000261 1.00000002550225 1.00000203747533 1.000286840253 1.00000086264184 1.00000000042525 0.99999999996156 1.00000000062963 1.00028065979602 1.00000129868476 0.99999999999994 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000005 1.00000000017986 1.00000002548328 1.00000000006219 0.9999999999997 0.9999999999997 1.0 0.9999999999707 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00000000000008 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file +D/cons.5.00.000020.dat 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 \ No newline at end of file diff --git a/toolchain/mfc/test/cases.py b/toolchain/mfc/test/cases.py index b01c23b3f6..a431288941 100644 --- a/toolchain/mfc/test/cases.py +++ b/toolchain/mfc/test/cases.py @@ -3703,10 +3703,14 @@ def amr_golden_tests(): # (n3) MULTI-LEVEL STATIC IB AMR (SP22): a single fixed circular body refined to LEVEL 2. Same 2D # quiescent-drift setup as (n) with dynamic regrid, but amr_max_level=2 so the body-containment - # cascade nests a level-2 child inside the level-1 block over the body. Conservation is NOT machine- - # zero here (the IB overwrites body cells, so s_amr_conservation_defect reads a bounded non-zero) - - # the golden field values are the correctness oracle. np=1, static body only (the checker still fails - # closed for np>1 and moving bodies). amr_max_blocks is raised to nest the extra level-2 child. + # cascade nests a level-2 child inside the level-1 block over the body. The body-containment margin + # is widened by (amr_max_level-1)*amr_cpat_mar (s_amr_expand_box_over_bodies) so the level-1 block + # clears the body far enough that the level-2 window CONTAINS the body plus a full IB stencil - the + # body SURFACE lands at the finest level and the C/F boundary sits a stencil off it, in fluid. The + # body is r=0.05 (~8 L0 cells) so the widened level-1 (extent 28) still fits: 2*28-1 = 55 <= 63. + # Conservation is NOT machine-zero here (the IB overwrites body cells, so s_amr_conservation_defect + # reads a bounded non-zero) - the golden field values are the correctness oracle. np=1, static body + # only (the checker still fails closed for np>1 and moving bodies). amr_max_blocks nests the L2 child. stack.push( "AMR -> 2D -> multi-level IB (static cylinder, np=1)", { @@ -3746,14 +3750,14 @@ def amr_golden_tests(): "patch_ib(1)%geometry": 2, "patch_ib(1)%x_centroid": 0.5, "patch_ib(1)%y_centroid": 0.5, - "patch_ib(1)%radius": 0.1, + "patch_ib(1)%radius": 0.05, "patch_ib(1)%slip": "F", # initial 2:1 fine block over the body (regrid rebuilds it from the sensor each step) "amr": "T", - "amr_block_beg(1)": 20, - "amr_block_beg(2)": 20, - "amr_block_end(1)": 43, - "amr_block_end(2)": 43, + "amr_block_beg(1)": 18, + "amr_block_beg(2)": 18, + "amr_block_end(1)": 45, + "amr_block_end(2)": 45, # dynamic regrid refining the body to level 2 "amr_max_level": 2, "amr_max_blocks": 16, From e38d57d827eabde6f637d8c49b8146fa5e3735b1 Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Mon, 13 Jul 2026 13:37:46 -0400 Subject: [PATCH 41/41] docs(amr): design + plan for the three banked AMR increments (QBMM np>=2, owned-only IB sizing, ref_ratio=4) --- .../plans/2026-07-13-amr-banked-increments.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 docs/superpowers/plans/2026-07-13-amr-banked-increments.md diff --git a/docs/superpowers/plans/2026-07-13-amr-banked-increments.md b/docs/superpowers/plans/2026-07-13-amr-banked-increments.md new file mode 100644 index 0000000000..f599443116 --- /dev/null +++ b/docs/superpowers/plans/2026-07-13-amr-banked-increments.md @@ -0,0 +1,129 @@ +# Banked AMR increments — design + plan (for fresh-session execution) + +Three independent, conservation-critical AMR follow-ups, deferred from the multi-level-IB +session (2026-07-13) to be executed **fresh, one at a time** (silent-wrong-answer risk + +context fatigue). Each is its own brainstorm-refine → SDD cycle. **Execution order: #29 → +#30a → #30b** (self-contained first; ref_ratio=4 broadest last). Branch `amr-multilevel` +(PR #6). Each currently **fail-closed** in `m_checker.fpp`. + +Ground rules (all three): golden-file validation on CPU **and** GPU (V100, targeted +`--only -- -b mpirun`, NOT the full-suite sbatch which flakes on SIGILL); existing +goldens byte-identical where the feature is inactive; `./mfc.sh format` → build → precheck-on-commit. + +--- + +## #29 — Distributed pb/mv coupling for non-polytropic QBMM at np≥2 + +**Problem.** Non-polytropic QBMM carries a per-cell quadrature side-state `pb` (bubble +pressure) and `mv` (vapor mass), `nnode × nb` per cell. It **evolves cell-locally** (no +face flux), but its AMR coarse↔fine coupling is done LOCALLY, exact only at np=1. At np≥2 +the SFC block owner needn't hold the block's coarse cells, so pb/mv couple to the wrong +rank's coarse side-state = silent wrong answer. Gated: `m_checker.fpp:106` +`@:PROHIBIT(qbmm .and. .not. polytropic .and. num_procs > 1, ...)`. + +**Current local sites (`m_amr.fpp`):** +- Prolong (coarse→fine): `s_amr_prolong_pbmv` (~1884), called ~1347. Reads coarse pb/mv locally. +- Restrict (fine→coarse fold-back): `s_restrict_pbmv` (~1884 def; called 1509/1590). Local; comment 1589 "np>=2 QBMM fold-back is not yet distributed." + +**Approach: mirror the `q_cons` P2P distribution for pb/mv (no reflux — pb/mv aren't fluxed).** +The pattern to copy: `s_amr_gather_coarse_patch` (the coarse-patch P2P gather: +`f_amr_rank_coarse_range` + `MPI_IRECV`/`MPI_ISEND`, owner assembles `amr_cg`) and the +restrict scatter in `s_restrict_fine_to_coarse` (owner restricts, scatters covered coarse +slices to coarse-cell owners). Two differences from q_cons: (a) per-cell payload is +`nnode*nb` (both pb and mv), so buffer sizes scale by that; (b) NO Berger-Colella reflux +(pb/mv have no C/F flux correction — prolong sets the fine ghost/interior, restrict folds +back; that's the whole coupling). + +**Task plan (SDD):** +1. **Distributed pb/mv gather** — assemble the block's coarse pb/mv patch on the owner via + P2P (mirror `s_amr_gather_coarse_patch`; a parallel `amr_cg`-like pb/mv buffer, or extend + the gather to carry pb/mv alongside q_cons). Prolong reads that instead of local coarse. + Gate: np=1 byte-identical (single owner → local copy path unchanged); build. +2. **Distributed pb/mv restrict scatter** — owner restricts fine pb/mv → coarse averages, + scatters covered coarse slices to coarse-cell owners (mirror the q_cons restrict P2P). + Gate: np=1 byte-identical. +3. **Lift the gate + golden** — drop the `num_procs > 1` term from `m_checker.fpp:106`; add a + np=2 non-polytropic-QBMM + AMR golden. Validate: per-node pb/mv moments conserved + (machine-zero for the conservative moments; pb/mv are a side-state so define the gate as + "np=2 trajectory == np=1 trajectory" on a bit-uniform grid, mirroring the q_cons np-cross + check). CPU + GPU. + +**Open questions for the fresh brainstorm:** whether to fold pb/mv into the existing q_cons +gather/scatter buffers (one MPI round) or a separate exchange (simpler, more messages); +device-buffer handling for the larger payload (pb/mv are `pres_field`, GPU_DECLARE'd). +**Validation oracle:** np=2 == np=1 trajectory on a bit-uniform grid (the WENO-table-ulp +finding means non-bit-uniform grids diverge at ulp). + +--- + +## #30a — Lazy owned-only IB marker sizing + +**Problem.** The multi-level-IB increment sized the declare-target `ib_markers` (and the park +slots) to `2**amr_max_level * base_block_extent` — the **global** deepest extent, right at +np=1. At np≥2 (once multi-level IB is un-gated there — a separate future item) that +over-allocates the never-realloc'd device field on every rank to the global deepest, even +ranks owning only shallow/no fine blocks. Task #30's "lazy owned-only sizing" = size the +marker field to the deepest fine block **a given rank actually owns**, allocated lazily. + +**Current state:** `s_ibm_marker_bounds` (m_ibm.fpp, added 2026-07-13) computes the deepest +bound from `amr_max_level` + `amr_block_beg/end` (global). Multi-level IB is currently np=1 +only, so this is not yet a live cost — **#30a is a memory optimization that pairs with +un-gating multi-level IB at np>1** (itself deferred). Low priority until np>1 IB lands. + +**Approach.** Replace the global `2**amr_max_level` bound with the per-rank owned deepest +level. Because `ib_markers` is a device declare-target that must NOT be reallocated after +mapping, "lazy" means: at init, size to the deepest level the rank's INITIAL decomposition +could own; if a later regrid would need deeper, that's the same never-realloc constraint — +so either (a) size to the rank's static owned-region deepest possible, or (b) accept the +global bound at np=1 (status quo) and only optimize once np>1 IB + repartition-on-restart +lands. **Recommend deferring #30a until np>1 multi-level IB exists** — optimizing an +allocation for a configuration the checker doesn't yet admit is speculative. + +**Task plan:** small — parameterize `s_ibm_marker_bounds` by a per-rank owned-level input; +validate memory footprint drops at np>1 with no golden change. Blocked on np>1 IB. + +--- + +## #30b — ref_ratio = 4 + +**Problem.** Refinement ratio is hard-coded 2:1 per level. One 4:1 level reaches the +resolution of two 2:1 levels with one fewer coupling layer. The `2*`/`2**level` extent +factors are threaded through every coupling kernel. + +**Approach.** Introduce a runtime `ref_ratio ∈ {2,4}` (param, default 2 = byte-identical). +De-hardcode the fine-extent, prolong, restrict, halo, and reflux stencils from `2` to +`ref_ratio` (and `2**level` to `ref_ratio**level`). The prolong stencil widens (4:1 injection ++ the multi-fluid/species closure over a 4-wide child block); restrict averages `ref_ratio^d` +children; the fine-fine seam halo and reflux child-face counts scale by `ref_ratio`. + +**Highest-risk feature of the three** — it touches every coupling kernel's stencil, and a +wrong factor conserves-to-machine-zero while being physically wrong. + +**Task plan (SDD):** +1. **Param + gate** — add `ref_ratio` (definitions.py + descriptions.py + checker default 2); + gate `ref_ratio ∉ {2,4}` and any unsupported combos fail-closed. Byte-identical at + ref_ratio=2. `amr_slots(:)%ref_ratio` already exists (per-block) — audit that it's + populated from the param, not a `2` literal. +2. **De-hardcode extents** — sweep `2*(...)`/`2**level` → `ref_ratio*(...)`/`ref_ratio**level` + in fine-geometry sizing, marker sizing, `old_ext`, tower weight, `s_amr_fine_fine_halo` + (the level-aware `2**level` from #35), reflux child-face counts. Gate: ref_ratio=2 + byte-identical (every site reduces to `2`). +3. **Prolong/restrict stencils** — generalize `s_prolong_one_var` (injection/interp for a + `ref_ratio`-wide child), `s_restrict_one_var` (`ref_ratio^d` child sum), and the alpha/ + species closures. Gate: ref_ratio=2 byte-identical. +4. **ref_ratio=4 golden** — a single-level ref_ratio=4 case; validate conservation + machine-zero (inviscid) + a resolution check vs two 2:1 levels. CPU + GPU. + +**Open questions:** buff_size / stencil reach for a 4-wide prolong (does the coarse patch +margin `amr_cpat_mar` suffice?); interaction with multi-level (ref_ratio=4 AND amr_max_level>1 += 16:1 two levels — likely gate to one at a time first); whether `ref_ratio` is global or +per-level. + +--- + +## Cross-cutting notes +- All three keep existing goldens byte-identical when inactive (param defaults / gated). +- GPU validate on V100 via targeted `-- -b mpirun` (the full-suite sbatch SIGILL-flakes on + arch-mismatched nodes; see the `phoenix-srun-mpirun` memory + the hpcx-bin-on-PATH note). +- Conservation gates: q_cons machine-zero; pb/mv and any non-conservative side-state use the + "np=2 == np=1 trajectory on a bit-uniform grid" oracle.