From 87b6905fbae0c638fd8ca54521cb328902bc759a Mon Sep 17 00:00:00 2001 From: matei jordache Date: Mon, 23 Mar 2026 00:35:30 -0700 Subject: [PATCH] initial commit --- .gitignore | 4 +- GWYDDION_FEATURE_GAP.md | 87 + backend/__init__.py | 0 backend/data_types.py | 134 ++ backend/execution.py | 294 +++ backend/main.py | 47 + backend/node_registry.py | 56 + backend/nodes/__init__.py | 2 + backend/nodes/analysis.py | 471 +++++ backend/nodes/display.py | 165 ++ backend/nodes/filters.py | 115 ++ backend/nodes/grains.py | 127 ++ backend/nodes/io.py | 277 +++ backend/nodes/level.py | 150 ++ backend/server.py | 267 +++ frontend/index.html | 12 + frontend/package-lock.json | 1951 +++++++++++++++++++ frontend/package.json | 20 + frontend/src/App.jsx | 601 ++++++ frontend/src/CrossSectionOverlay.jsx | 86 + frontend/src/CustomNode.jsx | 396 ++++ frontend/src/FileBrowser.jsx | 94 + frontend/src/SurfaceView.jsx | 183 ++ frontend/src/api.js | 93 + frontend/src/main.jsx | 6 + frontend/src/styles.css | 509 +++++ frontend/vite.config.js | 23 + tests/__init__.py | 0 tests/output/01_sines_input.png | Bin 0 -> 110057 bytes tests/output/01_sines_log_magnitude.png | Bin 0 -> 981 bytes tests/output/01_sines_magnitude.png | Bin 0 -> 1065 bytes tests/output/01_sines_psdf.png | Bin 0 -> 1049 bytes tests/output/02_surface_fft_level_mean.png | Bin 0 -> 111338 bytes tests/output/02_surface_fft_level_none.png | Bin 0 -> 110456 bytes tests/output/02_surface_fft_level_plane.png | Bin 0 -> 114558 bytes tests/output/02_surface_input.png | Bin 0 -> 71336 bytes tests/output/03_checker_fft.png | Bin 0 -> 8339 bytes tests/output/03_checker_input.png | Bin 0 -> 1067 bytes tests/output/04_rings_fft.png | Bin 0 -> 23212 bytes tests/output/04_rings_input.png | Bin 0 -> 147295 bytes tests/output/05_window_blackman.png | Bin 0 -> 2208 bytes tests/output/05_window_hamming.png | Bin 0 -> 2411 bytes tests/output/05_window_hann.png | Bin 0 -> 2051 bytes tests/output/05_window_input.png | Bin 0 -> 110722 bytes tests/output/05_window_none.png | Bin 0 -> 1694 bytes tests/test_fft.py | 258 +++ tests/test_fft_visual.py | 97 + tests/test_nodes.py | 488 +++++ 48 files changed, 7012 insertions(+), 1 deletion(-) create mode 100644 GWYDDION_FEATURE_GAP.md create mode 100644 backend/__init__.py create mode 100644 backend/data_types.py create mode 100644 backend/execution.py create mode 100644 backend/main.py create mode 100644 backend/node_registry.py create mode 100644 backend/nodes/__init__.py create mode 100644 backend/nodes/analysis.py create mode 100644 backend/nodes/display.py create mode 100644 backend/nodes/filters.py create mode 100644 backend/nodes/grains.py create mode 100644 backend/nodes/io.py create mode 100644 backend/nodes/level.py create mode 100644 backend/server.py create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/src/App.jsx create mode 100644 frontend/src/CrossSectionOverlay.jsx create mode 100644 frontend/src/CustomNode.jsx create mode 100644 frontend/src/FileBrowser.jsx create mode 100644 frontend/src/SurfaceView.jsx create mode 100644 frontend/src/api.js create mode 100644 frontend/src/main.jsx create mode 100644 frontend/src/styles.css create mode 100644 frontend/vite.config.js create mode 100644 tests/__init__.py create mode 100644 tests/output/01_sines_input.png create mode 100644 tests/output/01_sines_log_magnitude.png create mode 100644 tests/output/01_sines_magnitude.png create mode 100644 tests/output/01_sines_psdf.png create mode 100644 tests/output/02_surface_fft_level_mean.png create mode 100644 tests/output/02_surface_fft_level_none.png create mode 100644 tests/output/02_surface_fft_level_plane.png create mode 100644 tests/output/02_surface_input.png create mode 100644 tests/output/03_checker_fft.png create mode 100644 tests/output/03_checker_input.png create mode 100644 tests/output/04_rings_fft.png create mode 100644 tests/output/04_rings_input.png create mode 100644 tests/output/05_window_blackman.png create mode 100644 tests/output/05_window_hamming.png create mode 100644 tests/output/05_window_hann.png create mode 100644 tests/output/05_window_input.png create mode 100644 tests/output/05_window_none.png create mode 100644 tests/test_fft.py create mode 100644 tests/test_fft_visual.py create mode 100644 tests/test_nodes.py diff --git a/.gitignore b/.gitignore index abd32e8..5d28cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -*__pycache__* \ No newline at end of file +*__pycache__* +frontend/node_modules/ +frontend/dist/ \ No newline at end of file diff --git a/GWYDDION_FEATURE_GAP.md b/GWYDDION_FEATURE_GAP.md new file mode 100644 index 0000000..b393f82 --- /dev/null +++ b/GWYDDION_FEATURE_GAP.md @@ -0,0 +1,87 @@ +# Gwyddion Features Not Yet in Argonode + +Reference for future implementation. Grouped by value to typical SPM workflows. + +--- + +## High Value + +| # | Feature | Gwyddion Source | Description | +|---|---------|---------------|-------------| +| 1 | Line Correction | linecorrect.c, linematch.c | Row-by-row median/polynomial alignment. Essential for raw SPM data with scan-line artifacts. | +| 2 | Scar Removal | scars.c | Detect and interpolate scan-line defects (horizontal streaks). | +| 3 | Facet Leveling | facet-level.c | Orient the dominant surface facet to horizontal. Better than plane level for terraced/stepped surfaces. | +| 4 | Morphological Mask Ops | mask_morph.c | Erode, dilate, open, close on grain masks. Needed to clean up thresholded masks. | +| 5 | 1D FFT Filter | fft_filter_1d.c | Bandpass/lowpass/highpass filtering of LINE profiles. | +| 6 | 2D FFT Filter | fft_filter_2d.c | Frequency-domain filtering of DATA_FIELDs (remove periodic noise, etc.). | +| 7 | Autocorrelation (ACF) | acf2d.c | 2D autocorrelation function. Reveals periodic structures and correlation lengths. | +| 8 | PSDF | psdf2d.c | Radial/2D power spectral density function. Complementary to ACF for roughness characterization. | +| 9 | Fractal Dimension | fractal.c | Multiple methods: partitioning, cube counting, triangulation, PSDF, HHCF. Quantifies surface complexity. | +| 10 | Curvature | curvature.c | Local mean/Gaussian curvature maps. Useful for feature identification. | +| 11 | Grain Distance Transform | mask_edt.c | Euclidean distance from grain boundaries. Useful for spatial distribution analysis. | +| 12 | Watershed Segmentation | grain_wshed.c | Automatic grain detection without manual threshold. More robust than simple thresholding. | +| 13 | Rotate / Flip | rotate.c, basicops.c | Basic geometric transforms (90°, arbitrary angle, mirror). | +| 14 | Crop | crop.c | Extract sub-region of a field. | + +## Medium Value + +| # | Feature | Gwyddion Source | Description | +|---|---------|---------------|-------------| +| 15 | Correlation / Pattern Matching | crosscor.c, maskcor.c | Find repeated features or align images via cross-correlation. | +| 16 | Slope Distribution | slope_dist.c | Angular histogram of surface slopes. Characterizes surface texture directionality. | +| 17 | Grain Filtering | grain_filter.c | Remove grains by size, height, or border contact. Refine grain masks post-detection. | +| 18 | Field Arithmetic | arithmetic.c | Add/subtract/multiply/divide two DATA_FIELDs. Useful for difference maps, normalization. | +| 19 | Spot Removal | spotremove.c | Interpolate over selected point defects (dust, spikes). | +| 20 | Tip Modeling / Deconvolution | tip_blind.c, tip_model.c | Estimate tip shape from image, deconvolve to recover true surface. | +| 21 | Radial Profile | rprofile tool | Azimuthally averaged profile from a center point. Good for circular features. | +| 22 | Wavelet Transform | dwt.c, cwt.c | Discrete/continuous wavelet analysis. Multi-scale roughness decomposition. | +| 23 | Scale / Resample | scale.c, resample.c | Resize fields with interpolation. | +| 24 | Gradient | gradient.c | Compute x/y gradient magnitude maps. | +| 25 | Custom Convolution | convolution_filter.c | User-defined kernel convolution. | +| 26 | Local Contrast Enhancement | local_contrast.c | Enhance visibility of local features in images. | + +## Lower Priority + +| # | Feature | Gwyddion Source | Description | +|---|---------|---------------|-------------| +| 27 | Drift Correction | drift.c | Compensate for thermal/piezo drift between scan lines. | +| 28 | Affine / Perspective Correction | correct_affine.c, correct_perspective.c | Fix geometric distortions from scanner nonlinearity. | +| 29 | MFM Analysis | mfm_*.c | Magnetic force microscopy: field calculation, shift finding. | +| 30 | Lattice Measurement | measure_lattice.c | Detect and measure periodic lattice structures from ACF/FFT. | +| 31 | Hough Transform | hough.c | Detect lines and circles in images. | +| 32 | Image Stitching / Merging | merge.c, stitch.c | Combine multiple overlapping scans into one image. | +| 33 | Facet Analysis | facet_analysis.c | Orientation distribution of surface facets (stereographic projection). | +| 34 | Shape Fitting | fit-shape.c | Fit geometric primitives: sphere, paraboloid, cylinder, etc. | +| 35 | Synthetic Surface Generation | *_synth.c (~20 modules) | Generate test surfaces: FBM, noise, lattice, waves, particles, fibers, etc. | +| 36 | Entropy | entropy.c | Information entropy of height distribution. | +| 37 | Indentation Analysis | indent_analyze.c, hertz.c | Nanoindentation curve fitting (Hertz model). | +| 38 | Deconvolution | deconvolve.c | Blind/regularized deconvolution for image restoration. | +| 39 | Canny / Harris Detection | filters.c | Corner and edge feature detection beyond basic Sobel/Prewitt. | +| 40 | Kuwahara Filter | filters.c | Edge-preserving smoothing filter. | + +--- + +## Already Implemented in Argonode + +For reference, these Gwyddion equivalents are already covered: + +| Argonode Node | Category | Gwyddion Equivalent | +|--------------|----------|-------------------| +| Load Image / Load SPM File | io | File import (gwy, sxm, ibw) | +| Save Image | io | File export | +| Coordinate | io | — | +| Plane Level | level | level.c | +| Polynomial Level | level | polylevel.c | +| Fix Zero | level | level.c (fix_zero) | +| Gaussian Filter | filters | filters.c (gaussian) | +| Median Filter | filters | filters.c (median) | +| Edge Detect | filters | edge.c (sobel, prewitt, laplacian, LoG) | +| Statistics | analysis | stats.c | +| Height Histogram | analysis | linestats.c (dh) | +| 2D FFT | analysis | fft.c | +| Cross Section | analysis | profile tool | +| Profile Roughness | analysis | roughness.c (Ra, Rq, Rsk, Rku, Rp, Rv, Rt) | +| Line Math | analysis | linestats.c | +| Threshold Mask | grains | threshold.c, otsu_threshold.c | +| Grain Analysis | grains | grain_stat.c | +| Preview / 3D View / Print Table | display | Presentation, 3D view | diff --git a/backend/__init__.py b/backend/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/data_types.py b/backend/data_types.py new file mode 100644 index 0000000..f1bdbba --- /dev/null +++ b/backend/data_types.py @@ -0,0 +1,134 @@ +""" +Core data types for argonode. + +DataField mirrors Gwyddion's GwyDataField structure: + xres, yres – pixel dimensions + xreal, yreal – physical dimensions in metres + xoff, yoff – position offset in metres + si_unit_xy – lateral unit string (e.g. "m", "nm") + si_unit_z – height/value unit string (e.g. "m", "V", "A") + domain – "spatial" or "frequency" (set by FFT nodes) +""" + +from __future__ import annotations + +from dataclasses import dataclass, field +import numpy as np + + +@dataclass +class DataField: + data: np.ndarray # shape (yres, xres), dtype float64 + xres: int = 0 + yres: int = 0 + xreal: float = 1e-6 # physical width in metres + yreal: float = 1e-6 # physical height in metres + xoff: float = 0.0 + yoff: float = 0.0 + si_unit_xy: str = "m" + si_unit_z: str = "m" + domain: str = "spatial" # "spatial" or "frequency" + + def __post_init__(self) -> None: + self.data = np.asarray(self.data, dtype=np.float64) + if self.data.ndim != 2: + raise ValueError(f"DataField.data must be 2-D, got shape {self.data.shape}") + self.yres, self.xres = self.data.shape + + def copy(self) -> "DataField": + """Return a deep copy with independent data array.""" + return DataField( + data=self.data.copy(), + xres=self.xres, + yres=self.yres, + xreal=self.xreal, + yreal=self.yreal, + xoff=self.xoff, + yoff=self.yoff, + si_unit_xy=self.si_unit_xy, + si_unit_z=self.si_unit_z, + domain=self.domain, + ) + + def replace(self, **kwargs) -> "DataField": + """Return a copy with selected fields replaced. data is deep-copied unless provided.""" + base = { + "data": self.data.copy(), + "xres": self.xres, + "yres": self.yres, + "xreal": self.xreal, + "yreal": self.yreal, + "xoff": self.xoff, + "yoff": self.yoff, + "si_unit_xy": self.si_unit_xy, + "si_unit_z": self.si_unit_z, + "domain": self.domain, + } + base.update(kwargs) + return DataField(**base) + + @property + def dx(self) -> float: + """Physical pixel size in x (metres).""" + return self.xreal / self.xres if self.xres else 1.0 + + @property + def dy(self) -> float: + """Physical pixel size in y (metres).""" + return self.yreal / self.yres if self.yres else 1.0 + + +# --------------------------------------------------------------------------- +# Utility helpers shared across nodes +# --------------------------------------------------------------------------- + +def datafield_to_uint8(df: DataField, colormap: str = "gray") -> np.ndarray: + """ + Normalize a DataField to a uint8 (H, W, 3) RGB array using matplotlib colormap. + Returns shape (H, W, 3) uint8. + """ + import matplotlib.cm as cm + import matplotlib.colors as mcolors + + data = df.data + dmin, dmax = data.min(), data.max() + if dmax > dmin: + normalized = (data - dmin) / (dmax - dmin) + else: + normalized = np.zeros_like(data) + + cmap = cm.get_cmap(colormap) + rgba = cmap(normalized) # (H, W, 4) float [0,1] + rgb = (rgba[:, :, :3] * 255).astype(np.uint8) + return rgb + + +def image_to_uint8(image: np.ndarray) -> np.ndarray: + """ + Convert an IMAGE (float or uint8, 2-D or 3-D) to uint8 (H,W,3) or (H,W) for PIL. + """ + if image.dtype == np.uint8: + return image + # float — normalize to [0, 255] + imin, imax = image.min(), image.max() + if imax > imin: + out = (image - imin) / (imax - imin) * 255.0 + else: + out = np.zeros_like(image) + return out.astype(np.uint8) + + +def encode_preview(arr: np.ndarray) -> str: + """ + Encode a uint8 numpy array as a base64 data URI (PNG). + arr: (H, W) grayscale or (H, W, 3) RGB, uint8. + """ + import base64 + import io + from PIL import Image + + img = Image.fromarray(arr) + buf = io.BytesIO() + img.save(buf, format="PNG") + b64 = base64.b64encode(buf.getvalue()).decode() + return f"data:image/png;base64,{b64}" diff --git a/backend/execution.py b/backend/execution.py new file mode 100644 index 0000000..cb11b62 --- /dev/null +++ b/backend/execution.py @@ -0,0 +1,294 @@ +""" +Graph execution engine for argonode. + +Prompt format (same as ComfyUI): + { + "node_id": { + "class_type": "GaussianFilter", + "inputs": { + "field": ["upstream_node_id", 0], # link: [src_id, output_slot] + "sigma": 2.0 # constant widget value + } + }, + ... + } + +The engine: +1. Topologically sorts nodes (Kahn's algorithm). +2. Resolves input links to actual Python objects from earlier outputs. +3. Calls each node's FUNCTION method. +4. Emits progress callbacks after each node. +""" + +from __future__ import annotations +import uuid +from collections import defaultdict, deque +from typing import Any, Callable + +from backend.node_registry import NODE_CLASS_MAPPINGS + + +def _is_link(value: Any) -> bool: + """A value is a link if it's a [node_id_str, slot_int] pair.""" + return ( + isinstance(value, (list, tuple)) + and len(value) == 2 + and isinstance(value[0], str) + and isinstance(value[1], int) + ) + + +class ExecutionEngine: + """Synchronous (blocking) graph executor. Run inside a thread pool from async code.""" + + def execute( + self, + prompt: dict[str, dict], + on_node_start: Callable[[str], None] | None = None, + on_node_done: Callable[[str], None] | None = None, + on_preview: Callable[[str, str], None] | None = None, + on_table: Callable[[str, list], None] | None = None, + on_mesh: Callable[[str, dict], None] | None = None, + on_overlay: Callable[[str, str], None] | None = None, + ) -> dict[str, tuple]: + """ + Execute the workflow described by `prompt`. + + Parameters + ---------- + prompt : workflow dict (node_id → {class_type, inputs}) + on_node_start : called with node_id just before a node executes + on_node_done : called with node_id just after a node executes + on_preview : called with (node_id, data_uri) when a display node runs + on_table : called with (node_id, table_list) when PrintTable runs + on_overlay : called with (node_id, data_uri) for interactive overlays + + Returns + ------- + node_outputs : {node_id → tuple-of-outputs} for every executed node + """ + order = self._topological_sort(prompt) + node_outputs: dict[str, tuple] = {} + + # Inject display callbacks before execution + self._inject_display_callbacks(on_preview, on_table, on_mesh, on_overlay) + + for node_id in order: + node_def = prompt[node_id] + class_name = node_def["class_type"] + + if class_name not in NODE_CLASS_MAPPINGS: + raise ValueError(f"Unknown node type: '{class_name}'") + + cls = NODE_CLASS_MAPPINGS[class_name] + raw_inputs = node_def.get("inputs", {}) + inputs = self._resolve_inputs(raw_inputs, node_outputs) + + # Let display nodes know their node_id so they can tag WS messages + self._set_node_id_on_display(cls, node_id) + + if on_node_start: + on_node_start(node_id) + + instance = cls() + func = getattr(instance, cls.FUNCTION) + result = func(**inputs) + + # Nodes must return a tuple; coerce single values just in case + if not isinstance(result, tuple): + result = (result,) + + node_outputs[node_id] = result + + # Auto-preview: broadcast a thumbnail for any DATA_FIELD, + # IMAGE, or TABLE output so every node shows its result. + if on_preview or on_table: + self._auto_preview(cls, node_id, result, on_preview, on_table) + + if on_node_done: + on_node_done(node_id) + + return node_outputs + + # ------------------------------------------------------------------ + # Private helpers + # ------------------------------------------------------------------ + + def _topological_sort(self, prompt: dict) -> list[str]: + """Kahn's algorithm — returns node IDs in dependency order.""" + in_degree: dict[str, int] = {nid: 0 for nid in prompt} + dependents: dict[str, list[str]] = defaultdict(list) + + for node_id, node_def in prompt.items(): + for value in node_def.get("inputs", {}).values(): + if _is_link(value): + src_id = value[0] + if src_id in prompt: + in_degree[node_id] += 1 + dependents[src_id].append(node_id) + + queue: deque[str] = deque(nid for nid, deg in in_degree.items() if deg == 0) + order: list[str] = [] + + while queue: + nid = queue.popleft() + order.append(nid) + for dep in dependents[nid]: + in_degree[dep] -= 1 + if in_degree[dep] == 0: + queue.append(dep) + + if len(order) != len(prompt): + raise ValueError("Cycle detected in workflow graph — cannot execute.") + + return order + + def _resolve_inputs( + self, + raw_inputs: dict[str, Any], + node_outputs: dict[str, tuple], + ) -> dict[str, Any]: + """Replace [src_id, slot] links with actual output values.""" + resolved = {} + for key, value in raw_inputs.items(): + if _is_link(value): + src_id, slot = value[0], int(value[1]) + if src_id not in node_outputs: + raise KeyError( + f"Node '{src_id}' has no output yet — dependency ordering bug?" + ) + outputs = node_outputs[src_id] + if slot >= len(outputs): + raise IndexError( + f"Node '{src_id}' only has {len(outputs)} outputs, " + f"but slot {slot} was requested." + ) + resolved[key] = outputs[slot] + else: + resolved[key] = value + return resolved + + def _inject_display_callbacks( + self, + on_preview: Callable | None, + on_table: Callable | None, + on_mesh: Callable | None = None, + on_overlay: Callable | None = None, + ) -> None: + """Wire up broadcast callbacks on display node classes.""" + from backend.nodes.display import PreviewImage, PrintTable, View3D + from backend.nodes.analysis import CrossSection + from backend.nodes.io import SaveImage + + PreviewImage._broadcast_fn = on_preview + View3D._broadcast_mesh_fn = on_mesh + PrintTable._broadcast_table_fn = on_table + CrossSection._broadcast_overlay_fn = on_overlay + SaveImage._broadcast_preview = ( + (lambda data_uri: on_preview("save", data_uri)) if on_preview else None + ) + + def _set_node_id_on_display(self, cls: type, node_id: str) -> None: + """Inform display nodes of their current node_id for WS tagging.""" + from backend.nodes.display import PreviewImage, PrintTable, View3D + from backend.nodes.analysis import CrossSection + if cls in (PreviewImage, PrintTable, View3D, CrossSection): + cls._current_node_id = node_id + + def _auto_preview( + self, + cls: type, + node_id: str, + result: tuple, + on_preview: Callable | None, + on_table: Callable | None, + ) -> None: + """ + After every node executes, inspect its outputs and broadcast + a preview for the first DATA_FIELD, IMAGE, or TABLE found. + """ + import numpy as np + from backend.data_types import ( + DataField, datafield_to_uint8, image_to_uint8, encode_preview, + ) + + return_types = getattr(cls, "RETURN_TYPES", ()) + + for slot, type_name in enumerate(return_types): + if slot >= len(result): + break + value = result[slot] + + if type_name == "DATA_FIELD" and isinstance(value, DataField) and on_preview: + arr = datafield_to_uint8(value, "viridis") + on_preview(node_id, encode_preview(arr)) + return # one preview per node is enough + + if type_name == "IMAGE" and isinstance(value, np.ndarray) and on_preview: + arr = image_to_uint8(value) + on_preview(node_id, encode_preview(arr)) + return + + if type_name == "LINE" and isinstance(value, np.ndarray) and on_preview: + preview = self._render_line_preview(cls, slot, result) + if preview: + on_preview(node_id, preview) + return + + if type_name == "TABLE" and isinstance(value, list) and on_table: + on_table(node_id, value) + return + + + def _render_line_preview( + self, + cls: type, + slot: int, + result: tuple, + ) -> str | None: + """Render a LINE output as a small matplotlib plot, returned as a data URI.""" + import numpy as np + import base64 + import io as _io + + return_types = getattr(cls, "RETURN_TYPES", ()) + + # Find the y-values (current slot) and try to find an x-axis + y = result[slot] + x = None + # If the next output is also LINE, use it as x-axis + if slot + 1 < len(return_types) and return_types[slot + 1] == "LINE": + x = result[slot + 1] + # Or if slot > 0 and previous is LINE, this slot is the x-axis — skip + if slot > 0 and return_types[slot - 1] == "LINE": + return None # the first LINE already plotted both + + try: + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + + fig, ax = plt.subplots(figsize=(3.2, 1.8), dpi=100) + fig.patch.set_facecolor("#1e293b") + ax.set_facecolor("#0f172a") + if x is not None: + ax.plot(x, y, color="#ff9800", linewidth=1.2) + else: + ax.plot(y, color="#ff9800", linewidth=1.2) + ax.tick_params(colors="#94a3b8", labelsize=7) + for spine in ax.spines.values(): + spine.set_color("#334155") + ax.grid(True, color="#334155", linewidth=0.3, alpha=0.5) + fig.tight_layout(pad=0.4) + + buf = _io.BytesIO() + fig.savefig(buf, format="png", facecolor=fig.get_facecolor()) + plt.close(fig) + b64 = base64.b64encode(buf.getvalue()).decode() + return f"data:image/png;base64,{b64}" + except Exception: + return None + + +def new_prompt_id() -> str: + return str(uuid.uuid4()) diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..657bd14 --- /dev/null +++ b/backend/main.py @@ -0,0 +1,47 @@ +""" +Entry point for argonode. + +Run with: + python -m backend.main +or simply: + python backend/main.py +from the argonode/ directory. +""" + +import asyncio +import logging +import sys +from pathlib import Path + +# Allow running as `python backend/main.py` from the project root +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from aiohttp import web +from backend.server import create_app + +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s %(levelname)-8s %(name)s — %(message)s", +) +log = logging.getLogger(__name__) + +HOST = "127.0.0.1" +PORT = 8188 + + +def main() -> None: + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + + app = create_app(loop) + + log.info("=" * 60) + log.info(" Argonode — Node-based image analysis") + log.info(" Open your browser at http://%s:%d", HOST, PORT) + log.info("=" * 60) + + web.run_app(app, host=HOST, port=PORT, loop=loop, access_log=None) + + +if __name__ == "__main__": + main() diff --git a/backend/node_registry.py b/backend/node_registry.py new file mode 100644 index 0000000..3510544 --- /dev/null +++ b/backend/node_registry.py @@ -0,0 +1,56 @@ +""" +Node registry for argonode. + +Nodes are plain Python classes decorated with @register_node. +NODE_CLASS_MAPPINGS is the single source of truth consumed by +the execution engine and the /nodes REST endpoint. +""" + +from __future__ import annotations +from typing import Any + +NODE_CLASS_MAPPINGS: dict[str, type] = {} +NODE_DISPLAY_NAME_MAPPINGS: dict[str, str] = {} + + +def register_node(display_name: str | None = None): + """ + Class decorator that registers a node class into NODE_CLASS_MAPPINGS. + + Usage: + @register_node(display_name="Gaussian Filter") + class GaussianFilter: + ... + """ + def decorator(cls: type) -> type: + name = cls.__name__ + NODE_CLASS_MAPPINGS[name] = cls + NODE_DISPLAY_NAME_MAPPINGS[name] = display_name or name + return cls + return decorator + + +def get_node_info(class_name: str) -> dict[str, Any]: + """ + Return a JSON-serialisable dict describing a node — consumed by GET /nodes. + Shape is compatible with what LiteGraph.js expects from the frontend. + """ + cls = NODE_CLASS_MAPPINGS[class_name] + input_types: dict = cls.INPUT_TYPES() + + return { + "name": class_name, + "display_name": NODE_DISPLAY_NAME_MAPPINGS.get(class_name, class_name), + "category": getattr(cls, "CATEGORY", "uncategorized"), + "input": input_types, + "input_order": {k: list(v.keys()) for k, v in input_types.items()}, + "output": list(cls.RETURN_TYPES), + "output_name": list(getattr(cls, "RETURN_NAMES", cls.RETURN_TYPES)), + "output_node": bool(getattr(cls, "OUTPUT_NODE", False)), + "description": getattr(cls, "DESCRIPTION", ""), + } + + +def get_all_node_info() -> dict[str, dict[str, Any]]: + """Return info dicts for every registered node.""" + return {name: get_node_info(name) for name in NODE_CLASS_MAPPINGS} diff --git a/backend/nodes/__init__.py b/backend/nodes/__init__.py new file mode 100644 index 0000000..588daa7 --- /dev/null +++ b/backend/nodes/__init__.py @@ -0,0 +1,2 @@ +# Import all node modules to trigger @register_node decorators. +from . import io, filters, level, analysis, grains, display diff --git a/backend/nodes/analysis.py b/backend/nodes/analysis.py new file mode 100644 index 0000000..d112a95 --- /dev/null +++ b/backend/nodes/analysis.py @@ -0,0 +1,471 @@ +""" +Analysis nodes — statistics, histograms, FFT, cross sections. + +Gwyddion equivalents: + StatisticsNode → gwy_data_field_get_min/max/avg/rms (libprocess/stats.h) + HeightHistogram → DH (height distribution), gwy_data_field_dh + FFT2D → gwy_data_field_2dfft + gwy_data_field_2dpsdf + CrossSection → gwy_data_field_get_profile (libprocess/datafield.c) +""" + +from __future__ import annotations +import numpy as np +from backend.node_registry import register_node +from backend.data_types import DataField + + +# --------------------------------------------------------------------------- +# StatisticsNode +# --------------------------------------------------------------------------- + +@register_node(display_name="Statistics") +class StatisticsNode: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + } + } + + RETURN_TYPES = ("TABLE",) + RETURN_NAMES = ("stats",) + FUNCTION = "process" + CATEGORY = "analysis" + DESCRIPTION = ( + "Compute basic surface statistics: min, max, mean, RMS roughness, median, " + "and skewness. Equivalent to gwy_data_field_get_min/max/avg/rms." + ) + + def process(self, field: DataField) -> tuple: + d = field.data + mean = float(d.mean()) + rms = float(np.sqrt(np.mean((d - mean) ** 2))) + skewness = float(np.mean(((d - mean) / rms) ** 3)) if rms > 0 else 0.0 + kurtosis = float(np.mean(((d - mean) / rms) ** 4)) if rms > 0 else 0.0 + + table = [ + {"quantity": "min", "value": float(d.min()), "unit": field.si_unit_z}, + {"quantity": "max", "value": float(d.max()), "unit": field.si_unit_z}, + {"quantity": "mean", "value": mean, "unit": field.si_unit_z}, + {"quantity": "RMS", "value": rms, "unit": field.si_unit_z}, + {"quantity": "median", "value": float(np.median(d)), "unit": field.si_unit_z}, + {"quantity": "skewness", "value": skewness, "unit": ""}, + {"quantity": "kurtosis", "value": kurtosis, "unit": ""}, + {"quantity": "range", "value": float(d.max() - d.min()), "unit": field.si_unit_z}, + ] + return (table,) + + +# --------------------------------------------------------------------------- +# HeightHistogram +# --------------------------------------------------------------------------- + +@register_node(display_name="Height Histogram") +class HeightHistogram: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "n_bins": ("INT", {"default": 256, "min": 10, "max": 1000, "step": 1}), + } + } + + RETURN_TYPES = ("LINE", "LINE") + RETURN_NAMES = ("counts", "bin_centers") + FUNCTION = "process" + CATEGORY = "analysis" + DESCRIPTION = ( + "Compute the height distribution histogram (DH). " + "Equivalent to gwy_data_field_dh." + ) + + def process(self, field: DataField, n_bins: int) -> tuple: + counts, bin_edges = np.histogram(field.data.ravel(), bins=int(n_bins)) + bin_centers = 0.5 * (bin_edges[:-1] + bin_edges[1:]) + return (counts.astype(np.float64), bin_centers) + + +# --------------------------------------------------------------------------- +# FFT2D +# --------------------------------------------------------------------------- + +@register_node(display_name="2D FFT") +class FFT2D: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "windowing": (["hann", "hamming", "blackman", "none"],), + "level": (["mean", "plane", "none"],), + "output": (["log_magnitude", "magnitude", "phase", "psdf"],), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("spectrum",) + FUNCTION = "process" + CATEGORY = "analysis" + DESCRIPTION = ( + "Compute the 2D FFT with optional windowing and mean/plane subtraction. " + "Output can be log magnitude, magnitude, phase, or PSDF. " + "Equivalent to gwy_data_field_2dfft / gwy_data_field_2dpsdf." + ) + + def process(self, field: DataField, windowing: str, level: str, output: str) -> tuple: + data = field.data.copy() + yres, xres = data.shape + + # Level subtraction (Gwyddion-style, before windowing) + if level == "mean": + data -= data.mean() + elif level == "plane": + # Fit and subtract a plane: z = a + b*x + c*y + yy, xx = np.mgrid[0:yres, 0:xres] + xx_f = xx.ravel().astype(np.float64) + yy_f = yy.ravel().astype(np.float64) + zz_f = data.ravel() + A = np.column_stack([np.ones_like(xx_f), xx_f, yy_f]) + coeffs, _, _, _ = np.linalg.lstsq(A, zz_f, rcond=None) + plane = (coeffs[0] + coeffs[1] * xx + coeffs[2] * yy) + data -= plane + + # Windowing (Gwyddion uses (i+0.5)/n centred formulation) + if windowing != "none": + t_y = (np.arange(yres) + 0.5) / yres + t_x = (np.arange(xres) + 0.5) / xres + if windowing == "hann": + wy = 0.5 - 0.5 * np.cos(2 * np.pi * t_y) + wx = 0.5 - 0.5 * np.cos(2 * np.pi * t_x) + elif windowing == "hamming": + wy = 0.54 - 0.46 * np.cos(2 * np.pi * t_y) + wx = 0.54 - 0.46 * np.cos(2 * np.pi * t_x) + elif windowing == "blackman": + wy = 0.42 - 0.5 * np.cos(2 * np.pi * t_y) + 0.08 * np.cos(4 * np.pi * t_y) + wx = 0.42 - 0.5 * np.cos(2 * np.pi * t_x) + 0.08 * np.cos(4 * np.pi * t_x) + else: + wy = np.ones(yres) + wx = np.ones(xres) + data *= np.outer(wy, wx) + + # 2D FFT, shifted so DC is at centre + F = np.fft.fftshift(np.fft.fft2(data)) + n = xres * yres + + if output == "log_magnitude": + mag = np.abs(F) + # Log scale with floor to avoid log(0) + result = np.log1p(mag) + elif output == "magnitude": + result = np.abs(F) + elif output == "phase": + result = np.angle(F) + elif output == "psdf": + # Gwyddion-equivalent PSDF: |F|^2 * dx * dy / (n * 4π²) + dx = field.xreal / xres + dy = field.yreal / yres + result = (np.abs(F) ** 2) * dx * dy / (n * 4.0 * np.pi ** 2) + else: + result = np.abs(F) + + # Calibrate the output field in spatial-frequency units + if output == "psdf": + # Gwyddion uses angular frequency: 2π/dx, 2π/dy + freq_xreal = 2.0 * np.pi * xres / field.xreal + freq_yreal = 2.0 * np.pi * yres / field.yreal + z_unit = f"({field.si_unit_z})^2 m^2" + else: + freq_xreal = xres / field.xreal + freq_yreal = yres / field.yreal + z_unit = field.si_unit_z + + out_field = DataField( + data=result, + xreal=freq_xreal, + yreal=freq_yreal, + si_unit_xy="1/m", + si_unit_z=z_unit, + domain="frequency", + ) + return (out_field,) + + +# --------------------------------------------------------------------------- +# CrossSection +# --------------------------------------------------------------------------- + +def _extend_to_edges(x1, y1, x2, y2): + """ + Extend the line through (x1,y1)-(x2,y2) to the boundaries of [0,1]x[0,1]. + Returns the two intersection points (clipped to the unit square). + """ + dx = x2 - x1 + dy = y2 - y1 + + # Collect parametric t values where line hits each boundary + t_candidates = [] + if abs(dx) > 1e-12: + for bx in (0.0, 1.0): + t = (bx - x1) / dx + y_at_t = y1 + t * dy + if -1e-9 <= y_at_t <= 1.0 + 1e-9: + t_candidates.append(t) + if abs(dy) > 1e-12: + for by in (0.0, 1.0): + t = (by - y1) / dy + x_at_t = x1 + t * dx + if -1e-9 <= x_at_t <= 1.0 + 1e-9: + t_candidates.append(t) + + if len(t_candidates) < 2: + return x1, y1, x2, y2 + + t_min = min(t_candidates) + t_max = max(t_candidates) + + return ( + np.clip(x1 + t_min * dx, 0, 1), + np.clip(y1 + t_min * dy, 0, 1), + np.clip(x1 + t_max * dx, 0, 1), + np.clip(y1 + t_max * dy, 0, 1), + ) + + +@register_node(display_name="Cross Section") +class CrossSection: + """Extract a 1-D height profile along an arbitrary line across the image.""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "x1": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.01, "hidden": True}), + "y1": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01, "hidden": True}), + "x2": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01, "hidden": True}), + "y2": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01, "hidden": True}), + "extend": (["none", "to_edges"],), + "n_samples": ("INT", {"default": 0, "min": 0, "max": 4096, "step": 1}), + }, + "optional": { + "point_a": ("COORD",), + "point_b": ("COORD",), + }, + } + + RETURN_TYPES = ("LINE",) + RETURN_NAMES = ("profile",) + FUNCTION = "process" + CATEGORY = "analysis" + DESCRIPTION = ( + "Extract a cross-section profile along a line between two points. " + "Drag the markers on the image to set the line endpoints. " + "Equivalent to gwy_data_field_get_profile." + ) + + _broadcast_overlay_fn = None + _current_node_id: str = "" + + def process( + self, field: DataField, + x1: float, y1: float, x2: float, y2: float, + extend: str, n_samples: int, + point_a=None, point_b=None, + ) -> tuple: + from scipy.ndimage import map_coordinates + import io, base64 + from matplotlib.figure import Figure + + # COORD inputs override widget values + if point_a is not None: + x1, y1 = float(point_a[0]), float(point_a[1]) + if point_b is not None: + x2, y2 = float(point_b[0]), float(point_b[1]) + + # Remember marker positions (before extend) + marker_x1, marker_y1 = float(x1), float(y1) + marker_x2, marker_y2 = float(x2), float(y2) + + xres, yres = field.xres, field.yres + + if extend == "to_edges": + x1, y1, x2, y2 = _extend_to_edges( + float(x1), float(y1), float(x2), float(y2), + ) + + # Convert fractional [0,1] to pixel indices [0, res-1] + px1, py1 = float(x1) * (xres - 1), float(y1) * (yres - 1) + px2, py2 = float(x2) * (xres - 1), float(y2) * (yres - 1) + + # Number of sample points + line_len_px = np.hypot(px2 - px1, py2 - py1) + if n_samples <= 0: + n_samples = max(2, int(np.ceil(line_len_px))) + + # Sample coordinates along the line + t = np.linspace(0, 1, n_samples) + coords_y = py1 + t * (py2 - py1) + coords_x = px1 + t * (px2 - px1) + + # Interpolate values along the line (cubic spline) + profile = map_coordinates(field.data, [coords_y, coords_x], order=3, mode="nearest") + + # Broadcast overlay image with marker positions + if CrossSection._broadcast_overlay_fn is not None: + fig = Figure(figsize=(3, 3), dpi=100) + ax = fig.add_axes([0, 0, 1, 1]) + ax.imshow(field.data, cmap="viridis", aspect="auto") + ax.axis("off") + buf = io.BytesIO() + fig.savefig(buf, format="png", bbox_inches="tight", pad_inches=0) + buf.seek(0) + image_uri = "data:image/png;base64," + base64.b64encode(buf.read()).decode() + + CrossSection._broadcast_overlay_fn( + CrossSection._current_node_id, + { + "image": image_uri, + "x1": marker_x1, "y1": marker_y1, + "x2": marker_x2, "y2": marker_y2, + "a_locked": point_a is not None, + "b_locked": point_b is not None, + }, + ) + + return (profile.astype(np.float64),) + + +# --------------------------------------------------------------------------- +# LineMath — single scalar measurement from a LINE profile +# --------------------------------------------------------------------------- + +def _safe_rq(d): + """RMS of deviations from mean.""" + return float(np.sqrt(np.mean(d * d))) + +# Registry: name → (function(z) → float, unit_label) +# All functions receive the raw 1-D profile as float64. +LINE_OPS: dict[str, tuple] = {} + + +def _line_op(name, unit=""): + """Decorator to register a LINE operation.""" + def decorator(fn): + LINE_OPS[name] = (fn, unit) + return fn + return decorator + + +# ── Basic statistics ────────────────────────────────────────────────────── + +@_line_op("min") +def _op_min(z): + return float(z.min()) + +@_line_op("max") +def _op_max(z): + return float(z.max()) + +@_line_op("mean") +def _op_mean(z): + return float(z.mean()) + +@_line_op("median") +def _op_median(z): + return float(np.median(z)) + +@_line_op("sum") +def _op_sum(z): + return float(z.sum()) + +@_line_op("range") +def _op_range(z): + return float(z.max() - z.min()) + +@_line_op("length", unit="pts") +def _op_length(z): + return float(len(z)) + +@_line_op("rms") +def _op_rms(z): + return float(np.sqrt(np.mean(z * z))) + + +# ── Roughness parameters ────────────────────────── + +@_line_op("Ra") +def _op_ra(z): + return float(np.mean(np.abs(z - z.mean()))) + +@_line_op("Rq") +def _op_rq(z): + d = z - z.mean() + return _safe_rq(d) + +@_line_op("Rsk") +def _op_rsk(z): + d = z - z.mean() + rq = _safe_rq(d) + return float(np.mean(d**3) / rq**3) if rq > 0 else 0.0 + +@_line_op("Rku") +def _op_rku(z): + d = z - z.mean() + rq = _safe_rq(d) + return float(np.mean(d**4) / rq**4) if rq > 0 else 0.0 + +@_line_op("Rp") +def _op_rp(z): + return float((z - z.mean()).max()) + +@_line_op("Rv") +def _op_rv(z): + return float(-(z - z.mean()).min()) + +@_line_op("Rt") +def _op_rt(z): + d = z - z.mean() + return float(d.max() - d.min()) + +@_line_op("Dq") +def _op_dq(z): + """RMS slope (first derivative RMS).""" + dz = np.diff(z) + return float(np.sqrt(np.mean(dz * dz))) + +@_line_op("Da") +def _op_da(z): + """Mean absolute slope.""" + return float(np.mean(np.abs(np.diff(z)))) + + +@register_node(display_name="Line Math") +class LineMath: + """Compute a single scalar value from a LINE profile.""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "line": ("LINE",), + "operation": (list(LINE_OPS.keys()),), + } + } + + RETURN_TYPES = ("TABLE",) + RETURN_NAMES = ("result",) + FUNCTION = "process" + CATEGORY = "analysis" + DESCRIPTION = ( + "Compute a single scalar measurement from a LINE profile. " + "Includes basic stats and Gwyddion-convention roughness parameters." + ) + + def process(self, line, operation: str) -> tuple: + z = np.asarray(line, dtype=np.float64).ravel() + fn, unit = LINE_OPS[operation] + value = fn(z) + table = [{"quantity": operation, "value": value, "unit": unit}] + return (table,) diff --git a/backend/nodes/display.py b/backend/nodes/display.py new file mode 100644 index 0000000..c12c7ab --- /dev/null +++ b/backend/nodes/display.py @@ -0,0 +1,165 @@ +""" +Display / output nodes. + +Preview accepts both DATA_FIELD and IMAGE via optional inputs — +connect whichever type you have. The server injects _broadcast_fn +before execution begins. +""" + +from __future__ import annotations +import numpy as np +from backend.node_registry import register_node +from backend.data_types import DataField, datafield_to_uint8, image_to_uint8, encode_preview + + +@register_node(display_name="Preview") +class PreviewImage: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "colormap": (["gray", "hot", "jet", "viridis", "plasma", "inferno"],), + }, + "optional": { + "image": ("IMAGE",), + "field": ("DATA_FIELD",), + } + } + + RETURN_TYPES = () + FUNCTION = "preview" + CATEGORY = "display" + OUTPUT_NODE = True + DESCRIPTION = "Display an IMAGE or DATA_FIELD as a coloured thumbnail. Connect either input." + + _broadcast_fn = None + _current_node_id: str = "" + + def preview(self, colormap: str, image: np.ndarray | None = None, field=None) -> tuple: + # Prefer field if both are connected; accept whichever is provided + if field is not None: + arr_u8 = datafield_to_uint8(field, colormap) + elif image is not None: + if image.dtype != np.uint8: + imin, imax = image.min(), image.max() + if imax > imin: + norm = (image - imin) / (imax - imin) + else: + norm = np.zeros_like(image) + arr_u8 = (norm * 255).astype(np.uint8) + else: + arr_u8 = image + + if arr_u8.ndim == 2 and colormap != "gray": + import matplotlib.cm as cm + cmap = cm.get_cmap(colormap) + rgba = cmap(arr_u8.astype(np.float32) / 255.0) + arr_u8 = (rgba[:, :, :3] * 255).astype(np.uint8) + else: + raise ValueError("Connect either an IMAGE or DATA_FIELD input to Preview.") + + data_uri = encode_preview(arr_u8) + + if PreviewImage._broadcast_fn is not None: + PreviewImage._broadcast_fn(PreviewImage._current_node_id, data_uri) + + return () + + +@register_node(display_name="3D View") +class View3D: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "colormap": (["viridis", "gray", "hot", "jet", "plasma", "inferno", "terrain"],), + "z_scale": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 20.0, "step": 0.1}), + "resolution": ("INT", {"default": 128, "min": 32, "max": 512, "step": 16}), + } + } + + RETURN_TYPES = () + FUNCTION = "render" + CATEGORY = "display" + OUTPUT_NODE = True + DESCRIPTION = ( + "Interactive 3D surface view of a DATA_FIELD. " + "Drag to rotate, scroll to zoom. z_scale exaggerates height." + ) + + _broadcast_mesh_fn = None + _current_node_id: str = "" + + def render( + self, field: DataField, + colormap: str, z_scale: float, resolution: int, + ) -> tuple: + import matplotlib.cm as cm + import base64 + + data = field.data + yres, xres = data.shape + + # Downsample if larger than resolution + step_y = max(1, yres // resolution) + step_x = max(1, xres // resolution) + z = data[::step_y, ::step_x].astype(np.float32) + ny, nx = z.shape + + # Normalize for colormap + zmin, zmax = float(z.min()), float(z.max()) + if zmax > zmin: + z_norm = (z - zmin) / (zmax - zmin) + else: + z_norm = np.zeros_like(z) + + cmap = cm.get_cmap(colormap) + rgba = cmap(z_norm) # (ny, nx, 4) float [0,1] + colors_u8 = (rgba[:, :, :3] * 255).astype(np.uint8) + + # Base64-encode arrays for efficient WS transport + z_b64 = base64.b64encode(z.tobytes()).decode() + colors_b64 = base64.b64encode(colors_u8.tobytes()).decode() + + mesh_data = { + "width": nx, + "height": ny, + "z_data": z_b64, + "colors": colors_b64, + "z_min": zmin, + "z_max": zmax, + "z_scale": float(z_scale), + "x_range": [float(field.xoff), float(field.xoff + field.xreal)], + "y_range": [float(field.yoff), float(field.yoff + field.yreal)], + } + + if View3D._broadcast_mesh_fn is not None: + View3D._broadcast_mesh_fn(View3D._current_node_id, mesh_data) + + return () + + +@register_node(display_name="Print Table") +class PrintTable: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "table": ("TABLE",), + } + } + + RETURN_TYPES = () + FUNCTION = "print_table" + CATEGORY = "display" + OUTPUT_NODE = True + DESCRIPTION = "Send a TABLE to the browser as a WebSocket message for display." + + _broadcast_table_fn = None + _current_node_id: str = "" + + def print_table(self, table: list) -> tuple: + if PrintTable._broadcast_table_fn is not None: + PrintTable._broadcast_table_fn(PrintTable._current_node_id, table) + return () diff --git a/backend/nodes/filters.py b/backend/nodes/filters.py new file mode 100644 index 0000000..783a04b --- /dev/null +++ b/backend/nodes/filters.py @@ -0,0 +1,115 @@ +""" +Filter nodes — Gwyddion-equivalent image filters. + +Gwyddion equivalents: + GaussianFilter → gwy_data_field_filter_gaussian + MedianFilter → gwy_data_field_filter_median + EdgeDetect → gwy_data_field_filter_sobel / laplacian / log +""" + +from __future__ import annotations +import numpy as np +from backend.node_registry import register_node +from backend.data_types import DataField + + +# --------------------------------------------------------------------------- +# GaussianFilter +# --------------------------------------------------------------------------- + +@register_node(display_name="Gaussian Filter") +class GaussianFilter: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "sigma": ("FLOAT", {"default": 1.0, "min": 0.01, "max": 50.0, "step": 0.1}), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("filtered",) + FUNCTION = "process" + CATEGORY = "filters" + DESCRIPTION = "Apply a Gaussian blur. Equivalent to gwy_data_field_filter_gaussian." + + def process(self, field: DataField, sigma: float) -> tuple: + from scipy.ndimage import gaussian_filter + data = gaussian_filter(field.data.copy(), sigma=float(sigma)) + return (field.replace(data=data),) + + +# --------------------------------------------------------------------------- +# MedianFilter +# --------------------------------------------------------------------------- + +@register_node(display_name="Median Filter") +class MedianFilter: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "size": ("INT", {"default": 3, "min": 1, "max": 21, "step": 2}), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("filtered",) + FUNCTION = "process" + CATEGORY = "filters" + DESCRIPTION = "Apply a median filter. Equivalent to gwy_data_field_filter_median." + + def process(self, field: DataField, size: int) -> tuple: + from scipy.ndimage import median_filter + size = max(1, int(size)) + data = median_filter(field.data.copy(), size=size) + return (field.replace(data=data),) + + +# --------------------------------------------------------------------------- +# EdgeDetect +# --------------------------------------------------------------------------- + +@register_node(display_name="Edge Detect") +class EdgeDetect: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "method": (["sobel", "prewitt", "laplacian", "log"],), + "sigma": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 10.0, "step": 0.1}), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("edges",) + FUNCTION = "process" + CATEGORY = "filters" + DESCRIPTION = ( + "Detect edges using Sobel, Prewitt, Laplacian, or LoG operators. " + "Equivalent to gwy_data_field_filter_sobel / gwy_data_field_filter_laplacian." + ) + + def process(self, field: DataField, method: str, sigma: float) -> tuple: + from scipy.ndimage import sobel, prewitt, gaussian_laplace, laplace + data = field.data.copy() + + if method == "sobel": + sx = sobel(data, axis=1) + sy = sobel(data, axis=0) + result = np.hypot(sx, sy) + elif method == "prewitt": + px = prewitt(data, axis=1) + py = prewitt(data, axis=0) + result = np.hypot(px, py) + elif method == "laplacian": + result = laplace(data) + elif method == "log": + result = gaussian_laplace(data, sigma=float(sigma)) + else: + raise ValueError(f"Unknown edge detection method: {method}") + + return (field.replace(data=result),) diff --git a/backend/nodes/grains.py b/backend/nodes/grains.py new file mode 100644 index 0000000..6228955 --- /dev/null +++ b/backend/nodes/grains.py @@ -0,0 +1,127 @@ +""" +Grain/feature detection nodes. + +Gwyddion equivalents: + ThresholdMask → threshold.c / otsu_threshold.c + GrainAnalysis → gwy_data_field_grains_get_values (grains-values.c) +""" + +from __future__ import annotations +import numpy as np +from backend.node_registry import register_node +from backend.data_types import DataField + + +# --------------------------------------------------------------------------- +# ThresholdMask +# --------------------------------------------------------------------------- + +@register_node(display_name="Threshold Mask") +class ThresholdMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "method": (["otsu", "absolute", "relative"],), + "threshold": ("FLOAT", {"default": 0.0, "min": -1e9, "max": 1e9, "step": 0.001}), + "direction": (["above", "below"],), + } + } + + RETURN_TYPES = ("IMAGE",) + RETURN_NAMES = ("mask",) + FUNCTION = "process" + CATEGORY = "grains" + DESCRIPTION = ( + "Create a binary mask by thresholding data. " + "Otsu automatically finds the optimal threshold. " + "Equivalent to Gwyddion's threshold and otsu_threshold modules." + ) + + def process(self, field: DataField, method: str, threshold: float, direction: str) -> tuple: + data = field.data + + if method == "otsu": + from skimage.filters import threshold_otsu + t = threshold_otsu(data) + elif method == "absolute": + t = float(threshold) + elif method == "relative": + # threshold is a fraction [0, 1] of the data range + dmin, dmax = data.min(), data.max() + t = dmin + float(threshold) * (dmax - dmin) + else: + raise ValueError(f"Unknown threshold method: {method}") + + if direction == "above": + mask = (data >= t).astype(np.uint8) * 255 + else: + mask = (data < t).astype(np.uint8) * 255 + + return (mask,) + + +# --------------------------------------------------------------------------- +# GrainAnalysis +# --------------------------------------------------------------------------- + +@register_node(display_name="Grain Analysis") +class GrainAnalysis: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "mask": ("IMAGE",), + "min_size": ("INT", {"default": 10, "min": 1, "max": 100000, "step": 1}), + } + } + + RETURN_TYPES = ("TABLE",) + RETURN_NAMES = ("grain_stats",) + FUNCTION = "process" + CATEGORY = "grains" + DESCRIPTION = ( + "Label connected grain regions in a binary mask and compute per-grain statistics: " + "area, equivalent diameter, mean/max height, bounding box. " + "Equivalent to gwy_data_field_grains_get_values." + ) + + def process(self, field: DataField, mask: np.ndarray, min_size: int) -> tuple: + from scipy.ndimage import label, find_objects + + binary = (mask > 127).astype(np.int32) + labeled, n_grains = label(binary) + + pixel_area = field.dx * field.dy # m^2 per pixel + + rows = [] + for grain_id in range(1, n_grains + 1): + grain_pixels = labeled == grain_id + area_px = int(grain_pixels.sum()) + if area_px < min_size: + continue + + area_m2 = area_px * pixel_area + equiv_diam = float(2.0 * np.sqrt(area_m2 / np.pi)) + + heights = field.data[grain_pixels] + mean_h = float(heights.mean()) + max_h = float(heights.max()) + + # Bounding box + ys, xs = np.where(grain_pixels) + bbox = f"({int(xs.min())},{int(ys.min())})-({int(xs.max())},{int(ys.max())})" + + rows.append({ + "grain_id": grain_id, + "area_px": area_px, + "area_m2": area_m2, + "equiv_diam_m": equiv_diam, + "mean_height": mean_h, + "max_height": max_h, + "bbox": bbox, + }) + + return (rows,) diff --git a/backend/nodes/io.py b/backend/nodes/io.py new file mode 100644 index 0000000..2a89049 --- /dev/null +++ b/backend/nodes/io.py @@ -0,0 +1,277 @@ +""" +I/O nodes: load and save images and SPM data. +""" + +from __future__ import annotations +import os +import numpy as np +from pathlib import Path + +from backend.node_registry import register_node +from backend.data_types import DataField, encode_preview, image_to_uint8 + +# Resolved at server startup so nodes know where to look +INPUT_DIR = Path(__file__).parent.parent.parent / "input" +OUTPUT_DIR = Path(__file__).parent.parent.parent / "output" + + +# --------------------------------------------------------------------------- +# LoadImage +# --------------------------------------------------------------------------- + +@register_node(display_name="Load Image") +class LoadImage: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "filename": ("FILE_PICKER", {"default": ""}), + } + } + + RETURN_TYPES = ("IMAGE", "DATA_FIELD") + RETURN_NAMES = ("image", "field") + FUNCTION = "load" + CATEGORY = "io" + DESCRIPTION = "Load a PNG, TIFF, JPG image or .npy/.npz array from the input folder. Outputs both IMAGE and DATA_FIELD." + + def load(self, filename: str): + # Accept absolute paths or filenames relative to input/ + path = Path(filename) + if not path.is_absolute(): + path = INPUT_DIR / filename + if not path.exists(): + raise FileNotFoundError(f"File not found: {path}") + + ext = path.suffix.lower() + if ext in (".npy",): + arr = np.load(str(path)).astype(np.float64) + elif ext in (".npz",): + npz = np.load(str(path)) + key = list(npz.files)[0] + arr = npz[key].astype(np.float64) + else: + from PIL import Image + img = Image.open(str(path)) + arr = np.array(img) + if arr.dtype != np.uint8: + arr = arr.astype(np.float64) + + # Convert to float64 grayscale for the DATA_FIELD output + if arr.ndim == 3: + gray = np.mean(arr.astype(np.float64), axis=2) + else: + gray = arr.astype(np.float64) + + field = DataField(data=gray) + return (arr, field) + + +# --------------------------------------------------------------------------- +# LoadSPM +# --------------------------------------------------------------------------- + +@register_node(display_name="Load SPM File") +class LoadSPM: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "filename": ("FILE_PICKER", {"default": ""}), + "channel": ("STRING", {"default": "Z"}), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("field",) + FUNCTION = "load" + CATEGORY = "io" + DESCRIPTION = "Load SPM/AFM data from .gwy, .sxm, or .ibw files into a calibrated DataField." + + def load(self, filename: str, channel: str = "Z"): + path = Path(filename) + if not path.is_absolute(): + path = INPUT_DIR / filename + if not path.exists(): + raise FileNotFoundError(f"File not found: {path}") + + ext = path.suffix.lower() + + if ext == ".gwy": + return (self._load_gwy(path, channel),) + elif ext == ".sxm": + return (self._load_sxm(path, channel),) + elif ext in (".ibw",): + return (self._load_ibw(path),) + elif ext in (".npy",): + data = np.load(str(path)).astype(np.float64) + return (DataField(data=data),) + elif ext in (".npz",): + npz = np.load(str(path)) + key = list(npz.files)[0] + return (DataField(data=npz[key].astype(np.float64)),) + else: + raise ValueError(f"Unsupported SPM format: {ext}. Supported: .gwy, .sxm, .ibw, .npy, .npz") + + def _load_gwy(self, path: Path, channel: str) -> DataField: + try: + import gwyfile + except ImportError: + raise ImportError("Install 'gwyfile' package to load .gwy files: pip install gwyfile") + + obj = gwyfile.load(str(path)) + channels = gwyfile.util.get_datafields(obj) + if not channels: + raise ValueError(f"No data channels found in {path.name}") + + # Try requested channel name, fall back to first available + ch = None + for key, df in channels.items(): + if channel.lower() in key.lower(): + ch = df + break + if ch is None: + ch = next(iter(channels.values())) + + data = np.array(ch.data, dtype=np.float64).reshape(ch.yres, ch.xres) + return DataField( + data=data, + xreal=float(ch.xreal), + yreal=float(ch.yreal), + xoff=float(getattr(ch, "xoff", 0.0)), + yoff=float(getattr(ch, "yoff", 0.0)), + si_unit_xy="m", + si_unit_z="m", + ) + + def _load_sxm(self, path: Path, channel: str) -> DataField: + try: + import nanonispy as nap + except ImportError: + raise ImportError("Install 'nanonispy' package to load .sxm files: pip install nanonispy") + + sxm = nap.read.Scan(str(path)) + signals = sxm.signals + + # Pick channel + ch_key = None + for key in signals: + if channel.upper() in key.upper(): + ch_key = key + break + if ch_key is None: + ch_key = next(iter(signals)) + + data = signals[ch_key].get("forward", list(signals[ch_key].values())[0]) + data = np.asarray(data, dtype=np.float64) + if data.ndim != 2: + data = data.reshape(data.shape[-2], data.shape[-1]) + + header = sxm.header + scan_range = header.get("scan_range", [1e-6, 1e-6]) + return DataField( + data=data, + xreal=float(scan_range[0]), + yreal=float(scan_range[1]), + si_unit_xy="m", + si_unit_z="m", + ) + + def _load_ibw(self, path: Path) -> DataField: + try: + import igor.igorpy as igorpy + wave = igorpy.load(str(path)) + data = wave.wave["wData"].squeeze().astype(np.float64) + except ImportError: + raise ImportError("Install 'igor' package to load .ibw files: pip install igor") + + if data.ndim == 1: + data = data.reshape(1, -1) + elif data.ndim != 2: + data = data[:, :, 0] if data.ndim == 3 else data.reshape(data.shape[0], -1) + + return DataField(data=data, si_unit_xy="m", si_unit_z="m") + + +# --------------------------------------------------------------------------- +# Coordinate +# --------------------------------------------------------------------------- + +@register_node(display_name="Coordinate") +class Coordinate: + """Provide a fractional (x, y) point for use with Cross Section or other nodes.""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "x": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}), + "y": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + + RETURN_TYPES = ("COORD",) + RETURN_NAMES = ("point",) + FUNCTION = "process" + CATEGORY = "io" + DESCRIPTION = "Output a fractional (x, y) coordinate pair in [0, 1]." + + def process(self, x: float, y: float) -> tuple: + return ((float(x), float(y)),) + + +# --------------------------------------------------------------------------- +# SaveImage +# --------------------------------------------------------------------------- + +@register_node(display_name="Save Image") +class SaveImage: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image": ("IMAGE",), + "filename_prefix": ("STRING", {"default": "output"}), + "format": (["PNG", "TIFF", "NPY"],), + } + } + + RETURN_TYPES = () + FUNCTION = "save" + CATEGORY = "io" + OUTPUT_NODE = True + DESCRIPTION = "Save an image or array to the output folder." + + # Injected by server.py before execution begins + _broadcast_preview = None + + def save(self, image: np.ndarray, filename_prefix: str = "output", format: str = "PNG"): + OUTPUT_DIR.mkdir(exist_ok=True) + + # Find next available filename + idx = 1 + while True: + name = f"{filename_prefix}_{idx:04d}" + candidate = OUTPUT_DIR / f"{name}.{format.lower()}" + if not candidate.exists(): + break + idx += 1 + + if format == "NPY": + np.save(str(OUTPUT_DIR / f"{name}.npy"), image) + else: + from PIL import Image + arr = image_to_uint8(image) + if arr.ndim == 2: + pil_img = Image.fromarray(arr, mode="L") + else: + pil_img = Image.fromarray(arr, mode="RGB") + pil_img.save(str(OUTPUT_DIR / f"{name}.{format.lower()}")) + + # Emit preview over WebSocket if callback is set + if SaveImage._broadcast_preview is not None: + arr_u8 = image_to_uint8(image) + data_uri = encode_preview(arr_u8) + SaveImage._broadcast_preview(data_uri) + + return () diff --git a/backend/nodes/level.py b/backend/nodes/level.py new file mode 100644 index 0000000..7c3736c --- /dev/null +++ b/backend/nodes/level.py @@ -0,0 +1,150 @@ +""" +Leveling nodes — background removal and zero correction. + +Gwyddion equivalents: + PlaneLevelField → gwy_data_field_fit_plane + gwy_data_field_plane_level + PolyLevelField → gwy_data_field_fit_polynom (via level.c polylevel module) + FixZero → fix_zero in level.c + +Plane-fit algorithm follows Gwyddion's level.h definition: + z_fit = pa + pbx * x + pby * y (least-squares over all pixels) +""" + +from __future__ import annotations +import numpy as np +from backend.node_registry import register_node +from backend.data_types import DataField + + +# --------------------------------------------------------------------------- +# PlaneLevelField +# --------------------------------------------------------------------------- + +@register_node(display_name="Plane Level") +class PlaneLevelField: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("leveled",) + FUNCTION = "process" + CATEGORY = "level" + DESCRIPTION = ( + "Fit and subtract a least-squares plane from the data. " + "Equivalent to gwy_data_field_fit_plane + gwy_data_field_plane_level." + ) + + def process(self, field: DataField) -> tuple: + data = field.data.copy() + yres, xres = data.shape + + # Normalised coordinate grids in [0, 1] + x = np.linspace(0.0, 1.0, xres) + y = np.linspace(0.0, 1.0, yres) + xx, yy = np.meshgrid(x, y) + + # Design matrix: [1, x, y] shape (N, 3) + A = np.column_stack([ + np.ones(xres * yres), + xx.ravel(), + yy.ravel(), + ]) + z = data.ravel() + + # Least-squares: solve A @ [pa, pbx, pby] = z + coeffs, _, _, _ = np.linalg.lstsq(A, z, rcond=None) + pa, pbx, pby = coeffs + + plane = (pa + pbx * xx + pby * yy) + return (field.replace(data=data - plane),) + + +# --------------------------------------------------------------------------- +# PolyLevelField +# --------------------------------------------------------------------------- + +@register_node(display_name="Polynomial Level") +class PolyLevelField: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "degree_x": ("INT", {"default": 2, "min": 0, "max": 5, "step": 1}), + "degree_y": ("INT", {"default": 2, "min": 0, "max": 5, "step": 1}), + } + } + + RETURN_TYPES = ("DATA_FIELD", "DATA_FIELD") + RETURN_NAMES = ("leveled", "background") + FUNCTION = "process" + CATEGORY = "level" + DESCRIPTION = ( + "Fit and subtract a polynomial background of given degree in x and y. " + "Equivalent to gwy_data_field_fit_polynom." + ) + + def process(self, field: DataField, degree_x: int, degree_y: int) -> tuple: + data = field.data.copy() + yres, xres = data.shape + + x = np.linspace(0.0, 1.0, xres) + y = np.linspace(0.0, 1.0, yres) + xx, yy = np.meshgrid(x, y) + + # Build Vandermonde-style design matrix with all monomials x^i * y^j + cols = [] + for i in range(degree_x + 1): + for j in range(degree_y + 1): + cols.append((xx ** i * yy ** j).ravel()) + A = np.column_stack(cols) + z = data.ravel() + + coeffs, _, _, _ = np.linalg.lstsq(A, z, rcond=None) + + background = (A @ coeffs).reshape(yres, xres) + leveled = data - background + + return (field.replace(data=leveled), field.replace(data=background)) + + +# --------------------------------------------------------------------------- +# FixZero +# --------------------------------------------------------------------------- + +@register_node(display_name="Fix Zero") +class FixZero: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "field": ("DATA_FIELD",), + "method": (["min", "mean", "median"],), + } + } + + RETURN_TYPES = ("DATA_FIELD",) + RETURN_NAMES = ("zeroed",) + FUNCTION = "process" + CATEGORY = "level" + DESCRIPTION = ( + "Shift data so that the minimum (or mean/median) is zero. " + "Equivalent to fix_zero in Gwyddion's level.c." + ) + + def process(self, field: DataField, method: str) -> tuple: + data = field.data.copy() + if method == "min": + data -= data.min() + elif method == "mean": + data -= data.mean() + elif method == "median": + data -= np.median(data) + else: + raise ValueError(f"Unknown method: {method}") + return (field.replace(data=data),) diff --git a/backend/server.py b/backend/server.py new file mode 100644 index 0000000..31a0e91 --- /dev/null +++ b/backend/server.py @@ -0,0 +1,267 @@ +""" +aiohttp web server for argonode. + +Routes +------ +GET / → serve frontend/index.html +GET /static/{path} → serve frontend JS/CSS +GET /nodes → JSON dict of all registered node definitions +POST /upload → multipart file upload to input/ +POST /prompt → submit a workflow; returns {prompt_id} +GET /ws → WebSocket upgrade + +WebSocket message types sent to clients +---------------------------------------- +{"type": "execution_start", "data": {"prompt_id": "..."}} +{"type": "executing", "data": {"node": "...", "prompt_id": "..."}} +{"type": "preview", "data": {"node_id": "...", "image": "data:..."}} +{"type": "table", "data": {"node_id": "...", "rows": [...]}} +{"type": "execution_error", "data": {"node_id": "...", "message": "..."}} +{"type": "execution_complete", "data": {"prompt_id": "..."}} +""" + +from __future__ import annotations +import asyncio +import json +import logging +import uuid +from pathlib import Path + +from aiohttp import web, WSMsgType + +log = logging.getLogger(__name__) + +FRONTEND_DIR = Path(__file__).parent.parent / "frontend" +DIST_DIR = FRONTEND_DIR / "dist" +INPUT_DIR = Path(__file__).parent.parent / "input" +OUTPUT_DIR = Path(__file__).parent.parent / "output" + + +# --------------------------------------------------------------------------- +# JSON helper — numpy scalars are not serialisable by default +# --------------------------------------------------------------------------- + +class _SafeEncoder(json.JSONEncoder): + def default(self, obj): + import numpy as np + if isinstance(obj, (np.integer,)): + return int(obj) + if isinstance(obj, (np.floating,)): + return float(obj) + if isinstance(obj, np.ndarray): + return obj.tolist() + return super().default(obj) + + +def _dumps(obj) -> str: + return json.dumps(obj, cls=_SafeEncoder) + + +# --------------------------------------------------------------------------- +# Application factory +# --------------------------------------------------------------------------- + +def create_app(loop: asyncio.AbstractEventLoop) -> web.Application: + # Import nodes to trigger registration decorators + import backend.nodes # noqa: F401 + from backend.node_registry import get_all_node_info + from backend.execution import ExecutionEngine, new_prompt_id + + INPUT_DIR.mkdir(exist_ok=True) + OUTPUT_DIR.mkdir(exist_ok=True) + + engine = ExecutionEngine() + websockets: set[web.WebSocketResponse] = set() + + # ------------------------------------------------------------------ + # WebSocket broadcast helpers + # ------------------------------------------------------------------ + + def broadcast(msg: dict) -> None: + """Schedule a broadcast to all connected WebSocket clients.""" + payload = _dumps(msg) + for ws in list(websockets): + if not ws.closed: + asyncio.run_coroutine_threadsafe(ws.send_str(payload), loop) + + def on_preview(node_id: str, data_uri: str) -> None: + broadcast({"type": "preview", "data": {"node_id": node_id, "image": data_uri}}) + + def on_table(node_id: str, rows: list) -> None: + broadcast({"type": "table", "data": {"node_id": node_id, "rows": rows}}) + + def on_mesh(node_id: str, mesh_data: dict) -> None: + broadcast({"type": "mesh3d", "data": {"node_id": node_id, "mesh": mesh_data}}) + + def on_overlay(node_id: str, overlay_data) -> None: + broadcast({"type": "overlay", "data": {"node_id": node_id, "overlay": overlay_data}}) + + # ------------------------------------------------------------------ + # Route handlers + # ------------------------------------------------------------------ + + async def index(request: web.Request) -> web.Response: + # Serve Vite build output if available, else raw frontend + if (DIST_DIR / "index.html").exists(): + return web.FileResponse(DIST_DIR / "index.html") + return web.FileResponse(FRONTEND_DIR / "index.html") + + async def get_nodes(request: web.Request) -> web.Response: + info = get_all_node_info() + return web.Response( + text=_dumps(info), + content_type="application/json", + ) + + async def list_files(request: web.Request) -> web.Response: + """List files in the input/ directory for the file picker widget.""" + files = sorted( + f.name for f in INPUT_DIR.iterdir() + if f.is_file() and not f.name.startswith(".") + ) if INPUT_DIR.exists() else [] + return web.Response(text=_dumps(files), content_type="application/json") + + async def browse_dir(request: web.Request) -> web.Response: + """ + Server-side directory browser for local file picking. + GET /browse?dir=/some/path → {parent, dirs[], files[]} + """ + dir_path = request.query.get("dir", str(Path.home())) + p = Path(dir_path).expanduser().resolve() + + if not p.is_dir(): + raise web.HTTPBadRequest(reason=f"Not a directory: {p}") + + dirs = [] + files = [] + try: + for entry in sorted(p.iterdir(), key=lambda e: e.name.lower()): + if entry.name.startswith("."): + continue + if entry.is_dir(): + dirs.append(entry.name) + elif entry.is_file(): + files.append(entry.name) + except PermissionError: + pass + + return web.Response( + text=_dumps({ + "path": str(p), + "parent": str(p.parent) if p.parent != p else None, + "dirs": dirs, + "files": files, + }), + content_type="application/json", + ) + + async def upload_file(request: web.Request) -> web.Response: + reader = await request.multipart() + field = await reader.next() + if field is None or field.name != "file": + raise web.HTTPBadRequest(reason="Expected a 'file' field in multipart body") + + filename = Path(field.filename).name # strip any path traversal + dest = INPUT_DIR / filename + with open(dest, "wb") as f: + while True: + chunk = await field.read_chunk(65536) + if not chunk: + break + f.write(chunk) + + return web.Response(text=_dumps({"filename": filename}), content_type="application/json") + + async def submit_prompt(request: web.Request) -> web.Response: + body = await request.json() + prompt = body.get("prompt") + if not isinstance(prompt, dict) or not prompt: + raise web.HTTPBadRequest(reason="'prompt' must be a non-empty dict") + + prompt_id = new_prompt_id() + + # Run execution in a thread pool so scipy doesn't block the event loop + async def run(): + broadcast({"type": "execution_start", "data": {"prompt_id": prompt_id}}) + + def on_start(node_id: str) -> None: + broadcast({"type": "executing", "data": {"node": node_id, "prompt_id": prompt_id}}) + + try: + await loop.run_in_executor( + None, + lambda: engine.execute( + prompt, + on_node_start=on_start, + on_preview=on_preview, + on_table=on_table, + on_mesh=on_mesh, + on_overlay=on_overlay, + ), + ) + broadcast({"type": "execution_complete", "data": {"prompt_id": prompt_id}}) + except Exception as exc: + log.exception("Execution error") + broadcast({ + "type": "execution_error", + "data": {"node_id": "", "message": str(exc)}, + }) + + asyncio.ensure_future(run()) + return web.Response( + text=_dumps({"prompt_id": prompt_id}), + content_type="application/json", + ) + + async def websocket_handler(request: web.Request) -> web.WebSocketResponse: + ws = web.WebSocketResponse() + await ws.prepare(request) + websockets.add(ws) + log.info("WebSocket client connected (%d total)", len(websockets)) + try: + async for msg in ws: + if msg.type == WSMsgType.TEXT: + pass # clients don't need to send anything currently + elif msg.type in (WSMsgType.ERROR, WSMsgType.CLOSE): + break + finally: + websockets.discard(ws) + log.info("WebSocket client disconnected (%d total)", len(websockets)) + return ws + + # ------------------------------------------------------------------ + # App assembly + # ------------------------------------------------------------------ + + app = web.Application() + + app.router.add_get("/", index) + app.router.add_get("/nodes", get_nodes) + app.router.add_get("/files", list_files) + app.router.add_get("/browse", browse_dir) + app.router.add_post("/upload", upload_file) + app.router.add_post("/prompt", submit_prompt) + app.router.add_get("/ws", websocket_handler) + + # Serve frontend static files (Vite build or raw) + if DIST_DIR.exists(): + app.router.add_static("/assets", DIST_DIR / "assets") + app.router.add_static("/static", FRONTEND_DIR) + + # CORS — allow any origin (local dev only) + async def _cors_middleware(app_, handler): + async def middleware(request): + if request.method == "OPTIONS": + return web.Response(headers={ + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "GET, POST, OPTIONS", + "Access-Control-Allow-Headers": "Content-Type", + }) + response = await handler(request) + response.headers["Access-Control-Allow-Origin"] = "*" + return response + return middleware + + app.middlewares.append(_cors_middleware) + + return app diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..7418eec --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,12 @@ + + + + + + Argonode — Image Analysis + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..5075927 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,1951 @@ +{ + "name": "argonode-frontend", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "argonode-frontend", + "dependencies": { + "@xyflow/react": "^12.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0", + "three": "^0.183.2" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.3.0", + "vite": "^5.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.0.tgz", + "integrity": "sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.0.tgz", + "integrity": "sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.0.tgz", + "integrity": "sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.0.tgz", + "integrity": "sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.0.tgz", + "integrity": "sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.0.tgz", + "integrity": "sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.0.tgz", + "integrity": "sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.0.tgz", + "integrity": "sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.0.tgz", + "integrity": "sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.0.tgz", + "integrity": "sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.0.tgz", + "integrity": "sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.0.tgz", + "integrity": "sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.0.tgz", + "integrity": "sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.0.tgz", + "integrity": "sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.0.tgz", + "integrity": "sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.0.tgz", + "integrity": "sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.0.tgz", + "integrity": "sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.0.tgz", + "integrity": "sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.0.tgz", + "integrity": "sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.0.tgz", + "integrity": "sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.0.tgz", + "integrity": "sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.0.tgz", + "integrity": "sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.0.tgz", + "integrity": "sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.0.tgz", + "integrity": "sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.0.tgz", + "integrity": "sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@xyflow/react": { + "version": "12.10.1", + "resolved": "https://registry.npmjs.org/@xyflow/react/-/react-12.10.1.tgz", + "integrity": "sha512-5eSWtIK/+rkldOuFbOOz44CRgQRjtS9v5nufk77DV+XBnfCGL9HAQ8PG00o2ZYKqkEU/Ak6wrKC95Tu+2zuK3Q==", + "license": "MIT", + "dependencies": { + "@xyflow/system": "0.0.75", + "classcat": "^5.0.3", + "zustand": "^4.4.0" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@xyflow/system": { + "version": "0.0.75", + "resolved": "https://registry.npmjs.org/@xyflow/system/-/system-0.0.75.tgz", + "integrity": "sha512-iXs+AGFLi8w/VlAoc/iSxk+CxfT6o64Uw/k0CKASOPqjqz6E0rb5jFZgJtXGZCpfQI6OQpu5EnumP5fGxQheaQ==", + "license": "MIT", + "dependencies": { + "@types/d3-drag": "^3.0.7", + "@types/d3-interpolate": "^3.0.4", + "@types/d3-selection": "^3.0.10", + "@types/d3-transition": "^3.0.8", + "@types/d3-zoom": "^3.0.8", + "d3-drag": "^3.0.0", + "d3-interpolate": "^3.0.1", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", + "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/classcat": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz", + "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", + "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.0.tgz", + "integrity": "sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.0", + "@rollup/rollup-android-arm64": "4.60.0", + "@rollup/rollup-darwin-arm64": "4.60.0", + "@rollup/rollup-darwin-x64": "4.60.0", + "@rollup/rollup-freebsd-arm64": "4.60.0", + "@rollup/rollup-freebsd-x64": "4.60.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.0", + "@rollup/rollup-linux-arm-musleabihf": "4.60.0", + "@rollup/rollup-linux-arm64-gnu": "4.60.0", + "@rollup/rollup-linux-arm64-musl": "4.60.0", + "@rollup/rollup-linux-loong64-gnu": "4.60.0", + "@rollup/rollup-linux-loong64-musl": "4.60.0", + "@rollup/rollup-linux-ppc64-gnu": "4.60.0", + "@rollup/rollup-linux-ppc64-musl": "4.60.0", + "@rollup/rollup-linux-riscv64-gnu": "4.60.0", + "@rollup/rollup-linux-riscv64-musl": "4.60.0", + "@rollup/rollup-linux-s390x-gnu": "4.60.0", + "@rollup/rollup-linux-x64-gnu": "4.60.0", + "@rollup/rollup-linux-x64-musl": "4.60.0", + "@rollup/rollup-openbsd-x64": "4.60.0", + "@rollup/rollup-openharmony-arm64": "4.60.0", + "@rollup/rollup-win32-arm64-msvc": "4.60.0", + "@rollup/rollup-win32-ia32-msvc": "4.60.0", + "@rollup/rollup-win32-x64-gnu": "4.60.0", + "@rollup/rollup-win32-x64-msvc": "4.60.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/three": { + "version": "0.183.2", + "resolved": "https://registry.npmjs.org/three/-/three-0.183.2.tgz", + "integrity": "sha512-di3BsL2FEQ1PA7Hcvn4fyJOlxRRgFYBpMTcyOgkwJIaDOdJMebEFPA+t98EvjuljDx4hNulAGwF6KIjtwI5jgQ==", + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..6720568 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,20 @@ +{ + "name": "argonode-frontend", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@xyflow/react": "^12.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0", + "three": "^0.183.2" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.3.0", + "vite": "^5.4.0" + } +} diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx new file mode 100644 index 0000000..a75acc7 --- /dev/null +++ b/frontend/src/App.jsx @@ -0,0 +1,601 @@ +import React, { + useState, useCallback, useEffect, useRef, useMemo, +} from 'react'; +import { + ReactFlow, Background, Controls, MiniMap, + useNodesState, useEdgesState, addEdge, useReactFlow, + ReactFlowProvider, +} from '@xyflow/react'; +import '@xyflow/react/dist/style.css'; + +import CustomNode, { NodeContext } from './CustomNode'; +import FileBrowser from './FileBrowser'; +import * as api from './api'; + +// ── Constants ───────────────────────────────────────────────────────── + +const DATA_TYPES = new Set(['DATA_FIELD', 'IMAGE', 'LINE', 'TABLE', 'COORD']); + +const TYPE_COLORS = { + DATA_FIELD: '#3a7abf', + IMAGE: '#4caf50', + LINE: '#ff9800', + TABLE: '#fdd835', + COORD: '#e91e63', +}; + +const NODE_TYPES = { custom: CustomNode }; + +// ── Handle ID helpers ───────────────────────────────────────────────── + +function getHandleType(handleId) { + return handleId.split('::')[2]; +} + +function getInputName(handleId) { + return handleId.split('::')[1]; +} + +function getOutputSlot(handleId) { + return parseInt(handleId.split('::')[1], 10); +} + +// ── Graph serialisation → backend prompt format ─────────────────────── + +function serializeGraph(nodes, edges) { + const prompt = {}; + + for (const node of nodes) { + const { className, definition, widgetValues } = node.data; + if (!definition) continue; + + const inputs = {}; + + // Widget (scalar) values + const required = definition.input.required || {}; + for (const [name, spec] of Object.entries(required)) { + const [type] = Array.isArray(spec) ? spec : [spec]; + if (DATA_TYPES.has(type)) continue; // socket, handled via edges + if (widgetValues[name] !== undefined) { + inputs[name] = widgetValues[name]; + } + } + + // Connected (socket) inputs from edges + const incoming = edges.filter((e) => e.target === node.id); + for (const edge of incoming) { + const inputName = getInputName(edge.targetHandle); + const outputSlot = getOutputSlot(edge.sourceHandle); + inputs[inputName] = [edge.source, outputSlot]; + } + + prompt[node.id] = { class_type: className, inputs }; + } + + return prompt; +} + +// ── Context menu component ──────────────────────────────────────────── + +function ContextMenu({ x, y, nodeDefs, onAdd, onClose, filterType, filterDirection }) { + // Group by category, optionally filtering to compatible nodes + const categories = {}; + for (const [className, def] of Object.entries(nodeDefs)) { + // If filtering: only show nodes with a matching input or output + if (filterType && filterDirection) { + if (filterDirection === 'source') { + // Dragged from an output — show nodes that have a matching INPUT + const req = def.input.required || {}; + const opt = def.input.optional || {}; + const allInputs = { ...req, ...opt }; + const hasMatch = Object.values(allInputs).some((spec) => { + const [type] = Array.isArray(spec) ? spec : [spec]; + return type === filterType; + }); + if (!hasMatch) continue; + } else { + // Dragged from an input — show nodes that have a matching OUTPUT + if (!def.output.includes(filterType)) continue; + } + } + + const cat = def.category || 'uncategorized'; + if (!categories[cat]) categories[cat] = []; + categories[cat].push({ className, def }); + } + + if (Object.keys(categories).length === 0) { + return ( +
e.stopPropagation()}> +
No compatible nodes
+
+ ); + } + + return ( +
e.stopPropagation()} + > + {Object.entries(categories).map(([cat, items]) => ( +
+
{cat}
+ {items.map(({ className, def }) => ( +
{ onAdd(className, def); onClose(); }} + > + {def.display_name || className} +
+ ))} +
+ ))} +
+ ); +} + +// ── Main flow component (needs ReactFlowProvider ancestor) ──────────── + +function Flow() { + const [nodes, setNodes, onNodesChange] = useNodesState([]); + const [edges, setEdges, onEdgesChange] = useEdgesState([]); + const [status, setStatus] = useState({ text: 'Connecting…', level: 'info' }); + const [contextMenu, setContextMenu] = useState(null); + const [fileBrowserCb, setFileBrowserCb] = useState(null); + + const nodeDefsRef = useRef({}); + const nextIdRef = useRef(1); + const autoRunTimer = useRef(null); + const autoRunRef = useRef(null); + const reactFlow = useReactFlow(); + + // ── Load node definitions ─────────────────────────────────────────── + + useEffect(() => { + api.getNodes().then((defs) => { + nodeDefsRef.current = defs; + setStatus({ text: `Loaded ${Object.keys(defs).length} nodes.`, level: 'info' }); + }).catch((err) => { + setStatus({ text: 'Failed to load nodes: ' + err.message, level: 'error' }); + }); + }, []); + + // ── WebSocket ─────────────────────────────────────────────────────── + + const updateNodeData = useCallback((nodeId, patch) => { + setNodes((ns) => ns.map((n) => + n.id !== nodeId ? n : { ...n, data: { ...n.data, ...patch } } + )); + }, [setNodes]); + + useEffect(() => { + api.setMessageHandler((msg) => { + console.log('[argonode] WS:', msg.type, msg.data?.node_id || msg.data?.node || ''); + switch (msg.type) { + case 'execution_start': + setStatus({ text: 'Running workflow…', level: 'info' }); + break; + case 'executing': + setStatus({ text: `Executing node ${msg.data.node}…`, level: 'info' }); + break; + case 'execution_complete': + setStatus({ text: 'Done.', level: 'info' }); + break; + case 'execution_error': + setStatus({ text: 'Error: ' + msg.data.message, level: 'error' }); + console.error('[argonode] execution error', msg.data); + break; + case 'preview': + updateNodeData(msg.data.node_id, { previewImage: msg.data.image }); + break; + case 'table': + updateNodeData(msg.data.node_id, { tableRows: msg.data.rows }); + break; + case 'mesh3d': + updateNodeData(msg.data.node_id, { meshData: msg.data.mesh }); + break; + case 'overlay': + updateNodeData(msg.data.node_id, { overlay: msg.data.overlay }); + break; + } + }); + api.initWS(); + return () => api.closeWS(); + }, [updateNodeData]); + + // ── Connection handling ───────────────────────────────────────────── + + const isValidConnection = useCallback((connection) => { + const srcType = getHandleType(connection.sourceHandle); + const tgtType = getHandleType(connection.targetHandle); + return srcType === tgtType; + }, []); + + const onConnect = useCallback((params) => { + const type = getHandleType(params.sourceHandle); + const color = TYPE_COLORS[type] || '#999'; + + setEdges((eds) => { + // Enforce single connection per input handle + const filtered = eds.filter( + (e) => !(e.target === params.target && e.targetHandle === params.targetHandle) + ); + return addEdge( + { ...params, style: { stroke: color, strokeWidth: 2 } }, + filtered + ); + }); + scheduleAutoRun(); + }, [setEdges]); + + // ── Drop-on-blank: open filtered context menu ────────────────────── + + const onConnectEnd = useCallback((event, connectionState) => { + // If the connection was completed (dropped on a valid handle), do nothing + if (connectionState.isValid) return; + + const fromHandle = connectionState.fromHandle; + if (!fromHandle || !fromHandle.id) return; + + const { clientX, clientY } = 'changedTouches' in event ? event.changedTouches[0] : event; + const handleType = getHandleType(fromHandle.id); + + setContextMenu({ + x: clientX, + y: clientY, + filterType: handleType, + filterDirection: fromHandle.type, + pendingNodeId: fromHandle.nodeId, + pendingHandleId: fromHandle.id, + pendingHandleType: fromHandle.type, + }); + }, []); + + // ── Widget change callback ────────────────────────────────────────── + + const onWidgetChange = useCallback((nodeId, name, value) => { + setNodes((ns) => ns.map((n) => { + if (n.id !== nodeId) return n; + return { + ...n, + data: { + ...n.data, + widgetValues: { ...n.data.widgetValues, [name]: value }, + }, + }; + })); + scheduleAutoRun(); + }, [setNodes]); // scheduleAutoRun is stable (no deps) + + // ── File browser ──────────────────────────────────────────────────── + + const openFileBrowser = useCallback((callback) => { + setFileBrowserCb(() => callback); + }, []); + + // ── Node context value (stable) ───────────────────────────────────── + + const contextValue = useMemo(() => ({ + onWidgetChange, + openFileBrowser, + }), [onWidgetChange, openFileBrowser]); + + // ── Add node from context menu ────────────────────────────────────── + + const addNode = useCallback((className, def) => { + if (!contextMenu) return; + const position = reactFlow.screenToFlowPosition({ + x: contextMenu.x, + y: contextMenu.y, + }); + + // Build default widget values + const widgetValues = {}; + const required = def.input.required || {}; + for (const [name, spec] of Object.entries(required)) { + const [type, opts] = Array.isArray(spec) ? spec : [spec, {}]; + if (DATA_TYPES.has(type)) continue; + if (Array.isArray(type)) { + widgetValues[name] = type[0]; // combo default = first option + } else { + widgetValues[name] = opts?.default ?? ''; + } + } + + const newNodeId = String(nextIdRef.current++); + const newNode = { + id: newNodeId, + type: 'custom', + position, + dragHandle: '.drag-handle', + data: { + label: def.display_name || className, + className, + definition: def, + widgetValues, + previewImage: null, + tableRows: null, + meshData: null, + overlay: null, + }, + }; + + setNodes((ns) => [...ns, newNode]); + + // Auto-connect if this was triggered by dropping a connection on blank space + if (contextMenu.pendingHandleId) { + const filterType = contextMenu.filterType; + + if (contextMenu.pendingHandleType === 'source') { + // Dragged from an output → connect to the first matching input on the new node + const allInputs = { ...(def.input.required || {}), ...(def.input.optional || {}) }; + const inputName = Object.entries(allInputs).find(([, spec]) => { + const [type] = Array.isArray(spec) ? spec : [spec]; + return type === filterType; + })?.[0]; + if (inputName) { + const targetHandle = `input::${inputName}::${filterType}`; + const color = TYPE_COLORS[filterType] || '#999'; + setEdges((eds) => addEdge({ + source: contextMenu.pendingNodeId, + sourceHandle: contextMenu.pendingHandleId, + target: newNodeId, + targetHandle, + style: { stroke: color, strokeWidth: 2 }, + }, eds)); + } + } else { + // Dragged from an input → connect from the first matching output on the new node + const outputIdx = def.output.indexOf(filterType); + if (outputIdx !== -1) { + const sourceHandle = `output::${outputIdx}::${filterType}`; + const color = TYPE_COLORS[filterType] || '#999'; + setEdges((eds) => addEdge({ + source: newNodeId, + sourceHandle, + target: contextMenu.pendingNodeId, + targetHandle: contextMenu.pendingHandleId, + style: { stroke: color, strokeWidth: 2 }, + }, eds)); + } + } + } + + setContextMenu(null); + scheduleAutoRun(); + }, [contextMenu, reactFlow, setNodes, setEdges]); + + // ── Toolbar actions ───────────────────────────────────────────────── + + const runWorkflow = useCallback(async () => { + // Read current state via functional ref to avoid stale closure + const currentNodes = reactFlow.getNodes(); + const currentEdges = reactFlow.getEdges(); + const prompt = serializeGraph(currentNodes, currentEdges); + + if (!prompt || Object.keys(prompt).length === 0) { + setStatus({ text: 'Graph is empty — add some nodes first.', level: 'error' }); + return; + } + setStatus({ text: 'Running…', level: 'info' }); + try { + await api.runPrompt(prompt); + } catch (err) { + setStatus({ text: 'Failed: ' + err.message, level: 'error' }); + } + }, [reactFlow]); + + // Debounced auto-run via ref to avoid dependency chains + autoRunRef.current = () => { + const currentNodes = reactFlow.getNodes(); + const currentEdges = reactFlow.getEdges(); + + // Don't run if any node has unconnected required data inputs + for (const node of currentNodes) { + const def = node.data?.definition; + if (!def) continue; + const required = def.input.required || {}; + for (const [name, spec] of Object.entries(required)) { + const [type] = Array.isArray(spec) ? spec : [spec]; + if (!DATA_TYPES.has(type)) continue; + const hasEdge = currentEdges.some( + (e) => e.target === node.id && getInputName(e.targetHandle) === name + ); + if (!hasEdge) return; // incomplete graph, skip auto-run + } + } + + const prompt = serializeGraph(currentNodes, currentEdges); + if (!prompt || Object.keys(prompt).length === 0) return; + setStatus({ text: 'Running…', level: 'info' }); + api.runPrompt(prompt).catch((err) => { + setStatus({ text: 'Failed: ' + err.message, level: 'error' }); + }); + }; + + const scheduleAutoRun = useCallback(() => { + clearTimeout(autoRunTimer.current); + autoRunTimer.current = setTimeout(() => autoRunRef.current?.(), 300); + }, []); + + const clearGraph = useCallback(() => { + setNodes([]); + setEdges([]); + nextIdRef.current = 1; + setStatus({ text: 'Graph cleared.', level: 'info' }); + }, [setNodes, setEdges]); + + const saveWorkflow = useCallback(() => { + const currentNodes = reactFlow.getNodes().map((n) => ({ + ...n, + data: { ...n.data, previewImage: null, tableRows: null, meshData: null, overlay: null }, + })); + const data = { version: 1, nodes: currentNodes, edges: reactFlow.getEdges() }; + const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = 'workflow.json'; + a.click(); + }, [reactFlow]); + + const loadWorkflow = useCallback(() => { + const input = document.createElement('input'); + input.type = 'file'; + input.accept = '.json'; + input.onchange = async (e) => { + const file = e.target.files[0]; + if (!file) return; + const text = await file.text(); + try { + const data = JSON.parse(text); + const loadedNodes = data.nodes || []; + const loadedEdges = data.edges || []; + + // Re-populate definitions from current nodeDefs + const defs = nodeDefsRef.current; + const hydrated = loadedNodes.map((n) => ({ + ...n, + data: { + ...n.data, + definition: defs[n.data.className] || n.data.definition, + previewImage: null, + tableRows: null, + meshData: null, + overlay: null, + }, + })); + + setNodes(hydrated); + setEdges(loadedEdges); + + // Update ID counter to avoid collisions + const maxId = Math.max(0, ...loadedNodes.map((n) => parseInt(n.id, 10) || 0)); + nextIdRef.current = maxId + 1; + + setStatus({ text: 'Workflow loaded.', level: 'info' }); + } catch { + setStatus({ text: 'Invalid workflow JSON.', level: 'error' }); + } + }; + input.click(); + }, [setNodes, setEdges]); + + // ── Keyboard shortcut ─────────────────────────────────────────────── + + useEffect(() => { + const handler = (e) => { + if ((e.ctrlKey || e.metaKey) && e.key === 'Enter') { + e.preventDefault(); + runWorkflow(); + } + }; + window.addEventListener('keydown', handler); + return () => window.removeEventListener('keydown', handler); + }, [runWorkflow]); + + // ── Context menu ──────────────────────────────────────────────────── + + const onPaneContextMenu = useCallback((event) => { + event.preventDefault(); + setContextMenu({ x: event.clientX, y: event.clientY }); + }, []); + + // ── Render ────────────────────────────────────────────────────────── + + return ( + +
+ {/* Toolbar */} +
+ Argonode + +
+ + +
+ +
+ + +
+ +
{status.text}
+
+ + {/* React Flow canvas */} +
{ + if (!e.target.closest('.context-menu')) setContextMenu(null); + }}> + + + + { + const cat = n.data?.definition?.category; + const colors = { + io: '#37474f', filters: '#1a237e', level: '#1b5e20', + analysis: '#4a148c', grains: '#bf360c', display: '#212121', + }; + return colors[cat] || '#333'; + }} + /> + + + {contextMenu && ( + setContextMenu(null)} + filterType={contextMenu.filterType} + filterDirection={contextMenu.filterDirection} + /> + )} +
+ + {/* File browser modal */} + {fileBrowserCb && ( + { fileBrowserCb(path); setFileBrowserCb(null); }} + onClose={() => setFileBrowserCb(null)} + /> + )} +
+
+ ); +} + +// ── App wrapper with ReactFlowProvider ──────────────────────────────── + +export default function App() { + return ( + + + + ); +} diff --git a/frontend/src/CrossSectionOverlay.jsx b/frontend/src/CrossSectionOverlay.jsx new file mode 100644 index 0000000..576e165 --- /dev/null +++ b/frontend/src/CrossSectionOverlay.jsx @@ -0,0 +1,86 @@ +import React, { useRef, useState, useCallback } from 'react'; + +/** + * Image preview with two endpoint markers for cross-section line control. + * Markers are draggable when unlocked (no COORD input connected), + * and fixed when locked (COORD input provides the position). + * + * Marker positions are driven by widget values (immediate React state), + * not by backend overlay coords, so they move instantly during drag. + */ +export default function CrossSectionOverlay({ + image, x1, y1, x2, y2, + aLocked, bLocked, + nodeId, onWidgetChange, +}) { + const containerRef = useRef(null); + const [dragging, setDragging] = useState(null); // 'p1' or 'p2' + + const getCoords = useCallback((e) => { + const rect = containerRef.current.getBoundingClientRect(); + return { + fx: Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width)), + fy: Math.max(0, Math.min(1, (e.clientY - rect.top) / rect.height)), + }; + }, []); + + const onPointerDown = useCallback((point) => (e) => { + if (point === 'p1' && aLocked) return; + if (point === 'p2' && bLocked) return; + e.stopPropagation(); + e.preventDefault(); + e.target.setPointerCapture(e.pointerId); + setDragging(point); + }, [aLocked, bLocked]); + + const onPointerMove = useCallback((e) => { + if (!dragging || !containerRef.current) return; + const { fx, fy } = getCoords(e); + const vx = parseFloat(fx.toFixed(3)); + const vy = parseFloat(fy.toFixed(3)); + if (dragging === 'p1') { + onWidgetChange(nodeId, 'x1', vx); + onWidgetChange(nodeId, 'y1', vy); + } else { + onWidgetChange(nodeId, 'x2', vx); + onWidgetChange(nodeId, 'y2', vy); + } + }, [dragging, nodeId, onWidgetChange, getCoords]); + + const onPointerUp = useCallback(() => { + setDragging(null); + }, []); + + return ( +
+ field + + {/* Line connecting the two markers */} + + + + + {/* Endpoint markers — locked markers get a different style */} +
+
+
+ ); +} diff --git a/frontend/src/CustomNode.jsx b/frontend/src/CustomNode.jsx new file mode 100644 index 0000000..b26eef4 --- /dev/null +++ b/frontend/src/CustomNode.jsx @@ -0,0 +1,396 @@ +import React, { useContext, useRef, useCallback, useState, memo, lazy, Suspense } from 'react'; +import { Handle, Position } from '@xyflow/react'; + +const SurfaceView = lazy(() => import('./SurfaceView')); +const CrossSectionOverlay = lazy(() => import('./CrossSectionOverlay')); + +// ── Constants ───────────────────────────────────────────────────────── + +const DATA_TYPES = new Set(['DATA_FIELD', 'IMAGE', 'LINE', 'TABLE', 'COORD']); + +const TYPE_COLORS = { + DATA_FIELD: '#3a7abf', + IMAGE: '#4caf50', + LINE: '#ff9800', + TABLE: '#fdd835', + COORD: '#e91e63', +}; + +const CAT_COLORS = { + io: '#37474f', + filters: '#1a237e', + level: '#1b5e20', + analysis: '#4a148c', + grains: '#bf360c', + display: '#212121', +}; + +// ── Context (provided by App) ───────────────────────────────────────── + +export const NodeContext = React.createContext(null); + +// ── Draggable number input ──────────────────────────────────────────── + +function DraggableNumber({ value, step, min, max, precision, onChange }) { + const [editing, setEditing] = useState(false); + const [editText, setEditText] = useState(''); + const dragState = useRef(null); + const elRef = useRef(null); + + const display = precision != null ? Number(value).toFixed(precision) : String(value); + + const clamp = useCallback((v) => { + if (min != null && v < min) v = min; + if (max != null && v > max) v = max; + return v; + }, [min, max]); + + const onPointerDown = useCallback((e) => { + if (editing) return; + e.preventDefault(); + dragState.current = { startX: e.clientX, startVal: Number(value) }; + elRef.current?.setPointerCapture(e.pointerId); + }, [editing, value]); + + const onPointerMove = useCallback((e) => { + if (!dragState.current) return; + const dx = e.clientX - dragState.current.startX; + const delta = dx * (step || 0.01); + const raw = dragState.current.startVal + delta; + const rounded = precision != null + ? parseFloat(raw.toFixed(precision)) + : Math.round(raw); + onChange(clamp(rounded)); + }, [step, precision, clamp, onChange]); + + const onPointerUp = useCallback((e) => { + if (!dragState.current) return; + const dx = Math.abs(e.clientX - dragState.current.startX); + dragState.current = null; + // If barely moved, enter text-edit mode + if (dx < 3) { + setEditText(display); + setEditing(true); + } + }, [display]); + + const commitEdit = useCallback(() => { + setEditing(false); + const parsed = parseFloat(editText); + if (!isNaN(parsed)) onChange(clamp(precision != null ? parseFloat(parsed.toFixed(precision)) : Math.round(parsed))); + }, [editText, precision, clamp, onChange]); + + if (editing) { + return ( + setEditText(e.target.value)} + onBlur={commitEdit} + onKeyDown={(e) => { if (e.key === 'Enter') commitEdit(); if (e.key === 'Escape') setEditing(false); }} + /> + ); + } + + return ( +
+ {display} +
+ ); +} + +// ── Collapsible section ─────────────────────────────────────────────── + +function CollapsibleSection({ title, defaultOpen, children }) { + const [open, setOpen] = useState(defaultOpen); + return ( +
+ + {open && children} +
+ ); +} + +// ── CustomNode component ────────────────────────────────────────────── + +function CustomNode({ id, data }) { + const ctx = useContext(NodeContext); + const def = data.definition; + + // Parse inputs into data handles and widgets + const required = def.input.required || {}; + const optional = def.input.optional || {}; + + const dataInputs = []; + const widgets = []; + + const hiddenWidgets = new Set(); + + for (const [name, spec] of Object.entries(required)) { + const [type, opts] = Array.isArray(spec) ? spec : [spec, {}]; + if (DATA_TYPES.has(type)) { + dataInputs.push({ name, type }); + } else if (opts?.hidden) { + hiddenWidgets.add(name); + } else { + widgets.push({ name, type, opts: opts || {} }); + } + } + + for (const [name, spec] of Object.entries(optional)) { + const [type] = Array.isArray(spec) ? spec : [spec]; + dataInputs.push({ name, type }); + } + + const outputs = def.output.map((type, i) => ({ + name: def.output_name[i] || type, + type, + slot: i, + })); + + const catColor = CAT_COLORS[def.category] || '#333'; + const maxIORows = Math.max(dataInputs.length, outputs.length); + + return ( +
+ {/* Title */} +
+ {data.label} +
+ +
+ {/* I/O rows — pair inputs[i] with outputs[i] */} + {Array.from({ length: maxIORows }, (_, i) => { + const inp = dataInputs[i]; + const out = outputs[i]; + return ( +
+
+ {inp && ( + <> + + {inp.name} + + )} +
+
+ {out && ( + <> + {out.name} + + + )} +
+
+ ); + })} + + {/* Widget rows */} + {widgets.map((w) => ( +
+ +
+ ))} + + {/* Interactive 3D surface view */} + {data.meshData && ( + + Loading 3D...
}> + + + + )} + + {/* Collapsible preview image */} + {data.previewImage && ( + +
+ preview +
+
+ )} + + {/* Interactive cross-section overlay */} + {data.overlay && hiddenWidgets.has('x1') && ( + + Loading...
}> + + + + )} + + {/* Collapsible table data */} + {data.tableRows && data.tableRows.length > 0 && ( + +
+ {data.tableRows.map((row, i) => { + let line; + if (row.quantity !== undefined) { + const val = typeof row.value === 'number' ? row.value.toExponential(3) : row.value; + line = `${row.quantity}: ${val} ${row.unit || ''}`; + } else { + line = Object.entries(row) + .slice(0, 3) + .map(([k, v]) => `${k}: ${typeof v === 'number' ? v.toExponential(2) : v}`) + .join(' '); + } + return
{line}
; + })} +
+
+ )} +
+
+ ); +} + +// ── Widget renderer ─────────────────────────────────────────────────── + +function WidgetControl({ widget, nodeId, value, onChange, openFileBrowser }) { + const { name, type, opts } = widget; + const val = value ?? opts?.default ?? ''; + + // Combo / enum — type itself is the array of options + if (Array.isArray(type)) { + return ( + <> + + + + ); + } + + if (type === 'FILE_PICKER') { + return ( + <> + +
+ onChange(nodeId, name, e.target.value)} + placeholder="Select file…" + /> + +
+ + ); + } + + if (type === 'FLOAT') { + return ( + <> + + onChange(nodeId, name, v)} + /> + + ); + } + + if (type === 'INT') { + return ( + <> + + onChange(nodeId, name, v)} + /> + + ); + } + + if (type === 'BOOLEAN') { + return ( + <> + + onChange(nodeId, name, e.target.checked)} + /> + + ); + } + + // STRING and anything else + return ( + <> + + onChange(nodeId, name, e.target.value)} + /> + + ); +} + +export default memo(CustomNode); diff --git a/frontend/src/FileBrowser.jsx b/frontend/src/FileBrowser.jsx new file mode 100644 index 0000000..31477b8 --- /dev/null +++ b/frontend/src/FileBrowser.jsx @@ -0,0 +1,94 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import * as api from './api'; + +/** + * Server-side file browser modal. + * + * Props: + * onSelect(absolutePath) — called when user picks a file + * onClose() — called when user dismisses the dialog + */ +export default function FileBrowser({ onSelect, onClose }) { + const [path, setPath] = useState(''); + const [parent, setParent] = useState(null); + const [dirs, setDirs] = useState([]); + const [files, setFiles] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + const navigate = useCallback(async (dir) => { + setLoading(true); + setError(null); + try { + const data = await api.browse(dir); + setPath(data.path); + setParent(data.parent); + setDirs(data.dirs); + setFiles(data.files); + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }, []); + + // Start at home directory on mount + useEffect(() => { + navigate(null); + }, [navigate]); + + return ( +
{ if (e.target === e.currentTarget) onClose(); }}> +
+ {/* Header */} +
+ {path} + +
+ + {/* File list */} +
+ {loading &&
Loading…
} + {error &&
Error: {error}
} + + {!loading && !error && ( + <> + {/* Parent directory */} + {parent && ( +
navigate(parent)}> + ⬆ .. +
+ )} + + {/* Directories */} + {dirs.map((d) => ( +
navigate(path + '/' + d)} + > + 📁 {d} +
+ ))} + + {/* Files */} + {files.map((f) => ( +
{ onSelect(path + '/' + f); onClose(); }} + > + {f} +
+ ))} + + {dirs.length === 0 && files.length === 0 && ( +
Empty directory
+ )} + + )} +
+
+
+ ); +} diff --git a/frontend/src/SurfaceView.jsx b/frontend/src/SurfaceView.jsx new file mode 100644 index 0000000..2a3d5bb --- /dev/null +++ b/frontend/src/SurfaceView.jsx @@ -0,0 +1,183 @@ +import React, { useRef, useEffect, useCallback } from 'react'; +import * as THREE from 'three'; +import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'; + +/** + * Interactive 3D surface viewer using Three.js. + * Props: + * meshData: { width, height, z_data (b64 float32), colors (b64 uint8 RGB), + * z_min, z_max, z_scale, x_range, y_range } + */ +export default function SurfaceView({ meshData }) { + const containerRef = useRef(null); + const threeRef = useRef(null); // { renderer, scene, camera, controls, mesh } + + // Decode base64 to typed arrays + const decode = useCallback((b64, ArrayType) => { + const bin = atob(b64); + const bytes = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i); + return new ArrayType(bytes.buffer); + }, []); + + // Initialize Three.js scene once + useEffect(() => { + const container = containerRef.current; + if (!container || threeRef.current) return; + + const width = container.clientWidth; + const height = width; // 1:1 aspect + + const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false }); + renderer.setSize(width, height); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setClearColor(0x0f172a); + container.appendChild(renderer.domElement); + + const scene = new THREE.Scene(); + + const camera = new THREE.PerspectiveCamera(45, 1, 0.01, 1000); + camera.position.set(1.2, 0.8, 1.2); + + const controls = new OrbitControls(camera, renderer.domElement); + controls.enableDamping = true; + controls.dampingFactor = 0.1; + controls.minDistance = 0.3; + controls.maxDistance = 10; + + // Lighting + const ambient = new THREE.AmbientLight(0xffffff, 0.4); + scene.add(ambient); + const dir = new THREE.DirectionalLight(0xffffff, 0.8); + dir.position.set(1, 2, 1.5); + scene.add(dir); + const dir2 = new THREE.DirectionalLight(0xffffff, 0.3); + dir2.position.set(-1, 0.5, -1); + scene.add(dir2); + + // Animation loop + let animId; + const animate = () => { + animId = requestAnimationFrame(animate); + controls.update(); + renderer.render(scene, camera); + }; + animate(); + + threeRef.current = { renderer, scene, camera, controls, mesh: null, animId }; + + // Resize observer to maintain 1:1 aspect when node width changes + const ro = new ResizeObserver((entries) => { + const entry = entries[0]; + if (!entry || !threeRef.current) return; + const w = entry.contentRect.width; + if (w < 1) return; + const { renderer: r, camera: c } = threeRef.current; + r.setSize(w, w); + c.aspect = 1; + c.updateProjectionMatrix(); + }); + ro.observe(container); + + return () => { + ro.disconnect(); + cancelAnimationFrame(animId); + controls.dispose(); + renderer.dispose(); + if (container.contains(renderer.domElement)) { + container.removeChild(renderer.domElement); + } + threeRef.current = null; + }; + }, []); + + // Update mesh when data changes + useEffect(() => { + if (!threeRef.current || !meshData) return; + + const { scene, camera, controls } = threeRef.current; + const { width: nx, height: ny, z_data, colors, z_min, z_max, z_scale, x_range, y_range } = meshData; + + // Decode arrays + const zArr = decode(z_data, Float32Array); + const colArr = decode(colors, Uint8Array); + + // Remove old mesh + if (threeRef.current.mesh) { + scene.remove(threeRef.current.mesh); + threeRef.current.mesh.geometry.dispose(); + threeRef.current.mesh.material.dispose(); + } + + // Build geometry + const geom = new THREE.BufferGeometry(); + const positions = new Float32Array(nx * ny * 3); + const colorAttr = new Float32Array(nx * ny * 3); + + // Normalize coordinates to roughly [-0.5, 0.5] for good camera framing + const zRange = z_max - z_min || 1; + + for (let iy = 0; iy < ny; iy++) { + for (let ix = 0; ix < nx; ix++) { + const idx = iy * nx + ix; + const px = ix / (nx - 1) - 0.5; // [-0.5, 0.5] + const py = iy / (ny - 1) - 0.5; + const pz = ((zArr[idx] - z_min) / zRange - 0.5) * z_scale; + + positions[idx * 3] = px; + positions[idx * 3 + 1] = pz; // height on Y axis + positions[idx * 3 + 2] = py; + + colorAttr[idx * 3] = colArr[idx * 3] / 255; + colorAttr[idx * 3 + 1] = colArr[idx * 3 + 1] / 255; + colorAttr[idx * 3 + 2] = colArr[idx * 3 + 2] / 255; + } + } + + geom.setAttribute('position', new THREE.BufferAttribute(positions, 3)); + geom.setAttribute('color', new THREE.BufferAttribute(colorAttr, 3)); + + // Build index (triangles from grid) + const indices = []; + for (let iy = 0; iy < ny - 1; iy++) { + for (let ix = 0; ix < nx - 1; ix++) { + const a = iy * nx + ix; + const b = a + 1; + const c = a + nx; + const d = c + 1; + indices.push(a, c, b); + indices.push(b, c, d); + } + } + geom.setIndex(indices); + geom.computeVertexNormals(); + + const mat = new THREE.MeshPhongMaterial({ + vertexColors: true, + side: THREE.DoubleSide, + shininess: 30, + flatShading: false, + }); + + const mesh = new THREE.Mesh(geom, mat); + scene.add(mesh); + threeRef.current.mesh = mesh; + + // Reset camera target to center of mesh + controls.target.set(0, 0, 0); + controls.update(); + }, [meshData, decode]); + + // Prevent scroll events from propagating to React Flow + const onWheel = useCallback((e) => { + e.stopPropagation(); + }, []); + + return ( +
+ ); +} diff --git a/frontend/src/api.js b/frontend/src/api.js new file mode 100644 index 0000000..b90acae --- /dev/null +++ b/frontend/src/api.js @@ -0,0 +1,93 @@ +/** + * api.js — REST + WebSocket client for argonode backend. + * + * Uses relative URLs so the Vite dev proxy (port 5173 → 8188) + * and production same-origin serving both work transparently. + */ + +// ── REST helpers ────────────────────────────────────────────────────── + +export async function getNodes() { + const r = await fetch('/nodes'); + if (!r.ok) throw new Error(`GET /nodes failed: ${r.status}`); + return r.json(); +} + +export async function getFiles() { + const r = await fetch('/files'); + if (!r.ok) return []; + return r.json(); +} + +export async function browse(dir) { + const url = dir ? `/browse?dir=${encodeURIComponent(dir)}` : '/browse'; + const r = await fetch(url); + if (!r.ok) throw new Error(`Browse failed: ${r.status}`); + return r.json(); +} + +export async function uploadFile(file) { + const fd = new FormData(); + fd.append('file', file); + const r = await fetch('/upload', { method: 'POST', body: fd }); + if (!r.ok) throw new Error(`Upload failed: ${r.status}`); + return r.json(); +} + +export async function runPrompt(prompt) { + const r = await fetch('/prompt', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ prompt }), + }); + if (!r.ok) { + const text = await r.text(); + throw new Error(`POST /prompt failed (${r.status}): ${text}`); + } + return r.json(); +} + +// ── WebSocket ───────────────────────────────────────────────────────── + +let _ws = null; +let _handler = null; +let _reconnectTimer = null; + +export function setMessageHandler(fn) { + _handler = fn; +} + +export function initWS() { + if (_ws && _ws.readyState < 2) return; // already open or connecting + + const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'; + _ws = new WebSocket(`${protocol}//${window.location.host}/ws`); + + _ws.onopen = () => { + console.log('[argonode] WebSocket connected'); + }; + + _ws.onclose = () => { + console.log('[argonode] WebSocket closed, reconnecting in 3s…'); + clearTimeout(_reconnectTimer); + _reconnectTimer = setTimeout(() => initWS(), 3000); + }; + + _ws.onerror = (e) => { + console.error('[argonode] WebSocket error', e); + }; + + _ws.onmessage = (e) => { + try { + const msg = JSON.parse(e.data); + if (_handler) _handler(msg); + } catch { + // ignore malformed messages + } + }; +} + +export function closeWS() { + clearTimeout(_reconnectTimer); + if (_ws) _ws.close(); +} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx new file mode 100644 index 0000000..02a0552 --- /dev/null +++ b/frontend/src/main.jsx @@ -0,0 +1,6 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import App from './App'; +import './styles.css'; + +createRoot(document.getElementById('root')).render(); diff --git a/frontend/src/styles.css b/frontend/src/styles.css new file mode 100644 index 0000000..27a0fab --- /dev/null +++ b/frontend/src/styles.css @@ -0,0 +1,509 @@ +/* ── Reset & base ──────────────────────────────────────────────────── */ +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +html, body, #root { + width: 100%; + height: 100%; + background: #1a1a2e; + color: #e0e0e0; + font-family: "Inter", "Segoe UI", system-ui, sans-serif; + font-size: 13px; + overflow: hidden; +} + +.app-container { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +} + +/* ── Toolbar ───────────────────────────────────────────────────────── */ +#toolbar { + height: 44px; + background: #16213e; + border-bottom: 1px solid #0f3460; + display: flex; + align-items: center; + padding: 0 12px; + gap: 10px; + z-index: 100; + user-select: none; + flex-shrink: 0; +} + +#app-title { + font-size: 15px; + font-weight: 700; + letter-spacing: 0.5px; + color: #e94560; + margin-right: 8px; + flex-shrink: 0; +} + +.toolbar-group { + display: flex; + gap: 6px; + flex-shrink: 0; +} + +/* ── Buttons ───────────────────────────────────────────────────────── */ +.btn { + padding: 5px 12px; + border: 1px solid #0f3460; + border-radius: 5px; + background: #0f3460; + color: #e0e0e0; + font-size: 12px; + cursor: pointer; + transition: background 0.15s, border-color 0.15s; + white-space: nowrap; +} +.btn:hover { + background: #1a4a8a; + border-color: #3a7abf; +} +.btn:active { + background: #0a2040; +} +.btn-primary { + background: #e94560; + border-color: #e94560; + font-weight: 600; +} +.btn-primary:hover { + background: #ff6b81; + border-color: #ff6b81; +} + +/* ── Status bar ────────────────────────────────────────────────────── */ +.status-bar { + margin-left: auto; + padding: 4px 10px; + border-radius: 4px; + font-size: 11px; + max-width: 400px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + flex-shrink: 1; +} +.status-bar.info { color: #90caf9; } +.status-bar.error { color: #ef9a9a; background: rgba(183,28,28,0.2); } + +/* ── React Flow container ──────────────────────────────────────────── */ +.flow-container { + flex: 1; + position: relative; +} + +/* ── React Flow dark overrides ─────────────────────────────────────── */ +.react-flow { + background: #0d1117 !important; +} + +/* ── Custom node ───────────────────────────────────────────────────── */ +.custom-node { + background: #1e293b; + border: 1px solid #334155; + border-radius: 6px; + font-size: 11px; + color: #e0e0e0; + width: 200px; + min-width: 160px; + resize: horizontal; + overflow: hidden; +} + +/* Let React Flow node wrapper fit to the custom-node's size */ +.react-flow__node-custom { + width: auto !important; + height: auto !important; +} + +/* Title bar is the drag handle for moving the node */ +.drag-handle { + cursor: grab; +} +.drag-handle:active { + cursor: grabbing; +} + +.custom-node.selected { + border-color: #90caf9; +} + +.node-title { + padding: 5px 10px; + font-weight: 600; + font-size: 12px; + color: white; + border-radius: 5px 5px 0 0; + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} + +.node-body { + padding: 4px 0; +} + +/* ── I/O rows ──────────────────────────────────────────────────────── */ +.io-row { + display: flex; + justify-content: space-between; + align-items: center; + padding: 3px 12px; + min-height: 22px; + position: relative; +} + +.io-left, .io-right { + display: flex; + align-items: center; + gap: 4px; +} + +.io-label { + font-size: 10px; + color: #94a3b8; +} + +/* ── Handles ───────────────────────────────────────────────────────── */ +.typed-handle { + width: 10px !important; + height: 10px !important; + border: 2px solid #1e293b !important; + border-radius: 50% !important; +} + +/* ── Widget rows ───────────────────────────────────────────────────── */ +.widget-row { + padding: 3px 10px; + display: flex; + align-items: center; + gap: 6px; +} + +.widget-row label { + font-size: 10px; + color: #64748b; + min-width: 40px; + flex-shrink: 0; +} + +.widget-row input[type="text"], +.widget-row input[type="number"], +.widget-row select { + background: #0f172a; + color: #e0e0e0; + border: 1px solid #334155; + border-radius: 3px; + padding: 2px 5px; + font-size: 11px; + flex: 1; + min-width: 0; +} + +.widget-row input[type="checkbox"] { + accent-color: #3a7abf; +} + +.widget-row input:focus, +.widget-row select:focus { + outline: none; + border-color: #3a7abf; +} + +.file-picker-row { + display: flex; + gap: 4px; + flex: 1; + min-width: 0; +} + +.file-picker-row input { + flex: 1; + min-width: 0; +} + +/* ── Draggable number ──────────────────────────────────────────────── */ +.drag-number { + flex: 1; + min-width: 0; + background: #0f172a; + border: 1px solid #334155; + border-radius: 3px; + padding: 2px 6px; + cursor: ew-resize; + user-select: none; + text-align: center; + font-size: 11px; + color: #e0e0e0; + touch-action: none; +} +.drag-number:hover { + border-color: #3a7abf; +} +.drag-number-val { + pointer-events: none; +} +.drag-number-edit { + flex: 1; + min-width: 0; + background: #0f172a; + border: 1px solid #3a7abf; + border-radius: 3px; + padding: 2px 5px; + font-size: 11px; + color: #e0e0e0; + text-align: center; + outline: none; +} + +.browse-btn { + background: #0f3460; + color: #e0e0e0; + border: 1px solid #334155; + border-radius: 3px; + padding: 2px 6px; + font-size: 10px; + cursor: pointer; + white-space: nowrap; +} +.browse-btn:hover { + background: #1a4a8a; +} + +/* ── Collapsible section ───────────────────────────────────────────── */ +.collapsible { + border-top: 1px solid #334155; + margin-top: 4px; +} +.collapsible-toggle { + display: flex; + align-items: center; + gap: 4px; + width: 100%; + background: none; + border: none; + color: #64748b; + font-size: 10px; + padding: 3px 10px; + cursor: pointer; + text-align: left; +} +.collapsible-toggle:hover { + color: #94a3b8; +} +.collapsible-arrow { + font-size: 9px; +} + +/* ── Node preview ──────────────────────────────────────────────────── */ +.node-preview { + overflow: hidden; +} + +.node-preview img { + width: 100%; + max-width: 100%; + display: block; +} + +/* ── Cross-section overlay ────────────────────────────────────────── */ +.cs-overlay { + position: relative; + user-select: none; + touch-action: none; + overflow: hidden; +} +.cs-image { + width: 100%; + display: block; +} +.cs-svg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; +} +.cs-marker { + position: absolute; + width: 14px; + height: 14px; + border-radius: 50%; + background: #ffd700; + border: 2px solid #fff; + transform: translate(-50%, -50%); + cursor: grab; + box-shadow: 0 0 4px rgba(0,0,0,0.6); + z-index: 1; +} +.cs-marker:active:not(.cs-marker-locked) { + cursor: grabbing; + background: #ffeb3b; + transform: translate(-50%, -50%) scale(1.2); +} +.cs-marker-locked { + background: #e91e63; + border-color: #e91e63; + cursor: default; + opacity: 0.9; +} + +/* ── 3D surface view ──────────────────────────────────────────────── */ +.surface-view-container { + width: 100%; + aspect-ratio: 1 / 1; + cursor: grab; + overflow: hidden; +} +.surface-view-container:active { + cursor: grabbing; +} +.surface-view-container canvas { + display: block; +} + +/* ── Node table ────────────────────────────────────────────────────── */ +.node-table { + padding: 4px 10px; + font-family: "SF Mono", "Fira Code", monospace; + font-size: 10px; + color: #cbd5e1; +} + +.table-line { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.5; +} + +/* ── Node resize handles ───────────────────────────────────────────── */ +.node-resize-line { + border-color: #90caf9 !important; +} +.node-resize-handle { + background: #90caf9 !important; + width: 8px !important; + height: 8px !important; +} + +/* ── Context menu ──────────────────────────────────────────────────── */ +.context-menu { + position: fixed; + z-index: 1000; + background: #16213e; + border: 1px solid #0f3460; + border-radius: 6px; + min-width: 180px; + max-height: 60vh; + overflow-y: auto; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5); + padding: 4px 0; +} + +.context-category { + padding: 6px 12px 3px; + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #64748b; + border-top: 1px solid #0f3460; +} +.context-category:first-child { + border-top: none; +} + +.context-item { + padding: 5px 20px; + font-size: 12px; + cursor: pointer; + color: #e0e0e0; +} +.context-item:hover { + background: #0f3460; +} + +/* ── File browser dialog ──────────────────────────────────────────── */ +.fb-backdrop { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.6); + z-index: 2000; + display: flex; + align-items: center; + justify-content: center; +} +.fb-dialog { + background: #16213e; + border: 1px solid #0f3460; + border-radius: 8px; + width: 520px; + max-height: 70vh; + display: flex; + flex-direction: column; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5); +} +.fb-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 14px; + border-bottom: 1px solid #0f3460; +} +.fb-path { + font-size: 12px; + color: #90caf9; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + flex: 1; + margin-right: 10px; +} +.fb-close { + background: none; + border: none; + color: #e0e0e0; + font-size: 16px; + cursor: pointer; + padding: 2px 6px; +} +.fb-close:hover { color: #e94560; } +.fb-list { + overflow-y: auto; + padding: 6px 0; + flex: 1; +} +.fb-entry { + padding: 6px 14px; + cursor: pointer; + font-size: 13px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.fb-entry:hover { background: #0f3460; } +.fb-dir { color: #90caf9; } +.fb-file { color: #e0e0e0; } +.fb-loading { + padding: 16px; + text-align: center; + color: #607d8b; +} + +/* ── Scrollbar styling ─────────────────────────────────────────────── */ +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: #1a1a2e; } +::-webkit-scrollbar-thumb { background: #0f3460; border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: #3a7abf; } + +/* ── React Flow MiniMap ────────────────────────────────────────────── */ +.react-flow__minimap { + background: #16213e !important; + border: 1px solid #0f3460 !important; + border-radius: 4px !important; +} diff --git a/frontend/vite.config.js b/frontend/vite.config.js new file mode 100644 index 0000000..2182b78 --- /dev/null +++ b/frontend/vite.config.js @@ -0,0 +1,23 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + server: { + port: 5173, + proxy: { + '/nodes': 'http://127.0.0.1:8188', + '/files': 'http://127.0.0.1:8188', + '/browse': 'http://127.0.0.1:8188', + '/upload': 'http://127.0.0.1:8188', + '/prompt': 'http://127.0.0.1:8188', + '/ws': { + target: 'http://127.0.0.1:8188', + ws: true, + }, + }, + }, + build: { + outDir: 'dist', + }, +}); diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/output/01_sines_input.png b/tests/output/01_sines_input.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6a8cc943fe0cb7be9717d67a7edf6ea59fa6e9 GIT binary patch literal 110057 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 N002ovPDHLkV1g{5MhXA` literal 0 HcmV?d00001 diff --git a/tests/output/01_sines_log_magnitude.png b/tests/output/01_sines_log_magnitude.png new file mode 100644 index 0000000000000000000000000000000000000000..f386c3888de1d6b9a17069661240e880e6da4b33 GIT binary patch literal 981 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLk0%sIi4<#Ar*7p-rnyOohZ}r zaLE>}vlrGrSP}g)N!23d8{ezaiuAqh=ajZcddaF>^3>3iWjPrl^Ju^2?hntKxe1GD=Kl@DOImWK!^DSi;$0!Z<;V;S!6(tdS>};M4u|*PmZm z8)N!+b(=8uWZFf`zQ1!eeRW{@#BWt^c$dW9leb&jlT>A8EB$=>L;D9}9Rx$`z_h(T zch!G+TX^?dr({cIgYNGi@4j8W9Y6Wxli%CUpAlf$kZS+$&Hw29?X`K^&O7jA&SQi} zMkTk&n)CMc^WWT!v5~3y`Qe{sf2#93hQn4jcU#`NYkPBd<+J3Q6SNO((39g+n|!?f zW4hfm-k*F9v!WFc5m;g9BgJzt`-1r4B?kpqJ|xXBk!X6)u%wcWaC93iJ6cp*SGzT0 zo%>zaSq#Ta=CAE5fA?(j)fKxvj0KFBo&J4z`P4v(4#l&&0;9=?v%&Lb{G|>4p&g3% RCIYi7gQu&X%Q~loCIFY4KFt6C literal 0 HcmV?d00001 diff --git a/tests/output/01_sines_magnitude.png b/tests/output/01_sines_magnitude.png new file mode 100644 index 0000000000000000000000000000000000000000..ab54fbc9105600f859c3b30d7d7b03fba23aba32 GIT binary patch literal 1065 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLk0%s51uZLAr*7p-ZAWwPM2s% zJZt5vWRRn{`Aw5_dFC1|Mscsl%qlk?X#eoo=UUXd!oXr`4TCuwXR>ItX6ByN6DDvU z$&fhm+opAwq}{aIpLLwQZO;#%mJEsYv1Rb_WLU!4V8S>-jo}iD!z>05VTMd51>X@T zxNl}v!IYmBOEH}8{A)cg0ieWSn!7Q_zvIxKAG=QDzi`K{yFwl9}D--@walF z1q|Jz&puRstJrAi1LVpdQ#vcyF`5ur4y<{T&+C*Ll;Z1~1}p*?JYD@<);T3K0RZ%C Bb}0Y= literal 0 HcmV?d00001 diff --git a/tests/output/01_sines_psdf.png b/tests/output/01_sines_psdf.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e425375e174a824e64e33e5d346b4d7f8ff7a7 GIT binary patch literal 1049 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

%iYl5|3^>G{_ef9 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 literal 0 HcmV?d00001 diff --git a/tests/output/02_surface_fft_level_plane.png b/tests/output/02_surface_fft_level_plane.png new file mode 100644 index 0000000000000000000000000000000000000000..c274b44be4f1ac019b664b09aa54beee2b104247 GIT binary patch literal 114558 zcmV)TK(W7xP)REeHANN%&PR6k>Sma>+kXBZ12`yb_(B^JF*Ia!p(?#_E~$bImaC1 zAOHUkegA*^2Rc_-(-fgnO1Ue&{mZ=nn&&T65h-`2mV2i3O!dSmB9*p`(#l(ET`1!! zCsCD4Q#&gz-u8l-(z){ICf?FX<zlj+`P?ZmPVcS#E1>__QKa)l;L5N}F04ennn0 z-cm0Q3Z3id!U?9T2$a&Q^w+;mDOEYs-qMtTP8+HWRMsfnMBn(s>DhN$c~zC3^5-fV z7+o4SHH%$0tINM!@Q`^$MVBgTs&Hi7m0I<55h`z`vbu6o<;DCVZ5bz5)l;2Uc*5F= znch-a-8h-5TsXDkGHq%%QSqkEt19X%CpYn?E`8&sI+*aSi$Dc4Ge2;YQrfT-c||3g zWjJt*qc%P+F5h&VR2xs}LKT52eHBb}8K}HsyjVM_JVU13R2!EcF9WmrLD_%J)ul>$ zWq9d$u`-@AvLN-NGHqx#Rasr9Ek4l6bmh{No?dMzZ^?TpLKRHSV&93k%F*Vw70i^An!Kvx9mC@qevy;$2RBt|Q?0g2_e6i#5EwB5;BO>KOfpTFxB5l`hN%Aabd^il|M;GfIAIwZJWgR#VE0tIE zs;l|7p319y&!}(wkrVcv>M6&m{Ui^jCK#K_xz?F-V_iQkjLR2Jx~2$CFmaqrAOBv< zpYs;&%FeFqc*E(x?#!oxEn!j!B!wI2>%F zl|NI#R1NOCPNwTert?L~0jLrJ>c_@guz>!IU+ShR91|40CI7Ps)##2Jj#P9>^ofQh zt1DGmt&5M5qeJjz81&=j`d)G0$ck zR>ocF){}Dc{Wu!(#*09eA%~%MmW5;E#=MEeUx}ru~Ty zCT91~7x9)!dgbUPZ|m22FxK8eAN*-j21?)kKm38w{8%_7yg3;!AglA6I3ja1yUt;% zT$lors=N&T;iuwxXRQPqZQ&T_AC)a&%Wzwe38XT&$ z&3pByI%{&0y@hT)EuG9bxtU$@{5dfrZ4ye|SQ8!+38k9%-F#lI+Rpr{F`m(-R;8*P z6Nb6Cc8SegN)lkImt|JbS%ZZt1Lejl9Gg{Fr){H4e*69p7tj7iwR)=Elz;CnRr9bI zydrUKNeCp+v{(&samd!;UPIMmH&rO|5D zbG)Tw0dla7s~3Bw3{5b0yaivMW8?AqiV8~|4Ybaco0xEF7Q0To$zkxPvS0bjCLD1; z8@s8`yS@6=8!xOWHMTK>U`lk6jAK&) z+N4=rO!{5zG*)!>d!gzX;TGL-F{f64R!q6p_6f; zEe;}*ld0-FC`y-DU>s9D)zwp7x#UT*20Ny5s>6v&o8+9v)s=HoJL0Pu`PtgB2_`CO z6aSoquxcFDIL@;gSE#ozZp?BOp&H+IQaRF#T|P$}RfM|rBvW!xs8W7oi&qd#$d25V zc2~N3UK)p(J$OZjBh&s;Qo9Q48C~!e__7sJ#CXGzU*Tj`?c|0#-!b(=R@iu4>3N+s zF%HqN3=DUOtFxNo26lO0Kn~zoP&<(~q7&-2WJyZr{ex|%9%r%(KX&Y^JhBh z6ELDntxJ-MaKzCa-gmRQN!nVH5TkQ8#O}{l{*;VdiWxP#>b9OH{*t`8sF=k*8@m2X z`BQdzG$^w=Z^c`3{LVyEFu+e@Zyx>>$|DR8oXJ1V;2EC zKCkjp+{DaeO`MES7s+7I~7 zML>SG^V8VL*kMILFo-Tx=V1{Ic<#Ka_kO%;JSD&MV&1*IPdWXGuAD1x&fZO1r81hR zA4*nQCEc>6VK^iiwbjVrwJPamOU(~>$9c_6uj_b6qMgf?m2}uWeoRDP?&!0xN87*3 zDi;p5X2OlP+VJB|9d8?ds>3lEe`QeC4^7f0C1^fY8}F0Q$D4+N)n^|Q4x4NdO1D^d z9&&#r9in*kgjl%TGpkJ=AnTO23@F303{2&MoX1;mLONd-m44|hjX$TFDk>)F8h@dq zQBg$t>>KscUl*O#bN)gwm8^ygjSbX%Rt{hCIe|Ir;4RoOWuT&wF`iy^bP;gUCbt~o zm(+#EQ-fFef>M#H{U63ksT=?8ob)E*kQcs=1}3YU#Z|M~Fq0cD_(X+$<1JaMq@~gZ zm0RhXqQa@ptE6+bG%q5XX_(n{wc0F`Ha{grAdmx(ow9C4$XV67TJ^Z={3TJma$&q! zwnyD$jWXHbY2BC;Lhx-G()~7}hbt@K8?oDzn(uqzxHO&`-&e=KaZ|NARdn`&5j>)EUuIn!-MRahCZh_jKjS+VK~KO0O<5omvIf`ysyJ33e1N^&DbBs0Fm^#Zs92xU*l+Y~)f z-^nZFAxW3pfD~@bC%dVt9~WuES#`OrDAC$n2#Z~A6?;Dr+GkGhlVW_^<*5>Km@+U? zpNp48lgw4(t~`g~?@(NJNg<-X00~o*Q2Z71UDskkWvG%if1&e5IlbudiSTx$*sz&%PZyxxnz3b z(4=j>+9;*2U6+5=Gg9`vqAGneKhR|$1y3r7-#MYjXys;vBzuD;ZGJ`N9AqzTQN?*n zMSWZ|C2*GV7ET#Z8fm#g{R!X8cv8bONVCaELk?2+K@oSI`BlEPyV8y4X1*_}UBn{P zU+9gG;_;nm)#G2LP13Dk>@=U4=}oqD?Zi0b!Nf?C@+*H*xJ$P3`8S-_(}H{}G2yuM zXN0J{CeUYLF23fwiIkNsaEz=@A>~hjeVmL)IlfO2WdrRx%CHG6SQgBS*#V)2bd8jU zHLadgSR@@ax#3iv&)h@>BiCI4!Ze?P$5k$=N2|xW49(~j5|y+?`0;ojS{D=>rEiiB zHx<7wkSMoCX`~MEOy%4Z6;iMHRqD?9RXyKxk}d$za$Cn+08{>4>CEoDa<#!yQZG_I zYHwld2Y!)bV}a%-3??S-I?+h-hniY#@S39$XU0i&F+1Y;GB^7i9`I=Ie` ziTb*FR)!-1f)a`@3QdV1Ma6U?wEL+)pjzqY7@ir3c%XVPh)=u2s=A) zz%hN3wI~WXmN7X7b@|LhL(_O}norC21G#B4ZVWe3oA0k`r)4zIVc!X+z(E37tL~>P z_5KfM=U=PN_jS@Cc5HlXuK&x}pL5p*6UqRR>}PyylKx5AdX`a6yu>lCT-YRv?UhGz z(p=SgQjkVQHW%W&)lZ7F&67lZ)qGa4d2%)}ID}?>+7C)yN~P2xLvB4Ti*TKm`%^w# zmjGpHQwLL)y8C&NwAYuR1w%_;O>RbuJ&ygV$6gA?PVLBKH3Cr5EvGk?zWcxD2FPnX zoRe`Ziim`}{+!g%q7bAU6T)FQlCqs#pY7!@>@{cd8mFAlGB@*Ul3Hat9DuO~Gt!~b zHI3&gYuGxKzf*eL36*nFa1w?FXS#mGlBG>P*-6QI{h9I?h6gP`9+EEDsBIwBkITi5 z6U+#=l;%xBpao|HrQv@9p=@#+)K0W6j2El%U8Mvs^5>)(MMc1@W7n6L}j=<=OkUP*K zV@X$1nnG`WP)x77`~R;`F8W_*m0;_9~P#kzB%E(TyTd zH8}~qss(8S^?OZuD@hUrhATsg52?L)g<2BUa8kxwt|}c}60z(F=FBy8`|+y(YQ)VY zLE7e{X^Y+5`#hWPdh@GfqDhzETRl^N8;)u}&M)5fiVCoC0!D7(1y*xW%pgkx2S^5TLIHY{ffqD!u8E4PreW@H$KDFF*k}ipXE@>JXAGp?wiS)}IUAUC0YRO@4yeP>&Wxvk% z_1>Q^FW;&fUyWX(+$=rSe*+w8a>LE5v;}lYg`+`c<$hC~MqRQp0KSHBF32_SKHjE1 z#0red#Z_&5lWS6%eCiaD8Q+YYOiF?p%ayh{(j>hJ*GSqS*#qg$`KYu7%pXh$wDWzU zxGn_?N&qBCwLPv)XPEeF=luV5arQ- z{)#TtV$aov9k|^23Z?b=C$Gslf1x-4;L154{iO;3&YYw};^O40 z{kU9iIg5P~U&@ZacsZZA+;nz-lEhnn>CzT$JpnjR+N{gj*CQ_`%Uo1+*q3hQunZ<2IHmP?xoId|%|A)zozY-{;Zv6B3 z_+r0N;LUjV_!u39U*|8~m zUIB}93_qJLNS>8ejpu?E)Hz7qFOvDSFs~P7;3(}hpO#6>QI2wBnsiR)#9LAxNCaH& zP($Z+HoyvKhz4I7Xj4-qp-?$9Sr9NNQdXKO3JimbSNhzm4MESf_8cOdYCL5V2>fI( zddY?ArOtF-(fNU%Uv;B_T7|NiGBw|K_@H3joHH)Br&E}$?hNmT;kZoN;7g@PUT8e> z^~!|_W~TJ`K`$}OEoXAW(Z;#@&j-`%y)poa&uZ(Q`SKcNmbXyzJub?t|9Wx!J2fXI z5E{<_SkPX0Fleq%3(sDLhZGITX+tvDMF}&xx z(nTR7oom}sk?Y>L87bv*m!I`wiRig5JqmO$=C{Y&?9I{z7;Sw?-C2Y@NfD~&e`m{; z&L-u1tZw|bv%~K<{kaYR_Y7BMmmKNjyS|eLl`~Trl;hhp^`c9)*k{j8?ow1lBmREc zp!@~cRjQ22%+W>`Ki(4XDqrVLNzZ1~I_;S8O9TSphUj=Rh%R*Ly2dkkg@+6$WfADb zfxOlsfuEdH5K_BEX}1l5M%E+^JVGeX1VEPb)83?3Y&Z`_H36^5J+Ev zKsOG{jZb4+JvbRhr1xpj`#klgyiw_P@sDv;^^~6^>5o)eU$=z3n5trWQ;+VEW9ZT( zZL(!)J+IlOiOJbVvvGFEg79^iow;oX>sFKZHxde__>^L@8o?dq^-vo>zM6Gl% zbfZfnFg787x#gVvR#-jNPV5vFbN)4w;v!&|1Jp<^G`#1-Zz+s%ZKA0*K8lmJzIe;8 zpA_zjg1B<#RE}ML22e=g$=R%e4zvF@Kgem8wdii@OigY&l>rrM@3Sl%sn(-%)fJ|Y z3&{-_Rz}I%Wan{Zl-NTo^&~N zpu?`3U*Y1V$-UB*Gjhn<3#WQnHl7*qWtVfJOVxUs8^k?R}nZ zeqgTstE~A%_Ti}TR)PXgRPU37V=q0^=mMD0pYx?C4olT~o)b+ph+;V8K4Eif@{xFh zB<0$F^|3u9Bo00wUOzJaOov0IU;5wu0mXrkI>7aF&QK9aZsST};Sx}FN$HR_q}H72 z_M>vK?O5KGF6i&tUr7}Yn}}vG+fkZm0C^F`Xz5AYe?VaeQ-!t*Uny&nt~4Km+0%yW z5*p=ZLeP1?{S|&22Ng&TXzJ;z^m(hBOci0SVCK zQ8~FuE^gPw-ch~J^YgEPRQfZ${a%_^ow)1fRk;|0bqQERl)v^}&i1{eN0jwqQ#&u? zt`knm(${&YNyp`!aDH-CJ0(D-EqhyX4B)HG1*Zym!EQqRtxMH>LZRGzR-Ap4B1!ly z+V)M;mhOC+UB2$K<^pk0yw$lCms{kelqE5b8qA!fSM@sM7as`g2$!x6Z7I3l4j01yuE9&rrX$q*FAeFsPmKgyFQvBZpd1=#@Ool58*>2-+cerUcps*rHRY-GBbV zTbep_KY^|u7g1mPGg8UkN5&OCoIhoI&37Gd1xKnvC}sQFwrDh}~7 zautl=8f?DL8A}A#;QlJtv5Hm5)a)vc8%|99r09H^NBuRZPfKsYJFcEthNkgnLR=GU zIGC~fiz?p=NW@psxQH(40!DqFR`_;;Z}yCGz`JHw+5MmjA^#ASjhgSe90`i@{Nk-( zaNnEWF`P18$Yry9~ASl%6zHLkM>MiY;x>=$jAuIxvB)a8XIK-C< zVD4hiTz-uNhNC6@0gGs-EqZfQCPF9{f+Ih>{azMK0f;SQ)RN8oh1&Uf;wBv3@l9`h z$FcZiUN!Tp<#HD;(Cj*_Fbj-&kYEK~C<68T?_YxmrKPK~(6cMkA^Bv%%hYf*4-p;l!Z>C0DkSk~GE} zP9AYt+3d5Z(CwODcSiR&pbQ#{buKH3@!?2r(Lyy|q|2RYTmy!_sJBywU$5l{Ff~2`-FMTG|xN=S5Zl zFbJk*x#I+Qb6p4j;AMSZ6ta&#EV>nj#N&3h;Znw(QY7 z-t>*5&c7b|GvUBZxV6m^CXaE|#wX=+&slB&2wE<*g%E%>6EXp-b|@mf_1@zA8#S6U zMpFD7%1}6DsSAnOEclqvTYBo*|MU)@ua%@z(j|2D@YQD00jr5FsfkH}gx}@IoMC0) zrIw*Hz2V#XhyI`(HZPVgjW7H9_E!kWj@Sx8r>>wmuXw|{`qIY zLU- zs`EL7-q9VGV;|{gQnHmJU>1AjQV#a{Me(Lny(owGtMMjuH_NS8nnJMj)%3ca-C)gO zp|;fcmJ@F}S%XapMNhN`c~!Tbt+ECW221Q2t<&nM?tQ{vo9}a~W&ef!SN(9bhHmUF z?Ja>siwZ}#^B`aBIcb{+4PRYC19GSt;WlYQe6*!qyroC?xz9<#hq`vcmbEl*O8~LU z=p@=*IQ18-fESC}#AgjBch;>d*pn^J2{+Fbx}QW$k1HkVAi%O6MuM7y`l|VqcMS=z zN+2HIb0;89s__hfD7^6efu{?ip%;!w8-_0h>s-8~G!BPQ#AqOI@ide*vvRSE-~$Le z2a{g4`TxspUFi$Nn+yFKDmB2Oam@HGiZDxgPg-83FV9pr#@ErMFlScERMm2a6|5hn zX){=L`MoqpgiZ)`>=aNUZK=^6uXb9N9zO`EET=TDnrHv%E0mi8w1JIO`7Jao0SzVB zQL6o@9Nl#&OU_K~G(Gt)mx*+~Kro^5Bxw*86nDxz?Zq&BNMmI2|#Fr$=G z&8KO+!RJs8cFe^)eqN=S8e9q>dMdzx-E&!k4J1@WazA@egBg?|H{-E;A17HY zgyDBV7+&u2QKyxPF4n!U(OnWJT27j+&!z-LXRp^zC`svv^@^!-p-6m@pL`D;Qgfiv zCO3+=FdHAtXE$rgDB--&jj_rVyMt}krwpGqz3v2a(>N+tU7%!$u?ZTZ&cobjFPP|f zhkVkXQY;F;O^j(3MNLf|xBCg(qIAC! z$Td~DB9kd9X6cdGc_(zfpfS(%eBWt5$^}X?v{B{K$?8JC=8*8tT2BgpS&r`di-U5x z?YN0wy4=fa#zD$)LJu`6rcF?A<5Ak8fT;=jM+lEjF61rs)ml>%bL$lqP92d3IM2)u z9G`wZ7`f6xFlEcS;4pfAbxm>x;G2Wu@w;3q2dfP*Mu!(>dW}wP)_@Vo-4&_9YwRsI zQ}yT68R;p4Hqy+P>^v&RvP$;PUIC!xu zs+|RyL)IyDrYq+zoa(mKi&}(at-WeKT`uVdi&?g{u|Y-4glADUJPGy)0R^`TjxtktJ+1; zI5CTDH*FC+fftu%bO%vv@6$YKJFB*90g9|4GKeJsBW)4SoCSoc>2()|@Z2n`LLWG> z6dLevHq!~Rm|)Dut~N<~oP@V!935T2%_;&;m+TVuN)doX2u}o|nJodm6eTodeUWsf zk;!U08UkiJ>AHmAGkuW@3QTF?4xrDaZk$krS)3Og0`e#`xy{uC8Frf2p3l#}*{b%- ztl^4CQZAelEz97(H@iwb8cbDnP`If}|0`0aZt@y2Rp%@}~2X>85fct(2^`SOamkhVB!?FVXf4|WFkSVhF*iKS60Co`=l5(G8T zHt7O?SrB~Hqs62GFt_Go3Fj4IKncrejC_<(7;lriwjT=2?F-RkZcv}bA^#H|3(BK&62!$mIM?C|Bm%D2&x+9Z~Cq>7;Uv z)XvM<0kS8MCA7p0UQOjvNK_GD%3BBn zw4`}VqW>wWLRQuDD^BS`P@|KwO}XOFsOl`$87bX9auE6Mgs#SORv_tsb=sVJvCmI= z3l5kB1rS*1t7Fx9m=5j-ywr%@K+x4|;zM5H9z$9kkqU}peI3$-?4%a^$l^qyOB)`V zdP$xJ4N0WiwL>tBYM71ehTKIZ%0n+sR!Zc*rYs6|KgS!zN*?;=`T#< zu!x2wzd{md67)8^cC~2$)Ek7SyrSn<5#U=t2p6U78k%%cfzRvE%eA53M|<%Jd#;GM zZIlCd(pxyefS&IB3czdSg8j|rNTH_A_g&$2+kDlAZN1ob@+x0{{1RO8vv0VlNnHN^ z{tp-NrpfEz{TLlc*I5dB3r%u{lP=Gk){*eW$62VN?5ZzZc1iwdO5Gt^EI*C|aiPOv`; zraWY2{ka<7b;^)nzw@(XbYCYuBJQed$)^H_8q{O}9Y;FeblP8*HaRW>)K7VX)fecg zSalry1e!D%vIc^L*3%5O#moBQU1xF|=w?lP7iR!CQA?e)M7tMT*?{C5LR9WNOzf*g zY^f!g7Lqn!e;`nsbUCCVBAnM>fZJ?-SOg=$(a~KuYw%4);DOLSZQJXJR<}Q+CeG@Z z%}BqT^|1?17lmwDAN>clwOPSgvE1R6m7b}c$|1}N?KpS1fHU(eYItAIuaFK1rBB*h z=$7bdE_a}p!hRQAD43EaP=pxq?1&|`YZy{W2N=4jutjahgX$|ZqnA8#lTTM0A0xj$ z`L2gBZJ}$2jz4qq#=3Kw)hULn;<~802!HDD%yjct10Wy!T(xw|s%~SjGz;9Z-LvF5jpoUGDv0qIZ72I{MvEm+Pz6TXKh{yUIAac1%9N zdWkm?wTBT(cETmrd}{2Y!a}QSKQ?n0My~Nx^JzJ`B^~H7&LRS^Dn!hw7-0Z#aYCF7 zh3?Vs24IVtmud?JCp9|M%H!muEwkJu*UzgoAX6fon7b65UIz+LQ264IBaBPS2_N3~ zEnU78qLKYS*%<&h@s?DR70ypyNj{Z}KHKP6%)To|exejv*oRXeoS zKm>l{kSi($CC+G*)*aXx&A(W&)dme5%L8>2Q#&h1cRl{ojCM+1)s>5N`+_Pqt(XNL8KHS!d*+q6IU)(Nk0kR^JbPc8N> zmzG~zKZ1cfz2aF71FUjI;|z-f9u@gD0t^YMMy~hePDLz+tg#5&66PsXA3;&i$;U3= zjBM?YAN@cVX2w7<bAsnt?M`r`%EVeOpVxykG9<=`~44MRPs5 z}trAG@JLRb&-9VPj6x}WFp zQ{)mTJ&1N+EZ%zPPrJRNKcaj zqyEB?W}hY_J%a$hxB`^K_cB7cbqtmA^af;Rf698<&SeNoo_E=P2py<;PS-H*vT2rk za1XK65(OP3^?;)yhyj2!h;kv~@hXSjlPr0Dzh|LUZ-Gskx71hv$vN$J5YMutNo4x3 za~lvuh3!pjcrM04qG4}8%F*bAq(BFMGIL{IiO#v>Hr`j8AMie`YDsQV{s|`37?fPi zwWk^fTQD;Gc?`^%>ZxfwFZtLxEma`{Yj5sEL&#g!AH~*ZWx%FEC%(XYqb77hIs*$z zd3zU8hrt~Xf2)}62%dHb7()CLkP&u`oGAO}-Y2VIMxe^88ej!}d8FJph5+wufcNu(mn;{!wvjfDO-5+5AczqnD(%0d zg>u!ZUe^sZE4|_>13STANWl8`4G`;3l&uKqpb&kG$Cadxky8(iby<6=GCYDslHA`VHLQEjJSBo8&re;Kr zbp9@Y@sq#5UAg4)9o_Zh=A{YHdaUA7Sk@rQd~EL%aqB65iFinfnau8w7sHpU@Uc<-5rl-Gp}Zlc43}@Z#BWV7TO3e_wIAn2pzFWR z=LbRfMG5Uu$Zh_7?J)rca+*7Zmo~NKgjLUwVgM{$@Q2w=zO1|AJ8pbn2CuTvoA1+P z8{H+0S*43o>`u{|@w3zGVOHY~;Vdnsx46#^_)0Oy%GleLBTX(u>{9Rmb0Nxv}azjNAmR zMP5@^{$>C0Z)~`zPYj%2Q8g4HQ8pS9F3SMH7gdVSd9WJM)m6fcnn8T9$^;URTIpW8 z^r3}OS45(r+jcPjo00naa~1c5vTvPcBrY^wz&=8(BNTD0jY`!xEC#R9v+I0e;)R2? zg1l2()QRNR8i-)GLGt`Mdj<&jg(QdEy7X;1(iOr}+S1GCHammSayDvo_{^?R;qE7pT8T5NrtEyr2p0V+|*B! zc(Y<15aKOf12~#58F{8!UxIdzUaDpdD6gU=m6#!vZwcp=7Tl^*5Zk`V<(q6HrQFH| zrXZjYp^$rDAcI_PJ4sjdUxUw+cEmUulAm-{<$_oC z;%{v@sWmKtR6M=z`U^9=3d$D^bobNQ#k-BKEFna3D&}I=Y|mPWUHP}Gi?3CpflhP$ z5@%OA3{I~0{yaJRR%nfk0@4Tk5ZL9Q*lWe3^p{8$_zNBfJDilGJKpdW`aET17JK5s z7|`@|GZXh5i>!nbB9V}ebTk70)g>{d^ZBg#)a$=qX}%EO+Zp_MDQk^0cqPng+#2lQ zc#R^*o05k}m@h)j$|_a8DEQ6<8~%=^I)SfM_^!pmKgnBy5W!r2Ymx5h6AHZ zETtCv+)LxTVzSayTfbgHrV=D=wSnkX@&|hA%Ba@kba>ydo`K%1y6EYk?j}rtS$jZo*;9W4g zt_cTKI-W%pI7Df6{CiEx+=83ade`A|I9F(_mlV@!%e?sgh~^LRUXSmJG#RO_8odClMb1lb&E(Fu-}9c%tkeumQMRofgOv`hcYn{stj`2 z%{57@aw2`@5`6sp>y5!Hkr&fu<@bKP0^D0zRY^@U1Rrd^dPX`fOmX_P!HlcZT5u|* z`mcK8@Zq$cu&u50GfZ)BO-7YGSVu$taYW9X)`)*nB@2ZUKVe-vBPLC+)0T@j0OO1Y zJQww)t2*Et)=zRLQ=1;IgBJA4x(Q5cIIUZV*D<*04{00rABuIixCmmF5bdCk3KK|{h zq&n;F>FkDVTwxq}vFg7bc0bRkh%l+9I=uGJ$3lzOs}9D<7jFmMPv?^xft3D|I%_Q1 zfS4h`sn!!RljW{ZwhFb_aj>YF&@%zmIM+KrBl9RiXb33UD2QzXi=x67ms0I;AgzET z9ILDUY67@?jMqyM^0L-?&cKwB$Z>>uK}Ua~8!uGnGqv?zjlrX zGpG4P&G%gUFGVCNeZY>ktct_`V9m)T1tMlANC&MQz~+b9wURN_TI$D4L zWk_li4Jnsu7X`+E!gll}RWpTd92H61n_aX0SH4K^lVY*s4)1x^8yE}Gvplc*X@{kD zGH8{(59cSp4F|@ANKY_Tukm{FD!F3mg^>G8>!?F@D|Mt4&@}t@}!eJL~Hdp8v2W+7pu;xKRbc=@N;APJm&P{GRiv#K3NyRB@m(^4*;TrY%Y|nPs^@=i z&)U*#e3VUZOA+X>MD2&TD9~fs5aDt~^vbzVeI zmb**G7cHsq5Od|MxUxGBp)m(jFsAtxhi0&lH_L$dDl`}&*3*%eCb_6U&c9x@w0nQ1 zD`(^nRv0ds45yKZyF-_t@l4fUKwHlvUFnyNXDe&XharsA7{N$3pEPtS^X2+(Jt_ef zL>^&Hw=dpyTThCl3!>u2Qn(vR{P`Zyx|9o$^7@X;jV#qd^~BVUP2BUUmu3BhSm(m& z(5K&RSZDoU;&7Iv^|9E4IlJ7$nxzzYz(OCiip4~6)r0UOy0{usfyH<=eo3r6+O@N1cARvE0>38x)(jDao77bwN#9=KO1w$^d6+ zXk#M_UC{8UTo5McAZ_XS0l=EYUcH4Rhf;xL4YTUstN`)sxfN(tsLo8_4BMh7rGEeI%j3axjX;P+C8spne+;uMAsWzT- zKLWZXB%S`8d$tJVoJeR7$57jGCKZB^g#0zx5L(`3?YR(*$oFJd2~S-Mm$=JOq|c2q zUC*!SaDvfv9uY-EU&h95J}YSnp>bmq+lI7l$V-H=EJ)c*3b%{yXJs@r?Jt*ZV(LfI z@@wev9iq?L0DXfy(@oeSa%HW3v&jks)bba&^oSKZYm2P3!x`&5!~+?{_OXZ@R!Fz& z&xA6)SX-}l9+a)e1+>bx-g-Z;oa4_UzLy3vh&2BBrP?g^5D?=zDW-aa1~C`0->!Nt z`p>Q){e8K6cii>^wet&7EbgC*X+BG>NC=Db3ZS+>1M%b>#*k7`X=9TNEy{Q%-Z8B& zRr>)Fg5k^b$i1cbchn5uD_8E^31;iA8SiK=JG-fAdf?8Ftq`U)l7z?GaCvyzB`8z% zvTQ%V5I<{}i?@7ah7y&K4i8xQ$A7m17YH(jSm>Zz6Lnu8lN$J-nD9BdMewVhO1&cX z$jYIa(s~4)0av*yIW!edzBcr#of1Bk(RhJplQl4-6mFWNXB`tL(6c5HV&j9QG|z!?T94G_n|Q|8 zPDm28Ar(e^d{kP|5Qg-4gK~#VZejjmTL+`N$RpD>Brpir8LhzS^|j4x5t-3_)SHzH z&<0z)mg3GL;eeg$&-wdFOP_wH2CqbZ)KY_1Tc+_$e5T}lTDCKnwY2m6IqX!9UxoY! z7%@<-$0bq~azC^8qj_4hSG@M5R?*_}B&i*1V(rOBFFEslw=yUjM@9b?k1}Zlq^nDv zHOuJ@>A&vb^6jmVBZ9-wyk~j^J9Qx8W_NE1EPs}0@#BDH2d_7d~w7E>v)_4U;J8ZJd%wa@X|VLhz8)q0NanmTGhGio4vw-p}@J{TaqQw&{*)sv%S^NZw+TBzQK7 ztPRZerW2kz`ICvv)~~bWuAf(Icgf8f5@;(zTCy7$Iw4YzKmdI}g1^uxe@3a~i+6EW zXWQ8vaely^$h$##4b&12jd4X?5W&pDV|f!6w5%F8esrnb6b#NUNbFW^XZsh^!|yjO zaF*(={4x`7Uc0~y7Oh4HeID$fs%~a%5&cE!x`vf=38WsK5yo)UlelB7>4bU z{%ZmB&w5!>6Iv=R4pDSP#5Qy7`f-LaM_O|xcX$z2m_e@>RT^pVatDbyCG~S@B#VX) zfB$x2c?`kCDWcMpAd{ImW0!$C_;<l~8O^YA3|+BE+|m!lDL+ z*wW>kM0G#M;sRTdn22QusKncLT!rMOVm$!Fk*?=(U=>!1*teuz63i%f@DQ%3jgRBe z-HMf)a7A{?VC-ysoKLRf4`sW^HV0s(=(C6^683sD9G;nx*ydp>HA{Fd_;QTalWn zTuS{^QSHaYa>FqWKz02Tqh=@P!EEDmxhHxk@m<6IR#ff&3_3&mA=Ow>QMp(a1DVUM z=!vF@-zDz*-U{Suxx@N*zsScofyb$~1&_8(AJ{>g5S5AaGWEy?sc1y=F6l5dsSMY0 zpMohKrMqz252Twb7N0~!GEX*^+=o`PA#>BDltQm;N5V+pw3azhU+!TH-o8pC1U$9X z9fmh6(yG?etor5U7FbE_gMK!*cLCHb?bCCl~{Y zWOXict7@NJ6})nWR9$4W0yocDx9wl0iyeRTiu`tbvUtel9y`kNj${@N03#7ZW?P9R z2b2Z!Iy_V~gs1rx-Fd+NsP>EHo?{z$bU;SjHM1*vjelEcT(&~mEf+bx6^z2C06tE} zK(W!?V7Y5`;->fSp7pdu5r1+;KvM zaB>(pUP1*d?@Z73eZf`u&W&dvhNW+MpPK&b`pMs}vJr*MyawQaBY-TSIkf1yyQk7q z)a%hKUQAy?-Z$yH)rE-NG>0UZsog(5Kl+>7@CSv0I(U^JYL|P^rMuaFlFxU%_LF3C zJ@n>cvMB%nk{uya;R{=+@f~racWL6FV4Om;(FTBWd{-1F7j(EV;;l;Nxnf7!9S`R@ zC1~L&j5(xkJfkR50`gFnY*NLox(FA&rGPw3T{~gM$Kc7hL#Bc=e^g|&coXsE7UwwskpdHE-OilYqa`}1$1Ej;c z)87gC@?ORcqiis^tkH!yB9OlKY-u-DlzQx?6tfso3L4&p4 z(cY5CDy~YSn&uM}ZP6g>zkvfO22VLZn6|}!CV@#64Kk&} z)|2G)+t{swAz~lICu1LyQ}C27?NVF37J;Q_@yb_{vdV_us6G%O&8fKV1)YSnf*lRw}1{!dY1}d?alezeFammR(Bqne@!= zPnJZo+u(-PQxjgewy1?!B~`Dtv|>fuMAU;1Qjnd zRFONn|Ejm@!2?~jg_b9~^YV3yTKnzJ-wo@>CA_E_TI{urZpNhqEwQdvU5S*T%$pGl zAb+a6p9!w=h_Ps5UqfJY6R3N8|9)(hXk2b9(vsSVX+C5RUHRjQxJs_)=UF5F(QO3E zh%T)6cR-jQzM|a}FMM2awuvl4##XgMzVG;!%bGOwVmH|Obq48W&aU0~uvqTM*o1|& zsA2i@9&h|NN8S>yicO-d%%lA{vyicq>G~m4Xe*Z{>2O!Ho|M)Qa`3AAm7UDm9)c7x z)EghiTR-lH1E3`1TEq{IC-|Ottx#kD@-f3}{I4A|zMrA)gCdHHgi zMmQ-D@Rw>mf^28`m@=4%{Fp0yTj<{rXK(wL@S5yYmC~niGrlYKC)hdBqgm0(;tqkT z-4OfHg5^#+)-Gl3XJKiHc-qL7z438+`t86{%IKsW39+?WJM7M{h|{nrdR3`*f0mqnGqhIe7V+zT zk);i1dJO`C3?mbsW(iTiPBOI?6%5@G$kCr!rYg!cI1!0iY&-Fekg}eW-C@-zV zqW-Y{NLVy@1OmiWE3?{^xyy`cq9cK}Q5qxGxyKTGtl1IFJd5^l+n(jYL@2&O)Rsv# z`14dxWe^K~hE|x&564?;1GZHU3Z7IgxXUlMJllB@OA?q4OxqN~piNlAzPs@e(xJ*F zCd0ZUf$3$81=@2Xt@zlAhe~tXYjyU~Hds@R9C3TG@z& zJK|8c9+NoH2Wi5vu!655G(}BDj|f43^P_y@lf<%uy%ht|uK$z1%sN1t$Y_>^*h(R` zB1Q~eW%pN)rSOFcmf6L{1?`$ci>FyK9juNrhAvFRjW@qaG0mLDr>YKP0*ON948m5@ zHOqtY^gDiDFR2KR%3!8OcYFp_$b>)RDB!#;r~g`Db%sTR!zTC=HZalz)#~&+)yg?; z$rMWsZsWnrel#khA;dVFB457g)As4fZcA`ys-5Hd*nUtpUYPMsvZK7Ic4d z!a=F81+MTEwh9ZHF!C+?0+{=z0XrwWKsZTONw_dH-@1q z6?JG~X$0gU6#CNNl=Mjmo*B*0v$$HNPq~3(jgVgAMgRIz!=^2D+3%SjU#+!Jk{uHGDbyw+Q@Sj zRJV9UpKI#bj3+G0e>tNevzN2}|5~Q9@6Z!L(NJKfLG0 z+vpqYu&r=pw%%hjP3aoAdNPkyI%R*+p_5(}9d81vz!9h4s*tUcnDNPrJ@Jtih7wc@ zKZb}_vTusglUs;)N7@D<4M$Me4c$GjYVZsP|cJXKD~c`8!C9Y8UzJn#ko)Ez%@fb#P}&dXSFj zj*B`<+()SNMtAwj(;E(=Y5|~aQJc2Q;XSu57He6P4(qDxEp~iMD46eh?ve+KcglFv zN_)|#qpjIzk(DO96E~+IX(L~@Hc@cVtZZ?b>Omn9_Azt`>yCqk;|AAtFa~I`T8`;87skhc(d+d?KnP|_ zr)x%xH@OAq!QqJMigOU7HIX59X!>mbX!!g;?CDZ({}Qm7ai1;-Zbin}yIdUz2H5dp zS;`d7p5y?Rs&)=$Z;4jXhy;Vyi7-_#GrKMM%oCzAELN#sEoCyR>&v&RbW&whtw?R? z*snGPiIOh{&!fZG2OT$0gH#j*H3wGU@cXE3h;l zDtYz+W0N&btfKLqfWK}Z58G)7>V0Y~%A8+f8j|w*~leWvWm`I<0 z&Bbqd2-|Ub9gg(yzFWCqAO(_xCGV6GDF@a)Q-+)iqG}ySmfJcPzXEtQsX!Dhn)e$Y z$7l75^%_ZpjF2_U*)_NIM8R; zV1i&?lS2}kr~i{%%xoRWY$c{ti8!_;lM5s5jl@HwAZAOh55;SCm7K~=$$ZFo+k%2f z0tt$JA*6lgVrh?wl+bGE2O}L8;&+?Nw*5g;2F`NJ!_K3@zd_z0m>cOwI3mtTmg10p zj93xMwS;(l_}6;vMEcJ&IVI z5!BZEnZT^;0r#^5H)&Hyt$N_%c7AKpkr5IR4~B~oz?4ut49U7KjK3`B2h{PRT)`58 z^9(0ce1rm9e~ZtK>|XvLn*jm6l5AgVV$lEao$v(}Gz z4N14m>m`EjyDn_uh`iiR<>A8%VeAOssriH!LGAq)wbK+slr9^EF=}m{w3*7oTydiq zCxMZuD9WXmBJWXFo(bOKkKhXD*=K{+j=4gE2?rqUn8krP{bq%64Kl$}T$LcO;AK|P zod-$h%dGJAY#*8}`}<69d;&>cd=D4}#AlvTHCfoS{nH~mbc`mw^kn!gd-#uZzGNbG z`%&5XB1_tQ7a5_V_y7G0rm&0Pc)4Rn_edWYz>askh(bkrhT8qCwALgJVk3ee&7XiT zi}+gaVI6Mp9LT648yjyfBcK;5t>L(wcihk1KhvuElM{2pdz|ZFZQw z*Mf<;@lR*X$4>2-A4eT4F5B4gikFk1QWdmgrJ7#xAY;kF6I)5i+$!st5yA%JP7|se zclYc%=R6o=D=QwWqOIwAMHNFxNDX52YbhE|p*KD*+7FSp5>y&iGEdam_^7Y|6g145 zn!MW0Yr6k>NLeO>d!xSD`_qxM2(Z?P2EqzdBQ~xnNi8gyGtGQ zoyvt1U9L%#E^@bAF zmL+!OakS4+4p>3olmGEGu|}jgv0mAzw|iK;K+0%YpL!~^#v!g8;mDl)R%B;(P#m{Q ze7_~_S@l%oD6z9~!x5C0#Wo|&gL%36>qIt~)O$Us=H3!ORzwj}S_FEz=`^3NqA~14 z3~E>FNg2-VKX@ctiqi>Do#H)jDV#}%h>~>Hvk5NV3D?7UsC~`sdgbihO85WwVegZo zcBFTIMuh~=sZXiLSW;02F@Nb00RVd9U9K8yezcBrjIZO`g8nYJ6W>;tXL(g0e!sce z;J0@kr4%%_oR@_zLbd(N7%0i%G;jTC*88jo$JClsXEg4scVn+DxFto)xNNE%*v6y8r zQ&7}>5_I+RztIV13`C=OgmK84u@g*G`wLw;7rzr+!nu^ub4iZ(l^Owb#YrK}SI%W{ zd`eX6d{GWxa+kYi^b+mJq^*%_$%!f={3ORWp|#3&jUYi>;-rLlPECyafpnu?%okWO zv9K-=evpbk&6@g-xi@}^CTlVD8~-1?HrB&TOK(jO3`YXQEm&$Cwk07U%}7O$GFMp@ zWIV5xc1VYvAZQ~?>5^5Vv>dEQj#~^cXDf1BGT8J)%%egxxxSwBC*&F~8K&!A_og=j zcST$l+jJc6{$eRhzJCO?i>+OZrPgAmOU~%{Uxp z4s4La_!HEa-A~QduMtm?raJ3MD(%PVOl(*^_L=2k$aM8YUHv0mzGwR$k|=OI;1_Ef z(SFD%-=r;NeMRWRDJ4h5yld8HdczsK8j6MsauHKR8!+>%%Mf!kq=rVlJ~UePdh zrQU!C=`GdPdvO_Jn*bg)q7za(FS7=bYn`Sq_2!3pm zu9t8??!bV@EorDJC<{A3Mdg?D%wk_Uu+nnIldmVLnsdJ0V#nG1Al1h7U-z1i*&)^# zAsD6etCh~f(t4I{e3VeN(i0XAJ@uTJd@xB)*=<2RC%(B9K;mEu>yYJ;voMcT*qolnLS=^#v)e|I(>p5l2t)Ryd4$b}# zm;O?9zD$23+skU|{9Wj>N~x=VJPXE_%tr~a+A7C)X}m+l8Im3Pv5ZHaQZraY+?(m` zU!}rD1uwS_HkET=O?Sl!hqWfUA0mVRaH|d0-CEn$4$Z;8Uybk3#gP_x^NZ(-LXQ(vifl=$c!-EXf{4 z-qnAN6iaM0c|v<~7%<8lH+AuL2tbLbg``WD>c&4BZG1>KYJ8j7N_hpyu6jyr4yH7} z!y(k#`XR}!w`AS2h8f=Xcv>N(Xqha(^{X;k+H3A2z4vEnG&Ed&q%^Edyea%h&q5kt#MM(7?j*&4?bek6 zA;X^vSRa_{|IaVNA)aoPOK$STzGzD->hi6C392Pe)p)uN?pf2X9VexSp>+ME=)WGq zB)Ic``~z>vHIX+Jh*$*^Vd zC70fcv=6b&c2w1`oGdll>HgE9&Sa;NDdvzX&uy7jABv1FB{+V6%*WG z)RBNOLPwl8>6;2&w?*%kv2z|xz}a=7lgL=rU}m;|aQ5Qw?24Khks9*lly^G4?&2bP zLBG#B8d(4u+8KmdnI;6~fge=DzO?^xenqBLixFq@X)(G-UmroaFgJUjvF3KR7ZRez zdXVnAqnbg#N6;f23K*$%-Fhmny?BX|N{M9yFR}e7AKgXA#~RA?6U)`Z5K?B)rwuW{ zV^=_mHomDpr?nOJG5dj*e?lW{wJ9b0DNel%HxZ`^w%Jt&M4W_7pjJ25dwA&jP9m9~a8sZ%ZxBO}=P1dCzz2y4y96k>=JD8AKpH$0UOq(R@&{SMCxdWLj6x9fo zeT&F6y6fe2Hj_uMI*Ts({OK)e&j4f&x@1osnJf|(iRWFU8RZnQYQ2$LVH}Lej8x4WZ#kz-O38a%Vyw4JE zewfvtoA%=Zgcqs{-3Cy{Ggv%%Rfp5EdQmo>(@&6qNUdcX{3s3DOgYHJ9K>o+ZS!~4 zb(+tx=;pJkC)zk}>uG-a9j^!x(Jc1m)({5-Mz_iYLTlwI4H_AL+oh!s7iB4KbxQC4 zKi)h3U%rzzg+ax;U#b%J*?{971bH&;jr|#e>_LW?~sIz74hA5p_=Y!|B;~TjJYAF<=|-y41&i zrE6WvlmkL6`%+wKyToa<4O84%#H<^iSe0s4ITgyWDa`rSz7xjo0HmA{cM9FohPDblD=&K)0Th%|~;lmrmE=Q;5^p z3S~70EUdZ?URthYI^p#v=2NQwTC|>!C(fQu0g^+aD1^D?wu6lgORZ}s>vx-n!HIEIfa7?KXN}or@sF};xD-gw-thUd5 z^|fQ16-e2MT^k?g^F6oyI63<|h-o-2^S+B0&WmKVffn3Ss=OrxK2V@JO+yCElsdq$ zQT1P=`eLF?zII`AQnR>1N#oD-!9P2G{2%YZ^Np1^aixe7(i`$gEK&}5Z@~qu{c1!AiW8_{Ht$ZX0}rnk#xMZT1Ham zrE(QWTn{H0@L6h99;xM?jCY-tb0x$kmzse@MdnM3KpBq%%TS`n{%OA0#yj68MR`Rn z4mbn0D-0v3NuTTT4HW$ce>AxGRu|RM-3Is1COtwsAukxMjmTF$Q51k6DH8z-TWRH* z(wyPRWt~qeXObb%Lbf7Te7J1pw@wP(FLLAPw84g; z$GizA9;4Zrj6;?wyPs??T-nl0?pn3q~*{FiFs)OW1mh1C@B2Vl>o$&2w^f@m6Tn zu+{<6Db(qALToCJfax%aIcN4+`*CvqwTR;_eH(zz1tL-=dQU<^c~> zz4*KPxCje5k4{{bkXN~Y&V-smk!g?b1T3P1M~V!Zt!n`?5dg`QOMz=ZN;K41Tm-T^) zyF9doS?e!Q%`vW7Ob`?!ih-^P|GDbF?!{Yrc8xT{TdJFXIB$Qx9#$u;FTLEOD=ER! zB-?fI4F}YhS?#*_S=RZ&P|OJ{GwqNFtu{%?sDI|fMG@QpAZDab?4jPLIPh5OJ920d zvLLIg^Hcr=v|x4>(t(qi?t`p)CUjZ`(yXVlIjP?NlZj=BSY^6c>)~Tw6`xuT*aer; z_AgTe``5wN>_lD=ZVXf?Z&n>%Ge3()LX6aN{NYwD1SsoUTAYpu|4nFcm40c5N7zds z8k)`n`a%A}?EYk7$NV%Ot6=Q7vCuKBl~_qD1{D8DMr@=SdG5%yHuqpSh4^80OkTqd zUTn(O27zUOxxC%hRDCl<=b?hESor-n5a)3GI-TpZI+C2cepNqwwBV? z-DK$Ui{B50DPtJ*P+=}IJ!3@Sgv%l_)2ps+M%7NrsQ;A{VD?=v** zR3;g>mA?0%|3T%#)X(ziRnOWgbskW8*l~Xh>pY-M(|n!}?|V{3aZ-y2B9uU?yiuyv z4@}(CttZ*4=dIe3;bf}$f_d8b{>fyk`f)jY6{4FZTG~-7B-1Wpn!#&eaHPf3KwtpY z1lETwG^L-9tBP$}2a<`=5)u_WG88$qcF2Orr6~|CKO~$m9@Jfxlk2`6a_C8%hCMIh zFP+m-n%u;&+L~7%{9yL+g9-UO zuTZIDi6a@UP*d?&Hj=}wLZfcMWy}t@rLlb|M1L8KM@TIY>63gn!6!C8Di+&Jwqu0U4i%s+ zh3)VZAs~y50KHdkzs4bIRrUq|u@E2Nk`SX?53vEJ_bQW&t!I(QKlrb;Gsczck~coP z#?^!}v(MdYiz`@L7v<2bH=R-(voNOhDoJ#&>W}u?C~e=jh4X z-K11H`(|jpJMEB_>KSJp7l6@Px8bHV%hHxwkkTf9m|mmjWob^fHxf+Qi=+EI@Ty1LLewWcha!Z*%6l3^db4)3)f4_J$@eze z2IJujX|oX-BPW<|l~dY$T6l92B9eg!8*GPrya=r4-1->?uc96nYMLaw%$`63f&rGy ztgfE`yjpiHI7lg~Va6m4YVi=A<5qh5#$VWCwd)$QfvpaJ<+40L=PM`&L zx(`-ZhomA=lBNn0aM^Q4tIIcO+2Z82A<6{0%j@o{ZMs>>VJMSG!!hF(lZ_HHS)24j znu0yi{z7g3=;Gi{89h-3ye5<}DXv>ZNGUtthu~NdDV%MylIV}%M06fz^!xB)bA&}k z>MM1QFq6vw_>a=KM|tnBTzVyE-;kTPhiR8sv_c)T#8SEF z!358~+3=^N@=U}?)aWIW>9kJTCU*Gfl9sz#mByQKhH-om5D5#!KG)Rk|Kh`^|JfUO z`-qhb2P06eXUY6pR0h~9AP-uTG`V)HjkYDCE48LYm7%Gex^Q*qd=aGAgt<^}eULHL zCv+eJwPmhUq8rB)`n;yp(n)xO&@@Pd_;D!c;uli-7-?ZSDAD&XRJ=pX6y!n^AHrO3 zy}vsBR%A_UQklwOosW??p27#KT=Ji=>#LM#cO>mO`F6!NUm5c(Q3gs9c2vN!^DAp! znbo=5f?l}5y8Bt)f1O%_c?)%{M$)#)tMJuje7E$%?W7s-2L0l1Z_5A?Hs|OixAS?) zjDm)>S%Aboz2PjePbG{Za*TB4!tqvSat*sT?$kg8{x1tt7~9M`)I2$nq@gGqq)RV? zL*4znu+i5F4wJTO9A(v0-FW8IPR!-EIvXD)5Ld)3B&%bhG`%5yRby6pv5Tc+&0+N%>zKSoXNtM!9jJfR%OV`oO%#-ujLp)smfJKz*I%7*BX zM5Q2cW_}H*baK-np5O{D~6FP?oPB6k-(fN;VQGgxtO zI4x>tIa&*dyKr5jJ}J1B89=rjU^&zK6zb)2%c&gAmz(bFiZi=T^(M6@gQ|L;FrV0! z5RR$V1Qa0}o1Gt=Gbuw10f>cGP(Q>kwt9vDVE@lD$mhNF0J7yaAlqugoWC21a+h6# z#Y;%zQcPk{tI0e#gK?8g)C5bI;<(NNL;T&Tl?1%7A`W=To7J z%J7lWS7+aFvxb@PIjbIY0q9H>V}#p`Qip-+lE(|TG91ImuxHX;v7;t8MM^cN?DQ6l z*|cu3!ARF%C~v_5wl=0TQikiHJ850+NzujY`~TS=(1I3sgS-kDviI+Xr@!6BiF?xy zG+!rbcFdTCZi+~4y-%qCZ9_W8Ho>yPh}>9rz65g+S&2g)ENkIUId&HNiw5NA)+f+1 zTJ11U`)Auv@fO^s=kJE7lZI>{SnO9gwEj$rQWg z%-9D=yQL=t$-G9_X7WMKB-+$dbe}g3{r1S^59`Kqjn-m2VM&BU?I< zba^F}5-ECKMHYPa4X3DY;_17RpiD^@=HYLXpsCSs`WnQ8BxM9Y*6hJQ3mGfMzle4r^pAp-SIuzK2(NQ6Yb`P-fD> zvjh5YfJ52r3YCL(?TtnyqrVY^sQo|gkKXK-uAX1vOXzH(ax21e}K&V15;j)_#M_U70iB`~~~PKDMv^kP{jY%P~Rq`u0T^nH8w$<_XH!LA-^TSLReBr$x=NP+}w0|&Nn(t#E z!Q~?UWJHvdnUJ~^DuhfRlp5Eqo|WA%@|~Y&v+Dp$`~R1pWDU9B=ZH&I8)D6%1^GH) z34)Odan)oC!mRSwFpl+`7`%ebi9bix<|ZOT1A7&8e_xc*TJ=89nZ`4xJg|oGC}X;4 z^MU7kdUDOT>`|pLPV0Wkg<~%}nOe!cVJ-aUS7~rEl`Vvoweb;iWh_3}c!9SWRGAab zund+`?##8|Lv+cO3dV3_)0PaUkxmoLtpOF`#z*G%KU{P^$5}eBa7o)9pV(%xfHL5o zm$Cg`R*10EPLib&A)29$50|zFmy=04n;$GejeGJg#0!z31hNix)~8iz!>ft$paz*} zlrkg&wgM9uJqXnn3WV_roI;l3Egg5x3_>N+Fo(g3K--QuELmTc`mw2AltQeR)S!kC zYV(7vahO`3Qtk2BzN7IS7lyqQA^7O{RM-}r!54X^o6q>Yc7|!vg-5jNt;a`rc&Ur4 zO2pTMo(PyhgNTbdqGtk4eUtR2{(?7HL_#mEb5P?gz45WkL|QT5qrfv66q5m=PL_D_{Mh9a{Do3OIBT-wQ#etAh8`zVa4^WC+X?8 z=#N;zQS)iJ*rhvR=~ms(K_|1iC=-_C3C2tXh;ju`?x%-p&{OgQ&Cbwx) z%G>^3YU?&UyJ;9TmI4qkakt|%+BQ{CgIg_ zA)^63Zh2m(h=;6u0;m^Zj28gcx=PV$xo#3%32b?VJ;b4s8v`r(E+)imH6af93sNlU z!MV20ME6HhHN+c*RTRkhO)=1|otW`GF~~pHTfa{FuZO|ZbiP=gzgx5M$ik6~5vkCL z_g3ZE*Ac1*6WTbJZ&BHkt<^d9{+uvT1Z3*ok~A_Ec$C?)lA4!3O*C?ZT8Rd22tojA zBDk}#yFoQ7r@HefOImIo;&*%Tws<;8es56=@N9e26SQIU*ahM>u~Nb-ms zh$OU?gs)XQ#@)^Kvwh(TSSXpb6|qOS`1#H zqe8JLZ4qv8NsFneVLp0XRhCj;gd~n)Q?98&1HJj-s_~qUo?ii)g~)E_40zn;wIj3r z%d+{D_cXr6P&ziNczw#XB?j=q6gQ5V9U!YE#jFv@CbwW~0A`)j3tViIM2XH_PjB!| zsuyOt6)^ruhK9Qd%vo*CdDfhlVoud(R+V%0Vug+rZ;gGu%_pBu8|$dcK$V3 z=Hhw+ptSR|xPEN9Utl_$*G=tM@BTQEdA%GbdaFXf-u~r^M6oM#2s>rGQ!-?`ZfCa9 zEU#V`;wRu#Pbmzb%38~4!-%oy5@l+<1#BSfDO6O5TCDeQq1rz`o?UUlohx5KqIFVg z8UHFm&?$)F&QF)jA#MPlI~hp8@a0gLQR?Y`SdDjyz7lBo`?8-fip(RbLw`m|HoWgv z&sbQP-ZJq{Db@KrmTCdQ3|X}u+#+bN-AvIC%D1<0@P=uKIvfcEH1Fye$e4o$gQjOV zVT?upHQ!&T-5)2Ae38QGy&v@Z-`Sa7b;A)QH7K0aS9y(2T)Zn>)I=4vGHa8FCLL*# z$Sc;l+WW)DE3r;ND?2u|Qv#ECg7B5ccV(!GjFw`Egyg99{-H;PxE>Y{jmUTY^`tyDSyn^1Z?l=U8GSb(Lj4cRoiQC-9k-x=U#e0g3o0QwrCf zdn3*sPZ_p%`Nj7VLRVzGgyZ~ymiM7y1 zBwSt6#7YZ1E)dPq zU;%0ro6d6?=`dk`TkpZjIp+$bUlbsgd2Y)9dzgj1y=E4cK1tx{F64Ri#53t{R&@Je zhTJ?rP$g%KJ7;{)6jjz%monau!H0CRNI--+%h;~F;-A$gDsBFHarpgO)-1z5hMZ0Y zadoX>5IS=-Ea!VpURV1+1nmXYSnd!+Q3ekIdXcwPWir%={rwxlI*06p3NjX7JK;-m z_1mV5zktpeZyF<~%FY_WR5b!;C_Q1z$Y{P`!Zl~7uFHrQpqNz`zGU^>?Ei3H=`*Wu z@6VSq|DBD?$t*!s?I>B>uVGKi$VW@tnq6}yx8Nxt_z=bs=w!kCCCitz0Hqf*9)`L+ z#10w|=2GffF^WNX-DDKS;a{r8J65|`_FoI_=nz<9cG9cuA3Ly0ZBWoMXg;OSz)lk7 zcnZ$bREw)c(!*f|uPB)zYvqnOM()ZrHCNp)u>AoDZR8&lXMe##7gm!UbCH*Ht6A8DfdQk=wyze_-h`PF@3nqj-bNG89Q(r?xwwucQ z8E<9jD{JJ{5=w0%j%R$Gf()$p0^;6soAxhc-Rmj?%%ahao$bG=mmqdZ?p%_@SbY(<}EG7j2Can{3|LvDahl%8>RF`iCzo93=!8(`m&Rv$icFfnW zA2AGqESwNnifIh@O~RL5?g&^U&SKT`k^z-2;-R$^tHQ2AO*Ir?^VJ9D1yX6-iHy02^XpKbtR*hOA#@gcl@o6 z^2rT<>phq!d5!*Mr4LB8`C-1;p_LmAFqM(y0ZKMwi&DAD3e|d&jqmtYON3e9rRl%! zCv8$hf8+?f!x#u}g@$-~&8u9%IdveutKogx{??XMXF$NP+2wl48YCyd3`e81RqBF4 zV00LSjuwu21s89H?Z>4qP!bmr9`4Ajr9W*s9oxS`d}BS;+!(LBU{=l!u);3_BGhsZ zxX*GZmb*e#aJX2II!wwe(~`S#ZhM~?DnwTG-1sMua=ivIfH{}$AtM)8nTSH`A*f^fmP3i zTs-5P^EHiH?0R_(9=P@BMY*%wGwm-_I4j4uY0EK>Hj`l|!jaO6n%s!2kFmF;WhjJr zB4yTK19=O*_rvMQ_nJb$u&hG|*%uDx`1&@VuV+%=y@Os>dvSU8?Y8Bm*~wNgx==d^p!D)PpsRx3TNvskLA=FeMX<~=}1)4H?gj4<15bX6NB`Y|R zc(4|>TREE@982^ql$HoOy(3QcrJh}NDJuG6B`q?-!F~Gb@s1*O<3p zt)wfLq=jqTRv`bh#bF!Y_ANV*){4ilTQ{bXW92o*905u(*IN?LWC|i_x{}+^xVmwe zoqr9(!?FpJT(DzVJxzt@q-yimW^@m_3nRfDHM#BvQ+k4FTX;K<&G-(JhLN0?BuMD6 zyCf3UOpeCRl-15!@STDw6EdxkEfFpQL{|e)OLbnV+E7fkLj=Ut%TkxP1dMMXaAR0j zn`0>h6irs8NA4{#ZC`E+NuJh_nqRA0C(w;g^2^sf%G_M+LKNSteh6&=bg>X2uFNX8 zBamUOim#(mOjTTNLxAVZ>`QywQ7*&9WCn#KS281vF|sn*@~cs~;ZVYVTjO@0s`_)M z{={p4h7V5xq11Xnh~>+aoY+G6nAyuvXn#s4<;CweEw>5Q^jKsA0`}Xk1o@KqtT6HX znlrzmaXhb68bXN)lnE#jtW+oMkZ3J;I9Hv|#Ex!>q^SFOVeO#Zl!_%13qI5>Ra9nV z|2>X=@AIN^VJd^1&WQNkV)@pghQoJzL=g#bNQPNhW1NE@#OzMS^+A*LXJ)lg&aSU@ z&-M^vHqp@aqqO%i8s(&G(hj_FUGP$^I02AHMr$(TOxUT$L$hZKMCfZhHM`E!Qox8Y ztsSmR%~t|5V2&bWjnxLitNDS>1UT|1Fb>4H$qZih?P#W8y!P=G2{ly8ylOfRVi#%u z+EB>OR8nQG{4r+F|q@D*BOOo8Bcl(67QT0*@Nx& zBt70&ylvV~K>5I+D}7Uc&a>JMACkZ0vT_CDrfg~?Pg%%YQep!fciL_c=C8DGX4|2AI~X&aB| zc+2TL$YJTZEUQJR@+xE)P**H};nG-F)L={=GT(7m8~Xg6fPj$-M=IkPRy|76td3ob zm=V~SzSJ#e->Rf7nZV;fwY5@AZB+9aJ%n&%>q7GE>5bsx-I~SwZLWnrRc6nW9%!ui z2CT1|SoN@hz>CGD96I|}b$Z>& zs=U^uS6bIpTm&cRAMEZ2o~H1ScEozDi5cJFo#J;Sa{IJRMv*Z20Sw)a!OQBVdSd+8 z^#0jrwG(4EfQ<|DgEgZhYgoB9nRdKMH{i-YJ%O&%#$VO=s2`&~_JMqC3jvx;kWgE{ zT-Zi05(`Gv^MS~M0ULM>+qH00hERzy5t#zO2{GMVzTs9+#rWgafB6rvgm03}_)~(A zm^RalSXb^+%2=pG&JbNyyzdUA!b@1|yk2;7w|cBY>0&S)ECe64eyF`qgr`~p>6EV8 zelI=!W?=PPEP)tr$aFn5y^R@L<=jE1RwIdOJz7hxEhka@yR-4F!1C1PJaEYpa>R(G z^CdF@_?H)?eew+JuB|2WXoe6&sj$A*+rM0$zZ2zkYrrO8XhdBrgUCrp{DoTVGu{Ut zsKB_;{u&VU>28W@g4qIFVyB0Sjo&EN;p>l*ae8L!-@bV9-@C?f3TYA88ODo!ekvT3 z5L-?>6(M)2u?%}=W0j)6Ym0DMD2biV>GD|ZiyeiV*%qXgKuE4=hcaFH>Vkj?YGnCT{#3wI z$?x42^^(xz^_j`PS*)@^MulsW)XiTfxBqWXf-!A;ON^5t6jW46TVK2r z&^aRLT6GnCLu8E!FJ^L`3Bh>Z$@}|fk92}*zEt; zpK{&R%xbgD0QfDlU$o2k-L7F=!ElOTvhF}*tT2Re9&ckoC7Hct>G0j@Xlf9)7rN-<`^N0Do;Q#N@NVK!)@(|Ueh+Ge07k_?INNmCZh!P8D49VfbA60^9Fb72CJF&#$+ta~y{ zsfLLdlpE0{w!bX#2ooxy9c8)Lb(h;NLj>W3itS{(oL{AS35Qg}t1W&!y41nY5xO6a zI8k3;yj`(D$GVPtGp%L3-(p{;O*Ta-IzgC5RXrge!S1rXCTmih;PyjP%wL+?Sz@8; zw8>Wxwx3%)!}bf9rwhP9Yba2FHv50N?0iNBLM=ZQ9(i3@igt)dNzqC44dArx{4Dn7 zGRK_ZNXUY?%}1o{;(jgwfk1x0l8&k!Cu~+dr~4^+eA3owTX>oy+QY`7?_(U@{i2YW z6vAQBlA1HHHhlV@-11~flmracoi?F-rqIFHV>|4`@VvIZB{~neK*WfK>Y{QkDr8AH zx}UD82euV2%>+HV>)X~WtkRX5eE%K|^S%=f$PoMm+lZEyj74)-tO>fDu8w;Q0>px0 zi{f&6#r@4bU@AhN_-bd3p;MFjvw{c{p|Nly_2N|9JIx+))FfJLcOwcU-i`d5aKI7D z8v5w>g2e$>)2ibzV^oA-)pJOSX-k$O;-9E5Q`C3$@E)cc)lyNb4gaE@K|#+ge^icETe906UI&Ooo_u>liRBQ#$R}GlBapn7VNBVW`E8` z2YTKpY|Cb1x*4gm zBq>dWl~mQ|U#nn@No$HFM*{y4+}|VWU+)3YD?ZSz^G_?1N#GvCS&n5jmZ}5w9T}k z2QRy6M@XI6*@-4YxVRFiRQ-&RFfen(p>6w@araYs493t}st(ZQX}( z5&O{)re~m*`{m@eq_%bjwIwjqL6a^4L*8-tnjf%_(TJUZCrV*WAsCMI#z%=4tL~@s ztjZ=9?*_u>&d-YabMf=?^^HHAZ+t)*P`NaXc4n* zGK$m|!9;5r02c37M5vsMg~wX}a_Z zY77Dt_MWk`oZVFVj1GOt`BkK<_%8PG8nG%i3VpE&D_zz397`+-{H*Qp6_EuCea5!- zgSjw4EU`D_lk+OLd(?*t34?us(i)yKjW&!HF=<5vC#H8Rm|BzDB3Rp^pqgHHX=5F+ zdJI0oXHvB7sf_yiYSe5A(g-chq7l%>`c$O;3^j$A8;g_YHA%gEu%?X<4Wj!#l0(lI z-`3?O{*10L0&F=5V#P2IRe@JX0@{4eC>LwiDa9PJmAuBZWJXMPAh$qTJ_nQ);RtBD zl~-3Ui^aaj1uE7WHZoC$lP|7Y>pEAFfOoMBRHd2al81=mL0tdOr;BfGi#H{CxpYH` zXEuXJW7-xA19)}d!O#CzH<%E2S(;e4p2S(L0y|P>Q_C!COq(%I?1;7CN*pI6&X}G1 zE#NGX%#HKr3-98c`fuicS!UbChDX&TQR?)!8rG$G(Otz0z4ZSa}K(J>SPx!xLK}D_OQVRbEx&+cJ5Dst^7m@QygWS*ChX zVT2y`XE?9}3MVZ=hhThQU78B#Tv*ENhpge$4~>&KupS>RNB63oFG!^jIfw_S@l5vv z1_WkxOf)Pj417Z1FE<7db8>7xCO5oQPdriwc*NU%1@RlmLFaO@(++2%0^QiG#>`gZ zINi_7{u?-x8js%MFuz_1 zj78+G^waHM&ZA3w6TDa*|MhLL!bJI1NTYt|X9+`V1P3ewEY^Y%Me6RKTrh33$(WWR zqH1J*$*WPkLlJ4MVQC{&5Ff(8i2(qZjw2~JzFi6G0_(C=gnIZ&b@&pShB;0#usWKR zW6EpMWJuR@4z!omxQ-y)Vp<_J?nt*El-4$R@Jg`t{>oaWc}vBBHe>p)`2yNHX#;r; zvxfts&&H>@w}d4cOdu88MYH#FUV$lKHLHkzTBWV^gE8yFm?~@2o$mn}QcF_VoBpm606xocRHkM{df{5M3~tIGBlSKx9MF5H*#Xu)=BDkvT@Qq)&ZIF6^^<_OkKtRI%W_=KUJ zNC|&qJpjV)20YpWUZl;hY|o#$nGgvj@QV+gw=k2t2KzB|Kya{Z=f4O5m&PygIm}*0 zhah?R5rYkZo9gSFmF;o}Zjd$^B75{ZK5mUedhDwW)BVg0UT33&wBW{W1%6@$N17pw z1L=s_7DwmHVtUoJ;I~ymfeUTP%nqV7C6HwT2NQf@2d_r+tANwqLNXR#*rhiKwScXWJ#Yk{H1kJWip~}j@D=oJAHVXI)!jQar`iAyw1Y`CwbmH97 zu57I=a^8w`=~KVBA|tn?L1v8}nA~J6S1g#w2%wpxQ-}$S-@(?;S#3!FVVm&Wd{(Y{ zx^{@Ps`bb&3f)I*uwyhGjNv_Jdb5o8iWh&`6MYjOg=-%JFPI-FHd|u9F4F_71!DIL zP#wE(I-jv>mM3hVGq0EE+|_!Hw1r$m$jd6pC_(k?uSd+>UFwaGQc_hxOOQbcT5nyZ zWlq%kQR5Bp4ZA*k_n4xvGAKI_ip7r0lN&Z)*2$AilsZ<02ZV=-lbq5y`%)>)knL<; zD6y_whCcL9NR)_FB^YmVsS0XD;fqmJ9rcWrr^-g5$iPl6cb9$e$Znl-)`&D0HaYC<^@3<>HyDp7eaV4_aTz{gY3+*r2;`Kw_eDYOL zND$3!y|-L#g2JUuxg}PTUkM@7s-;&wHMvbrn{?HDAK1oDF|@_;{DA7&T4iEh27R5v z0NN}Ofs;VHbE$TJf_9eTrwoMD$f95raD?c>5=)&ndp#LKG z$lArgl}Rv`FsL-hPc)#O&YBEsp{GizWxnLV2zlP{0 zOo8U}k`M2@K0OK=My*Hep3cJ+GVW8Rv$-n}8!Nq^9Uxe<4Cj=rQqEOGw!PeP!VxJ@ z+BT2>{zetIDRCvrapSQ#l9SO+Nt-Nb^BMM|icpoVHtdXHmQJV*YWo+<{_9mJ%86ce z;s16&&!axCK9pe`l?!ojDWEM^Pib#?EB?tEX1P~N`@9U1^4R)8hXWc)S;LHP;rMSA zs#pLv)Y0!?w>*5wb9R3mV~gT*?!6d*uLw9gPOA3)JkBfn_`<#%z5nF^@13P2)*`f!-(wF&>?7YR7shlhYXkzSv(ou6awo*YLhi=1{-~1_GB< zgfgJRCf<6FxuBIx_^najT)qJlaehUQ?^afu#MIV9)%%o3jrwp9gd0npAfkJI%g!G@ z78{$dJQ{9`fKC{GKt|w|Yg8&6lXQ*muKk5hza3In)CpwPjTl(P#oz;Oq6CZj31Jal z^iAM65ow8ydEG3oz(rr|Q7kQXFxj`coEGB`%zMVbsr)XQgEBBrKx&9HJ4_x>YdN*? zj(!hqp=}2)_gJ;&Qy#1I)%n+%K!JC~U%T3VjQ1jV{JJG9z%cf->e@dW9{rWB1>mha zS~$j`o69;bom9p}i8-dXAZH+?%j6%cnaCQzsf%3@;^s3{KmFHXC5aD$+|dThG-1W* zq6*$uJLNuMoIPA~r}-3mw%8Wva-~{N#Df;nzxCO~xfb9L0;7(%FzU$~<>SBCY&-*i zDk@0W{3U08dX3{`xz^0B*&t_Q*p8!G59dj%!Nhh+;(cUjj*OM372SH8jBkb2elfc1 zWi135k&J$kw3`@jeI;z|xD+u*(g}+Yk<{5Y!n9L*3nvV*bOQg7t3vg zkz(H;DBZYyDA9Fd+cObnXz*wz|1hV9*490^BuI9V0)g&;1 zYMUcrI}cWb6pW#EA|JGbsEA6J%031}PX(oU^uM}gG&dD4fKOzIZ%b+QRG&{T-@wWc z_p6F^dzE_>7C7VRoI|v3`Wi3epHuIo9Jd5b1Up z4)q(Qfw$lawkZ~q`Gi?1&JoaY^D0H*^p?yz7vsn3IU`)_$NB8QQ!?$?4)!|zE`&b| zj@3^@`7V2<49xVVTI@$MlF^gdcvNpYKVvGj)xtBdjFF7Gc3v1)7ZoQ9q&Xd#^RF|c z)ndqn`y_MBGj}_w2bAFqqW#~8qY9L>c8fu zt%MFRxKzP?~LheLUQpWa(W>R%NpJ$E6?241N zi(u@mn>j1t^MMC5xX$T(GO3KKp!s{g3L1>Z7M9lqo@wF4v zew;DCB<2|qVagmrzJ~OtneCUuUA5&VuU!21I7KpA8IFK8;satYO@O9b5Z+Qq(H041 zqhI|;M>0NM&v(7FC5B33IJf=dVdu-t1`>|_%iiP$6&{wg0 zXgooxVMi#~Ry{0TiF1$zWY-oIb^gtor9Aw`zLK~gy7kf%8CN9WuRK3>6n@6zc-tKQ<%VcejgvU!t7BBcOjSb4ERm*iZeIMgPP|i|evg=HCjh{=*5n~p zdnJyo>`n$#X4;OM_LuDD+DR!rdDymDP4_+#yaja9TEhYXC2h{4Hl%Les^nBmxj+~= zCAbw-+cu1=yh5Q^;3&{z6yvh~_uu8*m84j%kf`o)-Q!buUH4&s^nuJf2WpURJ%gtX*E0BwoG@GzV2XTg{&R7}>y4fce|DR!oM)YsjQNneHL$**iZft?kO z*L>{SY0-F5%065tnW8aVkJSOu*>wCEX=v8OEyhmDi9}@vZno><{ww|<&_&jRndCf) z8V34`9qeVr9L5nwQI!^{ps_LV0bfokKU<;i!eS>5yK;Zc-e9ehHok^%Gy z@C&`0eXo8@7J=VoM8-+)6SgojDF9Du>lxSF3;;ew5$N%49x{b(L82-06rE?FwDG1O zlF|xkJ|k(i<|x*Z#L^X`=VcK(D+kq%+%1R!oXjvEn?3+Zq_;w>xa#WGQzn}63^kG4 z-K4X7@}0;I`3fd>R0rq8$|j9V9Ayp)o+!Akqs zwCr(qd-^@0q)w9iTCtKDh2ptKI{*+CdSA@Q0bmbzOUJHSqV_1xQa)2p33s`0S zZD#=P>--ASLV+gwPI%!)7jC>sLoN_@irwF7N8k}@m|L!d?U!kz=6jCh=!EL?Z&Z;1 zNQoU?>iQvfV%#Nh>V76xGXS@Qis>~s-ViWxmviDzP#7)t`2WJ(3_R3tdK`6p^0X zfWWx%F*DoH)DpM!e8&^+olL~ILd>@Mp4usj1(~Np##}oAO$UKFzys8uiveXwJd1`X zZ(td93ER}E45|JNFV$u~K*L6>nA&<0Wx^SV_>+Wwtv1rrZ|Oo zLhtE?V@C}ji;+>2)S7jo`)|CFB{m5xagChKl9{hE!Mry3jCz{(kz16g%T3FRG-D1+{6kWZ)4$lfZ=R7gO||?8;}3G`B8?uo})J2 z8-qa$^{aX!Qe#NRxfRNJqC1N&xo3DJr54+$IHdQAbUTspLSQh$JeXhQmhfXSmXz*C zI8puA!h%SlcYaaO2ovLLn%2jr`Ltm7X1p(I01Hl6FAMSL0_X$-8G>iwtS^ipf9^zm zz5jy=Zr#sw8`#)_(qd#{nHY3g-OZY%B%}jNMrY!~4QD<6t)@gf$B)xp)?Bs1$0V_- z9YMWB&>$Uy)fSbjOyTCji3TO}eW7j1zQ=(~EUskgo|S7@Q7`kk1_Y11S(K6Z`H0PO zR)^zhDR-2xF5j_!Qe3EhFRbcCDK)-J?oqiA zVlP~sb&oIJ*3%nK>uJs>^w!fL5eA(x%F~}Acf=di(_8P^a!A^PJ&HOs>g(pyat} zYlmmi$Xntq#5iktBC|0mTCDhM_>!A+up|L@-z>YIr^8oJmWT^EP_Mhvy^oj74O!@& zpRcUdm)OIY-e<+=u5V%D)9-btF_aZp!V-uEdVI?VlbC_YGCo3B--S=_lKH{nbd8Oq z3}dHqXv-dJQ;wD{Z_2ix5&E4Kpz28YnM-NKdRPDTq%vTH`1lSQwD|$mf`0u!{R5jU zf~K!M6vQLaLP(@^>p=z^A7v-s_42Bz9U+Q$Nb*DxCe5J6i!$zkwb|)$;!|KpgCXs+ zo-z>OyQf4T~cR9QPPGvRfg@5Y3~xp=-t{C2z`$0Srv$`dd4*+w`*`{;n}G)Rt< z;7HL3VZK<>@|j6T&uA#*eR6XOSuAQQ>IQcD#6O=JxAJ+MjR4tEiil1LA!y&YIt3eTaNyZqbO$MuF*$w8nS$o6vToy@%#h{$>E*hHl!}#nQ zRS8m(*vLQtN#(^!{FJa|XTU7>q_jH&oJ4QD&#y)ZjyR6$2wwWo4*6wy!IvYdN{`Xs z1O-(pY{R1g10JnoYv+p+Oih|xYm8D+OOdBKs{fjgUx+lPmbvM$6UVUFe0{155-$xiN~mjO9^l3dWL)FLD_to&Ud}9gvF-P=RPH`+jItR z(ru|7Vx24ej&*}f7i)bFPOKVbsWz(hBo#@W>U@#4o|fLqG!6we8gp* zN*&^NOBEG>iq@mD{+!($Z_*02GdZox_o@f|-Hs?-yY&ym`cm#mx!llatv1M-x(^CU zRl`;0&!L>muMlyq88GehCAs(-)3g%Ux^yzhP;9;MOIhMC+L1=R~%0|Q(y&d zO4Az?LJxx--TmrcT}d>Ez`Z9aUI+=={4wY!-65_fts`ptkyAotexZ<_*tOy)<#Z|C4C=$;&e#Uhz zB7z2E1=CmnV#qmG2~8Z;Kwe%ACvoqJx=ViIQMQj%sNN&vTsSk|%&8_&zp9XIWm#!-RB zRP09ua`{c2Lzy_e32OydeG8bslnNe8xw+v;jDSkKM~58J$RHNr8|bk@-~5(GNffXptx~+iyesn&flx3OXdgh?y0H z8P-uj4_jtEg?%7=+d2T;OZ0pXryxoHgxR`U3sIm*$$UOrU?jZ~w+ocPyfu7Jo=a>0 zX&#J?Gu!j(CuQRW?a#c*Ly#~HxxTS#`G|2^j61KIi?<@Y(|R&aLOcnOli8~T4 zEi_+S?=3vpjyCrN41Ov#mr}d`;>F|^D3c|Y*&}2HxRyPSm6CWXkkQVi_rBzP*g2kd z-o$Fts`cbd3uQlRVBO9thrEyRZOBjFN)6xLu+^lji#hv71?&tKBnMK9=OH5>#aEee z(*ux)#V*{W)>E?H{_A{Y%4IRlwDU}@BQ%1NST&!neg8O|GiT=)NjT8^KP-chM75>Z zY-!S-BE-{AKwhy|sEbK@OV6%CdPT3?rs;#nlb{y8&$7Re*HOHdSXN=(ENKkHMv5XS zrcGAGiKM6?U-V}LzuF1Ad9md+U#u8g*dW9REffdh$xRoxdXM|lIueZTcuCXEYJ7cB zSJP}ln}I<&ZF1UDS2#b`?sI+(RF|Yqber41h%NFH4b<+RjpzHsESZJO5yJLjfDQ&0 ziKN_aM)$_1^}_a}q_G16v5xJrQ1e}vCzO#9!U*rLSgJJj5uTdHO%PW)T>wb%9wMNBLU4 zdO}r%T4!Xm5svB=>ja@Y50F}r3a{-7O|SqCgNn#}18YnITp&k|m5naNmPf{iVc#O@ ze($qv@Tw0sy0I1bdWB7b4Ln6?x~fR`j@HqY@y z4uLFT#@5Lih!AjR(IVp%s~;z$(JRy8fmtdSG9;l*Gc*`O`mpHg^m>%lq;cIINeA zg006{UiEDiC{#hRF^IA#1TX_DB2`(klOU`v%H}f=Mr$=5j?Ca?uk_2J6z50G-c&AP z*7{j7x$b!@wfp1w(eKuoD11iEY7Od=hK`^laUOII#I)S;tuTe80(&2@pkP9e!g|_> z7J(s3TAhzHxZWo{^Fv%FRZrt^^i-vl>&mC<={W35{L|6g}2ZCeBpcfelAy%iZ z2pU(LSpWHpGTwAr5A(Bcxbz=K*bK)TFiMQ$FeFdt0C|-kr~f)9yT~K>R03rR;c=z3 z`0ZFojS;jBoyqiROU7gnd>hN|q{I4DF3Y^a7)DjHgHb$+t9#=q{6gcZ#xp)#%!R-$ zn1ht4%@2yftFAw#>a%lB5z|gNHnkJ7rpXNqnWc5FEcM-8!A`aIZ!+UqBvu`MFJ=sq zu0#WR6i#L)x1|N7ROL)YY&djyrq|p8iv!J=Zj7VXOm!%Xp>L}lh&jS6+WS#*@m2&; zV2k_Ty0TjA4te?xmkGp~9i4Q6K`nvJX+13`ceswnch>`zYR7<9$wrA82|aw$155F% z2n^r(LWm3#89-2~(Mtghxeg6#2C6mbI~2iM_U2^NI-`5oU)qlBOp_DGJ z6$l+=_@O@|Hn^$T|KV!mqq2TnR)#bvtfiC%F>JXabH+VyNqVr{L-1ccBR1pOu*Kj4 z<`ynVD{YU=_CD=2HQY@!@y1?X!&jgs)=s#@k}j);qiV!2g-wZeRy%k_N&>(qkaHtN zl@!G?_AFOQh(L1b-706-bp0epT3+SGYd$Tm|2NNp*8r@5XfYU!7;`OzO1=GFoJX`~ zVU*N))AhqO`Pq)wwirX{uer@Q*$Bajp#goKA9?oXf58UuJfY zy6}0GHQuvcpQW#Mews86i=@q_6hap~zqAQ|VZP4>%9>(CnbDDSGFr%Ki@a!h9R$Wr z%*IDJ#Nf#zA~J7<8;Z3rKp35ZCeaD8!$(Byzu04#6$bj$V}wySwke#=?Vm5I7pDF~ zq?Ie(`;-ylPENgUZwyzOZd9R%>hxPt(t{VoAz8|V+()II>;whKgKuZK3y=wr2#aUq zVjCT*rIB?Wl%qQi4m>i##1aFQG!BuHdun_WpH#uT=(hz^%<|LrnoTvk;_BQ4LpK}{ z;gsWaKZE?Z+;YX#NhTIT+7=01D7k>xdaWl`T$a(e7~BU&@Ky|$7h0tWMo=uH3!!`l zQtZooKLKZ~^%6J+1|(yYBK}ObA3}&F80^sM{*9Qy$#nCnfCIvGYJb5QSZ&C>DnuAM z8rpt4sZ=zO6dBCXR8KkK-0x`7*PSmcHNTp4YwLleLvUg{4oC&1f_K{w@G%c3fYzgX z*8m^H$-*k`EtdpytA-ihjGO`zk#Q+eU`>W#l;c|nP^}^{gI&i>%X%8IMM9QdrY#iP zc5JH*!eCyQX4a*e?Q^}5IJoNkYZz!+$LwH?sK_Sn%WWNR!qB#+MoM7|FuMX%115#^ zkNI6~Q9nypq4^Ysh@}+?GYX09tj_2m=or!)wN$_QVd2k<(d~e^nOJ2HSt!aC+n^P% zD_Q|HAv0eS1ERV<{dNt5+l#XEfTy~AGr%!q0sG(1(#tBygM{F{cKOXA5kvE2bii$= z^;j;w0dC4TXNe0INt7tApcH@u*oo~a^N@=Qz?qZ4>#~W2ZFyEMq3lzMhNSX3Uk|`S zIT5R}qIQ11I{jv36X@k00p7SeX_HAKX{>bU92>Qyall~WQd4y z6WU}rob`YX=2vB&u^5qC3mQvAVS>Rvk=SbO{h8kQXnFj-s`U!6(`Ty}G+Bue(0WND z?KpB<6m>s`O0?J`Z{GYUD?M*2X1z8ic2ZS4;sNXoJZs)$HRg>MbX0_mw}w`*kre6e z+EG-3LLTYvr`XF?2I3uCEsH8011tM-W0GwAc{H#fW+aL7CU(XQA8QpP{$lNoMb=aY zQ?@*0v3;iuz#A&(UrIY%@_vzeyQw<(!^6RM_oD$Qu$_q{R4B9DUqdyOtJ*X0&)F3hcW5IY;W*^hbX(75N~<_hS+@*p zw6y=j`0_18L&Tw0Ns=eN9lliV<6EJSd_?3X%M=cX6Vbp_`*}EHi!-=k#93T!I&e;v zax=V_A?uAXU$JHo^cpo!zuFX0a?H5T`M!&2vs&soC(_b9AV_ZTvGpT5mq~kVs$s!9 z;j}@K1Q88*A?$ohx`z3DLT4JKyK>1MM=7}&7XyMZuFFkYg zA6-GGzYqslLC@kX>yOJh5haEhz2t6Sf4`N z2F46`vD|p8K+0>%k5%{ca&{F;c{Jp88-G3Z=jE-{Qss9YNEML$2uod^(Ii7qvhneZ=iFaZA^VG~ER|d;OEM|R1WA|y0z`ng2{+Bmot!#%pM1{F zY3;p&>-W5?heDxHgPHDg_Fn5B-uHQ*5RDjtMSW>}6zv3FK|Y&K<~;tLia-*#dV*b4X~b4U{0X+JtVkImSO7ZDVGbA7 zG_pn$S~VU2d4#oz`b-}ax2QTM*Qi*w-dU030?cAgrmXLEy)a}Bry_i`MZH*R+u3GlY_**VT7822j9LGK_Z~tWpN8@esRb#Pn{G|8vIKcQ;HC-8f>3-Dx9z)6#!ui zly{j%(w?eIkTwTQ{6Kd;j2zNB@W0@dmN)T#1tMLBwFPM#Z&ia5|VSid;~s!zxd6f6Y1+NnUeU z;}a-zvG;K?RL%o;@M1X{WmyRWNzveN1e5ImW|-~!$!t$jgqj!30Nc1Ru~}@p7k7f? zhPnh-MBHg!Kf=3{IhlEU$>9ul})4lxwi;Ko%h5q%jxSQDo z*X(AJx@4rqn(1vt1_CR+FdKz4;N&tREvy}Py+_Qvl| z+n?jKHQ)9Y-5~BTZkt|lhPQm+ueDn`^P>w6 zwZ&Z;L0(Mi_@7QML$I|^o|ZKNUptNae(N((yTR>Xv6WA+al6j;-SG_qc+4w~19ubq zads&%InOh*XuN7D|k30ku3_s^TvB(N2_ANUgqtK+F@RQmRaL9 zx)IuV3$oC?Y}H}{YFxT?lMmppD7Q#Mk)*wL0wa*nyA~xJ&PDoO#kjY}p*VPvRT!cq zE!{2PByTI@v&6?)!NzrSM%oMglLZu zU*AGQ%zMgNDp5R_^WSH=g{pt+eEJe>p(s^v1vU_w3gDGUn3Gdy#5Xh%>^# zmH*-{Udq9on#{?Gm5w`5>bw|_XrPP+3xX6_`Fa}@xN>HaU$JewoMAQ~gu)>5H+ENT zk15F}_=ZJ`mStrFL&=pyT0B9eo#t7D&E@9X&c$nP(n{UfYkz`|fceH4^FFEY*WHYx zmsVb^q0ueV2~b*Ck;>U7$~S+@g|4&c5pYk5FRWwlhwDWTMw3MyHy-B~uknbx9|-Qu z_)#z*G@V#CWlO4|RppEwINO7BvTD))Db!wI!^+uyJDqL$s2_b^2_YyeRFvyB(qa9; zf)rq%d~#i5<}r}y90LJ4zY9D~s&IIRas}qjl#1m`yDJ74+}k`)0JPX`Jf{DfZ+kd8 zp7PMbi9Bv0P|+r?n$B`FE1xliG`0&~X*g1GScFq|@B8!f*Q406Nh`j~=NESq8*_-iKUcJF!3$4QYEHpf7#_SB7J zf?!eis}A;>amyLrB<4G*A|S#HROBCKfqlS1&p6$6R$DQq;PYQ0FO2*kP{O9%;(9Tre6p=91ldScSnkwGR`Y*$HkzW;g&uX-- zbpxnmU2~V493sI)7B_^?QqqKzB4Eo*wHQd>f~(^%I2RIyLsA=D;$s^EQ9F_a0bz{T zU6n7K`V$BgEG9ibyAsoqv+*7hzr8;lDCFI39HjFNC_ro;k3y)Vugq@$EG7gIRUP~A z{Pn8bq_gRj?BZ2-@S@*%vRuiW3)P#XAR5WDuZmi$;&eVw1jN#Xpq;AGw`t`Oo6D+ z;tR)A`MW<(qk*w&I5LqqI#{#lISBL=DzeyQ@-3TTx%0N2`EHifk!&jnL#g-6FTKJQ z`wknI8nXSFv;-BPp#oKWZV6%6wF*nY$I_j_K9YeZ2i9@A`{S4Z$q^3|;y?&OKiyX% z^6zx4>zHj}J(PtEvvz*Ou|jpBl4jWrEt%Lth>12FyN=H}WucBwf2%6tSV0;s4{$=S z9VfMCJP=tR!bDg#+}4AXLZc)>%qfga!f>70=1M2)J92v; zu4{*GiM*NB#)q-lWZ=)WayEa7<9Rs6lB0Hr=BxD(9^taf$%sGxmKTmzeBa;QYTwHe z;WX#3SEu`~M@lw)8z+qlA34S==P3&!7tN@I|2XsTV-^Rq*jhf_3m7-Z7TolsDDDWl z0&_JJ%+i$aN%C&3unA~A%xVW*6!@QQv!oo?x%@AeBnsE@tP{#f@SeXQ4jQ{mL5*CL zQBGRkqrCHZmW3Rp81bIFjVCE-Y8&|Qn1-{dz&J=03?RP$zn=V!(FtA8&o0yQpEWkySU<-xNV1mGSGN_zEnPfKHGEZE0 zz756KoSemYDbOvkDzKmgo144A)a!ggM6p13ox3CF+CLdqPeJ6YC7oQ8k(MWBi_mK0 zYt^4n^8|~$Jiu?zuqj-F3a$|ZBPJ#_wtf+p&&_-R z@GNFlLEnSl&6hn>EK0Q&W!os4v)D0gmFPy zqNo_YfT85<5~pML)1-V7k8f5`Lhf_>?EG|n_Ij9B^2Q@&S#AcCYwmJ0brZMttY9C- zU4Y?mL>-BA|CFMwgiVcj%MA#z)kBf&af^VSg)&A8?r==ng4FRqC2JHUj1P@U;AZGr zCYODPOlMj9)9J&%iU2fNus+z6_b566UKG}1W6?BXN15OC#s|r|#uRUIg^fg0t|+@N zvpI5~M8Nru+@!DjNK$~jOt1BvdcA~RPpEjpelS0G(lSlVFhkW|8YRzu zql6Z51_!|$#zVQ@qK*<E+^WTnhJ;od$3eA3^ijc{yIKO3%;O*0?ynBM7iN({;m^4! zEaJdede1F<%$}8%Ryi){@k}iWjiC;>u?rBf=y`D)?AA+NPZ2t+mb395{nq#vHRZa& z-)}x%ExSQD;hWIc3Vc{K-OYF5Gpq1$kG|zQc~#9*fv+z%g7O7@b2QFoI{~7Kxl=jz zO%#t?H$}XRyeG&#C;N=|7n|OEmm0}iljls`Ci-Vm&1Vp0WllJkOUwpSUg8_NM837| zL&3nGU72l;3$YoRcgnSX^eatL(JL}Z9jOY(%>{F2)?y=f#xC;{FhLsVq@JIAmD&I> zUt2o0I<1XuoW z`s6RwOGBr20=35MQ#E=cDLMC8rsuDfTKChz3x0|c98;a~wO~!CeKB}OkU66yiksB& zAa8Xx#+AQ+@%XQ9c&Ss9auObR+gr9vu>4E;S~My%q^X`T2e5UMRh;1q6a|5Fr)INd zZr)x}=zByTV%TK1zB})%j=xbddXmh`;LPLG$RL>(Ih-nQPr)r-Lj1Kgrl2~DV%Dpl z%t=u>%g5Knwv_CI@70EOX$MDICiO#PJ03L(n>mYz9(N&|8Jw%71PI-5jBHi?D%+{~ zcolbo`L<6$k(A1G{ifGmwFT7~ak9d^W4_A^P@zd9d-i%X-|}r}XU2V{5x4W{TL{BV zBE-Y0XBM>}JOoC*Ow5zvEfg572U+tGkxD9`5IPv(ZFae{9YTt%OKaYz=(5NI9zn-O zyu9A5B=-@Y?4zVX>!zM$>dRh%AX_Zoe9LR!OAS;R-VS>oE-l<8DLcDA z7%e;Q#VdaQB_HO`l;ng8k}>!6+dcV2u(%hS?(~X-3U8ASNl%>7T5P;a-9Npohgsoq zt(xo>B9q5pDNGC{i!mY-6E4k_pb17GV~*n-{A!5Bh&;;4RBl2m6yMIny0iq?ZK6TA7#Dwk?+tGf_~C{$-R)v0d5X;7q`lnnU3|x><~RJR$cewIO-R) zU)z%~?bH*~J2k}orGt-Fb+7est^Qk53X4hQCVj5BSvT2mVy@x|1#K7uUU*J6ot6QP zb(}@OK~hsqB4`|)fyUYz(esp7ZA`yfkCNfdVAU!{ISCox)CmCF`u6>eEKA8c_FmjtOnO8327i zg1ZK5AB?F=bw3xGUpE4tjcoRh^Z!EW9IR`=!6IRAGT~IA>aKboM zIy)|kt_Hdb7AyBvRRChlI#~7;swHl)7ZWi}UA`kNuYw`g4JvFM*jzj0vF3$(DN}wz zd6-??p>#CwJ-Zz6EYZXYYVfVXfIC863Qb6B(2Wg;Ojy zK`F@m%AK8`OisSusGMh&^Yz*5k&)zsg(oBGZAcx5&zWjR_Hw_Ry9_uoKhZ3v*kQz*SSIY98ftL<+bD0 z;Dt!iA@}khj*>=n@N1R+UA3DlI@)DSrYv&fQ#vZm7pQ1kj}rI9Ie#^fjhw)Bk#Jo2%kp*ihYH93nae#V!H+GbL)K6&WX76y|?w zxqX}OkP7UjoFf(&z*G^2Jv+@HMe=Iv+`|MsR&jS-Cwcvu)GedD`DAhWm5MAe-K6YC z1h>&CE>iLw==}~*U}Yg{(n6glOw&mJtCl;t7P>k0bN?lO`{(iDud3YgVJOJqR9%pZ z-)$ba$KPy#hj!e!T{5a4Y7JP!Y%rOF5nJ;tP8~@k8S3YM--~DVox)!$YtV3EzYd?hQI6uAgYmO7FAFS0i3dGGyvd;>W|G+-zbEI>jgSFBy*u#CvbM3>Ck z6*0+Q!dI!DWoKW3M2#hz!7{>jv5;v|;Z%;j##8FC`Z4q>Cv&D(B@k5v&~rsEORDjh zYs4B~29Xj~LxfDJNLLMR0|GM-=>e9T+(MO8xc=r=vaU01Ui3HxvH%jHohE6N@BMH+ zyj7xzm(`c(%5)2Wv&0*d8{#j)kqxRc;~>04YCsN^i!2S9CBS|zhfAsLz;PZ$BH@TH_w9g6aWQH_KkZB(=|mV!MRMcDfTR#3m9uSoy7F4T7}*hn%3m zoLD3#;k~ja#Tu!#@@0T?=DfbwIx3wqD_yZa9ma z(eZtnxseZPa5)hJZX3qzH=V&9^CaVtW|&&z zq6EIEAZ4@ zi`g!X;5dekS1O4vsGmelx-i_L;bA>olwDO7}c?IfYvxfEnF$;(9XkTE7@;nn~43Gwv4 zv-S3pokIi3;^};rda5AIv{O_O=`)#{iNUpGmhay9zx+K65p=#9wFCQG@zvr^RvNKG z4BD4JH8uTWi`qk@0}UYC#pJkfzd?mvsNk|7-*}&4Cjqp_{B>KG%T0bJdeA;3pR}Ae z9;1XnT@i5114>HaHMuTwj%dBc{fhc|?KGQh@p>pxTRJ1aPX|u)3 zq@gqu8#9o@7(zskaQeI)%#aPhFCU-+HP=4NC0MnJFd~1!G7aWV?~~Q|GI#y53nIh` z{VZ!fT0Z>?)%ufsaL4L$!9fGEyOH}SP|=u}wL{8IvqNL5ML|!;pL=fS$IqVqn^%nK zu=m5|vtN&*3r0)R{UWrSIFF~S;BZFkVxpOFiU~8rrWOkeKVy^ts*yxbFjHIVp9W!v zj+YY(e@bJ}e3C4?{^*u^R<$u{#0VLumWtE7&z)>DvhsP}e3HNkpxV(CV#a;wtue_< z%U=0>b^J{=Z)m-t~g;nZ6RtuCK^ zNxxM?%p8sC0JwZ4b1V#}#K#+7&(tkOK(%s0kU8T+3n=%O?*5;x&81cLGIRn)#Pef3a4dOpa-D5< z?e8D-K3cUtcPeM3DBEnvytLMJosOr5t6-Wt-;p{eFZ4lt+{Bq(CekY_>2RuW9VKN` zsNmicccE~VhBS+TO1Xci&*+-ZF;d`!o zc=}t65v)J9^i1f4)Ye9UCKL+b z`9V&e?!(4`q5YZD{Q%;$JkWV_i_Ibm0EU)~jAV0!nYPWd*Afpf9jj0eK*~5+q!G1g z?a-|rNCy++S-ISB_kNUwLob*S+1q&Z++W_qR7Z3mh!SR13n42fnaf31Qa>p9i-Vkcj0a|{)MtxxmT!!`7< z+}U_PZQld_UUmc=DTK<8^U4Vx9|&S*aB0nFR&fn!_mj1*Txa*kbEusXI$DWg(6eC` zMT;m3NjO8)F4q=vbz$Ht{+aD3)pF;v#CWE7W{NygJ9J6kHivGPv=!c*gm76drA6*L zoA0j9-Yl7VJ@?$>Ztd<|PI#Pk|8)BFFSaOfulY#8BrS*r0Bx(L+xv)IEjlV;;UyU( z&$c<7x*sQJZ-j9NS)H}uZqEH6-!gCZLP+YmXikPSL*=Mpms>sIk+Jt?T+Nnf6i$dI zGv**6$7MzVJX1-%N@J=TLNo`CoG4j@_ z;?R%LC0mCLi$R{!Nj-1h!xlHGl(ybo&$oifrNYj?dYUCQivG0ZRF4&(nk)X0t%$T= z=Zm*$`O7WOO?fZjqf>u%P41ntW6}>9-h!+O^W|990UDxbA)%&eMB}%vgV!Y$czzk< zPHLIsZ=g^&NUixKo$e5k78sD6`%Ix#z@PxKiM^b%o%7d9iyfG>)nl0J{SKC>DAtFd zX{Aweakr!!jm1<_it@6Dm?#gZYL*@REfyQ(gV&!y{jHudCUjE>!(7UNTt4ATXa1T$ zzpi;lzlv95`5Zh1HPDIM{vsXT_De%JPs@#vJ?%S)0Oz?JVAxA;+a9wqrxOeorAe8SJ`iE4RE&6>Tps*G zk}OIS`A=3Es>nY$pYL(S#T_JFSPM_{>JbO{=oZ_ieSck=1;d+ON&mHaN~d`8buX=E z>zZGhU{|xQ(UNAg-N5anOeY|-!IDK;JuyRG}k^iJO-9H4T-%yG8oP6O&;WDjL$k@G0bcpRC(UZ~|YW+9iV%>hsU z;?>p{vMn@|yub+-Sv2(K;okILQx+ebI>u&N*Al?#k-OQXW$*+$nCI76kvpoqxg zPQWX$6h}A1)I|((Wx+pWx+zy@01Y2IRd-!=hPVCRC#eav*NuG9b^@8_egChw_5mCA3GP6E=Q!p0WD#We*Ka{}q>$vWzgoM7pGjXiy&w z^6@pf!%}A*{5Ybye&;3vph9~5D^z3 z>z*#zJUwA4ZoHRwK4nR@9;OQCqf1u!vlBPG;cai#MulU8dNa|Na|wu>x$E(`Cmc~; z0<*1l;542n5ko=K;tN22#xSRnKl^RQI@J?eg=j?8xA*Rgj-ku|DVkZ7FM zP7<5Q8iTcb&Jk$N37y05hVWK$hm=SQm5;{x_zEde66wgpae^R-xgEhW zNFTEllNs~kLV?QRN;MqH(;|1>V41fbOTH!n^sk4 zlJKB!KqSiVh3FR0s0lCuCK7{<1?1-W^hQ%5JbZG;al4--$6rTmDFH6Pg4rW`iSy)l z+SOw|Cqy)jBQzmmb=IHqNJlrB6QyP5eHeJX5Ck*n?l8pUb~ch+`%`ACkS6MC#H7k! zY~T_HQ(Cw zmy{@G7x}CXsj+sHE_#SMYRB2hSG}~B4PWx+J8c`lkFWZj&xxE;FdoO5sGYbo^zV3% zM=6p8@Sw0pzM!gHZjc7M*rfPW;xd=XvXK$9}9aQjk>IZ3B_H&o| z3J-9}LYfcs7AU%CkZhjqrOtc^j-8iP5%`xSoYkI+S;aqtjp`;93WkL(Yo+l7 z0?Df7j<4b}8_rE8$6Z9;cfw;bt|DuwN!^9iLp>QbW~qw)l&cIuEs5Vud92099ZiT{ z`+h<=ag9Ks+7Sa6&a>wci?T+eL?jhKF-JKDE&0V=KN|5EqYHP{;4$VtPw)C4Ov~rQ z@tWwH+sq=@v8}|-WpX))yF?`b6pA%XoxRCiX|cuVN1i!qF55Y`yofHTCa=8@@@SYh zo~^Bw>U=?LPie$Q9p2{g8vD}GPAjoVc3y#%KEjoM=P{`2O*|vA>AN8T5KVquQ%{FB;!GD#7i9zAGNe?+9`7i4NAk%d3`JxROs$>TX<9pQ%jcANX@nhHMEE-# zu)(e1{EaHV5eyVW&R@ujWJ}To-5A(56H$y&z~BxZjjYQFZH5dEG^{ZLO|v8sY(z5` z&ho)+>_vg(b;UD#8ro8DH{V1m^q~X~LE|~A{>TJB52Vf(N{KnS>AxDfD4TuyIgdXGUjX)j{3`*zQ*xFcOstr@v5$h|klx@}W z<`NWV03DCBxa}^s0kvkA+$VpjLGWm!D4-Rt%)xQ#Ph%UQn7w$?$TS~dS6up&q;lfc zpYpaQBrquFc_H31+UVlxZN9f0NYlJ-03c2;d4pTQy2dL5d6P|5@e@65{Q_&`=Jvc|Kt@hnN9Fck*Fy^ofpAgi%4QJa2_LQ& zL;&SLNJ*LAbaWHQf(N}&E|7Sd9^kIDt?GCXeHY%y1>MpJUXDZeJ-#Mu5b_=9K5bZI zz-Wvhs30dnViC|rQ3Nc&QL*{6{^Q^6t($PlZAi=rqN7>wxfhP*RE${&pGtHihS0&> z>wdtojd%7T4Q}`2MgMMPa-9#!S6#7uXZy-Bi~na%6M}KfMozbf`Df^m_GpJH=a?O6 zlVs5_8@xcgq1oya;3YTTa3=eCiLh4EKr+~#nH-D;)LipR6R6k5I!;RfVitL{YUTAO z&gMJQgYUtOF{2Hh0i#|-STduGX~(m`x%yvx_T+!} zqF@KpxCr_*O7mFA#so$HR3F!wHaxs+6%u0^foKjzXx;cQo^O}prflUyFaxt?rdx$a z39-?d_36GwQQ|+7)_9VhzfQ@NRNRAKZ;(xRAu9ke!x&f&=~kIWk^V`iXw-Zr`4YRJ zOelj3?fz&syj>mN5FGw_8qBiE6|%n5sEB*1oH@OZ;^8fbUM%i4mbX}u_Q`uqNE|{z z0+LwPkkNq|HMj%yZSX>+dX^1uiX5uTGpTWEl#f{q7Rp5VYJ-ASo=3S$n36l+!&*U6 z+tS^ifMr=^lQDCXD*J&aNm{O@gm|kt9J8}GB89$S=2bb#dmrU-lV?7?%-_BK-yYuo zyStX!W@Ec&zXlpf_vpGPf-`4yvupxox5D*;_qg_O^C7*&Y}YKxwQ4PUA{u4O4MjD@ z?)Bdvx8&{UuV_BX=T!VsUMsJPK#e?Yq*;jy_{%kc0;Y$hPhsYYm%%D`ou~hcOCkly za9js)?gJ5?zgj{)SjDOr2jg9D>t8;@i}O8!Dt=xSPkX+H+MNiuj$4{RI$|H^FmRSV zxA#8xRou%KTZEIEc|=m7MDBe^Wp7#E>sk?MGuy@EB%C>JrBYTJb~py)r9#sQT0N#E zAY)JUOj60W-dUE0u#!aFcX}TsB*H(zGpGAW^7J>N;Vldx99TLYM00H?oJr>lvlpB0 z2*wmCN!R{hXht1!x`k6+8c>pvZtsCRl_oL)Sb=^_uArBTsSfvSmlwt4@)x=*6-v z(p-h9PMc@qFS*}FH%N+5bbyH8jL*bhA}v^CM>-I4Rl1+#!N^13CrcY+zcWW~lioGC zf)L#52pFutT*A9imu2i%X_4L2w<2XI7SBKKf)GOWDd(8op5*7>*)^v&8VL)#CshQ7 zPVJf4Z&lz#f}V8eQ?$#(4)k(^!IXX}UeuE0NfI!<1oH>sY3$e>D!M2H{M8dqAo;3- znUF5FaI&&z(a_X_4QB6BXCou*-+}x*#q2F0e^P1zo3vZ`Yx8y+->jSTK<3bN{=G{{ zEkA!9pit50>&0fsCYHb;DdUV_q|rG}GVDE*+X)p$eUG+S;tBIM4Q9Y_%kQy?tfq^HHQS}hjavHI+=i4PBzB3&sxpVp!sSVX5SR{)L z(A6wLK3adum5Bc53$1mAt`-6JB?@A z;05BMkh#3Ku0LT()em@TMkWa-5cF#YGX=Ud^j z!#}KR&ei|!nb0by^F@Lfjls5fK3TzzTy~`rR1sz53on(^@W8BOfkb2*0kPSP{OwV5 zkoP#@R;_$|HJDy1jjjceBv<7#K9Xg^ZoH54Lgf_qr<70`Iq{!+PzjXisG|x{*v*}% zzZnT)&wHPcEM0$W%v>rxEcqXa#;e3^e@4vS`Ku^w6E!@>E$|l}rijZzxq_Rr(6jMX z|LI?B8Qa++ZYi8pLD}{mU&Gq1dX(>dKiPU4+KW})HXlgKIc1E_ZcM}=ZgJAdmq5+B z0P*Ff(|?r;1$~kR@K$?sEhx4J;^s^L$?tVP!zRx7gQ)jc6xl?>)3R{hxNB$Y-E4RZ z`3SloxwU5iFImVWVdo#+cUq0pU)gFuh)=#&4yG#L zM10KxcXFLktHl9XhBKv($bcqCa&mYqpt+ho8LeQ|hR3Evono*;YKVq+Dg>m6agG%Rrcs$kxv%kN#?1=EE|rm{EMs_W8U1!uj|A zgMa*1`O(i8*Z=ST{a-cdVB@ji#h%e}JVTUw1(A#)FovGWKUM`FolU7oD5c(@< zw(9lKrXW>Yb0U~ILNGb{g40Po0SJYS={)~{^9S!C6OT%dMM=o0PvXN zUuPOxJAv6hy5U{@AC4aVon5A(5siE9bCwlC#2PFQsD4c#wQK)ucKF>o41l%U{Se&7 z3URK%6cWF;&L>xheJ~=rYzkyKs+&BV@k6kWR|8Tz0%oipPym}dm<-K9&rMOV>Tpp& zn~f+&>Q6P$tYD8|J-yV0T>IkiNC_=6%c{W|xbc7cFOH;cM+V+~s?8MfK>Pe%RUy7A<%Z_h5fPk$>ivgEqPxo$kc z0%%j>pO-lGql^TxhfE*+1$eVhhK0BPeLybD8>P~45Q`|~SL(!^iZ*vuq%9e{S}sT? zHdrW1dRm5~N--n)G~9GR5>q^7jYkk`2`_2$C+kOPTEjXC0N`m6MwWYord7^3yuV(4 z_*PWh^$mFP>tCpUNmc9<30TQSssFA>E9lL>~%loMk1@i zlIy2T$HQ5E?Vk(@+L5kz-NA!^0 z)%d!H=bNw*)A*dfj=da?S}IZ%Gf0xx(YMNSG6l6RjTjIPUhvr}Ptr{19D>)HWUsMX z?q`cF5b?^fxA(*8qrc3ArZg6QC;nihOrdbfOcZycj<;$%*Z%&|avbp(LtplWAast z#hrWk@OBVgII~uOJIw(&@%UO$zHrL@YO74p(#*V23D> z(app5e)d*Of-UvAGzQ_IKa6wtmH+Vf;==u1gtnqIhm~Ls z%`ZK&VXxaj^uR%Ui!&X0^?grB<8h**AgoagP zQ7?AGxvDqp+$1v)rVEchruYe_u<9}Y8QJ|TBL0(c*WLYMdl^W}?%fFX-54$E-L z0MSz8%YC5z>M5Hu?iA163WM>DqBBEs?i98*RyGuIMtx^;6C@D^+2@;`ib z|KGht<#4Fk#h#3-Jf^(OC+X;hEN+xK-g=P6Ew6rP%Do6$S_oNz^lsx}?GvNy~*Jyya3#ga~4@@&5Ac^)mKBQnELm^)ChwGznVSi){_R97~QCg1RY0C?;{-j5v^5-Re}MbBO$5Lh9+gR%r@D9lFcQZF3)tp zS8+_S?mHULo?C90-9hl$6RCuB^X~k3G`Ufq?lTxpt2`ZMG?yLpZ+;%kNx8DIVj3Za zeD)h&7NuUwzbA#)CfQ0BNhTC8{a(r_DAB*RhyKyT}bV~mCZ(jm6uaekM8YT1HQuTypAT2xND?am4 z@E;JB)2`R~1mGMSapro8P*AXl@M}tcX(yP;&!pKZ1x1zf65MTye@E6kvQ}H4nJ9M^x!5|3F z0a+C_9xJsncIEi(cWA>yx}PNHuVTM069Xm8 zIymZ0uSw5DbhJi|b;ba*oe-EqH1>-E>zC&=rk{R1zj`7Z-tC0N9xv zBAOgv^=Fpk!+CuD_eT~6la%wpZEtcZBru{Wp^sqi`7VwcVX zy$wpnlx;;ArvVS||~)bM3!*Vyq!!L(~p9KG0$9 z`biDiRXD?5Zn2AvY3(SpMi%l}pBk_AD8(8%fsoU_ms$`GPeTNr>3)z#aG5sVgLu2~ zXV1*OAfXt>I?1FaDl9e32I^5%A(o&{FsC_KcHG)wHoO6MvwS8lt%ZNWY|XNAmQ->p z(pGI)9`ikpr1H5UMVe0YL3a6%M&Qeub=IGefNF7gK{zGCg!eIlYQGkjOF5_T9D%Dn zPJMg3vrCkNS-_|mTu&5Pu8Wnk@uQ=M|Mp&5;_@w@=g~MP6DfqG>LnBjTW>RlB>#u* zS@!_r$^7h%GX6ql^{N0BMhfaoEPxGHO-8D?@$~O_e(YLGGgHiwv(984?C}4RM})mI zyo}a^blLWj8s9T|#0Q`bZm=?BO;adruo)ealLZPHGRg>N&dyKci@VWE++85Hu6y#` zZujGLQX^oU#{EIQ`=i;>cWQX~%aX(cO{AwiH*2rf9i zoHj`FU0Kq%9)}F1%mb@>NGBT0qbeE#KHx1?(O{pP8#pS)E=G*@(c?0D`)@DCTCx%Pp@!C1Db`XD=l~dZ@jX+QvPQ=B2$V$H*lQN zfTGLTM>gIz3+^w|U^|~vtj8^g8&)6B_Y}7wTOozo^S3-<9!m1!XrT6Hw^Fa=5ZW0W))p@gawYRffDOp6o)@ z!jZG}4vLW6qn|UMP&XA@)?=+KH^iD2qf( zDeh?guMrP&s#9hDS%9fTfX&BQI0tc_?Sf#=_eCBfNsx11ICVRpCAr6OmSM^uH1mo}Ra2&sGwbQ3 zk)OW_bu^eU_gy#L`Bq@V76yeu=B6zD=$zZ&IS&Ob;_xPk6VVWh1AGb%<=##ntkPU!#Vy&Redx4F6QYKxe|#n zRUJUyo?P;YBNF!n>`~VO@$5caAgt-u=!9^K!NcPWn2%82RKhNeqm?*BVgM9?7E;dT zCY9yx59jelY1t+_Y}s|YpQfvZCr2&9u>6G&(iiE5B_0&yQ8F$vU^rk%jFN)|eBdmW z!q{MG?3~Wly$?}fpuwwo@_s6&iOdHmZ5=0;8&5r7xb8BgYIofH(O>U&Kgr@Qmt*aK zV0T^R#G8(<7WU3KmA8Qc<4(Tw=R`Ju_FQCH=uPWPVdXPJ7i3*KaOzn;QB`9(QRNF~ zaz*%0LMofZkWDUy>xMhpEOPSf%|$~_4QmJ2b!TuptVju6(IQwX5SMaAIa!UT$-2t1 zRB!>5I>lrvrBFP3EqM65^>Aj^f=+3Y4PFM(i(4qsF7Aru!i1Q{sr?!JA`opsu`&zc zUCeg9#$$>HQsQm~ozJ0)z=)UA<>YH+W~Cea{LS~*%Z@*}#s{cB z;n6QQXkpoATmk?f2!%r^?@s3RUt+3FSot=aS>2Blw@~y=F9B5T|H-ibYHM)E^VaU! z>oih?9hH1P#tY4qcv(5im!tvMA!PoNa@I$qGv5IyvtVs#IRKpn_#=&l6AW2}rdx%? ze--k!8Wz5417%9d8JNJJddw~4X4H^G{T!#WZ6C^s2eMJHhIqGG zS|al+EBPc*$A}iv3KhR99E*-4si$FXMXHmyb>_yIfB`dHL~GLJPJ1O zqCmrK=DO-+^Bw2bKNy|A*@}DSJ_6ZT4(uG&&8a^aAOA|nnil%+r8B;P z2^W#+VeWX~iqQo& zE~PEF%bwG}>vuoS<{RF@Zwg?+Xws=4up85oii%Ml&eCBNfMHiDnKs``QKD^eUZx5Z zDvgr!dMRH3hD`Uo>M5P2vD46|c~Ec(>Z7g&NQh359CSX(mOb)MPrl{{vzqikpdYIS zc*~_f>_7h9F6qB@l#oKt3cDMHG&}1W)!<@>NxY2?$tRb;EDL=NMrSmy>17P?qA{J= zxXhh^w`odT+PV%zBUcNz^?9C!42-y5G)+rt+%_2bmmJUKaIqM__C3&5pthBB`i&OB z8N?03iZ@KDG1a$AZsV4>GKT)Z-z7K|#S$xY!0ch(sgreY9G&f>qm#+Z?YK zcl_?B>Ewz(-+_cuJ@C$6=POrEnM=Y0m>3sb8vNM7(iubr3q`V{ZI*5YfcXU&v#oke zf+7v*2-_LRy_npqH-$i2*n3pY;cQt^INo*qm3QO6c=YUVUQ^DOVqdGSC0e5SSN3I) zQrE(4bE#;P8e)U_mS=N-*8RMCnhbA*i*1U<^EWsHBo`K=K{dnH+wfhFzeQ_dx@_N9 z{K=Y)kyM;T7kUZy?$Q>L4qu_0tXyQlGGDelYi6VdCXbpaCVG@YX*s;eLRi z(Jjvu9!pL{Vg+YAeo~_aXNHY80Y!pEtuP+SseR3o+cXJme&L}>rxFdhe&x0zi5&I^ zYO&Nl;xG0z!{Ot(1)_1toA(RyGlp%Uils4-!(x-W5e6QilrB-qZCgyt%d;>a-FDlb zi96Y$?wxN_kOXtr8!^8xVvYc#i%(0u` zQ&UuGng_tIYg>3tp1GaR*Ga`&wmmmxlhlqf1KKGhTwHD}*BgI?o>xCeX%km)S*QEq z);p_U5l$}2*7Ui7jJO<{*X;QGx*8gGv%H*M3G{&(7kchfly1H| zJ%7DcmQ}Smlm%<1s`aNX$=H$jtrioup{&xTY5!cu!XIi}r%@lHA#cqoVE#pBf|f?q z8yg=i)5v!mg5Vchg+9bzDFC%~@{q7Y zr}ag8_J)@=oP%F)RnC-sxJ0#c@fu7jf8{a@i=EaVe-<}i3YK}?gv~X*=5#;Ibw&%?cp|Cqm{pI;`A;GeWAjW&g#AH(8U{jN- z)7q~$SsdnGl!Xky2QMnac}6)%x#l^oXLMcB03m(c;qt<& z&e6B442(Uee+Tq5Ck!%Nt|F=IGAAz)iDQ1fFgFw4oU|ha zXt4ihi?m$HJu=%g$}#Q=C01!jQYu6}8*8YerDeyCSm8V#j03Yhon1l*Z$?*NrnuIQ zv*T~#rCz>pmkr^zV{Yf&pDfQ`#oHt9y0uSJ=Lw`EoJd-E{|-k9n`*)j1YADN*DaAR z%DA61^cc9|EVE!WF^8!lWC@CY_u+Q}(KfMEg8td&In)m2ptfI8nZ(4yB$w3_v)`e5 z#GFf*sZDiKA;{%EP!b1|PhXqVm1KNGjf&Amo!iW)O5%HS7585x71stGr7^|y=q5Id zL?k(|XpX-bWC2}7R^qRS;?FH=A<$;IW90eyCgt?11HR0=ljuidS~Yv7znkX=fA>yl zm{-n{-jB|n{qDZM#IplIIWdyF?!_kk7**2_U%^|sm;U8ixlA^5anoD`?I3=%iqPl3iHr{_apB<)%lEj81|2ZD-4RRtf|a2n5urv!@- zd>+hPl4^A1n0gS5Ne61>j0`+5I2>IH{uzvA(cQ3k_ng+l6taWpVqQ|z8zA}{#^dLB zi-ugUxySs1epCb3?Vl|g&(f`T*7YZJ+x?(I{`h!ufssXLG1~7l?;|Ss#&O(EV&>Zc` z__`E_)noE{E3!RaZgD$lm?JfrHp%pox7f@_FE|%>OOO7}KAr1BZJ`v6#L&7kjZPcPG3BM?%|rIfd|TB{ zTUxCE$Z2#V06u$&E}`>TO8eLj%V!)~8y_r#IsbC^pW!d1>8z79v$QISoeX&0)Y<>D z1W=-d?VM~=x%-F&o_UoM6cq}Erx`boH){qI5ddd>@6Tp1J&)5>8()pmhzoS{-T2~_ z^66XN!S{m2rrUUiw8|=?xC6p?`bJ2MyV#V%xDfIwD$I`~E~URX3@ERO)@Zo9`~oho*ditt9i4L|8^o9Uz=+*X)5@8| zOhgA5&j)BVmC;k}Ft0u%N27YAJ71M|X-vFYG-6QI`7GJ^FhMB0@2|lYCBK5dt(dcN zKDsT++GUo6o8TZQ17->&R^*BnoU$JFjch&|+^aUy8r%l8bJqZXZiWJ(eCC!3y^&@=!Tiw0tVkWJ7J~I5@bJM)LA#=K=es!l%U8xsD8yTYln! z*-solkw0Mx>#xcQ!4UomOzQNlvYWC9hPSUI65ea>8xO2gv&>aHurN?3 zbC18>h&y0JX^G>!d`_V?ctNMQRynmh(;}K8WU^0i2ZE)1piNr^!k_PGM)pabK=Pqt zL~leow==6y5E2P9&ytE~BCMpstuosN5F6eEOjkq&F>oaU7rFE0!Rk13BOubG&Gs4L zt3@eNwxo`yBVV_qRaE(Esb^m7=0ZQomE(|wSY!bZk2W$~!^{qgvAV{{!Q4O+y_LJG7n8NbLOV8A2XhF2YW@bZOtJH*QJGtKp6 z*`r9n6kU($0H7bk%2Hi4e*GVHeJ!Lfo~CkZU7vGSh(hE++zAobuX?nPWxr z{vV#5eRE^E$-S}IE0G-d{*-mNj zl2@ce3i6{bF;i^pD7Gv&k^`xBz*N;5TuS6I2ML9>*a528c)^z4xAD&C$?vq|F6B!5 z3w*%C3ElH@1Df6J5=W6RZ+G*(c(D;KHoWbhO^(0Wa9oxSh7M;^u838Ju;a6TodVW; zoRvoDY=^|2`3@i0Y!Pw~cBBQ<+hJ_D9(TPw&w8Ig4khGW)B_7}Mk6onzs*EQ-I`Gx z=N_CnWp#m(D=I?WjAsLv5)Zcq}B^PuCFGri1&d*??ZbEiwHoH1DXC~UNPlA3)Y zzWx}+74yF8Ns(jTdVuS)y;Mnam^~|B(HuEhox@xH*;_Pe(K!sIV!dj^du!Ae#$_<| z4A}IkUpZk?N#^VYf05AksoVP~gXtt6{KnHX5-4=#f1FxGjqKlw7me{?r-)Kk{|c6! zRGrQzg`OdtxPx14j;x%mI(h3M(6h`F#Ox3j3HmHPX52wx=dJSQ!xV>15{}Ekf>9Jl zrw{%CWTc2K5zL(4hiUg?4zj_ELFe9D*hAqCNUmHtPnsFig9$~1S!5$c@}A2(GYS?g zwKabTrxV1##@M0Uz93nuWqVVqncGrA|Fn3an=4SII86GNC zj0V8V*3N8KMhP5CywPPBFwsIw^T=5T&i?n;$6qT=uFAqu*zjVD4Pd3Gf`j<^Q1O}; z^rFN?MT;_BpXKB0Obkdn^&H2?La=g%gRu@;{^d$`CR;zgxc_&0NkbaWF->9PDODFa z2EWq6+N8}Aym+PD{$hRhW|$Cy4FzLFHgFMwRK8&FRK7s4CW@j2(@M%OvNrSp)1sp%{FC};_~Z1G+fU9RiW7^H4?sgNuhoz7c1tuLJEJ|_r~7T~t| z*;gRRt_D6Q`d)K_1peYmYMd+lBHt?uNYLS9XIbYi^UEnO6$uoF9{~< zH965OFq2Htc9ciYviT-rm0;;i ziEw9?0~PqZk;OL0UpRI*-cM$`{z8}sKIddNF@!GnljE;PLUO4osz*c(oxcWkfVRYS zD#wK^DJT@cO->7cg#nnq^ht(PD&S%#CCqT_uh(=fcCRTugoT(?0HK!~5?IA<>*0EM zvqZNS$PXQj74?IGQ&Hbtc4-WfiZ+!TTdmhLRa)&ZTWnIancy1LW*=_0o4Y_yD>?+G zt+Qe*fA)F_-KNAu^#cq^EeS_FJY&gQJS#iiOPu!StPCrSf(6^#V)JB&$e)4r^q9H& z#mks|t8~t5XU@T2+AuGT0*#R)v9WgmR)cs_=@N&+oH1b%_U9}Tm|Y8`PHUc_JHATraOYE0-C4<*UdiWs#E3`(jb(K8JS&aUWhWp=$3z1p zFEE#dUk<-NcJ}{lUVr4*9tX?|F|$?_>jkGm_tS*&B$i#sUj2pJ`odW^fD~!WA7%T0 zwgx9AuvR=(#IpJ3FJsXO^X3CNsMRsvA<^>l6eG8qaRya$4|wadT`xcq>2CjY!mMq= zr9tThZC(|26*CVvBl*-s?zC~gNNWdTn8wcbPv@X)WrnQbJX^Pr0T5~2NB(AF#oZsp z-2RE8zN)@BFsy0NV$ASJ2B8~?F(DLVlrQBksrzdu9C0Q^oo_P~pYJe@;z8G(^H&)| z#$Dl?2WcKSm;PwTG7`DEG;+6ok!wtWB8NJv!q^yTh@wzz1~j@UgO-p%6+gDgKcBv( zQil*+zA}zxGv=7$IU?`GNKw+x*yH4(n#onRyv;GYhWtKW2_yp z{Z7Buh?`KD=x0nJC?jt8*mBexUH7(sz78j3+SLzJpUR4l&D>_3gSjnp0+#|HV{b)$ zxN1U}qm-5OG#Y@$md~8c_ZH?x!zB=VDM?4pvP-TRBiaVqhRPWY-uOCJH~qWSWg8$Q zElC4Z%7?c-=wZ6Mls!z`Ni@osXx;XoEBY<4bX}S#^ihjvaJw|$@&Y7qxGK=&f@Hk| z-P}#{oj;!)f2(Hck#LpAgv@0jnzyPv?`y|du*?RxgK{6H(6Z+>pI}=FhOl-5N+xJ&-J6PBKU;t=qOTRRRR#iF0hB5a%f~e}uA1sO5 zgs1X;gw_%bBn#Ye;x6C!(O+%L#+}Q@&7AYsOz}wL8%}74G#Z!OshSgh;H%}895L#X z;{3NoSXXw3>w@ zuk+c;Mv&*PM;V+5N)d?}oK-V(*IwnEveOWlRf9{zaE0Sag`GVZkH56knu6NIYkSY z?Yb+uT+&{Rwct*AJ7~9_o9%Fe*6Zh~31Q4hK8+78`#3FkRO;;QSaW zK1gx<-nxE}Z@f3B_?tSzTi)eAIHdw*rk6@9*%)2C68dqT)Ts+$iROiC(B}JztcPTTJ>Urf*dOPMEojw5)sFJf z4Zk$Ouzz})c{miKOU`U3AWBiDNOmBlCFk=0M1&wvRqQz_1(FSe5z7e%F85I<3HzgJ zI{pryjqkrCXCV-i@AAJGxS3NwNQXCpO(=`2oQ{ia_vqWvY=^58pjxh-MH=xMgwY79 zaaVT7D!qv4!JtY$yFO7GX0>aBa5JD4A%Z9*_R^4bA56XKkyjd0;j9|UJVm5Ycu9z$ z1(;hN&|M-rv&hF0Xz9_n5mcCHFz({?k5kAHAw0ybH4H0&2fe}8L(-q-TRePBP1bNl zXS?C?H>1T?zSzm;`{Tm{j|;+4aa~b z@pii0Oc&b{i`yU!s*6VKi9Bp*(y)wH$YcaUIOLxJwFD2q(yg#3YezKt#IbeQ6^+MO z4-#M71J9|PD*;xX6a-f<;o4M>@{JGK7IeKBbMT+cdqIB5?y?1EzV$F2-VEho;ka-7 zdwXy&ExQlU6TBbTTzmP2C(*x^v zxnzyDX*6a%P44c|ZEyffRx`Is6E)WlP)t**$~(aLo~-Pl__TelNa`qgij?~qQNE!& z-=>;mME&0U@K>uQ`zl|Eji($wbI)9EX5}*;LG3tObc;|*gj7oZjs|Y^BwN?q$yJ_L z?WqSgpzhppML#rjFOgKYF6{M-Z19r!{qk%ojcFgNXIcM6pV$N!fY{vs#EhVQLIWM< z;SeZ{bA7~>s{=2uou(&m6+vc3L`T~y(M;_yW85pJXdFZ$igLv{@-A>_C2c$JzseKq zz3(6vBXSf|1{QKRoolcPAQn^(UHwGnMDN_dZ&WZiHA}nHqSZ zumT-e!IYm&36MG-b{CuO=1=?eLx^(g1_nOJaP+e$*AdtbC0iit0ufotEPk>xaY5G96nUO zPDd#f@}&fXjg{}BO_-E9aZqyBAT3A3ynSz#hKi8kX3JpmN_gNnWFgb(o%;aL(jTH; zKo!WxUf0>N<#YYZm?{ope9tLgBxoDR$&(zupF_Ct@XzD1H-J0o1EqM(A^=bfD@%v0fkS0GPxAuR@BK5 zo#B{Qo$b2M{*CR%v(yZ67n_LX*A3cV{2NJt3)nE4__9}}Lx<1&VS-eu%t6i>sc%t# zmg7In?9YU@N}o0#U*HjTFLYY5{j!qN`HYWE+_a@rCDcXXi2qv}u|{V*-fY{q@zdt} zFplKHsT^XFiz;V$jSO$0K9dnX+n%p4y~u3Oy?6_4r8%Z#A!d?h8=O?=*=h%3*OZ<5 z!>L(d7)O=vKc$4L^fUIMq*CqAxzDG2@Ik64pzrb&0k|wW;3k{dTalDC--R`Uk)jK4^OsBpatTw(a+ReG^;=)DR|;Rk_-w8ivU)z-DDlcs6vN^>jwp=gl6l5{fe3X)`Y$m(w!uHC>4)rIw zd-wnJdqi_i(BlxN{wZ`026!oV;$n-Axrhc6U(ASslbHQEd{hRuvl zw>b(crxuECE3BvqO&wLNzm%HR^gZyjk0@xDn|zUQOy3{OQS)HOrtl&L+bx#3Szwf= z%>L7o+qt*CxDzgRApBR(_-P{EbJqbY_whzZ>e#Vi)x2_ce=vFa7aA7u1@F2oTZSPm zLENDVVqmv~s1`SU5~&-G)ToNcbaEf%Yt!p|zP`8{x*3v!bt5Z{J+tqOTi(V8i^K0$ zOcHr<7d4r&u~|~6-FUlkm!}rX@k>24gaV9!p5j`*YEVrf%^Zm_s?!ncfd+^7lmG2) zF{Lbfi_;|-d#(G<$=BHW7~*Embd2*1bY-EU)k{wK)Nuyf(RA3daNK-vF}w-y+Opa$ zQ_SW*{;IHrbR1Do+Ax+$hPx@5aty?7?SxbsiqT~fiI$fGB9iq8lyW*T2FAy{+9Jc; zgKTHJy)<%5lPq`Xkx0m^^CHYiYI;RS%n`#Af*%WQF);TMp#^;>8?O(6DwvVYoJO+3 zZ$hia6lW{r5fM`$AG829qa#r$fOWO7l25C2(ye>!a2)C0KA&G}4_*L%kw}o{5W5tI z34pwy`KV^f!2cB+itbC!37qA1cXlar5b+V+jyGc)p*BXSS3{cRy*R@ zsz2jF+4z64l|TL~xY(P7(z=@VJ#gw}B5D5#a{J|mv+M>oJ_lp48S=6R{HLejUA)Yf z!4|lN0bAwRgxj3!N8hfjTcU=yvULMUr*hNV5kSH`{ET}TP}|q z9@UE?fXaRQE#NupdO->@e>+dXa={$Tv^1mAD2?-q@TI8Fn6Q0+Wxm!~0EcYVat^-@ zC*8cOC^w@*7rD$$E1QRm^R&!#z-W4j5aln-(h!YEc_D*Ubk`<;06F zXadbjCmN{Cmb3$=f^-5v&jCd&vhrhh_eTrpdPn%+kFR>TmoND%$nCSjpauU-*MaM+ zL`SHtagX0on#hOoHf(E|O;Z(=Mo#}_UFEqG#5}U?xs$ z4aHAhQRdEeQAkuyDMjp6iNkuWDAbwTA^d}{UR2w_KZrp zD!j{7tk*szSn#^4iJz?6r`b4%gfGV2!Gdeu-P6JjlngJTZ}7 z`wPkj-7~Be$8q<+KR^0*HK{tYy($7G7qRHF$Fk_(3DDi=F4}I7`36Gg1vvwxDfY88 z;^CvQ9^_$w^O7ApW;jq9;$xRoP${h&l%{cqNRg~w)b6#XtV>2Na*wSXVGyQ%Qa*wr z&%yv7<(2cS|B`QX-G(_sD8kjs3Cxk<^er!qRB*$(;czOAobD&i zqDO7B++gA>mOM(XREY*eZBjx~+f1%2>@oo=5gE&=J#yR({uXAs4Z2=ldB9G?!5A_r zPn;^N$-gg7*2q>NJzVGBYF+oIJAS-xF@6Q-IjJ)A!EjtRog6dy`A`1#WwQ{&rudBM zAOh32YLCEeJmr1U3@NQ~)ud0rU2u{Iu`}wqs}^>PrIAM0l7UYp4T?Z$ za4S_rDVEN0%Ukq<=Ho1Zoa-8_VJ^HxRqt}{pa_$CGv=P;OW8%|xX$@&6@I4dyMfg; z9XGzZXuQs{k>UC{CB61U=Flg_(;2eTPGcI3WMWLkRIf}|B7ON#G3=>&T)l;*o4 zgG_N!1M}#!ycD!kU|9fwmVFd+A=HnPVCnZ?ag$oMIAbiue50D5zsm151v9MJwOjHr zhH%q-w(Gko{t;v_EBXBND`hK9%V*-ZYJ3jwJ(t^V2|M+0QV?fk!^+aNSfuJ%Hs}If zf)UkDvgMXbfRF2VQ#GdWVA-9gZ}Cjq_fz+toRyyBt0u|vR;5HEMy;?!77!{cr+I0{ z`tW0SSD!nw?J(8)refVJ>Ar~c)4Wj zCaIBqt>FtjM&n7k?0T5r?-mFn1M};6MKO|8jjMUBjAE+B1%lco6J|mK!bvi|Rx)L< zGO-o!S0WIkG|HP#lGC?B2sVz}IKUkwnCK&66h{TgNQCX0uUZTr){P>;393)m3Figh zlNAu={TKb(At8svB$7?bD5w2kIlWxrv#p=!322QXrw*K3|Ia7GZ(SPR_TwIVa`#8+ z=&f+oX0g_v5`s(JSdqp^kh~mI$Rm25K%qGuNR;^P2`WVLHqk~&SSXrM+@lt?vTAl2 zU@@F>XO3?wJIss%##oDD0PzAB@32fa0zCxNW~cK-N<8j>+R0e{5)AMG7TZ9UctO9P zCS}jfvdZ~-*$a{6*4?w$Le=yXIabIK@hHDa_-5$$?YwZRr)mEV?7h~#%*njv7TBo2 z@ET7^Jv1x-*}l7KX2BF2wfaH6s)KIzUt*lXNvgn7Lx%`odW`kr;6*N(LQFim&UXXM zS|LiZY*WJK6Gykacm5hP6v{Q#odhd*&eprjXTJ`E00LmB+OF)3H$Aqvi?Y+)!iWxE zJL`Il!FWlzzX@YJ7ckCk-NP0$ZWqq_B&9X+QF2pUZeXXXrB?73Z@2Y;(5v&;yvmuo z*r0yR0uErNzgPFg)Kf;V4a^SBHN zDyatLezwL6&RvJp36K8QS1q61r%ZRJdqLxIzPcc3eI`|*lUcl>&Nc;-FRQtatv&*7 zA4zeZmGeYQb(vW455XMmKd!oMGH0uYd>$#5Fg3!$wWUR=g#zB71CpvtffUta!4SAp zN7M?|X7iO=(LKOMd#Z%ttx z{t_1*H^Wh|a-N;MRW=ze!~s$|^5*09bU&Q!vFDi4UTC0L$|JNnsbu2-QgASrd;&LP zxTAzA05~kO7mz?gNhrXfFeW;rxrEmp1pzd zVdhg|*A5{Rz`?%8p_qHlv7r748aMal(hqno_vVw=NFXK1cu9l)_jB8|j ziUaf3R4KvI>3$p^eK)emTdXEY;pV8rqA-J8fD^S=u$wylmryf}uQ5l*&QVGft{PeJ zGVxVLtu<|A`)C}FT^DnA-evs&eWR(dz}AMKKw0Q@K80ww?4f6u8xqe!kS--Ile?kY zf0+?g`OIj!#U!{ic6%SLCzpd|my3lopaq?Dh9nhZNvk{^$9eYab<6sl?m(&u;{5sD zYw4~|@8e|fqST3!UW~7KjmKgEYTq`f*FYpfrBZS0=18Cs<>Y`$&$iya@m{j)8pHb!Q{9@sz~{QGSaIa zxRqnFotux-Rn4oNNLST$2QL6DQ>7sJE4+M_mQ2)zDp3s)Rg4A;XM7FU69fK>I3tTJ z5j%}Fw9wc{CTdn^H=ZKY5U?PsW`l$r0FZ{ZYk|B!ACIq{jdw@7soiLtHyH&&$w{)w6Mel%{N$wMa^ePDJrz)XO5fHw0l^ z)c}#~5p%1piaI4z9`w8oc-qEWNI zp%V?W*2Bze944i4-uXNkU*)zMUH4NZirJXc#3j6A^c-NOP||hA10S2G#6{^_VDnkX6mWbMlt4B$aFEdNN#k2N%a=VCBAPdNnlNhW2l>&j zwwD6t-OM@pdL{1h(+bhnW68|r2j6(gd7MT}noJfGPMy}HwF|$BL1r{gJ72)bOKSXZ zgNa%X($@Wq+^#baiPA(gl`G}iX)@oTW`GaZpoH}odG(Ok3&SxMoAC3Vx8r;r&S|BZ zT1)CL9g>KoT@Ds`&%sEM_E#10sw}#%^{i!HzX8-4NQfT zRGgikE-=Uul9ra8?$6In9MZm*k_;QO^4j-PU?uA#D>zE#7^ZBY#Djp4_BGp?7a zmGVX2zMpNqyY%OjUj8yae~sdYT$L_UYLbTG9U(iO?s-h(S8bPHmO0a_+4L&6&#I*) zy)%?`0C_v|57R70KZ0E-iypo$Mi+-E#~40DCNV)O3eK~1>W6q$+ZAkyGB`dg03ZA{ z+>i3PTRTaEC15@S?bZGY9GV^g!v$42}h?*|Z+|C#2{d?+k>`eyac73iWA2>3Rq@tvn=7Xb7SF%AX?tnWWsFljh6=Tot%Kt33eKD;=wg4# zt-A4$mm3WUBQmet{Xd;q5RoNsoQ+Og)_cM)3x>Uu_#YqP2S4cdMA#C zdE;54&PsBN4o7(HfWzKM21RsT#i49;P^6>C=tnJCVt zZ3cmj$JweSO#hK6%KV$XKMLW zLd{i^MM+BpcIM8v^Gqn4Y%EY6EPJeDP#0??0_DXEX7LiJBkKw!T<5dY%~|ExPc*za z2SM(pR6Z9kqozYibP3FuT%A7fE7Ko3Y*3@+Hk6ohAFqzmBA@L+g!C^0c%2%n4PVsk zX3b%Pp##!W3iQ)o+pe8t;Uqoz23u?6{bbePx=>~tGihSpU=S3>5T-bd`kWfJwyKAW zs6y19`SglA-)0Xqp01X?&=@;R(*F?sahs%aM{c0_X z0Qe&WB)GUuFT4KAZ#_)sl7?%b>keLS;#b#jdmk;Q-!7lM5%oS^&$nbgwWb613AJT)VmIQ;lE21lFbjspV}8x~o7AtBBftGcx~_WddyDx_gj`UCjg`XQ z((Qc2-$J5)nB|^3d`T7zQ)*mH1T=z)F5q38AkdD_#da1>AP=flg4U7+&=r?G4sTuw zJaQFIRcEoE@cBoWRe|Ra`H`b`_bEobm^DEx<}Te*G~`~kWFCC7)S)8j+7+c)It&By zjYbS#rhnelRT>f1!pN<+8{LpJmB%G^s)!F zZot&?5=GUEk7K@?C^RmBaSC6(fUk*EpbM)an7eyFNY1&sDRE7bZX7WAAQsLvg}W%U z7GI9L>f6erta6cU|M>_91bE>p?susXRZYtEw#*_JyyRw;+*@*b_3!$l+s@O!Q0>3u z*NzxvOB;aHqcor!GxA*;!H{F;_4(YLPvpxWuVYF&Jm;7e^PfITMgP*&iJ|&R6L_cb zXc249kA$)Thho)owtunWV=QpEF!EMuM3DeNTtK0vn9R48r=kQ)vkj!Q(EN42%e`R~ zH&8sVJT``<3)c^_<8M~S*QqJTHBm!JNtmYg#@%h z!;Mv$q>`}rPEs&~l?~u|R*lEA*uZ%N{3_H5kUY-2MJQnZ^!m zyqA67=sLLA<;UMBo5RP&tCUi>@^=^y&v)JKM``~~seI;D4=IaL6nvJNS4Z6C3Kq4P zDqQp=rZYySu)~|sBuj%tMF6eCLNCkb@Oxn#oH1on)R)pd$`s8AVu%uxYq=QXp6rqq z8(uWdtA|U8P}zrmT!g*hXEw@fhs3hkBeZaQ zHK?5B2fx{ZNMC343pc#2mdyAKBLHiU^)h3RiTyh9dloGExLHcDV`0%|mXv`8>5;%X+>QSeWyCkH*}z zcIR)kAu3HM@fm#cufmV*;+G8jHrfFtA=Us*ODAn~zg`TnI3ySLwfu60*|gM@=uI znZ(90V@quR6di0Z$DFi&i1^)(p#lq5C|jY^QeUxZ^6i#g1eVLKG~P<%jcl>$Ru7r1 zV=-wJ(yD`p;cP$8B3_Rn6yxGSgbVk=aTrRf#m7_FL+jXIwKk5tZC>(~%n;g+Z! zC<$3nvc}F2$8;XEeY73MUaXv=rn6zVRg<-&WVsQBW2%w(GTHb2l^o8_RW!Glb0P5oXs1YRJf-c?#EN~$ z6O|ny$>@3*%&GSPSmdbZxDWwnd-&~GOj}aRl19GFJU@n7Vmcef zSTi0kRObqSUL-o_s>w(=X)t$VwqQtV8L2Lau-RGbPwVTNsd#Fxs4B!>ArvdTGgTeY<*j|1KodyWM$a{tS6=f z@Su31_U&+%&Qzxqg%ivjICuU+elnR;JL12rYiyTQL*80gUwD=CY+d1}<9GprDKjSb zUpIpDZEteLo9$BXB3W!BHyPcaMKWDn8s+_0Ei;r0gf!1RYqc3|B7SXWXK#i`g!XBe z%%H|bZ!p6iapaeVZc?^Gx`;XhH9xkSjvs3ko)VuddV|>NxTD6y7ePf3HPac1!Z=iN z1Ouq!mDWm3JRU((Fp3#!fn}JP1Lb~gQzQq2#6alg-!KDIN=3P7`@d|Ld+(Y8jEVK zfhl8?Arrk~a?&O04?Z(oFRyke11|`<7+aX!500i>axY#97~_mYvfOrOdmi}-@KT+$ zmSv$vRnPg@1}>8bK}Zj6y%vVI`+cW!>|Oci1KhPdCouJ0^@KKm*_JIrEsOe`n!7)o zoP4vPTtQwHsA|qYO5;f!LBa{SabjO^ins5tPrni})}5jWCQcdMx0G2SPXtbp{%=~% zN<+WYhZW<6U=Ct4W=`i+7U)ysHjvBFw`px8c+33~ z;+VMz@ubPCqA)%nahGNJyUaLXVjIbcvhT2fs3T1?fZ{Q6Trn=KkjMjP`zN!Luh;T6 zsMorcJ90;z?H2JehW({MKDm*HBSbJ(6B_&{VZO82hPE9p82MGs*8P`DNi{2t0Q(m^ zl0lZ8uVKHLN)5K}tTOWTDie5a@h)t8q%mr2YcXM~;x}J$wbdq?5eAf8q=qIQ0 zGE-_`7T`S`Z*bd(^V}aeAOr;2vjFHc%3<7=$WF6)^FpOnXk)aIdj%mh zg%A@Y{zn(5-|q6yN>DdDRGAs37k6>|2KZ)CnW{GTXP%dE4Hh~luz-e2&c})U4kVMq>d1t^Xqg5$z{^qLW_h(^AiT< zS3-x)Wy~x9YQxAYBN)g_L-xbjn>EM7G$}fVvTNp{^IblCu;5d*zMx^X1J8zWP&WGR z&QCKlbG5{jMGqzC#a%^f=y2WsS7RzqY@5-f1x;Icx}`#pm=qi72xOvin(zH^ z*?eH!dbOTy*el!^4wuaC55|j4l@=^#4)y*^AvWmSK(WkRA7;(_g-Ww}4Az97?#Qbg zG194=A`hyZL+>#?Q(@MC*tKADP@yg0Uok@E7A2`0JfoA%cPVvj=7q-PjHh8Rk)gUW zn_yJ0xXHqAFR5`yL6sZi^Q%p0R}~71_I-Y-#`gK(cF1M`=;NJU`$zrWN2zSmH~|@k z1~QnKxwYf;;#K4jMi-a7fg-kYN&&X)dPstjVZ{FBD$HrgH;C zKc}x>cD-mI*MNwQe(<71L-RriD}ootEwiB!5}{zpkiYpj>3k0H6Hu?gv$*^xi=?K) zV@fY#3=R2B(&o}s4LzcERSN=cjy)c(m_=5kjc*hrkm{j(>p#0s@i68Mt=dff$%%Q4 zzd+?QZ{N#m2do?N=#Odc4dAj-nnH#1`VqEm#!xZ}O}Wnun{B43+WK)C%=7bC71pb4 zKjXb};Kjf@mV_D1yygRr2C~a%vY}RbVf8rQ`vLX`QfzV9qX|Cs5XW3D)t}_sKZ~m; z0CtKH6%2I>zsSr*;>~Qi4Js0jxD$@Q=})gZXRntR+cJeMA<#2Av?yhuZKKka~mH~w>CKu>wp!8u^3`nr?eu^v9H8SvUN8a>wIDRQq zr_3ge7zbh{VTxM2Mu}dy@+`I))S7T28s@}oiesW1rm*}l_wwOQf9Ib+v8!zRXA5xf zy?lJVXqV@^^bD{hkG@j@D44Rg;vS~*MlG}~LG}ZH9c%&uOPU(51at!GZ0Pj;6~#&O zzEgY3g0|r$R@4_*AexEsbWhq#keNKXa2$EH(#s=KropeAy1PG)4Lxjso<)7jbg&+S zXPQPF(vkurNEMHqV<}kX$A9Cdc$!M4nUV-A;w!*#+;K1Nx})3t_3~NX{(J$rIYZ!U zcJ1)wTJGsvfB~2TjEXilsW=Qee2$IoCu^PGT5SRRs@jpLN+UO%A_S%0OA6B~VhrU# zp_Gtpbc^7eq(;*E-Vf&3eLk1V$={gHxHQdxkx_aVPkG;|eU#)_DC{>V`I_b3o)D%NJU;^SvJ|K=hkgT8HjYnz-GM;Q~QEpJn@hHfi63NTPwO7fgU| z{TPgYzNZiDI+JUB)6=hbtBzrVZdy_{imcMZv6NyW2roC-$;%G&it-t?)AW+ty6^1$ zU}hb;B~o*gY#L8i#f4mJp(?Eez-S2Y^lx3=|8G7G7Wv_?RAf8Af2~}=q=HXQkcI2M z^>_bXd6bT>2E9*K7cZC05z^j4_Y>qGun~8PMEXY8XMBp@c0dX{@p+i!Lxh zvHJmLufjAnSLV-jKI2DW?(z_-0^%(S`Trgw;)<;*Rirpf&1zPS8B8mKqJZ=n1GgHCo1bn`yMGxyO`VIV;m7 zDEx;0gjxF>ve0yo$MR)<%BoEW&EyJ~l`(C@sWX>Xobez_BkuFu$GvOaWN=$OB0E{v zsdBzt@)@MCVGA)k!pujhlB#2|`uS`j3}!7C?p>QF~t{*Qi-*|LHm2zDJ6;S`3ATI8Try(NuBWn~IRWZwM7ud1G6=O%DU zPy^Bmvy3%>m4cxz_L2oWF1K{h&Y4MBw?GulAfMbYHj${8bs6uVjllB225?kX;`!7L z@zOF$I8#{4EsV~sXelCfO{4AeG*@jEf;RLh%S;7TXAy^EF#>=&0reGWcACNA%ms3) z;#*2+W&82U;Wp3NU~vA?YV7l#$ zTB3XbI~R9UnXFhFhbC}Tbm82M7&vR9)P4K1e(!F8n&6@Js({ee%^38nIK7Y>YKz z5H| zhyYzeAsJZ-iXN;x8L-+k&|2Hs9vf`;$LaV=FyG@0sva}o$DArbCSkTcHZe$Qa1pkD zGCBHg!z0*Gq>IeQ5Hs!~Q!>*$fRP5}KJ7nte1(tnsv&cMCZC=O*Iq`oAm2Qr4=KMp z-F|x!_gHXnl~Wiytq0sB3wXdEHizbBz-^C5BbUicw)z&Q41a0o|MiYRIu?{-8^HDe-8n;RxA!6C9Clsj{A9Dz zHfF1-8jPBnMS0wG7du(JnJ#t_qpa&RyUb-b#pA$5i$~YG5ACG+fYskPWT2h}4iVfr zZ`ZWpMy=U;H$eve5;e*0pD!V14&25g*rsU(^wvDIId|H)3)=AH*>6-zW4_>gmk%6H z-R6C#{upWrq_LK<ji)hb+oBTN zW9OVA@|6eW>N7+`_HFHmo@&0sI4|nk2;U87$e7?-PhB|04Xm}8+>cquM&ULd?(kMH z-&eoK9Y`UK>FPk7i*16_GtJ0%ezK;OZI-w{U-(ad&!){5^==MF(sOVhZM>H+x^C-H za`Ki9!sKc==WF8|CDUzAR%L@SmcO6&Ut$njJ9JwQlgWOt?9o8mF;7aDQduzrJ)wH8 z9cQOs#n=#f)|7)Ehp>v<`E)+IRh=tg6T4s;4hNc9n&rIJd1gNmjktD@EKV7Ss2O!@ z2SpDZw_wGDBY;$n?ImB6@v7WD%4Y>wX{TWQfRw(pBrUOfcrU2N;96S;%Fh$Ie% zxN=uUrJ1|b4`~@gKYYYyoPWrakO38zmv$E^^_l`YEio1De70Wnux7%P5+`wv{EZJ+ zr*ATRHs4Q?`JBdMMS|OjZiZH3&OY~b6k00Hnq^VePP59<^5V6sU8LqzHNAw`+z3~4 zt91k(aC_*DSd0ii#|)rkHmumFmcC%5CQzFF5)cKWkIIRh4V1)a;g(+FT>i%=PyYHg z;GXWE`k`fo@b&pE0{5b!*~qGS#fyZ-)aD7slHB}dLR!0cSykVnjnnDs_=AnOK?Te+|qhqf9O-qUT|`6n43UuBmDa@vmg{ zGx5FS8{ZQ%h$f715yITz?P~vJXTG0JFT0J$8Pw4&u(sL0Y$C;IEuZsn3A($?EwpMf zZmgVes7C`}IOzMjI_!rVqSwBcVBRfKA>%X2j;V_{>hfiq)eJYGO!wJ%lC>VL!>R0B z=;Y7@%V7`oW>PK8>EST1z(Wnr(mh#>`O1Bb2m}^+F|5p_#=LxT1sdY$I&n{{CT6$B z^&nJYoAg3I=JtpNu0rHdfmANC<^yyN)#GgUhXf|*=yA5*O>jNoL=-tMcedW1j<5J> z1wU!!_y) zFA;rBmI9Os&hv1w+$G|6z1@^1-GbP1FXciug2uY0fVP0QBOwu^Ye?obfG?2iDd!iI zicM}ytGbg~#(f@f2Wmd6r1S<@CraW80JuO$zjH5b9zZRm1y@&T6T%Ec zNN)8kK}BhLg2e_yrAf*0=K;m^QnD-=+)Csw0_}vGl(pEi>Q?Y278F1t=C_!ZIPiiQ z*Dh8tsYEa-K*Z>#Z&AtRK93HHs9=-EBbm49L^0~b8Xmv+()Db)k$G#6$)X}kiwyLs zv#N9O5YmAyIBTo@IX{+QA5nYZgOhPGx(V=Hc!CR+GSZ8t&g=oy$)P*Cg#f?yl$|i!r(LU@N|7j)rsd=2#><6x z!$aeA&tRb&sHY@%7R2kuVtNHATADxTG zP9;Dy+P_;*D$e<95d?ubgE98biT-DJLIJ@;S!vcMTHbQsptK>?tHs~jgL(A)-^XRA-W*OMjJrt9|;xa zd1*j@vTAsXZ5~wXK5c`1L-OSYBgJwbcEfB>vM*J(uIw#Ld^@=9SI+a{3uMDn)DgC_ zoLnm>b!r|eixBVlbj^(4tU|*Xtx;BTCYQp^cjg?}piUbasgy|?%spr0{RMUEQgusH zKA>M|MgDa}1NoIEmrYLQ9qej%{`VM4eQz zOtew4HTBlnMCU*uWK%27$RY)#ekw{449Qmc#(Q{qk8bk6W|d{r!6E{_UQ`Q|F>@RC ziIbzQvgF9 zcG0@#HlL=b;7>sSS1kZO0`SB;O3REOfsdu27zEM&_V2po3r#a(P!sN`4Jr<%W*xd#e5B<> zPeoLBj=x!vXp`m9zOS~2#|1piAWZTvzI!Jdyi9z&?DV4_X1dB*} zT|={-XkB$zTCekMib&~KSgEB^9`$)%R68Ze0%;_3-~~5h=d%nJzOs*4G%I+KTkkBE z8$iXhbdIy?lKuync*+PS?h;2;f5M;T02TPRHSCGbufH^Fo+_nYsM5X zoKiK`PSRDAuU&r%&y0yI9@*Y^N*dV3WOrD=Z5uC~>cg-}iJ{RcPBz7i#MIHx8n$4?il!+g5$nU(VP+bbf9 zr?4m2b+_>>BU_RK9w)!XV~*7Jr#yD9<$9|7Q#@yl>Nv%So#mh`jWA`CF2zhK4dAk= zt2Uuj6HG4Qhbb)sCniCPqZ|J4R%khGg@ZXASTUq9KP(ILl5so!@tg0=WJ-gsrE(0P zG#XeGYd*LGW(;1j=U)5o4wdSWKlzL0>aok7j=(PPVTEmCu%p}lf@ie(`yY2c&)T1g zfVBs^ZhYMz-6TIoD!f?U-3Za#XE75w0Tf7NKxjYs658KwC- z5X@ASp|1o9X-S2R<=2y*k^1@+bx*r=gY5IDVex$~C({pZ$C$A*~uvGeRVLarSTF1;5!lS>39@Z_P0^X*#qQ%M;Wania`3zObgiIg;P{g3AKPC7T0RLkt7t6-G2(U5;Hs@OW_IO_b&n%}0&6QLl>5fk5XFVBT{&}Sa^t8T zEBi^a9^$xt73)|PahcYRz^!JN3U|AxZ(l6md>57NV$c0pUfp}8(!qrns;o8CS{Pik4aPn>$Iu7n|XqC@ornylJB|xL6 zq~euN<0pTqf}etDWaV=;McTR)jYiFte$A}QEaMT8VbiIcDvoj?8ifpVtU$8hqc0t0 zIHlbUaW$fT(dKG`zN!c7My)0T6VdFjmcvuN?OUA_brl< zw^JIpdp}%Uyi$g{+M_h89(j$&)c1z@F1yH{G_i*Gx&8KPx*JB5?Bb5UZt<*e;L=gT z%R1l_l8aU0S#>^7mmMUF>xNrXhNpe_<)+vu3Z6^qnLqd1pGwlTN1af2ME!!HW7$Qf`qgpFH?1A=Td3$h%jTP2uq^!g&8w^Nh~vo+A!GZ|W$opG zG7R}m!yA6(#OBg@w#5w#Q{@_`J2Lq)Erp-5(UIj(-K}@m$KT-cUUf1FzU+^|L9k>f zy-~;oMq*oR1Gll!mms9;8ht?hAf0dd+|*~x0^x!2;x#4X8Vtw{TNWtAZ{n(J5KY1(!G_;=uiq*jPDH`V*5uzP@P;o`-@-&();Zh%S^uQsQ3%3$BW3;JWHu zyjlgvBV1MdA3eaVlsCU{mYZ-N$+tXrRx+u6_L~*Fgk|I7#US^SE1vw*sZ4U0nI@c$ z$3j$k)Pd7W*kCF5h51+9QF^QrLpV1ju}27J%7!gUUnB<(sRw{jL?J`&?n_q&qDyNU>^Z?jJumplIG(q9D%H@n^Z5o zkJm_|)H=Fmt*Z1ide2#?zL*3hmPf!&Zc>8PDB?rl)SoyT?`Nfn)B9wtozI_4%h-)Io}@nZ5Nxo?4P6&f$}@*n zVE9@xAe*W(?o=gdLiK3Ow@7LvJ8_~#Ak;AXn>kGsc_Qk>2q-DoP3`*`^{^rfl+Z|F z#wHYdk`JJmM@Dr61>i!HmKEp7+4=Ese9fayYZrWP)EX%cH{pa5z4Zk{!|G8X3G`Ra z;rE&(LzB+};)l#*!Yb0oreJP8T-xT8RjbgEb&-EHyy3@f5i#%l$G^wHti~J{w8LcC z^QV`X50uXfzsUMCnW8;io_@6&cetT~8P1->w5SI%RHxi0Luzolw60^vHMxv>sNCm| z83fDL$8w%oDN~7d;rh=Rw&Vj`|1Te${`PeYZJLsg$a*mvh)72e5F1sGF;3K%Hcs`F|?ag<*{@n^he^0hbsWZOr%`Rsv>Rr4m zz$?4%=til1Z-w8^3*3N7g;asX4hT=eVx@$TWe6HSqS8xF_tO;#0}6_K@^9amT&Le) zLY{F(f+-0(Mi|x0yPqzIUVM_a97A{^;@hA=|v z`=pld{CH+ncr+kn(hzjBX2?p;*&7jR` zv!?>*-Xd?^)U6(KOd^x0X(+M8AIcanI#%(H&pnuuPhMI%_i!b(abc;@w|6y?i~w`@zH zCRQo4GyK*u2@c0bL*h203OIB@3zu5lgliN+YNWRfaO7CZILqBI)0Fx%qyks|XkI_a z%EQb{Kqm>qQ|gbB$TUmV^MO{hm9bdJ6qF*NMtt6oa?++bOv-5t|# zubbJrA)IE5ZQr~v2dYh(a0-{V$SDpB@t`2X$_Bx!s#Kcqx|jbXHqAT&U(APLr_A

0Sl#i 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"d2PhG+L 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 WT-|1y5B{?Om#(&L}oF zk$n-DlGlQ6-Nt1c9GR)R7cd6BTEIAGfxh8kTlFm$Pi!hV`l|Zb-R1f5@+*FQusMHT z|Nj3Udq02tEWf|5{_ltP_kTUz^XmKO{pa@Q^ZXCD|NndYGKWS64`GH(CIw%HC7cZ= zj32K2=X>z^-~JzeeuU0Xzy55#cx~PPRrBxvhe%IQW4OfPFbkx||L=Q-Z@&Ajmln3 zldZaG_3_)!<5nh^eqhA!MRvo}d|unm+w&!n;>BwVr>_+TM$;PS!x+&-$cqA--z-Q0 z#-ain39&f1yttWfZ_eC`-+!`Yr7-=#;8Bdvi_J4q*;RoFmE906q0+*O4>W)CKApjA Vyymq3Wndw|;OXk;vd$@?2>_OBqwN3y literal 0 HcmV?d00001 diff --git a/tests/output/04_rings_fft.png b/tests/output/04_rings_fft.png new file mode 100644 index 0000000000000000000000000000000000000000..18f6908844c530d49fee7ebdc9cdae4ec46446e6 GIT binary patch literal 23212 zcmW(*Wmr_-*PWreyM_|@3DQV2lz`G0gmiaz%+M(%Dxkms64Id3EiEVmLrQn|Py;jb z@_#?w`{6um-Tj=s_qk`Son)Y=NlwB-0ssKWpKGZb0RX^9d(9PduWF6o4h_~SlNj%)m;?z~3A^%7GN?}0oVa16MvfRse=o%<&(V+&BuUq*;eC_v&PqBNZ; zLEwvl6`}DopWT(Qe_I!^ev*oJ8>6H5`j^ejx4awjn+Ly{%c&J0Fgm_R$izSOHt!_l z28L~mplKALEW0pxkNz}R$G7_?BWa9`_dv7%RDbR_`gz$I^4{*#F2gV$WVK!jxYr`c zNg9g@$;Ez$gIT4lj!lWWbn=v0nl5>4&vz0rA&PC^!*Q5rDcPE=IVl1LnR+{lTAN$7 zCZ9+Ab^jraXeSe=1lI%hINzNm3c=s~JA@5v!mWPt3A?y^Dc{UGvC#-AQ+*Fc10+OM zH&{DzcMhGx zA)01^iRwSWA#sgh<>UmsEZ(?nMlvA{st)H}7#pfoVB**kX06J$F zN;)~%&hf7NN@2(1)Atq*>j}6O5nf8nO{Q@Uf?y-Mc6Im`h(3P?h3t;|h~DtNzAN5R z;rgo^!!ra#YZXCN3ayGk>7Ysh@%|?tv~Z1hc};>T#*zUE6ljTEC#Jdz{>S$3E)bC) z_emJO;HE558VIAb6EGd^XQWwN{N&!A#-bh+I^BO_0d}8O#@NuZ<1#^uPFB-e2HWMp zFVci%CwR!dRE()=_f6^t894Wj`4E0iMgoCMg5WTSMu?XXIm(Xa8GpUWP$vCTz<1L; ze7FxUFP*@lHF{tp5@J6ArrjNP6SWXidM7yM15NM|1qSi)(9YN5~aFNJ6n*HZzOw|HCv1iVanyt|;eualVUr;uxSR@&A zJJW9s^3+Vg_me+on&U4mmUj`7t2Ea zM&UQTj&K4)Bra+z1%tHv6nU2^06J-BUL4NjbBUTPz#c9t^wcZbTGn_S$ymx-(Qm8@v3AUvH2 z#V>iEl<*|^t^yU6X(o_LJWmnz%q3%%{vCe;Lpm<%m+qPs!^4(CxXLpj)*HoLs|=fd zOhX!vIV*%63iIvC4X@DXes|s%$?uJIXITwT-u3q3Ob}#x7HOpOZwwB8w7WBeM*fO? zx2bQN>y$@qHvt&3P~om;$ikI%&d`he-f=4lxB9dO!bP2F=a*c_K($Fjrqji93_cK4 zw+L#HrtJKU(qY*}e5_B2!4Mb0Xs@^4a~Z;&!awxJ7EAUJ*II|m{v=}4nn*>_Z8XUi zb=R+n;Gy%PRQ_uM^IYcc0w;3}5(y-y>3K(s`UZfPB?xxvr>sbQ=NpN@zk?BaET@Bf z5@Irj^P_4%?8Vh{sC{s5S9J*nfJaTXh+QcSD!zK^|psfXog(3O> zor@L1z(JC}VI1?cT<7Y{0Q^ci&X zfEhmC6A@4KdxK=1bGZJxVTqS~J>TJ1qK3OdT5I&ZuK;y5Gh2?X@?qb9E18$3U%@KO zSz_HBvuK_PP^KbtJd_uyDHn^!^&#ZT+IOchBZJbA*UChsU(+rS%H}1M{%isGhO!@E zxO->H$WNNS*1lXH0yocyMHP|hsL?n*-U!5wr_|gupKN!)IJSBe~nCLO3+KOGx z=k9$Zh%;9z!KH@_I(tvBF3Dv~^-;~i+gj;)(IOk%so4@48+8)AtN%eU$&<_R#!m%I zeZ4HDZkVR2kP1&f?w(bkO7Xbg8Co}?=IghMya@!&baC6-gnp~Fwl^^+AuOY#+R0Kw z`EM+#?xsWRKJUV)Pl+clZD%}@9)P=A6)gJ8o_!J!Ge1oV_;*`g~ra_9eFz%92E%kJ* zXMdz#7XYX{kLTsXlUz+qH;af28>6rP?;%b9h%*sU>|#02&yl|Vf5}RqgNK`Th2VrW z5II_Mk@W3X-saw8`hZ3^r26j2X*)V)pMskVvA0MGON+?Bb3QA z6`y^0lwhJnabtXNV)aH;RGUlkKcFKgM0{IRM}I#(3M1JE14ImL-d!mrhhd3;88sQb;a za!MG_rdbFQzkScO{{B~?@v->hEE-rI;|-2nN4S8A??*D#DWd+39JSLpSNIWk}mkC#?~9&bgr5U5E_TX=2$aL99-5fC!y5bgOff3)4LLPgc*~6PGsFkTEl+HlH59KAi zhw)9;<$2T~ls+d=O*%zkRAVf}<7LY775}5yo_i9HDTWjNj`KNDQ$7w^SBF=`0j^gEd1xYnf zp%@GNI6SBFf&q+B0V^wbUJ|FNS`BozJ<|o=zMcG`jI-s+tyRb%k@o!NgCDo(eKfcA z``2EaF3J)XK=y3hOfg9Z;-Vz^reqFvtNuCZn$izQUPjsSJxt#2^;1;5)m+$f;wN|! ze`7_D)hdkQh|hmbo=luzX%u@4{xC50O7`Q`VeS>QOnCt{xErnPn zLfag@tsY*P0uM=rJ_jSanw(pG*)Z2t)`T#jeO+}hf^PonfAK5V#Aci*w7#O(>T@2T zwg~Cwz@Lf8Ij3g^*V}{uNzvm-i~SJ}&+SKo--b`UUHa8Yx zNKDpU7qS_Mc`^c2A^1pNa7<~g{^oTa_J9!AiuZV0CfIT4fNSsiQF7=zTpHBxu<^;eYAR*Q0pj(_U)RD2rKof27RKsRWlF7{Rl?w%$gyj` zu)m$a;&6#e0xCe?N@S?^GC}eU3u1_~Gt{8bjyW05>EV_V-W{4~{Lj>|3nZ9_q1D$dr$6m6{>^1bw-Ybh(?3JarbR?>PE_O~AC)9q zsIPtd!2zQ=*hPItn~ll*RCY%@aWcXY6^wt38MIE}&yxA7x~!Z8udzTVrXBho82a=UEt|%)7mO9b}l9l}b1u0<@bUWQ2}rNOkaVImiLK>x$QaLO*liU>St^p3^GHy_`HXvy(S~Fof&G!dEoo zNvwu?pPxU@9vi%z=2CC`opIjF&Wokq zn|;s?lA=v9T+($sBbh?|r$73}{y^`iY_edS5Zg(xzyTw(z9IhRJcbPU66h9v!@9<; zfD~j~<>=|_L;|csZQ2KO2rjQj=)J>V2?vS=-sVxfA`9NRVbFKIC_JKi;yEe5hZ&J0Q`a21e7?Ym68;x^A~zr3GlD>y)BBegw+11p7$FP z$M$Mci+`j4`@*Vj?7GUvlMFp&ECZam^<0KUGc7YvqFBZeZi##E_RN3B4h{uFNpNmT z$ysdUhgbYytEW(5SSKK{H@AnpNf}K2#;PA6Y!V3c;UL5P`E2XUZ=e+^7iLNs=`EfJ zv4zB~S@#fjCf`lwD_gpMXn0zniW?EWxFd<>xg3w(26Nn{eZX)>{C7k3_qx0oY=77) zc#0*a*!|U}z1ydeFBZd92ps?6Om^@JVPR4JS))iJ3TAFDU$+`-Jo_k3&0N!t!baFp zuFfG)tVt{|cKX_R)pp&xpM;+?_$WEe>IBlN`FsoTsnt+6or>+T7D*`q?nHsO2ulH+ zSjULlY?%0)X2F^2{0NG_>E++t_astpm zv6!PlNuP{=wb+us4nj&Yo64mvc6E{n-Xmz%C;SM$Qp)oxDnj5LliDMSFz5 zu_u$oOT8d7tNBOYH$xOYJ+=7J75ZaxzLKq)Wr>0LRnil^byYlVf+=Uje(jPB*t|`~ z{g~YKQ`H1X;C~$d2Cc0PzC>y_i1{W~ajkQ@tF=-Dikdvn#XryKF)XR3`|90Ob)k|W zxP|U7KG7j2xKZ*oh`L@hDqg$Sv);@ZnU{|;t)&BV-(Lp)mQfYEsH5;pN&<1ApS|aG zzcUm^DK3ncQmhpF^@(64m5(Cf(*Mm=c(zP`el5k83NLf9FkI;_@>yf?3$r+3%BWDm zb^Pg4qb;cD`cFrq{w@C-ZB}!a!#7n=UAb6YgJait z_DSpUf985_%og3Zf4YMN3{z>T!QbJ3M&bO|-j9l`sFVw>K0~wIB4TW_T;*zJsx=10 zrGmcBw7TpqrZ)cg@(=iI^HCVOyP$KURhtzgceblLoxNh+HObx7`=d@+?ddNM*F3*$ zhdX5$ZiB-cgyy60USmcpqetnS1TOm8YdfA4+#0VhagN2MhLWMpPb1f)Ti5DZK0p7H zyi`qo5Fb&!j2S4EXr96}sKk%IeG9#ZE5h3DqT2V%niaI+tgkN^`G*lgZy%=-K<5)qT>=H{(y`(8*Gg<|&0m1TNg9 zw5+zaiR5e?yfWrItwi#P!-dR78scAH+-mG&iP1y%iYr77iHp&jVPZ_F*u8U%tYs`e zF(;NT=1&KBKn@qffPJm!L01)io*%hFNfYH8E9=5xy^lAXgb~w#JloGjr$TO6m)B`I zrEb4|kR1j)@Mn*O5$saRP`x4xe7X>>*NAd0(GxoY>T`HPC`a;D`DdkSx3yf?} zP0AkuGPaSvLfW0}`zTLkkQDk+`Mps0hMg+KLT;B%KT)Mkr#{C^^yNI3`@P!pp#B6BC)Z%OPu6`;|%g_>XpDV|itr z3SK5hg=bdP%Gu=75Uk}Z=8#zJF5UQkH+lj6>)3;C4O?;h<3Ml+I;Z5bZ;gO21=hJz zYjBOcpyDewFf-waqNo>Jma#rb<*#E7XQNgXKO5P2)cuz815K(XPNq^+zrIshG)YrM zNaWrgOl%Ac6$xwa@D$0NCQbo?Cq}3#pFbByZdJL3?$!ZNjg@aJ%(O3i9XrGB_DQ{J zVM>M5*z?JJtFARn)#Y~W!rhm(e~eZk3xB&ij|bY5mbu=hPhwaaKCPjW;(l@=gp`!D z)oPO#Ny-Y-Gg`-8vv+S7k`N_z5s9_f0|cmZ{m!e#+-!Q^DerFrtn<3L?sl1m`Tkqb z(%1G`%R?!O(CM`ve?pe;M9efq#B3#J#;1U^6OtT%qE$j$)nVd101-z+rr2iM0UkvX z$z*vclusX99@jmeKa;d=)s=v~+qQZW8oz&s#&hN+%V-0~Vm`mDG97K~ov!JWf1}@7 zt0tYbyWs|<`qK->JDjVhRRa>(}<1<)#q9LpFP|K<0}TOU&si1tbzwmEan__V>^-w zPs2!k<)XB@#Kq_ebQ6>_4T5`l4c6_OA*_abx$p0(9UNc$Ne2%LRzs&k6ATivVHZ(z zvt;mYvlFZC4)oPWr?i8+?rRw24tl>_p6-%bUX5}3+j+rn)#gy2mTgt2N1o;Q^_Jw( zQ=WXAkK7(6arLt{{k}E!5!Fi!|u$3Ezoz{E3C8J`_T7~ zbNeDXl~B3FxsaND5+uyL>!zwozwsv~`)~KriPBj)QLdF+9R||}s_Jrg?^=Hq^gLiF z(Cu@3``dPF>MzAd+M9E2%hT$g*%pKY1)Rxt6HEJxY~`6vobQZ|RI^z6mloXef*QND z+0;OA5N5h2$m%j48Z?W&!<3;{t?q9%t%7&F+|jERRr(OtrEn4t9KsKCue||?9?D^q zt5Vq*C7Ed7Dr1jeQYG&^{_0jr7I&2UU1cFuJwe$WJM|%P+dH#!|;DXEiT4a`BR>TXtzyC5oJp5-E8a*2kG~0-^-+?Kh zM7+ZOFa$pS`Q0v;KrAryr|0`Oq(MUU`E6-U*OEi@7T`Ib%#9Zzg>E{t_StYt);+ns zdG)@Q`D#nHjDly2a!q^t<4Ks8_d8aQl`I(ap7sD5h7DLj_oYa8S3pq4#<1euPcPlG zj1;W-kmh2)Zdz|5xC&LLo?IJ`DE8`vizsk z&jXgF){>*9Ms4FALj;julr-1FDf2r9@6B2 zvbC+T`4uRKp3vBQUTwz$x?9GLt-ofw?^VY9I7g^t(#5ryfcd$GJ`8H`Ji%LgWp5GgLnLtC837#HYjrn-`eN5O z^e|->;x>DPuF77yc!+E6#$|l&C~Jx0;Q9=%v5*ZvR(eX-La<;HM(FOfvIOS5lzU3% z&T?udW>^|s^*XpF2NP&i*B*99hG7?7h~l?lat;D{Sp8D_a=9in=n35@@7(DQ?duM` zRc!Y>dEh$GKSr;zK6di5im+*wbDk3VQ!-q*zFwN~QuC-^1IaT^tRAWz4%`Eeug*RP z1t`{7K}l+PV1&ahD6#l%y8j}z=eV|AHFrT+wSiH=A4t4?u;f6Dz`^ytqF9~3^Q-Fr zoy_K7bkDH|cH>$pHRG0F9=n-@4ID)wa61)w2^H;k{bkg5MApsdSqYZFR3wDPI@?B* z?rmXVbCM0Uqzja3s^3g>X(5ra6hDL}UAg-DSyVbXI)9SZT8AXfKUIWgQY7@lM^yAR zozX7m{m}L;eWj*5!Y}F2t!^wByM1qQVtTtbU;44jgUlmh)pna|Uo`=+vBAOhcr}QS zz__Exl9!XCk|;U&<2Nk4gv9qFTbi`1 z324ZIShFs{)A=J#HK(K6rlw@`*`;Nm-HJ2kesQh#^%ZcwwyM#rFwmdfkg2VhCeo@r zo}KXZW6$=~yNK!oz+YE<>eOQp9Afp>a&qR4X?x0Ba^DIM(ZEBoor&)5BayD)?Ul6{D&idH$C}mj64?l=L5^Xdob?1gbz>vJ12R!wsb~5iN3}qN?Iy4fy6=J5$|e z)9tf0_ImIb8-eOvY2E96IOk5l_YJe|YcuJVj!PUz*L&XIYHB9YxEi@l-`|P)G&dIw zPQsu60Nz4IeHT1rTFX?5^UGbL4~FozzXxzN<7|rQs*4`^?;R`IzItmqq0^_h+haMZ z{dbS?d1Qsk;B9TV3$K8oE6!Ng7+0BQc6U z2csK^qcy$xoRbOeEV|^)N`GL|iPpYkgu)eXw^)x)4A2rg%cc?Y-jDr*eMc2$`P5kR zyNQ0qi+lLxA0P4je&{!DuY-bCmRj*Md{(W((ZUL&j%jLlxMJkR zO>JW++<$xA(T#rsuGcAiEsW~2YINU-#SgvJi+g3o2a~=2J8pqK5?S%aW?wDeKYRkL z0tAvld0Wp>s5Eg(d_rgl&^B8iL&C*lUm4&nCOsauvhX^8<7^!UkxP|3wCCW20;oiQ zzgwZ|E9E=?eqE#sZc#!|D=#(o$+mlS;(adksU!qudhWk`zDv<|+7H&EYB%$Od^JXo zWP8qs4^$i~57K%=T^Q@TI=|KkAvz-_-RnKm=PB3^vt04teJes>08PlyMT% z^$a0igB%BDeKOZ?snqq4uMm0s%YTOaJ$(SO7>j<1GqiFcmm>YTf3FkEhrO@TF|Fx;{X{Lc_=BEUTZ4LF%Cc@z38K&6W|qmCPAh6@mxnHvAY@LWWcv-zV;N1jk(h>PS=4||Z#f}?d~Bw5U= z@cB9nv+GjhgX4};30jC|11RM_96TD1ed_8jW52`!YS-#XWr}BfYVAl>{(|7(<^j0z z;0oe)dGXT*RH2cEb9#?j8C$9Tve=IDtUEwqj3N!sqG1l-$ca03Tq@n{nD?F7ocPwHy&944bMWr3#&l$e=>6ZD}3 z!_sZ@Z0E6jx=Qo$v9L>{b8|u^{cZy{Q-Fo&WV`wGMRdS*p_&dZHFqp|G1(QP@!Cou zZl^^CBh5mQF;kWX?m93vaV#CKN=3;er_T7Ubw^m){Onw?#IP<o+3TG zk1rxyOCrw;#AE_~{d@9jgAk=TwiT~~c$BjQZ&9Ycom!&Y)e0*KS|4bCesJmK*`?~n zD74ss)Mo!CG$-Ff|1!2akKE4{7X~hMQFS+iS7O7PBjV zX5JXj!G8&A*9*;=Av`|k+d1x#Oe*auO}4MSxj^!- zTmznM#t+6h1*PYfxrKeWDpT7^kH$-~&c&X+FDl~yv|((rt8Q?WsbOv~Q~uHq;_{4Y zzVXd(&9&t_gTF&ia>AiA8bdfZe*5$1u+&!c`%Z{4`c(osNG_;qnJW}D_+2?pf^Ol| zU#afMCarI%;GxMmGWxJNzKyIP!2_K3n`fInWhLYK*61F5B6I3GUmxei*l7p1F^@u0 z|9B!J6s4Z=uD(b=RsREpn#C$hBKZb6QVAiyS>)FoICol$s>nXPbQ|+{86(@OjDPlP zd^o?@yPh>v2~+7*i5w32e#8cRav3V#j zc$i3)As(Tn)@5pr8Z~|xt#}s5wrt-Mx0PmgcLiTyAzM6x(~w#5dcE97j(L$`n_1uR zPzg>?94NEP6LG$Btk56{hs29UmaPxXn)et-*qf;M8nWEzdZXjoqU#cme%~2r5Fyjc z)XEPX@g0AJ9#3kpe-W7zj3H;5m7l9bgyOTm)r224s@&mvIK&0Y6^4W=Qk{KRdl5$w zU+-9<-HYpt=eEe-Lf3S0NF_s#rI#a*|CO4U?^B8c71tnCJ0#AQ`4I2zJ(50ugibCN}EQGy^yU}8KMqrECO`22CRpO^4YDtm~|OBq_n zx2F}mexkbOH5qTRq*hrLw?22iVXt+b5ibisJ&0@=sgwi8Yi|B(icf#k&**lD_Fy?g za&$7!<>}?jp0qJo7#aJNxarV$oqq(=DhMAE{lEKRJ zl%K@Zl3q}@!5HNuF)BpN1n&HJQ>1tVdNYD_>QvRNRJ0e-vd6TN1&;Xq0H=unY=^fA zQ~%*Kj*)*Q^c{ET%gZgG#G6!Mos^=awetq~0pcagilzOtbPA}v93B&O@kqpXNOz$$ z0OBQ^VxB_w?`NR7Jd@}SNRHKBIq^{$EA`8=5uzNzufoL!q`dclp$5J?H;*r}tH8o< zDzm+lP94d0@=xt!WvHnqR-NA&Q}sUYEj@iXDw8wrhV!GKr;&UZ?EjQtOtzN&LHvG3 zV5`BzHK%rMa!>szyAZVfi31N*D?j$PXAt}@Fsq`LM+-+)|8Yb6&j+#j5Bye7`@~KO zMme_EquCe}m5}$2!WAY+UqDLJlnWG8?g1RP%I?6DZG_k9$vUnrJ=Ywb)OVNl`X>M) zem_wR`tSawQW372Fv#Q`Rg;A+^`FT`F2vnUc)5ebKklE}g0FED=X;-whSYC9*~mEt zoh@>Yhua(XtpEHF9O@(g>xJ7_ovt>g(^$@Qey2bChKN<>+`u~3c$2XmTs&`qcdmqN zEydocF&~{?wq$Nwm@VQGNsV9R6j}mSPTTxWJUTa8AZax#*p}}6g0Ww|_btelilX6J)Kf?6Y9oGRX`sHq~%nRhNR+8z5DfIDwi2wMyC)s(vCMZ0O9I z)X~kv_#V)F&6yCXkcN9syhwBn_+Bk8lbIKqI=-?k@@QLz1?IT4+cxLIJ%v3@Zg$QfwictLzm zPuW9N35!XpSp7Iez(vV<#R&XKR2D~=n5Q+SEnI&0@gl^ft;$BB@SRm_0?K^f(na&% zsg)kyFw@Tx9RuzwGPbT9uB^HxBYp-R zGi<)F5b(YI)AZ8LGj4ptMYR-y+X#B!$X%2Xkt-mmEw+5=<4I3Y{6bJjPIhF~0_J?atu5v2xxHXA-;0ywI>m>a5kDD(5jIP_k zICQ^bTjr?xY*#ruHYr|cF0e1gxjldkmZ~_6OIG;S}l?;GQ#MmpmZ|l zY#O5lY~xTdA7AxoYifMeWu7Ln&a-++h0!QY-0kk2{7M`)rfqulTHKu$8TWr$@(oQ( zb~BBGg>Aa7+141y#y;lqs7#{H1ZH($^mM`m_)L&Hgp z9;_~m3A%;vzTWnK;x+C7rm0zZg7A-baTuPnGPXYqgMS5>?WWjrXAYMGKcLNAGQ|uv z#s7PIqd%Iod3~RJ{b46cM%~&>>ctg7BYXMn@t^X)?FM$?m-3c!oygBKgGOlX8Vl$5 z1vS%!=FBa&Iig?aK{up+(ro^ss{W!GcI`SZU#TP3s16AH+=Byb@R;otioCTvfeRwa zUZw{9h$EZ|0mSFmOjd8|HrA+&t3GR-{{G(d{jj#ld1)6^g?#$_E?~FK3gV*8^I%Oq z&I@qkIZkqOYM_*Hc48yRSu@f4}6ZIWAR4C**byH+~jJRhQ5y12cDuFW5d{jPWLL2r0d zv?R+Go_CJpwKBMFCT-o&lVChux($yvK4eE(EHWuqv%iWI%@DsXEBLUo&f40SJ@o2X z_mt|o`Fk>j&OR&l;V8LJ$42)ryl#uzkt5fNr^R;pqCYR85vcN@`+D5x>2o<5!izh>FRP{@1 z*wczE4#<#nOS2|KmZ#C3e#fw9YPPa98v_mJwlO6{nx*rS-wFLlrBl>8^ z4XnDku_AKiSJ=Q$%bVEgl#_?^+2WVuV_jImn@nx+rfe5n57W_`>9y5L(3LJd;b?HN z{v{-s-ZcR`Subw|*488bHnQ~sm%fC@-Oh2fx96L2bvb3)%5rd*UNx!bbN z%8PM2kwcY;Ig$BvjNXi6r~zqDvMjae#FCu;lO9+0tSJ3@>bb8c9@+D6p|lx=?{ihm?q@* zMA<{G4MG7oKpJxBw{AWZXQ;`rN93`>tH%#V^~iS0MO4Mf*vcSFP)% z$l-FJ@j>nb?fkJcVUwOmG+Qk+oPYHI!txmR45riJHU`bvr=HDPNfjoqVdm4zj)aJ0W{Crui{pQnBiYQk2fYLh9S*WiHp8PCVZ4M+|jKwfvq*_<6pF@9+7gK#?#D^ovRO&~gztvEu%qqK|Er z)zr9-YMad3jADRHcjyOIwuiUq=xIlwTyJ2PBtdmtLl@t6?pL&u%Tw#n>J)j~aAuj* zA3N~Yqu&)5s0@nQ?q%AbuDM8xR>Q-vtQW(UC{AxXTCXjzhh>k=j9f3hk&&XY#bmlnadVgG36 z@wVHkH(G8`R-$_5!Z@6xTU#u_ud+^VUj%o=zY`%OsE9D3WE!ay&uXO~eEe?OymP-= zIH=B@Bi#C+;c-K{%Tc>4((Py(jNQGnc33Ics-xl|Sylc%>uMXvlrzm-DgRZlzp#Yf zRvj%-O|_9u1=#x9;K|6RZfg4JQBV!RclNe_C9h*#HenHay_8LXpyMo3PdDY%Iv5l& z|9A2j(#O2pQn$u66Q5&Z^3IX3DL8II;&d>ojSnYwXJDn4>2)7_p@0|-GQ&$9|AQ#o zD;j09h|A7dJI{qdpz)BXUha;t~(fXpd1s1sPNL?G~+?=ahO3t;R`oV3(Y zqnw3XFZ0`a3f|bt12?Mjz;*+kekM~>zN#vNZn$Sm^vR_)2B~L^CX|3&+4CxY)}4bo zFcYv)#&hpaKb^5D+tqH5gbePQjapV&-E7SqVQOHdmkTaUUbt9`WU^$nHmlM%h zT2T8EN$KL~srNyjN}|=Tcrpf-!PJC)ti%yG3=Q!bLCytobN7ZPZDDUfSa=CLyDK`lJ98~Ww=TYU^HWOssj0<-D1!HU zWdAX=TlLK+6`?cPrVNkXW&s|zD)F5S8GAR{_qq-e0?A-!z{c=KX|H^t<3$I4z^j`J(+>@) zDkaYS(IyDzxkWS%tEzlG}wW-PB`nM!`KRLzi~F4q#Bp_l1^beifz}7 zw5FzKLh_H?a&+AL%E7;Xrr&~*n>&_w*~Ytnz#YLC|KrR1asNP`(y7sI99O$i6z@R= z_C{ymZUylwe(~+r`3xNpOWvV92K`Uww=9NO zb~hV(TkQ(}tilqI(;MFSY-Tp6Z??&Rw%v8opdXp0Ju|yF{i%J1H&w2Nx!Toa=*gR^ixk0Y}f$C_^mzzOE-}14x4l+tr z^!N8B!?>0rJq;ul`nLUb`2UHJ5Yzj?>UYitnAXP9wtS3*VUavCQsVTe~@J)w9!(#v8l?7Du@#>cQ~#GPm7d z6g8|Oarq|7D~fftMN51qrG5mvfO!-a&}k$nB2LAy`Bs*^uDOUWhIphgEF0Q$ULTALC%nX{NZXEurW=nOu6uN5sG) zI8V;tTHmJAf_-0tT5jO!U9Hd1euaL-B?jt;sr{cTZd`NKTGfs2yu%znSatyqHrgV~ z!tSM$cQ8Hsv=`QWNLv|kGxrKDdr$^CP5B% zS9`aeKi$b!p}5FzwbFS2z6W8qocaX+H)mGX`F*7h2X!a+ov1-860&lCcMfhKyNVM-yS>^V2@t~TDY z^3w}$>m5(u`Q;n#e{X&8);E0hZ?0SW;wx|4dHXN4Pr7=C)VG`cHDWEpl@kl`IYwm> zo@*kvf+-9nMs^*$)n@y3$Z5K3?|9=cyzSISulW93E0rW)_g79}`*{S+d%L1pASSUcdIloqA0?Up4C9)if5vkD zW9pwG@oK)F;LtblJiCOwNHJJ3Dc&p0Cv1!K3iIV3#f;DX%;ut#IOrILc|c`Xu~;e? zQ5}ZGC|$*f8Vt6WjG7dglvG`_;$jIPxX)eLuccBr`7IN97of1cd0(yYPMh3+&)>m z@cPQxYmL1vjWlt^LF7fp`uzDf*NJsk>zN*_{C}M{{ABOy?S7*>G`oG%v3SnM)BOqP zPe}fFVGj%RPbm45q5d^;26Ksbf$%6wv{5Yz9V;&teM?&cLLKb+L|Dk6Gtk z`f%^$A3t=@r|y2>dh>jjR-Wv?=EnzDU+A@Zw$bTVtf2wDT|DC%M7^8?A@qX~Qp~>> z21qABW9DB5#3|+<#8TM&`!Xq9|05&dZ1bP#0iyaR!kjY9|C9+Z0~O@w&f~Rl9vS2s z=z<1nd7Ri75kis=QVV%<$a}AHKnD&mol%po!){P)Qcb7Tn$@USrsi(cIyWtyyRmk5 zQ#+uDykxKc^~IZ?yR`A46OZ0hefhX{&?2@0$A(0xjc}V9=iH^I2UmUNx!X^yZNGc- zscVcKg6Kte>6!kOPahoL?l&zL>QV=N({%{*`g%nlg&OsSY`-jYQIPtt;yLH#9C>V{WhOu-+a*Xuym%t#xUoM@^e)26pSj zYLH=z^s5*~kl9Gvahfk#8_#x+z0zCmSSF0^vh_h9Dx6`C6JF;d`g*0A7g>Lqw@pBQ zVD*EZVCIuSnt90tA@tE`^*^5ZpB@2EdREb^HEDbXei?-eBS$k#IZk!)3T^z!EK9;Ki zL@A6*9t;d>6Xp^GB8S&_I#8zs_zo)Gf-o0c0Zl@`8VR`J)Titq7vL69<_YBt^`Dac z9FhKCfc~$E36Qh0Eq`HLWJ^XUtR_YwGWAD@D$&%*7V}na9PC`eUVa`euZ`rT2f0RjpHY7HAqB0?PJcPC$rJ?gXG;jFW&Df^y?8 zlrGGqB9N~7fdmc!^yS)I9Hu@K_*4rZjd%@(TtUOun9g+(pAW^x2x|=MRMTBur+ocM zxMuMxI_|`)>k`Kyt^+!U&t}D4m&=Pf9Z{+375BTI;g5D*`$9hn{gJ?z$%%fIN;tnt zN)bP4zf^|#&sqMEyvvNtKPP}subgvQmF@(56_j|u{7!(cQkk2Rqw+L@UEWzX(7a@zkflz@lhcSy#tn=w@MOB7KwtBuuU|rsz z{FB%7c(Ymg&=*5{m8w<6*n54wUg|Ry{a#fF@*~}d_)$}ziLq}X^B@0NbB+L>p84lT z)}v=CN`py8%IBFYC65z`_X)6+;s}9k9s_VSBZC2<{rRYXWDZEfFNFc3nul6Gte&Hv zlL30Qpi)Am0R#Kbc-Rd~Rl{o4e4bo+sp>2)qRM~|;T07-z=2?*3U5{)Kd&Dd!p23v z_@c~sMsxoP`qjXf$-JkZ_)jf-i2NLppfPz}Lh0RDroR|L5uAN?Y0#Jkl1{k#*6 zGlBoVqi+v;J zKQW^}hWQVDSezsilxgad&hnYZ35+pDYyu~c91W`+@Ph$vu)%2YC2#q}Sblf0hyKu* zGF7hd@mmB;J0M4-P{mX$;*F@ICYU+is`O%KxK8g%z1xyEsf&0 zZvs=9z=;lUQOf;;l7~$6vjF{B(qH{8;#NPg^lhQce@ZNonFX4}4@}Pq@aEMsdx%et zhLdl~4+ek(F2h5=rPG-w_UOxp>> z`vlVBfkHya=KxO%sT>eNDtspUzqq4-=fG_wQCtC!rBx;XGkK8((BG9F0DOWdty8Ri zG6BLdKrn-qfS@;*TNwAju;w7I?}Hwg<7GU(ZruR=G)VhQB7Q=D=E?of()?%Uk#h6{ zjLm_voIpwooIr*U65}MZIRM?fSmglobE9IQjFc{%3_K7PgK0!S&6A0U zWtsnp(Vx2`Y{Hm$YEB?k2>I$?p~MIdFcfGZe}-vc%l$Q{f0w;`mqLj!h$>8rdEy}=mvU}R%B%Nd#hQtACoQa(6c`X>~< z#l_F;&Hu=jqYoi>Pw+?%%*F}i6+%hDK(wbUriEOtXf!TsAPK|!i3J~gIV4L4KJSwvdB!G-a@7?16IhfU4gvu z`+6n%m7EXCK!2L__n&s;XG)8G=Vku$^`I3gg(%w(gq%P|$8gSQ7%Q$IF&N-GjNkyz zjq;gBIiy|wiOA;&)QcT8uaFKbz2^WX9kp0B6RDrXCD6Rm&F2)jweZ(Hzd%&lBA2HjC@ChE`<;Vp8?h|8x0QUkw>J|m} z$+J5utKhIC*^>wTqQwiI{q4$|yyB-&D@*-Pg#e{E0p%dYoPgibIG}!{1Op)s#Qsd> zfC!6yIpnzlNdu7yg^iL1k}xRD1QAGx0hS)dBl#b-h3DP(0sv+8iZCVoFk#3jL^a$T0k9l{|u_N)UnijFBE;)x&8U^b87udxTSmnwwv1_SZ0=iz|gN2V?hk|KvBF?^kqNCVLw7G{F<3Cbw~ z=a9Pv`>O@XG2AQMNQZu+;YUfbXAJZw|0p@6{~X1ScP>5o3dUeUQ4Zw)dj4Rb5C@Xv zP@*dc6cLKifQQJ5Oc1h%Pld?8;@{lJM;nH_{JQ@(3HLEpWZ3u=!;dCFe<{*Gv6YVg z7{~Oi{fg3{kQRyyp$UV52|3_rkYcVt(g22c#k>J*Phx`1B8mOH%aFH_yB5g5efh@U zCx-hBtFJ&mWjmW9`twWwLgHr(^rswOpY9AlWz`5xg9Cnx$f1z z4#x?;FHoE45@WhQICU6#3AoRKc-nRr-7*{WC*1gyyS>ucH7W=$>I!BM3>4*ntjGy- zK-rk=3UblF+n&UPAnWhnkqYmmhm;&7DAq0+_l2N8%J8G?e19qEpQZF4QK&bbRT!tTCkgi%(9baZC`tCr z68(v7R_HI12Av)UGJ}DvuaCz8k@HbqfoQ5Lh=i)?G)Q2A5+p=!HmZC)VkF;Y+Mj-& zA`Zcv(9dJ|Q90<3wmi~*hUhQY4^T)BO(`Hwl~TDm5D5t)0fVoO!U>|0GzgV7h#f?W z?3Tv|#u1=qsfc|L(}!LGEi zdV+IuV0r;@gaiIkODev737!!at8yr9hX@VAA#$p{kBT4VdUCcn6p}zc$|sDl>v#;q zpHKPBC-5ykd)(M7#4HjA661k_awy~q(rA#>jTN%(8R93Bd(G3L7*Y7$zdk1f~T8;r9igk8(JZ8KXZ}bduUhppPyW^v`;s?CEhp*y!LOYOhn897GoYW-@S`HK=MbWQI)mcp!GSU5P=+hWgnk+mlF8t=344P5!(@lT zBmbO+;YWuO{nMKnZt*xU(iP;PLE4|nmN+^kCB}6KS*s6?(nVuJA6+i!pXRhEGvh#b zS?>f6MC4G!6=c&O5*s9Hn?$vv76MH&c6*F~I2-qqK_BH2{f7troB-;%%UuX;HXIlk z5@frAkv2ZjAtXA1w2hIE^0y4c|`X^c_dvY2~g9Eukf&@7f#dJOzjATN#2bi!Gh0(~sphW1S1x9~q>jY0ogPCz4 zzbhz8gON;#KceY*fSgql6F?swcJwdYGO6?CK-3i^9y5&wd6*D?=p`lctK`IUMJA|nwf5sqH5!|CR=pQchFX$3UbL2pp z97snwu! zkp@W=9$QWtT%QG6ynTL3${kB7Du{*ku)fa z36ZOsPAdWTC^nPnhIN#yiWz zZ5}`5*mpRkg~i9{qh(b7TaY&1^{~qw{qxHL&CCzv*WZO)fqFfDo3UG%gnrY5J~~Y3 zpKBU)HXJB=qVZ_pU)Z$CFuBhu>g(uHM*qV11I&d36Vf0J2V+p8T!}TMVhXh_jwU=D z1eo^RDv@&)O-D{ng9QP{44{wZFr!H+ZQj|8N$z}%CqB;a%4RXW&y?DD7f&x2^e+Gb z4h07eBMrvBV0sy$e=!I!VVfBTd{iwm6DGVuI$QKFKwFF;c*1$7$2;Rhv;3AC9+c81 zq$OS8%I#@3!g#yvgwW(CT^wCB`DM_VbWN6Z(()Q(OnLy712Y@fS7s}k6e`jA6FvhDa{q(SGK5}nuC4{5A*v~<^KW4RDX(j)DlFBg$Hk2Vs$xzxhpsv5Ez_sPR9%Zzbd3)2u zqnd$oT(-j|pN@7sz0f5Yl^I7e_}ms3iJ)qAzP`lYK_}ZYZ>gJppY}!*AxZMt^BLW* z-2HPiC7LNjHx)-#ce!{Rk;|cSd$>^QQG{uq&}YVW^rFk2uJv2 zs`yna6_7#8SQK#wk#xY>lAO~XIAT~kE?aCM5;|0x7q}fZb3Nlc7it{cELL|k<8?>PlXQsWuaL%P8r71`22Qp{WLgzT~xL+ z`AFT!BdRe6CR@)Ze;)4t-eu1luXO&$(p~H|jpb?rnOWs?d9=FB-=_;7 zX5QB_^r(8ojLAlr{P)~`(<2EOZuy%#AE_JND`7WfvTazom8W(SuqVVvA~#onPLs1J zk`^LmK{6&DGH31jNTb@_EZwak-F7UkLkJonAP8cFe1gvfIM~g}ck|k9Mz@pE?4?wJ zlr)i~*d&gmP%H&wX&B2uXhy)Y5XuN>PCyv}VFe`5!<+!KJj@G_0KtL)6@CaXT-XD! zfFS}3^Ekp|Fh{~10e)sB5J$l*1+lciN(ElZVY0kjmeEU7HfhvBg-ghw9S>R1gdP>- z2tmR)1VL#&7vyuhEWN~7rc?IWh-EjRhCC9=i%8wP%$+0LaVQwRx&PH_!K}^L`d;{t!(R&%P+>~F=P*7)C5jlEkrR*uVp zTA_`%*C3!_fs2&5YIu-khuiXv5|!46HZi|=Y#{g~-;pCr#i{6JRn zr1$9XOoetF)lJ6Xl^t*-sFYkyNw7&8ZsD5ix8G|XJVANYD80ufUrSZ|(cQVeXi?1} z+W9Q8>MnlA4SKfB9Id7!HISq_cG9tOpK7v=NT^Xd&F2>L(8W~k>%O|REhD{7D7JX{ zW(MC2@qr+p%|Zx@iYK2{nY0l}E1a=$QcI#%@9R`;HA{9X@rV&EF8YI&w3;)mWK3%* z{Z3pRjLNtufyYoH1`{!XNC-rd#}gcu$|LCb;Aw)D;(0lmlOZ`doKwO%rI1&0s4AyZ zB^`=Lg)~q_c`FI;t@}33=X_jlHLsq|I!2?;#egy8mQ#DE%q7V7a-=H;`9oYR4)Gi! zksx|q-lk2IQgJ7eF3(jseRmocPDmGPafn8U2$!D7$zO`LUf8M1E-TebkZL)NZFo3; zKs=9fm6lMwB-+52*SgH;zbh zjFA6p%KC$~6Ujlnd5|F|Hn>OxGZ~W|C7yn?s%Pu-j& z&mqjwv-g>j*H2REyuiJfGX7xWM0D6_9M01d+nmpjDimx(sjpL->Q29_Zu}ATP!%rq zbE)SORZp(>r6zQS306MsWp`XK0;3LFqR9|w!SI&IyUHdWQchIi(j=d~k(K{0&^xeP zDVrs=b2)m+$GJQL%c5EhUuKQe$|AK8Srfa{v2>qms+CMB5h})KCK>73c+*8!RcKwK zSVvUrd3q}jx&2%;3JC%tl_CaR&ZbE?$bhmrJ7suQi%=+xFhV}S zF&nIGiLuP3tcx+zZb-$1DI$oHVOSCtBvFotvUoHLCo^y|Eo8Gomf>@Gi05vuW*C8S z3>FtLib5C$qX_s11c6Xwf4RfO%^(O6$3r|{*eyIHZX1>rI8Mm3VA~w*83aWL9F~x< zL?Xy&K}O|OlAH?5s?e+kW;8-h$B~+hT^p@cdK;v!8q!^cCG{vt!Z;`JAwIK_mrP|H z!|}2ypEc@I(7Tv?hnMd##9o;92l-SAf?-spf-Hu#QxPr4-YJk zXv^z6HO!Jyy$GonlgNgP3x#0}L#^g?jWN_fBpaFj>eYw!gNGyu86sK9r=E+o{c)o$ zKc&`BvGN%|x3eek0_LzLnoa&TOxhOwNcr^#lx{Pte*~CH(Lf6 za$=2(#xScT-fj0Bf?K-RK4pEqhlC=0=9zfi6HEQbkkT}m#%DIf&oa|m;_bp^UBQo) zUwu%vp+@PMT=rL?{uk$(6k`&@cnVwC;-WEBq2Ovt0&TKLE8E?${z2oleo2aiv6X!G z*;vPO8!h=6m2Q?(%!h?-7oSdp3Zc{*t5b#RV7NAUN9odo>T&U}B*LXf8Rg5-mWw-8 z%&J1U2C3E0Q>AWsGJcsPT^QbHmrq|!H+ySO3=0-_`^B@rl+rwLwy zvlPlnP)<^K$$$@t$6x`2cnlH{2)y_Uum8eZ2r5(s5W+$*3n8q4<{JaiFr=NjaI@OgN^jSZo)Sz@ zA`}Ec5iY&KVxyVTfoSEV$C}-d%XSdO7AM_GBJKbm3JWZY&@^JyGfr)^f{ax_WM%w> zW944eR3{lzqqMjUo{zM@u~{Q5%0OYZ5QR2fd?JC+G+bhh*K2}}DBcu(sBG#T%CRb3 z!U*g@R{AU7;o-S*^(3aBNP?>%9!FJ5w$ABqm&QA?_czRZP&?2>NFrSN`DED>>qn9! zI@3s=nk=5J`KB^&FU|MFK2|gEZpDHcp@tafzg>4u4Of_N2#Vod*5yW3N~W#C-B0TK zJYOh3dnc7j^2}55x}QuRlV77uSBrZ9zEk=LpJl|eKXC-C{tqY@X_z>hmVbNgbZo$A z9mrr4Yv6U|bVRx>-hSa|=fbBDc~+?fg+H4MEVQjO@pICl)7545N^GJjieC2y7m+S(D8ce>;Y^M&4U7@{oMG6bE!T{qfIM${-B;nKs5`o&1= z#m!1#Ri<2lRI6!x)5isZxBeBzO38RB#5%LJcJEQ$${~8S8qerZskjtYS$ry6G8!+P z4q5_UCE>woFHHM++Q;C56dZ~3@dTgAiVF_L351fsQd*GFyn92@HPl5S-^xRzPwbn&ohY!_s*? zn*$#?2II3RoI%kv0!oV%geL_eDG&*sh_hInLE?ogD3#_jSs|Y*?gvVODCB}#k=IMp zMlx+c(k3Bi&g)IFW}UlJvDqTouEg@FWLJ$y>kw{~PSQvR+BfQ`&h}wh-iZTmr+OYBg7B3pL5Y&3sM6 z?jx4LyJ(jhr8o1*=Mv4oUF*tEstx0;Y`XB!$8e;~5oy=?JE7Xv?Z<5wk5fqqg05uf zAMTx68Y?jl3#u_MyS0Omq)=b(>sH1OWgcl9{*ZdahRJ4f+5h(5ab>j5GytoI-Qc&$ z}clk{nh_UTKVs*cPFkH zEZ5T5fiB{bWOg|LlS2w|TzN#$Htqu0D zcec*`z5a3wNd~#pbBU^-uk~j~wZ_prJ-y3%ya-K0l_kM;Rj8eBYg+%X`Pvalf`qZz zT>iJ=-WQjf$QfEcm8a+Ti(|7fTVoD3knx6md(GxMjHAaWw*i&L_{?xt@s~(DSo+H{ z^|GK^P9a-fP#^Ogs!~E$Q>s)Mt-umxoXQ#Pw``nHF1C?gGYYD@7@t|oqobM98?o|f zpEd55Q!Y&E7Gxe);!PpJ7$1xCsWe#hFpN+XESEtF8K;)!G?J_u&8m@{3d$)3R>`4? zoI;k-O4CLvVI<=QBB91oS~RIbQ&KobBY7#z;xL3m5DvpAcpHJAZ+-uBkiZK92MKvW z$OB0SN(oq+$5R3k<)k4_7Gb6SoZQDKd>MHtMaPpA7bh^W2#G?H2rr3nL^z8^Qcyf8 zB$9k4171xCib!chso-_WtVx3VaZ1!tPl_gBxnS2Ng1;Ecdt&B}k_IXp2_t{q2o<56gJ z8>}?5Dcx-Mb>foF(4!Rt56M?_sC0^9{wHwk^~na^5T+jv@hcl(u~n7^dUU}<>;r9+ z|Dd}fuE`$EYo+@zEkEr4V&%De=$N<%ems3ld4)1w4Z?R- zf5Csm5IL58tmVoFlyfqKd?l^?*2?MBfZlpFjZUrrRkWfs*k=s%=ikv@R7H!sZLH3C z9o7sN{v?tV8Y+A}ibQYby$!=3P>+aO)i1+`{xsh%AEu0>No0N#)Vq2;)9CPbkh%8c zyK2VYqZ+Bgr4cUuYTEv*-M;N0&7^ zOY^zO99C3CmlW#7!qVR?NJ9_={+{fnM5R1hj-)GcRZj0IEX1Yxd`jTMJQm=jURJfu=(e+(t%TMcS0p1e8pg;F zA_)m}ke38GYljM;NnusA-#q%E0R_sX@k>tR&9%Qns$yTS2`s-B^XeU zl6-a{k6uaDocGnPY?;;W>n zdyaSL2XNhWAGfxNP!!i%uDd6OE6vvh#mFAJ z=K{~N=5o&=3hs$MR(<82@>MlTk1+Wkdrw}QtT7Cs+OZJ7x&;b(r#;qY^mQP%cK1ge zS5HgbN`#uvWuA`oKEK!^nWFU*3^ng!y*_XumRJ*whF~KKH^tvlKJyOMXgz^J5VV-j zzZh?MeycgLr~&2ILK5Bda={?@yV2>u5mhCPRv~OH8H^wKz~<=X30{(ayiD zHwiNe-7F`c_4C^<@aQ!eGxgR$8<}lMKUh2Uh22erN>Pdx=1|2rT>(u{K@iBVMt}Zk-?|exp*A2S>s(cPaoXYz4}?} zIZ^j~BGUca$sX-hLVrELt*nDR&{F9-DwQAhf4TD2({v)qGe3_u|7_wg?D*BczrW+g zW13MlLY>Rd-&nmTe$`k!`?CyMS?WKm4Jt z_IyV5bJx+usS@1;teJ{HYdd^8jq0@d8hfyrjyC7J>(}3FywNX-C=uXmyqc{3ldEHU z!K|K#H47PH%~MoG3x6Nc8d;@XzWdfK*~%c3x*9;?ar!v zS$QBWji)8q48f-{IE$cJ1j#`t10#6|$%{2E1QtGDEPusPSU`Xe0P155;&Jf7kpfRZ zoP-x7JVLV)DyN{cdOBs4BrKAsm54a-kO__J(EPzZQIUF~q|WnB>)09DvICRF_{>07{afFm;rVjaG_IRY<4e0-Fa%z| z6^?L=I@l)EwroFYy>g0*k}x)&<9_BlesQK&JBsN?W6;tDIN)v8c!$;3jg)roexl_3 zDJsDU!pmv>4>nGQ2TkU|oMe213x!dmA=T+T&^?bxAU~J-d8GYUQ-?HHNyD`Ox4MZ) zNbw#}9Pxdn@|C-(bcE0RB-{yqcIu%|Y6lD`eIY}BWBuOXRkQU<8k;D*e5%U*hxL)8 z*+*N7p1|cS{_k67imK=s__K?eYad$Hz4N(}bD}i+T+;EQ)nl1qooR@XOl<-2RISc8 zIlWy}zBBPi&B(*5aR&x2wLit1pIYhR$CbwMJU#1T-5zl8m)c`3`alb;Y7YLLbM!&^ zocImBlF|Ob-!r^arkEqNvkbND<2>G?Dq3oZ)XJkZ5L%r$QL=i!dP0;bZZiZnjr0bg z*yQC~8GJX$2Sc|R0ybsBMx?B8#>&y=WSzm=uH0#+b}I3Z5yfPPM0CNz9OK?UYuD0- zt%TN_kSF346vweRf+t`+StwEq?{_Q%N?L?r;VcX1!3PA~fP&D;^ALZ#6@b7nkVjFV zkfNx7W8g!A@g&AcP?kbj8p%mPk)4-8dAYzUcu0|#D>5c|!YL0`(0=h=vYTBn~9 zlv4qIa~E6%7IV7M>TAc5_SpNXhTf@|7T3e?qU}#Fb>X9O(?|xNDZ~hL+H8x{+e1>_ z!H-v7en_?>noj?@efP$&!+d?;o6>4B9c7~K`9S!hBtRj4or463w?d_zP&4U+m#G9wgS%JzghhkGUT^6&v>s}E!P-w zyr7EOtg&uz`?PlzZy!IG`dzH?=L>!0pxii=LgxzRoYj(SwRw9`eTVPy(o6SBJrqn7 zcl>OvW(?DhC*b96P#$PC`C3PyjgGZ4Cu*19XBg-v^B9EA=JL-(yI)*uglFX1IZi$w z6n0#EHj640La8-Ys|?q{P)+hw>B_;O0|{|Zi59zJDRzFRrdOk@tU<`*Mv=QpdM zrGoCc7=t%mAj2Y&zz%DoUKeUWg{H*)6|?VF4L1@v3vt5?{*=G};$pROlGIP6@x>i3 z6b2SpbxELI9`0aIG!|b386o#_%KYQaklhu z4X9LnhmVhdcerx6@D5ignf40zVbav+`cmnuCn@It*aI}pc2w;hrEEuc|GD&~BN7Pa zJQX8M{%hO!uU>Q7F6D^P6+W3nD@p^0ji5GYy(X^yH!{?>*3Se7%$9*HF}?=gUM2QO zuhrWx9PgO_N7H$+{`h&g_Yc#Z>KmkCC@L&%2zeGQb3{6gz8^yn(QEx z;x-s&)PD|jTw1Rr=4tH$CtnB&+k4J!(&;C7<)p7@f$i6Xjt!mz3yb8|sGH2k3Ie0Ah!M5ukQ;*+V z{nyOaYx|x6P({tY!?&rTKlGn?Wui%c1Je!qxwS3efYz1;y49hc`~xjhAJty1C1?+u zd?w!X%jI5pRB0T!S@jDwPJg>B(#9TcT>h}}YA*@o_HhP!I@EV=u}(HE(N7g*HMa-6 zJFVtSttr?*ByRcoAUr~V9>S_kx@^k*6kk8#_2$TUs zpx*8|tX;j;5D0Rq4VDlMf!UDR=T+feobtgSM&{2G!4win3W)@t%G^}k2^^*4@QfVQRIk3Zk$Rnj-xtv$aayn_ofEOZtLf(`& znxc(bk0}3_VY!1ZcDW$`Ukg>v@0x-9zj3?#j}xdtmvNqg ztyWK9hVdl4v~{2g`npJ=GxnkC!FMZW%$RI3m;PDk$X};gv_rUlI3g@=2por2ID@^0 zz#;aYwwX^DF5aelUPH7uJV1>Uwg1DE?(oe$@I<8jR}+1@%Y^=_huzphRmx0vrRzA} zc6b^7;K=(fUT?Hrje*Ddsocdd3$7;p5%w>2Om*R-u$YjTht@CVKfdeZr;>=+i|ob z`bg!l_#E_eslOyEpW5yTOc`}kf@&r#Z0vvoMymnFN~1K~$d?vMuDhix4y>q({w3Oe zcB?M8tN<_6a@ewQLb1?7`mHF9!pMOqdYd8O5v0Hn zNTb1ml9)~djR=Nef&jVEg6GPrB#au*Dp8QhQ52r$at@ZUl$4QEj7pMGkr@qafpZsk{Cxu@>n!0`qLoenahFu1jB$At5k46{-;xBEMa4}wY&0QARR2Sv{jVQF|<>GNrCh4_6@TrzYYapUJe%iV47S*_@d+xBwbE&F7 zxjHr%%$iw5JDUQ=Whe};=rTvNNfT^=^)0^ll?=T_wrW77V&V7nYBx8g0)^kcFC^5K z`a2bouKWYdH_ytaW39iO@1=%hrlDd^8N55XE#5xiXxB~M^GCtM&y9B&u3_36UT%F0 zk;xABfcVxAfqJ*=>Cs-}WlTE&JTg?LP4$%Toj_p6|9r=K5mpXtv0fi$wM6vSI&g^tzF;*>-G6Mo4=Jxv}W(F zTX?_j+HKO`M2TSxQjZ1rjctJ!(DITM@=1#Gu*vU-`kx){GG9W} z13RqCjhT$Geka`d@OQOW_t@P%)M!ZbmAZ~Y_x4VF)^O=&Wqi$Uy^_VpR&TEUBl$<# z2SrcddY1o>-7`yrr8ia4LJrAuh%oiKKUsSIG#!B;=xkd3{moOJ5i_W4#&^J`mr8}Y zGGCWG*2&!8I4x#BVtnT1l;hNa9V*vD%e~^*4IS zjA*;OoUH%fy*AgPQ9Tc<7jIETfoExsRm!4ONWLo5;oLr>o%vfs;Hs};cUMal2mxRS zxc7=FnpRnXWduIO3t0h4 z3s_1ZvOJy@@VtQK3o#!aIAEd?#uG4ygAY~$=Ow^7&e7nXc_{*uFd`B2bo>8vMqrad zKD3|87Bi|_F-3XSaur7}x$*{(m*p zG`3ZOuTZKLUb&hC=*52iJXc|k)B@epTI+keZQ@?pyl71hGSu$^hb}KxDP~ChRF+&U z_&FqrlsTf!+CUp@YjuCvF>tSRPl-^)Y}jnGa+EZVB;bV&K9$1ErewRr+k=|BJa1Y& z-a(7`M(!YyDe9gzy_;XKzuG53MD73S@m~Gan|mPNQRzA=u^lefyE|<1yZ+-Z54Kq^ zLGtUHoX?NhZSY-{pX1gxQMEdKsABIpdbof7OXhP`xb$Xad^tysu7bEyMQO0#B(DC) zG$W!X@U5+THg7mA11wNQgCU@bc9yvN(CVJ8&)Q!*EMb!Z^QT1lPnM5zLu%7dmYCiY zwJoOE>Fp-buE<9!Z@g2nU?@NWPe;3-S!^fAWrlHvoZsbqesJ`bmjKzg1-3MKA9f7i zCtWe`$7_G@?Ven6D(7(RJR@1TMHMaZ8Ic;8uSy+uZrrDx>L$GhhQN(X>G^Qo=&pm` zl*+du#THBN#35hsrXiqGLRxjstVmgilo>puITK^l$7W9u?pEAOHj`fI)Z6{- zB-5UJckTEis^M}RJaqpQuX}R!5I3SW4Kw6)Q8CXomwJ07XiubIs;&-A?(SX7 zLr%+ePBvQ5J$2fG?unHi+WE5c6;b;K?;LRt40yq+Rw$Ux%DrR7dbf+jSMsTEd+xqA zP;a}$(KpsW#_SaGc2F00RqdT18jq}g)&6o50l=JZ?AvHUn_KtnUbk7U7W{}vFL#1yv1l9>9Fa*-rUI=977zUj8YNg0V-D(Kb=zT59 zy(VA?1T7dWx?tjp_i~V%lW*npn~Z)dt#zf8!K5^uB>4o6B~cJuOG9V|l&~lRVT^!) zV;_h-2wTv61Oa3r1OaG4AQ>vU!LWeA9D(pS%#tui7RqRV!W3v28HdR8w2aZoQdViq zNry_wfRhMV(1Zzv#Qh+8VQyAf&Ff||j;WY!DPX)!{x5KFTqFkW1d>GcI@YF5IO$kv zA^m^5{2$~}!;JRDaOz9NPjIx`EvZ_4uo25QrtYp>_&d#zSnN*b_}_&N zy}H~$O;U!5n`aqRT^ejtg*tBXA$fs2pHcm2=j7I?%{0O*Mhl)PMG5ug-d=gCC;j2Z z>tX?Ulgc{KJ=N-Ldzt$PVei}fC+922D89G{#(E7`aNRXGySaT(@3!=>e8u*PxVFEx zd++SkO54R8F|q>RA$bqqUbA;XYCXRDucd$OlOV-ia=qSqiI)zp0k^Bf9_qLHj&bkl z9C}PMXvSp4)jwdjUfuTuO6-xIf-2fM|7p`3^#rwj4_4@eLY zxg61Jb9QyyAxYXnJVs@?%@9x*PWrsSMfmJ4i?8SPiy7;3(zqGd1R`=iLgG<`hypBz zj0;49!;>sp#9|l##4rpbdIDn5U*Lh>Uy%K8d-WHdH^3hNk}&YXU>pMo0Z9TCwGgr9 zqV-%D4;MZA+O>QHKSK2N)_R1nXi^|mE!?BmcR9LzD@pj1NmRJD=2od#BPKS zg!n`P$p1b#-U`=osMVTRgx2duT{Tz2bJ+~ z>F)-Py*Suzy}18QvRNbjcF!^Xp{~(?)Lpaf*9KtqUt!2G@H)brj_@Ii_b`7?$F!(V zE#}fc3Y<7Q-ekCrYKMHFU+QnC zl4E|gBf6{A9?I^_bzicasx`JFVbRhp{OLfr-B332HE2F3E%LUFZD?@g4%HxO7>Yv+YrsS*FA4P+{e9f&_L-0C zFV+%tQEeY}kNF+Tf~aOZDE`b-y5%{A~}f=ap1={^qK z+f%HJuV?wMZ{4>w;ILjP)&@mS;0X6%$N1yAtED(lMZfF0b6}*-d>v8^gI$P7rCf8x z0Ym(-VqVO+{=|Rc{8XK87}Jg2WQdb37GEbSZwq~>tOy6~u*v7*O~2ddOigR_Q@mm( zz;Epd`5da(vsKn$BNc7rD{EZuu#AZSo~Vkx7;8JXU7KE373kFru@&HafubQ`GB72Y zXc?I(g}Bmeoy~JhD-r^Xs0>E z9!clnECX!jbVgtpV2ZKqO(UWp%W@hSqoXojK*k_*4-}O7Uh3+!P|~- z>E%3mBVBnpRJE{YMmHt$O-QxDklSJ2>o3axMt#nyk5&QspRSJHU9xz;azfNSMM(8o zcgO0IRW*y~W;57|3&?ahfjDjPCVijBZM+0;$O zH`t*LcC)8i79KNP6qED6yOr^sUIS%ui9OnF_4GmgT??NzzurVhHuK3J2ah~I)^5Ct zirT;U)^{Bxoc%lh?0l(Df)wlBp*G7UNO`@WaN4Zl!*=fp?)_cYAJdE~5y`Vj!#8J7 z!zE9D>k}OpKdf9rAmo>^%I{B}&|Huht`z)&!rifV0y%bQ?hEGE#LD;^JNGSLE45zE zNyZ8;6L*m8=I~uGQMkD;II?fsV=0ZbL$hf^T(;|O~&_z$oQ_kN%#DM^=vyy6t(}c z4zLHV7xsWkneC`>9V4m_Z+^w`l34Hlhv%-#HyVJ)CBEd#oc^Qc@X72aTQ7b{xynQQ zFJd(y4EGt`bu}XSb5i&9xiiECrTJ2TTUtZq@@!Al-f_I;@XhL>SQ%etsbNq-1J|t2 z;ycQ{qjU7*+5sCT8_IJ3zI$eVu*`CcDw^&r^Blr#y{=C?U%!(|-DHS|jHcn6oEu<> zyQHbE+Zf`%BrAWlc_=cW*H7|_X+KbxIS#X0()H$GGm&n}+*Q5!F6~e^nI~cJHNTpy z|KHs<@1jAyP*6qJy{s<)yfC#|aF`O6ib&=EVF;x8+&0UOW*t|eHDg|T!lk%r2zV1v zAaY;`fXYuM1qPEw#%Lv34VG0Sj2g*$o3iW|we4o~Q@gbGc`k?eu2 ziNhfJj~5<42TTlCK*RC{NFXmj2eN5`mqa;ffRzXH0EO{n6v4DK9H;Yf5{+R*6ec4D z6ei4)p)9zRVsYSw9ek<^1*BIqCi#KE+b7P*=BsciBjkq}{EwlY*OqJP8A>;uD*#MxkYsk+G$W6u<(6imRs^=!-`+7$Dy{$X<2Cabc9o;z4J>C6ieecE> z?XUJo&^awx+`4Auv_b0uwt)O*)HWJLn~Y&f!0)bj_Y$L zWB=Un>f2<&2%m*lc1-0sFucC9@|NU9qxE78nqG!6jP0!5J3*Bk-TqqXUvAZpte5va z;}Uzg&+0wOJ=8fS)&@mS;6|zCYVq^NOvXfaiRTbn+q3yu`?)@nkMr3-B&vV9c;r@w z7&94DtqxxoF7FC_wCvh#4Do!EyzqQ1Ca9!RsInx~q71bN6^(n3*aq*QcMK@lDsQA6 z&v?4#m+Z=Ute}c|Ij;|#`f9aMVvbcSqE!e}ooRROoYBo5rZx@?fhk6HIZ=DnSK$JN z0A3&j7{V0;WK1GaGz37)AQd=P4OCi>0YgA5u)4fV3$U1SMX;0#ln_A^7SkhX6~fCA z>>#p#U~Cm0^&%Nl#A0s!ae%@gph|#mMQRRUg9Oh;c_hHoURJrC(`{z->v0`GVL~(( z#3dn^@(Xl;mG}#nRXEBeQ$_h-4mg+`kpIa9kpJ`6g8Y9>zSu%W59I%AnX*@djpJJm za=9S?FUR3+56}uR3^f_ERVJW&*0c3ByYDuS-1?n=darkF)~20;wNo(wcBN8cuF>C4 zC)%_3*WbqY{%qrLVnlBo$xA19fS`E`LV4W#waUMqq_`b6`5oWMR|i{w zgK%TNGVTMF@q=As|ERwz)&}3+xo7pd({hcaM%TfOW3|M3z|Ga&z5E%=YwaZAVUxd% zcKl|xSAK&s-iX1A`wVfX+1Cx#b!Oh$@(_Q(5bMVv%|wV_+djz9`de|XHSu8O z^t;p}^*AAh4Syf(J-<>z%~879ymT=Dnny4Us!|FimROB4QjO$m(uYbn9?(v8OWd|w z41w1}_2YYXUX=O-R}(u*RHDpQuy^>g1j(iN}ctEhuv<7Q+bntiUFC zF2qZF|IqG z&;2pd_55lxIw?0y-jZyuC<(V|106RRUj#xfWh6g#om?1m8ixxVbVSCtw%m6}nK+br zf8*eXRAc7CTl&A;cMT6$1Ko3|@RrtUGM(k_!&qhC)|VWwh;RKL1dcpE(gEt->-+WY zA>ikp>7Dw#@q(j}X87vr1F=gc+l4qZwFD0Lj+(twbmj4lZG@Yx@RdVW9LW4?&q^pN|U?qkrIo~h3mE|lWn<@2rG zdzJ@EEm!l@$U1l(*=^BYo2Oqm-gQ$I{b}g%bCd15>$rYsAM30x4|HpSJ?!b$*^lWj zHxWQ_doEG+v(>}QnC2!!ERjG}&QL3$C~BH^K4cv@Mf;QpwVqEtpJ@K$W_w~*tD6y& zb5Up$fRu<-3R)7>s>8Ktt~PV1Z2dvq#36~#fP#yAF~?s_)t>d$-!ud^QkW|Qln{ow zwOJZ41OP$HQRZZ&F4(HtZKiiB@xXx#b}NwOVpY3&?GB@LWmLY5Je;PIX-O`PLs=Bb zASg(-!EheXFaV3;3RUlZXE;FwVoDR2V({yPZJzc4^y5JbRG z2*(5h;{gqWvJ_T8VUWBO%FE%rT*xZ~UYVDvG9r{*P5a(tPUi(K$YnNIdNykxj+agQ zEfKep-U0GIc-`$q1Yht?@_(cPPgHQmis0Rr#nX!E23(*K;z0KtSuK?=klMMtbSc2? zx`F#HffX2Ee}^pIoq4EX@I zRk*as_|A9925Hk^k?}3|Htgq5cihxHzwbYJZlu|C6;|Ka-viwhuA^App^blbywpw- zH|t&CTop5&fuq*o3Fh(k%a5uS5D0lXUi#h1JJshUhRX$m%xH)mEpwmZ;PO9xP4R}* zcya$%kCeJk@$c`s{t3+(jo{BDtp7f9m-K?ncnS1XM3st6cjex3y#4UN zwgelfXd_!&z4s3D*eQBLR7GcU=*#hzv%9s?RgH25Rer`0Aa z)qw`NyMfxR#DjJW5h*rN{-4S^24a=tUR!cUA>BchK>kmmdx4_-UkHk4%XE=SApff> z!>8?w_bR5E2u{>J&!@|t^>i#Q+f=idZZ1PCyIG$fI52i=vcVW=!QhtIyDP`vp&UQx zZ}79NBi>1q;a0}Cq9oLz3v}~`+Lj+TUFam?IG+_6UuaNex{=1F*Tvq3(H^U(A3o4M z*YnB$_Md!ZwAp+WQC~0Y0j(z8Rqi^9weHuu^SR8|UH6P%tG0>Rg;*S|Eb|>Vq)sNk z*!0@F<*qcJ|6#b}H$#1v^N8|l;Td0A;yYo1>p%NF>lkpGlYXTRqte_z++ zr}URfaoH5Z{JZ<~*ie;uKu`>AvmUS5S<&4`s(O8&DnEa~5PyIBj_nbfX_%9byTK-r zNN#0_KVrDjNy1_;ji0-ZOwE>QCK26K0$JI)wWV&j5z;mU-r<NrZD)I0eTGIpkX{Fa+3M0D~s*qLoYF0*L`221f-H5wL;+x^INRf+&Rw zFvr7rfWp8G3s4x*NY3SXh5^=?=!osxVTepBC}gZgn$r-VG}psfJ%}xt4S-|rl5Z9+ zuG{4Qp-lPZVD+5KjBZl$O-Q+slWc`<%Ks)qu1p`Pl0>ToWp(&|$K1V&sRja6 znL-*W;S)!`iHK3)F!~33yCOSmxS$1yuW7X-O5P^Cfj3^&&HdcTIy5H1N_e|x&yVS$2B#%MpN z2}|_g4iE*Ug4M}EaMgqs<$v@4E&osFbQfcFS3MP>&3*ZQJp#FWMfu-o$W<7_)sko} z&^_N~n>sC@C}wO0#`l?6>u;8N zuu-{jWIqR~)i5oko*t6wxykrm%1A&5&LNw5fThQ_xIh5to?TA&VYKzoim3e;-})mh z<}0x3I;cg9_3knF?n6_bGn_BQK|<$W*Y6Kpve+&q;qfI1f%&$Yy^~V=@tv=iz0gJC zQw;N!?YFF7EVZ9cA)||c!@f)N5iS}<>#AI*w8S03Z`QnUC!JrJifQRwd8>CYI>mlsz5xA)FW->9@+ zW$6*{RTZy3`y_~H{yi~&xX2LC6wE)XCD{fTVq=H*@zRTDXrIUsKj}Yq zezsOUj_b#7_S56Q@gobjaEfoHgmE{ z8L2{36}hU?HyZ+*EH|1hxe~1g4~9Jjy$3R6MMEGI1?yf6+24X+v1%%-As8jXsNkFu z$}4zI&Y`lrlxEa4U}Dr{T8U?rSVo3sX(T6s^F=0RABf?FA`O!j@H9^(IZ2GAVtFdU z02(Herc!B=OX6q(#p4JOgUF~r#&}6Mhea}Pg495MR;hrrDpCGVS>d#eli9$d?xLM|H%-ztLcPMtR$}m;2M9i5-m}set|g=OY;}zbw7I1>4sy6pc@E9aJ3yP; zsU*6xbF<53yDZY4Kh?PS5yNGX@qIOI{PE@q-(gCM*AcAw(CU|LueOuKI@klJ&J8wOuH3A5qkRtdi6X&bK&)c!DzN&83!XsXUUMJ5sfzBg$tNS-zn$(@-5`yF z`wVe;Nu<-@>k+!zS3hn(-$OzfA@^F^@Z;^{d*c?vIIo;6*kSt}RRb*;))IYp`S`6Z zb)O0LTv@J^&PfV&o1feBfVxeg5S*4ol`>q7W~;Mpr91cPXWnE8Tu9Up_{!Wn`-Z^Y z|78diFe}DDWpr3Zhh%j^Uc;kmMypENi_M>K_jgL zoFE~9;R67L$*Xr5&0boymr#YGGA=^mVMG#y3w=vj63G7mUi&}fe_K)hw>U!m#*LHm z`8Ub`F9(_?HXV{>iDsFTuf*UjH@FRO0=1b_H3pz4G-QufufAJ1bZeX2XV%->>=^mxgoyJ$ZJ6GII2BhRT3!1%)I(E# zpV1D}2>$Ds^FJr<)V(gzUD{=L_b{s^e8k~B#eS^oiueaS6)*YE$vc%7DZ>>XsEk$0 zbZ?dG7}nXp^iS4T#me|wt~2A;t3hQfu71%II1C@@nHNd6VxnWBU4I?Z4T8=sB17!& zQHOi-4>nJHSUVtcaleZ<|9Ytx8B^S3h^11Y#u;o=gxa{y#`O=H298J)G(s%q(#4j# zvr6qOubhtvTYDg}SWrb1HR^B;nyt-rmu=mzo9d@_MMFSb0k4PZ$9C<|mQ=n83;}8< z1`L5)n&&`Tb>1XTnaGr>0NUzVg+5uT4p%FDRT8h5Nfz7lA9z@WR&Yh6i`j2=m=(Z> zNW*Xf!a*j*G{0ii8x?g>Sm+y#wpl0x4#k5Gn z{vy=>{B)aU2saGvGrpCj!Crl!kA1N1W{T{;y?0z4syAQT*Z##la1?9rTmG{3Rk7av zrt8e;K#lb>OAoGq%cru;f7BQ|k@;Nf>+e%+7Z2!>qo(ti=4#=2Vz&j4+klijnQHomd1ZJjzh+GH9)G(!cJnWFfHa?c@orYHFi4cEo*+I%kav*7WUrkgb* zxPBxCFK=?`G-fiUo9+H~0&0(asB&DKsu1DWmy`P6xXy?zbuG8F)I}>wfht;$rE8gv zinWIfV}~U!GbUpMaweBOpR7AD1aup`d^0H;0-R_Fr~o05wG`eG7C2+!B<5s=KG>vm zHBft%gwKxUmHPuJ@&cLUnLU;XaFm~;-FdYyuMFhm!JIUbrNvP(xjdH7qdbcUA`=7j ze{n(#Kw)51KrkN1IRY;ZhEYq>IwGYf5=J~`!6OE+#~2NQRN!PS!9kRlQS8Qaxm^}t z%^Bx1wwai9Euiyyq?Fqrb?arWoWz{~@_#fYgu>)HY0_zRR&AnGI$c&fSY9s5|EFXN z)j0VsdE_Yd(lx#HxzdiYDkoj3)6T1;OMtcD7gm%WwQSoK+EG5$e0aFQ`F`v5J1EcH zG*fB+>obauXAJGTdZj^E3w#@|j~GhXBBgaNxk^k?-~O+>v{Gd-X0$aE5)G+byRq@OpvhV}9nkOm00D+eLg<)%jv3sO3UR(Cp<+Xq7A(wNdHl~6YUgFlb^u7(>v^*!oN|G!s1e~jX1a@j9$y>;V4sr?O5 zL%=A)cGvFQA!$Cg@^7}6Y6<#k7W(SiTY?uYwhIYpY8ez6pfZ-4kMI3U*^5Uc(Em{x zn@zDpCGMlp$?mz&nO?8LrT>S!QRuAb?x%>J@Z(jNAChm14Dt8(?wB4g2Y%sLp*IEs zBjrxeJ-7p^Y}x&o{mLmSNWsK>KKJ`b&kIY<#I#g5otMtt(o(nD9BLqAb-=xUhiUW# zy=4PSKR=ff&L*19y6Ze^dim<@h5!ViaybMH0Tl=i*x`)5Xb5yDwhFPz^g**7u?^cU zt60w&*0Y9ImGOd{rR0oGp0dbdWpuDy;x8xsb}W9-tWIoUw87F-*^;riQkGCv9(tjPG-a z(jTuJ%MEEP1N*%V|Hd<2$*2C)d*_AW2JqIuQFsgeO}%?H3;o;1{hmuU+ocpT4n!KL zrF!qATzA6#wTizSkwA;N^uO%gH+{Lv@kSOKUKBW9Xs_A5LsoWj^IOgrnh43|4D!Y0 z2Vv*$zWL>jvyUiT5kC7Z|IwGOb~s++B-fWf;oDTbcZW)O()+Ed=f(fyKkwc@d!^ET zp20_!fB@21?LMKDoCy3&^-FhCX+M|#Uhwd9!=09kuxbE&-k8Z4?{&J5!Y6uX#nmr* z0@sJ?z&lUu<6hu;Jbk3L*ZbM>*F_BU<&^dZnWQYl|w=I;ay@x2W* zAJ$zH8RGM4ejp^S{$RenvL$#Ap`c7IXZ|iRPF08Uiai z#R{TcVW^E;bU>||vl|jlI$kgY^7$;4}j>IU&p3HY%pj0IP__+~i>Z3IlYBTL;5PNP#2-n&hNJUXJJF zNU_vb0UjS$Gh(~adYQXU;<~koU4%<-v*>uXJqMn|D8AyC%Bw zGr8<9f`?z8Yf_GqhS3BvUu1k!ZFWx&X6*9*W9fx^r6G~={qFjmp+S@RI#Xl`3v(yj zhvB}SqV_NDfs2EUmMel{uu$)sP0{`m_X**l?$J-{t{G7JT!#L)<@>T1^_Gh`oXt2g| zjh7GIOgMS^F=x;2=bdMdN%FTc#OA>aKD_}Rd3t@e+2QRb@y^JHZ()dk7wvjxxgF$B zCUW$gyO=*Iu_hbzfhJ6Bsrxq7*g=B#F4S{$WBsepT zHrH|ON;kcBpdKC=0+Y#-nXttbP(gkY;O9Ys3h|OquGpI-nG!Nt5ZOQQzit^7Q(W2L z(SYyQ{|^R*f7mzQ0&Klph6*uVfk&Y^X|^Z!YunQnxa`m$UeH zwoY#i*@5nPkedV=3DVQM^m)szo9Bss;_eI6ms9;u`lQ^8&LXxliGiszE}2!%y@v^~!Cm?2A58qTp{aos)SksfU{q&&pCPVD7#X2m$E~Knu_c6!CyXe@# z45{I1FlbCaelvjx!ssn;ZmD}PXl!lSd{Y$_y)d~PwiweDYB39-EsY$rtR7P=wh=+Y zz9F!jC&#nS!D#uc-yHYKC2oxNf|kn?-+lveQ{kNwz1`F!d{_0QmfUmZrcja@IbD}ExgxFc}I%&9ZJ44*d9cx{D+<2j# z1YKJHnsWYZ^Kg+No&t6lC=W^<@n(IX6;U*Y-cvgAfNZX`kkA^)s({EyI7<;=LJWzqVn1|o1Bl(y85YZNXeNi} z@)#HllfmE&f~65GS?IZ&5Xg9;4{4MET^Zv^K9#;Xzk?(}pJyQd%fPtHTjc+K2W6aW8cZkleLDy+ZbQ}A$6n=^fnYbN{utQ z|8(CyHdqDD#G#ve0O;wxw9VKcVE5S=y*Lx3@r+ImhY_Hxl7t|YU!J{7qKLteJ0j1JX2wx zV8PrjHV@a8`#VTmyX&Jyz(9^L`Je6_gGZHy(O6OTX?A+Mki)I>AJW{=p}<-A!Nv(> zNNKzg<5xBil4P69-F>8^XZLgVqKEf=|EWtO_10?wc=_D2*AMQyqAEHrs-lI?iZ}+> zR(X5D9O8F3j(tRPqZF5Ig4QWrzhCH-j7l8^hL{x@;##M#O&V>@9cx(lfZ%WLF0oiwY%Gg>&Sfpcn}Q?U|dS}RXErE!xa zVIpG&Jbvq_7zxbbkRW0)=zbJJoR^UopgaU;1@zXzF#f#4%P75Bxi_Txw<&qkcBYecPeq6rTMyA?H zNfWVpuYC5JrTnF;=IIR^y`t4DspQK*_hdJ>CBA@d(~{WKPHxpsHrn>v+|qxqT5YS_ z`nB%xWn*>9Xwpx}vBfQRdsh}ulA#h`#Q3ew)7y2UkEll4N!eG;XU$~nkJ663RBxmR zVR4;bST*LHC}a3N)01h(AJ<)NCuLu@zWSX*{19AYft|8Ji1Yd7L$C#LUP9~1UiNc_ z^X;VUbM~|U+Vj93W4AHo*w_-kvSB1~7p?pOeL_?D;+-`5A*px&Y0CP!oZ805CRKzW!`Sm*}40;2?X7y80Lq2 zr=vqg+h7`ATnDN~LxuMct?KoCuH>9ZE&MomA-UrQS{61u&x zDjT9mznb!Ez&JAxgZm2U|5#jzM9?)-^;(0rS{(0%j;5{A(qKgWn^^x&i{>AU7u!kMr*(sd_V~}~eiyAWQ8nny8n?Ou zbkDr`d9H)$z&~NQ2y{=&x$pEsLr{%HaLR@t*6ULYqdev~i#1W*xlie@_DN))D>?Ts zz4v>wMr*bLWcnA^P12e@+W152lmR4nWRIIJcsiBtxZNHvgC`f^#Z9BKc1LCXne4d9 za;}}AKkB&pFYWgQgDOMV%I@yTr@dOe^$+?E>{sr7Xi}k@jIldl&`Yw}5^Cq)TQh!I z>ShG=Px0o9v$fVS9ym~ip6Q-0IocKZxC3-F0pn==cP))N?ZbJ%b}@{x$Yr05bU#1QZW=&<;#u%D3h(~gR{wwbPQ5YGWVw2aD%x7^?xQ5V!7o%@C@{p5 z*VFj-ch9VjmRP~d65u}|08?KbXjcb2`L^bjN6lA`QfUODMwtB5!4qef>ZDVYbHAl7 z2P2rxnyCRyQ@lRkSiSL}apDBM;Q(G3wUlSxNY$S8Hmq!#L_D6i%w7K1VX+y$d~W4sXJY4I!#-87?oYD)pW=&D|kgtiq{B6v1QkUoPs)o-b>gt*|TRP1<=i zwd7^pUTAz??=j1F%>kG7>n-<;)hs-s8)zk{zgMl+)wzDIK02W**JwcY2LG8v`>^>k3!*kSiu>iQa_kp{tD=YG^Sez$bd ziP1a+%B-`A##h`8yX$(z3g!S*cu+J1SkVx0+8DbUG!nGK85^s%gu4vxHu+97wS6#r z7lM#9PlWm0GKcK4nys8}H>=srsJ$sgBu!<~B$o!Sd2v)sq4P6@6efg;OpHjwfcA(Y z5JT(_hM{b-LBVd}Ya z`r7|>wr`i3)J}(XPK&OBGm8j?Z5~I&t$EGeHq&DHV9E7+rJHxsxYP01r{z6=)U-1i zjZrDV<~P}`9YrdGCrUPx&ad`7@X7KE_e*{6kon~`FMpS~YmYFS@k+_~2D`hb0_j)V z8+;SrjeO4Zy0{0v)r*XC)mE;I9^%>EJgTT0{J2s-9%r|9 z5xE@ruN~0+jnnT`Ea0%@xrF8E`EK1XrWyn3aLiD6DJ@Xg;@`{l(QkSoFO?zq`X&Y47&uO3odV5;h6cM{dRy zi`zzYyb{R&6F%GKu2Q;fQfwRKn_~JuEG(?hTeNJ!kg3o`s?0yDHoQ{R@D}TIA@4~) zs@ytEum0KC{(`ex*o{Zre*)yRU!1&%n!_tZu{}aD^6L(m!3TkYF-E%1i1qiZV zfEtheP<<95p3F(K; z*FN8>5BOB(ppD(wlFoWC-Bg@)c~F%y(PW6Uvj0#qazv7daO~5OLyJ=-j`2LaybYfI zHBMhUUfZ_$L6ErveG&g>^QdH0sv8T7&4~cj-VL2@o&A7%M1cU4;zz5;K*n=00wy$3 z6qusdM>>0U4l3gx`cD>KJ~vl?x~o7v?{_@)bD3X9Tb`WllV7KeLtqXu$1qr#Gtz1D zbwiEq>mRqBKO)KT5dKP9@-x@n^OH{9IINur3G3Tjp|fJH&K78v#G8vPb-T%w3;_+b zUrkp3+0zD8(FM%8#87J<&f{Yl29Zdx(vobcE?7py%OS{_ZnC+KYQPME{bu5LglDI6 z>?~uONS4e-EUuu64M@l!DhWZdFt3YnL^O@Yv&H`X;$Vw{qAv)y(=G>Hv5G*q_%Q`T+&#H?ys@-j}?M8C11QQwwyoK~WDBIXD zVmB%(uY@aS_N;*|nPOe0+^~v$!Pt#0!sW577}ZPqNR9bNb^5c_^=~szoRKXz5wbGv z_z~IC?@Wg-+p3aQgML~eo+fxKZu6If0-EOo-OH`Uk6JIEqVn&Nd+gOO{78CgR#9q{ zm#Rl8aM+D6S+nK7wDP~RCzFkm52&V2Qi#O)(tn_5me5iQQbvz}jDvCzf*|`FNE6=8 zf5vb@tarcGbN^1x0qWiHWo~uTD8b#7`bX3;eeH{PQ|S+=M|`b{*Ap#x!a-lpuvO2CWt~u6TGft<74{EjzV*k?{D9c8PeH?Qo_;(jG}x4NIGbHy`OiUJ*bRd z8Edv&g>TC|6|%3Nx1BxcdHsi}F3kX87!2{tpu$G$s{GxWU@v=5%go>FFV_>4pUeJl zqUIN?eax7~K9-lx6mV>UKY=q2%s=*;X@=Rb9vw&gC1CU z@hLCv5E3USN&?Gef>M^(O0#-N%wT!LWPQohD$4)e%FRw{qXHM&Nuq_=d`Lb&ZPs3> zuDjx?*xb;_*R1MQ1HBd&T%Z>d;qh74O{z76ug?A-b;k46weL2LoS@PtDXz|P_9f-| z)8?LSi&1APQ%|e-^=*D(MHe+wLF-zm>?<9rt;*|fmoJ^9P*cfY{)ayHio7W=HR~x7 zFuv2v=4?62XnvMEl4y~9Of%Rgk$uJS(sz*4({QB~E~AGFdte9_5c?}=Guf3F>)p>g z&;CpP0e8-1W6I&lWnpQXiNXnBawYfe|fJ%wHhz8$4Zg$C1H8fsF3Wa z4NoYJ*=;X25wb_ESN^F(?GGu#)1Dg2TLO*D zV`5`NZ<7>niG0uqNaQJo`PFWpWQx{Ig;}=;)oNm`#z-6c50%5GsA!Dmo{n~pOjX*( zIMB&3mqY8SJY7ZO7HO#T9Fh|~;m?-8eoT`0bD1Z? zz0Z%go30fq<2{#n_TQTPKA3u-AHZ}sKxajSz=is9Pp>j@DE*;^q4%rCYz2n+$x#2F z=USB`5_^FmW(y2)zTV+!qmpfz)5W?Cfgoxq%l$EO0k|l~_pum|>M1ZWg(p71-UR_EbcBWraUf6+z;GT0$b1e)L2yV!VIUEO z0l|tmgCq)0b1KcbJ&;R4U|2>`3Z;VAs&YnY(xRHOs&81UrM86F5hWgfv^h`ha4$ zrF#2mZU0$wUD~8GOi1y05U!-+345f}AJP0*?2fGl-AA+o^@Q|`#tWwI*l(mgEUh(4 zFmPQjt{HMANZ$DSd=Jx(eOz~~ioPc>EqT5U+I$jVtQ-L2@2x*ZKJkw zL{s^+tozg2u~SrTxpMfYffIDVsEEZ`w?{LjNSidjGW6A#|8EN^`=IgKXIqRxx60(T zg2;HP-WYD-K2kQ(FG)o>_P62w?P-f+f`Qg{U<@xztwRnsF1}MyxEzw^XBOMFV~BiW zmo4z`feuZoEB%SGYohG)%W&U~iE7(02iUGu3ZR)i>P%1a3ssj-(~+dWJ{4>F!*nO8 zj0fFC#<>H$d=6HBk$)@Bz1deqn=3qhQs_|hvqgrO9?Eh*^xQi%QDqp0HKTrheT(M> ztjrl}HTv5TeVg|aB{%Mqts8D_sXJ@X&IszcD7>*J&UGuQqP1AEI#*w@dB1V`7`-YQ z0vuc0$KBBMqbbpeY}^1Om2 zWoZRCrZZ|uS{xN4FEBAAlE;BBT<~-uC|8&m!0>>ENpKQzFia#%N3v8fC1H{z5~uK( zl!$4_NTDHVFo%cJa3s#h6QIELc=4s1@_*8%7`HcEE2%L$!iP=kg?lX7PRd02|FWg> z#j57{8mnyCpjp&NmxIEtn_F3zc>~fdTVz}D%5LXyV~N=2wu_WGO&42b+rQEu+SVHl zx(el_95B9P3+9NEjOzXz>vFZJK4CuJNz#w0Cv+`|pHN3#l*&w2qtk2L+NK_8KIZ4R zPNoCSot{vMbSDy@7OHC(872T=~U{DJILwx=Ie&7Gzrp{mROk-5{KRvR-V-0B87 zwP})9+>lrQl8Sy#cl|ge`Dod-Z+G1tjA-=nf~+~=)@tm}Xxpn=z3-9*-l>?LZL|&t z>M5TC9Zo`PJNgOfw$buib#IAbpkIQ$t8C)QmZNf)5rfL@fo8n9e*Gck1PN0wri?Ex zH)*F}Fs-_vdwSbwWlP}0M$r6cgvtM6r=J{`=_VrLT)t$BCD_IPUETPDvJD=>pG#Cd zH`l5kM&#qWY@sz!xYH2s$^S#c^@rq}5QP0HQU2s?zxq0<8}y6C1L$yl7`*#GZ!6XY zMf&q9a&z)oTZOw%B0CiLbjA7mr9KqK&t>TEZQZ#$VzmK=7+fQuSz>jmuR{^)WREp1 zeAsZMixhZ>xSTp#Y*g8vS%F;uglk0ZNAkwd4gVZU^E0#TWq>u z2%G?hz$UHOgi5#blHCC04RW#gZH9nBo-!5;0X@v65xR_}bD{(7&3ctqiXLuj z`T8k}dqlCRs!M;5IJHOUEkrdjvBqw0Yk3~wtS|AcP!}ZbfzR8{exny#=1Q$>q2Arv z(cu_J8lEKjl`Wa~DYhSyZ-yJL|1^D^NE$ThEbDU1$K86l{W)c8X?x%U%B=@w8=H0G ze~28S!WL;F!S1WyNz{r0m1St4l4$fKPAn+qso>YTl(am%eCj>XdE1 zT^4#sIWbc2T-__j!i~y&Q}Vs$L9uzs)9zk!hSp4n#iUxSMIUQrK3h7}OLBfL`oPm}%VGIXCWGC9uymG)2{A~5G0Ih*bP!`6xXo zHQWeuYg-6S=UdA?{bXtH_8080c9HlFd&}w<`Tzadm&QZx&y}6KlS(lH|6IcMgVht6 zA)S4YA*VOlP#D!}a$pXzgzt=hta?~vh{ef-zuD-GPid{7rLK?P+~xLL>INF9NCRI| z<9gIOaiEH>mgeI2cBSV0sj-1-m5)K}kl~I6z@m8Ph`A zG9NYX234$&ro8l<<^M>8SR;%&jn1Y|luBpIf&5=x=DEi>cS^cgfm82SxR23m=M1&a zm9}k_o7AN??VJ|0x%K(caMa?l%iOvfo`$&=^ZUyNACxWjNo01**=MBQr!?Jr8l_29 zL(FWkdoEcfV^5TNQns)5+#jmE_@Hd>ZL*-e`lbKG?{?u93tCBzud&;^YM^)7UV^|L z_^jbl7b*LK{nfAc-nX4EvE|FLu@!D@%Ru0qMDr8ssJ8Bvw@9N8E2h28$`_KI#Z3S1 zo_37NDfK^79Cp?hGyN;ghM7>6BV3A%EI`Yf1}(j#xBNzR*lD`ZOG@5XI`rMvJEdN| zG8|>SKFzc$Wz{@w?rko8u9lF#*F5;8CLMzO4a|?B*2?5MI$Y#;%3U50tZwr3Z45mcRKD5p z_2bS%J7QKe&NIJ@*Zy?j2tFvc4FZOkOQk@|`F5+f8?|(}|G{~wzz~BT0ly5~@%nt7 zYMd;Y+|O^(G*VR>X;O!pU|D_mgU;!2=D@Guw@g8&)^MF9;%5qT*A2E*vdq>fCQiKqpS6x`*U27yEr<|O4xD>i-l z+;*vAD(jetJLUrBqWr(7mG9)py(r`ji1NR3RiP}%|DMW{?^Ri!uV{I|GJThHLDW5u z(JL<)Tc0m!-g0WRGv(?Tjj*}Pt*k3T5!&Mjcy-@xzjLPE_96Y%c7lFPJzLu3|Ec2m zj?!#WRLIA{JPTr&v1KZ}8Qr(Dr(<+2RWZZQb}*{vt_RxRL0MZcNnh~ zUOu<<04qPV{l$`33o~#szlgN`YW9%)I%T>M1@V$Ri&mC}x(xmvp{H%>G4q82Lk#^n zrT*E@(VYpad0bFU77l(kk6A65dP|_0NH-T->UI!0x)AevEmcrOSImkf%(j_z@X6A@&>5t}~*X*@Pn^r$9r{+Pn92rTP19mE)zZhs)Ytw(!aper{ zdz&<3t$6+?(vw5-Duc|f86km0F|lOLlzX$PALLFX8YLfAPn@I>y!7RNN6xGxB^Ic> zxCaJd9<@G)c95N{SnsCFUi-J)y@1iPtYGXpZ`*a z(ibz^qGiI&GBUquRMjkMN`58p|FYpqzl8Wu+4b+V-$ey<>S&zv`Bl@(lu7@Tv8SnO zw?`s-pJ8CO*&KA~&0Z_Fwn@)>G&cKlww7M$>Ya4{otk0nosRKV0-V0T3!KT%s4O#y zqAk#9h&Jc{(K*^p=KWmm>Cnl*l(A$o!*A>$5(!gp54OT*>gFGmuON`*FUiUm=bH>; z5Fp|TvZ=3A$#y0lFTL19LLN5xv*7XR@pAhR3-bM$3@9ynm27YP3so0R(}_6G{5sn5 zhp8_800yew!sHKe^&fPBEKdHI?9u{NGzdB?!U)n(>FZI4dvgypPkcl>P=$kf_xG{Z zr7mvua88L(2Zq2rW0_7l=40mVkR}_Vh!9GKVKO4 zNd`@TzW#+_*SCy{0d3*-=faCkvJe;s&Eakt3_}tEMRIa7FT-<6icv}z)TT*IbxzAk zw3!lZxL)aLmhRM(?tS^+|5n-dngJcED8CY}n%c7lHf4$pnR2}-|8r}bl0A=Y#gtyw z`)lq0QD-_=)$lIU$O(Gyh=iyyUFcJ+{>FT0!)n!uU$TIw1+GwAhh{gGh9mAw- z+hlxN+gE0~&`lD5=N$b(^Bpp`K^_dVE{}Fby=_b@su)pJss2-S8D>et>!3;OrMyf3X+#cn6q+d804`kR*l1O7|gorWY{8V#ItVm;HI* z#6{TskvMgPp zjaGtTLAvt4H3U)zhQNHl6!pqUAE41S0Ul&CLy005lg@}^EV$cyyn!W75CDz=2v~sv z6R8(ooDjnm8f>L*?I%ZI7)cNcni5f%oR-e&q&~fT%jkIC*sd}q>h<1z`JZnmsTN}U zLD}N8NqeEHApfsx6l+!$kpDwK{@>V=xV_d5t8zoTT37y+2FuAxvCS>3PA_ls2gidYYQs1B~xr$`&pSgcVOjkM1^W9@Sp~#;tz9&>4S{>SHO5nZ)7QRc>+B zkY^Fr_#cT@2-M+xzP}~2|vG#FYM{e<>xGQUGk0h%DoTD=Z5ObruS;3yLM<|5nbKW z%~lPRRKBLFc)!Apl^0r&{?Xkjn#U(UTPkORO4Q51EibKs`7BVKF|)8w(fq&HgFg1 zQls>(Ep_#?f@(etZMwKbLR3Z5mD+F(o~UBWD)!!ED)fsj7y?Ni6Agi@k*X=LHSLm# zhCrz&NBSd32q=;upwDx>h{aG8qSe5Z1Wb^p3692C3KK`gh(ls{w9pe>{81=}#qluW zU>GdJqG=Wk8cP*8m~;k|wn2atVhE~`(kg|V*D4r;G-Xy#Sv5DT)wDI)Vsaf(uk=tG zWf*oK|6eSrJy%!1v1XF5m^4dTdNm~Ko>Grrx@nDWsV+6Pj5XTDHn&ZL%&xo9N^k#C z-@mE1>h-1SaT%E7JH2E~ILMgsY`k@^UG+)Z8;2#-qpCSgbLxkZ<1SKdCTh^BRiJxv zJj|P)vf#std4HqgnN$y+ zvMAD7*5g%;QH;{`Yh`a)Q{XMq=)0AZD^130;YLZQ1RqR+Vn8e1(d&PqKH{{#+CtDD zbPRm0^}eu2tqmDLL}EsrwCbKR_qJ3#+d|6TYrHYjWC`uc4IU%wax3P;@e=(X?VUZ; zvly7k5pP*vw3N){gl!j0lGz$_xKVg#`Aokg662v~q99c4oMMEH9hfAUT5GTcK2tq+ zM!L;H#B=ecYjf4sNgnj?XY+7vwXa=bYV~}?a7C0&f4qGh8B^#-V%)|KB9&&F9lkE) zSnJ$J_F01Oub+emmByhMzr2nRIM)mmPvar?=bdMdNWk-{I0pgD0x2{w-B(2weg02Z zyzziE2tn9iQmP+pp7al!?0_K#i4@R~wbtn=FvMr-=RT~v+DPDxfW4BI{MvI$Y^m$K zrKK+Bbfl{d;aVbI!&X;q-)EXRK`&R}q-Y3S$|^3#+OB!a1G{Qq2<-6YJq8y$kH_Lg zLjX)%)Itgwrry6aWDvj1zwn&z%YqYq1CGMW<|m#pLEn+FR9Yo zBZp1vCzK0qMfrc_UfJwLOZ7`tP0LkQ#ga+0r~zP*%PY(*soh%njy<@m{b}>b;rh}K zmY*Uid}i#tKTE; z*uxDLyr6q-Z0Q667R=8=U=Ms!J8(oI%RA40ox9JSx7czO=)^L=yl#|WE?W70$w^Js zU+<*Rk7#aqT9pIw1|sGl2h-ffj$Tghsg*xg9svJ90Kc~vWX+EluB^7|eL=G=

I? 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%0D}$bctxNS!&{d3fJk*QNdzL)@5F*#JWf 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 z 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 literal 0 HcmV?d00001 diff --git a/tests/output/05_window_blackman.png b/tests/output/05_window_blackman.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c399dba9017bac9adf9c052e34744b50871d32 GIT binary patch literal 2208 zcmds(i!w@s)#*;ILAuS(g+d~M3>sSMW?kc zm1gXsYY|!MPOutO(`r$+7nh=qk_!zDk|rlTyL)ENzpyjkndhBn=6z<~`F`KeJU9JN zUVBvaRRI9lbJqKeKLCJ~M-Tu5E6cd1n;ihaaA(h)3LsSorbpuqar=kXcqvg)xT}p* zg_X5*q<6#O&!?#6HQtz_+&gLrb@=>nv4ZLbxoM@Po7*k{pa+h69D~oJ4|stqk@)hT zQ9a3gI-SltHOe#?Lp}lhLOGH)(>O4aQ~&W{nS^WKWiQ@bk>A)6uyX|j`~U;S{^sf{ zmrR-!c>;e3hm{Xl537St>VtyCGTq?$HjQWqb_8nd3t8vvgq%KHsnecm$V!Y*@IU%EEwV70v3otOH6C0j(wrNeR7ov=PGopB|Mgd@hTet7zJnI3XC zUbfDh4o-wq%Vyp^ryW?Z3L^kf3$tI|ATjS;HjUKHi%Ev2_P(I*QO_6h7L%emRpBN572eQ!}eufmulWBt|ZO289 zJb4oVzkt~IXe=*lOp7&d?&|B@6c*=*tWiOj_*r^ylD2E7An&)YvKz@yb98%MlB35u zTj|qhbi~<-7aFVP7A6!bpzaC6XkB^3a(WZ9MI)tPWy?I|2c~rzeah)v-bSL|&|&9p zopf1&Mn-$WxT9p{MQpEZO0qmuLNUlYbQKxnZvQfkxHcEl{2;;kRk(KqUOcl>E97ue zI|Hh9*=ZvG%m2pzzWI~6A;PihLt^@QJiCG4ybpEMCQYbi_Hh#oxi<14=K+02*h4f~ z^zDVEj5i)eOWxm&M=Z5G{8#v8A z%h5Pvu^@_#6TCl|=(;64L>YdKxwzRPIyGm=dPyXQl>UeuU?S)=gZnM69FZ74qQ zr)RI@?-_w8_O+g|P^p>*o!r#Ra!z==YSH2{b#SVBeP?_|DrD6V#6AF7^&b^j=Y*Q!_G-!E8rM%7;j;4Es;=WMaB{(FLGWxIvqwU@Gb-23|UzY?I={ z5M36(ymai_BHW*mOS;4a>O||-#oUS=6g|?3V^wQ*7FBTI|3!5Og4+KTp}(jRd^a>k z)k^lsqyWgLzlj3OAlG)icjI1H=Fy=wT^U0ch048eicG+^#qp+ANZ3A8z-fjTV!*B!M(3{oQN8%qNq-IVVl}Ctq5M z)M!=y9twQSeSgXFGmeZ9i_nhn$>c5$?L#@am2F3tkT8|-LLkc1t$ll`oT1*8kSJ`q zyYg6+aT%c#3c*H6QYD|;6saj|{hyw1LwW2D8GG6s7U zQbi;9gb|MskqL0CO2;DSPkY~f^yqpr=^d;Om7DTBTqIs0)RoT%z9j>fLJ=X0ceZGH zg+Q|Zh#IENwKu`8Liy~Pf0ZA(_C$rM2ex&C-?QPX8z^y+vAK7zF-Xr8h~>+D;nZ4f zvG5Bpl=e~`k`*=oWyXX|YQx^yeELs9OqME2O#yGSzq63vDnOX4J+yUxBwD$70B1c= KXPEBT>;C~>&AkW! literal 0 HcmV?d00001 diff --git a/tests/output/05_window_hamming.png b/tests/output/05_window_hamming.png new file mode 100644 index 0000000000000000000000000000000000000000..198949b79dcc68aee8670d08f74b65696ca7c0b2 GIT binary patch literal 2411 zcmaKucUV(d8i!AaM1`P$h(W+a#R;GbQkE7xg@z=)u$lt-H2!~mfeb7>1YgG6Zy zQli5nqbMwch!|<35CJIzVpfVlF@gjT6G9R&VJ{J9=GpewJ@XTpxYk)omnQbOaFK>nzuh+TGa^pV-}ys=DG)lSfN z#1D;P^rMM4v>-<_kP!@&dVoeTLf;(eaqhnv7$ln{jkdKZj7C|S>Hl_GoOS2o`w5yG z0{%TJDA3)MZ3^-#od*7p+C1|BWAznuH4)|cfq;nVUduJkrkzn%&;mUZK!2?^aB-Q+ z&m?}Wz{4QF>TJB19&615%5NgR#egmW;v9-dRmKDXz4cGtpuu|!AP?G4X$eU2SY0H@ zC!JDwxI0T;CmhD^h7rPQ)d1OVpxbJ|8BQ+ZA^vO#M`ok>g3wMyL!J##(|*lP;P0z> zB?$cVNNuM54G{%l*Uvle?*!u7{wrB1xL9iHF%%TJH7gh_jQCY&x4Su=YZg_Mkc`-@ z=s&~z@{@(?Gf8;>s5oPU{wr3|1dys-L2Ozo8VptPd7M3f1)Lk#jT@?V0_QT-G&3Nc zHO4;`9~>9I&OM{}ixx0&?^4IP_g~8D0nSE&(!?pV@CmnV8$mw2bjUFJyK zP#W;n$_NB{$X3{e`{`hw;*6gc+vj0pT~tU=yr7JNY6s4ienpGtnNMCuO^BwV)&+wK zZ<_dJy@1vnAv#Tob)8Co%C!KY$)6UN-pwt&B}W-LQa2J4q!b77`0YxL^j%S?$UDmM zttl9osjt`Od3#%C_5xhB!qsm?R9cJe&Esmt2zsz<=t;wzDbI8`zWEQ>n;2lA(ujgr z*a4iScU|j7`@SqDwBR@ylwO9vW<#G!!TJ4^wBK5c}{S(gjDTYyp2IA--$cuIsHQ}$o`aw(K^yWQ=FV=L->+6_vt zdC@+P4A!>HPhpp3>FmvA3!9rG-`o+Y=`&XG9sx=TbCylqmxmON7#-`LFlwd5Lk0MnOoj68dt}ARDN+`g6nri%&HHS zoEN;2m6uK~7W8sBOs1)HKEr58n^oAC@18u{(L2}IKoibr`>>@m?{n;#vY}Tb%YC;J z6ppfKzP);LJZs@>$KU&9er#htJfloPU+EU4zWKgM#=?u}f5bG1RY7Vq3hpbFLiRaCb zKi5c@y?0r@9@Knici(u&$I~|U z206kNg1z;_st<8Aj>RB0>Aw2(;W^Rq7EV*RWMW%kce*W2G9jwI7#mA|Cbi-Spltk~s7OEsIjj|#fs?2P^aPoO*!EpRSbThU*#{?~u#MR!5 zX}__wxqgy78ck5F)P=gqXQ!dZH&nXMtGrSvdp9SECsOh@p~I$3LCB%BV>Yn ze9TyDrUKIfRK9XCZ?-64-kZ>ixSu{H)9OCx$ z@d-43)1ilIcjX)gVa>H|ZifQpU>b@c!q*=IZqF`bMHesogMUPh9@XJo^t5~adA{v{ zodt^66|FrU-k-UHfF$;?Raw`Ue>12fg43b#yw<1%ug0Um%L>VFWqll5( zAOuu=sxaFIbdb3E{(7C@`tr74Z*Sepr zae_caHjlvM?d`r!fT8i;P&G6$VCh50FN+--ayr=W>~P(E6AhWSly9?9tJMOXARGlX zFHa=9=_;kbKy9iGZOpu_4_D3UVaqWvk$f*?%IRq^&?^L1@ctw-E+E6vP+laPyQH6m zpv%E}XGXEBG%>{rMLZHMWu3s$5%jK_m6-@|4Z#?$p;@L{!nd@)0hA$Lk=-m;$57v_}D$j^Nx_Z7k=*+L`?_Y*) zl}oCA-+G3;D=20mMmc?{=cSUts61=c}2m_GR6tC5%6#m1zZlfIaNFQr~V6lC^uaI literal 0 HcmV?d00001 diff --git a/tests/output/05_window_hann.png b/tests/output/05_window_hann.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2b0becbfb6fe5eaad359fcb7d8bcebf4551ea2 GIT binary patch literal 2051 zcmdUwjaO247{~9uSy7vbGgHZl_GY-uOfAx;WG3p87(!C!TTPuhnv^ecI+xWa@Ww+hnIp@%`Iyh84r4Z>Bo8(A&;K(wG1a-Ry5R$ z>SQtp)0jZ-RUe#VP9Hm^_sH;sDmO=JJzQKAbtcM-Q%mnrO87vL7f|E<&MU^TEGq0G z@E^5+UxL%#>{Z~+eOA!M$+Oh;0IXUneG@fnA-DLbTD8o0@{CIe#{zyl z>Nk#o(@JlFtQTN90#}wDu{3OL(O$sMQNku!*mwdY%z1L2@j8Q|)dAW5t?pD7P+Z_z z@4s-%uQvL`(;tPGy6&SMeoPAH=F|ENdkfzB1-Eo)T$R0oNN%D%Wqz?T86=HH~208PoyR5!)1c}xX4j5p6K#foNK|8ybJ%GY)v z2jJ*u-ULpe6|uRpj|{BgYRRcax!B1PLh(*aKR zl@?l=s#s7Wi-Ws;6v@3qrrkDxn! zd=Mzv-5I`0q>z;al=Y^dmCNNmcf<&Jlloq zF_Vq)4X_}RHB)>Gb9o_J)Zh^rpnbLVYhUrLnr zSrB@DpzDoIdMHD4#Un-4J1&Txt8Si6Io>5X<8)9rD;HEAx1??TI#4;Uj+`8)Q;d?; znuF@g=ukf4Dvm zD>7Ul=HFsx*EWk)_md*08?662%i0^Ze3&Sh5K_eQl!P=y(p{9pSH%b%CL}mmx`1kr z-6Gbd6Ln!P!1x7HYg1Y-BzZ<4aHW_uLU8!9Pz%x95Tl{VM?^x#O8k(IKE zLuj=CH|tayya)B|U|QQ!$nNvJ|h1g8L zp^)VOmzWNtCq7YNpE)z%2RB!uyVMa4SjI2%`u^BGfL}+dk>k#s`S-gI!QL;?{O*2( z>OJPnGiH(!Zqs_ng|sFV;XJ?@xP4$Wp-;1zRmw1P;Ql;SUl%9I+E%igQ$5?cgd1i7 zu~CvmY(pT-aP-PnqBpAs^6?M&W@K>+oahQKfSHEa1t(AIoJ`-o9r0!%ndWX` z_7Jf>(1B5f_dzmIc=77d|3MbKNnf)+8z`=-h6WB>fB3Hf{&WIy(B2yJ-{3zcc~>^L bI8A7+$aO1phO2~s?tt$;f>)Ji*ttId&Yy8p literal 0 HcmV?d00001 diff --git a/tests/output/05_window_input.png b/tests/output/05_window_input.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8ee0e1b1a66ea4d0b812d9b9993398317812c3 GIT binary patch literal 110722 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

HvcY+GEzUe)ShV^(u#8D>4u;-m2?+* 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 M$f!uyf=$Ez4@SF>SpWb4 literal 0 HcmV?d00001 diff --git a/tests/output/05_window_none.png b/tests/output/05_window_none.png new file mode 100644 index 0000000000000000000000000000000000000000..30862050f44b7a3951505652bd2c119938ee5db3 GIT binary patch literal 1694 zcmai#4Ny}@5P=hkz7i6a*B3C{$2e zaRgC=g$HUW3L1(sr3gkTI28hc6x2Xq@CVd@6aqmIn%>=uV_Ti+%+9@gdwYBP_P*VB zgzv{QG%z;+02unN^4-or>n? zqF4FRn2ZH_CqQO)n@=Yr=|JOX-3Ux%NFwbHtw%a;ES<{+O_#a0C;)OoxE#BahrD;5 zDG~x48R<$RnIN#nAl(s&oxokZzgfSAf~BI6GeJ1u_#focxf%v}U~&gC5q*3Qj-+#n z`)9ucK|P9AdXxvAC|I#{0UMNZ7OY5zQCI=9ThRD=nG=9!bg3f<>Nkh(Bs*N>UYSB5 z8N5=QVJriJ>g<_l1L!QsrxsZ8M$hJXJAwOYHN~UGMQkw8tF@;ld37vmN%6>y(qv66 z+0STY0`1nN=druRjqhW3dG>C2p(D$3#>tkIr9+$W>oR7FqbUsNd@&bB*WSt&Z3mL) zHpX{>pc&ZG$bC2^Rz~0J6BCI(ncQffc9JRTV~U`bK$&x&=?QbhM(Lr!Y|8*lQLG_c z_HjaTCd{M-&ebWpsop$Gd!2ANa94L>NX_~f<;bMA(L%kBRr707ZFq8ZX!jOPWN=tq z)%^`FF5+X=>dw6y53ktDi@Th!N2dh#40d1Jrud_BPN#4{xuxy6BL2+Y>C(aRMVe04 zfz&-y-J@4uRrIV>t%zEqQTe`#-re8Q+tDgXc3<1S&80&ad{5WFo0X8-^+2f<=akz# zDt(sFSs$7-8UJeJ#puLhw>tivn5^;qrk?4&!yUbQ#(g~8zHaXGav7?wm)m9hXr0*0b1*DHdkuTY7S6qQSMf6kOUkKh``k zA?-d}a{MAwVhwm6xG zO-+;6;OAtk7kA`AhGANU=y3(h3C1UFsJJRI{S64(oncW5+U*TsDV9!_SVLA_X%dLw z{MoRCp7YX*^m7iXGW{o`@}h9mw-7nP6gDV|RLMiM8D|RhlXC=Q)(IvEz1%?9LvVw3 zBZv{>+*UpCdZNENi0_3P`{8%5DHrSeA82YMakHU%9y#GT8+R1cl=5d3B3G1vz^6ny zE)dEo9L4tO|1iLZqA1^P%?=(GIq%ZHZOPFsdZ!2FYOPDl8t2 0 else vmax / max(abs(vmin), 1e-30) + + print(f" Log magnitude range: [{vmin:.4f}, {vmax:.4f}]") + print(f" Dynamic range: {dynamic_range:.2f}") + assert vmax > vmin, "Log magnitude should have nonzero range" + assert np.all(np.isfinite(result.data)), "Non-finite values in log magnitude" + print(" PASS\n") + + +if __name__ == "__main__": + test_dc_removal() + test_single_frequency() + test_2d_frequency() + test_psdf_normalization() + test_windowing_reduces_leakage() + test_plane_subtraction() + test_non_square() + test_log_magnitude_visual_range() + print("All tests passed!") diff --git a/tests/test_fft_visual.py b/tests/test_fft_visual.py new file mode 100644 index 0000000..e8c2cb9 --- /dev/null +++ b/tests/test_fft_visual.py @@ -0,0 +1,97 @@ +""" +Generate test images and their FFT outputs for visual comparison with Gwyddion. +Saves PNG files to tests/output/. + +Run: .venv/bin/python -m tests.test_fft_visual +""" +import sys +import os +import numpy as np + +sys.path.insert(0, ".") +from backend.data_types import DataField, datafield_to_uint8, encode_preview +from backend.nodes.analysis import FFT2D + +OUT_DIR = os.path.join(os.path.dirname(__file__), "output") +os.makedirs(OUT_DIR, exist_ok=True) + + +def save_field(field, name, colormap="viridis"): + """Save a DataField as a PNG for visual inspection.""" + from PIL import Image + arr = datafield_to_uint8(field, colormap) + img = Image.fromarray(arr) + path = os.path.join(OUT_DIR, f"{name}.png") + img.save(path) + print(f" Saved {path} (range: [{field.data.min():.4g}, {field.data.max():.4g}])") + + +def make_field(data, xreal=1e-6, yreal=1e-6): + return DataField(data=data, xreal=xreal, yreal=yreal) + + +def main(): + node = FFT2D() + N = 256 + + # --- Test 1: Multi-frequency sine waves --- + print("Test 1: Multi-frequency sine waves") + y, x = np.mgrid[0:N, 0:N] / N + data = (np.sin(2 * np.pi * 10 * x) + + 0.7 * np.sin(2 * np.pi * 25 * y) + + 0.3 * np.sin(2 * np.pi * (15 * x + 8 * y))) + field = make_field(data) + save_field(field, "01_sines_input") + + for output_mode in ["log_magnitude", "magnitude", "psdf"]: + result, = node.process(field, windowing="hann", level="mean", output=output_mode) + save_field(result, f"01_sines_{output_mode}") + + # --- Test 2: Real-world-like surface with noise + tilt --- + print("\nTest 2: Tilted surface with features") + rng = np.random.default_rng(42) + data = (50 * x + 30 * y # tilt + + np.sin(2 * np.pi * 20 * x) # periodic feature + + 0.5 * rng.standard_normal((N, N))) # noise + field = make_field(data) + save_field(field, "02_surface_input") + + for level_mode in ["none", "mean", "plane"]: + result, = node.process(field, windowing="hann", level=level_mode, output="log_magnitude") + save_field(result, f"02_surface_fft_level_{level_mode}") + + # --- Test 3: Checkerboard pattern --- + print("\nTest 3: Checkerboard") + freq = 16 + data = np.sign(np.sin(2 * np.pi * freq * x) * np.sin(2 * np.pi * freq * y)) + field = make_field(data) + save_field(field, "03_checker_input") + + result, = node.process(field, windowing="none", level="mean", output="log_magnitude") + save_field(result, "03_checker_fft") + + # --- Test 4: Concentric rings (radial frequency) --- + print("\nTest 4: Concentric rings") + r = np.sqrt((x - 0.5)**2 + (y - 0.5)**2) + data = np.sin(2 * np.pi * 30 * r) + field = make_field(data) + save_field(field, "04_rings_input") + + result, = node.process(field, windowing="hann", level="mean", output="log_magnitude") + save_field(result, "04_rings_fft") + + # --- Test 5: Compare windowing effects --- + print("\nTest 5: Windowing comparison") + data = np.sin(2 * np.pi * 10.5 * x) + 0.5 * np.sin(2 * np.pi * 30.3 * y) + field = make_field(data) + save_field(field, "05_window_input") + + for win in ["none", "hann", "hamming", "blackman"]: + result, = node.process(field, windowing=win, level="mean", output="log_magnitude") + save_field(result, f"05_window_{win}") + + print(f"\nAll outputs saved to {OUT_DIR}/") + + +if __name__ == "__main__": + main() diff --git a/tests/test_nodes.py b/tests/test_nodes.py new file mode 100644 index 0000000..5f90f4d --- /dev/null +++ b/tests/test_nodes.py @@ -0,0 +1,488 @@ +""" +Tests for all argonode backend nodes (excluding FFT2D which has its own test file). + +Run from project root: + .venv/bin/python -m tests.test_nodes +""" +import sys +import os +import tempfile +import numpy as np + +sys.path.insert(0, ".") +from backend.data_types import DataField + + +def make_field(data=None, shape=(64, 64), xreal=1e-6, yreal=1e-6): + """Create a DataField, optionally from given data or a random field.""" + if data is None: + data = np.random.default_rng(42).standard_normal(shape) + return DataField(data=data, xreal=xreal, yreal=yreal, si_unit_xy="m", si_unit_z="m") + + +# ========================================================================= +# Filters +# ========================================================================= + +def test_gaussian_filter(): + print("=== Test: GaussianFilter ===") + from backend.nodes.filters import GaussianFilter + node = GaussianFilter() + field = make_field() + + result, = node.process(field, sigma=2.0) + assert result.data.shape == field.data.shape + assert result.xreal == field.xreal + assert result.si_unit_z == field.si_unit_z + # Gaussian blur should reduce variance + assert result.data.std() < field.data.std() + # With very small sigma, output should be nearly unchanged + result_tiny, = node.process(field, sigma=0.01) + assert np.allclose(result_tiny.data, field.data, atol=1e-6) + print(" PASS\n") + + +def test_median_filter(): + print("=== Test: MedianFilter ===") + from backend.nodes.filters import MedianFilter + node = MedianFilter() + + # Median filter should remove salt-and-pepper noise + data = np.zeros((64, 64)) + rng = np.random.default_rng(7) + noise_idx = rng.choice(64 * 64, size=100, replace=False) + data.ravel()[noise_idx] = 1.0 + field = make_field(data=data) + + result, = node.process(field, size=3) + assert result.data.shape == field.data.shape + # Should remove most impulse noise + assert result.data.sum() < field.data.sum() + # Size=1 should be identity + result_1, = node.process(field, size=1) + assert np.array_equal(result_1.data, field.data) + print(" PASS\n") + + +def test_edge_detect(): + print("=== Test: EdgeDetect ===") + from backend.nodes.filters import EdgeDetect + node = EdgeDetect() + + # Create an image with a sharp vertical edge + data = np.zeros((64, 64)) + data[:, 32:] = 1.0 + field = make_field(data=data) + + for method in ["sobel", "prewitt", "laplacian", "log"]: + result, = node.process(field, method=method, sigma=1.0) + assert result.data.shape == field.data.shape + # Edge response should be strongest near column 32 + col_energy = np.abs(result.data).sum(axis=0) + peak_col = np.argmax(col_energy) + assert abs(peak_col - 32) <= 2, f"{method}: peak at col {peak_col}, expected ~32" + + print(" PASS\n") + + +# ========================================================================= +# Level +# ========================================================================= + +def test_plane_level(): + print("=== Test: PlaneLevelField ===") + from backend.nodes.level import PlaneLevelField + node = PlaneLevelField() + + # Create a tilted plane + small signal + N = 64 + y, x = np.mgrid[0:N, 0:N] / N + signal = np.sin(2 * np.pi * 5 * x) + data = 100 * x + 50 * y + signal + field = make_field(data=data) + + result, = node.process(field) + assert result.data.shape == field.data.shape + # After plane leveling, mean should be near zero + assert abs(result.data.mean()) < 1e-10 + # The signal should remain (correlation with original sine) + corr = np.corrcoef(result.data.ravel(), signal.ravel())[0, 1] + assert corr > 0.98, f"Signal correlation after leveling: {corr}" + print(" PASS\n") + + +def test_poly_level(): + print("=== Test: PolyLevelField ===") + from backend.nodes.level import PolyLevelField + node = PolyLevelField() + + N = 64 + y, x = np.mgrid[0:N, 0:N] / N + # Quadratic background + signal + background = 50 * x**2 + 30 * y**2 + 10 * x * y + signal = np.sin(2 * np.pi * 8 * x) + data = background + signal + field = make_field(data=data) + + leveled, bg = node.process(field, degree_x=2, degree_y=2) + assert leveled.data.shape == field.data.shape + assert bg.data.shape == field.data.shape + # leveled + bg should reconstruct original + assert np.allclose(leveled.data + bg.data, field.data, atol=1e-10) + # Signal should be preserved after leveling + corr = np.corrcoef(leveled.data.ravel(), signal.ravel())[0, 1] + assert corr > 0.95, f"Signal correlation after poly leveling: {corr}" + # Degree 0 should just subtract the mean + leveled_0, bg_0 = node.process(field, degree_x=0, degree_y=0) + assert abs(leveled_0.data.mean()) < 1e-10 + print(" PASS\n") + + +def test_fix_zero(): + print("=== Test: FixZero ===") + from backend.nodes.level import FixZero + node = FixZero() + field = make_field(data=np.array([[10, 20], [30, 40]], dtype=np.float64)) + + result_min, = node.process(field, method="min") + assert result_min.data.min() == 0.0 + assert result_min.data.max() == 30.0 + + result_mean, = node.process(field, method="mean") + assert abs(result_mean.data.mean()) < 1e-10 + + result_median, = node.process(field, method="median") + assert abs(np.median(result_median.data)) < 1e-10 + print(" PASS\n") + + +# ========================================================================= +# Analysis (non-FFT) +# ========================================================================= + +def test_statistics(): + print("=== Test: StatisticsNode ===") + from backend.nodes.analysis import StatisticsNode + node = StatisticsNode() + + data = np.array([[1, 2], [3, 4]], dtype=np.float64) + field = make_field(data=data) + + table, = node.process(field) + stats = {row["quantity"]: row["value"] for row in table} + + assert stats["min"] == 1.0 + assert stats["max"] == 4.0 + assert stats["mean"] == 2.5 + assert stats["median"] == 2.5 + assert stats["range"] == 3.0 + # RMS = sqrt(mean((x - mean)^2)) + expected_rms = np.sqrt(np.mean((data - 2.5) ** 2)) + assert abs(stats["RMS"] - expected_rms) < 1e-10 + + # Constant data should have RMS=0, skewness=0, kurtosis=0 + const_field = make_field(data=np.ones((4, 4)) * 5.0) + table_const, = node.process(const_field) + const_stats = {row["quantity"]: row["value"] for row in table_const} + assert const_stats["RMS"] == 0.0 + assert const_stats["skewness"] == 0.0 + assert const_stats["kurtosis"] == 0.0 + print(" PASS\n") + + +def test_height_histogram(): + print("=== Test: HeightHistogram ===") + from backend.nodes.analysis import HeightHistogram + node = HeightHistogram() + + # Uniform data should give a roughly flat histogram + data = np.linspace(0, 1, 1000).reshape(25, 40) + field = make_field(data=data) + + counts, bin_centers = node.process(field, n_bins=10) + assert len(counts) == 10 + assert len(bin_centers) == 10 + assert counts.dtype == np.float64 + # Total counts should equal number of pixels + assert counts.sum() == 1000 + # For uniform data, each bin should have ~100 counts + assert np.std(counts) < 10, f"Histogram not flat enough: std={np.std(counts)}" + # Bin centers should span the data range + assert bin_centers[0] > 0.0 + assert bin_centers[-1] < 1.0 + print(" PASS\n") + + +def test_cross_section(): + print("=== Test: CrossSection ===") + from backend.nodes.analysis import CrossSection + node = CrossSection() + + # Create a field with a known horizontal gradient + N = 100 + y, x = np.mgrid[0:N, 0:N] / N + data = x * 10.0 # value = 10 * x_fraction + field = make_field(data=data, xreal=1e-6, yreal=1e-6) + + # Horizontal cross section at y=0.5 + (profile,) = node.process( + field, x1=0.0, y1=0.5, x2=1.0, y2=0.5, + extend="none", n_samples=100, + ) + assert len(profile) == 100 + # Profile should be a linear ramp from ~0 to ~10 + assert profile[0] < 0.5, f"Start of profile: {profile[0]}" + assert profile[-1] > 9.5, f"End of profile: {profile[-1]}" + + # n_samples=0 should auto-calculate + (profile_auto,) = node.process( + field, x1=0.0, y1=0.5, x2=1.0, y2=0.5, + extend="none", n_samples=0, + ) + assert len(profile_auto) >= 2 + + # Test extend to edges — a short segment should be extended + (profile_ext,) = node.process( + field, x1=0.3, y1=0.5, x2=0.7, y2=0.5, + extend="to_edges", n_samples=100, + ) + # Extended profile should start near 0 and end near 10 + assert profile_ext[0] < 0.5 + assert profile_ext[-1] > 9.5 + + # Diagonal cross section + (profile_diag,) = node.process( + field, x1=0.0, y1=0.0, x2=1.0, y2=1.0, + extend="none", n_samples=50, + ) + assert len(profile_diag) == 50 + print(" PASS\n") + + +# ========================================================================= +# Grains +# ========================================================================= + +def test_threshold_mask(): + print("=== Test: ThresholdMask ===") + from backend.nodes.grains import ThresholdMask + node = ThresholdMask() + + # Clear bimodal data: left half = 0, right half = 1 + data = np.zeros((64, 64)) + data[:, 32:] = 1.0 + field = make_field(data=data) + + # Absolute threshold at 0.5 + mask, = node.process(field, method="absolute", threshold=0.5, direction="above") + assert mask.dtype == np.uint8 + assert mask.shape == (64, 64) + assert np.all(mask[:, :32] == 0) + assert np.all(mask[:, 32:] == 255) + + # Direction "below" + mask_below, = node.process(field, method="absolute", threshold=0.5, direction="below") + assert np.all(mask_below[:, :32] == 255) + assert np.all(mask_below[:, 32:] == 0) + + # Relative threshold at 0.5 (midpoint of range) + mask_rel, = node.process(field, method="relative", threshold=0.5, direction="above") + assert np.all(mask_rel[:, 32:] == 255) + + # Otsu should find the bimodal threshold + mask_otsu, = node.process(field, method="otsu", threshold=0.0, direction="above") + assert mask_otsu[:, 32:].sum() > mask_otsu[:, :32].sum() + print(" PASS\n") + + +def test_grain_analysis(): + print("=== Test: GrainAnalysis ===") + from backend.nodes.grains import GrainAnalysis + node = GrainAnalysis() + + # Create a field with two distinct "grains" + N = 64 + data = np.zeros((N, N)) + # Grain 1: 10x10 block at top-left with height 5 + data[5:15, 5:15] = 5.0 + # Grain 2: 8x8 block at bottom-right with height 3 + data[45:53, 45:53] = 3.0 + field = make_field(data=data, xreal=1e-6, yreal=1e-6) + + # Create matching mask + mask = np.zeros((N, N), dtype=np.uint8) + mask[5:15, 5:15] = 255 + mask[45:53, 45:53] = 255 + + table, = node.process(field, mask=mask, min_size=10) + assert len(table) == 2, f"Expected 2 grains, got {len(table)}" + + # Sort by area descending + table.sort(key=lambda r: r["area_px"], reverse=True) + assert table[0]["area_px"] == 100 # 10x10 + assert table[1]["area_px"] == 64 # 8x8 + assert abs(table[0]["mean_height"] - 5.0) < 1e-10 + assert abs(table[1]["mean_height"] - 3.0) < 1e-10 + + # min_size filtering: only keep grains >= 80 px + table_filtered, = node.process(field, mask=mask, min_size=80) + assert len(table_filtered) == 1 + assert table_filtered[0]["area_px"] == 100 + print(" PASS\n") + + +# ========================================================================= +# I/O +# ========================================================================= + +def test_load_image(): + print("=== Test: LoadImage ===") + from backend.nodes.io import LoadImage + from PIL import Image + node = LoadImage() + + with tempfile.TemporaryDirectory() as tmpdir: + # Test loading a grayscale PNG + arr = np.random.default_rng(1).integers(0, 256, (48, 64), dtype=np.uint8) + img = Image.fromarray(arr, mode="L") + path = os.path.join(tmpdir, "test_gray.png") + img.save(path) + + image, field = node.load(filename=path) + assert image.shape == (48, 64) + assert field.data.shape == (48, 64) + assert field.data.dtype == np.float64 + + # Test loading an RGB PNG (should average to grayscale for field) + arr_rgb = np.random.default_rng(2).integers(0, 256, (32, 32, 3), dtype=np.uint8) + img_rgb = Image.fromarray(arr_rgb, mode="RGB") + path_rgb = os.path.join(tmpdir, "test_rgb.png") + img_rgb.save(path_rgb) + + image_rgb, field_rgb = node.load(filename=path_rgb) + assert image_rgb.shape == (32, 32, 3) + assert field_rgb.data.shape == (32, 32) + + # Test loading a .npy file + data_npy = np.random.default_rng(3).standard_normal((50, 60)) + path_npy = os.path.join(tmpdir, "test.npy") + np.save(path_npy, data_npy) + + image_npy, field_npy = node.load(filename=path_npy) + assert np.allclose(field_npy.data, data_npy) + + print(" PASS\n") + + +def test_save_image(): + print("=== Test: SaveImage ===") + from backend.nodes.io import SaveImage + node = SaveImage() + + with tempfile.TemporaryDirectory() as tmpdir: + # Monkey-patch OUTPUT_DIR for testing + from pathlib import Path + import backend.nodes.io as io_mod + orig_dir = io_mod.OUTPUT_DIR + io_mod.OUTPUT_DIR = Path(tmpdir) + + try: + arr = np.random.default_rng(4).integers(0, 256, (32, 32), dtype=np.uint8) + + # Save as PNG + node.save(image=arr, filename_prefix="test", format="PNG") + saved = os.listdir(tmpdir) + assert any(f.endswith(".png") for f in saved), f"No PNG file found in {saved}" + + # Save as NPY + node.save(image=arr.astype(np.float64), filename_prefix="test", format="NPY") + saved = os.listdir(tmpdir) + assert any(f.endswith(".npy") for f in saved), f"No NPY file found in {saved}" + finally: + io_mod.OUTPUT_DIR = orig_dir + + print(" PASS\n") + + +# ========================================================================= +# Display (limited testing — these are output nodes with WS callbacks) +# ========================================================================= + +def test_preview_image(): + print("=== Test: PreviewImage ===") + from backend.nodes.display import PreviewImage + node = PreviewImage() + + # Set up a capture for the broadcast + captured = [] + PreviewImage._broadcast_fn = lambda node_id, data_uri: captured.append(data_uri) + PreviewImage._current_node_id = "test" + + # Preview with a DataField + field = make_field() + node.preview(colormap="viridis", field=field) + assert len(captured) == 1 + assert captured[0].startswith("data:image/png;base64,") + + # Preview with an IMAGE array + captured.clear() + arr = np.random.default_rng(5).integers(0, 256, (32, 32), dtype=np.uint8) + node.preview(colormap="gray", image=arr) + assert len(captured) == 1 + + # Clean up + PreviewImage._broadcast_fn = None + print(" PASS\n") + + +def test_print_table(): + print("=== Test: PrintTable ===") + from backend.nodes.display import PrintTable + node = PrintTable() + + captured = [] + PrintTable._broadcast_table_fn = lambda node_id, rows: captured.append(rows) + PrintTable._current_node_id = "test" + + table = [{"quantity": "test", "value": 42.0, "unit": "m"}] + node.print_table(table=table) + assert len(captured) == 1 + assert captured[0] == table + + PrintTable._broadcast_table_fn = None + print(" PASS\n") + + +# ========================================================================= +# Run all tests +# ========================================================================= + +if __name__ == "__main__": + # Filters + test_gaussian_filter() + test_median_filter() + test_edge_detect() + + # Level + test_plane_level() + test_poly_level() + test_fix_zero() + + # Analysis + test_statistics() + test_height_histogram() + test_cross_section() + + # Grains + test_threshold_mask() + test_grain_analysis() + + # I/O + test_load_image() + test_save_image() + + # Display + test_preview_image() + test_print_table() + + print("All tests passed!")