From 95619660717a4a92c76da66e6b87fc314d3cd0e3 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 10 Aug 2026 11:51:42 +0200 Subject: [PATCH] Spawn Punkte korrigiert --- .../main/java/de/blight/editor/EditorApp.java | 31 ++-- .../de/blight/editor/state/PlayToolState.java | 169 ++++++++++++------ .../editor/state/TerrainEditorState.java | 6 + .../main/java/de/blight/game/BlightGame.java | 30 ++++ .../game/control/ThirdPersonCamera.java | 35 +++- .../java/de/blight/game/scene/WorldScene.java | 10 +- .../de/blight/game/state/CompassHudState.java | 4 +- .../blight/game/state/NewGameIntroState.java | 20 ++- blight-map/src/main/map/blight_map.blm | Bin 99400122 -> 99400132 bytes 9 files changed, 214 insertions(+), 91 deletions(-) diff --git a/blight-editor/src/main/java/de/blight/editor/EditorApp.java b/blight-editor/src/main/java/de/blight/editor/EditorApp.java index fb0257d..4607bb3 100644 --- a/blight-editor/src/main/java/de/blight/editor/EditorApp.java +++ b/blight-editor/src/main/java/de/blight/editor/EditorApp.java @@ -1536,7 +1536,8 @@ public class EditorApp extends Application { root.setRight(buildLocationZonePanel()); }); playToolBtn.setOnAction(e -> { - input.activeLayer = SharedInput.LAYER_PLAY_TOOL; + input.activeLayer = SharedInput.LAYER_PLAY_TOOL; + input.playToolMode = SharedInput.PlayToolMode.EDIT; root.setRight(buildPlayToolPanel()); }); voxelBtn.setOnAction(e -> { @@ -8258,6 +8259,11 @@ public class EditorApp extends Application { p.setProperty("cam.z", String.valueOf(input.camZ)); p.setProperty("cam.yaw", String.valueOf(input.camYaw)); p.setProperty("cam.pitch", String.valueOf(input.camPitch)); + if (!Float.isNaN(input.tempSpawnX) && !Float.isNaN(input.tempSpawnZ)) { + p.setProperty("tempSpawn.x", String.valueOf(input.tempSpawnX)); + p.setProperty("tempSpawn.z", String.valueOf(input.tempSpawnZ)); + p.setProperty("tempSpawn.yaw", String.valueOf(input.tempSpawnYaw)); + } try { Files.createDirectories(BlightHome.resolve("config")); try (java.io.Writer w = Files.newBufferedWriter(BlightHome.resolve("config", "editor.prefs"))) { @@ -8857,9 +8863,8 @@ public class EditorApp extends Application { Button setTempBtn = new Button("πŸ“ Temp. Spawn hier setzen"); setTempBtn.setMaxWidth(Double.MAX_VALUE); setTempBtn.setTooltip(new javafx.scene.control.Tooltip( - "Setzt Yaw = Kamera-Blickrichtung und aktiviert Klick-Modus im Viewport")); + "Aktiviert Klick-Modus im Viewport zum Setzen des temporΓ€ren Spawnpunkts")); setTempBtn.setOnAction(e -> { - input.tempSpawnYaw = camYawToSpawnYaw(input.camYaw); input.playToolMode = SharedInput.PlayToolMode.SET_TEMP; setStatus("L-Klick im Viewport β†’ temporΓ€ren Spawnpunkt setzen"); }); @@ -8867,24 +8872,13 @@ public class EditorApp extends Application { Button setPermBtn = new Button("🏁 Perm. Spawn hier setzen"); setPermBtn.setMaxWidth(Double.MAX_VALUE); setPermBtn.setTooltip(new javafx.scene.control.Tooltip( - "Setzt Yaw = Kamera-Blickrichtung und aktiviert Klick-Modus im Viewport")); + "Aktiviert Klick-Modus im Viewport zum Setzen des permanenten Spawnpunkts")); setPermBtn.setOnAction(e -> { - input.permSpawnYaw = camYawToSpawnYaw(input.camYaw); input.playToolMode = SharedInput.PlayToolMode.SET_PERM; setStatus("L-Klick im Viewport β†’ permanenten Spawnpunkt setzen"); }); - ToggleButton editModeBtn = new ToggleButton("✎ Bearbeiten"); - editModeBtn.setMaxWidth(Double.MAX_VALUE); - editModeBtn.setTooltip(new javafx.scene.control.Tooltip( - "Drag auf Marker β†’ Position; Drag auf Pfeilspitze β†’ Richtung drehen")); - editModeBtn.setOnAction(e -> { - input.playToolMode = editModeBtn.isSelected() - ? SharedInput.PlayToolMode.EDIT - : SharedInput.PlayToolMode.NONE; - }); - - inner.getChildren().addAll(setTempBtn, setPermBtn, editModeBtn, new Separator()); + inner.getChildren().addAll(setTempBtn, setPermBtn, new Separator()); // ── Koordinatenanzeige ──────────────────────────────────────────────── tempSpawnCoordsLabel = new Label(tempSpawnCoordsText()); @@ -8945,11 +8939,6 @@ public class EditorApp extends Application { return panel; } - /** Konvertiert den Editor-Kamera-Yaw in den Spawnpunkt-Yaw (0=+Z, 90=+X, UZS von oben). */ - private static float camYawToSpawnYaw(float camYaw) { - return ((180f + camYaw) % 360f + 360f) % 360f; - } - private String tempSpawnCoordsText() { if (Float.isNaN(input.tempSpawnX) || Float.isNaN(input.tempSpawnZ)) return "(nicht gesetzt)"; return String.format("X=%.1f Z=%.1f Yaw=%.0fΒ°", input.tempSpawnX, input.tempSpawnZ, input.tempSpawnYaw); diff --git a/blight-editor/src/main/java/de/blight/editor/state/PlayToolState.java b/blight-editor/src/main/java/de/blight/editor/state/PlayToolState.java index f25287c..03eeb88 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/PlayToolState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/PlayToolState.java @@ -14,14 +14,13 @@ import com.jme3.terrain.geomipmap.TerrainQuad; import de.blight.editor.SharedInput; /** - * Rendert Spawn-Marker im Editor (temp=grΓΌn, perm=blau) mit Richtungspfeilen. + * Rendert Spawn-Marker im Editor (temp=grΓΌn, perm=blau) mit nordweisendem Richtungspfeil. + * Pfeil folgt der Terrain-Neigung, zeigt aber immer Richtung Norden (+Z). * * Modi: - * NONE – Marker sichtbar, aber keine Interaktion - * SET_TEMP – NΓ€chster Viewport-Klick setzt temp. Spawnpunkt - * SET_PERM – NΓ€chster Viewport-Klick setzt perm. Spawnpunkt - * EDIT – Drag auf Marker-KΓΆrper β†’ Positionieren; - * Drag auf Pfeilspitze β†’ Richtung drehen (via XZ-Projektion) + * EDIT – Standard; Drag auf Marker-Scheibe β†’ Position, Drag auf Pfeil β†’ Richtung + * SET_TEMP – NΓ€chster Viewport-Klick setzt temp. Spawnpunkt (danach β†’ EDIT) + * SET_PERM – NΓ€chster Viewport-Klick setzt perm. Spawnpunkt (danach β†’ EDIT) */ public class PlayToolState extends BaseAppState { @@ -46,12 +45,6 @@ public class PlayToolState extends BaseAppState { private Node tempArrowNode; private Node permArrowNode; - // Separate Geometrien fΓΌr Ray-Cast-Erkennung - private Geometry tempBodyGeom; - private Geometry permBodyGeom; - private Geometry tempTipGeom; - private Geometry permTipGeom; - private DragTarget dragTarget = DragTarget.NONE; private float lastDragX; private float lastDragY; @@ -72,10 +65,6 @@ public class PlayToolState extends BaseAppState { tempArrowNode = (Node) tempMarkerNode.getChild("arrow"); permArrowNode = (Node) permMarkerNode.getChild("arrow"); - tempBodyGeom = (Geometry) tempMarkerNode.getChild("body_temp"); - permBodyGeom = (Geometry) permMarkerNode.getChild("body_perm"); - tempTipGeom = (Geometry) tempArrowNode.getChild("tip_temp"); - permTipGeom = (Geometry) permArrowNode.getChild("tip_perm"); } @Override @@ -138,9 +127,10 @@ public class PlayToolState extends BaseAppState { if (pt != null) { input.tempSpawnX = pt.x; input.tempSpawnZ = pt.z; + input.tempSpawnYaw = 0f; input.pickedSpawnInfo = pt.x + "|" + pt.z; input.spawnPickChanged = true; - input.playToolMode = SharedInput.PlayToolMode.NONE; + input.playToolMode = SharedInput.PlayToolMode.EDIT; } return; } @@ -148,11 +138,12 @@ public class PlayToolState extends BaseAppState { if (mode == SharedInput.PlayToolMode.SET_PERM) { Vector3f pt = hitTerrain(ray); if (pt != null) { - input.permSpawnX = pt.x; - input.permSpawnZ = pt.z; + input.permSpawnX = pt.x; + input.permSpawnZ = pt.z; + input.permSpawnYaw = 0f; input.pickedPermSpawnInfo = pt.x + "|" + pt.z; - input.permSpawnChanged = true; - input.playToolMode = SharedInput.PlayToolMode.NONE; + input.permSpawnChanged = true; + input.playToolMode = SharedInput.PlayToolMode.EDIT; } return; } @@ -165,30 +156,86 @@ public class PlayToolState extends BaseAppState { } private DragTarget detectDragTarget(Ray ray) { - // Pfeilspitzen zuerst prΓΌfen (kleineres Ziel, hΓΆhere PrioritΓ€t) - if (tempTipGeom != null && !Float.isNaN(input.tempSpawnX)) { - CollisionResults res = new CollisionResults(); - tempTipGeom.collideWith(ray, res); - if (res.size() > 0) return DragTarget.ROT_TEMP; + DragTarget temp = detectDragTargetForSpawn(ray, + input.tempSpawnX, input.tempSpawnZ, input.tempSpawnYaw, + DragTarget.POS_TEMP, DragTarget.ROT_TEMP); + if (temp != DragTarget.NONE) return temp; + return detectDragTargetForSpawn(ray, + input.permSpawnX, input.permSpawnZ, input.permSpawnYaw, + DragTarget.POS_PERM, DragTarget.ROT_PERM); + } + + private DragTarget detectDragTargetForSpawn(Ray ray, float sx, float sz, float yawDeg, + DragTarget posTarget, DragTarget rotTarget) { + if (Float.isNaN(sx) || Float.isNaN(sz)) return DragTarget.NONE; + float markerY = terrainY(sx, sz); + Vector3f center = new Vector3f(sx, markerY + 0.06f, sz); + Vector3f up = terrainNormal(sx, sz); + + // ── Scheibe: Ray-Ebene-Schnitt mit Terrain-Normalebene ─────────────────── + float denom = ray.getDirection().dot(up); + if (Math.abs(denom) > 1e-6f) { + float t = center.subtract(ray.getOrigin()).dot(up) / denom; + if (t > 0f) { + Vector3f hit = ray.getOrigin().add(ray.getDirection().mult(t)); + if (hit.distanceSquared(center) <= MARKER_RADIUS * MARKER_RADIUS) { + return posTarget; + } + } } - if (permTipGeom != null && !Float.isNaN(input.permSpawnX)) { - CollisionResults res = new CollisionResults(); - permTipGeom.collideWith(ray, res); - if (res.size() > 0) return DragTarget.ROT_PERM; - } - if (tempBodyGeom != null && !Float.isNaN(input.tempSpawnX)) { - CollisionResults res = new CollisionResults(); - tempBodyGeom.collideWith(ray, res); - if (res.size() > 0) return DragTarget.POS_TEMP; - } - if (permBodyGeom != null && !Float.isNaN(input.permSpawnX)) { - CollisionResults res = new CollisionResults(); - permBodyGeom.collideWith(ray, res); - if (res.size() > 0) return DragTarget.POS_PERM; + + // ── Pfeil: 3D Ray-zu-Segment-Distanz (korrekt fΓΌr geneigte Terrain) ───── + float rad = yawDeg * FastMath.DEG_TO_RAD; + Vector3f flatF = new Vector3f(FastMath.sin(rad), 0f, -FastMath.cos(rad)); + Vector3f fwd = flatF.subtract(up.mult(up.dot(flatF))); + if (fwd.lengthSquared() > 1e-6f) { + fwd.normalizeLocal(); + Vector3f arrowEnd = center.add(fwd.mult(SHAFT_LEN + TIP_LEN)); + if (rayToSegDistSq(ray.getOrigin(), ray.getDirection(), center, arrowEnd) < 0.4f * 0.4f) { + return rotTarget; + } } + return DragTarget.NONE; } + /** + * Minimaler quadratischer Abstand zwischen einem Strahl (Ursprung o, normalisierte Richtung d) + * und einem Linienabschnitt [segA, segB]. + */ + private static float rayToSegDistSq(Vector3f o, Vector3f d, Vector3f segA, Vector3f segB) { + Vector3f v = segB.subtract(segA); + Vector3f w = o.subtract(segA); + float b = d.dot(v); + float c = v.dot(v); + float e = v.dot(w); + float f = d.dot(w); + float D = c - b * b; + + float sc, tc; + if (D < 1e-8f) { + sc = 0f; + tc = (c > 1e-8f) ? FastMath.clamp(e / c, 0f, 1f) : 0f; + } else { + sc = (b * e - c * f) / D; + tc = (e - b * f) / D; + if (sc < 0f) { + sc = 0f; + tc = FastMath.clamp(e / c, 0f, 1f); + } else if (tc < 0f) { + tc = 0f; + sc = Math.max(0f, -f); + } else if (tc > 1f) { + tc = 1f; + sc = Math.max(0f, b - f); + } + } + + Vector3f pR = o.add(d.mult(sc)); + Vector3f pS = segA.add(v.mult(tc)); + return pR.distanceSquared(pS); + } + // ── Drag-Handler ────────────────────────────────────────────────────────── private void handleDrag(SharedInput.PlayToolDrag drag) { @@ -227,8 +274,8 @@ public class PlayToolState extends BaseAppState { float dx = proj.x - input.tempSpawnX; float dz = proj.z - input.tempSpawnZ; if (dx * dx + dz * dz > 0.01f) { - // spawnYaw: 0=+Z, 90=+X β†’ atan2(dx, dz) - float yaw = (float) Math.toDegrees(Math.atan2(dx, dz)); + // yaw=0=Norden=-Z β†’ atan2(dx, -dz) + float yaw = (float) Math.toDegrees(Math.atan2(dx, -dz)); input.tempSpawnYaw = ((yaw % 360f) + 360f) % 360f; } } @@ -240,7 +287,7 @@ public class PlayToolState extends BaseAppState { float dx = proj.x - input.permSpawnX; float dz = proj.z - input.permSpawnZ; if (dx * dx + dz * dz > 0.01f) { - float yaw = (float) Math.toDegrees(Math.atan2(dx, dz)); + float yaw = (float) Math.toDegrees(Math.atan2(dx, -dz)); input.permSpawnYaw = ((yaw % 360f) + 360f) % 360f; input.permSpawnChanged = true; } @@ -280,7 +327,7 @@ public class PlayToolState extends BaseAppState { arrowNode.attachChild(shaftGeom); // Pfeilspitze: Kegel mit breiter Basis bei z=-TIP_LEN/2 β†’ nach rotate: Basis bei y=SHAFT_LEN (Schaft-Ende) - Cylinder tip = new Cylinder(4, 8, TIP_RADIUS, 0.001f, TIP_LEN, true, false); + Cylinder tip = new Cylinder(4, 8, 0.001f, TIP_RADIUS, TIP_LEN, true, false); Geometry tipGeom = new Geometry("tip_" + id, tip); tipGeom.setMaterial(mat); tipGeom.rotate(-FastMath.HALF_PI, 0f, 0f); @@ -304,28 +351,26 @@ public class PlayToolState extends BaseAppState { if (arrowNode == null) return; - // Terrain-Normale als lokale Oben-Richtung Vector3f up = terrainNormal(x, z); - // Yaw-Richtung als horizontaler Richtungsvektor (0=+Z, 90=+X) + // yaw=0 = Norden = -Z (JME3 Kamera blickt entlang -Z als Norden) float rad = yawDeg * FastMath.DEG_TO_RAD; - Vector3f flatForward = new Vector3f(FastMath.sin(rad), 0f, FastMath.cos(rad)); + Vector3f flatForward = new Vector3f(FastMath.sin(rad), 0f, -FastMath.cos(rad)); - // right = up Γ— flatForward (liegt auf der Terrain-OberflΓ€che, senkrecht zur Richtung) - Vector3f right = up.cross(flatForward); - if (right.lengthSquared() < 1e-6f) { - // Sonderfall: Terrain fast senkrecht β†’ horizontale Rotation als Fallback - arrowNode.setLocalRotation(new Quaternion().fromAngles(FastMath.HALF_PI, rad, 0f)); + // Auf Terrain-Ebene projizieren + Vector3f fwd = flatForward.subtract(up.mult(up.dot(flatForward))); + if (fwd.lengthSquared() < 1e-6f) { + arrowNode.setLocalRotation(Quaternion.IDENTITY); return; } - right.normalizeLocal(); - // forward = right Γ— up (auf Terrain-FlΓ€che projiziertes Forward in Yaw-Richtung) - Vector3f forward = right.cross(up).normalizeLocal(); + fwd.normalizeLocal(); + + // det=+1: col0 = fwd Γ— up + Vector3f right = fwd.cross(up).normalizeLocal(); - // Rotationsmatrix: local X β†’ right, local Y β†’ forward (Pfeil), local Z β†’ up (Terrain-Normal) Matrix3f rot = new Matrix3f(); rot.setColumn(0, right); - rot.setColumn(1, forward); + rot.setColumn(1, fwd); rot.setColumn(2, up); arrowNode.setLocalRotation(new Quaternion().fromRotationMatrix(rot)); } @@ -333,6 +378,14 @@ public class PlayToolState extends BaseAppState { // ── Terrain-Hilfsmethoden ───────────────────────────────────────────────── private Vector3f hitTerrain(Ray ray) { + VoxelEditorState ves = getStateManager().getState(VoxelEditorState.class); + if (ves != null) { + Vector3f pt = ves.clickAt(ray); + if (pt != null && ves.terrainTypeAt(pt.x, pt.z) == VoxelEditorState.TerrainType.VOXEL_UNBAKED) { + return null; + } + return pt; + } if (terrain == null) return null; CollisionResults hits = new CollisionResults(); terrain.collideWith(ray, hits); @@ -341,6 +394,8 @@ public class PlayToolState extends BaseAppState { } private float terrainY(float x, float z) { + VoxelEditorState ves = getStateManager().getState(VoxelEditorState.class); + if (ves != null) return ves.heightAt(x, z); if (terrain == null) return 0f; float h = terrain.getHeight(new Vector2f(x, z)); return Float.isNaN(h) ? 0f : h; diff --git a/blight-editor/src/main/java/de/blight/editor/state/TerrainEditorState.java b/blight-editor/src/main/java/de/blight/editor/state/TerrainEditorState.java index a83798e..4e7964d 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/TerrainEditorState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/TerrainEditorState.java @@ -210,6 +210,12 @@ public class TerrainEditorState extends BaseAppState { parsePref(p, "cam.z", 0f)); camYaw = (float) Math.toRadians(parsePref(p, "cam.yaw", 0f)); camPitch = (float) Math.toRadians(parsePref(p, "cam.pitch", (float) Math.toDegrees(DEFAULT_PITCH))); + if (p.containsKey("tempSpawn.x") && p.containsKey("tempSpawn.z")) { + input.tempSpawnX = parsePref(p, "tempSpawn.x", Float.NaN); + input.tempSpawnZ = parsePref(p, "tempSpawn.z", Float.NaN); + input.tempSpawnYaw = parsePref(p, "tempSpawn.yaw", 0f); + input.spawnPickChanged = true; + } } catch (IOException e) { log.warn("Kamera-Prefs nicht ladbar", e); } diff --git a/blight-game/src/main/java/de/blight/game/BlightGame.java b/blight-game/src/main/java/de/blight/game/BlightGame.java index 4758dc1..0669611 100644 --- a/blight-game/src/main/java/de/blight/game/BlightGame.java +++ b/blight-game/src/main/java/de/blight/game/BlightGame.java @@ -1,5 +1,6 @@ package de.blight.game; +import com.jme3.app.Application; import com.jme3.app.SimpleApplication; import com.jme3.app.state.ScreenshotAppState; import com.jme3.input.KeyInput; @@ -329,6 +330,35 @@ public class BlightGame extends SimpleApplication { }); stateManager.attach(console); + // ── Debug-Stats (F3): oben-links, default aus ──────────────────────────── + com.jme3.app.StatsAppState defaultStats = stateManager.getState(com.jme3.app.StatsAppState.class); + if (defaultStats != null) stateManager.detach(defaultStats); + com.jme3.app.StatsAppState statsState = new com.jme3.app.StatsAppState() { + @Override + public void initialize(com.jme3.app.state.AppStateManager sm, com.jme3.app.Application a) { + super.initialize(sm, a); + setDisplayFps(false); + setDisplayStatView(false); + int h = a.getCamera().getHeight(); + if (fpsText != null) fpsText.setLocalTranslation(0, h, 0); + if (statsView != null) { + float fpsH = fpsText != null ? fpsText.getLineHeight() : 0f; + statsView.setLocalTranslation(0, h - fpsH, 0); + } + } + }; + stateManager.attach(statsState); + final boolean[] statsVisible = {false}; + inputManager.addMapping("ToggleStats", new KeyTrigger(KeyInput.KEY_F3)); + inputManager.addListener((ActionListener) (name, isPressed, tpf) -> { + if (!isPressed) return; + com.jme3.app.StatsAppState s = stateManager.getState(com.jme3.app.StatsAppState.class); + if (s == null) return; + statsVisible[0] = !statsVisible[0]; + s.setDisplayFps(statsVisible[0]); + s.setDisplayStatView(statsVisible[0]); + }, "ToggleStats"); + // ── Debug: Nebel-Toggle (F7) ───────────────────────────────────────────── inputManager.addMapping("DebugFog", new KeyTrigger(KeyInput.KEY_F7)); inputManager.addListener((ActionListener) (name, isPressed, tpf) -> { diff --git a/blight-game/src/main/java/de/blight/game/control/ThirdPersonCamera.java b/blight-game/src/main/java/de/blight/game/control/ThirdPersonCamera.java index 3ad48a1..4c7261c 100644 --- a/blight-game/src/main/java/de/blight/game/control/ThirdPersonCamera.java +++ b/blight-game/src/main/java/de/blight/game/control/ThirdPersonCamera.java @@ -38,6 +38,13 @@ public class ThirdPersonCamera { private float distance = BASE_DISTANCE; private boolean paused = false; + // Intro-Kameradrehung (neues Spiel): yaw animiert von vorne nach hinten + private boolean introRotating = false; + private float introStartYaw; + private float introEndYaw; + private float introDuration; + private float introTimer; + public ThirdPersonCamera(Camera cam, InputManager inputManager, KeyBindings keyBindings) { this.cam = cam; @@ -65,7 +72,7 @@ public class ThirdPersonCamera { inputManager.addMapping("CamTurnRight", new KeyTrigger(keyBindings.turnRight)); AnalogListener analogListener = (name, value, tpf) -> { - if (paused) return; + if (paused || introRotating) return; switch (name) { // Horizontale Rotation β€” Maus case "MouseX" -> yaw -= value * MOUSE_SENSITIVITY; @@ -87,6 +94,13 @@ public class ThirdPersonCamera { } public void update(float tpf) { + if (introRotating) { + introTimer += tpf; + float t = FastMath.clamp(introTimer / introDuration, 0f, 1f); + yaw = introStartYaw + (introEndYaw - introStartYaw) * t; + if (t >= 1f) introRotating = false; + } + if (target == null || paused) return; Vector3f pivot = target.getWorldTranslation().add(0, TARGET_HEIGHT, 0); @@ -101,6 +115,23 @@ public class ThirdPersonCamera { cam.lookAt(pivot, Vector3f.UNIT_Y); } -/** Aktueller Yaw-Winkel (fΓΌr CharacterControl nutzbar). */ + /** Aktueller Yaw-Winkel (fΓΌr CharacterControl nutzbar). */ public float getYaw() { return yaw; } + + /** Setzt initialen Kamera-Yaw passend zum Spawn-Yaw (Kamera hinter dem Charakter). */ + public void setInitialYaw(float spawnYawDegrees) { + this.yaw = -spawnYawDegrees * FastMath.DEG_TO_RAD; + } + + /** + * Startet die Intro-Drehung: Kamera dreht sich im Uhrzeigersinn 180Β° (von vorne nach hinten) + * ΓΌber die angegebene Dauer. WΓ€hrend der Drehung ist Mauseingabe blockiert. + */ + public void startIntroRotation(float duration) { + introStartYaw = this.yaw; + introEndYaw = this.yaw - FastMath.PI; // 180Β° CW von oben gesehen + introDuration = duration; + introTimer = 0f; + introRotating = true; + } } diff --git a/blight-game/src/main/java/de/blight/game/scene/WorldScene.java b/blight-game/src/main/java/de/blight/game/scene/WorldScene.java index 68a434c..1997b05 100644 --- a/blight-game/src/main/java/de/blight/game/scene/WorldScene.java +++ b/blight-game/src/main/java/de/blight/game/scene/WorldScene.java @@ -557,7 +557,11 @@ public class WorldScene extends BaseAppState { characterVisual.setCullHint(Spatial.CullHint.Inherit); } - playerInput.setInitialFacing(spawnYaw); + playerInput.setInitialFacing(spawnYaw + 180f); + + boolean newGame = "true".equals(System.getProperty("blight.new.game")); + // Neues Spiel: Kamera startet gegenΓΌber der Blickrichtung (von vorne) und dreht sich 180Β° CW + thirdPersonCam.setInitialYaw(newGame ? spawnYaw + 180f : spawnYaw); String reviveClip = de.blight.game.animation.AnimationLibrary.getClipForAction( AnimationLibrary.findAssetRoot(), setName, de.blight.game.animation.AnimationAction.REVIVE); @@ -568,9 +572,9 @@ public class WorldScene extends BaseAppState { drownState.setReviveInfo(reviveClip, reviveLength); } - if ("true".equals(System.getProperty("blight.new.game"))) { + if (newGame) { app.getStateManager().attach( - new de.blight.game.state.NewGameIntroState(playerInput, reviveClip, reviveLength)); + new de.blight.game.state.NewGameIntroState(playerInput, thirdPersonCam, reviveClip, reviveLength)); } } diff --git a/blight-game/src/main/java/de/blight/game/state/CompassHudState.java b/blight-game/src/main/java/de/blight/game/state/CompassHudState.java index 81a861e..ec1c0d4 100644 --- a/blight-game/src/main/java/de/blight/game/state/CompassHudState.java +++ b/blight-game/src/main/java/de/blight/game/state/CompassHudState.java @@ -95,8 +95,8 @@ public class CompassHudState extends BaseAppState { if (compassNode == null) { return; } Vector3f dir = cam.getDirection(); - // yaw=0 = Blick nach +Z (Nord); positiv = Osten - float yaw = FastMath.atan2(dir.x, dir.z); + // yaw=0 = Blick nach -Z (Nord); JME3-Kamera blickt in -Z bei Norden + float yaw = FastMath.atan2(dir.x, -dir.z); // Rose dreht sich so, dass Nord immer in der echten Nord-Richtung liegt roseRot.fromAngleAxis(-yaw, Vector3f.UNIT_Z); diff --git a/blight-game/src/main/java/de/blight/game/state/NewGameIntroState.java b/blight-game/src/main/java/de/blight/game/state/NewGameIntroState.java index 7f7e9c0..fc256b7 100644 --- a/blight-game/src/main/java/de/blight/game/state/NewGameIntroState.java +++ b/blight-game/src/main/java/de/blight/game/state/NewGameIntroState.java @@ -10,6 +10,7 @@ import com.jme3.renderer.queue.RenderQueue; import com.jme3.scene.Geometry; import com.jme3.scene.shape.Quad; import de.blight.game.control.PlayerInputControl; +import de.blight.game.control.ThirdPersonCamera; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +33,7 @@ public class NewGameIntroState extends BaseAppState { private enum Phase { BLACK, FADING_IN, REVIVE_PLAYING, DONE } private final PlayerInputControl playerInput; + private final ThirdPersonCamera thirdPersonCam; private final String reviveClip; private final float reviveLength; @@ -42,10 +44,12 @@ public class NewGameIntroState extends BaseAppState { private Phase phase; private float timer; - public NewGameIntroState(PlayerInputControl playerInput, String reviveClip, float reviveLength) { - this.playerInput = playerInput; - this.reviveClip = reviveClip; - this.reviveLength = reviveLength; + public NewGameIntroState(PlayerInputControl playerInput, ThirdPersonCamera thirdPersonCam, + String reviveClip, float reviveLength) { + this.playerInput = playerInput; + this.thirdPersonCam = thirdPersonCam; + this.reviveClip = reviveClip; + this.reviveLength = reviveLength; } @Override @@ -85,11 +89,15 @@ public class NewGameIntroState extends BaseAppState { case BLACK -> { timer -= tpf; if (timer <= 0f) { - // REVIVE unmittelbar vor dem Einblenden einfrieren playerInput.startFrozenRevive(reviveClip); + // Drehung startet sofort mit Fade-In: Gesamtdauer = Einblenden + REVIVE + if (thirdPersonCam != null) { + thirdPersonCam.startIntroRotation(FADE_DURATION + reviveLength); + } phase = Phase.FADING_IN; timer = FADE_DURATION; - log.info("[NewGameIntro] BLACK fertig – REVIVE eingefroren, starte FADING_IN ({} s)", FADE_DURATION); + log.info("[NewGameIntro] BLACK fertig – REVIVE eingefroren, Kamera dreht {} s, starte FADING_IN", + FADE_DURATION + reviveLength); } } case FADING_IN -> { diff --git a/blight-map/src/main/map/blight_map.blm b/blight-map/src/main/map/blight_map.blm index 127e81d269425d1aa65c901b10f261a840133193..f685d4f2b36b3eb045af29449a1da9fd24b3bd03 100644 GIT binary patch delta 40276 zcmYhh2{e`8_douOhEyt*N`|6I88Q|b8Yv_pBBT^0lzG0YC#802LNcb1Su$jnip-ID zmU*6M?)~5Q=ez!E{j7DZyPk8;Is5Fh_dc)J>pWT0DPljFA1?}}Fbby#ilkU5R*H>c zr`Av$)LLpCwVvXnHc%U>O%xZknc6~arMRhW)OKnI#Y63+cqu-LpAw*UQM)NYN{HG+ z?WOin`>6wzFm;eRM2S$Mlo%yW9i}8GNlJ>6rer8t>Iij|lB49QW0V4=NGVau)N$$r zb&@(oouK$3MM|5}p>(NBlpdu|U8W2uL+T1;L>W^i z)K$uqx<*~6%%~gGP0F0Ipl(sODNE`OWkp$2Hq>3}9%W0}QTCJrYDFALUO4Q17Tf z>OB=i1ydnZC>2J9Qy-`Z>Lc}uilm~bXzDW+L&Z{YR6LbHB~nRLGWCT@p}tb7R2r2| zWl-O!Oe%}YrgErUDv!#i3aIZ?A@zg$N&TXVsAB3jRYH|gWmGv;K~+*!)E}yvs-gZ; zwNxEdPc=}DR1?)qwNR~88`VyAP@Pm4^^fYNdZ=EikLsres6lFo8m305QEH4DrzWUL zYKoesW~f_K5K3j0vlkHP^Igi$z%!XXqyP!L5y3%pU0R=@Alu%Gc;W!E>P&kRgDHKkla0Uex6jV_-i^4e+)KE}IK?8;JC}^T^ z0R=4-E~21~f({D0C|p884+VV`E~8+8f*}f5P%uKl7zGm)uA*Ry!Zj4GqhN-@4HRyo zV2*+X3b#`<^r!2tzF6r50SM!^LIR}|b(a7V!d z1y2-cD0rc8AB6`fJVb#);SmbnC_F~t2?{)1$Q22&ICJI?7WTTLSLM{qp3#6SpxJs9l8U>^qiF*tyMFa`%PID~-+2BH{r21XbdV_<^8RSZlq zxQ4-X49qaNfx%4-%rUUQ;1&kAF|fqo4hB{jSYu#=!CegQVPK1a9R~IoIAGw2ffEMK z7`R~Iih&yj?ihGr;E4eZ11}8jWAFfjhZs;8Ji@>mgU1*=!N3QDrx-lL05Eut!3zw0 zF?fl=D-2#^@CJjo82Dk}k3j$i?=T3&;5`OG7zASwf7{p=_he13B2^b_|kc2@p2465p!Qd+fsTibTkd8qH2H!Bq#2^cUYz%TR z$i*NJgM17MF!+u^AqGD%_=&+U42m!)#^5&wB^Z=qP=-M{1{D}oVo-&_9}KE7sKMYb z2DKQ}VNj1j0|t#4G-1$;K??@07_?!~jzI?oofvds@DGD-40Fj&QajsXLEf&+>J zh69cRfdh#H3l6L}u;IXt!x|hoa9E4OIvm#Hz=^{K95&*x2?s75Hsi1bhpjkp-rjDrLYk~m1=AdQ0z4zf5L!Qm(layZE2a0~|p929X-!a*5_<2ana;Uo^Ha5#;_ z85~q_P{rXa4(D)C!$BPf4IIwnpozl;9JFw_h=Vo`IymU!a0v%J9Q1LxjDrCVhB#co z!3YOq987Syii0T**KoLwgBcDtaJY$sISv*$+`{2D4wg9F!NCd#YaDEFxQoL*9Bgs0 z!@(X02OJ!6aKgbE2NxV%ad5-I9S08_JaM4m;Dy6|93J5C5C;l}M>u%n@EC_DIQZc3 z6o+Rx01nS_c!7g24li+dg~Mwc-r(>S2R|JAaR|WS9S(swyvHF3hhQ8+a0taA42N(W zKHw06!$%xG;Sh;K6b{iie8wRLhgclqaEQkt0f$5!l5j}I;R_BaIDEw+6^Aq&(s9VZ z;TsN_IAr0FjYAF&xj5wEkdH$F4&QMo#Nh`HKXLelLlF+eIQ+(;1cy=_%5W&hp#q0W z9I9~mgF`hAH8}jmp%#Za9O`jsz@ZU`CLEe^Xu+Wshc+DAap=II6NfGw{^8J#Lk|wU zIP~GrkHY{CgE$P~FpR?p4x>1X;V_QF1P+rpOyMw%!we3yILzTNkHZ2Ei#ROdu#CeB z4y!oOabVz22tWzI2*3#-2p|byA%K+tHUiiQSVI5@0c#0ZN5FalI0@K5z(xW#5x_;j zW&*Ylu$2IA0=5yboq!z#@DQ+*0A2$42;e6`fPh^D>?S~v03ibQ5U`hkeFW?$-~a)_ z1RNyb5CI|th!P-1fH(n%36LN_k^m_JqzRBAK$d_b1RNzmjsSTAjuD_hfFc1(1Sk`5 zoPZMqoFw2B0jCK#Lx2hassx-R;2Z&J1gI0BLBM$eGzqvsfEEE43D71$hX7pyE)k$d zfIb122{0hQkbo-$7!hDhfC&Lt2{0w#8Ufb{FeBgw0XGRSC%}S$TLj!Dz>2Yzyksv5%lLAYhV!DFUVmm?2=6fH?x@ z30NRtk$@!vmI+uPV3hzm0Sw{^2`C8|2{;J^2_y+DB(RdeMglttYe?WAVJ!*kNLWt- zCkY!!*hs=A61Yg%Ou`ltwvxb2!Zs4NldyvX9ujtvz)J!j3H&4okg$t{-6RN-AVk6* z684g?kA(ds93VlMgo7j;B0+=%Q4+*R5GUa<2@)hok|0HbGzl^!$dYh`grg+LkswdP zF%lF=P$WT#1Z5JAlW>BBlO&uX;WPl5m9tBNB{BFd^Y838o}mBjGv;W+dDo;U)>@Bv_De zi-g-GSdwsu1S=A(Nw6W|E(!NYuqDBc1bY%3NN^;E|jV-lW_;6uVw5}uI&Bs?eK1qr?+yd>cj39m_bL&94U{7CR8 zA%KK;Bm|Q1o`fJ0f=LJ=A(VtL62eLNKtcowA4&K`LL>=MBt(<&nS>Y;Vo8W2A)bT; z5)w&BA|aWCFC?Up@RfvA64FRWCn1A`ZzN=rkVQf^2{|O>l8{G2J_!XRd?%rhgdZgQ zB;gkcMI;oH@SB7Z5=u!ZBcYsx3KA+ws3PGH3DqRjknop;S`z9=s3)O;ghmpYNN6UZ zg@jfT+DK?8p@W1@61qtEM?yCVJtXv!&__Z)2?Hbyk}yQ(43j2qo8nC~1||<|4zCs) z`lE)&^@@HEL+ief#`)qGhsnsbYbG}LmWMc;vKgKa`_T89H2UB3U`)6(MZWkD+XJm_ zXLy$6d!x^!$sQr9|A-#{w|mF?>MAjOAMgA3m6wgjCJO$aelON4Ej;esedTGxN1JD& z!YxrrHes2L_uhK=z8src_$C*YvhqhqBRj95*ZmcoR;3-P`O-KReOf~M*t6RUmW|2m zf5WuY|9|76FmvaxPW@fF{!VnSqb+XdU%&C&aDq+fj;V>+7V^fItBa=c&8G2&(PMQ6 z(arY)J1pv&hibJ{O{>@4=cqTVipIgt{%6(z8@a`00L*jL%i{>T&^h#;(ZJFc4 zYZ^*QrWCuv#`~N8ACE{9G`e1dq2+iVf>?>fFC5>$r8I97hIE$2e^@X-NE6NwcpG%P z96f;`?nkA!GJ@~)iU}WB=ePNWQrWGw=xEz1q|O}lKv z3)f!Vh9G&TcE~XTg-r~aBO@Z*s)mM!jB}S}2LHzC_32iPZP{XUj;8i?dx1D}_*+u` zjGCInEp2ge%eA#@w@EpxKK%ZWrM7k^CUMNTTDlx*V*ArxK_c|=l!pw{#VQ?!vGgh{ z=k~mo-&)s;Uhv9Vw>Eyce&%_r)xyi~tCp@eB$Q7Qs;733wwWQFjL%=lcFLG3=MRN$F_PFQ5Gc-qAiRc+tD28< z8L`IF4l00J6!=3u z#(b;f867A3!{)o~s_0$YqgSWT?sM<|{Ugt%p#0XGBHjKQ!Ze|r!>SnK^g}D}8?hl>+%ORH6Q^UwPG!qtJY&-c#NnyP8YvqyI9-o^B#bf-|a)n&a#PxiqsaxiucI_m$iEUG_ zp7H84%cKwmx4EM7dC$(+ImIl%?zn45Ftflk(^c$JR(__FT&=b`*%dU1$jy(WFNCd|aHZJlg~ zZA-BHcvgS=@;I&YKI>RMqup&R%dXNYqt*R~L&M5S4UJK9IXc9?Rdzo9T(R6Q+bP@E zC1x8^=fg0>{YBEEn+hZG-x;p0_kRv8<8UVe5t21iP`E{ybKG*M;h0 zKDUv{^5T!2N;91v^Q}kw>rFcDw&?~Kxzmp_7_7zo;#r2mTQ#FLRqOA*!G<7mPb`jw zszzq(=sJvFd|O#ka&R!aO3U2DwqjP6F*lbz<}uNw!cY5GqNF%$KMs|dUP%Jhq?@L`YKIzdN@^N_7)8%W{ni` zhq;uZ(k|7iLR-sLUf3I#3Nb4K5je!}b1H)NMIiWx@8ig0p$#4@hn2EdL)8~)Q-l4+ z@8)aDl5&=YER%BQhT@WPR%&v%L*152)QNBXl`WpDWtO7Z6Z_2FzwX__UcAwE>e(}n zzupKEjz3}fG9i;Mj{WR@o)i(2!XCXc*Hs+q-nW=3mOIrvY?C8Rqdy=y`l@Kd&l^l= zZoQG2RZ7!6*Eu_A4Z$5(7|+VYRwk9!tKRg~6wKKWb??cwj4f50+B8YyRoJUrV>$4I-s>`%f7dCQ=Mj2!-&2;7Q^$7V zPl~Qp%qmS^ZXe(XU0=p9ftKder`LRSCn`s>vr{K%0EH6c2Lg8`p%mojc5N=pORpUquCr| z`L-IfaW;b%c`0<*DNj_o&fREvmD}4>=E~1@tS-*Iv)hmwkgIX7(8B z`jp!|?YXp$U%xHw$P=rE0N)~c&4sZ&vaNG*953G2M%xLypC3-T85$B4aK1n4bqixZ z@`pttWL$sumQS{J7h?qYEYBiGwQXo_R`ix}QG*<_k{V8>EA^c}I0Hm4r#M$<+f>n3 z>s+eLHx(#kF!}=Yg7vvryv|RG{_vhnICTC@M#8^W7AYMY^;YP=WQ}P&nXOh{Bbe;Qy+(Rg!75l7H!0^G(WsQrC!Yj#HfOeKam&JoTMcbE8br zAn)3*Qon61+lM#8yy8# zzWgicSDNTkiMu4~w)`P1EVUzf>Vetc6Zchxc4!LO{XP9CM4p?wPYpqmxuiswHHEZG z1OnNS1aHJPx+8yJb&pzr$L6gJnr__5xWWw+)hUr`?IttU?~qWpp=#E#tkKxAJKuo(56c>pEG-igJ#gT_ zx&EJyOAHhlxgDV)kG$zJC=du#Pcp+V7tVyn`#+$l0$?aF09@F@xguGm; z6c>McI9>5PRplMaD>Bmb)$OvUdr+=twR3gtGsZWw)jknJ8Jp&0+wbFIN9}b^%dNbM z+VZ$dKv~#GU+2n|cRbseke94+;Bq+^XWJ@mTF_0#v0r=7uhV-LeXP8ZYccP+#tf2O)r^ch+Wa*e zJjCaV-t3(dRkwedy6M@YhsdMTj|M;OLJ*7VO>GR*Dy1#HDm*e+D&Zw+E_ON3wr)s$ z(Inf^=wX_rKlYHCu zlxFqSq@<*loO{1`oPv*jq@9&$mP4p%q$Jqh^xK+n5BfpmYQx4$?E-9@d`8Y9)y{F- zy;M_&hI$Wv?WMJ4&1y(&7Xaj-p4p}XH;xY1(O=BOT*&CxIA@M43;mt;?ImIwFQEdV ze2Whmp384E9A;^iLS7;?9=$w=h9*f?`}0=3hy=U9tMUpl)&9NZD54y6dmF>Xc#->g zx@hU-7hm%s#=gL%e9u+ybv!cGt?w3PxzKvgsk3|0Lnd?Im&bEg`wog7TWwtZYVL5$ zxQ2UO#-=-IYy$f`<~#U|avcB42qG;kUgGGdsWns6hnO3dUUy-ZCMdsIgI_@@o(U;C z8g~O?is^q@`LX92cO`8!vY$TjCyDXJ(k?)$+4=p2xM&^s)d#E{mviq8OCzVhJ95IW zH!h2dmrzWZr{&(D&4#!v=iVXTpdp%-)o65}Zxk^xIi%Zk*2}5gz4uWx-(v6mNRiXo z_l|t1(>}L1#B=x=O|8MRIhCWcD~wkzcDGWVN6(Wzc9LkpW&}x1$lrmmv1>5tIg_|e&)&#&ca<@++iMf=JFm@SR(JwY&KBXqtIg*pg2+VILxdH)n6R@ zD;v7x_kQHw@fHP%-xZpM1RG*CEcTpk{)@HhGFK(TMwh`u<0{BX>k=wZQR|@1kIEW* z(m4Z0{nke#5k9A+YTRF6i0gl=d2BNFv9Zxgb*x`mKqYOc-i~2v;Uf3tWBIG{vMM!p zCU%N?z{}!QB+K>CGrjMPL)QXLpCK!4p^EUNyg?2I(7u^f%iH8i%$GbX>OED+!>GwD zxvGK+e11PiTP+)3=`OR$Ssa??qz}bEJmXN+QT_2_Ao8-3{R%tN;@ib&xR&@tPOoKy zl@TL|OZfU*e2?Z@ZDk0lw&7=Ic`*lnLe|iO?yutW%Di{3@(wIgL{)>1pD%Qasch7bHV1P$TqAt=H zTrG#hTe2fn!G?8LG6YKsb51!reeZBxkeOAYZS^e{tY@IgEgUs_Zu}}4J?9X$leI27 zFDGgjB2~{2ac~e}4?ln$;=l_IR+$*LZ9=B9{CaL~Ql7D?pGwGPR9mRevU-K=R^@g& zZ<8^q7+*A~)t{g2tkKP;EQ8cO>R&MDQjXi`<&8`fCOu9MCay??o8OXqQcRz_Mo$=` z(aJlOkP)HdS)YZRT3$FwZ5`ZP#_v$*H($vx8%8deWb6T?h4kuA;;&gz+tjAQIi~gQ zjk>3Iw|n{yY$2E-g>;Is+dfO@L7xb{u0CH~*#0r!vu4)DvnGe->a@Q%k$j`9Z?qmc zW^3W8J+JV3NYXLmeQC-Aor%jk{#;?ul=_v{A`4{?bdKM;cm7V?9=BH(FV%bAzWr3D z;y!IYT{yiQv=y~x7n_cYYe|Vocl_afsRc2~OE&-EYwoEgmC;}=$U3tUj|wcGjAbrF z=lDy}gX0(91)WQ8_vEh_tVvKiA03|D0E~AT>9^L0oAP%0-`#q3I+};4600<3p-n7F zvPQk9$-EwsanGPDl+}DUXEMKn^Zx8eq+hPv{FtupCQE6S4Q1mOgP;DoR${#zJYW8p z$6$}wpT4Z6EDfG|>7C?C^dk=AnMxn~RGk2Yc3Jtv>sBGl1+Ba*dWSlFU!?_T$DApnKMHhLpWuCu2 zBSnZ;sCm!^L+IYldl8)(J~_wIF@@KGuKdq3bf&x|(eA~EFLFI@Sy^>^AYDp9vgQ|+ zN3)8Cy*k{6V>(vNuEljdbUs`0r+rHx(s|JYS%@elyr$Y87L6z*N^EglplQcgIdz|Y zVBC?n-0e+F3@$ZmN+#_P#aEnXV_%-?-F6c4`F_(&rU9Tk&&K!0$C`3 z&>E2viwf?0G5&`C*{N$j!J|xRjL>Cm%W^id8qFd(D>ARQKV8Qodxy;iGx&PDnq%H% z{^Q5_MA7oI(qg+HGHZsHCJ`PRzh4hQyu{)K0!8CSl&<;u2ntWX@zIYK5M$Hqu?)d> z`&gT-4qoSXUl}>gsu}1y(3_NCz+cbs)f4mlmtwPi)IThDC1cP#%))s7zTlaeq(f@^ zNCa6ZT*Hm(%<;)s*R+3h^XntOm*>B*^Wao;@V}@> zNQKJGsRv_!eM9T_gbofxvxIu~f7NWg*FEm3i!uUhK8e&GSY_8|~o5YKz^f4hiMA;)ko9r(YN7o8~9_j0EP!&>!wGNqyMN(M3#`>li~>4vakRW-bNhHvbz!Xp?k09j!Qc@e9_9Jk)}pBU!e#7 z3g{~{iRQbvG*fbR|NW&IusK~(Zhv3^8)MW!Tlejgqpkc%UgtmB@vLt-4Fy_mqYCkA zyZ`$5?v-~^yP3bqrDX8m(_TW5H+o5s#+ zL9vlKl}(vl>2!;iv^QXFQfzpeHl6wXl|{~{i1;HRqKTjPGua=)dxCj3Jehp6&o^H6 z(IfdCMD>U&?N0HHoXm;G4vH&JSjferF28PUQONEuju=ux>=9=254OAg`RwyIYP^0A zpa0CrQKVWwS~WV~_;*kg7BMMMeL$-*AtmLQm?(lMt8A#Etw(2g(wBR-FRvA5zgB%$ zlP2V^dPjZ68MOkQAzH?p*TyX3u&q>5niWJ|d~wy8DGrXHM15tzMf>Eit6 z!iJxRP{Qj4Z8zViXQi%l{CP|pIu@4CdT{)!))(Fv_{8yP`z#`4~;5cDXPtLsU9iGTW7bN5P;tCSfgwobRz%ZG|Eh-Wbdz9tqdN)B_LCJ=8x| zJ+#%!BIm|tf%l?uht$k((+-JMJ9FKg-g$qD6X8{V86-N?{PpI*fX|!a*-?XwS2m>b zE!wO{jwcNk2YZ&93Qh~YI%S764qZ`3!n@h_q35!7nH-ABEgF?^S530FXYJTh>pmR2 z&)BUyriqp2mvN4~Nk_v!mWtw^fA96mjaCnmNpxr3hny;-k2NFE7z?GR=*6ZWGHu{=Aajwi&t}NaYtS3{;$jtLBd#}PNa@$>dm6hhTUL**~njMjK{`rkvJL<)_iB^4r zq497e;^P^e|1B>uFE7t}^y@x*D`!pS{Od*4kv&FkGlNQZX87Jjoo~0BXV)&?Tx^iX zCn7)4?iVD9UM(AX{9>SWB9sX#c#Ym6PfLa4EWKfyyy;Zxb`wUC-WmfN*0n5Q(oPjo zBDA3TT)Q?!7Y&;=|4CrKeoP~!!me|pO7^wi*x%$&`Ndvh#cl|xgf1^+mnk~W`d^Rz zC}NYLX^47NsqIC3w)(x*y)@5rYt%8nbtKgS#H#b)?x z_tfijxb1XO_C0TkJt0d*G|-k-uC<80#bgoNh4$Q7z4;;yPt-lwZ7Bi|%n$0+sGMmra%z~tbs1s~u zZs|W&9`E#6(wJu?$IdoLqTxo(B$66)sTfg-@S&UYwMIJln)LG{j%dl*?B1UdEUV~M z?u{jLb9Qkxlgvv;1j&A)D)f5oZ;f=PgNRqi!A;fEVaJaokOyg<&vu8N*@ zlBa(@W6@}$F#_FY&Oc+a={VI{M*X5}hh3G8n4;(S8YcX9TzB+()i?9+Po*st4HkYs zG6_JCs{t=RE6zN9+-{hknK<^hZdx?xQce3PiZmMw)!EGeSEA?5I{&355&rzUec~q( zWTKb*dGypd*D;#I(!(ZVqS}h4_orP1Lz)ewHdU~#c^o?PGizySX`NWGetWydf6qT1 zKSb-v7i+y}l0P_V=bGX4hRK4r-r969$f3h~X{ln|Xg~A32{5ulp7cG>b3N^`8s$XO zscyGocGg!zRA&~u{w*yvbNh;_N$w5rsa_hDIDR>%^GTb9qwLRm_FjLh-H-I6}P!C zPXDc=A&pz4M$v(sVkb={=L^PevaCqsfx;>N=l%BEk9^7!uW5gdB95<<>HF;Lrd}VW z%`$gw*DH%de9!1fWwZ-s#RyYOcyN#P#T%wu^)|lM^VVwlH@!Z{)#hzg4S_Vc2Z{QdULKr7I>)|L3|U zQccEc(O#`_xvG}YtSOsB3pa7gU}s7KHyB@H6FtkKXJ;K|XJ-v%teaEEzK4#s?M1?$ zlPZT|;#yKor~Nh3c7&(OEnBkLk%G$VtQLlan>2D z$M^5&KJc2Cp0^I82PqD}GCQgPnpwpDj}S&2~9bjSFz zVn7Eo&JZMQt4lJO@V_OQv(d_f1wu4fB^B6_PPR3MTMsGC=0+bfY1~vfql0(}3R)Q0 z_MHweS#63F%eSa_y|)ZO#JP!IT#D`$8XdXA#ZDgcQI?ACC$yNM(ImD%F=wHShp+Y9 z;GzZ(f9pi=Gre=n&=}tJ>d82x@=*4`LB>*JeVdz_%}D!Fqi>#V7cE8I{UM6vN1TfK znvrpkOPhsFzG|^dp07h|$9_(~Wi@#|#&`1uM>!^omK3SBAF)Zw?l~Fl`17kon1SnL z1*esmpNeo@scL5GXtb|oM7(NQ(pI6I~7M5DK!esoI{ zIlg?fp(8s|N++RieeLbK4>kU7`FGE|NmOb-Mhd!SuDC82CA84OTsmK5^SQe&4|_bs zm($xB6}~$ILdNd3-y}Pe+8g*-jtk&O!Nv^N)$4AorK>h0jd^x99i6Ia634#v`?QD} z%8Wjn)~-U1Wp-6*9yl|oBOIK%_T@_!=614G<=s%D<&JR9%=-E>&N%S3=l7Z@Hp{gM zYGjhhs~>`t@^WbU7FM@PA`8Q{=D2(W)(%@@e-)$<@n5$(np0`16MEjIC$G;kloKuu zx()G^MZ1L`@IYkR7c=L@Zi}WnIXZ2XoF!heMcfe$tN65U3PCpbhW9pddUSV%tp50M z^5MhYuG>~uBJIb=&o4VI>;;+^tcEwxNl(PTqZqui+?mB0}1u`_g%i;#P*!Z-ViI{ z^o$JY{s;l1kz=>J{ypO8b8<+RX5NKu2>a(^!YI+MQevz`nWx`r$&8b7RJJ*U<}9vu zM>FSXmEEGkRbbD#9s&0A z3xytHeoJ%XO-nOTR!L(bvwqCBMuk;_8-Jst@-n8lRes*yw8yN*9g|aIvUBtE0gvPAeD-+J z`FC>vcxPJnpf@_yvpF_$G|=qjHrcIs#D2f?4cCaif8y??7+_4g&E1FV#(aEM5%W99H~m;D=%YcCa- zE$0<7ENM10MuGCJ`8c=bvflgmGhU!C_IeG)g~6cUu~((sL)?t^GlG~|kb%7Xnh)2# z5b@E%uk=Zp3IFO4?Rr(BUb;<3TK=(PSH^~uWQVL~ux;y*B=@~hz7qmQzawAU=rL5d zlqI%D+EpZsx}XRWWm47e`Nihj#qI8+zbaZB{b?-TacM($U9Pc)CoUE8|I~iKRdR1B=(eScnFa~#M?GBhIxa+N&8sk+lj#j-JhOI(zT(mnA!ls#C(Uw&cM;(Kh|G|y|@cSn`mcKI>o_0A8)V$WkZFKpoJThr-` zsP?XT^g#ZUjF!Iq|iR`Pp|_kf?P|Ps?76w zZIV!{iJxDC`N{Gx>F>P0_x1Q)B>WzWfO>zB?JGfM=)G~#Q!q-bKU2Dj;}3D#!`?}2 zjpU-n7P(;kS?Tb0hC7xsA zKAu);sgxt|g4fGT&Z$wffD07}xyV2T&XkbcS0;=5X`Q}`)4zh~U18SQ%hgsk>wQHq zoq2_1QGYHZ#$8QYE^wh&8=-M25hdblxtPrJr|@>62Y2SP&tJ)1O6^$un?zs8%>Cha z+sdq?Dsjl?da6KOZTsu9FWyfzg#{nk-gsp9w&FiXfzHRU){nEY89k{=%X5Nax#{M^ zG*8bPhs018)4Vik{?joftmv>TLo&u9{^(T&)}MzZkh}Umwg2X6OWr)Rq^xk+&;T#4 z<5@A%VHG#`kzNAoy-$DjUD+(fhdVMjk((#BQIk51r4uK22Oiiw_2?v~EZiZJA07A3 z+8#a6ggD}5wZk6o%A~m^N;*4Z^6l?^KU}so?b92rT-=L!+z6ZOTlgn;~D2m%*(p`^y~@^rzcTCy2DEX&R>qNdJ{2n0Y3M zsE^^>sEXX^9GlbTWjXEL{_{U;JT@TjOuG|2*Vi)yhOXS}J3vzq8C4M(yY+l{X%}+0 zhcJD6UZbg2sd1Ke4DIO)a~`U$5V0DqxU7lb1vWXS-l^~XctzWOph~+PJ=f>vFCyBP z68M(MX}>DR-fK{5IyQTiv1?Xo<5szrnsx^2bvfeY_P7Zxr+Y&t8to|C*UW)Y`cY(p zXMfw__7O1)CFUK&)_G2A^vD7$@>M0zBcjDbZM^IKvQW+n2l7=d@%nDWerL#~e)OvK zZ<*(;UOk18OUrn{&W(K^nX5PXA|=Me<~uh=?odOT+UwM&5*L__uT;;NzP+umq_EGy za*`FXE3&|TJBlhSe)=V{o$0u~r`5=X0fUs(jJVEN2_>YQ_qaqueO+7o&dW@fX9{lo zl=3Jlo+)jJM-#{2K6Pi{1+A~y9+(Y$P(t2W+Asf);26^So(T9^T31Fs2n=OK?*1g2 zenr#nww>-z8meT{FL4#2Y})XUA!GIa@_5!@N}b3i1Sw}P`KY)Q5;nenb~ZO}l+M$@ zL`UM>LULj&?HnG0by_DQ_vLw>v5wkDAV0+%iaPSe^?9^iru+3~4Vd`qve-LDiON!J znh%jYOk3{1dDHbAqTCw6l{Z`S`_yWZ?y{%j$6^2H^YKcwds2V7Fyw{TsapG5pZxh4vBdmIF-2S3Y^EY$cXBsR;H}V%o_F0Z zjB5SQm(Q3n!RnrkRE&=B+PAd-0qxC%HQhH?-nSwvuN$eHcJr+ANZnkjRjPZG5J5Sm zjP0I0_%{)%#qGQOBg>wwqvqwUA0h;AN>0DC)@B*n6!Lew??7!#OL^@&Np-Uwn#T|y z0Rg>RVg3r52Mnx?`cmcwL-UMZD!;dRUquU>pI`9E58E}6O5T-Mj%?N%WA2v3OXiCV z{LPa;Y?;E>Ox~7WW<(8m@RS-cm&^S7BiQ`k*FVedY;4HtE9NP;`tpBv+pS>|ge#vu zw@M>O?t!(tc}tDhkw0pMD+N9K*p&&y%X3$}l7*|se-S|!iVt%ej8u89q2hGLOMtD^ zXe08c`}X?f@2kE>w5d-+&Z&(n4=tn)Ih{t7HPvK{?^cz?nJ@+AUEQ}O2JPhxL(ckT zGilXh-KwRMuLosi6X?_HxM@3`2Izk|kIlqAuj@@@M+QtC%v;mkSLf=}qjbyo^jDs> z*qEeF)N1{&@p9J~x8g#5pMUyme_tho?6K#p{hCh$vW1awm0$BKb05d=h;D9Sytv4+ z|BlOiwb~A*s{HxRq=J~I*=aW>X<|!u`E`@!|^znW``hb-mHsypE?nVWpqn zM(+9)Hy=84VFRK=0|BMknPJcQfE!|BjN-5{qlM=RZ`wGg^#u@}w*pG{DjzkpXE{$M zaP(EQCoI$X-IolK*$`yQF4gs+Gk(|4)0bM4AZc(;q*L{sYVk*A=Ii*2hw>e{W8sjq z9N;Br>Sl_50zAP=y1_dt4o^HGV7U_KsGZ{(7-kv)-3Cc&*YP!*m-{Z3wqn6MeJFtkeUH1{oPGOGwddWpIu{o#r z2X|hETV7-0brY#W>gLlARi5*`-YG7Sv7GAN{Qme4B|DxAG2NVe4dVN^jJ4uy5tBL* z%gfBzO$qXBDfLfJueT~oI(Da~Hqg!-24!$F6-}DLNc_P>!@Jexrq$lL!`h}&{xKB} zJ1&eYlyq^OX&706r;;EmOZ_#WERrEmeGV6-}!nJ(&Tmi-k{} zIxc7Ryq#RuD1H0hT}rRT#hZVfox^o+y*(|s@`mS;wwd3Om`nGS>-0&mvXVb%iHs*W zGal0F%C?TxIj{@tROnaH%t^EU5#=kJLm!rWv2D9$SWmR~4Y}v+o0{%R>js`Ww1fCX z4=dL-A7RF?iFDtX#wZ$|kd}GNP3VvtHX?KpdJ}yvLeS2L<&lGmiR-L12hDXlBAZ{|zK?o;>cR*k z<`q{>*s3n?JVU4^GuFLyg&$c;RPENKnRHy-pPDX}vH7I3X~mCdU8lBeO^r~y=0Ni> zSw_l1+A-Q~#W(QiOYI-_A4;+%t{XsY?0(?n!C0nNr!km#KCapJoZ6&lJ^^ z)AAjbqcnaA{7LVf3~ckvw$n^iX(T0-leix$Q%br%jI%(kiJibh)4$roX?*+Pwi>nvg{1@snrN8yWE(@y&CEhkO?h^7*b$PokpvYT1Tf2T>fQ1@!Hd;%Rmi!c0D@f;TFxkXgf2A`LAV%xQ@JSw%;vlo6r8mmK#TAUZ}cOot%#? z+bb!}rE(Nw9-60wR5=r$vL4^C_p2k*o_w~#fyzLdQ0o7+t!1$H^Y0rCp^^#0 zYj^iCqk~4IeeE;4>wMCoa3iw@YZhuP@BHSbp+6>pco|16hiznvYAOE{)gEHz6Jm2? z$HYsg)RAwJZ)K} z3x?>%s|^-gTI)2KFQBgqG37SK%doD%MDhg9D@i!+q_vjT_q<#=^U!#4UuDPfb07=(wOyQ&CI%bN*4Ea3dObN?rR3hrd<$w} z;-J%7e)~W76?W91NGH#};gK)n_1=uC9YWgDG4Gv)b$NZ>`nk(Z^V72PI}$yWkxtrW z+GhdF4wDy#{CT6-fRUH3PZ)W$Kx1b%g9P133c?30YTI!t+rVOldWK57Z;KA?Th)&fy zYq@SIv$1k}x0y9|%WaaYH`!@)(_Cpi2`>cMSygq~Pxnj)_{Pk>WTye!T?V(2GrJ*M z*!_BZrsqW>-83yCsLpS**l+3OZ|qx#HAXnYf1*8i9IVSx;w{L9(E&$e1Iko$0dYAw zIq?e4i98wvZ@o%<7_=GUZuJL7#<7H06u95kZ2kTHW zed!E(_wJu#fYKN#C7lAbgwbo|2_V8oG7sqjNH8+`;c;$RTP0LdqS2!DPevf{&Baqz z;KIeSwjOe1FwuM?y=G{V$SSumaE||s;^w<3O)i<&18wJ8uS|LMlo5vL0Nwz`BId(& zulX;jO!$p4!9DkwV{e~ZJLTrnYt(IjM45W-K)(9^Tqo#Bu;M_;xsCi*7-w&TVsNI6 z<9Hd$YV{^W6Y35Sfu>^@*EpKoZ41fj&N^ZQN^!lC)}V10!!Eg;4?jYLOR*H>WR8} z`xH{^e*3s*r3Eu@alzWx7=?Y}I0i25GaIF;9#0&Iik#YOMIa>H9@BUn_lgG~6YG2O z!YQot6Fti#Oeb(YeQN^rcpa0M(W!n?>3$5K7`TscpNfM!?n1zS%6`c$HW(+kh7pDD z9X0xT-RhQvq5~_}zxZvVF6ujn(@In9ldx_|;TdZYCzbTWogRXBc4~dLYUDlo(x6b^ z;tHri9H)n%<>iXi+trP%qZrG#5Z0mZu}ZlbE_>oCbvR8BT%xYL`yA0sftnD=^hTYN zmOtDH@-jodo^5K^$y6sTedp)#nHIC8xyv zJa32nDVYebfk@gzL&j=Wc`vfD(2qX>bC9p6;rn{5-@^)sRHTmZu}%bZinSzoKVS0q z0Dv!|55Q`~u4kIvvFTzX4;&j;Qq^)`P>bAZ1E}J8pG46lZj{{M(ie-{BkuKQXap>d z+MxUvV{MXB!g)SWNk9mz7n($`L2a)smeSV?6|&a}41v|rFtN@x6pYtWH_7(5 zs=H0sPx+bE-q1}aXtPZVRSLIY%~z9nM{|?}b_O*QYP~G=5Rht`Mg~X9Esd#y)-g@z zcf5r;M{6tw`YL^i8H_ro*TRQ7M{!z|COr@rqBQe`N&kkY0Faga zL=SX3JZZ{hM927GRCzM;-kQN2;zhx&uTRszwLiMXIjUWS9PC(tS~5gv>+2U;uP|ZA z6rAXlvEnueN0}Cq(70)I5eFh!&D8~?1;7ms%DD8KW6TW2WBUq}jIiQiJ${|jF*@y! zgtaT}=7=6^(%*j=IAseMm+#ju!Hza!L*I1kKVt4q+{+U%S>~YQ#ZkM^Y?xHa4cC)xzEkJ!Wo`_+pTj%Rq!oi>oV3B*ea z`_V#3NPJ=)8vW10oG69)ub4*JK*#$1_Hx8F`po$74&$-pATz$!y3(S%JA@-dxhb!< z*64RYmvFRRumpGFmn4+^^1o+Z@o)Yf`Se;lnguX+4}2x8 zZFu=J|4Y5-1ulL6+jE6nbD6)=Yu$roeh0jd>w!4 zOoxldB!iOjXqAuB(!=Q&kqo zr7z-tNFagkEx#eJ^Re?=CEnELDL&e5%jU(AGp2!YWpqus4PRGZT;mkQRrrq9NGEZ6 zHQx%rA7coVfHpR38=EB$MZyn`7=!gov~s6o9}JXV?&w~tN`Hgzi?psiS{C8pDUJl8 zn8}y2W0z$@(8e6)o3iUMI*PXXeOi+J%Kk!! z?>=2#j3egl!}mOrM-{NoV1UQH$|#0kaB6E*Ht}SjCdVINs}2QhwTn0Ib7eJglr9i+ z{pXfuh??o~AxBa-}a>M@B@S$=Ae z3HkE**yUy>%65-fmtoCI0)Meh&236>>CB_Mm2>xj>_^v<9!u#TQ|ZwE6JRx4D^1(~ z#CKp9vnHVgJbw6geKNAvj`&f1Fzl7QQKjo>L$kdQv~I7JQkE5Y(D|Q-Q6TL5Q{5O0 z!FI7}N18fcjhn(gd<$(e|87>$sPfxfB&NQ7J?AHHQs&h7BgaM0znVUnt*~vei~Xy2 z<1wY?Dotw*POq*=74AYrYtS=wNUo=?N@1Q$OwnOzduqGwLdI_2X%8;C_^GGO4OaFB zXxtU`^lv*kUG|DeGCN>*Zp){8Z??{a%qjwDspg$XgDznlvQF{xWRYuoN6`y6d$OjA zG{&sJ#mYzGGG?mCVl*L!rxL&0+j?fXH=p+*nJMti_uAGrEM|P{AQL%`xK{I;`mJxZ zis6?9mw8Ino0;{>PHENDuSJ?mwZ!=fM5N5Z2l}d#j$SBs+Xw1U=?r>4`a5+Z1~Xxz zx5AtzkAL|XI@}%L-aYp5ar1j+XZ4yrX~iotX<+0*29%F5Wi)~X^z3H%Vte5Bmv#)$ zW(6rPjnA3i)vw!6999%XkCa$b!w<=B`(eSP!_@)7;eBXixqmk^HAgETxBNQLi&q;~ zId9C*Fgt?>_spPbqm13sJwz3$wRL}E5FMc9^nL^K5ag}q+2;cYQk3VNb&9^p!ljKz z*o+L{jos7ZKN!FD?phU_QCutuRhnj`wdh8_QoFA)b~`X2E;lHj=?qVaSEpDdA7<@W zKL%BpeT&Xkn5d?QG1Awbl%R*yYzTQo%+pjG0+G8zb6B~#z@f`2ihu-ykrYY9Z#maF z*oKPLq;79_wkpD{7T?c%8Uw5E$um}JYB_PQ0iB)Qg{>M06tWwMOYkQtt9o=1IBAT) zH1<~N(jjfP!>>4F(rtpHi*BA_>ydNYJ`Y zW+~V!Ls8~nH_DI0p27ljz3AQEDIWeFEgUeDGbI-}noOaU2z-0oBE%sU;mk$N)NU8a zg&S(=4~}pNT%Ii1-{43J@LX*o(Od{^bct7}|C%URViz9@Nga$|j8M!l&-5yhCv~}) ze$o5^R#+Ib2I}6`FMGKX*EI;@PbzKXb_^D0!tWiF;c(uAjQp(2378{jA`64AdUatw z+&DjD6`45n+D7`FEY;Vw200Cjl~$}mZ#WB^R3)eRt4Wx7$v(f!GkO~ws}K^sN1G^C zx#FY5|4$ah=9yn3MOpZ@+n2{Ou{ci~uXnPh)hWq+*w<4+HwN3^g9O^6lANNu+NSIg z%~4^Gu3fxkEN|J6&VR+Tt)5ES)JoukaGLHvMg#st3FVy6)~%Th9zXtSWB#*wsQpFN z^Qb}pAIv?z>xm0iGpjFzFGi@O^m^Aw?eov>yeN@1Df1tiGl(3)SjJ1CnTrM>Nc-N8 z!MTPfo!8oR)dls5V<7vaqO=?90J8_FE1|Cn3AXoTI&;d|Elwy44abD0o-PI3bp_Am zGCNNdkZZHc6QzFz=nL3xvjSaa)-lB}(~290*j(q0xyC)OiWeL-dP9nnzoXp~D~XGQ zqwcMMtxV}pl<`iMr+mhmz~dV!#!vM{yw|b|6?w)Q`yjmlL(Hq^TDl_BR$r56t;D;> z^^adVC2^uu?jYmVmavgdkzG665;y#)B1#28iu8#uOJXsJdaCDa1YZgXb*?=c2?!VW zngNdigEY|9OI_WSTn5Y1U?Ukry`NV^Ov`}efEB{oY@-2;NCXo zCzMFk;7?40W4PS0+g__9s7Uzhts%p13Vq=ImtJS`>X-}FP_I2jnnxb3JXigDeInu0 z^V>fSM<^fqyRo|&u7{D>1HVw1|1=$G!+l;1Wz0Rfsr&2EtHFIaQQ0!Yu>L=T7Cw=z zBe-_vK!~&)-I^~`QwSn>zemTQ;u8~%2V9}@V^9OWM!sX&eFfQM5y}lO=%GHuBo@M_ z-UvLWgaP3+*U_(&ANTGyfxu&q=A}9=G(ory`5QuEP^%|7rMDR$Ts9n)sq`U;jBgei zpdN;vfw{F^4gM^7Ej#^=%WU$6!LgAy0xl`DjVDtN{+!IFK_l!v*i{aTdojun z_QPtZHO{3DpJv}G-M++Z^~!o_o}+Z5=qI$jdJc-eQW7nXqux;V2aUOo4Go_8 zQRCA%gMJ5fi61R$`t5_W8FBR?mdpK3c>?;R(&WW@^V=`t>F3K=|Dp|gcxss{PNQhWA>|u-9MCE3^KypiI}l(%-_rtI(>KX2P3l~8BWWWE zM)c>!Xwnt!G8>m{jyborxq~jg^;oWNRKXq0&Z_r%UyJ=@5H0%C zZQ(vaj!+CJ6_;&!Xv(|bV}q+WY?!>h0qgpR^Orj8DqE?crxh0lW#QN|l1_K8+{?DrqY3-^V2?*HXGvpQI4i51TW z_tOpc7JGawceyQ(mq1Z6017aCkFM;W^fgR8SevZ0@?2(_qdC1*63G44l~l`gY8|T? zqwk}v5Xs}-g`(b_>E=SdAtTYyDzdG6oeFBir{pD?b#%3#3;=hI!1Ah7ynNLK>M=>A z^}$L!*5$CuS{6thOrVm=``^$u1D&_= zHvWSQzw$x;=NcNH`9LVP@XnJ(g0dYw;Kg|A{S^W|oeeTk`dA@}|9c`SZ?;)kG~I5YxF?`@kcFR9y-|D3H`dC{fp6IYDD`I*7h3 zURH=1J*oWTd)D`ZB3;>yTXs<;Vo!7X-NvM&LEZ0eeJNdG*RDPaKYR6*_|H2eK`e>q zjdok%z?N~(($72YApFo~vz5H(i`ZHtnn(j62fMvPrJtBYx<-@60X+jieR*xoIi3)i z)mz}y@!5+WstYlije5`#@_q97*`chZnZ!6q4p6l^cQpNzjA2gP7O zY)xB1!O!Vy^&*PVis?E}n^2@6Adn)KX7b9r(k=OOS%yqY-kXr?+_J;S$34$dR<+?{=wTPL@#Ao_zXU6OW&_Ze_s-H$DD8 zK9u)7x2*sBZc*>ft*;)R?R}<%Zbh28J~~Zc1whv1==gFu{Oq2ne5$HA1q6;rCn7a- zv`gLG$UIos?f-&ZRIVZ$QJd^%7RW*|^;YFCj2W#s<< z7ftmYbrediAMu5Rgea@1s4&9magL;LxbW?IQ-TxZ8vRy|7U5OP{XSY*Iv#> z2@dDzU|svI)#G`dV>O;e@7_5FrMJN&wUa0P$p$Z8JR>|U>sE79N-@OkBVS2btxW62gLlQuz-;-hE_eV`CF+YF1GNLqn9C zt`Exp>awUMCW51q(m3RB?ct=~Fn9SWZf~cpR5>Yh?4?S@oU_2RbWrgA_I8^{Lu2EE z!@A=qbkBeNdS~b4ljvN1jA6A#tuKCU7^9QxJNPtgXCW$QNUor>kRo>3x0MnJCpG*u zXswl6OkYBIn;-pEBk~N^S(Ijh0WaP{DA04yXl+?Pe^wm*s`&XctIhm$0awq&C^z}- zeWb2~|I75(lB+y_OPb#@m2Zty>MT8!EpZ;t@oB6oU6pk3X}c4^bgFjkD~DOY8inS6 z*Kw>QTj!?w6z@^l)0e4j%OIAvl2?iIFSp$}WWkbNZ~kfDsv{043?~FUi;r`i5d?q{)PshG z)R#iKdAev{^q2?z>HwG%t1T&0=>JUjNTYS;+_|@Re1E}DJb9||^l8>vE)Mp4GQz?V z65C?e1Z71F-JWi!K)08)6cTL5ew$w;Cv1v~%($BANzmg?} z`m;*Z(o)|O^wiMs9D2V$uz>4IygM^0$CTvlQp@nKYy4M}wOmi?*-P5`npYo~o{>v2 zE_YJB;`w6fjH9un<8!$iGFPQ`ITDZRy%oQ-U%hHPblibrluEG(^_0yrjfch{nTIR* zO&1Yg?&SV_X%kxC;@fdEtZ?{hsWgtZ9Mxm}Cjlfh|G8Xj{fFp3Hs4MonD2gv-X-|< z77eakjvcM^VGL1z8`%&NbztOo(-(J6`c~yuEe|F$T#=8+@U|sXYz>i$@s- zw>;v@)_mu~GEo8T=?1534_dgK>!>YY^27HgGPdg3S*$I+ep)@M|_Fg`UsrkR2B8W4`K?*wn_5agc70wt6{A?S6o{Q)-c@i+vK{| z!{xszPlBuPoCEfKn_u`g4NY~mO}-UhkI!spDVD~T;9!+dwpSWq8ez0e8`#Y^Lh(ldA1a|RqI@ki8{DT&z?gDHQoW2txvteqa;I#!pY z2zDo2Mrk0uz=jF~6}T&HQrgt7OD{O|R3*NQv{|$EJNNzR>e&I`QX@0?0nR-Geh;}> zj_W2&cQ&)c2oo$uKf(;qhEZ`pe$>JF4T|A_@v3B98dg!Ca(C zk?n8tXn&^v{=w0mRD}0t?2<|ydAFim(U(;8&~G5(H0!N#@rtL1{Z5ytZQ+?7b+7(Z zN5PY-Uk$cQOib&7W=NMOI53nX_xK1EPmz^Ck0qeUM z3}~|Ti%%2whGdC(mLTgqQxt64`olwuOG zeW`e{o8+_-6;r~}Lc3^@d^P#%xnzsp!onxfuRUc-w`7Ws1yhUgWNbWjJP4V|^pv@{ zKc<^}NFVGgm74>dCP+%&4@xt*HLI30z)-WedjV6kdMmMpGL-~It3CYh1s`SQ5CVZ9 z6MK2B|CnC=#~U~?BQj-nK~a=OZPj#^Dfes>ebhaL%m;^eV5f+QF~^%3xeNmKP)pA6 z+JM9+0qJ8v{S>oi)*yLXhiQ_q{!VjIgy0&W?_}l@i(Dy_+X?R6``CFf-`)wfw~zfS zyc%FiBo1Jf>hSaULTnfL?*@`{SB{S~S!SnWXR%q8E{?!%r8q_8wp5&h6jj^XBtm~u z1GZbQw$*jyq)cq7X+Ve#;Pg*2bOb70{Q^rELip$m>pPCOkQ0bI_#BmH$yGC~@3^I) zN=wrX{f{S3*NG_2Pt=~Kf(TupnK4!f>%SHDyR|%9Yw8MQS`(G1<;z3PZNV6S`9spc zpM;>8?&7K;nuejS}&mSP;*!K}Hg#BYe8#L~>eug0b zZVT%BNY z`M`+om(s;})}-pifdh~8P>Q9X^+9S*xy-@rOe#FC-0h(gFO3%1gcHSe#*yPe@kuP@ zi7_K{V8i+VM$y~TcI)9Pzpth_Fk-0{hG*T7-tU#R5mxUMooGG+Ip}ItJrfCX`a^W! zV+yg6AG0=o9|~XkiAv|Dl<29)dv6U2pqW5#h@_$p!9D(ke&0^WSgzp^|65l(xPj9Z4 zgS%EfSVH+#Z2Tw|4G7%octSa7^pZ&e*g9Q2ljL zu7kpDO*)ekh-jvkb(kLt2Ab3Vx~^zRNbpLk+1$^M_*Q%QEU=!P^${<7P`Nm>g91@W z#w7uC1%%8=&UojknpALwn0WE*cpME|w|xfLdl3130kr5IQ;tG#-&wvc4IP@zKA?56 zYS=X%(0;Mcqf)uL_~i5=s!U{nL?9)ii2a`SB0`~TqX@ef-l-4FqY-y(X4{Or z6^itpCP)TCv;I;@a@BVcAF27X^pz@Oy{O6p7BwR0KeY&PLzT!43wF{P@&*`DbqDo& zwQ{jgaj^mirvOlufZVWj?lSq7v==T3$eA@_G1BxCE6&7?w`ewCE#^F&o-y~TeHT&TUWKswNL;L$NaQ0-37|b7DJ7(lw&(>;?H2XwT3rwktI^00{IQf;jV`)r&T%np1wqF zU~-R1U%Ie?xmZ7SqJ@_6ZMI?J)4+{lTmZP){g&SY{_AO;F;sXc_UQV6lgGfQw1Ujc zp0d5v#S1jh0QlYv+CgVKUK$ofn9A}Kl|$PXud+`-5FS6i6o0(6sU~*y?VYG4F+_Qf zG2kajz}kiPDUp|!tkK4m<}IYu&Dx@^84>&I9Z;F1kVT;$m&ZMedTu^kY~gKCQXF$6 z?aZ{T7!(sRzYi71~dr`6G)m%0wZw7U-9K{$dt+CPmYXI_qz^N_bR-}sDkv%}I_hz*Ao$_9>#-rzRhLP~ z8Oi(Pku4M>Lbjfoh(&4m9!B&=;@l?#`+ZBYQ5U#x(&)@l9|RDk7S((tGuid8ci1v} z5JiFt;&PaRtUMIrA}$^|CMzr^Dmr=|Bq%F0()kd6=k;`Tb$7LQ|CuO2I*!E+=4$Kc z^!G`>dbO~~!5*_IzYdP8pSTWcna?ABqT-_qJqL?I5MA*yR=a7eHzDe&w$QCQi|N=_ z4?DwgC_}U^ZqXYy81H#62lvYuhTK877hfb7+=Wiu>owE2;g^WbR$jC0?8m|5iv)sC zB}B3yQwezr($)?yVv>H;i8`wL8m)Hdb;kHZN7J|GNHqimSnJaMF?!|ls0@KIy)wA;4dmMNTO9OKB+TY2cj}{`AW*T<(NR%s>+4I4uN?o3Tsnd# z#3F$Aa5&$v)~&fHJ)A?-q{QWS(AGtNNt^Dx9)8+VZ8`3WBC_ifh7& zZNZ0;6>CFl7*43Jg-@Y1U5XSg^tm$K;~mq?gok=qzsh zj}L4xJ3E(NA1X$^c9tmggR=u8 z@autaN=IN*Rv{Zaf!ItAQ8UQXP*+2szJ87Udb!}LLO_6#kROXvq=Qf$8zf;c zC zUoWOrk$%`8H}#(yT}p88CM+fT9mED`!1GmOf{i7zl7#>16HB;S-c*4{W~zp~WxbyC z87vK<`Pm=2FJ#$T2X~rSo5OiiA`EcemSimM60HRyMU=AMXW>J6AECTXSMLy$A09_| z5Po%va=Xk_+U&zOv-qk!;c4#RFi)*7Dqs}v1>fHfpPTaEN{v)ZlyxN9ppbX1`qB<> z*6ghQj8Rcw6S$n@zncA3>@z26HFpl@Z!=rX#$TskG4a!er)p{OYK*DNq8&fC*PlYw zL)n>kY!IVYg{AM6p={Ie7LOeLPtlMxwnCKo_4CKm95Z?N_u*>|_k%%9HQ|S`bM?l- zIOOp8jG)UWJX^QrwrahaKAfY~9Cpu?nh3XPU@tPl#)*dFT#zbIWm$E&R=&tn!en8P`(yyzcYt*ZUKn2!2;w zUo1h>FpSp8Rl$$pIVGHiQj~Llh{Q|Vy})`tO@DVJ00pE;sxMx=AVp z<@D4q80TfKEMWD@-xSlO&DNxWOj;!b|7x#SqxWc(ffm-x@@8m><7fpk;`J@PT-g+jEmD=lLjAXKfsSA+#7PC0l z>&h;aK9FUMxt~hUDeW}y%Pf)eR&*}IY=sl${ck4DA&gG#(`M#>!P9dybQTuL$;sG} zc>Wi3*Y$D-e?7_dxpTd}z2E}d zw`2DarAANjuk~{DH8f6KIbo7#V(a}#_t){qkDuo2WYvp@)8JH5i5JCN1? z>q+5b%D~kv+V3_m(o-psT@b1II~M1%T4AWlDKx>zgKO&aoqr| zm1&mR(iK7suffr!Uf3Jpj3Ps_!uX>#DyeCON@D z+V}w}dFE^3PS_JY?bic2Iv9vQ8^1P`ua|0+p2qAdXVO+4?$1F1wn0@}!;{ai-pSUE z&VdArHcHplei?E!@)+$89I3H%Z>hGnv>H5q{OsAYtg|o}7x!hSt1y5(7>(Wu|1@>& z?tjCeo)Mm>55$V}LVhcBVQ)gD3y+W4)zg$`7K{=-XFML}U-q9FL^GYLn~m!fvsF0y zxF_b=PyAj#Og~;KSFMiu!Jp`|KRSuI^rm@Q-@puR-nvvi=}Uc!RiM=)AQXOO4B~GF zzSm0eiud;YYQm?o@uXfP6E=0iLWjDpi2ALU`@fv*cj(X1A{FjI9NN&e3pz4j=_J+} z_gGO%{A-M-Am*?Y-gFDzQ}wpLeXn$-^$$()vZ$SNMFgET9l80fWOhfr$upVn&D9DY z)^8RUVX@$e|8hEVr$EqJ{-fp~X=X&)~zu9S8 zSQCIQU$J%j_@GAqW2SB0W0m4Z`}!O2>Cf2zeE&-7*$+^2e35XYhlk|#VTJEzRJ*}9 zYF}h_Rnb(!ma|l?yetk!E{{DvOmW9Yf{_35|6N#NXik&p!FndYLry*epD8;3ZmY$F z*u=!iQPZvb;VFFnu)QT0*PNXFrnv)0u$a=@2lh-c&o6%ptNi}XK7m25>Fr4J$M|~} zveKt)Q}uJko}%BS=%bDFq6O1(9;rtOYCr#l9vm2YP*a^~7{6#dkTWLJ^=B)yHi2-v zk2bzn(?d#f2e8+mZdA~NRIwClXGdk0eF6CEi^m1v*Zq`4XWE{DDi3iLMrn7({zZ9Q z0?ZHCFHU+77u#fJ^!Sq$X>+(Khy^>|)R6xeV67+N*7G}xw)=Y?;%a}h;q`jAk@Y67 z7QUtn)H|$tZ&yb}m5za08>?hijX0_YH9klt;_OVqOr9GQfLqYzERU!-U zQ=z$WOVe~@AL9X(4$|ghHc1Wd&n!Tgl(A*wC9woTbp?e+NzP-V1B&y#9a8F!Fwry^ zb+Wu0o=6(EGGsaiaGLLnt+i4!kwD>y#!r5F?7d^usGQnZny+B&HMDDU7?8jx0j@PaFt6`#3qpmuniPY z?|bAoS;*%jCAn-W!jn6Ny=1BssM%kY8#ohFPgwl82McrMkvn@~jG)w0lAsI3U zJ*dRyUJA7^SqC?7wHmfUeYz%~TRoO??~@ugI~Vj7!G@PMx5DNg6zUd0@f-BDKjo!2 zo+N*{o&^0T!uNsM&gd~SL7+{R8Tc!3|7=T$|5be&-LDXa(lfjt2cX3uf*u zYF`qV&NO)8MB7e4Wra`&-?$zso>)`FM}dj1q8y$XzcoQBC$Qb`m@yDaxP5As zmA*q+>ylnBL>M4}_O|XtZ1~%+lJ^N=d-!tNfHW}XI|()3m76f|6uHFG-)~d5M>e+U z{w|tNvcyB$^x_gj<@|n=oU4f#Wu>_a_7kc#i&Cp|MW);qKhhi*n_&J0$v`JpkGQP^ zLypL~vx8k5N!esqGidPY!om!dj9bqrh?dg_KUaKLdTZ6`~|(^ zbN{JipF*6xtgEb@@kErzdEl4UEW272&39M#x#{;;|8DrcJET@dSqqJ13J8~nO6`qW zCXAO9;X4N}yxSiSJplq$Zspfz?+(qc6gW;m0dQOPosoPG80pZfrQs{c?gVkR>GxLe zbu&6A$X$u%@cOUOFRvz(BD}DNtoBtu_T`S907R}`neta2X0kzWj@RUftO)~3!KXfn zp-m(yT{nhta9c<)A}MRD%66No{h>r>vqbAesB@p*ko)d=BZ;-UtM)mDHjoa!nn4d5 zQBe7L)Yx-e0A#4HJvH{cS-BFnyc;n5qo^A)V~=q?5vtDWOTGuNOCA4d-^1$A#+9uL zUa;Ceae(fZ)xPPlv;y}ZaF?U1SOdD_ncc#6?8+-bqNVG<5x1;dF)k%{NLoG_l7Ys* z+PQGtH;)Es_5Z!5X{duddVm2qT`q{~?aXIXLFhKS-Ji zh50R8R)daqD99ehA z%7!-39%*=pf>Fwz&%#v)_x4U zFhDux-^27TWu|LqpJne`-F|P%gdh{0YYFk0pXDnYv&A7zD48vpm>kB98;YiL2gf*9 zZ&k8onvupjQDc5xFRK52BdwuC)@x>VAsotgg>NW?gHjvF?a>~X9Py9X#tVfn#|=a2 z0c+I>xN|#E-5>&EDqpTGcqlUEvNlB@d1b=Allb)`BqdvIi?L#tjYaPAjfolyErfAl zAJ%11PudyhiC<05Z-S&4r#m7AHsih4eavyD(&)?i*VEHdL2rlAl&_ly{y#mW0P`R3 z7C^=|r%}IYw#aqtQcJY^c$5H2?1xagHoSz&6qv#8`N?4dztfuJv)E4WHCgepAXA}> zNxbOHao|rubwR3bVv9|8}AnO`%DOWsGB$>)H^Pl-Wy2Dk9fDvn))# zZH~z|ksZ*v16+W#=p4JC>EvXze;#D4g~Dbz7yh?Q5B2XilA^&Qr~p$$Wpgi&-i4M) z=po1#ix)4M`VChf_;RCOwuV-OMOZFPH-)+9jAht89GB2LeR}n3$s+-U;6R3oz=IUQ z$B!p;MP}dkF$*?HUb~R~{lWF?g05eGJm>EkyCvs&M#EJ|tI*7I(Z|U%eem&?Spe1t zdq{%+uO$FbzMr!h_5LdvjAR4@r5W#EVpua}09@D^EiUle-3)sK0GBRO1{I@(hI67{ zik=*<<^-l+pGbWs6`$*Qv&A>jI`zBZmM;)k%Aqp)GTR6iJ1LY%` z-fpnk)iTob2s7yr`MI=s4Pt&MSWJ1AKAKaiY7}8qslE0oVt%Ol8ek4~DUZ744mu4A zroSxIb@Vb`@ikxo@+xoNDwR!5RH-x(G+0e^>VgjVr{3Nc@v_NKRgK$la(=y+QDzCz zlbmWugJV59GrHW>s?Wf%7JkN%ReS%y!rIPNUU#}48ZnH%x>$AF3)A{{UEo_PgyCcXVB z=(YsZeB;d%(Ca1HZn|UjXN#a<TPH?BR6>acF^sQsek)xf!mK#9MUK4hQsZy zL#gL4k2|8|SSP*rw>JqIx4uFRUTRvXOm(JAV-$9dQduX{54aK~d3eUw99=wSqyePC4rN zL4&Ig%Bq=LFGp_Ac65Z)MRQYEtK-g}VW=E|NZSqB6N8f$ zA`=t3|Cx$lLE-Kzv}KUIjK_nLba~{xm?;m(PH3u6<-K~xXVEfO~ zXANsfXy%?X60$8Lsg0FtbkorcE;Ho*EmvrTohm4}3xeZwxPW9V{r21-o~8}FAjGHo ztSJJg^0UgkiD97c44JD8K<>9j5oyqfXUAqYV6<^qzKIn55me3#mXu6+Kw}liagaqG zu=LcvAzTgI1HmZBIGrjgxQ*N}PVy#BbXW}ou@8L@AVRYNt_=;eIe{tg>bZAX zS3)2fg8%ozibBSW4*GdB6mx^#Z(jpCz(o1}r5mx&&WHV{A_7m`L;OY6uR&Yzd*!n> z;R{A+qYi!xUTB3rKauh*d2IcSY}ZqGgfb*H=KBd~2~~dnR#oG{K?ZY33Etm7yOf() z*dDgC`8ZX-&FU0%+u0YVfzpGv$Hj)u5^ICnW{@6TJqtFCx~1#3Srro=l#XcvGrmxX zKV&}Qd#qA!pGv)Mkn@8j8|rqj*t5Gk>FrqF?u$>G9UP$W%W<kO0n9{VVIdJLB?}dkeg)QXW zz5fj^(3yKshN0ad`K-xB;M5>y1EE^PRkRXNALy6Pc=nyERE+znv(P8aqqN(f z?p8kN4Tc&Q);FNt)98CpXwn9G9gyW|5O~t(U#R;h(;AZM3y9$_ENVg|uds^6^{$Ba4@o zFD>kREZiiIdB0-?-apcgH-&rew=`BS`4O%^NxA)<4lw`A*j$+C4EN{>$aEf)9=7|= zOppjGfj+3eQL0XI2FD+6`D{-`kvMFs60K!WVSJ{L;B24Ruf=a6m%k!>=O@8K2n;#3 z;HWccbSEaParzrxlofcv^2DA>6yK61EvMSRki+yg8axorRbOnO@A_wA1B#ojp)ObN z78GB*Y3BrYS>0fz?PC1r`C!Dqd|P$2rm0G&THUtv*z4`r72U;oPl=B@Nby07;XT`u z@9>q{HOH-heM?RM)ne2UIKs54SS8<^Z}7AknzgPB4r%&)a{J%{_J#dGCqWllFA+EG z)VJi_Nc3Cay11qSVZb?nJfq`hqdE>@J559{G83rQ^_pRTYn{|xxQxu0pw%a4p#C`9 z()ipsYm)C_sN&%~%%7UAiJZ=-XJM;#Dxb_V=vYAVO=n(V22Y4bPwh7xEHuYD-T7yC zgP+_@4?~A;`OWX}E7C$W17_D_*UFxKiqQPzIgWptZY0X#Mv14RF1613Te{ixB(Gt{ zD}B;z*#JN)j#nf?7FN3UO`0KQSa3lb?w5YC z{xvY-HW?1KwY1;WQ#JB~E6+4A#{&yBiuKXD9nC`J z!0ZFBnfi9WP3+cwp{aOj-Yp1O>ypyYHbeniH70%ge>+BX`T9A$_Vmpe-i)OCp_cvt zJ`Q6bhcyBgV{zDnro_W3aIxuk`p#29Xcu~490z2SZ;sU78_&M*G@|>cY2G%|P=uW& zhK(A%)}Lq#2&4Y!~h7ba{p|)U0j#} zXuZ4OTRfWeW7qCx`#zgec2SPEEC2K?3tfy6UF=Ke&M9bmYY9IrLk}GjUt8lL!8ZEf z@mSucZq07AyVDY3DfgnfID`g4-&(U<7?nVYC~LFv(;tLV-K$w))f)q7ey0(vWtHKx zAri!%gmkj_wzymAKs)w}_fx+~p|*2LTme zlJS@;4Nr|GN9RL^Q|jHI7?pyiBIB{RV{I`xcFd<}e7_B=<|9`B3p-Bfondofn%2OcJwj&uAwAx^Fknim$(d&U2! zsw*J=Qn@ObLY-|&bjy8_c`}{&-wW7=_x=wdh!5~wCCK1yUqI5MB(J2 zk}{|6`gsc3)FR z0~XZ_ARv}ZF|((>IWuuZL)F$JI~w`1cj)u1mmL+7wNHa++p%+40vFF6$K3uU9l!)| zOPlLo6^LSlSsrQaIf*>D7uu_xGWBL7n)vq-)?6wZTg$eyJ*^IXy|I7demx?$FMk>_ zv2RPSa9W6CY&0=B zu~Y0+sK)cqWA6K&o!-y6_wmt2_M`0V`LA8dFK~RQurexmtfY^t$}B8-^jNv@@rb^Z z&v|`>Lq5M5Pc;9_{f*-3Hy)j+c;EQX9;cv%)r{88#HoOK+pf_RW+jPCq}8usqO<<@ z+#!MkHto@{IGwa~3WOJVH8L$PMkDom@-xNKmMp^xYVYP_kI^l(YfsZuy|amie4oYXJ!I)FB3L#LbEQm#48-EQ@h zd@BjQxv(eNVUvVhl!&bN-X7I-#d$9u7Mkd}0si2vfQA*kC7vbzG8`Tn7YJRkan<$x zw1xGR7*(PU1>jq_a?iCt1Q*oT*rRQ7h!Rm(XTA#yc`*(zsQc1ZEl}I&yjoeJAz!&#qqZdEm8E4%2-&G=uODhwJ7Gn=OwSbB~Sh9`+_5W)#rI zs(%`%C1L*i7})~N)=)q;OO)n3tt?KLsR?RawbdhBU0t>@DC1~L0|dzhO-$g#xFb?| z<4eol2bUR%iX?y6{_o?Oabl&w`2BEK=h5*MRzg!cd*;GP~S3L?2f!>cl7v+qZet`}A+gG@O136;q-DnQR z#-BO{hh!S+Y+Ji(q{tVyR^mC1Xp}@HmRC>;X&C zm`(Tj7X7HDnm<(>QFNOZPxh=M=Y(gtoDe5VanDPmu;}gBujQ3AO8d{bu6N zAO)<2()@5V3ik*&+=&+*q@f;I@8=_W<*Sw|($@AO+X3sBIi3D4W_Y#`y04o*rRI#a zP)ir7YR0Wk=9<#<^Jj$pQeZ>tJSun&8c%2U$>mPk|FzvLf4{Z(8T1#=pj%#y9N&SR zKXXf#xKeb9>p)jhRzvM#@2L+Q;(+1%!>}=oT~xu&_X@-Z=m;ZeWb+$ur%-d$a%S zkZ44_3B^%h-#>)bV85Q>VIiC!`Lp@jg5Rr(5hnc$z75H2zITtG?yzc4^L;x4GSnxY zb5{M8qs-*Xk#V&k4?LjtR_a|<>TG`_eC6+I;sNH4@y~5|Zd#9cHPc|y@`ifB+P-+0 z#yDPyxLoB_56tHK=tJ%M&gf(YoZ(+|>|#n`M^U~5Eo{$Tq?GWr5Gcz#GyIIFlu!8f zlH?*ztJ`X?-U_1bFkRU*c1IqoigusTICiJ0wjH~ZtIRYQiR%{hanN0}3{lRaYre&y zR|o2^z=1bf7uW{&^rU>#&B|KjTLKvyp(ny;bhc0~C@%*2(bm@l;5|EY zgY8JzXk#|d!hAJT#QZ4O+kVf((2ob|B-4CQ-Lfjf&dZ$6@$&#QH=yQ?Hr>=iw&_j@ zOtpMuZehTr6TfP+^lG~W1(K}4W}<>fFudax7RsdEg+#4wxdXfn@NRTCfyrgYZ%&k_ z!AMTXrpUjKn^ed=$27<-l(8^51#H#-FZ(x$_73AeC{8@=fF zGa7SS=Rm7bORpLqw7f6E_jA%Jj!T7_O&P(hEn<+rn(5b}vOx8c;6Xpjv@ItWLYMgn z(NuLYlodyZ(z!SfNb2J3x}G<8FqGhyX3ev`YTz7~_xYoqakj4Ng`|0`YGt0-QYC2X z!fC~x8ui!5oBT$4(Hamjhu?@M#ULLUCSWEVL?DNIf{XtGB_V9LK52>(z|p|}``j4u zbnUmE6=s1PEcr@Xf=?0Tz+T|2WjtUx3$THMV{^3be?LX#zv)%`7tqjR5!~6mx?5Co zjZX>f>E=qAetz+k7?1jX&YRG~Uznlf1@?=lwGQrg&=M81vE(&;KbOLIc&aJ6d&Ygx z)w64jv{u(Z{TcMH^Ufwtcrz#T^on+nxW=~)wF8j5R_Me@#qOsA_10mB3QOhm`NSY- z5As~ScCvKqG?$X~a$*kG&TMgNNhSztuoh7W@cbzHR#){{uVm47Us;62JLS6WOQyOY zAKI^*xrwQ(uk@-{Unx^ZnPY5JLcn}MM+?T|W|-Z62zo9Vo74xFj@9P7)-j9iEdn>n zO^^YO<2yJ|UU?9m`uH3Kapn!v;hkS_-FUqO(sZ>8V6C-yZe#4`nuy3&)bSavxdN~O zeg5Zi&_UdKT$qLbd|mm;0}%>t3}?KAlQEd}dVI65fPbix)BN8gW=!xEa8Ur(Qxa&%uqI%-RRXXMuh9B11 z;x#+cX!O31fwoscBWS<;b@Vz`#NTmxyF0=!*2K`*$jHdpcp-1tc(cb$ud8~qEYdL& z4AB3d;X?`AxSY765d^{*$H=GV)p{RnO0{#2l;_E%VIXvRPTG@WJEU$?ROZZgsfpmSDQ z51NU`)US1>v<09+NRm||NyV!Fj9URcvuxrk^tlMIdxOc%Dl$u?I{>Nu((r0U&<2y| zD;7R~&fCI4gNz}X3<))x3-)!;xr?_saW1%@;E zMM#YTn5;ZkJbng(+`RBg7-o@vE+nbF&evoSmX;x`w!N7lCtUqveis$R3GMvty~>XW zY?bTihwJOgob4R}`@4-Y(Yq)<(lEH*I1y%t!As(SBeX{kVTbi9N~Eo-%yi(YL`he=QqQF0pQFmqp->BEH*{N6(HzcZz|*KH~u7d#1}qVfhnts z{Pgi6NlhU#{|$)qQ%R~+@81YG4SC2kxT_Ja`1(fIxgm1M`JJ8uP7 z)-c>cm%RtSl-|LpEg@S{d>&)dpM7)w#+`2JG zpl!MemEtGogFxBL^zevJ@~&~w(LJX>>PEy#m6nv2CMoK!@H~MyOWc+Id7luQU`WNh z&s|_Y0n_EO>or-SL-h%4eN-jrYeq4=XvX|MTe!@;k8i8Qe6S$hf}k)%e0iUIUj#sR zSI$}IQx}E|HcGdJ*&wCZvwgq!-uM|yXC6Kjrn=4nY|cC-Nljj*hD`GlJ9SM#3@CnZ z!gbWNZjD4iwIFW>23m>PFxlW6U$aP*Z5P@S%iDWS{aRq&vb`Tv@F0=SXkNLe_nK=6 zxC-yZ1bePXT?2ijtA~G5)b#+4)rkZx&%1=95Ku7JUFVxAK-PODj!*!iaqw5=;DJu0 z1HuQyrS}$CfLE>C93iiE`@Xe1j<5QeiON2gKlZR8c|h=h$8g*sp18#h?m0c&+@{1<}*$DapK ziC0_@485e50qP^5r6WIQ+jYGzwo9)S5Y--oD}D<; zQPQSnh6v+_rbg!ZdB9q2n~;;d^%&R9b`#y-nL0c8tIk5NBXnqNxl=qo+ zIiom#LVrnn5{l(Pg=G)9i#(8V`zbhO1dm@|Ud#DuR+CXx`xJ(p%{*sfYkhSLcu!jb zB|nQbko9V8|JM5k{nQ zQ^|A?ixc(tgkK@3>v=jO74fksuajeGSbiNc>4NyR3SW@LY4@!fOELbat=_B-63u_4 zsBYi#7T%ynW3nDibptFJQ6M&-0hAxXchZfF4sL7B@?l?Y9}@PQN_V&X z8)u0_e#MZEJ}+Mk-pp4-&VJU!=xE1TyVhn-@UX1xFHwbYtGG={x5|G!2j{1%Qs4;o z*^nm@-^r*kxBKT5$_b{_g7ZvI;`w(?yGDO$WS*W88ka*{bsZ9*Qk}#Akwo+_rEt6I z4+;zW4a8NmCGD1#e^z-N+9s6MIFC#=l};?e5NC~>F-qxF{#c~^NF`%-qAQmq$P&6M z-Tr}*YYK&ggleZZ`{RjMWhEWS=1|6aIycl6xb&c1paZJiutQ23R#to;buM2{QoQ?40J!H5 zLis*Qc@CGWmDt97`oT1XGTaLjZYlFa?mW%kb1EH1s_mmjBMVQ8zXFLoz7>0Dx9t+E z!6JEnDt7SG#-+No)osC%OJ_F1U{=wyXBAGBd*FAO;kxgHB2 zxj{+z*YPb0U&o{GemA{^zD8X7a#??^fj^4)=QiLPnx53*|9$6U>WXY9aaJQQ>(W3%in<+{+7 zi4>2I95X&`3^XLBA*VtS@?}iR*&!}X7sL#!06(+I;=VJ&^Wz^)iqdRZM$=x*cEcip zpqFHSjN{1-4N&n^rVOo~TA?F2W% zL+WCbWJ1|_tII*Gx3H3@o=wpk>7g%X{-B@vE&g#J4ed=QiXxE2;4RuiTbMTfSbEkT zOo-W=(e=N7JaV<1rfs|naylS4o0h#d9p^VTyfgPAM+T`H1aw^R}IPLaR$H?X;0wV+SZ|9-zu33OG6Pd#z3Ie9Ns zZv8EqIJIo!yOcaM8?Di~+synNubzFjT?sxWF}l$vQzDpH4&5y07v+!QKA6p0{Dm$8 zx;odZA{*!u`1Ev)Zc9x!fuYBpzi(iO!7|1RbNaOEHzlsDbUryfr{4g%-`;}@oXBm= z825&o+^^3kqapXimo*@A3f5A%%&9Iam8u^!qevY`xj5K5Q)P{A5RRyaGc zD9r{r6e2Og952o=D|R1ct-f@SUDL$n1FmYm|FOaT|18-*tne}{aOenHk{+;H^Z05P z*+>%Gf!iX`=d>?11Z<~&38opX%)FF{QbZE4f`)k{;SW^S<~80346l=4MbeoF`!gI_ zsft;X-7=+Bzf-D%6ub;01moJvC(;&bhh)eusfO+4GmoSd?B@@d)r@@;HpvT9;Yg0s webFIcZg%VG^r>$hPOl5mk@T6~6P_D=s4f09FPJXrCc+Ylk(P-)I(h5A0R5y<^8f$< delta 40388 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 ZIt)c7KfsKTSL29?6`26t7b24e{|CAQbdLZ4