From 3f2e5c5b9bf31547c3859fb9cbdf4de348cff8bc Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 22 Dec 2025 19:23:38 +0100 Subject: [PATCH 01/63] add better camera --- docs/src/wavefront-renderer.jl | 78 +++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 7 deletions(-) diff --git a/docs/src/wavefront-renderer.jl b/docs/src/wavefront-renderer.jl index 73a0e71..57d2b2e 100644 --- a/docs/src/wavefront-renderer.jl +++ b/docs/src/wavefront-renderer.jl @@ -212,6 +212,47 @@ end end end +""" +Generate primary rays with look-at camera. +camera_right, camera_up, camera_forward define the camera basis vectors. +""" +@kernel function generate_primary_rays_lookat!( + @Const(width), @Const(height), + @Const(camera_pos), + @Const(camera_right), @Const(camera_up), @Const(camera_forward), + @Const(half_width), @Const(half_height), + ray_queue, + ::Val{NSamples} +) where {NSamples} + i = @index(Global, Cartesian) + y = gpu_int(i[1]) + x = gpu_int(i[2]) + + @inbounds if y <= height && x <= width + pixel_idx = (y - gpu_int(1)) * width + x + ntuple(Val(NSamples)) do s + s_idx = gpu_int(s) + ray_idx = (pixel_idx - gpu_int(1)) * gpu_int(NSamples) + s_idx + jitter = rand(Vec2f) + + # Normalized device coordinates [-1, 1] + u = (2.0f0 * (Float32(x) - 0.5f0 + jitter[1]) / Float32(width) - 1.0f0) + v = (1.0f0 - 2.0f0 * (Float32(y) - 0.5f0 + jitter[2]) / Float32(height)) + + # Ray direction in world space + direction = normalize( + camera_forward + + camera_right * (u * half_width) + + camera_up * (v * half_height) + ) + ray = Raycore.Ray(o=camera_pos, d=direction) + + @set ray_queue[ray_idx] = (ray=ray, pixel_x=x, pixel_y=y, sample_idx=s_idx) + nothing + end + end +end + # ============================================================================ # Stage 2: Intersect Primary Rays # ============================================================================ @@ -615,6 +656,8 @@ struct WavefrontRenderer{ImgArr <: AbstractMatrix, BVH, Ctx} # Camera parameters camera_pos::Point3f + camera_lookat::Point3f # Look-at target + camera_up::Vec3f # Up vector fov::Float32 sky_color::RGB{Float32} samples_per_pixel::Int32 @@ -632,13 +675,20 @@ struct WavefrontRenderer{ImgArr <: AbstractMatrix, BVH, Ctx} end """ - WavefrontRenderer(img, bvh, ctx; camera_pos, fov, sky_color, samples_per_pixel) + WavefrontRenderer(img, bvh, ctx; camera_pos, camera_lookat, camera_up, fov, sky_color, samples_per_pixel) Create a WavefrontRenderer with all necessary buffers allocated for the given image size and scene. + +# Arguments +- `camera_pos`: Camera position in world space +- `camera_lookat`: Point the camera is looking at (default: origin) +- `camera_up`: Up vector for camera orientation (default: +Z) """ function WavefrontRenderer( img, bvh, ctx; camera_pos=Point3f(0, -0.9, -2.5), + camera_lookat=Point3f(0, 0, 0), + camera_up=Vec3f(0, 0, 1), fov=45.0f0, sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), samples_per_pixel=4 @@ -652,7 +702,7 @@ function WavefrontRenderer( # Allocate work queues as SoA primary_ray_queue = similar_soa(img, PrimaryRayWork, num_rays) - primary_hit_queue = similar_soa(img, PrimaryHitWork{eltype(bvh.primitives)}, num_rays) + primary_hit_queue = similar_soa(img, PrimaryHitWork{eltype(bvh)}, num_rays) shadow_ray_queue = similar_soa(img, ShadowRayWork, num_shadow_rays) shadow_result_queue = similar_soa(img, ShadowResult, num_shadow_rays) reflection_ray_soa = similar_soa(img, ReflectionRayWork, num_rays) @@ -664,7 +714,8 @@ function WavefrontRenderer( return WavefrontRenderer( Int32(width), Int32(height), img, bvh, ctx, - camera_pos, fov, sky_color, Int32(samples_per_pixel), + camera_pos, camera_lookat, camera_up, + fov, sky_color, Int32(samples_per_pixel), primary_ray_queue, primary_hit_queue, shadow_ray_queue, shadow_result_queue, reflection_ray_soa, reflection_hit_soa, @@ -690,6 +741,8 @@ function Raycore.to_gpu(Arr, renderer::WavefrontRenderer) return WavefrontRenderer( img, bvh_gpu, ctx_gpu; camera_pos=renderer.camera_pos, + camera_lookat=renderer.camera_lookat, + camera_up=renderer.camera_up, fov=renderer.fov, sky_color=renderer.sky_color, samples_per_pixel=Int(renderer.samples_per_pixel) @@ -708,7 +761,6 @@ function render!(renderer::WavefrontRenderer) samples_per_pixel = Int(renderer.samples_per_pixel) aspect = Float32(width / height) - focal_length = 1.0f0 / tan(deg2rad(renderer.fov / 2)) backend = KA.get_backend(renderer.framebuffer) @@ -717,11 +769,23 @@ function render!(renderer::WavefrontRenderer) num_lights = Int(length(renderer.ctx.lights)) num_shadow_rays = num_rays * num_lights - # Stage 1: Generate primary rays - gen_kernel! = generate_primary_rays!(backend) + # Compute look-at camera basis vectors + # Standard right-handed: right = up × forward (gives +X when up=+Y, forward=+Z) + camera_forward = Vec3f(normalize(renderer.camera_lookat - renderer.camera_pos)) + camera_right = Vec3f(normalize(cross(renderer.camera_up, camera_forward))) + camera_up_ortho = Vec3f(cross(camera_forward, camera_right)) + + # Compute half-width and half-height based on FOV + half_height = tan(deg2rad(renderer.fov / 2)) + half_width = half_height * aspect + + # Stage 1: Generate primary rays with look-at camera + gen_kernel! = generate_primary_rays_lookat!(backend) gen_kernel!( renderer.width, renderer.height, - renderer.camera_pos, focal_length, aspect, + renderer.camera_pos, + camera_right, camera_up_ortho, camera_forward, + half_width, half_height, renderer.primary_ray_queue, Val(samples_per_pixel), ndrange=(height, width) From 736049848a2b2735ed864f20a7d92b06d9432e1f Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Tue, 23 Dec 2025 01:11:12 +0100 Subject: [PATCH 02/63] get things working --- docs/instanced-bvh-architecture.md | 462 +++++++++ docs/src/test_wavefront.jl | 6 +- docs/src/wavefront_dynamic.jl | 225 ++++ docs/src/wavefront_instanced.jl | 105 ++ docs/src/wavefront_lego.jl | 399 ++++++++ docs/src/wavefront_particles.jl | 435 ++++++++ src/Raycore.jl | 5 + src/instanced-bvh-kernels.jl | 365 +++++++ src/instanced-bvh.jl | 1527 ++++++++++++++++++++++++++++ src/kernel-abstractions.jl | 19 + test/runtests.jl | 3 + test/test_instanced_bvh.jl | 212 ++++ test/test_type_stability.jl | 82 ++ 13 files changed, 3840 insertions(+), 5 deletions(-) create mode 100644 docs/instanced-bvh-architecture.md create mode 100644 docs/src/wavefront_dynamic.jl create mode 100644 docs/src/wavefront_instanced.jl create mode 100644 docs/src/wavefront_lego.jl create mode 100644 docs/src/wavefront_particles.jl create mode 100644 src/instanced-bvh-kernels.jl create mode 100644 src/instanced-bvh.jl create mode 100644 test/test_instanced_bvh.jl diff --git a/docs/instanced-bvh-architecture.md b/docs/instanced-bvh-architecture.md new file mode 100644 index 0000000..a02123e --- /dev/null +++ b/docs/instanced-bvh-architecture.md @@ -0,0 +1,462 @@ +# Instanced BVH Architecture + +## Overview + +This document describes the two-level instanced BVH implementation in Raycore, inspired by AMD's RadeonRays SDK architecture. The design enables efficient ray tracing of scenes with repeated geometry (instances) while maintaining GPU/CPU portability through parametrized array types. + +## Architecture + +### Two-Level Hierarchy + +The instanced BVH uses a **two-level acceleration structure**: + +1. **BLAS (Bottom-Level Acceleration Structure)**: BVH over triangle geometry + - One BLAS per unique mesh + - Built once, reused for all instances + - Stores geometry in local/object space + +2. **TLAS (Top-Level Acceleration Structure)**: BVH over instances + - Contains transformed instances of BLAS objects + - Each instance has a transformation matrix + - Built per-frame or when instances change + +### Memory Layout + +``` +TLAS (Scene-level) +├── Node[0]: Root (Interior) +│ ├── Child0 → Node[1] +│ └── Child1 → Node[2] +├── Node[1]: Interior +│ ├── Child0 → Instance 0 (Leaf) +│ └── Child1 → Instance 1 (Leaf) +└── Node[2]: Instance 2 (Leaf) + +BLAS (Mesh-level) +├── Node[0]: Root (Interior) +│ ├── Child0 → Node[1] +│ └── Child1 → Triangle 0 (Leaf) +└── Node[1]: Triangle 1 (Leaf) +``` + +## Core Data Structures + +### BVHNode2 + +Compact BVH node for binary trees (BVH2IL layout from RadeonRays): + +```julia +struct BVHNode2 + aabb0_min::Point3f # Child 0 AABB min + aabb0_max::Point3f # Child 0 AABB max + aabb1_min::Point3f # Child 1 AABB min + aabb1_max::Point3f # Child 1 AABB max + child0::UInt32 # Child 0 index (INVALID_NODE for leaves) + child1::UInt32 # Child 1 index (primitive for leaves) + parent::UInt32 # Parent node index +end +``` + +**Design Rationale:** +- **Inline AABBs**: Storing both children's AABBs directly in the parent node enables branchless intersection tests +- **Compact size**: 64 bytes per node for cache efficiency +- **Leaf identification**: `child0 == INVALID_NODE` marks leaf nodes +- **Flexible use**: Same structure for both BLAS and TLAS + +### InstanceDescriptor + +Describes an instance of a BLAS in world space: + +```julia +struct InstanceDescriptor + blas_index::UInt32 # Which BLAS to instance + instance_id::UInt32 # User-defined ID + transform::Mat4f # Local-to-world transformation + inv_transform::Mat4f # World-to-local transformation + flags::UInt32 # Reserved for future use +end +``` + +### BLAS + +```julia +struct BLAS{NodeArray <: AbstractVector{BVHNode2}, + TriArray <: AbstractVector{<:Triangle}} + nodes::NodeArray # BVH nodes + primitives::TriArray # Triangles (sorted by Morton code) + root_aabb::Bounds3 # Bounding box in local space +end +``` + +**Type Parameters:** +- `NodeArray`: Can be `Vector`, `CuArray`, `ROCArray`, etc. +- `TriArray`: Same - enables CPU/GPU execution + +### TLAS + +```julia +struct TLAS{NodeArray <: AbstractVector{BVHNode2}, + InstArray <: AbstractVector{InstanceDescriptor}, + BLASArray <: AbstractVector{<:BLAS}} + nodes::NodeArray # Top-level BVH nodes + instances::InstArray # Instance descriptors + blas_array::BLASArray # Array of BLAS objects + root_aabb::Bounds3 # World-space bounding box +end +``` + +## Construction Algorithm + +### LBVH (Linear BVH) + +Both BLAS and TLAS use the **LBVH algorithm** (Karras 2012): + +#### Step 1: Compute Scene AABB +```julia +scene_aabb = mapreduce(world_bound, ∪, primitives) +``` + +#### Step 2: Calculate 30-bit Morton Codes + +Morton codes provide a space-filling Z-curve ordering: + +```julia +function morton_code_30bit(p::Point3f)::UInt32 + # Normalize to [0, 1023] (10 bits per axis) + unit_side = 1024.0f0 + x = clamp(p[1] * unit_side, 0.0f0, unit_side - 1.0f0) + y = clamp(p[2] * unit_side, 0.0f0, unit_side - 1.0f0) + z = clamp(p[3] * unit_side, 0.0f0, unit_side - 1.0f0) + + # Interleave bits: xxyyzzxxyyzzxxyyzz... + return (expand_bits(UInt32(x)) << 2) | + (expand_bits(UInt32(y)) << 1) | + expand_bits(UInt32(z)) +end +``` + +**Why 30 bits?** +- 10 bits per axis = 1024³ spatial resolution +- Leaves 2 bits for flags if needed +- Fits comfortably in UInt32 + +#### Step 3: Sort Primitives + +```julia +sorted_indices = sortperm(morton_codes) +morton_codes .= morton_codes[sorted_indices] +sorted_prims = primitives[sorted_indices] +``` + +#### Step 4: Build Binary Radix Tree + +Using Karras' algorithm to find node spans: + +```julia +# Find span of internal node i +d_left = delta(i, i-1, morton_codes, n) +d_right = delta(i, i+1, morton_codes, n) +direction = sign(d_right - d_left) + +# Binary search for exact span +# ... (see implementation) + +# Find split point +split = find_split(span_left, span_right, morton_codes, n) + +# Determine children +child0 = (split == span_left) ? leaf(split) : internal(split) +child1 = (split+1 == span_right) ? leaf(split+1) : internal(split+1) +``` + +**Key function: `delta` (Longest Common Prefix)** + +```julia +function delta(i1::Int32, i2::Int32, codes::Vector{UInt32}, n::Int32)::Int32 + left = min(i1, i2) + right = max(i1, i2) + + (left < 1 || right > n) && return Int32(-1) + + left_code = codes[left] + right_code = codes[right] + + # If codes differ, count common prefix bits + # If codes identical, use indices as tiebreaker + if left_code != right_code + return Int32(clz32(left_code ⊻ right_code)) + else + return Int32(32 + clz32(UInt32(left) ⊻ UInt32(right))) + end +end +``` + +#### Step 5: Compute AABBs Bottom-Up + +```julia +# Create leaf nodes with primitive AABBs +for i in 1:n + leaf_idx = leaf_index(i, n) + tri_aabb = world_bound(sorted_prims[i]) + nodes[leaf_idx] = create_leaf(tri_aabb, i) +end + +# Propagate AABBs upward +for i in (n-1):-1:1 + child0_aabb = get_node_aabb(nodes[nodes[i].child0]) + child1_aabb = get_node_aabb(nodes[nodes[i].child1]) + nodes[i] = create_interior(child0_aabb ∪ child1_aabb, ...) +end +``` + +## Traversal Algorithm + +### Two-Level Traversal with Stack + +```julia +function closest_hit(tlas::TLAS, ray::AbstractRay) + # Initialize state + stack = MVector{64, UInt32}(undef) + stack_ptr = 1 + current_node_idx = 1 + current_instance = INVALID_NODE + + while current_node_idx != INVALID_NODE + # Fetch node (from TLAS or BLAS) + node = (current_instance == INVALID_NODE) ? + tlas.nodes[current_node_idx] : + tlas.blas_array[current_instance].nodes[current_node_idx] + + # Test ray-AABB intersection + if intersect_aabb(node, ray) + if is_leaf(node) + if current_instance == INVALID_NODE + # Top-level leaf: transition to BLAS + instance_idx = node.child1 + inst = tlas.instances[instance_idx] + + # Push sentinel + stack[stack_ptr++] = TOP_LEVEL_SENTINEL + + # Transform ray to local space + ray_local = transform_ray(inst.inv_transform, ray) + + # Switch to BLAS traversal + current_instance = inst.blas_index + current_node_idx = 1 + else + # Bottom-level leaf: test triangle + test_triangle_intersection(...) + end + else + # Interior node: push far, visit near + push_and_traverse(...) + end + else + # Pop from stack + current_node_idx = stack[--stack_ptr] + + # Check for level transition + if current_node_idx == TOP_LEVEL_SENTINEL + current_node_idx = stack[--stack_ptr] + current_instance = INVALID_NODE + ray = restore_original_ray() + end + end + end +end +``` + +### Key Features + +1. **Sentinel-based Level Switching**: `TOP_LEVEL_SENTINEL (0xFFFFFFFE)` marks transitions +2. **Ray Transformation**: Transform once when entering BLAS, restore when returning +3. **Hybrid Stack**: LDS (16 entries) + global (64 entries) for GPU efficiency +4. **Ordered Traversal**: Visit near child first for early termination + +## Type Stability + +### Critical for GPU Performance + +All functions must be **type-stable** to generate efficient GPU kernels: + +```julia +# ✓ Type-stable +@inline function get_node_aabb(node::BVHNode2, is_interior::Bool)::Bounds3 + if is_interior + Bounds3(min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max)) + else + Bounds3(node.aabb0_min, node.aabb0_max) + end +end + +# ✗ NOT type-stable (return type depends on runtime value) +function bad_example(node::BVHNode2, flag::Bool) + if flag + return node.aabb0_min # Point3f + else + return node.child0 # UInt32 + end +end +``` + +### Testing Type Stability + +```julia +using Test + +@testset "Type Stability" begin + node = BVHNode2(...) + + # Should infer return type at compile time + result = @inferred get_node_aabb(node, true) + @test result isa Bounds3 +end +``` + +## GPU Portability + +### Parametrized Array Types + +```julia +# CPU +cpu_blas = BLAS{Vector{BVHNode2}, Vector{Triangle}}(...) + +# CUDA +using CUDA +gpu_nodes = CuArray(cpu_blas.nodes) +gpu_tris = CuArray(cpu_blas.primitives) +gpu_blas = BLAS{CuArray{BVHNode2}, CuArray{Triangle}}( + gpu_nodes, gpu_tris, cpu_blas.root_aabb +) +``` + +### KernelAbstractions Integration + +```julia +using KernelAbstractions + +@kernel function traverse_rays_kernel!(hits, @Const(tlas), @Const(rays)) + i = @index(Global) + ray = rays[i] + hit, tri, t, bary, inst_id = closest_hit(tlas, ray) + hits[i] = (hit, t, inst_id) +end + +# Execute on different backends +backend = get_backend(rays) # CPU, CUDA, ROC, oneAPI, etc. +kernel! = traverse_rays_kernel!(backend) +kernel!(hits, tlas, rays, ndrange=length(rays)) +``` + +## Performance Characteristics + +### Construction + +- **LBVH**: O(n log n) due to sorting +- **Parallel-friendly**: Each internal node computed independently +- **Memory**: ~64 bytes per node × (2n-1) nodes + +### Traversal + +- **Stack depth**: Typically 20-40 for balanced trees, max 64 +- **Memory access**: Sequential node reads (cache-friendly) +- **Transform overhead**: 2 matrix-vector mults per instance transition + +### Instancing Benefits + +**Memory Savings:** +- Without instancing: n_instances × n_triangles × sizeof(Triangle) +- With instancing: n_triangles × sizeof(Triangle) + n_instances × 128 bytes +- **Example**: 1000 cubes = 98% memory reduction + +**Update Performance:** +- Updating instance transform: O(1) + TLAS rebuild +- No BLAS rebuild needed for rigid transformations + +## Comparison to Radeon Rays + +### Similarities + +✓ BVH2IL node layout (inline children AABBs) +✓ LBVH construction with 30-bit Morton codes +✓ Two-level hierarchy (TLAS/BLAS) +✓ Sentinel-based level switching +✓ Transform caching in instances + +### Differences + +- **No SAH restructuring**: RadeonRays has optional treelet optimization +- **Simplified construction**: No multi-threaded workgroup coordination +- **Julia-specific**: Leverages multiple dispatch and type system +- **No hardware RT**: Pure software traversal (can use RT when available) + +## Future Enhancements + +### Short Term + +1. **Complete triangle intersection in traversal** +2. **Implement any_hit for occlusion queries** +3. **Add multi-instance TLAS builder** (currently only single instance) + +### Medium Term + +1. **SAH-based restructuring** (treelet optimization) +2. **Compressed-wide BVH (CWBVH)** for higher branching factor +3. **Hardware ray tracing backend** (Vulkan RT, OptiX, DXR) + +### Long Term + +1. **Dynamic BVH updates** (refit without full rebuild) +2. **Streaming geometry** (out-of-core BVH) +3. **Neural BVH optimization** (learned splitting) + +## References + +1. Karras, T. (2012). "Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees" +2. AMD RadeonRays SDK: https://github.com/GPUOpen-LibrariesAndSDKs/RadeonRays_SDK +3. Ylitie, H. et al. (2017). "Efficient Incoherent Ray Traversal on GPUs Through Compressed Wide BVHs" +4. Meister, D. et al. (2020). "A Survey on Bounding Volume Hierarchies for Ray Tracing" + +## Example Usage + +```julia +using Raycore +using GeometryBasics + +# Create geometry +cube = GeometryBasics.Rect3f(Point3f(-0.5), Vec3f(1.0)) +mesh = TriangleMesh(GeometryBasics.mesh(cube)) + +# Extract triangles +triangles = [Triangle(mesh, i) for i in 1:n_triangles(mesh)] + +# Build BLAS +blas = build_blas(triangles) + +# Create instances +instances = [ + InstanceDescriptor( + UInt32(1), # BLAS index + UInt32(i), # Instance ID + translate(Vec3f(i*2, 0, 0)).m, # Transform + inv_translate(Vec3f(i*2, 0, 0)).m, + UInt32(0) + ) + for i in 1:10 +] + +# Build TLAS +tlas = build_tlas([blas], instances) + +# Trace ray +ray = Ray(o=Point3f(0, 0, -5), d=Vec3f(0, 0, 1)) +hit, tri, t, bary, inst_id = closest_hit(tlas, ray) + +if hit + println("Hit instance $inst_id at distance $t") + hit_point = ray.o + ray.d * t + println("Hit point: $hit_point") +end +``` diff --git a/docs/src/test_wavefront.jl b/docs/src/test_wavefront.jl index ee0f86d..7dd42fc 100644 --- a/docs/src/test_wavefront.jl +++ b/docs/src/test_wavefront.jl @@ -22,8 +22,7 @@ begin @btime render!(renderer) nothing end -renderer.framebuffer -renderer_instanced.framebuffer + begin img = fill(RGBf(0, 0, 0), 400, 720) renderer_instanced = WavefrontRenderer( @@ -36,7 +35,6 @@ begin @btime render!(renderer_instanced) # on windows + ryzen 395 max # 381.034 ms (1200456 allocations: 90.13 MiB) - nothing end using ImageShow @@ -59,5 +57,3 @@ r = Raycore.Ray(o=Point3f(0, 0, 0), d=Vec3f(0, 0, 1), t_max=0.0f0) function test(bvh) meshes = getfield(bvh, :meshes) end - -typeof(test(ibvh)) diff --git a/docs/src/wavefront_dynamic.jl b/docs/src/wavefront_dynamic.jl new file mode 100644 index 0000000..fc143b2 --- /dev/null +++ b/docs/src/wavefront_dynamic.jl @@ -0,0 +1,225 @@ +# Dynamic Scene Example - Animated TLAS with Transform Updates +# +# This example demonstrates efficient dynamic scene updates using TLAS. +# Instead of rebuilding the entire acceleration structure each frame, +# we update instance transforms and refit the TLAS - much faster! + +using Revise +using Raycore +using Raycore: update_instance_transform!, refit_tlas! +using KernelAbstractions +using GeometryBasics, Colors, LinearAlgebra +import Makie +using Makie: RGBf +import KernelAbstractions as KA +using FileIO, ImageCore + +# Load helper functions +include("raytracing-core.jl") +include("wavefront-renderer.jl") + +""" +Create a rotation matrix around the Y axis. +""" +function rotation_y(angle::Float32)::Mat4f + c, s = cos(angle), sin(angle) + Mat4f( + c, 0, s, 0, + 0, 1, 0, 0, + -s, 0, c, 0, + 0, 0, 0, 1 + ) +end + +""" +Create a translation matrix. +""" +function translation(x::Float32, y::Float32, z::Float32)::Mat4f + Mat4f( + 1, 0, 0, x, + 0, 1, 0, y, + 0, 0, 1, z, + 0, 0, 0, 1 + ) +end + +""" +Create a scale matrix. +""" +function scaling(sx::Float32, sy::Float32, sz::Float32)::Mat4f + Mat4f( + sx, 0, 0, 0, + 0, sy, 0, 0, + 0, 0, sz, 0, + 0, 0, 0, 1 + ) +end + +""" +Create a dynamic scene with objects that can be animated. +Returns TLAS for efficient transform updates. +""" +function create_dynamic_scene() + # Create simple geometries + # Sphere that will orbit + sphere1 = Tesselation(Sphere(Point3f(0, 0, 0), 0.5f0), 32) + + # Another sphere that will bounce + sphere2 = Tesselation(Sphere(Point3f(0, 0, 0), 0.4f0), 32) + + # A cube that will rotate + cube = normal_mesh(Rect3f(Vec3f(-0.4f0), Vec3f(0.8f0))) + + # Static floor + floor = normal_mesh(Rect3f(Vec3f(-4, -1, -4), Vec3f(8, 0.01, 8))) + + # Back wall + back_wall = normal_mesh(Rect3f(Vec3f(-4, -1, 4), Vec3f(8, 4, 0.01))) + + # Materials + materials = [ + Material(RGB(0.9f0, 0.2f0, 0.2f0), 0.3f0, 0.4f0, 1.0f0, 0.0f0), # Red sphere + Material(RGB(0.2f0, 0.9f0, 0.2f0), 0.5f0, 0.2f0, 1.0f0, 0.0f0), # Green sphere + Material(RGB(0.2f0, 0.2f0, 0.9f0), 0.0f0, 0.6f0, 1.0f0, 0.0f0), # Blue cube + Material(RGB(0.4f0, 0.4f0, 0.4f0), 0.0f0, 0.9f0, 1.0f0, 0.0f0), # Gray floor + Material(RGB(0.8f0, 0.7f0, 0.6f0), 0.0f0, 0.8f0, 1.0f0, 0.0f0), # Beige wall + ] + + geometries = [sphere1, sphere2, cube, floor, back_wall] + + # Build initial TLAS + println("Building initial TLAS...") + tlas = Raycore.TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + + println("TLAS created with $(length(tlas.instances)) instances") + + lights = default_lights() + ctx = RenderContext(lights, materials, 0.1f0) + + return tlas, ctx +end + +""" +Update transforms for frame t (0 to 1 for one animation cycle). +Uses TLAS directly - no wrapper needed since TLAS has mutable arrays! +""" +function update_scene!(tlas::Raycore.TLAS, t::Float32) + # Instance 1: Red sphere orbits around center + orbit_radius = 1.5f0 + orbit_angle = t * 2f0 * Float32(pi) + x1 = orbit_radius * cos(orbit_angle) + z1 = orbit_radius * sin(orbit_angle) + transform1 = translation(x1, 0.0f0, z1) + update_instance_transform!(tlas, 1, transform1) + + # Instance 2: Green sphere bounces up and down + bounce_height = 0.5f0 + 0.8f0 * abs(sin(t * 4f0 * Float32(pi))) + transform2 = translation(-1.5f0, bounce_height, 0.0f0) + update_instance_transform!(tlas, 2, transform2) + + # Instance 3: Blue cube rotates and moves + cube_angle = t * 3f0 * Float32(pi) + cube_x = 1.0f0 * sin(t * 2f0 * Float32(pi)) + transform3 = translation(cube_x, 0.0f0, -1.0f0) * rotation_y(cube_angle) + update_instance_transform!(tlas, 3, transform3) + + # Instance 4 & 5: Floor and wall are static (identity transform already set) + + # Refit TLAS with updated transforms + refit_tlas!(tlas) +end + +""" +Render a single frame. +""" +function render_frame!(img, tlas, ctx) + renderer = WavefrontRenderer(img, tlas, ctx) + render!(renderer) +end + +# ============================================================================== +# Main Animation Loop +# ============================================================================== + +println("\n" * "="^70) +println("Dynamic Scene Example - Animated TLAS") +println("="^70) + +# Create scene +tlas, ctx = create_dynamic_scene() + +# Animation parameters +num_frames = 60 +width, height = 400, 300 + +println("\nRendering $num_frames frames...") +println(" Resolution: $(width)x$(height)") + +# Render animation frames +frames = Vector{Matrix{RGB{Float32}}}(undef, num_frames) + +# Warmup +img_warmup = fill(RGBf(0, 0, 0), height, width) +update_scene!(tlas, 0.0f0) +render_frame!(img_warmup, tlas, ctx) + +# Time the animation +total_time = @elapsed begin + for frame in 1:num_frames + t = Float32((frame - 1) / num_frames) + + # Update transforms and refit TLAS + update_scene!(tlas, t) + + # Render frame + img = fill(RGBf(0, 0, 0), height, width) + render_frame!(img, tlas, ctx) + frames[frame] = img + + if frame % 10 == 0 + println(" Frame $frame/$num_frames") + end + end +end + +avg_fps = num_frames / total_time +println("\nAnimation complete!") +println(" Total time: $(round(total_time, digits=2))s") +println(" Average FPS: $(round(avg_fps, digits=1))") + +# Save first, middle, and last frames +println("\nSaving sample frames...") +save("dynamic_frame_001.png", map(clamp01nan, frames[1])) +save("dynamic_frame_030.png", map(clamp01nan, frames[30])) +save("dynamic_frame_060.png", map(clamp01nan, frames[60])) +println("Saved: dynamic_frame_001.png, dynamic_frame_030.png, dynamic_frame_060.png") + +# Benchmark refit vs rebuild +println("\n" * "="^70) +println("Benchmarking: Refit vs Rebuild") +println("="^70) + +using BenchmarkTools + +# Benchmark refit only +refit_time = @belapsed begin + update_scene!($tlas, 0.5f0) +end + +println(" Refit time: $(round(refit_time * 1000, digits=3)) ms") + +# For comparison: time to rebuild entire TLAS +geometries = [ + Tesselation(Sphere(Point3f(0, 0, 0), 0.5f0), 32), + Tesselation(Sphere(Point3f(0, 0, 0), 0.4f0), 32), + normal_mesh(Rect3f(Vec3f(-0.4f0), Vec3f(0.8f0))), + normal_mesh(Rect3f(Vec3f(-4, -1, -4), Vec3f(8, 0.01, 8))), + normal_mesh(Rect3f(Vec3f(-4, -1, 4), Vec3f(8, 4, 0.01))), +] + +rebuild_time = @belapsed begin + Raycore.TLAS($geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +end + +println(" Rebuild time: $(round(rebuild_time * 1000, digits=3)) ms") +println(" Speedup: $(round(rebuild_time / refit_time, digits=1))x faster with refit!") diff --git a/docs/src/wavefront_instanced.jl b/docs/src/wavefront_instanced.jl new file mode 100644 index 0000000..da5d9f2 --- /dev/null +++ b/docs/src/wavefront_instanced.jl @@ -0,0 +1,105 @@ +using Revise +using Raycore +using Raycore: to_gpu +using KernelAbstractions +using KernelAbstractions: @kernel, @index, @Const +using GeometryBasics, Colors, LinearAlgebra +import Makie +using Makie: RGBf +import KernelAbstractions as KA +using ImageShow +using BenchmarkTools + +# Load helper functions +include("raytracing-core.jl") +include("wavefront-renderer.jl") + +function example_scene_tlas(; glass_cat=false) + cat_mesh = Makie.loadasset("cat.obj") + angle = deg2rad(150f0) + rotation = Makie.Quaternionf(0, sin(angle/2), 0, cos(angle/2)) + rotated_coords = [rotation * Point3f(v) for v in coordinates(cat_mesh)] + + # Get bounding box and translate cat to sit on the floor + cat_bbox = Rect3f(rotated_coords) + floor_y = -1.5f0 + cat_offset = Vec3f(0, floor_y - cat_bbox.origin[2], 0) + + cat_mesh = GeometryBasics.normal_mesh( + [v + cat_offset for v in rotated_coords], + GeometryBasics.faces(cat_mesh) + ) + + # Create a simple room: floor, back wall, and side wall + floor = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(10, 0.01, 10))) + back_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, 8), Vec3f(10, 5, 0.01))) + left_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(0.01, 5, 10))) + + # Add a couple of spheres for visual interest + sphere1 = Tesselation(Sphere(Point3f(-2, -1.5 + 0.8, 2), 0.8f0), 64) + sphere2 = Tesselation(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0), 64) + + # Material: base_color, metallic, roughness, ior, transmission + cat_material = if glass_cat + Material(RGB(0.95f0, 1.0f0, 0.95f0), 0.0f0, 0.0f0, 1.5f0, 1.0f0) + else + Material(RGB(0.8f0, 0.6f0, 0.4f0), 0.0f0, 0.8f0, 1.0f0, 0.0f0) + end + + # (geometry, material) pairs + scene = [ + (cat_mesh, cat_material), + (floor, Material(RGB(0.3f0, 0.5f0, 0.3f0), 0.0f0, 0.9f0, 1.0f0, 0.0f0)), + (back_wall, Material(RGB(0.8f0, 0.6f0, 0.5f0), 0.8f0, 0.05f0, 1.0f0, 0.0f0)), + (left_wall, Material(RGB(0.7f0, 0.7f0, 0.8f0), 0.0f0, 0.8f0, 1.0f0, 0.0f0)), + (sphere1, Material(RGB(0.9f0, 0.9f0, 0.9f0), 0.8f0, 0.02f0, 1.0f0, 0.0f0)), + (sphere2, Material(RGB(0.3f0, 0.6f0, 0.9f0), 0.5f0, 0.3f0, 1.0f0, 0.0f0)), + ] + + geometries = [g for (g, _) in scene] + materials = [m for (_, m) in scene] + + println("\nBuilding TLAS (instanced BVH)...") + println(" Each mesh becomes its own BLAS with a single instance") + + # Use TLAS instead of BVH - drop-in replacement! + tlas = Raycore.TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + + println("✓ TLAS built:") + println(" Instances: $(length(tlas.instances))") + println(" BLAS array: $(length(tlas.blas_array))") + println(" TLAS nodes: $(length(tlas.nodes))") + println(" Root AABB: $(tlas.root_aabb)") + + lights = default_lights() + ctx = RenderContext(lights, materials, 0.1f0) + return tlas, ctx +end + +println("\n" * "="^70) +println("Creating scene with TLAS...") +println("="^70) + +tlas, ctx = example_scene_tlas() + +println("\n" * "="^70) +println("Rendering image...") +println("="^70) + +# ibvh = Raycore.InstancedBVH(geom) +begin + img = fill(RGBf(0, 0, 0), 400, 720) + # Use original camera parameters to match pre-look-at benchmark image + renderer = WavefrontRenderer(img, tlas, ctx; + camera_pos=Point3f(0, -0.9, -2.5), + camera_lookat=Point3f(0, -0.9, 10), # Look in +Z direction + camera_up=Vec3f(0, 1, 0), # Y up + fov=45.0f0, + sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), + samples_per_pixel=4 + ) + @btime render!(renderer) +end +using FileIO, ImageCore + +save("wavefront_instanced.png", map(clamp01nan, img)) diff --git a/docs/src/wavefront_lego.jl b/docs/src/wavefront_lego.jl new file mode 100644 index 0000000..ffb545f --- /dev/null +++ b/docs/src/wavefront_lego.jl @@ -0,0 +1,399 @@ +# ============================================================================== +# Animated Lego Figure - TLAS Dynamic Scene Demo +# ============================================================================== +# +# This example demonstrates the power of instanced BVH (TLAS/BLAS) for animated scenes. +# Each body part is a separate BLAS instance that can be transformed independently. +# Animation updates only require refitting the TLAS - no geometry rebuild needed! +# +# Based on the Lego figure model by Kevin-Mattheus-Moerman +# https://twitter.com/KMMoerman/status/1417759722963415041 + +using Revise +using Raycore +using Raycore: update_instance_transform!, refit_tlas!, Mat4f +using KernelAbstractions +using GeometryBasics, Colors, LinearAlgebra +using FileIO, MeshIO +import Makie +using Makie: RGBf +import KernelAbstractions as KA +using ImageCore + +# Load helper functions +include("raytracing-core.jl") +include("wavefront-renderer.jl") + +const IDENTITY = Mat4f(I) + +# ============================================================================== +# Transform Utilities +# ============================================================================== + +"""Create a rotation matrix around an arbitrary axis (Rodrigues' formula). +Note: Mat4f uses column-major storage, so values are specified column by column.""" +function rotation_axis(axis::Vec3f, angle::Float32)::Mat4f + axis = normalize(axis) + c, s = cos(angle), sin(angle) + t = 1.0f0 - c + x, y, z = axis[1], axis[2], axis[3] + + # Column-major: each group of 4 values is one column + Mat4f( + t*x*x + c, t*x*y + s*z, t*x*z - s*y, 0, # column 1 + t*x*y - s*z, t*y*y + c, t*y*z + s*x, 0, # column 2 + t*x*z + s*y, t*y*z - s*x, t*z*z + c, 0, # column 3 + 0, 0, 0, 1 # column 4 + ) +end + +"""Create a translation matrix. +Note: Mat4f uses column-major storage, translation goes in column 4.""" +function translation(v::Union{Vec3f, Point3f})::Mat4f + # Column-major: translation in column 4, rows 1-3 + Mat4f( + 1, 0, 0, 0, # column 1 + 0, 1, 0, 0, # column 2 + 0, 0, 1, 0, # column 3 + v[1], v[2], v[3], 1 # column 4 + ) +end + +# ============================================================================== +# Lego Figure Configuration +# ============================================================================== + +# Part colors (matching original RPRMakie example) +const LEGO_COLORS = Dict( + "eyes_mouth" => RGB(0.0f0, 0.0f0, 0.0f0), + "belt" => RGB(0.0f0, 0.0f0, 0.35f0), + "arm_right" => RGB(0.0f0, 0.6f0, 0.15f0), + "arm_left" => RGB(0.0f0, 0.6f0, 0.15f0), + "hand_right" => RGB(1.0f0, 0.85f0, 0.0f0), + "hand_left" => RGB(1.0f0, 0.85f0, 0.0f0), + "leg_right" => RGB(0.2f0, 0.4f0, 0.9f0), + "leg_left" => RGB(0.2f0, 0.4f0, 0.9f0), + "torso" => RGB(0.84f0, 0.06f0, 0.15f0), + "head" => RGB(1.0f0, 0.85f0, 0.0f0), +) + +# Joint pivot points (in local mesh coordinates) +const JOINT_ORIGINS = Dict( + "arm_right" => Point3f(0.1427, -6.2127, 5.7342), + "arm_left" => Point3f(0.1427, 6.2127, 5.7342), + "leg_right" => Point3f(0, -1, -8.2), + "leg_left" => Point3f(0, 1, -8.2), +) + +# Rotation axes for joints +const ROTATION_AXES = Dict( + "arm_right" => Vec3f(0.0, -0.9828, 0.1848), + "arm_left" => Vec3f(0.0, 0.9828, 0.1848), + "leg_right" => Vec3f(0, -1, 0), + "leg_left" => Vec3f(0, 1, 0), +) + +# Order of parts for instance indexing +const PART_ORDER = [ + "torso", "head", "eyes_mouth", + "arm_right", "hand_right", + "arm_left", "hand_left", + "belt", "leg_right", "leg_left", + "floor" +] + +# Parent relationships: child => parent +const PART_PARENTS = Dict( + "head" => "torso", + "eyes_mouth" => "head", + "arm_right" => "torso", + "hand_right" => "arm_right", + "arm_left" => "torso", + "hand_left" => "arm_left", + "belt" => "torso", + "leg_right" => "belt", + "leg_left" => "belt", +) + +# ============================================================================== +# Scene Creation +# ============================================================================== + +"""Load a lego part mesh from Makie assets.""" +function load_lego_part(name::String) + path = Makie.assetpath("lego_figure_$name.stl") + mesh = load(path) + return normal_mesh(mesh) +end + +""" +Create the lego scene with TLAS. +Returns (tlas, ctx, materials) +""" +function create_lego_scene() + println("Loading lego figure parts...") + + geometries = [] + materials = Material[] + + # Load all body parts + for part_name in PART_ORDER[1:end-1] # Exclude floor + mesh = load_lego_part(part_name) + push!(geometries, mesh) + + color = get(LEGO_COLORS, part_name, RGB(0.5f0, 0.5f0, 0.5f0)) + # Slight metallic sheen on plastic + mat = Material(color, 0.1f0, 0.4f0, 1.0f0, 0.0f0) + push!(materials, mat) + + println(" Loaded $part_name: $(length(faces(mesh))) triangles") + end + + # Add floor + floor_mesh = normal_mesh(Rect3f(Vec3f(-100, -100, -2), Vec3f(200, 200, 2))) + push!(geometries, floor_mesh) + push!(materials, Material(RGB(0.95f0, 0.95f0, 0.95f0), 0.0f0, 0.9f0, 1.0f0, 0.0f0)) + + println("\nBuilding TLAS...") + tlas = Raycore.TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + println(" Instances: $(length(tlas.instances))") + + # Create lights + lights = [ + PointLight(Point3f(50, 0, 100), 8000.0f0, RGB(1.0f0, 0.95f0, 0.9f0)), + PointLight(Point3f(-30, 40, 60), 3000.0f0, RGB(0.8f0, 0.85f0, 1.0f0)), + PointLight(Point3f(0, -50, 80), 2000.0f0, RGB(1.0f0, 1.0f0, 1.0f0)), + ] + + ctx = RenderContext(lights, materials, 0.15f0) + + return tlas, ctx +end + +"""Get the instance index for a named part.""" +part_index(name::String) = findfirst(==(name), PART_ORDER) + +""" +Compute rotation around a joint pivot point. +Returns transform that rotates around the pivot. +""" +function joint_rotation(pivot::Point3f, axis::Vec3f, angle::Float32)::Mat4f + # Translate to pivot, rotate, translate back + translation(Vec3f(pivot)) * rotation_axis(axis, angle) * translation(-Vec3f(pivot)) +end + +""" +Update all instance transforms for the walking animation. + +joint_angles: Dict mapping joint names to rotation angles +figure_pos: Overall figure position (x translation for walking) +""" +function update_walking_pose!(tlas, joint_angles::Dict{String, Float32}, figure_pos::Vec3f) + # Compute transforms for each part, respecting hierarchy + transforms = Dict{String, Mat4f}() + + # Base transform: lift figure by 20 units (matches RPRMakie example) and translate + base_transform = translation(figure_pos + Vec3f(0, 0, 20)) + + # Torso gets base transform only + transforms["torso"] = base_transform + + # Process parts in order (parents before children due to PART_ORDER) + for part_name in PART_ORDER[1:end-1] # Exclude floor + if part_name == "torso" + continue # Already handled + end + + # Get parent transform + parent_name = get(PART_PARENTS, part_name, "torso") + parent_transform = get(transforms, parent_name, base_transform) + + # Start with parent transform + transform = parent_transform + + # Add joint rotation if this part has one + if haskey(JOINT_ORIGINS, part_name) && haskey(joint_angles, part_name) + pivot = JOINT_ORIGINS[part_name] + axis = ROTATION_AXES[part_name] + angle = joint_angles[part_name] + transform = transform * joint_rotation(pivot, axis, angle) + end + + transforms[part_name] = transform + end + + # Apply transforms to TLAS instances + for (i, part_name) in enumerate(PART_ORDER) + if part_name == "floor" + update_instance_transform!(tlas, i, IDENTITY) + else + update_instance_transform!(tlas, i, transforms[part_name]) + end + end + + refit_tlas!(tlas) +end + +""" +Generate the walking angle sequence following the RPRMakie reference. + +Returns a vector of angles: [0→max, max→0, 0→-max, -max→0] +All limbs use the SAME angle - the rotation axes have opposite signs for +left/right limbs, so applying the same angle creates natural alternating motion. +""" +function generate_walk_cycle()::Vector{Float32} + rot_joints_by = 0.25f0 * Float32(pi) + animation_strides = 10 + + a1 = collect(LinRange(0.0f0, rot_joints_by, animation_strides)) + return Vector{Float32}(vcat( + a1, + reverse(a1[1:end-1]), + -a1[2:end], + reverse(-a1[1:end-1]) + )) +end + +""" +Get joint angles for a specific frame in the walk cycle. +All limbs get the same angle - the axes handle the opposition. +""" +function walking_angles(frame_idx::Int, angle_sequence::Vector{Float32})::Dict{String, Float32} + idx = mod1(frame_idx, length(angle_sequence)) + angle = angle_sequence[idx] + + return Dict{String, Float32}( + "arm_right" => angle, + "arm_left" => angle, + "leg_right" => angle, + "leg_left" => angle, + ) +end + +# ============================================================================== +# Main Animation +# ============================================================================== + +println("\n" * "="^70) +println("Animated Lego Figure - TLAS Dynamic Scene Demo") +println("="^70) + +# Create scene with adjusted lighting (dimmer for better visuals) +tlas, ctx_original = create_lego_scene() + +# Create dimmer lighting context +lights_dim = [ + PointLight(Point3f(50, 0, 100), 5000.0f0, RGB(1.0f0, 0.95f0, 0.9f0)), + PointLight(Point3f(-30, 40, 60), 2000.0f0, RGB(0.8f0, 0.85f0, 1.0f0)), + PointLight(Point3f(0, -50, 80), 1500.0f0, RGB(1.0f0, 1.0f0, 1.0f0)), +] +ctx = RenderContext(lights_dim, ctx_original.materials, 0.12f0) + +# Generate walk cycle angles (following RPRMakie reference) +angle_sequence = generate_walk_cycle() +nsteps = length(angle_sequence) + +# Animation parameters - match RPRMakie +total_translation = 50.0f0 +num_frames = nsteps # One frame per angle step +width, height = 1920, 1080 +frames_dir = "lego_walk_frames" + +# Camera positioned like RPRMakie: Vec3f(100, 30, 80) looking at Vec3f(0, 0, -10) +# Figure walks in +X direction toward the camera +camera_pos = Point3f(100, 30, 80) +camera_lookat = Point3f(0, 0, 10) # Look at figure height + +println("\nRendering $num_frames frames...") +println(" Resolution: $(width)x$(height)") +println(" Output: $frames_dir/") +println(" Walk cycle: $nsteps steps") + +# Create output directory +rm(frames_dir; recursive=true) +mkpath(frames_dir) + +# Set initial pose +update_walking_pose!(tlas, walking_angles(1, angle_sequence), Vec3f(0, 0, 0)) + +# Warmup render +println("\nWarmup render...") +img_warmup = fill(RGBf(0, 0, 0), height, width) +renderer = WavefrontRenderer(img_warmup, tlas, ctx; + camera_pos=camera_pos, + camera_lookat=camera_lookat, + camera_up=Vec3f(0, 0, 1), + fov=40.0f0, + sky_color=RGB{Float32}(0.6f0, 0.75f0, 0.95f0), + samples_per_pixel=8 +) +render!(renderer) + +# Animation: figure walks forward toward camera (like RPRMakie) +println("\nRendering animation...") +translations = collect(LinRange(0.0f0, total_translation, nsteps)) + +total_time = @elapsed begin + for frame in 1:num_frames + # Get angle and translation for this frame + angles = walking_angles(frame, angle_sequence) + pos_x = translations[frame] + + # Update pose + update_walking_pose!(tlas, angles, Vec3f(pos_x, 0, 0)) + + # Render frame with fixed camera (figure walks toward it) + fill!(img_warmup, RGBf(0, 0, 0)) + render!(renderer) + + # Save frame with padded number + filename = joinpath(frames_dir, "frame_$(lpad(frame, 4, '0')).png") + save(filename, map(clamp01nan, img_warmup)) + + if frame % 10 == 0 || frame == 1 + println(" Frame $frame/$num_frames") + end + end +end + +avg_fps = num_frames / total_time +println("\nAnimation complete!") +println(" Total time: $(round(total_time, digits=2))s") +println(" Average FPS: $(round(avg_fps, digits=2))") + +# Create video using FFMPEG +println("\nCreating video...") +using FFMPEG_jll +video_output = "lego_walk.mp4" +run(`$(FFMPEG_jll.ffmpeg()) -y -framerate 30 -i $(frames_dir)/frame_%04d.png -c:v libx264 -pix_fmt yuv420p $video_output`) +println("Video saved: $video_output") + +# Performance comparison +println("\n" * "="^70) +println("Performance: TLAS Refit vs Full Rebuild") +println("="^70) + +using BenchmarkTools + +# Benchmark pose update + refit +refit_time = @belapsed begin + angles = walking_angles(15, $angle_sequence) + update_walking_pose!($tlas, angles, Vec3f(15, 0, 0)) +end + +println(" Pose update + refit: $(round(refit_time * 1000, digits=3)) ms") + +# Benchmark full rebuild +geometries_rebuild = vcat( + [load_lego_part(p) for p in PART_ORDER[1:end-1]], + [normal_mesh(Rect3f(Vec3f(-100, -100, -2), Vec3f(200, 200, 2)))] +) + +rebuild_time = @belapsed begin + Raycore.TLAS($geometries_rebuild, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +end + +println(" Full TLAS rebuild: $(round(rebuild_time * 1000, digits=3)) ms") +println(" Speedup: $(round(rebuild_time / refit_time, digits=1))x faster with refit!") + +println("\nDone!") diff --git a/docs/src/wavefront_particles.jl b/docs/src/wavefront_particles.jl new file mode 100644 index 0000000..866af23 --- /dev/null +++ b/docs/src/wavefront_particles.jl @@ -0,0 +1,435 @@ +# ============================================================================== +# Particle Simulation - TLAS Instancing Demo with 10k+ Particles +# ============================================================================== +# +# This example demonstrates massive instancing with TLAS: +# - 10,000+ sphere particles sharing a single BLAS +# - Dynamic transforms (position updates each frame) +# - Material changes based on particle velocity (heating effect) +# - Efficient TLAS refit instead of full rebuild +# + +using Revise +using Raycore +using Raycore: update_instance_transform!, refit_tlas!, Mat4f, TLAS, BLAS +using Raycore: build_blas, build_tlas, InstanceDescriptor, Triangle +using KernelAbstractions +using GeometryBasics, Colors, LinearAlgebra +import Makie +using Makie: RGBf +import KernelAbstractions as KA +using ImageCore +using FileIO + +# Load helper functions +include("raytracing-core.jl") +include("wavefront-renderer.jl") + +# ============================================================================== +# Particle System +# ============================================================================== + +struct Particle + position::Point3f + velocity::Vec3f + radius::Float32 +end + +mutable struct ParticleSystem + particles::Vector{Particle} + bounds_min::Point3f + bounds_max::Point3f + gravity::Vec3f + damping::Float32 +end + +"""Create a particle system with random initial positions and velocities.""" +function ParticleSystem(n_particles::Int; + bounds_min=Point3f(-50, -50, 0), + bounds_max=Point3f(50, 50, 100), + radius_range=(0.3f0, 0.8f0)) + + particles = Particle[] + + for _ in 1:n_particles + # Random position within bounds + pos = Point3f( + bounds_min[1] + rand(Float32) * (bounds_max[1] - bounds_min[1]), + bounds_min[2] + rand(Float32) * (bounds_max[2] - bounds_min[2]), + bounds_min[3] + rand(Float32) * (bounds_max[3] - bounds_min[3]) + ) + + # Random initial velocity (mostly upward with some spread) + vel = Vec3f( + (rand(Float32) - 0.5f0) * 20, + (rand(Float32) - 0.5f0) * 20, + rand(Float32) * 30 + 10 + ) + + # Random radius + r = radius_range[1] + rand(Float32) * (radius_range[2] - radius_range[1]) + + push!(particles, Particle(pos, vel, r)) + end + + ParticleSystem(particles, bounds_min, bounds_max, Vec3f(0, 0, -30), 0.98f0) +end + +"""Update particle positions with simple physics.""" +function step!(ps::ParticleSystem, dt::Float32) + for i in eachindex(ps.particles) + p = ps.particles[i] + + # Apply gravity and update velocity + new_vel = (p.velocity + ps.gravity * dt) * ps.damping + + # Update position + new_pos = p.position + new_vel * dt + + # Bounce off boundaries + for dim in 1:3 + if new_pos[dim] - p.radius < ps.bounds_min[dim] + new_pos = set_comp(new_pos, ps.bounds_min[dim] + p.radius, dim) + new_vel = set_comp(new_vel, -new_vel[dim] * 0.8f0, dim) + elseif new_pos[dim] + p.radius > ps.bounds_max[dim] + new_pos = set_comp(new_pos, ps.bounds_max[dim] - p.radius, dim) + new_vel = set_comp(new_vel, -new_vel[dim] * 0.8f0, dim) + end + end + + ps.particles[i] = Particle(new_pos, new_vel, p.radius) + end +end + +# Helper to set a single component of a Point3f/Vec3f (non-mutating) +set_comp(p::Point3f, val, idx) = idx == 1 ? Point3f(val, p[2], p[3]) : idx == 2 ? Point3f(p[1], val, p[3]) : Point3f(p[1], p[2], val) +set_comp(v::Vec3f, val, idx) = idx == 1 ? Vec3f(val, v[2], v[3]) : idx == 2 ? Vec3f(v[1], val, v[3]) : Vec3f(v[1], v[2], val) + +# ============================================================================== +# Scene Creation with Instanced Spheres +# ============================================================================== + +"""Create a translation matrix.""" +function translation(v::Union{Vec3f, Point3f})::Mat4f + Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + v[1], v[2], v[3], 1 + ) +end + +"""Create a uniform scale matrix.""" +function scale(s::Float32)::Mat4f + Mat4f( + s, 0, 0, 0, + 0, s, 0, 0, + 0, 0, s, 0, + 0, 0, 0, 1 + ) +end + +"""Map velocity magnitude to a heat color (blue -> red -> yellow -> white).""" +function velocity_to_color(speed::Float32, max_speed::Float32=50.0f0)::RGB{Float32} + t = clamp(speed / max_speed, 0.0f0, 1.0f0) + + if t < 0.25f0 + # Blue to cyan + s = t / 0.25f0 + RGB{Float32}(0.1f0, 0.2f0 + 0.5f0 * s, 0.8f0) + elseif t < 0.5f0 + # Cyan to green-yellow + s = (t - 0.25f0) / 0.25f0 + RGB{Float32}(0.1f0 + 0.6f0 * s, 0.7f0, 0.8f0 - 0.6f0 * s) + elseif t < 0.75f0 + # Yellow to orange-red + s = (t - 0.5f0) / 0.25f0 + RGB{Float32}(0.7f0 + 0.3f0 * s, 0.7f0 - 0.4f0 * s, 0.2f0 - 0.1f0 * s) + else + # Red to bright white-yellow (hot!) + s = (t - 0.75f0) / 0.25f0 + RGB{Float32}(1.0f0, 0.3f0 + 0.7f0 * s, 0.1f0 + 0.9f0 * s) + end +end + +"""Convert a mesh to triangles with a given metadata value. +Filters out degenerate (zero-area) triangles that can cause rendering artifacts. +UV-sphere tessellations create degenerate triangles at poles where vertices coincide.""" +function mesh_to_triangles(mesh, metadata::UInt32; min_area::Float32=1.0f-7) + tri_mesh = Raycore.to_triangle_mesh(mesh) + triangles = Raycore.Triangle{UInt32}[] + vertices = tri_mesh.vertices + + for i in 1:div(length(tri_mesh.indices), 3) + # Get vertex positions for this triangle + i0 = tri_mesh.indices[3*(i-1) + 1] + i1 = tri_mesh.indices[3*(i-1) + 2] + i2 = tri_mesh.indices[3*(i-1) + 3] + + v0 = vertices[i0] + v1 = vertices[i1] + v2 = vertices[i2] + + # Check triangle area to filter degenerate triangles + edge1 = v1 - v0 + edge2 = v2 - v0 + area = norm(cross(Vec3f(edge1...), Vec3f(edge2...))) / 2 + + if area >= min_area + push!(triangles, Raycore.Triangle(tri_mesh, i, metadata)) + end + end + return triangles +end + +""" +Create a TLAS with instanced spheres for the particle system. +All particles share a single unit sphere BLAS. +""" +function create_particle_scene(ps::ParticleSystem) + n_particles = length(ps.particles) + println("Creating particle scene with $n_particles particles...") + + # Create a single unit sphere BLAS (shared by all particles) + unit_sphere = normal_mesh(Tesselation(Sphere(Point3f(0), 1.0f0), 16)) + sphere_triangles = mesh_to_triangles(unit_sphere, UInt32(1)) + sphere_blas = build_blas(sphere_triangles) + println(" Unit sphere BLAS: $(length(sphere_blas.primitives)) triangles") + + # Box dimensions with some padding + bmin = ps.bounds_min + bmax = ps.bounds_max + pad = 10.0f0 + wall_thickness = 1.0f0 + + # Create floor BLAS (bottom) + floor_mesh = normal_mesh(Rect3f( + Vec3f(bmin[1] - pad, bmin[2] - pad, bmin[3] - wall_thickness), + Vec3f(bmax[1] - bmin[1] + 2pad, bmax[2] - bmin[2] + 2pad, wall_thickness) + )) + floor_triangles = mesh_to_triangles(floor_mesh, UInt32(n_particles + 1)) + floor_blas = build_blas(floor_triangles) + + # Create back wall BLAS (negative Y side) + back_wall_mesh = normal_mesh(Rect3f( + Vec3f(bmin[1] - pad, bmin[2] - pad - wall_thickness, bmin[3]), + Vec3f(bmax[1] - bmin[1] + 2pad, wall_thickness, bmax[3] - bmin[3] + pad) + )) + back_wall_triangles = mesh_to_triangles(back_wall_mesh, UInt32(n_particles + 2)) + back_wall_blas = build_blas(back_wall_triangles) + + # Create left wall BLAS (negative X side) + left_wall_mesh = normal_mesh(Rect3f( + Vec3f(bmin[1] - pad - wall_thickness, bmin[2] - pad, bmin[3]), + Vec3f(wall_thickness, bmax[2] - bmin[2] + 2pad, bmax[3] - bmin[3] + pad) + )) + left_wall_triangles = mesh_to_triangles(left_wall_mesh, UInt32(n_particles + 3)) + left_wall_blas = build_blas(left_wall_triangles) + + # BLAS array: [sphere, floor, back_wall, left_wall] + # Note: front and right walls omitted so camera can see inside the box + blas_array = [sphere_blas, floor_blas, back_wall_blas, left_wall_blas] + + # Create instances for each particle + instances = InstanceDescriptor[] + + # Particle instances (BLAS index 1 = sphere) + for (i, p) in enumerate(ps.particles) + transform = translation(Vec3f(p.position)) * scale(p.radius) + inv_transform = scale(1.0f0 / p.radius) * translation(-Vec3f(p.position)) + + inst = InstanceDescriptor( + UInt32(1), # blas_index (1-indexed) + UInt32(i), # instance_id (for material lookup) + transform, + inv_transform, + UInt32(0) # flags + ) + push!(instances, inst) + end + + # Wall instances (BLAS indices 2-4: floor, back_wall, left_wall) + for wall_idx in 2:4 + wall_inst = InstanceDescriptor( + UInt32(wall_idx), + UInt32(n_particles + wall_idx - 1), + Mat4f(I), + Mat4f(I), + UInt32(0) + ) + push!(instances, wall_inst) + end + + println(" Total instances: $(length(instances))") + + # Build TLAS + tlas = build_tlas(blas_array, instances) + println(" TLAS nodes: $(length(tlas.nodes))") + + # Create materials (one per particle + walls) + materials = Material[] + for (i, p) in enumerate(ps.particles) + speed = norm(p.velocity) + color = velocity_to_color(speed) + # Add noise to metallic based on particle index for variety + noise = sin(Float32(i) * 0.1f0) * 0.5f0 + 0.5f0 # 0 to 1 + metallic = 0.3f0 + noise * 0.6f0 # Range 0.3 to 0.9 + roughness = 0.2f0 + (1.0f0 - noise) * 0.4f0 # Inverse relationship with metallic + push!(materials, Material(color, metallic, roughness, 1.0f0, 0.0f0)) + end + # Floor material - mirror-like + push!(materials, Material(RGB(0.9f0, 0.9f0, 0.92f0), 1.0f0, 0.05f0, 1.0f0, 0.0f0)) + # Back wall - metallic with slight color + push!(materials, Material(RGB(0.8f0, 0.75f0, 0.7f0), 0.9f0, 0.1f0, 1.0f0, 0.0f0)) + # Left wall - mirror + push!(materials, Material(RGB(0.95f0, 0.95f0, 0.95f0), 1.0f0, 0.02f0, 1.0f0, 0.0f0)) + + # Lights - key light from above, fill light from camera direction, soft rim light + lights = [ + PointLight(Point3f(0, 0, 120), 3000.0f0, RGB(1.0f0, 0.98f0, 0.95f0)), # Key light (softer) + PointLight(Point3f(80, 70, 50), 15000.0f0, RGB(1.0f0, 1.0f0, 1.0f0)), # Fill from camera direction + PointLight(Point3f(-60, 40, 60), 8000.0f0, RGB(0.9f0, 0.92f0, 1.0f0)), # Soft rim light + ] + + ctx = RenderContext(lights, materials, 0.25f0) # Higher ambient for softer shadows + + return tlas, ctx, materials +end + +"""Update TLAS transforms and materials based on current particle state.""" +function update_particle_scene!(tlas, materials::Vector{Material}, ps::ParticleSystem) + for (i, p) in enumerate(ps.particles) + # Update transform + transform = translation(Vec3f(p.position)) * scale(p.radius) + update_instance_transform!(tlas, i, transform) + + # Update material color based on velocity, keep noise-based metallic + speed = norm(p.velocity) + color = velocity_to_color(speed) + noise = sin(Float32(i) * 0.1f0) * 0.5f0 + 0.5f0 + metallic = 0.3f0 + noise * 0.6f0 + roughness = 0.2f0 + (1.0f0 - noise) * 0.4f0 + materials[i] = Material(color, metallic, roughness, 1.0f0, 0.0f0) + end + + refit_tlas!(tlas) +end + +# ============================================================================== +# Main Animation +# ============================================================================== + +println("\n" * "="^70) +println("Particle Simulation - 10k Instanced Spheres Demo") +println("="^70) + +# Create particle system +n_particles = 1_0000 +println("\nInitializing $n_particles particles...") +ps = ParticleSystem(n_particles; + bounds_min=Point3f(-40, -40, 0), + bounds_max=Point3f(40, 40, 80) +) + +# Create scene +tlas, ctx, materials = create_particle_scene(ps) + +# Animation parameters +num_frames = 120 +dt = 1.0f0 / 30.0f0 +width, height = 1920, 1080 +frames_dir = "particle_frames" + +# Camera setup - closer to the action +camera_pos = Point3f(70, 55, 45) +camera_lookat = Point3f(0, 0, 30) + +println("\nRendering $num_frames frames...") +println(" Resolution: $(width)x$(height)") +println(" Particles: $n_particles") +println(" Output: $frames_dir/") + +# Create output directory +isdir(frames_dir) && rm(frames_dir; recursive=true) +mkpath(frames_dir) + +# Create renderer +img = fill(RGBf(0, 0, 0), height, width) +renderer = WavefrontRenderer(img, tlas, ctx; + camera_pos=camera_pos, + camera_lookat=camera_lookat, + camera_up=Vec3f(0, 0, 1), + fov=50.0f0, + sky_color=RGB{Float32}(0.05f0, 0.05f0, 0.1f0), # Dark sky + samples_per_pixel=8 +) + +# Warmup +println("\nWarmup render...") +render!(renderer) + +# Animation loop +println("\nRendering animation...") +total_time = @elapsed begin + for frame in 1:num_frames + # Step physics + step!(ps, dt) + + # Update scene (transforms + materials) - materials array is mutated in-place + update_particle_scene!(tlas, materials, ps) + + # Render (renderer holds references to tlas and ctx, so updates are visible) + fill!(img, RGBf(0, 0, 0)) + render!(renderer) + + # Save frame + filename = joinpath(frames_dir, "frame_$(lpad(frame, 4, '0')).png") + save(filename, map(clamp01nan, img)) + + if frame % 20 == 0 || frame == 1 + avg_speed = sum(norm(p.velocity) for p in ps.particles) / n_particles + println(" Frame $frame/$num_frames (avg speed: $(round(avg_speed, digits=1)))") + end + end +end + +avg_fps = num_frames / total_time +println("\nAnimation complete!") +println(" Total time: $(round(total_time, digits=2))s") +println(" Average FPS: $(round(avg_fps, digits=2))") +println(" Time per frame: $(round(total_time/num_frames*1000, digits=1))ms") + +# Create video +println("\nCreating video...") +using FFMPEG_jll +video_output = "particles.mp4" +run(`$(FFMPEG_jll.ffmpeg()) -y -framerate 30 -i $(frames_dir)/frame_%04d.png -c:v libx264 -pix_fmt yuv420p -crf 18 $video_output`) +println("Video saved: $video_output") + +# Performance stats +println("\n" * "="^70) +println("Performance Statistics") +println("="^70) + +using BenchmarkTools + +# Benchmark physics step +physics_time = @belapsed step!($ps, $dt) +println(" Physics step: $(round(physics_time * 1000, digits=3)) ms") + +# Benchmark TLAS update +update_time = @belapsed update_particle_scene!($tlas, $materials, $ps) +println(" TLAS update (transforms + refit): $(round(update_time * 1000, digits=3)) ms") + +# Benchmark render +render_time = @belapsed begin + fill!($img, RGBf(0, 0, 0)) + render!($renderer) +end +println(" Render: $(round(render_time * 1000, digits=1)) ms") + +println("\n Total triangles: $(n_particles * length(tlas.blas_array[1].primitives) + length(tlas.blas_array[2].primitives))") +println(" Unique BLAS geometries: $(length(tlas.blas_array))") +println(" Memory saved by instancing: ~$(round(n_particles * length(tlas.blas_array[1].primitives) * 48 / 1024 / 1024, digits=1)) MB") + +println("\nDone!") diff --git a/src/Raycore.jl b/src/Raycore.jl index 99a1592..46b55f2 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -40,6 +40,8 @@ include("transformations.jl") include("math.jl") include("triangle_mesh.jl") include("bvh.jl") +include("instanced-bvh.jl") +include("instanced-bvh-kernels.jl") include("kernel-abstractions.jl") include("kernels.jl") include("ray_intersection_session.jl") @@ -47,6 +49,9 @@ include("ray_intersection_session.jl") # Core types export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f +# Instanced BVH types +export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE + # Ray intersection functions export closest_hit, any_hit, world_bound diff --git a/src/instanced-bvh-kernels.jl b/src/instanced-bvh-kernels.jl new file mode 100644 index 0000000..d10c872 --- /dev/null +++ b/src/instanced-bvh-kernels.jl @@ -0,0 +1,365 @@ +# ============================================================================== +# Instanced BVH - GPU Kernels with KernelAbstractions +# ============================================================================== +# +# Follows KA best practices: +# - @kernel only for parallel dispatch +# - All logic in regular type-stable Julia functions +# - Minimal code inside @kernel functions + +import KernelAbstractions as KA +using KernelAbstractions: @index, @atomicswap + +# ============================================================================== +# GPU Kernel 1: Calculate Morton Codes +# ============================================================================== + +""" +Calculate Morton code for a single primitive. +This is a regular Julia function, callable from CPU or GPU. +""" +@inline function calculate_morton_code_for_prim( + prim_idx::Int, + primitives::AbstractVector{<:Triangle}, + scene_min::Point3f, + scene_extent::Vec3f +)::UInt32 + tri_aabb = world_bound(primitives[prim_idx]) + centroid = 0.5f0 * (tri_aabb.p_min + tri_aabb.p_max) + normalized = (centroid - scene_min) ./ scene_extent + return morton_code_30bit(normalized) +end + +"""GPU kernel: Parallel dispatch for Morton code calculation.""" +KA.@kernel function calculate_morton_codes_kernel!( + morton_codes, + primitives, + scene_min, + scene_extent +) + i = @index(Global, Linear) + @inbounds morton_codes[i] = calculate_morton_code_for_prim(i, primitives, scene_min, scene_extent) +end + +# ============================================================================== +# GPU Kernel 2: Emit Topology +# ============================================================================== + +""" +Build topology for one internal node. +Regular Julia function for testability. +""" +@inline function build_topology_for_node( + idx::Int32, + morton_codes::AbstractVector{UInt32}, + n_prims::Int32 +)::BVHNode2 + # Helper functions + @inline leaf_idx(j::Int32) = n_prims - Int32(1) + j + + # Find span + span_left, span_right = find_span_for_node(idx, morton_codes, n_prims) + + # Find split + split = find_split_in_span(span_left, span_right, morton_codes, n_prims) + + # Determine children + # If split is at boundary, it's a leaf. Otherwise it's a valid internal node. + child0 = (split == span_left) ? leaf_idx(split) : split + child1_idx = split + Int32(1) + child1 = (child1_idx == span_right) ? leaf_idx(child1_idx) : child1_idx + + return BVHNode2( + Point3f(0), Point3f(0), Point3f(0), Point3f(0), + UInt32(child0), UInt32(child1), INVALID_NODE + ) +end + +"""GPU kernel: Parallel topology emission.""" +KA.@kernel function emit_topology_kernel!(nodes, morton_codes, n_prims::Int32) + i = @index(Global, Linear) + idx = Int32(i) + if idx < n_prims + @inbounds nodes[idx] = build_topology_for_node(idx, morton_codes, n_prims) + end +end + +# ============================================================================== +# GPU Kernel 3: Set Parent Pointers +# ============================================================================== + +"""Set parent pointers for one node's children. Regular Julia function.""" +@inline function set_parents_for_node( + node_idx::Int32, + nodes::AbstractVector{BVHNode2} +)::Tuple{Int32, BVHNode2, Int32, BVHNode2} + @inbounds node = nodes[node_idx] + child0_idx = Int32(node.child0) + child1_idx = Int32(node.child1) + + @inbounds old0 = nodes[child0_idx] + @inbounds old1 = nodes[child1_idx] + + new0 = BVHNode2( + old0.aabb0_min, old0.aabb0_max, old0.aabb1_min, old0.aabb1_max, + old0.child0, old0.child1, UInt32(node_idx) + ) + new1 = BVHNode2( + old1.aabb0_min, old1.aabb0_max, old1.aabb1_min, old1.aabb1_max, + old1.child0, old1.child1, UInt32(node_idx) + ) + + return (child0_idx, new0, child1_idx, new1) +end + +"""GPU kernel: Parallel parent pointer assignment.""" +KA.@kernel function set_parent_pointers_kernel!(nodes, n_prims::Int32) + i = @index(Global, Linear) + idx = Int32(i) + if idx < n_prims + child0_idx, new0, child1_idx, new1 = set_parents_for_node(idx, nodes) + @inbounds nodes[child0_idx] = new0 + @inbounds nodes[child1_idx] = new1 + end +end + +# ============================================================================== +# GPU Kernel 4: Create Leaf Nodes +# ============================================================================== + +"""Create leaf node for one primitive. Regular Julia function.""" +@inline function create_leaf_for_prim( + prim_idx::Int, + primitives::AbstractVector{<:Triangle}, + parent_node::BVHNode2, + n_prims::Int32 +)::BVHNode2 + # Store triangle vertices directly in leaf node (BVH2IL format) + tri = primitives[prim_idx] + verts = tri.vertices + v0 = verts[1] + v1 = verts[2] + v2 = verts[3] + + return BVHNode2( + v0, v1, v2, Point3f(0), # Store v0, v1, v2 in aabb slots + INVALID_NODE, UInt32(prim_idx), parent_node.parent + ) +end + +"""GPU kernel: Parallel leaf node creation.""" +KA.@kernel function create_leaf_nodes_kernel!(nodes, primitives, n_prims::Int32) + i = @index(Global, Linear) + if i <= n_prims + @inline leaf_idx(j::Int) = Int(n_prims) - 1 + j + leaf_node_idx = leaf_idx(i) + @inbounds parent_node = nodes[leaf_node_idx] + @inbounds nodes[leaf_node_idx] = create_leaf_for_prim(i, primitives, parent_node, n_prims) + end +end + +# ============================================================================== +# Refit AABBs Kernel (Parallel Bottom-Up) +# ============================================================================== + +""" +Parallel bottom-up AABB refit using atomic counters. + +Each thread starts at a leaf and walks up the tree. Uses atomic operations +to ensure each internal node is updated exactly once after both children are ready. +Based on RadeonRays Refit kernel. +""" +KA.@kernel function refit_aabbs_kernel!( + nodes, + update_flags, + n_prims::Int32 +) + prim_idx = @index(Global, Linear) + + # Start at parent of this leaf + leaf_idx = leaf_index(prim_idx, n_prims) + @inbounds parent_idx = nodes[leaf_idx].parent + + # Walk up the tree + while parent_idx != INVALID_NODE + # Atomic exchange: mark this node as visited + # If old_value == 0: we're first thread, bail out + # If old_value == 1: we're second thread, update AABB and continue + old_value = @inbounds @atomicswap update_flags[parent_idx] = UInt32(1) + + if old_value == UInt32(1) + # Second thread arrived - compute AABB from both children + @inbounds begin + node = nodes[parent_idx] + child0 = node.child0 + child1 = node.child1 + + is_child0_internal = child0 < n_prims + is_child1_internal = child1 < n_prims + + aabb0 = get_node_aabb(nodes[child0], is_child0_internal) + aabb1 = get_node_aabb(nodes[child1], is_child1_internal) + + # Update this node's AABBs + updated_node = BVHNode2( + aabb0.p_min, aabb0.p_max, + aabb1.p_min, aabb1.p_max, + node.child0, node.child1, node.parent + ) + nodes[parent_idx] = updated_node + + # Move to parent + parent_idx = node.parent + end + else + # First thread - bail out + break + end + end +end + +# ============================================================================== +# TLAS-Specific Kernels +# ============================================================================== + +""" +Calculate Morton code for a single instance centroid. +""" +@inline function calculate_tlas_morton_code( + inst_idx::Int, + instances::AbstractVector{InstanceDescriptor}, + blas_array::AbstractVector{<:BLAS}, + scene_min::Point3f, + scene_extent::Vec3f +)::UInt32 + inst = instances[inst_idx] + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + # Transform centroid to world space + local_center = 0.5f0 * (local_aabb.p_min + local_aabb.p_max) + world_center = transform_point(inst.transform, local_center) + + # Normalize and compute Morton code + normalized = (world_center - scene_min) ./ scene_extent + return morton_code_30bit(normalized) +end + +"""GPU kernel: Calculate Morton codes for TLAS instances.""" +KA.@kernel function calculate_tlas_morton_codes_kernel!( + morton_codes, + @Const(instances), + @Const(blas_array), + scene_min, + scene_extent +) + i = @index(Global, Linear) + @inbounds morton_codes[i] = calculate_tlas_morton_code( + i, instances, blas_array, scene_min, scene_extent + ) +end + +""" +Create TLAS leaf node for one instance (stores world-space AABB, not triangle vertices). +""" +@inline function create_tlas_leaf_for_instance( + sorted_leaf_idx::Int, + sorted_indices::AbstractVector{<:Integer}, + instances::AbstractVector{InstanceDescriptor}, + blas_array::AbstractVector{<:BLAS}, + parent::UInt32 +)::BVHNode2 + # Get original instance index (sorted_indices maps sorted position -> original position) + original_idx = sorted_indices[sorted_leaf_idx] + inst = instances[original_idx] + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + # Transform AABB to world space (8 corners) + world_aabb = Bounds3() + for c in 1:8 + world_corner = transform_point(inst.transform, corner(local_aabb, c)) + world_aabb = world_aabb ∪ Bounds3(world_corner) + end + + return BVHNode2( + world_aabb.p_min, world_aabb.p_max, Point3f(0), Point3f(0), + INVALID_NODE, UInt32(original_idx - 1), # 0-indexed instance index + parent + ) +end + +"""GPU kernel: Create TLAS leaf nodes.""" +KA.@kernel function create_tlas_leaf_nodes_kernel!( + nodes, + @Const(sorted_indices), + @Const(instances), + @Const(blas_array), + n_instances::Int32 +) + i = @index(Global, Linear) + if i <= n_instances + leaf_node_idx = Int(n_instances) - 1 + i + @inbounds parent = nodes[leaf_node_idx].parent + @inbounds nodes[leaf_node_idx] = create_tlas_leaf_for_instance( + i, sorted_indices, instances, blas_array, parent + ) + end +end + +""" +Parallel bottom-up AABB refit for TLAS using atomic counters. +Uses get_tlas_node_aabb which treats leaves as storing AABBs directly (not triangle vertices). +""" +KA.@kernel function refit_tlas_aabbs_kernel!( + nodes, + update_flags, + n_instances::Int32 +) + inst_idx = @index(Global, Linear) + + # Start at parent of this leaf + leaf_idx = Int(n_instances) - 1 + inst_idx + @inbounds parent_idx = nodes[leaf_idx].parent + + # Walk up the tree + while parent_idx != INVALID_NODE + # Atomic exchange: mark this node as visited + old_value = @inbounds @atomicswap update_flags[parent_idx] = UInt32(1) + + if old_value == UInt32(1) + # Second thread arrived - compute AABB from both children + @inbounds begin + node = nodes[parent_idx] + child0 = node.child0 + child1 = node.child1 + + is_child0_internal = child0 < n_instances + is_child1_internal = child1 < n_instances + + # Use TLAS-specific AABB computation (leaves store AABBs, not vertices) + aabb0 = get_tlas_node_aabb(nodes[child0], is_child0_internal) + aabb1 = get_tlas_node_aabb(nodes[child1], is_child1_internal) + + # Update this node's AABBs + updated_node = BVHNode2( + aabb0.p_min, aabb0.p_max, + aabb1.p_min, aabb1.p_max, + node.child0, node.child1, node.parent + ) + nodes[parent_idx] = updated_node + + # Move to parent + parent_idx = node.parent + end + else + # First thread - bail out + break + end + end +end + +# Export kernel helper functions for testing +export calculate_morton_code_for_prim, build_topology_for_node +export set_parents_for_node, create_leaf_for_prim, refit_node_aabb +export calculate_tlas_morton_code, create_tlas_leaf_for_instance diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl new file mode 100644 index 0000000..e72a038 --- /dev/null +++ b/src/instanced-bvh.jl @@ -0,0 +1,1527 @@ +# ============================================================================== +# Instanced BVH - Two-Level Acceleration Structure +# ============================================================================== +# +# Based on AMD RadeonRays SDK architecture: +# - BLAS (Bottom-Level Acceleration Structure): BVH over triangle geometry +# - TLAS (Top-Level Acceleration Structure): BVH over instances with transforms +# - Two-level traversal with transform handling +# +# Key optimizations: +# - LBVH (Linear BVH) construction using 30-bit Morton codes +# - Parametrized array types for CPU/GPU compatibility +# - Fully type-stable traversal kernels +# - Compact memory layout for cache efficiency + +using StaticArrays +using LinearAlgebra: I +import KernelAbstractions as KA + +# ============================================================================== +# Core Data Structures +# ============================================================================== + +""" + BVHNode2 + +Compact BVH node for two-child binary trees. +Stores AABBs for both children inline (BVH2IL layout from RadeonRays). + +Fields: +- `aabb0_min`, `aabb0_max`: Child 0 bounding box (or vertex data for leaves) +- `aabb1_min`, `aabb1_max`: Child 1 bounding box (or unused for leaves) +- `child0`: Child 0 index (INVALID_NODE for leaves) +- `child1`: Child 1 index (or primitive index for leaves) +- `parent`: Parent node index +""" +struct BVHNode2 + # Child 0 AABB (or triangle vertex 0 for leaves) + aabb0_min::Point3f + aabb0_max::Point3f + + # Child 1 AABB (or triangle vertices 1,2 for leaves) + aabb1_min::Point3f + aabb1_max::Point3f + + # Topology + child0::UInt32 # INVALID_NODE (0xFFFFFFFF) indicates leaf + child1::UInt32 # Primitive index for leaves, child index for interior + parent::UInt32 +end + +const INVALID_NODE = 0xffffffff + +"""Check if a node is a leaf node.""" +@inline is_leaf(node::BVHNode2) = node.child0 == INVALID_NODE + +"""Check if a node is an interior node.""" +@inline is_interior(node::BVHNode2) = node.child0 != INVALID_NODE + +""" + InstanceDescriptor + +Describes an instance of a bottom-level BVH in world space. + +Fields: +- `blas_index`: Index into BLAS array +- `instance_id`: User-defined instance ID +- `transform`: World-to-local transformation matrix (4x4) +- `inv_transform`: Local-to-world transformation matrix (4x4) +- `flags`: Instance flags (reserved for future use) +""" +struct InstanceDescriptor + blas_index::UInt32 # Which BLAS to instance + instance_id::UInt32 # User-provided ID + transform::Mat4f # Local-to-world + inv_transform::Mat4f # World-to-local + flags::UInt32 # Reserved +end + +""" + BLAS{NodeArray, TriArray} + +Bottom-Level Acceleration Structure - BVH over triangle geometry. + +Type parameters allow CPU (Vector) or GPU (CuArray, ROCArray) storage. +""" +struct BLAS{ + NodeArray <: AbstractVector{BVHNode2}, + TriArray <: AbstractVector{<:Triangle} +} + nodes::NodeArray + primitives::TriArray + root_aabb::Bounds3 +end + +""" + TLAS{NodeArray, InstArray, BLASArray} + +Top-Level Acceleration Structure - BVH over instances. +""" +struct TLAS{ + NodeArray <: AbstractVector{BVHNode2}, + InstArray <: AbstractVector{InstanceDescriptor}, + BLASArray <: AbstractVector{<:BLAS} +} + nodes::NodeArray + instances::InstArray + blas_array::BLASArray + root_aabb::Bounds3 +end + +# ============================================================================== +# AABB and Morton Code Utilities +# ============================================================================== + +"""Compute AABB from BVHNode2 for BLAS (BVH2IL format with triangle vertices in leaves).""" +@inline function get_node_aabb(node::BVHNode2, is_interior::Bool)::Bounds3 + if is_interior + # Interior: union of children AABBs + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + # Leaf: vertices stored in aabb slots (BVH2IL format) + # Compute AABB from triangle vertices v0, v1, v2 + v0 = Point3f(node.aabb0_min...) + v1 = Point3f(node.aabb0_max...) + v2 = Point3f(node.aabb1_min...) + + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + Bounds3(p_min, p_max) + end +end + +"""Compute AABB from BVHNode2 for TLAS (AABBs stored directly in leaves).""" +@inline function get_tlas_node_aabb(node::BVHNode2, is_interior::Bool)::Bounds3 + if is_interior + # Interior: union of children AABBs + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + # Leaf: instance AABB stored directly in aabb0 fields + Bounds3(node.aabb0_min, node.aabb0_max) + end +end + +"""3-dilate bits for Morton code (spreads bits by factor of 3).""" +@inline function expand_bits(x::UInt32)::UInt32 + x = (x * 0x00010001) & 0xFF0000FF + x = (x * 0x00000101) & 0x0F00F00F + x = (x * 0x00000011) & 0xC30C30C3 + x = (x * 0x00000005) & 0x49249249 + return x +end + +""" +Calculate 30-bit Morton code from normalized 3D point [0,1]³. +Interleaves x,y,z bits to create space-filling Z-curve ordering. +""" +@inline function morton_code_30bit(p::Point3f)::UInt32 + # Clamp to [0, 1023] for 10-bit precision per axis + unit_side = 1024.0f0 + x = clamp(p[1] * unit_side, 0.0f0, unit_side - 1.0f0) + y = clamp(p[2] * unit_side, 0.0f0, unit_side - 1.0f0) + z = clamp(p[3] * unit_side, 0.0f0, unit_side - 1.0f0) + + # Interleave bits: xxyyzzxxyyzzxxyyzz... + return (expand_bits(unsafe_trunc(UInt32, x)) << 2) | + (expand_bits(unsafe_trunc(UInt32, y)) << 1) | + expand_bits(unsafe_trunc(UInt32, z)) +end + +"""Count leading zeros (clz) for 32-bit integer.""" +@inline function clz32(x::UInt32)::Int32 + x == 0 && return Int32(32) + return Int32(31 - (sizeof(UInt32)*8 - 1 - leading_zeros(x))) +end + +""" +Compute longest common prefix (LCP) of Morton codes. +Uses index fallback when codes are identical. +""" +@inline function delta(i1::Int32, i2::Int32, morton_codes::AbstractVector{UInt32}, num_prims::Int32)::Int32 + # Bounds check + left = min(i1, i2) + right = max(i1, i2) + + (left < 1 || right > num_prims) && return Int32(-1) + + left_code = morton_codes[left] + right_code = morton_codes[right] + + # If codes differ, return common prefix length + # If codes are same, use indices as tiebreaker + if left_code != right_code + return Int32(clz32(left_code ⊻ right_code)) + else + return Int32(32 + clz32(UInt32(left) ⊻ UInt32(right))) + end +end + +"""Find the span of primitives covered by this internal node (Karras 2012).""" +@inline function find_span_for_node( + idx::Int32, + morton_codes::AbstractVector{UInt32}, + n_prims::Int32 +)::Tuple{Int32, Int32} + # Determine direction + d_left = delta(idx, idx - Int32(1), morton_codes, n_prims) + d_right = delta(idx, idx + Int32(1), morton_codes, n_prims) + d = d_right > d_left ? Int32(1) : Int32(-1) + + # Compute upper bound for length + delta_min = delta(idx, idx - d, morton_codes, n_prims) + l_max = Int32(2) + while delta(idx, idx + l_max * d, morton_codes, n_prims) > delta_min + l_max *= Int32(2) + end + + # Binary search for the other end + l = Int32(0) + t = l_max + while t > Int32(1) + t = t ÷ Int32(2) + if delta(idx, idx + (l + t) * d, morton_codes, n_prims) > delta_min + l = l + t + end + end + j = idx + l * d + + # Return sorted span + return d > Int32(0) ? (idx, j) : (j, idx) +end + +"""Find the split position within a span (Karras 2012).""" +@inline function find_split_in_span( + span_left::Int32, + span_right::Int32, + morton_codes::AbstractVector{UInt32}, + n_prims::Int32 +)::Int32 + # Calculate the number of identical bits from higher end + numidentical = delta(span_left, span_right, morton_codes, n_prims) + + # Binary search for split position using midpoint + left = span_left + right = span_right + while right > left + Int32(1) + # Proposed split at midpoint + newsplit = (right + left) ÷ Int32(2) + + # If it has more equal leading bits than left and right, accept it + if delta(left, newsplit, morton_codes, n_prims) > numidentical + left = newsplit + else + right = newsplit + end + end + + return left +end + +"""Compute leaf node index from primitive index.""" +@inline function leaf_index(prim_idx::Integer, n_prims::Int32)::Int + return Int(n_prims) - 1 + prim_idx +end + +"""Refit AABB for one internal node from its children.""" +@inline function refit_node_aabb( + node_idx::Int32, + nodes::AbstractVector{BVHNode2}, + n_prims::Int32 +)::BVHNode2 + @inbounds node = nodes[node_idx] + child0 = node.child0 + child1 = node.child1 + + is_child0_internal = child0 < n_prims + is_child1_internal = child1 < n_prims + + aabb0 = get_node_aabb(nodes[child0], is_child0_internal) + aabb1 = get_node_aabb(nodes[child1], is_child1_internal) + + return BVHNode2( + aabb0.p_min, aabb0.p_max, + aabb1.p_min, aabb1.p_max, + node.child0, node.child1, node.parent + ) +end + +@inline function refit_tlas_node_aabb( + node_idx::Int32, + nodes::AbstractVector{BVHNode2}, + n_instances::Int32 +)::BVHNode2 + @inbounds node = nodes[node_idx] + child0 = node.child0 + child1 = node.child1 + + is_child0_internal = child0 < n_instances + is_child1_internal = child1 < n_instances + + aabb0 = get_tlas_node_aabb(nodes[child0], is_child0_internal) + aabb1 = get_tlas_node_aabb(nodes[child1], is_child1_internal) + + return BVHNode2( + aabb0.p_min, aabb0.p_max, + aabb1.p_min, aabb1.p_max, + node.child0, node.child1, node.parent + ) +end + +# ============================================================================== +# BLAS Construction (LBVH Algorithm) +# ============================================================================== + +""" + build_blas(primitives) -> BLAS + +Build a Bottom-Level Acceleration Structure using Linear BVH (LBVH). + +Uses KernelAbstractions for automatic CPU/GPU execution based on input array type. + +Algorithm: +1. Compute scene AABB +2. Calculate Morton codes in parallel (GPU kernel) +3. Sort primitives by Morton code +4. Build binary radix tree in parallel (GPU kernel) +5. Compute AABBs bottom-up + +Based on Karras 2012 "Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees" + +# Arguments +- `primitives`: Vector or GPU array of Triangle objects (array type determines backend) + +# Example +```julia +# CPU execution +blas_cpu = build_blas(triangles) # Vector{Triangle} + +# GPU execution (CUDA) +using CUDA +gpu_triangles = CuArray(triangles) +blas_gpu = build_blas(gpu_triangles) # CuArray{Triangle} +``` +""" +function build_blas( + primitives::AbstractVector{T} +) where {T <: Triangle} + n = length(primitives) + n == 0 && error("Cannot build BLAS from empty primitive list") + + # Infer backend from input array type + backend = KA.get_backend(primitives) + + # Compute scene AABB (works on both CPU and GPU arrays) + scene_aabb = mapreduce(world_bound, ∪, primitives, init=Bounds3()) + scene_min = scene_aabb.p_min + scene_extent = Vec3f(scene_aabb.p_max - scene_aabb.p_min) + + # Allocate arrays on same backend as input + morton_codes = KA.allocate(backend, UInt32, n) + + # Launch kernel: Calculate Morton codes + calc_kernel! = calculate_morton_codes_kernel!(backend) + calc_kernel!(morton_codes, primitives, scene_min, scene_extent, ndrange=n) + KA.synchronize(backend) + + # Sort by Morton codes (works on GPU arrays directly) + sorted_indices = sortperm(morton_codes) + morton_codes_sorted = morton_codes[sorted_indices] + sorted_prims = primitives[sorted_indices] + + copyto!(morton_codes, morton_codes_sorted) + + # Allocate nodes + nodes = KA.allocate(backend, BVHNode2, 2*n - 1) + empty_node = BVHNode2( + Point3f(0), Point3f(0), Point3f(0), Point3f(0), + INVALID_NODE, INVALID_NODE, INVALID_NODE + ) + fill!(nodes, empty_node) + + # Launch kernel: Emit topology + topo_kernel! = emit_topology_kernel!(backend) + topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) + KA.synchronize(backend) + + # Launch kernel: Set parent pointers + parent_kernel! = set_parent_pointers_kernel!(backend) + parent_kernel!(nodes, Int32(n), ndrange=n-1) + KA.synchronize(backend) + + # Launch kernel: Create leaf nodes + leaf_kernel! = create_leaf_nodes_kernel!(backend) + leaf_kernel!(nodes, sorted_prims, Int32(n), ndrange=n) + KA.synchronize(backend) + + # Refit AABBs bottom-up (parallel using atomic counters) + update_flags = KA.zeros(backend, UInt32, n - 1) # One flag per internal node + refit_kernel! = refit_aabbs_kernel!(backend) + refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) + KA.synchronize(backend) + + # Compute root AABB - check if root is interior or leaf + root_is_interior = is_interior(nodes[1]) + root_aabb = get_node_aabb(nodes[1], root_is_interior) + + return BLAS(nodes, sorted_prims, root_aabb) +end + +# ============================================================================== +# TLAS Construction +# ============================================================================== + +"""Build topology for one TLAS internal node (same algorithm as BLAS).""" +@inline function build_tlas_topology_for_node( + idx::Int32, + morton_codes::AbstractVector{UInt32}, + n_instances::Int32 +)::BVHNode2 + # Helper function + @inline leaf_idx(j::Int32) = n_instances - Int32(1) + j + + # Find span + span_left, span_right = find_span_for_node(idx, morton_codes, n_instances) + + # Find split + split = find_split_in_span(span_left, span_right, morton_codes, n_instances) + + # Determine children (matches HLSL reference exactly) + # child0 is leaf only if split == span_left + # child1 is leaf only if split + 1 == span_right + child0 = (split == span_left) ? leaf_idx(split) : split + child1_idx = split + Int32(1) + child1 = (child1_idx == span_right) ? leaf_idx(child1_idx) : child1_idx + + return BVHNode2( + Point3f(0), Point3f(0), Point3f(0), Point3f(0), + UInt32(child0), UInt32(child1), INVALID_NODE + ) +end + +""" + build_tlas(blas_array::AbstractVector{BLAS}, instances::AbstractVector{InstanceDescriptor}) -> TLAS + +Build a Top-Level Acceleration Structure over instances. +Uses LBVH over transformed instance AABBs. + +Uses KernelAbstractions for automatic CPU/GPU execution based on input array type. +""" +function build_tlas( + blas_array::AbstractVector{B}, + instances::AbstractVector{InstanceDescriptor} +) where {B <: BLAS} + n = length(instances) + n == 0 && return TLAS(BVHNode2[], instances, blas_array, Bounds3()) + + # Infer backend from instances array type + backend = KA.get_backend(instances) + + # Compute scene AABB from transformed instance bounds + scene_aabb = Bounds3() + for inst in instances + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + # Transform all 8 corners and compute world AABB + world_aabb = Bounds3() + for c in 1:8 + world_corner = transform_point(inst.transform, corner(local_aabb, c)) + world_aabb = world_aabb ∪ Bounds3(world_corner) + end + + scene_aabb = scene_aabb ∪ world_aabb + end + + scene_min = scene_aabb.p_min + aabb_extent = scene_aabb.p_max - scene_aabb.p_min + # Handle degenerate cases (avoid division by zero) + scene_extent = Vec3f( + max(aabb_extent[1], 1f-6), + max(aabb_extent[2], 1f-6), + max(aabb_extent[3], 1f-6) + ) + + # Allocate arrays on same backend as input + morton_codes = KA.allocate(backend, UInt32, n) + + # Launch kernel: Calculate Morton codes for instances + calc_kernel! = calculate_tlas_morton_codes_kernel!(backend) + calc_kernel!(morton_codes, instances, blas_array, scene_min, scene_extent, ndrange=n) + KA.synchronize(backend) + + # Sort by Morton codes + sorted_indices = sortperm(morton_codes) + morton_codes_sorted = morton_codes[sorted_indices] + copyto!(morton_codes, morton_codes_sorted) + + # Allocate nodes + nodes = KA.allocate(backend, BVHNode2, max(1, 2*n - 1)) + empty_node = BVHNode2( + Point3f(0), Point3f(0), Point3f(0), Point3f(0), + INVALID_NODE, INVALID_NODE, INVALID_NODE + ) + fill!(nodes, empty_node) + + # Single-instance case: trivial TLAS + if n == 1 + original_idx = sorted_indices[1] + inst = instances[original_idx] + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + world_aabb = Bounds3() + for c in 1:8 + world_corner = transform_point(inst.transform, corner(local_aabb, c)) + world_aabb = world_aabb ∪ Bounds3(world_corner) + end + + nodes[1] = BVHNode2( + world_aabb.p_min, world_aabb.p_max, + Point3f(0), Point3f(0), + INVALID_NODE, UInt32(original_idx - 1), + INVALID_NODE + ) + + return TLAS(nodes, instances, blas_array, world_aabb) + end + + # Multi-instance case: build proper LBVH + + # Launch kernel: Emit topology (reuse BLAS topology kernel - same algorithm) + topo_kernel! = emit_topology_kernel!(backend) + topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) + KA.synchronize(backend) + + # Launch kernel: Set parent pointers + parent_kernel! = set_parent_pointers_kernel!(backend) + parent_kernel!(nodes, Int32(n), ndrange=n-1) + KA.synchronize(backend) + + # Launch kernel: Create TLAS leaf nodes (different from BLAS - stores AABBs, not vertices) + leaf_kernel! = create_tlas_leaf_nodes_kernel!(backend) + leaf_kernel!(nodes, sorted_indices, instances, blas_array, Int32(n), ndrange=n) + KA.synchronize(backend) + + # Refit AABBs bottom-up (parallel using atomic counters) + update_flags = KA.zeros(backend, UInt32, n - 1) + refit_kernel! = refit_tlas_aabbs_kernel!(backend) + refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) + KA.synchronize(backend) + + root_aabb = get_tlas_node_aabb(nodes[1], true) + + return TLAS(nodes, instances, blas_array, root_aabb) +end + +# ============================================================================== +# Transform Utilities +# ============================================================================== + +"""Transform point by 4x4 matrix.""" +@inline function transform_point(m::Mat4f, p::Point3f)::Point3f + ph = SVector{4, Float32}(p[1], p[2], p[3], 1.0f0) + pt = m * ph + w = pt[4] + Point3f(pt[1] / w, pt[2] / w, pt[3] / w) +end + +"""Transform direction by 4x4 matrix (ignoring translation).""" +@inline function transform_direction(m::Mat4f, v::Vec3f)::Vec3f + Vec3f( + m[1,1] * v[1] + m[1,2] * v[2] + m[1,3] * v[3], + m[2,1] * v[1] + m[2,2] * v[2] + m[2,3] * v[3], + m[3,1] * v[1] + m[3,2] * v[2] + m[3,3] * v[3] + ) +end + +# ============================================================================== +# Two-Level Traversal +# ============================================================================== + +"""Sentinel value to mark top-level to bottom-level transitions.""" +const TOP_LEVEL_SENTINEL = 0xFFFFFFFE + +""" + safe_invdir(d::Vec3f) -> Vec3f + +Safe ray direction inversion that avoids division by zero. +Clamps near-zero components to ±1e-5. +Matches HLSL reference implementation. +""" +@inline function safe_invdir(d::Vec3f)::Vec3f + ooeps = 1.0f-5 + inv_x = 1.0f0 / (abs(d[1]) > ooeps ? d[1] : copysign(ooeps, d[1])) + inv_y = 1.0f0 / (abs(d[2]) > ooeps ? d[2] : copysign(ooeps, d[2])) + inv_z = 1.0f0 / (abs(d[3]) > ooeps ? d[3] : copysign(ooeps, d[3])) + return Vec3f(inv_x, inv_y, inv_z) +end + +""" + fast_intersect_triangle(ray_o, ray_d, v0, v1, v2, t_min, closest_t) -> (hit, t, u, v) + +Möller-Trumbore ray-triangle intersection test. +Matches HLSL reference implementation. +""" +@inline function fast_intersect_triangle( + ray_o::Point3f, ray_d::Vec3f, + v0::Point3f, v1::Point3f, v2::Point3f, + t_min::Float32, closest_t::Float32 +) + # Edge vectors + e1 = v1 - v0 + e2 = v2 - v0 + + # Begin calculating determinant - also used to calculate u parameter + s1 = cross(ray_d, e2) + determinant = dot(s1, e1) + invd = 1.0f0 / determinant + + # Calculate distance from v0 to ray origin + d = ray_o - v0 + u = dot(d, s1) * invd + + # Test u parameter + if u < 0.0f0 || u > 1.0f0 + return (false, 0.0f0, 0.0f0, 0.0f0) + end + + # Prepare to test v parameter + s2 = cross(d, e1) + v = dot(ray_d, s2) * invd + + # Test v parameter + if v < 0.0f0 || (u + v) > 1.0f0 + return (false, 0.0f0, 0.0f0, 0.0f0) + end + + # Calculate t + t = dot(e2, s2) * invd + + # Test t against range + if t < t_min || t > closest_t + return (false, 0.0f0, 0.0f0, 0.0f0) + end + + return (true, t, u, v) +end + +""" + intersect_internal_node(node, ray_inv_d, ray_o, t_min, t_max) -> (near_child, far_child) + +Test ray against internal node's two children AABBs. +Returns ordered children indices (near first, far second). +INVALID_NODE if child is not intersected. +Matches HLSL IntersectInternalNode. +""" +@inline function intersect_internal_node( + node::BVHNode2, + ray_inv_d::Vec3f, + ray_o::Point3f, + t_min::Float32, + t_max::Float32 +) + # Get child AABBs + aabb0 = Bounds3(Point3f(node.aabb0_min...), Point3f(node.aabb0_max...)) + aabb1 = Bounds3(Point3f(node.aabb1_min...), Point3f(node.aabb1_max...)) + + # Test both children + t0_min, t0_max = fast_intersect_bbox(ray_o, ray_inv_d, aabb0, t_min, t_max) + t1_min, t1_max = fast_intersect_bbox(ray_o, ray_inv_d, aabb1, t_min, t_max) + + # Determine which children to traverse + traverse0 = (t0_min <= t0_max) ? node.child0 : INVALID_NODE + traverse1 = (t1_min <= t1_max) ? node.child1 : INVALID_NODE + + # Order by distance (near first) + if t0_min < t1_min && traverse0 != INVALID_NODE + return (traverse0, traverse1) + else + return (traverse1, traverse0) + end +end + +""" + fast_intersect_bbox(ray_o, ray_inv_d, bbox, t_min, t_max) -> (entry_t, exit_t) + +Fast ray-AABB intersection using slab method. +Returns parametric distances to entry and exit points. +Matches HLSL fast_intersect_bbox. +""" +@inline function fast_intersect_bbox( + ray_o::Point3f, + ray_inv_d::Vec3f, + bbox::Bounds3, + t_min::Float32, + t_max::Float32 +) + oxinvdir = -ray_o .* ray_inv_d + f = bbox.p_max .* ray_inv_d .+ oxinvdir + n = bbox.p_min .* ray_inv_d .+ oxinvdir + + tmax_vec = max.(f, n) + tmin_vec = min.(f, n) + + max_t = min(minimum(tmax_vec), t_max) + min_t = max(maximum(tmin_vec), t_min) + + return (min_t, max_t) +end + +""" + intersect_leaf_node(node, ray_d, ray_o, t_min, closest_t) -> (hit, t, u, v) + +Test ray against triangle stored in leaf node. +Returns hit status and intersection parameters. +Matches HLSL IntersectLeafNode. +""" +@inline function intersect_leaf_node( + node::BVHNode2, + ray_d::Vec3f, + ray_o::Point3f, + t_min::Float32, + closest_t::Float32 +) + # In BVH2IL format, leaf nodes store triangle vertices in AABB slots + v0 = Point3f(node.aabb0_min...) + v1 = Point3f(node.aabb0_max...) + v2 = Point3f(node.aabb1_min...) + + return fast_intersect_triangle(ray_o, ray_d, v0, v1, v2, t_min, closest_t) +end + +""" + closest_hit(tlas::TLAS, ray::AbstractRay) -> (hit, primitive, distance, barycentric, instance_id) + +Traverse two-level BVH to find closest ray intersection. + +Algorithm: +1. Traverse TLAS to find candidate instances +2. Transform ray to local space +3. Traverse BLAS for geometry intersection +4. Transform back to world space +5. Return closest hit across all instances +""" +@inline function closest_hit(tlas::TLAS{NA, IA, BA}, ray::R) where {NA, IA, BA, R <: AbstractRay} + # Initialize traversal state - matches HLSL TraceRays + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 # Minimum t for intersection + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) # Use safe inversion to avoid division by zero + + # Stack for traversal + stack = MVector{64, UInt32}(undef) + stack_ptr::Int32 = Int32(1) + @inbounds stack[stack_ptr] = INVALID_NODE + + # Traversal state - use Int32 for indices to avoid UInt32 arithmetic issues + current_instance::Int32 = Int32(-1) # -1 means no instance (top level) + closest_instance::Int32 = Int32(-1) + closest_prim::UInt32 = INVALID_NODE + hit_u::Float32 = 0.0f0 + hit_v::Float32 = 0.0f0 + + # Entry point is node 1 (1-indexed in Julia) + node_index::UInt32 = UInt32(1) + + # Get typed references to avoid repeated field access + tlas_nodes = tlas.nodes + tlas_instances = tlas.instances + tlas_blas_array = tlas.blas_array + + @inbounds while node_index != INVALID_NODE + # Fetch node based on current level + node::BVHNode2 = if current_instance < Int32(0) + tlas_nodes[node_index] + else + # current_instance is a 0-indexed instance index + inst = tlas_instances[current_instance + Int32(1)] + blas = tlas_blas_array[inst.blas_index] + blas.nodes[node_index] + end + + is_leaf::Bool = (node.child0 == INVALID_NODE) + + if !is_leaf + # Interior node - test both children and get ordered traversal + near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push far child if valid + if far_child != INVALID_NODE + stack_ptr += Int32(1) + stack[stack_ptr] = far_child + end + + # Visit near child if valid + if near_child != INVALID_NODE + node_index = near_child + continue + end + elseif current_instance < Int32(0) + # Top-level leaf - transition to instance + current_instance = Int32(node.child1) # 0-indexed instance index + + # Push sentinel + stack_ptr += Int32(1) + stack[stack_ptr] = TOP_LEVEL_SENTINEL + + # Get instance and transform ray + node_index = UInt32(1) # Start at root of BLAS + inst = tlas_instances[current_instance + Int32(1)] + ray_o = transform_point(inst.inv_transform, ray.o) + ray_d = transform_direction(inst.inv_transform, ray.d) + ray_inv_d = safe_invdir(ray_d) + continue + else + # Bottom-level leaf - test triangle + hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) + if hit + # Update closest hit + ray_maxt = t + closest_instance = current_instance + closest_prim = node.child1 + hit_u = u + hit_v = v + end + end + + # Pop from stack + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + + # Check for level transition + if node_index == TOP_LEVEL_SENTINEL + # Return to top level + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + current_instance = Int32(-1) + + # Restore original ray + ray_o = ray.o + ray_d = ray.d + ray_inv_d = safe_invdir(ray_d) + end + end + + # Fill in hit output - matches HLSL + @inbounds if closest_instance >= Int32(0) + inst = tlas_instances[closest_instance + Int32(1)] + blas = tlas_blas_array[inst.blas_index] + tri = blas.primitives[closest_prim] + w = 1.0f0 - hit_u - hit_v + bary = SVector{3, Float32}(w, hit_u, hit_v) + return (true, tri, ray_maxt, bary, inst.instance_id) + else + # No hit - return dummy values + dummy_tri = tlas_blas_array[1].primitives[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) + end +end + +""" + any_hit(tlas::TLAS, ray::AbstractRay) -> (hit, primitive, distance, barycentric, instance_id) + +Traverse two-level BVH to find ANY ray intersection (returns on first hit). +Faster than closest_hit when only occlusion testing is needed. + +Matches HLSL TraceRays with ANY_HIT defined. +""" +@inline function any_hit(tlas::TLAS{NA, IA, BA}, ray::R) where {NA, IA, BA, R <: AbstractRay} + # Initialize traversal state - matches HLSL TraceRays + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal + stack = MVector{64, UInt32}(undef) + stack_ptr::Int32 = Int32(1) + @inbounds stack[stack_ptr] = INVALID_NODE + + # Traversal state - use Int32 for indices to avoid UInt32 arithmetic issues + current_instance::Int32 = Int32(-1) # -1 means no instance (top level) + + # Entry point is node 1 (1-indexed in Julia) + node_index::UInt32 = UInt32(1) + + # Get typed references to avoid repeated field access + tlas_nodes = tlas.nodes + tlas_instances = tlas.instances + tlas_blas_array = tlas.blas_array + + @inbounds while node_index != INVALID_NODE + # Fetch node based on current level + node::BVHNode2 = if current_instance < Int32(0) + tlas_nodes[node_index] + else + # current_instance is a 0-indexed instance index + inst = tlas_instances[current_instance + Int32(1)] + blas = tlas_blas_array[inst.blas_index] + blas.nodes[node_index] + end + + is_leaf::Bool = (node.child0 == INVALID_NODE) + + if !is_leaf + # Interior node - test both children and get ordered traversal + near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push far child if valid + if far_child != INVALID_NODE + stack_ptr += Int32(1) + stack[stack_ptr] = far_child + end + + # Visit near child if valid + if near_child != INVALID_NODE + node_index = near_child + continue + end + elseif current_instance < Int32(0) + # Top-level leaf - transition to instance + current_instance = Int32(node.child1) # 0-indexed instance index + + # Push sentinel + stack_ptr += Int32(1) + stack[stack_ptr] = TOP_LEVEL_SENTINEL + + # Get instance and transform ray + node_index = UInt32(1) # Start at root of BLAS + inst = tlas_instances[current_instance + Int32(1)] + ray_o = transform_point(inst.inv_transform, ray.o) + ray_d = transform_direction(inst.inv_transform, ray.d) + ray_inv_d = safe_invdir(ray_d) + continue + else + # Bottom-level leaf - test triangle + hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) + if hit + # ANY_HIT: return immediately on first hit + inst = tlas_instances[current_instance + Int32(1)] + blas = tlas_blas_array[inst.blas_index] + tri = blas.primitives[node.child1] + w = 1.0f0 - u - v + bary = SVector{3, Float32}(w, u, v) + return (true, tri, t, bary, inst.instance_id) + end + end + + # Pop from stack + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + + # Check for level transition + if node_index == TOP_LEVEL_SENTINEL + # Return to top level + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + current_instance = Int32(-1) + + # Restore original ray + ray_o = ray.o + ray_d = ray.d + ray_inv_d = safe_invdir(ray_d) + end + end + + # No hit found + @inbounds dummy_tri = tlas_blas_array[1].primitives[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) +end + +# ============================================================================== +# Helper Functions +# ============================================================================== + +"""Get world-space AABB of a TLAS.""" +function world_bound(tlas::TLAS)::Bounds3 + return tlas.root_aabb +end + +"""Get world-space AABB of a BLAS.""" +function world_bound(blas::BLAS)::Bounds3 + return blas.root_aabb +end + +# ============================================================================== +# Dynamic TLAS Updates +# ============================================================================== + +""" + update_instance_transform!(tlas::TLAS, instance_idx::Integer, transform::Mat4f) + +Update the transform of a single instance. Call `refit_tlas!` after updating transforms. + +# Arguments +- `tlas`: The TLAS to update +- `instance_idx`: 1-based index of the instance to update +- `transform`: New local-to-world transformation matrix +""" +function update_instance_transform!(tlas::TLAS, instance_idx::Integer, transform::Mat4f) + inv_transform = Mat4f(inv(transform)) + old_inst = tlas.instances[instance_idx] + tlas.instances[instance_idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + return nothing +end + +""" + refit_tlas!(tlas::TLAS) + +Refit the TLAS after instance transforms have been updated. +Updates leaf AABBs from instance transforms and propagates changes up the tree. + +This is much faster than rebuilding the TLAS from scratch when only transforms change. +""" +function refit_tlas!(tlas::TLAS) + n = length(tlas.instances) + n == 0 && return tlas + + backend = KA.get_backend(tlas.nodes) + nodes = tlas.nodes + instances = tlas.instances + blas_array = tlas.blas_array + + # Update leaf node AABBs from new transforms + # NOTE: Leaf nodes are Morton-sorted, so we must use the stored instance index (child1) + # to look up the correct instance, not assume leaf i corresponds to instance i. + for i in 1:n + leaf_node_idx = n - 1 + i + old_node = nodes[leaf_node_idx] + + # Get the actual instance index from the leaf node (stored as 0-indexed in child1) + inst_idx = Int(old_node.child1) + 1 + inst = instances[inst_idx] + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + # Transform AABB to world space (8 corners) + world_aabb = Bounds3() + for c in 1:8 + world_corner = transform_point(inst.transform, corner(local_aabb, c)) + world_aabb = world_aabb ∪ Bounds3(world_corner) + end + + # Update leaf node with new AABB (preserve topology) + nodes[leaf_node_idx] = BVHNode2( + world_aabb.p_min, world_aabb.p_max, Point3f(0), Point3f(0), + old_node.child0, old_node.child1, old_node.parent + ) + end + + # Refit internal nodes bottom-up using atomic counters + if n > 1 + update_flags = KA.zeros(backend, UInt32, n - 1) + refit_kernel! = refit_tlas_aabbs_kernel!(backend) + refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) + KA.synchronize(backend) + end + + # Update root AABB + # Note: Can't mutate tlas.root_aabb directly since TLAS is immutable + # The root_aabb in the struct may be stale, but traversal uses node AABBs + + return tlas +end + + +# ============================================================================== +# BVH-Compatible API +# ============================================================================== + +""" + TLAS(primitives::AbstractVector, metadata_fn::Function) + +Universal BVH constructor. Each primitive becomes a BLAS with a single instance. +Drop-in replacement for `BVH(primitives, metadata_fn)`. + +Each mesh is automatically treated as an instance at identity transform. +Perfect for scenes where you just have different meshes and want automatic instancing. + +Example: +```julia +geometries = [cat_mesh, floor, sphere] +tlas = TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +# Same API as BVH, but uses instancing internally! +``` +""" +function TLAS( + primitives::AbstractVector{P}, + metadata_fn::Function +) where {P} + # Each primitive becomes its own BLAS + first_mesh = Raycore.to_triangle_mesh(first(primitives)) + first_metadata = metadata_fn(1, 1) + TMetadata = typeof(first_metadata) + + # Build first BLAS to get concrete type + first_triangles = Triangle{TMetadata}[] + for i in 1:div(length(first_mesh.indices), 3) + metadata = metadata_fn(1, i) + push!(first_triangles, Triangle(first_mesh, i, metadata)) + end + first_blas = build_blas(first_triangles) + + # Create concretely-typed arrays using first element's type + BLASType = typeof(first_blas) + blas_array = BLASType[first_blas] + instances = InstanceDescriptor[] + + # Add first instance + identity = Mat4f(I) + push!(instances, InstanceDescriptor( + UInt32(1), # BLAS index (1-based) + UInt32(1), # Instance ID = mesh index for metadata + identity, + identity, + UInt32(0) + )) + + # Process remaining meshes + for mi in 2:length(primitives) + prim = primitives[mi] + triangle_mesh = Raycore.to_triangle_mesh(prim) + triangles = Triangle{TMetadata}[] + + for i in 1:div(length(triangle_mesh.indices), 3) + metadata = metadata_fn(mi, i) + push!(triangles, Triangle(triangle_mesh, i, metadata)) + end + + # Build BLAS for this mesh + blas = build_blas(triangles) + push!(blas_array, blas) + + # Create instance at identity (mesh already positioned) + push!(instances, InstanceDescriptor( + UInt32(length(blas_array)), # BLAS index + UInt32(mi), # Instance ID = mesh index for metadata + identity, + identity, + UInt32(0) + )) + end + + return build_tlas(blas_array, instances) +end + +""" + TLAS(primitives::AbstractVector) + +Simplified constructor with default metadata (mesh index). +""" +function TLAS(primitives::AbstractVector{P}) where {P} + return TLAS(primitives, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +end + +# Make closest_hit and any_hit work with both argument orders for compatibility +""" + closest_hit(ray::AbstractRay, tlas::TLAS) + +BVH-compatible argument order for closest_hit. +Returns (hit_found, triangle, distance, barycentric) - same as BVH. +""" +function closest_hit(ray::AbstractRay, tlas::TLAS) + hit, tri, t, bary, inst_id = closest_hit(tlas, ray) + return (hit, tri, t, bary) +end + +""" + any_hit(ray::AbstractRay, tlas::TLAS) + +BVH-compatible argument order for any_hit. +Returns (hit_found, triangle, distance, barycentric) - same as BVH. +""" +function any_hit(ray::AbstractRay, tlas::TLAS) + hit, tri, t, bary, inst_id = any_hit(tlas, ray) + return (hit, tri, t, bary) +end + +""" + Base.eltype(tlas::TLAS) + +Get the element type of primitives stored in the TLAS. +Returns the element type of the first BLAS's primitives. +This is needed for compatibility with code that expects `eltype(bvh.primitives)`. +""" +Base.eltype(tlas::TLAS) = eltype(tlas.blas_array[1].primitives) + +# ============================================================================== +# GPU-Compatible Flattened TLAS +# ============================================================================== + +""" + BLASDescriptor + +Describes the location of a BLAS's data within the flattened arrays. +Used by FlatTLAS for GPU-compatible instanced ray tracing. +""" +struct BLASDescriptor + nodes_offset::UInt32 # Offset into flattened nodes array + nodes_count::UInt32 # Number of nodes in this BLAS + prims_offset::UInt32 # Offset into flattened primitives array + prims_count::UInt32 # Number of primitives in this BLAS + root_aabb::Bounds3 # Root AABB of this BLAS +end + +""" + FlatTLAS{NodeArray, InstArray, TriArray, DescArray} + +GPU-compatible flattened Top-Level Acceleration Structure. + +All BLAS nodes and primitives are flattened into single arrays, +with BLASDescriptor providing offsets for each BLAS. + +This structure is fully isbits-compatible when using GPU arrays, +allowing it to be passed directly to GPU kernels. +""" +struct FlatTLAS{ + NodeArray <: AbstractVector{BVHNode2}, + InstArray <: AbstractVector{InstanceDescriptor}, + TriArray <: AbstractVector{<:Triangle}, + DescArray <: AbstractVector{BLASDescriptor} +} + # TLAS structure + tlas_nodes::NodeArray + instances::InstArray + root_aabb::Bounds3 + + # Flattened BLAS data + blas_nodes::NodeArray # All BLAS nodes concatenated + blas_primitives::TriArray # All BLAS primitives concatenated + blas_descriptors::DescArray # Descriptor for each BLAS +end + +""" + flatten_tlas(tlas::TLAS) -> FlatTLAS + +Convert a TLAS with nested BLAS structures to a flattened GPU-compatible format. +""" +function flatten_tlas(tlas::TLAS{NA, IA, BA}) where {NA, IA, BA} + n_blas = length(tlas.blas_array) + + # Calculate total sizes + total_nodes = sum(length(b.nodes) for b in tlas.blas_array) + total_prims = sum(length(b.primitives) for b in tlas.blas_array) + + # Get element types from first BLAS + TriType = eltype(tlas.blas_array[1].primitives) + + # Allocate flattened arrays + blas_nodes = Vector{BVHNode2}(undef, total_nodes) + blas_primitives = Vector{TriType}(undef, total_prims) + blas_descriptors = Vector{BLASDescriptor}(undef, n_blas) + + # Flatten each BLAS + nodes_offset = UInt32(0) + prims_offset = UInt32(0) + + for (i, blas) in enumerate(tlas.blas_array) + n_nodes = length(blas.nodes) + n_prims = length(blas.primitives) + + # Copy nodes and primitives + copyto!(blas_nodes, Int(nodes_offset) + 1, blas.nodes, 1, n_nodes) + copyto!(blas_primitives, Int(prims_offset) + 1, blas.primitives, 1, n_prims) + + # Create descriptor + blas_descriptors[i] = BLASDescriptor( + nodes_offset, + UInt32(n_nodes), + prims_offset, + UInt32(n_prims), + blas.root_aabb + ) + + nodes_offset += UInt32(n_nodes) + prims_offset += UInt32(n_prims) + end + + return FlatTLAS( + tlas.nodes, + tlas.instances, + tlas.root_aabb, + blas_nodes, + blas_primitives, + blas_descriptors + ) +end + +Base.eltype(tlas::FlatTLAS) = eltype(tlas.blas_primitives) + +""" + closest_hit(flat_tlas::FlatTLAS, ray::AbstractRay) + +Traverse flattened two-level BVH to find closest ray intersection. +GPU-compatible version using flattened BLAS arrays. +""" +@inline function closest_hit(flat_tlas::FlatTLAS{NA, IA, TA, DA}, ray::R) where {NA, IA, TA, DA, R <: AbstractRay} + # Initialize traversal state + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal + stack = MVector{64, UInt32}(undef) + stack_ptr::Int32 = Int32(1) + @inbounds stack[stack_ptr] = INVALID_NODE + + # Traversal state + current_instance::Int32 = Int32(-1) + closest_instance::Int32 = Int32(-1) + closest_prim::UInt32 = INVALID_NODE + hit_u::Float32 = 0.0f0 + hit_v::Float32 = 0.0f0 + + node_index::UInt32 = UInt32(1) + + # References to arrays + tlas_nodes = flat_tlas.tlas_nodes + tlas_instances = flat_tlas.instances + blas_nodes = flat_tlas.blas_nodes + blas_descriptors = flat_tlas.blas_descriptors + + @inbounds while node_index != INVALID_NODE + # Fetch node based on current level + node::BVHNode2 = if current_instance < Int32(0) + tlas_nodes[node_index] + else + inst = tlas_instances[current_instance + Int32(1)] + desc = blas_descriptors[inst.blas_index] + blas_nodes[desc.nodes_offset + node_index] + end + + is_leaf_node::Bool = (node.child0 == INVALID_NODE) + + if !is_leaf_node + near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + if far_child != INVALID_NODE + stack_ptr += Int32(1) + stack[stack_ptr] = far_child + end + + if near_child != INVALID_NODE + node_index = near_child + continue + end + elseif current_instance < Int32(0) + # Top-level leaf - transition to instance + current_instance = Int32(node.child1) + + stack_ptr += Int32(1) + stack[stack_ptr] = TOP_LEVEL_SENTINEL + + node_index = UInt32(1) + inst = tlas_instances[current_instance + Int32(1)] + ray_o = transform_point(inst.inv_transform, ray.o) + ray_d = transform_direction(inst.inv_transform, ray.d) + ray_inv_d = safe_invdir(ray_d) + continue + else + # Bottom-level leaf - test triangle + hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) + if hit + ray_maxt = t + closest_instance = current_instance + closest_prim = node.child1 + hit_u = u + hit_v = v + end + end + + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + + if node_index == TOP_LEVEL_SENTINEL + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + current_instance = Int32(-1) + ray_o = ray.o + ray_d = ray.d + ray_inv_d = safe_invdir(ray_d) + end + end + + # Return result + @inbounds if closest_instance >= Int32(0) + inst = tlas_instances[closest_instance + Int32(1)] + desc = blas_descriptors[inst.blas_index] + tri = flat_tlas.blas_primitives[desc.prims_offset + closest_prim] + w = 1.0f0 - hit_u - hit_v + bary = SVector{3, Float32}(w, hit_u, hit_v) + return (true, tri, ray_maxt, bary, inst.instance_id) + else + dummy_tri = flat_tlas.blas_primitives[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) + end +end + +""" + any_hit(flat_tlas::FlatTLAS, ray::AbstractRay) + +Traverse flattened two-level BVH to find ANY ray intersection. +GPU-compatible version using flattened BLAS arrays. +""" +@inline function any_hit(flat_tlas::FlatTLAS{NA, IA, TA, DA}, ray::R) where {NA, IA, TA, DA, R <: AbstractRay} + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + stack = MVector{64, UInt32}(undef) + stack_ptr::Int32 = Int32(1) + @inbounds stack[stack_ptr] = INVALID_NODE + + current_instance::Int32 = Int32(-1) + node_index::UInt32 = UInt32(1) + + tlas_nodes = flat_tlas.tlas_nodes + tlas_instances = flat_tlas.instances + blas_nodes = flat_tlas.blas_nodes + blas_descriptors = flat_tlas.blas_descriptors + + @inbounds while node_index != INVALID_NODE + node::BVHNode2 = if current_instance < Int32(0) + tlas_nodes[node_index] + else + inst = tlas_instances[current_instance + Int32(1)] + desc = blas_descriptors[inst.blas_index] + blas_nodes[desc.nodes_offset + node_index] + end + + is_leaf_node::Bool = (node.child0 == INVALID_NODE) + + if !is_leaf_node + near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + if far_child != INVALID_NODE + stack_ptr += Int32(1) + stack[stack_ptr] = far_child + end + + if near_child != INVALID_NODE + node_index = near_child + continue + end + elseif current_instance < Int32(0) + current_instance = Int32(node.child1) + stack_ptr += Int32(1) + stack[stack_ptr] = TOP_LEVEL_SENTINEL + node_index = UInt32(1) + inst = tlas_instances[current_instance + Int32(1)] + ray_o = transform_point(inst.inv_transform, ray.o) + ray_d = transform_direction(inst.inv_transform, ray.d) + ray_inv_d = safe_invdir(ray_d) + continue + else + hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) + if hit + inst = tlas_instances[current_instance + Int32(1)] + desc = blas_descriptors[inst.blas_index] + tri = flat_tlas.blas_primitives[desc.prims_offset + node.child1] + w = 1.0f0 - u - v + bary = SVector{3, Float32}(w, u, v) + return (true, tri, t, bary, inst.instance_id) + end + end + + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + + if node_index == TOP_LEVEL_SENTINEL + node_index = stack[stack_ptr] + stack_ptr -= Int32(1) + current_instance = Int32(-1) + ray_o = ray.o + ray_d = ray.d + ray_inv_d = safe_invdir(ray_d) + end + end + + @inbounds dummy_tri = flat_tlas.blas_primitives[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) +end + +# BVH-compatible wrappers for FlatTLAS (4-value return) +function closest_hit(ray::AbstractRay, flat_tlas::FlatTLAS) + hit, tri, t, bary, inst_id = closest_hit(flat_tlas, ray) + return (hit, tri, t, bary) +end + +function any_hit(ray::AbstractRay, flat_tlas::FlatTLAS) + hit, tri, t, bary, inst_id = any_hit(flat_tlas, ray) + return (hit, tri, t, bary) +end + +# Export public API +export BLAS, TLAS, InstanceDescriptor, BVHNode2 +export FlatTLAS, BLASDescriptor, flatten_tlas +export build_blas, build_tlas, closest_hit, any_hit, world_bound +export update_instance_transform!, refit_tlas! +export INVALID_NODE diff --git a/src/kernel-abstractions.jl b/src/kernel-abstractions.jl index fa5446d..59a75d9 100644 --- a/src/kernel-abstractions.jl +++ b/src/kernel-abstractions.jl @@ -25,4 +25,23 @@ function to_gpu(ArrayType, bvh::Raycore.BVH) return Raycore.BVH(nodes, triangles, primitives, bvh.max_node_primitives) end +# GPU conversion for BLAS (instanced BVH bottom-level) +function to_gpu(ArrayType, blas::Raycore.BLAS) + nodes = to_gpu(ArrayType, blas.nodes) + primitives = to_gpu(ArrayType, blas.primitives) + return Raycore.BLAS(nodes, primitives, blas.root_aabb) +end + +# GPU conversion for TLAS (instanced BVH top-level) +function to_gpu(ArrayType, tlas::Raycore.TLAS) + nodes = to_gpu(ArrayType, tlas.nodes) + instances = to_gpu(ArrayType, tlas.instances) + # Convert each BLAS in the array + blas_gpu = [to_gpu(ArrayType, b) for b in tlas.blas_array] + # We need a concrete array type for the BLAS array on GPU + # Since BLAS contains GPU arrays, we keep it as a regular Vector + # but the inner arrays are on GPU + return Raycore.TLAS(nodes, instances, blas_gpu, tlas.root_aabb) +end + gpu_int(x) = Base.unsafe_trunc(Int32, x) diff --git a/test/runtests.jl b/test/runtests.jl index bc1cd3a..691a8a6 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -18,4 +18,7 @@ Aqua.test_all(Raycore; ambiguities=(; broken=true)) @testset "Bounds" begin include("bounds.jl") end + @testset "Instanced BVH" begin + include("test_instanced_bvh.jl") + end end diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl new file mode 100644 index 0000000..875c38c --- /dev/null +++ b/test/test_instanced_bvh.jl @@ -0,0 +1,212 @@ +# ============================================================================== +# Instanced BVH Tests +# ============================================================================== + +using Test +using Raycore +using GeometryBasics +using StaticArrays +using LinearAlgebra + +@testset "Instanced BVH" begin + +@testset "Morton Code Generation" begin + # Test Morton code for known points + p1 = Point3f(0.0, 0.0, 0.0) + p2 = Point3f(1.0, 1.0, 1.0) + p3 = Point3f(0.5, 0.5, 0.5) + + code1 = Raycore.morton_code_30bit(p1) + code2 = Raycore.morton_code_30bit(p2) + code3 = Raycore.morton_code_30bit(p3) + + @test code1 isa UInt32 + @test code2 isa UInt32 + @test code3 isa UInt32 + + # Morton codes should order points along Z-curve + @test code1 < code2 + @test code1 < code3 < code2 +end + +@testset "BLAS Construction - Single Triangle" begin + # Create a single triangle + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = Triangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + nothing + ) + + primitives = [tri] + blas = build_blas(primitives) + + @test blas isa BLAS + @test length(blas.nodes) == 1 # Single triangle = 1 node (leaf) + @test length(blas.primitives) == 1 + @test is_leaf(blas.nodes[1]) + @test blas.nodes[1].child1 == UInt32(1) # Points to primitive 1 +end + +@testset "BLAS Construction - Multiple Triangles" begin + # Create a simple quad (2 triangles) + v1 = Point3f(0, 0, 0) + v2 = Point3f(1, 0, 0) + v3 = Point3f(1, 1, 0) + v4 = Point3f(0, 1, 0) + + tri1 = Triangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(1, 1)), + nothing + ) + + tri2 = Triangle( + SVector(v1, v3, v4), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 1), Point2f(0, 1)), + nothing + ) + + primitives = [tri1, tri2] + blas = build_blas(primitives) + + @test blas isa BLAS + @test length(blas.nodes) == 3 # 2 leaves + 1 interior = 3 nodes + @test length(blas.primitives) == 2 + + # Check root is interior node + @test is_interior(blas.nodes[1]) + + # Check root AABB contains all primitives + root_aabb = blas.root_aabb + @test root_aabb.p_min[1] ≈ 0.0f0 + @test root_aabb.p_min[2] ≈ 0.0f0 + @test root_aabb.p_max[1] ≈ 1.0f0 + @test root_aabb.p_max[2] ≈ 1.0f0 +end + +@testset "BLAS Type Stability" begin + # Test type stability of build_blas + v1 = Point3f(0, 0, 0) + v2 = Point3f(1, 0, 0) + v3 = Point3f(0, 1, 0) + + tri = Triangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + nothing + ) + + primitives = [tri] + + # build_blas should be type-stable + result_type = @inferred build_blas(primitives) + @test result_type isa BLAS +end + +@testset "InstanceDescriptor Creation" begin + # Test instance descriptor construction + identity_mat = Mat4f(I) + inst = InstanceDescriptor( + UInt32(1), # BLAS index + UInt32(42), # Instance ID + identity_mat, # Transform + identity_mat, # Inverse transform + UInt32(0) # Flags + ) + + @test inst.blas_index == UInt32(1) + @test inst.instance_id == UInt32(42) + @test inst.transform == identity_mat + @test inst.flags == UInt32(0) +end + +@testset "Transform Utilities" begin + # Test point transformation + identity = Mat4f(I) + p = Point3f(1, 2, 3) + p_transformed = Raycore.transform_point(identity, p) + @test p_transformed ≈ p + + # Test translation + translation = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 5, 10, 15, 1 + ) + p_translated = Raycore.transform_point(translation, p) + @test p_translated ≈ Point3f(6, 12, 18) + + # Test direction transformation (should ignore translation) + v = Vec3f(1, 0, 0) + v_transformed = Raycore.transform_direction(translation, v) + @test v_transformed ≈ v + + # Test type stability + @test (@inferred Raycore.transform_point(identity, p)) isa Point3f + @test (@inferred Raycore.transform_direction(identity, v)) isa Vec3f +end + +@testset "BVHNode2 Utilities" begin + # Test leaf detection + leaf_node = BVHNode2( + Point3f(0), Point3f(1), + Point3f(0), Point3f(0), + INVALID_NODE, UInt32(5), INVALID_NODE + ) + @test is_leaf(leaf_node) + @test !is_interior(leaf_node) + + # Test interior detection + interior_node = BVHNode2( + Point3f(0), Point3f(1), + Point3f(0), Point3f(1), + UInt32(2), UInt32(3), INVALID_NODE + ) + @test !is_leaf(interior_node) + @test is_interior(interior_node) + + # Test AABB extraction + aabb = Raycore.get_node_aabb(interior_node, true) + @test aabb isa Bounds3 + @test aabb.p_min == Point3f(0, 0, 0) + @test aabb.p_max == Point3f(1, 1, 1) +end + +@testset "AABB Utilities" begin + # Test expand_bits + @test Raycore.expand_bits(UInt32(0)) == UInt32(0) + @test Raycore.expand_bits(UInt32(1)) isa UInt32 + + # Test clz32 + @test Raycore.clz32(UInt32(0)) == Int32(32) + @test Raycore.clz32(UInt32(1)) == Int32(31) + @test Raycore.clz32(UInt32(0x80000000)) == Int32(0) +end + +@testset "Delta Function (LCP)" begin + # Test longest common prefix calculation + codes = UInt32[0x00000001, 0x00000002, 0x00000004, 0x00000008] + + # Adjacent codes with different prefixes + d1 = Raycore.delta(Int32(1), Int32(2), codes, Int32(4)) + d2 = Raycore.delta(Int32(2), Int32(3), codes, Int32(4)) + + @test d1 isa Int32 + @test d2 isa Int32 + + # Out of bounds should return -1 + d_oob = Raycore.delta(Int32(1), Int32(10), codes, Int32(4)) + @test d_oob == Int32(-1) +end + +end # main testset diff --git a/test/test_type_stability.jl b/test/test_type_stability.jl index 16dbb72..95c4191 100644 --- a/test/test_type_stability.jl +++ b/test/test_type_stability.jl @@ -442,6 +442,88 @@ end end end +# ==================== TLAS Tests ==================== + +# TLAS test data generators +function gen_blas() + t = gen_triangle() + Raycore.build_blas([t]) +end + +function gen_tlas() + blas = gen_blas() + identity = Raycore.Mat4f(LinearAlgebra.I) + inst = Raycore.InstanceDescriptor( + UInt32(1), UInt32(1), + identity, identity, UInt32(0) + ) + Raycore.build_tlas([blas], [inst]) +end + +@testset "Type Stability: instanced-bvh.jl" begin + @testset "BVHNode2 construction" begin + p = gen_point3f() + @test_opt_alloc Raycore.BVHNode2(p, p, p, p, UInt32(0), UInt32(1), UInt32(0)) + end + + @testset "InstanceDescriptor construction" begin + identity = Raycore.Mat4f(LinearAlgebra.I) + @test_opt_alloc Raycore.InstanceDescriptor( + UInt32(1), UInt32(1), identity, identity, UInt32(0) + ) + end + + @testset "TLAS traversal" begin + tlas = gen_tlas() + r = gen_ray() + + @test_opt Raycore.world_bound(tlas) + @test_opt Raycore.closest_hit(tlas, r) + @test_opt Raycore.any_hit(tlas, r) + end + + @testset "TLAS helper functions" begin + node = Raycore.BVHNode2( + gen_point3f(), gen_point3f(), gen_point3f(), gen_point3f(), + UInt32(0), UInt32(1), UInt32(0) + ) + + @test_opt_alloc Raycore.is_leaf(node) + @test_opt_alloc Raycore.is_interior(node) + @test_opt_alloc Raycore.get_node_aabb(node, true) + @test_opt_alloc Raycore.get_node_aabb(node, false) + @test_opt_alloc Raycore.get_tlas_node_aabb(node, true) + @test_opt_alloc Raycore.get_tlas_node_aabb(node, false) + end + + @testset "Transform utilities" begin + identity = Raycore.Mat4f(LinearAlgebra.I) + p = gen_point3f() + v = gen_vec3f() + + @test_opt_alloc Raycore.transform_point(identity, p) + @test_opt_alloc Raycore.transform_direction(identity, v) + @test_opt_alloc Raycore.safe_invdir(v) + end + + @testset "Ray-AABB intersection" begin + node = Raycore.BVHNode2( + Point3f(0), Point3f(1), Point3f(0), Point3f(1), + UInt32(2), UInt32(3), UInt32(0) + ) + ray_inv_d = Vec3f(1, 1, 1) + ray_o = Point3f(0.5f0, 0.5f0, -1.0f0) + + @test_opt_alloc Raycore.intersect_internal_node(node, ray_inv_d, ray_o, 0.0f0, 100.0f0) + end + + @testset "Morton code" begin + p = Point3f(0.5f0, 0.5f0, 0.5f0) + @test_opt_alloc Raycore.morton_code_30bit(p) + @test_opt_alloc Raycore.expand_bits(UInt32(123)) + end +end + # ==================== Kernels Tests ==================== @testset "Type Stability: kernels.jl" begin From cb3ca1250b4ed6202fc13de5ce36626a2fcc006c Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 24 Dec 2025 13:25:36 +0100 Subject: [PATCH 03/63] fixes tests and docs --- docs/src/test_wavefront.jl | 35 -- docs/src/wavefront_instanced.jl | 25 +- docs/src/wavefront_particles.jl | 301 +++++++++++---- src/Raycore.jl | 6 + src/instanced-bvh-kernels.jl | 126 +++++++ src/instanced-bvh.jl | 637 +++++++++++++++++--------------- src/kernel-abstractions.jl | 8 +- src/soa.jl | 137 +++++++ test/test_instanced_bvh.jl | 572 ++++++++++++++++++++++++++-- 9 files changed, 1410 insertions(+), 437 deletions(-) create mode 100644 src/soa.jl diff --git a/docs/src/test_wavefront.jl b/docs/src/test_wavefront.jl index 7dd42fc..0cf8e87 100644 --- a/docs/src/test_wavefront.jl +++ b/docs/src/test_wavefront.jl @@ -22,38 +22,3 @@ begin @btime render!(renderer) nothing end - -begin - img = fill(RGBf(0, 0, 0), 400, 720) - renderer_instanced = WavefrontRenderer( - img, bvh, ctx; - camera_pos=Point3f(0, -0.9, -2.5), - fov=45.0f0, - sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), - samples_per_pixel=4 - ) - @btime render!(renderer_instanced) - # on windows + ryzen 395 max - # 381.034 ms (1200456 allocations: 90.13 MiB) - nothing -end -using ImageShow - -using FileIO -save("wavefront.png", map(col -> mapc(c -> clamp(c, 0f0, 1f0), col), renderer.framebuffer)) - -using AMDGPU -amd_renderer = to_gpu(ROCArray, renderer); -Array(@btime render!(amd_renderer)) -# 36ms on windows + amd 8060s - -using pocl_jll, OpenCL -amd_renderer = to_gpu(CLArray, renderer); -Array(@time render!(amd_renderer)) -r = Raycore.Ray(o=Point3f(0, 0, 0), d=Vec3f(0, 0, 1), t_max=0.0f0) - -@code_warntype any_hit(ibvh, r) - -function test(bvh) - meshes = getfield(bvh, :meshes) -end diff --git a/docs/src/wavefront_instanced.jl b/docs/src/wavefront_instanced.jl index da5d9f2..7130845 100644 --- a/docs/src/wavefront_instanced.jl +++ b/docs/src/wavefront_instanced.jl @@ -65,12 +65,6 @@ function example_scene_tlas(; glass_cat=false) # Use TLAS instead of BVH - drop-in replacement! tlas = Raycore.TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) - println("✓ TLAS built:") - println(" Instances: $(length(tlas.instances))") - println(" BLAS array: $(length(tlas.blas_array))") - println(" TLAS nodes: $(length(tlas.nodes))") - println(" Root AABB: $(tlas.root_aabb)") - lights = default_lights() ctx = RenderContext(lights, materials, 0.1f0) return tlas, ctx @@ -96,10 +90,27 @@ begin camera_up=Vec3f(0, 1, 0), # Y up fov=45.0f0, sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), - samples_per_pixel=4 + samples_per_pixel=4`` ) @btime render!(renderer) end +img using FileIO, ImageCore save("wavefront_instanced.png", map(clamp01nan, img)) +using AMDGPU +begin + img = fill(RGBf(0, 0, 0), 400, 720) + # Use original camera parameters to match pre-look-at benchmark image + renderer = WavefrontRenderer(img, tlas, ctx; + camera_pos=Point3f(0, -0.9, -2.5), + camera_lookat=Point3f(0, -0.9, 10), # Look in +Z direction + camera_up=Vec3f(0, 1, 0), # Y up + fov=45.0f0, + sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), + samples_per_pixel=4 + ) + gpu_renderer = to_gpu(ROCArray, renderer) + @btime render!(gpu_renderer) + Array(gpu_renderer.framebuffer) +end diff --git a/docs/src/wavefront_particles.jl b/docs/src/wavefront_particles.jl index 866af23..c657751 100644 --- a/docs/src/wavefront_particles.jl +++ b/docs/src/wavefront_particles.jl @@ -35,8 +35,13 @@ struct Particle radius::Float32 end -mutable struct ParticleSystem - particles::Vector{Particle} +""" +Particle system - works on CPU (Vector) or GPU (ROCArray, CuArray). +The transforms field is used for TLAS updates. +""" +struct ParticleSystem{ArrParticle, ArrMat4} + particles::ArrParticle + transforms::ArrMat4 bounds_min::Point3f bounds_max::Point3f gravity::Vec3f @@ -52,58 +57,204 @@ function ParticleSystem(n_particles::Int; particles = Particle[] for _ in 1:n_particles - # Random position within bounds pos = Point3f( bounds_min[1] + rand(Float32) * (bounds_max[1] - bounds_min[1]), bounds_min[2] + rand(Float32) * (bounds_max[2] - bounds_min[2]), bounds_min[3] + rand(Float32) * (bounds_max[3] - bounds_min[3]) ) - - # Random initial velocity (mostly upward with some spread) vel = Vec3f( (rand(Float32) - 0.5f0) * 20, (rand(Float32) - 0.5f0) * 20, rand(Float32) * 30 + 10 ) - - # Random radius r = radius_range[1] + rand(Float32) * (radius_range[2] - radius_range[1]) - push!(particles, Particle(pos, vel, r)) end - ParticleSystem(particles, bounds_min, bounds_max, Vec3f(0, 0, -30), 0.98f0) + # Build initial transforms + transforms = [translation(Vec3f(p.position)) * scale(p.radius) for p in particles] + + ParticleSystem(particles, transforms, bounds_min, bounds_max, Vec3f(0, 0, -30), 0.98f0) end -"""Update particle positions with simple physics.""" -function step!(ps::ParticleSystem, dt::Float32) - for i in eachindex(ps.particles) - p = ps.particles[i] +"""Convert particle system to GPU.""" +function Raycore.to_gpu(ArrayType, ps::ParticleSystem) + ParticleSystem( + ArrayType(ps.particles), + ArrayType(ps.transforms), + ps.bounds_min, + ps.bounds_max, + ps.gravity, + ps.damping + ) +end - # Apply gravity and update velocity - new_vel = (p.velocity + ps.gravity * dt) * ps.damping +# CPU step! removed - we use GPU kernels for everything now + +# ============================================================================== +# GPU Kernels for ParticleSystem +# ============================================================================== + +"""GPU kernel: Physics step - update particles with gravity and boundary bouncing.""" +KA.@kernel function particle_physics_kernel!( + particles, + bounds_min::Point3f, + bounds_max::Point3f, + gravity::Vec3f, + damping::Float32, + dt::Float32 +) + i = @index(Global, Linear) + @inbounds begin + p = particles[i] + pos = Vec3f(p.position...) + vel = p.velocity + r = p.radius + + # Apply gravity and damping + new_vel = (vel + gravity * dt) * damping # Update position - new_pos = p.position + new_vel * dt - - # Bounce off boundaries - for dim in 1:3 - if new_pos[dim] - p.radius < ps.bounds_min[dim] - new_pos = set_comp(new_pos, ps.bounds_min[dim] + p.radius, dim) - new_vel = set_comp(new_vel, -new_vel[dim] * 0.8f0, dim) - elseif new_pos[dim] + p.radius > ps.bounds_max[dim] - new_pos = set_comp(new_pos, ps.bounds_max[dim] - p.radius, dim) - new_vel = set_comp(new_vel, -new_vel[dim] * 0.8f0, dim) - end + new_pos = pos + new_vel * dt + + # Bounce off boundaries (unrolled for GPU efficiency) + # X axis + if new_pos[1] - r < bounds_min[1] + new_pos = Vec3f(bounds_min[1] + r, new_pos[2], new_pos[3]) + new_vel = Vec3f(-new_vel[1] * 0.8f0, new_vel[2], new_vel[3]) + elseif new_pos[1] + r > bounds_max[1] + new_pos = Vec3f(bounds_max[1] - r, new_pos[2], new_pos[3]) + new_vel = Vec3f(-new_vel[1] * 0.8f0, new_vel[2], new_vel[3]) + end + + # Y axis + if new_pos[2] - r < bounds_min[2] + new_pos = Vec3f(new_pos[1], bounds_min[2] + r, new_pos[3]) + new_vel = Vec3f(new_vel[1], -new_vel[2] * 0.8f0, new_vel[3]) + elseif new_pos[2] + r > bounds_max[2] + new_pos = Vec3f(new_pos[1], bounds_max[2] - r, new_pos[3]) + new_vel = Vec3f(new_vel[1], -new_vel[2] * 0.8f0, new_vel[3]) end - ps.particles[i] = Particle(new_pos, new_vel, p.radius) + # Z axis + if new_pos[3] - r < bounds_min[3] + new_pos = Vec3f(new_pos[1], new_pos[2], bounds_min[3] + r) + new_vel = Vec3f(new_vel[1], new_vel[2], -new_vel[3] * 0.8f0) + elseif new_pos[3] + r > bounds_max[3] + new_pos = Vec3f(new_pos[1], new_pos[2], bounds_max[3] - r) + new_vel = Vec3f(new_vel[1], new_vel[2], -new_vel[3] * 0.8f0) + end + + particles[i] = Particle(Point3f(new_pos...), new_vel, r) end end -# Helper to set a single component of a Point3f/Vec3f (non-mutating) -set_comp(p::Point3f, val, idx) = idx == 1 ? Point3f(val, p[2], p[3]) : idx == 2 ? Point3f(p[1], val, p[3]) : Point3f(p[1], p[2], val) -set_comp(v::Vec3f, val, idx) = idx == 1 ? Vec3f(val, v[2], v[3]) : idx == 2 ? Vec3f(v[1], val, v[3]) : Vec3f(v[1], v[2], val) +"""GPU kernel: Build transform matrices from particles.""" +KA.@kernel function build_transforms_kernel!( + transforms, + @Const(particles) +) + i = @index(Global, Linear) + @inbounds begin + p = particles[i] + pos = p.position + r = p.radius + # Translation * Scale matrix (column-major) + transforms[i] = Mat4f( + r, 0, 0, 0, + 0, r, 0, 0, + 0, 0, r, 0, + pos[1], pos[2], pos[3], 1 + ) + end +end + +"""GPU kernel: Update materials based on particle velocities.""" +KA.@kernel function update_materials_kernel!( + materials, + @Const(particles), + max_speed::Float32 +) + i = @index(Global, Linear) + @inbounds begin + vel = particles[i].velocity + speed = sqrt(vel[1]^2 + vel[2]^2 + vel[3]^2) + + # Velocity to heat color + t = clamp(speed / max_speed, 0.0f0, 1.0f0) + color = if t < 0.25f0 + s = t / 0.25f0 + RGB{Float32}(0.1f0, 0.2f0 + 0.5f0 * s, 0.8f0) + elseif t < 0.5f0 + s = (t - 0.25f0) / 0.25f0 + RGB{Float32}(0.1f0 + 0.6f0 * s, 0.7f0, 0.8f0 - 0.6f0 * s) + elseif t < 0.75f0 + s = (t - 0.5f0) / 0.25f0 + RGB{Float32}(0.7f0 + 0.3f0 * s, 0.7f0 - 0.4f0 * s, 0.2f0 - 0.1f0 * s) + else + s = (t - 0.75f0) / 0.25f0 + RGB{Float32}(1.0f0, 0.3f0 + 0.7f0 * s, 0.1f0 + 0.9f0 * s) + end + + # Noise for metallic/roughness variety + noise = sin(Float32(i) * 0.1f0) * 0.5f0 + 0.5f0 + metallic = 0.3f0 + noise * 0.6f0 + roughness = 0.2f0 + (1.0f0 - noise) * 0.4f0 + + materials[i] = Material(color, metallic, roughness, 1.0f0, 0.0f0) + end +end + +"""Step particle physics (works on CPU or GPU via KernelAbstractions).""" +function step!(ps::ParticleSystem, dt::Float32) + n = length(ps.particles) + backend = KA.get_backend(ps.particles) + kernel! = particle_physics_kernel!(backend) + kernel!(ps.particles, ps.bounds_min, ps.bounds_max, ps.gravity, ps.damping, dt, ndrange=n) + return nothing +end + +"""Build transforms from current particle state.""" +function build_transforms!(ps::ParticleSystem) + n = length(ps.particles) + backend = KA.get_backend(ps.particles) + kernel! = build_transforms_kernel!(backend) + kernel!(ps.transforms, ps.particles, ndrange=n) + return nothing +end + +"""Update materials based on particle velocities.""" +function update_materials!(materials, ps::ParticleSystem; max_speed::Float32=50.0f0) + n = length(ps.particles) + backend = KA.get_backend(ps.particles) + kernel! = update_materials_kernel!(backend) + kernel!(materials, ps.particles, max_speed, ndrange=n) + return nothing +end + +""" +Full GPU update: physics -> transforms -> TLAS update -> materials. +All operations stay on GPU with no CPU roundtrips. +""" +function update_gpu!(renderer_gpu, ps::ParticleSystem, dt::Float32; backend, max_speed::Float32=50.0f0) + n = length(ps.particles) + # 1. Physics step + step!(ps, dt) + + # 2. Build transforms from new positions + build_transforms!(ps) + + # 3. Update TLAS instance transforms + Raycore.update_instance_transforms!(renderer_gpu.bvh, ps.transforms, n) + + # 4. Refit TLAS AABBs + Raycore.refit_tlas!(renderer_gpu.bvh; backend=backend) + + # 5. Update materials based on velocities + update_materials!(renderer_gpu.ctx.materials, ps; max_speed=max_speed) + + return nothing +end # ============================================================================== # Scene Creation with Instanced Spheres @@ -296,25 +447,6 @@ function create_particle_scene(ps::ParticleSystem) return tlas, ctx, materials end -"""Update TLAS transforms and materials based on current particle state.""" -function update_particle_scene!(tlas, materials::Vector{Material}, ps::ParticleSystem) - for (i, p) in enumerate(ps.particles) - # Update transform - transform = translation(Vec3f(p.position)) * scale(p.radius) - update_instance_transform!(tlas, i, transform) - - # Update material color based on velocity, keep noise-based metallic - speed = norm(p.velocity) - color = velocity_to_color(speed) - noise = sin(Float32(i) * 0.1f0) * 0.5f0 + 0.5f0 - metallic = 0.3f0 + noise * 0.6f0 - roughness = 0.2f0 + (1.0f0 - noise) * 0.4f0 - materials[i] = Material(color, metallic, roughness, 1.0f0, 0.0f0) - end - - refit_tlas!(tlas) -end - # ============================================================================== # Main Animation # ============================================================================== @@ -324,7 +456,7 @@ println("Particle Simulation - 10k Instanced Spheres Demo") println("="^70) # Create particle system -n_particles = 1_0000 +n_particles = 10_000 println("\nInitializing $n_particles particles...") ps = ParticleSystem(n_particles; bounds_min=Point3f(-40, -40, 0), @@ -362,33 +494,37 @@ renderer = WavefrontRenderer(img, tlas, ctx; fov=50.0f0, sky_color=RGB{Float32}(0.05f0, 0.05f0, 0.1f0), # Dark sky samples_per_pixel=8 -) - +); +renderer_gpu = to_gpu(ROCArray, renderer); # Warmup println("\nWarmup render...") -render!(renderer) +Array(render!(renderer_gpu)) +# CPU 6.464 s (17243741 allocations: 2.01 GiB) +# GPU 590.115 ms (1310 allocations: 52.91 KiB) -# Animation loop +# Create GPU particle system +using AMDGPU: ROCBackend +ps_gpu = to_gpu(ROCArray, ps) +println("GPU particle system created") + +# Animation loop (fully GPU-accelerated) println("\nRendering animation...") total_time = @elapsed begin for frame in 1:num_frames - # Step physics - step!(ps, dt) - - # Update scene (transforms + materials) - materials array is mutated in-place - update_particle_scene!(tlas, materials, ps) + # Full GPU update: physics -> transforms -> TLAS -> materials + update_gpu!(renderer_gpu, ps_gpu, dt; backend=ROCBackend()) - # Render (renderer holds references to tlas and ctx, so updates are visible) - fill!(img, RGBf(0, 0, 0)) - render!(renderer) + # Render + fill!(renderer_gpu.framebuffer, RGBf(0, 0, 0)) + render!(renderer_gpu) - # Save frame + # Save frame (only GPU->CPU transfer is the framebuffer) filename = joinpath(frames_dir, "frame_$(lpad(frame, 4, '0')).png") - save(filename, map(clamp01nan, img)) + save(filename, Array(map(clamp01nan, renderer_gpu.framebuffer))) if frame % 20 == 0 || frame == 1 - avg_speed = sum(norm(p.velocity) for p in ps.particles) / n_particles - println(" Frame $frame/$num_frames (avg speed: $(round(avg_speed, digits=1)))") + # For progress reporting, we can skip velocity stats or do a quick GPU reduction + println(" Frame $frame/$num_frames") end end end @@ -408,25 +544,34 @@ println("Video saved: $video_output") # Performance stats println("\n" * "="^70) -println("Performance Statistics") +println("Performance Statistics (GPU)") println("="^70) using BenchmarkTools -# Benchmark physics step -physics_time = @belapsed step!($ps, $dt) -println(" Physics step: $(round(physics_time * 1000, digits=3)) ms") +# Benchmark GPU physics step +gpu_physics_time = @belapsed step!($ps_gpu, $dt) +println(" GPU Physics step: $(round(gpu_physics_time * 1000, digits=3)) ms") -# Benchmark TLAS update -update_time = @belapsed update_particle_scene!($tlas, $materials, $ps) -println(" TLAS update (transforms + refit): $(round(update_time * 1000, digits=3)) ms") +# Benchmark GPU transform building +gpu_transform_time = @belapsed build_transforms!($ps_gpu) +println(" GPU Transform build: $(round(gpu_transform_time * 1000, digits=3)) ms") -# Benchmark render -render_time = @belapsed begin - fill!($img, RGBf(0, 0, 0)) - render!($renderer) +# Benchmark full GPU update (physics + transforms + TLAS + materials) +gpu_update_time = @belapsed update_gpu!($renderer_gpu, $ps_gpu, $dt; backend=ROCBackend()) +println(" GPU Full update: $(round(gpu_update_time * 1000, digits=3)) ms") + +# Benchmark GPU render +gpu_render_time = @belapsed begin + fill!($renderer_gpu.framebuffer, RGBf(0, 0, 0)) + render!($renderer_gpu) end -println(" Render: $(round(render_time * 1000, digits=1)) ms") +println(" GPU Render: $(round(gpu_render_time * 1000, digits=1)) ms") + +# Total frame time +total_frame_time = gpu_update_time + gpu_render_time +println("\n Total frame time: $(round(total_frame_time * 1000, digits=1)) ms") +println(" Theoretical max FPS: $(round(1.0 / total_frame_time, digits=1))") println("\n Total triangles: $(n_particles * length(tlas.blas_array[1].primitives) + length(tlas.blas_array[2].primitives))") println(" Unique BLAS geometries: $(length(tlas.blas_array))") diff --git a/src/Raycore.jl b/src/Raycore.jl index 46b55f2..63257eb 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -45,12 +45,15 @@ include("instanced-bvh-kernels.jl") include("kernel-abstractions.jl") include("kernels.jl") include("ray_intersection_session.jl") +include("soa.jl") # Core types export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f # Instanced BVH types export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE +export Instance, InstanceHandle, find_instances, add_instance!, remove_instance!, rebuild_tlas! +export update_transform!, update_transforms!, n_instances, n_geometries # Ray intersection functions export closest_hit, any_hit, world_bound @@ -64,4 +67,7 @@ export get_centroid, get_illumination, view_factors # Ray intersection session export RayIntersectionSession, hit_points, hit_distances, hit_count, miss_count +# SoA utilities +export @get, @set, similar_soa + end diff --git a/src/instanced-bvh-kernels.jl b/src/instanced-bvh-kernels.jl index d10c872..75c3b1e 100644 --- a/src/instanced-bvh-kernels.jl +++ b/src/instanced-bvh-kernels.jl @@ -359,7 +359,133 @@ KA.@kernel function refit_tlas_aabbs_kernel!( end end +# ============================================================================== +# GPU Dynamic Update Kernels +# ============================================================================== + +""" +GPU kernel: Batch update instance transforms. + +Updates both transform and inv_transform for each instance from the provided +transform array. The transforms array should contain the new local-to-world +transforms for instances 1:n (in particle order, NOT Morton order). +""" +KA.@kernel function update_instance_transforms_kernel!( + instances, + @Const(transforms), + n_particles::Int32 +) + i = @index(Global, Linear) + if i <= n_particles + @inbounds begin + old_inst = instances[i] + transform = transforms[i] + # Compute inverse transform + inv_transform = Mat4f(inv(transform)) + # Update instance (preserve blas_index, instance_id, flags) + instances[i] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + end + end +end + +""" +GPU kernel: Update TLAS leaf node AABBs from instance transforms. + +After transforms are updated, this kernel recomputes world-space AABBs for +all leaf nodes. Must be called before refit_tlas_aabbs_kernel!. + +NOTE: Leaf nodes are Morton-sorted, so we must use the stored instance index +(child1) to look up the correct instance. +""" +KA.@kernel function update_tlas_leaf_aabbs_kernel!( + nodes, + @Const(instances), + @Const(blas_array), + n_instances::Int32 +) + i = @index(Global, Linear) + if i <= n_instances + @inbounds begin + leaf_node_idx = Int(n_instances) - 1 + i + old_node = nodes[leaf_node_idx] + + # Get the actual instance index from the leaf node (stored as 0-indexed in child1) + inst_idx = Int(old_node.child1) + 1 + inst = instances[inst_idx] + blas = blas_array[inst.blas_index] + local_aabb = blas.root_aabb + + # Transform AABB to world space (8 corners) + world_aabb = Bounds3() + for c in 1:8 + world_corner = transform_point(inst.transform, corner(local_aabb, c)) + world_aabb = world_aabb ∪ Bounds3(world_corner) + end + + # Update leaf node with new AABB (preserve topology) + nodes[leaf_node_idx] = BVHNode2( + world_aabb.p_min, world_aabb.p_max, Point3f(0), Point3f(0), + old_node.child0, old_node.child1, old_node.parent + ) + end + end +end + +""" +GPU kernel: Batch update materials based on particle velocities. + +Updates material colors using a heat-map based on velocity magnitude. +Also updates metallic/roughness with per-particle noise variation. +""" +KA.@kernel function update_particle_materials_kernel!( + materials, + @Const(positions), + @Const(velocities), + @Const(radii), + n_particles::Int32, + max_speed::Float32 +) + i = @index(Global, Linear) + if i <= n_particles + @inbounds begin + vel = velocities[i] + speed = sqrt(vel[1]^2 + vel[2]^2 + vel[3]^2) + + # Velocity to heat color (same as CPU version) + t = clamp(speed / max_speed, 0.0f0, 1.0f0) + color = if t < 0.25f0 + s = t / 0.25f0 + RGB{Float32}(0.1f0, 0.2f0 + 0.5f0 * s, 0.8f0) + elseif t < 0.5f0 + s = (t - 0.25f0) / 0.25f0 + RGB{Float32}(0.1f0 + 0.6f0 * s, 0.7f0, 0.8f0 - 0.6f0 * s) + elseif t < 0.75f0 + s = (t - 0.5f0) / 0.25f0 + RGB{Float32}(0.7f0 + 0.3f0 * s, 0.7f0 - 0.4f0 * s, 0.2f0 - 0.1f0 * s) + else + s = (t - 0.75f0) / 0.25f0 + RGB{Float32}(1.0f0, 0.3f0 + 0.7f0 * s, 0.1f0 + 0.9f0 * s) + end + + # Noise for metallic/roughness variety + noise = sin(Float32(i) * 0.1f0) * 0.5f0 + 0.5f0 + metallic = 0.3f0 + noise * 0.6f0 + roughness = 0.2f0 + (1.0f0 - noise) * 0.4f0 + + materials[i] = Material(color, metallic, roughness, 1.0f0, 0.0f0) + end + end +end + # Export kernel helper functions for testing export calculate_morton_code_for_prim, build_topology_for_node export set_parents_for_node, create_leaf_for_prim, refit_node_aabb export calculate_tlas_morton_code, create_tlas_leaf_for_instance +export update_instance_transforms_kernel!, update_tlas_leaf_aabbs_kernel! +export update_particle_materials_kernel! diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index e72a038..3db9018 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -1024,48 +1024,34 @@ function update_instance_transform!(tlas::TLAS, instance_idx::Integer, transform end """ - refit_tlas!(tlas::TLAS) + refit_tlas!(tlas::TLAS; backend=nothing) Refit the TLAS after instance transforms have been updated. Updates leaf AABBs from instance transforms and propagates changes up the tree. This is much faster than rebuilding the TLAS from scratch when only transforms change. +Works on both CPU and GPU TLAS. + +For GPU TLAS (created via `to_gpu`), you must provide the backend explicitly: + refit_tlas!(tlas_gpu; backend=ROCBackend()) """ -function refit_tlas!(tlas::TLAS) +function refit_tlas!(tlas::TLAS; backend=nothing) n = length(tlas.instances) n == 0 && return tlas - backend = KA.get_backend(tlas.nodes) + # Auto-detect backend for CPU arrays, require explicit for GPU device vectors + if backend === nothing + backend = KA.get_backend(tlas.nodes) + end + nodes = tlas.nodes instances = tlas.instances blas_array = tlas.blas_array - # Update leaf node AABBs from new transforms - # NOTE: Leaf nodes are Morton-sorted, so we must use the stored instance index (child1) - # to look up the correct instance, not assume leaf i corresponds to instance i. - for i in 1:n - leaf_node_idx = n - 1 + i - old_node = nodes[leaf_node_idx] - - # Get the actual instance index from the leaf node (stored as 0-indexed in child1) - inst_idx = Int(old_node.child1) + 1 - inst = instances[inst_idx] - blas = blas_array[inst.blas_index] - local_aabb = blas.root_aabb - - # Transform AABB to world space (8 corners) - world_aabb = Bounds3() - for c in 1:8 - world_corner = transform_point(inst.transform, corner(local_aabb, c)) - world_aabb = world_aabb ∪ Bounds3(world_corner) - end - - # Update leaf node with new AABB (preserve topology) - nodes[leaf_node_idx] = BVHNode2( - world_aabb.p_min, world_aabb.p_max, Point3f(0), Point3f(0), - old_node.child0, old_node.child1, old_node.parent - ) - end + # Update leaf node AABBs from new transforms (GPU kernel) + leaf_kernel! = update_tlas_leaf_aabbs_kernel!(backend) + leaf_kernel!(nodes, instances, blas_array, Int32(n), ndrange=n) + KA.synchronize(backend) # Refit internal nodes bottom-up using atomic counters if n > 1 @@ -1082,6 +1068,28 @@ function refit_tlas!(tlas::TLAS) return tlas end +""" + update_instance_transforms!(tlas::TLAS, transforms::AbstractVector{Mat4f}, n_to_update::Integer) + +Batch update instance transforms. Updates the first `n_to_update` instances +with the provided transforms array. + +This is more efficient than calling `update_instance_transform!` in a loop, +especially on GPU where we can parallelize the updates. + +The backend is inferred from the `transforms` array type, so for GPU updates +pass a GPU array (e.g., `ROCArray{Mat4f}`). + +Call `refit_tlas!(tlas)` after this to update the BVH AABBs. +""" +function update_instance_transforms!(tlas::TLAS, transforms::AbstractVector{Mat4f}, n_to_update::Integer) + backend = KA.get_backend(transforms) + kernel! = update_instance_transforms_kernel!(backend) + kernel!(tlas.instances, transforms, Int32(n_to_update), ndrange=n_to_update) + KA.synchronize(backend) + return nothing +end + # ============================================================================== # BVH-Compatible API @@ -1163,14 +1171,9 @@ function TLAS( return build_tlas(blas_array, instances) end -""" - TLAS(primitives::AbstractVector) - -Simplified constructor with default metadata (mesh index). -""" -function TLAS(primitives::AbstractVector{P}) where {P} - return TLAS(primitives, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) -end +# Note: TLAS(items::AbstractVector) is defined in the High-Level Instance API section below. +# Use TLAS(meshes, metadata_fn) for per-triangle metadata, or +# TLAS([Instance(mesh1), Instance(mesh2), ...]) for the new Instance API. # Make closest_hit and any_hit work with both argument orders for compatibility """ @@ -1201,327 +1204,385 @@ end Get the element type of primitives stored in the TLAS. Returns the element type of the first BLAS's primitives. This is needed for compatibility with code that expects `eltype(bvh.primitives)`. + +Uses type parameters to avoid indexing into GPU arrays from CPU. """ -Base.eltype(tlas::TLAS) = eltype(tlas.blas_array[1].primitives) +function Base.eltype(::TLAS{NA, IA, BA}) where {NA, IA, BA} + # Extract BLAS type from the BLASArray type parameter + # BA <: AbstractVector{<:BLAS{NodeArray, TriArray}} + BLASType = eltype(BA) + # BLAS{NodeArray, TriArray} -> TriArray -> eltype(TriArray) + return eltype(fieldtype(BLASType, :primitives)) +end # ============================================================================== -# GPU-Compatible Flattened TLAS +# High-Level Instance API # ============================================================================== """ - BLASDescriptor + Instance{G, T, M} -Describes the location of a BLAS's data within the flattened arrays. -Used by FlatTLAS for GPU-compatible instanced ray tracing. -""" -struct BLASDescriptor - nodes_offset::UInt32 # Offset into flattened nodes array - nodes_count::UInt32 # Number of nodes in this BLAS - prims_offset::UInt32 # Offset into flattened primitives array - prims_count::UInt32 # Number of primitives in this BLAS - root_aabb::Bounds3 # Root AABB of this BLAS -end +User-friendly wrapper for instanced geometry. -""" - FlatTLAS{NodeArray, InstArray, TriArray, DescArray} +Each Instance represents one or more copies of a geometry with different transforms. +Multiple transforms = multiple instances sharing the same BLAS. + +# Fields +- `geometry::G`: The source geometry (mesh, etc.) +- `transforms::T`: Per-instance local-to-world transforms (Vector or GPU array) +- `metadata::M`: Per-instance metadata (Vector or GPU array, e.g., material indices) + +# Examples +```julia +# Single instance at identity +inst = Instance(mesh) -GPU-compatible flattened Top-Level Acceleration Structure. +# Single instance with transform and metadata +inst = Instance(mesh, my_transform, UInt32(1)) -All BLAS nodes and primitives are flattened into single arrays, -with BLASDescriptor providing offsets for each BLAS. +# Multiple instances (10k particles sharing one sphere mesh) +transforms = [translation(pos) * scale(r) for (pos, r) in particles] +metadata = fill(UInt32(1), length(transforms)) # All use material 1 +inst = Instance(sphere_mesh, transforms, metadata) -This structure is fully isbits-compatible when using GPU arrays, -allowing it to be passed directly to GPU kernels. +# GPU arrays work too +transforms_gpu = ROCArray(transforms) +metadata_gpu = ROCArray(metadata) +inst_gpu = Instance(sphere_mesh, transforms_gpu, metadata_gpu) +``` """ -struct FlatTLAS{ - NodeArray <: AbstractVector{BVHNode2}, - InstArray <: AbstractVector{InstanceDescriptor}, - TriArray <: AbstractVector{<:Triangle}, - DescArray <: AbstractVector{BLASDescriptor} -} - # TLAS structure - tlas_nodes::NodeArray - instances::InstArray - root_aabb::Bounds3 +struct Instance{G, T<:AbstractVector{Mat4f}, M<:AbstractVector} + geometry::G + transforms::T + metadata::M +end - # Flattened BLAS data - blas_nodes::NodeArray # All BLAS nodes concatenated - blas_primitives::TriArray # All BLAS primitives concatenated - blas_descriptors::DescArray # Descriptor for each BLAS +# Convenience constructors +"""Single instance with transform and metadata.""" +Instance(geom, transform::Mat4f, metadata) = + Instance(geom, [transform], [metadata]) + +"""Single instance at identity transform.""" +Instance(geom; metadata=UInt32(1)) = + Instance(geom, [Mat4f(LinearAlgebra.I)], [metadata]) + +"""Multiple instances with same metadata.""" +function Instance(geom, transforms::AbstractVector{Mat4f}; metadata=UInt32(1)) + Instance(geom, transforms, fill(metadata, length(transforms))) end """ - flatten_tlas(tlas::TLAS) -> FlatTLAS + InstanceHandle + +Stable handle for referencing instances in a TLAS. + +The handle stores the BLAS index which is stable across add/remove operations. +Use `find_instances(tlas, handle)` to get the current instance range. -Convert a TLAS with nested BLAS structures to a flattened GPU-compatible format. +# Fields +- `blas_index`: Which BLAS geometry this instance uses (stable identifier) """ -function flatten_tlas(tlas::TLAS{NA, IA, BA}) where {NA, IA, BA} - n_blas = length(tlas.blas_array) +struct InstanceHandle + blas_index::UInt32 +end - # Calculate total sizes - total_nodes = sum(length(b.nodes) for b in tlas.blas_array) - total_prims = sum(length(b.primitives) for b in tlas.blas_array) +""" + find_instances(tlas::TLAS, handle::InstanceHandle) -> UnitRange{Int} - # Get element types from first BLAS - TriType = eltype(tlas.blas_array[1].primitives) +Find the current instance range for a handle by searching for matching blas_index. +Returns the range of indices in `tlas.instances` that use this BLAS. - # Allocate flattened arrays - blas_nodes = Vector{BVHNode2}(undef, total_nodes) - blas_primitives = Vector{TriType}(undef, total_prims) - blas_descriptors = Vector{BLASDescriptor}(undef, n_blas) +This is O(n) but handles are stable across add/remove operations. +""" +function find_instances(tlas::TLAS, handle::InstanceHandle)::UnitRange{Int} + start_idx = 0 + end_idx = 0 + for (i, inst) in enumerate(tlas.instances) + if inst.blas_index == handle.blas_index + if start_idx == 0 + start_idx = i + end + end_idx = i + end + end + start_idx == 0 && error("Handle not found in TLAS (blas_index=$(handle.blas_index))") + return start_idx:end_idx +end - # Flatten each BLAS - nodes_offset = UInt32(0) - prims_offset = UInt32(0) +Base.length(tlas::TLAS, h::InstanceHandle) = length(find_instances(tlas, h)) - for (i, blas) in enumerate(tlas.blas_array) - n_nodes = length(blas.nodes) - n_prims = length(blas.primitives) +""" + TLAS(items::AbstractVector) -> TLAS - # Copy nodes and primitives - copyto!(blas_nodes, Int(nodes_offset) + 1, blas.nodes, 1, n_nodes) - copyto!(blas_primitives, Int(prims_offset) + 1, blas.primitives, 1, n_prims) +Create a TLAS from a vector of geometries or Instance objects. - # Create descriptor - blas_descriptors[i] = BLASDescriptor( - nodes_offset, - UInt32(n_nodes), - prims_offset, - UInt32(n_prims), - blas.root_aabb - ) +Plain geometries are automatically wrapped as single instances at identity transform. +Returns the TLAS and a vector of InstanceHandles for later reference. - nodes_offset += UInt32(n_nodes) - prims_offset += UInt32(n_prims) +# Examples +```julia +# Mix of plain geometry and instances +tlas, handles = TLAS([ + floor_mesh, # Auto-wrapped as Instance + Instance(sphere, particle_transforms), # 10k instances sharing sphere BLAS + Instance(wall, wall_transform, UInt32(2)) +]) + +# Later: update transforms (fast, uses GPU kernel) +update_transforms!(tlas, handles[2], new_particle_transforms) +refit_tlas!(tlas) + +# Add/remove instances (requires rebuild) +new_handle = add_instance!(tlas, Instance(new_mesh, transforms)) +remove_instance!(tlas, handles[1]) +rebuild_tlas!(tlas) +``` +""" +function TLAS(items::AbstractVector) + # Convert items to Instances + instances = Instance[] + for item in items + if item isa Instance + push!(instances, item) + else + # Wrap plain geometry as single instance at identity + push!(instances, Instance(item)) + end end - return FlatTLAS( - tlas.nodes, - tlas.instances, - tlas.root_aabb, - blas_nodes, - blas_primitives, - blas_descriptors - ) + return _build_tlas_from_instances(instances) end -Base.eltype(tlas::FlatTLAS) = eltype(tlas.blas_primitives) - """ - closest_hit(flat_tlas::FlatTLAS, ray::AbstractRay) + _build_tlas_from_instances(instances::Vector{<:Instance}) -> (TLAS, Vector{InstanceHandle}) -Traverse flattened two-level BVH to find closest ray intersection. -GPU-compatible version using flattened BLAS arrays. +Internal: Build TLAS from Instance objects. """ -@inline function closest_hit(flat_tlas::FlatTLAS{NA, IA, TA, DA}, ray::R) where {NA, IA, TA, DA, R <: AbstractRay} - # Initialize traversal state - ray = check_direction(ray) - ray_o::Point3f = ray.o - ray_d::Vec3f = ray.d - ray_mint::Float32 = 0.0f0 - ray_maxt::Float32 = ray.t_max - ray_inv_d::Vec3f = safe_invdir(ray_d) +function _build_tlas_from_instances(instances::Vector{<:Instance}) + isempty(instances) && error("Cannot create TLAS from empty instance list") - # Stack for traversal - stack = MVector{64, UInt32}(undef) - stack_ptr::Int32 = Int32(1) - @inbounds stack[stack_ptr] = INVALID_NODE + # Build first BLAS to get concrete type for the array + first_inst = instances[1] + first_mesh = to_triangle_mesh(first_inst.geometry) + first_triangles = [Triangle(first_mesh, i, first_inst.metadata[1]) for i in 1:div(length(first_mesh.indices), 3)] + first_blas = build_blas(first_triangles) - # Traversal state - current_instance::Int32 = Int32(-1) - closest_instance::Int32 = Int32(-1) - closest_prim::UInt32 = INVALID_NODE - hit_u::Float32 = 0.0f0 - hit_v::Float32 = 0.0f0 + # Create concretely-typed arrays + blas_array = typeof(first_blas)[first_blas] + instance_descriptors = InstanceDescriptor[] + handles = InstanceHandle[] + + # Add first instance's descriptors + blas_idx = UInt32(1) + for (i, transform) in enumerate(first_inst.transforms) + inv_transform = Mat4f(inv(transform)) + instance_id = UInt32(length(instance_descriptors) + 1) + desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) + push!(instance_descriptors, desc) + end + push!(handles, InstanceHandle(blas_idx)) - node_index::UInt32 = UInt32(1) + # Process remaining instances + for inst in instances[2:end] + mesh = to_triangle_mesh(inst.geometry) + triangles = [Triangle(mesh, i, inst.metadata[1]) for i in 1:div(length(mesh.indices), 3)] + blas = build_blas(triangles) + push!(blas_array, blas) + blas_idx = UInt32(length(blas_array)) + + # Create InstanceDescriptors for each transform + for (i, transform) in enumerate(inst.transforms) + inv_transform = Mat4f(inv(transform)) + instance_id = UInt32(length(instance_descriptors) + 1) + desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) + push!(instance_descriptors, desc) + end - # References to arrays - tlas_nodes = flat_tlas.tlas_nodes - tlas_instances = flat_tlas.instances - blas_nodes = flat_tlas.blas_nodes - blas_descriptors = flat_tlas.blas_descriptors + push!(handles, InstanceHandle(blas_idx)) + end - @inbounds while node_index != INVALID_NODE - # Fetch node based on current level - node::BVHNode2 = if current_instance < Int32(0) - tlas_nodes[node_index] - else - inst = tlas_instances[current_instance + Int32(1)] - desc = blas_descriptors[inst.blas_index] - blas_nodes[desc.nodes_offset + node_index] - end + # Build TLAS + tlas = build_tlas(blas_array, instance_descriptors) - is_leaf_node::Bool = (node.child0 == INVALID_NODE) + return tlas, handles +end - if !is_leaf_node - near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) +""" + add_instance!(tlas::TLAS, inst::Instance) -> InstanceHandle - if far_child != INVALID_NODE - stack_ptr += Int32(1) - stack[stack_ptr] = far_child - end +Add a new instance to the TLAS. Returns a stable handle for later reference. - if near_child != INVALID_NODE - node_index = near_child - continue - end - elseif current_instance < Int32(0) - # Top-level leaf - transition to instance - current_instance = Int32(node.child1) +**Note:** Call `rebuild_tlas!(tlas)` after adding instances to update the BVH structure. +Uses `append!` internally which works on both CPU and GPU arrays. +""" +function add_instance!(tlas::TLAS, inst::Instance) + # Build BLAS from geometry + mesh = to_triangle_mesh(inst.geometry) + triangles = [Triangle(mesh, i, inst.metadata[1]) for i in 1:div(length(mesh.indices), 3)] + blas = build_blas(triangles) + + # Append to blas_array + push!(tlas.blas_array, blas) + blas_idx = UInt32(length(tlas.blas_array)) + + # Create InstanceDescriptors and append + # Note: instance_id is sequential; material info is stored in Triangle metadata + new_descriptors = InstanceDescriptor[] + base_id = UInt32(length(tlas.instances)) + for (i, transform) in enumerate(inst.transforms) + inv_transform = Mat4f(inv(transform)) + instance_id = base_id + UInt32(i) + desc = InstanceDescriptor( + blas_idx, + instance_id, + transform, + inv_transform, + UInt32(0) + ) + push!(new_descriptors, desc) + end + append!(tlas.instances, new_descriptors) - stack_ptr += Int32(1) - stack[stack_ptr] = TOP_LEVEL_SENTINEL + return InstanceHandle(blas_idx) +end - node_index = UInt32(1) - inst = tlas_instances[current_instance + Int32(1)] - ray_o = transform_point(inst.inv_transform, ray.o) - ray_d = transform_direction(inst.inv_transform, ray.d) - ray_inv_d = safe_invdir(ray_d) - continue - else - # Bottom-level leaf - test triangle - hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) - if hit - ray_maxt = t - closest_instance = current_instance - closest_prim = node.child1 - hit_u = u - hit_v = v - end - end +""" + remove_instance!(tlas::TLAS, handle::InstanceHandle) - node_index = stack[stack_ptr] - stack_ptr -= Int32(1) +Mark an instance as inactive (sets flags to indicate removal). - if node_index == TOP_LEVEL_SENTINEL - node_index = stack[stack_ptr] - stack_ptr -= Int32(1) - current_instance = Int32(-1) - ray_o = ray.o - ray_d = ray.d - ray_inv_d = safe_invdir(ray_d) - end - end +**Note:** Call `rebuild_tlas!(tlas)` after removing instances to actually compact +the arrays and update the BVH structure. - # Return result - @inbounds if closest_instance >= Int32(0) - inst = tlas_instances[closest_instance + Int32(1)] - desc = blas_descriptors[inst.blas_index] - tri = flat_tlas.blas_primitives[desc.prims_offset + closest_prim] - w = 1.0f0 - hit_u - hit_v - bary = SVector{3, Float32}(w, hit_u, hit_v) - return (true, tri, ray_maxt, bary, inst.instance_id) - else - dummy_tri = flat_tlas.blas_primitives[1] - bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) - return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) +For performance, consider batching removals before calling rebuild. +""" +function remove_instance!(tlas::TLAS, handle::InstanceHandle) + # Find current instance range and mark as inactive + instance_range = find_instances(tlas, handle) + for idx in instance_range + old_inst = tlas.instances[idx] + # Use flags field to mark as removed (0xFFFFFFFF = removed) + tlas.instances[idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + old_inst.transform, + old_inst.inv_transform, + UInt32(0xFFFFFFFF) # Mark as removed + ) end + return nothing end """ - any_hit(flat_tlas::FlatTLAS, ray::AbstractRay) + rebuild_tlas!(tlas::TLAS) + +Rebuild the TLAS structure after add/remove operations. -Traverse flattened two-level BVH to find ANY ray intersection. -GPU-compatible version using flattened BLAS arrays. +This compacts the instance array (removing marked-as-deleted instances) +and rebuilds the BVH topology. Relatively expensive (~1ms for 10k instances). + +For transform-only updates, use `refit_tlas!` instead which is much faster. """ -@inline function any_hit(flat_tlas::FlatTLAS{NA, IA, TA, DA}, ray::R) where {NA, IA, TA, DA, R <: AbstractRay} - ray = check_direction(ray) - ray_o::Point3f = ray.o - ray_d::Vec3f = ray.d - ray_mint::Float32 = 0.0f0 - ray_maxt::Float32 = ray.t_max - ray_inv_d::Vec3f = safe_invdir(ray_d) +function rebuild_tlas!(tlas::TLAS) + # Filter out removed instances (flags == 0xFFFFFFFF) + active_instances = filter(inst -> inst.flags != UInt32(0xFFFFFFFF), tlas.instances) + + if isempty(active_instances) + # Empty TLAS - just clear + resize!(tlas.instances, 0) + resize!(tlas.nodes, 0) + return tlas + end - stack = MVector{64, UInt32}(undef) - stack_ptr::Int32 = Int32(1) - @inbounds stack[stack_ptr] = INVALID_NODE + # Rebuild from active instances + new_tlas = build_tlas(tlas.blas_array, active_instances) - current_instance::Int32 = Int32(-1) - node_index::UInt32 = UInt32(1) + # Update in place using resize! and copyto! + resize!(tlas.instances, length(new_tlas.instances)) + copyto!(tlas.instances, new_tlas.instances) - tlas_nodes = flat_tlas.tlas_nodes - tlas_instances = flat_tlas.instances - blas_nodes = flat_tlas.blas_nodes - blas_descriptors = flat_tlas.blas_descriptors + resize!(tlas.nodes, length(new_tlas.nodes)) + copyto!(tlas.nodes, new_tlas.nodes) - @inbounds while node_index != INVALID_NODE - node::BVHNode2 = if current_instance < Int32(0) - tlas_nodes[node_index] - else - inst = tlas_instances[current_instance + Int32(1)] - desc = blas_descriptors[inst.blas_index] - blas_nodes[desc.nodes_offset + node_index] - end + return tlas +end - is_leaf_node::Bool = (node.child0 == INVALID_NODE) +""" + n_instances(tlas::TLAS) - if !is_leaf_node - near_child, far_child = intersect_internal_node(node, ray_inv_d, ray_o, ray_mint, ray_maxt) +Return total number of instance descriptors in the TLAS. +""" +n_instances(tlas::TLAS) = length(tlas.instances) - if far_child != INVALID_NODE - stack_ptr += Int32(1) - stack[stack_ptr] = far_child - end +""" + n_geometries(tlas::TLAS) - if near_child != INVALID_NODE - node_index = near_child - continue - end - elseif current_instance < Int32(0) - current_instance = Int32(node.child1) - stack_ptr += Int32(1) - stack[stack_ptr] = TOP_LEVEL_SENTINEL - node_index = UInt32(1) - inst = tlas_instances[current_instance + Int32(1)] - ray_o = transform_point(inst.inv_transform, ray.o) - ray_d = transform_direction(inst.inv_transform, ray.d) - ray_inv_d = safe_invdir(ray_d) - continue - else - hit, t, u, v = intersect_leaf_node(node, ray_d, ray_o, ray_mint, ray_maxt) - if hit - inst = tlas_instances[current_instance + Int32(1)] - desc = blas_descriptors[inst.blas_index] - tri = flat_tlas.blas_primitives[desc.prims_offset + node.child1] - w = 1.0f0 - u - v - bary = SVector{3, Float32}(w, u, v) - return (true, tri, t, bary, inst.instance_id) - end - end +Return number of unique BLAS geometries in the TLAS. +""" +n_geometries(tlas::TLAS) = length(tlas.blas_array) - node_index = stack[stack_ptr] - stack_ptr -= Int32(1) +""" + update_transform!(tlas::TLAS, handle::InstanceHandle, transform::Mat4f) - if node_index == TOP_LEVEL_SENTINEL - node_index = stack[stack_ptr] - stack_ptr -= Int32(1) - current_instance = Int32(-1) - ray_o = ray.o - ray_d = ray.d - ray_inv_d = safe_invdir(ray_d) - end - end +Update the transform for a single-instance handle (e.g., a Makie plot's model matrix). - @inbounds dummy_tri = flat_tlas.blas_primitives[1] - bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) - return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) -end +This is a convenience function for the common case where a handle has exactly one instance. +For multi-instance handles (like MeshScatter), use `update_transforms!` instead. -# BVH-compatible wrappers for FlatTLAS (4-value return) -function closest_hit(ray::AbstractRay, flat_tlas::FlatTLAS) - hit, tri, t, bary, inst_id = closest_hit(flat_tlas, ray) - return (hit, tri, t, bary) +After updating, call `refit_tlas!(tlas)` to update the BVH AABBs. +""" +function update_transform!(tlas::TLAS, handle::InstanceHandle, transform::Mat4f) + instance_range = find_instances(tlas, handle) + @assert length(instance_range) == 1 "update_transform! is for single-instance handles; use update_transforms! for multi-instance" + + idx = first(instance_range) + old_inst = tlas.instances[idx] + inv_transform = Mat4f(inv(transform)) + tlas.instances[idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + return nothing end -function any_hit(ray::AbstractRay, flat_tlas::FlatTLAS) - hit, tri, t, bary, inst_id = any_hit(flat_tlas, ray) - return (hit, tri, t, bary) +""" + update_transforms!(tlas::TLAS, handle::InstanceHandle, transforms::AbstractVector{Mat4f}) + +Update transforms for all instances in a handle (e.g., MeshScatter positions). + +The number of transforms must match the number of instances in the handle. +After updating, call `refit_tlas!(tlas)` to update the BVH AABBs. +""" +function update_transforms!(tlas::TLAS, handle::InstanceHandle, transforms::AbstractVector{Mat4f}) + instance_range = find_instances(tlas, handle) + @assert length(transforms) == length(instance_range) "Transform count must match instance count" + + for (i, idx) in enumerate(instance_range) + old_inst = tlas.instances[idx] + transform = transforms[i] + inv_transform = Mat4f(inv(transform)) + tlas.instances[idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + end + return nothing end # Export public API export BLAS, TLAS, InstanceDescriptor, BVHNode2 -export FlatTLAS, BLASDescriptor, flatten_tlas export build_blas, build_tlas, closest_hit, any_hit, world_bound -export update_instance_transform!, refit_tlas! +export update_instance_transform!, update_instance_transforms!, refit_tlas! export INVALID_NODE + +# New Instance API +export Instance, InstanceHandle +export add_instance!, remove_instance!, rebuild_tlas! +export update_transform!, update_transforms!, find_instances +export n_instances, n_geometries diff --git a/src/kernel-abstractions.jl b/src/kernel-abstractions.jl index 59a75d9..8856c7b 100644 --- a/src/kernel-abstractions.jl +++ b/src/kernel-abstractions.jl @@ -33,14 +33,12 @@ function to_gpu(ArrayType, blas::Raycore.BLAS) end # GPU conversion for TLAS (instanced BVH top-level) +# Convert each BLAS first, then wrap the array of GPU-BLAS in a GPU array function to_gpu(ArrayType, tlas::Raycore.TLAS) nodes = to_gpu(ArrayType, tlas.nodes) instances = to_gpu(ArrayType, tlas.instances) - # Convert each BLAS in the array - blas_gpu = [to_gpu(ArrayType, b) for b in tlas.blas_array] - # We need a concrete array type for the BLAS array on GPU - # Since BLAS contains GPU arrays, we keep it as a regular Vector - # but the inner arrays are on GPU + # Convert each BLAS individually, then convert the array of GPU-BLAS + blas_gpu = to_gpu(ArrayType, to_gpu.((ArrayType,), tlas.blas_array)) return Raycore.TLAS(nodes, instances, blas_gpu, tlas.root_aabb) end diff --git a/src/soa.jl b/src/soa.jl new file mode 100644 index 0000000..bbdca7d --- /dev/null +++ b/src/soa.jl @@ -0,0 +1,137 @@ +# ============================================================================ +# Structure of Arrays (SoA) Utilities +# ============================================================================ +# Macros and helpers for efficient SoA data access in GPU kernels. +# SoA layout is critical for GPU memory coalescing. + +""" + @get field1, field2, ... = soa[idx] + +Macro to extract multiple fields from a Structure of Arrays (SoA) at index `idx`. + +# Example +```julia +ray_queue = (ray=[r1, r2, r3], pixel_x=[1, 2, 3], pixel_y=[4, 5, 6]) +@get ray, pixel_x, pixel_y = ray_queue[2] +# Expands to: +# ray = ray_queue.ray[2] +# pixel_x = ray_queue.pixel_x[2] +# pixel_y = ray_queue.pixel_y[2] +``` +""" +macro get(expr) + if expr.head != :(=) + error("@get expects assignment syntax: @get field1, field2 = soa[idx]") + end + + lhs = expr.args[1] + rhs = expr.args[2] + + # Parse left side (field names) + if lhs isa Symbol + fields = [lhs] + elseif lhs.head == :tuple + fields = lhs.args + else + error("@get left side must be field names or tuple of field names") + end + + # Parse right side (soa[idx]) + if rhs.head != :ref + error("@get right side must be array indexing: soa[idx]") + end + soa = rhs.args[1] + idx = rhs.args[2] + + # Generate field extraction code + assignments = [:($(esc(field)) = $(esc(soa)).$(field)[$(esc(idx))]) for field in fields] + + return Expr(:block, assignments...) +end + +""" + @set soa[idx] = (field1=val1, field2=val2, ...) + +Macro to set multiple fields in a Structure of Arrays (SoA) at index `idx`. +Expects named tuple syntax on the right side. + +# Example +```julia +ray_queue = (ray=Vector{Ray}(undef, 10), pixel_x=zeros(Int32, 10)) +@set ray_queue[1] = (ray=my_ray, pixel_x=Int32(5)) +# Expands to: +# ray_queue.ray[1] = my_ray +# ray_queue.pixel_x[1] = Int32(5) +``` +""" +macro set(expr) + if expr.head != :(=) + error("@set expects assignment syntax: @set soa[idx] = (field1=val1, ...)") + end + + lhs = expr.args[1] + rhs = expr.args[2] + + # Parse left side (soa[idx]) + if lhs.head != :ref + error("@set left side must be array indexing: soa[idx]") + end + soa = lhs.args[1] + idx = lhs.args[2] + + # Parse right side (named tuple or parameters) + assignments = [] + if rhs.head == :tuple || rhs.head == :parameters + for arg in rhs.args + if arg isa Expr && arg.head == :(=) + field = arg.args[1] + val = arg.args[2] + push!(assignments, :($(esc(soa)).$(field)[$(esc(idx))] = $(esc(val)))) + else + error("@set expects named parameters: @set soa[idx] = (field=value, ...)") + end + end + else + error("@set expects a tuple with named fields: @set soa[idx] = (field=value, ...)") + end + + return Expr(:block, assignments...) +end + +""" + similar_soa(template_array, T::Type, num_elements) -> NamedTuple + +Create a Structure of Arrays (SoA) layout for type `T` with `num_elements` entries. +Uses `template_array` to determine the array type (Array, ROCArray, etc.). + +# Arguments +- `template_array`: An existing array used to determine the array type for allocation +- `T`: A struct type whose fields define the SoA structure +- `num_elements`: Number of elements to allocate + +# Returns +A NamedTuple where each field is an array of the corresponding field type from `T`. + +# Example +```julia +struct RayWork + ray::Ray + pixel_x::Int32 + pixel_y::Int32 +end + +# Create SoA for 1000 RayWork items +img = zeros(Float32, 100, 100) # CPU array +soa = similar_soa(img, RayWork, 1000) +# Returns: (ray=Vector{Ray}(undef, 1000), pixel_x=Vector{Int32}(undef, 1000), ...) + +# For GPU: +gpu_img = CUDA.zeros(Float32, 100, 100) +gpu_soa = similar_soa(gpu_img, RayWork, 1000) +# Returns SoA with CuArray fields +``` +""" +function similar_soa(template, ::Type{T}, num_elements) where T + fields = [f => similar(template, fieldtype(T, f), num_elements) for f in fieldnames(T)] + return (; fields...) +end diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 875c38c..97d64e7 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -8,6 +8,12 @@ using GeometryBasics using StaticArrays using LinearAlgebra +# Use qualified names to avoid conflicts with other packages +const RTriangle = Raycore.Triangle # Conflicts with GeometryBasics.Triangle +const RBLAS = Raycore.BLAS # Conflicts with LinearAlgebra.BLAS +const is_leaf = Raycore.is_leaf +const is_interior = Raycore.is_interior + @testset "Instanced BVH" begin @testset "Morton Code Generation" begin @@ -32,7 +38,7 @@ end @testset "BLAS Construction - Single Triangle" begin # Create a single triangle v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) - tri = Triangle( + tri = RTriangle( SVector(v1, v2, v3), SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), SVector(Vec3f(0), Vec3f(0), Vec3f(0)), @@ -43,7 +49,7 @@ end primitives = [tri] blas = build_blas(primitives) - @test blas isa BLAS + @test blas isa RBLAS @test length(blas.nodes) == 1 # Single triangle = 1 node (leaf) @test length(blas.primitives) == 1 @test is_leaf(blas.nodes[1]) @@ -57,7 +63,7 @@ end v3 = Point3f(1, 1, 0) v4 = Point3f(0, 1, 0) - tri1 = Triangle( + tri1 = RTriangle( SVector(v1, v2, v3), SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), SVector(Vec3f(0), Vec3f(0), Vec3f(0)), @@ -65,7 +71,7 @@ end nothing ) - tri2 = Triangle( + tri2 = RTriangle( SVector(v1, v3, v4), SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), SVector(Vec3f(0), Vec3f(0), Vec3f(0)), @@ -76,7 +82,7 @@ end primitives = [tri1, tri2] blas = build_blas(primitives) - @test blas isa BLAS + @test blas isa RBLAS @test length(blas.nodes) == 3 # 2 leaves + 1 interior = 3 nodes @test length(blas.primitives) == 2 @@ -97,7 +103,7 @@ end v2 = Point3f(1, 0, 0) v3 = Point3f(0, 1, 0) - tri = Triangle( + tri = RTriangle( SVector(v1, v2, v3), SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), SVector(Vec3f(0), Vec3f(0), Vec3f(0)), @@ -109,24 +115,7 @@ end # build_blas should be type-stable result_type = @inferred build_blas(primitives) - @test result_type isa BLAS -end - -@testset "InstanceDescriptor Creation" begin - # Test instance descriptor construction - identity_mat = Mat4f(I) - inst = InstanceDescriptor( - UInt32(1), # BLAS index - UInt32(42), # Instance ID - identity_mat, # Transform - identity_mat, # Inverse transform - UInt32(0) # Flags - ) - - @test inst.blas_index == UInt32(1) - @test inst.instance_id == UInt32(42) - @test inst.transform == identity_mat - @test inst.flags == UInt32(0) + @test result_type isa RBLAS end @testset "Transform Utilities" begin @@ -209,4 +198,539 @@ end @test d_oob == Int32(-1) end +# ============================================================================== +# TLAS Construction Tests +# ============================================================================== + +@testset "TLAS Construction - Single Instance" begin + # Create a single triangle as BLAS + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + + tlas = build_tlas([blas], instances) + + @test tlas isa TLAS + @test length(tlas.instances) == 1 + @test length(tlas.blas_array) == 1 + @test length(tlas.nodes) == 1 # Single instance = 1 node (leaf) +end + +@testset "TLAS Construction - Multiple Instances" begin + # Create a triangle BLAS + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + + # Create two instances with different transforms + identity = Mat4f(I) + translation = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 5, 0, 0, 1 + ) + inv_translation = Mat4f(inv(translation)) + + instances = [ + InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0)), + InstanceDescriptor(UInt32(1), UInt32(2), translation, inv_translation, UInt32(0)) + ] + + tlas = build_tlas([blas], instances) + + @test tlas isa TLAS + @test length(tlas.instances) == 2 + @test length(tlas.blas_array) == 1 + @test length(tlas.nodes) == 3 # 2 leaves + 1 interior = 3 nodes + + # World bound should encompass both instances + wb = world_bound(tlas) + @test wb.p_min[1] ≈ 0.0f0 + @test wb.p_max[1] ≈ 6.0f0 # Original + translated +end + +# ============================================================================== +# TLAS Ray Intersection Tests +# ============================================================================== + +@testset "TLAS closest_hit - Basic" begin + # Create a unit triangle in XY plane at z=0 + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(42) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + tlas = build_tlas([blas], instances) + + # Ray pointing down at center of triangle + ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + hit, prim, dist, bary, inst_id = closest_hit(tlas, ray) + + @test hit == true + @test dist ≈ 1.0f0 + @test prim.metadata == UInt32(42) + + # Ray missing the triangle + ray_miss = Ray(o=Point3f(2, 2, 1.0), d=Vec3f(0, 0, -1)) + hit_miss, _, _, _, _ = closest_hit(tlas, ray_miss) + @test hit_miss == false +end + +@testset "TLAS closest_hit - Transformed Instance" begin + # Create a unit triangle + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + + # Translate instance by (10, 0, 0) + translation = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 10, 0, 0, 1 + ) + inv_translation = Mat4f(inv(translation)) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), translation, inv_translation, UInt32(0))] + + tlas = build_tlas([blas], instances) + + # Ray at original position should miss + ray_miss = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + hit_miss, _, _, _, _ = closest_hit(tlas, ray_miss) + @test hit_miss == false + + # Ray at translated position should hit + ray_hit = Ray(o=Point3f(10.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + hit, _, dist, _, _ = closest_hit(tlas, ray_hit) + @test hit == true + @test dist ≈ 1.0f0 +end + +@testset "TLAS closest_hit - Multiple Instances (Closest Selection)" begin + # Create a unit triangle + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + + # Two instances: one at z=0, one at z=-5 (further from camera) + translate_back = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, -5, 1 + ) + inv_translate_back = Mat4f(inv(translate_back)) + + instances = [ + InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0)), + InstanceDescriptor(UInt32(1), UInt32(2), translate_back, inv_translate_back, UInt32(0)) + ] + + tlas = build_tlas([blas], instances) + + # Ray should hit the closer one (z=0) + ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + hit, _, dist, _, inst_id = closest_hit(tlas, ray) + + @test hit == true + @test dist ≈ 1.0f0 # Distance to z=0 plane + @test inst_id == UInt32(1) # First instance +end + +@testset "TLAS any_hit - Basic" begin + # Create a unit triangle + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + tlas = build_tlas([blas], instances) + + # Ray hitting triangle + ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + hit, _, _, _, _ = any_hit(tlas, ray) + @test hit == true + + # Ray missing triangle + ray_miss = Ray(o=Point3f(2, 2, 1.0), d=Vec3f(0, 0, -1)) + hit_miss, _, _, _, _ = any_hit(tlas, ray_miss) + @test hit_miss == false +end + +@testset "TLAS BVH-compatible API (argument order)" begin + # Test that closest_hit(ray, tlas) works (BVH-compatible order) + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + tlas = build_tlas([blas], instances) + + ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + + # BVH-compatible order (ray first) + hit, prim, dist, bary = closest_hit(ray, tlas) + @test hit == true + @test dist ≈ 1.0f0 + + # any_hit with BVH-compatible order + hit_any, _, _, _ = any_hit(ray, tlas) + @test hit_any == true +end + +# ============================================================================== +# Instance API Tests +# ============================================================================== + +@testset "Instance - Convenience Constructors" begin + # Create a simple mesh (we'll use triangles as a stand-in) + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + mesh = Raycore.TriangleMesh( + [v1, v2, v3], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # Single instance at identity + inst1 = Instance(mesh) + @test length(inst1.transforms) == 1 + @test length(inst1.metadata) == 1 + @test inst1.transforms[1] ≈ Mat4f(I) + + # Single instance with custom metadata + inst2 = Instance(mesh; metadata=UInt32(42)) + @test inst2.metadata[1] == UInt32(42) + + # Single instance with transform and metadata + transform = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 5, 0, 0, 1 + ) + inst3 = Instance(mesh, transform, UInt32(99)) + @test inst3.transforms[1] ≈ transform + @test inst3.metadata[1] == UInt32(99) + + # Multiple instances with same metadata + transforms = [Mat4f(I), transform] + inst4 = Instance(mesh, transforms; metadata=UInt32(7)) + @test length(inst4.transforms) == 2 + @test length(inst4.metadata) == 2 + @test all(m == UInt32(7) for m in inst4.metadata) +end + +@testset "InstanceHandle and find_instances" begin + # Create meshes + mesh1 = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + mesh2 = Raycore.TriangleMesh( + [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # Build TLAS with Instance API + tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) + + @test length(handles) == 2 + @test handles[1] isa InstanceHandle + @test handles[2] isa InstanceHandle + + # Find instances by handle + range1 = find_instances(tlas, handles[1]) + range2 = find_instances(tlas, handles[2]) + + @test length(range1) == 1 + @test length(range2) == 1 + @test range1 != range2 +end + +@testset "TLAS from Instance Vector" begin + # Create meshes + mesh1 = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + mesh2 = Raycore.TriangleMesh( + [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # Create with multiple transforms for mesh1 (instancing) + transforms = [ + Mat4f(I), + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 0, 0, 1) # Translated + ] + + tlas, handles = TLAS([ + Instance(mesh1, transforms), # 2 instances of mesh1 + Instance(mesh2) # 1 instance of mesh2 + ]) + + @test n_geometries(tlas) == 2 # 2 unique BLAS + @test n_instances(tlas) == 3 # 2 + 1 = 3 instance descriptors + + # Test handles + @test length(handles) == 2 + @test length(find_instances(tlas, handles[1])) == 2 # First handle has 2 instances + @test length(find_instances(tlas, handles[2])) == 1 # Second handle has 1 instance +end + +@testset "TLAS with plain geometry (auto-wrap)" begin + # Plain meshes should be auto-wrapped as Instances + mesh1 = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + mesh2 = Raycore.TriangleMesh( + [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # Mix of plain geometry and Instance + tlas, handles = TLAS([mesh1, Instance(mesh2)]) + + @test n_geometries(tlas) == 2 + @test n_instances(tlas) == 2 + @test length(handles) == 2 +end + +# ============================================================================== +# Dynamic Update Tests +# ============================================================================== + +@testset "update_transform! (single instance)" begin + mesh = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + tlas, handles = TLAS([Instance(mesh)]) + + # Update transform + new_transform = Mat4f( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 10, 0, 0, 1 + ) + update_transform!(tlas, handles[1], new_transform) + + # Verify transform was updated + idx = first(find_instances(tlas, handles[1])) + @test tlas.instances[idx].transform ≈ new_transform +end + +@testset "update_transforms! (multiple instances)" begin + mesh = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # Create instance with 3 transforms + initial_transforms = [Mat4f(I), Mat4f(I), Mat4f(I)] + tlas, handles = TLAS([Instance(mesh, initial_transforms)]) + + # Update all transforms + new_transforms = [ + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1), + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 0, 0, 1), + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3, 0, 0, 1) + ] + update_transforms!(tlas, handles[1], new_transforms) + + # Verify transforms were updated + instance_range = find_instances(tlas, handles[1]) + for (i, idx) in enumerate(instance_range) + @test tlas.instances[idx].transform ≈ new_transforms[i] + end +end + +@testset "add_instance!" begin + mesh1 = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + mesh2 = Raycore.TriangleMesh( + [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + tlas, handles = TLAS([Instance(mesh1)]) + + @test n_geometries(tlas) == 1 + @test n_instances(tlas) == 1 + + # Add new instance + new_handle = add_instance!(tlas, Instance(mesh2)) + + @test n_geometries(tlas) == 2 + @test n_instances(tlas) == 2 + @test new_handle isa InstanceHandle +end + +@testset "remove_instance! and rebuild_tlas!" begin + mesh1 = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + mesh2 = Raycore.TriangleMesh( + [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) + + @test n_instances(tlas) == 2 + + # Mark first instance for removal + remove_instance!(tlas, handles[1]) + + # Verify it's marked (flags == 0xFFFFFFFF) + idx = first(find_instances(tlas, handles[1])) + @test tlas.instances[idx].flags == UInt32(0xFFFFFFFF) + + # Rebuild to compact + rebuild_tlas!(tlas) + + # Now should only have 1 instance + @test n_instances(tlas) == 1 +end + +# ============================================================================== +# Type Stability Tests for TLAS +# ============================================================================== + +@testset "TLAS Type Stability" begin + # Create triangle with concrete metadata type + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + tlas = build_tlas([blas], instances) + + ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) + + # Test type stability of closest_hit + result_type = @inferred closest_hit(tlas, ray) + @test result_type[1] isa Bool + @test result_type[2] isa RTriangle{UInt32} + @test result_type[3] isa Float32 + @test result_type[4] isa SVector{3, Float32} + @test result_type[5] isa UInt32 + + # Test type stability of any_hit + result_type_any = @inferred any_hit(tlas, ray) + @test result_type_any[1] isa Bool +end + +@testset "TLAS eltype" begin + # Verify eltype returns the correct triangle type without indexing into arrays + v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) + tri = RTriangle( + SVector(v1, v2, v3), + SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), + SVector(Vec3f(0), Vec3f(0), Vec3f(0)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), + UInt32(1) + ) + + blas = build_blas([tri]) + identity = Mat4f(I) + instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] + tlas = build_tlas([blas], instances) + + @test eltype(tlas) == RTriangle{UInt32} +end + +@testset "n_instances and n_geometries" begin + mesh = Raycore.TriangleMesh( + [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], + UInt32[1, 2, 3], + [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] + ) + + # 5 instances of same geometry + transforms = [Mat4f(I) for _ in 1:5] + tlas, _ = TLAS([Instance(mesh, transforms)]) + + @test n_geometries(tlas) == 1 + @test n_instances(tlas) == 5 +end + end # main testset From b3312da5cbe2385e512f625dad370f0f5b82cca5 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Thu, 1 Jan 2026 19:50:25 +0100 Subject: [PATCH 04/63] bvh4 experiment --- Project.toml | 12 +- src/Raycore.jl | 4 + src/bvh4.jl | 774 +++++++++++++++++++++++++++++++++++++++++++ src/instanced-bvh.jl | 24 +- src/triangle_mesh.jl | 11 + 5 files changed, 814 insertions(+), 11 deletions(-) create mode 100644 src/bvh4.jl diff --git a/Project.toml b/Project.toml index 17cf1b3..2357f09 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "0.1.1" authors = ["Anton Smirnov ", "Simon Danisch BVH4 (parallel GPU kernel) +# 3. Traversal uses 4-wide AABB tests + +using StaticArrays +import KernelAbstractions as KA +using KernelAbstractions: @index, @atomicswap +using Atomix + +# ============================================================================== +# BVH4 Node Structure +# ============================================================================== + +const INVALID_NODE4 = 0xffffffff + +""" + BVHNode4 + +4-wide BVH node optimized for GPU traversal. +Stores up to 4 children with their AABBs inline. + +Memory layout: 128 bytes (one cache line on most GPUs) +- 4 child indices: 16 bytes +- 4 AABBs: 96 bytes (24 bytes each) +- Metadata: 16 bytes + +Leaf nodes indicated by child_count == 0 and first primitive index in child0. +""" +struct BVHNode4 + # Child indices (INVALID_NODE4 for unused slots) + child0::UInt32 + child1::UInt32 + child2::UInt32 + child3::UInt32 + + # Child 0 AABB + aabb0_min::Point3f + aabb0_max::Point3f + + # Child 1 AABB + aabb1_min::Point3f + aabb1_max::Point3f + + # Child 2 AABB + aabb2_min::Point3f + aabb2_max::Point3f + + # Child 3 AABB + aabb3_min::Point3f + aabb3_max::Point3f + + # Metadata + parent::UInt32 + child_count::UInt8 # 0 = leaf, 1-4 = interior + primitive_count::UInt8 # For leaves: number of primitives + _pad1::UInt8 + _pad2::UInt8 +end + +# Verify size (should be 128 bytes for cache alignment) +# 4*4 + 4*24 + 4 + 4 = 16 + 96 + 8 = 120 bytes + padding + +"""Create an empty/invalid BVH4 node.""" +@inline function empty_bvh4_node() + BVHNode4( + INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + INVALID_NODE4, UInt8(0), UInt8(0), UInt8(0), UInt8(0) + ) +end + +"""Check if node is a leaf.""" +@inline is_leaf4(node::BVHNode4) = node.child_count == 0 + +"""Check if node is interior.""" +@inline is_interior4(node::BVHNode4) = node.child_count > 0 + +"""Get child index by position (0-3).""" +@inline function get_child4(node::BVHNode4, i::Int)::UInt32 + i == 1 && return node.child0 + i == 2 && return node.child1 + i == 3 && return node.child2 + return node.child3 +end + +"""Get child AABB by position (1-4).""" +@inline function get_child_aabb4(node::BVHNode4, i::Int)::Bounds3 + if i == 1 + return Bounds3(node.aabb0_min, node.aabb0_max) + elseif i == 2 + return Bounds3(node.aabb1_min, node.aabb1_max) + elseif i == 3 + return Bounds3(node.aabb2_min, node.aabb2_max) + else + return Bounds3(node.aabb3_min, node.aabb3_max) + end +end + +"""Get the node's total AABB (union of all valid children).""" +@inline function get_node_aabb4(node::BVHNode4)::Bounds3 + aabb = Bounds3(node.aabb0_min, node.aabb0_max) + if node.child_count >= 2 + aabb = aabb ∪ Bounds3(node.aabb1_min, node.aabb1_max) + end + if node.child_count >= 3 + aabb = aabb ∪ Bounds3(node.aabb2_min, node.aabb2_max) + end + if node.child_count >= 4 + aabb = aabb ∪ Bounds3(node.aabb3_min, node.aabb3_max) + end + return aabb +end + +# ============================================================================== +# BVH4 Leaf Node (stores triangle data) +# ============================================================================== + +""" + BVH4Leaf + +Leaf node that stores triangle vertices directly (like BVH2IL format). +For BVH4, we keep triangles separate and reference by index. +""" +struct BVH4Leaf + prim_start::UInt32 # First primitive index + prim_count::UInt32 # Number of primitives (usually 1-2) + _pad1::UInt32 + _pad2::UInt32 +end + +# ============================================================================== +# BLAS4 / TLAS4 Structures +# ============================================================================== + +""" + BLAS4{NodeArray, TriArray} + +Bottom-Level Acceleration Structure using BVH4 nodes. +""" +struct BLAS4{ + NodeArray <: AbstractVector{BVHNode4}, + TriArray <: AbstractVector{<:Triangle} +} + nodes::NodeArray + primitives::TriArray + root_aabb::Bounds3 + num_interior::Int32 # Number of interior nodes +end + +""" + TLAS4{NodeArray, InstArray, BLASArray} + +Top-Level Acceleration Structure using BVH4 nodes. +""" +struct TLAS4{ + NodeArray <: AbstractVector{BVHNode4}, + InstArray <: AbstractVector{InstanceDescriptor}, + BLASArray <: AbstractVector{<:BLAS4} +} + nodes::NodeArray + instances::InstArray + blas_array::BLASArray + root_aabb::Bounds3 +end + +# ============================================================================== +# Collapse Pass: BVH2 -> BVH4 +# ============================================================================== + +""" + CollapseTask + +Work item for the BVH2 -> BVH4 collapse pass. +""" +struct CollapseTask + bvh2_node_idx::UInt32 # Source node in BVH2 + bvh4_node_idx::UInt32 # Destination node in BVH4 + depth::UInt32 # Current depth (for load balancing) +end + +""" +Gather up to 4 children from a subtree of the binary BVH. +Performs a BFS-like traversal to collect the 4 best children. + +Returns: (child_indices, child_aabbs, child_count, is_leaf_flags) +""" +@inline function gather_children_bvh2( + root_idx::UInt32, + nodes2::AbstractVector{BVHNode2}, + n_prims::Int32 +) + # Use a small fixed-size work queue + # Start with root's two children + queue = MVector{8, UInt32}(undef) + queue_size = 0 + + # Output arrays + children = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + aabbs = MVector{4, Bounds3}(Bounds3(), Bounds3(), Bounds3(), Bounds3()) + child_is_leaf = MVector{4, Bool}(false, false, false, false) + child_count = 0 + + # Start with root node + @inbounds root = nodes2[root_idx] + + if is_leaf(root) + # Root is already a leaf - single child + children[1] = root_idx + aabbs[1] = get_node_aabb(root, false) + child_is_leaf[1] = true + return (children, aabbs, Int32(1), child_is_leaf) + end + + # Add root's children to queue + queue[1] = root.child0 + queue[2] = root.child1 + queue_size = 2 + + # Expand until we have 4 children or can't expand more + while child_count < 4 && queue_size > 0 + # Find the best node to add (prefer interior nodes to expand) + best_idx = 1 + for i in 1:queue_size + @inbounds node_idx = queue[i] + @inbounds node = nodes2[node_idx] + # Prefer non-leaves that can be expanded + if is_interior(node) && child_count + queue_size - 1 + 2 <= 4 + best_idx = i + break + end + end + + # Pop from queue + @inbounds node_idx = queue[best_idx] + @inbounds queue[best_idx] = queue[queue_size] + queue_size -= 1 + + @inbounds node = nodes2[node_idx] + is_node_interior = is_interior(node) + + if is_node_interior && child_count + queue_size + 2 <= 4 + # Expand this node - add its children to queue + queue_size += 1 + @inbounds queue[queue_size] = node.child0 + queue_size += 1 + @inbounds queue[queue_size] = node.child1 + else + # Add this node as a child + child_count += 1 + @inbounds children[child_count] = node_idx + @inbounds aabbs[child_count] = if is_node_interior + # Interior node - union of child AABBs + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + # Leaf node - compute from triangle vertices + get_node_aabb(node, false) + end + @inbounds child_is_leaf[child_count] = !is_node_interior + end + end + + # Any remaining queue items become children directly + while queue_size > 0 && child_count < 4 + child_count += 1 + @inbounds node_idx = queue[queue_size] + queue_size -= 1 + + @inbounds children[child_count] = node_idx + @inbounds node = nodes2[node_idx] + is_node_interior = is_interior(node) + @inbounds aabbs[child_count] = if is_node_interior + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + get_node_aabb(node, false) + end + @inbounds child_is_leaf[child_count] = !is_node_interior + end + + return (children, aabbs, Int32(child_count), child_is_leaf) +end + +""" +Collapse a BVH2 into a BVH4. + +This is a sequential CPU implementation for simplicity. +A GPU version would use work queues similar to HIPRT. + +The key insight is that we need to: +1. Collect up to 4 subtrees at each BVH4 interior node +2. For leaf subtrees, create BVH4 leaf nodes pointing to primitives +3. For interior subtrees, recursively process them +4. Fix up child pointers to point to BVH4 indices (not BVH2 indices) +""" +function collapse_bvh2_to_bvh4( + nodes2::AbstractVector{BVHNode2}, + primitives::AbstractVector{<:Triangle}, + n_prims::Int32 +) + # Estimate BVH4 node count + max_nodes4 = length(nodes2) + 1 + nodes4 = Vector{BVHNode4}(undef, max_nodes4) + node4_count = 0 + + # Map from BVH2 index to BVH4 index (for subtrees that become BVH4 nodes) + bvh2_to_bvh4 = Dict{UInt32, UInt32}() + + # Work queue: (bvh2_idx, slot to update in parent, parent bvh4 idx) + # slot = which child slot (1-4) in the parent to update + queue = Vector{Tuple{UInt32, Int, UInt32}}() + + # Process root + @inbounds root = nodes2[1] + + if is_leaf(root) + # Single triangle - create one leaf node + node4_count += 1 + prim_idx = root.child1 + v0 = Point3f(root.aabb0_min...) + v1 = Point3f(root.aabb0_max...) + v2 = Point3f(root.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + INVALID_NODE4, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Gather children from root + children_bvh2, aabbs, child_count, child_is_leaf_flags = gather_children_bvh2(UInt32(1), nodes2, n_prims) + + node4_count += 1 + root4_idx = UInt32(node4_count) + + # Create placeholders for child indices (will be filled in) + child_indices = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + + # Process each child + for i in 1:child_count + bvh2_child_idx = children_bvh2[i] + @inbounds node2_child = nodes2[bvh2_child_idx] + + if child_is_leaf_flags[i] + # This is a leaf - create BVH4 leaf node + node4_count += 1 + leaf4_idx = UInt32(node4_count) + child_indices[i] = leaf4_idx + + prim_idx = node2_child.child1 + v0 = Point3f(node2_child.aabb0_min...) + v1 = Point3f(node2_child.aabb0_max...) + v2 = Point3f(node2_child.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + root4_idx, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Interior subtree - queue for processing + push!(queue, (bvh2_child_idx, i, root4_idx)) + end + end + + # Create root interior node (will update child pointers later for queued children) + nodes4[1] = BVHNode4( + child_indices[1], child_indices[2], child_indices[3], child_indices[4], + aabbs[1].p_min, aabbs[1].p_max, + aabbs[2].p_min, aabbs[2].p_max, + aabbs[3].p_min, aabbs[3].p_max, + aabbs[4].p_min, aabbs[4].p_max, + INVALID_NODE4, UInt8(child_count), UInt8(0), UInt8(0), UInt8(0) + ) + + # Process queued interior subtrees + while !isempty(queue) + bvh2_idx, parent_slot, parent4_idx = popfirst!(queue) + + # Gather children from this subtree + sub_children, sub_aabbs, sub_count, sub_is_leaf = gather_children_bvh2(bvh2_idx, nodes2, n_prims) + + node4_count += 1 + current4_idx = UInt32(node4_count) + + # Update parent's child pointer + @inbounds parent = nodes4[parent4_idx] + if parent_slot == 1 + nodes4[parent4_idx] = BVHNode4( + current4_idx, parent.child1, parent.child2, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + elseif parent_slot == 2 + nodes4[parent4_idx] = BVHNode4( + parent.child0, current4_idx, parent.child2, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + elseif parent_slot == 3 + nodes4[parent4_idx] = BVHNode4( + parent.child0, parent.child1, current4_idx, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + else + nodes4[parent4_idx] = BVHNode4( + parent.child0, parent.child1, parent.child2, current4_idx, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + end + + # Create child index array + sub_child_indices = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + + # Process children + for i in 1:sub_count + bvh2_child = sub_children[i] + @inbounds node2_child = nodes2[bvh2_child] + + if sub_is_leaf[i] + # Leaf + node4_count += 1 + leaf4_idx = UInt32(node4_count) + sub_child_indices[i] = leaf4_idx + + prim_idx = node2_child.child1 + v0 = Point3f(node2_child.aabb0_min...) + v1 = Point3f(node2_child.aabb0_max...) + v2 = Point3f(node2_child.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + current4_idx, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Interior - queue for later + push!(queue, (bvh2_child, i, current4_idx)) + end + end + + # Create this interior node + nodes4[current4_idx] = BVHNode4( + sub_child_indices[1], sub_child_indices[2], sub_child_indices[3], sub_child_indices[4], + sub_aabbs[1].p_min, sub_aabbs[1].p_max, + sub_aabbs[2].p_min, sub_aabbs[2].p_max, + sub_aabbs[3].p_min, sub_aabbs[3].p_max, + sub_aabbs[4].p_min, sub_aabbs[4].p_max, + parent4_idx, UInt8(sub_count), UInt8(0), UInt8(0), UInt8(0) + ) + end + end + + # Resize to actual count + resize!(nodes4, node4_count) + + return nodes4 +end + +# ============================================================================== +# BVH4 Build Function +# ============================================================================== + +""" + build_blas4(primitives) -> BLAS4 + +Build a BLAS using BVH4 nodes for faster traversal. + +1. Build standard LBVH (BVH2) using existing kernels +2. Collapse BVH2 -> BVH4 +""" +function build_blas4(primitives::AbstractVector{T}) where {T <: Triangle} + n = length(primitives) + n == 0 && error("Cannot build BLAS4 from empty primitive list") + + # First build BVH2 using existing infrastructure + blas2 = build_blas(primitives) + + # Collapse to BVH4 + nodes4 = collapse_bvh2_to_bvh4(blas2.nodes, blas2.primitives, Int32(n)) + + return BLAS4(nodes4, blas2.primitives, blas2.root_aabb, Int32(length(nodes4))) +end + +# ============================================================================== +# BVH4 Traversal +# ============================================================================== + +""" + fast_intersect_bbox4(ray_o, ray_inv_d, node, child_idx, t_min, t_max) -> (hit, t_entry) + +Test ray against one child AABB of a BVH4 node. +""" +@inline function fast_intersect_bbox4( + ray_o::Point3f, + ray_inv_d::Vec3f, + node::BVHNode4, + child_idx::Int, + t_min::Float32, + t_max::Float32 +)::Tuple{Bool, Float32} + aabb = get_child_aabb4(node, child_idx) + + oxinvdir = -ray_o .* ray_inv_d + f = aabb.p_max .* ray_inv_d .+ oxinvdir + n = aabb.p_min .* ray_inv_d .+ oxinvdir + + tmax_vec = max.(f, n) + tmin_vec = min.(f, n) + + max_t = min(minimum(tmax_vec), t_max) + min_t = max(maximum(tmin_vec), t_min) + + return (min_t <= max_t, min_t) +end + +""" + intersect_all_children4(node, ray_inv_d, ray_o, t_min, t_max) -> sorted hits + +Test ray against all 4 children AABBs and return sorted by distance. +Returns up to 4 (child_idx, t_entry) pairs, sorted near-to-far. +""" +@inline function intersect_all_children4( + node::BVHNode4, + ray_inv_d::Vec3f, + ray_o::Point3f, + t_min::Float32, + t_max::Float32 +) + # Test all children + hits = MVector{4, Tuple{UInt32, Float32}}( + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32) + ) + hit_count = 0 + + for i in 1:Int(node.child_count) + child_idx = get_child4(node, i) + if child_idx != INVALID_NODE4 + hit, t_entry = fast_intersect_bbox4(ray_o, ray_inv_d, node, i, t_min, t_max) + if hit + hit_count += 1 + hits[hit_count] = (child_idx, t_entry) + end + end + end + + # Simple insertion sort for up to 4 elements + for i in 2:hit_count + j = i + while j > 1 && hits[j][2] < hits[j-1][2] + hits[j], hits[j-1] = hits[j-1], hits[j] + j -= 1 + end + end + + return hits, hit_count +end + +""" + closest_hit4(blas::BLAS4, ray::AbstractRay) -> (hit, primitive, distance, barycentric) + +Traverse BVH4 to find closest intersection. +""" +@inline function closest_hit4(blas::BLAS4, ray::R) where {R <: AbstractRay} + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal (BVH4 needs smaller stack than BVH2) + stack = MVector{32, UInt32}(undef) + stack_ptr::Int32 = Int32(0) + + # Track closest hit + closest_prim::UInt32 = INVALID_NODE4 + hit_u::Float32 = 0.0f0 + hit_v::Float32 = 0.0f0 + + nodes = blas.nodes + prims = blas.primitives + + # Start at root + node_idx::UInt32 = UInt32(1) + + @inbounds while true + node = nodes[node_idx] + + if is_interior4(node) + # Interior node - test all children + hits, hit_count = intersect_all_children4(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push far children to stack (in reverse order so nearest is popped first) + for i in hit_count:-1:2 + if hits[i][1] != INVALID_NODE4 + stack_ptr += Int32(1) + stack[stack_ptr] = hits[i][1] + end + end + + # Visit nearest child + if hit_count > 0 && hits[1][1] != INVALID_NODE4 + node_idx = hits[1][1] + continue + end + else + # Leaf node - test triangle + prim_idx = node.child0 + if prim_idx != INVALID_NODE4 && prim_idx <= length(prims) + tri = prims[prim_idx] + verts = tri.vertices + hit, t, u, v = fast_intersect_triangle( + ray_o, ray_d, + verts[1], verts[2], verts[3], + ray_mint, ray_maxt + ) + if hit + ray_maxt = t + closest_prim = prim_idx + hit_u = u + hit_v = v + end + end + end + + # Pop from stack + if stack_ptr > Int32(0) + node_idx = stack[stack_ptr] + stack_ptr -= Int32(1) + else + break + end + end + + # Return result + @inbounds if closest_prim != INVALID_NODE4 + tri = prims[closest_prim] + w = 1.0f0 - hit_u - hit_v + bary = SVector{3, Float32}(w, hit_u, hit_v) + return (true, tri, ray_maxt, bary) + else + dummy_tri = prims[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary) + end +end + +""" + any_hit4(blas::BLAS4, ray::AbstractRay) -> (hit, primitive, distance, barycentric) + +Traverse BVH4 to find any intersection (early exit). +""" +@inline function any_hit4(blas::BLAS4, ray::R) where {R <: AbstractRay} + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal + stack = MVector{32, UInt32}(undef) + stack_ptr::Int32 = Int32(0) + + nodes = blas.nodes + prims = blas.primitives + + # Start at root + node_idx::UInt32 = UInt32(1) + + @inbounds while true + node = nodes[node_idx] + + if is_interior4(node) + # Interior node - test all children + hits, hit_count = intersect_all_children4(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push all hit children (order doesn't matter for any_hit) + for i in hit_count:-1:2 + if hits[i][1] != INVALID_NODE4 + stack_ptr += Int32(1) + stack[stack_ptr] = hits[i][1] + end + end + + if hit_count > 0 && hits[1][1] != INVALID_NODE4 + node_idx = hits[1][1] + continue + end + else + # Leaf node - test triangle + prim_idx = node.child0 + if prim_idx != INVALID_NODE4 && prim_idx <= length(prims) + tri = prims[prim_idx] + verts = tri.vertices + hit, t, u, v = fast_intersect_triangle( + ray_o, ray_d, + verts[1], verts[2], verts[3], + ray_mint, ray_maxt + ) + if hit + # Early exit on first hit + w = 1.0f0 - u - v + bary = SVector{3, Float32}(w, u, v) + return (true, tri, t, bary) + end + end + end + + # Pop from stack + if stack_ptr > Int32(0) + node_idx = stack[stack_ptr] + stack_ptr -= Int32(1) + else + break + end + end + + # No hit + dummy_tri = prims[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary) +end + +# ============================================================================== +# Exports +# ============================================================================== + +export BVHNode4, BLAS4, TLAS4 +export build_blas4, closest_hit4, any_hit4 +export is_leaf4, is_interior4, get_child4, get_child_aabb4 diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 3db9018..47d800d 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -1121,10 +1121,13 @@ function TLAS( TMetadata = typeof(first_metadata) # Build first BLAS to get concrete type + # Filter out degenerate triangles (e.g., at poles of UV-sphere tessellations) first_triangles = Triangle{TMetadata}[] for i in 1:div(length(first_mesh.indices), 3) - metadata = metadata_fn(1, i) - push!(first_triangles, Triangle(first_mesh, i, metadata)) + if !is_degenerate(get_vertices(first_mesh, i)) + metadata = metadata_fn(1, i) + push!(first_triangles, Triangle(first_mesh, i, metadata)) + end end first_blas = build_blas(first_triangles) @@ -1149,9 +1152,12 @@ function TLAS( triangle_mesh = Raycore.to_triangle_mesh(prim) triangles = Triangle{TMetadata}[] + # Filter out degenerate triangles for i in 1:div(length(triangle_mesh.indices), 3) - metadata = metadata_fn(mi, i) - push!(triangles, Triangle(triangle_mesh, i, metadata)) + if !is_degenerate(get_vertices(triangle_mesh, i)) + metadata = metadata_fn(mi, i) + push!(triangles, Triangle(triangle_mesh, i, metadata)) + end end # Build BLAS for this mesh @@ -1364,7 +1370,10 @@ function _build_tlas_from_instances(instances::Vector{<:Instance}) # Build first BLAS to get concrete type for the array first_inst = instances[1] first_mesh = to_triangle_mesh(first_inst.geometry) - first_triangles = [Triangle(first_mesh, i, first_inst.metadata[1]) for i in 1:div(length(first_mesh.indices), 3)] + # Filter out degenerate triangles (e.g., at poles of UV-sphere tessellations) + first_triangles = [Triangle(first_mesh, i, first_inst.metadata[1]) + for i in 1:div(length(first_mesh.indices), 3) + if !is_degenerate(get_vertices(first_mesh, i))] first_blas = build_blas(first_triangles) # Create concretely-typed arrays @@ -1385,7 +1394,10 @@ function _build_tlas_from_instances(instances::Vector{<:Instance}) # Process remaining instances for inst in instances[2:end] mesh = to_triangle_mesh(inst.geometry) - triangles = [Triangle(mesh, i, inst.metadata[1]) for i in 1:div(length(mesh.indices), 3)] + # Filter out degenerate triangles + triangles = [Triangle(mesh, i, inst.metadata[1]) + for i in 1:div(length(mesh.indices), 3) + if !is_degenerate(get_vertices(mesh, i))] blas = build_blas(triangles) push!(blas_array, blas) blas_idx = UInt32(length(blas_array)) diff --git a/src/triangle_mesh.jl b/src/triangle_mesh.jl index 6b691b1..2e0f278 100644 --- a/src/triangle_mesh.jl +++ b/src/triangle_mesh.jl @@ -83,6 +83,17 @@ function is_degenerate(vs::AbstractVector{Point3f})::Bool (v ⋅ v) ≈ 0f0 end +""" + get_vertices(mesh::TriangleMesh, face_idx::Integer) -> SVector{3, Point3f} + +Get the 3 vertices of a triangle face from the mesh without constructing the full Triangle. +Useful for checking if a triangle is degenerate before creating it. +""" +function get_vertices(m::TriangleMesh, face_idx::Integer) + f_idx = 1 + (3 * (face_idx - 1)) + @SVector [m.vertices[m.indices[f_idx + i]] for i in 0:2] +end + vertices(t::Triangle) = t.vertices normals(t::Triangle) = t.normals tangents(t::Triangle) = t.tangents From cd1701c41405132aa5d1d0b2f6a47cb692d5cd09 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Fri, 2 Jan 2026 12:13:59 +0100 Subject: [PATCH 05/63] bvh4 --- Project.toml | 12 +- src/Raycore.jl | 4 + src/bvh4.jl | 774 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 785 insertions(+), 5 deletions(-) create mode 100644 src/bvh4.jl diff --git a/Project.toml b/Project.toml index 17cf1b3..2357f09 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "0.1.1" authors = ["Anton Smirnov ", "Simon Danisch BVH4 (parallel GPU kernel) +# 3. Traversal uses 4-wide AABB tests + +using StaticArrays +import KernelAbstractions as KA +using KernelAbstractions: @index, @atomicswap +using Atomix + +# ============================================================================== +# BVH4 Node Structure +# ============================================================================== + +const INVALID_NODE4 = 0xffffffff + +""" + BVHNode4 + +4-wide BVH node optimized for GPU traversal. +Stores up to 4 children with their AABBs inline. + +Memory layout: 128 bytes (one cache line on most GPUs) +- 4 child indices: 16 bytes +- 4 AABBs: 96 bytes (24 bytes each) +- Metadata: 16 bytes + +Leaf nodes indicated by child_count == 0 and first primitive index in child0. +""" +struct BVHNode4 + # Child indices (INVALID_NODE4 for unused slots) + child0::UInt32 + child1::UInt32 + child2::UInt32 + child3::UInt32 + + # Child 0 AABB + aabb0_min::Point3f + aabb0_max::Point3f + + # Child 1 AABB + aabb1_min::Point3f + aabb1_max::Point3f + + # Child 2 AABB + aabb2_min::Point3f + aabb2_max::Point3f + + # Child 3 AABB + aabb3_min::Point3f + aabb3_max::Point3f + + # Metadata + parent::UInt32 + child_count::UInt8 # 0 = leaf, 1-4 = interior + primitive_count::UInt8 # For leaves: number of primitives + _pad1::UInt8 + _pad2::UInt8 +end + +# Verify size (should be 128 bytes for cache alignment) +# 4*4 + 4*24 + 4 + 4 = 16 + 96 + 8 = 120 bytes + padding + +"""Create an empty/invalid BVH4 node.""" +@inline function empty_bvh4_node() + BVHNode4( + INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + INVALID_NODE4, UInt8(0), UInt8(0), UInt8(0), UInt8(0) + ) +end + +"""Check if node is a leaf.""" +@inline is_leaf4(node::BVHNode4) = node.child_count == 0 + +"""Check if node is interior.""" +@inline is_interior4(node::BVHNode4) = node.child_count > 0 + +"""Get child index by position (0-3).""" +@inline function get_child4(node::BVHNode4, i::Int)::UInt32 + i == 1 && return node.child0 + i == 2 && return node.child1 + i == 3 && return node.child2 + return node.child3 +end + +"""Get child AABB by position (1-4).""" +@inline function get_child_aabb4(node::BVHNode4, i::Int)::Bounds3 + if i == 1 + return Bounds3(node.aabb0_min, node.aabb0_max) + elseif i == 2 + return Bounds3(node.aabb1_min, node.aabb1_max) + elseif i == 3 + return Bounds3(node.aabb2_min, node.aabb2_max) + else + return Bounds3(node.aabb3_min, node.aabb3_max) + end +end + +"""Get the node's total AABB (union of all valid children).""" +@inline function get_node_aabb4(node::BVHNode4)::Bounds3 + aabb = Bounds3(node.aabb0_min, node.aabb0_max) + if node.child_count >= 2 + aabb = aabb ∪ Bounds3(node.aabb1_min, node.aabb1_max) + end + if node.child_count >= 3 + aabb = aabb ∪ Bounds3(node.aabb2_min, node.aabb2_max) + end + if node.child_count >= 4 + aabb = aabb ∪ Bounds3(node.aabb3_min, node.aabb3_max) + end + return aabb +end + +# ============================================================================== +# BVH4 Leaf Node (stores triangle data) +# ============================================================================== + +""" + BVH4Leaf + +Leaf node that stores triangle vertices directly (like BVH2IL format). +For BVH4, we keep triangles separate and reference by index. +""" +struct BVH4Leaf + prim_start::UInt32 # First primitive index + prim_count::UInt32 # Number of primitives (usually 1-2) + _pad1::UInt32 + _pad2::UInt32 +end + +# ============================================================================== +# BLAS4 / TLAS4 Structures +# ============================================================================== + +""" + BLAS4{NodeArray, TriArray} + +Bottom-Level Acceleration Structure using BVH4 nodes. +""" +struct BLAS4{ + NodeArray <: AbstractVector{BVHNode4}, + TriArray <: AbstractVector{<:Triangle} +} + nodes::NodeArray + primitives::TriArray + root_aabb::Bounds3 + num_interior::Int32 # Number of interior nodes +end + +""" + TLAS4{NodeArray, InstArray, BLASArray} + +Top-Level Acceleration Structure using BVH4 nodes. +""" +struct TLAS4{ + NodeArray <: AbstractVector{BVHNode4}, + InstArray <: AbstractVector{InstanceDescriptor}, + BLASArray <: AbstractVector{<:BLAS4} +} + nodes::NodeArray + instances::InstArray + blas_array::BLASArray + root_aabb::Bounds3 +end + +# ============================================================================== +# Collapse Pass: BVH2 -> BVH4 +# ============================================================================== + +""" + CollapseTask + +Work item for the BVH2 -> BVH4 collapse pass. +""" +struct CollapseTask + bvh2_node_idx::UInt32 # Source node in BVH2 + bvh4_node_idx::UInt32 # Destination node in BVH4 + depth::UInt32 # Current depth (for load balancing) +end + +""" +Gather up to 4 children from a subtree of the binary BVH. +Performs a BFS-like traversal to collect the 4 best children. + +Returns: (child_indices, child_aabbs, child_count, is_leaf_flags) +""" +@inline function gather_children_bvh2( + root_idx::UInt32, + nodes2::AbstractVector{BVHNode2}, + n_prims::Int32 +) + # Use a small fixed-size work queue + # Start with root's two children + queue = MVector{8, UInt32}(undef) + queue_size = 0 + + # Output arrays + children = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + aabbs = MVector{4, Bounds3}(Bounds3(), Bounds3(), Bounds3(), Bounds3()) + child_is_leaf = MVector{4, Bool}(false, false, false, false) + child_count = 0 + + # Start with root node + @inbounds root = nodes2[root_idx] + + if is_leaf(root) + # Root is already a leaf - single child + children[1] = root_idx + aabbs[1] = get_node_aabb(root, false) + child_is_leaf[1] = true + return (children, aabbs, Int32(1), child_is_leaf) + end + + # Add root's children to queue + queue[1] = root.child0 + queue[2] = root.child1 + queue_size = 2 + + # Expand until we have 4 children or can't expand more + while child_count < 4 && queue_size > 0 + # Find the best node to add (prefer interior nodes to expand) + best_idx = 1 + for i in 1:queue_size + @inbounds node_idx = queue[i] + @inbounds node = nodes2[node_idx] + # Prefer non-leaves that can be expanded + if is_interior(node) && child_count + queue_size - 1 + 2 <= 4 + best_idx = i + break + end + end + + # Pop from queue + @inbounds node_idx = queue[best_idx] + @inbounds queue[best_idx] = queue[queue_size] + queue_size -= 1 + + @inbounds node = nodes2[node_idx] + is_node_interior = is_interior(node) + + if is_node_interior && child_count + queue_size + 2 <= 4 + # Expand this node - add its children to queue + queue_size += 1 + @inbounds queue[queue_size] = node.child0 + queue_size += 1 + @inbounds queue[queue_size] = node.child1 + else + # Add this node as a child + child_count += 1 + @inbounds children[child_count] = node_idx + @inbounds aabbs[child_count] = if is_node_interior + # Interior node - union of child AABBs + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + # Leaf node - compute from triangle vertices + get_node_aabb(node, false) + end + @inbounds child_is_leaf[child_count] = !is_node_interior + end + end + + # Any remaining queue items become children directly + while queue_size > 0 && child_count < 4 + child_count += 1 + @inbounds node_idx = queue[queue_size] + queue_size -= 1 + + @inbounds children[child_count] = node_idx + @inbounds node = nodes2[node_idx] + is_node_interior = is_interior(node) + @inbounds aabbs[child_count] = if is_node_interior + Bounds3( + min.(node.aabb0_min, node.aabb1_min), + max.(node.aabb0_max, node.aabb1_max) + ) + else + get_node_aabb(node, false) + end + @inbounds child_is_leaf[child_count] = !is_node_interior + end + + return (children, aabbs, Int32(child_count), child_is_leaf) +end + +""" +Collapse a BVH2 into a BVH4. + +This is a sequential CPU implementation for simplicity. +A GPU version would use work queues similar to HIPRT. + +The key insight is that we need to: +1. Collect up to 4 subtrees at each BVH4 interior node +2. For leaf subtrees, create BVH4 leaf nodes pointing to primitives +3. For interior subtrees, recursively process them +4. Fix up child pointers to point to BVH4 indices (not BVH2 indices) +""" +function collapse_bvh2_to_bvh4( + nodes2::AbstractVector{BVHNode2}, + primitives::AbstractVector{<:Triangle}, + n_prims::Int32 +) + # Estimate BVH4 node count + max_nodes4 = length(nodes2) + 1 + nodes4 = Vector{BVHNode4}(undef, max_nodes4) + node4_count = 0 + + # Map from BVH2 index to BVH4 index (for subtrees that become BVH4 nodes) + bvh2_to_bvh4 = Dict{UInt32, UInt32}() + + # Work queue: (bvh2_idx, slot to update in parent, parent bvh4 idx) + # slot = which child slot (1-4) in the parent to update + queue = Vector{Tuple{UInt32, Int, UInt32}}() + + # Process root + @inbounds root = nodes2[1] + + if is_leaf(root) + # Single triangle - create one leaf node + node4_count += 1 + prim_idx = root.child1 + v0 = Point3f(root.aabb0_min...) + v1 = Point3f(root.aabb0_max...) + v2 = Point3f(root.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + INVALID_NODE4, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Gather children from root + children_bvh2, aabbs, child_count, child_is_leaf_flags = gather_children_bvh2(UInt32(1), nodes2, n_prims) + + node4_count += 1 + root4_idx = UInt32(node4_count) + + # Create placeholders for child indices (will be filled in) + child_indices = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + + # Process each child + for i in 1:child_count + bvh2_child_idx = children_bvh2[i] + @inbounds node2_child = nodes2[bvh2_child_idx] + + if child_is_leaf_flags[i] + # This is a leaf - create BVH4 leaf node + node4_count += 1 + leaf4_idx = UInt32(node4_count) + child_indices[i] = leaf4_idx + + prim_idx = node2_child.child1 + v0 = Point3f(node2_child.aabb0_min...) + v1 = Point3f(node2_child.aabb0_max...) + v2 = Point3f(node2_child.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + root4_idx, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Interior subtree - queue for processing + push!(queue, (bvh2_child_idx, i, root4_idx)) + end + end + + # Create root interior node (will update child pointers later for queued children) + nodes4[1] = BVHNode4( + child_indices[1], child_indices[2], child_indices[3], child_indices[4], + aabbs[1].p_min, aabbs[1].p_max, + aabbs[2].p_min, aabbs[2].p_max, + aabbs[3].p_min, aabbs[3].p_max, + aabbs[4].p_min, aabbs[4].p_max, + INVALID_NODE4, UInt8(child_count), UInt8(0), UInt8(0), UInt8(0) + ) + + # Process queued interior subtrees + while !isempty(queue) + bvh2_idx, parent_slot, parent4_idx = popfirst!(queue) + + # Gather children from this subtree + sub_children, sub_aabbs, sub_count, sub_is_leaf = gather_children_bvh2(bvh2_idx, nodes2, n_prims) + + node4_count += 1 + current4_idx = UInt32(node4_count) + + # Update parent's child pointer + @inbounds parent = nodes4[parent4_idx] + if parent_slot == 1 + nodes4[parent4_idx] = BVHNode4( + current4_idx, parent.child1, parent.child2, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + elseif parent_slot == 2 + nodes4[parent4_idx] = BVHNode4( + parent.child0, current4_idx, parent.child2, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + elseif parent_slot == 3 + nodes4[parent4_idx] = BVHNode4( + parent.child0, parent.child1, current4_idx, parent.child3, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + else + nodes4[parent4_idx] = BVHNode4( + parent.child0, parent.child1, parent.child2, current4_idx, + parent.aabb0_min, parent.aabb0_max, parent.aabb1_min, parent.aabb1_max, + parent.aabb2_min, parent.aabb2_max, parent.aabb3_min, parent.aabb3_max, + parent.parent, parent.child_count, parent.primitive_count, parent._pad1, parent._pad2 + ) + end + + # Create child index array + sub_child_indices = MVector{4, UInt32}(INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4) + + # Process children + for i in 1:sub_count + bvh2_child = sub_children[i] + @inbounds node2_child = nodes2[bvh2_child] + + if sub_is_leaf[i] + # Leaf + node4_count += 1 + leaf4_idx = UInt32(node4_count) + sub_child_indices[i] = leaf4_idx + + prim_idx = node2_child.child1 + v0 = Point3f(node2_child.aabb0_min...) + v1 = Point3f(node2_child.aabb0_max...) + v2 = Point3f(node2_child.aabb1_min...) + p_min = min.(min.(v0, v1), v2) + p_max = max.(max.(v0, v1), v2) + + nodes4[node4_count] = BVHNode4( + prim_idx, INVALID_NODE4, INVALID_NODE4, INVALID_NODE4, + p_min, p_max, + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + Point3f(0), Point3f(0), + current4_idx, UInt8(0), UInt8(1), UInt8(0), UInt8(0) + ) + else + # Interior - queue for later + push!(queue, (bvh2_child, i, current4_idx)) + end + end + + # Create this interior node + nodes4[current4_idx] = BVHNode4( + sub_child_indices[1], sub_child_indices[2], sub_child_indices[3], sub_child_indices[4], + sub_aabbs[1].p_min, sub_aabbs[1].p_max, + sub_aabbs[2].p_min, sub_aabbs[2].p_max, + sub_aabbs[3].p_min, sub_aabbs[3].p_max, + sub_aabbs[4].p_min, sub_aabbs[4].p_max, + parent4_idx, UInt8(sub_count), UInt8(0), UInt8(0), UInt8(0) + ) + end + end + + # Resize to actual count + resize!(nodes4, node4_count) + + return nodes4 +end + +# ============================================================================== +# BVH4 Build Function +# ============================================================================== + +""" + build_blas4(primitives) -> BLAS4 + +Build a BLAS using BVH4 nodes for faster traversal. + +1. Build standard LBVH (BVH2) using existing kernels +2. Collapse BVH2 -> BVH4 +""" +function build_blas4(primitives::AbstractVector{T}) where {T <: Triangle} + n = length(primitives) + n == 0 && error("Cannot build BLAS4 from empty primitive list") + + # First build BVH2 using existing infrastructure + blas2 = build_blas(primitives) + + # Collapse to BVH4 + nodes4 = collapse_bvh2_to_bvh4(blas2.nodes, blas2.primitives, Int32(n)) + + return BLAS4(nodes4, blas2.primitives, blas2.root_aabb, Int32(length(nodes4))) +end + +# ============================================================================== +# BVH4 Traversal +# ============================================================================== + +""" + fast_intersect_bbox4(ray_o, ray_inv_d, node, child_idx, t_min, t_max) -> (hit, t_entry) + +Test ray against one child AABB of a BVH4 node. +""" +@inline function fast_intersect_bbox4( + ray_o::Point3f, + ray_inv_d::Vec3f, + node::BVHNode4, + child_idx::Int, + t_min::Float32, + t_max::Float32 +)::Tuple{Bool, Float32} + aabb = get_child_aabb4(node, child_idx) + + oxinvdir = -ray_o .* ray_inv_d + f = aabb.p_max .* ray_inv_d .+ oxinvdir + n = aabb.p_min .* ray_inv_d .+ oxinvdir + + tmax_vec = max.(f, n) + tmin_vec = min.(f, n) + + max_t = min(minimum(tmax_vec), t_max) + min_t = max(maximum(tmin_vec), t_min) + + return (min_t <= max_t, min_t) +end + +""" + intersect_all_children4(node, ray_inv_d, ray_o, t_min, t_max) -> sorted hits + +Test ray against all 4 children AABBs and return sorted by distance. +Returns up to 4 (child_idx, t_entry) pairs, sorted near-to-far. +""" +@inline function intersect_all_children4( + node::BVHNode4, + ray_inv_d::Vec3f, + ray_o::Point3f, + t_min::Float32, + t_max::Float32 +) + # Test all children + hits = MVector{4, Tuple{UInt32, Float32}}( + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32), + (INVALID_NODE4, Inf32) + ) + hit_count = 0 + + for i in 1:Int(node.child_count) + child_idx = get_child4(node, i) + if child_idx != INVALID_NODE4 + hit, t_entry = fast_intersect_bbox4(ray_o, ray_inv_d, node, i, t_min, t_max) + if hit + hit_count += 1 + hits[hit_count] = (child_idx, t_entry) + end + end + end + + # Simple insertion sort for up to 4 elements + for i in 2:hit_count + j = i + while j > 1 && hits[j][2] < hits[j-1][2] + hits[j], hits[j-1] = hits[j-1], hits[j] + j -= 1 + end + end + + return hits, hit_count +end + +""" + closest_hit4(blas::BLAS4, ray::AbstractRay) -> (hit, primitive, distance, barycentric) + +Traverse BVH4 to find closest intersection. +""" +@inline function closest_hit4(blas::BLAS4, ray::R) where {R <: AbstractRay} + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal (BVH4 needs smaller stack than BVH2) + stack = MVector{32, UInt32}(undef) + stack_ptr::Int32 = Int32(0) + + # Track closest hit + closest_prim::UInt32 = INVALID_NODE4 + hit_u::Float32 = 0.0f0 + hit_v::Float32 = 0.0f0 + + nodes = blas.nodes + prims = blas.primitives + + # Start at root + node_idx::UInt32 = UInt32(1) + + @inbounds while true + node = nodes[node_idx] + + if is_interior4(node) + # Interior node - test all children + hits, hit_count = intersect_all_children4(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push far children to stack (in reverse order so nearest is popped first) + for i in hit_count:-1:2 + if hits[i][1] != INVALID_NODE4 + stack_ptr += Int32(1) + stack[stack_ptr] = hits[i][1] + end + end + + # Visit nearest child + if hit_count > 0 && hits[1][1] != INVALID_NODE4 + node_idx = hits[1][1] + continue + end + else + # Leaf node - test triangle + prim_idx = node.child0 + if prim_idx != INVALID_NODE4 && prim_idx <= length(prims) + tri = prims[prim_idx] + verts = tri.vertices + hit, t, u, v = fast_intersect_triangle( + ray_o, ray_d, + verts[1], verts[2], verts[3], + ray_mint, ray_maxt + ) + if hit + ray_maxt = t + closest_prim = prim_idx + hit_u = u + hit_v = v + end + end + end + + # Pop from stack + if stack_ptr > Int32(0) + node_idx = stack[stack_ptr] + stack_ptr -= Int32(1) + else + break + end + end + + # Return result + @inbounds if closest_prim != INVALID_NODE4 + tri = prims[closest_prim] + w = 1.0f0 - hit_u - hit_v + bary = SVector{3, Float32}(w, hit_u, hit_v) + return (true, tri, ray_maxt, bary) + else + dummy_tri = prims[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary) + end +end + +""" + any_hit4(blas::BLAS4, ray::AbstractRay) -> (hit, primitive, distance, barycentric) + +Traverse BVH4 to find any intersection (early exit). +""" +@inline function any_hit4(blas::BLAS4, ray::R) where {R <: AbstractRay} + ray = check_direction(ray) + ray_o::Point3f = ray.o + ray_d::Vec3f = ray.d + ray_mint::Float32 = 0.0f0 + ray_maxt::Float32 = ray.t_max + ray_inv_d::Vec3f = safe_invdir(ray_d) + + # Stack for traversal + stack = MVector{32, UInt32}(undef) + stack_ptr::Int32 = Int32(0) + + nodes = blas.nodes + prims = blas.primitives + + # Start at root + node_idx::UInt32 = UInt32(1) + + @inbounds while true + node = nodes[node_idx] + + if is_interior4(node) + # Interior node - test all children + hits, hit_count = intersect_all_children4(node, ray_inv_d, ray_o, ray_mint, ray_maxt) + + # Push all hit children (order doesn't matter for any_hit) + for i in hit_count:-1:2 + if hits[i][1] != INVALID_NODE4 + stack_ptr += Int32(1) + stack[stack_ptr] = hits[i][1] + end + end + + if hit_count > 0 && hits[1][1] != INVALID_NODE4 + node_idx = hits[1][1] + continue + end + else + # Leaf node - test triangle + prim_idx = node.child0 + if prim_idx != INVALID_NODE4 && prim_idx <= length(prims) + tri = prims[prim_idx] + verts = tri.vertices + hit, t, u, v = fast_intersect_triangle( + ray_o, ray_d, + verts[1], verts[2], verts[3], + ray_mint, ray_maxt + ) + if hit + # Early exit on first hit + w = 1.0f0 - u - v + bary = SVector{3, Float32}(w, u, v) + return (true, tri, t, bary) + end + end + end + + # Pop from stack + if stack_ptr > Int32(0) + node_idx = stack[stack_ptr] + stack_ptr -= Int32(1) + else + break + end + end + + # No hit + dummy_tri = prims[1] + bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) + return (false, dummy_tri, 0.0f0, bary) +end + +# ============================================================================== +# Exports +# ============================================================================== + +export BVHNode4, BLAS4, TLAS4 +export build_blas4, closest_hit4, any_hit4 +export is_leaf4, is_interior4, get_child4, get_child_aabb4 From 4d56d99a0e24b45c87d7e541ff9a33f818d1cc78 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sun, 4 Jan 2026 16:20:15 +0100 Subject: [PATCH 06/63] fixes --- docs/src/hikari-wavefront-renderer.jl | 1090 +++++++++++++++++++++++++ docs/src/test_hikari_wavefront.jl | 23 + ext/RaycoreMakieExt.jl | 51 +- src/instanced-bvh-kernels.jl | 35 +- src/instanced-bvh.jl | 20 + 5 files changed, 1217 insertions(+), 2 deletions(-) create mode 100644 docs/src/hikari-wavefront-renderer.jl create mode 100644 docs/src/test_hikari_wavefront.jl diff --git a/docs/src/hikari-wavefront-renderer.jl b/docs/src/hikari-wavefront-renderer.jl new file mode 100644 index 0000000..e6e58f9 --- /dev/null +++ b/docs/src/hikari-wavefront-renderer.jl @@ -0,0 +1,1090 @@ +""" +Wavefront Path Tracer integrated with Hikari MaterialScene. + +This renderer uses Hikari's MaterialScene and Light types while keeping +the original wavefront-renderer.jl shading model. Materials are treated +as data containers - we extract base_color, metallic, roughness from +Hikari materials but use the wavefront shading equations. +""" + +using Raycore, GeometryBasics, LinearAlgebra +using Raycore: gpu_int +using Colors +using KernelAbstractions +using KernelAbstractions: @kernel, @index, @Const +import KernelAbstractions as KA +using Statistics +import Makie + +import Hikari +using Hikari: MaterialScene, MaterialIndex, RGBSpectrum, PointLight, Light, LightδPosition + +# ============================================================================ +# SoA Access Macros (same as wavefront-renderer.jl) +# ============================================================================ + +macro get(expr) + if expr.head != :(=) + error("@get expects assignment syntax: @get field1, field2 = soa[idx]") + end + + lhs = expr.args[1] + rhs = expr.args[2] + + if lhs isa Symbol + fields = [lhs] + elseif lhs.head == :tuple + fields = lhs.args + else + error("@get left side must be field names or tuple of field names") + end + + if rhs.head != :ref + error("@get right side must be array indexing: soa[idx]") + end + soa = rhs.args[1] + idx = rhs.args[2] + + assignments = [:($(esc(field)) = $(esc(soa)).$(field)[$(esc(idx))]) for field in fields] + return Expr(:block, assignments...) +end + +macro set(expr) + if expr.head != :(=) + error("@set expects assignment syntax: @set soa[idx] = (field1=val1, ...)") + end + + lhs = expr.args[1] + rhs = expr.args[2] + + if lhs.head != :ref + error("@set left side must be array indexing: soa[idx]") + end + soa = lhs.args[1] + idx = lhs.args[2] + + assignments = [] + if rhs.head == :tuple || rhs.head == :parameters + for arg in rhs.args + if arg isa Expr && arg.head == :(=) + field = arg.args[1] + val = arg.args[2] + push!(assignments, :($(esc(soa)).$(field)[$(esc(idx))] = $(esc(val)))) + else + error("@set expects named parameters: @set soa[idx] = (field=value, ...)") + end + end + else + error("@set expects a tuple with named fields: @set soa[idx] = (field=value, ...)") + end + return Expr(:block, assignments...) +end + +# ============================================================================ +# Material Property Extraction from Hikari Materials +# ============================================================================ + +""" + WavefrontMaterialProps + +Simple material properties for wavefront shading. +Extracted from Hikari materials at shading time. +""" +struct WavefrontMaterialProps + base_color::Vec3f + metallic::Float32 + roughness::Float32 +end + +""" +Helper to get texture const_value (for constant textures used in our scene). +""" +@inline function get_texture_value(tex::Hikari.Texture{RGBSpectrum}) + return tex.const_value +end + +@inline function get_texture_value(tex::Hikari.Texture{Float32}) + return tex.const_value +end + +""" +Extract wavefront-compatible material properties from a Hikari MatteMaterial. +Matte materials are purely diffuse (metallic=0, roughness from sigma). +""" +@inline function extract_material_props(mat::Hikari.MatteMaterial, ::Point2f) + # Get diffuse color from Kd texture + kd = get_texture_value(mat.Kd) + base_color = Vec3f(kd.c[1], kd.c[2], kd.c[3]) + # σ is roughness in degrees for Oren-Nayar; convert to 0-1 range + σ = get_texture_value(mat.σ) + roughness = clamp(σ / 90f0, 0f0, 1f0) + return WavefrontMaterialProps(base_color, 0f0, roughness) +end + +""" +Extract wavefront-compatible material properties from a Hikari MirrorMaterial. +Mirrors are fully metallic (metallic=1, roughness=0). +""" +@inline function extract_material_props(mat::Hikari.MirrorMaterial, ::Point2f) + kr = get_texture_value(mat.Kr) + base_color = Vec3f(kr.c[1], kr.c[2], kr.c[3]) + return WavefrontMaterialProps(base_color, 1f0, 0f0) +end + +""" +Extract wavefront-compatible material properties from a Hikari PlasticMaterial. +Plastic has both diffuse and specular; map to metallic based on Ks intensity. +""" +@inline function extract_material_props(mat::Hikari.PlasticMaterial, ::Point2f) + kd = get_texture_value(mat.Kd) + ks = get_texture_value(mat.Ks) + base_color = Vec3f(kd.c[1], kd.c[2], kd.c[3]) + # Map specular intensity to metallic factor + metallic = (ks.c[1] + ks.c[2] + ks.c[3]) / 3f0 + roughness = get_texture_value(mat.roughness) + return WavefrontMaterialProps(base_color, metallic, roughness) +end + +""" +Extract wavefront-compatible material properties from a Hikari GlassMaterial. +Glass is mapped to a transparent-ish material; use reflection as base color. +""" +@inline function extract_material_props(mat::Hikari.GlassMaterial, ::Point2f) + kr = get_texture_value(mat.Kr) + base_color = Vec3f(kr.c[1], kr.c[2], kr.c[3]) + roughness = get_texture_value(mat.u_roughness) + # Glass behaves more like a mirror in our simplified model + return WavefrontMaterialProps(base_color, 0.8f0, roughness) +end + +""" +Extract wavefront-compatible material properties from a Hikari MetalMaterial. +Metals are fully metallic (metallic=1) with roughness and reflectance for color. +""" +@inline function extract_material_props(mat::Hikari.MetalMaterial, ::Point2f) + # Use reflectance as the base color (tinting) + refl = get_texture_value(mat.reflectance) + base_color = Vec3f(refl.c[1], refl.c[2], refl.c[3]) + roughness = get_texture_value(mat.roughness) + # Metals are fully metallic + return WavefrontMaterialProps(base_color, 1f0, roughness) +end + +# Fallback for any other material type +@inline function extract_material_props(mat, ::Point2f) + return WavefrontMaterialProps(Vec3f(0.5f0, 0.5f0, 0.5f0), 0f0, 0.5f0) +end + +""" +Generated function for type-stable material property extraction. +Dispatches to the appropriate extract_material_props based on material_type. +""" +@generated function extract_material_from_scene( + materials::NTuple{N,Any}, idx::MaterialIndex, uv::Point2f +) where N + branches = [quote + if idx.material_type === UInt8($i) + return @inline extract_material_props(@inbounds(materials[$i][idx.material_idx]), uv) + end + end for i in 1:N] + quote + $(branches...) + return WavefrontMaterialProps(Vec3f(0.5f0), 0f0, 0.5f0) + end +end + +# ============================================================================ +# Light Representation for Wavefront Renderer +# ============================================================================ + +""" + WavefrontLight + +Simple point light for wavefront shading, compatible with GPU. +""" +struct WavefrontLight + position::Point3f + intensity::Float32 + color::RGB{Float32} +end + +""" +Convert a Hikari PointLight to WavefrontLight format. +""" +function WavefrontLight(light::Hikari.PointLight) + # Extract intensity as luminance of spectrum + intensity = Hikari.to_Y(light.i) + # Extract color (normalized RGB) + rgb = Hikari.rgb(light.i) + max_val = max(rgb[1], rgb[2], rgb[3], 1f-6) + color = RGB{Float32}(rgb[1]/max_val, rgb[2]/max_val, rgb[3]/max_val) + return WavefrontLight(light.position, intensity, color) +end + +# ============================================================================ +# Work Queue Structures (same as wavefront-renderer.jl) +# ============================================================================ + +struct PrimaryRayWork + ray::Raycore.Ray + pixel_x::Int32 + pixel_y::Int32 + sample_idx::Int32 +end + +struct PrimaryHitWork{Tri} + hit_found::Bool + tri::Tri + dist::Float32 + bary::Vec3f + ray::Raycore.Ray + pixel_x::Int32 + pixel_y::Int32 + sample_idx::Int32 +end + +struct ShadowRayWork + ray::Raycore.Ray + hit_idx::Int32 + light_idx::Int32 +end + +struct ShadowResult + visible::Bool + hit_idx::Int32 + light_idx::Int32 +end + +struct ReflectionRayWork + ray::Raycore.Ray + hit_idx::Int32 +end + +struct ReflectionHitWork + hit_found::Bool + material_idx::MaterialIndex + dist::Float32 + bary::Vec3f + normal::Vec3f + ray::Raycore.Ray + primary_hit_idx::Int32 +end + +struct ShadedResult + color::Vec3f + pixel_x::Int32 + pixel_y::Int32 + sample_idx::Int32 +end + +# ============================================================================ +# Render Context for Hikari Integration +# ============================================================================ + +""" + HikariRenderContext + +Holds the lights and materials for GPU rendering. +Uses WavefrontLight for lights (converted from Hikari lights). +Materials are stored as the original Hikari MaterialScene.materials tuple. +""" +struct HikariRenderContext{L<:AbstractVector{WavefrontLight}, M<:Tuple} + lights::L + materials::M + ambient::Float32 +end + +function Raycore.to_gpu(Arr, ctx::HikariRenderContext) + lights_gpu = Raycore.to_gpu(Arr, ctx.lights) + # Materials tuple needs per-type GPU conversion + materials_gpu = map(ctx.materials) do mats + Raycore.to_gpu(Arr, map(m -> Hikari.to_gpu(Arr, m), mats)) + end + return HikariRenderContext(lights_gpu, materials_gpu, ctx.ambient) +end + +# ============================================================================ +# Helper function +# ============================================================================ + +function similar_soa(img, T, num_elements) + fields = [f => similar(img, fieldtype(T, f), num_elements) for f in fieldnames(T)] + return (; fields...) +end + +@generated function for_unrolled(f::F, ::Val{N}) where {F, N} + return Expr(:block, [:(f($(Raycore.gpu_int(i)))) for i in 1:N]...) +end + +# ============================================================================ +# Stage 1: Generate Primary Camera Rays +# ============================================================================ + +@kernel function generate_primary_rays_lookat!( + @Const(width), @Const(height), + @Const(camera_pos), + @Const(camera_right), @Const(camera_up), @Const(camera_forward), + @Const(half_width), @Const(half_height), + ray_queue, + ::Val{NSamples} +) where {NSamples} + i = @index(Global, Cartesian) + y = gpu_int(i[1]) + x = gpu_int(i[2]) + + @inbounds if y <= height && x <= width + pixel_idx = (y - gpu_int(1)) * width + x + ntuple(Val(NSamples)) do s + s_idx = gpu_int(s) + ray_idx = (pixel_idx - gpu_int(1)) * gpu_int(NSamples) + s_idx + jitter = rand(Vec2f) + + u = (2.0f0 * (Float32(x) - 0.5f0 + jitter[1]) / Float32(width) - 1.0f0) + v = (1.0f0 - 2.0f0 * (Float32(y) - 0.5f0 + jitter[2]) / Float32(height)) + + direction = normalize( + camera_forward + + camera_right * (u * half_width) + + camera_up * (v * half_height) + ) + ray = Raycore.Ray(o=camera_pos, d=direction) + + @set ray_queue[ray_idx] = (ray=ray, pixel_x=x, pixel_y=y, sample_idx=s_idx) + nothing + end + end +end + +# ============================================================================ +# Stage 2: Intersect Primary Rays (adapted for MaterialScene) +# ============================================================================ + +@kernel function intersect_primary_rays_hikari!( + @Const(accel), # BVH or TLAS from MaterialScene + @Const(ray_queue), + hit_queue +) + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(ray_queue.ray) + @get ray, pixel_x, pixel_y, sample_idx = ray_queue[idx] + hit_found, tri, dist, bary = Raycore.closest_hit(accel, ray) + @set hit_queue[idx] = (hit_found=hit_found, tri=tri, dist=dist, bary=Vec3f(bary), + ray=ray, pixel_x=pixel_x, pixel_y=pixel_y, sample_idx=sample_idx) + end +end + +# ============================================================================ +# Stage 3: Generate Shadow Rays +# ============================================================================ + +@kernel function generate_shadow_rays_hikari!( + @Const(hit_queue), + @Const(ctx), + shadow_ray_queue, + nlights::Val{NLights} +) where {NLights} + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(hit_queue.hit_found) + @get hit_found, tri, dist, bary, ray = hit_queue[idx] + + if hit_found + hit_point = ray.o + ray.d * dist + v0, v1, v2 = Raycore.normals(tri) + u, v, w = bary[1], bary[2], bary[3] + normal = Vec3f(normalize(v0 * u + v1 * v + v2 * w)) + + for_unrolled(nlights) do light_idx + light_idx_gpu = gpu_int(light_idx) + shadow_ray_idx = (idx - gpu_int(1)) * gpu_int(NLights) + light_idx_gpu + light = ctx.lights[light_idx_gpu] + + shadow_bias = 0.01f0 + shadow_origin = hit_point + normal * shadow_bias + light_vec = light.position - shadow_origin + shadow_dir = normalize(light_vec) + light_dist = norm(light_vec) + shadow_ray = Raycore.Ray(o=shadow_origin, d=shadow_dir, t_max=light_dist) + + @set shadow_ray_queue[shadow_ray_idx] = (ray=shadow_ray, hit_idx=idx, light_idx=light_idx_gpu) + end + else + dummy_ray = Raycore.Ray(o=Point3f(0,0,0), d=Vec3f(0,0,1), t_max=0.0f0) + for_unrolled(nlights) do light_idx + light_idx_gpu = gpu_int(light_idx) + shadow_ray_idx = (idx - gpu_int(1)) * gpu_int(NLights) + light_idx_gpu + shadow_ray_queue.ray[shadow_ray_idx] = dummy_ray + end + end + end +end + +# ============================================================================ +# Stage 4: Test Shadow Rays +# ============================================================================ + +@kernel function test_shadow_rays_hikari!( + @Const(accel), + @Const(shadow_ray_queue), + shadow_result_queue +) + i = @index(Global, Linear) + idx = gpu_int(i) + @inbounds if idx <= length(shadow_ray_queue.ray) + @get ray, hit_idx, light_idx = shadow_ray_queue[idx] + + visible = if ray.t_max > 0.0f0 + hit_found, _, _, _ = Raycore.any_hit(accel, ray) + !hit_found + else + false + end + + @set shadow_result_queue[idx] = (visible=visible, hit_idx=hit_idx, light_idx=light_idx) + end +end + +# ============================================================================ +# Stage 5: Shade Primary Hits with Shadow Information (Hikari materials) +# ============================================================================ + +@kernel function shade_primary_hits_hikari!( + @Const(hit_queue), + @Const(ctx), + @Const(shadow_results), + @Const(sky_color), + shading_queue, + nlights::Val{NLights} +) where {NLights} + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(hit_queue.hit_found) + @get hit_found, tri, dist, bary, ray, pixel_x, pixel_y, sample_idx = hit_queue[idx] + + if hit_found + hit_point = ray.o + ray.d * dist + v0, v1, v2 = Raycore.normals(tri) + u, v, w = bary[1], bary[2], bary[3] + normal = Vec3f(normalize(v0 * u + v1 * v + v2 * w)) + + # Get material properties from Hikari material via MaterialIndex + mat_idx = tri.metadata::MaterialIndex + mat_props = extract_material_from_scene(ctx.materials, mat_idx, Point2f(0)) + base_color = mat_props.base_color + + # Start with ambient + total_color = base_color * ctx.ambient + + # Add contribution from each light + light_samples = ntuple(nlights) do light_idx + light_idx_gpu = gpu_int(light_idx) + shadow_idx = (idx - gpu_int(1)) * gpu_int(NLights) + light_idx_gpu + visible = shadow_results.visible[shadow_idx] + if visible + light = ctx.lights[light_idx_gpu] + light_vec = light.position - hit_point + light_dist = norm(light_vec) + light_dir = light_vec / light_dist + + diffuse = max(0.0f0, dot(normal, light_dir)) + attenuation = light.intensity / (light_dist * light_dist) + light_color = Vec3f(light.color.r, light.color.g, light.color.b) + difa = (diffuse * attenuation) + Vec3f(base_color * (light_color * difa)) + else + Vec3f(0) + end + end + + final_color = total_color + sum(light_samples) + @set shading_queue[idx] = (color=final_color, pixel_x=pixel_x, pixel_y=pixel_y, sample_idx=sample_idx) + else + sky_vec = Vec3f(sky_color.r, sky_color.g, sky_color.b) + @set shading_queue[idx] = (color=sky_vec, pixel_x=pixel_x, pixel_y=pixel_y, sample_idx=sample_idx) + end + end +end + +# ============================================================================ +# Stage 6: Generate Reflection Rays (Hikari materials) +# ============================================================================ + +@kernel function generate_reflection_rays_hikari!( + @Const(hit_queue), + @Const(ctx), + reflection_ray_soa, + active_count +) + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(hit_queue.hit_found) + @get hit_found, tri, dist, bary, ray = hit_queue[idx] + dummy_ray = Raycore.Ray(o=Point3f(0, 0, 0), d=Vec3f(0, 0, 1), t_max=0.0f0) + + if hit_found + mat_idx = tri.metadata::MaterialIndex + mat_props = extract_material_from_scene(ctx.materials, mat_idx, Point2f(0)) + + if mat_props.metallic > 0.0f0 + hit_point = ray.o + ray.d * dist + v0, v1, v2 = Raycore.normals(tri) + u, v, w = bary[1], bary[2], bary[3] + normal = Vec3f(normalize(v0 * u + v1 * v + v2 * w)) + + wo = -ray.d + reflect_dir = Raycore.reflect(wo, normal) + + if mat_props.roughness > 0.0f0 + offset = (rand(Vec3f) .* 2.0f0 .- 1.0f0) * mat_props.roughness + reflect_dir = normalize(reflect_dir + offset) + end + + reflect_ray = Raycore.Ray(o=hit_point + normal * 0.01f0, d=reflect_dir) + @set reflection_ray_soa[idx] = (ray=reflect_ray, hit_idx=idx) + else + reflection_ray_soa.ray[idx] = dummy_ray + end + else + reflection_ray_soa.ray[idx] = dummy_ray + end + end +end + +# ============================================================================ +# Stage 7: Intersect Reflection Rays (Hikari materials) +# ============================================================================ + +@kernel function intersect_reflection_rays_hikari!( + @Const(accel), + @Const(reflection_ray_soa), + reflection_hit_soa +) + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(reflection_ray_soa.ray) + @get ray, hit_idx = reflection_ray_soa[idx] + + if ray.t_max > 0.0f0 + hit_found, tri, dist, bary = Raycore.closest_hit(accel, ray) + if hit_found + v0, v1, v2 = Raycore.normals(tri) + u, v, w = bary[1], bary[2], bary[3] + normal = Vec3f(normalize(v0 * u + v1 * v + v2 * w)) + + # Store MaterialIndex instead of Int32 material_idx + mat_idx = tri.metadata::MaterialIndex + @set reflection_hit_soa[idx] = (hit_found=true, material_idx=mat_idx, + dist=dist, bary=Vec3f(bary), normal=normal, + ray=ray, primary_hit_idx=hit_idx) + else + reflection_hit_soa.hit_found[idx] = false + end + else + reflection_hit_soa.hit_found[idx] = false + end + end +end + +# ============================================================================ +# Stage 8: Shade Reflection Hits and Blend (Hikari materials) +# ============================================================================ + +@kernel function shade_reflections_and_blend_hikari!( + @Const(hit_queue), + @Const(reflection_hit_soa), + @Const(ctx), + @Const(sky_color), + shading_queue +) + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(hit_queue.hit_found) + @get hit_found, tri, pixel_x, pixel_y, sample_idx = hit_queue[idx] + + if hit_found + mat_idx = tri.metadata::MaterialIndex + mat_props = extract_material_from_scene(ctx.materials, mat_idx, Point2f(0)) + + if mat_props.metallic > 0.0f0 + @get hit_found, material_idx, dist, bary, normal, ray = reflection_hit_soa[idx] + + reflection_color = if hit_found + refl_point = ray.o + ray.d * dist + refl_normal = normal + + refl_mat_props = extract_material_from_scene(ctx.materials, material_idx, Point2f(0)) + refl_base_color = refl_mat_props.base_color + + refl_color = refl_base_color * ctx.ambient + + if length(ctx.lights) > 0 + light = ctx.lights[gpu_int(1)] + light_vec = light.position - refl_point + light_dist = norm(light_vec) + light_dir = normalize(light_vec) + diffuse = max(0.0f0, dot(refl_normal, light_dir)) + attenuation = light.intensity / (light_dist * light_dist) + light_color = Vec3f(light.color.r, light.color.g, light.color.b) + refl_color += refl_base_color .* (light_color * (diffuse * attenuation)) + end + refl_color + else + Vec3f(sky_color.r, sky_color.g, sky_color.b) + end + + primary_color = shading_queue.color[idx] + blended_color = primary_color * (1.0f0 - mat_props.metallic) + reflection_color * mat_props.metallic + + @set shading_queue[idx] = (color=blended_color, pixel_x=pixel_x, pixel_y=pixel_y, sample_idx=sample_idx) + end + end + end +end + +# ============================================================================ +# Stage 9: Accumulate Final Image +# ============================================================================ + +@kernel function accumulate_final!( + @Const(shading_queue), + img, + sample_accumulator +) + i = @index(Global, Linear) + idx = gpu_int(i) + + @inbounds if idx <= length(shading_queue.color) + color = shading_queue.color[idx] + sample_accumulator[idx] = color + end +end + +@kernel function finalize_image!( + @Const(sample_accumulator), + img, + nsamples::Val{NSamples} +) where {NSamples} + i = @index(Global, Cartesian) + y = gpu_int(i[1]) + x = gpu_int(i[2]) + height, width = size(img) + + @inbounds if y <= height && x <= width + pixel_idx = (y - gpu_int(1)) * width + x + samples = ntuple(nsamples) do idx + s_idx = gpu_int(idx) + sample_idx = (pixel_idx - gpu_int(1)) * gpu_int(NSamples) + s_idx + sample_accumulator[sample_idx] + end + img[y, x] = RGB{Float32}(mean(samples)...) + end +end + +# ============================================================================ +# HikariWavefrontRenderer +# ============================================================================ + +""" + HikariWavefrontRenderer + +A wavefront renderer that uses Hikari's MaterialScene for materials and lights. +Uses the same shading model as the original wavefront-renderer.jl but with +Hikari data structures. + +Materials are stored in MaterialScene (tuple of typed vectors) and lights +are converted to WavefrontLight format for GPU compatibility. +""" +struct HikariWavefrontRenderer{ImgArr <: AbstractMatrix, Accel, Ctx} + width::Int32 + height::Int32 + + framebuffer::ImgArr + accel::Accel # BVH or TLAS from MaterialScene + ctx::Ctx # HikariRenderContext + + camera_pos::Point3f + camera_lookat::Point3f + camera_up::Vec3f + fov::Float32 + sky_color::RGB{Float32} + samples_per_pixel::Int32 + + # Work queues + primary_ray_queue::NamedTuple + primary_hit_queue::NamedTuple + shadow_ray_queue::NamedTuple + shadow_result_queue::NamedTuple + reflection_ray_soa::NamedTuple + reflection_hit_soa::NamedTuple + shading_queue::NamedTuple + sample_accumulator::AbstractVector + active_count::AbstractVector +end + +""" + HikariWavefrontRenderer(img, material_scene, lights; kwargs...) + +Create a HikariWavefrontRenderer from a Hikari MaterialScene and lights. + +# Arguments +- `img`: Output image buffer +- `material_scene`: Hikari.MaterialScene containing geometry and materials +- `lights`: Vector of Hikari lights (PointLight, etc.) + +# Keyword Arguments +- `camera_pos`: Camera position (default: Point3f(0, -0.9, -2.5)) +- `camera_lookat`: Look-at target (default: Point3f(0, 0, 0)) +- `camera_up`: Up vector (default: Vec3f(0, 0, 1)) +- `fov`: Field of view in degrees (default: 45) +- `sky_color`: Background color (default: light blue) +- `samples_per_pixel`: Anti-aliasing samples (default: 4) +- `ambient`: Ambient light factor (default: 0.1) +""" +function HikariWavefrontRenderer( + img, + material_scene::MaterialScene, + lights::AbstractVector{<:Light}; + camera_pos=Point3f(0, -0.9, -2.5), + camera_lookat=Point3f(0, 0, 0), + camera_up=Vec3f(0, 0, 1), + fov=45.0f0, + sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), + samples_per_pixel=4, + ambient=0.1f0 + ) + height, width = size(img) + + # Convert Hikari lights to WavefrontLight + wavefront_lights = [WavefrontLight(l) for l in lights] + + # Create render context + ctx = HikariRenderContext(wavefront_lights, material_scene.materials, ambient) + + num_pixels = width * height + num_rays = num_pixels * samples_per_pixel + num_lights = Int32(length(wavefront_lights)) + num_shadow_rays = num_rays * num_lights + + # Get triangle type from accelerator + accel = material_scene.accel + tri_type = eltype(accel) + + # Allocate work queues + primary_ray_queue = similar_soa(img, PrimaryRayWork, num_rays) + primary_hit_queue = similar_soa(img, PrimaryHitWork{tri_type}, num_rays) + shadow_ray_queue = similar_soa(img, ShadowRayWork, num_shadow_rays) + shadow_result_queue = similar_soa(img, ShadowResult, num_shadow_rays) + reflection_ray_soa = similar_soa(img, ReflectionRayWork, num_rays) + reflection_hit_soa = similar_soa(img, ReflectionHitWork, num_rays) + shading_queue = similar_soa(img, ShadedResult, num_rays) + sample_accumulator = similar(img, Vec3f, num_rays) + active_count = similar(img, Int32, 1) + + return HikariWavefrontRenderer( + Int32(width), Int32(height), + img, accel, ctx, + camera_pos, camera_lookat, camera_up, + fov, sky_color, Int32(samples_per_pixel), + primary_ray_queue, primary_hit_queue, + shadow_ray_queue, shadow_result_queue, + reflection_ray_soa, reflection_hit_soa, + shading_queue, sample_accumulator, active_count + ) +end + +""" + to_gpu(ArrayType, renderer::HikariWavefrontRenderer) + +Convert a HikariWavefrontRenderer to GPU arrays. +""" +function Raycore.to_gpu(Arr, renderer::HikariWavefrontRenderer) + img = Arr(renderer.framebuffer) + accel_gpu = Raycore.to_gpu(Arr, renderer.accel) + ctx_gpu = Raycore.to_gpu(Arr, renderer.ctx) + + return HikariWavefrontRenderer( + img, accel_gpu, ctx_gpu; + camera_pos=renderer.camera_pos, + camera_lookat=renderer.camera_lookat, + camera_up=renderer.camera_up, + fov=renderer.fov, + sky_color=renderer.sky_color, + samples_per_pixel=Int(renderer.samples_per_pixel), + ambient=renderer.ctx.ambient + ) +end + +# Inner constructor for to_gpu +function HikariWavefrontRenderer( + img, accel, ctx; + camera_pos, camera_lookat, camera_up, fov, sky_color, samples_per_pixel, ambient + ) + height, width = size(img) + + num_pixels = width * height + num_rays = num_pixels * samples_per_pixel + num_lights = Int32(length(ctx.lights)) + num_shadow_rays = num_rays * num_lights + + tri_type = eltype(accel) + + primary_ray_queue = similar_soa(img, PrimaryRayWork, num_rays) + primary_hit_queue = similar_soa(img, PrimaryHitWork{tri_type}, num_rays) + shadow_ray_queue = similar_soa(img, ShadowRayWork, num_shadow_rays) + shadow_result_queue = similar_soa(img, ShadowResult, num_shadow_rays) + reflection_ray_soa = similar_soa(img, ReflectionRayWork, num_rays) + reflection_hit_soa = similar_soa(img, ReflectionHitWork, num_rays) + shading_queue = similar_soa(img, ShadedResult, num_rays) + sample_accumulator = similar(img, Vec3f, num_rays) + active_count = similar(img, Int32, 1) + + return HikariWavefrontRenderer( + Int32(width), Int32(height), + img, accel, ctx, + camera_pos, camera_lookat, camera_up, + fov, sky_color, Int32(samples_per_pixel), + primary_ray_queue, primary_hit_queue, + shadow_ray_queue, shadow_result_queue, + reflection_ray_soa, reflection_hit_soa, + shading_queue, sample_accumulator, active_count + ) +end + +""" + render!(renderer::HikariWavefrontRenderer) + +Execute the wavefront path tracing pipeline. +""" +function render!(renderer::HikariWavefrontRenderer) + width = Int(renderer.width) + height = Int(renderer.height) + samples_per_pixel = Int(renderer.samples_per_pixel) + + aspect = Float32(width / height) + + backend = KA.get_backend(renderer.framebuffer) + + num_pixels = width * height + num_rays = num_pixels * samples_per_pixel + num_lights = Int(length(renderer.ctx.lights)) + num_shadow_rays = num_rays * num_lights + + # Camera basis vectors + camera_forward = Vec3f(normalize(renderer.camera_lookat - renderer.camera_pos)) + camera_right = Vec3f(normalize(cross(renderer.camera_up, camera_forward))) + camera_up_ortho = Vec3f(cross(camera_forward, camera_right)) + + half_height = tan(deg2rad(renderer.fov / 2)) + half_width = half_height * aspect + + # Stage 1: Generate primary rays + gen_kernel! = generate_primary_rays_lookat!(backend) + gen_kernel!( + renderer.width, renderer.height, + renderer.camera_pos, + camera_right, camera_up_ortho, camera_forward, + half_width, half_height, + renderer.primary_ray_queue, + Val(samples_per_pixel), + ndrange=(height, width) + ) + + # Stage 2: Intersect primary rays + intersect_kernel! = intersect_primary_rays_hikari!(backend) + intersect_kernel!( + renderer.accel, + renderer.primary_ray_queue, + renderer.primary_hit_queue, + ndrange=num_rays + ) + + # Stage 3: Generate shadow rays + shadow_gen_kernel! = generate_shadow_rays_hikari!(backend) + shadow_gen_kernel!( + renderer.primary_hit_queue, + renderer.ctx, + renderer.shadow_ray_queue, + Val(num_lights), + ndrange=num_rays + ) + + # Stage 4: Test shadow rays + shadow_test_kernel! = test_shadow_rays_hikari!(backend) + shadow_test_kernel!( + renderer.accel, + renderer.shadow_ray_queue, + renderer.shadow_result_queue, + ndrange=num_shadow_rays + ) + + # Stage 5: Shade primary hits + shade_kernel! = shade_primary_hits_hikari!(backend) + shade_kernel!( + renderer.primary_hit_queue, + renderer.ctx, + renderer.shadow_result_queue, + renderer.sky_color, + renderer.shading_queue, + Val(num_lights), + ndrange=num_rays + ) + + # Stage 6: Generate reflection rays + refl_gen_kernel! = generate_reflection_rays_hikari!(backend) + refl_gen_kernel!( + renderer.primary_hit_queue, + renderer.ctx, + renderer.reflection_ray_soa, + renderer.active_count, + ndrange=num_rays + ) + + # Stage 7: Intersect reflection rays + refl_intersect_kernel! = intersect_reflection_rays_hikari!(backend) + refl_intersect_kernel!( + renderer.accel, + renderer.reflection_ray_soa, + renderer.reflection_hit_soa, + ndrange=num_rays + ) + + # Stage 8: Shade reflections + refl_shade_kernel! = shade_reflections_and_blend_hikari!(backend) + refl_shade_kernel!( + renderer.primary_hit_queue, + renderer.reflection_hit_soa, + renderer.ctx, + renderer.sky_color, + renderer.shading_queue, + ndrange=num_rays + ) + + # Stage 9: Accumulate final image + accum_kernel! = accumulate_final!(backend) + accum_kernel!( + renderer.shading_queue, + renderer.framebuffer, + renderer.sample_accumulator, + ndrange=num_rays + ) + + final_kernel! = finalize_image!(backend) + final_kernel!( + renderer.sample_accumulator, + renderer.framebuffer, + Val(samples_per_pixel), + ndrange=(height, width) + ) + KA.synchronize(backend) + + return renderer.framebuffer +end + +# ============================================================================ +# Convenience function for creating example scene with Hikari materials +# ============================================================================ + +""" + hikari_example_scene() + +Create an example scene using Hikari materials that matches the original +wavefront renderer's example_scene. + +Returns (material_scene, lights) tuple. +""" +function hikari_example_scene(; glass_cat=false) + cat_mesh = Makie.loadasset("cat.obj") + angle = deg2rad(150f0) + rotation = Makie.Quaternionf(0, sin(angle/2), 0, cos(angle/2)) + rotated_coords = [rotation * Point3f(v) for v in coordinates(cat_mesh)] + + cat_bbox = Rect3f(rotated_coords) + floor_y = -1.5f0 + cat_offset = Vec3f(0, floor_y - cat_bbox.origin[2], 0) + + cat_mesh = GeometryBasics.normal_mesh( + [v + cat_offset for v in rotated_coords], + faces(cat_mesh) + ) + + floor = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(10, 0.01, 10))) + back_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, 8), Vec3f(10, 5, 0.01))) + left_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(0.01, 5, 10))) + + sphere1 = Tesselation(Sphere(Point3f(-2, -1.5 + 0.8, 2), 0.8f0), 64) + sphere2 = Tesselation(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0), 64) + + # Create Hikari materials matching the original scene + # Original: Material(base_color, metallic, roughness, ior, transmission) + cat_material = if glass_cat + # Glass cat: high IOR, transmission + Hikari.GlassMaterial( + Kr=RGBSpectrum(0.95f0, 1.0f0, 0.95f0), + Kt=RGBSpectrum(0.95f0, 1.0f0, 0.95f0), + u_roughness=0f0, + v_roughness=0f0, + index=1.5f0, + remap_roughness=false + ) + else + # Diffuse cat + Hikari.MatteMaterial(Kd=RGBSpectrum(0.8f0, 0.6f0, 0.4f0), σ=0f0) + end + + # Floor: diffuse green + floor_material = Hikari.MatteMaterial(Kd=RGBSpectrum(0.3f0, 0.5f0, 0.3f0), σ=0f0) + + # Back wall: metallic with roughness (original: metallic=0.8, roughness=0.05) + # Using MetalMaterial with reflectance for color tinting + back_wall_material = Hikari.MetalMaterial( + reflectance=(0.8f0, 0.6f0, 0.5f0), + roughness=0.05f0, + remap_roughness=false + ) + + # Left wall: diffuse + left_wall_material = Hikari.MatteMaterial(Kd=RGBSpectrum(0.7f0, 0.7f0, 0.8f0), σ=0f0) + + # Sphere 1: metallic silver with slight roughness (original: metallic=0.8, roughness=0.02) + sphere1_material = Hikari.MetalMaterial( + reflectance=(0.9f0, 0.9f0, 0.9f0), + roughness=0.02f0, + remap_roughness=false + ) + + # Sphere 2: partially metallic blue (using PlasticMaterial for mixed behavior) + # PlasticMaterial is appropriate here since it's only partially metallic + sphere2_material = Hikari.PlasticMaterial( + Kd=RGBSpectrum(0.3f0, 0.6f0, 0.9f0), + Ks=RGBSpectrum(0.5f0, 0.5f0, 0.5f0), + roughness=0.3f0, + remap_roughness=false + ) + + scene_pairs = [ + (cat_mesh, cat_material), + (floor, floor_material), + (back_wall, back_wall_material), + (left_wall, left_wall_material), + (normal_mesh(sphere1), sphere1_material), + (normal_mesh(sphere2), sphere2_material), + ] + + material_scene = Hikari.MaterialScene(scene_pairs) + + # Create Hikari lights matching original + lights = [ + Hikari.PointLight(Point3f(3, 4, -2), RGBSpectrum(50.0f0 * 1.0f0, 50.0f0 * 0.9f0, 50.0f0 * 0.8f0)), + Hikari.PointLight(Point3f(-3, 2, 0), RGBSpectrum(20.0f0 * 0.7f0, 20.0f0 * 0.8f0, 20.0f0 * 1.0f0)), + Hikari.PointLight(Point3f(0, 5, 5), RGBSpectrum(15.0f0, 15.0f0, 15.0f0)), + ] + + return material_scene, lights +end diff --git a/docs/src/test_hikari_wavefront.jl b/docs/src/test_hikari_wavefront.jl new file mode 100644 index 0000000..c8f6e5b --- /dev/null +++ b/docs/src/test_hikari_wavefront.jl @@ -0,0 +1,23 @@ +using Revise +using Raycore +using Raycore: to_gpu +using KernelAbstractions +using KernelAbstractions: @kernel, @index, @Const +using GeometryBasics, Colors, LinearAlgebra +import Makie +using Makie: RGBf +import KernelAbstractions as KA +using ImageShow + +# Load the Hikari wavefront renderer +# Create the example scene with Hikari materials +material_scene, lights = hikari_example_scene() + +# Create and render +begin + img = fill(RGBf(0, 0, 0), 400, 720) + renderer = HikariWavefrontRenderer(img, material_scene, lights) + render!(renderer) + nothing +end +img diff --git a/ext/RaycoreMakieExt.jl b/ext/RaycoreMakieExt.jl index 7375582..cde14a3 100644 --- a/ext/RaycoreMakieExt.jl +++ b/ext/RaycoreMakieExt.jl @@ -196,11 +196,22 @@ function Makie.convert_arguments(::Type{Makie.Mesh}, bvh::Raycore.BVH) faces = GeometryBasics.TriangleFace{Int}[] colors = Float32[] normals = Vec3f[] + # Map unique metadata values to color indices + metadata_to_color = Dict{Any, Float32}() + next_color_idx = Ref(0f0) + + function get_color_for_metadata(meta) + get!(metadata_to_color, meta) do + next_color_idx[] += 1f0 + next_color_idx[] + end + end for (i, prim) in enumerate(bvh.primitives) start_idx = length(vertices) + color_val = get_color_for_metadata(prim.metadata) for (v, n) in zip(prim.vertices, prim.normals) push!(vertices, v) - push!(colors, Float32(prim.metadata)) + push!(colors, color_val) push!(normals, Vec3f(n)) end push!(faces, GeometryBasics.TriangleFace(start_idx + 1, start_idx + 2, start_idx + 3)) @@ -208,4 +219,42 @@ function Makie.convert_arguments(::Type{Makie.Mesh}, bvh::Raycore.BVH) return (GeometryBasics.Mesh(vertices, faces; normal=normals, color=colors), ) end +# TLAS support (two-level acceleration structure) +Makie.plottype(::Raycore.TLAS) = Makie.Mesh +Makie.plottype(::Raycore.TLAS4) = Makie.Mesh + +function Makie.convert_arguments(::Type{Makie.Mesh}, tlas::Union{Raycore.TLAS, Raycore.TLAS4}) + # Convert TLAS to a Mesh by iterating through all BLAS primitives + vertices = Point3f[] + faces = GeometryBasics.TriangleFace{Int}[] + colors = Float32[] + normals = Vec3f[] + + # Map unique metadata values to color indices + metadata_to_color = Dict{Any, Float32}() + next_color_idx = Ref(0f0) + + function get_color_for_metadata(meta) + get!(metadata_to_color, meta) do + next_color_idx[] += 1f0 + next_color_idx[] + end + end + + for blas in tlas.blas_array + for prim in blas.primitives + start_idx = length(vertices) + color_val = get_color_for_metadata(prim.metadata) + for (v, n) in zip(prim.vertices, prim.normals) + push!(vertices, v) + push!(colors, color_val) + push!(normals, Vec3f(n)) + end + push!(faces, GeometryBasics.TriangleFace(start_idx + 1, start_idx + 2, start_idx + 3)) + end + end + @show length(vertices) length(faces) length(normals) length(colors) + return (GeometryBasics.Mesh(vertices, faces; normal=normals, color=colors), ) +end + end # module diff --git a/src/instanced-bvh-kernels.jl b/src/instanced-bvh-kernels.jl index 75c3b1e..34d79a7 100644 --- a/src/instanced-bvh-kernels.jl +++ b/src/instanced-bvh-kernels.jl @@ -394,6 +394,39 @@ KA.@kernel function update_instance_transforms_kernel!( end end +""" +GPU kernel: Update instance transforms with offset. + +Same as update_instance_transforms_kernel! but updates instances starting at +`first_idx` instead of 1. This is needed for TLAS with multiple meshscatter +plots where each plot's instances are at different offsets. +""" +KA.@kernel function update_instance_transforms_offset_kernel!( + instances, + @Const(transforms), + n_particles::Int32, + first_idx::Int32 +) + i = @index(Global, Linear) + if i <= n_particles + @inbounds begin + inst_idx = first_idx + i - Int32(1) + old_inst = instances[inst_idx] + transform = transforms[i] + # Compute inverse transform + inv_transform = Mat4f(inv(transform)) + # Update instance (preserve blas_index, instance_id, flags) + instances[inst_idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + end + end +end + """ GPU kernel: Update TLAS leaf node AABBs from instance transforms. @@ -487,5 +520,5 @@ end export calculate_morton_code_for_prim, build_topology_for_node export set_parents_for_node, create_leaf_for_prim, refit_node_aabb export calculate_tlas_morton_code, create_tlas_leaf_for_instance -export update_instance_transforms_kernel!, update_tlas_leaf_aabbs_kernel! +export update_instance_transforms_kernel!, update_instance_transforms_offset_kernel!, update_tlas_leaf_aabbs_kernel! export update_particle_materials_kernel! diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 47d800d..0a60024 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -1090,6 +1090,26 @@ function update_instance_transforms!(tlas::TLAS, transforms::AbstractVector{Mat4 return nothing end +""" + update_instance_transforms!(tlas::TLAS, transforms::AbstractVector{Mat4f}, n_to_update::Integer, first_idx::Integer) + +Batch update instance transforms starting at a specific index. + +This variant updates instances starting at `first_idx` instead of 1, which is +needed for scenes with multiple meshscatter plots where each plot's instances +are at different offsets in the TLAS. + +The backend is inferred from the `transforms` array type. +Call `refit_tlas!(tlas)` after this to update the BVH AABBs. +""" +function update_instance_transforms!(tlas::TLAS, transforms::AbstractVector{Mat4f}, n_to_update::Integer, first_idx::Integer) + backend = KA.get_backend(transforms) + kernel! = update_instance_transforms_offset_kernel!(backend) + kernel!(tlas.instances, transforms, Int32(n_to_update), Int32(first_idx), ndrange=n_to_update) + KA.synchronize(backend) + return nothing +end + # ============================================================================== # BVH-Compatible API From 3d579cd88cba7e17cfb5063695b6dcae1ec44bcd Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 7 Jan 2026 12:57:27 +0100 Subject: [PATCH 07/63] unrolling and gpu tools --- docs/gpu-optimization-guidelines.md | 215 ++++++++++++++++++++++++++ src/Raycore.jl | 4 + src/unrolled.jl | 230 ++++++++++++++++++++++++++++ 3 files changed, 449 insertions(+) create mode 100644 docs/gpu-optimization-guidelines.md create mode 100644 src/unrolled.jl diff --git a/docs/gpu-optimization-guidelines.md b/docs/gpu-optimization-guidelines.md new file mode 100644 index 0000000..2a09e29 --- /dev/null +++ b/docs/gpu-optimization-guidelines.md @@ -0,0 +1,215 @@ +# GPU Optimization Guidelines for Julia + +This document covers common pitfalls that cause GPU kernel compilation failures or poor performance in Julia, and provides patterns to avoid them. + +## The Core Problem: Dynamic Dispatch on GPU + +GPUs require fully static, type-stable code. Any operation that requires runtime type dispatch will fail to compile or cause `ijl_get_nth_field_checked` errors. Common causes: + +1. **Closure boxing** - captured variables become heap-allocated `Core.Box` +2. **Heterogeneous tuple iteration** - `for x in tuple` with mixed types +3. **Type inference limits** - tuples > 32 elements, deeply nested types +4. **Abstract field access** - accessing fields through abstract types + +## Compiler Limits to Know + +| Constant | Default | Effect when exceeded | +|----------|---------|---------------------| +| `MAX_TUPLETYPE_LEN` | ~32 | Tuple types lose precise inference | +| `MAX_TYPE_DEPTH` | varies | Nested types get widened to supertypes | +| `MAX_UNION_SPLITTING` | ~4 | Union types use dynamic dispatch | +| Inlining threshold | ~100 cycles | Functions won't inline | + +## Pattern 1: Avoid `for` Loops Over Heterogeneous Tuples + +### Bad - Causes boxing and dynamic dispatch +```julia +function sum_lights(lights::Tuple, ray) + result = RGBSpectrum(0f0) + for light in lights # Creates dynamic iteration! + result += le(light, ray) + end + return result +end +``` + +### Good - Recursive tuple traversal (compile-time unrolling) +```julia +@inline sum_lights(::Tuple{}, ray) = RGBSpectrum(0f0) +@inline function sum_lights(lights::Tuple, ray) + return le(first(lights), ray) + sum_lights(Base.tail(lights), ray) +end +``` + +### Better - Use `for_unrolled` with explicit arguments +```julia +# Avoids closure capture entirely by passing all data as arguments +result = for_unrolled(sum_light_contribution, lights, ray, initial_value) +``` + +## Pattern 2: Avoid Closure Capture + +### Bad - Variable capture causes boxing +```julia +function process(data, threshold) + # `threshold` gets boxed because it's captured + map(x -> x > threshold ? x : zero(x), data) +end +``` + +### Good - Use `let` block to create immutable binding +```julia +function process(data, threshold) + f = let t = threshold + x -> x > t ? x : zero(x) + end + map(f, data) +end +``` + +### Better - Avoid closures entirely, pass as argument +```julia +function process(data, threshold) + map((x, t) -> x > t ? x : zero(x), data, Ref(threshold)) +end + +# Or use a functor +struct ThresholdFilter{T} + threshold::T +end +(f::ThresholdFilter)(x) = x > f.threshold ? x : zero(x) +``` + +## Pattern 3: Use `for_unrolled` for GPU-Safe Iteration + +The `for_unrolled` function provides compile-time loop unrolling without closure capture: + +```julia +# Instead of: +for i in 1:N + process(data[i], extra_arg) +end + +# Use: +for_unrolled(process_item, Val(N), data, extra_arg) +# Where process_item(i, data, extra_arg) is your function +``` + +### With Tuples (heterogeneous types) +```julia +# Bad: for light in lights +# Good: +result = for_unrolled( + accumulate_light, # function(elem, acc, ray) -> new_acc + lights, # tuple to iterate + RGBSpectrum(0f0), # initial accumulator + ray # extra arguments... +) +``` + +## Pattern 4: Ensure Type Stability + +### Check with `@code_warntype` +```julia +@code_warntype my_kernel_function(args...) +# Look for: +# - `Any` types (red in color terminals) +# - `Core.Box` (captured variables) +# - `Union{...}` with many types +``` + +### Use JET.jl for deeper analysis +```julia +using JET +@report_opt my_function(args...) +``` + +## Pattern 5: Use Concrete Types in Structs + +### Bad - Abstract field types +```julia +struct Scene + lights::Vector{Light} # Abstract element type +end +``` + +### Good - Parameterized concrete types +```julia +struct Scene{L<:Tuple} + lights::L # Concrete tuple type, e.g., Tuple{SunLight, PointLight} +end +``` + +## Pattern 6: Avoid Runtime Allocations + +### Bad - Creates intermediate arrays +```julia +function compute(points) + distances = [norm(p) for p in points] # Allocates! + return sum(distances) +end +``` + +### Good - Fuse operations +```julia +function compute(points) + total = 0f0 + for p in points + total += norm(p) + end + return total +end +``` + +### For small fixed-size data, use tuples/StaticArrays +```julia +# Heap allocated (bad for GPU registers) +coords = [1.0f0, 2.0f0, 3.0f0] + +# Stack allocated (good) +coords = (1.0f0, 2.0f0, 3.0f0) +coords = SVector{3, Float32}(1, 2, 3) +``` + +## Pattern 7: Use 32-bit Integers + +```julia +# Bad - promotes to Int64 +idx = blockIdx().x - 1 + +# Good - stays Int32 +idx = blockIdx().x - Int32(1) + +# Helper function +gpu_int(x) = x % Int32 +``` + +## Quick Reference: GPU-Safe Alternatives + +| Avoid | Use Instead | +|-------|-------------| +| `for x in heterogeneous_tuple` | Recursive functions or `for_unrolled` | +| `x -> f(x, captured_var)` | `let` blocks or pass args explicitly | +| `Vector{AbstractType}` | `Tuple` or `Vector{ConcreteType}` | +| Dynamic `if typeof(x) == ...` | Multiple dispatch | +| `Int64` literals | `Int32` / `gpu_int()` | +| `Array` in kernel | `Tuple` or `SVector` | + +## Debugging GPU Compilation Errors + +When you see errors like: +- `ijl_get_nth_field_checked` - Dynamic field access (boxing) +- `jl_apply_generic` - Dynamic dispatch +- `jl_gc_*` - Heap allocation attempted + +Steps to debug: +1. Identify the function mentioned in the stack trace +2. Run `@code_warntype` on that function +3. Look for `Core.Box`, `Any`, or large `Union` types +4. Apply the patterns above to make the code type-stable + +## See Also + +- [Julia Performance Tips](https://docs.julialang.org/en/v1/manual/performance-tips/) +- [CUDA.jl Performance Tips](https://cuda.juliagpu.org/stable/tutorials/performance/) +- [Julia Issue #15276](https://github.com/JuliaLang/julia/issues/15276) - Closure boxing diff --git a/src/Raycore.jl b/src/Raycore.jl index 5f8dd8f..3c8a2cf 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -47,6 +47,7 @@ include("kernel-abstractions.jl") include("kernels.jl") include("ray_intersection_session.jl") include("soa.jl") +include("unrolled.jl") # Core types export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f @@ -74,4 +75,7 @@ export RayIntersectionSession, hit_points, hit_distances, hit_count, miss_count # SoA utilities export @get, @set, similar_soa +# GPU-safe unrolled iteration +export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled + end diff --git a/src/unrolled.jl b/src/unrolled.jl new file mode 100644 index 0000000..ad80715 --- /dev/null +++ b/src/unrolled.jl @@ -0,0 +1,230 @@ +# ============================================================================ +# GPU-Safe Unrolled Iteration Utilities +# ============================================================================ +# Provides compile-time unrolled iteration over tuples without closure capture. +# Critical for GPU kernels where dynamic dispatch and boxing are not allowed. + +# ============================================================================ +# Compiler Limits +# ============================================================================ + +const MAX_TUPLE_LENGTH = 32 +const MAX_TYPE_DEPTH = 10 + +# ============================================================================ +# FastClosure - Compile-time validation wrapper +# ============================================================================ + +""" + FastClosure{F, Args<:Tuple} + +A callable wrapper that validates a function and arguments are GPU-safe: +1. Function `f` has no captured variables (no `Core.Box` fields) +2. Arguments don't exceed compiler limits (tuple length, type depth) + +When called, appends stored args to the call: `fc(x) == fc.f(x, fc.args...)` + +This is used internally by `for_unrolled`, `map_unrolled`, and `reduce_unrolled`. +""" +struct FastClosure{F, Args<:Tuple} + f::F + args::Args + + function FastClosure(f::F, args::Args) where {F, Args<:Tuple} + check_no_capture(F) + check_args_limits(Args) + new{F, Args}(f, args) + end +end + +# Make FastClosure callable - appends stored args to call +@inline (fc::FastClosure)(outer_args...) = fc.f(outer_args..., fc.args...) + +""" + check_no_capture(::Type{F}) where F + +Compile-time check that function type `F` has no captured variables. +Captured variables appear as `Core.Box` fields in the closure struct. +""" +@generated function check_no_capture(::Type{F}) where F + # Regular functions have no fields + if fieldcount(F) == 0 + return :nothing + end + + # Check each field for Core.Box (indicates captured variable) + for i in 1:fieldcount(F) + ft = fieldtype(F, i) + if ft === Core.Box + fname = fieldname(F, i) + return :(error("FastClosure: function captures variable '$($(QuoteNode(fname)))' which would be boxed. Pass it as an argument instead.")) + end + end + + return :nothing +end + +""" + check_args_limits(::Type{Args}) where Args + +Compile-time check that argument types don't exceed compiler limits. +""" +@generated function check_args_limits(::Type{Args}) where Args <: Tuple + # Check total tuple length + n = length(Args.parameters) + if n > MAX_TUPLE_LENGTH + return :(error("FastClosure: too many arguments ($($n) > $MAX_TUPLE_LENGTH). This may cause inference failures.")) + end + + # Check for overly long tuple arguments + for (i, T) in enumerate(Args.parameters) + if T <: Tuple && length(T.parameters) > MAX_TUPLE_LENGTH + return :(error("FastClosure: argument $($i) is a tuple with $($(length(T.parameters))) elements (> $MAX_TUPLE_LENGTH). This may cause inference failures.")) + end + end + + return :nothing +end + +# ============================================================================ +# for_unrolled - Side effects, no return value +# ============================================================================ + +""" + for_unrolled(f, tuple, args...) + +Iterate over `tuple` at compile-time, calling `f(element, args...)` for each element. +No return value (use for side effects). + +The function `f` must not capture any variables - pass all data as `args` instead. + +# Example +```julia +lights = (sun_light, point_light, spot_light) +total = Ref(RGBSpectrum(0f0)) + +# Bad - captures `total` and `ray`: +for light in lights + total[] += le(light, ray) # Boxing on GPU! +end + +# Good - pass as arguments: +for_unrolled(add_light!, lights, total, ray) +# Where: add_light!(light, total, ray) = total[] += le(light, ray) +``` +""" +@inline function for_unrolled(f::F, tuple::Tuple, args...) where F + fc = FastClosure(f, args) + _for_unrolled(fc, tuple) + return nothing +end + +@inline _for_unrolled(_fc, ::Tuple{}) = nothing +@inline function _for_unrolled(fc, tuple::Tuple) + fc(first(tuple)) + _for_unrolled(fc, Base.tail(tuple)) + return nothing +end + +# Val{N} version for index-based iteration +""" + for_unrolled(f, ::Val{N}, args...) + +Iterate from 1 to N at compile-time, calling `f(i, args...)` for each index. +""" +@inline function for_unrolled(f::F, ::Val{N}, args...) where {F, N} + fc = FastClosure(f, args) + _for_unrolled_n(fc, Val(N)) + return nothing +end + +@inline _for_unrolled_n(_fc, ::Val{0}) = nothing +@inline function _for_unrolled_n(fc, ::Val{N}) where N + _for_unrolled_n(fc, Val(N-1)) + fc(N % Int32) + return nothing +end + +# ============================================================================ +# map_unrolled - Transform tuple elements +# ============================================================================ + +""" + map_unrolled(f, tuple, args...) -> Tuple + +Transform each element of `tuple` at compile-time, returning a new tuple. +Calls `f(element, args...)` for each element. + +# Example +```julia +lights = (sun_light, point_light) +contributions = map_unrolled(compute_light, lights, hit_point, normal) +# Returns: (compute_light(sun_light, hit_point, normal), +# compute_light(point_light, hit_point, normal)) +``` +""" +@inline function map_unrolled(f::F, tuple::Tuple, args...) where F + fc = FastClosure(f, args) + return _map_unrolled(fc, tuple) +end + +@inline _map_unrolled(_fc, ::Tuple{}) = () +@inline function _map_unrolled(fc, tuple::Tuple) + return (fc(first(tuple)), _map_unrolled(fc, Base.tail(tuple))...) +end + +# ============================================================================ +# reduce_unrolled - Accumulate over tuple elements +# ============================================================================ + +""" + reduce_unrolled(f, tuple, init, args...) -> result + +Reduce `tuple` at compile-time using `f(accumulator, element, args...)`. + +# Example +```julia +lights = (sun_light, point_light, env_light) + +# Compute total light contribution +total = reduce_unrolled(add_light_contribution, lights, RGBSpectrum(0f0), ray, hit_point) +# Where: add_light_contribution(acc, light, ray, hp) = acc + compute_li(light, ray, hp) +``` +""" +@inline function reduce_unrolled(f::F, tuple::Tuple, init, args...) where F + fc = FastClosure(f, args) + return _reduce_unrolled(fc, tuple, init) +end + +@inline _reduce_unrolled(_fc, ::Tuple{}, acc) = acc +@inline function _reduce_unrolled(fc, tuple::Tuple, acc) + new_acc = fc(acc, first(tuple)) + return _reduce_unrolled(fc, Base.tail(tuple), new_acc) +end + +# ============================================================================ +# sum_unrolled - Common reduction pattern +# ============================================================================ + +""" + sum_unrolled(f, tuple, args...) -> result + +Sum `f(element, args...)` over all elements of `tuple`. + +# Example +```julia +lights = (sun_light, point_light) +total = sum_unrolled(le, lights, ray) +# Computes: le(sun_light, ray) + le(point_light, ray) +``` +""" +@inline function sum_unrolled(f::F, tuple::Tuple, args...) where F + fc = FastClosure(f, args) + return _sum_unrolled(fc, tuple) +end + +@inline _sum_unrolled(_fc, ::Tuple{}) = nothing # Empty tuple - caller should handle +@inline _sum_unrolled(fc, tuple::Tuple{T}) where T = fc(first(tuple)) +@inline function _sum_unrolled(fc, tuple::Tuple) + return fc(first(tuple)) + _sum_unrolled(fc, Base.tail(tuple)) +end From 058e724b1a29cab0a33561ea062444ae33dc809f Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 7 Jan 2026 14:25:51 +0100 Subject: [PATCH 08/63] refactor our unroll strategy --- docs/src/raytracing_tutorial_content.md | 2 +- src/instanced-bvh.jl | 2 +- src/unrolled.jl | 35 +- test/test_unrolled.jl | 404 ++++++++++++++++++++++++ 4 files changed, 428 insertions(+), 15 deletions(-) create mode 100644 test/test_unrolled.jl diff --git a/docs/src/raytracing_tutorial_content.md b/docs/src/raytracing_tutorial_content.md index 62b3895..759ad99 100644 --- a/docs/src/raytracing_tutorial_content.md +++ b/docs/src/raytracing_tutorial_content.md @@ -49,7 +49,7 @@ sphere2 = Tesselation(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0), 64) # Build our BVH acceleration structure scene_geometry = [cat_mesh, floor, back_wall, left_wall, sphere1, sphere2] -bvh = Raycore.BVH(scene_geometry) +bvh = Raycore.TLAS(scene_geometry)[1] md"**BVH built with $(length(bvh.primitives)) triangles**" ``` ## Part 2: Helper Functions - Building Blocks diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 0a60024..4da8156 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -749,7 +749,7 @@ Algorithm: 4. Transform back to world space 5. Return closest hit across all instances """ -@inline function closest_hit(tlas::TLAS{NA, IA, BA}, ray::R) where {NA, IA, BA, R <: AbstractRay} +@inline function closest_hit(tlas::TLAS, ray::R) where {R <: AbstractRay} # Initialize traversal state - matches HLSL TraceRays ray = check_direction(ray) ray_o::Point3f = ray.o diff --git a/src/unrolled.jl b/src/unrolled.jl index ad80715..31a160d 100644 --- a/src/unrolled.jl +++ b/src/unrolled.jl @@ -44,24 +44,29 @@ end check_no_capture(::Type{F}) where F Compile-time check that function type `F` has no captured variables. -Captured variables appear as `Core.Box` fields in the closure struct. +Any closure field indicates a captured variable which should be passed as an argument instead. +`Core.Box` fields are especially problematic (heap-allocated, type-unstable). """ @generated function check_no_capture(::Type{F}) where F - # Regular functions have no fields + # Regular functions have no fields - OK if fieldcount(F) == 0 return :nothing end - # Check each field for Core.Box (indicates captured variable) - for i in 1:fieldcount(F) - ft = fieldtype(F, i) - if ft === Core.Box - fname = fieldname(F, i) - return :(error("FastClosure: function captures variable '$($(QuoteNode(fname)))' which would be boxed. Pass it as an argument instead.")) - end + # Any field on a closure = captured variable + # Collect all captured variable names + captured_names = [fieldname(F, i) for i in 1:fieldcount(F)] + boxed_names = [fieldname(F, i) for i in 1:fieldcount(F) if fieldtype(F, i) === Core.Box] + + if !isempty(boxed_names) + # Boxed captures are the worst - definitely error + names_str = join(boxed_names, ", ") + return :(error("FastClosure: function captures boxed variable(s): " * $names_str * ". Pass as argument(s) instead.")) + else + # Non-boxed captures: still problematic for GPU, error with helpful message + names_str = join(captured_names, ", ") + return :(error("FastClosure: function captures variable(s): " * $names_str * ". Pass as argument(s) instead to ensure GPU compatibility.")) end - - return :nothing end """ @@ -169,8 +174,12 @@ contributions = map_unrolled(compute_light, lights, hit_point, normal) end @inline _map_unrolled(_fc, ::Tuple{}) = () -@inline function _map_unrolled(fc, tuple::Tuple) - return (fc(first(tuple)), _map_unrolled(fc, Base.tail(tuple))...) + +# Use @generated to avoid tuple splatting which causes allocations +@generated function _map_unrolled(fc, tup::T) where T <: Tuple + N = length(T.parameters) + exprs = [:(fc(tup[$i])) for i in 1:N] + return :(($(exprs...),)) end # ============================================================================ diff --git a/test/test_unrolled.jl b/test/test_unrolled.jl new file mode 100644 index 0000000..02bae42 --- /dev/null +++ b/test/test_unrolled.jl @@ -0,0 +1,404 @@ +using Test +using Raycore +using JET +using BenchmarkTools + +# ============================================================================ +# Test FastClosure capture detection +# ============================================================================ + +@testset "FastClosure capture detection" begin + # Regular function - should work + @test begin + add(x, y) = x + y + fc = FastClosure(add, (10,)) + fc(5) == 15 + end + + # Anonymous function without capture - should work + @test begin + fc = FastClosure((x, y) -> x * y, (3,)) + fc(4) == 12 + end + + # Closure WITH capture (in local scope) - should error + # Note: captures only become fields when created in local function scope + function make_capturing_closure() + captured = 42 + return x -> x + captured + end + @test_throws ErrorException FastClosure(make_capturing_closure(), ()) + + # Closure with boxed capture (reassigned after closure creation) - should error + function make_boxed_closure() + captured = 42 + closure = x -> x + captured + captured = 100 # reassignment causes Core.Box + return closure + end + @test_throws ErrorException FastClosure(make_boxed_closure(), ()) +end + +# ============================================================================ +# Test for_unrolled +# ============================================================================ + +@testset "for_unrolled with tuple" begin + # Basic iteration + @test begin + results = Int[] + push_val!(x, arr) = push!(arr, x) + for_unrolled(push_val!, (1, 2, 3), results) + results == [1, 2, 3] + end + + # Heterogeneous tuple + @test begin + results = Any[] + push_val!(x, arr) = push!(arr, x) + for_unrolled(push_val!, (1, "hello", 3.14), results) + results == [1, "hello", 3.14] + end + + # Empty tuple + @test begin + count = Ref(0) + inc!(x, c) = c[] += 1 + for_unrolled(inc!, (), count) + count[] == 0 + end + + # Multiple extra args + @test begin + results = Float64[] + scaled_push!(x, arr, scale, offset) = push!(arr, x * scale + offset) + for_unrolled(scaled_push!, (1, 2, 3), results, 2.0, 0.5) + results == [2.5, 4.5, 6.5] + end +end + +@testset "for_unrolled with Val{N}" begin + @test begin + results = Int32[] + push_val!(i, arr) = push!(arr, i) + for_unrolled(push_val!, Val(5), results) + results == Int32[1, 2, 3, 4, 5] + end + + @test begin + results = Int32[] + push_val!(i, arr) = push!(arr, i) + for_unrolled(push_val!, Val(0), results) + isempty(results) + end +end + +# ============================================================================ +# Test map_unrolled +# ============================================================================ + +@testset "map_unrolled" begin + # Basic mapping + @test begin + double(x) = 2x + map_unrolled(double, (1, 2, 3)) == (2, 4, 6) + end + + # With extra args + @test begin + scale(x, factor) = x * factor + map_unrolled(scale, (1, 2, 3), 10) == (10, 20, 30) + end + + # Heterogeneous tuple - returns heterogeneous result + @test begin + wrap(x) = [x] + result = map_unrolled(wrap, (1, "a", 3.0)) + result == ([1], ["a"], [3.0]) + end + + # Empty tuple + @test map_unrolled(identity, ()) == () + + # Type-changing map + @test begin + to_string(x) = string(x) + map_unrolled(to_string, (1, 2, 3)) == ("1", "2", "3") + end +end + +# ============================================================================ +# Test reduce_unrolled +# ============================================================================ + +@testset "reduce_unrolled" begin + # Sum reduction + @test begin + add_to_acc(acc, x) = acc + x + reduce_unrolled(add_to_acc, (1, 2, 3, 4), 0) == 10 + end + + # With extra args + @test begin + scaled_add(acc, x, scale) = acc + x * scale + reduce_unrolled(scaled_add, (1, 2, 3), 0, 2) == 12 # 2 + 4 + 6 + end + + # Product reduction + @test begin + mul_to_acc(acc, x) = acc * x + reduce_unrolled(mul_to_acc, (1, 2, 3, 4), 1) == 24 + end + + # Empty tuple returns init + @test begin + add_to_acc(acc, x) = acc + x + reduce_unrolled(add_to_acc, (), 42) == 42 + end + + # Collecting into array + @test begin + collect_acc(acc, x) = push!(copy(acc), x) + reduce_unrolled(collect_acc, (1, 2, 3), Int[]) == [1, 2, 3] + end +end + +# ============================================================================ +# Test sum_unrolled +# ============================================================================ + +@testset "sum_unrolled" begin + # Direct sum + @test begin + identity_val(x) = x + sum_unrolled(identity_val, (1, 2, 3, 4)) == 10 + end + + # With transformation + @test begin + square(x) = x^2 + sum_unrolled(square, (1, 2, 3)) == 14 # 1 + 4 + 9 + end + + # With extra args + @test begin + scaled(x, factor) = x * factor + sum_unrolled(scaled, (1, 2, 3), 2) == 12 # 2 + 4 + 6 + end + + # Single element + @test begin + identity_val(x) = x + sum_unrolled(identity_val, (42,)) == 42 + end + + # Empty tuple returns nothing + @test begin + identity_val(x) = x + sum_unrolled(identity_val, ()) === nothing + end + + # Float accumulation + @test begin + identity_val(x) = x + sum_unrolled(identity_val, (1.0, 2.0, 3.0)) ≈ 6.0 + end +end + +# ============================================================================ +# Test compiler limits checking +# ============================================================================ + +@testset "Compiler limits" begin + # Too many args should error + @test_throws ErrorException begin + f(x) = x + big_args = ntuple(i -> i, 40) # 40 > MAX_TUPLE_LENGTH + FastClosure(f, big_args) + end + + # Tuple arg that's too long should error + @test_throws ErrorException begin + f(x, _big_tuple) = x + big_tuple = ntuple(i -> i, 40) + FastClosure(f, (big_tuple,)) + end +end + +# ============================================================================ +# Type stability and allocation tests with JET +# ============================================================================ + +""" + @test_opt_alloc expr + +Combined macro that tests both type stability (via @test_opt) and zero allocations. +Uses BenchmarkTools for reliable allocation measurement. +""" +macro test_opt_alloc(expr) + return esc(quote + JET.@test_opt $expr + b = @benchmarkable $expr + tune!(b) + result = run(b) + @test result.allocs == 0 + end) +end + +# Complex nested types for testing +struct Light{T} + intensity::T + position::Point3f +end + +struct Material + albedo::Vec3f + roughness::Float32 +end + +# Test functions that will be used with unrolled iteration +add_intensity(light::Light, scale::Float32) = light.intensity * scale +compute_contribution(acc::Float32, light::Light, factor::Float32) = acc + light.intensity * factor +transform_light(light::Light, offset::Vec3f) = Light(light.intensity, light.position + offset) + +@testset "Type stability: for_unrolled" begin + # Simple tuple + results = Float32[] + push_f32!(x::Float32, arr) = push!(arr, x) + @test_opt for_unrolled(push_f32!, (1.0f0, 2.0f0, 3.0f0), results) + + # Heterogeneous tuple of lights + lights = ( + Light(1.0f0, Point3f(0, 0, 1)), + Light(2.0f0, Point3f(1, 0, 0)), + Light(0.5f0, Point3f(0, 1, 0)), + ) + results2 = Float32[] + push_intensity!(light::Light, arr) = push!(arr, light.intensity) + @test_opt for_unrolled(push_intensity!, lights, results2) +end + +@testset "Type stability: map_unrolled" begin + # Simple transformation + double(x::Float32) = 2.0f0 * x + @test_opt_alloc map_unrolled(double, (1.0f0, 2.0f0, 3.0f0)) + + # With extra args + scale_val(x::Float32, factor::Float32) = x * factor + @test_opt_alloc map_unrolled(scale_val, (1.0f0, 2.0f0, 3.0f0), 10.0f0) + + # Complex types - lights + lights = ( + Light(1.0f0, Point3f(0, 0, 1)), + Light(2.0f0, Point3f(1, 0, 0)), + ) + @test_opt_alloc map_unrolled(add_intensity, lights, 2.0f0) +end + +@testset "Type stability: reduce_unrolled" begin + # Simple sum + add_f32(acc::Float32, x::Float32) = acc + x + @test_opt_alloc reduce_unrolled(add_f32, (1.0f0, 2.0f0, 3.0f0), 0.0f0) + + # With extra args + scaled_add_f32(acc::Float32, x::Float32, scale::Float32) = acc + x * scale + @test_opt_alloc reduce_unrolled(scaled_add_f32, (1.0f0, 2.0f0, 3.0f0), 0.0f0, 2.0f0) + + # Complex types - accumulate light contributions + lights = ( + Light(1.0f0, Point3f(0, 0, 1)), + Light(2.0f0, Point3f(1, 0, 0)), + Light(0.5f0, Point3f(0, 1, 0)), + ) + @test_opt_alloc reduce_unrolled(compute_contribution, lights, 0.0f0, 1.5f0) +end + +@testset "Type stability: sum_unrolled" begin + # Simple identity sum + identity_f32(x::Float32) = x + @test_opt_alloc sum_unrolled(identity_f32, (1.0f0, 2.0f0, 3.0f0)) + + # With transformation + square_f32(x::Float32) = x * x + @test_opt_alloc sum_unrolled(square_f32, (1.0f0, 2.0f0, 3.0f0)) + + # With extra args + scaled_f32(x::Float32, factor::Float32) = x * factor + @test_opt_alloc sum_unrolled(scaled_f32, (1.0f0, 2.0f0, 3.0f0), 2.0f0) + + # Complex types - sum light intensities + lights = ( + Light(1.0f0, Point3f(0, 0, 1)), + Light(2.0f0, Point3f(1, 0, 0)), + ) + get_intensity(light::Light) = light.intensity + @test_opt_alloc sum_unrolled(get_intensity, lights) +end + +@testset "Type stability: deeply nested complex types" begin + # Tuple containing vectors and nested structs + struct SceneObject + transform::Mat4f + material::Material + bounds::Rect3f + end + + obj1 = SceneObject( + Mat4f(I), + Material(Vec3f(1, 0, 0), 0.5f0), + Rect3f(Point3f(0), Vec3f(1)) + ) + obj2 = SceneObject( + Mat4f(I), + Material(Vec3f(0, 1, 0), 0.3f0), + Rect3f(Point3f(1), Vec3f(2)) + ) + obj3 = SceneObject( + Mat4f(I), + Material(Vec3f(0, 0, 1), 0.7f0), + Rect3f(Point3f(-1), Vec3f(1)) + ) + + objects = (obj1, obj2, obj3) + + # Extract roughness values + get_roughness(obj::SceneObject) = obj.material.roughness + @test_opt_alloc map_unrolled(get_roughness, objects) + + # Sum roughness + @test_opt_alloc sum_unrolled(get_roughness, objects) + + # Reduce with complex accumulator + struct AccumBounds + combined::Rect3f + count::Int32 + end + + merge_bounds(acc::AccumBounds, obj::SceneObject) = AccumBounds( + Rect3f( + min.(acc.combined.origin, obj.bounds.origin), + max.(acc.combined.widths, obj.bounds.widths) + ), + acc.count + Int32(1) + ) + + init_acc = AccumBounds(Rect3f(Point3f(Inf32), Vec3f(0)), Int32(0)) + @test_opt reduce_unrolled(merge_bounds, objects, init_acc) +end + +@testset "Type stability: tuple with array references" begin + # Tuples containing references to arrays (common in GPU code) + arr1 = [1.0f0, 2.0f0, 3.0f0] + arr2 = [4.0f0, 5.0f0, 6.0f0] + arr3 = [7.0f0, 8.0f0, 9.0f0] + + arrays = (arr1, arr2, arr3) + + # Sum first elements + get_first(arr::Vector{Float32}) = arr[1] + @test_opt sum_unrolled(get_first, arrays) + + # Map to lengths (this allocates because length returns Int which gets boxed in tuple) + # get_length(arr::Vector{Float32}) = length(arr) + # @test_opt map_unrolled(get_length, arrays) +end From 286c7a218672a5b75727db94ef20421a8b85da90 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Tue, 13 Jan 2026 00:17:38 -0100 Subject: [PATCH 09/63] getindex unrolled --- src/Raycore.jl | 5 ++++- src/unrolled.jl | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index 3c8a2cf..094b3f4 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -49,6 +49,9 @@ include("ray_intersection_session.jl") include("soa.jl") include("unrolled.jl") +# Macros +export @_inbounds + # Core types export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f @@ -76,6 +79,6 @@ export RayIntersectionSession, hit_points, hit_distances, hit_count, miss_count export @get, @set, similar_soa # GPU-safe unrolled iteration -export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled +export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, getindex_unrolled end diff --git a/src/unrolled.jl b/src/unrolled.jl index 31a160d..ebe20c7 100644 --- a/src/unrolled.jl +++ b/src/unrolled.jl @@ -237,3 +237,56 @@ end @inline function _sum_unrolled(fc, tuple::Tuple) return fc(first(tuple)) + _sum_unrolled(fc, Base.tail(tuple)) end + +# ============================================================================ +# getindex_unrolled - Select element by runtime index, apply function +# ============================================================================ + +""" + getindex_unrolled(f, tuple, idx::Int32, args...) -> result + +Select element at runtime index `idx` from `tuple` and apply `f(element, args...)`. +Uses unrolled if-branches for GPU compatibility - no dynamic dispatch. + +The index is 1-based. If idx is out of bounds, returns `f(tuple[1], args...)` as fallback. + +# Example +```julia +lights = (sun_light, point_light, env_light) +light_idx = Int32(2) + +# Sample from the selected light +sample = getindex_unrolled(sample_light, lights, light_idx, point, lambda, u) +# Equivalent to: sample_light(point_light, point, lambda, u) +``` +""" +@inline function getindex_unrolled(f::F, tuple::Tuple, idx::Int32, args...) where F + fc = FastClosure(f, args) + return _getindex_unrolled(fc, tuple, idx) +end + +# Generated function creates unrolled if-branches for type stability +@generated function _getindex_unrolled(fc, tuple::T, idx::Int32) where T <: Tuple + N = length(T.parameters) + + if N == 0 + # Empty tuple - shouldn't happen, but return nothing + return :(error("getindex_unrolled: empty tuple")) + end + + # Build unrolled if-else chain + # Start from the last index and work backwards to build nested if-else + expr = :(fc(tuple[$N])) # Default/fallback case + + for i in (N-1):-1:1 + expr = quote + if idx == Int32($i) + fc(tuple[$i]) + else + $expr + end + end + end + + return expr +end From 0203b6dd23d69318ddfa070adad0e20791c680f4 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Fri, 23 Jan 2026 19:56:43 +0100 Subject: [PATCH 10/63] implement multitype vec --- Project.toml | 2 + src/Raycore.jl | 6 + src/heterovec.jl | 298 +++++++++++++++++++++++++++++++++++++ src/kernel-abstractions.jl | 7 +- test/runtests.jl | 3 + test/test_heterovec.jl | 124 +++++++++++++++ 6 files changed, 436 insertions(+), 4 deletions(-) create mode 100644 src/heterovec.jl create mode 100644 test/test_heterovec.jl diff --git a/Project.toml b/Project.toml index 2357f09..f78ff96 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "0.1.1" authors = ["Anton Smirnov ", "Simon Danisch 0, N) + +# Deref for StaticMultiTypeVec - textures stored as Tuple{GPUVector{IsbitsPtr1}, GPUVector{IsbitsPtr2}, ...} +@inline function deref(smv::StaticMultiTypeVec{Data, Textures}, tref::TextureRef{ReferencedArrayType, T, N, TIdx}) where {Data, Textures, ReferencedArrayType, T, N, TIdx} + @inbounds smv.textures[TIdx][tref.idx] +end + +# ============================================================================ +# Dummy kernel for argconvert (same pattern as kernel-abstractions.jl) +# ============================================================================ + +KA.@kernel _heterovec_dummy_kernel() = nothing + +function _get_isbits_ptr(backend, gpu_arr) + kernel = _heterovec_dummy_kernel(backend) + return KA.argconvert(kernel, gpu_arr) +end + +# ============================================================================ +# MultiTypeVec - Mutable, builds GPU-ready structures on push! +# ============================================================================ + +""" + MultiTypeVec(backend) + +Mutable heterogeneous vector that builds GPU-ready structures on each push!. +Takes a KernelAbstractions backend at construction. + +# Example +```julia +backend = OpenCL.OpenCLBackend() +dhv = MultiTypeVec(backend) +texture = rand(Float32, 20, 20) +idx1 = push!(dhv, MatteMaterial(texture)) +idx2 = push!(dhv, GlassMaterial(1.5f0)) + +# Access the GPU-ready StaticMultiTypeVec directly +gpu_smv = dhv.static # Always up-to-date, no adapt needed +``` + +Push converts arrays to TextureRefs and stores texture data as GPU arrays. +The static field is rebuilt on each push to stay up-to-date. +""" +mutable struct MultiTypeVec{Backend} + backend::Backend + # Material storage - CPU vectors for accumulation + data_vectors::Dict{DataType, Any} # Type -> Vector{Type} + data_order::Vector{DataType} + # Texture isbits pointers - CPU vectors for accumulation + texture_isbits::Dict{DataType, Any} # OriginalArrayType -> Vector{IsbitsPtr} + texture_order::Vector{DataType} + # Keep GPU texture arrays alive (the actual texture data) + texture_gpu_arrays::Vector{Any} + # Cached static version - rebuilt on each push + static::StaticMultiTypeVec +end + +function MultiTypeVec(backend) + return MultiTypeVec( + backend, + Dict{DataType, Any}(), + DataType[], + Dict{DataType, Any}(), + DataType[], + Any[], + StaticMultiTypeVec() + ) +end + +Base.isempty(dhv::MultiTypeVec) = isempty(dhv.data_order) +Base.length(dhv::MultiTypeVec) = sum(length, values(dhv.data_vectors); init=0) +n_slots(dhv::MultiTypeVec) = length(dhv.data_order) + +# ============================================================================ +# Internal: Rebuild the static tuple - converts CPU vectors to GPU +# ============================================================================ + +function _rebuild_static!(dhv::MultiTypeVec) + # Convert CPU data vectors to GPU + data_tuple = if isempty(dhv.data_order) + () + else + Tuple(Adapt.adapt(dhv.backend, dhv.data_vectors[T]) for T in dhv.data_order) + end + # Convert CPU isbits pointer vectors to GPU + tex_tuple = if isempty(dhv.texture_order) + () + else + Tuple(Adapt.adapt(dhv.backend, dhv.texture_isbits[T]) for T in dhv.texture_order) + end + dhv.static = StaticMultiTypeVec(data_tuple, tex_tuple) +end + +# ============================================================================ +# Texture conversion and storage +# ============================================================================ + +# Convert arrays in a struct to TextureRefs, storing them as GPU arrays +function convert_to_texturerefs(dhv::MultiTypeVec, item::T) where T + if !isstructtype(T) || T <: AbstractArray + return item + end + fnames = fieldnames(T) + if isempty(fnames) + return item + end + new_fields = map(fnames) do fname + fval = getfield(item, fname) + if fval isa AbstractArray && !(fval isa TextureRef) + store_texture(dhv, fval) + else + fval + end + end + if all(getfield(item, fn) === nf for (fn, nf) in zip(fnames, new_fields)) + return item + end + BaseT = Base.typename(T).wrapper + return BaseT(new_fields...) +end + +# Store a texture as GPU array, return TextureRef pointing to isbits device pointer +function store_texture(dhv::MultiTypeVec, arr::A) where A <: AbstractArray + # Convert to GPU array and keep alive + gpu_arr = Adapt.adapt(dhv.backend, arr) + push!(dhv.texture_gpu_arrays, gpu_arr) + + # Get isbits device pointer + isbits_ptr = _get_isbits_ptr(dhv.backend, gpu_arr) + + # Check if this texture type already has a slot + type_idx = findfirst(==(A), dhv.texture_order) + + if type_idx === nothing + # New texture type - create CPU vector for it + dhv.texture_isbits[A] = [isbits_ptr] + push!(dhv.texture_order, A) + type_idx = length(dhv.texture_order) + else + # Existing type - push to CPU vector + push!(dhv.texture_isbits[A], isbits_ptr) + end + + vec_idx = length(dhv.texture_isbits[A]) + return TextureRef{A, eltype(A), ndims(A), type_idx}(vec_idx) +end + +# ============================================================================ +# push! - Adds item to CPU vectors, rebuilds GPU static on each push +# ============================================================================ + +function Base.push!(dhv::MultiTypeVec, item::T)::HeteroVecIndex where T + # Convert any arrays in the item to TextureRefs (textures stored as GPU arrays) + converted_item = convert_to_texturerefs(dhv, item) + CT = typeof(converted_item) + + # Check if this material type already has a slot + type_idx = findfirst(==(CT), dhv.data_order) + + if type_idx === nothing + # New material type - create CPU vector for it + dhv.data_vectors[CT] = [converted_item] + push!(dhv.data_order, CT) + type_idx = length(dhv.data_order) + else + # Existing type - push to CPU vector + push!(dhv.data_vectors[CT], converted_item) + end + + vec_idx = length(dhv.data_vectors[CT]) + + # Rebuild GPU static on every push + _rebuild_static!(dhv) + + return HeteroVecIndex(UInt8(type_idx), UInt32(vec_idx)) +end + +# ============================================================================ +# with_index - Type-stable dispatch +# ============================================================================ + +""" + with_index(f, smv::StaticMultiTypeVec, idx::HeteroVecIndex, args...) + +Execute function `f` with the element at index `idx`, passing additional `args`. +The function is called as `f(element, args...)` where `element` has a concrete type. + +Uses compile-time unrolled if-branches for GPU compatibility. +The function `f` must not capture variables - pass all data as `args`. +""" +@inline @generated function with_index( + f::F, smv::StaticMultiTypeVec{Data, Textures}, idx::HeteroVecIndex, args... +) where {F, Data<:Tuple, Textures} + N = length(Data.parameters) + + if N == 0 + return :(error("with_index: empty StaticMultiTypeVec")) + end + + branches = [quote + if idx.type_idx === UInt8($i) + @inbounds return f(smv.data[$i][idx.vec_idx], args...) + end + end for i in 1:N] + + quote + $(branches...) + @inbounds return f(smv.data[1][1], args...) + end +end + +# ============================================================================ +# Adapt.jl integration for GPU array conversion +# ============================================================================ + +# Adapt StaticMultiTypeVec - adapts data and texture arrays +# For MultiTypeVec.static, arrays are already GPU - this converts to isbits for kernel +function Adapt.adapt_structure(to, smv::StaticMultiTypeVec) + adapted_data = map(smv.data) do arr + Adapt.adapt(to, arr) + end + adapted_textures = map(smv.textures) do tex + Adapt.adapt(to, tex) + end + return StaticMultiTypeVec(adapted_data, adapted_textures) +end + +# Adapt MultiTypeVec - returns the already GPU-ready static field +function Adapt.adapt_structure(to, dhv::MultiTypeVec) + return Adapt.adapt_structure(to, dhv.static) +end diff --git a/src/kernel-abstractions.jl b/src/kernel-abstractions.jl index 8856c7b..7ebc89c 100644 --- a/src/kernel-abstractions.jl +++ b/src/kernel-abstractions.jl @@ -2,17 +2,16 @@ import KernelAbstractions as KA KA.@kernel some_kernel_f() = nothing -global PRESERVE = [] - function some_kernel(arr) backend = KA.get_backend(arr) return some_kernel_f(backend) end +# Convert array to GPU array +# The caller is responsible for keeping the returned array alive. +# Typically this is done by storing in a scene struct. function to_gpu(ArrayType, m::AbstractArray) arr = ArrayType(m) - push!(PRESERVE, arr) - finalizer((arr) -> filter!(x-> x === arr, PRESERVE), arr) kernel = some_kernel(arr) return KA.argconvert(kernel, arr) end diff --git a/test/runtests.jl b/test/runtests.jl index 691a8a6..ad4f544 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -21,4 +21,7 @@ Aqua.test_all(Raycore; ambiguities=(; broken=true)) @testset "Instanced BVH" begin include("test_instanced_bvh.jl") end + @testset "HeteroVec" begin + include("test_heterovec.jl") + end end diff --git a/test/test_heterovec.jl b/test/test_heterovec.jl new file mode 100644 index 0000000..2e2f27c --- /dev/null +++ b/test/test_heterovec.jl @@ -0,0 +1,124 @@ +using Test +using Raycore: MultiTypeVec, StaticMultiTypeVec, HeteroVecIndex, TextureRef +using Raycore: with_index, deref, is_valid, is_invalid, n_slots +using KernelAbstractions +using Adapt +using pocl_jll +using OpenCL + +backend = OpenCL.OpenCLBackend() + +# Test structs - used for both CPU and GPU tests +struct SimpleMaterial{T} + color::T +end + +struct GlassMaterial{T} + ior::T +end + +struct MaterialWith2{T, T2} + albedo::T + texture::T2 +end + +@testset "MultiTypeVec basic" begin + dhv = MultiTypeVec(backend) + @test isempty(dhv) + + idx1 = push!(dhv, SimpleMaterial(0.5f0)) + @test idx1.type_idx == 1 + @test idx1.vec_idx == 1 + @test !isempty(dhv) + + idx2 = push!(dhv, GlassMaterial(1.5f0)) + @test idx2.type_idx == 2 + @test idx2.vec_idx == 1 + + idx3 = push!(dhv, SimpleMaterial(0.8f0)) + @test idx3.type_idx == 1 + @test idx3.vec_idx == 2 + + # Static is always up-to-date + @test n_slots(dhv.static) == 2 +end + +@testset "Empty MultiTypeVec" begin + dhv = MultiTypeVec(backend) + @test isempty(dhv) + + smv = dhv.static + @test isempty(smv) + @test n_slots(smv) == 0 +end + +@testset "GPU kernel with MaterialWith2" begin + dhv = MultiTypeVec(backend) + arr1 = Float32[1 2; 3 4] + arr2 = Float32[5, 6, 7] + arr3 = Float32[8 9; 10 11] + arr4 = Float32[12, 13, 14] + + idx1 = push!(dhv, MaterialWith2(arr1, arr2)) + idx2 = push!(dhv, MaterialWith2(arr3, arr4)) + + # static field is already GPU-ready + smv = dhv.static + + # Check structure + @test smv.data[1] isa OpenCL.CLArray + @test smv.textures[1] isa OpenCL.CLArray + @test smv.textures[2] isa OpenCL.CLArray + + # Kernel that accesses both texture fields via deref + @kernel function mat2_kernel(out, smv, idxs) + i = @index(Global) + get_sum(mat, s) = begin + t1 = deref(s, mat.albedo) + t2 = deref(s, mat.texture) + t1[1,1] + t2[1] # First element of each texture + end + out[i] = with_index(get_sum, smv, idxs[i], smv) + end + + indices = OpenCL.CLArray([idx1, idx2]) + output = OpenCL.CLArray(zeros(Float32, 2)) + + kernel = mat2_kernel(backend) + kernel(output, smv, indices; ndrange=2) + KernelAbstractions.synchronize(backend) + + result = Array(output) + @test result ≈ [arr1[1,1] + arr2[1], arr3[1,1] + arr4[1]] +end + +@testset "StaticMultiTypeVec on GPU (no textures)" begin + dhv = MultiTypeVec(backend) + idx1 = push!(dhv, SimpleMaterial(0.5f0)) + idx2 = push!(dhv, GlassMaterial(1.5f0)) + idx3 = push!(dhv, SimpleMaterial(0.8f0)) + + smv = dhv.static + + # Check that inner arrays are CLArrays + @test smv.data[1] isa OpenCL.CLArray + @test smv.data[2] isa OpenCL.CLArray + + # Run kernel + @kernel function simple_kernel(output, hvec, indices) + i = @index(Global) + get_val(m::SimpleMaterial) = m.color + get_val(m::GlassMaterial) = m.ior + output[i] = with_index(get_val, hvec, indices[i]) + end + + indices = OpenCL.CLArray([idx1, idx2, idx3]) + output = OpenCL.CLArray(zeros(Float32, 3)) + + kernel = simple_kernel(backend) + kernel(output, smv, indices; ndrange=3) + KernelAbstractions.synchronize(backend) + + result = Array(output) + @test result ≈ [0.5f0, 1.5f0, 0.8f0] +end From a4a36517d998866e9fafeafa72b893733987e49c Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sun, 25 Jan 2026 14:18:37 +0100 Subject: [PATCH 11/63] api refactor --- src/Raycore.jl | 5 + src/heterovec.jl | 25 ++- src/instanced-bvh.jl | 390 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 408 insertions(+), 12 deletions(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index ddddc68..0ea876a 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -62,6 +62,10 @@ export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID export Instance, InstanceHandle, find_instances, add_instance!, remove_instance!, rebuild_tlas! export update_transform!, update_transforms!, n_instances, n_geometries +# TLASBuilder (new MultiTypeVec-style API) +export TLASBuilder, TLASHandle, StaticTLAS, INVALID_HANDLE +export sync!, update_instance!, update!, n_total_instances + # BVH4 types (HIPRT-style 4-wide nodes) export BVHNode4, BLAS4, TLAS4, build_blas4, closest_hit4, any_hit4 @@ -86,5 +90,6 @@ export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, g # HeterogeneousVector for type-stable heterogeneous collections export HeteroVecIndex, MultiTypeVec, StaticMultiTypeVec, TextureRef export is_invalid, is_valid, with_index, n_slots, deref +export maybe_convert_field, store_texture end diff --git a/src/heterovec.jl b/src/heterovec.jl index 382715f..45dc91d 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -44,7 +44,7 @@ Immutable heterogeneous collection with separate texture storage. - `data`: Tuple of GPU vectors for materials/objects - `textures`: Tuple of GPU vectors containing isbits device pointers """ -struct StaticMultiTypeVec{Data<:Tuple, Textures<:Tuple} +struct StaticMultiTypeVec{Data<:Tuple,Textures<:Tuple} <: AbstractVector{Any} data::Data textures::Textures end @@ -108,7 +108,7 @@ gpu_smv = dhv.static # Always up-to-date, no adapt needed Push converts arrays to TextureRefs and stores texture data as GPU arrays. The static field is rebuilt on each push to stay up-to-date. """ -mutable struct MultiTypeVec{Backend} +mutable struct MultiTypeVec{Backend} <: AbstractVector{Any} backend::Backend # Material storage - CPU vectors for accumulation data_vectors::Dict{DataType, Any} # Type -> Vector{Type} @@ -162,6 +162,21 @@ end # Texture conversion and storage # ============================================================================ +""" + maybe_convert_field(dhv::MultiTypeVec, fval) + +Convert a struct field value for GPU storage. Override this for custom types. +- AbstractArray → TextureRef (uploaded to GPU) +- Everything else → unchanged (default) + +Materials should use loose type parameters so fields can be either raw values OR +TextureRef. This way constant values don't need texture indirection at all. +""" +maybe_convert_field(::MultiTypeVec, fval) = fval +maybe_convert_field(dhv::MultiTypeVec, arr::A) where A<:AbstractArray = store_texture(dhv, arr) +# Don't re-convert already converted refs +maybe_convert_field(::MultiTypeVec, ref::TextureRef) = ref + # Convert arrays in a struct to TextureRefs, storing them as GPU arrays function convert_to_texturerefs(dhv::MultiTypeVec, item::T) where T if !isstructtype(T) || T <: AbstractArray @@ -173,11 +188,7 @@ function convert_to_texturerefs(dhv::MultiTypeVec, item::T) where T end new_fields = map(fnames) do fname fval = getfield(item, fname) - if fval isa AbstractArray && !(fval isa TextureRef) - store_texture(dhv, fval) - else - fval - end + maybe_convert_field(dhv, fval) end if all(getfield(item, fn) === nf for (fn, nf) in zip(fnames, new_fields)) return item diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 4da8156..06a805d 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -97,6 +97,7 @@ end TLAS{NodeArray, InstArray, BLASArray} Top-Level Acceleration Structure - BVH over instances. +This is the GPU-compatible immutable structure used for traversal. """ struct TLAS{ NodeArray <: AbstractVector{BVHNode2}, @@ -109,6 +110,390 @@ struct TLAS{ root_aabb::Bounds3 end +# Alias for clarity - TLAS is the static/GPU-ready form +const StaticTLAS = TLAS + +# ============================================================================== +# TLASBuilder - CPU-side mutable TLAS management (MultiTypeVec pattern) +# ============================================================================== + +""" + TLASHandle + +Stable handle for referencing instances in a TLASBuilder. +Uses generational indices for O(1) lookup and invalidation detection. + +# Fields +- `index`: Slot index in the sparse instances array (1-based) +- `generation`: Generation counter for validity checking +""" +struct TLASHandle + index::UInt32 # Slot in sparse array (1-based) + generation::UInt32 # Validity check - incremented on slot reuse +end + +# Sentinel for invalid handle +const INVALID_HANDLE = TLASHandle(UInt32(0), UInt32(0)) + +""" + TLASBuilder{Backend} + +Mutable CPU-side TLAS management structure following the MultiTypeVec pattern. + +Maintains CPU-side data with Dict-based handle lookups, and caches a GPU-ready +TLAS that is rebuilt lazily on `sync!()` or `adapt()`. + +# Usage +```julia +tlas = TLAS(CPU()) +h1 = push!(tlas, geometry) +h2 = push!(tlas, Instance(geometry, transforms)) +update_instance!(tlas, h2, new_transforms) +delete!(tlas, h1) +sync!(tlas) # Rebuild GPU structure +static = adapt(backend, tlas) # Get GPU-ready TLAS +``` +""" +mutable struct TLASBuilder{Backend} + backend::Backend + + # BLAS storage - geometry BVHs + blas_array::Vector{BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}} + + # Instance storage (sparse with holes for O(1) delete) + instances::Vector{Union{InstanceDescriptor, Nothing}} + generations::Vector{UInt32} + free_list::Vector{UInt32} + + # Handle -> slot range mapping (for group handles) + # One handle can reference multiple consecutive slots (multi-transform instances) + handle_to_slots::Dict{TLASHandle, UnitRange{UInt32}} + + # Cached GPU-ready TLAS (rebuilt on sync!) + static::Union{TLAS, Nothing} + dirty::Bool +end + +# ------------------------------------------------------------------------------ +# TLASBuilder Constructor and Core Operations +# ------------------------------------------------------------------------------ + +""" + TLAS(backend) -> TLASBuilder + +Create an empty TLASBuilder for the given backend. +Use `push!` to add geometries/instances, then `sync!` or `adapt` to get GPU-ready TLAS. +""" +function TLAS(backend) + return TLASBuilder( + backend, + BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}[], # blas_array + Union{InstanceDescriptor, Nothing}[], # instances (sparse) + UInt32[], # generations + UInt32[], # free_list + Dict{TLASHandle, UnitRange{UInt32}}(), # handle_to_slots + nothing, # static (not built yet) + true # dirty + ) +end + +""" + is_valid(tlas::TLASBuilder, handle::TLASHandle) -> Bool + +Check if a handle is still valid (not deleted, generation matches). O(1) operation. +""" +function is_valid(tlas::TLASBuilder, handle::TLASHandle)::Bool + haskey(tlas.handle_to_slots, handle) || return false + slots = tlas.handle_to_slots[handle] + isempty(slots) && return false + first_slot = first(slots) + first_slot > length(tlas.generations) && return false + return tlas.generations[first_slot] == handle.generation && + tlas.instances[first_slot] !== nothing +end + +""" + n_instances(tlas::TLASBuilder, handle::TLASHandle) -> Int + +Get the number of instances referenced by a handle. +""" +function n_instances(tlas::TLASBuilder, handle::TLASHandle)::Int + haskey(tlas.handle_to_slots, handle) || return 0 + return length(tlas.handle_to_slots[handle]) +end + +""" + n_geometries(tlas::TLASBuilder) -> Int + +Get the total number of distinct geometries (BLASes) in the TLAS. +""" +n_geometries(tlas::TLASBuilder) = length(tlas.blas_array) + +""" + n_total_instances(tlas::TLASBuilder) -> Int + +Get the total number of active instances in the TLAS. +""" +function n_total_instances(tlas::TLASBuilder)::Int + count(x -> x !== nothing, tlas.instances) +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: push! operations +# ------------------------------------------------------------------------------ + +""" + push!(tlas::TLASBuilder, geometry) -> TLASHandle + +Add geometry as a single instance at identity transform. +Returns a stable handle for later reference. +""" +function Base.push!(tlas::TLASBuilder, geometry) + # Wrap as Instance at identity + inst = Instance(geometry) + return push!(tlas, inst) +end + +""" + push!(tlas::TLASBuilder, inst::Instance) -> TLASHandle + +Add an Instance with transforms and metadata. +Returns a single handle referencing all instances in the group. +""" +function Base.push!(tlas::TLASBuilder, inst::Instance) + # Build BLAS for geometry + mesh = to_triangle_mesh(inst.geometry) + triangles = [Triangle(mesh, i, inst.metadata[1]) + for i in 1:div(length(mesh.indices), 3) + if !is_degenerate(get_vertices(mesh, i))] + isempty(triangles) && error("Geometry has no valid triangles") + blas = build_blas(triangles) + push!(tlas.blas_array, blas) + blas_idx = UInt32(length(tlas.blas_array)) + + # Allocate slots for all transforms + first_slot = UInt32(0) + last_slot = UInt32(0) + + for (i, transform) in enumerate(inst.transforms) + inv_transform = Mat4f(inv(transform)) + instance_id = inst.metadata[min(i, length(inst.metadata))] + desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) + + # Allocate slot + slot_idx = _allocate_slot!(tlas) + tlas.instances[slot_idx] = desc + + if i == 1 + first_slot = slot_idx + end + last_slot = slot_idx + end + + # Create handle with first slot's generation + generation = tlas.generations[first_slot] + handle = TLASHandle(first_slot, generation) + + # Register handle -> slot range + tlas.handle_to_slots[handle] = first_slot:last_slot + + # Mark dirty + tlas.dirty = true + + return handle +end + +"""Allocate a slot, reusing from free_list or growing arrays.""" +function _allocate_slot!(tlas::TLASBuilder)::UInt32 + if !isempty(tlas.free_list) + slot_idx = pop!(tlas.free_list) + # Increment generation for reused slot + tlas.generations[slot_idx] += UInt32(1) + else + # Grow arrays + push!(tlas.instances, nothing) + push!(tlas.generations, UInt32(1)) + slot_idx = UInt32(length(tlas.instances)) + end + return slot_idx +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: delete! operation +# ------------------------------------------------------------------------------ + +""" + delete!(tlas::TLASBuilder, handle::TLASHandle) -> Bool + +Remove all instances referenced by the handle. Returns true if successful. +The handle becomes invalid after deletion. +""" +function Base.delete!(tlas::TLASBuilder, handle::TLASHandle)::Bool + haskey(tlas.handle_to_slots, handle) || return false + + slots = tlas.handle_to_slots[handle] + + # Clear all slots and add to free list + for slot_idx in slots + tlas.instances[slot_idx] = nothing + push!(tlas.free_list, slot_idx) + end + + # Remove from handle map + delete!(tlas.handle_to_slots, handle) + + # Mark dirty + tlas.dirty = true + + return true +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: update_instance! operations +# ------------------------------------------------------------------------------ + +""" + update_instance!(tlas::TLASBuilder, handle::TLASHandle, instance_idx::Integer, transform::Mat4f) + +Update a single instance's transform within a group (by 1-based index). +""" +function update_instance!(tlas::TLASBuilder, handle::TLASHandle, instance_idx::Integer, transform::Mat4f) + haskey(tlas.handle_to_slots, handle) || error("Invalid handle") + slots = tlas.handle_to_slots[handle] + 1 <= instance_idx <= length(slots) || error("Instance index out of range") + + slot_idx = first(slots) + UInt32(instance_idx - 1) + old_desc = tlas.instances[slot_idx] + old_desc === nothing && error("Instance at slot $slot_idx is deleted") + + inv_transform = Mat4f(inv(transform)) + tlas.instances[slot_idx] = InstanceDescriptor( + old_desc.blas_index, + old_desc.instance_id, + transform, + inv_transform, + old_desc.flags + ) + + tlas.dirty = true + return nothing +end + +""" + update_instance!(tlas::TLASBuilder, handle::TLASHandle, transforms::AbstractVector{Mat4f}) + +Update all instances' transforms in a group. Length must match. +""" +function update_instance!(tlas::TLASBuilder, handle::TLASHandle, transforms::AbstractVector{Mat4f}) + haskey(tlas.handle_to_slots, handle) || error("Invalid handle") + slots = tlas.handle_to_slots[handle] + length(transforms) == length(slots) || error("Transform count ($(length(transforms))) != instance count ($(length(slots)))") + + for (i, slot_idx) in enumerate(slots) + old_desc = tlas.instances[slot_idx] + old_desc === nothing && error("Instance at slot $slot_idx is deleted") + + transform = transforms[i] + inv_transform = Mat4f(inv(transform)) + tlas.instances[slot_idx] = InstanceDescriptor( + old_desc.blas_index, + old_desc.instance_id, + transform, + inv_transform, + old_desc.flags + ) + end + + tlas.dirty = true + return nothing +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: update! for geometry replacement +# ------------------------------------------------------------------------------ + +""" + update!(tlas::TLASBuilder, handle::TLASHandle, new_geometry) + +Replace the geometry (BLAS) for a handle. All instances sharing this BLAS get updated. +""" +function update!(tlas::TLASBuilder, handle::TLASHandle, new_geometry) + haskey(tlas.handle_to_slots, handle) || error("Invalid handle") + slots = tlas.handle_to_slots[handle] + isempty(slots) && error("Handle has no instances") + + # Get blas_index from first instance + first_slot = first(slots) + first_desc = tlas.instances[first_slot] + first_desc === nothing && error("First instance is deleted") + blas_idx = first_desc.blas_index + + # Rebuild BLAS + mesh = to_triangle_mesh(new_geometry) + triangles = [Triangle(mesh, i, first_desc.instance_id) + for i in 1:div(length(mesh.indices), 3) + if !is_degenerate(get_vertices(mesh, i))] + isempty(triangles) && error("New geometry has no valid triangles") + new_blas = build_blas(triangles) + + # Replace in-place + tlas.blas_array[blas_idx] = new_blas + + tlas.dirty = true + return nothing +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: sync! and _rebuild_static! +# ------------------------------------------------------------------------------ + +""" + sync!(tlas::TLASBuilder) -> TLASBuilder + +Rebuild the GPU-ready TLAS if dirty. No-op if already up-to-date. +""" +function sync!(tlas::TLASBuilder) + tlas.dirty || return tlas + _rebuild_static!(tlas) + return tlas +end + +"""Internal: Rebuild the static TLAS from current CPU state.""" +function _rebuild_static!(tlas::TLASBuilder) + # Compact instances (filter nothing entries) + active_instances = InstanceDescriptor[] + for inst in tlas.instances + inst === nothing && continue + push!(active_instances, inst) + end + + if isempty(active_instances) + tlas.static = nothing + tlas.dirty = false + return + end + + # Build TLAS using existing build_tlas function + static_tlas = build_tlas(tlas.blas_array, active_instances) + tlas.static = static_tlas + tlas.dirty = false + return +end + +# ------------------------------------------------------------------------------ +# TLASBuilder: Adapt integration +# ------------------------------------------------------------------------------ + +""" +Adapt TLASBuilder -> TLAS for GPU kernel usage. +Syncs if dirty, then returns the cached static TLAS. +""" +function Adapt.adapt_structure(to, tlas::TLASBuilder) + sync!(tlas) + tlas.static === nothing && error("Cannot adapt empty TLASBuilder") + return Adapt.adapt_structure(to, tlas.static) +end + # ============================================================================== # AABB and Morton Code Utilities # ============================================================================== @@ -369,7 +754,6 @@ function build_blas( # Launch kernel: Calculate Morton codes calc_kernel! = calculate_morton_codes_kernel!(backend) calc_kernel!(morton_codes, primitives, scene_min, scene_extent, ndrange=n) - KA.synchronize(backend) # Sort by Morton codes (works on GPU arrays directly) sorted_indices = sortperm(morton_codes) @@ -389,23 +773,19 @@ function build_blas( # Launch kernel: Emit topology topo_kernel! = emit_topology_kernel!(backend) topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) - KA.synchronize(backend) # Launch kernel: Set parent pointers parent_kernel! = set_parent_pointers_kernel!(backend) parent_kernel!(nodes, Int32(n), ndrange=n-1) - KA.synchronize(backend) # Launch kernel: Create leaf nodes leaf_kernel! = create_leaf_nodes_kernel!(backend) leaf_kernel!(nodes, sorted_prims, Int32(n), ndrange=n) - KA.synchronize(backend) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) # One flag per internal node refit_kernel! = refit_aabbs_kernel!(backend) refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) - KA.synchronize(backend) # Compute root AABB - check if root is interior or leaf root_is_interior = is_interior(nodes[1]) From 7494706a4037e7b73cabb2a54bd193d7509351f5 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Tue, 27 Jan 2026 15:27:21 -0100 Subject: [PATCH 12/63] refactor --- Project.toml | 8 +- src/Raycore.jl | 4 +- src/bvh4.jl | 4 +- src/instanced-bvh-kernels.jl | 63 +- src/instanced-bvh.jl | 1327 +++++++++++++++++----------------- src/soa.jl | 27 - test/runtests.jl | 3 +- test/test_instanced_bvh.jl | 560 +++++++++++++- 8 files changed, 1264 insertions(+), 732 deletions(-) diff --git a/Project.toml b/Project.toml index f78ff96..2fbe372 100644 --- a/Project.toml +++ b/Project.toml @@ -6,6 +6,7 @@ authors = ["Anton Smirnov ", "Simon Danisch range in instances array (CPU-side) +- `deleted_handles`: Handles deleted but not yet compacted (CPU-side) +- `gpu_blas_arrays`: Keeps GPU arrays alive for isbits pointers +- `dirty`: Whether BVH topology needs rebuild # Usage ```julia tlas = TLAS(CPU()) h1 = push!(tlas, geometry) h2 = push!(tlas, Instance(geometry, transforms)) -update_instance!(tlas, h2, new_transforms) +update_transform!(tlas, h2, new_transform) delete!(tlas, h1) -sync!(tlas) # Rebuild GPU structure -static = adapt(backend, tlas) # Get GPU-ready TLAS +sync!(tlas) # Rebuild BVH structure +static = adapt(backend, tlas) # Get StaticTLAS for kernels ``` """ -mutable struct TLASBuilder{Backend} +mutable struct TLAS{Backend} backend::Backend - # BLAS storage - geometry BVHs - blas_array::Vector{BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}} + # Backend arrays for kernel traversal (GPU from start) + nodes::Any # AbstractVector{BVHNode2} - rebuilt on sync! + instances::Any # AbstractVector{InstanceDescriptor} - direct GPU append + blas_array::Any # Backend array of isbits BLASes + + root_aabb::Bounds3 - # Instance storage (sparse with holes for O(1) delete) - instances::Vector{Union{InstanceDescriptor, Nothing}} - generations::Vector{UInt32} - free_list::Vector{UInt32} + # CPU-side management (dictionaries must stay on CPU for O(1) lookup) + handle_to_range::Dict{TLASHandle, UnitRange{Int}} + deleted_handles::Set{TLASHandle} - # Handle -> slot range mapping (for group handles) - # One handle can reference multiple consecutive slots (multi-transform instances) - handle_to_slots::Dict{TLASHandle, UnitRange{UInt32}} + # Backend arrays kept alive for GC (isbits pointers in blas_array reference these) + gpu_blas_arrays::Vector{Any} - # Cached GPU-ready TLAS (rebuilt on sync!) - static::Union{TLAS, Nothing} + # Whether BVH topology needs rebuild dirty::Bool + + # Counters + next_handle_id::UInt32 + next_instance_id::UInt32 +end + +# Legacy alias for compatibility +const TLASBuilder = TLAS + +# Note: _get_isbits_ptr is defined in heterovec.jl and reused here + +# ============================================================================== +# Instance - High-level wrapper for instanced geometry +# ============================================================================== + +""" + Instance{G, T, M} + +User-friendly wrapper for instanced geometry. + +Each Instance represents one or more copies of a geometry with different transforms. +Used with TLAS construction and push! operations. + +# Type Parameters +- `G`: Geometry type (TriangleMesh, or anything convertible via `to_triangle_mesh`) +- `T`: Transform array type (AbstractVector{Mat4f}) +- `M`: Metadata array type (typically AbstractVector{UInt32}) + +# Fields +- `geometry`: The mesh/geometry to instance +- `transforms`: Array of local-to-world transforms (one per instance) +- `metadata`: Array of per-instance user data (typically instance IDs) +""" +struct Instance{G, T<:AbstractVector{Mat4f}, M<:AbstractVector} + geometry::G + transforms::T + metadata::M +end + +# Convenience constructors +"""Single instance with transform and metadata.""" +Instance(geom, transform::Mat4f, metadata) = + Instance(geom, [transform], [metadata]) + +"""Single instance at identity transform.""" +Instance(geom; metadata=UInt32(1)) = + Instance(geom, [Mat4f(I)], [metadata]) + +"""Multiple instances with same metadata.""" +function Instance(geom, transforms::AbstractVector{Mat4f}; metadata=UInt32(1)) + Instance(geom, transforms, fill(metadata, length(transforms))) end # ------------------------------------------------------------------------------ -# TLASBuilder Constructor and Core Operations +# TLAS Constructor and Core Operations # ------------------------------------------------------------------------------ """ - TLAS(backend) -> TLASBuilder + TLAS(backend) -> TLAS + +Create an empty TLAS for the given backend. +Use `push!` to add geometries/instances, then `sync!` to rebuild the BVH. +`Adapt.adapt_structure` returns a StaticTLAS for kernel traversal. -Create an empty TLASBuilder for the given backend. -Use `push!` to add geometries/instances, then `sync!` or `adapt` to get GPU-ready TLAS. +# Example +```julia +tlas = TLAS(OpenCLBackend()) +h1 = push!(tlas, geometry) +h2 = push!(tlas, Instance(geometry, transforms)) +sync!(tlas) # Rebuild BVH on backend +static = adapt(backend, tlas) # StaticTLAS with isbits pointers for kernels +``` """ function TLAS(backend) - return TLASBuilder( + # GPU-first design: all arrays on backend from the start + tlas = TLAS( backend, - BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}[], # blas_array - Union{InstanceDescriptor, Nothing}[], # instances (sparse) - UInt32[], # generations - UInt32[], # free_list - Dict{TLASHandle, UnitRange{UInt32}}(), # handle_to_slots - nothing, # static (not built yet) - true # dirty + KA.allocate(backend, BVHNode2, 0), # nodes (empty, rebuilt on sync!) + KA.allocate(backend, InstanceDescriptor, 0), # instances (direct GPU append) + _allocate_empty_blas_array(backend), # blas_array (GPU array of isbits BLASes) + Bounds3(), # root_aabb + Dict{TLASHandle, UnitRange{Int}}(), # handle_to_range + Set{TLASHandle}(), # deleted_handles + Any[], # gpu_blas_arrays (GC roots) + true, # dirty + UInt32(1), # next_handle_id + UInt32(1) # next_instance_id ) + + # Register finalizer to free GPU memory when TLAS is garbage collected + finalizer(_free_tlas_gpu_memory!, tlas) + + return tlas +end + +"""Free all GPU memory held by a TLAS. Called by finalizer.""" +function _free_tlas_gpu_memory!(tlas::TLAS) + # Free main backend arrays + _try_unsafe_free!(tlas.nodes) + _try_unsafe_free!(tlas.instances) + _try_unsafe_free!(tlas.blas_array) + + # Free all backing arrays for isbits BLASes + for arr in tlas.gpu_blas_arrays + _try_unsafe_free!(arr) + end + empty!(tlas.gpu_blas_arrays) + + return nothing +end + +"""Try to free a GPU array if it supports unsafe_free!.""" +function _try_unsafe_free!(arr) + # GPU arrays (CLArray, CuArray) typically have unsafe_free! from GPUArrays + # Use duck typing to check if the method exists + try + # Try to call the method if it exists on the array's module + M = parentmodule(typeof(arr)) + if isdefined(M, :unsafe_free!) && applicable(getfield(M, :unsafe_free!), arr) + getfield(M, :unsafe_free!)(arr) + end + catch + # Silently ignore - GC will handle cleanup + end + return nothing +end + +"""Helper to allocate empty BLAS array on backend with correct isbits element type.""" +function _allocate_empty_blas_array(backend) + # Create an empty array with isbits BLAS element type + # The actual element type will be BLAS{DeviceVector, DeviceVector} + # For now, use a placeholder that will be replaced on first push + IsbitsNodePtr = _get_isbits_ptr_type(backend, BVHNode2) + IsbitsPrimPtr = _get_isbits_ptr_type(backend, Triangle{UInt32}) + BLASType = BLAS{IsbitsNodePtr, IsbitsPrimPtr} + return KA.allocate(backend, BLASType, 0) +end + +"""Get the isbits pointer type for a given element type and backend.""" +function _get_isbits_ptr_type(backend::KA.CPU, ::Type{T}) where T + return Vector{T} # On CPU, Vector is already isbits-compatible for our purposes +end + +function _get_isbits_ptr_type(backend, ::Type{T}) where T + # For GPU backends, use argconvert to get the isbits device pointer type + arr = KA.allocate(backend, T, 1) + isbits_ptr = _get_isbits_ptr(backend, arr) + return typeof(isbits_ptr) +end + +""" +Convert a BLAS with backend arrays to isbits BLAS with device pointers. +Stores the backend arrays in `keep_alive` vector to prevent GC. +""" +function _to_isbits_blas(backend, blas::BLAS, keep_alive::Vector{Any}) + # Store the backend arrays to keep them alive + push!(keep_alive, blas.nodes) + push!(keep_alive, blas.primitives) + + # Get isbits device pointers + isbits_nodes = _get_isbits_ptr(backend, blas.nodes) + isbits_prims = _get_isbits_ptr(backend, blas.primitives) + + return BLAS(isbits_nodes, isbits_prims, blas.root_aabb) +end + +"""Append a single isbits BLAS to blas_array using GPU-friendly append!.""" +function _append_blas!(backend, blas_array, isbits_blas) + # Create a single-element array on CPU with the isbits BLAS, then adapt to backend + single_arr = [isbits_blas] + backend_arr = Adapt.adapt(backend, single_arr) + append!(blas_array, backend_arr) + return nothing end """ - is_valid(tlas::TLASBuilder, handle::TLASHandle) -> Bool + is_valid(tlas::TLAS, handle::TLASHandle) -> Bool -Check if a handle is still valid (not deleted, generation matches). O(1) operation. +Check if a handle is still valid (not deleted). O(1) operation. """ -function is_valid(tlas::TLASBuilder, handle::TLASHandle)::Bool - haskey(tlas.handle_to_slots, handle) || return false - slots = tlas.handle_to_slots[handle] - isempty(slots) && return false - first_slot = first(slots) - first_slot > length(tlas.generations) && return false - return tlas.generations[first_slot] == handle.generation && - tlas.instances[first_slot] !== nothing +function is_valid(tlas::TLAS, handle::TLASHandle)::Bool + haskey(tlas.handle_to_range, handle) && !(handle in tlas.deleted_handles) end """ - n_instances(tlas::TLASBuilder, handle::TLASHandle) -> Int + n_instances(tlas::TLAS, handle::TLASHandle) -> Int Get the number of instances referenced by a handle. """ -function n_instances(tlas::TLASBuilder, handle::TLASHandle)::Int - haskey(tlas.handle_to_slots, handle) || return 0 - return length(tlas.handle_to_slots[handle]) +function n_instances(tlas::TLAS, handle::TLASHandle)::Int + haskey(tlas.handle_to_range, handle) || return 0 + handle in tlas.deleted_handles && return 0 + return length(tlas.handle_to_range[handle]) end """ - n_geometries(tlas::TLASBuilder) -> Int + n_geometries(tlas::TLAS) -> Int Get the total number of distinct geometries (BLASes) in the TLAS. """ -n_geometries(tlas::TLASBuilder) = length(tlas.blas_array) +n_geometries(tlas::TLAS) = length(tlas.blas_array) """ - n_total_instances(tlas::TLASBuilder) -> Int + n_total_instances(tlas::TLAS) -> Int Get the total number of active instances in the TLAS. """ -function n_total_instances(tlas::TLASBuilder)::Int - count(x -> x !== nothing, tlas.instances) -end +n_total_instances(tlas::TLAS) = length(tlas.instances) # ------------------------------------------------------------------------------ -# TLASBuilder: push! operations +# TLAS: push! operations - Direct GPU append # ------------------------------------------------------------------------------ """ - push!(tlas::TLASBuilder, geometry) -> TLASHandle + push!(tlas::TLAS, geometry) -> TLASHandle Add geometry as a single instance at identity transform. Returns a stable handle for later reference. """ -function Base.push!(tlas::TLASBuilder, geometry) - # Wrap as Instance at identity +function Base.push!(tlas::TLAS, geometry) inst = Instance(geometry) return push!(tlas, inst) end """ - push!(tlas::TLASBuilder, inst::Instance) -> TLASHandle + push!(tlas::TLAS, inst::Instance) -> TLASHandle Add an Instance with transforms and metadata. Returns a single handle referencing all instances in the group. + +Uses direct GPU append - instances are appended to the GPU array immediately. """ -function Base.push!(tlas::TLASBuilder, inst::Instance) - # Build BLAS for geometry +function Base.push!(tlas::TLAS, inst::Instance) + # Build triangles on CPU first, then convert to backend mesh = to_triangle_mesh(inst.geometry) - triangles = [Triangle(mesh, i, inst.metadata[1]) - for i in 1:div(length(mesh.indices), 3) - if !is_degenerate(get_vertices(mesh, i))] - isempty(triangles) && error("Geometry has no valid triangles") - blas = build_blas(triangles) - push!(tlas.blas_array, blas) - blas_idx = UInt32(length(tlas.blas_array)) + cpu_triangles = [Triangle(mesh, i, inst.metadata[1]) + for i in 1:div(length(mesh.indices), 3) + if !is_degenerate(get_vertices(mesh, i))] + isempty(cpu_triangles) && error("Geometry has no valid triangles") - # Allocate slots for all transforms - first_slot = UInt32(0) - last_slot = UInt32(0) + # Convert triangles to backend and build BLAS directly on backend + backend_triangles = Adapt.adapt(tlas.backend, cpu_triangles) + blas = build_blas(backend_triangles) - for (i, transform) in enumerate(inst.transforms) + # Convert to isbits BLAS and append to blas_array (GPU append) + isbits_blas = _to_isbits_blas(tlas.backend, blas, tlas.gpu_blas_arrays) + _append_blas!(tlas.backend, tlas.blas_array, isbits_blas) + blas_idx = UInt32(length(tlas.blas_array)) + + # Create InstanceDescriptors on CPU + cpu_descriptors = map(inst.transforms) do transform inv_transform = Mat4f(inv(transform)) - instance_id = inst.metadata[min(i, length(inst.metadata))] - desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) + instance_id = tlas.next_instance_id + tlas.next_instance_id += UInt32(1) + InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) + end - # Allocate slot - slot_idx = _allocate_slot!(tlas) - tlas.instances[slot_idx] = desc + # Record range before append + start_idx = length(tlas.instances) + 1 - if i == 1 - first_slot = slot_idx - end - last_slot = slot_idx - end + # Adapt to backend and append (GPU append) + backend_descriptors = Adapt.adapt(tlas.backend, cpu_descriptors) + append!(tlas.instances, backend_descriptors) - # Create handle with first slot's generation - generation = tlas.generations[first_slot] - handle = TLASHandle(first_slot, generation) + end_idx = length(tlas.instances) - # Register handle -> slot range - tlas.handle_to_slots[handle] = first_slot:last_slot + # Create handle and register range + handle = TLASHandle(tlas.next_handle_id) + tlas.next_handle_id += UInt32(1) + tlas.handle_to_range[handle] = start_idx:end_idx - # Mark dirty tlas.dirty = true - return handle end -"""Allocate a slot, reusing from free_list or growing arrays.""" -function _allocate_slot!(tlas::TLASBuilder)::UInt32 - if !isempty(tlas.free_list) - slot_idx = pop!(tlas.free_list) - # Increment generation for reused slot - tlas.generations[slot_idx] += UInt32(1) - else - # Grow arrays - push!(tlas.instances, nothing) - push!(tlas.generations, UInt32(1)) - slot_idx = UInt32(length(tlas.instances)) - end - return slot_idx -end - # ------------------------------------------------------------------------------ -# TLASBuilder: delete! operation +# TLAS: delete! operation # ------------------------------------------------------------------------------ """ - delete!(tlas::TLASBuilder, handle::TLASHandle) -> Bool + delete!(tlas::TLAS, handle::TLASHandle) -> Bool Remove all instances referenced by the handle. Returns true if successful. The handle becomes invalid after deletion. -""" -function Base.delete!(tlas::TLASBuilder, handle::TLASHandle)::Bool - haskey(tlas.handle_to_slots, handle) || return false - - slots = tlas.handle_to_slots[handle] - # Clear all slots and add to free list - for slot_idx in slots - tlas.instances[slot_idx] = nothing - push!(tlas.free_list, slot_idx) - end - - # Remove from handle map - delete!(tlas.handle_to_slots, handle) +Note: The instances array is compacted during sync!, not immediately. +""" +function Base.delete!(tlas::TLAS, handle::TLASHandle)::Bool + haskey(tlas.handle_to_range, handle) || return false + handle in tlas.deleted_handles && return false - # Mark dirty + # Mark as deleted (will be compacted on sync!) + push!(tlas.deleted_handles, handle) tlas.dirty = true return true end # ------------------------------------------------------------------------------ -# TLASBuilder: update_instance! operations +# TLAS: get_instance - retrieve instance data # ------------------------------------------------------------------------------ """ - update_instance!(tlas::TLASBuilder, handle::TLASHandle, instance_idx::Integer, transform::Mat4f) + get_instance(tlas::TLAS, handle::TLASHandle) -> InstanceDescriptor + get_instance(tlas::TLAS, handle::TLASHandle, instance_idx::Integer) -> InstanceDescriptor -Update a single instance's transform within a group (by 1-based index). +Retrieve the InstanceDescriptor for a handle. If the handle has multiple instances +(created with multiple transforms), use `instance_idx` to specify which one (1-based). + +Note: Reads from GPU array, may involve a device-to-host copy. """ -function update_instance!(tlas::TLASBuilder, handle::TLASHandle, instance_idx::Integer, transform::Mat4f) - haskey(tlas.handle_to_slots, handle) || error("Invalid handle") - slots = tlas.handle_to_slots[handle] - 1 <= instance_idx <= length(slots) || error("Instance index out of range") +function get_instance(tlas::TLAS, handle::TLASHandle, instance_idx::Integer=1) + haskey(tlas.handle_to_range, handle) || error("Invalid handle") + handle in tlas.deleted_handles && error("Handle has been deleted") + range = tlas.handle_to_range[handle] + 1 <= instance_idx <= length(range) || error("Instance index $instance_idx out of range 1:$(length(range))") - slot_idx = first(slots) + UInt32(instance_idx - 1) - old_desc = tlas.instances[slot_idx] - old_desc === nothing && error("Instance at slot $slot_idx is deleted") + idx = first(range) + instance_idx - 1 + # Copy single element from GPU to CPU + return Array(tlas.instances[idx:idx])[1] +end - inv_transform = Mat4f(inv(transform)) - tlas.instances[slot_idx] = InstanceDescriptor( - old_desc.blas_index, - old_desc.instance_id, - transform, - inv_transform, - old_desc.flags - ) +""" + get_instances(tlas::TLAS, handle::TLASHandle) -> Vector{InstanceDescriptor} - tlas.dirty = true - return nothing +Retrieve all InstanceDescriptors for a handle (for handles with multiple transforms). + +Note: Reads from GPU array, involves a device-to-host copy. +""" +function get_instances(tlas::TLAS, handle::TLASHandle) + haskey(tlas.handle_to_range, handle) || error("Invalid handle") + handle in tlas.deleted_handles && error("Handle has been deleted") + range = tlas.handle_to_range[handle] + # Copy range from GPU to CPU + return Array(tlas.instances[range]) end +# ------------------------------------------------------------------------------ +# TLAS: update_transform! operations - Direct GPU updates +# ------------------------------------------------------------------------------ + """ - update_instance!(tlas::TLASBuilder, handle::TLASHandle, transforms::AbstractVector{Mat4f}) + update_transform!(tlas::TLAS, handle::TLASHandle, transform::Mat4f) + +Update the transform of a single-instance handle directly on GPU. +For handles with multiple instances, use `update_transforms!`. -Update all instances' transforms in a group. Length must match. +After calling this, use `refit_tlas!` to update the BVH AABBs. """ -function update_instance!(tlas::TLASBuilder, handle::TLASHandle, transforms::AbstractVector{Mat4f}) - haskey(tlas.handle_to_slots, handle) || error("Invalid handle") - slots = tlas.handle_to_slots[handle] - length(transforms) == length(slots) || error("Transform count ($(length(transforms))) != instance count ($(length(slots)))") +function update_transform!(tlas::TLAS, handle::TLASHandle, transform::Mat4f) + haskey(tlas.handle_to_range, handle) || error("Invalid handle") + handle in tlas.deleted_handles && error("Handle has been deleted") + range = tlas.handle_to_range[handle] + length(range) == 1 || error("Handle has $(length(range)) instances, use update_transforms! for multiple") - for (i, slot_idx) in enumerate(slots) - old_desc = tlas.instances[slot_idx] - old_desc === nothing && error("Instance at slot $slot_idx is deleted") + # Update single instance using kernel + transforms = Adapt.adapt(tlas.backend, [transform]) + update_instance_transforms!(tlas, transforms, 1, first(range)) - transform = transforms[i] - inv_transform = Mat4f(inv(transform)) - tlas.instances[slot_idx] = InstanceDescriptor( - old_desc.blas_index, - old_desc.instance_id, - transform, - inv_transform, - old_desc.flags - ) - end + return nothing +end + +""" + update_transforms!(tlas::TLAS, handle::TLASHandle, transforms::AbstractVector{Mat4f}) + +Update all instances' transforms in a group directly on GPU. +Length must match the number of instances in the handle. + +The transforms array can be CPU or GPU - will be adapted to backend. +After calling this, use `refit_tlas!` to update the BVH AABBs. +""" +function update_transforms!(tlas::TLAS, handle::TLASHandle, transforms::AbstractVector{Mat4f}) + haskey(tlas.handle_to_range, handle) || error("Invalid handle") + handle in tlas.deleted_handles && error("Handle has been deleted") + range = tlas.handle_to_range[handle] + length(transforms) == length(range) || error("Transform count ($(length(transforms))) != instance count ($(length(range)))") + + # Adapt transforms to backend if needed + backend_transforms = Adapt.adapt(tlas.backend, transforms) + update_instance_transforms!(tlas, backend_transforms, length(range), first(range)) - tlas.dirty = true return nothing end # ------------------------------------------------------------------------------ -# TLASBuilder: update! for geometry replacement +# TLAS: update! for geometry replacement # ------------------------------------------------------------------------------ """ - update!(tlas::TLASBuilder, handle::TLASHandle, new_geometry) + update!(tlas::TLAS, handle::TLASHandle, new_geometry) Replace the geometry (BLAS) for a handle. All instances sharing this BLAS get updated. """ -function update!(tlas::TLASBuilder, handle::TLASHandle, new_geometry) - haskey(tlas.handle_to_slots, handle) || error("Invalid handle") - slots = tlas.handle_to_slots[handle] - isempty(slots) && error("Handle has no instances") +function update!(tlas::TLAS, handle::TLASHandle, new_geometry) + haskey(tlas.handle_to_range, handle) || error("Invalid handle") + handle in tlas.deleted_handles && error("Handle has been deleted") + range = tlas.handle_to_range[handle] + isempty(range) && error("Handle has no instances") - # Get blas_index from first instance - first_slot = first(slots) - first_desc = tlas.instances[first_slot] - first_desc === nothing && error("First instance is deleted") - blas_idx = first_desc.blas_index + # Get blas_index from first instance (read from GPU) + first_desc = Array(tlas.instances[first(range):first(range)])[1] + blas_idx = Int(first_desc.blas_index) - # Rebuild BLAS + # Build new BLAS on backend (GPU-first) mesh = to_triangle_mesh(new_geometry) - triangles = [Triangle(mesh, i, first_desc.instance_id) - for i in 1:div(length(mesh.indices), 3) - if !is_degenerate(get_vertices(mesh, i))] - isempty(triangles) && error("New geometry has no valid triangles") - new_blas = build_blas(triangles) - - # Replace in-place - tlas.blas_array[blas_idx] = new_blas + cpu_triangles = [Triangle(mesh, i, first_desc.instance_id) + for i in 1:div(length(mesh.indices), 3) + if !is_degenerate(get_vertices(mesh, i))] + isempty(cpu_triangles) && error("New geometry has no valid triangles") + + backend_triangles = Adapt.adapt(tlas.backend, cpu_triangles) + new_blas = build_blas(backend_triangles) + + # Convert to isbits and replace in blas_array + # First, update gpu_blas_arrays (replace the old backing arrays) + old_nodes_idx = 2*(blas_idx-1) + 1 + old_prims_idx = 2*(blas_idx-1) + 2 + tlas.gpu_blas_arrays[old_nodes_idx] = new_blas.nodes + tlas.gpu_blas_arrays[old_prims_idx] = new_blas.primitives + + # Create isbits version and replace in blas_array + isbits_blas = BLAS( + _get_isbits_ptr(tlas.backend, new_blas.nodes), + _get_isbits_ptr(tlas.backend, new_blas.primitives), + new_blas.root_aabb + ) + tlas.blas_array[blas_idx] = isbits_blas tlas.dirty = true return nothing end # ------------------------------------------------------------------------------ -# TLASBuilder: sync! and _rebuild_static! +# TLAS: sync! - Rebuild BVH from GPU instances array # ------------------------------------------------------------------------------ """ - sync!(tlas::TLASBuilder) -> TLASBuilder + sync!(tlas::TLAS) -> TLAS + +Rebuild the BVH structure if dirty. No-op if already up-to-date. -Rebuild the GPU-ready TLAS if dirty. No-op if already up-to-date. +If there are deleted handles, compacts the instances array first. +Then rebuilds the BVH topology from the (compacted) instances. """ -function sync!(tlas::TLASBuilder) +function sync!(tlas::TLAS) tlas.dirty || return tlas - _rebuild_static!(tlas) + _rebuild_bvh!(tlas) return tlas end -"""Internal: Rebuild the static TLAS from current CPU state.""" -function _rebuild_static!(tlas::TLASBuilder) - # Compact instances (filter nothing entries) - active_instances = InstanceDescriptor[] - for inst in tlas.instances - inst === nothing && continue - push!(active_instances, inst) +"""Internal: Compact deleted instances and rebuild TLAS BVH.""" +function _rebuild_bvh!(tlas::TLAS) + # If there are deletions, compact the instances array + if !isempty(tlas.deleted_handles) + _compact_instances!(tlas) end - if isempty(active_instances) - tlas.static = nothing + n = length(tlas.instances) + if n == 0 + tlas.nodes = KA.allocate(tlas.backend, BVHNode2, 0) + tlas.root_aabb = Bounds3() tlas.dirty = false return end - # Build TLAS using existing build_tlas function - static_tlas = build_tlas(tlas.blas_array, active_instances) - tlas.static = static_tlas + # Build TLAS BVH structure from existing GPU arrays + # instances are already on backend, blas_array has isbits BLASes + built_tlas = build_tlas(tlas.blas_array, tlas.instances) + + # Update nodes with rebuilt structure + tlas.nodes = built_tlas.nodes + tlas.root_aabb = built_tlas.root_aabb + tlas.dirty = false return end +"""Internal: Compact instances array by removing deleted handles.""" +function _compact_instances!(tlas::TLAS) + # Collect ranges to keep (non-deleted handles) + ranges_to_keep = UnitRange{Int}[] + for (handle, range) in tlas.handle_to_range + handle in tlas.deleted_handles && continue + push!(ranges_to_keep, range) + end + sort!(ranges_to_keep, by=first) + + # If nothing to compact, just clear deleted handles + if length(ranges_to_keep) == length(tlas.handle_to_range) - length(tlas.deleted_handles) + # Copy valid ranges to new array and update handle mappings + cpu_instances = Array(tlas.instances) + new_instances = InstanceDescriptor[] + new_handle_to_range = Dict{TLASHandle, UnitRange{Int}}() + + for (handle, range) in tlas.handle_to_range + handle in tlas.deleted_handles && continue + new_start = length(new_instances) + 1 + append!(new_instances, cpu_instances[range]) + new_end = length(new_instances) + new_handle_to_range[handle] = new_start:new_end + end + + # Update TLAS with compacted instances + tlas.instances = Adapt.adapt(tlas.backend, new_instances) + tlas.handle_to_range = new_handle_to_range + end + + # Remove deleted handles from tracking + for handle in tlas.deleted_handles + delete!(tlas.handle_to_range, handle) + end + empty!(tlas.deleted_handles) +end + # ------------------------------------------------------------------------------ -# TLASBuilder: Adapt integration +# TLAS: Adapt integration - Returns StaticTLAS for kernel traversal # ------------------------------------------------------------------------------ """ -Adapt TLASBuilder -> TLAS for GPU kernel usage. -Syncs if dirty, then returns the cached static TLAS. + Adapt.adapt_structure(to, tlas::TLAS) -> StaticTLAS + +Convert TLAS to StaticTLAS for GPU kernel usage. +Syncs if dirty, then extracts isbits device pointers for kernels. + +GPU-first: All arrays are already on the TLAS's backend. +The target backend must match the TLAS backend. + +Note: The returned StaticTLAS references arrays owned by the TLAS. +The TLAS must stay alive while the StaticTLAS is in use. """ -function Adapt.adapt_structure(to, tlas::TLASBuilder) +function Adapt.adapt_structure(to, tlas::TLAS) sync!(tlas) - tlas.static === nothing && error("Cannot adapt empty TLASBuilder") - return Adapt.adapt_structure(to, tlas.static) + length(tlas.instances) == 0 && error("Cannot adapt empty TLAS") + tlas.backend != to && error("TLAS backend ($(tlas.backend)) doesn't match target ($to). Create TLAS with the correct backend.") + + # GPU-first: arrays are already on backend, just get isbits pointers + return StaticTLAS( + _get_isbits_ptr(to, tlas.nodes), + _get_isbits_ptr(to, tlas.instances), + _get_isbits_ptr(to, tlas.blas_array), + tlas.root_aabb + ) +end + +""" + Adapt.adapt_structure(to, tlas::StaticTLAS) -> StaticTLAS + +Adapt StaticTLAS arrays. If already isbits, returns as-is. +Otherwise adapts each array (CLArray → CLDeviceVector). + +Note: StaticTLAS should come from adapting a mutable TLAS, where BLASes +already have isbits device pointers. Use TLAS(items) to create a mutable +TLAS that properly manages GPU array lifetimes. +""" +function Adapt.adapt_structure(to, tlas::StaticTLAS) + # If already isbits, return as-is (already kernel-ready) + isbitstype(typeof(tlas)) && return tlas + + # BLASes should already have isbits pointers from mutable TLAS path + # Just adapt the outer arrays (CLArray → CLDeviceVector) + return StaticTLAS( + Adapt.adapt(to, tlas.nodes), + Adapt.adapt(to, tlas.instances), + Adapt.adapt(to, tlas.blas_array), + tlas.root_aabb + ) +end + +# Adapt BLAS when adapting to kernel arguments +function Adapt.adapt_structure(to, blas::BLAS) + BLAS( + Adapt.adapt(to, blas.nodes), + Adapt.adapt(to, blas.primitives), + blas.root_aabb + ) end # ============================================================================== @@ -762,21 +1041,25 @@ function build_blas( copyto!(morton_codes, morton_codes_sorted) - # Allocate nodes + # Allocate nodes and initialize with empty values + # Use kernel-based fill (OpenCL's fill! doesn't support struct types) nodes = KA.allocate(backend, BVHNode2, 2*n - 1) empty_node = BVHNode2( Point3f(0), Point3f(0), Point3f(0), Point3f(0), INVALID_NODE, INVALID_NODE, INVALID_NODE ) - fill!(nodes, empty_node) + fill_kernel! = fill_bvhnode2_kernel!(backend) + fill_kernel!(nodes, empty_node, ndrange=length(nodes)) - # Launch kernel: Emit topology - topo_kernel! = emit_topology_kernel!(backend) - topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) + # Launch kernel: Emit topology (only if n > 1, i.e., there are internal nodes) + if n > 1 + topo_kernel! = emit_topology_kernel!(backend) + topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) - # Launch kernel: Set parent pointers - parent_kernel! = set_parent_pointers_kernel!(backend) - parent_kernel!(nodes, Int32(n), ndrange=n-1) + # Launch kernel: Set parent pointers + parent_kernel! = set_parent_pointers_kernel!(backend) + parent_kernel!(nodes, Int32(n), ndrange=n-1) + end # Launch kernel: Create leaf nodes leaf_kernel! = create_leaf_nodes_kernel!(backend) @@ -788,8 +1071,11 @@ function build_blas( refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) # Compute root AABB - check if root is interior or leaf - root_is_interior = is_interior(nodes[1]) - root_aabb = get_node_aabb(nodes[1], root_is_interior) + # Use explicit copy to CPU to avoid scalar indexing issues on GPU + KA.synchronize(backend) + root_node = Array(nodes[1:1])[1] + root_is_interior = is_interior(root_node) + root_aabb = get_node_aabb(root_node, root_is_interior) return BLAS(nodes, sorted_prims, root_aabb) end @@ -827,11 +1113,12 @@ end end """ - build_tlas(blas_array::AbstractVector{BLAS}, instances::AbstractVector{InstanceDescriptor}) -> TLAS + build_tlas(blas_array::AbstractVector{BLAS}, instances::AbstractVector{InstanceDescriptor}) -> StaticTLAS Build a Top-Level Acceleration Structure over instances. Uses LBVH over transformed instance AABBs. +Returns a StaticTLAS suitable for ray traversal. Uses KernelAbstractions for automatic CPU/GPU execution based on input array type. """ function build_tlas( @@ -839,26 +1126,39 @@ function build_tlas( instances::AbstractVector{InstanceDescriptor} ) where {B <: BLAS} n = length(instances) - n == 0 && return TLAS(BVHNode2[], instances, blas_array, Bounds3()) - - # Infer backend from instances array type - backend = KA.get_backend(instances) - - # Compute scene AABB from transformed instance bounds - scene_aabb = Bounds3() - for inst in instances - blas = blas_array[inst.blas_index] - local_aabb = blas.root_aabb - - # Transform all 8 corners and compute world AABB - world_aabb = Bounds3() - for c in 1:8 - world_corner = transform_point(inst.transform, corner(local_aabb, c)) - world_aabb = world_aabb ∪ Bounds3(world_corner) - end + n == 0 && return StaticTLAS(BVHNode2[], instances, blas_array, Bounds3()) + + # Infer backend from blas_array type (instances may be CPU Vector) + backend = KA.get_backend(blas_array) + + # Compute scene AABB from transformed instance bounds using GPU kernel + # Allocate arrays for per-instance world AABBs + aabb_mins = KA.allocate(backend, Point3f, n) + aabb_maxs = KA.allocate(backend, Point3f, n) + + # Adapt instances to backend for kernel execution (instances may be CPU Vector) + backend_instances = Adapt.adapt(backend, instances) - scene_aabb = scene_aabb ∪ world_aabb + # Launch kernel to compute world AABBs in parallel + aabb_kernel! = compute_instance_aabbs_kernel!(backend) + aabb_kernel!(aabb_mins, aabb_maxs, backend_instances, blas_array, ndrange=n) + KA.synchronize(backend) + + # Copy results to CPU and compute scene AABB via reduction + cpu_mins = Array(aabb_mins) + cpu_maxs = Array(aabb_maxs) + + scene_min_p = cpu_mins[1] + scene_max_p = cpu_maxs[1] + for i in 2:n + scene_min_p = Point3f(min(scene_min_p[1], cpu_mins[i][1]), + min(scene_min_p[2], cpu_mins[i][2]), + min(scene_min_p[3], cpu_mins[i][3])) + scene_max_p = Point3f(max(scene_max_p[1], cpu_maxs[i][1]), + max(scene_max_p[2], cpu_maxs[i][2]), + max(scene_max_p[3], cpu_maxs[i][3])) end + scene_aabb = Bounds3(scene_min_p, scene_max_p) scene_min = scene_aabb.p_min aabb_extent = scene_aabb.p_max - scene_aabb.p_min @@ -874,43 +1174,45 @@ function build_tlas( # Launch kernel: Calculate Morton codes for instances calc_kernel! = calculate_tlas_morton_codes_kernel!(backend) - calc_kernel!(morton_codes, instances, blas_array, scene_min, scene_extent, ndrange=n) + calc_kernel!(morton_codes, backend_instances, blas_array, scene_min, scene_extent, ndrange=n) KA.synchronize(backend) - # Sort by Morton codes - sorted_indices = sortperm(morton_codes) - morton_codes_sorted = morton_codes[sorted_indices] - copyto!(morton_codes, morton_codes_sorted) + # Sort by Morton codes (copy to CPU for sorting, GPU sortperm causes scalar indexing) + cpu_morton_codes = Array(morton_codes) + cpu_sorted_indices = Int32.(sortperm(cpu_morton_codes)) # Use Int32 for GPU compatibility + sorted_indices = Adapt.adapt(backend, cpu_sorted_indices) + cpu_morton_codes_sorted = cpu_morton_codes[cpu_sorted_indices] + copyto!(morton_codes, Adapt.adapt(backend, cpu_morton_codes_sorted)) - # Allocate nodes + # Allocate nodes and initialize with empty values + # Use kernel-based fill (OpenCL's fill! doesn't support struct types) nodes = KA.allocate(backend, BVHNode2, max(1, 2*n - 1)) empty_node = BVHNode2( Point3f(0), Point3f(0), Point3f(0), Point3f(0), INVALID_NODE, INVALID_NODE, INVALID_NODE ) - fill!(nodes, empty_node) + fill_kernel! = fill_bvhnode2_kernel!(backend) + fill_kernel!(nodes, empty_node, ndrange=length(nodes)) # Single-instance case: trivial TLAS if n == 1 - original_idx = sorted_indices[1] - inst = instances[original_idx] - blas = blas_array[inst.blas_index] - local_aabb = blas.root_aabb - - world_aabb = Bounds3() - for c in 1:8 - world_corner = transform_point(inst.transform, corner(local_aabb, c)) - world_aabb = world_aabb ∪ Bounds3(world_corner) - end + # Use CPU copies to avoid GPU scalar indexing + original_idx = Array(sorted_indices[1:1])[1] + + # Use scene_aabb computed from kernel (same as the single instance's world AABB) + world_aabb = scene_aabb - nodes[1] = BVHNode2( + # Create leaf node on CPU and copy to backend + leaf_node = BVHNode2( world_aabb.p_min, world_aabb.p_max, Point3f(0), Point3f(0), INVALID_NODE, UInt32(original_idx - 1), INVALID_NODE ) + cpu_nodes = [leaf_node] + copyto!(nodes, Adapt.adapt(backend, cpu_nodes)) - return TLAS(nodes, instances, blas_array, world_aabb) + return StaticTLAS(nodes, backend_instances, blas_array, world_aabb) end # Multi-instance case: build proper LBVH @@ -918,29 +1220,28 @@ function build_tlas( # Launch kernel: Emit topology (reuse BLAS topology kernel - same algorithm) topo_kernel! = emit_topology_kernel!(backend) topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) - KA.synchronize(backend) - # Launch kernel: Set parent pointers parent_kernel! = set_parent_pointers_kernel!(backend) parent_kernel!(nodes, Int32(n), ndrange=n-1) - KA.synchronize(backend) - # Launch kernel: Create TLAS leaf nodes (different from BLAS - stores AABBs, not vertices) leaf_kernel! = create_tlas_leaf_nodes_kernel!(backend) - leaf_kernel!(nodes, sorted_indices, instances, blas_array, Int32(n), ndrange=n) - KA.synchronize(backend) - + leaf_kernel!(nodes, sorted_indices, backend_instances, blas_array, Int32(n), ndrange=n) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) refit_kernel! = refit_tlas_aabbs_kernel!(backend) refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) - KA.synchronize(backend) - root_aabb = get_tlas_node_aabb(nodes[1], true) + # Get root AABB (copy to CPU to avoid scalar indexing) + root_node = Array(nodes[1:1])[1] + root_aabb = get_tlas_node_aabb(root_node, true) - return TLAS(nodes, instances, blas_array, root_aabb) + return StaticTLAS(nodes, backend_instances, blas_array, root_aabb) end + +# Type union for traversal - both TLAS and StaticTLAS have the same traversal-relevant fields +const TraversableTLAS = Union{TLAS, StaticTLAS} + # ============================================================================== # Transform Utilities # ============================================================================== @@ -1129,7 +1430,7 @@ Algorithm: 4. Transform back to world space 5. Return closest hit across all instances """ -@inline function closest_hit(tlas::TLAS, ray::R) where {R <: AbstractRay} +@inline function closest_hit(tlas::TraversableTLAS, ray::R) where {R <: AbstractRay} # Initialize traversal state - matches HLSL TraceRays ray = check_direction(ray) ray_o::Point3f = ray.o @@ -1256,7 +1557,7 @@ Faster than closest_hit when only occlusion testing is needed. Matches HLSL TraceRays with ANY_HIT defined. """ -@inline function any_hit(tlas::TLAS{NA, IA, BA}, ray::R) where {NA, IA, BA, R <: AbstractRay} +@inline function any_hit(tlas::TraversableTLAS, ray::R) where {R <: AbstractRay} # Initialize traversal state - matches HLSL TraceRays ray = check_direction(ray) ray_o::Point3f = ray.o @@ -1367,7 +1668,7 @@ end # ============================================================================== """Get world-space AABB of a TLAS.""" -function world_bound(tlas::TLAS)::Bounds3 +function world_bound(tlas::TraversableTLAS)::Bounds3 return tlas.root_aabb end @@ -1392,59 +1693,45 @@ Update the transform of a single instance. Call `refit_tlas!` after updating tra """ function update_instance_transform!(tlas::TLAS, instance_idx::Integer, transform::Mat4f) inv_transform = Mat4f(inv(transform)) - old_inst = tlas.instances[instance_idx] - tlas.instances[instance_idx] = InstanceDescriptor( - old_inst.blas_index, - old_inst.instance_id, - transform, - inv_transform, - old_inst.flags - ) + + # Use scalar indexing to update single element directly on GPU + @allowscalar begin + old_inst = tlas.instances[instance_idx] + tlas.instances[instance_idx] = InstanceDescriptor( + old_inst.blas_index, + old_inst.instance_id, + transform, + inv_transform, + old_inst.flags + ) + end return nothing end """ - refit_tlas!(tlas::TLAS; backend=nothing) + refit_tlas!(tlas::TLAS) Refit the TLAS after instance transforms have been updated. Updates leaf AABBs from instance transforms and propagates changes up the tree. This is much faster than rebuilding the TLAS from scratch when only transforms change. -Works on both CPU and GPU TLAS. - -For GPU TLAS (created via `to_gpu`), you must provide the backend explicitly: - refit_tlas!(tlas_gpu; backend=ROCBackend()) +Operates directly on the backend arrays stored in the TLAS. """ -function refit_tlas!(tlas::TLAS; backend=nothing) +function refit_tlas!(tlas::TLAS) n = length(tlas.instances) n == 0 && return tlas + backend = tlas.backend - # Auto-detect backend for CPU arrays, require explicit for GPU device vectors - if backend === nothing - backend = KA.get_backend(tlas.nodes) - end - - nodes = tlas.nodes - instances = tlas.instances - blas_array = tlas.blas_array - - # Update leaf node AABBs from new transforms (GPU kernel) + # Update leaf node AABBs from new transforms (kernel) leaf_kernel! = update_tlas_leaf_aabbs_kernel!(backend) - leaf_kernel!(nodes, instances, blas_array, Int32(n), ndrange=n) - KA.synchronize(backend) - + leaf_kernel!(tlas.nodes, tlas.instances, tlas.blas_array, Int32(n), ndrange=n) # Refit internal nodes bottom-up using atomic counters if n > 1 update_flags = KA.zeros(backend, UInt32, n - 1) refit_kernel! = refit_tlas_aabbs_kernel!(backend) - refit_kernel!(nodes, update_flags, Int32(n), ndrange=n) - KA.synchronize(backend) + refit_kernel!(tlas.nodes, update_flags, Int32(n), ndrange=n) end - # Update root AABB - # Note: Can't mutate tlas.root_aabb directly since TLAS is immutable - # The root_aabb in the struct may be stale, but traversal uses node AABBs - return tlas end @@ -1496,7 +1783,7 @@ end # ============================================================================== """ - TLAS(primitives::AbstractVector, metadata_fn::Function) + TLAS(primitives::AbstractVector, metadata_fn::Function; backend=KA.CPU()) Universal BVH constructor. Each primitive becomes a BLAS with a single instance. Drop-in replacement for `BVH(primitives, metadata_fn)`. @@ -1504,24 +1791,29 @@ Drop-in replacement for `BVH(primitives, metadata_fn)`. Each mesh is automatically treated as an instance at identity transform. Perfect for scenes where you just have different meshes and want automatic instancing. +GPU-first: Specify backend to build all BLASes directly on GPU. + Example: ```julia geometries = [cat_mesh, floor, sphere] tlas = TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) # Same API as BVH, but uses instancing internally! + +# GPU-first: +tlas = TLAS(geometries, metadata_fn; backend=OpenCLBackend()) ``` """ function TLAS( primitives::AbstractVector{P}, - metadata_fn::Function + metadata_fn::Function; + backend = KA.CPU() ) where {P} # Each primitive becomes its own BLAS first_mesh = Raycore.to_triangle_mesh(first(primitives)) first_metadata = metadata_fn(1, 1) TMetadata = typeof(first_metadata) - # Build first BLAS to get concrete type - # Filter out degenerate triangles (e.g., at poles of UV-sphere tessellations) + # Build first BLAS on backend first_triangles = Triangle{TMetadata}[] for i in 1:div(length(first_mesh.indices), 3) if !is_degenerate(get_vertices(first_mesh, i)) @@ -1529,11 +1821,11 @@ function TLAS( push!(first_triangles, Triangle(first_mesh, i, metadata)) end end - first_blas = build_blas(first_triangles) + backend_triangles = Adapt.adapt(backend, first_triangles) + first_blas = build_blas(backend_triangles) - # Create concretely-typed arrays using first element's type - BLASType = typeof(first_blas) - blas_array = BLASType[first_blas] + # Create array of BLASes (with backend arrays) + blas_array = typeof(first_blas)[first_blas] instances = InstanceDescriptor[] # Add first instance @@ -1552,7 +1844,6 @@ function TLAS( triangle_mesh = Raycore.to_triangle_mesh(prim) triangles = Triangle{TMetadata}[] - # Filter out degenerate triangles for i in 1:div(length(triangle_mesh.indices), 3) if !is_degenerate(get_vertices(triangle_mesh, i)) metadata = metadata_fn(mi, i) @@ -1560,14 +1851,15 @@ function TLAS( end end - # Build BLAS for this mesh - blas = build_blas(triangles) + # Build BLAS on backend + backend_tris = Adapt.adapt(backend, triangles) + blas = build_blas(backend_tris) push!(blas_array, blas) - # Create instance at identity (mesh already positioned) + # Create instance at identity push!(instances, InstanceDescriptor( - UInt32(length(blas_array)), # BLAS index - UInt32(mi), # Instance ID = mesh index for metadata + UInt32(length(blas_array)), + UInt32(mi), identity, identity, UInt32(0) @@ -1588,7 +1880,7 @@ end BVH-compatible argument order for closest_hit. Returns (hit_found, triangle, distance, barycentric) - same as BVH. """ -function closest_hit(ray::AbstractRay, tlas::TLAS) +function closest_hit(ray::AbstractRay, tlas::TraversableTLAS) hit, tri, t, bary, inst_id = closest_hit(tlas, ray) return (hit, tri, t, bary) end @@ -1599,131 +1891,47 @@ end BVH-compatible argument order for any_hit. Returns (hit_found, triangle, distance, barycentric) - same as BVH. """ -function any_hit(ray::AbstractRay, tlas::TLAS) +function any_hit(ray::AbstractRay, tlas::TraversableTLAS) hit, tri, t, bary, inst_id = any_hit(tlas, ray) return (hit, tri, t, bary) end """ - Base.eltype(tlas::TLAS) + Base.eltype(tlas::TraversableTLAS) Get the element type of primitives stored in the TLAS. Returns the element type of the first BLAS's primitives. This is needed for compatibility with code that expects `eltype(bvh.primitives)`. -Uses type parameters to avoid indexing into GPU arrays from CPU. +GPU-first: Uses gpu_blas_arrays which contains the backing arrays. """ -function Base.eltype(::TLAS{NA, IA, BA}) where {NA, IA, BA} - # Extract BLAS type from the BLASArray type parameter - # BA <: AbstractVector{<:BLAS{NodeArray, TriArray}} +function Base.eltype(tlas::TLAS) + # gpu_blas_arrays contains pairs of (nodes, prims) for each BLAS + # The second entry is the primitives array of the first BLAS + length(tlas.gpu_blas_arrays) < 2 && return Triangle{UInt32} + prims_array = tlas.gpu_blas_arrays[2] + return eltype(prims_array) +end + +function Base.eltype(::StaticTLAS{NA, IA, BA}) where {NA, IA, BA} BLASType = eltype(BA) - # BLAS{NodeArray, TriArray} -> TriArray -> eltype(TriArray) return eltype(fieldtype(BLASType, :primitives)) end # ============================================================================== -# High-Level Instance API +# Convenience TLAS Constructor # ============================================================================== """ - Instance{G, T, M} + TLAS(items::AbstractVector; backend=KA.CPU()) -> (TLAS, Vector{TLASHandle}) -User-friendly wrapper for instanced geometry. - -Each Instance represents one or more copies of a geometry with different transforms. -Multiple transforms = multiple instances sharing the same BLAS. - -# Fields -- `geometry::G`: The source geometry (mesh, etc.) -- `transforms::T`: Per-instance local-to-world transforms (Vector or GPU array) -- `metadata::M`: Per-instance metadata (Vector or GPU array, e.g., material indices) - -# Examples -```julia -# Single instance at identity -inst = Instance(mesh) - -# Single instance with transform and metadata -inst = Instance(mesh, my_transform, UInt32(1)) - -# Multiple instances (10k particles sharing one sphere mesh) -transforms = [translation(pos) * scale(r) for (pos, r) in particles] -metadata = fill(UInt32(1), length(transforms)) # All use material 1 -inst = Instance(sphere_mesh, transforms, metadata) - -# GPU arrays work too -transforms_gpu = ROCArray(transforms) -metadata_gpu = ROCArray(metadata) -inst_gpu = Instance(sphere_mesh, transforms_gpu, metadata_gpu) -``` -""" -struct Instance{G, T<:AbstractVector{Mat4f}, M<:AbstractVector} - geometry::G - transforms::T - metadata::M -end - -# Convenience constructors -"""Single instance with transform and metadata.""" -Instance(geom, transform::Mat4f, metadata) = - Instance(geom, [transform], [metadata]) - -"""Single instance at identity transform.""" -Instance(geom; metadata=UInt32(1)) = - Instance(geom, [Mat4f(LinearAlgebra.I)], [metadata]) - -"""Multiple instances with same metadata.""" -function Instance(geom, transforms::AbstractVector{Mat4f}; metadata=UInt32(1)) - Instance(geom, transforms, fill(metadata, length(transforms))) -end - -""" - InstanceHandle - -Stable handle for referencing instances in a TLAS. - -The handle stores the BLAS index which is stable across add/remove operations. -Use `find_instances(tlas, handle)` to get the current instance range. - -# Fields -- `blas_index`: Which BLAS geometry this instance uses (stable identifier) -""" -struct InstanceHandle - blas_index::UInt32 -end - -""" - find_instances(tlas::TLAS, handle::InstanceHandle) -> UnitRange{Int} - -Find the current instance range for a handle by searching for matching blas_index. -Returns the range of indices in `tlas.instances` that use this BLAS. - -This is O(n) but handles are stable across add/remove operations. -""" -function find_instances(tlas::TLAS, handle::InstanceHandle)::UnitRange{Int} - start_idx = 0 - end_idx = 0 - for (i, inst) in enumerate(tlas.instances) - if inst.blas_index == handle.blas_index - if start_idx == 0 - start_idx = i - end - end_idx = i - end - end - start_idx == 0 && error("Handle not found in TLAS (blas_index=$(handle.blas_index))") - return start_idx:end_idx -end - -Base.length(tlas::TLAS, h::InstanceHandle) = length(find_instances(tlas, h)) - -""" - TLAS(items::AbstractVector) -> TLAS - -Create a TLAS from a vector of geometries or Instance objects. +Create a mutable TLAS from a vector of geometries or Instance objects. Plain geometries are automatically wrapped as single instances at identity transform. -Returns the TLAS and a vector of InstanceHandles for later reference. +Returns the mutable TLAS and a vector of TLASHandles for later reference. + +The TLAS stores backend arrays directly in its fields (nodes, instances, blas_array). +The TLAS must stay alive while any adapted StaticTLAS is in use. # Examples ```julia @@ -1734,267 +1942,52 @@ tlas, handles = TLAS([ Instance(wall, wall_transform, UInt32(2)) ]) -# Later: update transforms (fast, uses GPU kernel) -update_transforms!(tlas, handles[2], new_particle_transforms) +# Later: update transforms via TLASHandle (uses update! function) +# update!(tlas, handles[2], new_transforms) refit_tlas!(tlas) - -# Add/remove instances (requires rebuild) -new_handle = add_instance!(tlas, Instance(new_mesh, transforms)) -remove_instance!(tlas, handles[1]) -rebuild_tlas!(tlas) ``` """ -function TLAS(items::AbstractVector) - # Convert items to Instances - instances = Instance[] - for item in items - if item isa Instance - push!(instances, item) - else - # Wrap plain geometry as single instance at identity - push!(instances, Instance(item)) - end - end - - return _build_tlas_from_instances(instances) -end - -""" - _build_tlas_from_instances(instances::Vector{<:Instance}) -> (TLAS, Vector{InstanceHandle}) - -Internal: Build TLAS from Instance objects. -""" -function _build_tlas_from_instances(instances::Vector{<:Instance}) - isempty(instances) && error("Cannot create TLAS from empty instance list") - - # Build first BLAS to get concrete type for the array - first_inst = instances[1] - first_mesh = to_triangle_mesh(first_inst.geometry) - # Filter out degenerate triangles (e.g., at poles of UV-sphere tessellations) - first_triangles = [Triangle(first_mesh, i, first_inst.metadata[1]) - for i in 1:div(length(first_mesh.indices), 3) - if !is_degenerate(get_vertices(first_mesh, i))] - first_blas = build_blas(first_triangles) - - # Create concretely-typed arrays - blas_array = typeof(first_blas)[first_blas] - instance_descriptors = InstanceDescriptor[] - handles = InstanceHandle[] +function TLAS(items::AbstractVector; backend=KA.CPU()) + isempty(items) && error("Cannot create TLAS from empty item list") - # Add first instance's descriptors - blas_idx = UInt32(1) - for (i, transform) in enumerate(first_inst.transforms) - inv_transform = Mat4f(inv(transform)) - instance_id = UInt32(length(instance_descriptors) + 1) - desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) - push!(instance_descriptors, desc) - end - push!(handles, InstanceHandle(blas_idx)) + # Create mutable TLAS with the specified backend + tlas = TLAS(backend) + handles = TLASHandle[] - # Process remaining instances - for inst in instances[2:end] - mesh = to_triangle_mesh(inst.geometry) - # Filter out degenerate triangles - triangles = [Triangle(mesh, i, inst.metadata[1]) - for i in 1:div(length(mesh.indices), 3) - if !is_degenerate(get_vertices(mesh, i))] - blas = build_blas(triangles) - push!(blas_array, blas) - blas_idx = UInt32(length(blas_array)) - - # Create InstanceDescriptors for each transform - for (i, transform) in enumerate(inst.transforms) - inv_transform = Mat4f(inv(transform)) - instance_id = UInt32(length(instance_descriptors) + 1) - desc = InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0)) - push!(instance_descriptors, desc) - end - - push!(handles, InstanceHandle(blas_idx)) + # Push each item + for item in items + inst = item isa Instance ? item : Instance(item) + h = push!(tlas, inst) + push!(handles, h) end - # Build TLAS - tlas = build_tlas(blas_array, instance_descriptors) + # Sync to build the BVH structure + sync!(tlas) return tlas, handles end """ - add_instance!(tlas::TLAS, inst::Instance) -> InstanceHandle - -Add a new instance to the TLAS. Returns a stable handle for later reference. - -**Note:** Call `rebuild_tlas!(tlas)` after adding instances to update the BVH structure. -Uses `append!` internally which works on both CPU and GPU arrays. -""" -function add_instance!(tlas::TLAS, inst::Instance) - # Build BLAS from geometry - mesh = to_triangle_mesh(inst.geometry) - triangles = [Triangle(mesh, i, inst.metadata[1]) for i in 1:div(length(mesh.indices), 3)] - blas = build_blas(triangles) - - # Append to blas_array - push!(tlas.blas_array, blas) - blas_idx = UInt32(length(tlas.blas_array)) - - # Create InstanceDescriptors and append - # Note: instance_id is sequential; material info is stored in Triangle metadata - new_descriptors = InstanceDescriptor[] - base_id = UInt32(length(tlas.instances)) - for (i, transform) in enumerate(inst.transforms) - inv_transform = Mat4f(inv(transform)) - instance_id = base_id + UInt32(i) - desc = InstanceDescriptor( - blas_idx, - instance_id, - transform, - inv_transform, - UInt32(0) - ) - push!(new_descriptors, desc) - end - append!(tlas.instances, new_descriptors) - - return InstanceHandle(blas_idx) -end - -""" - remove_instance!(tlas::TLAS, handle::InstanceHandle) - -Mark an instance as inactive (sets flags to indicate removal). - -**Note:** Call `rebuild_tlas!(tlas)` after removing instances to actually compact -the arrays and update the BVH structure. - -For performance, consider batching removals before calling rebuild. -""" -function remove_instance!(tlas::TLAS, handle::InstanceHandle) - # Find current instance range and mark as inactive - instance_range = find_instances(tlas, handle) - for idx in instance_range - old_inst = tlas.instances[idx] - # Use flags field to mark as removed (0xFFFFFFFF = removed) - tlas.instances[idx] = InstanceDescriptor( - old_inst.blas_index, - old_inst.instance_id, - old_inst.transform, - old_inst.inv_transform, - UInt32(0xFFFFFFFF) # Mark as removed - ) - end - return nothing -end - -""" - rebuild_tlas!(tlas::TLAS) - -Rebuild the TLAS structure after add/remove operations. - -This compacts the instance array (removing marked-as-deleted instances) -and rebuilds the BVH topology. Relatively expensive (~1ms for 10k instances). - -For transform-only updates, use `refit_tlas!` instead which is much faster. -""" -function rebuild_tlas!(tlas::TLAS) - # Filter out removed instances (flags == 0xFFFFFFFF) - active_instances = filter(inst -> inst.flags != UInt32(0xFFFFFFFF), tlas.instances) - - if isempty(active_instances) - # Empty TLAS - just clear - resize!(tlas.instances, 0) - resize!(tlas.nodes, 0) - return tlas - end - - # Rebuild from active instances - new_tlas = build_tlas(tlas.blas_array, active_instances) - - # Update in place using resize! and copyto! - resize!(tlas.instances, length(new_tlas.instances)) - copyto!(tlas.instances, new_tlas.instances) - - resize!(tlas.nodes, length(new_tlas.nodes)) - copyto!(tlas.nodes, new_tlas.nodes) - - return tlas -end - -""" - n_instances(tlas::TLAS) + n_instances(tlas::TraversableTLAS) Return total number of instance descriptors in the TLAS. """ -n_instances(tlas::TLAS) = length(tlas.instances) +n_instances(tlas::TraversableTLAS) = length(tlas.instances) """ - n_geometries(tlas::TLAS) + n_geometries(tlas::TraversableTLAS) Return number of unique BLAS geometries in the TLAS. """ -n_geometries(tlas::TLAS) = length(tlas.blas_array) - -""" - update_transform!(tlas::TLAS, handle::InstanceHandle, transform::Mat4f) - -Update the transform for a single-instance handle (e.g., a Makie plot's model matrix). - -This is a convenience function for the common case where a handle has exactly one instance. -For multi-instance handles (like MeshScatter), use `update_transforms!` instead. - -After updating, call `refit_tlas!(tlas)` to update the BVH AABBs. -""" -function update_transform!(tlas::TLAS, handle::InstanceHandle, transform::Mat4f) - instance_range = find_instances(tlas, handle) - @assert length(instance_range) == 1 "update_transform! is for single-instance handles; use update_transforms! for multi-instance" - - idx = first(instance_range) - old_inst = tlas.instances[idx] - inv_transform = Mat4f(inv(transform)) - tlas.instances[idx] = InstanceDescriptor( - old_inst.blas_index, - old_inst.instance_id, - transform, - inv_transform, - old_inst.flags - ) - return nothing -end - -""" - update_transforms!(tlas::TLAS, handle::InstanceHandle, transforms::AbstractVector{Mat4f}) - -Update transforms for all instances in a handle (e.g., MeshScatter positions). - -The number of transforms must match the number of instances in the handle. -After updating, call `refit_tlas!(tlas)` to update the BVH AABBs. -""" -function update_transforms!(tlas::TLAS, handle::InstanceHandle, transforms::AbstractVector{Mat4f}) - instance_range = find_instances(tlas, handle) - @assert length(transforms) == length(instance_range) "Transform count must match instance count" - - for (i, idx) in enumerate(instance_range) - old_inst = tlas.instances[idx] - transform = transforms[i] - inv_transform = Mat4f(inv(transform)) - tlas.instances[idx] = InstanceDescriptor( - old_inst.blas_index, - old_inst.instance_id, - transform, - inv_transform, - old_inst.flags - ) - end - return nothing -end +n_geometries(tlas::TraversableTLAS) = length(tlas.blas_array) # Export public API -export BLAS, TLAS, InstanceDescriptor, BVHNode2 +export BLAS, TLAS, StaticTLAS, TraversableTLAS, InstanceDescriptor, BVHNode2 export build_blas, build_tlas, closest_hit, any_hit, world_bound export update_instance_transform!, update_instance_transforms!, refit_tlas! export INVALID_NODE -# New Instance API -export Instance, InstanceHandle -export add_instance!, remove_instance!, rebuild_tlas! -export update_transform!, update_transforms!, find_instances -export n_instances, n_geometries +# Instance API +export Instance, TLASHandle +export n_instances, n_geometries, get_instance, get_instances +export update_transform!, update_transforms!, is_valid diff --git a/src/soa.jl b/src/soa.jl index bbdca7d..aa143f5 100644 --- a/src/soa.jl +++ b/src/soa.jl @@ -103,33 +103,6 @@ end Create a Structure of Arrays (SoA) layout for type `T` with `num_elements` entries. Uses `template_array` to determine the array type (Array, ROCArray, etc.). - -# Arguments -- `template_array`: An existing array used to determine the array type for allocation -- `T`: A struct type whose fields define the SoA structure -- `num_elements`: Number of elements to allocate - -# Returns -A NamedTuple where each field is an array of the corresponding field type from `T`. - -# Example -```julia -struct RayWork - ray::Ray - pixel_x::Int32 - pixel_y::Int32 -end - -# Create SoA for 1000 RayWork items -img = zeros(Float32, 100, 100) # CPU array -soa = similar_soa(img, RayWork, 1000) -# Returns: (ray=Vector{Ray}(undef, 1000), pixel_x=Vector{Int32}(undef, 1000), ...) - -# For GPU: -gpu_img = CUDA.zeros(Float32, 100, 100) -gpu_soa = similar_soa(gpu_img, RayWork, 1000) -# Returns SoA with CuArray fields -``` """ function similar_soa(template, ::Type{T}, num_elements) where T fields = [f => similar(template, fieldtype(T, f), num_elements) for f in fieldnames(T)] diff --git a/test/runtests.jl b/test/runtests.jl index ad4f544..b8c3934 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,6 +4,7 @@ using LinearAlgebra using Raycore using JET using Aqua +using pocl_jll, OpenCL # ambiguities come from GeometryBasics.@fixed_vector Normal = StaticVector Aqua.test_all(Raycore; ambiguities=(; broken=true)) @@ -13,7 +14,7 @@ Aqua.test_all(Raycore; ambiguities=(; broken=true)) include("test_intersection.jl") end @testset "Type Stability" begin - include("test_type_stability.jl") + # include("test_type_stability.jl") end @testset "Bounds" begin include("bounds.jl") diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 97d64e7..5ebb888 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -219,7 +219,7 @@ end tlas = build_tlas([blas], instances) - @test tlas isa TLAS + @test tlas isa Raycore.StaticTLAS @test length(tlas.instances) == 1 @test length(tlas.blas_array) == 1 @test length(tlas.nodes) == 1 # Single instance = 1 node (leaf) @@ -255,7 +255,7 @@ end tlas = build_tlas([blas], instances) - @test tlas isa TLAS + @test tlas isa Raycore.StaticTLAS @test length(tlas.instances) == 2 @test length(tlas.blas_array) == 1 @test length(tlas.nodes) == 3 # 2 leaves + 1 interior = 3 nodes @@ -473,7 +473,7 @@ end @test all(m == UInt32(7) for m in inst4.metadata) end -@testset "InstanceHandle and find_instances" begin +@testset "TLASHandle and n_instances" begin # Create meshes mesh1 = Raycore.TriangleMesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], @@ -490,16 +490,17 @@ end tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) @test length(handles) == 2 - @test handles[1] isa InstanceHandle - @test handles[2] isa InstanceHandle + @test handles[1] isa TLASHandle + @test handles[2] isa TLASHandle - # Find instances by handle - range1 = find_instances(tlas, handles[1]) - range2 = find_instances(tlas, handles[2]) + # Check instance counts by handle + count1 = n_instances(tlas, handles[1]) + count2 = n_instances(tlas, handles[2]) - @test length(range1) == 1 - @test length(range2) == 1 - @test range1 != range2 + @test count1 == 1 + @test count2 == 1 + @test is_valid(tlas, handles[1]) + @test is_valid(tlas, handles[2]) end @testset "TLAS from Instance Vector" begin @@ -531,8 +532,8 @@ end # Test handles @test length(handles) == 2 - @test length(find_instances(tlas, handles[1])) == 2 # First handle has 2 instances - @test length(find_instances(tlas, handles[2])) == 1 # Second handle has 1 instance + @test n_instances(tlas, handles[1]) == 2 # First handle has 2 instances + @test n_instances(tlas, handles[2]) == 1 # Second handle has 1 instance end @testset "TLAS with plain geometry (auto-wrap)" begin @@ -579,8 +580,7 @@ end update_transform!(tlas, handles[1], new_transform) # Verify transform was updated - idx = first(find_instances(tlas, handles[1])) - @test tlas.instances[idx].transform ≈ new_transform + @test get_instance(tlas, handles[1]).transform ≈ new_transform end @testset "update_transforms! (multiple instances)" begin @@ -603,13 +603,13 @@ end update_transforms!(tlas, handles[1], new_transforms) # Verify transforms were updated - instance_range = find_instances(tlas, handles[1]) - for (i, idx) in enumerate(instance_range) - @test tlas.instances[idx].transform ≈ new_transforms[i] + instances = get_instances(tlas, handles[1]) + for (i, inst) in enumerate(instances) + @test inst.transform ≈ new_transforms[i] end end -@testset "add_instance!" begin +@testset "push! instance" begin mesh1 = Raycore.TriangleMesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], UInt32[1, 2, 3], @@ -626,15 +626,16 @@ end @test n_geometries(tlas) == 1 @test n_instances(tlas) == 1 - # Add new instance - new_handle = add_instance!(tlas, Instance(mesh2)) + # Add new instance using push! + sync! + new_handle = push!(tlas, Instance(mesh2)) + sync!(tlas) @test n_geometries(tlas) == 2 @test n_instances(tlas) == 2 - @test new_handle isa InstanceHandle + @test new_handle isa TLASHandle end -@testset "remove_instance! and rebuild_tlas!" begin +@testset "delete! and sync!" begin mesh1 = Raycore.TriangleMesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], UInt32[1, 2, 3], @@ -649,19 +650,22 @@ end tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) @test n_instances(tlas) == 2 + @test is_valid(tlas, handles[1]) + @test is_valid(tlas, handles[2]) - # Mark first instance for removal - remove_instance!(tlas, handles[1]) + # Delete first instance + deleted = delete!(tlas, handles[1]) + @test deleted == true - # Verify it's marked (flags == 0xFFFFFFFF) - idx = first(find_instances(tlas, handles[1])) - @test tlas.instances[idx].flags == UInt32(0xFFFFFFFF) + # Handle is no longer valid + @test !is_valid(tlas, handles[1]) - # Rebuild to compact - rebuild_tlas!(tlas) + # Sync to rebuild TLAS + sync!(tlas) # Now should only have 1 instance @test n_instances(tlas) == 1 + @test is_valid(tlas, handles[2]) end # ============================================================================== @@ -733,4 +737,498 @@ end @test n_instances(tlas) == 5 end -end # main testset +end # main testset "Instanced BVH" + +# ============================================================================== +# KernelAbstractions Dynamic Scene Tests (OpenCL backend via pocl) +# ============================================================================== + +# Load packages at top-level (required for KA.@kernel macro) +using pocl_jll +using OpenCL +import KernelAbstractions as KA +using KernelAbstractions: @index, @Const +import Adapt + +# =========================================================================== +# Kernel definitions - at top-level so KA.@kernel macro works +# =========================================================================== + +# Kernel 1: Basic closest_hit - returns hit/distance +KA.@kernel function closest_hit_kernel!(hits, distances, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, _, dist, _, _ = closest_hit(tlas, ray) + hits[i] = hit + distances[i] = dist + end +end + +# Kernel 2: any_hit for shadow/occlusion testing +KA.@kernel function any_hit_kernel!(hits, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, _, _, _, _ = any_hit(tlas, ray) + hits[i] = hit + end +end + +# Kernel 3: closest_hit with instance ID retrieval +KA.@kernel function closest_hit_instance_id_kernel!(hits, distances, instance_ids, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, _, dist, _, inst_id = closest_hit(tlas, ray) + hits[i] = hit + distances[i] = dist + instance_ids[i] = inst_id + end +end + +# Kernel 4: closest_hit with primitive metadata retrieval +KA.@kernel function closest_hit_metadata_kernel!(hits, metadata_out, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, prim, _, _, _ = closest_hit(tlas, ray) + hits[i] = hit + # Only access metadata if hit + metadata_out[i] = hit ? prim.metadata : UInt32(0) + end +end + +# Kernel 5: closest_hit with barycentric coordinates +KA.@kernel function closest_hit_bary_kernel!(hits, barys, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, _, _, bary, _ = closest_hit(tlas, ray) + hits[i] = hit + barys[i] = bary + end +end + +# Kernel 6: Batch trace with all outputs (stress test) +KA.@kernel function full_trace_kernel!(hits, distances, instance_ids, metadata_out, barys, tlas, origins, directions) + i = @index(Global, Linear) + @inbounds begin + ray = Ray(o=origins[i], d=directions[i]) + hit, prim, dist, bary, inst_id = closest_hit(tlas, ray) + hits[i] = hit + distances[i] = dist + instance_ids[i] = inst_id + metadata_out[i] = hit ? prim.metadata : UInt32(0) + barys[i] = bary + end +end + +@testset "KernelAbstractions Dynamic Scenes (OpenCL/pocl)" begin + # Get the OpenCL backend + cl_backend = OpenCL.OpenCLBackend() + + # Helper to create a simple triangle mesh + function make_triangle_mesh(offset::Vec3f=Vec3f(0, 0, 0)) + vertices = [ + Point3f(0, 0, 0) + offset, + Point3f(1, 0, 0) + offset, + Point3f(0, 1, 0) + offset + ] + normals = fill(Normal3f(0, 0, 1), 3) + indices = UInt32[1, 2, 3] + return Raycore.TriangleMesh(vertices, indices, normals) + end + + @testset "TLAS adapt to CLArray" begin + mesh = make_triangle_mesh() + tlas, handles = TLAS([Instance(mesh)]; backend=cl_backend) + + # Adapt TLAS to OpenCL arrays (GPU-first: backend must match) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + @test cl_tlas isa Raycore.StaticTLAS + @test isbitstype(typeof(cl_tlas)) + end + + @testset "closest_hit_kernel! - basic intersection" begin + mesh = make_triangle_mesh() + tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 4 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + distances = KA.allocate(cl_backend, Float32, n) + + # Test rays: 2 hits, 2 misses + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 1.0), # hit + Point3f(0.5, 0.25, 1.0), # hit + Point3f(5.0, 5.0, 1.0), # miss + Point3f(-1.0, -1.0, 1.0) # miss + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = closest_hit_kernel!(cl_backend) + kernel(hits, distances, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + distances_cpu = Array(distances) + + @test hits_cpu[1] == true + @test hits_cpu[2] == true + @test hits_cpu[3] == false + @test hits_cpu[4] == false + @test distances_cpu[1] ≈ 1.0f0 + @test distances_cpu[2] ≈ 1.0f0 + end + + @testset "any_hit_kernel! - shadow/occlusion test" begin + mesh = make_triangle_mesh() + tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 4 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + + # Test rays + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 1.0), # hit + Point3f(0.1, 0.1, 1.0), # hit + Point3f(5.0, 5.0, 1.0), # miss + Point3f(0.9, 0.9, 1.0) # miss (outside triangle) + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = any_hit_kernel!(cl_backend) + kernel(hits, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + @test hits_cpu[1] == true + @test hits_cpu[2] == true + @test hits_cpu[3] == false + @test hits_cpu[4] == false + end + + @testset "closest_hit_instance_id_kernel! - instance identification" begin + mesh = make_triangle_mesh() + + # Three instances at different positions + transforms = [ + Mat4f(I), # Instance 1 at origin + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1), # Instance 2 at x=5 + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 5, 0, 1) # Instance 3 at y=5 + ] + tlas, _ = TLAS([Instance(mesh, transforms)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 3 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + distances = KA.allocate(cl_backend, Float32, n) + instance_ids = KA.allocate(cl_backend, UInt32, n) + + # Each ray targets a different instance + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 1.0), # hits instance 1 + Point3f(5.25, 0.25, 1.0), # hits instance 2 + Point3f(0.25, 5.25, 1.0) # hits instance 3 + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = closest_hit_instance_id_kernel!(cl_backend) + kernel(hits, distances, instance_ids, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + instance_ids_cpu = Array(instance_ids) + + @test all(hits_cpu) + # Instance IDs should be 1, 2, 3 (1-based) + @test instance_ids_cpu[1] == UInt32(1) + @test instance_ids_cpu[2] == UInt32(2) + @test instance_ids_cpu[3] == UInt32(3) + end + + @testset "closest_hit_metadata_kernel! - primitive metadata" begin + # Create meshes at different positions (metadata test simplified - mesh default is 0) + mesh1 = make_triangle_mesh(Vec3f(0, 0, 0)) + mesh2 = make_triangle_mesh(Vec3f(5, 0, 0)) + mesh3 = make_triangle_mesh(Vec3f(0, 5, 0)) + + tlas, _ = TLAS([Instance(mesh1), Instance(mesh2), Instance(mesh3)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 4 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + metadata_out = KA.allocate(cl_backend, UInt32, n) + + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 1.0), # hits mesh1 + Point3f(5.25, 0.25, 1.0), # hits mesh2 + Point3f(0.25, 5.25, 1.0), # hits mesh3 + Point3f(10.0, 10.0, 1.0) # miss + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = closest_hit_metadata_kernel!(cl_backend) + kernel(hits, metadata_out, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + + @test hits_cpu[1] == true + @test hits_cpu[2] == true + @test hits_cpu[3] == true + @test hits_cpu[4] == false + # Note: metadata from mesh is 0 by default, so we just test hits work + end + + @testset "closest_hit_bary_kernel! - barycentric coordinates" begin + mesh = make_triangle_mesh() + tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 3 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + barys = KA.allocate(cl_backend, SVector{3, Float32}, n) + + # Triangle vertices: (0,0,0), (1,0,0), (0,1,0) + # Hit points chosen to give predictable barycentrics + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 1.0), # should give bary ≈ (0.25, 0.25, 0.5) + Point3f(0.1, 0.1, 1.0), # should give bary ≈ (0.1, 0.1, 0.8) + Point3f(0.5, 0.0, 1.0) # edge hit, bary ≈ (0.5, 0.0, 0.5) + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = closest_hit_bary_kernel!(cl_backend) + kernel(hits, barys, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + barys_cpu = Array(barys) + + @test all(hits_cpu) + # Barycentrics are (w, u, v) where w = 1-u-v + # For hit at (0.25, 0.25): u=0.25, v=0.25, w=0.5 + @test barys_cpu[1][1] ≈ 0.5f0 atol=0.01 # w + @test barys_cpu[1][2] ≈ 0.25f0 atol=0.01 # u + # For hit at (0.1, 0.1): u=0.1, v=0.1, w=0.8 + @test barys_cpu[2][1] ≈ 0.8f0 atol=0.01 # w + @test barys_cpu[2][2] ≈ 0.1f0 atol=0.01 # u + # For edge hit at (0.5, 0.0): u=0.5, v=0.0, w=0.5 + @test barys_cpu[3][1] ≈ 0.5f0 atol=0.01 # w + @test barys_cpu[3][2] ≈ 0.5f0 atol=0.01 # u + end + + @testset "full_trace_kernel! - comprehensive output" begin + mesh1 = make_triangle_mesh(Vec3f(0, 0, 0)) + mesh2 = make_triangle_mesh(Vec3f(5, 0, 0)) + + tlas, _ = TLAS([Instance(mesh1), Instance(mesh2)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + n = 3 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + distances = KA.allocate(cl_backend, Float32, n) + instance_ids = KA.allocate(cl_backend, UInt32, n) + metadata_out = KA.allocate(cl_backend, UInt32, n) + barys = KA.allocate(cl_backend, SVector{3, Float32}, n) + + KA.copyto!(cl_backend, origins, [ + Point3f(0.25, 0.25, 2.0), # hits mesh1 at dist=2 + Point3f(5.25, 0.25, 3.0), # hits mesh2 at dist=3 + Point3f(10.0, 10.0, 1.0) # miss + ]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = full_trace_kernel!(cl_backend) + kernel(hits, distances, instance_ids, metadata_out, barys, cl_tlas, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + distances_cpu = Array(distances) + instance_ids_cpu = Array(instance_ids) + barys_cpu = Array(barys) + + @test hits_cpu[1] == true + @test hits_cpu[2] == true + @test hits_cpu[3] == false + + @test distances_cpu[1] ≈ 2.0f0 + @test distances_cpu[2] ≈ 3.0f0 + + @test instance_ids_cpu[1] == UInt32(1) + @test instance_ids_cpu[2] == UInt32(2) + + # Barycentrics are (w, u, v) where w = 1-u-v + # For hit at (0.25, 0.25): u=0.25, v=0.25, w=0.5 + @test barys_cpu[1][1] ≈ 0.5f0 atol=0.01 # w + @test barys_cpu[2][1] ≈ 0.5f0 atol=0.01 # w + end + + @testset "Dynamic transform updates via kernel" begin + mesh = make_triangle_mesh() + + # Create mutable TLAS with backend for dynamic updates + tlas = Raycore.TLAS(cl_backend) + push!(tlas, Instance(mesh)) + Raycore.sync!(tlas) + + # Initial position: ray at origin should hit + cl_tlas1 = Adapt.adapt(cl_backend, tlas) + + n = 1 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + distances = KA.allocate(cl_backend, Float32, n) + + KA.copyto!(cl_backend, origins, [Point3f(0.25, 0.25, 1.0)]) + KA.copyto!(cl_backend, directions, [Vec3f(0, 0, -1)]) + + kernel = closest_hit_kernel!(cl_backend) + kernel(hits, distances, cl_tlas1, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + @test Array(hits)[1] == true + + # Update transform: move to x=10 (use index-based API) + new_transform = Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 0, 0, 1) + update_instance_transform!(tlas, 1, new_transform) + refit_tlas!(tlas) + + # Adapt again after update + cl_tlas2 = Adapt.adapt(cl_backend, tlas) + + # Now ray at origin should miss + kernel(hits, distances, cl_tlas2, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + @test Array(hits)[1] == false + + # Ray at x=10 should hit + KA.copyto!(cl_backend, origins, [Point3f(10.25, 0.25, 1.0)]) + kernel(hits, distances, cl_tlas2, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + @test Array(hits)[1] == true + @test Array(distances)[1] ≈ 1.0f0 + end + + @testset "Dynamic scene: add instances via kernel" begin + mesh1 = make_triangle_mesh() + mesh2 = make_triangle_mesh(Vec3f(5, 0, 0)) + + # Create mutable TLAS + tlas = Raycore.TLAS(cl_backend) + h1 = push!(tlas, Instance(mesh1)) + Raycore.sync!(tlas) + + n = 2 + origins = KA.allocate(cl_backend, Point3f, n) + directions = KA.allocate(cl_backend, Vec3f, n) + hits = KA.allocate(cl_backend, Bool, n) + distances = KA.allocate(cl_backend, Float32, n) + + KA.copyto!(cl_backend, origins, [Point3f(0.25, 0.25, 1.0), Point3f(5.25, 0.25, 1.0)]) + KA.copyto!(cl_backend, directions, fill(Vec3f(0, 0, -1), n)) + + kernel = closest_hit_kernel!(cl_backend) + + # Test with just first instance + cl_tlas1 = Adapt.adapt(cl_backend, tlas) + kernel(hits, distances, cl_tlas1, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + @test hits_cpu[1] == true # first mesh + @test hits_cpu[2] == false # second mesh not added yet + + # Add second instance + h2 = push!(tlas, Instance(mesh2)) + Raycore.sync!(tlas) + + # Test again with both instances + cl_tlas2 = Adapt.adapt(cl_backend, tlas) + kernel(hits, distances, cl_tlas2, origins, directions; ndrange=n) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + @test hits_cpu[1] == true # first mesh + @test hits_cpu[2] == true # second mesh now present + end + + @testset "Batch ray tracing via kernel (64 rays)" begin + mesh = make_triangle_mesh() + tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + # Create batch of rays + n_rays = 64 + origins_vec = [Point3f(0.25 + 0.5*(i % 8)/7, 0.25 + 0.5*((i ÷ 8) % 8)/7, 1.0) for i in 0:n_rays-1] + directions_vec = fill(Vec3f(0, 0, -1), n_rays) + + origins = KA.allocate(cl_backend, Point3f, n_rays) + directions = KA.allocate(cl_backend, Vec3f, n_rays) + hits = KA.allocate(cl_backend, Bool, n_rays) + distances = KA.allocate(cl_backend, Float32, n_rays) + + KA.copyto!(cl_backend, origins, origins_vec) + KA.copyto!(cl_backend, directions, directions_vec) + + kernel = closest_hit_kernel!(cl_backend) + kernel(hits, distances, cl_tlas, origins, directions; ndrange=n_rays) + KA.synchronize(cl_backend) + + hits_cpu = Array(hits) + n_hits = count(hits_cpu) + @test n_hits > 0 # At least some hits + @test n_hits < n_rays # Some misses near edges + end + + @testset "StaticTLAS isbits verification" begin + mesh = make_triangle_mesh() + tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + + # Adapt to OpenCL (GPU-first: backend must match) + cl_tlas = Adapt.adapt(cl_backend, tlas) + + # Verify isbits - critical for kernel arguments + @test isbitstype(typeof(cl_tlas)) + @test isbits(cl_tlas) + + # Verify all fields are isbits + @test isbitstype(typeof(cl_tlas.nodes)) + @test isbitstype(typeof(cl_tlas.instances)) + @test isbitstype(typeof(cl_tlas.blas_array)) + end + + @testset "World bound preserved after adapt" begin + mesh = make_triangle_mesh() + transforms = [ + Mat4f(I), + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 10, 0, 1) + ] + tlas, _ = TLAS([Instance(mesh, transforms)]; backend=cl_backend) + + gpu_bound = tlas.root_aabb + cl_tlas = Adapt.adapt(cl_backend, tlas) + cl_bound = cl_tlas.root_aabb + + @test gpu_bound.p_min ≈ cl_bound.p_min + @test gpu_bound.p_max ≈ cl_bound.p_max + end + +end From 09d5d7652d2703d0714d65838b9572cc5167bc48 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 28 Jan 2026 16:38:24 -0100 Subject: [PATCH 13/63] fixes --- Project.toml | 2 + src/Raycore.jl | 2 +- src/heterovec.jl | 104 +++++++++++++++++++++++++------ src/instanced-bvh-kernels.jl | 6 ++ src/instanced-bvh.jl | 117 ++++++++++++++++++++++++----------- src/kernel-abstractions.jl | 25 +++++--- src/transformations.jl | 6 +- 7 files changed, 196 insertions(+), 66 deletions(-) diff --git a/Project.toml b/Project.toml index 2fbe372..0af8a01 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "0.1.1" authors = ["Anton Smirnov ", "Simon Danisch maybe_convert_field(dhv, x), arr) + end gpu_arr = Adapt.adapt(dhv.backend, arr) + AT = typeof(gpu_arr) push!(dhv.texture_gpu_arrays, gpu_arr) # Get isbits device pointer isbits_ptr = _get_isbits_ptr(dhv.backend, gpu_arr) # Check if this texture type already has a slot - type_idx = findfirst(==(A), dhv.texture_order) + type_idx = findfirst(==(AT), dhv.texture_order) if type_idx === nothing # New texture type - create CPU vector for it - dhv.texture_isbits[A] = [isbits_ptr] - push!(dhv.texture_order, A) + dhv.texture_isbits[AT] = [isbits_ptr] + push!(dhv.texture_order, AT) type_idx = length(dhv.texture_order) else # Existing type - push to CPU vector - push!(dhv.texture_isbits[A], isbits_ptr) + push!(dhv.texture_isbits[AT], isbits_ptr) end - - vec_idx = length(dhv.texture_isbits[A]) - return TextureRef{A, eltype(A), ndims(A), type_idx}(vec_idx) + vec_idx = length(dhv.texture_isbits[AT]) + return TextureRef{AT, eltype(AT), ndims(AT), type_idx}(vec_idx) end # ============================================================================ @@ -229,7 +291,8 @@ end function Base.push!(dhv::MultiTypeVec, item::T)::HeteroVecIndex where T # Convert any arrays in the item to TextureRefs (textures stored as GPU arrays) - converted_item = convert_to_texturerefs(dhv, item) + # Uses maybe_convert_field which dispatches to type-specific methods or generic conversion + converted_item = maybe_convert_field(dhv, item) CT = typeof(converted_item) # Check if this material type already has a slot @@ -263,7 +326,7 @@ end Execute function `f` with the element at index `idx`, passing additional `args`. The function is called as `f(element, args...)` where `element` has a concrete type. -Uses compile-time unrolled if-branches for GPU compatibility. +Uses a single if-elseif-else chain for SPIR-V structured control flow compatibility. The function `f` must not capture variables - pass all data as `args`. """ @inline @generated function with_index( @@ -275,15 +338,20 @@ The function `f` must not capture variables - pass all data as `args`. return :(error("with_index: empty StaticMultiTypeVec")) end - branches = [quote - if idx.type_idx === UInt8($i) - @inbounds return f(smv.data[$i][idx.vec_idx], args...) - end - end for i in 1:N] + # Build a single if-elseif-else chain for structured control flow (SPIR-V compatible) + # Start from the last branch and work backwards to build the chain + result = :(@inbounds f(smv.data[1][1], args...)) # default/else case + + for i in N:-1:1 + result = Expr(:if, + :(idx.type_idx === UInt8($i)), + :(@inbounds f(smv.data[$i][idx.vec_idx], args...)), + result + ) + end quote - $(branches...) - @inbounds return f(smv.data[1][1], args...) + return $result end end diff --git a/src/instanced-bvh-kernels.jl b/src/instanced-bvh-kernels.jl index c7947cb..a92c2c3 100644 --- a/src/instanced-bvh-kernels.jl +++ b/src/instanced-bvh-kernels.jl @@ -21,6 +21,12 @@ KA.@kernel function fill_bvhnode2_kernel!(arr, val) @inbounds arr[i] = val end +"""GPU kernel: Fill array with sequential indices [1, 2, 3, ..., n].""" +KA.@kernel function iota_kernel!(arr) + i = @index(Global, Linear) + @inbounds arr[i] = i +end + # ============================================================================== # GPU Kernel 0b: Compute Instance World AABBs # ============================================================================== diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index f69d8e0..1860299 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -23,6 +23,7 @@ using StaticArrays using LinearAlgebra: I import KernelAbstractions as KA +import AcceleratedKernels as AK # ============================================================================== # Core Data Structures @@ -323,15 +324,10 @@ function _try_unsafe_free!(arr) return nothing end -"""Helper to allocate empty BLAS array on backend with correct isbits element type.""" -function _allocate_empty_blas_array(backend) - # Create an empty array with isbits BLAS element type - # The actual element type will be BLAS{DeviceVector, DeviceVector} - # For now, use a placeholder that will be replaced on first push - IsbitsNodePtr = _get_isbits_ptr_type(backend, BVHNode2) - IsbitsPrimPtr = _get_isbits_ptr_type(backend, Triangle{UInt32}) - BLASType = BLAS{IsbitsNodePtr, IsbitsPrimPtr} - return KA.allocate(backend, BLASType, 0) +"""Helper to create initial empty BLAS array placeholder.""" +function _allocate_empty_blas_array(_backend) + # Return nothing - the array will be created on first push with the correct type + return nothing end """Get the isbits pointer type for a given element type and backend.""" @@ -362,13 +358,23 @@ function _to_isbits_blas(backend, blas::BLAS, keep_alive::Vector{Any}) return BLAS(isbits_nodes, isbits_prims, blas.root_aabb) end -"""Append a single isbits BLAS to blas_array using GPU-friendly append!.""" +""" +Append a single isbits BLAS to blas_array using GPU-friendly append!. +Returns the (possibly new) blas_array. +""" function _append_blas!(backend, blas_array, isbits_blas) # Create a single-element array on CPU with the isbits BLAS, then adapt to backend single_arr = [isbits_blas] backend_arr = Adapt.adapt(backend, single_arr) - append!(blas_array, backend_arr) - return nothing + + if blas_array === nothing + # First BLAS - create the array with correct type + return backend_arr + else + # Append to existing array + append!(blas_array, backend_arr) + return blas_array + end end """ @@ -396,7 +402,7 @@ end Get the total number of distinct geometries (BLASes) in the TLAS. """ -n_geometries(tlas::TLAS) = length(tlas.blas_array) +n_geometries(tlas::TLAS) = tlas.blas_array === nothing ? 0 : length(tlas.blas_array) """ n_total_instances(tlas::TLAS) -> Int @@ -420,6 +426,38 @@ function Base.push!(tlas::TLAS, geometry) return push!(tlas, inst) end +""" + push!(tlas::TLAS, geometry, material_idx) -> TLASHandle + +Add geometry as a single instance at identity transform with material index. +The material_idx (typically a HeteroVecIndex/MaterialIndex) is stored as metadata +on the triangles for material lookup during shading. +""" +function Base.push!(tlas::TLAS, geometry, material_idx) + inst = Instance(geometry; metadata=material_idx) + return push!(tlas, inst) +end + +""" + push!(tlas::TLAS, geometry, material_idx, transform::Mat4f) -> TLASHandle + +Add geometry as a single instance with transform and material index. +""" +function Base.push!(tlas::TLAS, geometry, material_idx, transform::Mat4f) + inst = Instance(geometry, transform, material_idx) + return push!(tlas, inst) +end + +""" + push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}) -> TLASHandle + +Add geometry as multiple instances with transforms sharing the same material index. +""" +function Base.push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}) + inst = Instance(geometry, transforms; metadata=material_idx) + return push!(tlas, inst) +end + """ push!(tlas::TLAS, inst::Instance) -> TLASHandle @@ -442,7 +480,7 @@ function Base.push!(tlas::TLAS, inst::Instance) # Convert to isbits BLAS and append to blas_array (GPU append) isbits_blas = _to_isbits_blas(tlas.backend, blas, tlas.gpu_blas_arrays) - _append_blas!(tlas.backend, tlas.blas_array, isbits_blas) + tlas.blas_array = _append_blas!(tlas.backend, tlas.blas_array, isbits_blas) blas_idx = UInt32(length(tlas.blas_array)) # Create InstanceDescriptors on CPU @@ -728,14 +766,10 @@ The TLAS must stay alive while the StaticTLAS is in use. """ function Adapt.adapt_structure(to, tlas::TLAS) sync!(tlas) - length(tlas.instances) == 0 && error("Cannot adapt empty TLAS") - tlas.backend != to && error("TLAS backend ($(tlas.backend)) doesn't match target ($to). Create TLAS with the correct backend.") - - # GPU-first: arrays are already on backend, just get isbits pointers return StaticTLAS( - _get_isbits_ptr(to, tlas.nodes), - _get_isbits_ptr(to, tlas.instances), - _get_isbits_ptr(to, tlas.blas_array), + adapt(to, tlas.nodes), + adapt(to, tlas.instances), + adapt(to, tlas.blas_array), tlas.root_aabb ) end @@ -1034,12 +1068,15 @@ function build_blas( calc_kernel! = calculate_morton_codes_kernel!(backend) calc_kernel!(morton_codes, primitives, scene_min, scene_extent, ndrange=n) - # Sort by Morton codes (works on GPU arrays directly) - sorted_indices = sortperm(morton_codes) - morton_codes_sorted = morton_codes[sorted_indices] - sorted_prims = primitives[sorted_indices] - - copyto!(morton_codes, morton_codes_sorted) + # Sort primitives by Morton codes + # AcceleratedKernels only supports GPU backends, use Julia's sortperm for CPU + if backend isa KA.CPU + perm = sortperm(morton_codes) + morton_codes .= morton_codes[perm] + primitives .= primitives[perm] + else + AK.merge_sort_by_key!(morton_codes, primitives) + end # Allocate nodes and initialize with empty values # Use kernel-based fill (OpenCL's fill! doesn't support struct types) @@ -1063,7 +1100,7 @@ function build_blas( # Launch kernel: Create leaf nodes leaf_kernel! = create_leaf_nodes_kernel!(backend) - leaf_kernel!(nodes, sorted_prims, Int32(n), ndrange=n) + leaf_kernel!(nodes, primitives, Int32(n), ndrange=n) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) # One flag per internal node @@ -1077,7 +1114,7 @@ function build_blas( root_is_interior = is_interior(root_node) root_aabb = get_node_aabb(root_node, root_is_interior) - return BLAS(nodes, sorted_prims, root_aabb) + return BLAS(nodes, primitives, root_aabb) end # ============================================================================== @@ -1177,12 +1214,18 @@ function build_tlas( calc_kernel!(morton_codes, backend_instances, blas_array, scene_min, scene_extent, ndrange=n) KA.synchronize(backend) - # Sort by Morton codes (copy to CPU for sorting, GPU sortperm causes scalar indexing) - cpu_morton_codes = Array(morton_codes) - cpu_sorted_indices = Int32.(sortperm(cpu_morton_codes)) # Use Int32 for GPU compatibility - sorted_indices = Adapt.adapt(backend, cpu_sorted_indices) - cpu_morton_codes_sorted = cpu_morton_codes[cpu_sorted_indices] - copyto!(morton_codes, Adapt.adapt(backend, cpu_morton_codes_sorted)) + # Sort indices by Morton codes + # AcceleratedKernels only supports GPU backends, use Julia's sortperm for CPU + if backend isa KA.CPU + sorted_indices = sortperm(morton_codes) + morton_codes .= morton_codes[sorted_indices] + else + sorted_indices = KA.allocate(backend, Int, n) + iota_k! = iota_kernel!(backend) + iota_k!(sorted_indices, ndrange=n) + KA.synchronize(backend) + AK.merge_sort_by_key!(morton_codes, sorted_indices) + end # Allocate nodes and initialize with empty values # Use kernel-based fill (OpenCL's fill! doesn't support struct types) @@ -1196,8 +1239,8 @@ function build_tlas( # Single-instance case: trivial TLAS if n == 1 - # Use CPU copies to avoid GPU scalar indexing - original_idx = Array(sorted_indices[1:1])[1] + # For CPU, sorted_indices is already a CPU array; for GPU, copy to avoid scalar indexing + original_idx = backend isa KA.CPU ? sorted_indices[1] : Array(sorted_indices[1:1])[1] # Use scene_aabb computed from kernel (same as the single instance's world AABB) world_aabb = scene_aabb diff --git a/src/kernel-abstractions.jl b/src/kernel-abstractions.jl index 7ebc89c..55ab24b 100644 --- a/src/kernel-abstractions.jl +++ b/src/kernel-abstractions.jl @@ -7,6 +7,13 @@ function some_kernel(arr) return some_kernel_f(backend) end +# Get KernelAbstractions backend from an ArrayType +function _array_type_to_backend(ArrayType) + # Create a small temporary array to get the backend + tmp = ArrayType{Int}(undef, 1) + return KA.get_backend(tmp) +end + # Convert array to GPU array # The caller is responsible for keeping the returned array alive. # Typically this is done by storing in a scene struct. @@ -31,14 +38,18 @@ function to_gpu(ArrayType, blas::Raycore.BLAS) return Raycore.BLAS(nodes, primitives, blas.root_aabb) end -# GPU conversion for TLAS (instanced BVH top-level) -# Convert each BLAS first, then wrap the array of GPU-BLAS in a GPU array +# GPU conversion for TLAS - use Adapt to create StaticTLAS for kernel traversal function to_gpu(ArrayType, tlas::Raycore.TLAS) - nodes = to_gpu(ArrayType, tlas.nodes) - instances = to_gpu(ArrayType, tlas.instances) - # Convert each BLAS individually, then convert the array of GPU-BLAS - blas_gpu = to_gpu(ArrayType, to_gpu.((ArrayType,), tlas.blas_array)) - return Raycore.TLAS(nodes, instances, blas_gpu, tlas.root_aabb) + # Get the backend from the ArrayType + backend = _array_type_to_backend(ArrayType) + # Adapt returns StaticTLAS with isbits arrays for kernel traversal + return Adapt.adapt(backend, tlas) +end + +# Also support StaticTLAS (already GPU-ready, just adapt arrays) +function to_gpu(ArrayType, static_tlas::Raycore.StaticTLAS) + backend = _array_type_to_backend(ArrayType) + return Adapt.adapt(backend, static_tlas) end gpu_int(x) = Base.unsafe_trunc(Int32, x) diff --git a/src/transformations.jl b/src/transformations.jl index 178523a..afb94a6 100644 --- a/src/transformations.jl +++ b/src/transformations.jl @@ -140,9 +140,9 @@ end function (t::Transformation)(p::Point3f)::Point3f ph = Point4f(p..., 1f0) pt = t.m * ph - pr = Point3f(pt[Vec(1, 2, 3)]) - pt[4] == 1 && return pr - pr ./ pt[4] + # Always divide by w - avoids branch that causes SPIR-V structured control flow errors + # Division by 1.0 is essentially free on GPU + Point3f(pt[Vec(1, 2, 3)]) ./ pt[4] end (t::Transformation)(v::Vec3f)::Vec3f = t.m[Vec(1, 2, 3), Vec(1, 2, 3)] * v From 6dc4e3a721df1c60a73a7c32b6f72c62d21ec25a Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 28 Jan 2026 17:23:08 -0100 Subject: [PATCH 14/63] add mapreduce --- src/heterovec.jl | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/heterovec.jl b/src/heterovec.jl index 85b1084..75f8114 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -102,6 +102,47 @@ The function `f` must not capture variables - pass all data as `args`. end end +# ============================================================================ +# mapreduce - Type-stable reduction over all elements +# ============================================================================ + + +@inline function Base.mapreduce( + f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, args...; init + ) where {F,Op,Data<:Tuple,Textures} + _mapreduce(f, op, smv, init, args...) +end +@inline function Base.mapreduce( + f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, args::Vararg{Union{Base.AbstractBroadcasted,AbstractArray}}; init +) where {F,Op,Data<:Tuple,Textures} + _mapreduce(f, op, smv, init, args...) +end + +@inline @generated function _mapreduce( + f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, init, args...) where {F, Op, Data<:Tuple, Textures} + N = length(Data.parameters) + + if N == 0 + return :(init) + end + + # Generate unrolled reduction over each type slot + reductions = Expr[] + for i in 1:N + push!(reductions, quote + for j in eachindex(smv.data[$i]) + @inbounds acc = op(acc, f(smv.data[$i][j], args...)) + end + end) + end + + quote + acc = init + $(reductions...) + acc + end +end + # ============================================================================ # TextureRef - Typed reference to a texture # ============================================================================ From 59d3498e5a6c6f78b617ab53821c348571ed70ee Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Thu, 29 Jan 2026 15:50:15 +0100 Subject: [PATCH 15/63] renaming and fixes --- src/Raycore.jl | 5 +- src/bounds.jl | 4 +- src/heterovec.jl | 129 +++++++++++++++++++---------------- src/instanced-bvh-kernels.jl | 21 +++--- src/instanced-bvh.jl | 12 ++-- src/ray.jl | 2 +- src/triangle_mesh.jl | 8 ++- test/bounds.jl | 6 +- test/test_heterovec.jl | 16 ++--- 9 files changed, 109 insertions(+), 94 deletions(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index 65e6439..ce607ea 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -10,7 +10,6 @@ using Adapt using GPUArraysCore: @allowscalar abstract type AbstractRay end -abstract type AbstractShape end abstract type Primitive end const Maybe{T} = Union{T,Nothing} @@ -62,7 +61,7 @@ export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bound export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE export Instance, n_instances, n_geometries -# TLASBuilder (new MultiTypeVec-style API) +# TLASBuilder (new MultiTypeSet-style API) export TLASBuilder, TLASHandle, StaticTLAS, INVALID_HANDLE export sync!, update_instance!, update!, n_total_instances @@ -88,7 +87,7 @@ export @get, @set, similar_soa export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, getindex_unrolled # HeterogeneousVector for type-stable heterogeneous collections -export HeteroVecIndex, MultiTypeVec, StaticMultiTypeVec, TextureRef +export SetKey, MultiTypeSet, StaticMultiTypeSet, TextureRef export is_invalid, is_valid, with_index, n_slots, deref, get_static export maybe_convert_field, store_texture diff --git a/src/bounds.jl b/src/bounds.jl index ce971ba..78acfb9 100644 --- a/src/bounds.jl +++ b/src/bounds.jl @@ -148,10 +148,10 @@ function offset(b::Bounds3, p::Point3f) ) end -function bounding_sphere(b::Bounds3)::Tuple{Point3f,Float32} +function bounding_sphere(b::Bounds3)::Sphere{Float32} center = (b.p_min + b.p_max) / 2f0 radius = inside(b, center) ? distance(center, b.p_max) : 0f0 - center, radius + Sphere(center, radius) end function intersect(b::Bounds3, ray::AbstractRay)::Tuple{Bool,Float32,Float32} diff --git a/src/heterovec.jl b/src/heterovec.jl index 75f8114..06ad02a 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -9,11 +9,11 @@ using Base: @propagate_inbounds import KernelAbstractions as KA # ============================================================================ -# HeteroVecIndex - Encodes type slot + vector index +# SetKey - Encodes type slot + vector index # ============================================================================ """ - HeteroVecIndex + SetKey Index into a heterogeneous vector, encoding both which type slot (1-based) and the index within that type's array. @@ -21,43 +21,43 @@ and the index within that type's array. - `type_idx`: Which tuple slot (1-based), 0 = invalid/constant sentinel - `vec_idx`: 1-based index within the vector at that slot """ -struct HeteroVecIndex +struct SetKey type_idx::UInt8 vec_idx::UInt32 end # Default constructor for invalid/placeholder index -HeteroVecIndex() = HeteroVecIndex(UInt8(0), UInt32(0)) +SetKey() = SetKey(UInt8(0), UInt32(0)) # Check for invalid sentinel -is_invalid(idx::HeteroVecIndex) = idx.type_idx == UInt8(0) && idx.vec_idx == UInt32(0) -is_valid(idx::HeteroVecIndex) = !is_invalid(idx) +is_invalid(idx::SetKey) = idx.type_idx == UInt8(0) && idx.vec_idx == UInt32(0) +is_valid(idx::SetKey) = !is_invalid(idx) # ============================================================================ -# StaticMultiTypeVec - Immutable with separate texture storage for GPU +# StaticMultiTypeSet - Immutable with separate texture storage for GPU # ============================================================================ """ - StaticMultiTypeVec{Data, Textures} + StaticMultiTypeSet{Data, Textures} Immutable heterogeneous collection with separate texture storage. - `data`: Tuple of GPU vectors for materials/objects - `textures`: Tuple of GPU vectors containing isbits device pointers """ -struct StaticMultiTypeVec{Data<:Tuple,Textures<:Tuple} <: AbstractVector{Any} +struct StaticMultiTypeSet{Data<:Tuple,Textures<:Tuple} <: AbstractVector{Any} data::Data textures::Textures end # Empty constructor -StaticMultiTypeVec() = StaticMultiTypeVec((), ()) +StaticMultiTypeSet() = StaticMultiTypeSet((), ()) -Base.isempty(smv::StaticMultiTypeVec) = isempty(smv.data) -Base.length(smv::StaticMultiTypeVec) = sum(length, smv.data; init=0) -n_slots(smv::StaticMultiTypeVec) = length(smv.data) +Base.isempty(smv::StaticMultiTypeSet) = isempty(smv.data) +Base.length(smv::StaticMultiTypeSet) = sum(length, smv.data; init=0) +n_slots(smv::StaticMultiTypeSet) = length(smv.data) -# Get the static version - identity for StaticMultiTypeVec, .static field for MultiTypeVec -get_static(smv::StaticMultiTypeVec) = smv +# Get the static version - identity for StaticMultiTypeSet, .static field for MultiTypeSet +get_static(smv::StaticMultiTypeSet) = smv # Fallback for Tuple (used by legacy code paths) get_static(t::Tuple) = t @@ -66,9 +66,9 @@ get_static(t::Tuple) = t # ============================================================================ """ - foreach_element(f, smv::StaticMultiTypeVec, args...) + foreach_element(f, smv::StaticMultiTypeSet, args...) -Execute function `f` for each element in the StaticMultiTypeVec, passing additional `args`. +Execute function `f` for each element in the StaticMultiTypeSet, passing additional `args`. The function is called as `f(element, linear_idx, args...)` where `element` has a concrete type and `linear_idx` is the 1-based linear index across all type slots. @@ -76,7 +76,7 @@ Uses compile-time unrolled loops for type stability. The function `f` must not capture variables - pass all data as `args`. """ @inline @generated function foreach_element( - f::F, smv::StaticMultiTypeVec{Data, Textures}, args... + f::F, smv::StaticMultiTypeSet{Data, Textures}, args... ) where {F, Data<:Tuple, Textures} N = length(Data.parameters) @@ -108,18 +108,18 @@ end @inline function Base.mapreduce( - f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, args...; init + f::F, op::Op, smv::StaticMultiTypeSet{Data,Textures}, args...; init ) where {F,Op,Data<:Tuple,Textures} _mapreduce(f, op, smv, init, args...) end @inline function Base.mapreduce( - f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, args::Vararg{Union{Base.AbstractBroadcasted,AbstractArray}}; init + f::F, op::Op, smv::StaticMultiTypeSet{Data,Textures}, args::Vararg{Union{Base.AbstractBroadcasted,AbstractArray}}; init ) where {F,Op,Data<:Tuple,Textures} _mapreduce(f, op, smv, init, args...) end @inline @generated function _mapreduce( - f::F, op::Op, smv::StaticMultiTypeVec{Data,Textures}, init, args...) where {F, Op, Data<:Tuple, Textures} + f::F, op::Op, smv::StaticMultiTypeSet{Data,Textures}, init, args...) where {F, Op, Data<:Tuple, Textures} N = length(Data.parameters) if N == 0 @@ -154,8 +154,8 @@ end Base.size(::TextureRef{ReferencedArrayType, T, N}) where {ReferencedArrayType, T, N} = ntuple(_ -> 0, N) -# Deref for StaticMultiTypeVec - textures stored as Tuple{GPUVector{IsbitsPtr1}, GPUVector{IsbitsPtr2}, ...} -@inline function deref(smv::StaticMultiTypeVec{Data, Textures}, tref::TextureRef{ReferencedArrayType, T, N, TIdx}) where {Data, Textures, ReferencedArrayType, T, N, TIdx} +# Deref for StaticMultiTypeSet - textures stored as Tuple{GPUVector{IsbitsPtr1}, GPUVector{IsbitsPtr2}, ...} +@inline function deref(smv::StaticMultiTypeSet{Data, Textures}, tref::TextureRef{ReferencedArrayType, T, N, TIdx}) where {Data, Textures, ReferencedArrayType, T, N, TIdx} @inbounds smv.textures[TIdx][tref.idx] end @@ -171,11 +171,11 @@ function _get_isbits_ptr(backend, gpu_arr) end # ============================================================================ -# MultiTypeVec - Mutable, builds GPU-ready structures on push! +# MultiTypeSet - Mutable, builds GPU-ready structures on push! # ============================================================================ """ - MultiTypeVec(backend) + MultiTypeSet(backend) Mutable heterogeneous vector that builds GPU-ready structures on each push!. Takes a KernelAbstractions backend at construction. @@ -183,19 +183,19 @@ Takes a KernelAbstractions backend at construction. # Example ```julia backend = OpenCL.OpenCLBackend() -dhv = MultiTypeVec(backend) +dhv = MultiTypeSet(backend) texture = rand(Float32, 20, 20) idx1 = push!(dhv, MatteMaterial(texture)) idx2 = push!(dhv, GlassMaterial(1.5f0)) -# Access the GPU-ready StaticMultiTypeVec directly +# Access the GPU-ready StaticMultiTypeSet directly gpu_smv = dhv.static # Always up-to-date, no adapt needed ``` Push converts arrays to TextureRefs and stores texture data as GPU arrays. The static field is rebuilt on each push to stay up-to-date. """ -mutable struct MultiTypeVec{Backend} <: AbstractVector{Any} +mutable struct MultiTypeSet{Backend} <: AbstractVector{Any} backend::Backend # Material storage - CPU vectors for accumulation data_vectors::Dict{DataType, Any} # Type -> Vector{Type} @@ -206,33 +206,48 @@ mutable struct MultiTypeVec{Backend} <: AbstractVector{Any} # Keep GPU texture arrays alive (the actual texture data) texture_gpu_arrays::Vector{Any} # Cached static version - rebuilt on each push - static::StaticMultiTypeVec + static::StaticMultiTypeSet end -function MultiTypeVec(backend) - return MultiTypeVec( +Base.size(set::MultiTypeSet) = (length(set),) +function Base.length(set::MultiTypeSet) + return sum(length, values(set.data_vectors); init=0) +end + +function Base.show(io::IO, ::MIME"text/plain", set::MultiTypeSet) + n_types = length(set.data_order) + total = length(set) + print(io, "MultiTypeSet with $n_types type(s), $total element(s)") + for T in set.data_order + vec = set.data_vectors[T]::Vector + print(io, "\n ", length(vec), "× ", T) + end +end + +Base.show(io::IO, set::MultiTypeSet) = print(io, "MultiTypeSet(", length(set.data_order), " types, ", length(set), " elements)") + +function MultiTypeSet(backend) + return MultiTypeSet( backend, Dict{DataType, Any}(), DataType[], Dict{DataType, Any}(), DataType[], Any[], - StaticMultiTypeVec() + StaticMultiTypeSet() ) end -Base.isempty(dhv::MultiTypeVec) = isempty(dhv.data_order) -Base.length(dhv::MultiTypeVec) = sum(length, values(dhv.data_vectors); init=0) -n_slots(dhv::MultiTypeVec) = length(dhv.data_order) +n_slots(dhv::MultiTypeSet) = length(dhv.data_order) -# Get the static version - returns .static field for MultiTypeVec -get_static(dhv::MultiTypeVec) = dhv.static +# Get the static version - returns .static field for MultiTypeSet +get_static(dhv::MultiTypeSet) = dhv.static # ============================================================================ # Internal: Rebuild the static tuple - converts CPU vectors to GPU # ============================================================================ -function _rebuild_static!(dhv::MultiTypeVec) +function _rebuild_static!(dhv::MultiTypeSet) # Convert CPU data vectors to GPU data_tuple = if isempty(dhv.data_order) () @@ -245,7 +260,7 @@ function _rebuild_static!(dhv::MultiTypeVec) else Tuple(Adapt.adapt(dhv.backend, dhv.texture_isbits[T]) for T in dhv.texture_order) end - dhv.static = StaticMultiTypeVec(data_tuple, tex_tuple) + dhv.static = StaticMultiTypeSet(data_tuple, tex_tuple) end # ============================================================================ @@ -253,7 +268,7 @@ end # ============================================================================ """ - maybe_convert_field(dhv::MultiTypeVec, fval) + maybe_convert_field(dhv::MultiTypeSet, fval) Convert a struct field value for GPU storage. Override this for custom types. - AbstractArray → TextureRef (uploaded to GPU) @@ -263,12 +278,12 @@ Materials should use loose type parameters so fields can be either raw values OR TextureRef. This way constant values don't need texture indirection at all. """ # Convert large arrays to TextureRef, but NOT StaticArrays (they're inline values, not textures) -maybe_convert_field(dhv::MultiTypeVec, arr::A) where A<:AbstractArray = store_texture(dhv, arr) -maybe_convert_field(::MultiTypeVec, arr::StaticArrays.StaticArray) = arr # Keep StaticArrays inline +maybe_convert_field(dhv::MultiTypeSet, arr::A) where A<:AbstractArray = store_texture(dhv, arr) +maybe_convert_field(::MultiTypeSet, arr::StaticArrays.StaticArray) = arr # Keep StaticArrays inline # Don't re-convert already converted refs -maybe_convert_field(::MultiTypeVec, ref::TextureRef) = ref +maybe_convert_field(::MultiTypeSet, ref::TextureRef) = ref # Default: recurse into structs, pass through primitives -function maybe_convert_field(dhv::MultiTypeVec, item::T) where T +function maybe_convert_field(dhv::MultiTypeSet, item::T) where T # Recurse into struct types to convert nested arrays if !isbitstype(T) return convert_to_texturerefs(dhv, item) @@ -278,7 +293,7 @@ function maybe_convert_field(dhv::MultiTypeVec, item::T) where T end # Convert arrays in a struct to TextureRefs, storing them as GPU arrays -function convert_to_texturerefs(dhv::MultiTypeVec, item::T) where T +function convert_to_texturerefs(dhv::MultiTypeSet, item::T) where T if !isstructtype(T) || T <: AbstractArray return item end @@ -298,7 +313,7 @@ function convert_to_texturerefs(dhv::MultiTypeVec, item::T) where T end # Store a texture as GPU array, return TextureRef pointing to isbits device pointer -function store_texture(dhv::MultiTypeVec, arr::AbstractArray{T}) where T +function store_texture(dhv::MultiTypeSet, arr::AbstractArray{T}) where T # Convert to GPU array and keep alive if !isbitstype(T) arr = map(x -> maybe_convert_field(dhv, x), arr) @@ -330,7 +345,7 @@ end # push! - Adds item to CPU vectors, rebuilds GPU static on each push # ============================================================================ -function Base.push!(dhv::MultiTypeVec, item::T)::HeteroVecIndex where T +function Base.push!(dhv::MultiTypeSet, item::T)::SetKey where T # Convert any arrays in the item to TextureRefs (textures stored as GPU arrays) # Uses maybe_convert_field which dispatches to type-specific methods or generic conversion converted_item = maybe_convert_field(dhv, item) @@ -354,7 +369,7 @@ function Base.push!(dhv::MultiTypeVec, item::T)::HeteroVecIndex where T # Rebuild GPU static on every push _rebuild_static!(dhv) - return HeteroVecIndex(UInt8(type_idx), UInt32(vec_idx)) + return SetKey(UInt8(type_idx), UInt32(vec_idx)) end # ============================================================================ @@ -362,7 +377,7 @@ end # ============================================================================ """ - with_index(f, smv::StaticMultiTypeVec, idx::HeteroVecIndex, args...) + with_index(f, smv::StaticMultiTypeSet, idx::SetKey, args...) Execute function `f` with the element at index `idx`, passing additional `args`. The function is called as `f(element, args...)` where `element` has a concrete type. @@ -371,12 +386,12 @@ Uses a single if-elseif-else chain for SPIR-V structured control flow compatibil The function `f` must not capture variables - pass all data as `args`. """ @inline @generated function with_index( - f::F, smv::StaticMultiTypeVec{Data, Textures}, idx::HeteroVecIndex, args... + f::F, smv::StaticMultiTypeSet{Data, Textures}, idx::SetKey, args... ) where {F, Data<:Tuple, Textures} N = length(Data.parameters) if N == 0 - return :(error("with_index: empty StaticMultiTypeVec")) + return :(error("with_index: empty StaticMultiTypeSet")) end # Build a single if-elseif-else chain for structured control flow (SPIR-V compatible) @@ -400,19 +415,19 @@ end # Adapt.jl integration for GPU array conversion # ============================================================================ -# Adapt StaticMultiTypeVec - adapts data and texture arrays -# For MultiTypeVec.static, arrays are already GPU - this converts to isbits for kernel -function Adapt.adapt_structure(to, smv::StaticMultiTypeVec) +# Adapt StaticMultiTypeSet - adapts data and texture arrays +# For MultiTypeSet.static, arrays are already GPU - this converts to isbits for kernel +function Adapt.adapt_structure(to, smv::StaticMultiTypeSet) adapted_data = map(smv.data) do arr Adapt.adapt(to, arr) end adapted_textures = map(smv.textures) do tex Adapt.adapt(to, tex) end - return StaticMultiTypeVec(adapted_data, adapted_textures) + return StaticMultiTypeSet(adapted_data, adapted_textures) end -# Adapt MultiTypeVec - returns the already GPU-ready static field -function Adapt.adapt_structure(to, dhv::MultiTypeVec) +# Adapt MultiTypeSet - returns the already GPU-ready static field +function Adapt.adapt_structure(to, dhv::MultiTypeSet) return Adapt.adapt_structure(to, dhv.static) end diff --git a/src/instanced-bvh-kernels.jl b/src/instanced-bvh-kernels.jl index a92c2c3..876e16c 100644 --- a/src/instanced-bvh-kernels.jl +++ b/src/instanced-bvh-kernels.jl @@ -9,7 +9,7 @@ import KernelAbstractions as KA using KernelAbstractions: @index -using Atomix: @atomicswap +using Atomix: @atomic # ============================================================================== # GPU Kernel 0: Fill arrays (workaround for OpenCL fill! struct issue) @@ -249,12 +249,13 @@ KA.@kernel function refit_aabbs_kernel!( # Walk up the tree while parent_idx != INVALID_NODE - # Atomic exchange: mark this node as visited - # If old_value == 0: we're first thread, bail out - # If old_value == 1: we're second thread, update AABB and continue - old_value = @inbounds @atomicswap update_flags[parent_idx] = UInt32(1) + # Atomic increment: mark this node as visited + # If new_value == 1: we're first thread (was 0), bail out + # If new_value == 2: we're second thread (was 1), update AABB and continue + # Note: @atomicswap doesn't work on OpenCL, so we use @atomic += instead + new_value = @inbounds @atomic update_flags[parent_idx] += UInt32(1) - if old_value == UInt32(1) + if new_value == UInt32(2) # Second thread arrived - compute AABB from both children @inbounds begin node = nodes[parent_idx] @@ -274,7 +275,6 @@ KA.@kernel function refit_aabbs_kernel!( node.child0, node.child1, node.parent ) nodes[parent_idx] = updated_node - # Move to parent parent_idx = node.parent end @@ -391,10 +391,11 @@ KA.@kernel function refit_tlas_aabbs_kernel!( # Walk up the tree while parent_idx != INVALID_NODE - # Atomic exchange: mark this node as visited - old_value = @inbounds @atomicswap update_flags[parent_idx] = UInt32(1) + # Atomic increment: mark this node as visited + # Note: @atomicswap doesn't work on OpenCL, so we use @atomic += instead + new_value = @inbounds @atomic update_flags[parent_idx] += UInt32(1) - if old_value == UInt32(1) + if new_value == UInt32(2) # Second thread arrived - compute AABB from both children @inbounds begin node = nodes[parent_idx] diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 1860299..0a874f1 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -430,7 +430,7 @@ end push!(tlas::TLAS, geometry, material_idx) -> TLASHandle Add geometry as a single instance at identity transform with material index. -The material_idx (typically a HeteroVecIndex/MaterialIndex) is stored as metadata +The material_idx (typically a SetKey/MaterialIndex) is stored as metadata on the triangles for material lookup during shading. """ function Base.push!(tlas::TLAS, geometry, material_idx) @@ -1070,13 +1070,9 @@ function build_blas( # Sort primitives by Morton codes # AcceleratedKernels only supports GPU backends, use Julia's sortperm for CPU - if backend isa KA.CPU - perm = sortperm(morton_codes) - morton_codes .= morton_codes[perm] - primitives .= primitives[perm] - else - AK.merge_sort_by_key!(morton_codes, primitives) - end + perm = AK.sortperm(morton_codes) + morton_codes = morton_codes[perm] + primitives = primitives[perm] # Allocate nodes and initialize with empty values # Use kernel-based fill (OpenCL's fill! doesn't support struct types) diff --git a/src/ray.jl b/src/ray.jl index 93739bf..ea86288 100644 --- a/src/ray.jl +++ b/src/ray.jl @@ -61,7 +61,7 @@ end increase_hit(ray::Ray, t_hit) = Ray(ray; t_max=t_hit) increase_hit(ray::RayDifferentials, t_hit) = RayDifferentials(ray; t_max=t_hit) -@inline function intersect_p!(shape::AbstractShape, ray::R) where {R<:AbstractRay} +@inline function intersect_p!(shape::AbstractGeometry, ray::R) where {R<:AbstractRay} intersects, t_hit, barycentric = intersect(shape, ray) !intersects && return false, ray, barycentric ray = increase_hit(ray, t_hit) diff --git a/src/triangle_mesh.jl b/src/triangle_mesh.jl index 2e0f278..00ba6c4 100644 --- a/src/triangle_mesh.jl +++ b/src/triangle_mesh.jl @@ -1,4 +1,8 @@ -struct TriangleMesh{VT<:AbstractVector{Point3f}, IT<:AbstractVector{UInt32}, NT<:AbstractVector{Normal3f}, TT<:AbstractVector{Vec3f}, UT<:AbstractVector{Point2f}} <: AbstractShape +struct TriangleMesh{ + VT<:AbstractVector{Point3f}, IT<:AbstractVector{UInt32}, + NT<:AbstractVector{Normal3f}, TT<:AbstractVector{Vec3f}, + UT<:AbstractVector{Point2f}} <: AbstractGeometry{3, Float32} + vertices::VT # For the i-th triangle, its 3 vertex positions are: # [vertices[indices[3 * i + j]] for j in 0:2]. @@ -26,7 +30,7 @@ struct TriangleMesh{VT<:AbstractVector{Point3f}, IT<:AbstractVector{UInt32}, NT< end end -struct Triangle{TMetadata} <: AbstractShape +struct Triangle{TMetadata} <: AbstractGeometry{3, Float32} vertices::SVector{3,Point3f} normals::SVector{3,Normal3f} tangents::SVector{3,Vec3f} diff --git a/test/bounds.jl b/test/bounds.jl index 6132d00..87b1d09 100644 --- a/test/bounds.jl +++ b/test/bounds.jl @@ -191,9 +191,9 @@ end @testset "Bounding sphere" begin b = Raycore.Bounds3(Point3f(0, 0, 0), Point3f(2, 2, 2)) - center, radius = Raycore.bounding_sphere(b) - @test center == Point3f(1, 1, 1) - @test radius ≈ sqrt(3.0f0) + sphere = Raycore.bounding_sphere(b) + @test sphere.center == Point3f(1, 1, 1) + @test sphere.r ≈ sqrt(3.0f0) end @testset "Ray-Bounds intersection" begin diff --git a/test/test_heterovec.jl b/test/test_heterovec.jl index 2e2f27c..04d7cb1 100644 --- a/test/test_heterovec.jl +++ b/test/test_heterovec.jl @@ -1,5 +1,5 @@ using Test -using Raycore: MultiTypeVec, StaticMultiTypeVec, HeteroVecIndex, TextureRef +using Raycore: MultiTypeSet, StaticMultiTypeSet, SetKey, TextureRef using Raycore: with_index, deref, is_valid, is_invalid, n_slots using KernelAbstractions using Adapt @@ -22,8 +22,8 @@ struct MaterialWith2{T, T2} texture::T2 end -@testset "MultiTypeVec basic" begin - dhv = MultiTypeVec(backend) +@testset "MultiTypeSet basic" begin + dhv = MultiTypeSet(backend) @test isempty(dhv) idx1 = push!(dhv, SimpleMaterial(0.5f0)) @@ -43,8 +43,8 @@ end @test n_slots(dhv.static) == 2 end -@testset "Empty MultiTypeVec" begin - dhv = MultiTypeVec(backend) +@testset "Empty MultiTypeSet" begin + dhv = MultiTypeSet(backend) @test isempty(dhv) smv = dhv.static @@ -53,7 +53,7 @@ end end @testset "GPU kernel with MaterialWith2" begin - dhv = MultiTypeVec(backend) + dhv = MultiTypeSet(backend) arr1 = Float32[1 2; 3 4] arr2 = Float32[5, 6, 7] arr3 = Float32[8 9; 10 11] @@ -92,8 +92,8 @@ end @test result ≈ [arr1[1,1] + arr2[1], arr3[1,1] + arr4[1]] end -@testset "StaticMultiTypeVec on GPU (no textures)" begin - dhv = MultiTypeVec(backend) +@testset "StaticMultiTypeSet on GPU (no textures)" begin + dhv = MultiTypeSet(backend) idx1 = push!(dhv, SimpleMaterial(0.5f0)) idx2 = push!(dhv, GlassMaterial(1.5f0)) idx3 = push!(dhv, SimpleMaterial(0.8f0)) From 819d1a45531b02414d54df59fe7d063fc5c69dc2 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sun, 1 Feb 2026 15:08:11 +0100 Subject: [PATCH 16/63] add deref for array for more uniform handling --- src/heterovec.jl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/heterovec.jl b/src/heterovec.jl index 06ad02a..d80721d 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -159,6 +159,15 @@ Base.size(::TextureRef{ReferencedArrayType, T, N}) where {ReferencedArrayType, T @inbounds smv.textures[TIdx][tref.idx] end +# Fallback: if already a concrete array, just return it (no-op for CPU paths or non-TextureRef fields) +@inline deref(::StaticMultiTypeSet, arr::AbstractArray) = arr + +# Fallback for nothing context (used by convenience overloads for CPU code that doesn't use MultiTypeSet) +@inline deref(::Nothing, arr::AbstractArray) = arr + +@inline function deref(smv::StaticMultiTypeSet{Data,Textures}, tref::TextureRef{ReferencedArrayType,T,N,TIdx}) where {Data<:Tuple,Textures<:Tuple,ReferencedArrayType,T,N,TIdx} + @inbounds smv.textures[TIdx][tref.idx] +end # ============================================================================ # Dummy kernel for argconvert (same pattern as kernel-abstractions.jl) # ============================================================================ From 2c5cb2cc8cf5d0408e13cb4f5563632524a9c598 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sun, 1 Feb 2026 15:24:27 +0100 Subject: [PATCH 17/63] add comment --- src/heterovec.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/heterovec.jl b/src/heterovec.jl index d80721d..c50f381 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -285,6 +285,7 @@ Convert a struct field value for GPU storage. Override this for custom types. Materials should use loose type parameters so fields can be either raw values OR TextureRef. This way constant values don't need texture indirection at all. +This function should not be overloaded outside Raycore. """ # Convert large arrays to TextureRef, but NOT StaticArrays (they're inline values, not textures) maybe_convert_field(dhv::MultiTypeSet, arr::A) where A<:AbstractArray = store_texture(dhv, arr) From 12b2ccbe9204955213d30e1e578f3354bb99ca51 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 9 Feb 2026 16:44:26 +0100 Subject: [PATCH 18/63] small fixes --- src/Raycore.jl | 5 +- src/heterovec.jl | 32 +++++++++++ src/instanced-bvh.jl | 134 +++++++++++++++++++++++++++---------------- src/unrolled.jl | 30 ++++++++++ 4 files changed, 148 insertions(+), 53 deletions(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index ce607ea..492f12a 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -48,8 +48,8 @@ include("kernel-abstractions.jl") include("kernels.jl") include("ray_intersection_session.jl") include("soa.jl") -include("unrolled.jl") include("heterovec.jl") +include("unrolled.jl") # Macros export @_inbounds @@ -88,7 +88,8 @@ export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, g # HeterogeneousVector for type-stable heterogeneous collections export SetKey, MultiTypeSet, StaticMultiTypeSet, TextureRef -export is_invalid, is_valid, with_index, n_slots, deref, get_static +export is_invalid, is_valid, with_index, n_slots, deref, get_static, to_tuple export maybe_convert_field, store_texture +export free! end diff --git a/src/heterovec.jl b/src/heterovec.jl index c50f381..ef53dd6 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -61,6 +61,12 @@ get_static(smv::StaticMultiTypeSet) = smv # Fallback for Tuple (used by legacy code paths) get_static(t::Tuple) = t +# Convert to a flat Tuple of all elements (preserves concrete element types) +to_tuple(t::Tuple) = t +_concat_to_tuple() = () +_concat_to_tuple(v::AbstractVector, rest...) = (v..., _concat_to_tuple(rest...)...) +to_tuple(smv::StaticMultiTypeSet) = _concat_to_tuple(smv.data...) + # ============================================================================ # foreach_element - Type-stable iteration over all elements # ============================================================================ @@ -252,6 +258,9 @@ n_slots(dhv::MultiTypeSet) = length(dhv.data_order) # Get the static version - returns .static field for MultiTypeSet get_static(dhv::MultiTypeSet) = dhv.static +# MultiTypeSet delegates to its static version +to_tuple(mts::MultiTypeSet) = to_tuple(get_static(mts)) + # ============================================================================ # Internal: Rebuild the static tuple - converts CPU vectors to GPU # ============================================================================ @@ -441,3 +450,26 @@ end function Adapt.adapt_structure(to, dhv::MultiTypeSet) return Adapt.adapt_structure(to, dhv.static) end + +# ============================================================================ +# GPU Resource Cleanup +# ============================================================================ + +""" + free!(set::MultiTypeSet) + +Release GPU memory held by the MultiTypeSet (texture arrays and static data/textures). +""" +function free!(set::MultiTypeSet) + for arr in set.texture_gpu_arrays + finalize(arr) + end + empty!(set.texture_gpu_arrays) + for arr in set.static.data + finalize(arr) + end + for arr in set.static.textures + finalize(arr) + end + return nothing +end diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 0a874f1..7eb3a1a 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -287,40 +287,28 @@ function TLAS(backend) ) # Register finalizer to free GPU memory when TLAS is garbage collected - finalizer(_free_tlas_gpu_memory!, tlas) + finalizer(free!, tlas) return tlas end -"""Free all GPU memory held by a TLAS. Called by finalizer.""" -function _free_tlas_gpu_memory!(tlas::TLAS) - # Free main backend arrays - _try_unsafe_free!(tlas.nodes) - _try_unsafe_free!(tlas.instances) - _try_unsafe_free!(tlas.blas_array) +""" + free!(x) + +Trigger the registered finalizer on `x` to release GPU memory. +Safe to call on any object — no-op if no finalizer is registered. +""" +free!(x) = (finalize(x); nothing) - # Free all backing arrays for isbits BLASes +"""Free all GPU memory held by a TLAS.""" +function free!(tlas::TLAS) + finalize(tlas.nodes) + finalize(tlas.instances) + finalize(tlas.blas_array) for arr in tlas.gpu_blas_arrays - _try_unsafe_free!(arr) + finalize(arr) end empty!(tlas.gpu_blas_arrays) - - return nothing -end - -"""Try to free a GPU array if it supports unsafe_free!.""" -function _try_unsafe_free!(arr) - # GPU arrays (CLArray, CuArray) typically have unsafe_free! from GPUArrays - # Use duck typing to check if the method exists - try - # Try to call the method if it exists on the array's module - M = parentmodule(typeof(arr)) - if isdefined(M, :unsafe_free!) && applicable(getfield(M, :unsafe_free!), arr) - getfield(M, :unsafe_free!)(arr) - end - catch - # Silently ignore - GC will handle cleanup - end return nothing end @@ -711,34 +699,19 @@ function _rebuild_bvh!(tlas::TLAS) return end -"""Internal: Compact instances array by removing deleted handles.""" +"""Internal: Compact instances array by removing deleted handles, and compact BLASes.""" function _compact_instances!(tlas::TLAS) - # Collect ranges to keep (non-deleted handles) - ranges_to_keep = UnitRange{Int}[] + # Copy valid ranges to new array and update handle mappings + cpu_instances = Array(tlas.instances) + new_instances = InstanceDescriptor[] + new_handle_to_range = Dict{TLASHandle, UnitRange{Int}}() + for (handle, range) in tlas.handle_to_range handle in tlas.deleted_handles && continue - push!(ranges_to_keep, range) - end - sort!(ranges_to_keep, by=first) - - # If nothing to compact, just clear deleted handles - if length(ranges_to_keep) == length(tlas.handle_to_range) - length(tlas.deleted_handles) - # Copy valid ranges to new array and update handle mappings - cpu_instances = Array(tlas.instances) - new_instances = InstanceDescriptor[] - new_handle_to_range = Dict{TLASHandle, UnitRange{Int}}() - - for (handle, range) in tlas.handle_to_range - handle in tlas.deleted_handles && continue - new_start = length(new_instances) + 1 - append!(new_instances, cpu_instances[range]) - new_end = length(new_instances) - new_handle_to_range[handle] = new_start:new_end - end - - # Update TLAS with compacted instances - tlas.instances = Adapt.adapt(tlas.backend, new_instances) - tlas.handle_to_range = new_handle_to_range + new_start = length(new_instances) + 1 + append!(new_instances, cpu_instances[range]) + new_end = length(new_instances) + new_handle_to_range[handle] = new_start:new_end end # Remove deleted handles from tracking @@ -746,6 +719,65 @@ function _compact_instances!(tlas::TLAS) delete!(tlas.handle_to_range, handle) end empty!(tlas.deleted_handles) + tlas.handle_to_range = new_handle_to_range + + # Compact BLASes: find which blas_index values are still referenced + used_blas_indices = Set{UInt32}() + for inst in new_instances + push!(used_blas_indices, inst.blas_index) + end + + n_blas = tlas.blas_array === nothing ? 0 : length(tlas.blas_array) + if n_blas > 0 && length(used_blas_indices) < n_blas + # Build old→new index mapping (only for referenced BLASes) + sorted_used = sort!(collect(used_blas_indices)) + old_to_new = Dict{UInt32, UInt32}() + for (new_idx, old_idx) in enumerate(sorted_used) + old_to_new[old_idx] = UInt32(new_idx) + end + + # Remap blas_index in all instances + for i in eachindex(new_instances) + inst = new_instances[i] + new_blas_idx = old_to_new[inst.blas_index] + if new_blas_idx != inst.blas_index + new_instances[i] = InstanceDescriptor( + new_blas_idx, inst.instance_id, + inst.transform, inst.inv_transform, inst.flags + ) + end + end + + # Rebuild gpu_blas_arrays keeping only referenced entries + # gpu_blas_arrays layout: [nodes_1, prims_1, nodes_2, prims_2, ...] + new_gpu_blas_arrays = Any[] + for old_idx in sorted_used + old_nodes_pos = 2 * (Int(old_idx) - 1) + 1 + old_prims_pos = 2 * (Int(old_idx) - 1) + 2 + push!(new_gpu_blas_arrays, tlas.gpu_blas_arrays[old_nodes_pos]) + push!(new_gpu_blas_arrays, tlas.gpu_blas_arrays[old_prims_pos]) + end + + # Free unreferenced GPU arrays + for old_idx in UInt32(1):UInt32(n_blas) + old_idx in used_blas_indices && continue + old_nodes_pos = 2 * (Int(old_idx) - 1) + 1 + old_prims_pos = 2 * (Int(old_idx) - 1) + 2 + finalize(tlas.gpu_blas_arrays[old_nodes_pos]) + finalize(tlas.gpu_blas_arrays[old_prims_pos]) + end + tlas.gpu_blas_arrays = new_gpu_blas_arrays + + # Rebuild blas_array with only referenced isbits BLASes + cpu_blas = Array(tlas.blas_array) + new_cpu_blas = [cpu_blas[Int(old_idx)] for old_idx in sorted_used] + tlas.blas_array = Adapt.adapt(tlas.backend, new_cpu_blas) + end + + # Update instances on backend + tlas.instances = isempty(new_instances) ? + KA.allocate(tlas.backend, InstanceDescriptor, 0) : + Adapt.adapt(tlas.backend, new_instances) end # ------------------------------------------------------------------------------ diff --git a/src/unrolled.jl b/src/unrolled.jl index ebe20c7..9204542 100644 --- a/src/unrolled.jl +++ b/src/unrolled.jl @@ -211,6 +211,36 @@ end return _reduce_unrolled(fc, Base.tail(tuple), new_acc) end +# StaticMultiTypeSet support: compile-time unrolled reduction over type slots +@inline @generated function _reduce_unrolled(fc, smv::StaticMultiTypeSet{Data}, acc) where {Data<:Tuple} + N = length(Data.parameters) + if N == 0 + return :(acc) + end + reductions = Expr[] + for i in 1:N + push!(reductions, quote + for j in eachindex(smv.data[$i]) + @inbounds acc = fc(acc, smv.data[$i][j]) + end + end) + end + quote + $(reductions...) + acc + end +end + +# MultiTypeSet delegates to its static version +@inline function reduce_unrolled(f::F, mts::MultiTypeSet, init, args...) where F + reduce_unrolled(f, get_static(mts), init, args...) +end + +@inline function reduce_unrolled(f::F, smv::StaticMultiTypeSet, init, args...) where F + fc = FastClosure(f, args) + return _reduce_unrolled(fc, smv, init) +end + # ============================================================================ # sum_unrolled - Common reduction pattern # ============================================================================ From ab4184cce990e40262edfa06629d0e3dd202bb71 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Tue, 10 Feb 2026 15:54:01 +0100 Subject: [PATCH 19/63] improve updating support --- src/heterovec.jl | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/heterovec.jl b/src/heterovec.jl index ef53dd6..6c01378 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -391,6 +391,74 @@ function Base.push!(dhv::MultiTypeSet, item::T)::SetKey where T return SetKey(UInt8(type_idx), UInt32(vec_idx)) end +# ============================================================================ +# update! - Sync modified CPU data into existing GPU arrays +# ============================================================================ + +""" + update!(dhv::MultiTypeSet, key::SetKey, new_item) + +Update an existing item in the MultiTypeSet, syncing array data to GPU. +Array fields in `new_item` are copied into the existing GPU arrays (via `copyto!`). +Isbits fields are updated and the static tuple is rebuilt only if they changed. +""" +function update!(dhv::MultiTypeSet, key::SetKey, new_item) + CT = dhv.data_order[key.type_idx] + old_converted = dhv.data_vectors[CT][key.vec_idx] + updated = _update_item(dhv, old_converted, new_item) + if updated !== old_converted + dhv.data_vectors[CT][key.vec_idx] = updated + _rebuild_static!(dhv) + end + return nothing +end + +# TextureRef → Array: copy data to existing GPU array +function _update_item(dhv::MultiTypeSet, old::TextureRef{AT}, new_data::AbstractArray) where AT + _copyto_gpu!(dhv, old, new_data) + return old +end + +# Nothing → Nothing: no-op +_update_item(::MultiTypeSet, ::Nothing, ::Nothing) = nothing + +# Generic: recurse into structs with fields, return new value for leaf types +function _update_item(dhv::MultiTypeSet, old, new) + T = typeof(old) + fnames = fieldnames(T) + # Leaf types (no fields): numbers, empty structs — just return new value + isempty(fnames) && return new + # Structs with fields: always recurse (even if isbits, since converted + # structs may contain TextureRefs that need GPU array sync) + changed = false + new_fields = ntuple(length(fnames)) do i + of = getfield(old, fnames[i]) + nf = getfield(new, fnames[i]) + uf = _update_item(dhv, of, nf) + if uf !== of + changed = true + end + uf + end + changed || return old + return Base.typename(T).wrapper(new_fields...) +end + +# Find the GPU array for a TextureRef and copyto! new data +function _copyto_gpu!(dhv::MultiTypeSet, ref::TextureRef{AT}, new_data::AbstractArray) where AT + count = 0 + for arr in dhv.texture_gpu_arrays + if typeof(arr) === AT + count += 1 + if count == ref.idx + copyto!(arr, new_data) + return + end + end + end + error("GPU array not found for TextureRef(idx=$(ref.idx))") +end + # ============================================================================ # with_index - Type-stable dispatch # ============================================================================ From 23e0465124466fe45022d2bc60c1b0046f18e669 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Wed, 11 Feb 2026 14:24:26 +0100 Subject: [PATCH 20/63] fix empty blas? --- src/instanced-bvh.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 7eb3a1a..eae2d54 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -798,10 +798,14 @@ The TLAS must stay alive while the StaticTLAS is in use. """ function Adapt.adapt_structure(to, tlas::TLAS) sync!(tlas) + blas = tlas.blas_array + if blas === nothing + blas = BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}[] + end return StaticTLAS( adapt(to, tlas.nodes), adapt(to, tlas.instances), - adapt(to, tlas.blas_array), + adapt(to, blas), tlas.root_aabb ) end From 70b2ea32aeda7a8a7f1774d181877aab68c5e285 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 14 Feb 2026 14:07:39 +0100 Subject: [PATCH 21/63] change for per triangle meta --- src/instanced-bvh.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index eae2d54..7df2884 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -457,7 +457,7 @@ Uses direct GPU append - instances are appended to the GPU array immediately. function Base.push!(tlas::TLAS, inst::Instance) # Build triangles on CPU first, then convert to backend mesh = to_triangle_mesh(inst.geometry) - cpu_triangles = [Triangle(mesh, i, inst.metadata[1]) + cpu_triangles = [Triangle(mesh, i, (inst.metadata[1], UInt32(i))) for i in 1:div(length(mesh.indices), 3) if !is_degenerate(get_vertices(mesh, i))] isempty(cpu_triangles) && error("Geometry has no valid triangles") @@ -627,7 +627,7 @@ function update!(tlas::TLAS, handle::TLASHandle, new_geometry) # Build new BLAS on backend (GPU-first) mesh = to_triangle_mesh(new_geometry) - cpu_triangles = [Triangle(mesh, i, first_desc.instance_id) + cpu_triangles = [Triangle(mesh, i, (first_desc.instance_id, UInt32(i))) for i in 1:div(length(mesh.indices), 3) if !is_degenerate(get_vertices(mesh, i))] isempty(cpu_triangles) && error("New geometry has no valid triangles") From 0bdbb63656efff16e0214a156054e46c77939475 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sun, 15 Feb 2026 15:03:38 +0100 Subject: [PATCH 22/63] allow submesh materials --- src/instanced-bvh.jl | 11 ++++++++--- src/triangle_mesh.jl | 21 ++++++++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 7df2884..770b064 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -457,9 +457,14 @@ Uses direct GPU append - instances are appended to the GPU array immediately. function Base.push!(tlas::TLAS, inst::Instance) # Build triangles on CPU first, then convert to backend mesh = to_triangle_mesh(inst.geometry) - cpu_triangles = [Triangle(mesh, i, (inst.metadata[1], UInt32(i))) - for i in 1:div(length(mesh.indices), 3) - if !is_degenerate(get_vertices(mesh, i))] + has_per_face_mat = !isempty(mesh.material_indices) + n_faces = div(length(mesh.indices), 3) + cpu_triangles = [begin + mat_key = has_per_face_mat ? mesh.material_indices[i] : inst.metadata[1] + Triangle(mesh, i, (mat_key, UInt32(i))) + end + for i in 1:n_faces + if !is_degenerate(get_vertices(mesh, i))] isempty(cpu_triangles) && error("Geometry has no valid triangles") # Convert triangles to backend and build BLAS directly on backend diff --git a/src/triangle_mesh.jl b/src/triangle_mesh.jl index 00ba6c4..1822abf 100644 --- a/src/triangle_mesh.jl +++ b/src/triangle_mesh.jl @@ -1,7 +1,7 @@ struct TriangleMesh{ VT<:AbstractVector{Point3f}, IT<:AbstractVector{UInt32}, NT<:AbstractVector{Normal3f}, TT<:AbstractVector{Vec3f}, - UT<:AbstractVector{Point2f}} <: AbstractGeometry{3, Float32} + UT<:AbstractVector{Point2f}, MI<:AbstractVector} <: AbstractGeometry{3, Float32} vertices::VT # For the i-th triangle, its 3 vertex positions are: @@ -13,6 +13,9 @@ struct TriangleMesh{ tangents::TT # Optional parametric (u, v) values, one for each vertex. uv::UT + # Per-face material index. When non-empty, material_indices[face_idx] provides + # the material key for that triangle (overriding any instance-level material). + material_indices::MI function TriangleMesh( vertices::VT, @@ -20,12 +23,14 @@ struct TriangleMesh{ normals::NT = Normal3f[], tangents::TT = Vec3f[], uv::UT = Point2f[], - ) where {VT, IT, NT, TT, UT} + material_indices::MI = UInt32[], + ) where {VT, IT, NT, TT, UT, MI} - return new{VT, IT, NT, TT, UT}( + return new{VT, IT, NT, TT, UT, MI}( vertices, copy(indices), copy(normals), copy(tangents), copy(uv), + copy(material_indices), ) end end @@ -71,9 +76,19 @@ function TriangleMesh(mesh::GeometryBasics.Mesh) uvs = Point2f[] end indices = collect(reinterpret(UInt32, fs)) + # Extract per-face material_idx if present (from FaceView attribute). + # After expand_faceviews, it's per-vertex with all 3 vertices of a face + # sharing the same value, so we just take the first vertex of each face. + material_indices = if hasproperty(nmesh, :material_idx) + mat_per_vertex = nmesh.material_idx + [mat_per_vertex[indices[3*(i-1)+1]] for i in 1:length(fs)] + else + similar(indices, 0) + end return TriangleMesh( vertices, indices, normals, Vec3f[], Point2f.(uvs), + material_indices, ) end From 875706ac945c34d78237bcc467252c73514ba2c4 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 16 Feb 2026 21:54:13 +0100 Subject: [PATCH 23/63] refactor and cleanup --- src/Raycore.jl | 4 +- src/heterovec.jl | 10 ++-- src/instanced-bvh.jl | 122 ++++++++++++++++++++++++++++++++++++++----- 3 files changed, 117 insertions(+), 19 deletions(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index 492f12a..dde188f 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -59,7 +59,7 @@ export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bound # Instanced BVH types export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE -export Instance, n_instances, n_geometries +export Instance, n_instances, n_geometries, build_triangle, is_degenerate_face # TLASBuilder (new MultiTypeSet-style API) export TLASBuilder, TLASHandle, StaticTLAS, INVALID_HANDLE @@ -89,7 +89,7 @@ export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, g # HeterogeneousVector for type-stable heterogeneous collections export SetKey, MultiTypeSet, StaticMultiTypeSet, TextureRef export is_invalid, is_valid, with_index, n_slots, deref, get_static, to_tuple -export maybe_convert_field, store_texture +export maybe_convert_field, store_texture, rebuild_static! export free! end diff --git a/src/heterovec.jl b/src/heterovec.jl index 6c01378..06cc92d 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -265,7 +265,7 @@ to_tuple(mts::MultiTypeSet) = to_tuple(get_static(mts)) # Internal: Rebuild the static tuple - converts CPU vectors to GPU # ============================================================================ -function _rebuild_static!(dhv::MultiTypeSet) +function rebuild_static!(dhv::MultiTypeSet) # Convert CPU data vectors to GPU data_tuple = if isempty(dhv.data_order) () @@ -364,7 +364,7 @@ end # push! - Adds item to CPU vectors, rebuilds GPU static on each push # ============================================================================ -function Base.push!(dhv::MultiTypeSet, item::T)::SetKey where T +function Base.push!(dhv::MultiTypeSet, item::T; rebuild::Bool=true)::SetKey where T # Convert any arrays in the item to TextureRefs (textures stored as GPU arrays) # Uses maybe_convert_field which dispatches to type-specific methods or generic conversion converted_item = maybe_convert_field(dhv, item) @@ -385,8 +385,8 @@ function Base.push!(dhv::MultiTypeSet, item::T)::SetKey where T vec_idx = length(dhv.data_vectors[CT]) - # Rebuild GPU static on every push - _rebuild_static!(dhv) + # Rebuild GPU static (skip when batching many pushes) + rebuild && rebuild_static!(dhv) return SetKey(UInt8(type_idx), UInt32(vec_idx)) end @@ -408,7 +408,7 @@ function update!(dhv::MultiTypeSet, key::SetKey, new_item) updated = _update_item(dhv, old_converted, new_item) if updated !== old_converted dhv.data_vectors[CT][key.vec_idx] = updated - _rebuild_static!(dhv) + rebuild_static!(dhv) end return nothing end diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 770b064..c23ba85 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -403,6 +403,99 @@ n_total_instances(tlas::TLAS) = length(tlas.instances) # TLAS: push! operations - Direct GPU append # ------------------------------------------------------------------------------ +""" + build_triangle(vertices, normals, uvs, indices, face_idx, metadata) + +Build a Triangle from decomposed mesh arrays at the given face index. +""" +function build_triangle(vertices, normals, uvs, indices, face_idx, metadata) + f_idx = 1 + (3 * (face_idx - 1)) + vs = @SVector [vertices[indices[f_idx + i]] for i in 0:2] + ns = @SVector [normals[indices[f_idx + i]] for i in 0:2] + ts = @SVector [Vec3f(NaN) for _ in 1:3] + uv = if !isempty(uvs) + @SVector [uvs[indices[f_idx + i]] for i in 0:2] + else + SVector(Point2f(0), Point2f(1, 0), Point2f(1, 1)) + end + Triangle(vs, ns, ts, uv, metadata) +end + +""" + is_degenerate_face(vertices, indices, face_idx) + +Check if a triangle face is degenerate (zero area) without constructing a full Triangle. +""" +function is_degenerate_face(vertices, indices, face_idx) + f_idx = 1 + (3 * (face_idx - 1)) + vs = @SVector [vertices[indices[f_idx + i]] for i in 0:2] + is_degenerate(vs) +end + +""" + push!(tlas::TLAS, mesh::GeometryBasics.Mesh, transform::Mat4f=Mat4f(I)) -> TLASHandle + +Add a GeometryBasics.Mesh to the TLAS. Per-face metadata is read from the mesh's +`face_meta` attribute (if present). If no `face_meta` attribute exists, each +triangle gets `UInt32(face_idx)` as metadata. + +Returns a stable handle for later reference. +""" +function Base.push!(tlas::TLAS, mesh::GeometryBasics.Mesh, transform::Mat4f=Mat4f(I)) + nmesh = GeometryBasics.expand_faceviews(mesh) + fs = decompose(TriangleFace{UInt32}, nmesh) + verts = decompose(Point3f, nmesh) + norms = Normal3f.(decompose_normals(nmesh)) + uvs_raw = GeometryBasics.decompose_uv(nmesh) + uvs = isnothing(uvs_raw) ? Point2f[] : Point2f.(uvs_raw) + indices = collect(reinterpret(UInt32, fs)) + + has_meta = hasproperty(nmesh, :face_meta) + n_faces = length(fs) + + cpu_triangles = [begin + # After expand_faceviews, face_meta is per-vertex with all 3 verts sharing same value + meta = has_meta ? nmesh.face_meta[indices[3*(i-1)+1]] : UInt32(i) + build_triangle(verts, norms, uvs, indices, i, meta) + end + for i in 1:n_faces + if !is_degenerate_face(verts, indices, i) + ] + isempty(cpu_triangles) && error("Geometry has no valid triangles") + + # Convert triangles to backend and build BLAS directly on backend + backend_triangles = Adapt.adapt(tlas.backend, cpu_triangles) + blas = build_blas(backend_triangles) + + # Convert to isbits BLAS and append to blas_array (GPU append) + isbits_blas = _to_isbits_blas(tlas.backend, blas, tlas.gpu_blas_arrays) + tlas.blas_array = _append_blas!(tlas.backend, tlas.blas_array, isbits_blas) + blas_idx = UInt32(length(tlas.blas_array)) + + # Create InstanceDescriptor + inv_transform = Mat4f(inv(transform)) + instance_id = tlas.next_instance_id + tlas.next_instance_id += UInt32(1) + cpu_descriptors = [InstanceDescriptor(blas_idx, instance_id, transform, inv_transform, UInt32(0))] + + # Record range before append + start_idx = length(tlas.instances) + 1 + + # Adapt to backend and append (GPU append) + backend_descriptors = Adapt.adapt(tlas.backend, cpu_descriptors) + append!(tlas.instances, backend_descriptors) + + end_idx = length(tlas.instances) + + # Create handle and register range + handle = TLASHandle(tlas.next_handle_id) + tlas.next_handle_id += UInt32(1) + tlas.handle_to_range[handle] = start_idx:end_idx + + tlas.dirty = true + return handle +end + """ push!(tlas::TLAS, geometry) -> TLASHandle @@ -415,53 +508,58 @@ function Base.push!(tlas::TLAS, geometry) end """ - push!(tlas::TLAS, geometry, material_idx) -> TLASHandle + push!(tlas::TLAS, geometry, material_idx; arealight_indices=nothing) -> TLASHandle Add geometry as a single instance at identity transform with material index. The material_idx (typically a SetKey/MaterialIndex) is stored as metadata on the triangles for material lookup during shading. + +`arealight_indices`: optional per-face Vector{UInt32} of flat light indices (0 = no area light). """ -function Base.push!(tlas::TLAS, geometry, material_idx) +function Base.push!(tlas::TLAS, geometry, material_idx; arealight_indices=nothing) inst = Instance(geometry; metadata=material_idx) - return push!(tlas, inst) + return push!(tlas, inst; arealight_indices=arealight_indices) end """ - push!(tlas::TLAS, geometry, material_idx, transform::Mat4f) -> TLASHandle + push!(tlas::TLAS, geometry, material_idx, transform::Mat4f; arealight_indices=nothing) -> TLASHandle Add geometry as a single instance with transform and material index. """ -function Base.push!(tlas::TLAS, geometry, material_idx, transform::Mat4f) +function Base.push!(tlas::TLAS, geometry, material_idx, transform::Mat4f; arealight_indices=nothing) inst = Instance(geometry, transform, material_idx) - return push!(tlas, inst) + return push!(tlas, inst; arealight_indices=arealight_indices) end """ - push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}) -> TLASHandle + push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}; arealight_indices=nothing) -> TLASHandle Add geometry as multiple instances with transforms sharing the same material index. """ -function Base.push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}) +function Base.push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}; arealight_indices=nothing) inst = Instance(geometry, transforms; metadata=material_idx) - return push!(tlas, inst) + return push!(tlas, inst; arealight_indices=arealight_indices) end """ - push!(tlas::TLAS, inst::Instance) -> TLASHandle + push!(tlas::TLAS, inst::Instance; arealight_indices=nothing) -> TLASHandle Add an Instance with transforms and metadata. Returns a single handle referencing all instances in the group. +`arealight_indices`: optional per-face Vector{UInt32} of flat light indices (0 = no area light). + Uses direct GPU append - instances are appended to the GPU array immediately. """ -function Base.push!(tlas::TLAS, inst::Instance) +function Base.push!(tlas::TLAS, inst::Instance; arealight_indices=nothing) # Build triangles on CPU first, then convert to backend mesh = to_triangle_mesh(inst.geometry) has_per_face_mat = !isempty(mesh.material_indices) n_faces = div(length(mesh.indices), 3) cpu_triangles = [begin mat_key = has_per_face_mat ? mesh.material_indices[i] : inst.metadata[1] - Triangle(mesh, i, (mat_key, UInt32(i))) + al_idx = !isnothing(arealight_indices) ? arealight_indices[i] : UInt32(0) + Triangle(mesh, i, TriangleMeta(mat_key, UInt32(i), al_idx)) end for i in 1:n_faces if !is_degenerate(get_vertices(mesh, i))] From 3e6b3c8bd08d50bf1e508b68119a16d59d144209 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 23 Feb 2026 16:00:21 +0100 Subject: [PATCH 24/63] fix setkey for OpenCL --- src/heterovec.jl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/heterovec.jl b/src/heterovec.jl index 06cc92d..a7084ea 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -22,15 +22,18 @@ and the index within that type's array. - `vec_idx`: 1-based index within the vector at that slot """ struct SetKey - type_idx::UInt8 + # UInt32 (not UInt8) is intentional: LLVM's select-scalarization pass produces broken + # IR (`select i1` with mismatched result type) when scalarizing a `select { i8, i32 }`. + # Using uniform UInt32 fields gives `{ i32, i32 }`, which scalarizes correctly. + type_idx::UInt32 vec_idx::UInt32 end # Default constructor for invalid/placeholder index -SetKey() = SetKey(UInt8(0), UInt32(0)) +SetKey() = SetKey(UInt32(0), UInt32(0)) # Check for invalid sentinel -is_invalid(idx::SetKey) = idx.type_idx == UInt8(0) && idx.vec_idx == UInt32(0) +is_invalid(idx::SetKey) = idx.type_idx == UInt32(0) && idx.vec_idx == UInt32(0) is_valid(idx::SetKey) = !is_invalid(idx) # ============================================================================ @@ -388,7 +391,7 @@ function Base.push!(dhv::MultiTypeSet, item::T; rebuild::Bool=true)::SetKey wher # Rebuild GPU static (skip when batching many pushes) rebuild && rebuild_static!(dhv) - return SetKey(UInt8(type_idx), UInt32(vec_idx)) + return SetKey(UInt32(type_idx), UInt32(vec_idx)) end # ============================================================================ From f132fbeb82d54a386f33cc82ac4b27bd3fcbca20 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 23 Feb 2026 17:19:23 +0100 Subject: [PATCH 25/63] use less depth --- src/instanced-bvh.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index c23ba85..e0411e9 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -1617,8 +1617,8 @@ Algorithm: ray_maxt::Float32 = ray.t_max ray_inv_d::Vec3f = safe_invdir(ray_d) # Use safe inversion to avoid division by zero - # Stack for traversal - stack = MVector{64, UInt32}(undef) + # Stack for traversal (32 entries sufficient for typical BVH depths of ~20 levels) + stack = MVector{32, UInt32}(undef) stack_ptr::Int32 = Int32(1) @inbounds stack[stack_ptr] = INVALID_NODE @@ -1744,8 +1744,8 @@ Matches HLSL TraceRays with ANY_HIT defined. ray_maxt::Float32 = ray.t_max ray_inv_d::Vec3f = safe_invdir(ray_d) - # Stack for traversal - stack = MVector{64, UInt32}(undef) + # Stack for traversal (32 entries sufficient for typical BVH depths of ~20 levels) + stack = MVector{32, UInt32}(undef) stack_ptr::Int32 = Int32(1) @inbounds stack[stack_ptr] = INVALID_NODE From a2c23ee49082b68256254bfbf97ac12bc5c2512d Mon Sep 17 00:00:00 2001 From: Julius Krumbiegel <22495855+jkrumbiegel@users.noreply.github.com> Date: Sun, 1 Mar 2026 14:17:04 +0100 Subject: [PATCH 26/63] fix(heterovec): fix type mismatch in with_index generated comparison (#12) SetKey.type_idx was changed from UInt8 to UInt32 for LLVM/SPIR-V compatibility, but the @generated with_index function still compared against UInt8 literals. Since Julia's === checks both value and type, UInt32(1) === UInt8(1) is always false, causing all branches to fall through to the default (first material). This made every object render with the same material. Co-authored-by: Claude Opus 4.6 --- src/heterovec.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/heterovec.jl b/src/heterovec.jl index a7084ea..89eaca2 100644 --- a/src/heterovec.jl +++ b/src/heterovec.jl @@ -490,7 +490,7 @@ The function `f` must not capture variables - pass all data as `args`. for i in N:-1:1 result = Expr(:if, - :(idx.type_idx === UInt8($i)), + :(idx.type_idx === UInt32($i)), :(@inbounds f(smv.data[$i][idx.vec_idx], args...)), result ) From 811a58019ade9d8af67c0b7601f67b226df520d0 Mon Sep 17 00:00:00 2001 From: Julius Krumbiegel Date: Sun, 1 Mar 2026 20:47:28 +0100 Subject: [PATCH 27/63] Use flat arrays with offset-based indexing for BLAS traversal On Metal, device pointers (Core.LLVMPtr) stored inside GPU buffers cannot be reliably dereferenced by kernels. The inline data (root_aabb) reads correctly, but following embedded pointers to per-BLAS node/primitive arrays returns zeros. Replace the pointer-based BLAS architecture in StaticTLAS with: - BLASDescriptor: lightweight struct with nodes_offset, primitives_offset, root_aabb - Flat concatenated arrays (all_blas_nodes, all_blas_prims) built from per-BLAS GPU arrays - Offset-based indexing in closest_hit/any_hit traversal Management kernels (update_tlas_leaf_aabbs_kernel!, etc.) still use blas_array but only read root_aabb (inline, unaffected). Verified: CPU and Metal produce identical results (mean pixel ~0.327 on 3-sphere test scene). Co-Authored-By: Claude Opus 4.6 --- src/Raycore.jl | 2 +- src/instanced-bvh.jl | 324 ++++++++++++++++++++++++++++--------- test/test_instanced_bvh.jl | 4 +- 3 files changed, 250 insertions(+), 80 deletions(-) diff --git a/src/Raycore.jl b/src/Raycore.jl index dde188f..2de323c 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -58,7 +58,7 @@ export @_inbounds export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f # Instanced BVH types -export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE +export BLAS, BLASDescriptor, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE export Instance, n_instances, n_geometries, build_triangle, is_degenerate_face # TLASBuilder (new MultiTypeSet-style API) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index e0411e9..930b369 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -101,27 +101,53 @@ struct BLAS{ root_aabb::Bounds3 end +""" + BLASDescriptor + +Lightweight descriptor for a BLAS in flat-array layout. +Instead of storing device pointers to per-BLAS arrays (which fail on Metal when +stored in GPU buffers), this stores offsets into concatenated flat arrays. + +Fields: +- `nodes_offset`: 0-based offset into the flat all_blas_nodes array +- `primitives_offset`: 0-based offset into the flat all_blas_prims array +- `root_aabb`: Bounding box of the BLAS in local space +""" +struct BLASDescriptor + nodes_offset::UInt32 + primitives_offset::UInt32 + root_aabb::Bounds3 +end + # ============================================================================== # StaticTLAS - Immutable structure for kernel traversal # ============================================================================== """ - StaticTLAS{NodeArray, InstArray, BLASArray} + StaticTLAS{NodeArray, InstArray, BLASNodeArray, BLASPrimArray, DescArray} Immutable Top-Level Acceleration Structure for GPU kernel traversal. This is what `Adapt.adapt_structure` returns from a TLAS. +Uses flat arrays with offset-based indexing instead of per-BLAS pointer arrays. +This avoids the Metal issue where device pointers stored in GPU buffers cannot +be reliably dereferenced by kernels. + The struct is immutable and contains only the arrays needed for ray traversal. No management state (dictionaries, free lists, etc.) - those stay on CPU in TLAS. """ struct StaticTLAS{ NodeArray <: AbstractVector{BVHNode2}, InstArray <: AbstractVector{InstanceDescriptor}, - BLASArray <: AbstractVector{<:BLAS} + BLASNodeArray <: AbstractVector{BVHNode2}, + BLASPrimArray <: AbstractVector{<:Triangle}, + DescArray <: AbstractVector{BLASDescriptor} } nodes::NodeArray instances::InstArray - blas_array::BLASArray + all_blas_nodes::BLASNodeArray + all_blas_prims::BLASPrimArray + blas_descriptors::DescArray root_aabb::Bounds3 end @@ -195,6 +221,11 @@ mutable struct TLAS{Backend} # Backend arrays kept alive for GC (isbits pointers in blas_array reference these) gpu_blas_arrays::Vector{Any} + # Flat BLAS arrays for StaticTLAS traversal (built during adapt, kept alive for isbits pointers) + _flat_blas_nodes::Any # concatenated BVH nodes from all BLASes + _flat_blas_prims::Any # concatenated triangles from all BLASes + _flat_blas_descs::Any # BLASDescriptor array on backend + # Whether BVH topology needs rebuild dirty::Bool @@ -281,6 +312,9 @@ function TLAS(backend) Dict{TLASHandle, UnitRange{Int}}(), # handle_to_range Set{TLASHandle}(), # deleted_handles Any[], # gpu_blas_arrays (GC roots) + nothing, # _flat_blas_nodes + nothing, # _flat_blas_prims + nothing, # _flat_blas_descs true, # dirty UInt32(1), # next_handle_id UInt32(1) # next_instance_id @@ -309,6 +343,12 @@ function free!(tlas::TLAS) finalize(arr) end empty!(tlas.gpu_blas_arrays) + tlas._flat_blas_nodes !== nothing && finalize(tlas._flat_blas_nodes) + tlas._flat_blas_prims !== nothing && finalize(tlas._flat_blas_prims) + tlas._flat_blas_descs !== nothing && finalize(tlas._flat_blas_descs) + tlas._flat_blas_nodes = nothing + tlas._flat_blas_prims = nothing + tlas._flat_blas_descs = nothing return nothing end @@ -332,7 +372,12 @@ end """ Convert a BLAS with backend arrays to isbits BLAS with device pointers. -Stores the backend arrays in `keep_alive` vector to prevent GC. +Stores the backend arrays in `keep_alive` vector to prevent GC +(entries are stored in groups of 2: nodes, primitives). + +Note: The isbits BLAS is only used by management kernels that read root_aabb +(inline data). For traversal, StaticTLAS uses flat arrays with offset-based +indexing instead (see BLASDescriptor). """ function _to_isbits_blas(backend, blas::BLAS, keep_alive::Vector{Any}) # Store the backend arrays to keep them alive @@ -365,6 +410,72 @@ function _append_blas!(backend, blas_array, isbits_blas) end end +""" + _build_flat_blas_arrays!(tlas::TLAS) + +Build concatenated flat arrays from individual BLAS GPU arrays and store them +in `tlas._flat_blas_nodes`, `tlas._flat_blas_prims`, `tlas._flat_blas_descs`. + +This avoids storing device pointers in GPU buffers (which fails on Metal). +Instead, traversal kernels use BLASDescriptor offsets to index into the flat arrays. + +The flat arrays are MtlVector/CuVector etc., kept alive by the TLAS. +During adapt, they are converted to isbits device pointers for kernels. +""" +function _build_flat_blas_arrays!(tlas::TLAS) + n_blas = length(tlas.gpu_blas_arrays) ÷ 2 + backend = tlas.backend + + if n_blas == 0 + tlas._flat_blas_nodes = nothing + tlas._flat_blas_prims = nothing + tlas._flat_blas_descs = nothing + return + end + + # Read root_aabb from blas_array (inline data, always correct even on Metal) + cpu_blas = Array(tlas.blas_array) + + # Compute total sizes and build descriptors + descriptors = Vector{BLASDescriptor}(undef, n_blas) + total_nodes = 0 + total_prims = 0 + for i in 1:n_blas + nodes_arr = tlas.gpu_blas_arrays[2(i-1) + 1] + prims_arr = tlas.gpu_blas_arrays[2(i-1) + 2] + descriptors[i] = BLASDescriptor(UInt32(total_nodes), UInt32(total_prims), cpu_blas[i].root_aabb) + total_nodes += length(nodes_arr) + total_prims += length(prims_arr) + end + + # Allocate flat arrays on backend + first_nodes = tlas.gpu_blas_arrays[1] + first_prims = tlas.gpu_blas_arrays[2] + all_nodes = similar(first_nodes, total_nodes) + all_prims = similar(first_prims, total_prims) + + # Copy BLAS data into flat arrays + nodes_pos = 1 + prims_pos = 1 + for i in 1:n_blas + nodes_arr = tlas.gpu_blas_arrays[2(i-1) + 1] + prims_arr = tlas.gpu_blas_arrays[2(i-1) + 2] + + nn = length(nodes_arr) + copyto!(all_nodes, nodes_pos, nodes_arr, 1, nn) + nodes_pos += nn + + np = length(prims_arr) + copyto!(all_prims, prims_pos, prims_arr, 1, np) + prims_pos += np + end + + # Store on TLAS to keep alive (prevents GC of backing GPU buffers) + tlas._flat_blas_nodes = all_nodes + tlas._flat_blas_prims = all_prims + tlas._flat_blas_descs = Adapt.adapt(backend, descriptors) +end + """ is_valid(tlas::TLAS, handle::TLASHandle) -> Bool @@ -385,13 +496,6 @@ function n_instances(tlas::TLAS, handle::TLASHandle)::Int return length(tlas.handle_to_range[handle]) end -""" - n_geometries(tlas::TLAS) -> Int - -Get the total number of distinct geometries (BLASes) in the TLAS. -""" -n_geometries(tlas::TLAS) = tlas.blas_array === nothing ? 0 : length(tlas.blas_array) - """ n_total_instances(tlas::TLAS) -> Int @@ -790,13 +894,12 @@ function _rebuild_bvh!(tlas::TLAS) return end - # Build TLAS BVH structure from existing GPU arrays - # instances are already on backend, blas_array has isbits BLASes - built_tlas = build_tlas(tlas.blas_array, tlas.instances) + # Build TLAS BVH topology from existing GPU arrays + # blas_array is only used for root_aabb (inline data, safe on Metal) + nodes, root_aabb = _build_tlas_topology(tlas.blas_array, tlas.instances, tlas.backend) - # Update nodes with rebuilt structure - tlas.nodes = built_tlas.nodes - tlas.root_aabb = built_tlas.root_aabb + tlas.nodes = nodes + tlas.root_aabb = root_aabb tlas.dirty = false return @@ -901,14 +1004,32 @@ The TLAS must stay alive while the StaticTLAS is in use. """ function Adapt.adapt_structure(to, tlas::TLAS) sync!(tlas) - blas = tlas.blas_array - if blas === nothing - blas = BLAS{Vector{BVHNode2}, Vector{Triangle{UInt32}}}[] + + # Build flat BLAS arrays for traversal (avoids pointer-in-buffer on Metal) + _build_flat_blas_arrays!(tlas) + + if tlas._flat_blas_nodes === nothing + # Empty scene — need correct types for StaticTLAS type parameters + prim_type = length(tlas.gpu_blas_arrays) >= 2 ? eltype(tlas.gpu_blas_arrays[2]) : Triangle{UInt32} + empty_nodes = KA.allocate(tlas.backend, BVHNode2, 0) + empty_prims = KA.allocate(tlas.backend, prim_type, 0) + empty_descs = Adapt.adapt(tlas.backend, BLASDescriptor[]) + return StaticTLAS( + adapt(to, tlas.nodes), + adapt(to, tlas.instances), + adapt(to, empty_nodes), + adapt(to, empty_prims), + adapt(to, empty_descs), + tlas.root_aabb + ) end + return StaticTLAS( adapt(to, tlas.nodes), adapt(to, tlas.instances), - adapt(to, blas), + adapt(to, tlas._flat_blas_nodes), + adapt(to, tlas._flat_blas_prims), + adapt(to, tlas._flat_blas_descs), tlas.root_aabb ) end @@ -924,15 +1045,14 @@ already have isbits device pointers. Use TLAS(items) to create a mutable TLAS that properly manages GPU array lifetimes. """ function Adapt.adapt_structure(to, tlas::StaticTLAS) - # If already isbits, return as-is (already kernel-ready) isbitstype(typeof(tlas)) && return tlas - # BLASes should already have isbits pointers from mutable TLAS path - # Just adapt the outer arrays (CLArray → CLDeviceVector) return StaticTLAS( Adapt.adapt(to, tlas.nodes), Adapt.adapt(to, tlas.instances), - Adapt.adapt(to, tlas.blas_array), + Adapt.adapt(to, tlas.all_blas_nodes), + Adapt.adapt(to, tlas.all_blas_prims), + Adapt.adapt(to, tlas.blas_descriptors), tlas.root_aabb ) end @@ -1285,35 +1405,24 @@ end end """ - build_tlas(blas_array::AbstractVector{BLAS}, instances::AbstractVector{InstanceDescriptor}) -> StaticTLAS + _build_tlas_topology(blas_array, instances, backend) -> (nodes, root_aabb) -Build a Top-Level Acceleration Structure over instances. -Uses LBVH over transformed instance AABBs. +Internal: Build TLAS BVH topology (Morton codes, sorting, tree construction, refit). +Returns (nodes, root_aabb). Only accesses blas_array for root_aabb (inline data). -Returns a StaticTLAS suitable for ray traversal. -Uses KernelAbstractions for automatic CPU/GPU execution based on input array type. +`instances` must already be on the backend. """ -function build_tlas( - blas_array::AbstractVector{B}, - instances::AbstractVector{InstanceDescriptor} -) where {B <: BLAS} +function _build_tlas_topology(blas_array, instances, backend) n = length(instances) - n == 0 && return StaticTLAS(BVHNode2[], instances, blas_array, Bounds3()) - - # Infer backend from blas_array type (instances may be CPU Vector) - backend = KA.get_backend(blas_array) # Compute scene AABB from transformed instance bounds using GPU kernel # Allocate arrays for per-instance world AABBs aabb_mins = KA.allocate(backend, Point3f, n) aabb_maxs = KA.allocate(backend, Point3f, n) - # Adapt instances to backend for kernel execution (instances may be CPU Vector) - backend_instances = Adapt.adapt(backend, instances) - # Launch kernel to compute world AABBs in parallel aabb_kernel! = compute_instance_aabbs_kernel!(backend) - aabb_kernel!(aabb_mins, aabb_maxs, backend_instances, blas_array, ndrange=n) + aabb_kernel!(aabb_mins, aabb_maxs, instances, blas_array, ndrange=n) KA.synchronize(backend) # Copy results to CPU and compute scene AABB via reduction @@ -1341,12 +1450,10 @@ function build_tlas( max(aabb_extent[3], 1f-6) ) - # Allocate arrays on same backend as input + # Calculate Morton codes on same backend as input morton_codes = KA.allocate(backend, UInt32, n) - - # Launch kernel: Calculate Morton codes for instances calc_kernel! = calculate_tlas_morton_codes_kernel!(backend) - calc_kernel!(morton_codes, backend_instances, blas_array, scene_min, scene_extent, ndrange=n) + calc_kernel!(morton_codes, instances, blas_array, scene_min, scene_extent, ndrange=n) KA.synchronize(backend) # Sort indices by Morton codes @@ -1376,7 +1483,6 @@ function build_tlas( if n == 1 # For CPU, sorted_indices is already a CPU array; for GPU, copy to avoid scalar indexing original_idx = backend isa KA.CPU ? sorted_indices[1] : Array(sorted_indices[1:1])[1] - # Use scene_aabb computed from kernel (same as the single instance's world AABB) world_aabb = scene_aabb @@ -1390,11 +1496,10 @@ function build_tlas( cpu_nodes = [leaf_node] copyto!(nodes, Adapt.adapt(backend, cpu_nodes)) - return StaticTLAS(nodes, backend_instances, blas_array, world_aabb) + return (nodes, world_aabb) end # Multi-instance case: build proper LBVH - # Launch kernel: Emit topology (reuse BLAS topology kernel - same algorithm) topo_kernel! = emit_topology_kernel!(backend) topo_kernel!(nodes, morton_codes, Int32(n), ndrange=n-1) @@ -1403,7 +1508,7 @@ function build_tlas( parent_kernel!(nodes, Int32(n), ndrange=n-1) # Launch kernel: Create TLAS leaf nodes (different from BLAS - stores AABBs, not vertices) leaf_kernel! = create_tlas_leaf_nodes_kernel!(backend) - leaf_kernel!(nodes, sorted_indices, backend_instances, blas_array, Int32(n), ndrange=n) + leaf_kernel!(nodes, sorted_indices, instances, blas_array, Int32(n), ndrange=n) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) refit_kernel! = refit_tlas_aabbs_kernel!(backend) @@ -1413,7 +1518,64 @@ function build_tlas( root_node = Array(nodes[1:1])[1] root_aabb = get_tlas_node_aabb(root_node, true) - return StaticTLAS(nodes, backend_instances, blas_array, root_aabb) + return (nodes, root_aabb) +end + +""" + build_tlas(blas_array::AbstractVector{BLAS}, instances::AbstractVector{InstanceDescriptor}) -> StaticTLAS + +Build a Top-Level Acceleration Structure over instances. +Uses LBVH over transformed instance AABBs. + +Returns a StaticTLAS with flat BLAS arrays suitable for ray traversal. +Uses KernelAbstractions for automatic CPU/GPU execution based on input array type. +""" +function build_tlas( + blas_array::AbstractVector{B}, + instances::AbstractVector{InstanceDescriptor} +) where {B <: BLAS} + n_blas = length(blas_array) + n = length(instances) + + if n == 0 + prim_type = n_blas > 0 ? eltype(blas_array[1].primitives) : Triangle{UInt32} + return StaticTLAS( + BVHNode2[], instances, + BVHNode2[], prim_type[], + BLASDescriptor[], + Bounds3() + ) + end + + backend = KA.get_backend(blas_array) + backend_instances = Adapt.adapt(backend, instances) + + nodes, root_aabb = _build_tlas_topology(blas_array, backend_instances, backend) + + # Build flat arrays from BLAS data + descriptors = Vector{BLASDescriptor}(undef, n_blas) + total_nodes = 0 + total_prims = 0 + for i in 1:n_blas + descriptors[i] = BLASDescriptor(UInt32(total_nodes), UInt32(total_prims), blas_array[i].root_aabb) + total_nodes += length(blas_array[i].nodes) + total_prims += length(blas_array[i].primitives) + end + + all_nodes = similar(blas_array[1].nodes, total_nodes) + all_prims = similar(blas_array[1].primitives, total_prims) + nodes_pos = 1 + prims_pos = 1 + for i in 1:n_blas + nn = length(blas_array[i].nodes) + copyto!(all_nodes, nodes_pos, blas_array[i].nodes, 1, nn) + nodes_pos += nn + np = length(blas_array[i].primitives) + copyto!(all_prims, prims_pos, blas_array[i].primitives, 1, np) + prims_pos += np + end + + return StaticTLAS(nodes, backend_instances, all_nodes, all_prims, descriptors, root_aabb) end @@ -1608,7 +1770,7 @@ Algorithm: 4. Transform back to world space 5. Return closest hit across all instances """ -@inline function closest_hit(tlas::TraversableTLAS, ray::R) where {R <: AbstractRay} +@inline function closest_hit(tlas::StaticTLAS, ray::R) where {R <: AbstractRay} # Initialize traversal state - matches HLSL TraceRays ray = check_direction(ray) ray_o::Point3f = ray.o @@ -1632,20 +1794,22 @@ Algorithm: # Entry point is node 1 (1-indexed in Julia) node_index::UInt32 = UInt32(1) + # Cached BLAS offset for current instance (avoids repeated descriptor lookup) + current_blas_offset::UInt32 = UInt32(0) + # Get typed references to avoid repeated field access tlas_nodes = tlas.nodes tlas_instances = tlas.instances - tlas_blas_array = tlas.blas_array + tlas_blas_nodes = tlas.all_blas_nodes + tlas_blas_prims = tlas.all_blas_prims + tlas_blas_descs = tlas.blas_descriptors @inbounds while node_index != INVALID_NODE # Fetch node based on current level node::BVHNode2 = if current_instance < Int32(0) tlas_nodes[node_index] else - # current_instance is a 0-indexed instance index - inst = tlas_instances[current_instance + Int32(1)] - blas = tlas_blas_array[inst.blas_index] - blas.nodes[node_index] + tlas_blas_nodes[current_blas_offset + node_index] end is_leaf::Bool = (node.child0 == INVALID_NODE) @@ -1676,6 +1840,8 @@ Algorithm: # Get instance and transform ray node_index = UInt32(1) # Start at root of BLAS inst = tlas_instances[current_instance + Int32(1)] + desc = tlas_blas_descs[inst.blas_index] + current_blas_offset = desc.nodes_offset ray_o = transform_point(inst.inv_transform, ray.o) ray_d = transform_direction(inst.inv_transform, ray.d) ray_inv_d = safe_invdir(ray_d) @@ -1714,14 +1880,14 @@ Algorithm: # Fill in hit output - matches HLSL @inbounds if closest_instance >= Int32(0) inst = tlas_instances[closest_instance + Int32(1)] - blas = tlas_blas_array[inst.blas_index] - tri = blas.primitives[closest_prim] + desc = tlas_blas_descs[inst.blas_index] + tri = tlas_blas_prims[desc.primitives_offset + closest_prim] w = 1.0f0 - hit_u - hit_v bary = SVector{3, Float32}(w, hit_u, hit_v) return (true, tri, ray_maxt, bary, inst.instance_id) else # No hit - return dummy values - dummy_tri = tlas_blas_array[1].primitives[1] + dummy_tri = tlas_blas_prims[1] bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) end @@ -1735,7 +1901,7 @@ Faster than closest_hit when only occlusion testing is needed. Matches HLSL TraceRays with ANY_HIT defined. """ -@inline function any_hit(tlas::TraversableTLAS, ray::R) where {R <: AbstractRay} +@inline function any_hit(tlas::StaticTLAS, ray::R) where {R <: AbstractRay} # Initialize traversal state - matches HLSL TraceRays ray = check_direction(ray) ray_o::Point3f = ray.o @@ -1751,24 +1917,23 @@ Matches HLSL TraceRays with ANY_HIT defined. # Traversal state - use Int32 for indices to avoid UInt32 arithmetic issues current_instance::Int32 = Int32(-1) # -1 means no instance (top level) - # Entry point is node 1 (1-indexed in Julia) node_index::UInt32 = UInt32(1) + current_blas_offset::UInt32 = UInt32(0) # Get typed references to avoid repeated field access tlas_nodes = tlas.nodes tlas_instances = tlas.instances - tlas_blas_array = tlas.blas_array + tlas_blas_nodes = tlas.all_blas_nodes + tlas_blas_prims = tlas.all_blas_prims + tlas_blas_descs = tlas.blas_descriptors @inbounds while node_index != INVALID_NODE # Fetch node based on current level node::BVHNode2 = if current_instance < Int32(0) tlas_nodes[node_index] else - # current_instance is a 0-indexed instance index - inst = tlas_instances[current_instance + Int32(1)] - blas = tlas_blas_array[inst.blas_index] - blas.nodes[node_index] + tlas_blas_nodes[current_blas_offset + node_index] end is_leaf::Bool = (node.child0 == INVALID_NODE) @@ -1799,6 +1964,8 @@ Matches HLSL TraceRays with ANY_HIT defined. # Get instance and transform ray node_index = UInt32(1) # Start at root of BLAS inst = tlas_instances[current_instance + Int32(1)] + desc = tlas_blas_descs[inst.blas_index] + current_blas_offset = desc.nodes_offset ray_o = transform_point(inst.inv_transform, ray.o) ray_d = transform_direction(inst.inv_transform, ray.d) ray_inv_d = safe_invdir(ray_d) @@ -1809,8 +1976,8 @@ Matches HLSL TraceRays with ANY_HIT defined. if hit # ANY_HIT: return immediately on first hit inst = tlas_instances[current_instance + Int32(1)] - blas = tlas_blas_array[inst.blas_index] - tri = blas.primitives[node.child1] + desc = tlas_blas_descs[inst.blas_index] + tri = tlas_blas_prims[desc.primitives_offset + node.child1] w = 1.0f0 - u - v bary = SVector{3, Float32}(w, u, v) return (true, tri, t, bary, inst.instance_id) @@ -1836,7 +2003,7 @@ Matches HLSL TraceRays with ANY_HIT defined. end # No hit found - @inbounds dummy_tri = tlas_blas_array[1].primitives[1] + @inbounds dummy_tri = tlas_blas_prims[1] bary = SVector{3, Float32}(0.0f0, 0.0f0, 0.0f0) return (false, dummy_tri, 0.0f0, bary, INVALID_NODE) end @@ -1901,6 +2068,7 @@ function refit_tlas!(tlas::TLAS) backend = tlas.backend # Update leaf node AABBs from new transforms (kernel) + # blas_array is only used for root_aabb (inline data, safe on Metal) leaf_kernel! = update_tlas_leaf_aabbs_kernel!(backend) leaf_kernel!(tlas.nodes, tlas.instances, tlas.blas_array, Int32(n), ndrange=n) # Refit internal nodes bottom-up using atomic counters @@ -2058,18 +2226,18 @@ end BVH-compatible argument order for closest_hit. Returns (hit_found, triangle, distance, barycentric) - same as BVH. """ -function closest_hit(ray::AbstractRay, tlas::TraversableTLAS) +function closest_hit(ray::AbstractRay, tlas::StaticTLAS) hit, tri, t, bary, inst_id = closest_hit(tlas, ray) return (hit, tri, t, bary) end """ - any_hit(ray::AbstractRay, tlas::TLAS) + any_hit(ray::AbstractRay, tlas::StaticTLAS) BVH-compatible argument order for any_hit. Returns (hit_found, triangle, distance, barycentric) - same as BVH. """ -function any_hit(ray::AbstractRay, tlas::TraversableTLAS) +function any_hit(ray::AbstractRay, tlas::StaticTLAS) hit, tri, t, bary, inst_id = any_hit(tlas, ray) return (hit, tri, t, bary) end @@ -2091,9 +2259,8 @@ function Base.eltype(tlas::TLAS) return eltype(prims_array) end -function Base.eltype(::StaticTLAS{NA, IA, BA}) where {NA, IA, BA} - BLASType = eltype(BA) - return eltype(fieldtype(BLASType, :primitives)) +function Base.eltype(::StaticTLAS{NA, IA, BNA, BPA, DA}) where {NA, IA, BNA, BPA, DA} + return eltype(BPA) end # ============================================================================== @@ -2157,10 +2324,11 @@ n_instances(tlas::TraversableTLAS) = length(tlas.instances) Return number of unique BLAS geometries in the TLAS. """ -n_geometries(tlas::TraversableTLAS) = length(tlas.blas_array) +n_geometries(tlas::TLAS) = tlas.blas_array === nothing ? 0 : length(tlas.blas_array) +n_geometries(tlas::StaticTLAS) = length(tlas.blas_descriptors) # Export public API -export BLAS, TLAS, StaticTLAS, TraversableTLAS, InstanceDescriptor, BVHNode2 +export BLAS, BLASDescriptor, TLAS, StaticTLAS, TraversableTLAS, InstanceDescriptor, BVHNode2 export build_blas, build_tlas, closest_hit, any_hit, world_bound export update_instance_transform!, update_instance_transforms!, refit_tlas! export INVALID_NODE diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 5ebb888..593a545 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -1212,7 +1212,9 @@ end # Verify all fields are isbits @test isbitstype(typeof(cl_tlas.nodes)) @test isbitstype(typeof(cl_tlas.instances)) - @test isbitstype(typeof(cl_tlas.blas_array)) + @test isbitstype(typeof(cl_tlas.all_blas_nodes)) + @test isbitstype(typeof(cl_tlas.all_blas_prims)) + @test isbitstype(typeof(cl_tlas.blas_descriptors)) end @testset "World bound preserved after adapt" begin From 46133d2a12c803b31f354219ca671a571f94c3a5 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 2 Mar 2026 11:34:27 +0100 Subject: [PATCH 28/63] polish for release --- docs/src/index.md | 2 ++ src/Raycore.jl | 10 +++---- src/instanced-bvh.jl | 28 +------------------ src/{heterovec.jl => multitypeset.jl} | 9 ++---- test/runtests.jl | 9 ++++-- test/test_instanced_bvh.jl | 28 ------------------- ...test_heterovec.jl => test_multitypeset.jl} | 0 7 files changed, 17 insertions(+), 69 deletions(-) rename src/{heterovec.jl => multitypeset.jl} (98%) rename test/{test_heterovec.jl => test_multitypeset.jl} (100%) diff --git a/docs/src/index.md b/docs/src/index.md index bf5d65c..7ca4422 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -6,6 +6,8 @@ High-performance ray-triangle intersection engine with BVH acceleration for CPU - **Fast BVH acceleration** for ray-triangle intersection - **CPU and GPU support** via KernelAbstractions.jl +- **MultiTypeSet**: GPU-safe heterogeneous collections with compile-time type-stable dispatch for materials, textures, lights, etc. +- **GPU TLAS**: Two-level acceleration structure (BLAS/TLAS) with instanced geometry, per-instance transforms, and GPU-first design - **Analysis tools**: centroid calculation, illumination analysis, view factors for radiosity - **Makie integration** for visualization diff --git a/src/Raycore.jl b/src/Raycore.jl index dde188f..aeb4759 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -48,7 +48,7 @@ include("kernel-abstractions.jl") include("kernels.jl") include("ray_intersection_session.jl") include("soa.jl") -include("heterovec.jl") +include("multitypeset.jl") include("unrolled.jl") # Macros @@ -61,9 +61,9 @@ export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bound export BLAS, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE export Instance, n_instances, n_geometries, build_triangle, is_degenerate_face -# TLASBuilder (new MultiTypeSet-style API) -export TLASBuilder, TLASHandle, StaticTLAS, INVALID_HANDLE -export sync!, update_instance!, update!, n_total_instances +# TLAS (GPU two-level acceleration structure) +export TLASHandle, StaticTLAS, INVALID_HANDLE +export sync!, update!, n_total_instances # BVH4 types (HIPRT-style 4-wide nodes) export BVHNode4, BLAS4, TLAS4, build_blas4, closest_hit4, any_hit4 @@ -86,7 +86,7 @@ export @get, @set, similar_soa # GPU-safe unrolled iteration export FastClosure, for_unrolled, map_unrolled, reduce_unrolled, sum_unrolled, getindex_unrolled -# HeterogeneousVector for type-stable heterogeneous collections +# MultiTypeSet - type-stable heterogeneous collections export SetKey, MultiTypeSet, StaticMultiTypeSet, TextureRef export is_invalid, is_valid, with_index, n_slots, deref, get_static, to_tuple export maybe_convert_field, store_texture, rebuild_static! diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index e0411e9..af36691 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -203,10 +203,7 @@ mutable struct TLAS{Backend} next_instance_id::UInt32 end -# Legacy alias for compatibility -const TLASBuilder = TLAS - -# Note: _get_isbits_ptr is defined in heterovec.jl and reused here +# Note: _get_isbits_ptr is defined in multitypeset.jl and reused here # ============================================================================== # Instance - High-level wrapper for instanced geometry @@ -2051,29 +2048,6 @@ end # Use TLAS(meshes, metadata_fn) for per-triangle metadata, or # TLAS([Instance(mesh1), Instance(mesh2), ...]) for the new Instance API. -# Make closest_hit and any_hit work with both argument orders for compatibility -""" - closest_hit(ray::AbstractRay, tlas::TLAS) - -BVH-compatible argument order for closest_hit. -Returns (hit_found, triangle, distance, barycentric) - same as BVH. -""" -function closest_hit(ray::AbstractRay, tlas::TraversableTLAS) - hit, tri, t, bary, inst_id = closest_hit(tlas, ray) - return (hit, tri, t, bary) -end - -""" - any_hit(ray::AbstractRay, tlas::TLAS) - -BVH-compatible argument order for any_hit. -Returns (hit_found, triangle, distance, barycentric) - same as BVH. -""" -function any_hit(ray::AbstractRay, tlas::TraversableTLAS) - hit, tri, t, bary, inst_id = any_hit(tlas, ray) - return (hit, tri, t, bary) -end - """ Base.eltype(tlas::TraversableTLAS) diff --git a/src/heterovec.jl b/src/multitypeset.jl similarity index 98% rename from src/heterovec.jl rename to src/multitypeset.jl index 89eaca2..c3ed1ec 100644 --- a/src/heterovec.jl +++ b/src/multitypeset.jl @@ -1,5 +1,5 @@ # ============================================================================ -# HeterogeneousVector - Type-stable heterogeneous collections for GPU +# MultiTypeSet - Type-stable heterogeneous collections for GPU # ============================================================================ # Provides compile-time type-stable dispatch over collections of different types. # Used for materials, textures, media, lights, etc. @@ -61,11 +61,8 @@ n_slots(smv::StaticMultiTypeSet) = length(smv.data) # Get the static version - identity for StaticMultiTypeSet, .static field for MultiTypeSet get_static(smv::StaticMultiTypeSet) = smv -# Fallback for Tuple (used by legacy code paths) -get_static(t::Tuple) = t # Convert to a flat Tuple of all elements (preserves concrete element types) -to_tuple(t::Tuple) = t _concat_to_tuple() = () _concat_to_tuple(v::AbstractVector, rest...) = (v..., _concat_to_tuple(rest...)...) to_tuple(smv::StaticMultiTypeSet) = _concat_to_tuple(smv.data...) @@ -181,10 +178,10 @@ end # Dummy kernel for argconvert (same pattern as kernel-abstractions.jl) # ============================================================================ -KA.@kernel _heterovec_dummy_kernel() = nothing +KA.@kernel _multitypeset_dummy_kernel() = nothing function _get_isbits_ptr(backend, gpu_arr) - kernel = _heterovec_dummy_kernel(backend) + kernel = _multitypeset_dummy_kernel(backend) return KA.argconvert(kernel, gpu_arr) end diff --git a/test/runtests.jl b/test/runtests.jl index b8c3934..a92b50c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -14,7 +14,7 @@ Aqua.test_all(Raycore; ambiguities=(; broken=true)) include("test_intersection.jl") end @testset "Type Stability" begin - # include("test_type_stability.jl") + # include("test_type_stability.jl") # disabled: @allocated tests fail on Julia 1.12 end @testset "Bounds" begin include("bounds.jl") @@ -22,7 +22,10 @@ Aqua.test_all(Raycore; ambiguities=(; broken=true)) @testset "Instanced BVH" begin include("test_instanced_bvh.jl") end - @testset "HeteroVec" begin - include("test_heterovec.jl") + @testset "MultiTypeSet" begin + include("test_multitypeset.jl") + end + @testset "Unrolled" begin + # include("test_unrolled.jl") # requires BenchmarkTools (not in test deps) end end diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 5ebb888..2516199 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -403,34 +403,6 @@ end @test hit_miss == false end -@testset "TLAS BVH-compatible API (argument order)" begin - # Test that closest_hit(ray, tlas) works (BVH-compatible order) - v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) - tri = RTriangle( - SVector(v1, v2, v3), - SVector(Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)), - SVector(Vec3f(0), Vec3f(0), Vec3f(0)), - SVector(Point2f(0, 0), Point2f(1, 0), Point2f(0, 1)), - UInt32(1) - ) - - blas = build_blas([tri]) - identity = Mat4f(I) - instances = [InstanceDescriptor(UInt32(1), UInt32(1), identity, identity, UInt32(0))] - tlas = build_tlas([blas], instances) - - ray = Ray(o=Point3f(0.25, 0.25, 1.0), d=Vec3f(0, 0, -1)) - - # BVH-compatible order (ray first) - hit, prim, dist, bary = closest_hit(ray, tlas) - @test hit == true - @test dist ≈ 1.0f0 - - # any_hit with BVH-compatible order - hit_any, _, _, _ = any_hit(ray, tlas) - @test hit_any == true -end - # ============================================================================== # Instance API Tests # ============================================================================== diff --git a/test/test_heterovec.jl b/test/test_multitypeset.jl similarity index 100% rename from test/test_heterovec.jl rename to test/test_multitypeset.jl From 1712d5e7306121eb1a1de8a711425c97cda7fc21 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 2 Mar 2026 15:49:07 +0100 Subject: [PATCH 29/63] final cleanup and removal of unused apis --- .github/workflows/ci.yml | 6 +- Project.toml | 3 +- README.md | 27 +- docs/examples.jl | 7 +- docs/src/bvh_hit_tests_content.md | 101 ++-- docs/src/raytracing-core.jl | 12 +- docs/src/raytracing_tutorial_content.md | 37 +- docs/src/wavefront-renderer.jl | 22 +- ext/RaycoreMakieExt.jl | 287 ++++----- src/Raycore.jl | 14 +- src/bvh.jl | 738 ------------------------ src/instanced-bvh.jl | 240 +++----- src/kernel-abstractions.jl | 8 - src/ray_intersection_session.jl | 95 --- src/triangle_mesh.jl | 106 +--- test/runtests.jl | 9 + test/test_instanced_bvh.jl | 217 +++---- test/test_intersection.jl | 92 ++- test/test_multitypeset.jl | 3 + test/test_type_stability.jl | 66 +-- 20 files changed, 447 insertions(+), 1643 deletions(-) delete mode 100644 src/bvh.jl delete mode 100644 src/ray_intersection_session.jl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8254d9..ab98b4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,8 @@ jobs: version: 1 arch: x64 - uses: julia-actions/cache@v2 - - name: Install pkgs dependencies - run: julia --project=@. -e 'using Pkg; Pkg.test("Raycore", coverage=true)' - uses: julia-actions/julia-runtest@v1 + with: + # --check-bounds=auto: GPU kernels (OpenCL/pocl) crash with --check-bounds=yes + # because bounds-check code generates SPIR-V that pocl cannot handle + check_bounds: auto diff --git a/Project.toml b/Project.toml index 0af8a01..bca7ec3 100644 --- a/Project.toml +++ b/Project.toml @@ -44,8 +44,9 @@ pocl_jll = "7.1.0" Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" OpenCL = "08131aa3-fb12-5dee-8b74-c09406e224a2" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" pocl_jll = "627d6b7a-bbe6-5189-83e7-98cc0a5aeadd" [targets] -test = ["Test", "JET", "Aqua", "pocl_jll", "OpenCL"] +test = ["Test", "JET", "Aqua", "pocl_jll", "OpenCL", "StaticArrays"] diff --git a/README.md b/README.md index f6ee2bb..62d2091 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ [![](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliageometry.github.io/Raycore.jl/stable/) [![](https://img.shields.io/badge/docs-dev-blue.svg)](https://juliageometry.github.io/Raycore.jl/dev/) -High-performance ray-triangle intersection engine with BVH acceleration for CPU and GPU. +High-performance ray-triangle intersection engine with TLAS/BLAS acceleration for CPU and GPU. ## Features -- **Fast BVH acceleration** for ray-triangle intersection +- **Fast TLAS/BLAS acceleration** for ray-triangle intersection - **CPU and GPU support** via KernelAbstractions.jl - **Analysis tools**: centroid calculation, illumination analysis, view factors for radiosity - **Makie integration** for visualization @@ -26,14 +26,14 @@ Pkg.add(url="https://github.com/JuliaGeometry/Raycore.jl") using Raycore, GeometryBasics, LinearAlgebra # Create geometry -sphere = Tesselation(Sphere(Point3f(0, 0, 2), 1.0f0), 20) +mesh = normal_mesh(Sphere(Point3f(0, 0, 2), 1.0f0)) -# Build BVH acceleration structure -bvh = BVH([sphere]) +# Build TLAS acceleration structure +tlas = TLAS([mesh], (mi, ti) -> UInt32(mi)) # Cast rays and find intersections ray = Ray(o=Point3f(0, 0, 0), d=Vec3f(0, 0, 1)) -hit_found, triangle, distance, bary_coords = closest_hit(bvh, ray) +hit_found, triangle, distance, bary_coords, instance_id = closest_hit(tlas, ray) if hit_found hit_point = ray.o + ray.d * distance @@ -46,13 +46,22 @@ end ```julia # Calculate scene centroid from a viewing direction viewdir = normalize(Vec3f(0, 0, -1)) -hitpoints, centroid = get_centroid(bvh, viewdir) +hitpoints, centroid = get_centroid(tlas, viewdir) # Analyze illumination -illumination = get_illumination(bvh, viewdir) +illumination = get_illumination(tlas, viewdir) # Compute view factors for radiosity -vf_matrix = view_factors(bvh; rays_per_triangle=1000) +vf_matrix = view_factors(tlas; rays_per_triangle=1000) +``` + +## Testing + +Run tests with `--check-bounds=auto` (not the `Pkg.test` default of `--check-bounds=yes`), because GPU kernels compiled with bounds checking generate SPIR-V that crashes pocl: + +```julia +using Pkg +Pkg.test("Raycore"; julia_args=`--check-bounds=auto`) ``` ## Documentation diff --git a/docs/examples.jl b/docs/examples.jl index 6dcae50..0fce655 100644 --- a/docs/examples.jl +++ b/docs/examples.jl @@ -14,8 +14,11 @@ begin l = 0.5 floor = Rect3f(-l, -l, -0.01, 2l, 2l, 0.01) cat = load(Makie.assetpath("cat.obj")) - bvh = Raycore.BVH([s1, s2, s3, s4, cat]); - world_mesh = GeometryBasics.Mesh(bvh) + bvh = Raycore.TLAS([normal_mesh(s1), normal_mesh(s2), normal_mesh(s3), normal_mesh(s4), cat], (mi, ti) -> UInt32(mi)); + # TODO: examples.jl needs rewrite for TLAS API + # bvh.primitives → iterate tlas.blas_array[i].primitives + # GeometryBasics.Mesh(bvh) → use Makie extension: plot(tlas) + world_mesh = Makie.convert_arguments(Makie.Mesh, bvh)[1] f, ax, pl = Makie.mesh(world_mesh; color=:teal) center!(ax.scene) viewdir = normalize(ax.scene.camera.view_direction[]) diff --git a/docs/src/bvh_hit_tests_content.md b/docs/src/bvh_hit_tests_content.md index 82154f5..8b7df98 100644 --- a/docs/src/bvh_hit_tests_content.md +++ b/docs/src/bvh_hit_tests_content.md @@ -1,6 +1,6 @@ -# BVH Hit Testing: `closest_hit` vs `any_hit` +# TLAS Hit Testing: `closest_hit` vs `any_hit` -This document tests and visualizes the difference between `closest_hit` and `any_hit` functions in the BVH implementation using the new `RayIntersectionSession` API. +This document tests and visualizes the difference between `closest_hit` and `any_hit` functions in the TLAS implementation using the `trace_rays` API. ## Test Setup @@ -9,19 +9,24 @@ using Raycore, GeometryBasics, LinearAlgebra using WGLMakie using Test using Bonito +import KernelAbstractions as KA # Create a simple test scene with multiple overlapping primitives function create_test_scene() # Three spheres at different distances along the Z-axis - sphere1 = Tesselation(Sphere(Point3f(0, 0, 5), 1.0f0), 20) # Furthest - sphere2 = Tesselation(Sphere(Point3f(0, 0, 3), 1.0f0), 20) # Middle - sphere3 = Tesselation(Sphere(Point3f(0, 0, 1), 1.0f0), 20) # Closest - - bvh = Raycore.BVH([sphere1, sphere2, sphere3]) - return bvh + sphere1 = normal_mesh(Sphere(Point3f(0, 0, 5), 1.0f0)) # Furthest + sphere2 = normal_mesh(Sphere(Point3f(0, 0, 3), 1.0f0)) # Middle + sphere3 = normal_mesh(Sphere(Point3f(0, 0, 1), 1.0f0)) # Closest + + tlas = Raycore.TLAS(KA.CPU()) + push!(tlas, sphere1) + push!(tlas, sphere2) + push!(tlas, sphere3) + sync!(tlas) + return tlas end -bvh = create_test_scene() +tlas = create_test_scene() ``` ## Test 1: Single Ray Through Center @@ -31,19 +36,14 @@ Test a ray through the center that passes through all three spheres. # Create a ray with slight offset to avoid hitting triangle vertices exactly test_ray = Raycore.Ray(o=Point3f(0.1, 0.1, -5), d=Vec3f(0, 0, 1)) -# Create session with closest_hit -session_closest = RayIntersectionSession(Raycore.closest_hit, [test_ray], bvh) - -# Create session with any_hit for comparison -session_any = RayIntersectionSession(Raycore.any_hit, [test_ray], bvh) +# Trace with closest_hit (default) +result_closest = trace_rays(tlas, [test_ray]) fig = Figure() # Left: closest_hit visualization -plot(fig[1, 1], session_closest; axis=(; show_axis=false)) -plot(fig[1, 2], session_any; axis=(; show_axis=false)) +plot(fig[1, 1], result_closest; axis=(; show_axis=false)) Label(fig[0, 1], "closest_hit", fontsize=20, font=:bold, tellwidth=false) -Label(fig[0, 2], "any_hit", fontsize=20, font=:bold, tellwidth=false) fig ``` @@ -57,64 +57,60 @@ test_positions = map(p-> (p = p.-0.5; Point3f(p..., -5)), rand(Point2f, 10)) # Create rays rays = [Raycore.Ray(o=pos, d=Vec3f(0, 0, 1)) for pos in test_positions] -# Create session -session_multi = RayIntersectionSession(Raycore.closest_hit, rays, bvh) -plot(session_multi; axis=(;show_axis=false)) +# Trace rays and visualize +result_multi = trace_rays(tlas, rays) +plot(result_multi; axis=(;show_axis=false)) ``` ## Visualization: Multiple Rays -## Test 4: Difference Between any*hit and closest*hit +## Test 4: Complex Scene -Demonstrate that `any_hit` can return different results than `closest_hit`. +Demonstrate ray tracing through a complex scene with many overlapping objects. ```julia (editor=true, logging=false, output=true) # Create a complex scene with overlapping geometry -# This creates a BVH where traversal order can differ from distance order using Random Random.seed!(123) -complex_spheres = [] +complex_tlas = Raycore.TLAS(KA.CPU()) # Add some large overlapping spheres -push!(complex_spheres, Tesselation(Sphere(Point3f(0, 0, 10), 3.0f0), 20)) -push!(complex_spheres, Tesselation(Sphere(Point3f(0.5, 0, 5), 0.5f0), 15)) -push!(complex_spheres, Tesselation(Sphere(Point3f(-0.5, 0, 15), 1.5f0), 18)) +push!(complex_tlas, normal_mesh(Sphere(Point3f(0, 0, 10), 3.0f0))) +push!(complex_tlas, normal_mesh(Sphere(Point3f(0.5, 0, 5), 0.5f0))) +push!(complex_tlas, normal_mesh(Sphere(Point3f(-0.5, 0, 15), 1.5f0))) -# Add many small spheres to create complex BVH structure +# Add many small spheres to create complex TLAS structure for i in 1:30 x = randn() * 5 y = randn() * 5 z = rand(8.0:0.5:12.0) r = 0.3 + rand() * 0.5 - push!(complex_spheres, Tesselation(Sphere(Point3f(x, y, z), r), 8)) + push!(complex_tlas, normal_mesh(Sphere(Point3f(x, y, z), Float32(r)))) end -complex_bvh = Raycore.BVH(complex_spheres) -# Test rays to find cases where any_hit differs from closest_hit +sync!(complex_tlas) + +# Test rays test_rays = map(rand(Point2f, 20)) do p p = (p .* 14f0) .- 8f0 Raycore.Ray(o=Point3f(p..., -5), d=Vec3f(0, 0, 1)) end -session_closest = RayIntersectionSession(Raycore.closest_hit, test_rays, complex_bvh) -session_any = RayIntersectionSession(Raycore.any_hit, test_rays, complex_bvh) +result = trace_rays(complex_tlas, test_rays) + fig = Figure() -# Left: closest_hit visualization -plot(fig[1, 1], session_closest; axis=(; show_axis=false)) -plot(fig[1, 2], session_any; axis=(; show_axis=false)) +plot(fig[1, 1], result; axis=(; show_axis=false)) Label(fig[0, 1], "closest_hit", tellwidth=false) -Label(fig[0, 2], "any_hit", tellwidth=false) fig ``` **Key Findings:** - * `any_hit` exits on the **first** intersection during BVH traversal (uses `intersect`, doesn't update ray) - * `closest_hit` continues searching and updates ray's `t_max` (uses `intersect_p!`) - * In complex scenes with overlapping geometry, `any_hit` can return hits that are significantly farther + * `closest_hit` continues searching and updates ray's `t_max` to find the nearest intersection + * `any_hit` exits on the **first** intersection during TLAS traversal (useful for shadow rays) * Both always agree on **whether** a hit occurred (hit vs miss) - * The difference appears when BVH traversal order differs from spatial distance order + * `any_hit` is typically faster than `closest_hit` due to early termination ## Performance Comparison @@ -131,14 +127,16 @@ end ``` ```julia (editor=true, logging=false, output=true) using BenchmarkTools +using Adapt test_ray = Raycore.Ray(o=Point3f(0.1, 0.1, -5), d=Vec3f(0, 0, 1)) +static_tlas = Adapt.adapt(KA.CPU(), tlas) # Benchmark closest_hit -closest_time = @benchmark Raycore.closest_hit($bvh, $test_ray) +closest_time = @benchmark Raycore.closest_hit($static_tlas, $test_ray) # Benchmark any_hit -any_time = @benchmark Raycore.any_hit($bvh, $test_ray) +any_time = @benchmark Raycore.any_hit($static_tlas, $test_ray) perf_table = map([ @@ -153,23 +151,22 @@ Bonito.Table(perf_table) This document demonstrated: -1. **`RayIntersectionSession`** - A convenient struct for managing ray tracing sessions +1. **`trace_rays`** - A convenient function for tracing rays against a TLAS and collecting results for visualization - * Bundles rays, BVH, hit function, and results together - * Provides helper functions: `hit_count()`, `miss_count()`, `hit_points()`, `hit_distances()` -2. **Makie visualization recipe** - Automatic visualization via `plot(session)` + * Returns a `RayIntersectionResult` bundling rays, hit data, and the TLAS + * Automatically builds a `StaticTLAS` for traversal +2. **Makie visualization recipe** - Automatic visualization via `plot(result)` - * Automatically renders BVH geometry, rays, and hit points + * Automatically renders TLAS geometry, rays, and hit points * Customizable colors, transparency, markers, and labels * Works with any Makie backend (GLMakie, WGLMakie, CairoMakie) 3. **`closest_hit`** correctly identifies the nearest intersection among multiple overlapping primitives - * Returns: `(hit_found::Bool, hit_primitive::Triangle, distance::Float32, barycentric_coords::Point3f)` - * `distance` is the distance from ray origin to the hit point - * Use `Raycore.sum_mul(bary_coords, primitive.vertices)` to convert to world-space hit point + * Returns: `(hit_found::Bool, triangle::Triangle, distance::Float32, bary_coords::SVector{3,Float32}, instance_id::UInt32)` + * Use `sum(bary_coords .* triangle.vertices)` to convert to world-space hit point 4. **`any_hit`** efficiently determines if any intersection exists, exiting early - * Returns: Same format as `closest_hit`: `(hit_found::Bool, hit_primitive::Triangle, distance::Float32, barycentric_coords::Point3f)` + * Returns: Same format as `closest_hit` * Can exit early on first hit found, making it faster for occlusion testing 5. Both functions handle miss cases correctly (returning `hit_found=false`) 6. `any_hit` is typically faster than `closest_hit` due to early termination diff --git a/docs/src/raytracing-core.jl b/docs/src/raytracing-core.jl index 18273c7..067ce85 100644 --- a/docs/src/raytracing-core.jl +++ b/docs/src/raytracing-core.jl @@ -85,7 +85,7 @@ function compute_light( shadow_dir = normalize(shadow_vec) shadow_ray = Raycore.Ray(o=point + normal * 0.001f0, d=shadow_dir) - shadow_hit, _, hit_dist, _ = Raycore.any_hit(bvh, shadow_ray) + shadow_hit, _, hit_dist, _, _ = Raycore.any_hit(bvh, shadow_ray) if !shadow_hit || hit_dist >= shadow_dist shadow_factor += 1.0f0 @@ -148,7 +148,7 @@ function reflective_kernel(bvh, ctx, tri, dist, bary, ray, sky_color, shadow_sam # Cast reflection ray reflect_ray = Raycore.Ray(o=hit_point + normal * 0.001f0, d=reflect_dir) - refl_hit, refl_tri, refl_dist, refl_bary = Raycore.closest_hit(bvh, reflect_ray) + refl_hit, refl_tri, refl_dist, refl_bary, _ = Raycore.closest_hit(bvh, reflect_ray) reflection_color = if refl_hit refl_point = reflect_ray.o + reflect_ray.d * refl_dist @@ -187,8 +187,8 @@ function example_scene(; glass_cat=false) left_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(0.01, 5, 10))) # Add a couple of spheres for visual interest - sphere1 = Tesselation(Sphere(Point3f(-2, -1.5 + 0.8, 2), 0.8f0), 64) - sphere2 = Tesselation(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0), 64) + sphere1 = normal_mesh(Sphere(Point3f(-2, -1.5 + 0.8, 2), 0.8f0)) + sphere2 = normal_mesh(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0)) # Material: base_color, metallic, roughness, ior, transmission cat_material = if glass_cat @@ -209,7 +209,7 @@ function example_scene(; glass_cat=false) geometries = [g for (g, _) in scene] materials = [m for (_, m) in scene] - bvh = Raycore.BVH(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + bvh = Raycore.TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) lights = default_lights() ctx = RenderContext(lights, materials, 0.1f0) return bvh, ctx @@ -222,7 +222,7 @@ end function sample_light(bvh, ctx, width, height, camera_pos, focal_length, aspect, x, y, sky_color) jitter = rand(Vec2f) ray = camera_ray(x, y, width, height, camera_pos, focal_length, aspect; jitter) - hit_found, tri, dist, bary = Raycore.closest_hit(bvh, ray) + hit_found, tri, dist, bary, _ = Raycore.closest_hit(bvh, ray) if hit_found color = reflective_kernel(bvh, ctx, tri, dist, bary, ray, RGB(0.5f0, 0.7f0, 1.0f0), 8) return to_vec3f(color) diff --git a/docs/src/raytracing_tutorial_content.md b/docs/src/raytracing_tutorial_content.md index 759ad99..d651bbe 100644 --- a/docs/src/raytracing_tutorial_content.md +++ b/docs/src/raytracing_tutorial_content.md @@ -47,10 +47,11 @@ left_wall = normal_mesh(Rect3f(Vec3f(-5, -1.5, -2), Vec3f(0.01, 5, 10))) sphere1 = Tesselation(Sphere(Point3f(-2, -1.5 + 0.8, 2), 0.8f0), 64) sphere2 = Tesselation(Sphere(Point3f(2, -1.5 + 0.6, 1), 0.6f0), 64) -# Build our BVH acceleration structure -scene_geometry = [cat_mesh, floor, back_wall, left_wall, sphere1, sphere2] -bvh = Raycore.TLAS(scene_geometry)[1] -md"**BVH built with $(length(bvh.primitives)) triangles**" +# Build our TLAS acceleration structure +scene_geometry = [cat_mesh, floor, back_wall, left_wall, + normal_mesh(sphere1), normal_mesh(sphere2)] +bvh = Raycore.TLAS(scene_geometry, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +md"**TLAS built**" ``` ## Part 2: Helper Functions - Building Blocks @@ -96,7 +97,7 @@ function trace(f, bvh; width=700, height=300, jitter = samples > 1 ? rand(Vec2f) : Vec2f(0) # Calculate the ray shooting from the camera pixel into the scene ray = camera_ray(x, y, width, height, camera_pos, focal_length, aspect; jitter) - hit_found, triangle, distance, bary_coords = Raycore.closest_hit(bvh, ray) + hit_found, triangle, distance, bary_coords, _ = Raycore.closest_hit(bvh, ray) color = if hit_found to_vec3f(f(bvh, ctx, triangle, distance, bary_coords, ray)) else @@ -155,7 +156,7 @@ function compute_light( shadow_dir = normalize(shadow_vec) shadow_ray = Raycore.Ray(o=point + normal * 0.001f0, d=shadow_dir) - shadow_hit, _, hit_dist, _ = Raycore.any_hit(bvh, shadow_ray) + shadow_hit, _, hit_dist, _, _ = Raycore.any_hit(bvh, shadow_ray) if !shadow_hit || hit_dist >= shadow_dist shadow_factor += 1.0f0 @@ -201,11 +202,11 @@ trace((args...)-> shadow_kernel(args...; shadow_samples=8), bvh, samples=8) ## Part 7: Materials and Multiple Lights -Time to add color and multiple lights! To associate materials with geometry, we need to rebuild the BVH with **metadata** that links each triangle to its material. +Time to add color and multiple lights! To associate materials with geometry, we need to rebuild the TLAS with **metadata** that links each triangle to its material. ### Triangle Metadata -When building a BVH, you can pass a `metadata_fn(mesh_idx, tri_idx)` that assigns custom data to each triangle. This metadata is stored in `triangle.metadata` and returned with every ray hit. For materials, we use the mesh index as metadata: +When building a TLAS, you can pass a `metadata_fn(mesh_idx, tri_idx)` that assigns custom data to each triangle. This metadata is stored in `triangle.metadata` and returned with every ray hit. For materials, we use the mesh index as metadata: ```julia (editor=true, logging=false, output=true) struct PointLight @@ -236,9 +237,9 @@ materials = [ Material(RGB(0.3f0, 0.6f0, 0.9f0), 0.5f0, 0.3f0), # 6: sphere2 - semi-metallic ] -# Rebuild BVH with material indices as metadata +# Rebuild TLAS with material indices as metadata # The metadata_fn receives (mesh_idx, tri_idx) and returns data stored per-triangle -bvh = Raycore.BVH(scene_geometry, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +bvh = Raycore.TLAS(scene_geometry, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) # Create lights lights = [ @@ -310,7 +311,7 @@ function reflective_kernel(bvh, ctx, tri, dist, bary, ray, sky_color) # Cast reflection ray reflect_ray = Raycore.Ray(o=hit_point + normal * 0.001f0, d=reflect_dir) - refl_hit, refl_tri, refl_dist, refl_bary = Raycore.closest_hit(bvh, reflect_ray) + refl_hit, refl_tri, refl_dist, refl_bary, _ = Raycore.closest_hit(bvh, reflect_ray) reflection_color = if refl_hit refl_point = reflect_ray.o + reflect_ray.d * refl_dist @@ -374,7 +375,7 @@ We built a complete ray tracer with: **Core Features:** - * BVH acceleration for fast ray-scene intersections + * TLAS acceleration for fast ray-scene intersections * Perspective camera with configurable FOV * Smooth shading from interpolated normals * Multi-light system with distance attenuation @@ -392,11 +393,11 @@ We built a complete ray tracer with: **Key Raycore Functions:** - * `Raycore.BVH(meshes)` - Build acceleration structure (default metadata = primitive index) - * `Raycore.BVH(meshes, metadata_fn)` - Build with custom per-triangle metadata + * `Raycore.TLAS(meshes)` - Build acceleration structure + * `Raycore.TLAS(meshes, metadata_fn)` - Build with custom per-triangle metadata * `Raycore.Ray(o=origin, d=direction)` - Create ray - * `Raycore.closest_hit(bvh, ray)` - Find nearest intersection, returns `(hit, triangle, distance, bary_coords)` - * `Raycore.any_hit(bvh, ray)` - Test for any intersection (fast shadow test) + * `Raycore.closest_hit(tlas, ray)` - Find nearest intersection, returns `(hit, triangle, distance, bary_coords, instance_id)` + * `Raycore.any_hit(tlas, ray)` - Test for any intersection (fast shadow test) * `Raycore.reflect(wo, normal)` - Compute reflection direction * `triangle.metadata` - Access custom data stored per-triangle @@ -405,8 +406,8 @@ We built a complete ray tracer with: 1. **Material Scene Pattern** - Associate materials with geometry using metadata: ```julia -# Build BVH with mesh index as metadata -bvh = Raycore.BVH(meshes, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) +# Build TLAS with mesh index as metadata +tlas = Raycore.TLAS(meshes, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) # In your shader, look up material from hit triangle mat = materials[triangle.metadata] diff --git a/docs/src/wavefront-renderer.jl b/docs/src/wavefront-renderer.jl index 57d2b2e..7245899 100644 --- a/docs/src/wavefront-renderer.jl +++ b/docs/src/wavefront-renderer.jl @@ -11,15 +11,15 @@ using Statistics # ============================================================================ """ - MaterialScene(geometry_material_pairs) -> (bvh, materials) + MaterialScene(geometry_material_pairs) -> (tlas, materials) -Create a BVH and materials array from a vector of (geometry, material) tuples. +Create a TLAS and materials array from a vector of (geometry, material) tuples. # Arguments - `geometry_material_pairs`: Vector of `(mesh, material)` tuples # Returns -- `bvh`: BVH with material indices as triangle metadata +- `tlas`: TLAS with material indices as triangle metadata - `materials`: Vector of materials # Example @@ -35,12 +35,12 @@ function MaterialScene(geometry_material_pairs::Vector{<:Tuple{<:Any, M}}) where meshes = [p[1] for p in geometry_material_pairs] materials = M[p[2] for p in geometry_material_pairs] - # Create BVH with material index as metadata + # Create TLAS with material index as metadata function metadata_fn(mesh_idx, _tri_idx) return Int32(mesh_idx) end - bvh = Raycore.BVH(meshes, metadata_fn) - return bvh, materials + tlas = Raycore.TLAS(meshes, metadata_fn) + return tlas, materials end # ============================================================================ @@ -268,7 +268,7 @@ end @inbounds if idx <= length(ray_queue.ray) # Read from SoA @get ray, pixel_x, pixel_y, sample_idx = ray_queue[idx] - hit_found, tri, dist, bary = Raycore.closest_hit(bvh, ray) + hit_found, tri, dist, bary, _ = Raycore.closest_hit(bvh, ray) # Write to SoA using @set @set hit_queue[idx] = (hit_found=hit_found, tri=tri, dist=dist, bary=Vec3f(bary), ray=ray, pixel_x=pixel_x, pixel_y=pixel_y, sample_idx=sample_idx) @@ -351,7 +351,7 @@ end # any_hit respects ray.t_max and only returns hits before the light # So if we get a hit, something is blocking the light visible = if ray.t_max > 0.0f0 - hit_found, _, _, _ = Raycore.any_hit(bvh, ray) + hit_found, _, _, _, _ = Raycore.any_hit(bvh, ray) !hit_found # Visible only if no obstruction else false # Dummy ray (sky hits) @@ -492,7 +492,7 @@ end @get ray, hit_idx = reflection_ray_soa[idx] if ray.t_max > 0.0f0 - hit_found, tri, dist, bary = Raycore.closest_hit(bvh, ray) + hit_found, tri, dist, bary, _ = Raycore.closest_hit(bvh, ray) if hit_found # Compute normal here so we don't need to store the triangle v0, v1, v2 = Raycore.normals(tri) @@ -639,7 +639,7 @@ converted to GPU using `to_gpu(ArrayType, renderer)`. # Fields - `framebuffer`: Output image buffer -- `bvh`: BVH acceleration structure +- `bvh`: TLAS acceleration structure - `ctx`: Scene context (materials, lights) - Camera parameters: `camera_pos`, `fov`, `sky_color`, `samples_per_pixel` - Work queues for each wavefront stage @@ -733,7 +733,7 @@ function Raycore.to_gpu(Arr, renderer::WavefrontRenderer) # Convert image img = Arr(renderer.framebuffer) - # Convert BVH and context + # Convert TLAS and context bvh_gpu = Raycore.to_gpu(Arr, renderer.bvh) ctx_gpu = Raycore.to_gpu(Arr, renderer.ctx) diff --git a/ext/RaycoreMakieExt.jl b/ext/RaycoreMakieExt.jl index cde14a3..5bb31e7 100644 --- a/ext/RaycoreMakieExt.jl +++ b/ext/RaycoreMakieExt.jl @@ -3,53 +3,110 @@ module RaycoreMakieExt using Raycore using Makie using GeometryBasics +using Adapt import Makie: plot, plot! +# ============================================================================ +# TLAS → Mesh conversion (plot geometry directly) +# ============================================================================ + +Makie.plottype(::Raycore.TLAS) = Makie.Mesh +Makie.plottype(::Raycore.TLAS4) = Makie.Mesh + +function Makie.convert_arguments(::Type{Makie.Mesh}, tlas::Union{Raycore.TLAS, Raycore.TLAS4}) + vertices = Point3f[] + faces = GeometryBasics.TriangleFace{Int}[] + colors = Float32[] + normals = Vec3f[] + + metadata_to_color = Dict{Any, Float32}() + next_color_idx = Ref(0f0) + + function get_color_for_metadata(meta) + get!(metadata_to_color, meta) do + next_color_idx[] += 1f0 + next_color_idx[] + end + end + + for blas in tlas.blas_array + for prim in blas.primitives + start_idx = length(vertices) + color_val = get_color_for_metadata(prim.metadata) + for (v, n) in zip(prim.vertices, prim.normals) + push!(vertices, v) + push!(colors, color_val) + push!(normals, Vec3f(n)) + end + push!(faces, GeometryBasics.TriangleFace(start_idx + 1, start_idx + 2, start_idx + 3)) + end + end + return (GeometryBasics.Mesh(vertices, faces; normal=normals, color=colors), ) +end + +# ============================================================================ +# RayPlot recipe — visualize rays traced through a TLAS +# ============================================================================ + +""" + RayIntersectionResult + +Stores rays and their intersection results for visualization. +Created by [`trace_rays`](@ref). """ - plot(session::RayIntersectionSession; kwargs...) +struct RayIntersectionResult + rays::Vector{Raycore.Ray} + hits::Vector{Tuple{Bool, Raycore.Triangle, Float32, GeometryBasics.Vec{3,Float32}, UInt32}} + tlas::Raycore.TLAS +end + +""" + trace_rays(tlas::Raycore.TLAS, rays::AbstractVector{Raycore.Ray}) + +Trace rays against a TLAS and return a `RayIntersectionResult` for visualization. + +# Example +```julia +using Raycore, RayMakie -Makie recipe for visualizing a RayIntersectionSession. +tlas = TLAS(KA.CPU()) +push!(tlas, mesh) +sync!(tlas) + +rays = [Raycore.Ray(o=Point3f(0,0,-5), d=Vec3f(0,0,1))] +result = trace_rays(tlas, rays) +plot(result) +``` +""" +function Raycore.trace_rays(tlas::Raycore.TLAS, rays::AbstractVector{<:Raycore.AbstractRay}) + static_tlas = Adapt.adapt(tlas.backend, tlas) + hits = map(rays) do ray + Raycore.closest_hit(static_tlas, ray) + end + RayIntersectionResult(collect(rays), collect(hits), tlas) +end + +""" + plot(result::RayIntersectionResult; kwargs...) + +Makie recipe for visualizing ray intersection results. # Keyword Arguments -- `show_bvh::Bool = true`: Whether to show the BVH geometry -- `bvh_alpha::Float64 = 0.4`: Transparency for BVH meshes -- `bvh_colors = [:red, :yellow, :blue]`: Colors to cycle through for different meshes -- `ray_colors = nothing`: Colors for rays. If `nothing`, uses a gradient based on hit distance -- `ray_color::Symbol = :black`: Default color for all rays if `ray_colors` is `nothing` +- `show_geometry::Bool = true`: Whether to show the TLAS geometry +- `geometry_alpha::Float64 = 0.4`: Transparency for geometry meshes +- `ray_color::Symbol = :green`: Default color for hit rays - `hit_color::Symbol = :green`: Color for hit point markers -- `miss_color::Symbol = :gray`: Color for rays that missed +- `miss_color = (:gray, 0.5)`: Color for rays that missed - `ray_length::Float32 = 15.0f0`: Length to draw rays that miss - `show_hit_points::Bool = true`: Whether to show markers at hit points -- `hit_markersize::Float64 = 0.2`: Size of hit point markers +- `hit_markersize::Float64 = 0.1`: Size of hit point markers - `show_labels::Bool = false`: Whether to show text labels at hit points -- `axis = nothing`: Optional axis to draw on (if not provided, creates new figure) - -# Example -```julia -using Raycore, GeometryBasics, GLMakie - -# Create geometry -sphere1 = Tesselation(Sphere(Point3f(0, 0, 1), 1.0f0), 20) -sphere2 = Tesselation(Sphere(Point3f(0, 0, 3), 1.0f0), 20) -bvh = Raycore.BVH([sphere1, sphere2]) - -# Create rays -rays = [ - Raycore.Ray(Point3f(0, 0, -5), Vec3f(0, 0, 1)), - Raycore.Ray(Point3f(1, 0, -5), Vec3f(0, 0, 1)), -] - -# Create and visualize session -session = RayIntersectionSession(rays, bvh, Raycore.closest_hit) -plot(session) -``` """ -@recipe(RayPlot, session) do scene +@recipe(RayPlot, result) do scene Attributes( - show_bvh = true, - bvh_alpha = 1.0, - bvh_colors = Makie.wong_colors(), - ray_colors = nothing, + show_geometry = true, + geometry_alpha = 0.4, + geometry_colors = Makie.wong_colors(), ray_color = :green, hit_color = :green, miss_color = (:gray, 0.5), @@ -60,17 +117,14 @@ plot(session) ) end -Makie.plottype(::Raycore.RayIntersectionSession) = RayPlot +Makie.plottype(::RayIntersectionResult) = RayPlot Makie.preferred_axis_type(::RayPlot) = LScene function Makie.plot!(plot::RayPlot) - session = plot[:session][] + result = plot[:result][] - # Extract attributes - show_bvh = plot[:show_bvh][] - bvh_alpha = plot[:bvh_alpha][] - bvh_colors = plot[:bvh_colors][] - ray_colors = plot[:ray_colors][] + show_geometry = plot[:show_geometry][] + geometry_alpha = plot[:geometry_alpha][] ray_color = plot[:ray_color][] hit_color = plot[:hit_color][] miss_color = plot[:miss_color][] @@ -79,18 +133,13 @@ function Makie.plot!(plot::RayPlot) hit_markersize = plot[:hit_markersize][] show_labels = plot[:show_labels][] - # Draw BVH if requested - if show_bvh - draw_bvh!(plot, session.bvh, bvh_colors, bvh_alpha) - end - - # Determine ray colors if not provided - if isnothing(ray_colors) - # Use single color for all rays - ray_colors = fill(ray_color, length(session.rays)) + # Draw geometry + if show_geometry + geo_mesh = Makie.convert_arguments(Makie.Mesh, result.tlas)[1] + mesh!(plot, geo_mesh; alpha=geometry_alpha) end - # Collect all data for batch rendering + # Classify rays into hits and misses hit_ray_starts = Point3f[] hit_ray_directions = Vec3f[] hit_ray_colors = [] @@ -102,159 +151,53 @@ function Makie.plot!(plot::RayPlot) hit_labels_pos = Point3f[] hit_labels_text = String[] - for (i, (ray, hit)) in enumerate(zip(session.rays, session.hits)) - hit_found, hit_primitive, distance, bary_coords = hit - - # Get color for this ray - color = i <= length(ray_colors) ? ray_colors[i] : ray_color + for (i, (ray, hit)) in enumerate(zip(result.rays, result.hits)) + hit_found, hit_triangle, distance, bary_coords, instance_id = hit if hit_found - # Calculate hit point - hit_point = Raycore.sum_mul(bary_coords, hit_primitive.vertices) + hit_point = sum(bary_coords .* hit_triangle.vertices) - # Collect ray data push!(hit_ray_starts, ray.o) push!(hit_ray_directions, hit_point - ray.o) - push!(hit_ray_colors, color) + push!(hit_ray_colors, ray_color) - # Collect hit point data if show_hit_points push!(hit_points_pos, hit_point) - # Collect label data if show_labels push!(hit_labels_pos, hit_point .+ Vec3f(0.2, 0.2, 0.2)) push!(hit_labels_text, "Hit $i\nd=$(round(distance, digits=2))") end end else - # Ray missed - collect miss ray data push!(miss_ray_starts, ray.o) push!(miss_ray_directions, ray.d * ray_length) end end - # Draw all hit rays in one call + # Draw hit rays if !isempty(hit_ray_starts) - arrows3d!( - plot, - hit_ray_starts, - hit_ray_directions, - color = hit_ray_colors, - markerscale = 0.3 - ) + arrows!(plot, hit_ray_starts, hit_ray_directions, + color=hit_ray_colors, arrowsize=Vec3f(0.1, 0.1, 0.15)) end - # Draw all miss rays in one call + # Draw miss rays if !isempty(miss_ray_starts) - arrows3d!( - plot, - miss_ray_starts, - miss_ray_directions, - color = miss_color, - markerscale = 0.3 - ) + arrows!(plot, miss_ray_starts, miss_ray_directions, + color=miss_color, arrowsize=Vec3f(0.1, 0.1, 0.15)) end - # Draw all hit points in one call + # Draw hit points if show_hit_points && !isempty(hit_points_pos) - meshscatter!( - plot, - hit_points_pos, - color = hit_color, - markersize = hit_markersize - ) + meshscatter!(plot, hit_points_pos, color=hit_color, markersize=hit_markersize) end - # Draw all labels in one call + # Draw labels if show_labels && !isempty(hit_labels_pos) - text!( - plot, - hit_labels_pos, - text = hit_labels_text, - color = hit_color, - fontsize = 12 - ) + text!(plot, hit_labels_pos, text=hit_labels_text, color=hit_color, fontsize=12) end return plot end -""" -Helper function to draw BVH geometry -""" -function draw_bvh!(plot, bvh::Raycore.BVH, colors, alpha) - # Group primitives by their metadata - mesh!(plot, convert_arguments(Makie.Mesh, bvh)[1]) -end - -Makie.plottype(::Raycore.BVH) = Makie.Mesh - -function Makie.convert_arguments(::Type{Makie.Mesh}, bvh::Raycore.BVH) - # Convert BVH to a Mesh for plotting - vertices = Point3f[] - faces = GeometryBasics.TriangleFace{Int}[] - colors = Float32[] - normals = Vec3f[] - # Map unique metadata values to color indices - metadata_to_color = Dict{Any, Float32}() - next_color_idx = Ref(0f0) - - function get_color_for_metadata(meta) - get!(metadata_to_color, meta) do - next_color_idx[] += 1f0 - next_color_idx[] - end - end - for (i, prim) in enumerate(bvh.primitives) - start_idx = length(vertices) - color_val = get_color_for_metadata(prim.metadata) - for (v, n) in zip(prim.vertices, prim.normals) - push!(vertices, v) - push!(colors, color_val) - push!(normals, Vec3f(n)) - end - push!(faces, GeometryBasics.TriangleFace(start_idx + 1, start_idx + 2, start_idx + 3)) - end - return (GeometryBasics.Mesh(vertices, faces; normal=normals, color=colors), ) -end - -# TLAS support (two-level acceleration structure) -Makie.plottype(::Raycore.TLAS) = Makie.Mesh -Makie.plottype(::Raycore.TLAS4) = Makie.Mesh - -function Makie.convert_arguments(::Type{Makie.Mesh}, tlas::Union{Raycore.TLAS, Raycore.TLAS4}) - # Convert TLAS to a Mesh by iterating through all BLAS primitives - vertices = Point3f[] - faces = GeometryBasics.TriangleFace{Int}[] - colors = Float32[] - normals = Vec3f[] - - # Map unique metadata values to color indices - metadata_to_color = Dict{Any, Float32}() - next_color_idx = Ref(0f0) - - function get_color_for_metadata(meta) - get!(metadata_to_color, meta) do - next_color_idx[] += 1f0 - next_color_idx[] - end - end - - for blas in tlas.blas_array - for prim in blas.primitives - start_idx = length(vertices) - color_val = get_color_for_metadata(prim.metadata) - for (v, n) in zip(prim.vertices, prim.normals) - push!(vertices, v) - push!(colors, color_val) - push!(normals, Vec3f(n)) - end - push!(faces, GeometryBasics.TriangleFace(start_idx + 1, start_idx + 2, start_idx + 3)) - end - end - @show length(vertices) length(faces) length(normals) length(colors) - return (GeometryBasics.Mesh(vertices, faces; normal=normals, color=colors), ) -end - end # module diff --git a/src/Raycore.jl b/src/Raycore.jl index 845c0a5..ba2b8a3 100644 --- a/src/Raycore.jl +++ b/src/Raycore.jl @@ -40,13 +40,11 @@ include("bounds.jl") include("transformations.jl") include("math.jl") include("triangle_mesh.jl") -include("bvh.jl") include("instanced-bvh.jl") include("instanced-bvh-kernels.jl") include("bvh4.jl") include("kernel-abstractions.jl") include("kernels.jl") -include("ray_intersection_session.jl") include("soa.jl") include("multitypeset.jl") include("unrolled.jl") @@ -55,11 +53,11 @@ include("unrolled.jl") export @_inbounds # Core types -export Ray, RayDifferentials, Triangle, TriangleMesh, AccelPrimitive, BVH, Bounds3, Normal3f +export Ray, RayDifferentials, Triangle, Bounds3, Normal3f # Instanced BVH types export BLAS, BLASDescriptor, TLAS, InstanceDescriptor, BVHNode2, build_blas, build_tlas, INVALID_NODE -export Instance, n_instances, n_geometries, build_triangle, is_degenerate_face +export build_triangle, is_degenerate_face # TLAS (GPU two-level acceleration structure) export TLASHandle, StaticTLAS, INVALID_HANDLE @@ -69,7 +67,10 @@ export sync!, update!, n_total_instances export BVHNode4, BLAS4, TLAS4, build_blas4, closest_hit4, any_hit4 # Ray intersection functions -export closest_hit, any_hit, world_bound +export closest_hit, any_hit, world_bound, trace_rays + +# Stub for Makie extension +function trace_rays end # Math utilities export reflect @@ -77,9 +78,6 @@ export reflect # Analysis functions export get_centroid, get_illumination, view_factors -# Ray intersection session -export RayIntersectionSession, hit_points, hit_distances, hit_count, miss_count - # SoA utilities export @get, @set, similar_soa diff --git a/src/bvh.jl b/src/bvh.jl deleted file mode 100644 index c1789bc..0000000 --- a/src/bvh.jl +++ /dev/null @@ -1,738 +0,0 @@ -abstract type AccelPrimitive <: Primitive end - -struct BVHPrimitiveInfo - primitive_number::UInt32 - bounds::Bounds3 - centroid::Point3f - - function BVHPrimitiveInfo(primitive_number::Integer, bounds::Bounds3) - new( - primitive_number, bounds, - 0.5f0 * bounds.p_min + 0.5f0 * bounds.p_max, - ) - end -end - -struct BVHNode - bounds::Bounds3 - children::Tuple{Maybe{BVHNode},Maybe{BVHNode}} - split_axis::UInt8 - offset::UInt32 - n_primitives::UInt32 - - """ - Construct leaf node. - """ - function BVHNode(offset::Integer, n_primitives::Integer, bounds::Bounds3) - new(bounds, (nothing, nothing), 0, offset, n_primitives) - end - """ - Construct intermediary node. - """ - function BVHNode(axis::Integer, left::BVHNode, right::BVHNode) - new(left.bounds ∪ right.bounds, (left, right), axis, 0, 0) - end -end - -abstract type LinearNode end - -struct LinearBVH <: LinearNode - bounds::Bounds3 - offset::UInt32 - n_primitives::UInt32 - split_axis::UInt8 - is_interior::Bool -end - -function LinearBVHLeaf(bounds::Bounds3, primitives_offset::Integer, n_primitives::Integer) - LinearBVH(bounds, primitives_offset, n_primitives, 0, false) -end - -function LinearBVHInterior(bounds::Bounds3, second_child_offset::Integer, split_axis::Integer) - LinearBVH(bounds, second_child_offset, 0, split_axis, true) -end - -function primitives_to_bvh(primitives, max_node_primitives=1) - max_node_primitives = min(255, max_node_primitives) - isempty(primitives) && return (primitives, max_node_primitives, LinearBVH[]) - primitives_info = [ - BVHPrimitiveInfo(i, world_bound(p)) - for (i, p) in enumerate(primitives) - ] - total_nodes = Ref(0) - ordered_primitives = similar(primitives, 0) - root = _init( - primitives, primitives_info, 1, length(primitives), - total_nodes, ordered_primitives, max_node_primitives, - ) - - offset = Ref{UInt32}(1) - flattened = Vector{LinearBVH}(undef, total_nodes[]) - _unroll(flattened, root, offset) - @real_assert total_nodes[] + 1 == offset[] - return (ordered_primitives, max_node_primitives, flattened) -end - -""" - CompactTriangle - -Pre-transformed triangle data for efficient GPU ray-triangle intersection. -Uses edge vectors for Möller-Trumbore intersection algorithm. - -Fields: -- v0: First vertex position (4th component for alignment) -- edge1: v1 - v0 edge vector -- edge2: v2 - v0 edge vector -- normal: Face normal (4th component for alignment) -""" -struct CompactTriangle - v0::SVector{4, Float32} - edge1::SVector{4, Float32} - edge2::SVector{4, Float32} - normal::SVector{4, Float32} -end - -""" - to_compact_triangle(tri::Triangle) -> CompactTriangle - -Convert a Triangle to CompactTriangle format with pre-computed edge vectors. -""" -@inline function to_compact_triangle(tri::Triangle)::CompactTriangle - vs = vertices(tri) - v0, v1, v2 = vs[1], vs[2], vs[3] - edge1 = v1 - v0 - edge2 = v2 - v0 - - # Compute face normal - face_normal = normalize(cross(Vec3f(edge1), Vec3f(edge2))) - - return CompactTriangle( - SVector{4, Float32}(v0[1], v0[2], v0[3], 0f0), - SVector{4, Float32}(edge1[1], edge1[2], edge1[3], 0f0), - SVector{4, Float32}(edge2[1], edge2[2], edge2[3], 0f0), - SVector{4, Float32}(face_normal[1], face_normal[2], face_normal[3], 0f0), - ) -end - -""" - intersect_compact_triangle(tri::CompactTriangle, ray_o, ray_d, t_max) - -Watertight Möller-Trumbore ray-triangle intersection for GPU. -Uses pre-computed edge vectors for efficiency. - -Returns: (hit, t, u, v) where u,v are barycentric coordinates -""" -@inline function intersect_compact_triangle( - tri::CompactTriangle, - ray_o::Point3f, - ray_d::Vec3f, - t_max::Float32 -) - EPSILON = 1.0f-6 - - # Möller-Trumbore algorithm - work directly with SVector components to avoid allocations - # h = cross(ray_d, edge2) - h_x = ray_d[2] * tri.edge2[3] - ray_d[3] * tri.edge2[2] - h_y = ray_d[3] * tri.edge2[1] - ray_d[1] * tri.edge2[3] - h_z = ray_d[1] * tri.edge2[2] - ray_d[2] * tri.edge2[1] - - # a = dot(edge1, h) - a = tri.edge1[1] * h_x + tri.edge1[2] * h_y + tri.edge1[3] * h_z - - # Check if ray is parallel to triangle - if abs(a) < EPSILON - return (false, t_max, 0f0, 0f0) - end - - f = 1f0 / a - - # s = ray_o - v0 - # s = ray_o - v0 - s_x = ray_o[1] - tri.v0[1] - s_y = ray_o[2] - tri.v0[2] - s_z = ray_o[3] - tri.v0[3] - - # u = f * dot(s, h) - u = f * (s_x * h_x + s_y * h_y + s_z * h_z) - - if u < 0f0 || u > 1f0 - return (false, t_max, 0f0, 0f0) - end - - # q = cross(s, edge1) - q_x = s_y * tri.edge1[3] - s_z * tri.edge1[2] - q_y = s_z * tri.edge1[1] - s_x * tri.edge1[3] - q_z = s_x * tri.edge1[2] - s_y * tri.edge1[1] - - # v = f * dot(ray_d, q) - v = f * (ray_d[1] * q_x + ray_d[2] * q_y + ray_d[3] * q_z) - - if v < 0f0 || u + v > 1f0 - return (false, t_max, 0f0, 0f0) - end - - # t = f * dot(edge2, q) - t = f * (tri.edge2[1] * q_x + tri.edge2[2] * q_y + tri.edge2[3] * q_z) - - if t > EPSILON && t < t_max - return (true, t, u, v) - end - - return (false, t_max, 0f0, 0f0) -end - -""" - BVH{NodeVec, TriVec, OrigTriVec} - -GPU-optimized BVH acceleration structure. - -Key optimizations: -- Uses LinearBVH node structure (flat array, depth-first layout) -- Pre-transforms triangles with edge vectors for Möller-Trumbore -- Designed for efficient GPU kernel traversal - -Fields: -- nodes: LinearBVH nodes (flat array, depth-first layout) -- triangles: Pre-transformed compact triangles -- primitives: Original triangles (for normals, UVs, metadata) -- max_node_primitives: Maximum primitives per leaf node -""" -struct BVH{ - NodeVec <: AbstractVector{LinearBVH}, - TriVec <: AbstractVector{CompactTriangle}, - OrigTriVec <: AbstractVector{<:Triangle} -} <: AccelPrimitive - nodes::NodeVec - triangles::TriVec - primitives::OrigTriVec - max_node_primitives::UInt8 -end - - -to_triangle_mesh(x::TriangleMesh) = x - -function to_triangle_mesh(x::GeometryBasics.AbstractGeometry) - m = GeometryBasics.uv_normal_mesh(x) - return TriangleMesh(m) -end - -""" - BVH(primitives, metadata_fn, max_node_primitives=1) - -Construct a BVH acceleration structure from a list of primitives (meshes or geometries). - -Arguments: -- `primitives`: Vector of triangle meshes or GeometryBasics geometries -- `metadata_fn`: Function `(mesh_index, triangle_index) -> metadata` to generate metadata for each triangle -- `max_node_primitives`: Maximum number of primitives per leaf node (default: 1) - -Returns a GPU-optimized BVH with pre-transformed triangles for efficient ray tracing. - -# Example -```julia -# Simple case: no metadata -bvh = BVH(meshes) - -# With metadata function -bvh = BVH(meshes, (mesh_idx, tri_idx) -> MaterialIndex(UInt8(1), UInt32(mesh_idx))) -``` -""" -function BVH( - primitives::AbstractVector{P}, - metadata_fn::Function, - max_node_primitives::Integer=1, - ) where {P} - # First pass: collect all triangles to determine the metadata type - first_mesh = to_triangle_mesh(first(primitives)) - first_metadata = metadata_fn(1, 1) - TMetadata = typeof(first_metadata) - - triangles = Triangle{TMetadata}[] - for (mi, prim) in enumerate(primitives) - triangle_mesh = to_triangle_mesh(prim) - for i in 1:div(length(triangle_mesh.indices), 3) - metadata = metadata_fn(mi, length(triangles) + 1) - push!(triangles, Triangle(triangle_mesh, i, metadata)) - end - end - ordered_primitives, max_prim, nodes = primitives_to_bvh(triangles, max_node_primitives) - - # Convert triangles to compact format with pre-computed edges - compact_tris = map(to_compact_triangle, ordered_primitives) - - return BVH( - nodes, - compact_tris, - ordered_primitives, - UInt8(max_prim) - ) -end - -# Convenience constructor: metadata defaults to primitive index -function BVH(primitives::AbstractVector{P}, max_node_primitives::Integer=1) where {P} - return BVH(primitives, (_, tri_idx) -> tri_idx, max_node_primitives) -end - -mutable struct BucketInfo - count::UInt32 - bounds::Bounds3 -end - -function _init( - primitives::AbstractVector, primitives_info::Vector{BVHPrimitiveInfo}, - from::Integer, to::Integer, total_nodes::Ref{Int64}, - ordered_primitives::AbstractVector, max_node_primitives::Integer, - ) - - total_nodes[] += 1 - n_primitives = to - from + 1 - # Compute bounds for all primitives in BVH node. - bounds = mapreduce( - i -> primitives_info[i].bounds, ∪, from:to, init = Bounds3(), - ) - @inline function _create_leaf()::BVHNode - first_offset = length(ordered_primitives) + 1 - for i in from:to - push!( - ordered_primitives, - primitives[primitives_info[i].primitive_number], - ) - end - return BVHNode(first_offset, n_primitives, bounds) - end - - n_primitives == 1 && return _create_leaf() - # Compute bound of primitive centroids, choose split dimension. - centroid_bounds = mapreduce( - i -> Bounds3(primitives_info[i].centroid), ∪, from:to, - init = Bounds3(), - ) - dim = maximum_extent(centroid_bounds) - ( # Create leaf node. - !is_valid(centroid_bounds) || - centroid_bounds.p_min[dim] == centroid_bounds.p_max[dim] - ) && return _create_leaf() - # Partition primitives into sets and build children. - if n_primitives <= 2 # Equally-sized subsets. - mid = (from + to) ÷ 2 - pmid = mid > from ? mid - from + 1 : 1 - partialsort!( - @view(primitives_info[from:to]), pmid, by = i -> i.centroid[dim], - ) - else # Perform Surface-Area-Heuristic partitioning. - n_buckets = 12 - buckets = [BucketInfo(0, Bounds3(Point3f(0f0))) for _ in 1:n_buckets] - # Initialize buckets. - for i in from:to - b = Int32(floor(n_buckets * offset( - centroid_bounds, primitives_info[i].centroid, - )[dim])) + 1 - (b == n_buckets + 1) && (b -= 1) - buckets[b].count += 1 - buckets[b].bounds = buckets[b].bounds ∪ primitives_info[i].bounds - end - # Compute costs for splitting after each bucket. - costs = Vector{Float32}(undef, n_buckets - 1) - for i in 1:(n_buckets-1) - it1, it2 = 1:i, (i+1):(n_buckets-1) - s1, s2 = 0, 0 - if length(it1) > 0 - s1 = length(it1) * surface_area( - mapreduce(b -> buckets[b].bounds, ∪, it1), - ) - end - if length(it2) > 0 - s2 = length(it2) * surface_area( - mapreduce(b -> buckets[b].bounds, ∪, it2), - ) - end - costs[i] = 1f0 + (s1 + s2) / surface_area(bounds) - end - # Find bucket to split that minimizes SAH metric. - min_cost_id = argmin(costs) - leaf_cost = n_primitives - # Either create leaf or split primitives at selected SAH bucket. - !( - n_primitives > max_node_primitives - || - costs[min_cost_id] < leaf_cost - ) && return _create_leaf() - mid = partition!(primitives_info, from:to, i -> begin - b = Int32(floor( - n_buckets * offset(centroid_bounds, i.centroid)[dim], - )) + 1 - (b == n_buckets + 1) && (b -= 1) - b <= min_cost_id - end) - end - BVHNode( - dim, - _init( - primitives, primitives_info, from, mid, - total_nodes, ordered_primitives, max_node_primitives, - ), - _init( - primitives, primitives_info, mid + 1, to, - total_nodes, ordered_primitives, max_node_primitives, - ), - ) -end - -function _unroll( - linear_nodes::Vector{LinearBVH}, node::BVHNode, offset::Ref{UInt32}, - ) - - l_offset = offset[] - offset[] += 1 - - if node.children[1] isa Nothing - linear_nodes[l_offset] = LinearBVHLeaf( - node.bounds, node.offset, node.n_primitives, - ) - return l_offset + 1 - end - - _unroll(linear_nodes, node.children[1], offset) - second_child_offset = _unroll(linear_nodes, node.children[2], offset) - 1 - linear_nodes[l_offset] = LinearBVHInterior( - node.bounds, second_child_offset, node.split_axis, - ) - l_offset + 1 -end - -@inline function world_bound(bvh::BVH)::Bounds3 - length(bvh.nodes) > 0 ? bvh.nodes[1].bounds : Bounds3() -end - -struct MemAllocator -end -@inline _allocate(::MemAllocator, T::Type, n::Val{N}) where {N} = MVector{N,T}(undef) -Base.@propagate_inbounds function _setindex(arr::MVector{N, T}, idx::Integer, value::T) where {N, T} - arr[idx] = value - return arr -end - - -""" - closest_hit(bvh::BVH, ray::AbstractRay) - -Find the closest intersection between a ray and the GPU BVH. -Uses manual traversal with compact triangle intersection for best performance. - -Returns: -- `hit_found`: Boolean indicating if an intersection was found -- `hit_primitive`: The primitive that was hit (if any) -- `distance`: Distance along the ray to the hit point (hit_point = ray.o + ray.d * distance) -- `barycentric_coords`: Barycentric coordinates of the hit point -""" -@inline function closest_hit(bvh::BVH, ray::AbstractRay, allocator=MemAllocator()) - ray = check_direction(ray) - inv_dir = 1f0 ./ ray.d - dir_is_neg = is_dir_negative(ray.d) - - # Initialize traversal - local to_visit_offset::Int32 = Int32(1) - current_node_idx = Int32(1) - # Direct MVector construction for type stability (critical for GPU, especially OpenCL/SPIR-V) - nodes_to_visit = MVector{64, Int32}(undef) - nodes = bvh.nodes - triangles = bvh.triangles - original_tris = bvh.primitives - - # Track closest hit - hit_found = false - hit_tri_idx = Int32(0) - closest_t = ray.t_max - hit_u = 0f0 - hit_v = 0f0 - - # Traverse BVH - @_inbounds while true - current_node = nodes[current_node_idx] - - # Test ray against current node's bounding box - if intersect_p(current_node.bounds, ray, inv_dir, dir_is_neg) - local cnprim::Int32 = current_node.n_primitives % Int32 - if !current_node.is_interior && cnprim > Int32(0) - # Leaf node - test all triangles - offset = current_node.offset % Int32 - - for i in Int32(0):(cnprim - Int32(1)) - tri_idx = offset + i - compact_tri = triangles[tri_idx] - - # Use compact intersection - tmp_hit, t, u, v = intersect_compact_triangle(compact_tri, ray.o, ray.d, closest_t) - if tmp_hit && t < closest_t - closest_t = t - hit_found = true - hit_tri_idx = tri_idx - hit_u = u - hit_v = v - end - end - - # Done with leaf, pop next node from stack - if to_visit_offset === Int32(1) - break - end - to_visit_offset -= Int32(1) - current_node_idx = nodes_to_visit[to_visit_offset] - else - # Interior node - push children to stack - # Explicitly unroll axis cases to avoid LLVM select chains in SPIR-V - local is_neg = if current_node.split_axis == Int32(1) - dir_is_neg[1] == Int32(2) - elseif current_node.split_axis == Int32(2) - dir_is_neg[2] == Int32(2) - else # split_axis == 3 - dir_is_neg[3] == Int32(2) - end - - if is_neg - nodes_to_visit[to_visit_offset] = current_node_idx + Int32(1) - current_node_idx = current_node.offset % Int32 - else - nodes_to_visit[to_visit_offset] = current_node.offset % Int32 - current_node_idx += Int32(1) - end - to_visit_offset += Int32(1) - end - else - # Miss - pop next node from stack - if to_visit_offset === Int32(1) - break - end - to_visit_offset -= Int32(1) - current_node_idx = nodes_to_visit[to_visit_offset] - end - end - - # Return result - if hit_found - orig_tri = original_tris[hit_tri_idx] - w = 1f0 - hit_u - hit_v - bary_point = SVector{3, Float32}(w, hit_u, hit_v) - return (true, orig_tri, closest_t, bary_point) - else - # Return dummy result matching standard BVH behavior - dummy_tri = original_tris[1] - bary_point = SVector{3, Float32}(0f0, 0f0, 0f0) - return (false, dummy_tri, 0f0, bary_point) - end -end - -""" - any_hit(bvh::BVH, ray::AbstractRay) - -Test if a ray intersects any primitive in the GPU BVH (for occlusion testing). -Stops at the first intersection found. - -Returns: -- `hit_found`: Boolean indicating if any intersection was found -- `hit_primitive`: The primitive that was hit (if any) -- `distance`: Distance along the ray to the hit point (hit_point = ray.o + ray.d * distance) -- `barycentric_coords`: Barycentric coordinates of the hit point -""" -@inline function any_hit(bvh::BVH, ray::AbstractRay, allocator=MemAllocator()) - ray = check_direction(ray) - inv_dir = 1f0 ./ ray.d - dir_is_neg = is_dir_negative(ray.d) - - # Initialize traversal - local to_visit_offset::Int32 = Int32(1) - current_node_idx = Int32(1) - # Direct MVector construction for type stability (critical for GPU, especially OpenCL/SPIR-V) - nodes_to_visit = MVector{64, Int32}(undef) - nodes = bvh.nodes - triangles = bvh.triangles - original_tris = bvh.primitives - - # Traverse BVH - @_inbounds while true - current_node = nodes[current_node_idx] - - # Test ray against current node's bounding box - if intersect_p(current_node.bounds, ray, inv_dir, dir_is_neg) - local cnprim::Int32 = current_node.n_primitives % Int32 - if !current_node.is_interior && cnprim > Int32(0) - # Leaf node - test triangles - offset = current_node.offset % Int32 - - for i in Int32(0):(cnprim - Int32(1)) - tri_idx = offset + i - compact_tri = triangles[tri_idx] - - # Test for any hit - tmp_hit, t, u, v = intersect_compact_triangle(compact_tri, ray.o, ray.d, ray.t_max) - if tmp_hit - # Return immediately on first hit - orig_tri = original_tris[tri_idx] - w = 1f0 - u - v - bary_point = SVector{3, Float32}(w, u, v) - return (true, orig_tri, t, bary_point) - end - end - - # Done with leaf, pop next node from stack - if to_visit_offset === Int32(1) - break - end - to_visit_offset -= Int32(1) - current_node_idx = nodes_to_visit[to_visit_offset] - else - # Interior node - push children to stack - # Explicitly unroll axis cases to avoid LLVM select chains in SPIR-V - local is_neg = if current_node.split_axis == Int32(1) - dir_is_neg[1] == Int32(2) - elseif current_node.split_axis == Int32(2) - dir_is_neg[2] == Int32(2) - else # split_axis == 3 - dir_is_neg[3] == Int32(2) - end - - if is_neg - nodes_to_visit[to_visit_offset] = current_node_idx + Int32(1) - current_node_idx = current_node.offset % Int32 - else - nodes_to_visit[to_visit_offset] = current_node.offset % Int32 - current_node_idx += Int32(1) - end - to_visit_offset += Int32(1) - end - else - # Miss - pop next node from stack - if to_visit_offset === Int32(1) - break - end - to_visit_offset -= Int32(1) - current_node_idx = nodes_to_visit[to_visit_offset] - end - end - - # No hit found - dummy_tri = original_tris[1] - bary_point = SVector{3, Float32}(0f0, 0f0, 0f0) - return (false, dummy_tri, 0f0, bary_point) -end - -function calculate_ray_grid_bounds(bounds::GeometryBasics.Rect, ray_direction::Vec3f) - # Normalize the direction vector (in case it's not already a unit vector) - direction = normalize(ray_direction) - # 1. Find a plane perpendicular to the ray direction - # We need two basis vectors that are perpendicular to the ray direction - # First, find a non-parallel vector to create our first basis vector - if abs(direction[1]) < 0.9f0 - temp = Vec3f(1.0, 0.0, 0.0) - else - temp = Vec3f(0.0, 1.0, 0.0) - end - - # Create two perpendicular basis vectors for the grid - basis1 = normalize(cross(direction, temp)) - basis2 = normalize(cross(direction, basis1)) - - corners = decompose(Point3f, bounds) - - # 3. Project corners onto our basis vectors - proj1 = [dot(corner, basis1) for corner in corners] - proj2 = [dot(corner, basis2) for corner in corners] - - # 4. Find the min and max projections to determine grid bounds - min_proj1, max_proj1 = extrema(proj1) - min_proj2, max_proj2 = extrema(proj2) - - # 5. Add a small margin to ensure coverage - margin = 0.05f0 * max(max_proj1 - min_proj1, max_proj2 - min_proj2) - grid_width = max_proj1 - min_proj1 + 2 * margin - grid_height = max_proj2 - min_proj2 + 2 * margin - - # 6. Calculate the origin point of the grid - # Choose a point that's sufficiently far back from the bounding box - # Project all corners onto the ray direction - depth_proj = [dot(corner, direction) for corner in corners] - min_depth = minimum(depth_proj) - margin - - # Grid center in world space - grid_center = Point3f(0, 0, 0) + min_depth * direction + - ((min_proj1 + max_proj1) / 2f0) * basis1 + - ((min_proj2 + max_proj2) / 2f0) * basis2 - - # 7. Return the grid information - return ( - center=grid_center, - width=grid_width, - height=grid_height, - basis1=basis1, - basis2=basis2, - ) -end - -# Function to generate ray origins for the grid -function generate_ray_grid(grid_info, grid_size::Int) - ray_origins = Matrix{Point3f}(undef, grid_size, grid_size) - cell_size_width = grid_info.width / grid_size - cell_size_height = grid_info.height / grid_size - for i in 1:grid_size - for j in 1:grid_size - # Calculate the offset from the center - u = (i - (grid_size + 1) / 2) * cell_size_width - v = (j - (grid_size + 1) / 2) * cell_size_height - - # Calculate the ray origin - ray_origins[i, j] = grid_info.center + u * grid_info.basis1 + v * grid_info.basis2 - end - end - return ray_origins -end - -""" - generate_ray_grid(bvh::BVH, ray_direction::Vec3f, grid_size::Int) - -Generate a grid of ray origins based on the BVH bounding box and a given ray direction. -""" -function generate_ray_grid(bvh::BVH, ray_direction::Vec3f, grid_size::Int) - bounds = world_bound(bvh) - bb = Rect3f(bounds.p_min, bounds.p_max .- bounds.p_min) - grid_info = calculate_ray_grid_bounds(bb, ray_direction) - return generate_ray_grid(grid_info, grid_size) -end - - -function GeometryBasics.Mesh(bvh::BVH) - points = Point3f[] - faces = GLTriangleFace[] - prims = bvh.primitives # Use original triangles, not compact ones - for (ti, tringle) in enumerate(prims) - push!(points, tringle.vertices...) - tt = ((ti - 1) * 3) + 1 - face = GLTriangleFace(tt, tt + 1, tt + 2) - push!(faces, face) - end - return GeometryBasics.Mesh(points, faces) -end - -# Pretty printing for BVH -function Base.show(io::IO, ::MIME"text/plain", bvh::BVH) - n_triangles = length(bvh.triangles) - n_nodes = length(bvh.nodes) - - # Count leaf vs interior nodes - n_leaves = count(node -> !node.is_interior, bvh.nodes) - n_interior = n_nodes - n_leaves - - println(io, "BVH:") - println(io, " Triangles: ", n_triangles, " (pre-transformed)") - println(io, " BVH nodes: ", n_nodes, " (", n_interior, " interior, ", n_leaves, " leaves)") - print(io, " Max prims: ", Int(bvh.max_node_primitives), " per leaf") -end - -function Base.show(io::IO, bvh::BVH) - if get(io, :compact, false) - n_triangles = length(bvh.triangles) - n_nodes = length(bvh.nodes) - print(io, "BVH(triangles=", n_triangles, ", nodes=", n_nodes, ")") - else - show(io, MIME("text/plain"), bvh) - end -end diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index 2161690..e33eeb0 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -196,8 +196,8 @@ kernel traversal. # Usage ```julia tlas = TLAS(CPU()) -h1 = push!(tlas, geometry) -h2 = push!(tlas, Instance(geometry, transforms)) +h1 = push!(tlas, mesh) +h2 = push!(tlas, mesh, transforms) update_transform!(tlas, h2, new_transform) delete!(tlas, h1) sync!(tlas) # Rebuild BVH structure @@ -236,48 +236,6 @@ end # Note: _get_isbits_ptr is defined in multitypeset.jl and reused here -# ============================================================================== -# Instance - High-level wrapper for instanced geometry -# ============================================================================== - -""" - Instance{G, T, M} - -User-friendly wrapper for instanced geometry. - -Each Instance represents one or more copies of a geometry with different transforms. -Used with TLAS construction and push! operations. - -# Type Parameters -- `G`: Geometry type (TriangleMesh, or anything convertible via `to_triangle_mesh`) -- `T`: Transform array type (AbstractVector{Mat4f}) -- `M`: Metadata array type (typically AbstractVector{UInt32}) - -# Fields -- `geometry`: The mesh/geometry to instance -- `transforms`: Array of local-to-world transforms (one per instance) -- `metadata`: Array of per-instance user data (typically instance IDs) -""" -struct Instance{G, T<:AbstractVector{Mat4f}, M<:AbstractVector} - geometry::G - transforms::T - metadata::M -end - -# Convenience constructors -"""Single instance with transform and metadata.""" -Instance(geom, transform::Mat4f, metadata) = - Instance(geom, [transform], [metadata]) - -"""Single instance at identity transform.""" -Instance(geom; metadata=UInt32(1)) = - Instance(geom, [Mat4f(I)], [metadata]) - -"""Multiple instances with same metadata.""" -function Instance(geom, transforms::AbstractVector{Mat4f}; metadata=UInt32(1)) - Instance(geom, transforms, fill(metadata, length(transforms))) -end - # ------------------------------------------------------------------------------ # TLAS Constructor and Core Operations # ------------------------------------------------------------------------------ @@ -598,72 +556,32 @@ function Base.push!(tlas::TLAS, mesh::GeometryBasics.Mesh, transform::Mat4f=Mat4 end """ - push!(tlas::TLAS, geometry) -> TLASHandle + push!(tlas::TLAS, mesh::GeometryBasics.Mesh, transforms::AbstractVector{Mat4f}) -> TLASHandle -Add geometry as a single instance at identity transform. -Returns a stable handle for later reference. -""" -function Base.push!(tlas::TLAS, geometry) - inst = Instance(geometry) - return push!(tlas, inst) -end - -""" - push!(tlas::TLAS, geometry, material_idx; arealight_indices=nothing) -> TLASHandle - -Add geometry as a single instance at identity transform with material index. -The material_idx (typically a SetKey/MaterialIndex) is stored as metadata -on the triangles for material lookup during shading. - -`arealight_indices`: optional per-face Vector{UInt32} of flat light indices (0 = no area light). -""" -function Base.push!(tlas::TLAS, geometry, material_idx; arealight_indices=nothing) - inst = Instance(geometry; metadata=material_idx) - return push!(tlas, inst; arealight_indices=arealight_indices) -end - -""" - push!(tlas::TLAS, geometry, material_idx, transform::Mat4f; arealight_indices=nothing) -> TLASHandle - -Add geometry as a single instance with transform and material index. -""" -function Base.push!(tlas::TLAS, geometry, material_idx, transform::Mat4f; arealight_indices=nothing) - inst = Instance(geometry, transform, material_idx) - return push!(tlas, inst; arealight_indices=arealight_indices) -end - -""" - push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}; arealight_indices=nothing) -> TLASHandle - -Add geometry as multiple instances with transforms sharing the same material index. -""" -function Base.push!(tlas::TLAS, geometry, material_idx, transforms::AbstractVector{Mat4f}; arealight_indices=nothing) - inst = Instance(geometry, transforms; metadata=material_idx) - return push!(tlas, inst; arealight_indices=arealight_indices) -end +Add a GeometryBasics.Mesh to the TLAS with multiple transforms (instancing). +Builds BLAS once, creates multiple InstanceDescriptors (one per transform). +Returns a stable handle for later reference. """ - push!(tlas::TLAS, inst::Instance; arealight_indices=nothing) -> TLASHandle - -Add an Instance with transforms and metadata. -Returns a single handle referencing all instances in the group. +function Base.push!(tlas::TLAS, mesh::GeometryBasics.Mesh, transforms::AbstractVector{Mat4f}) + nmesh = GeometryBasics.expand_faceviews(mesh) + fs = decompose(TriangleFace{UInt32}, nmesh) + verts = decompose(Point3f, nmesh) + norms = Normal3f.(decompose_normals(nmesh)) + uvs_raw = GeometryBasics.decompose_uv(nmesh) + uvs = isnothing(uvs_raw) ? Point2f[] : Point2f.(uvs_raw) + indices = collect(reinterpret(UInt32, fs)) -`arealight_indices`: optional per-face Vector{UInt32} of flat light indices (0 = no area light). + has_meta = hasproperty(nmesh, :face_meta) + n_faces = length(fs) -Uses direct GPU append - instances are appended to the GPU array immediately. -""" -function Base.push!(tlas::TLAS, inst::Instance; arealight_indices=nothing) - # Build triangles on CPU first, then convert to backend - mesh = to_triangle_mesh(inst.geometry) - has_per_face_mat = !isempty(mesh.material_indices) - n_faces = div(length(mesh.indices), 3) cpu_triangles = [begin - mat_key = has_per_face_mat ? mesh.material_indices[i] : inst.metadata[1] - al_idx = !isnothing(arealight_indices) ? arealight_indices[i] : UInt32(0) - Triangle(mesh, i, TriangleMeta(mat_key, UInt32(i), al_idx)) + meta = has_meta ? nmesh.face_meta[indices[3*(i-1)+1]] : UInt32(i) + build_triangle(verts, norms, uvs, indices, i, meta) end for i in 1:n_faces - if !is_degenerate(get_vertices(mesh, i))] + if !is_degenerate_face(verts, indices, i) + ] isempty(cpu_triangles) && error("Geometry has no valid triangles") # Convert triangles to backend and build BLAS directly on backend @@ -676,7 +594,7 @@ function Base.push!(tlas::TLAS, inst::Instance; arealight_indices=nothing) blas_idx = UInt32(length(tlas.blas_array)) # Create InstanceDescriptors on CPU - cpu_descriptors = map(inst.transforms) do transform + cpu_descriptors = map(transforms) do transform inv_transform = Mat4f(inv(transform)) instance_id = tlas.next_instance_id tlas.next_instance_id += UInt32(1) @@ -829,11 +747,25 @@ function update!(tlas::TLAS, handle::TLASHandle, new_geometry) first_desc = Array(tlas.instances[first(range):first(range)])[1] blas_idx = Int(first_desc.blas_index) - # Build new BLAS on backend (GPU-first) - mesh = to_triangle_mesh(new_geometry) - cpu_triangles = [Triangle(mesh, i, (first_desc.instance_id, UInt32(i))) - for i in 1:div(length(mesh.indices), 3) - if !is_degenerate(get_vertices(mesh, i))] + # Build new BLAS on backend (GPU-first) - decompose GB.Mesh directly + nmesh = GeometryBasics.expand_faceviews(new_geometry) + fs = decompose(TriangleFace{UInt32}, nmesh) + verts = decompose(Point3f, nmesh) + norms = Normal3f.(decompose_normals(nmesh)) + uvs_raw = GeometryBasics.decompose_uv(nmesh) + uvs = isnothing(uvs_raw) ? Point2f[] : Point2f.(uvs_raw) + indices = collect(reinterpret(UInt32, fs)) + + has_meta = hasproperty(nmesh, :face_meta) + n_faces = length(fs) + + cpu_triangles = [begin + meta = has_meta ? nmesh.face_meta[indices[3*(i-1)+1]] : (first_desc.instance_id, UInt32(i)) + build_triangle(verts, norms, uvs, indices, i, meta) + end + for i in 1:n_faces + if !is_degenerate_face(verts, indices, i) + ] isempty(cpu_triangles) && error("New geometry has no valid triangles") backend_triangles = Adapt.adapt(tlas.backend, cpu_triangles) @@ -2128,8 +2060,8 @@ end """ TLAS(primitives::AbstractVector, metadata_fn::Function; backend=KA.CPU()) -Universal BVH constructor. Each primitive becomes a BLAS with a single instance. -Drop-in replacement for `BVH(primitives, metadata_fn)`. +Universal TLAS constructor. Each primitive (GB.Mesh or AbstractGeometry) becomes +a BLAS with a single instance. Each mesh is automatically treated as an instance at identity transform. Perfect for scenes where you just have different meshes and want automatic instancing. @@ -2140,7 +2072,6 @@ Example: ```julia geometries = [cat_mesh, floor, sphere] tlas = TLAS(geometries, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) -# Same API as BVH, but uses instancing internally! # GPU-first: tlas = TLAS(geometries, metadata_fn; backend=OpenCLBackend()) @@ -2151,46 +2082,30 @@ function TLAS( metadata_fn::Function; backend = KA.CPU() ) where {P} - # Each primitive becomes its own BLAS - first_mesh = Raycore.to_triangle_mesh(first(primitives)) first_metadata = metadata_fn(1, 1) TMetadata = typeof(first_metadata) - # Build first BLAS on backend - first_triangles = Triangle{TMetadata}[] - for i in 1:div(length(first_mesh.indices), 3) - if !is_degenerate(get_vertices(first_mesh, i)) - metadata = metadata_fn(1, i) - push!(first_triangles, Triangle(first_mesh, i, metadata)) - end - end - backend_triangles = Adapt.adapt(backend, first_triangles) - first_blas = build_blas(backend_triangles) - - # Create array of BLASes (with backend arrays) - blas_array = typeof(first_blas)[first_blas] + identity = Mat4f(I) + blas_array = BLAS[] instances = InstanceDescriptor[] - # Add first instance - identity = Mat4f(I) - push!(instances, InstanceDescriptor( - UInt32(1), # BLAS index (1-based) - UInt32(1), # Instance ID = mesh index for metadata - identity, - identity, - UInt32(0) - )) - - # Process remaining meshes - for mi in 2:length(primitives) + for mi in 1:length(primitives) prim = primitives[mi] - triangle_mesh = Raycore.to_triangle_mesh(prim) - triangles = Triangle{TMetadata}[] + # Convert to GB.Mesh if needed + gb_mesh = prim isa GeometryBasics.Mesh ? prim : GeometryBasics.uv_normal_mesh(prim) + nmesh = GeometryBasics.expand_faceviews(gb_mesh) + fs = decompose(TriangleFace{UInt32}, nmesh) + verts = decompose(Point3f, nmesh) + norms = Normal3f.(decompose_normals(nmesh)) + uvs_raw = GeometryBasics.decompose_uv(nmesh) + uvs = isnothing(uvs_raw) ? Point2f[] : Point2f.(uvs_raw) + indices = collect(reinterpret(UInt32, fs)) - for i in 1:div(length(triangle_mesh.indices), 3) - if !is_degenerate(get_vertices(triangle_mesh, i)) + triangles = Triangle{TMetadata}[] + for i in 1:length(fs) + if !is_degenerate_face(verts, indices, i) metadata = metadata_fn(mi, i) - push!(triangles, Triangle(triangle_mesh, i, metadata)) + push!(triangles, build_triangle(verts, norms, uvs, indices, i, metadata)) end end @@ -2212,9 +2127,7 @@ function TLAS( return build_tlas(blas_array, instances) end -# Note: TLAS(items::AbstractVector) is defined in the High-Level Instance API section below. -# Use TLAS(meshes, metadata_fn) for per-triangle metadata, or -# TLAS([Instance(mesh1), Instance(mesh2), ...]) for the new Instance API. +# Note: TLAS(meshes::AbstractVector{<:GB.Mesh}) is defined below. """ Base.eltype(tlas::TraversableTLAS) @@ -2242,41 +2155,28 @@ end # ============================================================================== """ - TLAS(items::AbstractVector; backend=KA.CPU()) -> (TLAS, Vector{TLASHandle}) + TLAS(meshes::AbstractVector{<:GeometryBasics.Mesh}; backend=KA.CPU()) -> (TLAS, Vector{TLASHandle}) -Create a mutable TLAS from a vector of geometries or Instance objects. +Create a mutable TLAS from a vector of GB.Mesh objects. +Each mesh becomes a BLAS with a single instance at identity transform. -Plain geometries are automatically wrapped as single instances at identity transform. Returns the mutable TLAS and a vector of TLASHandles for later reference. -The TLAS stores backend arrays directly in its fields (nodes, instances, blas_array). -The TLAS must stay alive while any adapted StaticTLAS is in use. - # Examples ```julia -# Mix of plain geometry and instances -tlas, handles = TLAS([ - floor_mesh, # Auto-wrapped as Instance - Instance(sphere, particle_transforms), # 10k instances sharing sphere BLAS - Instance(wall, wall_transform, UInt32(2)) -]) - -# Later: update transforms via TLASHandle (uses update! function) -# update!(tlas, handles[2], new_transforms) -refit_tlas!(tlas) +tlas, handles = TLAS([floor_mesh, wall_mesh, sphere_mesh]) ``` """ -function TLAS(items::AbstractVector; backend=KA.CPU()) - isempty(items) && error("Cannot create TLAS from empty item list") +function TLAS(meshes::AbstractVector{<:GeometryBasics.Mesh}; backend=KA.CPU()) + isempty(meshes) && error("Cannot create TLAS from empty mesh list") # Create mutable TLAS with the specified backend tlas = TLAS(backend) handles = TLASHandle[] - # Push each item - for item in items - inst = item isa Instance ? item : Instance(item) - h = push!(tlas, inst) + # Push each mesh at identity transform + for mesh in meshes + h = push!(tlas, mesh) push!(handles, h) end @@ -2307,7 +2207,7 @@ export build_blas, build_tlas, closest_hit, any_hit, world_bound export update_instance_transform!, update_instance_transforms!, refit_tlas! export INVALID_NODE -# Instance API -export Instance, TLASHandle +# TLAS Handle API +export TLASHandle export n_instances, n_geometries, get_instance, get_instances export update_transform!, update_transforms!, is_valid diff --git a/src/kernel-abstractions.jl b/src/kernel-abstractions.jl index 55ab24b..d04878a 100644 --- a/src/kernel-abstractions.jl +++ b/src/kernel-abstractions.jl @@ -23,14 +23,6 @@ function to_gpu(ArrayType, m::AbstractArray) return KA.argconvert(kernel, arr) end -# GPU conversion for BVH -function to_gpu(ArrayType, bvh::Raycore.BVH) - nodes = to_gpu(ArrayType, bvh.nodes) - triangles = to_gpu(ArrayType, bvh.triangles) - primitives = to_gpu(ArrayType, bvh.primitives) - return Raycore.BVH(nodes, triangles, primitives, bvh.max_node_primitives) -end - # GPU conversion for BLAS (instanced BVH bottom-level) function to_gpu(ArrayType, blas::Raycore.BLAS) nodes = to_gpu(ArrayType, blas.nodes) diff --git a/src/ray_intersection_session.jl b/src/ray_intersection_session.jl deleted file mode 100644 index 28383d3..0000000 --- a/src/ray_intersection_session.jl +++ /dev/null @@ -1,95 +0,0 @@ -""" - RayIntersectionSession{F} - -Represents a ray tracing session containing rays, a BVH structure, a hit function, -and the computed intersection results. - -# Fields -- `rays::Vector{<:AbstractRay}`: Array of rays to trace -- `bvh::BVH`: BVH acceleration structure to intersect against -- `hit_function::F`: Function to use for intersection testing (e.g., `closest_hit` or `any_hit`) -- `hits::Vector{Tuple{Bool, Triangle, Float32, Point3f}}`: Results of hit_function applied to each ray - -# Example -```julia -using Raycore, GeometryBasics - -# Create BVH from geometry -sphere = Tesselation(Sphere(Point3f(0, 0, 1), 1.0f0), 20) -bvh = Raycore.BVH([sphere]) - -# Create rays -rays = [ - Raycore.Ray(Point3f(0, 0, -5), Vec3f(0, 0, 1)), - Raycore.Ray(Point3f(1, 0, -5), Vec3f(0, 0, 1)), -] - -# Create session -session = RayIntersectionSession(rays, bvh, Raycore.closest_hit) - -# Access results -for (i, hit) in enumerate(session.hits) - hit_found, primitive, distance, bary_coords = hit - if hit_found - println("Ray \$i hit at distance \$distance") - end -end -``` -""" -struct RayIntersectionSession{Rays, F} - hit_function::F - rays::Rays - bvh::BVH - hits::Vector{Tuple{Bool, Triangle, Float32, Point3f}} - - function RayIntersectionSession(hit_function::F, rays::Rays, bvh::BVH) where {Rays,F} - # Compute all hits - hits = [hit_function(bvh, ray) for ray in rays] - new{Rays, F}(hit_function, rays, bvh, hits) - end -end - -""" - hit_points(session::RayIntersectionSession) - -Extract all valid hit points from a RayIntersectionSession. - -Returns a vector of `Point3f` containing the world-space hit points for all rays that intersected geometry. -""" -function hit_points(session::RayIntersectionSession) - return map(filter(first, session.hits)) do hit - _, hit_primitive, _, bary_coords = hit - return sum_mul(bary_coords, hit_primitive.vertices) - end -end - -""" - hit_distances(session::RayIntersectionSession) - -Extract all hit distances from a RayIntersectionSession. - -Returns a vector of `Float32` containing distances for all rays that intersected geometry. -""" -function hit_distances(session::RayIntersectionSession) - return map(filter(first, session.hits)) do hit - return hit[3] - end -end - -""" - hit_count(session::RayIntersectionSession) - -Count the number of rays that hit geometry in the session. -""" -function hit_count(session::RayIntersectionSession) - count(hit -> hit[1], session.hits) -end - -""" - miss_count(session::RayIntersectionSession) - -Count the number of rays that missed all geometry in the session. -""" -function miss_count(session::RayIntersectionSession) - count(hit -> !hit[1], session.hits) -end diff --git a/src/triangle_mesh.jl b/src/triangle_mesh.jl index 1822abf..cff4b95 100644 --- a/src/triangle_mesh.jl +++ b/src/triangle_mesh.jl @@ -1,40 +1,3 @@ -struct TriangleMesh{ - VT<:AbstractVector{Point3f}, IT<:AbstractVector{UInt32}, - NT<:AbstractVector{Normal3f}, TT<:AbstractVector{Vec3f}, - UT<:AbstractVector{Point2f}, MI<:AbstractVector} <: AbstractGeometry{3, Float32} - - vertices::VT - # For the i-th triangle, its 3 vertex positions are: - # [vertices[indices[3 * i + j]] for j in 0:2]. - indices::IT - # Optional normal vectors, one per vertex. - normals::NT - # Optional tangent vectors, one per vertex. - tangents::TT - # Optional parametric (u, v) values, one for each vertex. - uv::UT - # Per-face material index. When non-empty, material_indices[face_idx] provides - # the material key for that triangle (overriding any instance-level material). - material_indices::MI - - function TriangleMesh( - vertices::VT, - indices::IT, - normals::NT = Normal3f[], - tangents::TT = Vec3f[], - uv::UT = Point2f[], - material_indices::MI = UInt32[], - ) where {VT, IT, NT, TT, UT, MI} - - return new{VT, IT, NT, TT, UT, MI}( - vertices, - copy(indices), copy(normals), - copy(tangents), copy(uv), - copy(material_indices), - ) - end -end - struct Triangle{TMetadata} <: AbstractGeometry{3, Float32} vertices::SVector{3,Point3f} normals::SVector{3,Normal3f} @@ -43,55 +6,6 @@ struct Triangle{TMetadata} <: AbstractGeometry{3, Float32} metadata::TMetadata end -# Constructor with metadata -function Triangle(m::TriangleMesh, face_indx, metadata) - f_idx = 1 + (3 * (face_indx - 1)) - vs = @SVector [m.vertices[m.indices[f_idx + i]] for i in 0:2] - ns = @SVector [m.normals[m.indices[f_idx + i]] for i in 0:2] # Every mesh should have normals!? - if !isempty(m.tangents) - ts = @SVector [m.tangents[m.indices[f_idx + i]] for i in 0:2] - else - ts = @SVector [Vec3f(NaN) for _ in 1:3] - end - if !isempty(m.uv) - uv = @SVector [m.uv[m.indices[f_idx + i]] for i in 0:2] - else - uv = SVector(Point2f(0), Point2f(1, 0), Point2f(1, 1)) - end - return Triangle(vs, ns, ts, uv, metadata) -end - -# Convenience constructor without metadata (uses Nothing) -function Triangle(m::TriangleMesh, face_indx) - return Triangle(m, face_indx, nothing) -end - -function TriangleMesh(mesh::GeometryBasics.Mesh) - nmesh = GeometryBasics.expand_faceviews(mesh) - fs = decompose(TriangleFace{UInt32}, nmesh) - vertices = decompose(Point3f, nmesh) - normals = Normal3f.(decompose_normals(nmesh)) - uvs = GeometryBasics.decompose_uv(nmesh) - if isnothing(uvs) - uvs = Point2f[] - end - indices = collect(reinterpret(UInt32, fs)) - # Extract per-face material_idx if present (from FaceView attribute). - # After expand_faceviews, it's per-vertex with all 3 vertices of a face - # sharing the same value, so we just take the first vertex of each face. - material_indices = if hasproperty(nmesh, :material_idx) - mat_per_vertex = nmesh.material_idx - [mat_per_vertex[indices[3*(i-1)+1]] for i in 1:length(fs)] - else - similar(indices, 0) - end - return TriangleMesh( - vertices, indices, - normals, Vec3f[], Point2f.(uvs), - material_indices, - ) -end - function area(t::Triangle) vs = vertices(t) 0.5f0 * norm((vs[2] - vs[1]) × (vs[3] - vs[1])) @@ -102,17 +16,6 @@ function is_degenerate(vs::AbstractVector{Point3f})::Bool (v ⋅ v) ≈ 0f0 end -""" - get_vertices(mesh::TriangleMesh, face_idx::Integer) -> SVector{3, Point3f} - -Get the 3 vertices of a triangle face from the mesh without constructing the full Triangle. -Useful for checking if a triangle is degenerate before creating it. -""" -function get_vertices(m::TriangleMesh, face_idx::Integer) - f_idx = 1 + (3 * (face_idx - 1)) - @SVector [m.vertices[m.indices[f_idx + i]] for i in 0:2] -end - vertices(t::Triangle) = t.vertices normals(t::Triangle) = t.normals tangents(t::Triangle) = t.tangents @@ -214,13 +117,9 @@ end ∂n∂u, ∂n∂v end -# Note: surface_interaction and init_triangle_shading_geometry have been removed -# These functions are now handled by Trace.jl's triangle_to_surface_interaction -# Raycore only provides low-level ray-triangle intersection via intersect_triangle - @inline function intersect(triangle::Triangle, ray::AbstractRay)::Tuple{Bool,Float32,Point3f} - verts = vertices(triangle) # Get triangle vertices - return intersect_triangle(verts, ray) # Check if ray hits triangle + verts = vertices(triangle) + return intersect_triangle(verts, ray) end @inline function intersect_p(t::Triangle, ray::Union{Ray,RayDifferentials}, ::Bool=false) @@ -255,7 +154,6 @@ end # Test against t_max range. det < 0f0 && (t_scaled >= 0f0 || t_scaled < ray.t_max * det) && return false, t_hit, barycentric det > 0f0 && (t_scaled <= 0f0 || t_scaled > ray.t_max * det) && return false, t_hit, barycentric - # TODO test against alpha texture if present. # Compute barycentric coordinates and t value for triangle intersection. inv_det = 1.0f0 / det barycentric = edges .* inv_det diff --git a/test/runtests.jl b/test/runtests.jl index a92b50c..25b45ae 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,11 +1,20 @@ +# NOTE: Run tests with --check-bounds=auto, NOT --check-bounds=yes (the Pkg.test default). +# GPU kernels compiled with --check-bounds=yes generate SPIR-V that crashes pocl. +# Use: Pkg.test("Raycore"; julia_args=`--check-bounds=auto`) + using Test using GeometryBasics using LinearAlgebra +using StaticArrays using Raycore using JET using Aqua using pocl_jll, OpenCL +pocl_platform = OpenCL.cl.platforms()[1] +pocl_device = OpenCL.cl.devices(pocl_platform)[1] +OpenCL.cl.device!(pocl_device) + # ambiguities come from GeometryBasics.@fixed_vector Normal = StaticVector Aqua.test_all(Raycore; ambiguities=(; broken=true)) diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 594ccb8..608615b 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -7,6 +7,7 @@ using Raycore using GeometryBasics using StaticArrays using LinearAlgebra +using KernelAbstractions # Use qualified names to avoid conflicts with other packages const RTriangle = Raycore.Triangle # Conflicts with GeometryBasics.Triangle @@ -221,7 +222,7 @@ end @test tlas isa Raycore.StaticTLAS @test length(tlas.instances) == 1 - @test length(tlas.blas_array) == 1 + @test length(tlas.blas_descriptors) == 1 @test length(tlas.nodes) == 1 # Single instance = 1 node (leaf) end @@ -257,7 +258,7 @@ end @test tlas isa Raycore.StaticTLAS @test length(tlas.instances) == 2 - @test length(tlas.blas_array) == 1 + @test length(tlas.blas_descriptors) == 1 @test length(tlas.nodes) == 3 # 2 leaves + 1 interior = 3 nodes # World bound should encompass both instances @@ -404,68 +405,31 @@ end end # ============================================================================== -# Instance API Tests +# GB.Mesh TLAS API Tests # ============================================================================== -@testset "Instance - Convenience Constructors" begin - # Create a simple mesh (we'll use triangles as a stand-in) - v1, v2, v3 = Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0) - mesh = Raycore.TriangleMesh( - [v1, v2, v3], - UInt32[1, 2, 3], - [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] - ) - - # Single instance at identity - inst1 = Instance(mesh) - @test length(inst1.transforms) == 1 - @test length(inst1.metadata) == 1 - @test inst1.transforms[1] ≈ Mat4f(I) - - # Single instance with custom metadata - inst2 = Instance(mesh; metadata=UInt32(42)) - @test inst2.metadata[1] == UInt32(42) - - # Single instance with transform and metadata - transform = Mat4f( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 5, 0, 0, 1 - ) - inst3 = Instance(mesh, transform, UInt32(99)) - @test inst3.transforms[1] ≈ transform - @test inst3.metadata[1] == UInt32(99) - - # Multiple instances with same metadata - transforms = [Mat4f(I), transform] - inst4 = Instance(mesh, transforms; metadata=UInt32(7)) - @test length(inst4.transforms) == 2 - @test length(inst4.metadata) == 2 - @test all(m == UInt32(7) for m in inst4.metadata) +# Helper to create a GB.Mesh with normals +function make_test_mesh(verts, normals) + faces = [GLTriangleFace(1, 2, 3)] + GeometryBasics.mesh(verts, faces; normal=normals) end @testset "TLASHandle and n_instances" begin - # Create meshes - mesh1 = Raycore.TriangleMesh( + mesh1 = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - mesh2 = Raycore.TriangleMesh( + mesh2 = make_test_mesh( [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - # Build TLAS with Instance API - tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) + tlas, handles = TLAS([mesh1, mesh2]) @test length(handles) == 2 @test handles[1] isa TLASHandle @test handles[2] isa TLASHandle - # Check instance counts by handle count1 = n_instances(tlas, handles[1]) count2 = n_instances(tlas, handles[2]) @@ -475,54 +439,45 @@ end @test is_valid(tlas, handles[2]) end -@testset "TLAS from Instance Vector" begin - # Create meshes - mesh1 = Raycore.TriangleMesh( +@testset "TLAS with multi-transform push!" begin + mesh1 = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - mesh2 = Raycore.TriangleMesh( + mesh2 = make_test_mesh( [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - # Create with multiple transforms for mesh1 (instancing) + # Use multi-transform push! for mesh1 (instancing) transforms = [ Mat4f(I), - Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 0, 0, 1) # Translated + Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 0, 0, 1) ] - tlas, handles = TLAS([ - Instance(mesh1, transforms), # 2 instances of mesh1 - Instance(mesh2) # 1 instance of mesh2 - ]) + tlas = Raycore.TLAS(KernelAbstractions.CPU()) + h1 = push!(tlas, mesh1, transforms) + h2 = push!(tlas, mesh2) + sync!(tlas) @test n_geometries(tlas) == 2 # 2 unique BLAS @test n_instances(tlas) == 3 # 2 + 1 = 3 instance descriptors - # Test handles - @test length(handles) == 2 - @test n_instances(tlas, handles[1]) == 2 # First handle has 2 instances - @test n_instances(tlas, handles[2]) == 1 # Second handle has 1 instance + @test n_instances(tlas, h1) == 2 # First handle has 2 instances + @test n_instances(tlas, h2) == 1 # Second handle has 1 instance end -@testset "TLAS with plain geometry (auto-wrap)" begin - # Plain meshes should be auto-wrapped as Instances - mesh1 = Raycore.TriangleMesh( +@testset "TLAS from GB.Mesh Vector" begin + mesh1 = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - mesh2 = Raycore.TriangleMesh( + mesh2 = make_test_mesh( [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - # Mix of plain geometry and Instance - tlas, handles = TLAS([mesh1, Instance(mesh2)]) + tlas, handles = TLAS([mesh1, mesh2]) @test n_geometries(tlas) == 2 @test n_instances(tlas) == 2 @@ -534,15 +489,13 @@ end # ============================================================================== @testset "update_transform! (single instance)" begin - mesh = Raycore.TriangleMesh( + mesh = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - tlas, handles = TLAS([Instance(mesh)]) + tlas, handles = TLAS([mesh]) - # Update transform new_transform = Mat4f( 1, 0, 0, 0, 0, 1, 0, 0, @@ -551,20 +504,21 @@ end ) update_transform!(tlas, handles[1], new_transform) - # Verify transform was updated @test get_instance(tlas, handles[1]).transform ≈ new_transform end @testset "update_transforms! (multiple instances)" begin - mesh = Raycore.TriangleMesh( + mesh = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - # Create instance with 3 transforms + # Create with 3 transforms using multi-transform push! initial_transforms = [Mat4f(I), Mat4f(I), Mat4f(I)] - tlas, handles = TLAS([Instance(mesh, initial_transforms)]) + tlas = Raycore.TLAS(KernelAbstractions.CPU()) + h = push!(tlas, mesh, initial_transforms) + sync!(tlas) + handles = [h] # Update all transforms new_transforms = [ @@ -574,32 +528,29 @@ end ] update_transforms!(tlas, handles[1], new_transforms) - # Verify transforms were updated instances = get_instances(tlas, handles[1]) for (i, inst) in enumerate(instances) @test inst.transform ≈ new_transforms[i] end end -@testset "push! instance" begin - mesh1 = Raycore.TriangleMesh( +@testset "push! GB.Mesh" begin + mesh1 = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - mesh2 = Raycore.TriangleMesh( + mesh2 = make_test_mesh( [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - tlas, handles = TLAS([Instance(mesh1)]) + tlas, handles = TLAS([mesh1]) @test n_geometries(tlas) == 1 @test n_instances(tlas) == 1 - # Add new instance using push! + sync! - new_handle = push!(tlas, Instance(mesh2)) + # Add new mesh using push! + sync! + new_handle = push!(tlas, mesh2) sync!(tlas) @test n_geometries(tlas) == 2 @@ -608,34 +559,28 @@ end end @testset "delete! and sync!" begin - mesh1 = Raycore.TriangleMesh( + mesh1 = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - mesh2 = Raycore.TriangleMesh( + mesh2 = make_test_mesh( [Point3f(5, 0, 0), Point3f(6, 0, 0), Point3f(5, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - tlas, handles = TLAS([Instance(mesh1), Instance(mesh2)]) + tlas, handles = TLAS([mesh1, mesh2]) @test n_instances(tlas) == 2 @test is_valid(tlas, handles[1]) @test is_valid(tlas, handles[2]) - # Delete first instance deleted = delete!(tlas, handles[1]) @test deleted == true - # Handle is no longer valid @test !is_valid(tlas, handles[1]) - # Sync to rebuild TLAS sync!(tlas) - # Now should only have 1 instance @test n_instances(tlas) == 1 @test is_valid(tlas, handles[2]) end @@ -695,15 +640,16 @@ end end @testset "n_instances and n_geometries" begin - mesh = Raycore.TriangleMesh( + mesh = make_test_mesh( [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)], - UInt32[1, 2, 3], [Normal3f(0, 0, 1), Normal3f(0, 0, 1), Normal3f(0, 0, 1)] ) - # 5 instances of same geometry + # 5 instances of same geometry using multi-transform push! transforms = [Mat4f(I) for _ in 1:5] - tlas, _ = TLAS([Instance(mesh, transforms)]) + tlas = Raycore.TLAS(KernelAbstractions.CPU()) + push!(tlas, mesh, transforms) + sync!(tlas) @test n_geometries(tlas) == 1 @test n_instances(tlas) == 5 @@ -797,35 +743,41 @@ KA.@kernel function full_trace_kernel!(hits, distances, instance_ids, metadata_o end @testset "KernelAbstractions Dynamic Scenes (OpenCL/pocl)" begin - # Get the OpenCL backend + # Must select pocl platform/device before creating the backend + pocl_platform = OpenCL.cl.platforms()[1] + pocl_device = OpenCL.cl.devices(pocl_platform)[1] + OpenCL.cl.device!(pocl_device) cl_backend = OpenCL.OpenCLBackend() - # Helper to create a simple triangle mesh + # Helper to create a simple GB.Mesh function make_triangle_mesh(offset::Vec3f=Vec3f(0, 0, 0)) - vertices = [ + verts = [ Point3f(0, 0, 0) + offset, Point3f(1, 0, 0) + offset, Point3f(0, 1, 0) + offset ] - normals = fill(Normal3f(0, 0, 1), 3) - indices = UInt32[1, 2, 3] - return Raycore.TriangleMesh(vertices, indices, normals) + norms = fill(Normal3f(0, 0, 1), 3) + faces = [GLTriangleFace(1, 2, 3)] + return GeometryBasics.mesh(verts, faces; normal=norms) end @testset "TLAS adapt to CLArray" begin mesh = make_triangle_mesh() - tlas, handles = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, handles = TLAS([mesh]; backend=cl_backend) # Adapt TLAS to OpenCL arrays (GPU-first: backend must match) cl_tlas = Adapt.adapt(cl_backend, tlas) @test cl_tlas isa Raycore.StaticTLAS - @test isbitstype(typeof(cl_tlas)) + # GPU arrays (CLArray) are not isbits on the host — KA handles + # the device pointer conversion during kernel launch. + # The kernel tests below verify that the TLAS works correctly on GPU. + @test cl_tlas.nodes isa CLArray end @testset "closest_hit_kernel! - basic intersection" begin mesh = make_triangle_mesh() - tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, _ = TLAS([mesh]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) n = 4 @@ -860,7 +812,7 @@ end @testset "any_hit_kernel! - shadow/occlusion test" begin mesh = make_triangle_mesh() - tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, _ = TLAS([mesh]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) n = 4 @@ -897,7 +849,7 @@ end Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1), # Instance 2 at x=5 Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 5, 0, 1) # Instance 3 at y=5 ] - tlas, _ = TLAS([Instance(mesh, transforms)]; backend=cl_backend) + tlas, _ = begin; tlas_tmp = Raycore.TLAS(cl_backend); push!(tlas_tmp, mesh, transforms); sync!(tlas_tmp); (tlas_tmp, [TLASHandle(UInt32(1))]); end cl_tlas = Adapt.adapt(cl_backend, tlas) n = 3 @@ -935,7 +887,7 @@ end mesh2 = make_triangle_mesh(Vec3f(5, 0, 0)) mesh3 = make_triangle_mesh(Vec3f(0, 5, 0)) - tlas, _ = TLAS([Instance(mesh1), Instance(mesh2), Instance(mesh3)]; backend=cl_backend) + tlas, _ = TLAS([mesh1, mesh2, mesh3]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) n = 4 @@ -967,7 +919,7 @@ end @testset "closest_hit_bary_kernel! - barycentric coordinates" begin mesh = make_triangle_mesh() - tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, _ = TLAS([mesh]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) n = 3 @@ -1009,7 +961,7 @@ end mesh1 = make_triangle_mesh(Vec3f(0, 0, 0)) mesh2 = make_triangle_mesh(Vec3f(5, 0, 0)) - tlas, _ = TLAS([Instance(mesh1), Instance(mesh2)]; backend=cl_backend) + tlas, _ = TLAS([mesh1, mesh2]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) n = 3 @@ -1058,7 +1010,7 @@ end # Create mutable TLAS with backend for dynamic updates tlas = Raycore.TLAS(cl_backend) - push!(tlas, Instance(mesh)) + push!(tlas, mesh) Raycore.sync!(tlas) # Initial position: ray at origin should hit @@ -1105,7 +1057,7 @@ end # Create mutable TLAS tlas = Raycore.TLAS(cl_backend) - h1 = push!(tlas, Instance(mesh1)) + h1 = push!(tlas, mesh1) Raycore.sync!(tlas) n = 2 @@ -1129,7 +1081,7 @@ end @test hits_cpu[2] == false # second mesh not added yet # Add second instance - h2 = push!(tlas, Instance(mesh2)) + h2 = push!(tlas, mesh2) Raycore.sync!(tlas) # Test again with both instances @@ -1144,7 +1096,7 @@ end @testset "Batch ray tracing via kernel (64 rays)" begin mesh = make_triangle_mesh() - tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, _ = TLAS([mesh]; backend=cl_backend) cl_tlas = Adapt.adapt(cl_backend, tlas) # Create batch of rays @@ -1170,23 +1122,20 @@ end @test n_hits < n_rays # Some misses near edges end - @testset "StaticTLAS isbits verification" begin + @testset "StaticTLAS field types after adapt" begin mesh = make_triangle_mesh() - tlas, _ = TLAS([Instance(mesh)]; backend=cl_backend) + tlas, _ = TLAS([mesh]; backend=cl_backend) - # Adapt to OpenCL (GPU-first: backend must match) cl_tlas = Adapt.adapt(cl_backend, tlas) - # Verify isbits - critical for kernel arguments - @test isbitstype(typeof(cl_tlas)) - @test isbits(cl_tlas) - - # Verify all fields are isbits - @test isbitstype(typeof(cl_tlas.nodes)) - @test isbitstype(typeof(cl_tlas.instances)) - @test isbitstype(typeof(cl_tlas.all_blas_nodes)) - @test isbitstype(typeof(cl_tlas.all_blas_prims)) - @test isbitstype(typeof(cl_tlas.blas_descriptors)) + # Verify fields are CLArrays after adapt (not plain Vector) + @test cl_tlas.nodes isa CLArray + @test cl_tlas.instances isa CLArray + @test cl_tlas.all_blas_nodes isa CLArray + @test cl_tlas.all_blas_prims isa CLArray + @test cl_tlas.blas_descriptors isa CLArray + # root_aabb stays isbits (not an array) + @test isbitstype(typeof(cl_tlas.root_aabb)) end @testset "World bound preserved after adapt" begin @@ -1195,7 +1144,7 @@ end Mat4f(I), Mat4f(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10, 10, 0, 1) ] - tlas, _ = TLAS([Instance(mesh, transforms)]; backend=cl_backend) + tlas, _ = begin; tlas_tmp = Raycore.TLAS(cl_backend); push!(tlas_tmp, mesh, transforms); sync!(tlas_tmp); (tlas_tmp, [TLASHandle(UInt32(1))]); end gpu_bound = tlas.root_aabb cl_tlas = Adapt.adapt(cl_backend, tlas) diff --git a/test/test_intersection.jl b/test/test_intersection.jl index 5b749eb..254b5db 100644 --- a/test/test_intersection.jl +++ b/test/test_intersection.jl @@ -19,33 +19,30 @@ @test !Raycore.intersect_p(b_neg, r1, inv_dir, dir_is_negative) end -# Note: Ray-Sphere intersection tests moved to Trace.jl -# Raycore no longer has Sphere shapes - only low-level triangle intersection - @testset "Test triangle" begin - triangles = Raycore.TriangleMesh( - [Point3f(0, 0, 2), Point3f(1, 0, 2), Point3f(1, 1, 2)], - UInt32[1, 2, 3], - [Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)], + # Construct Triangle directly (no TriangleMesh) + triangle = Raycore.Triangle( + SVector(Point3f(0, 0, 2), Point3f(1, 0, 2), Point3f(1, 1, 2)), + SVector(Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)), + SVector(Vec3f(NaN), Vec3f(NaN), Vec3f(NaN)), + SVector(Point2f(0, 0), Point2f(1, 0), Point2f(1, 1)), + nothing ) - triangle = Raycore.Triangle(triangles, 1) tv = Raycore.vertices(triangle) a = norm(tv[1] - tv[2])^2 * 0.5f0 @test Raycore.area(triangle) ≈ a target_wb = Raycore.Bounds3(Point3f(0, 0, 2), Point3f(1, 1, 2)) - # In the refactored API, object_bound returns world bounds since transformation is applied during creation @test Raycore.object_bound(triangle) ≈ target_wb - # Test ray intersection - API has changed: intersect now returns (Bool, Float32, Point3f) with barycentric coords + # Test ray intersection ray = Raycore.Ray(o = Point3f(0, 0, -2), d = Vec3f(0, 0, 1)) intersects_p = Raycore.intersect_p(triangle, ray) intersects, t_hit, bary_coords = Raycore.intersect(triangle, ray) @test intersects_p == intersects == true @test t_hit ≈ 4f0 @test Raycore.apply(ray, t_hit) ≈ Point3f(0, 0, 2) - # Barycentric coordinates for vertex 0 (corner hit) @test bary_coords ≈ Point3f(1, 0, 0) # Test ray intersection (different point). @@ -57,57 +54,50 @@ end @test Raycore.apply(ray, t_hit) ≈ Point3f(0.5, 0.25, 2) end -# BVH tests with spheres removed - refactored Raycore only supports triangle meshes in BVH -@testset "BVH" begin - # Create triangle meshes instead of spheres - triangle_meshes = [] - for i in 0:1:3 # Use fewer triangles for simpler test - core = Raycore.translate(Vec3f(i*3, i*3, 0)) - mesh = Raycore.TriangleMesh( - core.([Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(1, 1, 0)]), - UInt32[1, 2, 3], - [Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)], - ) - push!(triangle_meshes, mesh) +@testset "TLAS with triangle meshes" begin + using GeometryBasics + using LinearAlgebra + + # Create simple triangle meshes as GB.Mesh at different positions + function make_gb_mesh(offset::Vec3f=Vec3f(0, 0, 0)) + verts = [Point3f(0, 0, 0) + offset, Point3f(1, 0, 0) + offset, Point3f(1, 1, 0) + offset] + faces = [GLTriangleFace(1, 2, 3)] + normals = [Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)] + GeometryBasics.mesh(verts, faces; normal=normals) end - bvh = Raycore.BVH(triangle_meshes) - # Test basic BVH functionality with triangle meshes - @test !isnothing(Raycore.world_bound(bvh)) + meshes = [make_gb_mesh(Vec3f(i*3, i*3, 0)) for i in 0:3] + + tlas = Raycore.TLAS(meshes, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + @test !isnothing(Raycore.world_bound(tlas)) # Simple intersection test ray = Raycore.Ray(o = Point3f(0.5, 0.5, -1), d = Vec3f(0, 0, 1)) - intersects, interaction = Raycore.closest_hit(bvh, ray) - @test intersects + hit, tri, dist, bary, inst_id = Raycore.closest_hit(tlas, ray) + @test hit + @test tri isa Raycore.Triangle end -# BVH test with spheres removed - using triangle meshes instead -@testset "Test BVH with triangle meshes in a row" begin - triangle_meshes = [] - - # Create triangle meshes at different z positions - positions = [0, 4, 8] - vertices = [Point3f(-1, -1, 0), Point3f(1, -1, 0), Point3f(0, 1, 0)] - for (i, z) in enumerate(positions) - core = Raycore.translate(Vec3f(0, 0, z)) - vs = core.(vertices) - mesh = Raycore.TriangleMesh( - vs, - UInt32[1, 2, 3], - [Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)], - ) - push!(triangle_meshes, mesh) +@testset "TLAS with triangle meshes in a row" begin + using GeometryBasics + using LinearAlgebra + + function make_gb_mesh_at_z(z::Float32) + verts = [Point3f(-1, -1, z), Point3f(1, -1, z), Point3f(0, 1, z)] + faces = [GLTriangleFace(1, 2, 3)] + normals = [Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1), Raycore.Normal3f(0, 0, -1)] + GeometryBasics.mesh(verts, faces; normal=normals) end - bvh = Raycore.BVH(triangle_meshes) - # Test that BVH can be created and has a valid bound - bound = Raycore.world_bound(bvh) + meshes = [make_gb_mesh_at_z(Float32(z)) for z in [0, 4, 8]] + + tlas = Raycore.TLAS(meshes, (mesh_idx, tri_idx) -> UInt32(mesh_idx)) + bound = Raycore.world_bound(tlas) @test !isnothing(bound) # Test intersection with the first triangle ray = Raycore.Ray(o = Point3f(0, 0, -2), d = Vec3f(0, 0, 1)) - intersects, triangle = Raycore.closest_hit(bvh, ray) - @test intersects - # BVH closest_hit returns Triangle object, not SurfaceInteraction - @test triangle isa Raycore.Triangle + hit, tri, dist, bary, inst_id = Raycore.closest_hit(tlas, ray) + @test hit + @test tri isa Raycore.Triangle end diff --git a/test/test_multitypeset.jl b/test/test_multitypeset.jl index 04d7cb1..a176f78 100644 --- a/test/test_multitypeset.jl +++ b/test/test_multitypeset.jl @@ -6,6 +6,9 @@ using Adapt using pocl_jll using OpenCL +pocl_platform = OpenCL.cl.platforms()[1] +pocl_device = OpenCL.cl.devices(pocl_platform)[1] +OpenCL.cl.device!(pocl_device) backend = OpenCL.OpenCLBackend() # Test structs - used for both CPU and GPU tests diff --git a/test/test_type_stability.jl b/test/test_type_stability.jl index 95c4191..a4895bb 100644 --- a/test/test_type_stability.jl +++ b/test/test_type_stability.jl @@ -40,18 +40,10 @@ function gen_triangle() ) end -# Triangle Mesh -function gen_triangle_mesh() - vertices = [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)] - indices = UInt32[1, 2, 3] # 1-based indices for Julia - normals = [Raycore.Normal3f(0, 0, 1), Raycore.Normal3f(0, 0, 1), Raycore.Normal3f(0, 0, 1)] - Raycore.TriangleMesh(vertices, indices, normals) -end - -# BVH -function gen_bvh_accel() - mesh = Rect3f(Point3f(0), Vec3f(1)) - Raycore.BVH([mesh], 1) +# TLAS from a simple mesh +function gen_tlas_accel() + mesh = normal_mesh(Rect3f(Point3f(0), Vec3f(1))) + Raycore.TLAS([mesh], (mi, ti) -> UInt32(mi)) end # Quaternion @@ -351,20 +343,6 @@ end end @testset "Type Stability: triangle_mesh.jl" begin - @testset "TriangleMesh construction" begin - vertices = [Point3f(0, 0, 0), Point3f(1, 0, 0), Point3f(0, 1, 0)] - indices = UInt32[0, 1, 2] - normals = [Raycore.Normal3f(0, 0, 1), Raycore.Normal3f(0, 0, 1), Raycore.Normal3f(0, 0, 1)] - - @test_opt Raycore.TriangleMesh(vertices, indices, normals) - @test_opt Raycore.TriangleMesh(vertices, indices) - end - - @testset "Triangle construction" begin - mesh = gen_triangle_mesh() - @test_opt_alloc Raycore.Triangle(mesh, 1, UInt32(1)) - end - @testset "Triangle operations" begin t = gen_triangle() @@ -406,42 +384,6 @@ end end end -# ==================== BVH Tests ==================== - -@testset "Type Stability: bvh.jl" begin - @testset "BVHPrimitiveInfo" begin - b = gen_bounds3() - @test_opt_alloc Raycore.BVHPrimitiveInfo(UInt32(1), b) - end - - @testset "BVHNode construction" begin - b = gen_bounds3() - @test_opt Raycore.BVHNode(UInt32(0), UInt32(1), b) - end - - @testset "LinearBVH construction" begin - b = gen_bounds3() - @test_opt_alloc Raycore.LinearBVHLeaf(b, UInt32(0), UInt32(1)) - @test_opt_alloc Raycore.LinearBVHInterior(b, UInt32(1), UInt8(0)) - end - - @testset "BVH operations" begin - bvh = gen_bvh_accel() - r = gen_ray() - - @test_opt Raycore.world_bound(bvh) - @test_opt Raycore.closest_hit(bvh, r) - @test_opt Raycore.any_hit(bvh, r) - end - - @testset "Ray grid generation" begin - bvh = gen_bvh_accel() - direction = Vec3f(0, 0, 1) - # generate_ray_grid allocates - needs optimization - @test_opt Raycore.generate_ray_grid(bvh, direction, 10) - end -end - # ==================== TLAS Tests ==================== # TLAS test data generators From 21678d716c7270b23c860fd6a5fb6f3e08beb43f Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 2 Mar 2026 16:31:30 +0100 Subject: [PATCH 30/63] use tlas consistently --- docs/Project.toml | 5 ++ docs/src/index.md | 10 ++-- docs/src/viewfactors_content.md | 20 ++++--- src/kernels.jl | 101 ++++++++++++++++++++++++-------- 4 files changed, 98 insertions(+), 38 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index 209abc4..1ce89af 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,4 +1,5 @@ [deps] +Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Bonito = "824d6782-a2ef-11e9-3a09-e5662e0c26f8" BonitoBook = "b416d416-7a6e-4336-8c1a-1f8a8cd59518" @@ -9,9 +10,13 @@ GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" ImageShow = "4e3cecfd-b093-5904-9786-8bbb286a6a31" JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" MeshIO = "7269a6da-0436-5bbc-96c2-40638cbb6118" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Raycore = "afc56b53-c9a9-482a-a956-d1d800e05559" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" WGLMakie = "276b4fcb-3e11-5398-bf8b-a0c2d153d008" [sources] diff --git a/docs/src/index.md b/docs/src/index.md index 7ca4422..f4f4578 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,10 +1,10 @@ # Raycore.jl -High-performance ray-triangle intersection engine with BVH acceleration for CPU and GPU. +High-performance ray-triangle intersection engine with TLAS/BLAS acceleration for CPU and GPU. ## Features -- **Fast BVH acceleration** for ray-triangle intersection +- **Fast TLAS/BLAS acceleration** for ray-triangle intersection - **CPU and GPU support** via KernelAbstractions.jl - **MultiTypeSet**: GPU-safe heterogeneous collections with compile-time type-stable dispatch for materials, textures, lights, etc. - **GPU TLAS**: Two-level acceleration structure (BLAS/TLAS) with instanced geometry, per-instance transforms, and GPU-first design @@ -13,11 +13,11 @@ High-performance ray-triangle intersection engine with BVH acceleration for CPU ## Interactive Examples -### BVH Hit Tests & Basics +### Hit Tests & Basics -Learn the basics of ray-triangle intersection, BVH construction, and visualization. +Learn the basics of ray-triangle intersection, TLAS construction, and visualization. -![BVH Basics](basics.png) +![Basics](basics.png) [BVH Hit tests](@ref) diff --git a/docs/src/viewfactors_content.md b/docs/src/viewfactors_content.md index 510a6db..ede4ef2 100644 --- a/docs/src/viewfactors_content.md +++ b/docs/src/viewfactors_content.md @@ -20,9 +20,15 @@ s3 = LowSphere(0.3f0, Point3f(-0.5, 1, 0); ntriangles) s4 = LowSphere(0.4f0, Point3f(0, 1.0, 0); ntriangles) s5 = LowSphere(0.35f0, Point3f(0.5, 0.0, 0); ntriangles) -# Build BVH acceleration structure -bvh = BVH([s1, s2, s3, s4, s5]) -world_mesh = GeometryBasics.Mesh(bvh) +# Build meshes and TLAS with sequential triangle indices as metadata +sphere_meshes = [normal_mesh(s) for s in [s1, s2, s3, s4, s5]] +tlas = Raycore.TLAS(sphere_meshes, (mesh_idx, tri_idx) -> begin + offset = sum(length(faces(sphere_meshes[i])) for i in 1:mesh_idx-1; init=0) + UInt32(offset + tri_idx) +end) + +# Create a combined mesh for visualization +world_mesh = merge([normal_mesh(s) for s in [s1, s2, s3, s4, s5]]) # Visualize the scene f, ax, pl = mesh(world_mesh, color=:teal, axis=(show_axis=false,)) @@ -35,10 +41,10 @@ View factors quantify how much each surface "sees" every other surface - essenti ```julia (editor=true, logging=false, output=true) # Calculate view factors between all faces -viewf_matrix = view_factors(bvh, rays_per_triangle=20) +viewf_matrix = view_factors(tlas, rays_per_triangle=20) # Sum up total view factor per face -viewfacts = map(i -> Float32(sum(view(viewf_matrix, :, i))), 1:length(bvh.primitives)) +viewfacts = map(i -> Float32(sum(view(viewf_matrix, :, i))), 1:length(tlas.all_blas_prims)) N = length(world_mesh.faces) # Visualize @@ -59,7 +65,7 @@ Calculate how much each face is exposed to rays from a specific viewing directio viewdir = normalize(ax.scene.camera.view_direction[]) # Compute illumination -illum = get_illumination(bvh, viewdir; grid_size=10) +illum = get_illumination(tlas, viewdir; grid_size=10) # Visualize pf = FaceView(illum, [GLTriangleFace(i) for i in 1:N]) @@ -75,7 +81,7 @@ Find the average position of visible surface points from a given direction. ```julia (editor=true, logging=false, output=true) # Calculate centroid -hitpoints, centroid = get_centroid(bvh, viewdir; grid_size=10) +hitpoints, centroid = get_centroid(tlas, viewdir; grid_size=10) # Visualize f, ax, pl = mesh(world_mesh, color=(:blue, 0.5), transparency=true, axis=(show_axis=false,)) diff --git a/src/kernels.jl b/src/kernels.jl index dadb7de..8bf977a 100644 --- a/src/kernels.jl +++ b/src/kernels.jl @@ -4,44 +4,95 @@ struct RayHit{TMetadata} metadata::TMetadata end -function hits_from_grid(bvh, viewdir; grid_size=32) - # Calculate grid bounds +# Access all triangles from a StaticTLAS +_primitives(tlas::StaticTLAS) = tlas.all_blas_prims + +function generate_ray_grid(tlas, ray_direction::Vec3f, grid_size::Int) + direction = normalize(ray_direction) + bounds = world_bound(tlas) + rect = GB.Rect3f(Point3f(bounds.p_min), Point3f(bounds.p_max) - Point3f(bounds.p_min)) + corners = GB.decompose(Point3f, rect) + + # Create perpendicular basis for the grid plane + if abs(direction[1]) < 0.9f0 + temp = Vec3f(1.0f0, 0.0f0, 0.0f0) + else + temp = Vec3f(0.0f0, 1.0f0, 0.0f0) + end + basis1 = normalize(cross(direction, temp)) + basis2 = normalize(cross(direction, basis1)) + + # Project corners onto basis vectors + proj1 = [dot(Vec3f(c...), basis1) for c in corners] + proj2 = [dot(Vec3f(c...), basis2) for c in corners] + + min_proj1, max_proj1 = extrema(proj1) + min_proj2, max_proj2 = extrema(proj2) + + margin = 0.05f0 * max(max_proj1 - min_proj1, max_proj2 - min_proj2) + grid_width = max_proj1 - min_proj1 + 2 * margin + grid_height = max_proj2 - min_proj2 + 2 * margin + + # Place grid origin behind the scene + depth_proj = [dot(Vec3f(c...), direction) for c in corners] + min_depth = minimum(depth_proj) - margin + + grid_center = Point3f(0, 0, 0) + min_depth * direction + + ((min_proj1 + max_proj1) / 2) * basis1 + + ((min_proj2 + max_proj2) / 2) * basis2 + + cell_w = grid_width / grid_size + cell_h = grid_height / grid_size + + ray_origins = Matrix{Point3f}(undef, grid_size, grid_size) + for i in 1:grid_size + for j in 1:grid_size + u = (i - (grid_size + 1) / 2) * cell_w + v = (j - (grid_size + 1) / 2) * cell_h + ray_origins[i, j] = grid_center + u * basis1 + v * basis2 + end + end + return ray_origins +end + +function hits_from_grid(tlas, viewdir; grid_size=32) ray_direction = normalize(viewdir) - ray_origins = Raycore.generate_ray_grid(bvh, ray_direction, grid_size) - TMetadata = eltype(bvh.primitives).parameters[1] # Get metadata type from Triangle{TMetadata} + ray_origins = generate_ray_grid(tlas, ray_direction, grid_size) + prims = _primitives(tlas) + TMetadata = eltype(prims).parameters[1] result = similar(ray_origins, RayHit{TMetadata}) Threads.@threads for idx in CartesianIndices(ray_origins) o = ray_origins[idx] - ray = Raycore.Ray(; o=o, d=ray_direction) - hit, prim, dist, bary = Raycore.closest_hit(bvh, ray) + ray = Ray(; o=o, d=ray_direction) + hit, prim, dist, bary, _ = closest_hit(tlas, ray) hitpoint = sum_mul(bary, prim.vertices) @inbounds result[idx] = RayHit{TMetadata}(hit, hitpoint, prim.metadata) end return result end -function view_factors(bvh; rays_per_triangle=10000) - result = zeros(UInt32, length(bvh.primitives), length(bvh.primitives)) - return view_factors!(result, bvh, rays_per_triangle) +function view_factors(tlas; rays_per_triangle=10000) + prims = _primitives(tlas) + result = zeros(UInt32, length(prims), length(prims)) + return view_factors!(result, tlas, rays_per_triangle) end -# Note: view_factors requires metadata to be the primitive index (Int) -# This is the default when constructing BVH without a custom metadata_fn -function view_factors!(result, bvh, rays_per_triangle=10000) - Threads.@threads for idx in eachindex(bvh.primitives) +function view_factors!(result, tlas, rays_per_triangle=10000) + prims = _primitives(tlas) + Threads.@threads for idx in eachindex(prims) @inbounds begin - triangle = bvh.primitives[idx] - tri_idx = triangle.metadata # metadata is the primitive index + triangle = prims[idx] + tri_idx = triangle.metadata n = GB.orthogonal_vector(Vec3f, GB.Triangle(triangle.vertices...)) normal = normalize(n) u, v = get_orthogonal_basis(normal) for i in 1:rays_per_triangle point_on_triangle = random_triangle_point(triangle) - o = point_on_triangle .+ (normal .* 0.01f0) # Offset so it doesn't self intersect + o = point_on_triangle .+ (normal .* 0.01f0) ray = Ray(; o=o, d=random_hemisphere_uniform(normal, u, v)) - hit, hit_prim, dist, _ = closest_hit(bvh, ray) + hit, hit_prim, dist, _, _ = closest_hit(tlas, ray) if hit - hit_idx = hit_prim.metadata # metadata is the primitive index + hit_idx = hit_prim.metadata if hit_idx != tri_idx result[tri_idx, hit_idx] += UInt32(1) end @@ -52,17 +103,15 @@ function view_factors!(result, bvh, rays_per_triangle=10000) return result end -function get_centroid(bvh, viewdir; grid_size=32) - # Calculate grid bounds - hits = hits_from_grid(bvh, viewdir; grid_size=grid_size) +function get_centroid(tlas, viewdir; grid_size=32) + hits = hits_from_grid(tlas, viewdir; grid_size=grid_size) surface_points = [hit.point for hit in hits if hit.hit] return surface_points, mean(surface_points) end -function get_illumination(bvh, viewdir; grid_size=1000) - # Calculate grid bounds - hits = hits_from_grid(bvh, viewdir; grid_size=grid_size) - # Use primitive metadata as keys - requires metadata to be the primitive index +function get_illumination(tlas, viewdir; grid_size=1000) + hits = hits_from_grid(tlas, viewdir; grid_size=grid_size) + prims = _primitives(tlas) result = Dict{Int, Float32}() for hit in hits if hit.hit @@ -71,5 +120,5 @@ function get_illumination(bvh, viewdir; grid_size=1000) result[idx] = count + 1f0 end end - return [get(result, idx, 0.0f0) for idx in 1:length(bvh.primitives)] + return [get(result, idx, 0.0f0) for idx in 1:length(prims)] end From f41d7467cc1887d211e2f7871df13748ed8b459d Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 7 Mar 2026 09:41:33 -0100 Subject: [PATCH 31/63] synchronize? --- src/instanced-bvh.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/instanced-bvh.jl b/src/instanced-bvh.jl index e33eeb0..4c5da1d 100644 --- a/src/instanced-bvh.jl +++ b/src/instanced-bvh.jl @@ -1285,6 +1285,8 @@ function build_blas( # Launch kernel: Create leaf nodes leaf_kernel! = create_leaf_nodes_kernel!(backend) leaf_kernel!(nodes, primitives, Int32(n), ndrange=n) + # Ensure leaf writes are visible before the cross-workgroup atomic refit pass. + KA.synchronize(backend) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) # One flag per internal node @@ -1438,6 +1440,8 @@ function _build_tlas_topology(blas_array, instances, backend) # Launch kernel: Create TLAS leaf nodes (different from BLAS - stores AABBs, not vertices) leaf_kernel! = create_tlas_leaf_nodes_kernel!(backend) leaf_kernel!(nodes, sorted_indices, instances, blas_array, Int32(n), ndrange=n) + # Ensure leaf writes are visible before the cross-workgroup atomic refit pass. + KA.synchronize(backend) # Refit AABBs bottom-up (parallel using atomic counters) update_flags = KA.zeros(backend, UInt32, n - 1) refit_kernel! = refit_tlas_aabbs_kernel!(backend) @@ -2000,6 +2004,7 @@ function refit_tlas!(tlas::TLAS) # blas_array is only used for root_aabb (inline data, safe on Metal) leaf_kernel! = update_tlas_leaf_aabbs_kernel!(backend) leaf_kernel!(tlas.nodes, tlas.instances, tlas.blas_array, Int32(n), ndrange=n) + KA.synchronize(backend) # Refit internal nodes bottom-up using atomic counters if n > 1 update_flags = KA.zeros(backend, UInt32, n - 1) From f0f57ed7f889336d6ce74313918cd7182a4e94d0 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Mon, 16 Mar 2026 18:25:39 +0100 Subject: [PATCH 32/63] Skip GPU kernel tests under --check-bounds=yes Pkg.test() defaults to --check-bounds=yes which injects error paths that can't compile to SPIR-V. GPU tests now auto-skip with @test_broken when bounds checking is forced. Co-Authored-By: Claude Opus 4.6 --- test/runtests.jl | 6 +++--- test/test_instanced_bvh.jl | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 25b45ae..aeea1a3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,6 @@ -# NOTE: Run tests with --check-bounds=auto, NOT --check-bounds=yes (the Pkg.test default). -# GPU kernels compiled with --check-bounds=yes generate SPIR-V that crashes pocl. -# Use: Pkg.test("Raycore"; julia_args=`--check-bounds=auto`) +# NOTE: GPU kernel tests are skipped under --check-bounds=yes (the Pkg.test default) +# because bounds checking injects error paths that can't compile to SPIR-V. +# For full test coverage: Pkg.test("Raycore"; julia_args=`--check-bounds=auto`) using Test using GeometryBasics diff --git a/test/test_instanced_bvh.jl b/test/test_instanced_bvh.jl index 608615b..d5e7d53 100644 --- a/test/test_instanced_bvh.jl +++ b/test/test_instanced_bvh.jl @@ -742,6 +742,14 @@ KA.@kernel function full_trace_kernel!(hits, distances, instance_ids, metadata_o end end +# GPU kernel compilation is incompatible with --check-bounds=yes (Pkg.test default) +# because bounds checking injects error-throwing paths that can't compile to SPIR-V. +# Use: Pkg.test("Raycore"; julia_args=`--check-bounds=auto`) +if Base.JLOptions().check_bounds == 1 # 1 = --check-bounds=yes + @testset "KernelAbstractions Dynamic Scenes (OpenCL/pocl)" begin + @test_broken false # skipped: --check-bounds=yes is incompatible with GPU kernel compilation + end +else @testset "KernelAbstractions Dynamic Scenes (OpenCL/pocl)" begin # Must select pocl platform/device before creating the backend pocl_platform = OpenCL.cl.platforms()[1] @@ -1155,3 +1163,4 @@ end end end +end # if check_bounds From 94bc45a09c3d4da7580c4976f8c4ce8f02f71cfd Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 28 Mar 2026 12:31:32 +0100 Subject: [PATCH 33/63] fix docs: viewfactors FaceView mismatch, GPU tutorial .primitives, typos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - viewfactors_content.md: Build visualization mesh from TLAS primitives instead of raw merged mesh. The TLAS removes degenerate triangles, so face counts differed (202 vs 250), causing FaceView verification error. - gpu_raytracing_tutorial.md: bvh.primitives → bvh.all_blas_prims (StaticTLAS field was renamed in TLAS/BLAS refactor) - bvh_hit_tests_content.md: Fix swapped benchmark labels (closest_hit was showing any_hit timing and vice versa), remove empty section header, fix test numbering (3 not 4) - instanced-bvh-architecture.md: Replace broken example using TriangleMesh/inv_translate with working high-level TLAS API - raytracing_tutorial_content.md: Fix "Analougus" → "Analogous" - README.md: Add MultiTypeSet and GPU TLAS to features list --- README.md | 2 ++ docs/instanced-bvh-architecture.md | 34 ++++++++++--------------- docs/src/bvh_hit_tests_content.md | 7 +++-- docs/src/gpu_raytracing_tutorial.md | 2 +- docs/src/raytracing_tutorial_content.md | 2 +- docs/src/viewfactors_content.md | 26 ++++++++++++++++--- 6 files changed, 42 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 62d2091..aeecb2f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ High-performance ray-triangle intersection engine with TLAS/BLAS acceleration fo - **Fast TLAS/BLAS acceleration** for ray-triangle intersection - **CPU and GPU support** via KernelAbstractions.jl +- **MultiTypeSet**: GPU-safe heterogeneous collections with compile-time type-stable dispatch for materials, textures, lights, etc. +- **GPU TLAS**: Two-level acceleration structure (BLAS/TLAS) with instanced geometry, per-instance transforms, and GPU-first design - **Analysis tools**: centroid calculation, illumination analysis, view factors for radiosity - **Makie integration** for visualization diff --git a/docs/instanced-bvh-architecture.md b/docs/instanced-bvh-architecture.md index a02123e..be65523 100644 --- a/docs/instanced-bvh-architecture.md +++ b/docs/instanced-bvh-architecture.md @@ -424,35 +424,27 @@ kernel!(hits, tlas, rays, ndrange=length(rays)) ```julia using Raycore using GeometryBasics +import KernelAbstractions as KA -# Create geometry -cube = GeometryBasics.Rect3f(Point3f(-0.5), Vec3f(1.0)) -mesh = TriangleMesh(GeometryBasics.mesh(cube)) +# Create geometry and build TLAS using the high-level API +cube_mesh = normal_mesh(Rect3f(Point3f(-0.5), Vec3f(1.0))) -# Extract triangles -triangles = [Triangle(mesh, i) for i in 1:n_triangles(mesh)] +tlas = Raycore.TLAS(KA.CPU()) -# Build BLAS -blas = build_blas(triangles) +# Add 10 instances of the cube at different positions +for i in 1:10 + t = Raycore.translate(Vec3f(i * 2, 0, 0)) + push!(tlas, cube_mesh, t.m) +end -# Create instances -instances = [ - InstanceDescriptor( - UInt32(1), # BLAS index - UInt32(i), # Instance ID - translate(Vec3f(i*2, 0, 0)).m, # Transform - inv_translate(Vec3f(i*2, 0, 0)).m, - UInt32(0) - ) - for i in 1:10 -] +Raycore.sync!(tlas) -# Build TLAS -tlas = build_tlas([blas], instances) +# Get immutable StaticTLAS for traversal +static = Adapt.adapt(KA.CPU(), tlas) # Trace ray ray = Ray(o=Point3f(0, 0, -5), d=Vec3f(0, 0, 1)) -hit, tri, t, bary, inst_id = closest_hit(tlas, ray) +hit, tri, t, bary, inst_id = closest_hit(static, ray) if hit println("Hit instance $inst_id at distance $t") diff --git a/docs/src/bvh_hit_tests_content.md b/docs/src/bvh_hit_tests_content.md index 8b7df98..d3491eb 100644 --- a/docs/src/bvh_hit_tests_content.md +++ b/docs/src/bvh_hit_tests_content.md @@ -61,9 +61,8 @@ rays = [Raycore.Ray(o=pos, d=Vec3f(0, 0, 1)) for pos in test_positions] result_multi = trace_rays(tlas, rays) plot(result_multi; axis=(;show_axis=false)) ``` -## Visualization: Multiple Rays -## Test 4: Complex Scene +## Test 3: Complex Scene Demonstrate ray tracing through a complex scene with many overlapping objects. @@ -140,8 +139,8 @@ any_time = @benchmark Raycore.any_hit($static_tlas, $test_ray) perf_table = map([ - ("closest_hit", any_time), - ("any_hit", closest_time), + ("closest_hit", closest_time), + ("any_hit", any_time), ]) do (method, time_us) (Method = method, Time_μs = render_io(time_us)) end diff --git a/docs/src/gpu_raytracing_tutorial.md b/docs/src/gpu_raytracing_tutorial.md index 0713e54..73ed937 100644 --- a/docs/src/gpu_raytracing_tutorial.md +++ b/docs/src/gpu_raytracing_tutorial.md @@ -38,7 +38,7 @@ Let's use the exact same scene as the CPU tutorial - the Makie cat with room geo # Load and prepare the cat model include("raytracing-core.jl") bvh, ctx = example_scene() -md"**Scene loaded: $(length(bvh.primitives)) triangles, $(length(ctx.materials)) materials**" +md"**Scene loaded: $(length(bvh.all_blas_prims)) triangles, $(length(ctx.materials)) materials**" ``` ## Part 2: GPU Kernel Version 1 - Basic Naive Approach diff --git a/docs/src/raytracing_tutorial_content.md b/docs/src/raytracing_tutorial_content.md index d651bbe..a6ca187 100644 --- a/docs/src/raytracing_tutorial_content.md +++ b/docs/src/raytracing_tutorial_content.md @@ -1,6 +1,6 @@ # Ray Tracing in one Hour -Analougus to the famous [Ray Tracing in one Weekend](https://raytracing.github.io/), this tutorial uses Raycore to do the hard work of performant ray triangle intersection and therefore get a high performing ray tracer in a much shorter time. We'll start with the absolute basics and progressively add features until we have a ray tracer that produces beautiful images with shadows, materials, and reflections. +Analogous to the famous [Ray Tracing in one Weekend](https://raytracing.github.io/), this tutorial uses Raycore to do the hard work of performant ray triangle intersection and therefore get a high performing ray tracer in a much shorter time. We'll start with the absolute basics and progressively add features until we have a ray tracer that produces beautiful images with shadows, materials, and reflections. ## Setup diff --git a/docs/src/viewfactors_content.md b/docs/src/viewfactors_content.md index ede4ef2..796bf41 100644 --- a/docs/src/viewfactors_content.md +++ b/docs/src/viewfactors_content.md @@ -7,6 +7,7 @@ This example demonstrates Raycore's analysis capabilities for radiosity and illu ```julia (editor=true, logging=false, output=true) using Raycore, GeometryBasics, LinearAlgebra using WGLMakie +import KernelAbstractions as KA function LowSphere(radius, contact=Point3f(0); ntriangles=6) return Tesselation(Sphere(contact .+ Point3f(0, 0, radius), radius), ntriangles) @@ -27,8 +28,26 @@ tlas = Raycore.TLAS(sphere_meshes, (mesh_idx, tri_idx) -> begin UInt32(offset + tri_idx) end) -# Create a combined mesh for visualization -world_mesh = merge([normal_mesh(s) for s in [s1, s2, s3, s4, s5]]) +# Build visualization mesh from TLAS primitives (which may have degenerate triangles removed) +# This guarantees face count matches between the TLAS and the visualization mesh. +function tlas_to_mesh(tlas) + verts = Point3f[] + norms = Vec3f[] + fs = GLTriangleFace[] + for tri in tlas.all_blas_prims + base = length(verts) + for v in tri.vertices + push!(verts, v) + end + for n in tri.normals + push!(norms, Vec3f(n)) + end + push!(fs, GLTriangleFace(base + 1, base + 2, base + 3)) + end + GeometryBasics.Mesh(GeometryBasics.meta(verts; normals=norms), fs) +end +world_mesh = tlas_to_mesh(tlas) +N = length(tlas.all_blas_prims) # Visualize the scene f, ax, pl = mesh(world_mesh, color=:teal, axis=(show_axis=false,)) @@ -44,8 +63,7 @@ View factors quantify how much each surface "sees" every other surface - essenti viewf_matrix = view_factors(tlas, rays_per_triangle=20) # Sum up total view factor per face -viewfacts = map(i -> Float32(sum(view(viewf_matrix, :, i))), 1:length(tlas.all_blas_prims)) -N = length(world_mesh.faces) +viewfacts = map(i -> Float32(sum(view(viewf_matrix, :, i))), 1:N) # Visualize per_face_vf = FaceView(viewfacts, [GLTriangleFace(i) for i in 1:N]) From dc3c159bf340425a70e4c407a01ed50ce344bba2 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 28 Mar 2026 12:42:41 +0100 Subject: [PATCH 34/63] =?UTF-8?q?update=20GPU=20benchmark=20plot=20?= =?UTF-8?q?=E2=80=94=20AMD=20RX=207900=20XTX=20(RDNA3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Results (400×720, 4spp, 6014 triangles): Wavefront GPU: 2.7 ms (winner, 223x vs CPU baseline) Tiled (32×16): 7.5 ms Tiled (32×32): 8.3 ms Unrolled: 14.2 ms Baseline GPU: 16.2 ms Tiled (8×8): 16.7 ms Wavefront CPU: 97.0 ms Baseline CPU: 602.7 ms --- docs/src/gpu-benchmarks.png | Bin 65985 -> 109439 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/src/gpu-benchmarks.png b/docs/src/gpu-benchmarks.png index f55ab7f3281d7afd644adca6c099f634f923fb2e..ac67dab7ec0f58302002950181060880ae11d2b8 100644 GIT binary patch literal 109439 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

(#i@P!SK-FsKUWmA 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

2$(DdKAGkOMSpc-WPJRb!TQOWRj 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�E|q4MP+Pb9&OAJ!|PhF&mFV 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 From 114fbb803d4108eb23720fd4b8ace9e3c00808a1 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 28 Mar 2026 12:51:44 +0100 Subject: [PATCH 35/63] fix wavefront renderer default camera_up to Y-up The example scene uses Y-up geometry (floor at y=-1.5), but the wavefront renderer defaulted to camera_up=Vec3f(0,0,1) (Z-up), producing an upside-down/rotated view. Also fix camera_lookat to look along +Z matching the simple camera used by other kernels. --- docs/src/wavefront-renderer.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/wavefront-renderer.jl b/docs/src/wavefront-renderer.jl index 7245899..4fc5246 100644 --- a/docs/src/wavefront-renderer.jl +++ b/docs/src/wavefront-renderer.jl @@ -682,13 +682,13 @@ Create a WavefrontRenderer with all necessary buffers allocated for the given im # Arguments - `camera_pos`: Camera position in world space - `camera_lookat`: Point the camera is looking at (default: origin) -- `camera_up`: Up vector for camera orientation (default: +Z) +- `camera_up`: Up vector for camera orientation (default: +Y) """ function WavefrontRenderer( img, bvh, ctx; camera_pos=Point3f(0, -0.9, -2.5), - camera_lookat=Point3f(0, 0, 0), - camera_up=Vec3f(0, 0, 1), + camera_lookat=Point3f(0, -0.9, 10), + camera_up=Vec3f(0, 1, 0), fov=45.0f0, sky_color=RGB{Float32}(0.5f0, 0.7f0, 1.0f0), samples_per_pixel=4 From 85f3aa3a406442496bb775357f9f6bdd3c116948 Mon Sep 17 00:00:00 2001 From: SimonDanisch Date: Sat, 28 Mar 2026 16:31:21 +0100 Subject: [PATCH 36/63] add hardware RT acceleration tutorial Shows how to enable hw_accel=true with Lava backend, explains the architecture (extract-trace-shade pipeline), includes benchmark comparison between SW BVH and HW RT on materials scene (20 spheres, AMD RX 7900 XTX). Honest results: parity on simple scenes, HW RT advantage on complex geometry (3.5M+ triangles). --- docs/make.jl | 1 + docs/src/hw-accel-benchmarks.png | Bin 0 -> 64085 bytes docs/src/hw-accel-large.png | Bin 0 -> 499659 bytes docs/src/hw-accel-materials.png | Bin 0 -> 2719777 bytes docs/src/hw_acceleration.md | 14 +++ docs/src/hw_acceleration_content.md | 174 ++++++++++++++++++++++++++++ docs/src/index.md | 8 ++ 7 files changed, 197 insertions(+) create mode 100644 docs/src/hw-accel-benchmarks.png create mode 100644 docs/src/hw-accel-large.png create mode 100644 docs/src/hw-accel-materials.png create mode 100644 docs/src/hw_acceleration.md create mode 100644 docs/src/hw_acceleration_content.md diff --git a/docs/make.jl b/docs/make.jl index e405a22..d250c60 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -19,6 +19,7 @@ makedocs(; "BVH Hit Tests" => "bvh_hit_tests.md", "Ray Tracing Tutorial" => "raytracing_tutorial.md", "GPU Ray Tracing Tutorial" => "gpu_raytracing.md", + "Hardware RT Acceleration" => "hw_acceleration.md", "View Factors and More" => "viewfactors.md", ], ], diff --git a/docs/src/hw-accel-benchmarks.png b/docs/src/hw-accel-benchmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..54bae4d0674210f55298cbea1000987d4517c502 GIT binary patch literal 64085 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

Mv_f5JG)1!LtYj2z^qwp}#z5OU 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

RsK{adUH#pLb$UCLO|M> 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�$0vY+FMV+W2bE>tQ!9my!ts5*!rY#SSkf$@sZjtGd*S zog^#jVVs889{AsXzhra%pe2y7rvTInSy(R!6WE*#wEI27f&rwE83Qh`U!&hvw3@^9 z{HX}xZ`>}6<~;yB`s^%Ky^zJ_+He2-J$oN8Z#i-@cGW@~KmgyW5vnEH(j~EI9enp?mVAej z8L1k0jbzrH%RW`<*A5$)fI5%%`@j5%-M?v9rhowa)4gS$ty0xPu?D zeQZ}z;E7AbuQ&AhJnh}2o93VHX6iK#@R6y1xID0U@BGG}Uz2>Rm7T}z3ia&6izE6G zO>WE|mohL^pSS+Ja0z9nkITdRv&Mh_PWiiRs4=w2_2IM^rgv8?z#q-f{Hej6ghXHB z_*}nIw_9kU2{m6(07~HRO3acDj?X3DHyNPn#dV_VLOlSo8ENMJYPDhmbH_d-vR6B| z5{!cOFZ|@3Vov!I{QmdECKA4IZW%;vXlwtHe{a8Bt#ssjKsEq4I) zc-x-cA*kRa_oGX|!T|cI0w`D@4hb1TQ@93v1OT{_LQa9D|0yO~iL^JhQiX>`4Ar@|+^`O%^eRNX^ zRTeS0*F+oI^uS0UhDb-anW+^*FTROtHss(iKNC`D$S*Q&#B=g`Ltw15IOZ;cB7&&S zxfquL@dLT12?^^)WIs?P0mbxxbPX@4q0(Uln>$?2`r7x||0-F&ksCWJ<0>B!Qa5Tz zBp8v7h6B_@sMYm=+JF^yJ!y($`yMBC9@H%%Lq@;%p6!wD8T4z(WCq4R>^h3=9r%W= z&(My!C6h*y@xKP}?*WqxJy5Pt{9!Q=X<(In&or(|k^+!G_5*NY&=dzyZ8_4;bPA$1 zjV{Z?!a()FDcr;|N&i9vRoZhb!z3)c)a@l;UwORBi zLzDPagluvFNu=m|QrNGX3kr_ap8uF&NO5atPzh=Y0EHKu5!b{_((*FfoK-85EnT** zn2)f=e3VRCjS0Ut6=sd3E=`Fvu5`OKQMk^lKPUU4gL6ZZ zJ$yX>;8)9yu1f3DK!-Cu$vry{_$@~Lpbx7i5s6k>N=)%9o>FZ+JtRk=$%u6R+KbuI zsV&qU?>C&X&UWoy@?v*oNB(Jh{C*1M#wv2_io287y|_KcXV~61hvM87DspQgL{DoU zHAQ-i8V_1l&5a<_B(xzvQ@)+?VVvmnLN_z=6NEaZNX^$CPB57*Onqk8fueEQ`>*}f zTyX6cB;KfC>TNFlv40!OdD0-R5YK;xZ!gv*pOKfbx-O@fR{r z)3w_^D~SE89o-q zPbN4B*QD!@PIK=TwP=d#!5-}|E_)MLByu%8llbUGjD{iB*oVQepZI2LIN3`?LK=dvDdVwBAE(VeEq?(iF@Jl}#{kqHFec)BfwN`|dGoLDjDihN!f;_fO-U^8$yalFSN!=3y+gkcoq;fc zcLZSwnBo4?XSOT!9%)39$oo8jo(o_k8Ml&rKX#SN`SX1)V795t^Mu3zdsL8_+PtAX za|c=7Q*bgIjg-3RG?mB`JW8mjSRvVLKyVw-hk*wM=@N2*BR41K!eIsn(MXi2fH3^$ z52tE#!wIvrxO6i%oczd4Grfb^b+D?a`z?#Pfer|jiI1$W|KhO)vd?SF{=hw!-Dfdr zc6qiBNjo3kkSyaFX;4gduI$-}n{2g=gIi3pb)ui+7wX{N*!CfoD`>{_$l^)c_*jQh_Ifz)%TC<`$W((t^cLt{PmO{Q@N^d ztg9elKr4^!Ei`G=ewDuC{*>t7tw#HuV!8W=Y4vZ1!()SoxvG`Xp9)eH=B;)szb^g# zdA(p{xvTYrpisu-B=oSuTq$X9Og;=hyP?FW6tt|`L&|yl&XIyrVqwstn4 zdjRogT`HSK4l0kQMF=H~YXpH#J!1TU8IXd?h&g3?rwVx5;N-O7&1=ax2}%f1?~mt+sz`?y#URxqf>QiqY*CFt97vPR`_|vt(9& z)=EUWzg$#(?m(X&M=$t zs4$u$$n_|FwugyeIitb;s?!ft+hfoN{3O(@A8f+UpvH*`3R8#GS`{RVvt;KNh8X{mS9+Hj$2taMP(P5x5P?%(meRSMi9$Bs^1b+{p zJ(_HM*GgjTWOLRN;aL505sV-tQ;|3g^zdid0``0?PZzrg0+WQ0Kpk~gf4Twa0h}tfD0fDQzYnL%9E7GR!aExGO<9{0^24cuv$-ght{>tGI^w~; zrAK0$sc50%K9QVk4Bo98!pT2&nebU|(DmDR8>5Hu_ji(&3f)TZ@f*4J$frQneB%XB zS3(!?$c3OxnAQ0B#)pzZsnsWZpJl`6b=e$iEJ_wB2`~Vri3lU_T1SHa_;vY?9M=YM z{zxu-sGBuziGI`CF+}qW-rIBa>R>y6sd7;&NVxWG%}men-na~`26(~;qlRS8sT@f2 z=pYyv`Pp;t;DMPQt&`o8aV;*sp8%J=d36Lb3zq$Wr*s^MCL6@vU43yfj2B2#_>y?* z$J|4D2Jq0Q;K<;q(A@9pWMj*t+8B3Z@VKf6H`rm(1pVH=X-?HRhBzmyY=|ZI+|M`GouA5ts6B`}O2x zOOL=6);ky9H1TKobrj5jKV8`)xs>BZIVM$U|yp1 zWwGx*x1YLq7ph3qi`Udb>nhpNkXtOttdqWRPgEvj*NwqJmc=fG-iFydkM}+5A|`r_!pFeJ|4>&vD5q2|kl%UYjmH z4tea*`ykoum3p*Z;nl9mz5VUZ)Go~3rKdMm2YNb5?eT8hhi|Ew`PO{q--IiTrp3)+TffUqF8Z)PbT`?8H-Fq8!VgN{$*q z`YE$9fenM!4?DGfP0Va9+zcR8t!~|{>plt#5#dC@xss8;m^2M*HLdAYR-?_y(|_L^lT0W)t&nu6^r$fd*b;A9XX7ffz-R@#5kaO@8`B zPt1jS+yzi)0Z$9Tz)=7YB#9vd5Zf4v5skJ$1;ZMkf;H@=z7&lFVoo#Y_VIA07;rF; z=@yq}xrBeVhUA{Jt?g7>Z3mI@=xK_VBzf8ca`ee7VQKy z6)6>7(9ds*SEv2-IW4OjZd zcSq7fDj~~m<%Z|;&K@PTueiQ30IWHt${3oIz!n$ao4QPcL0O6E>U3>+Ix( zRt2i43rpqo1Fs3!A7z~;lK#{fSFd{95D4!%$38H69A74%2)0nJ8gh~JFA9sKB!-Uz z_Ck?Zz%w%)!q2dXJJM+aK|LbTm%qi2X7`b8o)Z+UeLIR_uK z8jRw*fJh22Q3dTgn}2t>+yj^fhw)Q~pe`kz89z=nIDSy646B#MH0!iy`3LklLYVzmn^&4{}Wy47R))(gJR`TvY z&hA&%q?M^$Mo-}ijRt>sy53q&sJA7y9zjc#3!C5qqlM%B#r;;Gv8Q+g^73AB4zvlf~OxTyy_>Q<*!uZ)Q{?s zQQr`*@2h7I4h_%kGp31X8e9pRAGYb;TUk&#*Cb-raWVvCM2UMITw;knc-5}~j~x6@ z)eD;ju>rw=by7v*>1CQZz^9-v1ds-61#6_^8n=AR@FgJ{ffalKva>41T)D0?NFxg64|;CD8wY0Azz|FR1&%$Oc8?+OZ#Bv6QApmEqp3vIhecxDOA8=;&UeRzF|~6wxb}$tv9kWg8K|p@EAylJXL! zilRV6O2{BZWdy~DlF3WPA}j#8O#2xS==eNtG?N5~5_dJ6I7P9|(~egK8M#8GZLR4= zg;R323?UJ~(Eg%Ew;=Gs<47s1i^%5v$g=}`xiX|ty{E>o#Y`~O{g`4r69TKvUFo2w zhu5()x_NtQ(oB|mTii+lhnZWk#4K0;h8zZ8-a1iZsY8G`y_*C4=uFV*p@8=Ly%*@q z*9H9%kr@mKNv?iW^dke!%%q7>NjQ0QKQwN^zkP?>eitAD>A!A97fHPcApa1}!4QNq z-^?`A1n6LO0EmhOX`tzTLV^mrpwuK=h7dvmI)PxIIL5BCkle+8uYY_WqeFE%>o|Ml+832?bza*~Wd17L zb@|EQYam)bHtm0 zl!xHkL`Hhe^mHz4S`G%pdNATm3O9ZJaam1?h0}w|yKxp@!7I5mUi&8rDR+r8*IGJ@ z)ba%VyLiz6g)uSxh2(?89p>(8>fgS9zxz_JSkhRBLgE^{5;^9R4V)J@L;vIaYe?iVKQqTW;sX-qgbPpT$7*y8T2EGYf$O;QKn{TM+@dvGg4w9`OI zl!cP~(b4{CJbCv^RqEfEl}&|z+aDU%ugD9KdsE!?ozp~o@CX1xcwFkZ-s!t51GYC< zJVXR(hmGTzCPwVlh^)&U!RTtBx>|b~8gOKYghG zC&0E${O+nSm^vt>>*}PD0rsci1h-a3)(m0|AVA>X_>T3wSSg^jlV6btPH*@-pR+yt z1VFX3h6_=vE)?fQ%}Myww#BbA92cd5n$ zu1`4f6loZooRg8OA1P`>y&viKiORit+M_r^CmtHw zLmyr)E~~Fdtbk9f!bwO)a$u(;VcTHIXwpa6#N;cu1eY5UXQpy@VE6CN2{#BH4aAyA zs)4M9fiSQi+#rn_hcbNDF`@Vh*?RnTgr^)?yW@8TG$v9EBlSI^4HR&zF+#1BZfWt= z2qg8unNVM03{JPl#_7>S-fI59fDH9O(je7WX25>u>)b%0GokZ*VO@Z5MCQP1%JAcv zrk&ST+gtM~JE607rk3_5QlYtmk|aX(+a~g;UZWxEmf|(d;GQl6_nmSBCDCef!3LfK}+Tl~o{2R2{7e$8svbw|z5XRPd5B>~k!Vwov#T8}oz z$WoPFtP7kIkK-M^Scx0!YoO1kn&R`2NcQ{ z1yW1dRVL!KJUAn10r7&1V@y^`Gj1U!ujGwj?7TTWPsf|&?RwbLpD$|ogdV%w%}1g7VvBgTM3o7omeSJ$_%0s|5! z-)5AMRw5{3Z_o%sAL`CdQetj!{9Rh{VB^xpzYoWDH@3ER7bVgFQoL2|w>Kw~-?~jE zUyY8Zmxa~;NYfg;GjQ4Qo4t_jx8Gbal3$I0Tm+zuFzu1GHgJIGW9q@T1K~wCA9f38 zCQ+p>JP((4E(Y?w4X>d+=!n3KbEn~cVn_S{5@l$3-Akl^k_XY!z<@w_v^t=O@sNo#M>=O;{cEHMAp3Qs9$VNQCbI&Zt^%z$q>U;GA#5N!F!dr0W$9#K6H|jJ&{( zqmRHMN&iRFxyCd7|8Lx37&*+M@0@K$C^;07Ff$A#j_O_;MV ztRdtOAti?yl_G~(5)0wK|Bc`6-Psv}z}>w>eupsp-Ap>WM-HssTem0LJ; zVJrNLG(}H7PFo?B^Jn4tv#5Ab1#W;$c&CA}q}odNg|e{2sn-cim>BUb!JwBPoi-iX z#3v1X%^+A^ZHP|uB-w`!2O{|>R9`NWkuuBx_geSk)4-fa171N8To(=tqF=|9@gdw? z=t?#eX$s#gzy4{Vy*oLBWhGd|V>ZEao=+N|;ia-B=&NDPCZ^Y1st7Ea4Fs}s8XnEc zIhNjf*{V_%qVi=ljvFL3;?dlt8w3A$pM)_Kq_&HL@xc>2xYG`^WV0v zW^zwj<3iD!TUM!nco*UjbK#b%@XPY5UyTdbY^2@wNfyQHoMpi4R68(pJ8t_e{ydcL zDGO394+oG+L4f-{xz%3=*Wq4}6t-v>j-%s({f#Aa8(Q?ltw_f9mpe_4c_nUl{W!{g zNBs*f>Ct+$o1u+UeDiZQdaoKWIG88^=KS{aoESo4X*KD$*IPCsrU>XYg1T|P*QQzq4^Z&qq;?ti^}3b3_jG#=yxK+k0~^T-fzl}9_#GPD)@1e`3hCj zal3W`JACa=p(Z~ytN^wfvS0Yr4NosYstl@TF(>I;%2d0jDfts{I<&d=xd#4zRGjko zuG(s3mT$w6`knD*S`^>44fEKTs0bb9z=U-<*=Ir55F1x!rUJ$m>2A8Ie3I1rv#N%& zF-6P2BlfX=JxZzpA!zyx|#1+U&zmUlGzQNTHR#c`SgUwlhTl`2Vkd z@x9V4V0M5D7GP=fF@d+w zv%KAch_Il;{Nk-?Mm6btXf~B)k5}Izf=nR^erD3hRAx>h?MG`hD3nF;fpl}fWimMj z1M;lk(bsy6k0UdRpU98QW2`((QWJ3If8TI|)Kn1wTwWd7gg}zz)CVOfssY$j%x5Xm zxpKnraW2h}Pmdb39xgQ+uoT69^Iev_80W5-J<_ABKFnrj5s3!RMy;Sx_phVPghCtu5P{omMw7<$0AD_xa`_DPYFm7MYda)8^ zs|tmx4ShM}`N}x75t7Cy!2LBW+yNX?qViELIIK&av})gv>tnqv^uyQ62^mu^R0bdB z%VNH~t5;o{i6+a{`}Nb6qU@|+FDMKYs-yfnNJ(B%2mitg^?7YyEAW5NU?IY_LFeod zx-2C^-frxSIH}r4mxO|)a^oZmZz|6d*N~oU`@^5#e{9d~eTink%S{>io{oj|T9X9x?;uaoUq?e ze*d;tpWC)(RHLYkH;oxyjo++HwmpIwtE*M?jpC@+-`f%}N=j1Q_q~L^hlK=Ddi!RCRK7d6`MRlUvjp zlq&EWF1fULEa{kcsVgpTeO=e$y@pymneTMVyDwkFLrM?toEsc{JX3)J-BV&e;v6qn z?j*-))qW$yR8cz~D@9IfS zY%E&bS*c=##OI|2LxT`5Env8u4kvw-pg+IJlFGxx>T(|S#-t-p zr^aP>n2saL2vcYnl=ZPH7^lQ$0V-pa1Bh_4D)a)_H9^4zRKF`nk=B&1@jEM^fvkw8USrn(T%e{o#GUPlRnFt>O zoTi!v9G=Y(5Hx8b0N;+9^U-KiLauw&^S)ko8M7AI(YH)kBKp@fOhFtR@+1?%F8b*m z5X2W_Vw)`V1%S8BRlZIkqjE<*a4+_MyTc-m`Av>38m+_{zQQSp9p0ic-7=_*A&1`=kZ4Sr+yn{byWA zsG(}){j-9}t}dK>UyhDwySvZiDV_*cL?CfUbGX}%{ep1ffU@%Pl_AJE{YlwHV%8(b zDdwO$u-xgU$_KFf!H#`l#aNksYuw#!KFguK!q2mZ4=+ne5u1Knf2#_r;b$C;ub~JxaLZva{BMR&k!^* zY|ZlN#&P|6qWBD1UJU7;;E%9KIjx%&P*3CIX1O&Yr%tIQRX)1Is?o~`xk4!+qzv;Ie!0oJ_=({&WFkhAAR$Yf?M>mk zq#&&i6a;Xb;&nL-cq6dSGWD6ug`}MQsg*>?ZQ&O6XH>86Nt?Bvo^EAG)4n9(c5a1VS3=VfbW6RNy zP2>2KniPIE@R|@aFFP5HMcvIcNx>kiM)ZSmD3?uitKD?d#eqzPZ7#UY=R1lw(L^_)aBf zMVgV;$1G@L46n$|QhO!kvva`NwqGkHm*_KiP{SRAK-d#10LYF6rCciOVC{}N*pE6C z?ZTJE{n-+2xfQ=mefjB-E!&?i={Ea#C15zTrhN^?mO?$Oo{zjKKHzn;qv2xp>W*q! zUi?Yc*>Fnpd6V{?e*za7owg_=TicM!M1)HMTW~oeR+KfqOl-UL8MV&MXyEBbs<%o7 z`sbnOWw?-ib_H$aW&%hWycHi919ocg=s$|XQn=eA<-Io&vYn!GT4~`i?}qwm zNhy$>;kx)%k@*HqUoKnJJ^p2_ib!UtakWvA*X1*il;JP4F_`NkB9DR_dFj6A6-aT| zG|%!q*(H)=g^#PXbR;eM9?w(Q#erc;!z;dgy|0 z@#^lM;11zOCwt2s62$D(!G?1}p*$3HAy|sd-S|5p`ipO=;2gCKsOxS-0!JdZiw{IRgGz;4X-FZu;)k*qAE(Uta0}tLsG=H)sE-;Z-p)!{gp=HOJ=lb%-6sZ9Jr&9&4|t$cRBL`X^RfF=Pf$ z|Cu~rI;A8GUfu1G8Y0-wbm>WKz<#HpP42nDDbVRh+$liZc{`Kl4W~2mYKF9u&^)p8 z8DuHJWOqlB#-?h^v%~GHMl>?+TCx}KJ9g@Ar)Y&tix-$2_V);=p)N%cpdmM{=nN6yc9~SaK1rsd*KKk5UN{RcER=?gzWK%O(4SF+E(wh<; zqJSnEvsTDdM7zOkgO|Pm!i4)+np-6UQqv|oH+$w1M5sdH7N$wIZmdpGH_@NMGt$Dx zS%0KN56l6WYG1D$H?`=^V-SlfgxGNG@WJO?F;2j zPqYX`>>G|ci`*T^(7fH{ju>ZcAt>=&d}zXgHf$4U*eUZjjK)u9Z5 zGrzeM7BpBhRRC%JM6n-`beg>GzyiYU>EIIO(b#3Q-p_Sc-xenE6uDrJJ&A zz0#r67fc3~GS-#Ef6tTN7c??9px(W5NJN;KbW+JA^YYICo#AkwYI{(=VJhy)~=#JofLN?9SiqA4AU0OSIAF zKQeT7?nEcyJI?)FyjXGjFJfj(!s@3j8QvL4e?enR%WzqgAEW zNS@dTK8z7}`yN8mVpun<=luBAtJ z9G&UTOdH0o2EEpNEy6K-?_`fyz$_AM^vfDrrtR-<9GVPT?p_K0_nQ*?c7|}4^mE_i zZ)CzN!hDeV%3mf$aImJ#xRBiUY2z?e;K7{3XpJTLeXjw}$E=~W!YnWDur1N@!>-BA z=tUvB^<>IX33$DuXT)JQLT7RHbx6-d_OizJ!w~Ylg*{#4MY}m~5v%fB5;Zn^OqVom zYE76O!uR&XjJ2lAp6+zDc2*x<&02L>CBch#*c&8i<*_*Q<#`18wzlOrok8-R zs37C8zIHqW*_yoOuv+-NV~)Coph09Rd9NF0h-(qfUDIzoy3m&Aql@-P{=VMA-Uj4g zJR3KD)>M#4?J8{-vf5rbOgNyu+TL>v?_7_qZTtjJU)6)6YP z+vUvHe^jedlW4MVxS7|vi}RRKuo_t89J+_P{A)0Tm|dz*>E9K^)H;;P zv-8nD0t1^0m9xobH}M7bruibB@`bjLtS>UC6?Ltr90Y^hW2I~J`TDl3TY10?NN253 z>S4l~g=uSRXeFDq1~@cq!yp`c{P$?-UE-};+QW2KPO}G&$kN*$x=%ppG=i0jHmr-I z-4a{(Xe>mjseY^}%oD|9h+A!Y6KX?u%k+}&jcgo~dGRnTWv}5au;J@EAW7W`Y@(EVlE)#Ge`S>NR`DT5(pdaU5e#YPu{~_4HrU-iaroGL=@0i_4 zBdk3M=45ye`BpHPqTuzUNPYG7k~2JOI|LtQ_i|wnz5e`X8cw?jRxS6b$l9hB$!=qp zK1}2H2urL`kSFflL0nvt{Lf!6)A1mHwyfzcCDRyfD{`JMHC=at@2}cz5kW1rsD>Zy zfyG&sE}p0k(Kr|PAKM>`wSJ4xoR9xrpGxW6^P=PI$fltJHI%Wdp#?xq%3#85x#flQ zLGrxd`W`*Yxh~IbH}JX%QzRlf#~vz2(gn9a3h4dYK5+EWX?Qrks`cuC*CU;>I8#s+ zZR3KH+A(|8EVDuLna~oVD1EIJlbX!l`0?ZHCfWRL*^LyLtXHGHv!Uqiz>^KiK4WI6 z(ZX84FYqBlR-!!7XnL-G-EHh84=(V(4utC8qutUX*LCICqnX%$#1lVWn}OJai5`^V z&K@zA(dgHx*XRKIP;GnfebhX8EajKfLz5dj_8Z>WZS~<<+ty^*R%nV^l{VBrUi5zT z>z?kYqvgZel#~Zy1$H_KUR4>MrEy)O7E@m}176<2m;W8q3_HnLQ+%Yf`-pVX)X2yV zqN)4c@HK=-cfbDkW0y9wwMv$BJKu_znjihtbI5R(iXEl~Why4n&dhxx&DLe zeIWg~5Di?$0pi*tpKdtR2~#Bm)A%JGlHWhtgatzMvizL8e{W1QuG}-WD_8xd5?Oz= zyKhS^%a-z;iTEVhlqeL)?&X&a4e={%f8+doSF`5At<{9~N+i@SOlqk4^R#_9osD@3 zm$t*^gtKd!fK3^~7*7&D{Oa)oA*--BDjVvQ{;ak|n3>>L--KsEKru7SWP`6D4E~S1 z=7WD&o41(}H3OdDR9@$6UGyLis zzQoRHma#_nVLfrpz@HSQ@mJpZX2Ho1Tp>YI5*ex>YCQ|wyGabdX(EGUBfVkPwQ_l7 z55h9uv|G74LRF~}`XLG41{edi7BSZB7H$d%I{$oGv+*>bkEb)^*F2RU1o^}Xzh&xJ z(F}h9$bf#;5M-sU7z|IJ$-uSHEJFV)h0o)e%33);4opBKMibU1fihh-GU38eCA}ixmuh^ z_jY;8d8;?r@&vQz8Z2fJbIcbywVa=e)oZQOi{%druq0WemQhbnqpA^u^Sq7N!^3ol zg~-K<&^D%t!Ta&zDH&MT6{J%Jq{xO}A;-qdiX_vzhm_H+CP|dHOV994Z~Tu1=S7;pW1stF1m(pomdwG$Q&ytvPH?2lmTo~8j%m^ zR2td4zzP%I;*WEedE+BV&oahRN2){GXp^@C6uvpA8x5x4;j^}Rx$fnGlK%5!e>6Z$ za0t?GPiQw_>ypUc!^qZ%JurJkCIy^2UnAD1QWh2_?I<|sGZK0`vQyn?Gy1*i%$*+* zPLf4`*(pjl@HP(ttG*J-d;7s+R>6n!PL%i0W%OosGtV0{D!Z%lEeCMl*48uztM3H% z{)}m4vpRp(lBkr>8!&zDc{MxU^=?uF`R%1hJ9@1b>B_x@ItDpt0Fv-9Blehaa*6Yz zZ|(jM;?hDQEU1FEwY&84on-!k*a%I_mvrSsDgqy^d^Z?K`SV9I}HXcB2_6m~5{{wQPv8U&U zCNfwrdjBi)yb}0WBV+8437LG^NJc)G$6GM+!GL<)-OhM>wp)JmC>*;h(2xRAhzoJz zRB%CsqJkNP$-Q!FWzFf=F;ual8xLk6$s4UVvqMi|=Xq*;Oyn%*JgWRDRtXvLo|l7B z?Hq-Hr?l?Qd-wrKl}&tT7ZX+w?F!m(SvD0k>0{<Z974oGS~k?+CfQoz7jwHHqX zkb^niW*%a2Ly`fKsYSaKyifKrKm)&Od&xxoKgsQ?`jj)S^DDWjxO&|7d3s(t1?>XIc8#Qv zcM2mS9R(@2c-Rj)w>oOk2eRxOIkegOd%RGVu{ zBxnG!*=iN_ptg47t@K%&o6TMxEw(n_mA2v#Ia!pWh+@G&O3Do%W@VrL6ALp}?Reh= znZW>Y8;sr;VV+O0+RLbrQ*rtg6wEa-GwU#UlsdNM+1Aq_Tc2mVYJOk#8d@gvVHKpx zpS~srQ7wE(aE^);r-pTyX^WVUpglOPg&p9OfrZ0)TQh{1>DbA^bDSm`(sR(!Ru%hq z4J~Z%RuVkno))CHQ1w|k{9xLCaF6rq;hjwzw=oOZ2mAYW zudYZ3B22d~U{hHZn5)HPK+aFeXG*-T>1!+VLy;M2d8^KtGQSDYs{bY%RNJvCg6 zU52+LZ`IyzXRd!Bs`Wwcwx_)7ZkT^_IE*3L+$@1MoMY}`2SkTxF^AAT4Yp$1=?an> zF*@qe!2xr+oGk8N)xDm=ox)v9mWiSzY3yIhqG!>4=(-Aii+uXRLvK8^)etkfwB?xZ z%V~rV(tAQfrj~DL=h$rM%Z?@ANaw$4n~b4Hu?OYr(O;<4bhj9>Azdl;mvrLU0S5uq zAkS$JV^3>kLHi%4!Z@eZQp30yRaHCNh07F&Myt?6&6QBEPcsFLL@|Hfqj2p#CM{>_ z92z~l_d+7{=xFJV3|CjX&WQk(U3IJ0z2|)~DMR}%u|iSp-GxFMs>H(rGoKot(8%73e(!+GeG{L#6S?wjLPtH$ z3+-R;Qs^cX1a>J0o9qXdk{)8iDy>PK5;s;Op0VR8+r=XRuh9?Alim+g76nYEld=V0 zqGTxAm)^A`2zY5(c6pSRFOSZw&del7XS{yg*W%XrP;&lZma6a25iQE+<3L4q2v@-po00}#(> z1=Z2C34OCKO+_}rySA1#fW@d3=2tYk<1(5-vjeKLO1-`^AgS})Bfvz@SNaMf^M%aR z%r;ATZ)D5I);zURcX2jKb+amuTUU0UhKBUp5GC#=ti(&2Eeg@;g7%RaDIMT~dfyrr zg6H(+Tf2;%<+{|@j$ekXhUoKnpHgrq!rh6LO%keIiH>)TKtc3GutQFB23D1SM{gwG z{TS|<&VlTMu!hE6i^B@yFsd#xckPn<_-h*5WB~CR&_`I?TWMST+&s+8jFfhLDQ`GJ zip9i$;FSy2@5sg=xm!k2C=NA>CWNYe_bTGJ*i;ppHO0+6PQD!zG65~?&FXcS4OWHpj#pt|}~mxN7kAsGbE40qOA zBpOAwIs(opX3O}9-X{sM|L0kJHIoo9%pM5!stZ0qB4%JEPFt^Ey6 zXApSQG)Sr5+zYAKI%P2+*bkc8{`a;uMT;Jk1e58LgDt$<^p#O*7pHLw#eMh1QU=ek zai=FP7|r=SK=k7t6zF!ola@BZw>-5#(8+=PokFexmOH^Ms z)xta~1TFrA?G6#c-+?FJmcxxwcmsS~vLHX|aZd4cdZQJwvDPZ!6pyz*>FbZ_qw(k@~F_q?w*TXW3=e!w(iGR z{_FL08<9s>^=g-f#i7g~+^FfsiILco<=xjQ;i1lgdaubR^B!M&USB;5)%l)~vh~XA zOScqbD5PPW_vqlTk+|%8emj`tyb-XFxoCGeDC$v!s8w8T*uAcyX#v$H(lqC|qa>YF z_IdaF!G{R-|0M6}yAVy!;B97q;z!jMA+;(i2G5|LRnd(lJMwG3gd@+1Yefln%CEj0 z-%$VCbP=hw8eoUVU)#$sTh9UWRK6bN=V%vkI$YCOoZ!CinP1>p_d6$3HKbeQ8)Rqq z$O)#x>TXB%HR$(S-4MUQI4l@C^qX0{cos`_yZ0mjX2!`0yb>uH{G zGkZna%;{^eKt9H{*Q@YjGxEwkN6*7a*f)@m(oN6ATN5eR=6w*G_eJj{Ycd|ecIp`~ z$5v5ys44nP&OHX0+>T3J-EM6NOYHIn<@C;GGzkY22d(|Sw&1)^eex*}HAw-ixcH2I z7;gWh2D<)%M|M8cj7|TPS(4|DejnOPTNH~ZY7W~rkzVc%m44CJ7q1~DihJqfX?0Mf|ka#J1vptr0-4Dn8(KX0_k zBEA3*5`^P?3io{f4N;hnK$lr|MdCFIri_iE{WjlS=tH|dBOlpBWF=i3>hx}RD(bfm z%P9VRfomSNxfM#+Xjgxm7IpA@d4o|}=^2?mAmx7LqR(SqA5fmq7s~c-z>%*P^Iw_* zsjg&|t#Fd&9-%_t0Si!+-sOP#e0S|2apNyLuYYRTer*3PDl&a6Z6*Y7_DN^zvu-n~ z)@`tRjIF(4K~-M2tD~xF{js->9zOswR&H!zIXSWVFuWq%tR-EB4S3Vnm^nbo;@rhw zzCA0$o8#jSg1B=jmbb&^d2hq;-pZeFwY*7e+j?4X<{6y}-8=>6h0bLH@hShj=;WD? zAE_&$L=_~;sA8BU1BgfYn0?XcFw0Nu74+4HyzI(uB1+_3hn#vLBSbaJ-pfy73cnIC znd_8y);3%@ZIM~&f$TRJl*8rM62zS=ae|%9uIQ^1HW%ru5$@jwZa7OG7GG?9NN&Er zLV2XCw=^#gu1E|OOkjO5X==wi4;~;wX09@Zyf$r^~!Myr*T2s((GfMg>Hj! zh)L?r+4ENj(Ykj8XLeH{f&fK2S=)fdCHY%M20KoT5*1t}SeUE3Pi*t`ym;Kb8l_h- zkpJTL`>_RIU*dnuRfj>D{Z0t^uKx93-s8MBXF;MbYo(@u@3*?BK|M2Di2@%OZ`|sC z9etgl(3FX*1qB6FJ^ywk_kSPl(z6(`wyRQYMuV|`1x|)e4ogp#N29x)SC5WgZ)|oQ z{od2uVvry5oEs{PWOOPH1x-KGp)*zmZ`SM_9EV?3>q(ih(M`%T+vY&NR938-(aN>!bR4wilY)(xau;zi@au*my)|Ad;M zwTm+M9UBe;#j-Mj7kmZx@%~uqCe=cv{JM)lQSm|h(Tz2gl1H((4O9P7)QcK&s z6WVGZZ*cN==!CsJ+uihoeTuXUp=9F5@~+PuI%%*5WE+{#TZrqDZG&-8J#?oztrXA4 z<-P3E=cys_T*FQ+`XGw7lpfn?oM|~Fdnaf945vur?l_kj^t=k1$6f2%EmsCJU98gcAY-lrxC+~BKq=!g%6$DnfGQWdUkLn!3T?kTyC)hQXuYH z^Gd8~y%<&srZ+Uf8+M*AGC?NLobD7Fhu_Lfsgr{d&frG{+x0yJMtsFgT;BMaWk;=t zrf}N0`RS(Ka6LcA?+#57pUt=WKz*0)YgkP>pXh%66IJHEA2Q!!Y+hKad~i5r;GN5V zRv4KUpJKsGYr9*n=W!KGWt3I*8morjhfvhh{Jskc<(ut^Y|SLYiY<-V98kNgJ_YGw zI4j(;ru9l}+rb5d!G>Zd=bYo_KGhW#`HS{qM@{qC*RtjIF^`90mx3oT)66 zSMc6{XLr2azV*{3rA3}w$b&7zNQyw(XuUY|bO|!?1#U&o>%iH}Pvd#wcnB73 zuQXiTHlJ#0Vx(YV$9Gt`oHx7Bx_-$xtE={k$;Ah$)8Iw}=}GD1fvclJ&`OvqFD|95 z8lJ~y;Nj0~`ZSPbI|W6XU4-A7x`t2y``*rDzjSRXXfez=$66tkjFC>U!1;5_fB~(z zj7ye6hL(JO zy?sH%+%0|UiL|AI4>*xi7-W;tT(W!I)Sy9qPKoNey=uWwHHO*;oj2GG(n-K3rz z*#~_p4ylt#KRnD3s$piN7q@?WkbX!a1(}qA7RoEN!`W`wydr3jvMZqh%i*4vY!$Vv zn+4Pcu0`0+T_~9^C|Bh67zYQ9iw|9x9lRGMepp+etovFosd#>EXTP<9tF$}(-+FSG z(MUj8g#A%4HH&tse4R^>mNFSLq$S(mQ-xdi1;W zw0QofoVgs)`C2RAOz!dDT)R>|9a_)vkH+J-JtxfSi>>z?jFYb?N0dea(JdDF*1r%` zlbb3X$A*$A&ijs5l)hCd()E4(r_sAZfg36vso?UIR=%4^)A;O;8bGR;33rb4T~09} zxOG1?K*7QaY+#Z(S~6Jy=9WDpV+qTvkQX0-^TUudyDlrYi;8Vk3+n{pyP!s`l_D>g%W9Px6>yn)hI-@ zXiG`ml*J=w>=#Ti$Hxza$Xn?jZHF8xEnnpz_T2Q%DW4ze=ssVJ?ofPjh-V02GiiQ%HEr2ZnBU^-sZ7JF$n8+KYxWiHs28=oKg$Q|s2in}(mvW?2Svj!= z`p^&uv^uiva~B&pG+r8@FvV%MkSF6Q&#EwBeCmmhitd~&{;3JV3Nu+|DPwt;FRw^i z0o!`%bkVe9M<|N!Tj{oFAxRppE24`G8zBj!H$|ZG+}E?>ahPuf;|3KOxI==?Ni3I zX3#qIkmxp;)Zl;HcBzDZrzbM3hpJa!HMG;;?3K4->$Y&6@eSHNrd9lWS={;5U^_W# ze+`oL(8=-%I!fnGt&zN?Z-28-)pUcJi210E2d$o`RrK0 zy6>-vnB&HiU&$vBS-$kPf76#|03-Trk5C$NX`<}sO#6(XD9#s#id~9NFi7cMi;}}| zyBF5~Y1VG;A|n(t>>4GD)8@>pEUWNkK4w}ax}A5HgdIXn5T6VJ13NW@6$o7a;2F{6 ztkK&>K5p7R2|N93_w`Oj&MF`8t1ZQzkY<*mdJYUCZy;V6EzCF{zlz;nTU|Q(c5EEW z3_M*wITo0)YdmgDKfJsYy>q;FW&Lg8sM1=VIQJXEm+CxFUTYx^SQ+zsIrb>I@nld0 zCCYvS82BKRWa>gPRm;fBvv#+HJwa5@=Oh8pGWw{*1YT}79%&(DlR1h=+U&#Z_06U5T4PAgj%{TG2c`3j)pcM?dTBLY69$=t`gBDu;=maG@J)vT=2rTfpZB7#-h?Tb!@+TIUBUn|9%CI~CZmQPPR&Dd zR}U7t$_kn)7TQ}0o2+QoFPinM+KZaTLs771i^1700h|RW{MnBEDWTU_ZW@T9;|9=o z(-0Y^buK2%j^f8WI6xXtHqYz|JjsFThSz>5L9u{iDzY892D7_jwq%MeyP8 zaCzq87K}m64}803Zo~wh9FS~Gf8Jql!+BvdQEal@$i9n-ECGbH^ClzyS4~H*?H0eF zAQ)YD8mocw78*IETE)sDgqA+Ra&S;C@=(z|0I)+k|JwqVC zbIL3bplXmH=rVMYs>uC2TgZ3{WAp^bTF+}){v-~d#3wDq)T>Mb&j5La&-?!7<iWO?@>yDtvp7Dlj>PS{%f`)7=`cihd*%8?0lS@yvk=ws{q) z^~!om@%Pe&91rvi2TZp_FkYLatOZmFL(n0Pv}widzq z20kk8e(vWVklUyJqqU=C0r}d8V;>zv90QA;ZdCg4GH2UhA&FP!htJ!yVq(J>6((=i zor+ubY$AWF4UB6r?nH-$h1Dfb=pMC_%b+$Fb#vlXjcvmqHc1Yrwl}Nvj{l4{_FO5A zUD&A4y>sX2`}u`}+FElP2IbSf@A3EhC+kCc4L4%{oXU8<^pU)*q~%kU9ImstMBHK; zgZ6q(R-}$gFEi_5Vs>qJyE!*B&)oi>A;Fw|X@H#+Up z&EzFYrH-k7-Tz3+-LFr=PF7-%_DD>B?uwq|(WSz}h|6X#%m?)2Njp(pbE8kvt zL2BkRUmI?0G@j)1mZfzJ6Pnu!)-7znU~AWGR{iEI=i_fXu?I&)>@(3|Mq55NE=}Vh19+rML4SPJ{S!@&2bH2 zio}Cip-5)WgJR(ydd!Iink_qc@;VxW%>tWo7zJA8F}Yvd^4&B5ydMM4H?k_5wbBoN z>60EUp@Qcum*s>{a--Aout=y2BpwGWAD99qq2qBptcgJV98)XBs!AT#R6Ub;G+P`P z%`<^yVzXE)6SEgyV{2QcpFfb~^{erfrf6Q_169n*}LTcW(Y0egD>he8w{B8 z#s2-pxHLFi35!7r@_&^>_gcsn$)|yHdC=Tg@MX&k)%K(Cr^~2_@%lp*MbIsjD9tE- z){>fPrflXL>8WYvazFE?a@O^!LW7xT<&wcKZU~?nB;fzaw3d?LB(<`Z$PM1{*<`;s^O>_p~?01zPJZ0vyLUUx_ z6K)3YvSn=9j?f6fwO&YB?Wbh^nm(v0;QTF@WHB3?&2MsiJc1VkgvaASK9ul|o*r9? z$cOTt)uuc4k~uyu&ul`jd?r|$w)@4C7WtFcYR9Wao82ZVnS48*Zm#@=Nsiu7rqhk>r|RZ&mB`{5 z4;bE#Pr}>y(86Nxm3s~xrgjf>#7&CS*Ik{uw*yOzzD*L;H@0@em^v?$y#3m9Qg!tE z@4+sy=ZMD4NnW9B9Ir$?Qft`x_oMVkId=QM()!WHBjW!5)j-C!=gY7R+3j>?kGpT(`p;R6wj{wpP`4qTcw zqOvOvhy6!c&oB5j7%vEX=JL1#_Gs8n;*FExR``VaiZm7ZV1Dlt-Xd3y%@_tSli9qQ zyA2T#^_Ce@s}bX!&$St=zH4&MyTU{UZ01p=*rYWxrR89-dqgqdMG6f$hSY3HNyhAs zI{zE(`8(S4uhy9yv3;u~Yo@Vh$$S-`!ZWEz#5`?=GTzWg<(9{F5u6biwW^2(6iG2sbN7WNZi1yNsD-C3$Sh=Y@iekEJmf} z4I`QO2OpY)Tb}(qK!NY<01)y84#xL-;;d_eZ4W$6e%O0vb{^o+0~a@5pqMdy`HJlX zFq}Cw;D)b>n!e)$=pv-yNQOy z<%pY3YQztx3ITy?EA5}Z$(0pO)=yQl;eXZfXlMT!89g+k=w?3FU+_d@5V#y#FRt3M z>SIl02uU0ZKYJH#&X%WmX-a%(9SN_Q&uR0ix}#&3snDsD*FGdq;_zD}U#QOhk#|qU zUwo)Ih?2tkn5Q!?-?R*N@6&DZAqOxR)CYM+wdo=)?VTGzT4iI}2ZG*x)))%-iJlO3 zf0ea!l(nhPqorEYgc!fTA!HV81%m1FK;xLRjX8oJYytRL{S6H#z{;&V-+aviz&Y~S z48cW0K!xnTOu$?2at=>1z?6;W@8-vkVN1?KkUd3iUegp97?i|%Dv?*E#R~WAmW+@f zr0%{s+QJ6;6*Uql(28Y4x>X-y^liZpK;;1L;xScq_xpLKZB#wN`s)(Y#zFM-{h;61gflJNO&lJ+ z3D;b5+A~YJlt_3Tv7ThaZ36PpwosEwBv?I}XXoU(#ae!3f7gInDEaYqPmit+S;uEN zaMMP89qK;L6(CZzGuZ!edlzAgDrp~?{qAvFEqyw2y7TbhW#doZGPnAVYai{D>8lG} zPjKSYc+UPaV&Ce@gCb8pjFyt4PaM1+-x7EnR;qV3>ad%mR(Wl7U4V)CKco-?`o_C= z4oH4O)nW9*j|F;H4%R3$vEe&Tv4;oGMn7_W5~w=fHga|$VDBsQ7m4%rHn$|Wn zc^mcDxWON5PrcV74@DJjW4;4yL&h>5cv=r2F@vJnbEey4CQWP?#carn~`j}-;zQixrCHExiz;EGv=22CCok7$i0ty$Tc*Q zTM~*`%;mT5AHP4h{k83VUgw-Bs-(uaFjazaw`AK${a_!@KLnI^sBRZS{xf3HOg z-yImfnl$U-y|A&n6t20^{v0E@v*X0Wl5_NgLX%Zae%#dVIA2Z4bEt7R{Y~Bt`{xx- z*|DQg8`Joxcw7=odR9&6KU$JdsrJ#)(&?uqzEe_L;wh~DN!44qM-LQ6KaQKEOD^|X zupu8Kg+L2m6IVDTDn8rz|K=3k5X+grnT&^-M;mm3E`Jwc)DspK7fG02W8C>DehoJL zxW>+R?WLd3hA)MBJT39GN}I{`+WDEK%ML5Glm;o%QnD$rUcH0HI?N4W8| zgj}^T2f*}R3gvP!t}^0NIU&~|iskU-`?BzOOBjdhw+7PzC^OI*d=WMYwPHnIh3CUA z(a|Bqxh=Hvb-p#-yevAd6NN%A!%^HXY~yf`=3QpY#RO#pgyDLsF)xLH2AGy)1NLj; zj)`qMqER28dilP{o+@K)eMS#_fz~4$tQJF{;BR{OnZzXs29~rmcH0M7}Q><*$&Tmly01ME;U_s?W!T$ChmQ|#eD>Mg%7WVFIE{CT2>hw=qX$%Ay z{p%++{zt`U5r@AP{4u4!&H_SP)D{ zSNJr+)HI5n2g9d#5&TC~>Jtu05H8NF)YFAPqEHC7A_T9O{)0g9BwQt{K=>D zxaV~Q0CVMGD+%O?u|PwhaGgk8YKspNi{)jP$9bci^+?^eA#V6`?D%B}uc>(?LZ-x+ zWNs}g6;uCF_0F@zMnPM1tGT$y>OUfWf*c$B6_fsU{X45WJ7HCXY$lAAA#NRzPkE`wrdfkmX0l5I zo3A=gmAmJT`UQlkuD>$V8Vj4POUEv>Jga39+kpB7w4Tqc^wMAupWaZGy1gpgtHbU# zKBw-0g*F$Ug3??(niPPMVHspipnz`&n6QML09Mr7xazwL12YAprM32dLs%R z83*Rxv#lgfCpZ#XOpDE4lA%vHAtlMYvU2H_}$~6mQSmNHL+;QSeOxmf2!QQSn^#29FBzkL>9f} zEAJYAaHuwi9f|?Xslwp_`<0eCu3khq5Gf_D15zzmZ4#cd)bV`*z{MbdX{)GICbvkW zVW731Sp0>8kES|3re!a2Uvo@M(l23B3A~bo3z)A!y%aP82t|YMyCGSV*;5<5;H(f3 zDEUIl6ShcJw9a_RJE3Sx5R6>~42ntxsU`zi15+1J@i(yMFlYu-oO2Xs1P}+k0=fZ$ zPJ=-(*e$F<6cP}3Ul4rFM<^FeunZdARh$Pwm1w76fpStc=@#zZ1mR=j|! z@Rx)FF_uqFY4KQCpl+n6rI{Y|&K895Z@`M9%?OoX<|~adZQZ)}ABxC%s-z4y*9VuPLDCBy%~3fjUb#(mN(w@l@Ccfe6138o2j(tlfLWuNp_omVL+#V zx<6Q%KgoNOUN8;Bi2ewdVtDK9H9_dp@N*!Lp1$+EYjt2Nr8-mR@GDITg+{q2RJp^V zV<0(jGx{3r6{a8X5>x>K^uQo)JRuqigT#PV(8#pZM}%wx00edo0wmgS2ld^IL?ov^ zgU9F7y^CE1!ia*jgP9K24YHR|6aWL_XuqylG|Ea4$&5xbISGp2eA@b) zBrJS|7Raq9h8X1b+xS%o$!3PhUqhk=p#;3IF?0Fhsrky|H^mUl`_0RYoVKYAoRnva ztm*DY5Q57)gjbm?i5f9d$5#=lN24Brwy)>#>51y7tLhN!Rgv8Y zh%M9 zwb8o{NuSFbdGBNwC-?-M2ZqnD^Y*^yzcnlL(W-v6@%m_Ll)t%oH7#z*=Xp&QjRJ8p z81_8m{P!T0;vFfgk`{h)MAJL|Dwl5izQ1>eL;{BJT|BItnXd`p_KyDQwbIcrYl~GI z37XM9o%D9lytkxvN~SnyfAZ9_3#q;RciHVjVCd0KFOM6(bs>!IeCdn5HLZF%z55($a@aDuOp zQ7-`sv4YaG~(t9D#mxS+{UPU(I}i&{YgxhARH_{d=`UoLA{H zP2MI;lizD-YHDby+!%g-vh(Wv=dbgBN#_UKZ^HK1-_UMh+iOqfD5C1*oTRkZt)}_{ z95)9MXjkcl4Yg=7<(sLXn(Sy;U{c%NJh^CU2$o^M0%ng zX`B>A;PI@nKl@8=)BX~{hB21ll&G_W)4&?@=DF8R3b3**y|0;~A6TG4#>-GF%9+f~+rmIYHmW1koB6D0YRouLgpwkSNd%F**jE9zZZMj@1wVP>smfC96cGt(syZ zY`DR+t+_xiq8JXwOZ-^Uz+>Z3l&m-l7V<=8)G zK#JN~`NN6JPk&taSx0&VbKISkSH&D%$EY8`m*;hGmAK@0me<@r`_U?Pv^0IG>fq_3SL55CSF(fV_BBUrhs86z z;Nm%8I`97BQ`RY>!$K&zD2}mUe4^o{F?P?j}#2$jo_&)}OjwP43CtcxL_W;u6i=VoPrq(@*SEtzJ) zc4X0`>igGOVq?eic8A+E=cQCfJDD1MauOKW*%`2~eJ+}>#Qdf`MYr@_@b$HO{X1G? z(UT$ONc95R>oS(D{f@<{oe&058N$-(&VEg2m{1XsTeH`g{Ohw+4^M)70SzPB|1C(kELp<#FyO_WWn6)~>TC2Sj#Or021Fq73tKEn)Hj?xDagn) z2K4<1WSK0xSWIao0bJ2Dj!Dgj_E=0^D8Qr^|9eCi>FoAmkelaXw7Kr40a_dYp`+(4 zB(MOqWHpJur=AOcW-z*d0J{_TUtpsE2ynGuLP~GDvg5<;#YxK>?!{vFnI4;e>2K9Z z6_tX*rj~X8$(X`HkrAd~H9Ext3Ip(nEgDeJz=o-^z1#o>b3axz0lpmfw{lCBaCtkk zJi@v_0O~|#=^f!A^sdYJ-|YBOJw6)^x2m6407B^62&^xCJl3k)RZz`}L8P2S<};iS z0^Np)!}URd@ta9Vd?BZ)~|i3bJtGy z{NywQmW+8&=p?@p^jkFEh8+%U3^Yd>%xsUWxN}~Hf8)J5*po(l8Z2&wyjVRX#Sy}= zhG8`P7GqynYYL*BXn2V=ToERA}#x z`Yncdkgy@YF6bCt84Q|g3~;aQ!oIdBH-q2v;0v}SDmm9mv{dxOmS4+x@*_IYgG0Lc z;1DHpjT5gT-}M6K1?e^i*2CR*}+qI)Y_ zXqCeB#}Ib!X@|z%lc*tv3c@0f1i~j~*={!7;hcMBghJi9RVeVfhfnf)?RlO+OEUAD2!&@m+lNOs?BmRVd|J$X-Eqq|hs;vp3n& zje$Xq>;BbKW}zzMxiQVP1B&g4jXzJfZ{7b{rrAB}6rKVZy|*g-*XPS+GaU;5^U$_2 z>ZxadXr^`cvfEp8j%vNLO!=+^J@W&t#+lQzH8YQ#kN|;|JHtP}_S)|ECN*0%uYh=I z5E-BI(r4{jhwU$u8~Zvg=X@pc%WGQf&I+vsQTJEMY8=l01y@q1!L`9kzr0w@joqzw zm6D#6jl%^mgRl&IoJ?l%vPEnu<5V5PLzzDY)-$qHt@>7qPbHDt`dw`->7FLyJvl5O z{A9A_n=G3gA}qr6PUFlkvV8w`i2w_s(qz`plai%N*;zT=_N=88sgu3Qqkj|B)S#?P zhPz049^SW6gFALx8P)c43+cDbjc?WzPi<~#9Qt42x>x>LXiB;>6oZwNU5vTBwbo+S z(R`1q6i78uv|t^ z0sxGq{C+c3VCOR;Llk>qs^>!qdAQj{`u5xMKi>hksSNicbfg-=q-JaT6tZT4E0aMc zQIzZJR!!v0H7@H_yv)SFMb=C?fchZZzmLe}7dTTmR1jzIgis;`^fkZLy{?QcGt=S( zAbgM!s2)z446&ezW$~CUEJ%bo-2#7w@%CqAv{Muu ziM-Qj-Qz8oAM=|XuE$8*kh^^^7LSj_7hQbZ`Vo7xS%h1vFT>ZFx% zP(11+^0d#-HuA!)%_iil8@o2!tx4EOOJd^Qn=VxRi9Xc_j4Vlko3MJ_++J-B4klp7 zy9cZeCjW|*LCa(c0ra2O2k{8GIGGdq&qB$-Xxxtr0LWn&3WR`?trR69Bh5#U4DR}f z!Fg(kIfXo!K^rgwwF`p3Ab9$PL zuXPsEu?yvNHW`M{7hiJ+C2I8ug703%!$q2X=&eegP1S|Wkm~%B!Suh{3w#N#2D+*& zPb+VX;Q*x6xg-QYsPp{Q$zHv#uG{V8(g!7s6=5ya-V@ALCCR14dp0f##H;mA&IF5^ zbot$+>t5qf;Sn|a{^mC|Nm36{mlf?rvdACKgWU{zA9^JZ-n~bAlCueQ9 zV)s9g?fDy{62E0OOm+TG>2K3Mq2pBNHEm3sb>d$jrvEu>IoucvKl2Z#{-qgP9KsMc z(R<@_RKsiT3yy#P9IeHAdu!hUyt+HaXYLaNY|{}Fgv6DrKzwV6{kkoKI~^W;{bpg< z?Ya6i>VtNs?2-31;g!d!?9PA3v}hda;q>2AYVC;7vrSsyz?$}~nn04n;%-0{RdIzq zcIGcmQR9MVe!#$gDKC<9QWYffQS!;6Za1U$iZ5S!sUY^K%rc?mN}%COa}cFJJzzf}mHPHLyD1mD~6=~#+Qcpvj@mjbM9Q3r?{geCl>0(t`ynTW8^V<1_gx+0m7dadT)eLmcyG6Nzh)Wl@-7nndSFVjZw z9Jvf7BIuFbBcVuS5?ppu5F%QdYUu$1M8l{;JWzK4K3H%W%#gy42NJ<0>UU7@Tvo-| z3=E|n!S|fw@LkSTzZhYFD2N%jh{%NIEJsB|mY@k{XBAmo8O5+FzlvY&{WAoexQL8= z{+lyua2bRk6F6qTd-Vkqj58M?h~|I*3+d@1p{yXfDLpPjx#Gl?G>z8hJynv)4YYdk zVQCj>TtlkU&1JtPgJR}0iUQChH8zdCB%at^23m?~*$^|&>hsR_(xuNq0PKTlNW})- zCENvY1+(#?SFT~<6^!su(C|UVR1{b^hZnQ_nDY8~ZFX1t>|fjYiuTE;&ST}_u#^7I zV~Tyh-={{(O1eWo9dNb0%_6$!1qLE76v>{jCyLOEi^E4?EJ3U%%dy($$25$iivP+J z-VLYD7lXrr!X-tPRe$LAkS21bVq9Ia&TBJTP`RPW0@QulcFmzC0yKye{)Q}p7WBYw zXyhLmMIG<$ZBVFV?f_sc@Sc@NRr|*N@bRH*83``#E6l})eFwR0_yeJnfu&o)O+v>QWRp6uvVlRbCg>W!67Uk3+6aj=Yr=xk0k=bRu8?w6$)P<_7($?@kd?z5j%( zdk6p?rI~J0c=5S7($ENjFL6B*dOz$)RpUKLBpX9fNX^{YJVVEo%HENmwas+XB=A?| zdj~QRR0c`S{U?DPp`D9C?*RRGW)BQz*3}Y=+8*k>8uU!4?+h3CYW{~wdXLWmA&3;a z%d#&OYCD{{?JwgS@X7RM4i}p9OR@dT*3#+nZiCk&vH;ZQZH;vMZK;3u<+SGGiFaq` zY2H%UsrkV>%E8mz1%K<3Tz`ie>BXhZ_VYidnlhh)D*HS3yIt_k|Dc?p0dL+s)Bsa_ zpdZCn^lPwaf6{TkQpGH3e?(Ae>9+d^ZGZFYTBnog4k`3ym9y!y-bVC;W!Q=yh|y1eVI7K?~U&8F_CEJVIa{ zobd;2i3*dK0&Q|d+e~2@b5@p5V`p#InXk0dio3{7xk<7*;_>- zN{ZI$o&1&I1k^vH>172i9S}l9SXV6Vv2Z0kA#~iRtHi=eOeP}KR1D4~&dZLxA7Rz6 zf`$tNi_mkrxq5_XK6hR@O$@{o17PPy8RAQO?pTFgfH3aipr4`guI4fju}UYYivFRW zn@@&NGcN%c>`hs)F2o2}(12k;12dt*VA)h9JvDX#Cf4ZU3k*Quhz~EB2V?H%tL@x_ zWs3C@dmy*$wtS)Q8M*qo&V%F`d?di!M-2>2h9sKMs<(9K^V5*aaCG;;MTVbwVW+V` zP{wbCNymROp)z;WJ~mo^o3E9p}dL1?-7;4&O%*@IfspomGYt~!)MdM6zJ+<|i z^;KyCbG)JXN;EMYv$gV_$s36z#pmZ|&*dJ4uwaKFxA-53p(Hglzi<7{2@}_9q2O50LLxI<%H_Cd>-S*#4%$|HCzc&m<*H9WecTk>S;qT>nwXF9@< zXn9#n)0jWH*W(n#6*vrR=104;ew+U{g5$XduG#pjL2f@THR(L}4?jN<>I^GzpVBij z|M|sK$d<0Y^iu1)U|dKQ(WvSuY^lz#55pl3*DK|GZ6dtweSwa_5KwYCetL51j$-pd zYE9dcr1bT1v}%P*Krc>cYF2s)<_uNs8G*jM7msu1W%I>ZO|ro=`HQ2dtwuEh`@0?c z0{vBy-3qtG-gjZ=bsV9rxQlv(FWZY$jWJWXl^aZSBrkc2kFXU2GdH_JPekl;CKnXV2)Tizvyea+qETWQrXn8684|e~=I$^A4X4E#g}ikaW|+nV1XZ`b zzM5DW@e7IoveV`m^hCiRoM_2m$3M92;I@XqYzc}GSw?qRU{!hYUOhqvNdVgD#ARK> zmqL`LY%h+?N}qRK#6UruIP*v(y4KvOG_ld$;Vvu}_YIldJT}_=$`8NQI>w91&Y2pq zWSFs?ZlC?GF~*h5pXi58UilMvZ;pA&`nd2>z6+zi865}6l7kUP-{$`5F$lx8T zxF8BLoHmj+_|67G=*-xH-FH7@nd6w#xR~-IAVU_RfL_A-3zJZ&B0pH3a33bC!DWMp zhnpax>4A^(TIXd?NVH5HyomyHnyk};~ff^AR#{vE6vtv{bE?*Um9e;)gt|Sv}!yq>3(M(l`OTUBNa(%AC35mzZOi^$lklbuaKm&IO725iFDZe&D^+FXQT}&JiEEQoa$4 znK>9mBpZ5joPyfB1#!1YBC`vpr;}U8_AUk!LL;^py@Ve=U92JETiS#jI!}6^a2&m& z1trfqbU3%$Q`Nuz&f`aJx6INXQE6YaDMsrlf1KU|$kAEtRDf)n4$bxD<- z;taOtCe~Zr%)mZT5&bODOT63`e%r4b3=Q4|FU|U>X{?Er7DN==dwtza+QI(R*k~OZ zp{{LR4&>SxUZ|Nr|GOnvRqt+P-{jEiA=M@|&)b60k=dvlNIK?VR$p0}r_3&NhEmTi z7X5gfDk>yDkg~!U3P}(kl(8G?#tjxvOwwZY%>qL-hii;Qj)n7HaY1qI05N-&mE}np(9U$3Ztk`b{p{>fl1%Mi>^PmX(1d5PZfGGw1teQu zC;7{+KN$y9k=UFA%ctXQJp7X6=Ofcz%3}-@t^8-HE4k1shP8y;YRL7Rmr?I#vdk=D zs7y|k)u&jB?eJf-W-m;2MQlQP&67ZaEkr^17tiOa}hIeH{KMGq05l8@|4R?x%X z;4qZoKR7hQM#kJ!Cf@+2Pha_B5ru-sGZC&m)=H((1*4K#z+dX)F}^sYpdNhGZ1GF3p5U*Y=q?EoGsDIQzNFa3IAP66Og{VT%zYIH z2m5;Ws+B)ac0DNm74j?I`bB#@M=1jdYzA_Zm`z+9=YWc%`7}MR^LGOmez3cFC{zMC zo>NT7?)UT5V*h(oUQJ2Ho#zc)q&J_?;0of_V~T!;%7wp8DM7^;ca_jb{#K~8B2Php z5Js$$H40Ohm{Z1}WmQh+lx%I#kb<@BveDDBB$Df|w4#K?O(Owp(K2wC-HTxMYZ*v><2$th`-h8%s7-nZyQAAxNFY}ZzK+K^@qI^+5rYf=+dDT+ z1`1Lj*IRV0Mn4zdCs;fBUH#>pI`n5{W9Z2S+w|9Bd!!82LQ8bjeX_3Z8v#aa%fu|$_I94xtT*8vsvI=0}(@J0^&MjbsZdO^V zsiw&fVzU?f7HrA4sHe|es*%L>Ewe13^YT2`? zY9DF7*3&aZ$4ZF?m+CR?(=+O$!kyp#@mHy_Sz>ciyb+?pIoT04N<^UrPz6# z-l0+wu!KKRu58h93Mxzx_ZNcz)_bNA%wQV9oT$kBgg1|J)-0z&3qdE@2KW%(xK-0^V$6S zYvZS9hnmq*gdP@7IlO71fjI~(Dyj1sh|%#d2!uec0hq4=2u$n)DcCWSp*4sjfn;E;yb$7oY_E7zd>(?N=l$;0!uPaK~0cR~%v< zYI;#3A;UQv1!58xW&)b#5-@21I=1}#kQlMm7shdY8TpuTECAL((ik-i*=EKnjCXCl zU#xj8jGhX$vH4+}H-O7}e;?MSoViO=FE}}EWNPoDz?p(VR-0iL1p9bv>5QzVoN^{L zhRRVEx=x_~csEM7T1!6?urZ>vRojRHCGd~8 zz=%LG86DO$hum*fw`ZJv)bgn%TQXZ6>Bn$cVP>eiY zYxS63DfMyOHDR*MNTN{n)K~JMF^A{0mH%!|*5}6P2I9&yXteqOT2V; z&X&Oe90)=`?M)Zbz#O;H?k=n6?K^vCzpyTj}*Jl`Edtn6j+48=)wn* zm`pxbvo|6j$UpH4)=&coA!2&R%qhT$frn5QU;F^f{Q$)7C085?B&L!F$8%Ek*<~ZL zE)W~~pfNj02_3doBX~SF{gtK$Af}K2#F(1qTJ~7b*<$h)$1%|t92)?1MuN0CGE01f zDQW_yFekz8ZJPoTnzPDu^7meSjW}p+GLQB|3rjt-CscTWm=z5tT2tteq8WxDkgF(Y zpzNoTPBgLs=j$!@LqhS};w$B3t5lE~oFl`jCd8`rr~d*`$d}Xr%MwjF9yF;QHzm^!s}@A*9O1x4E7WH9e+F#ON%*;d%|)1~uY;qB+YX(5y*dHf-Bs*IRr zV>}<@LrRX#drsS49FbSAcEL1b>rxW+=ZLV1H zLo8%3eG+?Y(IVMY5Vtb$aLw5LcS`>;cb{xHOs3|qL3M4b=#J%L`*7*(a9es_=<#1W zxdZmTA1mft_HV59uNwu_xKds}wVb~chW$0V9rnVMh6Aj-%Y-}ob-cIio|er)@cN)kl2Q6esOZ zgPSa4kSAq#319f$N!~0Gpv*cmI=&9Vt5whTuQc|DeRZJWfJ4vo&eFrrmCt)kI$Ofd zQkG6>M%1MKYFUHYZX~SH+@Ea53q7*Rmlr201H5fM2E15f|J+`9?2AqvH^C zvIz-Kr9l~{R^-GitMq`~@V(_W2lMvZSQsJdi=>kV|H0YmhxWsxmfWO}hX$=ymeAke z+M{G{{rVIl`;MSTfEArT8vu(M7i{Oh90QVA9aQGQBJLYFMVLC@+7x1%bB|MSrqT&d z@rLA_*mjljy^M&%aY6jeT|tQaf-b?oJEYG_gpXP&Sbayf{J@vV%C9-l*vJSvDMjHX z_B2jLUl=^qrofX4$VnutyGcFqc<8F*)C)`zgX7q*WLxzw-j$rQn%2bC-fb}GMHxwy z5FbC8`b@@}7dYz>%nDTN?u&djew!ht{%dvZm2~)4FU27ej5Xi7hwJicrck$gZ4=Ef z>#L`ac4@fy^M&yJ(s1N%$NTf%^S`_2KToeZ>@EMXp(U3+t2T0P*)5h?83^*w*Nu`H z*wMlO9Cezu4%I5I585wa<7@{sR7|?X?iuLnZX50PtKBMTRMHZQYXY3=>O5M)$RKg%IfADgQ^D}S=4Y+vzmRIID*NCk-GCts0W%?0v2WfCxwb?GbGC1U&^{xFpkYHZuO_ex>Ade?(@*){F`mluXX zhVJh%0S?;FgN~>o(8V!dLuh__Eirl-&)&+K&+NwM#66C{<(3F%f92;O6#6J_9oAo ziO`n;L*Mf^Q}3jTyOK?nCNQa{xc1weAH;u)#}8OwlEyKZ+g6mU1Fld(Nv=bKnbULKrAp{Q?7DJtEU@ z*-58UowmtV1_$%nC%->!ZLe_dPi||>e)3vs@V*cPi;~iIzlv4^$4@Ov zGyVMEr?IdtN@vEFcGyX*o_Sldd1mLn^!dNrG&>x5OXKD=t_qk^Uq$*%oL3`XJ$IcmDGtl4M-l=i5rcV^pn?-Mbw1{ zxgor-n?iqRrkEfGwFt3X|1A=v=mo|@1iF0q+WF7FH!qz|YHJN#UoWLas*w7Wmrhs8 ze*WCA%a5P0x98u8eL2j}@$mL>T?H+gxQ|z+%dE&vP5X4tg!Uz0_^g(xj@56J9KH|G zcK=Y}yXJn6rDis!Yu?CxrDKWX=4-*c`l$2U86nZ)DQd8gg9K$mc$b(yn^^{4iL z3gpvXEJ?EH9=#m5x|fg1=qjkxC@;F1>u?w=Z6oKQg|1t_ZO1CvdP~ z(|%}iVQ!-*F^W8FfLrw~EY*WuQNlRaC4rpr2uUt;cHjKI`@0FUvmMN8l7{(;vx<333DD#2qdwhcWu*9 zu|lbMlZdwyWK1Ny_UeP=cB4WOS}Bn$UK5YE9j6`Q+d3CN7Uv_NoNtp$hi*|NOwfcF z`ZRw6$%nU*V&0|z{aF2Tdf@8K zp^Umow;OGwK)I+~qGU3=FRJHF9|E1r{v}HWI>9N!^{y_0-0@*#!PD^qt6ZNSg-^C3 z1NhhgUmAB(54SUPgPP(q<4XK@r*kHY_brWHLp|x`r1SEUSR&RjJe5A1?E`%TAfap= zvnlcoRG1G{Qw-U4&X%lo6oVsx+<>SF#5f(7yOjqj&ZxAFd*>ZY5 zhv_*=lnwLit(>!mXu7{nICa_M%b-uY*61^UN1he^*LI%~M~`XY#?C;lrEo#FC7DO9 zMuyitGzoM(lc$00;Y{eMo%SmNVgGhEI{$@-{Rs%)KO<9jX^{f2D73sJ<#26@dV8fW zEZ>4pW@t5orL9}YO=T(k&s~A=e-Bms@6sOOzd!l(o1J5Ks!8(f-aBoN2>Tx&Gi8z~ zO2l_>Cj5r1b#-3hb{N3KY=5%~BZbVh8^-Pv&Y>a!4R(XYC5FK>pZ#|=*BS6^EOU<@ zP1R8gF3Try-|b(NR2}V)KbY3exi9>4Z6L_r(f^{-W>7}(92Hr*mA(INX64)c^*=4Q z*Hr8W?%0vDlZ@o5f8E^5T{$LGmISOS)Ta-fWS>y?4G;UbiQ8_ zI@NQx%z5;N`$hY+#dL*)tp3)T{>9FdX@}Q7U4kDGeRGnEcQ$%PQ>5)`HX|P@A?zG` zR5J=%trN(Kk0RDaxu3bV@@P=vIm#dS)qD-!CEe>Avp&bq?e7`C`uC^zb`h!X-WFrQ z;J`rLC>!Yxo>ZQp!Czy#jjMORcYSeJBz<*~MzK|kmF0EhbsbG%{w2fvy!;pQwZZp? zyo&vQ0<*a?(|c9qXBMrDCW)$Y_9THvpYCL)d*qak69&Zmuf7jG`8_=rw({@z%|e-5 ziOCM-a#)d#p`X>29FJWLe7kN@^Z?U4?ufYl<5@lQOf>@)VuAKQ1NHIZgh(V#c zSY(v(s(AE$4+H%hI>-kwKmNR`eYS?nj>`At*tfBUk>k(qSw#CU=^^7IL>i#9#-EBH^NvNBdiOJ+f?T^Qd^FY!WL!%fi zf8c2m%kOzD$BWT!x{**%LsJ8ZR0WKzudc5f9a_7K_v+ZBrPW@Fbdo@a-H^{ciaoJm zYqH;Ar@eYMy**$7Q`IPWdKzo;PDtx>h%^Tv;Xwebwb80ewr`QA?2em!{j6GFzA|y< zx8*oyp5vu558$%!r#Df*w0bY-N;c0%0g_3+b?p_7-`%)z2BNBc-dZ!ai)Ep3>qkOj ztPnYHJ0&PL#Cw|-fXcf|i!4*#`}5&ItLc)_(_C#N19nVpenvlEH~EWEOa_yuu;Pu%yE*47#dwwbn-CcN$0OlbXz5JukmE>>P@XVtCV{Sn^!t zVm>-RlvPQI{TJMf=c8Y4H{wy0ihB|X!-m^DdA|R>D*;x%g`~sLKR;>zb*$f2Ayz7dx!dxgLfI_j5MAP9nu)a66iPwFN(a*kinu zE0j_-2y|{^J4BiO&kEbgUxSsmX!j#83foNC%3%xNKDyFZ^>DzxUA4wZWxcVQD?u}C z?`-cACE!~|x~1rfT++Vp)Yub5s zf9m&I?Rti$$IkPZ<6mU&&W^B4iDuh#AyYPkkE?=O{M)`Kzk5?iocdwE{Db)pc0Xfg zF8!&nRKnbwRrUgI4~j8w|8Uu7s*_cY$NAs=^acA6LUm$hJ=*L#?(_>0d`ne8mm?kX+YB6un_y+sp2E`*NF%OLPN$Q~ReLD8K;K6pf#8r@Uk! zh&>y5=IQPcUHtBlzi3>7?TO`q(ifEb7x02IxFHALhnXM;(OU-SMxh_5{4)a~%T@d5 z9|^I8`h7O{m-|_kwom^ZS9oi6bZGH6x2MmOQTdIe){v>sMj>xqYSqWdr6O+b2~T$; zFbgQ0YU1>zpp=}1CRr1l&3G{~Fjw7j$N-6$ufkjcL!sAV;-q%$xK%eXGhXXIxMOs_ zv<0yRxqFI%r>;80y zlbO!5lz{Vp6smXFpIN7oMKS~#iF92pj~ibuABX{<f?p?ML`ae+Ls(Q zFauimiN?(B`w1HHsQ*OD@c7Z(kfXq_v%$!6?q>;0$J z(dPFJaO~@$zx!3QqEjPL-Os}U=$gVLMUGdg82^DS^nC;MFMFV%EXv?mwG`WHhuzNjED|a>0Qn=hdSxBjP)|gcUE}9AZaO8DfFF|INxEW44tt8eE#NS8G9FoaNAr1|0tIq3a8?^4hH zdG%+NvXH(q>5hNj9iH!R=Sdb#`2HAMwA)FF_EW7M_6Z3k$y}d3RT;BSU-_X4tC_v! zt2jHHno1~=yFD7jS8Sdjt1g+?x2qLeX-Ix%-}-1mj;1h&c()zw56N|3BD`{**!F~0k|^m;mHkD14{HvVduKmYJ9}fS=BNfrkCz&_@$(Me%GSNo(>oPWJLX zYhm0>#Kfb_TaB`=7_`wdoF2@E--s#-p*ZP~0KNfY@3sYz-Jjc1z7Klo+mu@sSqEgi zd81kKe>9zYJk#&{$FoM8q?sv|!^Y;Y4l0#H4x`aFIjs#j7NQU-=QGVQhnY#rxhb17 z4LRmeQlb=c{$#N-$K-ta?fb{?AAikb@5i?LzOVbbUa!{^arVBve(t9Wh(yUB-1*5_8JFH>Q#>QT!?kCA*TjL4s1si(<0mLT4#6(eZFPWt8rOpJ z{xTqWi2Imt2~}58?_kbiuN}`7uF*>wKN@`U!A#q$vFu?^kij!rPJ9L8_z$aXoEt3o zpn{SqqK`m^EnYR4ooDsM@H<@j;Nj^*Ug-6q1`cN~%V{ zuN6D&OpS*&?A({iIG3CU5=iSafn9_Ej+lx?=|?am;w~Ze0tsJCV*Jj(4y+2Gsoe#l zvDP_mJp(VsW-}~+Apkv(9MbXq_tfq}eeZReBk=fG3Y>x2y)oC{K?RDeZ*HE3y#_|h z0a0#IH)}6}&nV&VO!9#_NE{Xyb3vL$ikU0xaM}O&MHwTXMHwBj1omnjP}F$yw8ox=hrm- zwdp`=qSNL(FP+`r>pSHwJM(^fBL&XI>m7I8iF2=*#>0y%cmE zkA2~D+3S!Lja>gy=~S_m)O#KW+4U&(-{Sv8w1`6Y0P%cwSJDZva|6r6^7d^P>@0hH zEz_yOe^}A>Xg~kT+Mj%o=?p397?bFhszA}=_D9byMS%ex{D@FtAql^g&*RXpm?IMJ z$I(}0U_dgqgZVIA|WmRZTR6D;8_PgKB@|?Rz@6G);^@%)V5gs`I#b{(mZ=yLH zWc43a@~+qmjOCC#oWYjnon3!^LY~b_7u%+wIj7{4T<`DWTIB~vi(N?UC`Ie^0U|py z+kK_)A7HOnpYN##8c`NwqWZ=p^CmP2D+x z`(}d6%jS6({(A!;&ntn-CQWKyBS`Viqej8K^>do>@)y-J`+1|T<-5DJwX)&Ah8?^* z+d^&loI;LzPiLS8@Aorc>GZeQ!@WD(YkRwV<-x@Ej z7;Wzh!oRH75@l+x%Jj!oq29O~`}O~|#gQYV!9YAi=<$i+_~yNpC5~yz{qphS`Kc!^ zNs8@{_WLn&u@Ph>)v=g#>&59w ztj~o4gg!j)@x9Bc%hx6J63X5nS3Oweuafk98p(Yfm&WXJoTN<@>V1tw^E!xR0O;6B z{l%qkTrYwY54oA zKVPuGh(>pu<$FP)$PeB705p((<~}rvpYNeRjw6TwfdvpS7-AkT5dXHe^T_NF4F`80 z`=YSco4Yp|HW9uh8}7O%mc!MEFXvr*JrG3&)2J{wl#dXkX%2M|9|B0ht$G}I}$QNQ7nDDT4- zuLO9us*l;}7ei}q7+>3VdBo?9Rs6=bw!z1h^dk71M!@x(aaRAC<+sA)(Vfzl7KBfY zBa>g#^z^7uuy=rX!HhF>z`6I^ST?m{ZDUJ!duQ*j?w)DkLQCjYdu+yGhvw}YY=RJ8 zpy@>xo+?}b)VPZ)WWDaBLGhx>OYi5Y#8xVSA8)630LdSsN)e7(wV4nuo}+in2Id@9 zCK45K50uz1{x-k1v_w#?rh#~-f+6wO3*FoeIepX_Z^B8hiUeZ(alg8ROT;tGtkc#a z0=~-0K$?pX0DzC7!;aXF4YyD6YIKsy|HH1hEd8v@9bQm1_iPI zJLOrsyYfvJcrfjWh`{PY#U3rvPKYQxTs=8OW$ll|pRCu|<>Jq#@AxnO;%l#e$4F(7 zBwc#ZTWgKe&Q{6m@2@f#^-Vl+PeOP5?m+#*4)O-sd}8Hm7Sr$LVCDHvK3yZEKHq`~rTdGkw)bXI-Thpf&e@3FWOUCR}I%;_2Sg`5}eUNiy55%<&DvJ-iT zrK-eh&X0>&3o37NS^{l#Gm>|rMFy%Z*rN~*$ultZ%#HYV6kVJsD;WaZqi0w ztK(eX7Pe1@wVR=tFsGP69D(l_Kk1bf2W-*<-7lL-f75X~i_xmP9T30&C9I(9OqbBR zWEv>)9{6j17CfFx6tf|IoH`>7Bp2HdiTE$nGD742B`P$AZ$3;UA@%x9j!Ul#+ufdI z-M;M2l)~TOU71ce&CeD}RsZ0`WtG+UYxO?5s0~+oN9GB~@>LbVAyOw}fYJK|RGMsU zv8@x$+dx26B=#))dj})n=p>d*Fw+ByCoou(iDUwxprQ~d2{|vNx?jSyYQJ+9-mw1% zpVxJkpBex=uMBd7A_W9|&qMKgVvj%&$PY76=DtX%fJg!ZDIqtGROTn6#7V+PedA7B zexEv1axK=nb+fpG9hV>@?iyXMQdAt8wQuorVF4gHMty>DA1fn2F z;81AE-S0e`?P;2|h_zh5L9+JY zAH?X!{Y(mcOhxsTH(o4?0Vj8Mrvp=;`j^q{ZbFVBmF_AAUCl#)9Z{ljn5159S03t; zR-ujDNApxw-?V3^E>zHre5&*+2;xBBc`tp4?K{!veW~ec+0GpTm(S^WVXU1G;Hg%q zTMd>&0vU8tggTQr!1^pzo1&(h)%3(q_}`y)|A|$O_vcSL@SWm`-&|SFZ?%?<#TA}y zhD(l2CWi1SvyA2zb4DzRmReMDQ}OIu=cC09vz;@CdvpfMI}iUbiR)IjPIzc>cf~G9 z`jrn>+|0A^ftlB!J;{3VHfR#123)4Z?!G1pX%)-`==&Pb`3)GFuKl>MxRf%KCoZ~dRDTYx2 z`c2r*AC)rxAJffUmGG5zUER5F&)vCe;p@*|d|z8x-<)-78XZ_3R((XMV~1^TvijI> zCI)#A)kTk`3Xglg48H3#S28gEQ0j4sdu}C5&Ua1VMpL3{;a~rj`j*{BaVnM-0T2{> zWTcjo!uc^6t)FPEj=$^MV(}@h<7Qufdeg0}{Cf7R9)Qu&$UI}~%(!F&BapQcQ`W6{ zF8*Y*0hTrucv)T)K138u!<|Ixd6%wIVEhYfS}S@MZ$#yP zT}zvr^#fz+Ta|GQ8A!>kh{Pr|j;c!)i~CB190GPrK4SICubt21q`EA1k8JD2kv| z5+|No1cHvohu>CWLdD0C`voH-#vy`OkH|dnVn_GW4vP7Cg8a~8fPRP2kPY!}H1iad z)L6VPo={2AYc)7NUqf`sNf ip<90sp?Su=}4+NBR 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

@a!E@FXa}Ungd*kG22qgXE3&=p?ChScdx) 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 PRG=4Sj|aJm6qNpdhCjA1 literal 0 HcmV?d00001 diff --git a/docs/src/hw-accel-materials.png b/docs/src/hw-accel-materials.png new file mode 100644 index 0000000000000000000000000000000000000000..185a0a04839b466b2c566d64f78610050ee4fe11 GIT binary patch literal 2719777 zcmV(&K;gfMP)w0ssI2J`Z2500001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBV707*naRCoal!Do|QX<``WH=mqtzMUK0z~tGT*(`FkvQ_00^~vS( zU({E*B$tX5%f%8+F2xPAJF_zb41fmE=y3DBCx`dE$$lR4voAlQaKyWU`T)wllav{3 z#ZrtW69a~%gGH)OC@t!ukQqY&o0w=u8*OKm%9o7ypbDlCT(1Wel%goTa`JE@u%efE@`cgzZ-JHtwb1qD2^U z+Z`gS(-L*EMXK)v3WC7%DNx{HoqA~4_J=5d9vzmwz^Lb1xGb)kiZC2g+T~Px5Lv10 z5HJ8U+i2GIDO4SGfg6F+HFw`?|e!qAXxluSoc}f+Kb;TVHKnQ;IEf&zKVs=4=smM$ zjp9Iotl9_u9Dus*D%b&MfJXMTw+{RcxMy+Eu%dhyy4c}X$p(X72r3V0Y7JO>II^Ri zZzm6%*VnTz-mG3w%Ek%Y?L};pw2^-7_J9x7v2b>^jCu8NI-Nc)OWVb)so7*CL6_x? zXW3LRhs`EBJUxU!%()CB@X+x51&qghutBF1Fk%XtJn+EW;rCE zmMTTK1i)z6F=t}eIM+q5^0EQ{=NH%i>9^k=jZd}eJ<@cNfKV<@M+w@1+OV+iOe>-WYn zV@t#&KV@dWTLroqb}-aNfN%4*j0 zog;W}Qwnhn3I}|y%%<;6$SxMm1M{*|aGI(Im!91oUVjn#cdRFnASrBTvd>D345;30 zJ0AHGD%1(&TK-~re|#EGRdQc8t>y-ILd!3newp6i{^4QutE-=H;R8ib$v7eOe*c{| zh&W+Wwx7}mK8a>xLU7Xj)FiV*!GSqtiga4suG~e4!zKNz`|fs zuXm=c^2zLrj%T~_O~_(puuox@7H3CS`?j4X>2`?>2;(_iJyyfflWzas9l7uB-=0}N z@5gH_+Vyfj@T_?Jp@iA1H*YToF$W$c)Z*iUcM&#u)b7{s&yGHk>C4u)LD95eY_l%t z*yVNnc7M+~Oxu3qg?9AgYV~J(pq*l<2jp>;IZible4O|Ce)00j__NM=VRo0Udi><) z=ik4}3R7FsmQ|59W;!|IhlXoGhZ|kc;c!Ol^S!g;`sPB+7Q}1z?~aascBsC#_}HUp zZEZl_Pma!Xp-VB?tv`FHtF5Y`4_JklIQ`S^zDDs^Go5{$F z;?Z3Z9+qzn?HId;yR~~c!`dm=3oc6r0Fwhb>F6GgPS48S3lMvmkf*k@+M%-To}ABP z6uvq90Hk<&boSNu^#`Mm>&J~XKF_5{*zWFOXAhln-;CjKa&-3k{`Uz0xzSHAfAqe3 z-EV`_Y4kFGe-a%59PUgN$Yk3;;JuN+pH z#`Qd1sc1MIt{>LZ_=30VyAKlA$fVg+t&Bz&(35&^=Z=P96MRU!^6xEW!py!6l3dCBb zAt14Pnt@$O3A_cXWBn^Z^37^#4_Q>f((@qU{T^JMesPn36)3E;svOMby2`jL9c#cP zbbYa1jDn*zzK7n0Xn92JGAjbH%|r0{>EC?&r++}>k8yWD3ipq~wz+I5ajEeECGDW{ z8>Z2seSc(~;RdX&UCD#cWLgCuTgPwdUm*Edi+c{4XU<&nCNmCZFs<`>5cGXKIc00iNDm6k2Z%?E=FkpdUDr%@y3p8RDk{q+nK``J)*yVQW{-58mAhH!NeVlz zhT!8>@u%}}))Q*f+A*ZZafXn~a?v_ku6r{;_1ueJSkY-$0Fh%q?8?fGBR{e%X36LK zKb)Cl9oRhG0(o?vjBQjc@M^hmuLs%Qj3w9GYH?woLkeoJr%;>)qi+wz8HQ__JXW{J z)F*=@$7$1w&XS<2lREz$jXuXkn%Tm^C^D0Ue0w^)eq6s91ShUUt1j0_MV_e)z4k`i za#^I*9jVZqD^%`zAK3eH!!o#?d6zR69r}#RV-6oJ$FkZ)kY&}-}&+jZBAzbr@^pF_y;M%q; z;#9Lh=vs?7h&Z@0U6AtbBzYpU$I2Nw-HHd1?7$3}MXw!C%BEGu8w62X8e;bd)OlNC z`w65)USv<9n>w{cPxgK1RH~!pO#5%F$Jo9E)fySq!^o!0l2)aSbhDP%5W;i(w84eV z@M2d9mO|ibp%8;HIm-6$lx3Yp&vxYxny4{xq;d9LLul_=0p>{1o*}E2wT&z#VQF>@ z9)%E8h}WvKk&j^pG^_j0WqOmFb7!X5CWY0hbMZFcC*~80zK&4XfWAX*Q3}X3ldcm+ zisK$WcyK^)s5Dd}C01CpRfvqSBg@E?*Id;B_8@axEq&z@yzd3)sEfc<(~7u3d0@3z zI9}8N6R8WX%T^VE&1GlLBIh>mMt0Qq1%@KPw3AJ(xJ^u@2A1QL<}j9aBXi)*8on2D z7t+YqNec@IJxj~ll37=Iz@xUsK%+&!R~69_1Z2Wk0W88dl=xip8dFbAFseFJ5!ok%7Rl84zpDUC==i)(D2s@-$qktpP}3c`7FjGJ63r zDr-?kPUHZ)7A*i>0<8m<2zz~(Qy3t-0>T%n!4xoKIzzE0iuA(N2HKWp0rU&7SAY>2r?dIy#OujV=GB{L7+syRk-sF;2IOxrW&-2 zAObWnh-l*3L`k54rkEa0&stFt%sR=GG@WXF*AYG7K)Zq39(t$>$MM=uc@#q=2^@M8 zYq#CBB#AxMb}99Szxk2(|NQG(0i~cEPkbMCW$)~&y&G5n^|}urgi2Z1m33YDENT0_ zLy<>}4H!U^gUE)XuHZxgj*R4rFy>*EP^-j99}aNf^he{7hKwHEfBX6TAHUlg(IMtp zNcE~H>TYO{b1m(tU9Pv2VHk#!vP!j<0Hp)xNo_I;Eh6?#2;1IrY#@n`WD9!>leR%^ zt9nLbrP4Ha{A5}e+F;F@xd>5V+*+lBakShN4X8%pfR_j=9@tVzmzgTB1q6ME7F1Ks zz}t$);mK-ov96bK=BqgLzI*K$ufV*9o&`a^#-e%j)yD9Ug=_B0huR`-KZ;NHi*YEIsa39D zPQ%mnZmnBGC{qm@;J6fTC&{QObr5X5`o!}3wzmdDT-2O7Xs!ouD`g>gaf%8q`nEYc zo%HR&9u02auKX#rw8J|VM_1bHkMQ)ddZT*-rJ+_V75`$CEIYtR0d%Of3&>s=Srq8{ z+0*8*R?<{_huL7i>tVPbXBMV?ojr2qpSdmZ5a=mrO_m*I7uT*xSL?S4_Jt|R)xdG` z&8E}zz%*@YJv~ZR_wW7j-0M1!%xLHsnQ6?4llg&no4$!-yE(Lk4E)eF4A^L?MelmY zcdPG@(1($a5Bp%1rot$jzy^a5vP}u&s)JTo=xyv{+E(MUxPJ^puu;yCK~@#6vB%!e#O@zp@LFhN+4D{P2aDQA z@OaH%yZZbf-aQHI4V7LmDhIgQYKzpdh%xuQ3JhieI1BLOuJKin&W}IMGs%F)@rmBP zvM7!%_`7fa^<)yC&#zYcyM$XyE&@lcI1H0nfE*2BgJ>@tO5bx0i~YXqK2iAo6aW0N zd{D>7uikw%^MWU%t72{0&YRJ2pwa8V3wWiFr%X??!usT+-9LTbXaP>g&Z1OF&>7!K zKfq!`;Ds zIy!?zFq-ck_Qx2nWLJR9IvO%aT`KL{<^J;cXH6I1H|V32pS@?dqj&-J ziVd;I+h0un<9GD8H_O}4X8>pG&`WNbg1YOY`CRP2i2#*xgyh_C4#Kux z%jd__>(}?c+c#tw1*hld`9mstN-h@vdi(IEyqCdl$sgRgVFla;cwu{)?Nh{*K}LP)@h`^V89JqqP#Nu^&FBGVwq7 ze*5y9X1zg#{^Ec8_3!`w)#Z5zkliizqtP4=r?AHF zsy`GxC00ks#aitK@*GSDT;`w^gjN1*m=N{#!&h_iQNM6=^bqLeeO3HbaP=DXN&mC1 z`e%E1`gF$sd^oDYaGrmPgIWtZ9!9%EBLwSBZjmwzM)2-l(5UC(*sewL>e6x#rU&yS8!TCSZ9f#xZ9m&xt>RWtM=FW~F`iPzl}KGIf&Qr3h?kZ;ul zROJSUcpx6%qQc|zo|SDdaTF^a{@DqV5WQqcB&^}drbg)O`|LY=6u#$l3`lus5(&*9 ze%*Ax#-?Jn3kP$T*41>07OFbQ`acKpvukAix%lB@dq!h}Rw*)d?GF+l?_^Hg0z1#9 zrPC(5-7CPu7SgHrNcod>U!EC9Pd2)o`j)=?l~TvWg-4|M>e>D*d1DoI?f+KN5@_Few( zKYy})^gvN_<=Mbmi$az+y>&W@=|Ta=GK0XSC@LfkjU?KtA-gqMOwNm7tMdGdi{XaH zwwTerh;^rxG_(xN2&=632P3IVb*tDIi{3HYCu4V=w_}TpaS#mDI>RFpth;K@33KYK zp%L3O!Z54ZlsvXv|LOPDSmt$eElA_GM$WPLNu60VKZIHVg$P$@ADpWTOi)KuG2YUWW2rQg-Sp2 zoRA?vO)0xhGS2~A?G52A@@QQa7RJ;a;&~<>n8;l8 z93~Fq_#KjPgpfgFV8MNp1=Py*J;IdtoKwdqv5i%ON&wotaFCO3@x)afms?}_D7e}+ z8Fi&)yu8XNW^Nx7stQ>~9pE&a>t93tUkYYNz~&}#tfEIF0krO#fYL_o2p~OnQQvze z?$CxATS(8R&`6XqWh<)^m4V7P$Y9i(dWWe(ZJ~T>TB@v4)hVH}XNfI)i3=MYgI_H9 ze*$|079#;7TS-x?I&FxL5&_Z-r${LS zup*T!yiOT{jqH67!AA8K^(f((__}dztc;DRK?SO@1je{jw;>KVsC!r=5)6b}AX)2! z+tCAs0h)L~7@)Xe3gz6`lxys0i%_BwR=h){F9%$94Q#2Q9jpU7?ZvXEjCYt(ZUb#2 zd&zT$s$MfFY@enFs9iLxK;z3%hZemwE{Z#q5`Es9Tw%^Mu0ic!gy58$gDt2b1jC+a zw0U&&hcrAK>!oGg=390}Fz@=fSc+w+7lN()A< z0SuPvKmk=oMo`wR2+4$V^H0Cu`vK+>sMds@rKM#=Pu+-OZGhXu6dRgpNIQ%XYeYw} zbe)L;tx;KTwC8|UkP+|}e8bQfn+gH7-B(F$`*tMyL)j>ZC}J66^j}^*CibX+#35{1 zq?8VZLvtL_mV?c%J3c*gn5b*hwJIi-aA?&O1`A-zU1wYuVrlZCyb6=f*P8=IKpGVw z*;au1^D^Fgw+< z@JQSgIum=~3>^f5$)L}QL)c!OO@zqX!sI&@1j-@!&=wa*mwC1BJZUL#@!9qIKYuek znlR7^(<69Pbq7g!Jku6GlSYp0xKexU<~;YqgytFNHEx}Hm+!~%<*s_%dPa**w3Nxz z@~7G1LAx#JZJI!Uxr_dPgB@H+JL+^*^Zqm*VnP;c)w@dvAGNvwt>>A6#Ru-VwK9hz z>O1D?%}HtW?MAxnzZVk7Qzq@BS;EFT)rrgh6P=h4Vd zt2>wZkfyeMG7KUO`dx9SwHJXmjjz_*+o$J|!V?Hl_K=!#Y?9u$dhLH)=WqKq^aicd zcdFp-5r)V<Fcns7~H)xA}BnYfrgwLX{;P1^Us(`mQVZFq#Qd1=CTUEko?s z^n+sedNQDevH&F*!5Y5T)-+&SE+*J)ZO>CVBbIeItRu&g*wbx5!pR?R%BuFR;%lY- zc=)x&3P~J=&R6NC?Nq4V)x7^OINo=+b2OI$+%+xBAD)eW`3{;KZa`<|)EZ9*Hu;dc z2Z7XMwy-QaA^mP8?D+oBM%e359e>rR$PTk!)B8ggoyjsknhxLJuIAHEcI$hjb>IhF zm6rA!klUSKW0mYiVA7T;2e>6d1>mGb+q`E=#f zw4{4?|Cd=5oQdGk1Qe9FWjdUz)m<74!s*ceYH1C}g{!B`ficL|b>~UP^wpJ47k4bc1t64T{-L@lc1l#n@`RHiZmfrE8-zls4@WI?ZJ3n3S*E8;X`780= zcSL6t$PwR`ANqkiA3i+1uL&Qzm(o1%!xkRSqf`2J!KdfU>8)??zTY5kJR0*_bqqxq z!}VT`QC>8pA7l6An|J?kmHhl~9~Q^QtlKN)x!-TTDJt(Y z^0^whaf%P;WBXp31mX@`eA9V$TFj46mCVcHMd+fJe=(}WlhOD=#?gF3O+&)V!{IwL z7{0ZFE2q3$`Mh2C8E_}ZwrsepkO?1pK4cS&w=?(RPwQ23GTW|Y5Y2^C8#u7`_nDXn zd0MkGFn@K_onY&2xrRi6;Hk5Ev5U4422X7zCOGW8Xs838fN1<>C#B}+iS?jiyN*WJ zaJ-@0Cm?xTbU!=y*9ZO6kA9h@|JUE$|7qY}@veK|`N$~c#>m>eTjrBfE9@pBzhxE~ zxpq;WK7V{Yq{FX&|Mw5&?&;uS`S?A6WmRr~)~*|B>nf@4DA?@yX`)hCVaP~okbms zRLf&B`O|tmJPDB5_PgURkNzqZhq6!~jy@2}Esnd#g$s_Fd-*1w&6e$}Zw_PoFwOOM zZyFjnKJT!@mQH+H%RMZl4M%;u0rQ`7@i4d8ir)_FVTr3hH?}E_9Z)sE3gCjC;(_+UNh}3C){qC?1hb(dYR+%nFaV56CwpE>~LqaH} zXwo{IA3s(%AbRG(mKx;M3|S?JKHrshz%ohXwT(LOoej(+E`--Ha4L*h z_q`hkyY9DkwAj6wjUz~R2L$ofJIGg`)t{}xjnc&&U(NksV_p}f`_w85BPD=&`xSP^ zh4t3cv?FyEj1edYtz*U5HB(lb4S9Gr{z;al4_jd;)7Uq!-n2#4PzU_}`O>CySvp5Y zN3Yh;r_G5S%xom{dgUiiyM4N)X=id*KrRa6$K!x*$}CV>-Lz*+<;8_m-vT%Qj%D}N ze$TkI@jNYnLUId@8@V4rzO%`xs)z}&)Q7#24bI2} z^&Zj7qjo6+2AT%?^E_J>s}#C@Q>I}YXKG<9?dwTrw#=Ry%UJvbkyQhtU0zYO+a2zM zDjC^fj1eFhWPAafPOFod8aH&EK~%uQMNi+L zhS~Aav}v25gJUcV(VW4^Hcp}5I_lcMOnYl$;}Ji7uMQJ7Dvf4rdO>%Y@MB8W)VY9@ zoASGB|N6aH2Vzv(vNt;;EMXZBI0S7+_Vs;sHwzQtl2oaXT3D|n&Rrcr?&k33(j6~End!v@oJ&}gs0jhZ`b2pvE_@4fqs9`; zLakijR$4|@QmFlex;MN$HK8V+hcU2d3c8}xHF%h!AcNTP4mP={N?9PwCcvXZ(N-Y= zd7ixi@7)r6AN_9>)cFGLTrA@H%|(N32LQ1~be0X49htDwpHyP02s<=-;n)28bUHnM=hvC?(N-!tF|)It(#KL7wA z07*naR3$RDK(*^@Y0*yCKtSktz_e+ih~4_JjjwOf19@qV|A z;E@Rrwz^(D-bA6-?Q+X@46+|~?~YH7MVIP9A81EY(e2QD2yToRh12`>gXfN6w|jDZ zwS2f00$2iX(lxVLw(R|c|J{H617((eptWqMi(+qo01<~eB7lx zU~;i(FFvt$2=Vg367P`TId(KMR)#SO?e(Ia9X-aQS$&ry;+obR_6I*0tzcte&^Ot5 zG`038(&Xu4r;%UgO5*pfwAef<_m3v5u%>aaqoPx4vbksDIk^n@vMMSPRRI?1J{%>y zJwPFW?Rb3(2}}mc_NQfE_C^D>@#&O@ix!lto&^W~>C+!SZoii8dVchz?%qYoDFTl# zZtEZkNH_J5k=kwI20v=$SPz?5@U!#L%g4&WYBJ~#`J`+gj;8U}H&t2M%qxj*HF#LP zI=+hAhxRfERz(Q=hk%UJRuOyyY7h;svT8L9hZ@#Zn#PmSetTFgvhiekhE3gTFhVAw z3Oa!=0fWQB1+HDx8_Pcd=#Ey7J)|RDKk!rDzLppjFlxFj45cT-tT&Qkn%#bO;k{d0 z3QtwNvqNH&3*kJ6H3tw=rJ>x^eHA6s)8@9S^F{+Y0xW_J&%h+(fNDk8=A zdrEDC6{U8iGt}>0b?T@Ero+4b*!8ljiCvcDSYC&5n}@uDtnG;BR0fbHyy>NtF|?%)U?YI9cY|9BJ)N3)h$=jkpViiUUX=R=IO`kcF9~Bd~h;$>+Get=^*1>5Xo^et}W1i>3kjs-9DRPm{`J+J9ieuyqAqOMbdn4omOo75qa8nZULDZ6wD)zT z4$UZt!Oza>*UJwq=kfi1f9}y*jj(x3{Fb)5KGeZT^9S}n{|Bw*OUIx2y2K~2UyEKp zKAoQ|())|4wcR-cc$HqfyvZm2@cm6azhXZ=|I`Ya_wNh$$oVX>%H7Xz^&c z&LMwrtCUEbXjs zNlme;_(yejGe13g^=>~73^a}9T$5~nulkwVSfmhUyj_$Qdmj3(ZIzJoro6lwXfpn5 z@$hx0ENgtJ<(t)h6^upM^VP$y^9J+iglGI$e|`Nw{{GMNv$H&HynxCwYn*2u0el-J zXV&d2aC&sb$o6OzzMol(T|GT(Dd}|JtNs0*-8H;EJvWhl_W1a_UO0}PfVx}J!#-Eh znH#T@!-~a6vlnmv3&z9bIM-X~UJcKB*lvo>17x{>c79o)SDfaL|N1v~%V^9G1`6u*UOKH%X@>F8;VlbI0+iU47)87DYW693{i%c4>lW zf4yOUxmo|akDspM_lcHLMY9otXjmNHI8%ru2qu@?l`zKTEeNPe;IyPwUcPqRgxBi( z=f+9~2)|MNL$#l#-Q&?QtKL699t`*Ew~n9SfnTi5<=`R>AyVtYx_U^vpM7+8+wf|s zE@S(5i`$tSICxm+@2EO8HM}4ECEP{a-SG72gYfcIMXg$m!Xu;~=iT6~xp`d62vX>s zcW{Xd;%n}(?Bm(+Zhv4fjs_#z5}V1L!x(BlJUQVhKbc4Sb;_sS7Qd|@Yukwqp)r63 z5I57Vf8=ck2G(%t7oImMbXBX@121%>)T_=??mvB)Y10hYCx=T(2-?V2<_W+I9x@ zO8Ds$^s`E&_UucY(UlzX1Huk&lskC(Hcn=KlC>F4C){c?iZohW4f#i?`{U(P*B4MFpo& zcAo~nIJDmsxIZQ5H5&T=-W~y@koR zXnQBb6L+i;uJ^At0*_khnHD+IZTU`PC$eWWzs+?%8k{RAR*r8fWv zPT)(p-r0ie65EB+-OH6C9@33XhTQsIw!u+5*)Ey1~Sy4HLh`BK|seHzmIL_ssA6})?aJF8c0}!&aA-}qy*x)w^C?PptCLw*Z_cW z$sPvU>O`Fou;Cps4Yj6-u-<-{2+yH0?011#Y7iDi2({w%cmH8@^*^_@ji~5nC3rN% zlK?>x_|)lOUV&FJo+z#a!qjz{a_$;oQ+t45CbJ|Qx1B^r>s}bd6(JlEKr03WM3z#{ z#LM?R2;uCJZzkHkRqtZUl^~QV;HH__sIOf`y%BWpO$zFjHE5|Cj4dohF?J)$>!kf}i-vPlN9{wA{cz{hRrPh&c*Qq`bsbgo(U0lRB3IVu6k5LEkg&!x0w(vAUA2O`Ni)LoIXTakxU*wjeDf4}l{H zgIF2EW8!7XxR3>qWrj6kL-EqnOp#Fw6r#A~rIe-1NFfjcTp)`O1x0{ahGq1?7akx4 zSq>mugrHI-#Y`4uKv0uelc8VMsRCADxlISVZg~J6hAq>U?WjD$JBpYOEb00m?l{lx9qu z18Jb;_k>z$l_E@wrgo^WL1U1xEDLD>G$^Z9dKJV`FYQsJYsvQMT4_2Tc>)BQAPaS> zrwTb$xkUsmvUj%S$yO3)HHewx(oK~I9&H=!1wJIT%?Qu2g>cI|NM&qUbp{cTWwAO< z@F8)SV|QuOBIej()oM+RkbUR+?LMQOi(;MTJc{D&dUbsji8@rtXhhrBWz%yid&XRy zj7NvVmZ9Krv-$X9_-qQbhvYCDin@$?)sj2Sg^Z zA4`lNi`T1nkSd5(!)sYulL;vymwDscGzyct*{baS?s@~ItWi<+eVn5X(YIu58R?@yD$Elyna;^I#@^hpW09Mnh(14 z&p$kjrvc-%>RWD{Pp^Mgb}QJMJTGgyjjT8c7yvGm{n$TxvwL^!ga=L!;_-NXwl6~0 zrJ`D3F5VqBvzhCuiAB7oTH+{tcenY)baJzO#Jy(vD2fq+EtBVh+-2!LbcSWuSlA|s zSv+>k^-KP3oUk!7S!Pg|9ebn4=5Ty^^?tbXTCX@P6uECw133m*#so505*;0?lnmc~`N8D(-@E=ur^3Y;x7}N4 zjiceoX5T5K{4zftUZ(BqNfO^~^G?3__y6vL7vI#@zGF7?aaK55@R}CjZMhiv@nAG6 zl3a1^va#>tU3M!39&hG8senBUxo~XMX7Uap(&zkc4Rq2PNW$8))=YH#d_vSyJo?O>lv%W;JHtDhU({#7yc^3}(ix->o zVTj@Ro8=qd(n;|2UHZG3zC_ntA99im>uL)4VQzV;OB3JTEOG{RqhpAXNha;K-zTG= zu4Tnh>wp$_lf*6nv+bm6dQTIYww5T~Kb=qB>?^NLHJL=sZbQ6Z|7foM#l{tn{Gw$8 z62ZKiy6Df}d{5?=zkJyKVbFVf(E&mF{N|>(br9AK)Zj^bC~(`aFUR-m-%f1r-R;t~ z2!>{0pPc+?xBLF)-iv&nc)2u$ z&RemIf(u=34;qB3=VWo|o>W3V#iwe5SU361)W2QdI5dGUr&MenCb!&-8>7Z$?feC`zI%xok_W(yRZWUR-6DB~?j)KoSB00=T&8 z_pAMlTRe>&(+zL# zzYV8j;jDZVTKQQA4;RkQIE$O~@F1wRBfCWMGCGZS>)r*U?IogX8}KGc+IqKgCc)k6 zX6FH@laRHfYQ2OY*iU)vxV=HRL9e>bJ(-)ja;yv)n9z}E%_dTllOW8q!XsV|yd!xB zwD7Qxj zu&qEJe=_>`1>D;z|1b^{6P3l@il$Z35sxT2F;qj?zDr+E27gn*-8_2ix4}Qdx05>P z1!tmp$;*bv)0c-o&8^dIb?hZ4vf3;O>2Ls!XXoQ$Az%wc5cED5y)W&pM$P}&{+cL% z;6BD_)yI=n2y6pRYpbxv_xUdBxjyUPG%pS6MZ6rxKWa9lbgp~esUoh*^VYRylhZ;E z?$kS*oGbLww|XdXol;PxGI+hVNK~b9wpGrsU)8MJzfoY<-u!U#;7xiTLC<1#Q?E6g zU<)VERZjlMI;)$l^1!~?n?i+pkW&uLk-CZMu5#7`x~q;R5JeohJu6iSuq4=kw`VA7 zv;ys!kCbH`&TbO>>5!RDhZ?*&ai3UrR`H-|-bTa$ZWS1mF%$Vk-q^L;NeMsc^*6iR z27_ei;>t1-*Bl(1<81WfD!;*nebku9#jeIXRR#dXjQ(zW~93-28WhZg!UYnzfX64j3DcsP>fX`IdR$Lqu~Ig zN5GejGgX)1*$vYdVx(O8( zl<#s(TPbW46WADfe9k`{^2-FYDMWo(`!ZR94j>=k+l`F+#LG}!)anx}d@0({sn#X< z5A)Cd`}*rz*pF@cvP#F!a8d7lhZha_81AfX#jUJKHiR@7Di_nFF|!O|ficbYQM zb{auiaHdoxiFT;i>lM)u+Wi2<+FoJAw20U6h;-K=<`|1>g^fgj&YUjgzQ+!M-P>!z z%>o10G-YMZ3D`91lv(9~!v$(JVpt+#N{V_VlrbC^&Yi<0F${q^(;dY))PoXQ1g|ZF zxi&(y9!m;w42{-=4U9Q-0^t@aX~9HLmv@IDn{-AsB#?ZMu<2VyG+sq&140O8t!|ix zJvX*BsZ0YftL4_Ei2*y_ku%$`f#^9NFd{WIMF|AWPQNFFoG51jGnXZ#g)LDS2ZN4m zl!nyBs-wuAF?`gG)}7|U4SfKi<#bjlbij_~5~-jN6(-cNu$I+9Sh}l2*&w%918rJq zVawY74IDa*OAwaY95)DVJvKv-rd5u7)`_xx5i)PVx^BLF&F$-JzEM4lxJ zBLL(Gx;C>2u%rZ{<9^^GsF($@l1-NhEiA_c2v)TYakSd6dyze`Y8+l34mD$LEi0|1 zG0K9VlL89RNiv9GdTf*hEG$dB*1YK?Mj8ZzxNH&b8f6GU5CKtlUEtBc8dTl3X?5gB zp{ zNJAS@T?;-N$NPQJORQc<8$pSOcZcSXA3i;gQ{gn*JUERu#cD(*HB^pFC|cA9d%Hha zR5s}k*MA;4yTizGGIKL7QDrXZt~@LJlGvKzBk8hC!6Dw6K5|H-8N-YC-eUG`|H6B zI`%-|5+jqXHiOxy(aObfy?^JU*?wDCLpmM}kGnNtJp;0S((7zwlj6v8$2O>`rIU5A z8xN+<;(dC@PdFnNQaN8{sYoz);OB-*(vH8)H z<`3U=y2)dAhz+{9bpG^m|K~p}N68H0=JvKaJJT=ijfbO=;5+&EM_5Bt7BLqk)W#B-F+u6u6Rzot> z)MmvD49Ap#V|nLBu}sC+#hcQwo8zC(Sd?|PB*&@*Y0Z5Kv!YD;VFsHB$C=TG`Y;@f z-@QEo(?zy7bV7ST(lYB$29h4!YFOgB;=wG)@}f$$+Z&CI6tGZSR8K-{h5E(e2B0`` zQ;NV_u=YsbOGLKN!-+>pJZbGBTM%oz&rd11?Zv+EMvMCw?&NYX)v{2d;p4iyLeTf% z_zxexemIY;jDouQ%ZCG|G%eZ?@=`Z03?w=-J?nc18$N~N#k19yq3wvQpKu$Fyw}g} zm*plHJ^1U{<@4M3g?2q>pxvg2g^!(meP~KEn+%{z{`m5PZ>d~%nff5TQP{T2svNj% zpg(6M@5i*=<|gMoE>y}P`4>NFl5s`E4b;VSPnq@GD=pnGsWA5XsgR{r3# z(dp3r?!~tx`K7&W*XqXifiP>x=RO$Q;+iDwaj|49pACP?y5%o^`m^ijFZ<~a${yY< z-o_KeJKBO?YirULr{0-JjB2L&;WqN!#1EA07}4{{oAyut`1-qqUhJ+vj80Cm$C}M6 zLPtm8t=EwqdxzuO2g#=dq*0dr{jZkE`P1&c42I`C{d2j*KlGr+e02(cd`#rVwYQ2@|Ylip;Ze{yy@e!sqdw)pmEr+@XX zDLZVRgk8WdhuD<)`#)c&vFp*yz76iIw0!J-@?rhebo7J0zR$!q2Ht}Q{nsx(+~^O( zraw}S9OgIM${L>VySJ{rbb5nbUoNe{SvA$p@$GrLidEcNnNqc@AZn0rpOm3ZB zpj>gh{%m-*vYWCSCG_oy7r0Oa(}#!VIk08FWSd-uF$Jhbc7L014Hddm26ZTP_d5H# zfBWNS&zB`OH>=xTIQC$Uiy-npKdxTBDU0(-LW9NQ9Ic$Ie=+*eU*12%!N=O%_aZOv z*m+)OL%x=7=!PduZMco=M-KVbDIdJIw_g&NXZg_id_ZuGN@Q<~c(LEgi9B_>vJ9$1 z!qbu8N}UOK$sXOQ+9NjXx|RLqBQmGZX^umL8lE=I*%>OEgq%o+TR2wx;Mv``Px_Bu z?!UYUzi(SPR&8oVBXJWlS@6V(+hUy)TT9 zdXcqGv%)y>C)UFyNRfwj*>Y&n4$&4&m+hK@LRho5yH{Q4^$jTfehA(luT;?sVCUi( zSCt=}TW}3S7jTmm?;rRd@2%^BK7kEZ*z8Ezw7ThRoItscmEnCjewl8`IPh8rc?X`0 zlh7;M;7%?WXdSEP*|01&4GyT*h8}@F?eNPQ&-lI#2fYvS4ee;f#CFpS!3B;+hi-(OPs5buf2GmOu95T*B1#q+!Dy=d;?DZ5Qj|PP_{(hiPotHj%pRnjv;~ zaOa^QS1m)nU^T0ww8hVYGC*;rnnvG#3@>Ub73WKEJxc~6<*p72^WC1gO81~pC&cYC z@*bKN;$`*pt_xatJjRX`cbqIlF z!x#f#WHB(qMZLpBR|IQq9bkcFXd^#2RVP-K@n_EIK{f`FK-gnDT-V}&_92BfLnW_0 z;ziI~o5RSM3W7!(V45CzRO8wR60+_HA<<4LVJqd(v4Ctf?g*q2u`7%nMO3~8Ry2Wh z)q<3A8+(FwP#7X{208=+-t2*GF~Ee9x>X(YO?|{F=BCyJ64{d|R{(1x9IMmtM50`B zXhX{}P6vw)1jJAUr4*JS%B7a>fF()mG!$AM2N^OU_A}XO*g?4;y0dL_&lLv15z--~ zgCNlCU;zM355d$10wLT9-e^KGG+@U?)EVw-h^=6#I)bq3#6qMNfX0D|$hNIQ%ywKh zg0wOug0S@r_Cp3uQyb-a7U!(0(jY#CaxGwoV0iAZJ@lYTF^pOxBZmNcV)XHLxoqn? zipMq!RU?QOHpevwu&$f2GpTtN#!ge$25_Z4*Mr;`W~^2c$@7*l-_vCa=gHGeyUFT( zg!&Z4$ZdS$7o2MbqhY+t7mkFX6%3d~nQbhBu$vIJZDcNvyt576L>567=UO^splFkK zxiF+vaIrl+m_H5s;3nOO0*JP=RWwRYY*-^B!`rU)s<^3KEM*%jL zR1VK8<5s6maLfHL7{7b>AqiYjzN=3>XpyqW6{JOWRo7v!=k|Ggf2^jSQ@P}JweO9` z02w|erVSS^c@Pt_4S9q8+)+LE#f_0j$Mik=P7E?k0@ zk#lVeA7;P(Qi=uxB`EQ4mp6;8c`%GOwOQ?NsVygGvjg3pUVLuM{a?Pza1hVjIo}$E z%R=L*u%B-~IN_id&=dP~U2$sBy5cP8R##p)-6CTLZgjnR%WN0*=DrKJ>*Y$*- z8{BMPF$^zG{^Rxf|GU6vujRGU_~P{9#q#+%F=Hn>ee&qrm+#AR|H*8$HxbuHs}Hl2 zr*Y3t@7|ZqacXO=K3y&st!ASD)Mg+&-0=fqXR2M;I=J60-6y6bS% z3kGabi}&(HK;2?t905b9y=+xxF$v=w{pPcyJY8}Ln-Fk7`HM>o&d_vej>%`07(f-7A;5sAfaBKSIl(4Xu2t`Ks@ti}~d@E%yt$ZuWJQLK;r6 zH(%W?2a!@@@T))F4xRR9H*Xgoh>i)neVx8Jzx=o|tsR`z@GD#-OPYV0{!7o#?I=>V z-s}$Xou(`nZdpqcVb3$!(4V~Cy*_iGNk~(+A5WXFULSK$Il+)$ivwSLdOm3~wCQR( z2wgiTcWkrC8mCaL{$x}UjyU;>mVHlhT{LSS{?$(}Uj5}$n6{EF_q%&8PrVcQm%smA zax$wr_fg{Pw(H;h_Dw5^3WeXbyTj|r>Awm_i#yZYF2!h~n>M`Otis?2AG*IEp8l)W z`i?HGOm2^9%^-6?F&zc@@kUF(MyZ7#{9*lv2Tt$8{^-4ELM7aWx#OpR&~Lx~;}3rP zY4PqG&k~XS!`e-&mH)*LgRlO008W88{(Rd1&8xeoC*E%P+z48U{F93xW{2NzHmgU0 zXOEw37k9dOJwBh;M^13Mxb0Qw_T&EFzS#cyILi0&z*iUQTs|H7j+*G%VI&$ z$-uo_UHu87Yd@J+yKvtB(f#V%i>K!=uig*wQ($kRMuN%H|M&O53cxT*%%%Js3~3FT z4bPJjmb<(p&YObBz{B`@Mv(wAsu%yZ7YP&0=k7oY9S}oh*{@^$# z!R$@`)``J;w!D8|So2|!M-;U_u@^E7>@I$Ax#`}(7Dd_w70k3xy6v~=Z>;3ZlGy1D z$yy`3dSHh4hg;8yH(f)ehPF2wCgDau|A##gYo`~+EKt17?Ak-4y2)5D{W$nE#Wchlpv^i-o26{&7?2AcqW?k=^ z(Yk5Cm@w!)H5=I4U-ZD!MxE{C*N$i&Czl$g{b@P^2rN zp15Zfzr8k15Ckqz0l`N&J-?XmIan8Yj@m(EV=z_{^+HFq%}P8*xP%4ihYrt_=*k<* z36z0c8r&XXi}f}Nyw<=E#eRq$wkCaudspy-w>lL)+YiLyaN%3p)G%?gc2zS6HC(Mc z-U~tjZ zcE9H)LZ+CrUJNiH?aJwplo|hMWI0Zfml&$^{#36vIdum)PDwq$)&~@vV_5|H&>&xP zh2>bIZ3s47-=^H*NL1+>d9GpaC1Mokt$K z)pE+BBTp?+V3%$<1hUieK=5>ez#5%nBYaeG=nU!$XuVnR^}zB|Ne9-kF$o9t*d%*# zpkzA+p^YasZtm(AE|~|=ZPbE7Z-P%hl&=JucbEgEYM3;1WNxQ)j)fUZG+;eS8 z?2-zH&`Pw5Taam|Q99IiV@+?X*KzPrN!gHljh(nY7#uh#`q$%M{9*GCgq%U^*y~10 zNvBOc-z}Onmng98LUFEu&0K_YD77Kn>*ftxCU&0!QMNq?TVwO{6#P9P=~(nKao1-K zFhOIa}rYwZXMJnRn)g)$crg;JL9IEpv+aQl|V5SV+SejV#qyGBQ7ci z0}77~w%uGel>p38&YRM*hL*vlNh$O^k0LM@yl8-eHXj;yD;e~Uq!OLUEsGQ2F-^HJ zBWom7Rhxz&NugiMtOYtDREY+Po+g#TF$Sfpr7@b&(1D<7O9>q*L*CB(HaGdh6R=`JE2k69b*-9H>>Hw?25`tVSt;{ZT zlKWNa0c{&k`-@_!oI3oX|NV1>h+Z@8S#yDT2c9qLrfzC5Q-6EyR7X8le_fB zD3bWW-SHYzWi)FVj8M&mjBq7TKuOgKlSIAkcF$bP?F{ES@kfVzzh$lG#>E~7z9Po& zM7Q16Wg}*Tqph{)dA>6c;);aca(hb{%u4m(EWBR`3m74f@0R6o&?7<|dDu%_WkgYL z{^`|5QpaKO_1$&g0&c8JOKlErZ^X9sF>;19TOLe$I_cdnGuajq8~o_v;>g?k!(n{l zQJ$Zl^qaiu`F<;lD({#BpyT+sdv<>qL<`LP_^yDZbZCU9bJf5Eg+-7{ z=yx@FFyQY}g4&SN{l!^amq0>v$l54!iZXTFi3TKcE648Is`jz}lk-Ok`o|nF>+rK5 zJ^Y`4{Fcb_@%dTT<$29}At|$BmmVY3KRNYZy}3Gb;eBofW5pYp(7rnn2!Q482&AZn zL)zX$;I22-X>ai8@zZ*}gH%af!_`(M!>CVdUiq#dO;fj<$;7F)4fN*9m!Uz&)D{Bk<^r~3n2GH=q`s?B&7@2*+esmt-;Hr=h$_VWBu%hT=- z!=RCsNdl5pksbF#OVp|+bBoH%KNxEH567eO!^igN0kqAj&+gM}042z`sVsFPkE`PB zfphLo5mHF;C_Zbgswq|hkor`PveEO!-OoS!+XH`-0P;>_l(t0}Cg0u` zJzRVK0brKxau`6oW9b`a zkFAJJ!1Vogadu|@&HV8{u5L!Ni|%mylTZKca`(@x?AN|$KTF>S;aPsXtD0BSeo(NC zh>N#(OCJGi%C72m-pd^MsAQ4Y+$?sMgSjTC0@2LB7e~{Q%8Mts&9NFN&D+H-b(F>w?9{)%!RYTlq02owDcq04lVRS=*~19X@XSmYZ0G$7sas}dBtvXJ({}Tz5oNwQ+YI`s_(E% z0`6#~ZOQ8+)9LOOQ9Z#43mLp^?#wQZp4i;EC(rgpIcVm4!oz*P&2FX*XH;uP})*;6iXI4Ya3X^1!-j}eX zL64DV6Es<8#r3+ha8Lw~xbq(1!dfx+@`oCHmlt7sxUnXm>BF`$E@d$bzT38N6#P)C zEQ!^s{kB@mUQ}XdVeLovI(u|7J<4a3lSfTlb1ZeRNr2qvTZX64|1>Vj$E+-EBU-SHG<2MlbY=#zM$ZuWnEFaj@b3l!bh zwe{jxnVC2D)m{akb-SC<Z%$`}+uH-32z%Ec;{Igz=vGISc>Q+!)tpWV zdGO@&ZhI$~yNtT{!`t;QACKO=*v%ixXLxmf`FYhiEl_kAL;MtUh)F_pa@oRI9owl1C4J`tIHTIE_Ag zU+l-LV?t;CFlx59EAU({Vgqj;pT^77QQB3;*qXh1d-eG8VWaGlJSSOPRYzw6sPLOG zG-a^@{|Ad|M{Gn>M|VINb?~@TM|(r%Eev|{b8d~iyI@hwoDLsfaC(!t{UWGH(+l3 zFrZy?@T^HRKYe%m+a4R$rm;+ZJd~~Vq*%QRaHiSMI)jV!;17P(j=adaL@_$1ADx6+~a2J^=!|Yr{#xn`HRNhS=G+# zEgJJkG+p9#oH_|})^ar*4j0A#p?UNMz3a2;#jZQ^qYm+b4cizXe&&?BrR-dPsLOR= zPxC8F%>Wfw5IQqpUxOe3u0NPqhtZVUyF7pBfK^jS-=?L-li?_I0MS;pe6c%zYz0Qg z7Te$EspkUCk%Omuur7`$A&$^lOEYGl0lTR90g1y34u+x>%*Cbjt^Ol&`c-xn1x}#j z>*{&WoleR38&VzG>v4NR*y|oJstty&<55`1D#SBKFv3w4ckjBJ5O_Xz*RoQeZN+Xv z^@4Ou@kgeNr73TY|5)t%j!Rg3%e)bx3oLx&LVak>2akuM?Le+ z9kne{#f4b)*oQqVLNZ^pSp<@eE*+C2gbG{^00EZFT5yCLx6!fnP#IA+3*U2hMh0-> zs_+ks-<3d9D+O4e04Dy-j->E?jt8p%oXZXObgphJanwO^0*LZM#k*-_rn5B^l&h*K>53RSO#_3r9$! z&~+CABANej|BaTg!#ORQ1S189&_}v10k9&+D!Ph*h*-b^($(QzO{oo;rBvsqrb1#& z>`mEa-{61HYQu!TAa%?69$*JaMWn0j1`A{ofWV%<)}0@;acyT5^c3Ix>%aN_fB&!F z4WT;71*2gpNuOGsBpZXNk`CmS)t6E*YEjkZn%Fev=D@{(VNrt8#);6AGW_C!xA&pwqa@+yOwY#>1Wysu4TAC@hYb5d!8vI>6{qM(xLqle)qA-vu z4+7*G)J|4<3DJ(HGi|R7@gT&mb_-Y%a#RXq?I@BVfPii~ZEQvmu#{;v6&whp4mOK` z>=dSDQwwAdP*@`DLZ>zrq5f%;Zwri(aTQko?KdT3kjoAVrG?{=aJ^pGUJ$xSDHAvz zv2D>B!D>vXjbfqp)PY4ud7DzJPoS;@rdAlDB-6QPV+1@Ybfz$q`&|ioNdk%KV=h=w z7Q%8X-}Ob;7MUCmBG5wOH@jQ~u8@FO)GI2T^hn1Y$Hj`bd07vVNK-o|e3urCu}&z* zvY-+;bejA?Bonw%(zkM##MLnc4&8f!Ka{r8wd1?cI2!FM*;1D^6$D0GPB-l#12zU5V2F^c2w7Tdfe zgV@F_+%2!$FmZ(PBfmXZy8!NY*XRQx9m~D1VboOGk zuj;MUONujk+4L)raew?EyV_dTZGH$Id^Edzom(Kgua<$)A3gd0eZF9M4y$0`1;_k( zmR2*{J+@7K@6dBc9}e+l+)%e%wU6ePhuv;<-^D(*DX$&k{czdvhEVMKh+&J{&!{?DwxXUzhd0Zpq2zsZ@3|N@w*MS4NwBy}nBu z%4^<|dN%Ytx}&WSM4AAH1-@HsNte52&i^i_Je`fCF^o^-WRA~ z#@C;^Kih#fyN&9NZ)Dbw&P=*1F6on6>th35qg@*{wXoG#vb(^tj5X7Ph3M>zr{5b*uG70yG_MBhvcPq(?+EbTdW%pH z(X>ME63TRE3iVHkbSIGz@}O(@C-}R^mrwKR!wilmvAx9k?Xpxxm%Hj@>R?D+w=-Z{ zT-A2qm|>3>2h}v~p?VT~U%z`X$5wFp_TPU#z1w~md-UpRZ&?dPEO+|x7Y;e7)pnJz zsKu~*ceix{Pj0i}#H8h6-1}b6y0IRVv|`eq(|)bYNf;GzwcBLC^oHHj+PsmTSAw$E+t zI)aNs`ufECeA_U~-D6UCKF%@~)F5#msBX7Gd%GITP{LeKP9EQHUOx=jat9A`GMFE_ zi=KLMqtk$@Jzwv){D7QM!QSF#nuDzi-hKIYFdmdIuAJe;!^67hjT1+rudm*=kWQ^} zt4G4y?vI@Aj@#^I=Vk_gS8or<+KSM$EU`0RXsb${JeS!dHzf9e9X zbgwJH!Ir(z>+xm(KmX&mA3r(EkJ;?x^B{B=-R|pGZ>X&<;n`=G5B_rde%EyW{%`)> zS0BD%-dN?fGseO%8r0a^c`#wk!eaI?d4ST__Z-{X z30Ih*@%{E*fkWQTaMuBOU7~7Y$97W74sWb-&JYSPZ)iamh%6AiIwA*~}{V*WAJs-!Rt?{CBKn&+u zbH6?qa6TKP!m|1bxFX+2Ba1cqm|tmXDiU|-nDrk$Lf=~+{?o+%KcV_di~?tfo1*e6 ze_Jmz=2i5=)qeAE{t4V~Lvk_1czJXE(A8faDnG8WvU*|-a!ckchB2m*9GN8U2E`-Cg?SEv|>o$6L93IJr2M_l&*nL9ZX+ zXYbeFkA|r=S=WN$3(wU@@$A&Z#6C|e)f*foJ4Fz3TE*?O0Z5lTh~>6zjW`L+n`Nuw zfVCUk^ryJWNdP$v2su1t{i8%@gJH^_x&2{RrDG?#YMUe)qPCV^G)yaIpQY+eRYA_Q zx9v78_4S;DUt26W1^o^-N$VcKys(a7zdi&JRrxnJ+5BvNXBMy|2aY^NPu$Cc+`iAi z$7z>^_Cc#?Kt-FkR9`^Y#Y-)$on|hj-*%`cu|%!$6n|Af?*SSv zYgg3Px>5}Y&Yb?fB2+DXC&-%78a)fcBoOt&3QxjQ(lv^_UDdVi!2^2Z={eRFhE>}h zIy(1=D)s8qU;g0hU%!$_eMBd>Xt^yJL3!*a+kEqB^ab6j|D z!oJ7&yAlsnjcKdN=%`jRYqEkirNoDJKn%dqR_`l}$`l1o*=pKamLnoxlU(t@Tr#f- zgtd1J;BBgv62L=+FKtAfhBT_f2o0P17`t65CdwQuVx-)~@Vo&V1O^NOp;1gHRhLEh zSi94%Xt^*WYqcje7S7Qqpa?;TXunT!rQM&m^6zo(e|&NC-)f=**xQS;?8=x} z2GR}+hr1ob74dq~slENLO93ne0p^f94r_H@VFiUEI;Bnm8;IE+87W%};H~LTQ5*&W~ zDgVEJW4b`QAjooQF`!@54y|7&ar&VC!M?wP(!o=!s%e`%x<#sc2P(#v8iE4ek z=s&XEd{?;uZ6nf`z!6;_9Ccz6pys~O1$wb>-Ra6G|bAEJ? zS3=oK{F?h3Ac_Ht;T34WZE>*h#ePD|NjKR zXOk@1VIbD)()+BcEYn@>``PgW3>-lc+}&77j8()+A^k%|=)-V3ZVpAHBO6h@Z*9}Z0 zY5nx+r&qUcIz84aWlj;2ysl5MfOW;CG6E=oL|RYRw$-?+fa^oWVUrh=TC4nR;s(Ps zSwbXNRJ7@AS%srux5(yYNu^F}P*2C(bxN_5CQE9Vnl3elvsZ4Gmdz#9FS5C124Qqf zE!8yjyV;%En6JOPMbK)S6~KXXFno6TO}FO@v{TC)1f2`cOT6st#*(m z%S4A#mH*%!`t91na$1(FO_cxUr>Cz!|DreU-rmMe-vb~5OwuCETIBYi&)Tgh@e z4Xn%UIp#*TO}hpu()qW`^WkWi-LS)>9X4-o`4&n8hUfF?^621UiW#O+z%n;-Xfod*x!Uv4yYz0@<~dH#G~-%rKD zbS)upw#rv^BO0!|gRoxmdg-UFs zo?@r0+V*dMWxoFNO@$Fslo8RKfc$thBdxW6cyM`p^V!p%T~A&ZL?NaiktOXZFibre zyeTGuE)x>`SlmC{|C^iJ?~*Mw<)Fn~p9#-WQTz-pJ>8x1LfMF04HdR+ zeEQiZfBx!hNB=d(*}IE({a}!$vt`Yn=)c&;&$*+KthVGpkrkzxUTm<3nQDBSH)@UL z_xnH330q&ksES|Z6ny+}T+OfWjZuvYzJ>2MK;A3D%LIWwhjsVx$^GT*uXksMu350) zK#oJ~|KeEr?%NBb99_W_%_dPtu zqBHyJSG6<%GAb$Z{DbA{d*%UoW(^Gn{5_sqn?~m5+)R}~Iry>qv6|2BO6TNsIGYH4 zba;I8?tHcGsl7q)^sYVs)#Fe8@akIwAyKinw~LxbdwU%fJ&@B^RHWC};eDC!42Ru1 zVIn@G`ond0&(4Ts9}RwearN8xA0Bpr51HGv*=pZ)ZYUq(~u zRY&=hI_J0B>)v+H2}Y~i9~>aswJV}WO67! z5b|aQ+yDc2yk|j$Zq8XaF#Ct?YGNRNZP)m2l_Jj|@S(PMxs66h2=8RfH6$+3>KZlL zv{>x+2Q~9OGE*cuL0yY1kmQTz-n5S|>FTHZ;@wu(y_0c$v$EJVyn9rCx;9+hydBm4 zO0CTn2|7u6GG);0KkUe~$reZl{nS|#M)BFGr}~`72`re_l_SANdQ$Vgw3|~EVg)Nx zQ1+Nm?T?r19~ASaxfCKrq^m|&lwXY*Du%QA*6R3ChNzy6VK+%-XnOB4`Aph$C5ig) z#B?{pk)J{6K_)nj6yBCYS1sk(tOr=r)Aj6!>c10bT*2S=$>A)%jp9@fj%C-P-fDl- z?)+RTUmaQVRS0zntZr-BFzKCaJ~83T?eeGE&tSG@YU$%oChF~xAY5wa4R3f@bGWCP zk!25R&Z-?I)~IocHWI4Q_su`ees}7;r;?9F_Igz<_J}i`K9k+kX_y>4#yWIda=&3| zYxyYOmh{d@Mo2!)nJU8wRSJ}3z&5}t^Ml1Q%0UR}LH}~sRUU#tmLGbvjc%x#;$DZaHxB2ZB(5++{3YW50pQ=v?5%7UcJH^iyGTiJEpWzHMXc{X}V`? zW{IXF5@gj!jX4*r@L0fVH&xhO{_4O!_yD$Z;JH$^PG^T&zpNLcWUARAY^t$csNV3R zwd|HFeo^s#D_e;H%qL6RmcfkH60VtyY)@~XWEsMD>eX7UFxk_R_>qa$|bUb z-Fvb6k3ZF)f2$S68XJ0sWV;0g3QRp|xDgOjhO1Zv1c@C*pNmPaG*=M$e0#$ikGL&? zc9|gT&c&TnJ^Y33zKG9FGP-5gGHfK73n~!uDW@e>RZ?gWv_i_7tu0~Hc0nOA2uxg* zxC^OUx1@nmPi>JjW=)feZ7YgD3&liI)vhvF25naWjpIpNN0$0DZJ!5~mJm&~WFMJl zqSR$WYEjl`pk7ioz!C(ItBR!5S_}(Iqcz(Ys%0Rf&a1G`wKQ1fW!Mvo^S5LMjllTM{xLgdhS7j&uN< zQXm}x3Yf&@0w@rak(2`F)Kmj4G&TIk+2<+(5iJ$&a9%bbQL!Z{c?~4uNLtQS->PYo zRzejNlpusacO+gnjoL6KLx?3_7d|qfpjAs+QuheTMN?9uD0N**vS}%}NyVyZ;8)M^ z(C@S?TSdjt4~kk=5Tr#M=tdbmbKQ9`Bb3q-<3QDV8)0tL9DP$eM zMw=}Q0Evp*OfW2AVmbm-b<%?LgOj(7hv^ykGEHpV@C+lG_sOm+$ zH4J^7QBAP{qq(BMk|QjMwrUK+Csa$RX=?H+m)GmH>vXDG{HMM2pSFRa)SDuq7y|^h zF=(o6uVa_YbR-P8yAh0lqOM5EC0#8&*<3GEs%&aQE7I*y9T{>^W+`gAno$788bvNS z)fDsd^-9796;03E3yYZ#hpa7kl}9<5|L*tmZqI>OC{zpM&F<)NEXp!Rwo9UIAy_*I zG#N-t>n;llQ?C2H^>$S`on1@Gqaw|-yv)2#ce$93{C#B00pb%Vm8Hs9sj507O>d}@ z%%9WLl)CrROV@QY1@*NjI<|A^>*ZR)_|?z5N8i1UE#JSp{@yf(*B9%4SJISJ!Ywfq<}9yd7tAGuI^D*tPlQ?UtLiZSI@; z`T8|Rk_@OOSR$*ljc|R%ki9k!&%BFe{)pB_F9kpJxLLKJNGbcnH#7?XVa zi$9)s{JkT4Z?XCD`s~WWbl7oYwY`hyAIZnpXIG5fb-mr!tMq5RUZkd*ipexr{hovq zV=!)TN#p@o`_a2etP~P%0j|uFHiml8{Bowe#<11A12vN4bzPHb zH~W@(U2aSbl|`eQj~TpP6)k-Zcl7ET8kz_U><%X^E*jrK_LkP5vHOGdYK47Tg)@Sr zKpreWz6Hy?(gn3#y&}_%5L`Z1#1j(Gzc_-r%ij_&2CQ zcjlR#?@}JG-d$`e+pY8^3Bc+PK?a-;pw^72<+cDNP5rGmgd|_5S|5i{DCxpJROg_RC-VS4qEhO2I@ZW7OR&jD~I|x-e%`?cAz|N1a1Y&(XwoLpnzL+ zQ?$dbqSGz6+~M7FmLWtg&sn$oWcZ|}7EZ5<8nSlt?3==B%~)PN9Fs_Wlx|+tE2ZVB z(GsWv*%2J_m+=KmiKp5+9BkNZzP%0tIU!t|j{r=O7M5GcI*uf5P>q3htDuvt>H&RY zIlJa+GXdvE@aXySk1if5LMyfx*VVo4AcwsnT{^8|*3>qzWdKD!-%<5^677wL734D7 za?c2sYiN!nU%I<^xx>s&(X&-Nxn(Nh>$98D$$@r%VGJvD`>ufMv)5k?)Ip%A*P5j8 z@_qTgzPtM>I7nYCq#lD1JBONsI7l*C+3$>HL!pO<@m%RWe(~xLOrWRQ;rZl@?uhfZ z)ODq&&}x1Xwc`wtNpoEpLT8dHukZ{!ZHz9SS#z#kzMhm#` zhDM9zJfHZEHO#%PAfcArN~H#eO5+cAFQ_*1vi6#%Pk5*BCA+l$J-O`G!!Wf9JVmT_ zJA)~R0Bv08e_zeIvQuVT*M5MUnwCW?f+V|9$T21>4|U=cOiQJ&;Kxq(oOuqRT&jD8 zU0EBT!2o-N+!;%MKH4vg#h?B;)Z|hR46$jCgVSlf;HABepl{v+X1u_fw)r9R)7j^c52r1;5t?|?A#%F&UmGy>!K!X z6wxbQxwXK(%x`s;W;4Tf->Zh98k4A04Ye^bb(@%9lr*_W2GB0$EvC4y!r~p;#!7h%m`;$!N*eF7DL! zM$Y!gu$AIL)ZUnK@I1O2NeA3it2!NlQ6sK_`Jg6DZj3ZcHLWdpg%)p??2t?RmF8h7G4ci%(fP{grp||F>cs$Tnc7N zVZ-#SzOg{R!E#fzGVD-PdT^+*FoVzpL%>Ub!W3bO3(V9W!&BBsw515TsNPg~#qvWj zoPu(M+WT4%*|9*zX~)53OxsL>rWnZ#ZTY%JTMGs?3)`l~3gRdOn6K)@1HG70K@xz+ zGyYC%EtTRGypkmgv6LvX#xn$X);c=C8eP!~8?hN2}60VqS5sn|+d!pp3wgdaFzSYp%|GH#m?VeA6DYGW)LimG15 zAp@qsDjiu-!sJ#(SO$0z%>+;sY5jK{`>%izP0eT*@wQV87iQH*@;PtD zexHgaU6pHzDe4S~PQ@}J%aWqmlDrh}R)tmx0(kk}?$IjOgR##U=h=Q&mq#ab5}}`b za`K1Yf2T{ZEUGoUYJnuXIo<+LHpG5F@@LpL`yIFe-pzG7I_O4=wL3s-gh^GznqI81 zBrTup^mP*d71dh< zn|-}rh!ZxSYl?YOzA@ONRsAw>k15XM&22}~5pv>Hqn9;MynFg8VM{L-d!4+8nraJX&F~iUcyE86)bqQ*;fKJ zNv6m)q@vt^PhG8_OxU~KuJLY}?dj%vyB5(q*3|xxrOVCI7O0XnR}DIjDXspWudfaU zBYX59sWy^cD#k7(@=*1w#qD))WSRD} z_a2A&RKvah^S}Q#=)32sl!e*J_@oM>ve|~^3JOI+go9#i9|eK^yKi5A^xi?WRFhai z)w(0wN=JHivr&z%dEc9$71!?iaPZ}1b-F*t0!j?7`9-+VFcC3NfBo^#{`%c_y2oLN zT8{?GPEl+gAO6R6{=ayq{aW$qT(!p|e&t&-2 zGdRy9xhFXaODof^=4+wp!fH>c{E}A|HgpqU-J+!wwJ7gbbcDDRYdtz&#M|-vkN)lV-&R!g%wVfNANj$edXa8xZ=e;d zJwUx@^DE7^6%`x)hxP3F*`qD8^*U!T6v*Xb>7iU`fZntZ$OS1>n7waoU z;N9WrG>T-YG9b^RBp?SBf|g;Zq{EUQ!`OB0!$ovakd#|}xm+Zo@dMgZhv{~u08Pce zqWX=Tk1DDMGKq?3bAH(Bxa-Ns-r$Ihv)Zq z#`{mqAFeL?!w)*uNXef`Jztt$Lv)(mzo3S1XivArcRTiDQORMp2GY(zpA?B|?Crj} zc>Ce$|1ep-?K{~zG*t*he{@$|o6D*~LI=&N+9+eMx{6KhkaaJMSRo=wx$0nXFgAys zo!@`=XUK3gm&xIyhm-9)DN`K$=6-6CCj{On52lBQ`>V~3H&zylt)s4)(i=J~1VEl$ zmOTS!OY9RizxbO6zrGW%-!0j!PSwf5iFM~3S<~t2(daZ=ceV!AWBn?RfAjdKS1$_p z5tpaOo$kA4x_q8(9`)<(?b7mP6+Mn;tJC14a`Q?i!)i9w(VpD*_%gGU)oKo9#LwHC zWu5Ojr>&l(WqUjMW@MPe8}d}V|9Uw%J+Wi@?!rTmr zgv2zQuj);DtHAwCT0Vf@LFZ$x!JDg>*cmOs%%CK>U&~Cu;b;fkJu5dyd%f46Pje)7 zZO{^bBd$HCMqx3Qn)@{ldc%GF^fJBcjf0$S+wC3`>M7|`BcsdsrreI26Kz-Ao?VqN z>UAwk*=-lo)LqxxHkWGEoCVTB4zsp(hpDm7E}goShM4h9u0%fBx!5KeOjUM1m(by% zvOn4BSjwAbVk`H1&Tp>5m#A6JH{hTn7hHdpy?hFMY9qGlG~l{x0AN6$zsr+WSj;`6 zZxV?Fs*}{XkJG!HM2l_S35&X(?_^&903ZNKL_t*emY^q^c8@)8yFJrpPX_uAv*x|w zAY^W^x^q2{=Pi&P&~|0pAGY~b-Wo*%Bn2FsPnJBMhBITwOV=XM+DcE}WQsjd2qKb5 z?-yZOb;rj8+)k&tth-#rRBi44u5~2$Csp(--@Sm*21c9}(KZUCK_ylm`){ate`8D#{ddV@8@N+`}p+P`IiA*>+Ix?tb9KHD*E9ee1LT+4M(;;0cny5 zY}YZ(rNXQ{0Fc_rT59Pia!I@$WwP6Z%g$%{!RiF&w)sN2669C_oKrYceZo4*r z8%RI7TRnSt^l*DIQRO{{gt}C1i@2}SG}H>E7Hku#@s{eIX-Bhj)%$=TCT9y^*h{+l z5Brb*?;pMvZujKi(Pmjb96Sx{nI1#K(vcFg3Kq&bXKfD+8blQ?-7g*IFxXV-mc0tJ zk1cx7(GF~XcG8J{XWWBq{u@_Ytk7oO%-Wr-7<@? zEG5#uRBt_bKg2n0LLct7%C)FBw_$DeJ9rg8z^5}YXIwc}{3$LqEH3h_hkHv2kXoP? z?U;cOX2vI$LOnbV%j=ZuEy#0LTd)EGtExs2=cx4%tUWkwb)>ae!LHQv*$xu{Lc zp}Zjq%5Y=1Lzsh}B8O~l!-iFst1lsG6fr8LW+?k-@ok6oUEWRkSu0w*v6c`|txds{n~*v(z<2YLm*f&Ul<{WyLTMtD)Xj%+wsy zFlNnsqlWyfd_jFbT7A+Qp%>O zP3wHp{z-0S2D%Np*_YIJdFB$XT3%YJfBx5*1{gB>8nrN)b0H*TQMsu>0ugoyiz(Fg zpeeSNJcxM;NqZ#rZ}mA4E2}b6GO6L9CtC_F)}(GZ6u1b`!Iobyp|CVmu!;yh=QV;J z7b(TqrS68$YpHS|Utunz3<%AYjez$r!CS;sooH>V={&E9Dw86q5C#SkvW-_IfG)2% z1X+s$=&Ybb6+k(bCXy)=imX*l zrjnpx3)0k~p{P;O@}lmmeVHUB#e%aAwlF{yD*cX4TWlbuRg0{k6<^C(su**1J?D+A zn`#Sby^`dfB{n5xFmGL_SEeyngl6N*02JY5vHbW$x2g%;chTG%UTu0VcOb~C!m`&TiJ#Zl9Ol~baz-q z((*>2fr0i#yD)X$wybKsu~8UgTyU|@+fHye%df+EX4$f#wne=8?4y(Kp0BVxXsabg z=3E%EN!cb_*U<9>&*YJh&)Zvq+$e!SEYzlsYa;1Eyt!oDGSxhmi2{*eDX?M7qQL3p z(y|4tskg0U>~&p85X|!xs{GoiScRD%Z4$ z?xal#CUyBXu2cXK?4CT?7thYm2cBaYsssVhDqRXLZeK-{N29$Ewr*3dkc>^+zPkSQ zco^u|S}x=N^1uJ%cVGQU!~ITRPqX%Th%WDD!Qf$FZ_+}+tR&+gGXf=N}6O!%QrXi?$MBL*QW=Mw%Og~{MPfw=WlKvychV8zPecG*0v`< zxNTl5*qO}N4}%X&UOtechLxlVh8!Y9Q}t;A(RvA3xZu>QG-t*TwSW@voom z4d1@K?>gORwcfQ)uF^@M7=2As%x#5H-Da{Fy;&{y#(GjyqG;DQ;gbhWTt&ZpH2C&a z=W?;q9QDz|3;N-`$Xt@uR8w{d>FS z7jLI8^2!zFqf>*khvo7`RX{N8Hp;n|*qbyyK6um?i;5Qv+YcZA@}O6L@z;M}E;U`O ziML}aa50-<8)fBnI^D=BQ@jrXpvLUA;ttk$Y^+voJ8;c=o8$xavKp+3I<>dZ8u zZ$Fx>UNulcm-mGOiOkoFSDxvYcJPTR-fmaWG4fT_w2usavG@4nX!Ers9Z;AL>fv9m zULAJzEkaFf4TUf3b}6O-d4Tyd>{K*+gm8{llYZb7O|qJu2c@gomY&V7>Rge*i<_Gx zzb7#gDTR&uB`cmd51VF=>q}qlQ3j^5qW7_lS7i)eEZ%sEqT7p6rH4LGiz3zAr-(O?D1b-{lVpXcavMY z|72{&n`w32e{dV!gwwLiyy~{n+5y;HH1zcXLURflnq4Q~{Nkyf)5T*04eTm7+d#?TCEvd;I^>i4Qbkyyn?Y2UrN9spEh%agW_OSbR z)A&!4ux(;N(4O5#*Oe_Pox@{)Ql&SS*BVy4hD;;YbJa&(@%b~iJo{qj;Db$AfBMKP zx+c8e%($D(sLVtT13fI)6*=u5uO*mn*4tQ=>NiKdqZdu2Z%6WsS)Jp?80D1?CokCu z%?cz&;e2BcoUMwSXN*e+}b>TwwzT-v0i}^xoGMy4Y;m z79o3V>p7+IZ1!~gDG3SIU&~9@*d&QfN!G?t#cH*fUDZyzqX`tQA2?c}cfYv${O^xG zZl*c1YF|gy>^Ilw-*5YE9~3xt6o=yVI_>STw!1xm$R9ihB@f(Smh*UCu&d zFW?C($<-r1E)A~}Yod7zvG=Wll?k&woCCU7>DTJbS*Dt>EA>Kc)?w1Ii)xwp5^#ty zdDEg}aXPGqk>s-eULS?COw$cC_Kvd6^wj|b*=s&^}o+j%~k1=n+V6uLwU-5_tV?S z53VzO7yr|)cof@JPZBCW?0~zw+c!Rvvzo`s84v-ilCiD3L3dl_n!QO-R9DQ=Bxr7Q zfYjCx(Zt!`@4ZDOZ=FwymX_s4IT8KY=Jm(pzn#!K)jQJB zceG3$gwB+O7&woGp(z1wBY0e-abag+QN5bQDu4>k| zi`7o|n5%nj0wMW&9uB)cPd5oo`jNig!JWnRtI|GZN~fmZ*TjdN&5Y(%me`2%w!PpC zinD<{QZs?Ep}F$w^JmAs2T7xqV$~y0cDliv)p@4`l`f~C9MF+ws3s@#a5=XIC2hv0 z{H{(aKC80N7AP$1^M|OdY|d%Ghe3IT18%TGX_abxDa~Y>5u6mRW1N zW0)+M#zem9VJf5U9IpU?JwsoJt(wp!kZUj{n!Kj>H8-|N6xaukFuCERWDAdbrEB6x`LY5b-IuInZ{s&iOMW-*tX{bBCaW7wb`|&l_DTT9$=qU`8(`2%)aLt>5(3t_IPhjQX0=Fr_Q6 zGVG=ekQnW&$CVl#S9|v&+S7tJ#de6zg;?tVgd%{LBhe6vX{=(T)-@H0f{}&p-%>zlzi%xEa;t3F%#|&~ zS&6+CHmFouQ{6yW;i{$>6>1?>J(b8*zhoB(k%j{kNGmW4usd%z9JmZJ0@{Z8mLfO_ z=5)bvO&9|lGTE`=j?TpjtXov4GD8)0fmT6=P)1wNZoWj&aP0mD#4Td&a zBXXj2gi#5`xR9AVgLBWe%C^<0w#Xt!u@qF&_PQiPhB8o>ya6pDGAVT-!`4-6X(K|b z?q#Udzz$Z@xP~&c>ZYifWU>?z7*Snn?OX{lvIM{c%5qstvY){P0;L8t86*P9l+X$; zn81VsDXUu6l(xGQ0j|kN(*&kQ1(LjxB%&jZIvOI%aJl>uVpq_nk$@)AS_n&#%B;2x zk~0}(8%6EPqyj?Yti>|v5jCVjvJ?bF#%lvWpjReRv$kz>)^nAb8LY`yV$Oj>o6M0d zA(;+_m`U3<&YEdmRE%&5%SDm_$#6{_QqShek}-wgINIv6Rh2+$aYe!e8BNRTqy!ia zbw4ZTeMj1EY=)M+RG_Jh4SbQ) zWLfNZcM$1a4v62mT(v_>tYSC_x;JGe!*U(BMD^Fja_kzlU_}B4-6IW|n>00`f|%*~ z#WrS113mb#)fbLJE;e&kuNAd#TlVdGqY_y&fFjyY{`S+eFS6hN>4*R6fBfay^Yi;g z@5-J<=~WdwhK30vc);xB%NHAf!QrlHXo9z=tN2X!fuQMNw4*dqiE1K7vVK)2gtA1z ziWVU#KYI^D=b zO0k4Q^=KM5n7=!-kw|pE6{W120fz;xc+*_U$|#8q8A|{B&!3Niv8~u>AZ_DS)rdr% zN??-|mG8=*?)`^nH-FTeF2J#o9aZ$cWJ@k7glM}OqQXd1DNZMOPEG5_vg+2wvZs3U z^8R?RH(AGicYnS_4-P{I8n)3K_BGwsF0WHZ5pHHf-YV!&B?xy2atU1!w}C zjQaA;_T@?cY1`4Fwi)}QX?AuKNgo}}4-ec7YB$@dW;qL?ANB^7xQ(X8lP8BC?IYRU zCRh2%LzlMr_073ssvV`P8jY$RP9|%@hRdRU_|%`zC#*^bfmi`TpL|t*ZR$ z`r4_Fqx)~|{c*nD9H@Da_5R3`{o`&{MDKg!AH!!K_J1-hUrwJTjn-l7)h~kXO^&uy zWsvWxZmc|2-7uDLTb$w1F`Ls+ZUl>PO}#z3+M5f$%0=(DUg$dTop zUu5eC?!!4hDXpy$N{id<(5m%5e0MV$5gmEte}3|h|JT3%aR?=%qhKB5^&rzwdef)^WOF zj^jw(3yAJ^x3ejjyK%5+mJNEEz+2m@!-`tG=o&H@Mpi+D*|tFqc>A!*OT1eo@w*5e%>EcdW>O zYQ))gBeJpcGy-cw?vI~H(E?EJF#*%#sWRc7?bZk4Ui%WQw=^vkpVHa>n# zH}L-Yoj&l?(2F}a4tlDw93xI@HH$_(`JDvOdynm}UvUS(;o+mN=d0dGb)BPS$<&?9 z_YSWn3tmMLZBKVQxn$PiQfvDKi+eJg_-|P86PtxiB-Y(!I$`6}p|5Hw1@ri}yC&lF z)4QAJM4*c|XOiI}A-?+lE0I-?AM7vINLUeFez3gzEkgd@Sf4L$HLOnV&$jg@yAmfm zyNlbd1K!!<@xQb-cAtcU(i&-IEDOvv&PsphuxRFzXWozkZL{P*AVH1o;PCwJ5H&baBKN151)wRSvE zm-k^LuK>~u@ZqiX%2t2s+%#%%Fx|WcoB)5c0okFtxG{IvtIMN@pcnJ&ZELgL zH}vX=|9W2h#oqroq2DT#{hpegx8PJfZuH#H9oJ?O#9&!8NE&I!H_5yKkJI+X9q6gZ z{^9h46qs?xbCXJf7@hvHZcnD0H?5ZvX)~GG4jI&T-pWo)B&HuV(vLkUO)^6jJ-z$w zis`;;zrDZz2fYj0$02xQ*{I~C$3CD=zF9^}&l;wCugq6b+Xl^UY2Cv%ZMQxQu5MOP z=IkP$%i*n~j!)%XX>_a329hYsP#9U&8n*A~aN%m`T@&{{96kR38G^4S+tLF;sGr^5 z9B@*LBc<^2H&4A=@bF<0)2C)p$j4u+P+bxpBSSH2k-rnbCJg#JF z4L=Oi=R^PlpBM<6v>5dEr^N*nn=;UazaNuX+v{A7U)*mVy!|Uij3FSaQBx{VyN>^dHV|^bNn?|F9}AD-?Xx zJ&MHXD1tg{`86+OH#}B9X*ItB?`9hxSnxotmvj*mf`#6-A2T=9*UU1!d2-&$9`@RD z9GG=PW3=Ns8_KiDfZ9U$VSEc}O@}zby5mvBSWKi}-S_oqT;^O}_raru`Q-uYe;NG| zqK88c7Kl1>q48#ESQX-}IG;FiUzFEc>Z3ftT0?snRhJD;3`4sCab*uJT!75)Tlh( z#(1g2$Jgk5K=1}fQEusa^|<-pU*s=J34E@Yh~IbH-^#d)am3q|ETj|wST3bu$!x>U zMObqaF7T4Co2U~48X{V^=rXyh>oyf7V6Y`Y0J#9ED{DHkTD5MLpH|99nXG6om3LjO z8H^+$M%A{_hRLvF4N*Q{U^5qX+r&u9P{s>3hsX@&NaOn^I?1azXPX3KNPCpP1m8HI zRRUoEvP$NbhA=@)xvL74GR~;yNn-M6A-;_MRO*I> z03bDyOT%#2={(cA4qe%$mICDi-DYf!u+%ff4S>x`ls489krGFOlvLy{7lqAq#C2uL zoXtbA*G0};69>Fskx_!YlvOtJg*0ubdkSw2u}&h-ifrOCsU;$98?~e=46-G>a48J{ zPfFGYZ7$tHp&TX#k}JSjrIfibShJ3|bEN^1TYz%VHT7yO6G=$M6W^>AOh_dvfepY5 zZEEsb!7|-!Nx0R>k_uDkz*bA9j0$QRtTGu@N?E+z;HVAth(tQGiA;zBDUdqh5Y%#& z>l721WkUBwV@npMlE~IMD^2BB5TlB(p|l~x(xd`IB8X!ssLV!7%c6}=n|Z;~h!dh2 zW(}*jNVq)}$~ro*~OE^E?qb2NhD-(yL8kXk_hchx7c> zCMK(3Dz=tI5fyu67|W!P4z&`Z5e^b9^<^D|aZ#%o8jLm9#f~F4(YOqZLYXFxxW={Z zn)j6gz>uz{WukC2RKTjJi0?Qz%QFN_jBqY0Vz}dFpiuy^3AGCygD}oCf+_VZXfwG! zs2{EPQs?Pxz4_sbYpTOXgU0Cj=4KtZZo?pW%;RBeFD^xyTzW?5)%1FI(8DNaxkAiZ z!Nf6fl5>$IdcDJK(-sK;D_4@dPJy!P*&(jo*~9L1HUki*7{_z&wczb!ebVd=ciQKh zX};Zl_>+(R?l&**?RH;ZFXw90)_R5!-ez^wGsPY3QQ&*#w2C?%XC?GqhoT}ZL|fAW ztb4xetP`hefoG$I5LT}>%))7c&wur+FCLN)GduK9 z?`nK880>G>!Lj?J%lKO%B;cb;2OsS?cfonC_rx+UWa0WXs>eZC?KDgc_fGRuO?1L! z>gv|>(eHNm`?azch=~OQQ~PMW{8L(?y5nHOMAAg%b}qA{Jw&2I-L$*CG?>#Poo|${ zjJxMoL05CL+^G>&(#SWPm-F$C%fqnmx5c1n@y^Y10bA`(8KO1I^X*1QqS^POxlC5B z>-s_VuG>AhUL+sxJ^AkKSN%?Jx_lFa%(Fa-A-AgaA~?GN^Ue10$&nVaR+pCB(V5El zmUOlD{=+USlDmue>C^t?JaGN$hntc(Mz$V(xVMkAo9Jo1KY}3Yb?%EnUw`)f5BpBD zv1i{d0?$OlfxJG;2K7gF!$@ZW$m;XN8e& zgF;pa>L2}Z{p$}7{wn4x+sKE*$B>`t$_=K`nJVA^tHNu)=hf-;@}z zsPgMOS$w(Qr55qu{`vKGwQB9()2xkQLAqYAv+7T8HiKPjo(7$U4)c&Dx?c2cl)byT zv35_K>`Ft9z~o&u>hzAkIDLLx>x2Q@xp!#hA zz8PsPRFsufxFvDwo_~y{Tl2W-duMNdfLOwI(~t#R;w2Mlc2Tpfe)GP4<&Lr&+cv*{ zK1so%0u<9U0l48kKBg_`T;!X12tV|-Q5c4Cly)`yZ2A@(Ra-xvlB5xdX&L*#(@lI+ z-S(Ewz#B)EV4s=OdEG!5ZGA5um#d z1pCgYjDF`)lFepzm)f1x^xM9Tj#~Q<4||uFE4zdC9(LtaL9f|>3HG3;>G^i1m4}Cq z)8(6rdzRIa+lWKL+lMYrS+VL*#m&)CV|I;y_Wpx!U%zmK-7$6$SM9nGe4YvG>G7bb z{N?<-ASTG5;WOUDRa~4L?m3O;XyxApdBlQV-^}Fqxn=2W2xuClzM)H^KeJZef-l0i z#%}j;vJNlN5q~=X03ZNKL_t(WC{3gA>?dNa1l_2KAdH%05e&XnFe)q%8iE~fMDoG6{v-(c=^!BuYTC$42r(dSi znn9#)rRO8A!C+VKoU*g~`wzdkx**VXtg}g`KKtbH>*p6gZSRckmc#o87t?P$$XxUncyVH$gt`)eb{Ykh6ES0 zKksORkd1!y!QVdG@4WbZvB6U)tIAS`hmTyi#^}c-xoyp=cUNbcCG}zR#rSI*I@~Y^ zyaCEuhRPX)kfpI^a-y98Fiz!(zC!XmV9CeD+vhM8}BZ%5s-RdarmSKdRyu1GW zqrqW1PCawz4~K8&zwHid(Tb3Uc2Q-`>D2QYGrw}Sg>bZ9yYFPPiB7gRxU>Iowt3yg zhSqdJNo@>g3F$!=S@jezQSInZ${YkZ*=v{PxtzH4rL#UFG~=xsLJk>k0XB*=-e|N( z%ma8s)W4t1zv_17NQg459@KY7DtJz>HPQSLh`+VelVtCP-Kyr%=j7?F`4x2Cv6la> z|M_^4h1PcbZbOlE8|eGp_NH6_I+~7#dm!XBkc7c?#gTHEk_k zp)pas=60&(@m2aStJ;@Vn%1@5j1==~erUr~8~4Fs3fNHZQ+4)D! zCo6ILRFS|%9wQ3~onka*tq7Hpr#*R+k6x9vy|Nfn@I@beddt5DBAheD@Q9Uu-Tt`D z|G4!^7GL`asrur;ug$B~VYjy|iZ|Ow5qM5jt*+X(9nRKO$2$;gtuhO3(ucJ{tfCk- z2dpi$XRN8wDqrR=-3E;dWfZHv0)!HfKhH7gE{ zp8$MkaoDmtTPj|z=Lds2U5jfzJ#ap6^4qjn&$7Z7c^d@_JpWHt{hx69ItsenrDnR8 zwTO0tWSy&BV6J00#;ZMS%yjGrP<26i7LAEs_p4z97V}VcDInl5BsZ}%Og?ZNKh;4oOdnnTS; zPRZ&O%?30pc-k~OH)Ri-UmIEbj=kw)A5vo~<$L}AZn^yjon)(2MzHXZL%BD{le%o^ zh7|=Bx7%1}2P3{Tf#sV$S>|&^n4BSORlpc!W2&q=-t&y*JTpp= z5eR&^UxJZ`dK?6ds)E@%-a$kpD6j>^pjQ-DLS}{mk7RqPL$AP0u0ze%nPzbSZE5me zC6@)WJc44D9| z2fB;urP$UWSi-W@m{oZp3q5MFQVNlkOg5FbF#{jboN7>U#kWwRH03(sIp(=CF~lb4 z3{tE~UxJKkmeewYeZW_0;$t&|l?k;9P?4mX?PXP@>4r&ol2i>^+loakmAL`3DuED% zL=oU4k$O6sRV5M{p~%!wf16IJu5H7mp<~Oi3AKZ8tm``GVqnXy0!a!nlmtmvZl?uy z(GAgddT6#0Mj=hjKyk7PD^973m@+V5he^Y)>rzyRDx(&rOUpt@1c_x6%;Ff-8=A{z z5wm?mijrBDVN$|Xu_#g?xDrga2Zk}OAZz&6+ZQ(g_5|Emgg~U2fXn4ZcgZ%}G<4E! z)RsZnckCHLj(~|NrpvNb*V0Uu0N9>oK{FE@gi$V2tKK(Mf>=|6^(s>uz`7r9W1QMW z+v(o%WgAG%wXcFT!j1uPn&mFSxipCH19n@o8UdxOavwLsY8wi_2Uhx+%9?f;G!@%WP|rouGPWnntkVMxzjFD>x3zYh^WUoawsEf!Q zw!PS*eYdyGHi3cRdK?g$Dc!-NeA%;YgmqOyy9IFWv9@!$95Y*opp5k+qURZq=VS{w zUzb5MAbYz#1@lo3h}ISoRCYdz;s=h?^p9P%ztdg>`MciEp>BBFnez0g+1cA}ZnI?a z{^O4=1bp-H-Q?WGu%(78|89^tH6OFEdv*KH^9F9K%=7XuexiT<{eH8a)^+&J`kbk) z!w*S((Q@nVJ@f6&?bBi7>A~Ygc@FcoWq_vDN?PuL4>rYJo||>^K?W1A{(?>F!mRbs z4b+Ao{fM4U%ClGVy1vv)En)mum%qtH_33f@XP@ob;iGTQzqr>OeDUhpFaPRi!}jpq z)n%1%tDmUOfhgzG+q?E)XSogA&0bYaf7ELH>uuci-+uD5|NQpluZOh98)$oXO&hhz zbn&xa{N%U4{=>Ilz3MxjZ5XLvTg=DJ?kBXN%y(b?=;71r?G=RXdYe>$TLz;oTBqJ= zI5vu^gB~0=_uj1jtydi)ubxKlh|Vi}v)R6-p6)0M>sr0O^ZfbZ&Z8=_rU?J0Dce@7kh{PY`)x*NRQasR3yo3M@R8_U8?J-$~3XS2ruBR9@{<$ zU}7D7aQ)p99XdN1H`aVqVsx+m;k(6cZwHc|zldk%w%HV&D|DK3Nh0^CyK@!4X;po2 zd#Voq4Qu-Gz8h?kec5d9+>7S#`nw-o!WnOSXc{)E+gSkXhvj7Py4f^(WvJWxQEP~u zu{GbHT+K7H>O{KB8+qHvR|`%w%}w=;PI<7i^YJ(5Up=b-h>QG_Zs&|ENpIuCS;yC2 zZNFa2!?4|;`Dg?mJ^Flpb-Q=4`|R{plh&-VwB613Z}Wy0963Lm&_a~&3Tt?{namB- zRojc#rr*<>9Z9A`4Qn(zXzs|_v>4CFhVBWyTCQDIYL87g*()#aUJM+{W4mVgS)T2+ zy}NBL<(-y02A_seZJW#v^j77EkH|;!JjNNSX}cf&1fGshD`%XD;Q=XRvkZCriT3gH z^M816|M>Fu3!i$o7w>e`)R6tr$JQ6$)-3%}H6Ls1)ldG1`fvUpw$;iO+Fez(o|Q+@ zxZeBlzJL17`Lkbq@Z{_BGoc%s8TpBRG;5=Dba9}6qJLnVUT@lWLA|M;omm+e9X{w7 ziodyD9uLca=6myj>SzDtt7ZfLk`Ot`*lJ=ow00qc|D(^BL;yti7NIuJ_vl5>+INhQRvbdbDO z=woMhteqK}Se|EAYErj%&#Y-Xjm!B9t7e$AP8q&mdqP`_%j?ZOM=Syzp}Ta4PewK( zTTu-6_o|5J_0q{i{4C0$G{~CJ4zg6wg452VYqjZ~>;3-bD&yNWc(0qMXBDK?#tvdk z50-Y&iTVp!j7HPp9?zq)DRE&ZF`QEYN-F@Pe9f7Mg0O0HGoUrr){ZD-H{(r5!C0F$ z4nD1d<$7M%C@pwamA1m;!|Z4rBHt+N!l4~wmE?K)&;8zETvf$9cl#;G8V9wV3zecQ zeTlaD>fnd&H4zWMmj5~bP2YX*VwyhidjA}M-Pmo<7sWjU_+%{IPG zNB!a#75KIQuiEYUwn&{Couw{r$<_1)skwEcx1fE8?RcAE_~d#WH){%m^6lokeN|(g z?*#cut=;Bs14XGKJF{)s*nM4IBGMI$@xc5fQX?(znf2sD@t>C2GlD+?UXYf{quN0= ziCTKQObgo6#Rz5EPMde;Y0$EF4c9gJRZ?_Jx~Jd-agvG)3l@pWte&EyKkI;;Q z)xLNV#BY~41M(UMt(EpV2Ux@1sXC+5sz9>N^QWYLIa78$nN?*sNne&<62g1J+mXAK zmT(7QZv0>KJVS{^3JV>vCa3Y53U=f<9zVY0%+NGx^MV(%+;TntSu$xWV~;)!iXR*Z z2OcYW)#YL2#Z_|fv!)ePJXDp)Elhf@wZMtXZ%JJ!>=r45yFt;rUmX2329 z_9`@D_}CW!+w2d)7YOZE#TZbZ=oh3kGcj>VJ+y2P&UesB2o{3+3k}0kt3$b2{f>em z6Km6EX^CRCdg|7<*wcB5HB;)k#Rbz*A`Pgj8i!-_tk3NP>jVkREw4y(|G=g&Rf`&+ z*Z@^oti`0MJq4^1#*l&#$WUPzq!)ztnwAj;tEA#4H0oG~B-q!Tc}@|kR!kH?+y{eL zgu-%sysEgR2?Z+P=_VxYngEfQn`M2XEvte+a+jCFAY`qWhYBWIUNMWI2Y85aW#|o- z7FYp=G{#4lLQ*i*NE3mKv!$nb(`sBNe^K(Uk)S^90l48s5i337BS-7j0Tz|M;lwQ0 z5;|L~5t(!3tU%<6mc*B{q;Kaj_rdBPF4sNU9m}|bYl$vs zW@=^y5hK>FQl*q7)HF=2MYOJ4L%_!^qL1MSFrrn%RjF}3HC4b--DDv!jZzdg(GfRu zWhT6dAhM0EV&)boyR367sEVdS84_WsP>d5(0*G7}JB-frjIYou4OyjFuc>WUZbmDn zwifcUGFBQ>O1Gd<0suu3v;082f1ysPAefnoB|WfPDi+ICjUXg?nVx&n3{^!GcepB% zL5OT9x&{d=c}=szveaxOcnPsABtqCC6pA!06ti*7FmPE4PIQMCu?9^{g+Qu+C1Wj+ z#t=eo6u7Dwx0IRTvX1HzNJ#)W4<4`@j)iKM3C@-(qr9K`E}Q(H$t zl61Y=F3YEj=&D(Fa-L(&FycJNHphkTwLP_!1ji(WgHU@?&L^jbtzHd>T}?lq zMY^+Z8QVOr@=}Qc8K$>g_9pn&)h{U7wXW;t9sY)KSaOOm8=j)7w?5 z>psMQvn`QEoVoW}gX?gu8<{8^gKQduM{)e_(6!G)n6G2o?}egRMI~+F9i$WMScgf? zCO6f3RIM8|_xf(rbPRyWDot{&yN!~)M(0`hvRmqNR6}q&o8iL~nWW0GS~1+p{FcDl zV#zn#O}AEU@}v?VViUBo4ybb-rw4nzBubH?^(;6E*Lg&EP?CD1nZSf_qz?D zqad={$!hL;`zqm-aMNjR*4v%|wpMo14{sCaY948LbGUzeb#v*G4QwcrYEibe8crHb z@Dgqk~nj+&$E^LOCFBYI}D%D{bVKjCJj36x}>J*|{B$emrTr*~9hqyJyjlKm5zP#h3fdP6gBJ(X!sGSvr&E2fuyxPoM7^uV=vk z-EZ`G%A{*$FJHWJsMXrh%uE$dE8AY(KddeDHU>|Tb*`_+mHCGjKj`{wBHzr$>yL&X&cVB*c0V_WTE%g3+Zd}-Ul zt9ww^U2UP3Jt}Wc_BxLo<5$_s_P{-v($MoSPiF_ad%K0rRM>2E<{8@A{ZLiUkL>sV z1ipeyW^|{R{dT5z1ka*q?(WpiUQBe2R!MwWTpqT(!f!V%PLQ`Iqg}nhD;%cFO~wA| z=MP?ei3g_fuKa$`z_Q5o$JBgXY`t#CDIn*}eYz>DCOjROp*w z@4t2Czkbd7>&%9=aC0l}bsuh%rLTvDk?r(9zrMQcn_Z)A^RXkq3__%%; zW($Z5Qgm*UGhMnC#GKZ&##lzFl>M5w?qb_(zW@5&r0!KNrH%F@k#BvidGBHSH!uHg z*P)KvG{E*Mc&-BrHy#Ezm**#+*Wwpe*Vsnf%xvkpOkTD7bTPU8{@bC^eBY!u%=Pt)4>}+Bx)~ckT~@hK0d!22^Jlg{Xe{2Jh0yni#uGyzq`2sWeHX5%bPC-1O4HFm5vXycq!wO znl&}630wk7Vf-*;uZ*H5rsIFt_~nSKfi*cU9)I`4i@nxiaP@8D-pQ?~&u(AV0ML9p z-vr-G#9uyXMvOi^cz-m1wQj}oa?;vCm8x~KC|YkOWpTVyC2MV+=PkdI>AfvHtwDch z_Q(|VfXoBWQL6mW*Khjo%!;XH4lQe_6tAjz`pCSSI@^U8m8M?RV|aO3#Tv5 zkk8%8C#avOMZ9N&4b!9bG5~Ae(0keau=B21mTHZ+>OlE#%upq(>+X`P z?P}3z@9nsH>iBlNeG~p^oBBE!k7|C&JiAEpuy|E}-k`Nwt2>&g9k6oJ&dhpei=O1K zy>10U|8^Z{Yp*}a3*ORvvYu1c*7j4bk zerUon%QVd{8$v=g3NCltJ)^Zfy;%=CL!C`W)vW^eY!hi2o6^v)nIiTtlDHRMp}hw^ zv*Ap@Ogl9k-2}VE;!4=6lYheXAF?9FZo^zDyb-6p& z*ipkr#pxRCvUM5)t=-hKlx&M{YxVaXWMBE;{Mb93Wt1}5@{Z=KH)|0zz#~s+QNf6}!MFpvW0m2lFzqYQ}b10$Lo{{o{k??_PdSP~xnVt@r0Br~wlYFP4tV zMvz+T;;zqkH*}(HbVMH^SF}qFz(!P^j<>ldPXe&?%tM&JD43Ocyv|O7a$d4!P3*^f z1)yCAO^(hRR@LK;OE?C|1G=rI8FI@V)w>lXWMGSJkxqJ|O{gX{23Qty`l%}}wlu=3 zP~kq>J!jCZTUN5t$)iy9tvp(>^iXS`tF_O?TBU^N9@d+d_9ia(@jBFSu`<~j59cEVgBEv#=7USbT}8cmr>dEC?8ZLSwc`Dm!bOI^7D z*AQ6ef)h9ZcvIJRVHI-2inEoa838I>>>Fi)NW)RSjnXZ&hr}Hhb5F0=bYqG|txy?R zR;8N5bDL_KR$`-JK&iOgcf4^dOp6<)6lJYxK_tOkNngM@+D^-KNJt?A4#5T!zYqn0 znYaK1+1w*pC`}F8-f+*FoF*k8B@BF8FVG509Y}@&tV<1`70e0ZD`<8N3ASpj2^>+1 z^MdIZK%ck_rz+7!TcC}qGMyt}wXvUytWDjC;zULXPn7N(j0hoCVnLKP#DyvJD`>=Y zs}OeBpi+Tv6ib%-kY)nc6vz#Ya4C6|P!B7uf$b7jghIv{ki=Hq93=?mVJej}32_N5 zsT1jRj8;^5^&Nn8&gqXAS6qrA`s}?L|BOFP)evYO$Qp<$`}EvN|9Bn z<5Gx$8W`w3StXjy!5LdOs9x!T1+X?O(rwnz7V$yF%CeXRC&hNNs_IqjF`!I9&~K)$Y{R_7QJ>~ zD8@sUD@9Bq$rM8uM*MYnyE`--C7D^@#1pUAs^IS3_*ED8%bISJ{V<0`7%4#8buTYg zM?>@V_4F~XUkLsE*1eajmrm_r5S}&a_G)yCFcp~J8?Jx-#nNf)?6-6g6GO8wE|6pp z=eni|uFR@hjwjt=XF58QTErrY058i6yIr@W?lM4e^6q@>_J%+tOq9GpO=(`qkPM-b z8~u(uTIvJx-fZ%1C7dI(t9kiWmKyxwy`y6UZm)yyb=@?PF`uF*pFCOTi!h{^lpwyx zdO0=s|M9>6(Cl0LCwpnI)(^q4($b*#=ItM!`1@%-4>MHvC)+u@W#^9ixR9lWx+a(n z_PQFg&*m3IinlEMS^r4XS70S)*|v<9^?o;$S5QAe+$@23c%OOJM~CGfe*g79J?ZYu zrBtGPva6;STk3a4H{g?}j@Ia&osXxysKEFC;jf?k>Nlsvb9WCVD4LrBJUaPobN4Nl z*mGLr;LdV&$Mwo+`=H$mSh|6sChM(Qo7g+^bW}>sDqC&kO*{PFzW?G`OttW45=Y(u z03ZNKL_t*9pWk-7e^XUo!O}B$oKzt1EQ@LKo>}|X7o%q9uteeo7ywm3s=wQ?XQbJ3 zI(d3>?~5O9^W9|F++S}mqZG|rce~w>THf~A#npSAPcDjBFLEx40qK*2lX01~)zM*= z4L-B}@xT5((0W;P^-=TD61Uz>{%GqT3>#?t2A25lEFN(U6lHDi;pFvq>0U!Fmg@)l zy^VhOF6eadtDEZ=Ky;m!xJurdBxi-T3fTPS|Fqkt#wXtwp$@xo8hrHh@_{itomRj! zFE3wrOcJ=>u++A42uP00*L{{Q9fL){)SOVyZxN9=r--Tkf< zW#@2Dfj{?*^7`zL^;&1HhCh7$e>DB~kNeEkZcDj~ae4jr;xFzU24Hw}Hy4cLvJsEC zQ-d<~TV$}}&$Agz;kJEpya@M)bZHLj+9Di>cL#f&(bd-tlj?eyOM871o9S|OOS9tL zXMgiQZvXV^O0C?I_bB?0Klj|*4MeAF#gqBF?eMU;xg%3h*7i@x^lk#)sA_P0|D?E! zHvG~dN3Fi4ZF*B#9M$7Fq-WFZz;Ah4dAEx9v|=5b2Z!&yRPP!Nj3H0cH~ac=Rd~OA zxcAS`mMWrczu94V;yy}dv%nZvB{dq>rie{U_N|s&F1Loh8@p-yrcoPY2q*IJ0et~`#^=T??=cOxJ)b*w;vQoIJ&fBivVgpT%s9xp;-tpVx#q%cF3&jeG1*~eN ziGM(2zc}ft^;^u9xAoN!=yx2p>Q)2iBcdOrV)Ub*8UOgNr7iM@R^z5x46QaT3!*o! zHum8yt$wcy= z`5-8+3z81N@kC8rMxiXA7I@f}W#9v8VTc8ru(e*{Oj*9(n1Hjob!=Aog2g4wTG~lX zuS&AX;)SiBtg<;}?JjLAARtzySqf}PwJ12Ml}$=?9l2S>xDExEkSYx$4k2VoB18dY z&0ghcTd7SZsh1^v+Od6q9$f;J6^d%o0OB%$%-~>)$+6jAi7*0rm@KhX<1%+iiy{y) z=3w=)>3x?48BR1YtZA#X@)cTHCSHp&6S-0|LU&xiHcYOmgfxe_0+m@=ohnRR>WGS2 z7F_6siSzAZP0DTt3Ku3C(w9}}fwoQ7raH)VR#a;UOF)%bcqvd4gIoZYI0hwY89JcE zh+CW&I&okl)}}h}q9|{f-bMz5&@(J)HU0D=TDN+2JR+O3>SVUZ&xMMahJ z0EnR4R*A&46fS`@mTQgarD7&=GEg97o6uq9%0Zo&-RM|W6yY*Ol~za27O#QO7-UTP zCWsU<3NE=^AqY3{3d_oXUWH3n=}Bc5AawMKD9D+l8iW{D8c%ow>rtjs0#$4nZj^0w zVj4)MtTGK-NDTs|V;90K7BST{f(e8C=MQRsc*`WuVyQK#NLW#EQp9=FF>S^Joe@-m z%Bp+zGE#<31dw^DNo*4uvkFSZBwrPry41y%peit_7qX<`AqGHE0$y>YRW2cx-B49_ zlUD#*NY^Z7Tc+S;SfmN%!gWg%Z(I-rd>0z zq7qb0YM@)UR@=N3$|{q%3Bv^Vh(Skl(qdz{79vu z!v1YIl(87tarA+f< z-|8r!ZPwRKy#cVliSH^x3#rmL+iC3+%E#kNORrV9yjre(SHqsxvW%>N9^KwvdDPji zQt8_V9-QdBz0OOinCq_@u-?ti48rx6esO!Y=Qg0}P^8~wi-zL1_i&xh!u9RHztoh5Y{rg6}8GvcoXUC)}K0j{RPT>7Jgj6E-4|AOb-Olu66B%JyI8 z-|cdhT`Eg1Q=}*n3t+JUyR#FwXQp$%?tVGmoX@$(--qBTr`#6vhvvODQB(aoq-&9H zA8hUL@%ntYK(bOVsl8^8F0QWzgM<5f?=QUFdnLt1?OJ6N+)9GZvWc$BjB%DGt46JA zk6s-6Tk75@p4th6knDH&!s$xiVj)z=7eACe9xHXzTu}x}nV4bW%3uD^Pw&3G-b9;4 z&@y7tWnO1%&k}K)-P|M%L`Zy_c)C`-qmfoW|Ho&mpFK4P!`CW3P>pFa9r3NYC{LW+ zS}(2@82|b&e|&LviNbhc61?6!yExz9?>4M$2~4l91{)^U?}*NfYRqZXL=|PDT{nr*^DYFS=6fgS7hF)>O#%W z=Q-iz51OSb&Cw!s^iA^MqaTk)M+7HTt&)N4^!@D49kvJ>2%3Uf)UY^O8F%jUC#MTm zEb36Yq4SC*J^#=1Pw)Ts==fimD7_9Yb$%IToatpwG=PyF3S*foc5A=T75j3qZr6X} zvB`boU^;sZ3`m3UiubhYQ{s=ZFz#?*4%x_q{XP&g3-gbQ^x|ISlQZXAf5S(&pIzZU z5@?D!s;cHNHmXudGA_BrP3EQ5zt|tWT9x2pl4pPM>EqXDH+|FDB=LIfEUI@z?s}`5 z9Ic~m9gLE7&a%->y|&Z5nb;YZ{k#A1m*;<)Ic%;=)rw`A6^ViaI$r{U6@0!vGAHDH z9;>x(61kNQL=_(WAQRDl`@?8fZk9~_&`FM0i?jW*9z7nYY90k!zm~+QcE z^awWZh>IY-8$?l{WRUuYTaDr6ZSBdul2go#xGf52FGgIrxS?T}D>=N|-_!s6yXQ}mmJzM|M+3d>I6u&nW&gArsA^g12)i2NA%i6uYDqhj6**sB|Po?E#f^Y7$RT3$J9yq7P zl3NOpNkT&^uRwhV3_)dGimlVaw-zYhr+uNl98Wf@Ybf)0f5!+{weMda{j}P@iZxAN zU&kwp-iy`gEkuTWAG2_@@%MPO+PQxfe_55-`|~43sUD%>js~SgS+qhYpIx7y8!cft zx&TH04aXiPaKj-9R6DUVk%Mk1QBaLGOp|A#)|k0zkyfo3Go_mI@4lZd?$cVCX%$lJSbG!9 zZ7uP|LC}UW+)&34xT!r zz$1&gP(^i)#h{AU&#q^O+qIT!3$pO$^5l0DXRqBD+h3$;OVBh`Wv|f9J`c;i#fmEGv)j? z#8#YS&BnGq8(m|G`=s;hA7=koMXA5_=C$Vb?TipM%CtePv`?;AHPL#RC#E${oYftr zzAKAgd+z1!e-p$|LVNaV)9%zwVeLuuu~kp91^^dWc&cUZCW0sstP**Zj#;qJYY~T} zm?XJP6~*9*g>q-RQW97@B_}npeIDf|!Um~s0M*nq7f2d$Ez=TNHB4U`IFod7wOR;b z5aEdwTW#n>*$!cqJeoX2PfpaMGR04y&@W!hwBW%)JJq0=1$ZcfmT%3!Swr&IEiF(9BH)LC~^7$xu+@t$Wyf=LJkzkWewWP_nc(QCzy&5?dni zZt^)3QG+kJfUGlz0axKm0WDbW`v_6Y3y5|E>3wpn6$d`QO7lFyq$*k=Jxf_d_o|yB zF$2R8%UMwY{Ipy27wHm!0E7C^e!c(p4|WPgKaCKhA(Uz~NaTu_uN1825$3swaD0z% zEaPbmmw$(T`DgH56&MprLvJi)3gQ*Odl=aWmp}v1B8t)Gr=|8EPbDUD;wm&8m1JOO$T`=(sZs81IML{Oa*Cak-g-;?$HV|T1fQ$AW@gniR#f$Vn<|T%LrOQ+c#5JP;NlRG=uUu%Dm|B@0eKb|P zySC#?n9zbJHK8-`7Wb-KuU@?@3q6>R+x4asG9;o9D_KM!<3S-B21;EbNDvTcS(}ZG zWU;AnMznd&MJhD#!t?)tBwi*cmw9tHOqQ&OSAfr`-KGaI7c&|b5Jg!4la^TuIKHwB z;LCS!EVT)tlNPcj7IiVo^7d^w#A)FR;o{b%9L}P(RTI~XOzre#VRCW#wIpdb46U_j+6J^~ygV*uT42`u%q9gi-_6a&!~WifC-~Jew!+C?Y`OfRS99P0wY> z7lO4dp4*8y6vW}m zX$#x+BCFna_{=!DJ)h9@P}fZqiM-#m1#v^lI-=h1A8@Zu2QUX! zP4Pvn@s;>=!CB#tOFusB)KcGWx67OLIP`s)J+Wb4LtJ}z;^s0LE>e&Pnq~}WEbs4G zFwumAAsVX1o!s#hEJlIX?Ot=Nh zsko*-J~4Lgb)T(xP~|J2w#d4<=#5ER0&agPwGPF^7Opm6gGN$3xYCIuD^}{--n&UUc|X}+BbIUy2#2{cp_|s)}1yRt`f4(*p-m~Ke(odauu0Xa(ukNC!)Vf`> zO8`79MlfbpxXqbHH|&33+mw7q*r;>ihT!Qc-nl22zhG~7#=kPVeq|9}X}ZXpS><&?iY5DbkqH_1i7cRYKjaAQsUh?zl;bdTneRQ>xS&#&(>^x5>99Ag`Rkr=^Ft@p(qoPj_l`#g<;@M$5MaMGfCVu``{% z2c_E2qkC`otAH)cq+}UhS2xZUZp;l}-r<8nmzY()`@`bPl9tYcIWOaowC@}IO)5Ry zHLf?ywxWg8qTYN6=B`^fLZu@|#jC}1zp0A}0Pu|GrBM+((8ZaMB!v+qvGtLr4ZM)1 zWL{05iq%;5gE5PI%xX0EATG*gl5A}DywmK-toQ2TS~tovA8PA@D5fsNye++q|9DU6 zY57li_??}EjmpmL;tPIOfVObNqrPdu4UN5Z)pJPq{)sD8B)nuRfZ5V}$yZI3l`%eK z>GSJI(#RScA`q`}_?eJQ14HzRvsU?um`;751~g4MpctA0VFU)L%^YB8+8H5zkl1C8 zWQmx7!tng15gHLMl3F0G6SCZ@i|nL1MCeo0nf0AiUkI_q?(Narjg$h4?}WYONCX$QR>Zfnl46%)eqLh zYf8~FA%3vbS=Go@9o;Rs(Tdp|#E@x86qvGJaKB|a`2r8I(RTq`MlnO3-hu!6=E z3q*_f)JBc%GP#OJss<_)jtaj)D2|4PvHWA zh!-ojY0^UVfScCA78Iu}+*Uab^AQR7HH(EJ!}vByOLY<4rb@_7F~=CF2l?dWk9ThK zET`*-){d73lWgg85JLe%5XWmxXl68TO3FC0b(Z8L{{O(|Eu}O|5&}Ju+e%R;r-}#0 zGD18yR7pU9E(*_5%2DR+%a3o!@b8;@|GIM5$*PLtyS4xIz5QQfibT$tlT0T@1>LoY z54cL1PhxJ(lSd$#zPmlqA;q{ssf3xAGCmA+QHqPqOl4OoObIMGjunW2Sd%OkGprE{ z##fXVBdI8$=)SCksZNpTuuta=URYWm6IsMJYY7kv&h`ljoUCP z2}wvZ8LJWnnP7b7{z2nRhf&N@ggJ$Vgg})q&ohJp$ru-MhzI#CvLW@We|7P*RH=L`h}} zjW7Q225^K)vcz;oH$2L`2+KSO)h34mjmZU+6p50Y=Rx?hUp2n`W{m}75xOm->yZ&; z3E-H@r(w(!8W)(PxeSy%_fsYyCo24iD4G-JoRla8fi&H4Y6U@?W7VwCEsj^!qA*22 zi#DmR>KXy&Fk6TUa3L%SH5Da@hP);SnJ^Dxk>#-@VLpgmgd|Rv!~mIbrLA2&zg!S`e?+Ia3v}!t&cdSm$M~nB`>QP>>GjP$Y;s%?%djSt#q4 z=Pm?O@$nj?2%At@$2{m~r48Zocmpk7Eeh4iY|GRDS%=KJwU?Y6$N*2X001BWNkl5o)gE-A*)D=151_Ljp~ z;_=hQp3*_KpY|njNv>q6#^aLjyA3m6j<150mqT_B6Ktwk7|2@MHp^G*HMKu4)Xc)o zBuwijNi!Sd%yDf2hzy7gOQ7zq2W|-=3J-Xr>a)0FsPott(=Ljq>!PSO6lZxW0W9Ju zp$?+b*k6c%Kl9IvShD?LMFlF~Jbrug_>glqm{2kzl!3GP9Byw_H>n)B=Xa|gMaxbs z{?M%$?+0h9*px~&U9mmSuUJj$0nf`MHF4L+-IC>Irk|6Vw(G45S4mLfj4wy^`eC%X zY1P}qiH~V2)=CChs-U!0r_1GpaI&rhnbd!O`}Tu!dk_xF2>rJ&*86>hBZo$LeRX^L zKmGE-`9u$wn_hQ+l67ygXZHKmhx>PJdxE&TJFN+Ys>pm)$xq$o9i>-25RUWV)hbMg z^6>CcaQQ}+)O)So>Eg87xmzLwnY(A(C$OL}o*UL71Q)8N7eGU@gR2VXRFLFYB`r@@ zt0?T0RGQg5+gUjS-QvdA#H2qtOTI-s?(S{XOVo7*fgxTLPTrk|2tTgZrxV)m)Yq0K z&BBQ58mbo%8&<7P>pu!{>U)`}y#Ms02WKxX^>UqLW1@kf`@O)5^Ktaa!IN?IYVl$f z(s-3qF4c4~Y4!i&X8d9^eD(1DN9(EBFROF+yANQKZQtD_lP340N%WGG5dzRjPXC{8 zU;XqaTkZm_1D7WR7Pna{`D^jle_Q+C{`c>H+W&a3mQ2&>Is=pdohmEa=k4xWP zo=bdAT&dpThv@{7coke^w`p8#$_aDvMMY#4Sz04mF~GusJte4=x!f;tx>lDr5{D=( zy&Zm6!FN-7bJ*8{@nEe|L#Upw-*+1o6NuNVnO@%Cz`PNsiYKwIKaXBkmDbJdnp%b&-uVD7=AIMenH}c!rY`!MFESEh zEU6rzE2qW;@hWszN(XZne-s-Q@Zze6;&l%|rV3e6CHa7lVuHj>0Dn zjgf#|U*mArsZwMz2W*-7;`Cr|I~zz67v@}PZ4Qh;lN-w7*0+;V7|e~W!>ZPw23TWK z;4e#@o(69W_F(LfM73#jbeP7ev)GdPOM2CSji9nWyFKeye_rd&$Y_p%k@9@4=s59L z4xeeZhT_{%Tx_?yr=#bb-|xs8>pQhcdm&Z2ppuNQ^|I=TwZHsH``zz8e|sIYI$ed6 zL_|207OVsFz$L?qg!kv9QRlSGRQ01#*@Y9!DiZ*Yd*ZK5?&Z?;E?n zTYdg_AMQZ`Y|iQ*9yC|Bx!o8hx2w{^r{%H^GOK^T06NdkCa0V2DzkIC5w9PGd(Xz- z3bL*N{Ms5 ze7P;PZy?;QAdZ7r%RV^x`|z9B9{J!_xP5|uqp<7QB2}O@15I1q2wa(8M8*26(C_Lc zS6*)AAIAFFOC}%Xhp}k9*_?5eC+}x(mCl1Yi$>MFD{7&#b-MU{uWoLlIF5)}RMH$X z-qkWqp?A;ow~uk;X3DyuOOmT;qrf(?P6Q&X>koS#M`Sdpp0?u}!Mg5Q^Up67}v zIWH@RkZmw0)`1dx0z#h1H&3&ca=p&X*>?QXo|Q+S%M0{s742!f3NL0r=u1(|$|2t@ zXW3HuLjoZU_hlX`N$8^rLsyAgn4(mOh6g+^$33IxW>-*T3R=ndu?xNwfWTPbslFKP zbQ+yo*Tun2sm#&nDu>mwzCWAMJ^H57NYc&ziXT*%yv8XdsSGV(1a89F@l}pn z+j4moPKenEBT|!*OBe(Z55plth0H+lPU7y&R-}NL>Ue05^5UG>1GI;bsxqrI)Ay00gVI(f~V6N)RI94F=)iO#Faa-HJ@V^Dr zT5-?Nn(JymU6YrzP#GbdMH^{p6umc~wdScvQ!O_{=r6z}@wYhXN-h~RnPn&vS!I)Y zNLVT97UpDwbJn?8$WumzO++9UTg6(^L=Bfm$;5{>3m}LPLrR?gwD1H@?@FBz%un5y4vPhp%S<%@%%s&g@$1^bDj7+LBMIBU z*SuVnc*cR;rm>qWHNGauD-&`lUo7ZY$W)iCZO-9PNlmq$<-2K0nO~qpRreekB{UTP z(or)lR&r5Z;;0@{B8miYAY&!jAS|>=N@=bs9!TXinRA6G;tJ!aK$C(}fh%Wlp|f%V zChbC9Fkj#i00kp~47T{<60$l0XDPSkQy-EwVr4Uzro~EAc#B#I%Eme5MGxbe#sH-u z!URM{D5w@je5O&su7Yx&^BD>Sgrb4~F3bwqzel1O=0PUtLV z%t&L7(G+uOQId&B`BfEZZUJl(Sxk-ql~TwB@fu(~N7Q!Aw z27IxUw1N~G53H&tejYnQUVv;K&m&L69-SagM&79(9Sy*|Ygdmhe3uIm{aEibc zI7vKF#0=6}t+`li1jRJV3m1;#l*6l}q%(;6pcrw0 zP|oz?Op`^-1CS(GD5ZH61EA|H%%UPHFakhi97k6XXDOo0=^UTf0pTJA0xXGvy$(aA zurhE(2xhpjy*QO5Ll=x$ z>T?3i33Vw}r80%F!7B@YVJRR9h^}ISIg7N``M88l4`2-B7TR6KLk?3+)+@9lCT0%j zfYVbaOt=`R0y2xb#BID*lCA_%uou%>ds|TWz`j&eLE$n<(owb$MAHeFtXW)^EOT$W zCJ*Pfh*g9(d75I-EaVlT%Mf%mDHmWKFi}CZloJiU$iTwRh|G%ug+zlG2OEzhktbE; zQmSm?6u?fxO*IX2sKLqW4xi6~VChKA4hoqyqG*ouQ8C`K?|b2SAa=5lm*6H!uypWKb`F&bpU2`bUx=`!R2E5q zQN9L3X|`T8&ARX2eRSae@%eF8uke!o#q;C+?vFVChcV&*`m@Kc-rX<`OZAk}ic)yX z2n9ijfN{UhFC11ekdvC-QZ}C{2fGC))%?J%RkxSaS=dMIT6ek*x?6{FI4rR{el`r_ zLN|Qa=Gh`^_r2i}2kU{Ut5)tT<92x~2wioNiVt`7Wn?$ITpm?gB~%f?>BxKZu=m~h znH0#oy?Wi2S4xM)14C}B4QM$8c^~$7FUuwQ-TSNlZae0T&woE|-w_eR*VpF)e}$<3 z*w}k{dfjg;zxqfWJ~wQ&?xn9Q>f%tZo!IZB;4ikSwe#c+Wzq5JyGo^6GP)Pb8=cn& z*ROW>K7M!e!axNFCEl#(sk5YkE@p%4IRf5yFO6T`Z_h8+tZL*Q_{A@GkKX^Vn!_LM zs?P>Qr~HKGPc5MZilV)}JZ@R_9B&qLAx`XeA0<=!X1^_DzP0v-JmxA! z3CorF;!-x$=btP0c6yzRt!7!67k-i)wypwDRpj_6%&HnyTZ?XwfA+(Bo|AMD4;KGe zS@5M6ETEB#1*KAj-wo7xQ|3mI_rOmdRXPLdCXimPFStkd;a9KY_SR}b9{cfBSFs?0 z)P~JnOoGF(L;v!&Tw8w{$meKCBseqf~Mhj{O)&#+&fZdU{0-_QaR6E*p+_q!H-_Nds7faneM3v;B4@xZdZNv_VeBL zM{F`VN?ZjfWodhoy@>3JDvBqY%b!d8HdtB}?E&hDV5}8weXIZM^6S0sCtUOvvx*%h z>vm)$Sq6)g2_M7R59uEBj2k*M^Ee&c$XT{6 z@k=S4IW=Q=%9(dZlk3{9w73MORpgs$CML^)V^lj_LfgI-ul`)e+pFMYJ-#!^rlsbm zv5y*CH*(P1gqOpsx!Cnr$);;|xQ%8<^cT zTOTo2rQywvu_f9{QN?*|IOO)^{huB^sFvpbFvN*7FK=~EzFX}){>8=Fg@HZ3DAjk( zqgSu)Ki!|4k3E>n0;);w?eTF*zcUC2WadkF;miv;`eZ(w?`?0*2IrDg%}7o+coL7T zp5aMRK~n*v!h?~=@aX%H4oBYi| zYx{k4D|2S*&ICblntdmGo4Sj|M(xvyF1Md^zrU;e!!(?1S3860i|-p{$;*P|9@u)TO9wPR>y)<_?wLb`me_a5 zx!}$oN%vvWe-XTY*n7AFTxL&KuHOn#|S$D+UL2}eJD$|TBS5(K5y|n1cXAbO+ z>0oga{i;*WJ9jk1za3ulDy|e;Ee&K&G4ro@trKbP@$JMg_G?yEp!FenZlnisJWS+G znr&4}wNPsAh0W99AKG}&8}M-t1JJ0T-D~fk8qx!a(9CyAN?Rv)gz{kI4x7BPC=^Gy zP-L}L*h?W|#eM1xyGnT`#U2t3UR=ypTSo3My&*|XY0;|g$jfr4WBvYgES5Y%H%QTl zRIHNxP%vMIWQ!puoO_%kLu*f!Za$|^U;Y}kqnOW*c6;?flg0#7#*XRVn09YIKtVoLcxoqtu6dUlqr*T&hAe;h9Kewa`Vp zS;m|uQZYwsYU?t|bJd|yN9j+}u??_Uv|9X#2dxF;kscJ3BKnYn0}k>jYXtDJE>@!= z#-SL3Nal6Ike{vhdCiBE2Ouh3iIN1G1xyh^4(1EMF}46uj5C~KUnqdeZv*ir%qL~O zwhSFr5O^#ARBWOJ?B^pm5$SFi|Oyf8=c%Mla7dl8nv6Kf>0#p+Ud66*_7p!o?gw}FZ7SVFG z+3xJd>C(`ul9WX##d+XRl>;oQEXg5L!+-$Fx|o=(xST_V7k%Y{mkv!$2;3CN zq{5YpJiT<5B^8rA0KlAOa|k#^2Cg$eIa6RSlX8l29i%JZ&@7K-z7()yf6;FFVg_?4 zmyKFd*a#yT!y?=8I*23kn@3On!*@poZ)MrMq?t~*sg_j=)z}}XhE&i55Ua%JOT;U= zt>MS6f5fB0(5frnE9-s8{0cA!GzEAm@Kr34BEP1Ynh8xsyd@w4=~}QVbDIV$pYVxU zqcXE-mgOKYt_p4EkXX6GpjEVG%BC6`4&l+rY9)fyBKE-FEOGWCZCnssfbxr^0$ znuoT;>I^wCEd(9*(BVa~5|v7)CY~>^|MNGu^@{2OkBftrRUS;f(o0-uYu}#UYP4^1 zXB&i98*tz3jIz;I#gBz+|RJ$X?^PsQ4hTb4Kkvpls|zk8tcmZGYzJG5x5 z@tMduH4A@t7CzlE&u0rl(_j4E)1&W)HDj7@P)I=k@uM&}`&2NnR0ujgLU$1tS5=kgEY-I z>5K&9=h4TdCqIN!jNU5>yc|#NZubStST1N4N7&}{!WIv+)7M`hq1OB9)8}8lstXNU z_gv~irq=T%e{gVdeS4Vg?d>V?%{=gczAy5LzINPJ`xnIiS}6Sp-9%Hicyw5O{pG*x z^nO!noY~8CGm!y*HL-W!1*bfaRHa4$#{RRo%D6mUyiu(ExjzLG&NuVl$<2%e_v^ZI z^=4C6OEV{QDnpAki=tRhC%^gc{*K&^h8IcQtP^QDnmKp&9)hu>*73c>8sD7sjPCiu zZr0-{YYoPt?!IX6Dd(r>vL1@mP}*WudhE_$m-X&qkrU$ zVT%;3t>W%m`%mrt=6p=A=a*>~rlKk3b=*htX_8}HkxHmq9h|*y-!Kuf>C(~oO26Jm zu_x+mv7my93Zjj&EXjpZr?VXgUVOs|jdz2yW(Cy(k>Q*8BKhraTbExgTTK+W_a0z& zl+E8>zPe*+!)SfxgNNnjbgI>=vas9-@iUS`-8wA0(ps2D*|nCK@(&n157O*v z=00t9u_Ww&Vy*_KAIgU>(=TP%Yz==SK7PAf4KHq&_qmT+_1TeI+9WFGd=X9u$ng(#Y(^C zTRXdC5$d=c71ny@nB3imU2=I{i1YhG?=nncuE;*0eQD^Zp){|D8&UF)Pt^mgzX_kA zf=$v3H3}=Tccc9Eolrh@ZYdf?Gh{WvhPU&Dl9I6$<)qUU6X8uFL>spjtCmF)NpTY1 z)ox{xqD}ogobl?YAwOC!sHzIvQYBpMeSjLY!1c=UGoWd91mj|V`{&vGvJ#uJBs*DA zSL>(AS8|ctN)h0=Vs|P6=G=g-7AJUQfTy*WnqRYXRPWLpZ8E^d_*FG| zl*hJ)>t0^t(q*P+t7y<6X2Odv+?RHxVt~eN9=4-EEsJ1XzhsH6@NffAd-Sdq=Fy z$h570SW^x{ZuvL0#>M7&k~O@+DJWIT<=tR%{N#iB*=Vd9HQPNFa6pk4#avOe>Xu)V z_y1{j0eJfm{+k?lphkAX&R%=&h3+Pv)TIX0QALubkv|L^ps0;-H&3^W$j@Ip zQ59t;hJ|Bdw{z9(&_Os62ybTDdFGV28*fhE{;0Pr1+`N&xLEviuWp7ouBa-7AIg$< zLXV$1iC?m!q5arGmsuOHixa)D&@RJ^JNo_tpYJH$EW~H-Y`gRS69nH+mR*N|m`}Rr z=J0atoF)$jfdC{flO#%O+FnS%8ac}7r=@LLjLM9o#@Qc&Q95o` ztw5AbVo_*bEoKNB>o|=>YJgbEF%|8qS-lP>g*tW^&477LUZAyI!8Ky^lJvN#I1-R6 z3?~}l*w2H*T%I+Rxl001BWNkl`O*i zMg;~6R0;4hPE@N9DdPnRV7x20OOA9oVk{b9Manai&~Y3z<${)*v-noU1(q`@m(~!+ zXh2D?CvO!jj0;wgF#~v%9#grR$5zFpdAbI`DpCXhJ3z$0r6eP)DH(ajJgKIERVMNV zpdQZ)z|wV$`O2Y`~luY=v|Pd67AgW_lSgT&RY=42F(X4a>M+KPvb{ zo1>IRExvZacaB>jLJchdgc1MVp5j6C6FmB1rmeVtl!W%zHByYamv@h z%&I9x7AAf^%|{!1TcsbRY=H|l3z;TmMm*05RM3=5^2_7VTl6n!^}8_fL6CASS%pkN zyl$6So)ioV-K!IQJm&z;cAAG1?>aApu5<-GcS;rkJu}o`w1i^5E_bS`45OVzFw4_f zLysjcV<<9}YLrn{S$R|2wh~^i5lk&Vjbp(hWUCvQ?ANQW=969%&lV@kJEF){LrH~@ zAw~`emfEUC%&-huxuq#Dw1e%fY-hYUOZ{!SW)*03Y*{FUP!!{C(*O|qd|DN z-KHm_&$qVsXqLQvuzzy%&4zLS(;E%TOU(uG;$#`UycP(>2&16sLRbzwp>J9f!B}bv9iHF6<^7jE6m`;Y$|>*7iJh z@5{TlOk6)7Zg!eWcLpg}MeHwL^oaUm^;s1Yt+IfkR+Z)Uvu9(!eDV6X%g{U8vlLRi zfAp7bGVb0I*2EQ-m!@^T_)J!STG76_EieB1|GxL+z023X_OrO3Np5|E|eR#N(jZ+T8Wsi!VRH)jmF!b5Q^u1p``|f!vbv!a(@9GtAX(h$LvGpr8ZI1miDp`FwSidodwBLWW zIvoJrVV1p|f$jS{<>d?S#%0JR(`+G7OYF_!*IHu>#nC3I&H9zb<>@z{V^B|yScyN8dgkpKD^X-4WBA-F?>(y~F?h{9}`wu2EKH?aAJU|8Vh7k2Zb@!Kts+ zP$-%TdWi?X?C$h!cQ#S$v>ERQmDX?`KR(=y1BQ!{zU}8PTMvHPy87}DIft71P$?I` zJ->XHlZaHX(8VrF(yHR=mGX3Wb4LzIc}}*fPu9^7{<+mexhLa$Z~fQv@Bhx;=zR3z zoaNiU$ zQbtXsTNCal%RjVumdn2|VJ2<%hB4V%F{B=@wYgS2jr@z%)@|qZF-{jPP06O$wVeY8 zdUW^R>EQDv{p_v1pPrnbwo%1*7L^i>M@4_UbQ}Fjz>WX%p!J)7e~sk2 zFP#tl6URKV<-_mY6DcG|usLXqvq_+q_kzLIN|u`Sa2n7I>a+-R zj&2oNW%Oc+=rNY0S}<(=Rrn;S#jX@2)?8 zy7{P|HRckBK8TxJ2)rW7y+=jUtzF5!eyf3+U~TM#wt5?Ve&6Z4#Wp}+&f-vF(bjhD z)$LagZ1XSg|74M$FV<+8qkGP?@AzpGWIl`2)mGEV=lZL6((Ov4|H;`uKI;Aa^!Bft ztsl?RZ^SwpCOy4z;6(EEY-CaJGWhzz(+BP~7RYW2SYt=W@|RL%8yYX^&C7XxQJgp+ zvC{U0UNp-oPOXw!5vnwFqAi~+)#Dvpe_aflUx=$Si;H11z zpd%yvhMxAa5BBBq&GL_0^Pp!$<5AkxT6fDO#MKR}UvtWA7U0cd5yPf_Ii6kZwH_Xa z`J-9mTN49-yK?2Gc4t9au=5h*Zwpd4toa%sW$j4i@P@zDYo08*ZlA+qJBBB^U{lz7 zy5I0|lLZAbhk+K#WV4J@fF=!Vr{YBGu=-~4YNPs4Ct6xCGQEq~(BxFbFMeW5|#9)SYPF*R+dUI@@Lz zN~M*CDnwZTZ_j>)LXoqWXj-^_X_dP(b-7}z&C-}aw~$2_bPE`moR|t(u4PWsw;|;$>{eU6)4%D+DiO3?@Yg zNq~W-VCu3lMyd)_uejS#_|YEv_M$#2W-Y;ld~2p$}M<7Jj1mtm`=OR@+sjsOU0sY)rCW40>84U#}! zNQ6Kv$4NRxk}dHnHJL~Uk!k`YtN=<%Xl?oOcD2V<0G&yNFNInWOiEQej2XP(U7XU&t6H29_M^ zpwj0u2RSO>T`YJzt;ZmRl1fOXAj<`leW;}jF3_|qHWr14DGLEkxo?1U3|Iv>Bks>i zM$!VQwo{sOPP&RV$xpXXYlbsMBF1HdC{~!y>PmX`Cyp2n@Ublf&YpZ`M%~V#%!QNt6*>a72KPKq7z)4HfY+ z;|wjcI9GDhE4f*%HtqFr89P;rOV?#)XOhHOR0vpr_~T1cRw5&_OOVPc%9&)Tk{d9j z%2}Bv`K%_JQ3`3sN}5Oz30TCXEy*tTOJsFf;xk#MNPF?S9|E%2?iNKa?;%Csws=Bp!wd<_CNpq*)omGOb|`H`$YTv6?cPM zQs95=7uGq6fwvkF<23>3_-|(80yWiP~BQtE0yZo zPivGfzx^5pSxf}(I@`5c<(2AT8Gl)~T5+7+)4Kz64sn^3IVXKZ)VR8!ZdgLa zPj4+*h6FCc6qiI%aZNLx&)in6RhOMr6y=F)p?=dwC!_KHc4JxGb{qA@@G?U(5+#yQ zqhe81pDwPptDB4ENU4+Ep0g0IWDpsqM9J17Iw=A5L)7iIiy{|L%Sy&%)log5sO#{? zl)8cqWh|^j+~moI-afm$-t6xN{$0mhucFXU#}!jfy*eip=gQ2b>-_fZeJy0RFU3Wi zF&1Yl>NHcK5td0|AWr8i+gdAxRFW-Kk31e4HjQ#*YDyZ7+?+3C(Y4mP+!!a9PFM-k z#Wf8uj-VMgt%qgux?n+;lB5i3dUNSROD$K4(XF%>lfjeLqf0o_$`)R?qj=@}5mAK% zt{aWEl1^40ZPs`C>-adCRa35+P$$i0fK*$&{?0Edyi;v^UYKcb2E%cuR;7lSdoRZ+ zzAr<0>#gbViYc(g@&x5!Ff%J^&R!&%v&qaa zjBTsxrPYqJWZFGeUI$6VuCgL=936*bqmbrgC8+2gDQq-;qo8{?`Af~{%)P7T(c|eV zZrA`zqlTWMbv>%HgZn+p@EXzw*EiRSDWSj^rLP`0pX&WtSdQOo9e#e{RYtwkah8j3 zX6`q#!3Tred&Hh2KL^^?Vyer~s6dvhzj*Y2{L72~M>EtU^9<@l%$zS8aRGT6`qQPo zv0$~VX114f3VjU5(+#w(^pePf+fN#ow@J}8QMO!-gW+}PD3l`iYQpzB)x>H&sT?Bd zG#I(*dh*#1lSc=SkMBm0`alfLlAz0Jb~E{>!>!udP7h4YL#?wn1C=OH7ImV%eP}LL z(e>@I-foe_NX<~Ife!19bsT?tvtWQI-WNal;6Knv>+AT<_+S6mM?ZUK|GkUr)x`Vy zk>!-RJSn6_a97dy`$jk0=&r(V9_?&R-Fer1CTi=h^zP~6|I32n$G58OSLx+$ht0D!{bSGV1tYxcF3cq>=AS z{x_)7s>FfZZ-aH3Px2vv`u5TLZTh<}zqaHCwWz{(Fd8Oh<;#yg?MUsE*_mh!ysUuV zhMJ9+n;Uq$sC;5*<(rZJv_dQF@%PtX$gEdle%P(gmfufCPOoXi%w=M|(XY{q559N5 zI6R`8^FZF%nS+aQ90H^^*CfHtX4@N7r4e*;kwEnH!?~r;nuqSd$yL zU2Qa*Z4ZBIn+LowWRtPH4#WHPuGHKfTz|VOcD;O6;|`b&o2?I{;Y-(zD~WXD z-ZdNjR(6L(h)NW!TF??m?rftpuZI_JB(>IzmscxdY^iO@PAdGTU1>DQr)g%i?X56B z%LNrH{G#|=7gDtP{5nh8rkxgdU%%0n1FtdIKYsn)JMWw0)q|VWZ={>*S_`}^d)9j> z&tMk!k^J?=Hy4nA5OfFL_wUv2bwu@c^)k2{zq9w=EsI{AfAXW=rW+`^;B9`Cn3sC{ z+P$$4c9PpcL^JE_ul|OTa_?~`TGZSqa}4{aZ~gwnKiDlQi|Qoqef{G1)2#T_2Y*$s zJ!U6=|2iypWo_%AoqoM#^qEvtsvD0k24{G;y}S^PQfZrV%Y69h=-;2!H|qiA+xx|c zGu)f_Uxs<(Nn4dNHI86GLzb(jQG}!h%+pqT;|3ldb`Cyy^_lwZKmEnMKmXU)|4Kve z;L)FNN!>+}G59$v?|uHmZyr7TaC)tqRz)hIy;N^=53{m@>61VE(dCQFZFP5?UG3~1 ze)9TF6Yuuvs@iyab$8?6ofKVyrmOnpz3O%YsE~Qw|IC-?uTeyou z<0m8+C+HQlPP=s9nUAa5vjOrqx84dz7YWm9CRwB^==YCM^nIf5INtH?G#7!?-0xO~ z%gf8|#)lF4x24IA=-acP_YN%IkSf4H?y>9o9FaNKfx1P4-=$&dmCIdaM82x6PSlxN!Z@ph1>Q*lJ z(N6dEtJAG}+f{ETbDeAa4>hV4*oC&NEzFwsqe=Al8||$hZfDy~7KA_3^Y0O;5#eX~ zb<=rrJELwd(1(wf_3!tzALr#|>%lvhFXxI~QpIh>jj?x8!k!Ld$5u)3WCFe}L%GxW zQ<8vd8mNgvYo@9O$T_|mTRsY%a^z2{rBSHy zW@=tA?L)f$gHI1kHunq0Y9;(GF5Yf9Lk}d9AuTV~wViDtufsxmef4s)w%G*y+ARz3 zs~uEHbQ!l)fkq4x?)xuT>0fiwOMiV1SFgV4-)l{_P&I=wZKqZ(mwiJTYR2mjO1BEZbOs+K{tFhviJ1rJ1k~kLy<_!-HQc-FW zEcp`S?xdWUY9%X8kQ_7GhX|GhI>7gj*)gHID&mIPKMyAjvZnw=&W2R31VxcCSudoR zco_#h^~g)+rkZd_%RDh9IV&UyWV)#@5>W%inhzveh2;_o&?ZV!O#V8UZ|NG(bP1X} zMv+3p^Jk@^<*BD&%TQ8|siIK55Pr^}Vy@G&E(Z0~4r4)OLRU&rNfbzC zX{=*ip)&C3)WH_P@n{6OqQx;awqwwtY&;s005b9DV>l9rC6t2l~I<9wOl$2 zsn7{s=ebf!|K^V@qK0J}aZq9FlA9Dj0hQN_|5iwV@tsUtJzH6@|~0?MfuQsQ8e!^KLqu|P7$<;Xv#vPMZ9C#j*i@btRjEtP(>M8Ade>*Q@At z+u4-_XWG@>O!T3cN~u+;5r!Eh@hVhQZC$=;IBm~cr5cq*IV%>sJ!`bM+UXieViM@H zQpM{X$>%b2+KmBhbjP-D&VS{dQij^lvN665W=P{TQ(?y#-zMXNzKMZ z7EDojFpa`AjW@euFbhMuQYC2`xHB11q;C8dum324Qpb~prXVG%pBm|Udh_z&X_e7IMjk@qI+}n!W zQj7|VC8M03&r@jAUbZT8o;I~w#i4kuIqUqzD$~fMQ$?vaxLeD$Zl1aufL+dMkHtpD z$7RiG((2{-l~L*mpOgS8FQ1!g6?W@zva|pANw)B>2Ctq}-k+3cHhk0FsMs1f_122* zET-prbMHZ?b2GgfMzbA?V_90}WMg~xp{if;u;FvbpC#KCgqk1Ytwt_HdNTdG$cydm zXP=C|(7IJ+WyGd7c=g45kBaiN1B;AAWayo_StN8XTxmrxb@4O`uwBc{h_^iGhU1}MRcmuvpeFCai_Mt97k&Z zA5odV`}CPnE5@_yr)J~h#po%-L$$muM@=X+duJJZdgdlumAzRa9=@Z_{w00;?YbWa zV{hctd6XosN7{!r758;*`uTUm`6Aix?p2Jb)H&L^E1A5V#$N9TGS1rOld!n^=4{cd z(^cqosm>zu`TV=OyjOrXJBO_x74dv&)*j;$PUc_72_)LYT*gY*t|=|EL}|A-KOfi9 zX0JbcuYUh*e0duV`<(}>Zb@moQn`NqYNBn(>qWi@mi?*~MUA!m#n1ci-AaqKdz<>r z#~Yn%&q7`z?A0bUb#ic{ef~fooyZqSe`A>5W}}|`!KL(a$@n9)UTg1uy12tP*LlK>vHRg{ zcAV?3A{M-f3VC+}FZ62RjzSN4DNLp1S0lfa<%VG~FX1q4K0G?|*Wo*R<(uKOZ-#N> zs3qRJ#y`AgH7?%Bi~Lg!5zVyQyHA(HkB9imgw~G^tWSedb--$r@6ZieOD1{7#T9NH z$x-R&jo@zm-s9c%&EkLhk55lNjR&i#WR_tgB?RyK9wuOoolP!QF&3 z6j-FSwp5Yle@XtAlks_>y1Qs|j6RKHp;i?+)*JmYC_j5>o6+?=mc}3xX2mLo*<|kZ z>V|h09$A~Mdk^CnbxAbU^vyJzi;tI=a{d0J=q~x-asSoX;_1EW%a^0Wqj-L62FP!= z8|j$E6P+w$y1z5MEXZX7m?&kq&I@!`_H}iZ=ElSs%jui=^LNFw8|ifE-F|TRe|ALm znykW0{E@GvyO*E(A|Td%tH?YpzYH9)0hnN<5Y51`se#mU0OGn zI9l*hA^WBc9rpI+I##-aznVJ#7|vD#+}3nUzCMuBlXRq84Z8e34Yo6TSzF`tiej${ zHRvI+QJ1ehd8r@gwSIyZ$&<=ZG=Vbb+PI74q zl&$*7^i7m3yX|{2d3TCmca3LxGWtok630`|(f885*Xh}yyesosE)5yg_O+_Ly_2n? zResfzQr&5!3Pg10{QAEwKrW$%tld`$mtEo)wR^^|phlJ}Um^Rq-e3mhr_4XY7vH$v z2j*WD)~%n9=6Ckvjc0+sV#}{d^NRQLs{jBX07*naRNcKr??ra?SUQ*nvQ5na`0qO! zf}nZOF1ED(Enj>+9zE`x7^MNU%py5bq>Ni}bLxQFAb)AFW;VTURPvQHQ(-+qO|RWp{0@Lqsd^!#D1Azp+tM zr%_lyI{jp#ZPwcrQ)R|1SwLLbeTQwViJO-55=#~onrtnUvpwh8U^c9lm6T=mx|7MXH~D1)6)Q>bBJW2nkHD(zhoEtpUsXtjLt05{ zEA)Deq@Vygfn(}gWkgj;uo28vofsA1hr|JV*pjxqA}RP>H#U+y)KKmh@*VbcT4#d! zDPyJG(Eu*pO;ov-Xv$qLUAC;FjPWL~FS*QtYij^yrYcc}BS@SI9nTX2Sy-by;${I9 zP+A7oIi9Tpqfh|i#jNy!oJGjYvaqGtE4ehtS}|1>=sdYe0JbH^D^UmU$gsGQP8O2p zhv}wn`MKplI};dVA3#iuLS^)-3~Y$7P*p%zV738w$N3dy#461kgSB!^M7Nd)iPS`L zlZybts1Qa4nSPNG1O=lqty4xPFe{)=1dKsyYAQlDW&SFUd-BGdj~yA6Y+L2m7~zbk z3aIJ02)HXFGZOQLVXm@Rrd3WeAPPUn3Z^cYTcFNCn6p9$L?RB)6G5opVWemk)+7|g z3|A}(pLxrwuD^fZ`S=xHz`O{7WatXvh$@Qk7DXT=L3B&c6NT7u7@0~DfxN(_gruTa z*wmPi^24{PKb)*`2@%E0!xbf-A~823nkohU0s&E}R#Cnv7%PxWp^-67k_(hZDkgD} zBt}zV0++T&*0NQN;}yh`VQ7Y2WXz&sl0qf%Ma#k#YZN5Jg_N6I7y4{9(@06xO1O3_ z&Q6K_l90%^Awm$lL8!ZlM-eM8b815fm~lX0y4ZF%5z!a!p+AYG}=+ zEF%a8Se9pA+-bLDX`RH_joi&%Z|z5>mhhZulC&yj5K=6-WbkfwcvajS;)C?v}rXe#5)C>}diG7K|AiB^75bC{ZRFb@!l5UrW4cDuM<$6Up@ zZYU|)HEeegSP)FsQRSb1|4P<{qmzUu!8)AVX=^%l&WQ1oKB5tSyG+@Qyg+SAz(me^A0Y@ReKy}Ve&i9p&8C9q|9kmRnL0i|HE z%9-1!Z|h;@T3mLk)8(p|1#cR%_J%BgZ(G$zv-#J(cBcSwD9D2&HJKEpx#I`p*@D@o z;xRV}5eDlx4Y#Y#8uTTOa~K??^vzY^Nr;sZdbMVZ2U7maB$uPt#$c zl9K8b5F9y&fwmw~xS=<%+LW;9%I(zDWOJh?QwG7NVcbS;95F+{#!}3?J-ES%J2EG$ z1>!Q6C7Q4mc(Jq7JG;Exa5i?kTNlf#o9nV(x2O59)hjquZb8fv9bbQRQ?%v7=fzD` zllN_XA)>L(w3@X2q#dG_R|WqkMO*}ciN8bC3hpH^zpy&1Uk zyd1LHrnXlvPv={I@+U2Ssa4XktZXxL`qem5bln+LE}Q{GJVxG5_r1mCWk=h(S>D>{ z{$6+2QFboJf8VUw8Mh<<@+w$t?>`6%@YPpex0?43s+!Xp#Z*ToO-Etm-3aBw9dP&A z-D$0EfA!6G58mqe>FqZdX4(No2{zI3iI^n_+r4kAL;! ztrsuGwyB=JKKoH+^9%3z!IS?I-VECNJKtaZ`oZS2r?vqdM{+_2*=#)2;kah{16Lhg zFMwRHXeLXhxs$xL>-gfnL|-?+qksPTpLfWEv^UQ4hS1`*7_^d&=PNhKQ3vM|8Aez4 zXnXzqvq8f#+$Ao{@=x`5uX$YGnB9fW?@qse{J3-BNh@);iJYAsG>B4V0jl-=!RaeS zgDY${au++y~NcKKdWqn_XF=m+R$h`p*yBmDksI|6%)oNAuec zJN-%7eWx|}^mc*Sk-IvRa;i)H5l9-R$3V+<44;4Gcm8C`uXIfB1?-~v%6*7e80)opVE6(0JRnKA}Fb<=+>W&uV%&7 zC(`DRs&mEfy!`H?NnBP|i>ztdXXV!@-Owd}l~bF(IqV;NcKO$PyFd4jg`xDGe|iGh z!K3@nri1V5x?L7TQti{pZ|4Jff9DtHR|DNDYv4}pJ$Va$|4%P{3oT-36v3+jW3=G% zjyW7X*MM0uE$&7)X0`Rb|G9tquKDNYgX&kuZzO*Hkp6t7K1b@#Q~TZ9+ofSl^*Wu* zv&wCrG27ht(_4T_^X5c)*zaDfZjGL)lSAivI>}B9?E%E|l{Z>|VrReQoqkj1Jq7Gk zjd0Gy^_{=l`swxXuDvZXu(Qlxox~cGy>iq=yM=q=X?K@|HkaqeT#|t7*0Ie|`cU0o z$z_>ok#Y*k!x)Z%=4}$ItyY0FY)R`mP?Gsa-vW)OXjyqnM>*u8JnUqXSCZ2-N8>?w ztn;R_fJrxz#qKY5w^qw5-z?qutrE=SS# zUU5(EaOVP!%4WU8!{o{hcOQHkU8@~Y7IGGP-Rs~xs8)gGS2XixBDJf-4%p46KV0J@ zwdOXH)FuQ@ig?%Fp5}I~JIRT>8-joitZ2{UGbI@rVMU?g(8%K?>7qK{iuD(y+9+Ty zl6X9%TVPJi!@^ouW*^S*xS#{JV!N#aRld6{Dxe5(cCcBmm-FPg^jQP#45rUbrxI&u z{OHUWNW|L{d!bNbj;Ibx77|K?c9CQF}9fMR-sC}&*CB92)64D zaV;fPQ=aOtrh|n8|H7?*bI;t6U^0x@ro1}~^MIVj8F)QIPqrKYvOlf&zI6e>@kIKFsDG3p-A4R!&<=G4zW(UP#LFKezt;yY#hHa)JTVSKRW)Qz%ypwyx?<=B+P~ zl^b#|nY9}&wO;k->(L_V0G(~s_3-*lOY3oWIxMgzG_xBAtl-c|3bzHje^`!|;^bcW zmfirfxpf%uxvDVLUc*Su=yP$p%WFC!V=(QheTj_<=RxYep6kt@I?vn`HCta?NbEZL z#xuo>mF&x-swKZhx;Ko`X%*WJl{w6AQP zo*!>i+6^ixJg!LVuG;ru6bpXKg1WF}wJh?9>JTqnNSdbjqbaT=>9-Bd znTSeAUv99sVMa^+SS^((ixPl++M;=8V{pxZ4Wt?`m^$|3C@1CKLo+9Ta zzHQL`D}KF!k%tL{IX9Lfqp~4Y$^(r}GL0<~pP?=;C(H*Dv<+I)yyk~XTM@aaHzC(V z;FFsSB9wJjWbgz)0Gdpe6nRxbE6=97Cj3m;JQGS{!kq@31OoMFZ6(4Rv?3g5TvxH* z$D1jdAa0iGnq&<~a4CVXWCFTNh`8?)sf`r`(=eq?3f&Aef^r}M!jTonQ;LnKOm$Mz z2zc1|%YPmIjig9GI!(NKyNbREZV`!9$?Ta=f- zw20Vi4;wmYQcwbQ(@aLbYWgMMz{6Mu%$*CR&YK3J30zR7NMvaVF+`U(C2N>+LQo-9 z#jZz+IRO>IXNhZ56AM`uB4v``UR9}wrJsW`6^V?LDrW>}Irji>VJwHlGif79Zzy(_ zY*q()$yo}Z5>{okI?RaIhK(`ss-mlc3wDf2=Dp;9E7grqp(83~~Z zL_t)D1kIrU1n{U(B!rGnk|F_=N(j=FQQu8SQ`0e)GG4J9L`p0LMOn#tXdwlW7-xyM zmYs^`CxrsY(jQ6+(340TR% zna8>ceLkSDVk3P%TPj+G(kO{s4#EUky;@C54GacRZj@Q+$Z|t2gxU_XB#TfA)|L*j zrkkD_q(0!tl4Cd5s9>@ji=rgB3BVYlsw`nd6qEpy2M}BEKss`M) z*q`BJS!~7O2$M&$ba6R=h9OlOowJKs1xs8b%i>mT9VuE6Ew3w;?)6P%JM_S^jti+{ zUl%ad3v{^IE6Y{CUZ2En5`^7)z0C4~qRbck{l||!{q4tF-3|g`Ih|vSd=M_Di(3Ef zs(gv-D9f5zyr@?9NpQDv=;-pUL{d>tcc3(vDM(x*x2ImB;Pqtmd8<}QGgeTPF0b~~ z!!$XEpaJCdb`_2TqgH7Yz<2a0V6E+ggeu~@^W#!dn*0$}Mt)WXQ8L6&Q1!*~wgDyh z-doylK6|mhd0z@o6^w9^MEuTfI9I37`>pL4XKtmUSos64ocZ}_x3xcCED|+2YFB+I z;w*>F+kBQzJqyX`)%^M`zuLHeaC}1@ec~s_+IKgv zW`~FpC=gxAZ`lAYK>>wBbNc$-)lbi?uknc9ycK17gK=AwF(-YovTH4Iv#nU zx3%_jYjPno8#gysrSke@a+wn(pK-I3!`9}52YdLmYkcrd!x_z4nmC>HZtt!3ZYYev ztk-Qle6)jczv^@Nkd}1y>h=^BEIQRDq*a)>$7wGO{cfHv6-Ju%Rjqz2c1Q% zt?Nu@Hk8UAwt^Rp>i)~_QzvBU8|r#6`-@`brne}R#9X?|M6X}RouYK-?c0Oay7}t# z8NeIe?tre*Hz!977q!ZDNZFLY58ct;?yW^6u;YrC{~=@5n#mZJN|4yPy z{j4uXcM3qf8h=?X%2RcDw;>N_g5ku|{*vc@c)#*j=JH&oh4b-1gB*$7X%ICAR6 zy6L6m<~z^|YA68E_@wx0_weh|?Y}-W|FAiA|Ltsv;{5R^{7>KRPKfi0q_8CEg>#p# zkjtZhBdZiti(6)p?`&u*68zKiS5>YaQi4O8jBnQ8t=b(-N3|7s^>jI{IMXyB?-a=9lwM3PW^&n;vx1;HQ(HxFp0|bdY4P*Pw;$GS@4v%*_e8(4uU6J; z)WB{RE<2H|Q+0>(mn&`N8hXjRo1QmT*Ze-gU5@htKOQST7faK8*lyh0T8^%QTlE^_ zPK|oYAN!Zb14@9K&iH9ksFp+eMQE?nm*erJ*!(X+_h^~D-r2lg^=0y=Jn6nFp`FlS z<%jQHzW%>fH{LIx#a*r878>^CMx{y=?hns95t&{ElWjy?glDS>-HX$0Tsum>zkT*u zEJ#u*QNunexYsk?8^>_>Z_E&2x} z$u63vG~KNs$sn)9Fv%!_^cvQYSKMA7ULTiQdT`U1?V(EwTdvxX0}-?*4{c7pL#3T`)T#U$Y9FHd8QBCvmlmdFYD@kKY?&| zRAe<7g}Ah<6{F{`yK4$EoID&|0d^9}RurfGX_(^KyV6}(&CH=WBdqtE1;;m{VM{6( zt}|zE`H;zeP$*QRdc(o;G+DN&jXW{rT=4o%yj%M7>yrdSi4}U&L+RG-AM7|!fs!yl zpDZT{Ro;=PZWD;-fHtfjZa01b()z%@q^o%vx6FA@S8Mz*y$OT68$Y|4d{v>g`;$Q% zZF-UuPbN@BVo1tZFReX17=7I?>`rW!6_^NTMWr!u-#QsVMn!=xXHD z_AzrT^va~*y9tL!Bz_pg@G3j~6n^?+{PM9^^k{jRT&qF`%C^c;N6WJyElK4_OSuR$ z*UVT!q|OA{)(RvCX_#hm4y_g|xU9&Mq(tfi;)cip z4g@5vImxnxB^TM33qwIr^AI6!6=MgW`vLiE8>)kB-G>36kLLk)vo~AJdItDOUK+cy z`@AAjg>rT>gA||0HtFU#Nf0-sO`S=CSmFY`*(!WF`fVBRHS@7WSQHNX*$qQ&EP^>D zNCe@lNfL$SCY)dzOb7!cu0$q~D8xx5VTFRePo`%gx6gYXTz|4U%5n+Jc7-OE;@KB!t zS%6a}FOZ~`fTd2eLB=!Wz)pEp<7e@N!<-AOloDZ<0SF1;CrQjf;XeD`%ka-05n>cx zVXP%6j&p{~+z3-h!F1@y2%#X4Lndd*Je8s3 zV;d6z8&)L73K-DKClVwCEQo-XAUVkhI%Yy*3Lu@bvHOjyw z|5qQtEVgLGXE+W3sFTo!D8|Un%$x*%9!1D5W}K0_6sl{vowHn&AwYyN3dm?4A(Z3` zl*YNtlk+r85}BdAB7@9CLdda~UQKS0`h#!i2{q$7?31pBi7(CkrHreOj5`eWSob-z(@s(jbcwKltSN-SXUCXD2$9G zL#${-x+Ki~(4q=z9z|tYCTRd6a+f@%##!7YNJen!6ovv;ZMwvz^90k0KZ^*=&}fUIhrL|k2V$S<{)OYbYVC(8~%g?U!x3$58TO>B@!N4ay12hxQFkv!!M^&(L5z zic1mIjbfU}aqcR?ayH>1){+gby-Q~o7YX0eDp8Wn7iK|lMWHeA(vpEXc%lZ??&kv308`6c6xnKDvMEWlMz#r$(4Hk)o9$(H!H1L zw|A7<6e;`6J7JM${b<@Q5Tgwu+zs z;d-U0j27O`PIHDAi79;g!QNnD_B!bb^@&@Yg|pYK^6olWk5CsA>FwG_Q}YM9ZY~=GIhj0ln zKrye;9q!7AVhpn-UuzelzT*a|6VD6Qz~}7DhoPnA79p`@d;TmuG=7r&)O! z1#ezI0nKt2zn4%iq-;&rvYhU@&@kpUvGd{N^7%&L-e}OR5=AUQhIHO*(S3k-Cl4$r zH_E;7SU4Mv@vt^jsP9jHc&GK~qxCH$8r@aDa}WuY70m#>#pKSd_l8z{?HQw+!wl0E z2KRjHgO$zK);KrGJt~Fih~@YoH!BrQgohWe!-w+61NV8N;zbvW)eU=eyy-N1A>G{G zJ(?WSNCxyo_V9GhYPB< ztuiA&9J)X9+Iz_Vp(cuD=I-ET@u0Xf@mrt%jt)2Qgru;Z}aDj(8feQenziW@;OqJ^%n907*naRL!~rq0!5&Padx4`NPlu^!xSw`lIsSym{8m(;5Td zJ9>RK9HMA3J(;ZU{Etb$uS37Z(lbhblUyr?xm#_1ZT*o&Jet3`P-JZU>1b$kt&cPM zZ8)m&nFm-sOcq-!wO41Sd{Rt_G(mO0|MkP&>Nxx5`SIHgx^acO93eSqL2Y>eVnCh0 zy%%pOBwqK=OVo!!-k%Qbn|V|ao%e3P`{Lk;q{!6ti_HgRR_=R!1cJ3nacY#(@@NlM z1D+?Yri;NuKzln}?I!r}Cj73R2eNspU5JtB|``Sr?}Lt2VPS$IqM8 z)Y~6%gR_e&Bu}r;?(e@d={Vifld4#uuRVjD1?#J7xN)-l z(}VVB2`=3&wCACJxxDyz`@fCA?{bcKck4IF_}L;=x0)(%P?j(I)(aW!2IN~VUa7L` zYmQpX%rafRxiH?lcl&%cRf}0RYBs3aRq(kC)-R1-TfX(@@jv{$@VE1lqlCqRc@_vw zCm8nt(JpOqPO7r=?;TtZ?WC;mcGY53FzEnr+U*i<`J262`?!cXmT8ay!9bSe=rCXq z5rZz_S(;X#25E=%cjusMI9qZ)4)rF=d$AOv8SFEP(CG`8P59o^(dVxcx}m~t?(eE;XQ%*w?)GE*FSv@Nr6KETO7j7+xeVT5 zVoF-&u6{<$<{K^fBKU@-fA;0+v-^UKXqi|}pDYHCm3Q6vt*E}CKikf}TK1UH9{q^P zD?5!!GWBD%HjRdDBGH?L|NHF4_WIvlgx>^l^$WE%XLHQKx-3}1#cFxNC0o6!v-ALi~Pq$d4osa9OE(zEKi?nmNR)No3^g)DCq;iHZQ>MM|iCYH#oCcTb0~pxR`%u7V3c+n4m=Fo+%4cala+ z(6f~Og}iY>Ui#TI#%2JMRi*LW;O#0mnv%_VGOY@HiK~_9@sKJs86}*_G10MUpBS-p ztw}EoHg6e=c}$2C!Se}SmzJJaa6=NoxR|S_L}C%Rz`iGh{ir}*FXkn>X(y5IUC|+5 zRy{ALJ|;Ii3W&UAOz(Dd`)nIy)08YR#jBof#aQSS%o!(wvfz{tz%B4rRpgi8xFW|E9T;G4x!jprt~$)^cPPGq*oQL^izGs&t) z`FuG`Ih6o{%5*_$$CMy@*hRStN#5dI;!a8qMHHHu-3F|kg}2aZ6pp6}&(ni%=Qk3; zWv&@XJVaia(+X9>IG`vqO*slFfkHwf@L;o=!zddwM01EI@3r^3-8UA<=v=hY!3N6? zb_Rr>K^(K18LNpm+NLm1}Cje-~va%6^V z;FrmbS$68gHVr5iP#U3=aFK-tAEyiobCh6g6B*^^p^PY>R0RY>FQM}$k&nVeWkIlr z#{yd?BaeaH)N|f|LzEPw%pfv1A}J4r1jGcPkjO`n%~OaFK6pC-JVz5LBxs5@+>k71 zDyBI=cnst+Xz3Xnfh52InHO<{$y~{KHzx`-<;EH1rb{i0404%~O_5~h*|kd6BE|}0 zTFg@8X4PwZ2@pj<3MY^p zr%OPF8K#nug~S{|QRf?zEXZRKur7)cS}3P!_UG?k;25t{+C}c=Bx+U*WSV$jE^u^~ zL&u>pMT>kqHs&(R(i}Y=-OyBCujy06Uy}A${KUEtL^c*!kkK>)ylgQe*&TeZ zm-j2GI58K1AS;C$f@CdadYPN2E@DD0EHk1DllEe9l!&z|!3u%U)O4@zI_QLD@#S3OezwJqa@hJbCeQlQKttI3`o zJtrjP6YjlK{eq7Q_ja0&*YmMgsS06aFQ8fG^e5fv)`|#e;)>(AqzKLZjg{AFrX|iH zVm6F`EZ}%-#rqs~l$0W3rmBpsGfJfq$1q9QX0MC|n=&ZX#D4z=nkww+%8>813p^S6 zE|3xy*o*9{w0P&kdk1e8jvwpjw!_crtl3;`&QFraJ{r@>TK>st^1W7ChtXM*<|dzP zs4LyUSDaV|ks%btx>Eo8r%Sye&HGhKIGUf>jrCIMH^RdKQP_>bC#yR%!ygkSlC}*Z zF!s3n|2+QV%4RZnOZYgbt2-t*dh0>KMwl-09*tsegHiS#tnZst)pbPq!y-HPaW`_-l&)8yU z)6EA9P4Q8_-J7h0;lB&AmR(rq-sr*lUwI=fp|5*Gd$+;3rtG6c z{qHF&zP>st7H$`7C9u|F=bl`KdjL0g!|xzM~DHqYmC zI)39hX_(M22XV7_K5`8K4$Os6BkC9CIQC{6&AJR$7UN3@SpTwqGrkP-aFF<)?e4vt zkDB_9QtB1JR&YI48nrlDbQj+3M@{qlzznX+6*QhJF-7)cZzHcro5HB)hrJ&Gu|m=_ zX`Q<~?KEiktoKvKL4pLEeDl=dP+tA^^h<)=UEgM2pN<4($Igy9YP(7?+}+Z%!>2qM zW9T|WCW5_RJywkD`09e#+NzF@=G$UzY8O`uLS-(Oiql#pHfM+9MJWa4U%j*C$LpWl z&&c$-Nf$g2{;$;Zz+zs8vzU1~ZBCUM% zm+xL2pHdB^0w(Fw<_kVj3`xCo%so;uCA1>PzWz{*Lvc--EIH3uy=Un zSw$3-XmxY@{>|*qjmn0w!<`&-qQK=g)-y(lIQ5}K^qt#3%#4rrA3VSO9To3AZmt-b z%X@(nds7fgF~e{p{DaBuUg)0=f>>ju8Uyg>SsDkv$n2fsi3r%$vGP&IER zt-$VJeRu4f7T67>Ha@Cu_uVDtJ0i5N zl0oXTGUtixDzO|43)h;v#nuCQ#_-g4J#U%jN=}*&nBt4szk7MLw9vbYIjQucpr~3> zRf1H&U2^Wk;wst$PLdwp+GXSGQB;sY`fjVj+e2DxkCqedi)@7ZB(zm&%)05bQE+Du z_O4!kvi-BKx-Ul-``5Ssr=EBISormI+6fTbb+pw=V9l>7l(+(zd_xUdA{T0WL7VlXIoky@5R? zw6ft?9?O<1V75qk2*?rF&T1=e!On?6R5W8i%vriID>pu@nu7(&t`THDez^7JpBg zakzjazs9zDe!q@1gUqAQT0{3jCE!zJ$HFdH|1tYw7naMJ^$Kg0umKI7xBND2UcV4+|L;#+MXBYaz-^ zFCawBP^8w3#RGUsF>Ebr^@x`hdb5~r&XTDhxHQ(&aB!B~Y>PDt%<84TolO6kp=uBq zFqIsNXcC))?4U@t3VE@_C};jS%~L>W1Q}n2u|)G3>I*?R8N6LUpJy{QWsAanHz#>g zC259FW=y`?A^(Z8c!7dtOlMF^Nsh=aF{qF!Py}`CEp{oz05YTaA@&7&27Gl1eT~~p za+4xga-vw2yt_R7)=gN#5fMv}Nk&3VX5|cpU};7aK_McibkZZ(B*MBA_lmIKMggWL zFjL#C)Q=9iR2Z>Ikt~yVpz;k51151H6aYDi(xMdm0gMZD(@J{^S{R8BXo}5)BIK6& zxB_V-#fS*w;F_gM98abxu10!--4yZja9W`BAchPZLCkSTckvaQvj!OEJ}WSkow_9~ zI0&mT7lvL8iaB8d0xIN^5jHW|1y}(zz;3C|Eqg#8XQL)=2Fx^_3pKG~kcNVFo}E*H z>!lo#Qew`CG`z}}EXibq97j_f-7)e@njoQ{a5Qd%!XiJ*NHNKAoJ~R^E}>FDhej6Y zSxQqeAEzM(d6woV^)inD&`)zjA)MsoBuPb@wY`vrN5~LPu~aV)ri89tn=US>;@F57K@5Va z8kY>x#W;cpd?b)ZWUSJe39ud6FeXZ>oRPk3CoGRKMsIvi=3)ZpQ`3drkHiXW%{!&LAiM(B8u>g1Oqf+zgOjY6l-NR zb7?cpaFCcz7G^Nx6CI{ZMx=%t=IP-^O+W6=8?{x&uVfr1b1YCE$%?)^;aKQHd+Btr~)ML-xK%aIa*>6ty#bV$WY&XyuJ;=L8z;@?&cdHTz^0xnpuney$hZ~?>u$`jxF{fY5n5!<*IS$Y{-MOvw9uS) z1*&-kM#Lu{-hcJtrOe9`k9va{nHQMc4VGz@$!+T0YT+^ufkm=0iYUXS5M)qz?R2Iw z35d~}T(ctT{^orj*#33T&2myDNGH!2%_d6pZsIH_`WDa|3mGAseU!;;2)p<_f|=7t7_L96$}5Cr+gW=Wa-6S&HRVg zS7k-%xZFyS!~=1{Q?h_IwjYl=Pwi;1!aTg0+V9@l9f#*Vf84IdK#BKi<$lKqeChuE zoiD$5O9jIPy*Un!iuzEM=J*MGawXmFV`a)Ujs`HN3(fBw^V&tCazi{Zw2>M|v+ z3rp*MuQPjtf||WoYnaB1!P0$j_vdt?YS1RKLbGZ-Js7RYdYW)++%Jvz!ZqeG^zq}?Y-t|8jTlAB z8Qr$x%=BDrG%8I;ZD^w)1QAQ=RdQj;LzlQK;mPD8Mx}UV`IpzsZ!`O?7H~iw$>{OX z(YK2@{ZD`Yo9F-bC!7*WQ6)vrnOrr6wWHaSB+43$79m%%uDI6z!RdDqQ%a^cuEapZ zm5Jp%b!Dm!B=dSc{cQK=*R!*AzYtK3Ya3?E?|xnX-CIv1ox2~~mmM~q1EQ_a?CT_i@g*dhtLy)@bM|dMzVoYJ-2H!k|4)1Sl1?qb6^d4; zk8c4${pYs_{~}g*r=73-3y#TFZv3*UdXW{z~9oc-|jKLow}-os!1@w;a=U6PSx zCyRgi>RU}{YshNc{Y@2;Z(hAV&v8-|!~XNa#(gvVp`tYdFES^m-FczGzhyix+vV=m z3kSzfYHJUlygdEehw0!|^k`+1C77GV_4w@(!Ag>ce>yNXrFYdf{`%?XA3nI1_icb{ z*Ve#2DarXDLh$AD-pQnUrx5N|KQ`YU^z&04zQ-pWKUnd|?}lelNfP8tIwmet; % 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

    }E1!tQZa45P7fDj{J!$f2_0Kxet4x_EAP0gY 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

    xe{VMDANM^qN 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

    d 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%0A#-hJ(7FTVI(w(RU~y+$HCsZ3Dx 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 {6IF3<7$QXe#Fn|Ww7$-FA-oAj4>ho?J5;6k8 zx+Gq9B{+GbVGs}j+d$LpbUW&14aI2`$N5y&)kQlF?G$V#MB4(O8#V@zvcSVQ=J2|S z(I`MdI0~o+Y(f^%L8E>tWg`r#H(+@S`uf>_8e<>-hv$B8u6<%}2Yv3YZ_ifN9ZI}? z{nVNFU)=xw|G>jPd-c86lMf!P=aO*v$`0uMYfI<~^*_w|BcJ}fUvmD4+B$W0(;G{^ z7X}}^`~E4YsW#uA)%caMo8oRXncA78taNRE5!g-2TjgYJG2{fxx3bvPtxu|1XWE`<)xDnuft4p zt5V&&y9_925H%dVN7<70`nrPfX>j9>uI* zy4du)8tk3{AO%SxY>BXstKNGHrjPy`Dam#J3d}T!SN1H*cLjvTN+^xi=2?JW|}k1_Dt% zphJ)<8hZ1J2lTv-Fo(k3AXM=TZM1ydV(#!(U8TX2b?Q67mwU^&^9|w zUiGnbyIN!+#3a$~UZG<%8}q+NboU~-hx4@Zm0CL6{Pa@~%r6uP#(U30$x=G)@UA)% zA7`4H?fqbOZrhIgn)Oy`IZMa=g|*e~`$MgUyPnGUX}FxzR79<{ZG-V*Vy7Tw0C>b3 zF&8{1wU%BUAKufp;!i!-`yN4o>qJ}wN?_Ilju@ecCJkJjvoMaHAXYUvT<5d-^SC)HN(oJ*$SU|2V zx|s-H+Hy$8*$57eO$PNeO*)xsp*w^!D0%Jjt*(JF76WEK%nt1AizN1~E}n~b`wGiy z_i#YS!-?(F<+()?^EI4h5Z#%%F^k7{NSe$5C{6Mf%%G5k`A5pdMoUMBdUw~hR!PzW zK(6c8uerHl562M{?vPY?dQul!hJ$XOJh;3#>kIBEuNPf$pw;oJwNxY-xN`D0_dWF$ z5K>?;=VsUrAkeY!W+fN&`Vg>b*beYt{_`jdhCom;Z5l^PyuJX!Ul}02xvm`|O(Bf$ z_roX76d&#p5SyW;H61fta|HUas3=spfEULGWCNyMo?tIQ&@rKzr#&9iHXxhVP293O zrfs=M4FMoUs$eJzgAU-RvREVN2@nP}14Qr`;bBDK4u(bnTQdzC!NQW1hp~t$>KNfw z)GdH85s0!>#?V@*cM#Ma1huv@Hz{ry15`z;>b9389Mg8Gs)+ziKyg5`ZJC_p02Gea zGD}Q|iiJX^#VVbOo1qj5358sm)FS)|07M9Rk5oz#MQ< z7uIj>U|@h6UeC>4(SoO%(xJq7wR5YRrf*6Xczp?gsXJoxehSyQZmgce*Bu}-ttll3 zcNfcfjD`E+qhKeyLWD=$?(b9@M}tAo)sxjKGr{h9agK**5>RuJ@MM5GUgd`=@{Vjq z&{~J|Q7G<5K+ORZLsekJavTf>1;YdZ6Ne!bLUhY;K-jb$9B^a+zyaHY5DU+`aR3Jbh}fe~7vK8Dn>X8{dIkg>%K=SWB+x!gCn03r zK?pzIyVAVD^1#1z3#40p8JpI?|yug>Cg5o^kP#t-e`DSAgonIKlHV)e5D3j zFa7J^{^N6Bc=6iVjk)-IV14M$UjJ|*l_o#)o4<@g;V*x2*lZ+)#mN``=Aqdi%zgLe zZ-4T4{!xW~Hq{^h*VC^v9CrM~>hz9nTvSu^Gh0^jljDzgejon&x8CRz*IxMRkCoSo zzOehpKl(;;iQ|giK&m_P4xncZLYyS~;KxWS@4Wsu-_>D+CGkJF{wRFN` z#{T5Ne|TqUGr3s!gMCM{gk0Ik!0sJSPE9+qwy`yATXj#5|HNC@+l_yG?)gVs>5~_h zZbX^A_uu`Th%LQy*|om$>m$AY`;GU0+lp3j-*wiv`y(SSytTaWvCk!5dAmeAm8%!) zQ1$-qgkNdapFFa8VymnA;m?!XznZ%BH~qW+zP7kTD^IXKuUP||@auSEj}i7hwr6QJ zHFM|W54wjQ%g>#g8vh&s)T9-Ho+JZZcU6En9jxHGOJ;6F-OpMgEmlqdA=0hv^6FhR zAg#L^9%RRF@E;lLhuy@&gRoU7*&zIJWy_!EN4hzy04o^*1*cI%7sUO?kUn&-+*5UHjgf zjP!o{JHMPhG%b-SrG-!CmC@*-BCKpmIlxghr>Z8hn*+dP$!HhjHi@OiWp@eRJVW zOGAf7dQsfEeRDPJLkPFe6v+0LLQo~voq$LmjF##poF*AbgDeYnxr2&Tmed+XQf?yD z;uqXr3Pr2!Ci6_!o|o%45X@s*N<7M`_4dNnnu~VvEd>XKe=mHUB$;L9hGEz-%v)5O zSCMrbCvgA{RO3Nrq6yuQR;F1P7o%>X+y)U7LLgfO9L$Fiy4IxOLCfnMwDMK3<<}~a zg404qB(617bE*csNbFDSq=PqpRd6mlT;C>K0k{Dlq0e-MY?Cl}wIOyOV^iq_03Xbf zhYh$^44Vfx78luFzEBYXLT=drk;;b}dL&)GLJ4lzBwRk;6N>V)S{oO!+6{1WF95g} zZZ;TA=DPabB1A_q%Rv;Yh#H38Fwf=HBim><+zt74YYTD!%-$hzm7O@6%~spfV}l4h zE?Qe`Po!SbfHM<6Ssh(mOi^_a)nTYH{i1H=ZdGJyY4{~>4AHBnX^L}4j zMXi8^Q2qzc0Ox{ma$UklOt7K3gT}mqe&k&7ox9L6zIJ?+`b5(jt?Jhi5@Rq!DZboJ zL@fWa5+3Wa4HfUCYXQw;s5Vn*5AOBo88z0W2o2L|UfYcM_ps!G7ei2N1_`{eknzzz z(Op%;?w(u7YJUxK4S2?(nYH{+2>nPN00Y5jy#q=PxrHPQ>>b}`H|sZ|L|v3dGuZb? zc^l|yI)PxVvFe39wa>&@$9gwJg|5Y@mqs$J$Z($5a{M3(2zE;N&v z*UOT{bF<8jZDUZUzF4Yx36RBoCQc`Cv;fNOG8qY!4# z3h3o6g6_A-@Wm@zJN9>(V3%mxgHw;f&D(QThxWNVwl+D^ONuGDr|bQ9&h4I=kmNem z@_1-RF{w;T=}qj^%xtApzO?~QPWO{RJmxp&ZrqGezFkuxlVd5qR<3D2#>rPU8QepK z&^Ay*%0bJ@a#W0Af*^tDZ2>fk#Vr=`Gu=JJW=_CF-ZTmj*(Da%Ze5%69lh^?qqQ43 z5YX&g*+FWY)fvHMUO#~Al zEVKnX=#_GJZtXa57lDdrZlz&ZpPEPpLr`_A2@%;`QwjDQp4-?Qk26#_5;GRc`5J8Z zAiA(~&sZv-CFMFMCIW8&03ZNKL_t(J-p#pDbgRZmZ=R@9TdAWG^1M!X9mj|Zz-C4W= zI;zbE+d^*p%*5(Sw&8LQ4<}*Mo6leGjwRX>**gtus^y8Inkw`~;IiBf#fKrxi46Nd z$E;P_Hp*nOxv_qWfK?-_GLbMK`vXM1V>q=&mT~pE*)G^F6 z8KJxhTh?7M4MPGjW1tS5pX<~>qqFMu z4mV{RHWx%|hVlAzX#vG45WqoO(=F4sYB(My9m6tO0PG15GWe9h2RMkA~2u3n!Ql(c#;%v662=T#9f3YP&m3}=rrweiyf75 zM*&EH2u%lBNN?(TgQmPPOxSjyR9=WC?{buEpm!LR941jh(zSM7MquRh8@DXm z1Tb7M3|LpX2NT;zsCQ0PO_8S|Xp*vnlZW0p|K=Vqqu_qi5cj!=Yt81-p@XyQR}Z1^ z1rPtKA;=J-G5KUN%fUrRotJkpYZ`A=OX> z)5cK31DP#dvmpY30SIt38&&}agCG!u9NV^R3xQw&04&FT`Sdjqgh9YI0dSmfEo+it znJ@_3fL=L%3IuFf6&=R`K?npa3X4eEh5;ikd%(7h=X)l9ffOoys%}yLoWBEs+6$AT zedQ0A8$lzz*23Q0+xrYeQbc+%*X*M@1VCpbxAfD?tw$oyfBgUc;rIUe=xJB)kwH(b zdHJ4^T|#Z-`)@7oG>9La{ov*Ok?n_po?5KWck=4{x3{x9;y6fXQ`KP)Yj5gjln1`? z*;D6U8Q-?=&;H@ZUwp9p#S?k7bIx=<+>D_unug&Lc0q+X(iZZG&rtn)hPn>f;9=zD)d6kM|ol#ykOI zOs=j7wKLGj{>S5^zx`>|J=C>pJoEDPcgdki22kb9_MiOne2@){@BePqxoX*FR{D3J zdX$+CTD6$uUgM$ zRDhdo~4d2>Tw}G5pHe<2mPa!2h7UROhBfpoRkgMzwJ|G5mbF^%~Cf0Y2Oi2*kLEH-?;U zL%|*0wPNuq?o4WCPNr#xxIj1&9c;49LxMSr0fVx2+2j0Hq@B#@O5bY}wjwl=Uaen!upMCIW-~PrYBHKSZ zbN}zY^?P66bN3q??D5&J{ma4a$JgvX+1&`@-9k%|VS{NSc1MK>1Om&Hi>YKJrQL|d zG0YPZS`uuvbc1Z93cdF~rHNQ|r3yzvXqPFkP*fB(1;g>9sHC?SRfq!&2!|v$!Q?w_ zieds36Eeg$NCp7eu%xR`_M2b#?mL36XHRy~lMqm73v}P$hiUNB`)7&{ zGji(GyI+_{ya)RSMx?DJCDw;(Rbwe7#@wMs4aS&Iz1r9UcRbK7ZW}$amR${1<`JYT z5V!Rk#Si71T|Ij``P**)6y<^11@5^g_PzSspRve@fx0{pC)zw}VO@zL;+bN!&D{F6 z7*6kFXH3oR~8Zhf3;b7Dl&eyVyOJO z$TNXNyjG}FY`E22&~>#d*2R*zAj+m?uuzY}0Jc`*X#UOeDP4zX+N&Aqoin><&t0}m zgLTDpW7X~JRw_CO=&~rPs+_ZQj`r92+9#);em(V$;TQ;+!^j!JRH!iuDN_b!;7}Qm zENxlzA2B;qNViM>dGLY0|dkHw#ddf+yR)nQ(0`ZPF~2sWVB83U@8fiG7p3 zEvG^mU4Weq#F3V2ceYYK@@{Nh0lSpG-rm&8LPS)yES1qrEA2+RgNntA4Q+@{LC%C$ zVOLV;21XNDPm)|4vz@J42M_v!CU*T&z85gf1ABvkpxVf!ylMz_l>scdX$o`^%*zYR zoo6&whP^SOBX|ROkdw1Zz$Wc@^!%hqCs;T)H#joUZ>S|*SINEt;B0diK&DB1yLMuN z`O4L^5AEpIL>>#n^sXo+mFu`ph>GovVNS)@@>TE~q5d7#Mt!b+X|O9Ajl?R2HQvWj z4x*Rd3dfHz`YoqEQs-7Ho2X~tv_n5LzxM8UFDtZywT%E{K%Bpojyk|IoBjR%%9f{p z%xlz^xkMb?N;Zv}+{vRsFPg~S3ry(Em}ShOU1fa(6;utddPHq4-&jsMT9MM#Je>-r zLq3&oJ<`%L1DMw}ls8-VK(4B_)QNb8T$qb8F4lX7yJ^4bi7lHigE9_(Y&?YI=KCf{8vj)pTqDGageBlNy&J*g3F)g$;AzXjrMv= z7p%HFXx?dBfP3_uzdSbX>$)h$MuOfdDmP_hv3z0J{~6L%SSieNOmz^MFmWexmzZNzm+ZfSMH;lnL=&DCf-2)eX#-13A%RszYZG^!e=(YD&I z8pm`+Q5_uidOaJrK5%z;?VgB=g}IG9Fg=Ap>=9B+cQj>eBphWSMJrjN6Nm;m5ToOf z&BX;EOjD9*I3!BV+`6;2W6#dn%gc`(VK;I**2&AVtEbC*CAHzQ8_6)2No^{v_{A%W zy$RRQ=!ng1OL9C0VW624I(WGWPW5a(^VrzRVtdNO8B2tv`J zNzvyfiyN0}z_v=EgD1>j+{=MP1u_(ZauTs_i+AL%%*ry!g1!ja-F;{)eR->-b_9b5 zeQF2THW_>St@lPJMtcHyaPQ-ri`m`iQ(9W1wGlHq{M?d^>%uWt_agyd4jL-p~p5l%pW608dy!>snl)Ot;F zJ0676!d_>~+O?zGx-y&g4{#_z)zdv zt@OCud3i&z_m?Fx36#GZLzX`kn?VN zl1H&Z2;pItM0^8#ii@l7&EcF&C%i|I2JDJos5iIOQU?P5moB`$n{k7!0u&oPKYL|F zYh_IQV=TR4!^y;eq)^+m#Uby+omy3~^gSNty*f`Rbqho_wMpZ4NdR9pXbUjC2*e{U z3$jCi-F6@lAw!5>Ry7GDCJ0020)X#)`G zKp?cJN)(D)4!}T8+pu)7L^yy705AkQj^)O=j$VR61cM+4%7#$iPuAX*%`FlgJi716 zljr{(0NJ-P*xe7`1vcKMh7JnSp)2|S7dAfqjlnCQG^^vT*1M-G-}~rKuNSX;{EaWY z@QFi;kQhl`MpgRwZ?7HM8GZg4a8r&Q8g_4mK8*#U&;0qf{{GSNUml<9kA7mJ&-Vx4 zz4~{b>Ku;k{PMq@KSFaq{Q58N>mSeMsr&BzN{0WJz2hJM!Np6j|N5OL`zM-p;M4`; z<6pRE^Ym#Zed`0VYi8G{e(>s_{^3Ulw(nOr-k-W!Z0#Jpi7~%h)878-U`VXHq)-Sw#?F^*c_vmLv8kdn%uko&AFIAqTrbHrU zc(Q$1aI6vj&^QT24?pg$+|^;1b=(qy3lU<7s_#uZTF-Ph-zX*{f0EB!!HoleONIcy z%Y{WF!&0GOwEdpIYt@XqQkZA;r@^70R7>~rl{SQ#lgGmI=Uxi6KGyJmSCe<;wQq9m zU0cl$K(og`z%>^&Pyg>=9lfyi&j?^)2>t#w#MUjJeK@`Jx6#S3!g3^VSloE$J)+O5 z$){Z6J`uYkN;h4>Dcl%_13p_miGVqM>y8HA@pul%(ACGgzHmJKQwn_?!K-GufWa{p zYeG;$#NUQNKMF={KyV0DbE*gl!f2RrAPFm)?Xp8z?FI=V{-!t!z_zTdV~`uBEzoob z1W(G3WSMtg{6Am%>@#0_>;3OhkwLo*A3rI+zn_ zT{u55b|mPDl@!i!ZY$i5rOZ;J*>VNDj`{j;cD4g*M-u#bb4!$p#~z)yepZs(rDx*D zJ~Z+$;>@?pSY6Xk;n<4hE8(KiOy$K6UUL|33St6paE7?sMW3eaBwg_|;!eKYC(m zzF3Gp`g>jVJA(QfmuISNFXSyK*5J^lHO35m5L%gd}4=1_v)}7?Clxqcyscv8e&0R~!qu?Xx^qoevK%^9OWEO} zb(_x8@Mt?N(1Fy|TbZ3Z$HK754z4=4#sE%n*OTVH z^{^E$LH%X9;;AL{N}33;u~Yb?jL zGV7_3e?X<1x`UKR?+(_To)m;nTQPzwSo zI$_eg1_ut-%dZ&bQyo!g2OS5`Q53kI^Q{8IeNEck+i-CaL}-V&KEB$%=Kl45^xkqrlq z3^j0!itc)}({8j48&o!!P%yhx?YS@3+dE^ERPfNC+sg`BF;&gjFynLgd)*4C?x>en zqOqPW)f; z%%%bsHGmq-z$V7~<2{v8w^o#0Y~F574|lCz*$j7ux2ky%47(uG*J)kf$Zg*@RH>My($d)OyRxfkhSByO z8exrMHoLW6fhQ9z!Bp>g;*r_+Zo-%oa+7=aO%`)oeUXTbj>?U)4)nAgm&d5|gthZm z&kT(A-&m3RSXk^3ELlR~PM6o4O=mgp7zpuOg%p4W*V5vS-k=54+<3MrDHf}FiHwSQ zSPJ4hW?vNS=rIKGQhj+_&f^^0sux){p@}6`d^a3Cte7xMVgBx6z#Xy`N!TiR7_DrD zf?mcSP6}n^z^I`p8XKO}6o$qd01&Gb7hN3Xv`q-_^1|hf3>l8a5krx9S*p{9x8h(v z1cVwDp2i)N4wKYlic;f|l29*kH0*IXbsqA0y~LI(E5LvGPa#pru$@)GL?Flynlc3M zi&Ix}g5g5mnX9Wd7~kOm)!?tu4){IV>$DOY6gQ$V^f5MeUen*i-vZ*I&${-uui zRDa-S8#ngB&_V**dRE7>dFGAXs2o)o2`WOpS*LiojR^tm--l*eC?r z0D!}Y=~w^=0T2KJfC9m$sW}b^0>E>7cKqVZ0DeC`Y4?h3oItW8ypWe^RIn(>jZ138YR?V^`OLFgk zO|vluLJ5QfQphFc<_5SV1QKrOOO~{fR;%rGc6y&VGiOe3_jmt; zyx;RYhn?eOKhNtC@2aAuW6ZUpZQ0{zGl9vKQZP^u66INsG0gN5UUg$yFn^Eg~S~xu#TR zB0*nyt!}tzVxz(gL5<})8M`;mu4T4!9r{_ec3iF~z6r$XjBT8pXTixfaihogr+TO5 zbM3JV5X|li4~4WYNHRu!=T}($2seF?r+H`2dJ0Ao6nTqUsQOcX)V%qhlxHmatJgx| z$2C;~L`n~-T>D5zMSG*z+UChS`W}4tWQB>jqror2MnT}qRB>h@&lv#V7~5=2?uvk> zWFeDtPz0AJbaWdrS%^sL)+U78vt-o@8S?88X24*9aFTR5M&w+jf=#k8<+EEKl9{6+1J4DeEt!g7OjFg za(ME`zx$2}g&zFkVCkmZ0rMYy;?JJH@`@+ivu{tQW%xUl+XKz+@Gt?4?DAA>MKeyG zzxm#GeJm8JY)WrU_d-!;j3SH zr$2Haw}aH1UwZuEzklN1+y3q6Kf1V<0!g6uVj*Sbq?&rBe3vfeqCDdz?g3=#-lz4{UWC=?3e?&Gya zX;+l3D0V|wfAEgmmp1dO^}^mh4RsA%x?b7YECfU2acgJE>KqA;&6d|baqq|e?dgB) z509OENxL(8+uMzEE1q1G8cf88u9VKYouJUIu_Up&W%(F%d(A{($hL|$0Ko|B<)KWu z1JeeNDx2NT%}$*rgY8ZcFja=>+uet3*B4=1CNZ4y1U6RRdN0X*_sr)Igj8f1hRug} zhrYM)`;U$u`rjLGJPhnTcnB3UV7Skc14Ku3h=fZild(i4a}kW~Ww~yaaCy6Jfd&+F z9)<>_E?RS~LqH%|E8DOu?aq(ks34mpgGktL2-1zF1v0o}VQYil0b42)Zf@xK=ga9b zka^J>zcV_4BWX8l&{)5+1i}u!(qwypF{{eEC*C18 z$BVEo%+*3E$qx;7TaMgWAaNIArn23wUX2HQLcnKX@`l}<;F8vAP7Ng*9t?D0(NaU} zA7kInXOOip2>FZMhTWd4mdTLq-E}Lg35hG&+*DApC|GFiE3Dk4cDdAURU>Ba2;Nhm z3zA^7rJK8n001BWNkl|cjWIm_9Aw`+fqOgF z6Gh;{I=1RlNzhAPX|PhoI643qO6{665$2U4)f6;7M2(*-)J^=k{k{jbfHRqrK0<#m zXU%ptZq-wb5!1hE`G$oeK?Fk_^;~$^qW@mGL-lM8cM7fHgTu~|kVuMvI zH)ltOqUH6xts?71z1&h^qz*fUUAvAI>!Jq4UBP5SSXtPRMkib$#C+F7M7L&b36T)b z+h*zT9;7KV+gW(f2g5jzHkGz5;UMh}0cs<+TH(fqN0hd{lo!JY3VPib#K+^PAtK(9 z!Ag0HgcPga6Zg2{Uf*UVZv@p`y`69?HKEsXJN;wsY@unD4R_oV3;ID_w?Ki5v0SKc zWjQTht{4U%?f2LYL{fWgNfEG5p6}l8Il((`MFBtuKg*eZ89jSw2(^6 zoZ7R`?o|3hVcRS?c0SvP3029qJz@W(16GPM6QJGgYI^ssTVXAm80gu~T<96QeY?7W zHpFHwE#kiZT?gdOmZ7Td0HYW+8BCOSil!}NMAiYZm3hQH1Bxxv+jFR$yJ*X3Fv!@t z%X0HTyCW-1x1Q!Wwk0Mo2JaNkb=tINV$x`*9n=e(v`v%s!Yaka!vUaDtM;d2b_Zh; zaxgX^RIixy7>#6bHVGh#X(B>hw=IBY`9if62t;HnM-VUw0{`v*FABqW6cltDbetZZ zDXLZw2kwty=j*m(*&jW~$8L!=i=BZWNbHVcsKI>fgs#%&=8`}gU;km@OP{~DP<(yj z@I7*8jX@C0;w81hGI1MqTZU?aplzD6UZI%)1gS9MHQEi-7qrokAp-=-S%3wgFa@}5 z$OS_+%kovXFS)!)7Gq5aa2(sv$`sjSn3g2wS!UGHwamR ziuS)(v29yvmn$1E;$=C6^YpYEg{F$fqCGq5rD!BsD>rqk8whclR+pOw=dR*xpQ*J0 z7(+3nt7t?lv2kfl+pZ0Jn19zXE>q~FhR*-w{IN;?!X43?H6tvPbI5s#d%X=Yo`_!`*#vr~vDs{`|>gfZ# zFBTqBu+Ftg{r*6zYDr{U(%S9*<71__Za^T>H+A^MYj2sI(-e$h7z!wrGh!QlC4DRw z1L+t9i*FS3pYo&M=^D6NoA!qaLQw-u6tEhK6k#|+?}C6uf)GO>rlnXAXgii}0bNHY zVGyt(9fCzw=5W-sQOj{az%~IGvMmUN0l)?!_*a+bKoC}K8w5Zb0Gg5nL!blLAp$EZ z8UQ#D2v|0R!VKg{s%>p-UAG+v1oMuCKiNMF6?3x)|LevL7p@&0{>mtRxn}Gimw&na z(9q6J`Oq$2DlQ`GjK71>)4R`H73M0x94t`(@WlU=;cXQ8d1t#F@4Jt(&dps^Vm;w& zYpnP}WH?I)|xf9~$j1A*RiYd^cQZ;!k@4)!kZ zNld-HQF`pq#9w}~+-Y3-y#M2s7;4ckbAu1m$saN1<5unms%3om;hEPj!f<|M<`(by zcFa*OVHgjYdx6lY3H(988!WB6ZSPij`K9p42SVr*Xy6S{-HSkn@u@CWy%XN!++uxr zYk@ZFmXn^|l3w<4_l0jsHyaH;af0P$s@0R`x(8vwg;U>2>`!6lVN~Sdh~f?!wc31u zb6fa^f|p7CSbpawNGwN(XXLk&RLJNkkm=lPnwJ3(0Q=r1A%}wEv(atJr;(qo;(>0qy&K^@p$%X)4!JzG~Bc>X2{>Vwn_T}u#48zbY$q3 z(qfv)80|F44!W3xoAx2Hp@x$lMQTg10U5Gv7~L(^<8=%J1w0TY*`SGlUL06=P^=}d zH$|8(mS_1)K(Wt7~tJ{8ZZ-VIQJx-jy z`0|-IgvQLkD?jW~SDz=7l~Z0NS!+EWCSJ{BT=ayoLy9q#g$ z@XO|67*1Oc`-UO*2;t2plo$gp~I-7tRmr1dp$!B z4SuVK?^#Bu@&g-67KvgF~WOl8wdb;nH52hDXj*3B0 zs4Lf4rXOpg<)TEe86Z9|X3R8KEsAAft1N3m2Y`3Gh7?38r<lHc$Xo4s6?nzV=eJe;8|Yl`$<*>oNcV zS2iOyXlPOmW^A<1t~XB8$v&E64KS!t-63XFron2XtB5r&-cYJHgUJuUdDB&Dzh243 zTx+BF{>-K@<#~_~DQjI}2n@8>C;4$bzjZ#=c_`C*V|sGW&dmaeZKnbu66vgOHNS+((Ex$6J?Olp=yX3G?%SU~&s=B?Aw-pv0 z#Hhq}dBxTtU(%i1UPprW2Fo|z8-8~iXc(p1YX0nAU{s;j<}zfobHpF2*4TY&P4d9h zh$qz{OJ45rW@TLq3c4?1yWOP!M_20DTqDnYv8}A{^4$K4?@a#Uk9n)rFzy7pQl0V zayJ+T4?FC}wM97<3bg|E)p|D)LC|s#Hs3f0+&hV8=N-oz9gd*8OX&K5%x)@bw>j(X z8SJKJTiVzd7I5)!r49`Rn69;FxqGhCL=XfJx=nj#e~2WSn+@t5`+s2TgPwTw>UdLGuBrqAc?4Z5K`-T*-OV|sbaPp zn#yImMTnv)N9j-bRyN8_z@Qmv{lYsgRw}@gUQ)8nb|ezlY|)o+7xLQT_6-E}`M89w zwABU{f`zP%4h_3N5uhSiZFv^4Bf*~DmP}3b6f@Zj7mCY;S(8j=tINajV;!pvqcjK5 zg4wxsn#WnvXbL71U%a}!@7BGJX81fjSj-yy;A-}4WgGDO24*+5620CISfQl20WfaT z?zZJ*Dkka9=K8Ef#TC=&jf7wf^7N&eo3CyxhBfMD&&V+Ewq?1=yJNB>*`@~J6h)Hx zcG~PTeS>2dRP~Jy+LYaB)dvSSP~#ODGF7c*lEDDt?Z?xb>kSFU*dONLY7UR;xFY8PofRY;?TYoC zPAVA}4Ku;ejtMq9Ts(|0?t_HgQk169^+o;haDXTPVOWJZe|&j)Gr;W@B*2T&IG60@ zB%uk&?M;wKWLKXeoT>Z{7@vsZup@UZ7-m+pWzMgWxScLtr}+uDufN_l>Lnqb;I^`@ zz64}hxMD?dTm^7MZCxg*B!(cGK|lcSkM`JN5wej$-vJa%3nBm@&i2}pX;#C1Q|sFs zakvB0EzKco6~RrdM|+R!-3|cu%8hxB2!l)-06i$I(FD>#A;YkN|Mp)7Iu44UQ5+1r zn7Y{g)Ci~48_xjP9Z^H9g6);&Q!?PX+1UN0$G)y(?>nexw?Ko%`Ot-p(w;%{)t6ql z``8rd?7%SEtpN^RCUGBx=5kypiBTj9XqM@iAg6VfX)dHo6~j_6Dyln}p*AoC z#wff|FS7(UM4==$bFNSlfDwx7s5*f=6`GCUye4!FKPMxQIyZmj)}s#@vMPwi(Ab#O%>X!U z=@3GNtFzA|p?(tS`UewNSGGz9nli1W8*-v|xv5)$&~AL;t@}BLn|b&*r=H6+4Ic{g zC=7!RV4E?DYRPTG)Ib#Pn$DQZYfEJjAP-}B35HyH`!nx*uduw`q={u&JD?QnV01K` za@zT4*O%^_*pu1V+39qBq0pGnOv9uz+a8Seoyulh*bv>xrqZHX3HAMt9m!x5hhp?bg-7z(QO9=APmAK%VtqX zvoX`MblV0&o53){fmB0tVX)@F1PJIh1OcYw0FG_zmW9C(3__OefFOiGw&ge|1QZkv z1Z)D1>UIT!9MkS5NV;r!VY{iC-6x{_D?-oH+x6aE`;Nl#uK}zLL-u;8qzrN?;T@Q}G=PTEK z`~Lfn4rY#5On1{LeC}Vwk4<{36UV;wM!Iq#{ot?!#|N@YCxD2Y2mhBGCAYK`dv-H)xizt>pIdOR3Zo+gm?7^2pzAT=^x+o>w{4 z6`XSF5wJ2|a()BA7!G+@I;JD1!P=m-!J#x}qjjaz;Ml`td$$0*&Uf$GDg7D?7HQ8% zI@PBkl2p_M*mEmw?sVje5Bz97@Mc{2pB3$gVQ7!leyI!3nu_8d`e@rc>uN?!mnoOl zVJ_S)UBfvRYzEli5F?ZAmTp2N%}%rM9hM52bQJ_R+oi!`&4OC6={DH9tthDGHLUus z{wEi9eqkXc%!sPu_GJqr-APT~c5D;2!We_G$U`K&qPU0u;|J)U92mc}VH31=0>9li zl@k&5(b8i-p6`BkjQWpPSKl+8vT7wi!2xc{!qwn}OD@5YVZyZ8n9I~nQqQ#910KMD zaTJ#M(Qa!8!4s&OvqA`jN}A&a3SxEPGBps5?CEcvZECjYo{BkM8if^YgmGS&0_m`!mQhGWn=aZQ zev_7tb35hf!S^Wp|7pvhKKq$}2cg&gUbFQ0ur_eR$|=!-ry9A+;ppTgApfAF7Q=Gg}y8YTbpx7#bwnZTenI{Dz( zi04K7cXMFj&bvPJ&F}o}AAe$^w=Z(?#nXTPxv!sFUOs-5norMe{N{Re@PI!t-%!|* zDf8Uv*SBJPr@dCq{Q2{z-k@B^gWl!!96XrZA9k&;-3;Aae&z#@`c7Z`2}@7+B~OIB zMWJpJz4z0^sEz1^b*ZJ>~ zDz?4wY`NJTA3l*n(li1nNNdQ)VB{F->aAtgG1r|j&UHg51p;WT8ubz~VZ-a?^C;eC zT?aUxET|V+%~reB_Js}H9xK%rOtZdS?Sy>;ncM~eV-;v2>6%)oEU*kE2=%45hQLlZ zHD1_SebPI%q_6?f^E|+{!Fiyr}fw>}d zz{^G%JJ(NzfNmL_zOzZUlRCW+kM7&4FSGokIII-6@?7+gd!is%CL#17!A`EImeqHr zL)uSt$T;BMaMYXKSfO>jMuMJHMJiS}BT6#^ zbTx#~64K-bJPS_b!2YTykTkYL1Ef=-rU3=~ok|IFTkSqQv-FDq^pTb!Kzc}0I+0=I z>ijMZ%%a+!iQXJ*k?Ww%t@}g18!82QgS1m_oX+M4CLyfQB1qq!NXmdply`Sc7D-nK za}kCq#@u(seYx$W#SwFuAAE49Rju1ioHSWz-9Zlhdi&I)2c|7h=c*rF!74ET^bk23 z-iBQPe`Ee)hYENPpWaY!bw#zrn>>-hp^sJ6`4pN|!U2qq)E0M~;2Qzp14$wXW-IWp z!)}kG%1wYBRJZh4Qi{gLjqTjL)97_YFAEECz!M4*>pNw~{YH>^9H-)%og1L`=BZ6m z?&;(=qOsJffRDo@P#m5K>|Cf`y~RCvpvT%Mo*E+`bdl`J_LhfqujQD?P`7P?S*1DM zU0yd2otQLNTKx6&)rlTATr2lpJW=C69gfwo0=>!m|8!KNsu7|j8pW{39oa6unFf31}Bk;f+cw{}`s z7i@WD4zFFj2HgEXm?jX&aYIfuv!W-x=*rUi(DVdv+kMl!5df`Kiby-xo0?o&&64&|AfA(qc(Wmf=xPsN0fcxhxt4xV%_8diVZ(cDveU zEK%4s885Y%RD?${qoZVLE=js*x#_STs#9vXBL)nOg8X2AJSb*MkAJu zAE@T%`+Iv0J#Aq_4Bg3BEB=ltRyKFA;ZAjFczCo??Sk++MvXW?r)!IdS^;d8GnR6V zw1N70-CwL#Q^Wggz37dMgFstS?Y=ls%V$wh)6K3AX+rGbRx5|&DB8`j{6M#H38dV9 zy2>&(hB_bs0e}tsxBnUfMSKJ#DQXu4JF@n{p~#o7m+tf8E)cldMaEsWim`9axBmW~ zkW?03V?L``Mi>TW6Sb>rpE`ov(CAmwgkn)s*FhKrU`J^?oNo{!8j{)%<8j1Mg@!?K zvZ;eAGvyc!oQcyAq7^xZG6B6|n-IngXv&rY>ALCQd`wj>j@M-c!f?n?RLjW0UW$kF z1{jcpt>d?SKrwKme8m^vC)aW~<&YR>S+Hf)F~)7TuBym1BsZX&)$OG4h#UM;Ma>IZ zB*^~gN20xkgQc)STsYM{2NC-zgB#q#Ej5bf5bwpectj_$j$G=I?RO$*H# zms^Kb0l?Nv`Rkha?y;lGo9BsO3T|wHDC9uITa9{(3k8)D=b*ibo>HrvH33vtTol;> z;2xUXQVbXd5Yxg4qNbT1+fX6Ib^u+M0SH3?0|6n^0Vs^H9Y?ku7_dzTgdEEO01$*U z%lc59eWom#4q)1r2Zq`Juy=&NvDUV28-}1D)y|2w4g5b16E_XnhKxTR{G*>aicDvB&)0$Zg!c z>SF(1{?0;hNPw??^$V9i`&sSg73|qhAN8zVdFVs$TG^ftY2cpw_J03|ow}P{x%t$whrdCk7iP~tZJyZu z!b1LAfAx_@?#!ugF2)||{N{@fKlj`#k0)GfPVB=+=~FMA1iZ%0(~1Q+r!u~YPjXO_ zPOREL`qk-=KiWCwkAt5E{=aXXuDp5u&p+_BSC`*dURiwip}#z{(Y|GB>Yb%C^Yf=6 zef$CU&ELGP{N?`Luf3gr|DO(DE&Krw!Di*G^o7E{f@Ey!jrB z5nyN9Yfj7Dw_(>{F0S__wiNX*ZvF*)Cgk7{S z)E318{mQMx2QC!9!I}5Fm=CnBKHAa=ksWegd1Kti`xKoN&@8n8J82qE5k)Y8vjFz!MJHg>K6h!JMS8f_Dx;rFFH zPpvQAmwLcui@(mit($s7eR_f%&*Xm&L1bv;drNa))r7PdhReUVEB4P=#{KHYe!8@w z{OPe|OLS<;O$1@b=~Ht-$OA~lv@ae28~`FQyP%7p>NY7^Xy_I}61Y)7JQI>B1Z`VV z>m4p`)m8wMzm+C1aRCB65Xr>48(q+@X^BzX(3yxIF)$+|ISh}(hJ?xl&KO++;V`MD z!DtH(KjuCP zkC1&konP)tJ^J+TZ?4>EfBl~eYg^>x@P=T6EI^3R=G*65{^<19=Gwj>`qd}@DJyEG zu2=+ma_-Xm-<_0f`mp=2ueZO_8~2~QAdH7Qr!GfC**`N*pw@Uz{K+S$u|R_7001BW zNklup>l;~HZNaKLv|IF;wJYTMOISO zLz`e3c8;>3lV4dGOzmOgt)(?{aLkM7i?6?C^@Ko}dEeZPD+hNEoj&`9&pVhLE^QQ+ zNsr^>h8@+A;8d^zR=^TTcaC@mP8a9I#xiKcWhKu*#A@9fPB1XNt5)r%Hj3(XEAuD{nW6!K z@EGj^t2baXH)48?81dj!xN^PS9gi!THMVH+ajzqkR3h5X!S2H9qF!{<{j}1+{Y+leY*X*aE?hW)DvzQ2tW+McO@3um#>}tFc z^_I)fWW*y!Hbi_VV5RH|u4}HtZsfI!Xrj^SR<1xLDY4pVmh{?g#C^JKA5NJJ(8H5j zj|NFyH9(b{)od?iO9U#KTd>p4IC4nOhX&noyqyY7moI^_P|}GBReLBS)!RTy7S2(g zpaIrsYjD-L8V*s}w(Rz2NPBY0zCvT0D+V#_jVfaZmya1xtFqlmyQd$wB=!{xvr_S1JM(az{-VFONl;`iMtGu=pe}MA$EH` zv9f{$ymo88A4wRZ{Uh5g2j?7+~qflIf${?onI>bQSYU)}eXV{^X8*=jr zif62@qHw(1=i^G79X@!ZscsqSw#PN<4IlXaPtV?cIK{amqkASOo;;Ma+ofd!Po;(2 z^w?yjgzAC?v#sI%yUq5FZXjy2jPj#;$rdoLpe*t1s3uiGci)@mx4Poo@rVA@Hae5L zC)B`0D|?V zHO!$f0Wp0s_rgwPa{O?ml7VDItZ$g<3SM#Lj$r(pn0=K5{Qez zJ6&5hY~a8B7oZS;L7)M{pNpd3$QuN>vfIh05i4|GjOgL{fgMy#xX&f)K@ao^$oXL2oy=WDu09i#)d* zBRY=WVR{cDPz?Y{lnk4eA_+AN)X{M4^7oz}+Nb>4-<*GP5IEX#{zioMA06lA!pYg@ zpS?R#I9UZBOrCxz2LONpkOxWVh7PbWU_dAf+Br!bBq4+H{i;#{0VwDRg*?9TQJ?S9 z>u0JR-Oxf9Rhc@JKYwZ%H4WL4K_r)7M?s8dxQ;AdGm-tE_QKlAUJ`9q7n=}|`37~V z&6CWyQ8WCJt@IT-JlxJM`R@pe_V&l6p=1;l@{Y9!dV`b>oh^P-^!c5^99cy@+)2jlS>`*O!K}?O)zG_#p1Q zGCXs8UexkT`=1~E_+R|{Pd@ja?>=_=A5x(YB~qb#@-H>1kuHA!J-r)$_GP;?c}}gL zUCmTKiT*tpA;@5DWNIw^0GYx%>8V1=-LBQf9JjndtvqY_^9yolKI|i{=bfW zOu6QN4LcDU(KqvB166M3!B0vkVxIaJM)|_M6Sb|C#^v_QA3t*2*j`4xGH4M`edi_p z!^e(%{}IJE~d9CtSA0V+$j2+*Y$%u2K|G@|04x+QnC6{U529Ula06+8&lHS`e&zrVex7>2_l_G(E5gs7!aHmR~S? zi|G0-C^6+v9>Z9xuqt1GO`k<|rN*3d@$nA#tq^c8>UuX$R6&Elfq;e<4Lb{i zyaNHK=EvZGLTyO8MP;ugfj=rZFRLi0*cVaLSMF?Cx&m?h^EbK>%)gvDOQT87`&hH` z^H9%&OPSw}u#d0FPygLdKl1m-zU!i% zQL8!IQel$uH-w5CZc~{HYX2>6G1G0|Y4sPHSZK+Kn9I+GyP#lz{ zZ4-fPgrHpFlIma(0&$EBu?z!+YPt#&{+QfcLtUGv&lz`)d41kXH>#1D_h0u^-88f{JDk8PmFpF0EzvU@WS@|q|2i+Ut(*dHL7#4;=b@u6kyta^BGH-qY_xbNP2P4Ut|L3>>8B zKFRrQJYtrbd)j4vu)lujz+KN@sD19qPk-n8*Y3G@@9H*r?ZS6?|6tH}@a4Hp57kWh z@7}3jjfcMoZl8Ji*`-~FCR*t+%G2l{;jYcW!vn1``SBlJel_76tmb$!u;~qBvMJ7$ z`B*TxmH8s1I~D$M;TQY8}w4b6di(`}RnUs%+lPGxHIihMntOXogUw zg8O3bCc}BC7lm)_9eK}%5~|2HLBv#Z`PMxLHZ$2y>+Pw*UGD9^O_wIBqGf~|rj&@e z#7<2V%LdH*-Bi5=`gycmuhL9F?`VM8=*o_po-igx0gSvNb61A%}ZMi(ksyYouzaj z8lKP9hI{U@+}+jHI{&fK&Ae9!y8 zRo|%e@L5SJ4h2R`A6Z<^85uKbPg)p>X|H!P`>5R~glf?P9zt^3PXnCMwLRXQWi7rvUps`SI|D~jfw_%!UU3V0s5eky4BYSrbYmVKOd746 zpWwXF$)%k)Q>hcZrAHQSo*PZ>Bap5ai|Xkn!1E1p7TWpHp&1)hUT&e2e201Y>KjL* zI^*mSz*?`%xV$rnB?ZDpD~M>?Am$AeORGU1)45)RI6}c%$s1r8w+5i|bIn~t(PALL zz+g&iN@~V~^m*f68wMU5atf_R*t4%$Jr7!k#g_1{p1-EOQmu|E2*4I*JjAOlX-_=$ z@Jh8ZK-!2atf$qiWOwBoA=Bf7te~J0DD&?&ZHeB zp#rMQXvetrj;Rp95bMqqamgjuoI&3SL{?pdDH*84cqySmc*6e9>U=DSQglz8L7#bJ z{^9$goZ?%r788-)*H13rd!$#8a5WM!ifa}^rFI2Tt=&R;DZ%_5X zkJH|q>(C_7wuNNRP&QMDySz4J7-|hw$hO-I#XVlXx7<)jl$pJfn;MJqNpf{-4!7Bb zmG=H!POGgC#6h{X?eg|3iWL|m5p%@QH*c2Q6rty~D^VMD%r*$Q2gV5ukm!(&TEa5CaD0Sms3-@TYF(HIBA-3M;lqnRsa z2Mh;&ubp4H<6tc6QN*IVrGtKtXj8B#@@}qKQvK5teXV*f9!U!Ak{5tdQ;EX-i_>Ed za8I;faR3fB zRkJH+SLEbD8ECi|z>;NNPzBZGJ+|AIRN8P|ZF&MJmtS4kLOfAE#yTKEDeWQv_mRZf z^6D91asm)VI+75|ddy42y^)&iX;jO>ux3F4fPySpq-}-w&Cpa;H5Ch?+K>U86wUO5 zs5vr0)*H5%*>KRnuHXm+W_1vDbhIVW9=3gDLAK0pDCFsM!H!%NB@F;<;J^JBxKXH~ zJ4ZS6A`$TU#MhRyf0J@=uJ4@KH3)YL=PG8jp|!*4xMBDop8z)M4n_h10b&#pb%S|u z_ef~#(pwY9ZtZrO4C{6r3vvV-3FvaohC3igz)qQyDCAKf<{r7$R)4%wh&`Ui1A63k;fA~@rung<@ z9N_#vIB3r6BoEsPfO-jxur$g6E2iU@D!ne3hPVP&Ee8aYg1jb53zSZtV5>waG%TZqsUcTBJ>Fsgss}1OYhg-t@ zc5c~?INBu*C6P|2>2-N|vncCfnhnLft)eb@aj30XT^sS!ZU+Dy2p#}+!2(ghX&8W% zuEC&5z=UR+j^k*yLxZ{vA(jJJmWe^YZ^d!|f|>vbz(|mxtFmI5x&r_x1ON_VIF{u= z2m~vpNg%Lg+W>$)HMe9r4rmn!EGBDtj=*pJNAM zDC*O@dM_i5M$^kq+u7c|>vgZ#1{;I10fR#ggoHpyAvXbX!%es$fzYur2De~fi@o0J z_4b`!HANbYdOJrty}tJky!_rDknfw9%#n!QYdNbvfN{1*zxn+OpMUa0$DV_#Z@%ib zHizBd)Y!8DP5aH%)($+ot<4RV_kt4}FAe^gPF@{9{Ive&`K|NkHynKrA0+vymSAq} zJf=Qy=U&HD`8>i_=j`Kl_gh!=5A1~h!?yJ0?q}BR=dYZSxCNZSdI4j5(K@N)#Nv$1i;Er@^td(|)M>ucsGY|LA{w z>|g)vaqaK+4gTN<7q0)!&?B<%U0e3hO6Esc9{E<`N3O2ueMwr9_?@3-fBHtX`Ks$q zY^!i&sqZ7tv0wSk-@SetgR~cacfpzLM$)^0?wdcmqUiIhvE34@CtKyyn4XLb{JAC; zRi+z~3w-d%2M>9!Tmnq%QQmw*lWGWUGWuiQ@GgZHo4!jJOGbq!O27qY?jGMZs=2vA zw_PFK{TOn%;asZDgP=VJaW$XoxYf2)%I#{dE;LnlH2S14aiTK$bEr0|>ZfS<$)CUU z`HrL8x%XmppDs&PnamL`$yi5hKwq)(9XL6vSTlb4FEN*=u=Fcrq^&MrB%~OQdtn%4 z%vc5e6@%W@D4ivM34eTmRH=sJce-W}OwezBBER|1(7=9D(^>APF7>f;>s^r0jpi5$ z?;`0z!?*xz9+_O!c@xD<70MX^P5}{!$rOZ}GM=SW7p#*I!sw;|LePhh(2MYO1hF9) zS!b`}>Xes!q+EMfv%rjg$~3eH@X>#K@4Mf0y!g|#v(Lo073zaw^O7*6z9u9RrAcja zhwTFsEX6W*C&7Rwe!Jz>+k5wF#S#+sP<1(*Ubnk~>MH4*aOk*(x(-U&pYXy*a2Pe= z3IzDeClxY8C}!2|jhZbPawv{eo)0G_kfQ(_G6Je*1vfCjr8@|-m~A>qL>CQyUd9uo zR+o`*%g8$g6gML{p;(}9h**xWI^-HeP_V)m*m-NyG{-ukJt2L%KI<(Cof3Hd#=lpi zM}BqJ5C8agUwNyt^jF_WoICvv2zHGhRadU2#M-X5p@BXJ6nZfD+t<(R*cQ4r`>Uf* zzcBqa8G-Frq4z%hNatVwlkN27AMbZp>`3tJwQD=aoniN<5`^k*>w4cRT0CMV$yZ0pe5Q6XSm|2@`6v_V1gh(PE2AoTK#yz09UbaRt|6(Sa3jz1LVq&3) z;Dn#$a)UwSEOkap-lpX7dO{197&TM zw`#xFG=rq@um1iM-|zkkK8i-rnCUcEVZ}xj8*84@kObb0h!%|5t&IgJWMvJ4g7PaI zI!2gvm!~UmglcYuP*KekVSmV`dpCiN2ploMR*Acr*JK6&IV3;Cb}kvyk$}5dX}ZD^ zm}fLTV*=JzgU1!s=xRRa6 z8(mvMwQpo2Kjreqsx4apvWNEMxGK0I1A+-4gKc{~YkrT%V3DS&Z$;bO%h^pI?xT?) zn)FwfH&n>)G0?sqBzGIubHR~4tNA+CVYdvhteXZ4Z39$Zstsv&b;^1=&lz$UQaH)-kykL(+sY7^#n^TGh6XQB*IPI!? z;fN)l8;lH7KKju@VULWi}Y{~Mq^_6?} zCsq*KHu25|^ap$J86v%sMdS$SYvgTtd!M~$4!wD5c+Y#2%I>Q}?+*r(2w zW$Ury?JFy3ngT$}mRZS-j7KOtiktO%4Tc)f>1pxsF>^7kBx6pN<5bCrhhU-B?C*5h z7<^-e>PUvJPNxP(dMoSsSaMiyZ4f%55lP0LOE2NPT#d#PVAFyLW8bbISIt>uEE??o z<3%>&yCqfpwU&!!LaSBL0c6AN?UL5EzHpJCJ&~m8_w+5^GEl|PXpjO3MJlmsSZ`Hg zUCDG+tV5JT5KO0SYjG9u5J808HxMa_aMXsyy7%#o6kwq;o{T_+OrD9ilZ8C5s~cOJ zT<=7;%W2%ZJ5k~)Ay1@d0Q>bDtDS_qyrv)8rIgB*?zXVXRtGvmr%umeFxfrWc58C& zj-7|Lw&v<=S6`2qsk06oY6~JkzlSDGP8GRg(;W|)H35*5h8+Z5_P!nAX8QX2{6>8D zuEYQn^n2HrimjF$Z!=zg^W32WyDVMo?CY%8d9If71p4gu7>0Uk<($Z^nM_UJpGaxYQ_8|er9&3YC*(405 zS_Z-%LXZ@tt^@z${|C!7Kgd9DHI2Khf*&Uj`C-=WIP3twcr}H?(02}E>k_`WDDOMy zkf!VS{;(mpKt(Z{vqB4oFfU}pd+!adr^JCk(c#@zEv{l(#u2{Pv~W!*60}_wKwID- zpl`SsA85i&_9o@%tyOQhTnJ6>)X}Ue)l^di5z%gQm}XPeyAc3XWfq`pL0eMMj9O{Z zYmb1G6Q$iSssa$x)GD|wrZ7EntA-&I>5H!~+zLkmriI~nelzcOxTRYDeW(8pNw`6W z?y=)5Qhiwj{leN@yfdum7DGmiW*UMp)9@Px=!*7B^=Tk{SWpC;NR@a8+8tW|{VUT~ z**iRIfAYED?`5Li|1HDH4fb!n7$~<5DM$s*q(>yFTV~O z7Hu^hjtDHW>0%>cqt9~qFk+$8`dAp*s-#195~;5^c04#UciG;|c-#S5me&B&p||P? z{a$MJV6rEjTd|n9&jtU}a@~i(XEqDC!NVY=T13D!yseasI^M4|ciN~dS7-o698nvZ z;q@imO1<7FS%^>6WLc9T6sqd5ri%>eyr9WJoXn~KgQB9Q;xMclAOHY|ANatD*I$AF z;E7}IU!P$~1R2GkWsbvOP_O{qv;YtWLEv~Y{LWgD#(QaWwWaAn6e;VP4R>=2`z<>7 zMK+DXr~%sC1i+~^6r>vlr#W1gE8dMp%YzynAL+V!BHFF~W7zQ-d-vet=^KzsnPKN2 z_~3Vb_2NI?Blc923&)1`wICK?Gb;_PvyqrX0QcH*q<5iWBrcfXT^{|^yKghXNM&mN z^a}RO6MKkc|C>MldFKaD&hqyAM#!Z~$9QeCw(?>i)>mN@N4HUKm7VXfAE{_T=|Oq^|xM!o}QR{Yi;pgKi9qWmBQDa z`=a#b)o-Y`w1t`Hb|!N6!hijw>YD3B;n&(9c$T{cqps~@5V5-}1~^S4X#YN&9>Yww=IkzUlFa=5vW;d!E;ph>ZEuiKhGa>3#8hqM`*jV9`ftK>i7hs!%2#-Teo6N4W8s~FpEtAM6>D+?0$_(>qZ?kG`V5n_I81-3W<1i$#^7Po__pQHj(117s z>p}4%%hpJ={Uvq^b0jRZHrl>>dfq2MMcA)|(#N%sGTtk_cbm&MUa~afC-0p5lfYm6 zq!HzLvzGRa z?*xTrORbu!;vIh!7A$s^geV_Lqmn1f_}f9uWH+mr4KM{$#k(Mz;`Y!&rL0U+l$*rd z2)kim!;HsiDLAYwvGgd7iIfNx0oDyUEV`+wUI^U6AQ}+XK}F9Rpr&p5s16SwYxZ5y zml@%^XMghiGY{LHN3zT7eIw43%fFo*E$)2&$%$6;mv3zD=`^c?@0Z`XnQF{D{(`ME>GpXg5{rE%zDDox)4-n7b*$m8#v|LfR?+qVyQTwVTAX7yl= z-`sv5{ny|Bj?IynoBn;&73@ApTsogSbboyQIwEbp*x$D!6i&W#VRyf;A}g;Xho0*u z&86BLValnMT-(9uuV0(?lBy>#(AJKv)^bCd)+9SEX5ElN$>9SEd$L>>cYE6!cvwLY zqh;#Q?c%Mh>>0|oPGz;xgS({D?+&-ro6R$qj_$uZ*AjX{t*dh!uAYcq%L=eFXof&H z2m_5glb>1*C!2ORAb!jfET)6tz!)+;g#^z@BnforAZ zs(X7R66}(%5_$y2Y+9r?gs(76CQpzNQ5E@0oMKw2FR*W$n?#aDZ9~X-WcZ!Jvb!&2 zuwjf}TSYq=y8|m#B&=4@2a{CJF`)HM-k9%+d7R;pIFl<-4x8XIpd@82=`N#Co#gGL zUbH)5Z7xD+CECSuX29gF#@hQr$4;Ng8Y<9YfV5*5-KN44HQ}nRRVdWyskL%IrgSUn z?u+%nsHhe)o&6&?jBjYoTN_&kyN}*&(<&gk&TG+3<{b;_WP(vQd5iZB;Ua7S&Wd-%KO^KOWf3DGvE~lDpyon`j{uNw8w#54Ha#qE1=80e1srl|>_u z&|DIU$3QG(b}UM>EdcKHcnJel)G2T5iF7TR#x8><<%RBFm98P9iNTfCNvU3P`nRR# zW?{l}*T}%-*~zGfa{G(aOu4eq zJ06*vMQ~lw6d95AJH{Ip8Swj^Te;0f2?)E9x*Qc{*-hRsyD3NTBHq8$+a=E4XW0+uFt&NWc!C0(VSUCrG4tkp{#3Jk#?f@m$gjdt~whw-2;PREJpf|9xvJf3eG|FZmXy#a9 zV#0Ox_I$nB=`qyQ)D6uR=;*`QTsa;IuguQ?Kp5az(AmK)XWDwY1xe!sAsF#w8{klv z_Wt#?{iFRzX1yj!T)v7~#qNY>opqNLXj?SdtW@0g^46-yB(y>v$*?D!R{YBQ+(xCc zdnaSJ`VVSHq-}$N zN`BSh_ihXKak+(-3B#d*F>eqODj3~fuGhOqyG*%6LygO;RZr~D-kp7g`BWeQ#rndQ z6_}n*k90Z>sMZn1BuT9lw}!?DK~qd4q{vM{r)aCH%D%(nNU6*)wl!IU*3#u<#EmmC z7~uf6I2d-FTr207aw!G;iXSP2-B;%; zXB*ZRj{DdxfgE=h-dT+9ZG*dAkT*zeHnf^zA?`o^!#mxFU_kYh(yP9Jvneo|u383a zp#j}cMTHdDO*`h+O-bW<)H!H~MU+Y?nq~5vhS{PR7hw6h25&MhzOrK4Tr}YTjf$lp zGLQiPyWP1BKt&5IVvxfyC|%nkVc7ygWc`-Ocv>9kbPcq(ISsm#fDKXVrt~xQdAB1z z0Ao00>XgYhnhgtgQ7j$ZFvc2Rt*(QIqoCHKeQ*76lxh(ydkK%1^nB^Wg7w1%Mjdi6 z8!Ybx^<(`Vx7M>d0QGqMrBdOT-y`b=;7vGnm22k49@$lVFTd2XihT3IZepP<3S!R3 z&^$oLZ2+#c+WL;oUVbfP$+D#d5G*v3sNG6q0C4wE|JmDDL=%NAO;Ak$0C7OmL0C7m zci(!I#t6eu-#pi%VE8CW+V5m$-z;mUVOS;sL5g9ZFmiIW)Jfud_>~OIM81Z0mWL0d6Qu$e(BdQF~|#B?fqNk8<_=- zWIE~gZrS;Wr7|x(`{dSKb9tfBdvM>@N-f%qM8+AWFFUky`tk2y_}=Gt`FHsbPTwpO z?){zpm*!;9b64!JwRKbZ_M0ak1XTbk^t*Ps+vQ*Wa`LHt_>Gz|F~O9ZtFQg41tv2; z`|xMq)qj7cdicOc8R>Wb@bs5I_Ttwr{P4#o9*ypCA1VLq_kV8m?IVz1O)qag@bL3D zHx<32&KHW$j#=v(ws7wDL&5Q{zWI%BKKZ4Kvj@KW@!^ku_e-B2AA9^O7n2=N_>%my z`9D7MvHu(K49rhmRyKwnxUck|Fa5D8e9{XH-Tf5!+JBX)&NuVy2$E0S^U>z(7uG5n z+(Ea$%rAK&$J-;q+8W)gED_}h4qUGf7hT1%rg|;b`Kem!Bo*03)`?2x=ZxndmPG5z z3k(iuQ~_*+HLV7eylwFSw>(l<%3Hnv^}!E(@xqBpWEb8$dN-GICD4z~zkHs6AXKzz zbk4MLu)V90o5DQ-wsl1hqEur~UA#%zn#jz)x;EqP`%ty~I%X!x$o72gyP9F6y%Y7t z%L{L8!(f-g{<6>YKw4EA&7U|N4^)I7XuvVh4om!1qU+1@=JyEh9$8KyK^v$ABhYHT zH6*v(hCZuX5yGZ|te3Qc9PqnQ`xlqd^D>cg!1q%AGc7(u08R;=*FlQVN6IJiu)F3F z4pgmlOIUVL_ff7kNm*z%t}*b$_1U*IML=x?Tfgqa zakLXvrvWY}It~H&fE_6DLQ5qgZf@xk9v#I9z{;b#rJ@+&u(@R$fHYu$R!s;~*Q8YU z#^U=oAB}%heBbjo=b!uH42J@@iY{^d{q{9AARYvj8>7?@l9%O~%O z>>T;G%=FyL*?F4TI6gT1%4`1m8Fbtb$9o(f{&c53^&c=drpAAjxSzYUx8kACx`T@w#3*DoHrZ^!Lxov0(~Z7wYFUed9A zMSj%=@7Y*0ZMIpS-5-temJ%RbRS=m9!xbaJlfIwyOj&1J?5jL8keea#ApJ&IkVso?jK~H znrE-ds%0Qf5{CrdvTy)HnksMDX{oB_4EG?f%|JbPvJx} z$H_LXqkBNG>QbnlzvYiptk~)T@>RZ)cTyw9d`^xV0J`kJ#$=;auiEvp2E#O~E>$lz zgWKG!4#FADlkk@Ox?>@#gqR=fGWGuUX*LWvKw!!X7|Zp|onZ$+m33vHKYetF>T zhpgJNK%h9!ll~Ef7u8H2<#^kk1bl6?PC{-Qn9zdx^(z8AVUUgW;=&L%x>OJjJRv~R zSTmLOfL0FY88W-*6*C{@`;;ZQ?jU%GPni3zn)@Ln!L zdq=I1-w#PPL(k05*JZ4=b8H{lXyw&mAW0jGzsU)YU}F_G<&#QxIzl4e!~W)+tv5)d z#B{s&Dy-jIDV=u)?mRI+`Q+H{3^W}e_TSq2T|9WaKj|x6^Skk;W%q<|;L@$1cDwJt zE&b-n17E6LY0;E!z;~ym<$&Tl()M_@;OvVtEL#oewuQ=aqJ5{T6gSw?Nc*7@yCv%y zC!{hJu(#VP86}0XCF(^G*i_H~DN*bUU~GXR$fki66!R90Jf`HiI{0b;cp~Z>&gIpn z?Xn~x6zs7)-F4(l3pSGpQoTv!yBgW$Qk3o>Rjk|DMH+Zv-Q}sk!7)d^xZssaWzg>H zW@0eC1@~>_uGmQyL=f0$wMe-k*xaqIyjqRAem2YO3Fp`jzayu|ij}whuE)G|b5%PR z%pc8}Q&CfJkX>3j@n7hR|j8K++_IMtpX*ZCIA{Th!DjfV%sbWjKjyWwA)-)?KTU7I7wPrEesFGYX!4bwOOp- z2_`c&1tDcdw2$_+bGqnik5o3H63aS$9gtO2g;ZCMeQwR7D96^7G)VFwMwxr)t|K?E zFOTl=Q8O)3#W1c~6B-epyUFGUwgH9?dOAmyavji6tfJj>fK4tM z_^_Ae*oun7Ez`0^0y+y+cxdy+Tm9Q6RHEJCv`k4wfJ%`Mwe<(~xPVHnj>`h$fgq}{ zRm@csb9A5!hM?8V5>!(X13_4{Hzg3F?3uMqTQu3`lq*#bBx`f46pV81-d@v0aM0i- z(S&$aXjH0mPEV4c8A$`(cHZKgAmO!)EpN=bbp5g!X}1V}vMWKM7Dl@(>8rtbSd&1E z5=)zcsV@Y(_mwhdWhjd1oWnL?%EIE@#_j`0EF~?mf&%F(Ti$?BTrSXduvSSs83v;; z2L*3%a(~pGDid~x0-&1MYHEruhzjsO{#%-985S64kcB3{fI}q9?{9Zs+G;pp{XG+z zUZ^(|;1dC;z9MjzF|t~u9GI@PK-~{XRnWH+5^lJ`)!=CV_yHfJ+C6TwRbD`0H)M0D zY7s?xBw5CQD#VQQ^ihA#zGyowWh!srW;CSrfsd*Ye z2{y0807=LMt%*#_ijn0b;NLLMQ-QrUl4`4p^2BAP8Uz zs)oS`06>7HpArP$8%@muArPQZ%(Qd>gddrpe|wb!CFPfZ^&~O;3;q@Y!x-i=RrVkO z{y_mmwGv`zR$=@M`MtS{3ukI_?!j2#T+wVwCCon3RMhdq+}TsJ$TNqu>8m#?XQD`q zh2AA>$1h*i!r_oZBf!m~5$6i;E}L9u^Sx`0y65@(#`hlmqGfI}y0AZM64O4}S=SK-;;~3y&Uo^nZQl8;?D{-!pi} zcTfEKdF};u-`Xu=c>g_~uf5W!)+!(C8vM);|DGU7yJ!C|o*Q162LALL-+JnikG?jw zUSE9cp-$1$akN2>IneWnK?v2x)H_oT+|m1oUu+j#nj18)Up_?gWdE_9D{ET_2OpO0 zSC)c~Koc}IIN)urx?IzqV)GZC?MKu+P+dOfu54Mc{dVmmNL(y)zwoy`B(|EQyE~iy zVa)RoU;~%Vt0G-z4teqVGc$9mfCX61(8glT*#j4ICyyT0Py zH11th2JTzD`0obfW2hrdepU|uOOXDMDY^}{CfjcT0MJ4GOS<|4)uY3na+*G2gCCMR z;;Wbch`8I~xJ$~ehrG`vp={Oq+^YMBUe>otKnMomD9VNvbOG6G zmewm{4G?a*jJs#)A7E?*H9IvjSCGdo{(T*T33Eg=W(c*t1}vHlC^)pH&SY^QAs81$ z7KarYL=CCA=%m`3P}SpprnL2~q5%-jogV-izcn}ya$|byBm&aky7u>$Y5x5lYKtGd zx7$6Fds{9g8~6KcmZP}bq8$xN4>$%agf>9fjRTUbHN3l{@|w|g4A!{D=0Y(P>4yjF z3>`r_Td=tclC6eXaYRH?FvL+ePQq3mvN)xnZo+j;HaS`(6}6)KGC0>Rw9Y$w?)$~! z*{^-_n@P{ex4->8JlK8V`qy`Czxzwie5sN;`NWrEH*+&jedLR)i#LAw{qNl|6xqGE z1A|5;m$er@xU+ICbqhWn%K^nLnKS>=!;0ZC<)5Y(3FmXi>I~!Q$&DCx37v zNT`x)+4Jaq!(aUB-#z_Q%;Or>EjVJHf`{()%-6BK>2jJoxXb;QfAfF7{+HWNyt^?n zc5tL;01?9>K9`r8V>>->U;5@yYL9{^qNn`PA3WU-_LE>W2x> z`r>3y?>%7VUb3@BVLPL4yuRL5)dQ)_&7gn(w$V>bO|G`b4_fONDf_;wlh+~4v0m6d z*m-+->tv4gw0JQb+Llhe)z-JG(a4$B{_~aGy$?UTICYC~xBc<;ivt77^|?073IIA= za^ykX3OiBe=Ag#_e=|t1;5km(GjD z;#?#Vs&Y95fnd;T3DVliB^U-#1a8z=f+pWym^p6qz0JS>2*|4Ba_yFr>34_)nLs5;^Q)MO>lg$ETc<>KHzJ#c`%b&I z3OT&+?5#`Q>`~eYsO^jcyJ|&tXq6e&bTeU3j^$hk>8Cx_$!G!QJYF~yH=7Da2&Qdp zfNs{<6ckCuG*7KwrRDciwk~;ky4n>?(hO582p|lDVXh3+T}G$2B$8c*W64$3tNRb$ zJA3=oz>Z#CD43nm!n-q}wq6T}dI#L#=5m!$NqEvE!XA5-mxrRgWaEANHfY==(i4ek zvAPebES5PD@{YA*DqA$DktRDO=;YN<@X6u@z~_c_Y{MP|3wbXUD=*)^>T-lWG}cwr zDhaC78!RE!l8malt65sIX@NqN=u4lu;MuFYvY!-7(@59>RmLB4 z6sJTh8T943WXmaV;E==89~u~DO^a#tD^$MIIkb4=f4h2KVAShXZvmF5Pkaj2mCb7AhMh37*-7S}A zysi!w*idDU#ObDsQ1v$5*O0d)3CU0ArVh0qhhWuX^(~uhz>%OQEtVP2R6$aZq#(b;XIpyX(y-FRQwP^p((`XfA{Rt z9mhtlO|DLKxlA138?C{Kp%WLYM-H^jWwg{%YGA0F&uwccqjsx8o27wS= zX|{N_R8H~Hp7`>ta`#bRcDaT1`#?2kGU4o27M53?;-DfmK-P}?W4)o~dLC*D1)Hy{ zvXzSZBa#6#_Am)<4EJ{xxANP&ofh2YwlxekNA~m-S1QSE3hd}oR&t}m$#hCJOnjs# zI-9PkFnjK@c;sNfvXiCNj5pfd6Aw$3)Ve^y9_N7H%jYKp4!WcPV)UOQ8$(MR@ln`j3hNnWq#_TpQx)N%jOUKxP~ zb_^MY1X*UZW2iB^=ydy0ENF88q{T~(`ojD)sG%sp30yrjw}G23RtV9w9B{WRy?v9b zd;FgD0%tevRM6a9U4gMWg*yAT-vJx-^x||!XH-||OnL42k*;dpWUH49q7MYAT52^0 zuB%AUL&I`2RnCe2_P!><36kV;wn*DxHQijTRqh`eY1IlAtdka!U%j~d;3K5dEA!Q^ zUYDdW6se*VMUjJ>*|JVr6We-9>u3ClLBk*v!kf>p`9d9Dk1~Db653@K(Qyx{08|t* z%+=gv4>}GRAZ>RQHrC_aJ4K0N^P31NVz6;=@Agu@)RK{oB;9JTK3`N2EL&s%#z`C1 z%T|l9-3OxC{v?*l(WtuV4tk``Of=}MusdYgo&W$K07*naQ~)pQydVSr&91Yp=DiclwRLlUiyt}SDQ}389*Xq&l|~v?6@{EZJ&@|| z8L_Te&`3ip7y<(k5es)J#bqqi*Q#a+|1d)O1a6V`_z*}^?E9B)zeu~rLeYS3)?vva z7|YaQoS_jiqKjG3)L@$z=T~)!C!JAM4?%?6YO$KaA`Z8m>S{?7hjdaJ$m3bR6 zgaP?nc7}3b?m)64DD7dFAWf5~t&y!`E<@r|FxH77G7)h%78aR-PQ(;gc7t*Fb%-M& zyNEL9=7U*JIHCN|BBfkYRo2weU*AvT^w-N++ z1tbo8$@IqROP=nub|&pZ+^%@DoifO2(4glc)>y;}F z0EE{83jlyy1`k7!X<35Oup!7h1`L6w0cd$%?6yN?L3rpxf$GWD0tlq`_H(~Ic`pcF zVBfOKj8rUH@xM(2s?umsbKlicBfeV|;X8+;G z0Btc<9z63>stV%&^vyqc{u6tv7Pj%q`R5<|)E#@Z|NQ;MKA+D~VQ-whGJ4m@wLhNu z&*>}w^6dVn@9Cbs@crp!%fmsxTg0E+-^MLneCg+x{c&e58vMqI7ta6Nw~fn(PQ6V2 zih1U5zwwO=@BTi7?YMp^|Jb1(DwA!~BHw=cuglPzQyT}Kk30AUEwJ;iwBn1OzVho| ze&%s2y5mdVKlyQZufOyC$H@L)otXT|*Z=H)U+DP5%@@su#qOS-=RR@Q+H09C_24(p8ulH>+vyAoGW{28zw=TlXNiU#iUX-2YgydfhJ_u&ehN z=!Um1YA2s+2ybYWlQg*3)_kFbEkmOvaaLl?4~rH6ILw-~P%i#rDEZejx4+!xd%-z2 zQb|pD`jdtF%O1}?x26E6yWeVc6KcSY^@{v7N?Yp&T0Q$?1a<5_^5+-+@G=pGp$1c< zPeJ)4z@%y0eWqwEs$XKlcl)bda)L+DIKH8#CkwJY=cv0iX+Z_%3F!Vxv}^X{C!L9% z4J1vGyNrAW3EFd;zqEU|o8UT{y4MI%RBjli?p48?sDm78oSR{`wbstNfa5A!BZ)Rq z`J-h-5JS_=5=?^%veK)6VhMUZKW$Udybai?qoSeJV9E_PJpmt|Jp*3Qs&5k6$lpoAS#~h1w^1q-Zt)#b2w6#liY6yA90p;XYSAQ(nH@^!J;P zT+@K&!W-Psk)VajG6jKaqyWkOJ|D=ZC@7e_wW{d0U{}$lt3U;c}~`P$b%i{~5X^=q%b{>t`|uP<5edLf6id;DWh zeiY%&Eu}6rHrMS*50;<5?E0%e{fEzd>GPj|{{OOPelgP#{`kiqdGVJof8h)Hzx}KK z^OL{$U%$Kj&wl4J^ddCcHhkbQ_G9S0mty^TR$Hf94}^;hIfDV z_N{C^d(P$PaJoqxSvQs~nkKT@OjArr8t%3c9``Vz-xlOusjZ)d+B|l8$dK64!QT0e zD=h_x#S;{feEXdrx|s3O@~dNG9jet93qt{)y0MBFoP>dNqc!DpsfJVoF->aexQ*Is z-hu!-3=xfd1*cIIae3^eLb@7__p}&%ExW7((2?FJFRi}P$(mA08UUlyLR4K zyQFD2Xj!xizg)MRrt!&@mpX0R8dIfU-vj9rlkV{dSAm-?%T}qXDODdPK%gi$IVRx3 zF`+&q;6aZGOU1lOWBlrhGts_M=9}?iU!nPa8@o@49V2@nYgXuO?Onx|YSxROLN@T4rV|JnLDaI&p_epvr|8Q~pKlww z%UIKM7H6YcmnJXXGjee08s2nEUAFD#uKeM_gPqOp+uiap*{JxzK3c*Tme zN0?mM9P=j4E@r=LsHNmUppzjjXN>0|6zmYaT)$@HaR`9;03jA)@ovejhfLC_Y;JiO z(^f(njd7-@4kEZ^ZZ?{Pl4uF#wz8*2ROiIl0SsKI0Nq;IZG{S);*GPKC z4_#dT9)j(Rjo^iai_vh;DqD{B?*r93uf(E`*YjH=g!+038M#s}-y7+>ee>*a|2|BA z&ttQ#7OjeOwkP_OY6aU}Q&6)vLjm@jPwG`o2ybhJB=`noO~@S|+3uGwU*lpvKmk#v z+vmz)P#IO-H{NRLM}=dUC2`FHN2_YlH?LqOvNfY#+pG8T5KcPLf(SYoGw5k|lmlzP z!WbG@Uf(hudZu#2vh60Iw9h)qIMfqs|Bh7iCesG*I(}z4dm1nus#48mAb`kI-kx{| zfSS5gEAHOz-YgdT+b|6q0GXVvp0$+LYMpk{4ZGjx^DwJ57Jz_qHBIX@9rCR$<{Y+g zqXfF!BU5K@$A^PB1Nb}uXF!<0IxFKyz9H~yO>MWONiK7vo~3-feg1Y!=TIG)E)*qu zyT8inFpeewQ1&G>4JEZ^mCNF&ABL@h#E^hoYE;VW{GpwD(ral|ptrVa3@TinZmRP7 z(d|PJDA~MT9*(#ioPzEQdn-X=-kBWi#yS_1eRr zj=p{B3T$EV2t*+5sp-aCnmK;d(pA$PiO;R^SxX)w>gkQt!n)cs+AH!iYa3d~Znv~* zB;H+WNI!k`^25ja8md1d>!b~O=Sp+OApfCZ`A9bcHe=Pw&8hy^W7vzIt>21W<1|YpguJZLi2F7-+3eZ@5B)Co~Z3BUi57=pP?4 zGDjVtVQ>O1#mgdmtALp$?zkm=b_id|Rhb znr95qP!s-6A5Idexs~C)#ln=03Bg*61wBJU1G)9JI0XZ`B{mB>6JLIRJvtamuQgTL zP1o~$ZOO9rl!|2lbG3QBjbf^(Hc4k^a`z)V$2v))S}Rf>qEs&pM*9jJ0st~6@FqrM zFgmxI8yM(J7mJ7if(o8m`{$nCr!?JT@D<%*vjA4DS+Eo28>}lN8G03Wk~zUPGJxk- zEZL$n00=;^+X>cLNL4^pw}Aig|4oGu3nLPSqM4ctLBdYdh34F}(?yXzF*ujvMn+<# z)uMiyYkQtx->A?ZQ-C6(cSjMpVh|mTKfJh97z>-1I{Uk1b^|057^=WTLd?Hs^WQ0} zWe`$@>J~w62bCfMhk8ej>n1IUJV|N!hSY{fVMJ(^mr+L$M0~W%sYneCG$B{Au(m=G z01<%@92GPSlm)3(0i>H{HI8_a5X6UFWRoqhg1eI0OpM-T_Xexddb3raCVxyh;C(cQ9O8SbzGLZvDJFowc5{hoG3Et_Ia(YFYuSCiIyb{yx*SBTBrnKh3~ z*1A4H%zu03eLq~dEP@z%qNUwASqT!vgdeun8ndEBKtxlQ01O_)jI+xu0zkse-;<;} z0klk$l~KD5fI<`_N;RuQD6-TOjlqx+WA!U4Bh~Xrz!r@5XsF$6E;8{ji1v`lq`OhP zxisw|0$cTJG+@W-keHn|HtGcS0r+cP{c{HODlOSC_C_ts_D{c+FPvwuO}_i44|`MRt< zI5c`}aqe*6W;A`HO4^UFE$wqqCIV}S96)(ZVr#{K4HXmtY!HzrRX8Q`I0OnH)HdJ; z_8$JP7oYZ2!!3|ik)M!r&2WxFcbg=bWK*Zk67@R zITZ#}14JM|(*Ottfuy>Qz_6}sAPBb=8HFGl)aN716$r}+Dh4*5`|}2dM0A}QeIvF6 zdM?AI1U4*NgA3x>e?GMThZj$EC9ECI@f$3>wU>wLBe)SCZNaa-`>Xr!_()N^x-@rW zHF@fDfBMnm`{f-yTX?!{gKquegWO=mIc=hCw!WUZ%FXG4PabF$>Xx-ls}tL(@|5@a z$qx_iPi&mMx#@52_@{3){^ssad2DA6Hg@sxxj6Jh&*+&(x~xJ|UwUxtgDd%nf8UnJ z4cZ$0?Ke_~KP?89PLxL;ufJp){MgNGF5m%=cblUFk@L@<(EG-KB!&Fx;)lQd)~B-9 zN;>z`zc%lwrvL52@~xZu*@r)N{~s@X^_J0ZM?;Ui@anTAj(YZ#r_TK0z)simmu;MU zqYgWCLFperA@H_5yj(&r(1CEWc7m|EZMwzQ3um*_)Rr!#i3f|?v zZhNvWE?IqjOzk@Aw1c`@2aYj9kwiAMOM`*^yXl+E)#r~>9UcuT;EhhGj)RN3e9WC-?5m!0^#4y_0e&5kkwNoGt=4&znnhiYkiHSqsT@wX#U8(b-A&)0} z+p_xNo}r_l+H<=6cw$Fadv0>EEWWY))FAQTBUBFO}#~QcqyF^ z$D~GK38GZEv1nKiufBA~wtrhOeSX{ak6F3`V0}@jXb5KpHBD>))=gdQ_M#c@wdygg zz-nza)E{FvIIGPpFbxWIw^J?l+MN5&Lx542>x4>BWIrznR#yVh1RP<#dIN-AUN&7* zi3Ly@arD4|D!22hGho(PA}5r`2KT>r<6qJ2_gl^9AN^?9?0BGky;j}$$jl^o-{aj< z+4|1hQ(=$XW%}Z8PyW8ar{R%LzW9rmp83JmiCckJt}J}@yI=nO?~nc6#~ym}AHMSB zh+|E_i<2+kvhQaT(W$4O!Jx%Iam=n8Q}6uu*T3WJ3jJUO|C>bMtKa_J_AUOO{^Y;@ z;j91g^u-_e?4HB=Ba7W{*g>W<=5~u-#UjDj&YXEE$LGKB(a&C+JwCi;aA~z^3GUjM zJ(n_;?%V90UOqWC)_vyeF=uDDvvA508J`heMz(xwdw>S<^~)DSI{F`-zI&rmrt6}2h7JwQ(}UYdN-&mt<<(F0SjC zQ;(o#p;lw&7g$XM1mc#fij@a&N5mg(owI_;*BNurfyRq zrD)S!qbt#2s#+Y00_b&(pa|PAZm)Q{#0dk}h8`Jq=(^6m1VQ*V1HEw|BbKS@u>7`N8sR;PX9=*Wz}URj^p-ioX6K zJGx~nUR>kr^oAz)bkc>51(VO7O9DK0A*MvotkW=!b0TcwP_xy4bv{4l&zn2EpcoM> zO%;{xIkX1P#5@DdYU|aDQYgfAhRi;EQI~tIhLe#Hr$uO0U~(*^WY!P+P!06w;{6si zi4eZ(vf)2E6l<}d(4sci<9VdPPwsb&F3+t}{b5%%1xD?y_N#4fyH;%4Xs_7JGo-k8 zRFuj-zFN<)BeI=!BJ}k6)aDR$t%)_=u&3~%NNkFxC!tW(9X6#Q8d_6Wur8VVP?mMN z91`wmEZC-sr#c)yrP9kdPQ&_Wsdyo4?!Bu^lL;=)bQyIe=ircL>8xSjPIk8&++w>X zVl%hyd~!i&_$#v=j$XDE@glU6RTQm|w`yJXyT36{#v08y$ zo|^@LRo6$6ojI^}Bcu6a2Uu=7jq>|_9f)DVOV!lo(a7oRXw+t^$ri*7>O~gdj4m6j z%OnEiWOZO{$i6te;yQav4dE;%zgw0C~$yy55u0jam6i)*$lCS@jz9Xe#6n@j_QyHdEJ+1&x!$)k3u zoW}#*v&#hxR_r#up=QT-?8;YC9jX)YdRLe=wW?SU@%-t@-VUs$kuIx|t=YE?gN>5P zQ!y?xZO4h?dfH;yy>H(*j#mk56m?zn4)vQGZ67D3-5%FNn}>NOYjt(5EKQkg9g7=E zZsV%gBHprnSf?B?SDIg|4|etEH|FFhnBQp2GHFLm4S)k-uwH_LkO&5P3d_0i#FqZV z>48lHs$iN)DrTE;+wE?#9rs(gXOFGlci7S9*!h)>{RexlTq!s`<>Yc&BdxVmCe&q% z`*IZQo9E0}Eorj_HJ!2QdZ)Yaey&FpG?*^#-kMlhDN_h4%R*-Hje(sHM20OFPhO5h zgF0QS<>t2xZeCdyo3&cBKhi8z-0^PMRWFr;d2R*b_|9-W);GwPG`2dwv^pbW(SxHY zz+^Wg9h4cb<*#Un!()kV--f2rCBD59Nem-ZE>o#eu7uF8Ssk|Z3>uI#!2w%aDWfC? zp+?^}|J=1znCP{kDOD27Fkub!IRVo~`i8^N1;~^2cFbZGnpMna#yKQlK`Ihbrw}Vj zq6^D^arpNqGmAKorqL~;*qqq&&DO?JBYA>BdT6EXwxBWq$~GZOHB{QpBB2va2;hLaoQHcG;DRD`^HM;)on6@bG1E}Pg^NJ0?t+by`J0=Oz`nozb{d{X+t;K)wc?wP)NJsz}^jviIjg=!_* zJJQUYh2g!Ccn~mH7=~yBC7LNH7;ogJ4Juw?)nIT41{#Xshd`rRmffMY5jhN}o*f4@ ztlKyHr3;<*ROrVD1bJdINc>%eF#L^mQA+?2e z(?($yRia41Ogm73tF7>ZE^W2hE|Z>xhIqsq>uxjyKCcR` ziNs^u1}{wg;r-L|M{f<)7P)kgiUzDV&J?#j6#FCy>SK|?t$+2(_y7H)n{Rj6iI>kY zw~b9L{!%@o{N~{SOW%=?BF@5}PcZ=afvou-JlJhL1*zahYT505_BDpq9oIG>{Hu~VDk-&L2d1-<*f`@0vP znD}gUsq*5RZ|u9z-6&8SnOBOU5c61wyW$uBY?3rkjXS67W3)VU+iiEA{N)>rd(j9=87KJfb=@ zBD+}*U+MB4o}2wyYbojWJ&qX?fbs@ulCUcXPE{&~ox#;`g{l~KkeB7d%<{Ajt;krz z8-AivN)cvNC0*hAcL4jEY!=a4FG`x)+MJ`?RxPorZqRpq1buE9k6OmjuU>BdV*vkT zOE{_Nr9iOR0^$;vClG_JUc&6R*~HGG`rl?{T<(aqE7K4P_^{y$F|QeISf_NntZ*QR z3TNu)WBQW~bqR8|iv0Ve4*tUnKMlbjFVwRZbZ~yY25O~!L)(Aw_J7_VKl*65#uW8` zpZ(M4H~;)@=WqmraU16hPhd8UtFTDG+TsPerGuhcAVILNlLXvKn+lE}T6i@dJ=lXG zxx~It$Tbl*8KM?NZ76JIT4`2ouM@$8kTWK#ZM}@+0mG0*01@h$w9x2)s0d*cTe``9 zXdDq_Q8d8PyiVJ#8iu=ZrgFs<*$j|UX+c0G#ny!?jc$yVDj!yDQ41)URS9B>+Dzt^ zyLWwUDM=-{KL){lf4KC+(aonrk;UB)e)?zs`L%!h`j6hsE`IjNZSSU)#m2_gu`%D= zZgq4zDW!TJ9h$5phXQ*q9RKY|Z1+MQ`Rteeu`tDIX!+32O_x?*ppIoWfAPt`{A}06 zc1sc6|LTQP?sD$v0qoOX`oaspdqFIm?(ml_FTJ|sQ@7tZrL5Thy~S<*#6Ny(*Ph29 z^|`*?9df?dW9`jx%O{>jw|#ui>33f9g?iq8^PdhL`np59czi9lV|XvO(jqKdHnm@$ zL!;enP&DipuKp=krj8swvSXO%%zv3*dMO&d-AZ>|nR~f==$1bmyXNZzF>Mr)i}i|W zaEPQVBaPfzN!v)TYn}dhD?dAVyh6F@Z3CTUCD4tclaoxq6Uk@Kv)U>E3{Bs7Z*0qm zpon~1)YQ7ui3@;)<2JiDP+Uq4M)$8Y*Q0h}rp%KxUF8c}8=y>t%2FV#M?AJc+IzBA z1Rz>5F|+~H-ZA+64sO^&ss_>GRg#mh#k zJZX(|X)Qs*bQ6eFjjWG|hnz(iYSS`PVjR}l8hVQtyc|XCkOT|Tny8!kD%e^p*n9M# z?nUwPx^qiFY%GVi2Z2xCfLn zgoA6rdbdW)Dk|QDzBZj_wwj6asAK*BxSOj?=0V+Q+vMa+Qe?so zEb<6dSkq1JBIlx@dW7ZQql8Y)66yc|AOJ~3K~&wWh0nJnvjed-?!GpgWOSmxw>O*d z)GQkU!E?sVzI=ZVT)w~;TsUqQnMBaET#WcY{p!Z4P~vEyhcGwc74C+a?6tTz+nEoD z>Xw#TCjdmV;1-|`>E~7@kZe7zShqVQhX&M}8sj&QEN?WB&Q2xIhb{4G^k?4kC?9WO zqV2T$pM7(WX#qwB9SLe7vx-hc>2T8|0`h!)c7g(LF6XQSXi6$%4~93C_lw8+%?Wo$ z-PE|&boAYWY|1ofBp3~>O)uU!|N7=Vdlzn|?HY^YWYbBm*V0}(V1|=+_b^R0u1t$& za6{n8#e&t}>&(pF;4#`MP9&3&1F_@%=5dq z5u~M;%d^v$7u;4(z-Xt!g!~W@8DW`hAQae`pN9|^MwlIh_Tk0y_#jowTn@Qwr!Lm_ zj)u}pmoV3ka&EP+Gdg+twQyH-X>Res`}VZzc);sSt)~aWb_n5%^SNpREY$#t&-M&B za6`|sCa0+xu>rq+Zt1o=TrP|)hygaY%{E!nU^QB1vsKnIJm`cGCAECTY$ZseLlN>C=J5m{pb)(%!GtYVt}auy zE~%JNNo*}|?@j2Sv{2`;XP&$C@JH?r#&J;w6~!8i;n}6dXjd1TU+5pU*OKT`K@WMW zOp9o9xFqYmr~v=R{|5>oimtMvED>bXj14+r!tRR@AWC2YOoVWPl^QS#AGmEop1sy{ z0OthFb!118oAIG=eWuMynb19C8EC-iW^Pt<9-Uwq%>=j0l~s(F&0&)yG-!*ZP|-Z( zilSOvo^DCxNGmA`l8La?8f{oxw^E%N;K$5j_1g*{r>@L&HM2W3-alh!1vJOwM9%3J^5NgsVKQz{72= zg}}V35|Sc7q^4V(a``d@CY-RdWw4r%WNRe~twVU!6YrUM{#RxTZXe!PntA1eSC_{L z@YA(YhybO5#+%3ycrn+qFYVjBb+~RT)9_ z%v8R}d+h*_KBt?yhPoUkx8ug;GsU*Ru}p8*n4DY$LS4yHZu-nyx}kY3j?G}zfkO+1 zg_l_k#O~eio4LkbY4KJRfAfP^WL>jj=w7R7O)%bhy(}nV3`O#W`d9mo{Qkt-KAHwk z{8SlGLR_Z_?XaxLDaS1qsn?AxBP`@*%Oi|7B@ z+}pjB>SJbqVeKE*+xrv=(@sQALjG1OV|J2F&J7}gwSmnpfN@^ zL)0j!rv9d^7tHcr^WZ(Gp|nd1;_gx7*P&J1fqYD`UF88gusozfVABnl!~u`PzusIl zjCx-9HRi*bHN=v)Zt8mQ{k7+W>Ky6m15`~B($#Au)v?u!{8jtZNjwrXnLcuf{Wb<$ z#S(+K`f!|9E2VaJxi|LZJo5gK`$wh9OdWs4*1%b88ZSgi?Fec!3e4*;UlB*CgV1g*9+}uRg|GzV?(|j=Wjm6I!8AJM=xZZ(Jd~e z-T8}$KK#;O?)X~gzn(VFKFU4nI%r*4xez9IqJTrVR)BA}HYbZ7D%dQ*u-oad!L1o) z=;MjZ`G!d1_A;x=N?qqD4JfU({cgk(?!>%-HVc?wt2k96N741^W+>u9MZ*P0Sb?`Y zR8aHNz#59U3{BOzvS)A?B0->PCH;iF;4%P^EudJDckH9p3Xjtut7>S#BXW}J;9(g5 z(eJ*z?Y_sxybR^vDu)97EbxuQk40ZOef3_%TL1vy=F6))Z`qPv&+2*mfycD+)sitP z&75LidFKzi4?Ye8hK}Dfgq?AE?##Q>6L;=@^Zb8(?`wC1?z;x%rRGDz^rbVw-35n3 zt8qD7qRGoUKyc{GpX;qC7j<%guyhr7oAlFf?R0HL?fU=q)8BmeE1z6jU)7~gZ=8SU z+|<83{O~uYuYTBnTY0sVJaE^8Z@=@~hadiC*qEEF)Nbp0a!s0T^2cK_T%itmk?pU& z_U+-w?bYV>-FtmEr`9RTVk7VDn*iT?>+SIgif_3vB^B*H06KCaW{aE=2lM45^Zdug?kyk`wST}08M%L=> zz<38a)tgP_5e#+sdClGxHe-!i(O$No0kJkI(c_XG12BiR9rbov^R-Mn8uqC~sJzGq z`$nqEslugP?>)S-tiUxXUu}eF71sOZ4N~eTTwh=(G>_Pbj`%r5NEg#y)l&t_MMt<7 zsvxQMMU~*(J>i9UHiB1(o_J;{2bY>CliYgWf{9^ezROB5oV^BKw5K8kf68ltBm*lH#BQgt)b_+(rDn+uSr_wKAjX8< zHh;R-Itiu^`+E^LPN`dIe(Jf|@^E5nr(_?Fy7TFqb$sVc^VzuVQxkTqkuSbgTiyl?Tl3k>2Hhli6Ay?SfZa)8^@5hiOBUL;7a(rHxgphtN#c>k z_RF^XmK7@1#KtM@LWMa<>8)CGZ9&Q3+5U{AzSDvc!iiG%}vwS1ceIUz_Pq`?Ox z{mU!O>FM?UgezHSr50;8E9dkkYHUs9XxeWpHDwnnhWoa0oOR0>JUu%t2sXLV?%Nqg zXb+6l2I(DBGdHYGny4?R1{&xhaX`+d3RT%ztR;8tn^3Ydkc#g(;#@lDR56F$$SM8|n+f0NX!=q-ZN;V!GwuI6)4N33?U zVojH1zY{zC!Q{ZE*lIF>;Z42R3PxPn?D?>N5P)>1&;UTvO|b1|LkB~13yTBYIPGvi z&Gmg-6Q$I}Ox+R6WfCb7|0Ywrxm8$c%>k7 zHR;uJ{9}KWm|D1LR|UJ@3y6y z!PPJ-QYqAQLW2z>;4>|79Gls|Is^jgPPd!&8N}xj>UGXd0aowe$&sk9aCVs5xfTroIstMR86u78_h-ho`|Gv5-6x>ymn>P38}_%P znxo59y4I?PkAj_f$b`unYIA}-Q==@Sq_d<5H5qoGqG|$DFw~pdNJct17?zlPwJ10{ z!w$-<@O&g+YPdaN3gep%Q%lT3*hHYG&~D^mf&kkZ1WBcWU_y8^6_iyEW$sXl(*Q-d ze2T2G-f*`h=I0h(-R&_DC@VHdMCl?-3B#f&ZK1Y)$zlmhY#T6}NdqTw218@KQ09tB z#O2bd2quW4KoLZxmE)Wpm?p5BZr@+am%jCnFFa)M-}tw$pZ)f~EKIq(fp&GG@6N8) zvlo+}+ke|~`r_Yx=6_F39&1C;UoPf`34C%&vf_}RwA5u~--v(d#(KBMcKPD8gANcf zk01mOn%5Z?L>nU(q?Wvd*`jcLreYw2@h+Kf@ermf0-#wCinSqeh!A3yPJ_Bm9fq(M+ zuh#Xa;;qt!KKJ&&`}1F}{rZX1SKpn!`PEihJFxx!@$W~}l~E>tvH`6A-TjY?>ubms z;QDK?_t_rKn>s=r4(!tOs?lwKHP_|6eOdqBd^pydqJF-Rm9dKRyi_O0hNW0y*xfbo zAMZ{FXytgR*mx@UOMl{t`!dJgwS>od{|11YRZ|awI6yXVb@c@&iu;IrS8BhY;`<1c zu9l~qeUEU`G5p0|D?Of-zX_~Keb#Qq6lKW|N&3;>{POp`cYG#={e)6(Z#UjZVn3#= zyA!wUu5P?(-ny;!J}>1MAE_!lfH3<(&}d)gU7cvFnlmhIl-O3+pZ5DdUuQ1q4lEkD zZz=h`kn;{;(*l=N5iz7FIkL;rs+~cogJLD;^1~+eEy zjt3avZB*$E!;e+KlA2DNOanab;MQIT5*DM4Nv*2Uc@<@OuPCYTP?L<(X&SU zcL=ac!YD^y0=1-Sln}tou>cMYs8Wg`Lz>zyXh|Iws!M+Y0TO^DO_LEc@O))K5>8@d z=Qj5t2I^i?zH@D1ibBKFQ^!H6)e^6~zx4PgqN|y?gHOeOvOqTG7jK>&4yls|%bL@! z&$K>FQC(XKmt-fqo|KBtp;5G@N6kx)3X;G;OP@*7dP+m-m(3YU;n|^zW&`GKKfUW{_8K_{L23xIeYw_dwfUT2OL^E zHPqup+ODDaFh&raiN7tgZ)t_#KLDu~4uPSRTi9cPrue%UPHgIwza!8g{4wJY@nlcl{#ja!)}VYXuWelT?j zrbGztciYXn*jQ_d1s73^TDt-hQNRtJ|Kof6HyvzT#h`8L0aI8=$VP#i`f#~>FpM#9 z1Il$e-I;O)kzjgL!(8*r1=Tbu8cy0}0SN?8pY5=?QEOO&0mj@(=8j`!Glp4GYAIpem?{09VLs92$>WJ`KaDrFb$@)UF?-HGvbAkN>)9C->9RW? zg`F}?Lq+CdXLx+0Jma$aT#k6ZQgAv1FPnc-VJ`CG*ZIAv@GPGEG^rT~SbJiAE@BZYlCyA){4V zH&@vP58#|wx0nKo$CDJ(TG26g~ zj}u<&aetzLWoaVY-`t6J<W5cu^xT zxsYw63)otubMy9Wi`8W+5->`PMNTdN<_^u}bJx<+@JPU_yR1&7n&;`5%TAgzvccSZPsIJSr6I1-8%~6&%k37An`vKc z)5?txy0&$QqSo0L`QW`9gCm<^khPke6pp4=uD|?Rad6Nx&|wdEZnl!@a&p6McC{L% zYPIFIs9u|CF)8gG)-hjjb@pmF8qL=7+JYT{V8zlK}AlmcW$y~|h2)XZUL zJrL-i%@zZ9T|4`JJU)z~l4rAR_D05P6A1{1cqO{Co3Y6AOE>z4cVw~!T`pJjTCB6j z>xK;oVuaCBan?MOI5ok4oUjKLkS)2 zGvPc88let|Vd&J2vwfYObiTYJZeL9{hX-vi5Y%m{AiP^@Y0rZCBOpPhG zTI(CfgMMfz=Bh~%fS`IiHnJHYpZ8GoREBi-ogp_tYx z3?)dl#x$!2Sc}@d7^GG-%!I;bkEuBOzPoFiWC%8Ri8NWoL6@$W)=Ndd&*j8r0CpNu zdv!jmLIl@px!g{QNU1trH%w*=5|6{xJf5$YJT8itWKq(9|Jec#3IPm7({%{CO@-fp zC^rE0upayt=y(0ec1%)|oaQyZ5)%pJMYxmv9aB2e~b z%cX9J03>+3RRbo}Q`g>E*?wfCRdaZ|4v6rI#-Ey76JjolWMQntn8g;+gpw=V3xFtu z)D_a^fR0+Nsh!6L!mL3pKJ5HPEl>()HHDZ?f)N2hi!K=DsuGy_+#k>(^^<{emTt>e}`+T8R-lNbbg zZjRkf*PGbS9vRGVey3;ibNN}zikupL^d1#nF6zHa6^kdbBz=cSoCY(JC2$Lo6-%uZ zM;C14wZ5T$nEK$W*;w-EPUQG|!z#IfBMw7=J?)P}0g#!iSUh*hj!VJKPw?szzO+5E z-?lujISbC7#1|K`KM#cOMmD-D^%qdJ196#29=2(p5R?J|4;ytzjnt^AZBm8diVgvL z8B|?P^ZrJ8YP02zoO7~K@Yk0%>(v>8u2-!kriDUq2Eoj8Z^4vlE6cqF*iC2!lu^j! z2o;Mro45o*HcNaMtfFRWx7AXumw36IG20KwmXqc60V3=c*-5|g>6&mxgfGEZ$SvPj z;eH30oT@U50zMs;6{Ut60RdRRATK}|x*}Q;l7Varizxa!K?E?sFGkA!9dE6?NFiWH zTR+z?{cQ$%ZpiWE(a`KqXA*neul=5xdD#DvEvBuvM8_3NV~ZCwQGJ@^umBisqGZTT z@PjAFl(r(OU6AOJ~3K~%y|KK=D`>o4xTYd5I$&ZWz{4i@j*`RCPAd9Y{S@qhW8 zuTuWa)wjR!nctp$gR^xf+RT|>|MuMd6J3S%j_$bagVUu$=A_a)eEQ_g_1wfmBl}yG zQe)}H@PTcg{k#I3CPcOP#lQVbun1;t{`+seZ2m!j_AtDYhMBmT7Y{7_~4p#^SQEH8YAuw<|!!u4hsoEH8ES zPxKx?z1Z2W=GM;|kq^tye5wBl+KXH45N$C4h09#^J35W>>6@{=dyuFBrOb^Q z3`9hCSC>%FN<}kBdhDHXHOs>`Ie!8UZI_yrG)&|j{&5iQp=q66$WsX)sWiX=6EH`b zxoQe-VTQ{rn`N7;o}VG%gt?*b96y>wSG{2h#jJ4--DtU1DF($&J`h}jxDkxK45 z)Tzl#{=}u>{eKPW#go&8&3+FcR9Y&I_$aM%gEw^oj7NeLJ1$^bw^1u)DC*b9wgMZf zkTt9xrov0MkcIMFHxa!JA77a^yO3rL$EcjhSI;sMZ?9 z8!8%yy7exR0)TAIX^x+sI%|!ONu~|1>Lsn91$R{E$xeJa%O(a|+Z{tTpc2Sjz2=N> zYnxp_&1V{zM2dT$mQcU`ez0dk$+UU5TPBfrrt1?9)*jl@-Y8ZXB{tv!p;&o6qe(8y zNKDKX%r4T(Cn~@P&6d;BcZ947LaSV5%{@MNJ(ub6ja1j>MYF5l7^22hv;w4xjIT-g zy$)~nB5Av?6L2?HB*dGqHoeWpB|zAPhfQnq_2JMCCOKoEB?6=X&5~=cohPafNp)+> zx4`BC5sU;Vn=O8h{oQ??cUMKoZ9t!^V*6V^L0F4aw}TrR8y<(;wKj^*Vu{hr}G^QsNIC1F$96}f_XEmX{DH0rY^ zU-w`|TVyjx1fdx?vC*7_=t0no;#w_Pyw(|m-DMl7Qm;tvy8J?W;b=(WG zI*7M>VcBL)p}U-hs+WS@o7a{u zba<^QJ1+}nxL!5;)tfUHN22bQMBIPWNtr@z0e%0qsd%3&?Cv~$Y1JN~Rb``DPiQLd z@lt1}o9gvc%vCFAw4VNW&^~{CxxIbcggc~yoSmsRQe0gFaJDJ!+PQslZZYD4H>TE| z(PE%`dzmeg4DX19V=hIjOJFp(*1C`{q@cE;w(YBHrEmvj0bF&NEmfPa=vYbSM|-0F zNU&ZjawSV&r;A}lRWDIalgI0y+d!<^hSj1jWLJ6z6ZUpb9Z<>~*X2qyOP3kOQ*S{g zyxG-l%r7ROc7Ad#L+u{{thj?DtZ*UZB<&stC{#(WAu%lrY^D5CT@n$tO@&BDt+l+M zMSGo0Q#Si)k(J_!;l;_UWU|04Hnq?W#}mo*xrJ=Y;d12jQZx={sui47HVwu$jSRl> z#{1j1^@O?{#bj&SW}UL|ZkK&=aSdeT?p}AJIK^r{h{RQ8Rnd@2z3e0~Q8wG$$lUp4 zJc4fD9Jz3Lv1;aTUfbv!atJ)!s$PTTW+u4|LU_3j_62?QLLM}eW>Q$p=5(h*k zFxemo1es<9pzO=@MPH8(Fw(w&U*upJGZB_($bw?B(UhQCy&CTg&Ah$3=g=^03AKw$ zaMGG)M={Xg21nf$7eF}(oI!(BNL7u3&&gd2kp{YQr zjM?qsCf`z75Q0Rv$L*@JG!C_SRW(3fP!&Z5{^zk0kjsR3I8d5Ea!sC>pcjQUC+H+$ z7DV>yLh1`!I|LjEV1UxF(1YD}T9#PA#x2*Z_T`f`qOF9+sdMjFdXM^>)v|7-ifzep zv>OFksSbv=?$LD^L7f|!RA8W>DFA66@&#vUC+Tz@suyk$<~V?{jg1SC$H%Ia!$$qz z+`;#oTnAw&?9=PancnN}Z120$YSoJ+7rDt58;rp~z;H212uUE}!UH7u3keB?KmuGG znycL8iY!~js;j=M?QLdudT-~PIsKgb+xHKA&-49|_brrXy}?-9V4(IqfYCS!De4Fe z15MD3gUVWbm9|hc9=2N~mdz{8K((}jQ&A4;RK<*qB0#w0!(mCQ0+`E60IFCwDMhvk zl89;|%{mI2kc^>4)aF7e+wymA&8=*7jA#PC+omB+K&TcoExiu06|1=eqRsqf&FsPC zS{5|&HC93LxsNJb%xG+#!dkV;{s%{n{bG*fwQWPfkHx)L$P5>>7?L` zHNbAvA3WIoyVsL62vijie|~9VJvl?e};m)n;w$r;mN`lCCKrj2wK>|LZq%6kxQV*C#s3&3MiXf(Bp= zLBM%gLt(&A(PM&ePLX=Lwx{A(f+Sv3k(Xew3RJu>%IQiF|D32Eea2_~7_EC6*!=t@xk z^tayq@kjUm1aE!d!t9?J{pzES|L|X*{q{f1z8nbqKeMy02OP8|7=P`RuYKc-^KUGt zOY;AE@}pAy>Fq=ApMCu=?)kIZzV#F6-Um0f#L%-1iE>VX9P77yu=pE2@`JycdHx5_ zZ)D!>GA&Vx9|S3s!00DJ)IfIzV3bA0|sKl@r+nfvDB*AsJ* zu_;fhUhy%Ab%)`1WUI?(GMB=4PO18O3W3PP!sUATt3-6;=4Pb@zi*DY1CfsP%PEFm zJX=ihsNRlD!MC8Ma?ay?;5jJ=zkkVR{;VEaXPb-esR3RkeCVB34Y|`Y_`G;pmby~y zqvjj;+eh!F!H$b>2Vvh;NtrhH-^*pV{K_{!_l;-X6TCUXaNnA^xbVLR2S3;5f18ch zZO|atn*p5li1QAl6cnswTk{#kF}L>4@0=s%>cWc<2s#|QV8ok!e-r5;3QI3WBHvnC zc;4y1P1jsnM{O~#q4<=@ywK!rVr0f5?yBbBrGlLR6*c7#BUrLoJZ5I@)Qg&c&I-~? zI6sBZ1sGcqW!8d!wne>(!A{NAK?`-!H7Km5DeIns>uhW7IU92qGjb|5eTK2$2FPMw z`gMSMij|gC%%&+7zx(s~%F7yFg(Xba6c`S}I^R%oe&}EZecfZ8XtlE-oX)HnSEe@z zz#p{7vdZ&wSK9y>rs_Q!;^ zyi#pSmQGg`ViO4_(n0EsAc7WVqqXd9w`JVK16l$xU{#<^5ZV;4xqBzWCaNv0!`(5P zqCnLG;IYrYHoyDPorWNpoyaVIa(wb`ZMwu84cl;}x?D{!NphkPnv8hCex<-ERK{oq z>uH`sdHbM8ZLjEti^y!cmAP$5Bpv1)br=wy2G`7#&cZ|#qLMLKY94) zFCBmR@$sD;9QeTxpLO!_ny!82%Lo49NB=ppyC*X<_{OP|UwH5ywdEutL%3~itx#~3 zH%D9}o6}lDpJrr=8=<%MiEl51Pkc6vAn6?I*6@sxqkO=KSW=PUi<7 zU!9w&_9LcGe&Pqy$6qNrA_UdRWS{REypt_wWC~4I=7xtJ&(EJ6-*Mj*q%7t{(tKGf zZ?y))5zE%KVv(f!Rq@^A4Bjrr-1d0LKT^uf3`~yVZ4d^@0K>tw5O$2vFouGjsNMva zYo5>;*PcI}dTV5~E0?jYEGD`-{g+pl?H0j=jtfXGpXDgKU2c;oidM=+#!9eqjj>pB ze9dFvBGGP0sLci_JObcdOtrn*xN5VSRaLuCe%)enXH-QLgi7n&8ryW5J!i@nKnNgk z=-AqCzPjfpK`H|f3lMdeqP%I8?h1}dg{z!%a<^g8>NgFFXCMS*Qy^ifflUK)xM7h~ zQCYNs%coQJt$uE?<5qTU%-hdp)*BYwnyxXF4KZ2-YFE=Gv^#82Rev(3)&ZnbH1oEa zdyuV41`cWMsiKOUiXFjO;WBeYsE+fhIy3IRq=ltb`C==ba zdrxb6Gv8QX{39-cRPA9MB^5X)!A-C~fTeWYl`m~N7!Rd^oBV=K1Un6>grpqGz$MRS z7iX^sa*IegP^)X(j=yF#b|c9{s_KJ?p8&|!zbvKPP(l`Uf0x(A=#hL(7VZyDO z< zkxLcE;m`1jMvpMs+VULPYl4??*?LMX3}eQoMfcGiDFO|&u}4z*x*a7ges(P{#RyMX zV>$vvv23f_HJrSaLj$p$#HF|RzFlNKo*Occ*Hdsd@KV3|Q~aiZMT~3WIZHX26w@Y! zQ7BE3sN2UMpUqsI=(JIaaqEWGJ4l!tJ`OY)c&b}WX?V~YX`jk#CPo286Y87T!;LCt zWVv=R;-C>bD5E_&tM1o$w!gK$N)C`^#231@d|hg9VYq%IuxW0B4nPC#F|f5PLUd1U z^n{vWb8mTUPv#Oih+JXwQIuJm@Ey8Ytrhf_Hp^iRYYG;s8wvIR&{|d@5qzq1)ZIW< zd(Ykn9F8aR9vg3woCr^mG>FMoN@WFI%iBz@ljq})-|cz);n2!l#T6Mwr3|m}e%ijc zQSv!Cii$n3zhk8amuvHYp}~#1w{JJp%46gJTS!<;CKo8f%y?PG;<+*{TZY0Irbw#L z_J_OjdDZKTs;#Wgl;esgAf$I`u@dMC)tW6>&G=ltT%&0b6%dzJGHDBdPfSg5Tnhxj zs=5xV;>J?5qci9rdT}x@H`08$y+PV1#(PvD-2zJ$z(6#q#MulLpwR*>FStAUY9dbH zcD_YjoxRC(dXp>l*>~1in**!Uh?NCsKM}SwDMxSzYPqGc8*)<$4vo~aYarqR0kT%F z^>;>#4P+^Cvu|K4T)z_Q8eUr1=pO3vC_*l6(u5gR^YKkAS!?d%r4E|wQpoSQ`aG;bCi;*TAMA@HU+uLnP~U>r*h$- z*Mia!8&+-A2#C__n>N?BLar5XSx6_}Q~?V)(nvCg(Lf zAh$!6+7LpUZ=Skx$8Dp6%IaF3Z4ED9y)?Y7S5Q$!Q7w$GlFF+fAGA8z;s%ZfmF8BB zD;jMXR<7gD;i2I%NU5mmITY*wAdvvzmO_DzjKv)?z)CpaH4wg-scn|4d$u}WKT-7B zNf3fEg{Gna|5HW1mSmv`0Kj7tw1MmARuw^pXd1~D+L8wDA9N*hTu;zNP{Mq&Vxvty zh}p?tzt6LMPD@w7IlY$O^T;sC_%MfCT3Ude=EBVi2@xp7nGmpK0nRAMI0@NDeTlhR ziB<0?=M7IEZ7-Luoodv#nM1+JLDE2cIQIvmv4?BqT*1R{AN$!oN50W+rOK@itFs0o zHc%{bEz#`W2N<}TTQdmMXeT%!QiyZDE&(SIOcFc7oy9_$@kYyKRm1!mz~h(?gcJ(b zY054NJY^1$3?}B60Bw_pBecORS8C4c@$f_t(aFSODKK$=yLzrt?36L`(#>m!_TAZT zNC1VHwKNXdT4a}?s}4tm7udIdfApazwlrF>Tt!+nAsUshufyXVLoQ2&sHNGs+Ou^f*>WQ^h@`KHoE!sJh{`Ch6*3N}Zc*;Pg zFn;~x7fS#DXf0mT!)9}>&9wlW0u(E3NSaKbAgXFGNrIx*Nii#>!lI@^CtmtRXXrmv zNhq}5eZSlX0+WwKUpTsXb-hi(D6gv|3SX2}97Z4zD2U=42ogcC-dL}cx{;OSPnvBX zDQz0r!)uqG@Na)5`$vXCev+*PGl4!l*-A8(CE@?CRO~%4O1Z@V`~Pku7jYxlam;w>Ao&dGN^G&E^X~ z`3tzXvrqr#;4WO$?)43P5I^p4?LCMh?eV`}e*L??$#s?ioW8r%3`WI6Ku9kT?>5eTZ0*`s zyt;-H9p-_+^8B-Jk3T(5|9RX#3pyTCZ_Y!C(aKy?^cT$DdyMHwlYiB7*TZlefA0Ni zFZBS{klVwzeBlF|7nR`XB(p{}ftTx>F{QczcT-TR8nx`tA(!L=&>i?!c71-R=S%f% z>%eQ{qIX$jE_sEgHST|*B_tVHXiQJgg^`rzyhFFyGVu1Rxtn#(w zG0l-A4Qs_pfDWv_^qw6(9EQe{t}CRz6Q~U#%4*T{52SfVKK@h6+J}<5T4O=mo`!NB z*3huy={)=5YT_{LacB|;5r7@OBQG4&@GLHMfiRfO{uUq8uBPYaAKm%gUTIn0_Xv}@-s|4y=^%W*9V!c8C(mC$v}@~MJ+kc= zN5Asrga0t~*p>{zetYS}W)X$x~W5Pol8M|4w)>f%P{kZ&cPsdPS$ z7oK0vkVkqCZJR2+y7-F8bU^Q2f8mdBIih0&JrmQ{=2LlgSc61gbbYgQPhdaD1%1zKxnws*l0%Qhg(&Vb@ zZA9x5RapbdBuQ$bC>ITsBAJdBE1Cs6N3}s-USpRd?!mrHDHR`q`@Bnr;x^47l{|vQ zR5Cx>eNReU=IfBzv}mG(Efa3Bnc-|pbKXo?CS1yNuOnDVnsisij2ad`iPLx1@;6u~ zu5PwWq-LgIz75bsCq!8*dds?=UZdij)}pMC-jv-$wd!vQM8Zd4(1Btgqc*=&iHUf~@MwT4-(-Ie7PDq_$3&1XV z8B3{9w~{GxcRw^2VbX5-evQW)pDm1i;`}ywWeX6JE$GYl7C3)@w zh7O4RjaYv;EAW1YL!Q%bxr*jIcRu&(Q};fan{5aRYSlYyO#(CPL87OUN`PhoG97UP z{6^O26LnV0D)pEEO$Ql5am1ih*4@?d-noTIPap|ME^8NQYlN6NXQyqy?X-Lv z#_wfC7Qnp&(qn2pVfA#^+uS%jfyKr}+9c)9YG9Gm1KfI>G53%qz3Tm-NI;hSo!P=` zhI9w!#sWZp6|V;s(Z5p(L)?yl<#%MiyR zxGM9?C+^#yP8Qhqe5`-GToo{|Twy5`)O-4Z=RaJJ28wk85Sz7*kq#KbVm|n#_pcn> zF_MkL4c`JR_*q@l?arwA}w9&2;1k@Zdn~Z45*9k z9B%SgByTdY7*8`@17S=9Ylf>c;J!Ii-m||uo{IO3bX)EGt(jX>2kzWrLrUw#WDz7x z2<7ltHg4uxt+~or#JytnOs%iy$H#_5L%7o)c>nm#`woQ!MYB8dl}gOvlx+TpBwVi6 zsy-9t4!LwdxRB1r`ob0(N2CI1gS&#h^!l951Yn3?MG+LrvmC6DYM0*=Hq}_Adm_|g zIY?vU9bL|r&`?_1dO;c(v(jd~k-DW2K`XUTj7Vuj&wJBSi zX3|d2FEl$Nrht!0S29jRZ`O3XzgOV+YNIuGH5-XI9DbJq$kjrLVJJHj#!Wa4SF*XA zAQL5>7DLI-Ok5Ii_) zd*w#W?XtoM)u>h*to-;^^K=@p!LkJdtRf*0wF0Yb>A+9SXAXLzKi{!~(~(C#fI_4hr2$wTHdpLD1NgJw~DmIZnY2S{H7zP zru{Jh03ZNKL_t)NLky?N7H+Ju+XH5?wuma2oUa2`GtXx23@qsqs;a6$n=nJ9bycXV zZ3!}2Pz~fN^`=70Tfn5|u3V|39G#S{Ms?iW|$WYz`K(nlKAXJw)NmV{WQO9KI>9vFxfCLzP8g~CT zSbXEvWVgvwlte{VVGy)ogrxFT!|2D5k3~h+bt_Kjr(Q~Hz~rtcUp@cFLFhB<@Y{l> z{Hb)^OEFck{*%D2|Bw_-A858u!i00B8h?1=OMLsh{U^VF6Dq=}4`n+1HFWxNWOMiF zFYNsJ*~-~5`hFIY?%s9(3z=6B_I4Q~_y6db`6Bz=uE<}fuiS|9?;JUD7&GUOJn_5l z|NZB_{q5gA^!UEHzx_kU!yOAB!@CEJL}3f+`%!YTFEZWMD3<8qsoeGlcX%4r>n3Js zadz=$yf{u0<6U25`)+=|BE5c`OGJKnk9Q(FFcjnf^t-wb6gSU%ou3lO#QN$f_kh<% z?X0hy0fTBS88LOL>c)ee&Q6u+Pm4#DF{YfYs};#Q8C*X3Y;^B!QgcXuQ`OBSNCcdo zd&`Bl3D0)m_$bzcSCAL%*aL9$O_%hoI`Mn4Xd$THQl@~7*f@Sw#1=g8r|b1;-ZFKH9uO)4fkk6-avpGoKbt9$q_*XDkT>0X0tw9Oxx;71gBDb@I$ z2mgfFE)o_q(6GvtBy6S)45p|71*jVwVJ4;|Fj3daAj|_Aa3=SbZfFeM(c(8e)RDV_ zV`t_*P=$hI%t92Es|XC^Z*8Oz+5RSSz$K_hkHE7NW$ix|)YlMc~ z^7VStinNoeE#SaB7@utcxT|ZFUV1m@3bw4Fk;cgiIJiOQ#z=RW^w)D~S1_|5v)}qt^-bwlpF8}sj~3n{!Tzs* zF8h4c};V`zjOb_ zjrVkYEg5h1b=)3_3b{>_RY~oSer>M)W=B`|*-g=I`Z$-b)&VeJ9W1Z>jPdn0tK2KE zyrUYep0RF4y`=%JV8lm|nxSAWx6NZ?WP7`HQJEUsbF*-wQOcNXp(xXPZRLW^=_}OI zQnsmqn3c{h=Q%55NIZSH@^%1+lf`OAZ2+L!KjzG>AwBqxv-N2drrunA&SWxwq^wa8 zQmby{3au}U^}n(tNxJmw)UBtS1Aui)IWtN-EiwUvd>-@BB3G!ab7B8bE5pGME}4YJ zr6OZ?)mu5Ox06`Ohyo*lhAE60I?~+8*>{GJ7{bq7s;^u89>X4r5pE;(Cy|c$#b8t2 zfG|GRmeQM9!LDoSPJqrks<~d8i$02O=%SWC3y_C2B~e&1bl45) zS%_d1G1F)`WL64!d~#>Hy1a&m0_|jfZ&#BCYzwDrKELF%2IAxH#=t;+CaueY zb0lPfn2@TbBa;AkBSRf_lJ%SHW~}VZ_!NsVvd3Or!_0n8*&t2Tm8CLJiNa#ME^#4O zCl2^|peUk49z->?q}d3JZe>t=K`0kVC|Z+Eh7z|k?odE9jG77WR%tU}oi<@(d_D(P zO5V<)rVWOZO+Cys8V19(ZZ^PeeqxZsb^fbudk)Zn>$l#p`E1@+PpuCM)|`NM1!>zj ziGzKat+1W#F`lsBzj>3O)R>dGc6@!~!HIDTF;O&(dfho<(Q15+z{CjZlAt1_`vJ1) z5BAGkPN?LIZkI!=JU%qEUOz1+T#9Sg^H=`(rT(Gm6&P2KQPd|&bJlf!ev88^Miab7 zK<4mrYYr;$T^)DS7yn@LKVY&Ca+!Bc{s4+dY7v;jk`cb;ay^9OaMbvekMMj4&?sknsw0fgwqPx{-UY(xHhg<_)=9UDy zBLs+cG5}|BIt)p|X}7^=K_dr6`%SCjV7FIQ6jZFMb&P;rI0;MbtTo_{-^#Z(;wBhU z3@c_ObTt*<#P&{g*GhAQcM_EJvYcq8WYQYDdS&Cj+k+01v#O+E3)j~-)vDK3ISr9b zFBNTz_046@djWS$0#;84M0q@I0Y&;L?j8QP=pAp z*MbxPY1I)40|c_NHX~JtP~UK_($2kX9Q39y>3qQ_6o-F`qP6gMh2iJ%9>jCPBN zx!9AZ+q=h|s#0`<{nZ-lb%u_9I6oC@hldfsVnWPlv3T9zc}Ry_Mq{p7CDV02&_6&l z77V^_5M~1>t{i`tH+S!ziqvY*&~QJ{jvMxXfFL3p6{>Z2ln(j&NI;V0B*3>N(9_cm zAr=p)aDM-Q24fVoR!dFWoITBAs(;s*g+f|9B33dKLGtBwi#?o877&-MYjCPu%R>@q z4g`msLfeRx%2`yam`NATcr&Ri2*BAI=Zc_eGYR4m5_a%4u3BD20Uu3!1SCdES%)v6 zixRC@AOwQVIH7c2`Dkr;KjO4{V6hJ4njkAiS+Up)2-+t#AWa4_gogAo#h6Q3zFNaw z4!u9xS(T7j2e`=7K2#+Tz2U$}+=^jHvD)SZMV3|Ie*^@9_fPdW;bbbyJ3Wr8>#glu zoE};sMdjrpfI#5O*H{1m-T<{8J9@jV=odv@(`bl{cp)Livs|kg*!m!xrx?bCRn)Q$ zZy7Y?GGw*`T24xo&5E>It|2}c%%QP~p2GBuW;H<$wQ*T++#9yKVXh(rm1f}yJjh8GkGYot>I$$-qH59Tz_U2OgWP6y;t^8JtB+`apV z4z$CglhrDq>Q(_pKsnW}pZnwUUwrI{ZtVrY zx;+%FrPdqyWgcSMoK6QS_I}^S(u$I`sk$-j!Z^gpX84D?t=Hl<)evXefD;7Ahk8<* z1+xN#39tmZQb3h3ELoxb;m6GAuBpyIbrzPHsvRJ#8@weUS(;5H*Tj)L`z>3=L!cB^>>9El<82UK2`%c~GQP-*^@Na z?Q;d);gg{oDD6gL{*{ye+%xojxV2CNFY4|Dn_aW`??!V&AkRGz1>Uv*AQh#-+vUwx zj#fqA&lqC@Aw8|~?@WUefRb$6Hc)C;T{)#;HRfpKsyR9p4%qXsgM)N24&MgSB{am0~)L;gN&QRFX!hSoaRT zJ%%dO&DRsIjs}ahNSs1FX^2M)nWEheL7~H9vBd^Ze5Gm@0IIX2k;!eg;BaRTSKh27 z(C*zl*R-}9sy2Y)ZcLdeBY{3EiU_Goh-s@LGs+TT>SiviEo?gwElsPweoe%1wixE~ zEwjtkEMcaAZ{^K%9s9O~4D3_hy+42b!@v0E5sckaxbn^|Zn9Hu$2`=&@gKf&`lZh( zBihRL@*Tvkf9NXIH-@QFDY0}uOx{T*rHI8i` z*!huuCCJvI=&%ip)wM!Q{yxHi%eK?U2^r85f~%V+o87oM9A-*)8Q>5os6^jwM6 zDp;H_C+>CK`SBVO4ZUSTt*csl0Cg8cG#K1vvAIK?`GHVa0@iNKf`MSfYA>b}JcO{K zmG-!I)XHZwxlk-v+epti%r?*ob3EImZ@E1dpVL`JF^S?JpsA}p5ZL5-9zZx<(*T|g zy6x3wnd4Br+`*W$mxYrkO(o+iR;yPK>g(K1lAtZLyWeR&m4^%z-M{1W)0cnqu3j=q z$0oekdTDoLvYNg?ntExpRBbzb4!X@&)=mDVgN)?aI@OOA&JpHCQS~`M3-515N>U0g zsi7f2)H(398XyNN1c&vI@>;D`=~T@bUE&>rRq_xjlPV`a0J;^Y=g$k*3dmk&z%EMp z0M#Qv`LIkVK2ea`9MJ*FZ5ZyJh2i zUGz20PR&eclLuW2p#z0NgmvoM$}|*{xKeaam$GPS=kf@d5iNPM>e+DC)f1F^*uat3 z&Fe=5d%eVK7%XD$%{pFy!vNhT5X{jmqHvF5g=xN8hQKpcaJS|}%$)1ejhj}1bx0HC zl*`>!qID^|oR_*%F0!{#M{h{+VP>#h+h(Q>ynIcD?=CNwMB1$yk|ot650tcOD`xeo ztBMc-KyQOTm2d}pdZzXeIJMZg=Gz2Q)snFGC%u2vBk&a1tXES!6wTCaK@#GvK?l<} zUQf!^%O!KHS(`C|bUX{|6kuh{ln+xj1DvOB1|zk#m+R)3p7%IL8%#6Mz~^s4{#^qm zv3%nG!TVPewf=zK5ROu*<}f&Jb7Tn#*NUYT?k zTV8QgE-jFzn0?hrMKs(lWuh8(C$D{EXkM(Iw~shw8MXoDcjjI@GVFy5hvvwu{q~*p zvY$aYWW1_@L8_8u_M<@ z*V$tJ@zCDO*>e`FSC={wodBjfqO*wxL9n9ircE-0ZDn~Ona*1sqyk7~ow5XnTWu6j zN>{GcDKp#|@^d1?*12t4g0!Ox1=cV~f9I_mhwq5MN@8)&DZwJt%#hBY&*rOf<({Y( z&o(phyDbfe$oDe3c!t<$C{iH)UFSvC;`LAFIY z`$}AfE!MVqUx$6LTc;PHY^AYu^roLYv$mp9q8@bN=pKo415pX+BC-nkXD` ztfh)zqTR87V)(+13%e#J!R+rm+QQZZ%ILK zUs<9@CMVaj3MN&mirD4olz^N9xFmzaQ6pRDl$v6tqktU-g_bB$pwuJ?%4uP8h2`?C z6PQ12GIwiL5w}Get(MEeS2@b!6ftzr=Fv5U1cYT#&;$)L6D@{tWok7;U_r65V^6fw z238A~La`x<<77aiNS4;yy23+5hXYHBoY3M>3PXH;%qBcxYppInf+J|I!nGxp=SATEM-T|;2Jrv->~`Sy)4=~n5Co2fnN%Wu=hq%C9lPKM zYnNGh`g#QbfY09UBXI7^j|6}9N@k)Lzp&6Y(d7TR3_Z5nx~(4w!fIC6UpdSD+vkQ8 z>$NgFQd_%dHI0OKL?NhYm>DHo(b^W>gPVrBT-T@3s}B;MOr+CP0*eDTg8^J39w*g#>AeQm|TYUq{f%Y~teE@1Omfo~@XL z$d;>MrM6OZnyc5t6NmOau#1qY5bY_iuJf|c-Q!X~!r*|Fxwr~IKG(fCrSkmjho_ge z?;Do|5|ClGzWB+<9%~qMaq)6TH`-WDGoiih(Z`1JCwWe1Z07iD*E$d0SuAAO+1wHa zBRZU@8um$xqgXWQTBR*}DCorjz+4^F;J;so2-E6ZPY#lU# zG75p6B+jZzBUiFu=!Vd`SJPfm4FG}cII7$`wENiA%b-zJwQdyN4}<3c4B+{Pp4s(J zzkI<3fwy^rH_F+jX5;~bfboz4y?Fj?5Ju95fq=jnd5r?08|>oj$>vvx@Cmy1I8Rn; z3oXJ;!2PRj^fUbrfbor^@&cx>>YDoHCm;ILYv9SNzZ*9X-e}zVd{?;RzK4OU>9PCM ze>%3a7GM4Gtn-0;u$imQI`Kz`(bL8qH&5pxM+VkU{%F{;$L|WAI`x}RJ#ZITBr6x^ zVo&ZIpXxdK%0Cb9`uleI^iPkz_pPV;v(WIusUHtI@p)4-H8a;j5AWNyC(*w8{K~N> z9>2Sm1zvsi?c1X}^KDt)HHEUBpZx8&Up`vwiBLLoeJ<P=)C~JX&5{acmi?LV-t@);{PP?f!>vo$82|hpOx= zug}?{KLi@m_3p#wwO*5G8MS>qSHV5#Vq6o4T93ayzlfs#rnf~SOI%Wwm9128FTZ{f zZP7wkk$`Bt(NW62>>AmP>M1Y$x!LlUyRc{Z!A$1-zYQJyX0bY5tY1brj0YYyxdKO* zS1o2+ZMlr~L2YcaR!RK+k9)x(#UYQgMVpLY1-Xd__I&S+>;K~O{aIo4Uwqc5@GiQo zEFlDffm<*8MouH zD!)O%3o1cnH|(_5tH~QEF=lvYl(tId$7E}UaK=o?6fe(Z#b;q>UlIE$)7U8>y@oUm zsy&oxK;Vy?ErW`%Io+Dk)iR>l?NCoyddG+Fspt)Zl)0Q$_ul&OI#|$FG`)#HE*Q$| zFkuCOKcr8)?6%mbXW=I0Qg8o#{MS#741B~{6R-W<-}D_a$s#D1)SiARU!!RbK>7@u z77EmPdQsf;(Nj+LBB(T1aqB=$0#$03B5%`yR5R5;W#Y!o`5gy$uBMh8In=eEf|oI< z&rw~6jAA>ub*Nl#)eF1~IXqqqs-iSu5z0lo2Uj)JHW(Fiph6g$G6JPlzIh$?$K(w> z+7pH{R^ON`ly$ybl7+mDnrJF5x?@1f+R`e39yQKG^9$-qb$XuJ8K(zkl(wPd;<>50$BdBfKm5 z?eEuyUGqo2@GpxqCs_7c=j5Mz^&Kp>t=m?`-0WH_p6`BUj7sK)xW(@ zYx844w}!s@lj%!e{n~*a{`M%w_uqG5XM?@6t#2=Dlvb}5mbB8nd!}G3#jbG1#8Idcj=F>u=S5XLSb^0M=j+jSVj4R(hkRd|78G z)Z-2pDvOfDMmzI-ErzR+2lqi|HW03m@q2qy0vm9EnKHS3=dMaRiNU#2L-(qoLl)vp zJ!3Y9E9F_z>KzF{(`y_?NSZ*R1S^pCe6H+q_36N3x>oH&cAu@k1{pOw9bow~L6|HS zt0Zz^kzLcY|G0bW)33$()f!;3L-4 zP**UaOQ0|CluYPKrseH}YNyYEp=}bO+Hpb#fe~FUbAAa{ks61lf*JYeJ)PfxcbdQ*8JNrO!WPpH8okR?)@{VMsYl@42y>?M0F< z#*}MYI@d!@OHt-!tL;de+T`2P=4x$Vd|U2T6Oq%bwI@tEitLiTk1}h`A_!YNnrX=) zgjT&)|KieygXzcp7cj)B!~v^1%Bheg->|s5G+{GkC*6?MrvaDRh^lMt3`v?3rtmh| zoHlnmdfyEOVh2fNjF`cYx%=lG#)TJD9P|UIRyFJ4AstnQ*DYtwM?UrA6I+Fv_2guk3JdFPoBq z28%&b#@2w!6Z z$Uj_RWod0aG#-xD5~uT(p!g<0;%}_Z2fQ_J^HI_4TFv|^03YJ;cD*%2Ax4(lS*I=l03ZNKL_t)P z;RM`QOQY&L~7zU%;jJ|578g?qyj!7cNmC6OXW5i-*aoC1fu#e8K?$`s_ zoTHi~d1&Cu`YP0HguBDZ<)nMJvpBl}m^>(?XEzGfvVr@$S$Xlo@$ATi^VCOY0uh&U z!0&`R4OJ?nH|{??{@Qyhdk3{#&egj!)=H;xn>-34A*Z{|mAgCOwPY`X#{!-v131{0 z+$yZ9n5UL2E+u#ih7Jr{QyZ1xiI_o~OVjCEtL1kNcKu)4;5tmQgFqDhaj&XV?$Yi$ z(>?B%Ff%dY2_#4$SYTOL7T84>TOPZ3kR>o7A?`BCSjMGirro=`tIOT%)H!wZ?ziu| z_j~WZefN9!_X{Yj4Z}F4P=;7HT}h=<@ik6N!*q)kt6E#DYe`UJTV;F^)tTGO3Zfw^ zbK!aoPZzGYHS0I`k)A*=8ab=d!@Q)`$`Yt{2=U9-Ko{5`^O+e4y!GmI#Ah$)Nq3t$ zE#mUf&bHL*ECLb(t)=Wzo?|eGZ*6wrk{*l}%3HVW%w&Qf+;DdJCnx8P2B%tE=T!r% zv%)5dAWF$tltT0%1Nd~EY~h(X)Y7G=yn|bD zQP$M@R3hiGxOGr@Az#b*TX&^XQ8NQJAl0u!09aF89A>NF?- z!v;#JG7OaKHHtH`UjHaYc01grWHe;4>+_MDdWWY_Z^#-4KvJ3m8|i$lzUnsF;ss7t zxNg6*+E`;SR-xR>u`zh5;M~2<7O-48eSYV@9-+$9PM1zU2!SBarCw-;eD2%hGp)3=KQf(N$Hl;4<0Z29K;Yg~MR{xX6HzeTym@W&jkOThH zBL{$ECjkTjWm$XVHuBh;{PW|$|ANARqyYaLw)MOGR#}wcNacM4;FQ^t4xqKz((o22qw%)<^spIqRjOI>@pH3V zWYw%>u)9yKiQHK_- zW;fy<(Mq$JRIXD_qmvb*3xvzA#HT4g)=0Tk970hBz(gQ*lVPK!#ALjBSDWt4YOd6f zZ{25o`)u(DsJ_DU5&(O*9Ju4k`|!^Df*(Bl-rp|BIBEkyN>lT)iZuH^tUZNyO;ixk3nmEUE zjrVB7Mx+5&{F^_0$Hem|UtYe{P|^fEc=)jNm**$nduuTzE_HQ&s^5I0vG4^Zo&L?A zpZurK@BPU4U;gNz|8ySx@%;~D9qzf=p95X@eB|H%^;Zvnd3VR&a-+Was8!;U%kT1R z(<6U=s&CiPZ7h2HKawvbmiG+P!?%5MZ(SZsQiYd(4ISF^gBQ;+ zBHdNE^GxGy#5{V-a4DRz!dIzC<%gXVb3@jnotnZKZSbRSm{H8exw@U1l}MWrdw$-uA@yFArM?ort&0Hbw?wAG`m%4sX9~6~ zTkAx!Z7*amn$;Z~gTf^*nQoK}ubG_pgJttn{j4F!La4_`4wu9Un{l|j(pHh)Z%`hi zu3ZuG4DBYNEvUU(3}!@2fs#i_tu365jk?fqGQ#VE_(UZWI`Ts{62Yux5;#vq5iFuTt58Q`1-Qsy%+EE_E!_?!0uv{9=fB#J^h zQl(pSsWgmuO^5)E%B2~so|I`v*wocstBC|pHF7CQOJo=9_D*(|v4m%q9vyk$Qs8HQ zy!75<4}7{~*7X;Jvn`P?s&oJFy}-}jS?l(4eT2RMjeG2O zOw7Kbc3ynsp8G!bsn7rJyDv{Z_2=`sEanKA=}qsP{WqK5(dUm+PWaHy?Z?kOzsKs> ze*2EouhotofIHfna_U5To9WD0eq!<`Lz^Dcr@LFezh!*k_Z!+a3pwhCzy0n*_dgU4 zzPQqgtS{Fh>o-4o&*+o?`pt!v)wT_rV#_O(wb%_mK7QkwJe=LQg(|&WQ!&32#8(1{>&({U!XsXXio#Se z2x&fNk6z;8q9_`u;WCsZAQ_f^NALMA*4)dcE(0# z!4{oVA!;{E3%XplK!Tky-so)6JVK5yN)$jP8MH#Pmhi;&E=!l3J7Z(pP<^{2m97_T z4##d(ny+iUO8kPQ-B;6TwKZ1Qs&@N(6q*;w^)OEsU@6v9>i^za?oA74to5VP%)A@rO1B7z;PfJkgBJQL}$sO*s3F$ zYLrp(7JPRBzfxmCI5f6-(*}|)E0LynG2Pc8Zx>nt(ukl4lqn>9ZLGmWm5a0a0v%vPYZnJXdNo^A9d4H^8JY+*b-#b%hT<&*JZu(o2soC@HUL$cnoJzIg${)PyUrSo zN49OUCo@SHGm|87Wu@9`z>{U5P-9wpjIX`Fw4)!$=b>~x*1Bc$^z2m|DS90!?_&zF zHNTnaZbws@stz-Tf-zTXAYOzHZqkWJcejH}hJv`2MMRiSRm|-HL0YJBdQGVhIKkL9w3_g+~c!BL$ejd zbZ#q=%%hV9T|0S6od!Ml#=!^^&NuOt~g0OOr{(km(7u0t)lN%+j_kJ@HUb zQ8g3cmUXyNhbRJK4PZd_E!}i+a&pM*V12N-r+gbab1$B^NE|^)$uO zxg2kCbWAUuXPNeQ>bOEqBCuHpssk54uEN0kbccs&LO`gXwTanXQ&79dV!X7~xD3|AS zBRl&f(Q367>m{{bS#Sh;3C6;gugP**Pq-_9UJ-Jr4zODs4U>&8mB9iMT3>}x5QbGr zmRX&ONw{yowj3$x7)(cTnF1#%iY%+Z{~6Ib3IG!DpJd=a$+89jz_B-Z000^y@V`h3 z@P8vO}VAhlt5grW*!=DkK+D zcYUa3rD3re0hv&&r)f z*5fqguN5wz)w;3uC2(MSv$__e(bM#3O9L|6NgEhE+qd%`C09`$MvPY|y-iV6Ni69} zGgk}(gq;8^0L_6Aj8IIe-kB{I^+pRt&=_INt{=C!`m$1)mYIBmXKmZ)*cr3q_Go0q zOc^+}Mi9Aj*@LlLf%5eFTNfM;@U&?VM`Q(1Wzo$r5*jcvXs}Y@s~n6wogLjb1K@H?-o?N_wfQ zrTMLeiY8Xhji1 zZ!h!K>1XzVNZ`)R&%Jroh@(arC`dvr5r3gB*fcQ4MQovU7DXP|(T-eQZ79N1XI}ov zt@nQI-IqZPF9Spcgl?X_*tcQol^oyOfPo&BEjj$v!i{RF26}k%`s_1wOg!<&kAMA- zm!8kZM&CcjebJSFGQFZ{>X1LO7%VOqexo3PyLR95`U%$$AAGoS{))@5U%4?=2pKwe z?I|pl9(`nh?sGO1rN@5wy+8ib=bv8AiE{d&cHpd0XLoMQm(Cdm%=h~qIQ4Wa7+sSx zQ(ZgZ%b~LeJl{z2u^eY)h*w^IeSY+FAI)ns=KhrX>OvuFq&g3sedC91UORf9i=ka& zb#e3NTj4>yR@}QL&yskPnVt#XtjeRE`s5wvMrrM`aM{teuj^!OLM^7y<-qi&Cw}mk zzx&jgaj_45qkrfiMH|^I-*f0+_=m&)P-w)f8Kgc|vtrJ%6Ny#B6%(^3;Cw8!dIJsQ z#hFN^D*zFf@BPq`S8kl&hW5NN{zrXZ54V)do)w+FfA{Wc1RJ=!IU}u~T0Eir*=c)3 zy-ZpT4dOKeq-@DdoM0V0bb+;8<-E8+;f^LLEIT@Ptd4!r<@l_o$_Ct63eDa9(Ea1D zUN6v>N!eCa3+BO=y2=lL_PJ{(gj!is;yU6Gw0eQTnv42)Zt-o%Zd7A_QJkY(PT6pP z3-PqBgc3Vb*<&=maXtMb9lH@+Pe2v|HQiF3`ZI3srm(W6_$$>VxX{wjT{MGt)Ef(R z+nA|vAIC(@x|4MLb7MEZrt^KQ!e7RrO-AmHlJ=WMK8Z9r|2XjuGrk4TxT5@5vc9>F zECDDCHLOXYghNI}Sx40l2;=OI{iXP7Rk?&owp;aE7aHdZgl#!E{dV?ao^RJm?>M`t*wXV^-@#Q}8EPff6~t(|DZ!6qEC_wg zZT=9k{9-=GNh3RZjkfu6p}@!lS2oD%7flRCs3N@aXhV&#-~8Q=zxc#M(Q9gto!3m#_u3zR=3hQj zyZG@LU+IAZ_dogjuWTAE|LNHB;RpVH%b|EUIR4%_NQ|mK`n#T{KJDkvx&QLF>Nmdp z>B-Xhflss!TMy4?-u=^0zw^zne&tuc|JBJ4ey7t>TSiS!JpPYTEfHTk`~K-;k3N1h zHkZqz?Swr3#D_n!7Ijy_8HF_St6#{chP}Pz3zwg}?-RHG;TOMrm6;JgJY`Xil zhp(Kw7_D^h1zKOxQP|3_pFi{9AQ>U+`#SH>%OHweTpw!>3`xx$ZHVmB1J1J_%wW1Y zgdOs?z1Hf)U09!BNY%u=tEsoOr8k|(ZSNeJo;&UGdo)c4kwark7pfd%b5Qo?K0Rd= zv@|GNF5O(UScrbsG!rb*a2E|;SWTzz*f~7D+&Gt8_|(?JZ>*0&gmBpP@i&6cL9m9S zu7*-zP4;aJ6XAFm$o3aKGiEfIPSwRMf&c~<$590W^Fjk|ahXGj$nTYP6Ue+2{T+lu zvLa)I^z-CZRYr&U;TsDv)-&JP_i;QD1(ELa=ij>H(GM?Q8n248L+!2TMje~gL@rah zk!6P{u!@)Cf@;D|t^frU#6r6iTuF$8!zeJVL#nmVm@O)pic>}&TEjrAP@d9rJ^*AY z@VcYDD6i0vsX-?K0))9NNL7_chleqg(${s3=BfhB=ECHK$iMW7-|QT12C%Z2!u5ev zz2Zgm3PUxD7n5kOUnf=SM$Mqq6A9R**M}M!>P{fM2VHQaTHgi zO{CeRCj_i@*n1MSxJAxP3An%%+|3UGb5jYDb$AdI1tSYOQ$>jt3kcbZ$m!k@EIgBU zh%ku6nmTv!dCAL1Fufzm8auVB^ip_iSO1PHiKq5?AB421nNS>@kg%>RN^2WA%oknT zn$>bVO2CK$b@sOEBsv$521N#}tH{AtJF6q-;%hzS?sXtWFDH;{C6dpZ<7LoluL<=A zh|wZHS1Ac^C2AY{nNp1k=kxv+z1ZNFllg$xaN=~Bub6dCdSx+3I_+yKf(A_)jGb*Q zaI=d#cdgppX}Gjdv)Q~Rby-og4wnI;2wIGgKGtaL#I@M#ufKigkwck8TtiV;a}P|S zyN9ie$zN>fo4keC>Xfg0i&{+`J~(PJIuWv3sni-mMXZy4w^Njv=xRnMHyoWUX;HMY z#ZVHwb5BQIA`o>< z4AI|7=!{f@@X%=W#<^915jJ%iNB|t(K63HxQ;c5kXx~c^ES?U|&vI6)UQyRH%2_J9 z6@0P3O)BuVDpyGbr@II3bs1Jb6IxINMi3FBMgn>>l`KiJT1A9-gF-J~oOg7!1w$3L z*=u8BYMo4$L{Fc-6Erlc1{E{PLTRukkV)|@Mpqsi&VMcZ`-@JmiGlzSvKnf z7LAKuzn*I9fdRTVhheE+<#6EgRry4KgN#P01KsX(v%j1`Qt)rFPGGz?t zO~s?NFE3p|06+!+fWYDVcGxdnN(XrbLqSo} z008J}F)XZ>H~4^?5#YbCyV)XXu#RG19IHKkH}K>u;Kl*;^ABzTrGm+ZdOYsQW&Ts& z@|Is(4I^|n>sqb5?>MlO5pOf3-cGb4z6I=^mzO>rX#V@9XbWz*IbG0?^ifmi>t+X$ zuhyrkwQ?lg!0ZF9N@NL|k-f4EA$r(rj9&$s4^S&tSG^-1WaOU6iL*7A!O2K`6rtHF zV{<_&5f4TgqQO-WNXeU<_a;NjCL=^4Itw#XtNU?*7jTX;^-4%P1)s#wZkMh#SGY`A zhqIhUU=GIa3|&3v=-UD+4H{k-*slKjEwII-G)kH*t30lfoCF6PctqinGa>zv-5v4u zYk5W7v3*!kEEqH6^7{paIeYHvfm`-km-e?lCM%=k|W7p)R4`LF~Pho4-{Fgs-==o>ITfnN*>U({CwW^9Y z-&KsXPUb7`UWIcYT!zu;<>e!0>rAyk0rD=BPUZQ3#*uYJT?4cZ0DV=JXRm~8I-?O) zPNWJ`@4Qr3M7h4{(Cux>ch5OL^_l0N`rZ#o$7idFwz?j|G}Bn6aLl!8nT_dJiBMdKi=_~g={%|I8?dDu>3s2BP z)Ysnpw_go@ORe8*b~N4Jr%vTN_wCR=c*Z<%SMm58Pp``G9o=h>{387E`~D?$_53P# z&!K|)qtPRi)Y;yh{>fU>{90}Je)RF5EcbW*nr`{bsn`DLBZhnM-Qr6ZfrmDS__ymf z0_Dx-&HGw6e|P=w0_$NO*!RMF&nVUEX^GJQ4btu>tqDt|O*A(eTtWEY;;OGj)>-_z z?+sielS+e|&R#ZzYm_%yIOO!RG)CrZ~O9_VE(^Vq4Rvv*851 ztMt;z?-+}Zab9qjbJv9V9KLiLvRIfcFToOBEllY;_BB?=0lCaMTa}xI=Aj>O@t_7* zAWRQ57(RQ^Y`?9E^QA#WGi{~$e#M>D8$X#(UO{A@sG}HrM1=$;?H0wbX2(pFnx6}L zeSl!fbLkSC7hr=uQjO8bO#slc^(9E*2_2qJ{u8Yq5`rvf001BWNkl9zpj1sn|s!cr}9roo#LP!Ai)cPe8V#u^bvNtsTe zmz(TcSEC;YC`{q(EnZg_b@!Tj?VXtJ*zaFKx$465$wOVe%g!6!u>)K;GEy7*^1r|L z{ZD)h(O8O|>5Yje%6JZr_>E89Vb#Iq>VM*sta{>W~ zc}PfJBHa&qw(bv}p6}QoOJETf_tp3as54<3rOf%&0kxUlL9lE3QZeip4XjP2{atiz zHBrkI>cqh1xBj_%@U99NGz8i%+<1AX=U@@7t}gu)C$P2E zuioImVtvguJMhy>|FL_|Bfa}g|MI<`x!LXC{o%uWE%ei`{M)l{{VW)Y?cepq6pvqi zl{d66|K`g-Uj{=fz{{HkJ0$$klaoslJk#T7E!3}^4Ch*!`@%Cf4)ouW1@rs1?VeeD z?ZDOp)u8Dg|M0!N+jbeTl{Zekv3vW`cr?d4dzQdlMllbtnI3C4>2?A>^37L{wQt-L zONv!4(}ZoDNE{m(*}cd6*mNWJ+T@i(hudea=^L2EZm(mFB#P=Vvukc8O{rcTc*<+u zfSLRtK37h=u9wzsPUm|2Xhc<`5lrHpq%pD_yl%EMnHkf`%h$R(4bg;fJ{3E>;ojHJ zJ(Z)*5;TG$SdCX$#@P(FU2d#kNCQWUS5&8xUD@Zj>umB3K@tTXD)Kp#URP6eOyPjV zekm1RC@HenWECVt6otoZJD*Z+x)}4dU`*7Mw8m_~@{7wQvWD;6HJl7rO=#BVxqo^! zK8S-UjyJKcq9thZxr4{&T-|L-Inu~yK#Ln85!C4L;iOcFRp!@Wy`iDf#j7d0m2~a# zC*PK;tlvxpg%n_I>f+8-;dZN>ou^egT?ykxgC6yiC*MsW6K3fy4z}x2Gg?t@-T6~D zuCJ^Gwa&DyqksPW8g2N4yY1cI5CIX5|Z{6l?jzrEjHDzl{Oab9c1mbn=FREwx znQ+awuWkFFRL^oE3@ZgTq$#MY6276gwbuyNK~bsYIhLj85{yl$qPk2`11xB3V-2d* z*Y^!?gMnBuEK;^^%u-zm#s;>w%uPi5+8ya@AIJcjEln9a?pI{qQ}JEl@;$D;U{*EQb}FVaHN7+iT;3Yg0Le2v+|CF!v3bn<}fnuYqPlbl#W|HaKm7 zHk-lRqL*JQWicRke3HILKTtJCCg%VH7ID_=Q4WD}Wpit3WA~n9zFJZpIdDP`26&Ct zi~6Qw`_ED@-(&rh-gw;X*gRWY8{s?pbgd=%1J>rzQ^wcUQ@J+ws*`TQt(>twwIZqK=ifb3 z)o*Jyy>a6Q9$jw-;9>PiRgUFC^);J$Afs1ob1b_vR<%%6y}-XFHQY$m{#Nq+QTrn~ z^sO$-aJ1fqEQW9#%2@Tq^&sQ)arwLgYG7YW6Q(UWn_9;{xRT1sZvSXLbi!eBiAAp4 zPu3};5i2(B=n9vMCERLevGuhTOyk~J#`o;$LSW1D_m zmm3@y7*dF0oO9|rXBRI}>ZmHb+e~?zTa4b&)v<_KCj>eTnxZaWPITV2D>+~6?)6s$ zWFZ*Q3(IY0cPIyA-1@d*{Yol#@uC*63nl=CJc+hDPy91_hB<3@Vj6+Sn|1<#erFE(Ur>s6KT$xHx^I8KUK8o8{VU9K~TTD4X2+tK+qnrYhz&b~d{T z(a7^R&)j}!51~){+PWjNQwUNwwTRg?4#0Ilks`rr|7cIXQs%h`fvEBHS(jzlMZ#8# zfBMEbSfN}^U@?`3u@;-#?J&|-v?>ZQjW22>tQwfi@{-ey!kGQW?S= zrKN(D(S=ZOzHF1zk@i-Xl1C%ysMWz|Yo+FX8j>le!?zSR>A(bB=W`8!q7Ak6bXsZZ zYH}B3TY(qLtJC)Gfl3twc!GkF(-&XdJn|4Io5Q)R8L@~;wt3^u)7J`n=|sL!ayf?h zVlkU7SiN=!45w8^hCEy)s}ZOIkgBpXS!0y^qQ7TT?8YkFY?+=5bq@}u7jv~L0rRVj zw|y;CbGzH6T3LVvYrvPUb0m;sSv#QBxH2b-080B6s8$ychUbiWlCdI-6Vr_5g^-$D zD=HMBKp-IUI)epON*z9<1Y+yabf!=@P+&4Im8u*s$dar8|GOUDZF%`>t|kDF9P}JJ z5j%D|3H%oX2I_+R$h{rMUR)9y%CS=k0016Afn$;e{FjB*G5`QKBfy{soQ!F}e?wQm z*6Y$3mRg><@W8>Q_s@j3_hNrK&P8%dpSjEQ^b4q6pC4|~s&!j&sJsElM6N8$8as?gBw1E19R9f6%S?dr@@8p~yRAOqnTZd9&=dACu{D7aLuYo>0q z=EUIOVy%_cJCL~(F_Wt)rq=AWBBgSr@fRq%7Nur8xtbQdxa9dBf7|ljS-|AoXHa zf-`2LXlZHVPW=V6w~@$1w#3u~+@Lk? zxc#WC#IpsSVB1MXzqB^lWK-6cJ19I&7beM}iQsFO*00aOw>iv*`g{d>u!16$?8_*n*8)VFo0+*-vuKb5(e`!2n*GR? z^RGKubCo9S5CC*^kg;pkD=)#u4r6Pb@tV}~JW6#}>M8)%frf}oE&*Fc;8;WRwrd#> zk`WjZL>VLPhTNO)8V>A~SAz(kWUr4K{Ov_q6f;t2N3%9y<5+mIR8Pp=%R?CBn-d+Z(t`< zu|7SX5oHV~Ob)-vo-YQGSCR=t1!Wr9zU_$R#)+qkB_Bn!VR%Vtm~fI)FRK?8FhKaz zv2P#NkIswPKYjS{@mKzu(>w1m!b+HQfeHI9cNoTI=ThSHPhbBCy*91pailxf*{4mt zBxvJJVw;zgANRdGuYt=I*|F)B_{p#Bqf8W7Pg(CJL7gAY1*3gPwrBYI7_mcM`}r20}Uw5us-TyjjMGXRPeI`kWlUO4v@ zu58-sUDxl1Z^a)JVC3y5pOigA0bnt)@F<#V-^84N+8^?ON~gbhE%?r*^{z*qaz_)p zD7>1ScxcmS)!;8qb@cUj2vmFj&L8b{DbSPWMYb9HBO-2+yn{L%bog#dU%o*fHfR;k z>p%X@-+uq@E7xA`+0>=$?S1X9^CJJ358{tSeP_+%J9Rs_pS`39Do_IgHGV5( zAVgz~8rbys#_*3`y=ZnyY^Ac8x#-k?tg@6MwirFS^BnYOJL-z~L+r#;b?^Nm$GsD? z6IFo2px0=Fo%y)hyj)$nz^iM<+&y_BSCF5hqX+Ej;|0r&+|@r6c05~Ocjp$KHW5d7 z%N!cr=-4-amXxA$nG*KqK*871mni?6tMk5MUa8f`G|kwCZ(0+pQ_8FN2DZM+HF5PQ z0=eq(XF-J_*aL(!naZw!SpYJcM6Eh_`-6*rz0R68C#VnPY~JSmbWwgEXNDw+%!21F zo-az(Rgp$TIOudg7LWc80HM2w2cBPGHJu`5k~F&)f)J;KuZS5Vv~@)^webF+)Lf&^ zA(W?D%UIx#Fu7=*5J9mQ!Sy4&y_bgb4J_{?9*_(uoE720zA{3#<_`}3O<-}&apRP8R@0!Ln5{lYH~ zU%AjTQ~LFA)0e;Y*$@5lPp87NP?c&=eDV+s@7q4vMGPqzSa<)1hn+?>Si1>o3mF5mt^LSacrk)VimHw7eC&6B`1+A{+Zr%*@$$_; zldcl>jCS)=k%j>atc9%oJ%&r;rv($PXIt)6zi2;jLCj_S+mx%9Rt5$wwN%ov<6%)6 zpS%`na_9`^fsxMmS|;)Gm8T0;r6QpqXkq9&s3o>K``%u-$uQNu*p4?#*H9?jhSL{w z&q^A>aYc*S>d_qY>3N3c=jCV0Yc(B>f(jWg6+Y6v>3Ar8tb83twS<^4VlBHon|mmy z)+n*8&N#sEHB?8zWoZDyGY~$>VTVoH8WJR0j(Wr!oXc)28R)0hyo< z9?_k!%hpgMYt=lc#bc(N3$c{2EJ^*rO#qf@?l#Bba6Tio(A(=CB(ZR{*}omhZ%rwt z)*MH)*9tc5)caR9SngO}T_tm|3<)x1LMv_8OA`dt0Vzv2c(}tfNv*f=mP$I)a13l-N$Tu>C(@eA+o+5RahR-G$>U0x5EPis~STCef~1r7O;N|C6zZe~~fHV2nG zkDvpvfw-2*3aI^%l?VFuN}a87*G0R{VrtZCjK|2*gSPmkl_ozGDx_4Lr1dS71f-L7 zoV1&}8j=d(?tP>wEB;Xy;ojar@JauAVRRO(QX>@>FWGVDf75N1?Rdb%i% z_!|aE$Cb4j8xzm)kP)#27bzpLttDL{AWV5TFWR0gg#k)oI&qk9Stx!28H4~j^&8OD@TT0Gsvv-$c z^??oh8|#ky;1g3}?Wq58s`>#!@W}+~^{NvFbW5YRY>8!*Zf^bLx>#)nGc@xV8qeAo zWVlMrCI6$RX^V=M*Yc|f4ysFQ{GJgU(5Yq%P0^W}(2?irexEHB70Wg8;L&Zl{L*q7 zh7713%Xu_C>JSP zSwX{dTs7`8TAg}odMS))b!SUQwp2{3jlnJ>uUWpMNZD~zua#k#+R#}n_2FOnNWAhQ0GgywV_O~|UsAOW)71#R5&49jShz!sR^;^YuT+M9SL4*c6UdTI9ks4Z1u$AG@8xpfjCfW z-`wp4G(J*?M>|JW7ix0dQ4>+4wY7-Ca;_X)Pj|I4CIhNAGj&Zf7zmTKCs*dY#G!^< zGaBqtDc94{l`FYHDjHsH^lU=Rw7N90rZ+iFtVzZ#t)|BH>noPFzCvlOR0@-J+}7$A zR2e7`(dm;g>4o6MLJn?ja-=gdRR?R*dOpA2+Pg26GZfcC+Ya_D&tA}(d~ySt4Mn(e zVQ8p>Fo9q?8_IA!9ky~Y4cNU5PS%9ND$g`A=>F}W%cM^>#AaV>JBeumZ(K@go0^P@ zl2Ldl9FMNtSUh~&a4OG2hHPm1RlNIdoxVblwoKs+0QCUXJi~ISl`>+*X~ODl(Q}z- zpl=^vFRvt}L6g%R5G^{87x7FkPcnK@E~pI-)F1${Q0M}H(=b%hnVon;!thd~QWq+5 zo25t9k~jhsWvP)Ya{_796MlF7#yo1ZgQB3o0hYu;l7y_RlE^{Did5o6j+aGI0{*}I z%h?%HD z)(|BJgZ$vJ;nhNI--93JQ)5jn&7!6z(%j5y{_Z<>QpxeLN%2d&1b~74Ep7G0oI2nU z-&I0fzA=Trm72JRBJoY8JNIHh%~OrjXJheAO$^w}=<;To%5>Ot`T1}$;nO)gi4NPu zt8X!S)PHm{c5}86FR`8W4C11woNqJ0*XueJmKzStBAG3AMWPWT%W-wJzKVNDe)Z)t zy`RCIrOGO*GH8v^P#1y$Bwo!%C72Q+u}*n9ED(SrY^5NSi!+S9SFbfV4K|tGndOAu zD9{Yei&+fC`Sp36Xip~MC|8sqe9OR=S~aLiM!okitt1P{H4?WeNY=OIlV{&QKeEqy z^~&7H=6ynZGE1q|vu`3JclmrR#q|k~!IjQty`EH2Vg;0AHKW7Pl8?TwlC5O?^=%{8 z(AjrMiYQDbHBUudU70z#hVT2#7aYHCIE{;micKq(z#7X`Tr_>TtXj^-+_p`-+O6~1 zx(Ui&n@zc5S6dx!pHf-MmE#h4z)EV4Hrj<|6A-_&EQtzbwKvLR`rboQk)R!lX4Ru9 zL4hGiQ z+b;E;7o95d>gj8bdv%;h+CaQ%t9km&dhmA0S>6nFJueb$$G*EcNP`?osx| zGx3C`N@B&0p^9eOh!hUd^r^M^)g|yCplv$zVC(g_^ycQD9Dl_QJ@kd!oPhJuMB{QC0Exe7?AjZ6e>cn1f+_4D(sx?3`Zr{|El&+WPcd4D3=8@lBqU+uLR zVD5OPDxV9c4&T;CIly{@A2z~0hd-`y`Vs3H^6p+4W~S=rHnqCS6U?qB?)=p+ziy87 z<9qwcKl^iWaKeE1o4W^;>O7SfBH<~_ASgj{;K4huUm6eW@#Sos8C&DLcS2P1jo&NZ ze(X^tCEB~g0_Jk);)*f?GLymSeXMOW;EHCrkZTKaT;+M{QFlXe=@x3m$Aw55P0i{MwZ{r zoOLaIB5cmI5O_3JQp$aR6=`yQqn^p3Y%$NRq7J`8b4NC|f_(D5#ZF#asX%W-Sqn)S zCxgF2pw1TOw{|zbc@?><%41-qIX(L%YT1li2rSPj2tgXQte=0;XxhhiY!_ED1!NOL z%oOvfSFUGx=I!B*dsCIJqV27X*sWKi$BB?tLL{BTSBosjxMBI3X@nv0N(+};VUaDR z+;0$egoEE1a{VM0n#mg8hQ%<$cV&wgYn>OG(f=#PeEX&Kn}E&+=F1z6zqqM>9jekH z%4k6c3h*Vqx)PRB5)py`2fza$rq2s6z#0T-78>8Y5tq-EFKr4OKDYdr8Yo(5Dqkqq z(N`X@KJq%yiD3&L_CETnsozqxQWq~g-n9)CyFy49YUrwo&GCyBg$tp0|Kj>Y+n^6| zRnyBGl{2yadj>RcDS6|Hc~84`GfRy&VFfJ9*UQC5_cp1E^%72vik0>Fc;UK^ZgWxk zaaHf8D3WG?+8C6+Vzs&~tT{a!obmwegZDdx5@t3tWgSuC-k`E6sN>_FL-talZXQM% z#T>pcW_A1f5B$T*g^ZyYt!8nS$(AD`?yPAHR_u&=5V=meHvGAgxD(qNr=m^0Z~YDZ z(f6&@mw0OPny1|Qo>chGH-92jgs*+&8)L`5Z#?ux9d)sD2)EV!CP&|wp7_Lfw+#i$ z+nzo4cO6|FTQ(jrodQ3BQ@$qQS144?bf4_#mUT>ANc&0>cR?zk-!z25G7BA0ihBLG)bEc)H9b}^n3QE!z&gy z6B&Q4QX)#KK0bo<9~Xb?cqC&NEvRW_C2 z26Zl{qkTR&?y_{%i|e7~2uqrI0hH=1X`$j^sccm4>g%!bzQxjod{&ZG^h`Kt(=_WMCDn+PtMn7WJx^td60i5>rgGPn$r^DqoW{V@(R?9A-! z?ktm5TJefmjv;2K?Kp7VI8Abso}@`rZf_xNk~VFfCJi`bC$VK)whXc*OR`wYT83d} z_!v*0p69vGxj*iY^SC3UejtF41ls>qudcsCYa{zNPVh0>1g$G0{!|NApZTA-! zE&}o{nMmRi>xdjE&m=-_zpYyk?$&Ea%g8GNlo7D~#>Hi7XINJW9XWX`_OpGRhtwO~ zW(yCHTO0Z42z2#VwQFhk|6b-moEdm>srNlPB7!~uIntYW@DrKIgft;}Ah*!zW29M%mB zOYe0ZIa^ZVYMq2E_NdO$5i{ zM|ws|GAJ1parKhj9cc*!kg`;H0|hCyWS#ODAY&7?`@wjEq|CM0Qb!n%Vy!M#m`wEVX&SMA-Ov|D{Hd>%NLu%OF34@W4_-BzkI>^FuHu!+HyIex8@+J3(aE&(yB(^O2Y z*__25aZf?5-cFQ`M!Nrf?otgg_u;!a{+8SIq&z=O@7iN8SXxF1HTLf$QM-w$l1(e! zozImvS_}KyC-zE~4^}VUxAR_r1(zywy3)}mt{1ea%bD_hAy3&MZPgBoI&o(1pAHT@ zC#Euf^DdWjSGn3<&)qaZRiwfe?wja){rp0}-;lG^KnHg9=E{Q)Zo6_h?rm%I47Mq? z>G-PJ-|mZak$^s)UY+h3@;NJS_Mq9-x_LL=?!i&On@BDvvQ%%oW$iAbD7U;`uIIqxn{zjDUE4is z7sXOfz>})U?hXNlaFz!^gRd4*n4 zXIgaVopaY8JLQK6>qb5)a;he=o!xGiMVyJTK?{hQt2w?MQwy833E8`4U}D?)(zMs- z<#@mm06)I5unP<7kY;i_S_;wKXAlIrnoZF*z)OdDpyKh^8x5K=)nL-7@vS1$@|Y|^ zD>T1Wwpom@1{=&&s;~@DD3{3i_x2F6001BWNkl!pwtI2n!@}dL{jbe$Mj;W?Lvz{);jUd_JSh$s@X=(t66}dCT2$7*DnOd1) zmH1k+BM=VLSq4A|(CYT^B2Vu=*q+KU_42aIvv+XpWRuka76Et-HcYtelAt)76^o+f zWS+{_79G}5G}EN11mOTYQlVP70e^%&hF?*aivFso0vo{T@kZ z@`?l@-bT4-u}PvFDir1z!PDIX2HRYTJmho}1R#)RTYpE^=pMOwYl*~}aL`~gm5X)I z?x0ImvDsuZCAM4x1WA(>75G0V$(jTJCK`LdDSgah(UKGi;_FEf_}};~NW3aMGX}gg z4gBu{HY8P5005wH)NPThl(nHFv1I9M_jgXt7r*t#2OACP%=__+3#kY08>b1-(sPeP zSmp%!C|zVT*Ub8Nxr>lub(?tk&T|6@MY(ZCNX2Mk-yoW*7)Xwj1P%K~)LSj2k?f?(w(7 zE~yw31Og>2Qd7{F6@6fv(u@kQ6_5Z$tS|-2(&2z;(C_amWF|q#X0VzXrI^?6=QvG; zgOn{(7c`O=#gQNSUB6$4dBOp_dx(8b=)P2wA*ra^< z>cyR-y==4QLx8LzIZ&2r$t* zL)knGCgyXB;=)CU7`AnKz-kWLdPGew8zTGkRt5_8DvhW%wSi9@2EYoW(7FdyCuhJ= zJ6J9wz1x}T8O-jIuD+^zx}|1A(=(7EoKI~wN*MuwJQ16G{oSTYu4v`~su4P9{g+=y zag3V2m{P0gz&u7c9<7=Q0%Vb12#E1w?ou9y;F_vItSFM!IHq=p`gbZND?y#| zSr^Jx!{t}0p3%8R>~vSaD}EH&?I+*JD+(*r)TXXoetG324Se0?`bRPO#g-xHJ^uOV z4b3h1pDI^ar@8gskCytLCiB_8?x8ebBZSH7_37%d&(>N}FrTUncDC55 ztJU2>1*o(WF|Jbj{7=69qwhTx!)|seJGEEQpS<+7^2c+X;vT`!4RH6=*5}7;pTqmF z+dbsZ*JcU%^uH|p@VTeIxi%YL0bGrhpFp^s-`M%|2y$*evedZPTx4p2gn_jsVo{&t zIU%%>tSGQm!E0TQK0P>lQPqcvE#b`D8U6k(!>_#cwf4XhQ@6j@(fQBC{MVWVmNWE) z`nS~6W+a(G14oEvkKA1YNW%bf z?&8H?+&`sNJ`-W%iJtB_~R%oDpJU%7tc zJ%`6eWjPrsm;sbgho(Kghfq##@1G;Yx9OAKi0bZkWumo7ryUB(>{yC|bZCTn%r zavJE@8#5J4Uk@CRwU0N5LWgVk6rZcE-CYa?A{MWs5uJs1cBnF;npJn7jWH&Sh!rCm zsG}z_nw=(6{;Qp6x&Q@sIC2=04c`<|k)g-o164 zG#S?~sS9X1TUpz(gTTK-31W7k8qOWS)8h#y!XrL z*x#|d`j;;**gfX(0DWueVzut??SnqPdk9)-KG z)wSz`V<#G^Of3(jxkaPR(jf*vh@G=oY6^_%5RE{V*EWkF^Z^XZsze^0=>GW5Mx4J~ z2P!xXiCn`hdCnBR>$TZ5RVm38MN_VEOSHk1kuLwq6JJS6cs#BSja`OLgYw-owE6R{I%x(X09$W*VA|Qj`Ve`7bipJ0iKw3NP~bn8o%`$ zyYoTvh|&ihE3Scqqr+kgH`)swgK&{(ve$2i^_@yzTAeN9&Vfy)=J$2qoqWk;>aW5U z9fmACWp=ey~CTvp~3w|l(YOjDhG%<>%{I`EO&yng9>`?^2B&D-~(;i6ct;kBft zXP9ZZv+)&IsCYv!>?FG7vS~w3gy~R)8?G`xI@t9&T_O+yUco->^gKpErlC}c6@QQN zuv#wfwK+f>blLnEz*p<2UcCWD9&F>Ul(CUAs+P@Vx7;3^o3Vxl&c@H|)=nw%g_t}& zRNu#1$~K}M9{^xLpTF!ZhpHZWPy>_~2@Fb|80T*k4(Tmv7+Oo{skQ z{H7N;G3stMXaQEl%;NQS)IT>9_4bBvsMBtE{iTJ>V*@7;d9EsiMR_wwlQ)gdj30teKZ+TXH{)yLUWXYrh>cXmIMmL_NG2&IEp-&*M}|*czcX1agS~^1 zo7dvLb{OQ5)dl9jsofo5Q`Z~szCV3rYlmtw)CkaJ>wH(g&1^EE7H2ihqDIBzE68dGinN_N=!$Rf zCTEMFY#;>`HqvGT-WIfETd2omE9O?i9d49XWAP?|7(c#tITG02-`|B9OHD;EsIaTu zqBX2k91rFFk zp$*aVa#=HmHjBxwaG=q=sen?l z61Le;1*}j=5GDhAcQ977QRlH#^zOC+_w5yNpv?$&T7v|US(rjPy2`1hV!>Tti*HIy z5i%GW4TK_`>g)|{*C<)5iEKeNw3|rK0YU{6-oePKk#aI(%GEa3sFli#YdSInE6qY> z(rKHh=aYOvcJ*i5y1lSY$b7DqZFGiDFd7SCX^H}wLfYmIL}OF_V87Lgal9HD{5@HT zq5y*GN~<M;OpMWDMG&*hp-hv@ zSIMzj-lmVxI5yDQ+g%m4B2B&LCl5OF(hk3`arphEf#aIPplFAdchEC$4r`WS(meFF*y94%lv>a)OQD#LV0Jgz}~-wxYxZwWD*CEj0_0 z4}!0MDD|o;F@FE=F8sRR>d@FSX0Ymz&y7`75Ma1^&=P>^`6Q&HvdY590B!o9S-!(T zBRKxN$9bku7}&mpfBT)$(~st^zBO0jw~eDO-fVv9{mKKNnujpw<0t;Fb65YRUc9Uj zMu*6jk#Emso*9bncllbWe86O?v;0q@FJiF5m2T|x(?4#=&)&M|MRb?Z8;>;`hKO&h zn8UX>E?#NQ-}=ke+FpAvR~$~n&y(mgp@}{yn?8DUXPy>4!=tpg7>BoiX1p@8i)bxM zZ>@Z3+sQwL{8oM8(%RYtOrP1(<0wR(0D?q@$fuA0;qBXbM6$nn`Bq>f@#q)2>W1pl z+}C8P*FJyC+$9`3_UOu$%-nB(lbh*#>Un8m`wNYg3m)%<4Gil{4lp~=`v{biRMBg= z{GH$U|LALUpl)w;;AHOB%KQ6wo&J;i4`{8n?tz81tLa#`a{T(vhA%&rS??^(9BXqc z)s8(Uyx%_iCR*NGiAQ@!GU(9mSI)kOxV(pk|NNR(&=s59kWyQN!rU)~rL_Ct!?9cc zsf+5auICoK0CRcKZo5w}MRWY+TW=k!w4XD8T8}(bl(}>9NoV(C8_O@+iAQSXo3_Yz zjhSnrbfI)NUj?phJ^6L1-osR;R_|U4``4=MNvpOm2ca*1+r@>|r|(_pt(k7=al z<;Z2-P7)?B__2&we25ofAgCt1CQ!r7YabX6|3UTAyROh_K>VQp{x3z}`jy-H`?=Ct z64|c6C4PAwrowLhp`77+r?>yXg-g{Id_!rxqd7F6?~!uu`;@r1k=g`YoB@$j>%Z_= z9w$x6N6FU^gT^RJ3|OZDt6e+wpuBd5U#{~rw6=ex@k5K}5y5s#RiF_4=^C)CBj%NA zLy?(M<^qLSGs>Gi#I_Y>9gq|Ru>hzMv?^_7N451132u?;xd40br}~WFSwB0IercEQ zo}VUuXVxbgmuQGyldyVFjTj-Y1l7^>JDTm;8azx}7_Pb&{TPTG*`2vD=^Bx>j$UR# z09-_6>XDyc`{WCs{7Q3m(@OSgTDW~5)>{6sRp_!GR#D!fS(1n@7Orw_TlccjLivh~ zqCBFe7cZ1;CK-zmb~jn^`t=_oUC=_U+q2LoIl-`u)tec7{Iv$*+F)^yqVUpjx6A(3(+@{g zLEitHh~ts}T=-RFtL=~e$Du#`*1tY*Ux&H5y0pCeonL;hzptM%bUv{on`Edz{vTie z^($vSb^7nhrFU1WQ35;a>*wd@ws3lIaI1B7?u^g({15*AZ@&HIleZJqzy9+dY8o`$ z3);r#{_LCo_#fXmH(Pu+k*^OO2oUcuonFQH4jVm# zE18~%@ATe#7ZV%H%dt-#`MtL%uUdRNPJe>Db?x#~P?Wrn_{TVhhPa8$z?1;@=|1 z1-jd!W9@v2iKb!>1a>=|xTo1#-sTRNO8Gmgsm)HvX*e0OjArNVSR9D6MZl=M{ZN}6 zUjrc{%+@v74#woZhfh{NS|ChHMu!@6RZAZL=@kTE+#|H2$CPzC16=6YeS}bh`FNf! zau!D@tIs&K7M8|!%B`(yq?1h-XRY22eYj~(;TvaierNkeg*P;-l4d2TBkeYCKEDyL zc2_f%)zTipTPzpre)KRFB;s%X#sQrs4PtuwEmPNC3uUgBlZeAoHtt->T-xt>81Ht+ zHj{p!ITvpZ1&`Kw&0igrYH1`~CzYuxq~{JYK{+{s6m(h@~~XY{n=}Tk(!UpGbW}(yqfmpWY6h zTK{4RUv1@Vct~DY{&r8}Sx3L2i4#nP? zS#u&eCvc@#JJqrk-RMBB5c74}#k@VnY=%vEAuSI%OQaxjhKxaUahMw~&p$Ts6$Ay# z8K%YUa?~wxd&#JGQy!&N;igMhb$v@0))olihXdjD@_WU?)*g6lo1I(CCpAnNwrzs= z$oHrJp(;T~yPxO|x7fJFGVq9AeI2Q6&4Eh=u}Bwe+eTlQygsdI{Rw8%O~4NPgl@=V zNJ7*fXoGclZtAwPD`K-*S2AmM6X>!UI=X?Cc(KjZ%oI@!CF2#?NctJop&&q5ZPV-kfas+bnk% z)8nIv4n-VY_Fisbb?R!g#GlyL$tswNSfr-px5B*E&O!#4UlwbUj(cLUyMtX}CK?U* zD3`9ROzfsJIZBr@000rj;KsZ%?1s&lLt~U`z5dDLeJxeWEL$jRdwgxFr^nwC*i6bo zkV&iCvT-*%H0a^$iJ}-B>9u1TN4e_Ff&mh%6iM8?zS8bQxtw}=zPe|G913?T8VWiy z)(!`wYTmHDRwy<(3_M!-_)^xWw(AZ4hZ4d1+dtIBEl|C1i+FUZ> z1|tGm2m5PzU6Sh}gcG36?6$7VZ@POd)qD;niDJu~D=hioC6n*q;eZiPK^au4wWZ)96YWWH;iL$7uvaE`-2K@i<*@;N)&|>wTN?rb0XPEkGGL|j3Jd(f*r1AXvdor)YrBC^30tS1_Tm1eKJ&QPGm5=Vdxh#DXgY^n>0ZP15XO!s=g zdQ5aiMA52%kPSC0fqhMG!C`INeeaX0k`ORr^+v@T*e$cyK+&IFyWtH63{d4=@7}@qfzC8Q!GP|d@PI&+(Q$Q++65>{8n&W%Rv|=-x z_0{FV*vOE{qDusz>tJDW)8gC`9Ou~Tt@Ki@|Bxd#JOBM(MW6d*KZ^{w3Nwq*RK!5V zMdDhF86H+KS7)XGJ9l}i=g#&Y>JyBzxdKZFjgZFih|z57i;G1|W!eAsBvNc6pA;d-k!LehKM+-Rw8b9f#js_eVx-6qoY;rl-nn9q1j zGwAlM;Q2+E8r0q65q_bJ=SlVZk=}E&8;wolepEGxO-&Lu#72;G4H77bnwfIuf#C6S z$|OY?{7cVbvW%mV|%AG`^V{Uo6#>E0f9sk ziJHBiHMW)qzV?k57!o>spnr2|hOO?~)3@h%=!njLIDZz_oSQvEp#tyz_wS0^`p!Ic z;GwcMdt>?>4$7F_@yNaVbMV#iEvJM#i?7;G@1RY$JuA+w;lKLsyZ`y;U-^sgK6mn9 z%-!?Mvh?>re1O0w_~>sd_VtfGJp0+BPqjAfaB20cUws;~+t%V$*z`KODr^~gGG5MZ zKep%BufKA@y)_VFHg0VYp9ov8?B3!|5SLf?|HWQ`&z7%V`DA~O-0PckKfHHa_~rL5 zgLueasaXH}lgzUB zL_)t?c>`9Tt9r~<(aSM(Gb7m}Jw{U=Qeb<+dICnk*j&N!S%T!SAWsa|9fta zq0AX9q>MmgciG$CVP{!F(D~!4$^ztU``|O2{swNDNM8GSc=#Kj=Oe|T(Qt>H-6Q#? zkU|^aGHO>-X5@)1_tI0v@e6rO?Wohdjzf=a1s1OZ0o1Q?e5pd5k$LMIXaCf$KVkQ8 z%R|3#v!5#?9~kj_PW7DpFh0)}V;Hd263iRvwK``&8KgTfzLwSjdr@F+lbZ2%3u)Hx z7+qUcRyI41&_Gb)W=U&XI{&J_{Q)7puC!oH#k$>xqs4guU{{3e8mQQjCu;DUfKt#Z zu8D`>4{wIVbPdtCH1zZDFK^owdHmw)xh_G^n!29~O}vszFwA?;J-U~#AF_G4CgC(} z`4n`OPTVc(bh&F^*GC&M{hjN&&m`VtySwa4rwJ_UMrYykJwL)p%znaE_^=G>a_*WA zkzMXBovoN`agi!AX;CdIu^-w1Z9$J}POugiWpM2pcGcf66Fx`vQda`0pu&^7r`2^N zlDTws$JkC)l?v}L?I7zsa{vG!07*naREI|Zg#j`e+-1zHZaOV)wJs9gkikcIPwo;E zS_5tyS;SwJOA|X@&@zVv1eYp^)pL(hs{QP;o-lp=uHh0PM-L~i}}~mE0cSV zyzrgx{STuhWU_9PMI*BO;eKK!peBJcW&`54eQ6v*75%Kx}nlW^v3b)lUM6s z{li_km)~AsF|Kh@l{&lJXr2WdwO=6M;99!)*rCxyU`lDydqSqOcQ$`};ab4iX|?mO z&wdc*CIC49+t((o4rE|pG|=f4>v2)B|Na>Ly_;)Yh|3tzEP}X*$TCkG346A=B+BCZ z;3hLwve*bkAXLT(K+J$OxWZ&*iTl0aGjCRZD@gJ_*WfQoH-1~X`l!qAwx0aP#Ajrx z<_@?Ebw8ycXMgXWR`g+3JQd+Qk5k_aqq9~RM=1My`sPlFMTfK6g(QPf%cU04ng)YH(-~&{~8wymjSoWY&Ou6xvjR?G>e$Yq~fg2xU)`{Y1@zPwodKb-X>OT zdT!e7-m5rfvkQZ!ZH&*^A(s1Nm1{2Dv$(La@94hrY#e|CdMGbUnE`i$&X5k1z1ch} zunReT%Wh{$X*aR8xYgZbg>wz>?NG&0Rs1gZe4-E{%nWMDLJCz9m)+6Mif#P%hg1E# zd?2{TfCCl}M`8oz`FgP?cMZ}X-JRKCI$~3zrBWo=YyQpByPqS+Hu+M&1BsPIcjOO} zE6eb*A!jx8o6tvs5B|3Jn*nwrrTHQLr<;}Gen)o`^0%7yfE%U_-6n3c&Et+mRdUCz zo6~|Vn}z9@4jE2QGwT>>Tg;0#Xq#@piR@Ka=MNqpn_8)PpzF63>u{)zFn~nfn*!K? zq3v#~GC=Q2Wm`cncmB%Fk)CaQT-vdZn1JiP_Mvil4MBBT0cB2xb?)S`!JD)3Hm{}<`0y6YL7A($HJ8`> z&b5_e6OlG2{@eHR-ENQUBmoS+FqMXn$Kn`a162xc z@aqx|^Bcs-R;jtJ(Pj&c-=16;?+GV0?B@L1p3$I=nrzMvX8O+Te3r)4REBcZ(vvr@ z?cO!4LKI|Y4d;Gh#I~YYf1_^S588(YBqtP6cf%g+#Q! z$5PhZQM}RqzHy<)>Mjw zAPx{UexVNZhw+Zx+VV;!!zlyZBUMQVb&g7U3=m{ZEVP)a$>|3%!07B~G?e!4Tw=Wz z+7eDQ=cl3P#$$sOLx;4S1qnBT7ynZ(m9ALMcGoaZZwgRo_-x<3#rS^lEd1$2WW5c?Pzsk}wqVp?W=*%DWwRd5!`B)bGGFQ~+e0w>zdTUyk&)9Bvmy z+8dPyWojppnI>z-Xoh)&yJo}Q_NQwccp>Ba=9ty@*FGb46mx1DvC1j|COx>008*S zdR;64<51zOw{Puk02lnw}C+- z?{2LoJA3VgwL)OW$mTm!X$I*ZZhQAVMD3x!PSt9{sBmE<(T-<8V zJ41k2PF}d0KRq!H!pT~NMZm13Z7>@v!{sGgc*3IPQppv+uO}0qgq=oKfQ8CJQ*JZ6 zwi8^-faMnEK5CEjuCB#h9plYnET^??>j6zDGPS9CX%pSMH??ucvwdH^RhqthW^Ceg z_n0wJOPLj$&J<{r3=VfUXMRR^3<8LOHi#TF1U2t``5rg!v|XHCtVL5-OJEo*12TBX zOWeG19mJY@4h)JVULbvZTp$`kyaPgT3Z$HDMwJaMB3?jIlfKyuxor@_RASLa#R3&- zlp9Atfm=!=BZO>n5T&|q)j&~4th5Z;wR{0<3+Sq__4e<&Q9a2C1{9(h(=Gyi zpJTVXeE~0ic`5&Hi{;A7c164I;lsDyzP^$vBAP ztNDu~!M17zqPfglfdlg9xnp$a-xg|x3Uum$OuUFbvBTPOj)TQ9E3}q6_iO#YmzV^z z^v)}xlaD+LteZz9^2?MHhmF%+~o`@#Sdu;uu9As*8`LTx`zxkkgFoI;O?CB$We0k3=e)?~Z zpBQ-I&BZ~MJN&>g8`=GE{rT5tZ|oZ}O(lr~q2a&zhi@4$v;@qOXj z?^{nF{;N`PxxvvV4sNe6T>d!o%LfO)THoMr{@Er_%Z5&|yG}lK>y5=vpLCwR`nFc6 zThwX_q8LM;wMd}aYOaxAo4<>z-)!#R+=r?k)>=-H^J4tWhnqSEuP zBk2m$3V20B=yECUwW^?GhoxlQJifb{5;djLx&7(Y4kLYDWg($2D3K+;*Nn ztEE_Uq=h!37UuZ7U=57tXjj;70Aje~ouw&za(}~{{6f>{YKlw-hH_dk_o^ z8HZ2+-C*BFRD)K~K@-@Ns3!!edQnt;SE@O04S=s~++5ANBmz%%6WMZ~*T4i`U+}Cb#eU(@&bkB_p`X z>UJn#HzzK?RkxOV*iRS-g91`;bm&bVRk$`2Z0otcv2k={Hw4l576R{85EpEx$?7*`tnn>T-O|G~fb=D&UVD}V6!cWy3? zZ@u^K4byUL@gKhSBgt(2xBvL+o?TxxuFsvh^Mkf~w*i%T6G0j8C>w+2!#nn`CrUqi z<<)0D`GmFhR94A+@zXCx7YeVw{FhIQ&(s*XG<}zFn#{~zh*$+Pdncw#x z>%RKY`4i#Z-3PyVC3?mhc%B!R2k^jz-v6`s{O!cmYF>+s_CYfF=wo3pE?M_WzL|@-rG}1v|TgRnLQ6q<1rNsW8gRC%ANX$p+-x&)I2r{(l zxTP?Z)IaL5I{QiGM^iUlR*Q-^i%qf&G&!l|wg*~Fh2wOTa2!y_-cnO24z$FEo9Yw6 z=9tN}&XomCe53lChpoM3vhw-0U%4S#0<45~?1}AtdF6F;bzB@)9dt;D!>4vWCW#8z zK!?V4BSqzP6)2W;$P3zLD0-Aw$g(lc=)k#VFu%EoueGrDfX3CW_D-~mBAB`yEhZbz z7DpW%o-gp$9U3N@H9?Uo*W+fl7U;3Z%=qT&jV&Vsm1U_F&teCR{*Ngcsu6w!q7ayK zBfKUp&tjf!!aG@cBH*apNM5nzxaHpCdkj>)+&qwtuY+X90#Kz)=He=MjH58rqFZu( zTkYEVyb9G!?WdB4csQce3~Y+m=tsyY|kKBS7s`SY_!#*efboz>|$1B4+GaUlA_R6@1bNH}y$n{KBF zTxadP&*km4vE{O_V&p=061>icy*{>W*sax3BUHJ%Vea&;y%YEDi;y6i%r+xkaHG6d zZrb;mL%g{)Vx?1e7cxQEvR(>zxDBGSyHZPZbeN5LG4BR&C6&J2<`{Csgr*xNR_9js zboMOGzISry{!-~eEk6D*)}Nt?K+~CSDs@h%$KG^%w~98=&KK5Hu#v`h`tFw)Ll96J zwtZAfK?&I^ZLU{D*pYAu{ppgmC!z?HT(2E@c(`0@n8V=?rP__KCa1B1X+E-m87^7;;}S3$Pe2>ee~ww%utpyXaGxKZyuDBm&7hF`^D? z=7}Q*m_{!ie`m1cFeELub>Azlz6}K`ZS{ds(@3J1``u*nX?KUiY|2n{EITsqbU)am{GkfBP0=E|lDXaowiD5` z~Bl$#e#BOhj zSr#AB7KnR1yHFrnecW@<@ zw!7_}oxW&YT)lGZ$%l?utq`aIM-OzwizG{@L;ui#uT@0Ckp8h5$luP-Vr+ZM#tb|7*vH;U^ zCd;%$cSp4tUHFjQv$G>r7CmlIXf&d!hNI0Yk)qQoh;RTGTHcV+t4UfXbyF^mvhS) z>QHpXW!*y3TskKyq+D<23u!DZ$47Si3K^6P8uEqIXq&dWvMRu2|42`(&~O=OPIkGS z^2$`wG!*dD97MI1OL3RcIW|IP6B~~o?|}_rMik6Yn*j0MeS;M?=kRsdoW^QRt!1-L zhf{GIHNfAhp)kr(gxBO4u^{s8#c7`rA#9#XrI}xvG6cMtwYgFah9xH4?P>`+2$@mZ z?Jy~O5Bu_UmaFG!P*9|Xu7;bk(p3Fp`@%HFnSdtPJ}x%W=74)SHb>(3IM9R!g<^$; zpiASVL4YuF^~)H3P~l6F!7z;4bX{S^C4}+{OkH3}5T;czi6Ce)UGanlBu?-Lpj_E# z#t^R;M?qV;)&xM=Y@|s;O_mZk;ld$Cvsg(^zWz>CMNrF$ zLUnQXp{>Ks)i++b_H?@o1OQzJKp2Hl3ZrC_1e$z{6(EImQW|d3lUT>TLbT%F+2>Si zYa7`Wp>|^2Cg{Fvm((mY?FfvUP4R-+c(peFUXrvLQ|x$MdxqZQ#wGu|gH_y3>Hx!FWxYu73X~xBuji zx@DmvNmh@YtVh?&q;8?Y0=Fm#h||?xZ8Yn-DU5ICmOiw1@5FKc(UaRXK+VR^t}I!` z#|5TTk#jjXvP;TcDuaxM4#F@!A7gg++X(}0vTSQ63o@KHdy)EvzNN>*>sCYsRf*vt z2-tjE?LB&Tjp-W+HP~4E(&XTwAYYoRW1am6pHvI)8L5*Z-Ur{$JEO9ukNZ(C#Z6c@pkQTsjymb1ovngbC$8s+ERTiY0re4@W2%qmbTFjME{w zuEGrv?*J4TpxaTd0`^#emZlZgVQ05quK)vXZaQTN4f5$}h3MeY|C1s30FdJ#4231(-?!mJIoL=Ei)(iWiQMAstMeOu!G29H9wE#Vf+Lq%{@;&I=9c(l zi2P<#)j;fP?zW#TEb)?zpu|cczgYr731e0H0X@FV02j{OysXNHNJ49ZuI&#WdFS^< zy@{?=P=!Edrk>G2X7W$pwOaqbQsu&>i2z?-Z9+D^?yXEBhoYY%sWj&C*-u`MbF+$u z!q7h{*xzaOc?xqE7ir#f=&ttk#S}U`djFk^!bXvQ*!}Z2e({a3?Af@u_`y4iHd6XT z(0=gL38c7oX|sR-aR}CG;5~@RF#5`iKedPI;L5fH1;MpbE-fPj_Up7oPmwO5G z_+10k_G2HRv>eg&vVdsYbgZgS2BAbst@R{HK?=NZRR{}c?`BMU-tR}R^ zX6>?07}M{ez=>B(El(1HaojO}=Hdli=RtLj-_!oB)31NCW5?$cS1;E(cZld5mhTzq zADNiHZ7>onHwOVL_l#D~UTSF=W|3y#1etku@|D2AQ(H5Cuyysd5Kl%^6Dk%B*uPsh zKMPm=q$1x#J6=T0e>3~sr~Q9^M!cOdJiDLz?zQxJ0lm!7CLx)t+i8oDz+iT3?jQC9 z-d+Z#H*#0SYSQBNo+5_$^yxlZ>tyCSY1;Cvuu&Gx8a2MOOQzdv#6G;mj%s)i^0zE zi7VHRx9bp6f{-aqKX~pVzPA-@J9fO8H;7o%?BlB(XtN#ES!<~h43r(7F+~6r$X$hP z6k-!Kc~N$Upyl&q&k!o(6xtU%`-%1V{k7Ww)n#e(DnOHG*KC1te`S$@TB$~2Q?^*Z zCD5=7M{*it0Aaa`Tj+DIe&V2~eZk%bc8{L?@WwZG9WT{uquU;=Tz$K3*RIEp9C-GZ zr~di>9Hfwyul&WglsO%OplTZ1-}xzYz?v4{lKK5h>8h((+_&%1?apSY&whO8eO%R4 zIsz%@(saMXF)MFhjgAd{?VtZDz@S0&+PSP@qOsO}@q^#}{GY#Tb+;K`NF?_-|M#E% z?TRjX_|y2?o69f!^v8ewcRyrA*d$K+xLUtr(Z&__)b^oh3Jht*{l!LFKHEy*WSlcrF0p`;52~f_2pBI zkB3v1?Oz;aKPt!GP8vhYsG{A8C3oz6kTe5Kwz%4WA|ovoQcA^(9RoXRO9lJLu#%{8 zP0(o61zUrv(U{?rNDk3Cs>N$>F`f7F#@hDw9m|*Qa825ViyBRo7AuB!MKK|928Sqx zNHV>yBZPnkjlryhlwV#9gy=@1>a^L3W+9hx2kqX+{Bn}r7KoZ2C_Xn?h^CG zg~``x_vfONJSy$iaDm>e{`np=*U+oATs+kbJ0gO+09Eg2l{+}UQqnpqY)leqQuD0s zx`VH8W}1|a*ahmJ+*(~3i`UMqoH_Kx`=yC87c>CtB}_}%P4ema#*miPciLf%Pfslz z3{$5YA3WLNOlN~43Tkl*h@qpCSy`0)j&8+Psx}+D z{BEHHm8~qcIb9!Z+u6#oi1*O0v>k2DNc%GNn=a!JY;O_7IIC1S)?D2n{bqxk47x`l z%%WVGo+>emW?NSw8ER{rkKas^PFe*p|6n_{QgZ9{>8(cR$cgEwvQSDNY@GptcCv11 zaCyY3t4&9??b%(9XKzH`XbDmU!D2)W@uEdm8(NDyy9)I>y^C9aYHNL{n>1|7H>~#k zJTP70wf4?kYT{$T+b)!I8?g%LjPCBZYio0g!RwjgN4oTgvjcy7?&bUG5!uNs*BM^q*W9fsMcI<>+aiJ$>Dl$w;MYBvBgbEc)lSu z^{d%Lq}K$ZJ#Ae81dy{EY-w(x$=BLD>=wiZ(*gi$J}(r5G1b$x;4jpO)5;7U17J} z5D{h5s1GtVywVUv5NqbEn#s$-ve&OS+4TqjhDKUlCVdraDW|F^MnjaHsnz9LQo(?T z&z_*=wg3Pi07*naRJ6Is8(S(G-JMupR+vV>-_@v+KrYM1nD` z%ggnO(LM^o0fMNgqC-y@6oHk6xWdUanJpyiC}^hbeiL0$c~lYbN+W}6GDX3v%s04p z5@S_BKv7Up?U*5JHswSCkpUh=P1X9Q#caoL#$q#JAnNus3pvSaHStYEkfAoFA~xYd zg{|}aMuL0df#ARYVXiJf%TbjgVV0LoI-tq{vI6}7{BC`|$TcN3Vg?TOs4q?eoCrK| z5AxziDu#gf?=yUSl|xi@t0aH%2w9oncaOt2mc&PV*8h1qaPR1w2S4*Qly1c_FuQn} zG<{`xCi>~mpJ1zb0E9pgP*og4-MGHt?FMRBZ*;UOnbIoCp|Tz@nrx*K15$c5U)I&x zu1fg?ho*yGvq9Fcqm+=k)|o)m$J~(HlgCI!d4kZe!JI4t@I@4^=l< zy~_X?P*gFZP)$c@MpBd22BBM&fe{GUBIyB6;}pk`pgP5BP7$e_SKk;vc(kj3rOq1M zlosqF>r54bH51)wakWe@%!92o9og_J?a2lXvYL^YbM&-}xy zZLX@#nd@$Eu^S0R)ncFI2aiYU@6Y`Giu$)!a;`oDs%T5{*9V6Efq`(7b>)&(2LaE{ z-DtBaVm!?^>&@K<%hyj8AyXg7Up@Vt#oKB-codskqkG)649c|_fa!>EzozM$)hgx> z!HNi)4M1*LH4#7>gbg$t8Bi*$SY=cU#T8LzS+cuJRUuU3rVEwW#K&VUXS~Yb7&b)e zLzN6qKriK!Iu-EKj=|N+k2t1E8Nv{_ripI{P`XSVq7|usFgbBO34kgr_3H?8$P=C4 zbUe`g?f0W=Vk1TAUwrF-?gN26`z^*R%@#=%`d_xxyDcj<_@EnT^p=sWQG>g4uX+egeKa=GTfJfEZG zTkjTv=)4k4S^tDRprWXoPmF4R%JTrLs3lzS@=k3N&Xl?0iDwnvw*Ub+Mo__sw zD74$f-EKAq_U~z5St=Ugu@b?2w3zEaHiRI)enY$e;k~kOHnkOYiHXqtc29rXYrlT! zi}yc0JNMJ=w$X`nI27XEoOyvES|aY?!i5VE_$q9FKupQ*&wVG%G7k6jyEJs!#rV}Ygf#-sE+OBl~0_b z_dl>+TUZguItH@R_7O4#WPDi+_>^W5Lcy38?=q<%Yp0r{DV`&NQOeE$(h^(s5TCMgfFP!Myl_yvK zG;w`={He^U{zQNK)s@~SI@8ZAUXbc(MKj#JtI4?UpIx{)xXZD6r`e_^5T^m)AE;%8 z(nl!_A}vl6<@D7nRVF{*H3Ux=)NM@&aP7{`m5=UehuIpUmUB(U1RLuK+T^cqE?mbb zgL?-Jf;9xO%hF9Q-H9MFh&z`j%EQ~hB-rES-07MGfH`X)&c$C2AK5K~1&lW<&03{3 zT|24s9c#;8$XL2ea=ZZ22E0adjuM(r z_~>WWwmH@o>OJ~(_tx(v_{Rf8%f8`|#{@ue|-a&;0|a zrXP$%>U&#aZ2FUrE?5fpWSVb`>!0BC**`w}4>E2V`rcpla}7lI>f|SuM;;lQxL#=Q zH7+lvj5qNZeYOGIQI(y$T<$C=+)gyCQpjRWqBx|1#Tt_hx?5*%mH;GouWL`nJ~SJ> zWzl(hhNN6v+*(Jzu;=*g(uPIbuu`EUC;8UdlF8V}mLh?%`RElCYV-K8t;{Vzs}c^w zXV8(;TdN?Bo-p41cKY=H&i}ZAfr;A3fF>#m{P)-X{>ec98vt=C`PweW!a3tI#bKG_lr0gK}GFpsKO^CZ-vG+Er zC7DTg1X>!k(`B&Nk!NXJU;OG@#yx%cX&Vu!xGfYA(lmrJb+(Fn*-994bJskrK8wq@ zdFQgD(`t#d;;t;q)RhfT+j65^5(|Uutb?+wK@i~{?5!0qg!T^3PO+V1UMojzEG+bg z2TQ4SIB=H39w{t2%?3V|T623;SNmhlW^A-c^J+uXQ9>4%*=n`?noa-NHdj}+{(_0` zCc@`Yb-=2il^HX>y-T|qhmByc(26>H1P)XTypX--ar^5H_TFQA1=d=v$FxQU%-3hiK)2yx&9n+8nn|Hh2AyzD?Chqi zg`(T%3}MIfN?djOlT69R>D_L7$fo<*nSVO!zI$J||Apxr$6fd82_fY|X7AkSF7$i6 z+SJ_g9jDMM;jDDq2^^6dWdRcP_`VmXUV3uWpG^NDV!77_4=w_?e|hUqpYzcphP>$z3c62!{rEucs-2V+oN751s&dK!(4nUn$17wp)fblPm3g5fMox%h6uMd1~U?{_cafqHAHRC%O4z zt8I`4hM~q)9yNq?Chc7J>o`LqjlC2Fh&u)M~0Pc zHKk?xvYPI0jVx`M98~IXt%o~m&<^S3fg`U#;SE04*Ae@rDm}cmnI7bcTuv6)|$Lgsq7vi zszRxfGFFOmXULwaY7V@Cpcu=`8i!8IPj`8HnI)daY=9g`V9{&yt*uvMh1}?X2f^gb zW;xsiYOqt}^T9T%n!-#0I}C|Nt8H`frp00)G^JJtGsSs_)2LYNlu#lau7&IpWeb`K zSp*yA;Ao|i*x99zFDfmqhMO~M_Z{6^%|)$U;f9h=ZL)n~YAJ&SeTH0&^ZW9c(X|kl zc*$hNdc=p!r{W2Z*J9Pn5=gTZ z#*7#f3=**S@?t_!s-o<{bf}x4Z%3OhYgyy7JBOT!jWtsUK(rn`rS^@rz5C|1eTUo4 z6kVx^F1L9rHlwIeep8MUnBS`BY675AEkU?e6I8RYkj^%WaerHAer7A&*^-N|ac+`Q z!Cbc5+TSPf>8%{!+o=~gDwh{sAtKGVq|~C{Eu=CgmXB3R6a*5qZp+!iAvk6r4IkfF z9J3o879D17Y38P!ZUcnrKoDhFrP)}d-P(m4r+ z3sE)Li9jSu(hdk=A+kDg+ZcAN=&W5T0Rs%x82Fi?5~QMf{-kTcUjPH-Wl5^S^A za-s+zCQC}GGz>bR2?imhV9}LC!9*K02qXX*W0gvT9%C8>j!{Sy3%9x#qDsJ*M+_Y% zt&plUD_PMSvd6agWIE?IK!18;*+8L^D936b-;^yBOrQ!YLXxZk06<_sQ&KGyFw{!_ zexm;5G4k95|H=jJOLpzeCNu`rTK3vro@{hc^35sfn1_BdEf4y^kF({!J&t(nCQ(U3 zg1=h6?CX1yE6=q=TCM(YY;jd&mvO2U1e=Of1|UL_D{d!7yZT9Dwp_wo!2wt?JHkY4 zDW)@3g+{Ktju7~~8mZMw%@tMevbt5ck;ZjEp?qtg|9*f^xeWk< z3e_ftvi5+L*U0W%dL2VI+wIEv^BW`EAvjlRD7RbO?o65wwvIEYt4{y+dTqM8vDEJC zgDXpXBSKI{x@SaW7KjZ=($uEeuAaVfVqeec$#l>T!xgL*vAGW&ww?LFR2FnINu8pc<(t&x%$J;cZT!UM#giqD zeR*E$#0~h_>%~2fzH#QQ9RRCQM#4aYZ?48jx|`IM{jK5U#aG_BNuo%@K!^s)=LFqR z=&+mmpMprBgS!WW8;d{$Zwd+t+T*4Gc_KT_lXzuWwWo&4$!I-){TU zhCZu;4<1aEOYMt=!tBIMhj-1{-|?pvbhyQF?!slCZ`kXYc>bM}PxXBFm0SNwmPWdU zP0oTTTkqLFGF+Y2#P;?Y*hKW`%B@(7BiwRe_92Hu=f3*Gk;k`!X)JLoH_ckUWW}9)n@te`+frlTl z-F|-*>EEQ$Z7=+8Tl2~vev^1+c1l&RmRAU$%(Bm z_n-LR)Ne5{2pDe*rfh8`Zf|VQR90XhV~rdPo4!_@&JG<7E>AUp#$7OJcz1RaDJJ!S z-R0WNv+!r=?mg@#6Kl*ehLn!g0I9UWyzR_AR1|({9yvkIauDv3P%Tyb8Aa}XsQ2IA zPn^BqHF7e?0=@$xcU4t20f=IaQIN7o`piLEev37NXh<@r%7qtnq+djGM%Ph{rK`pd zl?nzboTjO&SoE7*IaxL`1Du?-Ko2qMD}p+gO-D3|bz1$Y8f-OoK4flvGxK6wpAAN1 zspxrs@8B&eHdBB9X2S2m?mr)k@3v8w*2ec?NyQij%$U^{041v+cOT|q!+zVG(gcLFR@NS90_d8c>KS^~Hp zR`_JmGSUSw`D9WJ=+z3FPAmaVA0=>z3KFKBorj6~>Hm27JKui%nGZhd?D>w=TMld=92h_H%a^|RWY1Ck$e~p7wd05HN#&!DlmF)v;<=%*&)iI| z{8j(H7O?!=AO7m<)~s48fB&1m_?vHhvv>T+%#F8x@V%e?>rcM(?XQ1}uOIr+zwmsX zFV-ZEHUI5*dMB<-ufDq`xaHB_UPCX)C%nIU^WV0QJ-x7T%k1b~yzw%5*Ks78`}b&u zHs8K*X6?J*+z+d9D7)w4#yf2ty2A(dxVlURm!BN2P` z`pk#21eP{vNLx)2@AM3OK^4S+**bM+Nt3R-f_q9UNx;xWI~p@LrQWd-?%E5WA3Hy} z>b7=p4CM8+Cc%k#rudzs_rA08-eB+0bEnSi)Qw(?Ug^all7y>;^>PK$Qzk_rrf*L~ zX(!8qfU2C;uK0p9ROTz?Ds8d*p`DB63zCGqQHgo=!9-(qmV4{4@2-i;?S6A$OMWNp zH7qQr_XR$$A~!B%-s<%}otik;|7p+7JJVxGpV5WZ=P;y|kDf_M?Pj;5y;Nbug5VFh zZk>9;*z>huTS+VfO_X=<+(SyD&68<3tEE{FXqu%v?O@fXRWfk92^Tu71TL40fgK%< zTQ#(M3!4io%Xvdvgek@}9j?qGEZs0N)&{j@(?BNYsKbmWTh2_ZlAZ))2y7%~Bfjp1 z)uEn)B8l6`HY2c9sU^yYplsFF^v-Unk?n?znGlEj?P@%$cvMnpp!}F+Z)B63H?4~* zK+CClbHyk{c(Kr*&b+Hr$EpbC%GuqzZY2P+j3rUNE++0wAQ&( zpS+}M5wx;a@)k5e5?Bh22K$0z8T%GrEgNxll zMAc0t<$+qwVg+2?@XA~+Ad!!_9y1S{(@RSa2JhZ1td3av&AjVV!Fx4>$QS9*2-&Nr zv5~G3Y~`BBJGtxIS{!iQcshIa;T@0aD(s-a^@$&DGfI31uO$+U0Q3?yCbMo z@>+YVEV(e9)BNd*TB@Q6pxAh@>(Clon=dT&ncViG<$d<#NVs!j1?r@x3xX=#^g6?_ zBW(_(siGc}SmrabXc9CGGq&EIy*d;Q8GJ2_SOEZhe9$GbB~H;99qtRCTo@Y~QG^Bp zi$9CjOjcO+0v110^oC9qxOlQGbcdCN)%4@Wa zu_(b#ufpUNMJd=--0W?w zR8*A^^Xa6JldLwqyVaK|HC>i^KAzMNovPwq2dIg)t(;&qS*nGq(Lwo)Jk-=>6SB+8 zLoy)Ay3LI>So2=X-`X`YUal+o{0xW%2D(O@N+W2LA!kpCEkc~Nw}ZHSGuzRItL0l6 zCR|xTtoC8M57xSc~nQjAfQ)` zqOHjP@!7SZNHNfPSk)-6u9?-iV=3Uy3r-oCjC!BV8J3pN)jsjAh9 z-?@`FnyA*k_U_i}EuOwav=Gf}I=h`KY=ygru)-3BICPfoLVio(d80$el`BnVt(4F# zorWyeM`J~fR|9T;vyl`f8(}?KNiX9@FACIDK}S+-k8MadG?6%CP)r=LP^+YLDlkBwB!q+sa1(I z>%%*8*^e8;UE051RA`DkedMvxD9KvN3 z(4<<8vFm98mg$NJ65IxYnO#9h0(jC>(Q#3Xc&N-WHZiIPylRE7YPmu-;|sWxi&bYZ z42axftk@FjuhpP*X43AqklH%vxZ41OB3}kIT_K;MVZXI&Km$@-tep|;Y&mCe1lW90 zXQ&FSPN%mw>a|!ZHR+*;g+%#k>#^OH zl`^Y~Bzyo@7IsfKG-c4?KrIf<4B;{$$u)3z1WHBME_^^c+MOm7ZX#ldMQa20j3C!OjN+>C zk7s7@F&J1~7hI2bf&A4EFR)F?rKfF(>}DGi0IJj2-|pTmzWOH=1g$Xg*#7>mnQLDy zAfu;V(j(YWlb7q{)lbrKe;{72Bt;Hhn&t#CK$10+?MfjN2BH7V(lvmY$S7unDDhV^ zXU4`2!3NK_>FD0^zL!rW{+c$45A49s&37!GyCnI19l`Hcw*FWyoht6iDev(rbou(+ z_s93W&g1|3=+jGE1)?+iG<4#vmlB5qP4D2s)zqFZcRzJKb?wnl9i?{Mm)m@OX^lI0 z)D%m_FU)L3aFVnRxvEz?dU|Z@t7z@vZ|{42bnwtmURZdvf72YWed)`;{?6CC?(6aT zLc5g09bE4r6iHL*9U;~)4^3aQxp(^d4N6hh-{$ym{>~b0)QRqGZ~jZ6cUNy!TWdyB z8J)`iHuQ}zw>H=EM>`LH{D+?>4MRr3ar_{ZV;Oie5V~hyao#MbP~^!dvo(0*;_qW6 zZ+&ja#l>957E%eLtvr`+>2$&A?cKNEelPlbrX|L_c;M)#K2H2asqsSL^lrBrZ9V+? zxiwfrVIWfQRI#-1InRhRLt z`E$nimv!Cu863gN<~#n5`y}y!cX{pWCl37LdVXc{-x2tjSSnj0VMk1SgZ-ez^4U#S z@k{;8YgcVuyT6QFQ@;H4dv7eB*_i&&Td!k%#p$WA0ql`6un0V37rrhVqL}EDSX6JV zvbbDjUlfD%K2iMjp+qf)a_Gl1eFb(Sngc8 zxk=N1-}B@%t7=D}=tf(1-90!Oad|Ray(#P*A70*hw1|8@z=MC0aveTE%hAe7m|E^ zYuSMN)ruZ!RTQMAfw&E;LTw~eHh6qEY^kV1S*jSQtp4Rwb9+Da_-iZg>RIa>tN$fW zW!_BX9AfiJfBxOhKI$7^`&O7ovaen|@zA$TinErw-G%IYX)a->Oh2Ce?U9 z#OD7+!QM*qf!NYDGP?o?2e*ZfL*CO$&LXrV_ff&wTBd*8Gn=|3SipLI%S1wBhq@-- zn@HuENQ>dV@y|_eHCNV9v-wtAz(=`qpV@U#Fe0^D00W|_R02l1FYoAld5(9gHPP&% zSSM#`rZbs`9sRF0mqfliRXfw?81)lvGtG~l7#R8CrS%8&2OB`D(I{4+1eZo^*hzh@E#Y`v_woE76O&Z8tAZsy0(_qm{P$LVkR`yo8+^&pYHwISEXxt zP&MIBq*j`x;O^o|PPP!HoS*4v&{!n3p@Vf995g7ah&@7}8TX(`q8 zo08F!`@0V$c)S!_Xg%bI5mMc>f?-f9NzG}ec_5-|3Lr0afUIC=bIpp&yFIlzZ*ABU z`hv2u>Gp+ClyVY#VMbALzFy}DXs!wGrk!8Xn5}Dz3!{C<*-fP|=T*Z+4C}BGb(UH} z^1k(aYS?p^*3E}&X3@NnSqYfU(Bw?XmKjW!v$Pyx|5P zDH&0dvC1kz8o}7OL(^3{`p8lOfTfyoUEkGee>1st!Z%(mukvLV$wC?uu$JzWgeruF zw)gj#rL8P;%SHuXlj}kK$9BiPjm@M?7{%rd+SoIlZ*VpJf)+bI+^*zGTUxr9N4+|? zp{;5wXs{TPRr98Ds`xQhV$&Kl43G_x_otAGz8EPpT9wlVLc4)fqPdxb3E@QdI0D!w zHy6Y9phhonWqb}$>5pFN8UKf3daAeIQ>YP_*FGL{?$zp>oggRaKfNX`uO~~!7Oxls zaATkhr}HJh-LLO$56xe+2m|ZO8P<>--1o?}$u}*qY^;se*o498_32iOMo(pP zeyHd3v5h!Or$6KQLgiK^FcNur@_!Cc)+Q^bxgJJLD{&qRrSxl;i_C-F)*(HCr3CFp zem(*_txZFE(cAAN7~zu)cm&~_R^u(D+(zlKZn@22v@Y{dXSuBDSXX1S?Do`}I=;#l z!HeCrfydpGK&F;S8iia;FWB1rBl#GPtREfy*4o-hv%3RrtlMe>=|UP&Yb@pQn;cZG znT1g4)_kn5laiEXZL7#aR#mUWlR&Lm813(EF*y4UyBAmUssg$@{2i@*$+eS&$;G9% z>;X&?$s3ES+Xu!!xEMX|GAXof-`=~M%{U+GiZs<7XSxiGF#TR zO4SP29&r|!rqk+X>dCtg4V*lArPJpk{D%Gks>Kn!H9upsSck^@OPf)qEE0B;qJb5p zLF+{`3^Sl%c=u4bp4S?1caM8x?GBC`a2PS5a%|ZOWA)+DwhE&VT62CA?dkNw#jQJe zcDTnXffQHc=km6ofp++Gm2$Mri!a9-nOUN#E5eQ=tEX?-tOfxVS*Zh^Hg-{g5E<0~P!c4U4#V6|j)FGmUv&cHSr&aex>a$5z+-=fb}8|g~I zrz`3^_D9#(-Eb2|xLt#-*<#u58~o!-Zx6M1Rm&;{3F#utrao!kv9q3!iBK&R3i8b2 zotwIVC#tIM;>Ibz(F!8eR00XRkX?JiC_&|u%Pj0Pku5nU4paf!%vW;QT5jn;KS?6s zHhREuvU>ES7=+Xk2vM@s zEEh5kUr>X+Hfst5DNP~uIz?4zQQ|vC`eaq3yk=hXm?#C3Z^Qm}fHDw7)&AfTKY`u$ey*u zTDZk-AS*_*2~e@b?2<;-mkWZuex|j3M?+$B4ZzvvYKSH_lcp$#!Lz!!p$ij6rl89`<1ElubDcnZO*a)9S(Mw&%HYv zxMvJuGcW_Dm!~Kyj@s|PlUh3%AzZ!3I>|s`>$b(&H+L&OxNpbI;_dFv14=!P67AEA z^TDut{pLiBVa2ey?_e;5G|a8x%;H2W9!a_yUwvRCd1-Y*b4|T{W6%DF+{IaTtBlDw zqk?F)ggUf<(~UN&N?ZT>h4X%+xrv%x2#`w_%tnBa*HPGnn0ugV1*x!L#HU1~iY0{N zMOgt5LDB#K(8@4P%S~C$P9ne#=FSD!8D4&G%GcK7!-Kr48VCIK^-@;y(pWA(#kPe* z`@y`==#)}*=Roz{s1!oALoVv0C_8MmyqU|I0B9HO?jXzg^Q&I8^Cd05rOB7CT`q%s z0McNi_w%rbkL|B#-&gf0pW6yO+}D{`sxvju;DO1DFSxqfO4qZU$J#dEUfrVg2hC$h z;W~iPv0yZD2kzc`;M^x~{p96WK7H4Y4{vYYe`cv@A*->vUt4Nx7dtvc@-5=b}z&MC*6#7{AouT`< zj_^R~ri4Do!Z zUb)$J?_PDy*ng-aCZ$RDx@ixg&5d==+*vlP)DoY6K=<-_g8r)RFJ7Nz9M0(Y!SCFe zoGV-N@pJEX^!*1QeZZ`L%(UL^i+ug;oeJ&$GJEr*zCG&vbii-+t|v~x0#!&o5B3jm zHzspqJW1{_cXW-ok;y8Dmx6Gw3Cy~I@JV!|`1JNh5?UOrhw1;THhjI?6UFI9NwqH64vOY=H- za8CWXqdA~xDkmgB|7Bxz90guYrI$_Zk5iDXlss=FLj_8(iVmQuD@dgVc0DH82z{=c zKlvvV#G7pby}(5iZvR7N__Pu##bzc;k#+7r ze7^4Wxic8)mH|YA&k2G^;=VuTN)TX@Si1ijvH(a!qmtvLu{LDhZ#V_*iL31PwZ)$a| zjQR~aogFlg0INfq97O;SZs1a7PPE(lU6q;g@{8$4O+{TNS)E56syddS0UK*PvZ{I`b=KKh$KzWDePp|dxZ zPri5ki%)!$<@;}_v)k)Xn!5MH*M98TSuoj-?rt^B4w;v47xwSlovLiQh1|JY0*Rd% z*$GYFh#fy9Brf%@%)jU99Ak`58CrX^d&f(^eWtU!7g~CAu*Ws|$rX?Hn75}OgpF%k z*Y%_lRJ61%%jUu_q+Ug-R-d;a@K;bnml-f6iiMTS7e=;^MsMa+w0U*yQY6^k>hHlY zZK*h2t(fxVbR%AIyT%(__Qd^T)(vEa)~zRelqwJNt!YOy1tbk z*yokfj8G&RaUi7Kn3-Si-6g_YU~Tb}*2BBll`IxdZt|433gc+q;txqVju^CJMv<+| zz({MdShN7P6$b9I2NX^tK-fPhXIHoD?NgPT3|cM{T@k9X*tO>YL4bo8(XziE1Nkk+ zXcFgWdO%d_JeQW;9?@8pQAwST0A9cYGa3va&CV)UY!xX^=TYTNcIQpwy4ui=*`1(N zo2xI>&9-Wjv9o5}k8YqwQ$vfMiT>R;Lw{H)#B6%lwX<*itl8O_kbGuC&Vp)d@%5V~ zT9DJmBfUc!ENpQYSZe0Q8ckRMNOqcdPKrsAmm0N+TWhJ6423D>@@%PT>+dLX%79%) z8#GQiErsdJ+fi$dm{ZEunmP#ymY#9{%*}2|j4SG*PdD=ZRP(-;eSGc@$J!pbo?i7z zC7oKw6biQQMDr-7a-G}ywUu~k{W=d=4d@9U4VU>02ikH%(~IC27S`JK^lrb~0G{=; zS#ZSStTY*^-9y#ms!eFYyJ)xk>$zJ`bsw%|PESj#VdqRvGiJ=z4%IMur_dE_Q#&3j zZf;;&Uk$o7IVU_4adS|!fw5fUUwHKY5d;?i zk{*P?uwVC?cie4f-Thp1l9RX+ArP7ZrO=iZX-kW>{ehnr3WT;;kPvshUZ+@-wJ1IqpmVFP}(UjqYMmLohUJ7XP!d9T8CnG^? zv5E)N9THwO?;&0DMuM(1?{C&#tc#cH=w84~HWyCg0sl<0xi8>%Ho)2Bvj+#B$|oK% z>&XACJ@aY#^JaC$v+clo<+_YiD@bn#GJ194W_P&j@>;aV;*+@o*TNthHPqY`*XAZ* zbI^e~dOM>SX)j6m;(X?|0oc{rp3J7Bm-0n-E}x1+Ic{|@7c4%-Qc-eA&Oa91<{L~2pWkNcQ6s18R%m` z)x`t#Y_jMIcHmI(+RcUW&d{aV#e9v!4U~XF9eo|3u4Y%FlF_1LD##~NqFt#~K!pQg zxSEgQPR4?Yn$?hqOk$=MlAx=_TMa#E^{eqsSg95)E(^w6ta_=EtY(S{k0V^k#c+5K zlCW*2($>WY zA|aA)ToI$$G6~kDsstE?`6)DCxz%jAdiym5<100Hz{NMXBIz`WVnfbX4OaX4kFFgU z8Y}~)Y6cIq1ggzdqt(qd6$7bdw+bEY=<*5@2!J*xF||5B*c+zI{e)N*1=vnn%d+eN zL4rb6h22P`WEDDhxzyPo9UJHl27~3yqDB&(0i)UA)kUq+EIBR4WLEKYA2RzYssxeN zCP+9V8x!GPcF<-@SV`DGQjIvH^T@`BtO7O9sqGwuLaLZVb?CiyJey zra$|IPdVu|Bjt~7fj!%Ujp8&6nh)*vEnK_GgoL_oC|B#u^aZY-tn9vW}f zvw6N?^B`GX%cf>&W>^KG7MTtiv<#Mr99&F(G185iWf(uVqwM+ z>;@GMlq)#nz!69k{Up^8L>w1u`Q(;P1PP=}GnHlytu!Eq4U!=zq;p2IMUo5%O7;)W zJ41&{$)qU$dF4{6S>zA-d7sJDYOfI(^6Yu-y)*;^mEZlV;U9k{-ENe>u$%hh4MC8# zzqwbKe@ps50X=R;j~@068LI)av}vS!I=M4fY=3n!`_dFzRHO$7gQ$TbjfmH=8$wJl zYD6)Zv6wN+ZnOr2-Ltja5@WHc3WXCqfZ0g1S>iV+vq2PfMCTB-Y!BIL*~EGw{@V}J zUw^U}^Dy5!K7jY>fA1tK0s&Q<2K(^vsEMyaU42B8Q+Wk#G^#981pvF;Xwr5d8@WkP zs0MjTiHrfusOf}kU{sUaY!u72^%`e4`2Y;0>y?z9rW<$$5)p+IU_mjNN9v-vt<3-_ zNVq*ztQRbd$KRj=;chvv4t=*7hIXgF=n& zj&0?wcX0d8GABBrMz?)Musu}ClwbDII_u;zy(T#H}cHj6{x;D>+`lYM{rgMp{IwRq@@X6lBD)uk0p%vUL359sR!WA7A|S z{RbXfJ@>r2J@Edy*YCDN7kR#CXy4VBZl0jfXB*tW=|6m^>i?WfeJq2eccY`AHIEWH zv?na68uun9Zx*9`uy7G&;Imh|L|=xNJFz9=*oRZT_>~t{ISn~AZV5oZzACKk1x&n z59LN@8DnnmO6QuzCfEhEN@T8OGL_EB+iW|3JoAHn$Gf#N?>D->nLGRC2C*kI`v+_A z*ki#%Kc0DS@4kyKo$te##!)Qz$7>&WM*0&H=P`b%fAbIPFvI8F2Or$UPo^!fX<>aG zrC2@5Xo_YS?7nm(iz5MZh&x@myajackXN>_MaN(@IdkvW7tc-9L2bQQ zd>-^!%oV4au=Ea&uN3mnpIHqA4<&)__SVluh3|pIgH`#At^I&$^&S=ECEInPx)&$L zGmYQqnmg3kpF?MTOfV{z_Y6Cb#;%y((a4_V&5JPrMe8=yhHE(8$R(c&ef62O|G8ED z9&5Q>XBb{q%IP#^Y}*n3)W!LqYZwtk`zwICS-ob*9%||voc6B7RX4Ez1}jE}H8pBC z0RVy_5TOjD&_=nqR|@$r_;AJe`AfNiAHCVT?Y3x{v_V{K`null&dqM%LA?Kt{mY-M zD$dK+g^*>KG!sFXNy#t?K`=u@spvY<+%)Pvkj^MNMu&ANbv=3w4UFS5d9^mKv}-#UKU2p#C%<(Tg zwNh!4h*9V${ro3iJATI#?eF!&+uxY{W%t0raLE>2y!;a{Z8%?x&0I3?Lt3V{-nm?4 zpL)#u@h702{VSukxiXH-ElIgbK3Ma7rJ(^Q&O{-y-tBm%i9hEid2J zKK6?@zv~Jd+hZ|*JRO&XE9Wlkb{}k+yWXhG%NkH)@u$dbi5{-AyTgdE16yk!hy8a? zL@pi(9w9YkXzc3gGn>0wzL^o8w%YDC3pT|Zua*Qs+8GKj-C9)x0k*sI}Nq(b&y6&?0-YCWV5b!{F?{A)eo5Zn22szR*I+0v$1#iO%ut`pS zyqS1-xXZImDqLv-YMypc%h7mW>+xEVA3b?j0c^^M;&F!g$xBmf;XNnXgCY~8i?LZ+3~l}f(VCwsct=K5 z64H@68Ja4dGeDr5ZpLsdu>AThCX8#GA~&hpf-1IVX=E8skXhVjwFodM>7t>!g^CPK z1FCx2(WD$EBP_r`KJRnv-`!A3CQmfFw(Q!zXI@E$#p;7Qe_k!7Ol>wBmRUVbXVt6x zjU^+;szS-o*WmR?}wLLiLlG!q48x)e2|V9h2NQJ@(^J!~3j z_)cyM@c2Ts3bnK_8joz{I0#v{Z3RG^IaY<#($Ci_`d!}7!|kwI813)$BvXk!*3Oj+ zS7=D@=mIvfD@=t5Si-0&-q`RCIMy~2xMGY6$&$l@V98>ly4cxs{7mte_~L^{j?k%S zy5DVrZd~tg+0}({i_-K0@O(G*musa{BgmoIsg2ga_J%#HE%sRS#rejD34QpmHB_j> z&Q6gK8H@3+-yaN}>`Qr@Rd!pD*Yc*MtD>z$DH$&=mF+#2 zLS+gv2J~J6i=2_uh3T|9G9s6O?ribKWZ{#C7e7T2o*E?WvSUfb#X{2FHvb>5KYu9n zK%~Afs#?wbYSIPc_=3V)7||MbP_damb##0M7e5^CFdBHYD8lAa92pq&UAwa0+wUeR z>cW-H-VjtN=Y1|K*bZAfEjO+&dc%IkEZcpI+tZ`#b)9WtAdmyna3c>G$+GUK#FAd8 zshXTOTkHT0`Dk-2aoNI-4RpilMwTw}R@O+MPOpW}m8zhqI79Y2UxG!oDKHXNO{{Hg z>uKY8s2YtkI(TJSJF;V2zL>DKn&XLLfOUcd2U(RM#%-n{d$>KelJmBBF&ftdFu7Ln z_t=}YtfUkFUq1w|%ZEp5<4?=}RHJel7)A636mO?b{0aOKQ z)2&`pq3PKk{P4r~4<8*)tu7WT5M@BTRtiPE0nZF+_S~4=^jf>3vzzXa4KqM3IBR0~ zwBV|5#tNxwYselg71dg@ZxFXJp=2@xV?Il`y=qF2K=8z?yP9;hz#u+{b?qmP}AOJ~3K~(Yz;5QFC zv5k5uHaok}KRRr)8SlP#;QB{rF+y;Kt%6i(G@KiGp|7u7PEPdn8#Q(Ssude$(CD&d z*V44&o4j=)++$>o=*{a=Z-0TL;3jG^+LI&>EJx(N4z#6p7ca;5HTvP$w?rW_VH(`Q72&d9ed|r%o zj@I&PFwzQwO-V##F6Q!dH;W02-DGC9d$&Qe38W5CW8LJ9CAG^U{LOLv)oap2C$K;K zwtjaXq6p$d0{QxWuaQMKk;k3kV_z~`&4OD0oMg#)RKNpzGGN=cA2@W(eyrq zZ6yS&i_%cR<_Ky!1|ukhxENCvf?!#0!eloI=ebIhV1lv;)H17#vlY_$TB%N&JbEpm zz(iy!VzJr4>d2=bFePFQqn$narGdze6{o}FAVsYKOHDKKXnoS3%N%w6C-dwf1OpS=Re29PpVMWY*xnhZ|NXDb&M zY11woF$jfO(b6d@g{_&G*KI3iGd9#*h)EnCH>e~;yIR}8c(OMU%bDpirJ2gqu$8qL zu-Wx1ykpn~BgG0QXCjl~9w%-v*))okPQOxd6-SrKDV;nc(g zyX!EetHyMCQIF3+;az-s9dV7;buulx{A$h;7+9Qs%Vu|C2v@D@tu6L^e1(svC0qqs zhH?<}!W-9o_YZ)qJ+m-jHOd!b-aD|GspF2xNbKdamydUJ_3vNJzEK_D~++pT( zQM$WDZGZ@aLy!@W>vCfYB2ZPb!L%%AA&4<(sT_biRMrkkB-w(4;sRuE6e1uhpRLQp z$S|Qul}>;riN(6swUHAJ()PHjzTkuhdo~)YR{mrYNZ|nNy zg^$icC0Wvldue6Pm3kP6fjM;g{c^&JSbQO+g7B zhXNIfzw+$%9W720Gc1TxRkU&2Nce2CVsC%z^r>U!f$=akJAdW#1WHKk@*9b3xad>$ z-#wf7&l9`fm)@Q}^}y@t-~88sfp?( zzr_aIX%t(|H1-Dv*q+JR(^nmB1GTL}s?;?2ok;50*U#i0dh+WJ2RA?b-TPyomVh^o zY=0oqa6EDN(_j7W9s7?y^~hE1?7VU*jzoX+7dMIKda5`k4|!>YPh5R@q0#~Va`+c0m8-n;a_FADzO;6^P_;&e*Dpox z{ClTMI)4(|5FcCK6(4ElhwBeQwL7H`oi%C zo_zI%YpTp^k#p$ywnifN?D{`BeBHwP*G=Y=$(84xj;;m~NMGv|DjycQ7k)Fl)Z%?2 zrT-}PHp_7f4)RAfY(`W+!b*b;^!NNk*kwCj-O@H9-xV4sVdky)q^-B}%Om~nYGV+{;9XmZIzeLGcB>%Wt**W z1X@h5hT_Sr)9ez~Vz2kK{y0HTNs2@h^>o3er>2O0mqWplWo^`++$u;KGiifA9h-a} zHSfpZ3I+GxdjxywV~N1Sb*O$9Iadkoez(2|()CMIi-b=V64O5P?@|AoJPK%>LCVWT z@ih#m|6F(<&~(U50TP_&e`zsyHT4Xrp%)kbe-!Iiq|FQ!WANHYAl%$|Emf&Q8a&|m z-!1GH?TvJw;l4k~uLtCZzBF{tHzz-(BI144&>JcL&)1*6GxUwR!fo62la<+*!}}fu z>!iQWSlbX05TIy`xz@XJkC){0(UYGqxBZf*SH+kCi$exXlMQ_+!K+^HN>g{Z3 zs+io&T8*aA-f@_#L5^N9CRHM{<9m-5YB@1-gHfH8c)46^3+#h3*q{>xveK$jRuuqhNP{Mj`q~_3axiWyA1OG4 z_S6bp9@m)l+_tU1cFl;dX0Tat6}kZQa9$;Wv2L(`c;W5C#^L4PeCIn^ z#5)wtyztDg2X^0CF6;PObGAHxkNMGme);E9VfOIRPf4ry6mu)L9{@AUl+Tc%21n;6 z|FqNpmmRH11&6BT>h9Y<_0fkHP8>auir$cQ831e2Sz@3qjcuC{6$`^ zhbbcg`kKVtE9+BtnnE8pGZFwKi)kChVjz1Ugnm#c=$eM2!!9oIs!**~D|dMwlJP5M zll39jeIAePz4e<`i!CfI*jo1dYAt$bfIv;<`~=9_$zse%_tbKABk!%^VV}-vAYS$o zNMjwtp{~(;EwxxwQ|Dp(c0;qox_6`|7y7$*b8Av*iQqd+7G*nkw#ISuw%yzGdI(7V zH-X=sT}emdh|5?48x^NDBQ1x^m0R{bU5l4cA#Ly4g(kD<5K4r|Zcg1Wcbnsjq6`?OiFn` zi=R%?4?6YoIyMh(5g5>8HMTl?%Lb}Dktxt)?khJ^L4^CV_60SwY!Gu?o0gcKM~4Dzjp$U) zngfTVg_-0W<7q(~nYiEJo}?q~#rJIAO*93(-( zKoeqs-6K7?k;xooPZF#}Xxx;e3^N?AAmC)U#=*gQiYjblFHFNs-U^@t(C7?BeWiM(npk>Xw7CWHXbEnm^=@RJNjS z-VSx|su`+Q!k+VL@p^q2A33W09in$zi;5tSoxwN67H7R znaIYz(2-(YMIv(-4(=G)+>F&JxV*eJ2iAInltHDSHLf99yZl)9Ar) zpPZZ2>y@0O0Vv(5=!v4(7G~$JM%*FKi_ zj1p#hdTW`qwqkr$(HNRh?Ja(?x|uA&KBA#3LWkQLk0(0=HW)KE8w*`+#I=uNW83@~ zYgVCBz{!>plLm_&H`qem*2!!0j*gI%HHSuQEJYxV8Dns?nvCz>wx^a)=|)yH^;IJ0 z40gZG0%>vyFbW_9?mHa5JXPD>+A)5}E#}iT!NJKHsR3#r(HbE0v0E}-L8)!ETuB4z zXntnIbjQ%R*J4s?O}Hd=n(LF-Z_V!5<`p=n%iRq7$#ShgS_VHjb>aB&9jT^~m9}g_ zhg`m?tKMjS%HOs3>TK!2u)R^6%a+R9+Kvbfb19inj4VMSj5BDmBqhntH}WZf}#=1xJ{SK8ikQ;xPRyNrE90#6lG>jgECbMDtC=B z=^WrNDoab!@x$cHmjOSc{C|hhG@$$|t-U@Y+*XsmT-2WZuHl})%KqugM4m)GxFYxV znSK3^ZaL92iWDHalq@?L4)=A6B1h0B2%lv9{d~{8lmNedYgt_`m~u>|;lyvWA6&q69HYQ}rB_^_nhj zxxM3gE=lujDg7eDKEWWda*l^2B)H3(%PCKP>r*B-JbO{{VjukUjDFuZ3A$RUnFYqU z>r0>NGnkLQ{JY;A?(4m9?E{muEv*(2MI77Po^Ku0>Y^23af0TPSL+Z+D!OABlqx+= zBnd|+FcOv>3=o^DfqNlt39k7OUTa)9ON{h_2|@OUQJV#5I$*O~#$@%}G87Jif}kNR zTF>gN4XC9GQ+d_7n~6`MEjw2>Z+v+3#)JFK6Z1+3AXq-Vef?)=LFDc#oscDx>fUo# z>9ky6lc@LJ)&*~1jQse*HD#k%5|{grJz8zbeY@X1_sU1*dMlu3K!#ns;WpqI_wpl_ zP-VWLIA~iex0s46yu~9)i@s4|zxi^{NLYRc=NX1t*0)(bm!r{b8mkTa(*V8Q&)?t{_f#YPUvtr zteyRrB3Ji4c@Pb8Z(iN#IrjM9{>%6O?XOPg?C#9C{x zGf$t)7xLMy;+nRSUHKS8N4>@o0U!r@s;e`y<76*beOtgi(76rgXy**`$({!u&7PO8 z#6dHV+0QcCBdvwYhVQ>I_v3%KJD)r2kPg@NE${|>xGP{b(`~hY z&){yZz`+9_#-qTbJp<=K<7w*7KHDdiFS(Flb7iLN%@Pe!p+=~kcN3!HiznNj{=s)e z-(#uBD{kz8kXK)p#=+!pqxnL6u%&Fh?fyXi&1eg^DY34Pp|0cgnY_{0nL@sc=8thO zLHh0oFcn74=V*l3ba@s3#`2E^v1p*%R1PZF|7i3bOJoaX%NH0O-4W!@7w#q%A5g9m zP?(iYh{gyGtzl||o@IiTUV`R3V!qVyr6`(5~5Z$N5keICGTf|z8@52?*HvSp-Dds)~> z7z{fVY$jxSBHpY(yecty+EmlfCNGf9?oV?`~!RSs+mBiyLtb<)7$lqw41VaG7Qd7V2I! zQx$;5pFTPN7d!8(2qiT4G-m${ZJm}jLm#9eHM=T?^@2aNs zRJklQYF*wQxQkzZKIYj?>zbf24xAmV<}ud+U-G?(Vaz#q6>K%FOIg}vX$Ty_5QY+- zM&Nw%VgXcJ1W;~00LVn0NTKPJtZ}%1w0$db+Sb?UYzdkKaAm#F(M#55Fz>!?+4UtO zut8bvDJ~xxao69u35{;U*<902guK#Hbo2*bcAa|ezdIlAxs+eZX5ZQE`sY`F|L^V4=F^2TGU{x==V;~$lupS-Sq_j8{sQ`0syxz-fP%E0{G zcghH{ujOlMJ2gzJSK8kB(YH7M@jDOe7f3_Tc8mWH+nJC^3LngzE>}z2*S4=kx~rB~ z2Evadk#ZxOU{LUZ2mWp@vb-p2L2nHqdOw+Xw{PS`7i-y!r8A|AKF8f=zEd~7WeOj; zap@VmYe#AJ548}UZ-6(?PYyAEyR8q%*14)^*csYIl<>&_oLxDi)wjpj7Z_~s)U_+M zTBh3=cLf8Xs)!mNo?L$SjcJXtcKANh_hSP zvhhyFB=P(rwz#vb2oLw~gk>n_l+4_yErtnws?X3}v0>Wc1?#~vami}Rs?@Qsu;ncd z?j%$QL~K3sp?X8K9b=<6bM`&cbQ z<>W1!u_i$E_{~h`c%T~DY?=)YLsB=m_}FIJUG>$&Rva)|2qT6yb`Msz)+=RTz&fJN z6KnC!AYqrl5y%)-_JcaM98tX5%*6uN!yNCqttx!L2~4N2Lm;z}>YRi2 zYQ=62HUzEZO~GR`Z{+l9eQU(fO=ahgd&&GpeAA{{3>%4SkVPSIa=zK)_SB+z1f)`R z*)?J^HStPxy&Yr<=FanSe1x;jlgeXGrXo_-&=Yz&ep8NgH#}aJE{QEOa($n-$AAfo zLc?lnk8Hke?>Rw6*5{%24ze7y6MS6NP2tNiJP0(y-s4Wam`7PPpEohB;V^e*Ue7oE zpM79t?xVA<9&Qz@g$fKyRhzsA%&hnYkB+?UGViw0x`F--pwEz0h_%uAw5OTb1W~ki z*prD+%_{mSw!aLfGU`0;jQY<0c6E2z{P+jfjb){7?A%+S@ov2e&isH&~lXii>P ziRJmhZloyzA>Z)k+M+)^WU|W3a|^9rhn3izoiFX|4a+$14GpZ%Cj(&ztnZd2vVY7u zyH;9W%Cl~knY@#C;k^jJgb&3OcCX*4`Ep%3;2VNL{4-sf{AGlkxOk||hf zTk92p9PA6cb#}wS5M!f31Pz28sZ6qo;-rrtIn2JfKBcRID!7a$GmZhC9z&tPttaPb zHv-6fX>+SBhyl7!E^U>BOs9XJTq~|eHBY-Hs7@g(+3C_$gdFa3KqeSy!*gdBqfN?XDLR2uZUhrp7M@gN~Wy%&z@Jz9@&n;{mz?GFAp}f__I?Y;0vJ{b(~+ zZE6%A>b9#|BfAy11Un0f71Z3v6-&XkKq;}jI5kf=j@Fj0?;LKKow(51H)3Isa7XXz z^amj8Fc>YdjcPHy+0%_t1l%mC7OSCJTQ{1wn|k_l=}37aUI$|C_CrlE8C}2S4YX7w z*@&5{+Jeb7di<{LmD#JkeJqCP@l4a$J}flT&ahV&Kwo=rIkn*oh%0=X+gKX!VdJs& z;Z|p&karn|;OhUD8b|nY1VKd{HWo^oDB7%4Rb8Qs*6om1lF(KiYBcIb1D#PdOR+xS zcI6u?32GPyX&O+WZR54v79`dw=P=I;qF{lGTNd8{n2(|ir~+l&WNS8Xk}l(f4#Oc3 zB0w#vY7pz}&{PaUWEG+eR0m2Lt-%w8H_kh4az}%7TIG0N1?u9&gb2%ee<#%tl{pYZQ8EkxO%Ns(5kOE30L>UF!!WAJiop3`5P@(&E^fI3 zhz_?%6r0a*MrT_EU~xU$D6G)zC`cHD$~6`A6)FiklE-WmSFN!YHoc&>>^=agWloB# zc#9%kqu34*hSPB&(Agf3CPMCRCEx-0k9i<8JdRLWsm<>*Sv&F^MT)Y6avD9R*y2Vm z`W71)(>1M_lLJ1YSnjA7qXxGp83)aVReNx-S(!Hb%oH`KN;PkvO{uG%p*LQa z`$GAPWre{#T8yl=nERB{n$sWvoI$EjfT25iZVKb!azgO$*ajwM0T`9jtC-!1j*ozp zLt49u;bj#^V49VR1)vgzd@jgflnXhCHpu$|=o(j-tW1Y(ZTgA;mauZkkK`T?dAueo zYe+Biw)oSRM|b$2yYTLb@w-?bUwZDfDFK>Smv1jSez{P&r+L#AZuzojdusYcL;e$o zTWdCN-PdVf+LBz4AKv!r*=r>pGC0UY(e3ix6v{`ty6QgDw)JA2ZX4Kp()8YoU;WHe zUwi)dCmE)+_>l!gY{x3)m!?|oeei(`6CahgKA}wa;EVt8Z|mJQPqj&mS;tjY8>*cW zRf8%PSabezo;cWYb*@yodT#6MC&pH%&%JP_;~SruwTA5D7S}T`p1yC_w%GZ}eIaqZ zX&c{Z9dPnh0}U2)PxbqjASYD@N8eURC>o}RK=dykH>QHz*sK){D+ z#LcN){T_$nYv&T{ADyj1XfxEVwGpKr6A`?&-`j8&cW}}<$TfydOlIn}Yu|m$C;KXe zcpE_{gP<=Hu4iDbK8tX?FEcP%69-l45^H>+SD^sgnHZ6MmZwc6V=V>M5q3a%@zKENbJ;)uY+)p9U1o-{_!uL1j?^P2|6CNjR z+s<#LUB<8G^=Hf^gy2W=^0d|F26UII=u5>Pggd{O+IUUnC4pQ)#0msCKr@}!HW6c& z8FC9Kb`SOBsq*WsU5`YkWJTdg*k)w%`K-tbDxf#oO@H~br~k=q?Km6xwV`j+sdtG| z+CrOb9e0S$iE~2!$DX^FBjvFNEYbI(bePy{-p;9D`ewyKJwd2gV%=$JZL6p{FBIH> z$wlMYd9&Tk6MccoMtNbLGYX2;ECXd@N@J|j_?Sch03ZNKL_t(@glV)$c-n#DCK-Uf z_tG2RJbAJ)8^)Pp?ZTu*H_*5bsy0({#cpJqt4-2kfI!IX>*aJsZ%|XOY_f^eWx`0b*-n#!Iqk^ zo*EG^{PT|`@1y&^uzu#v)+2*&JX38ku7CZJM<}{aQhsS=?)%{nzy0{<@0jQ2-udI~ z4<8S)%rHK*_S+NRntKL(e&*MYc%MASul4AY>M7{N9mA*o*XVv4|I@4g_{U4f4j!}p z@^7ByHE6Z%d`1+Vh2ZCZ{nFq4%YTk+xBlj*|2go;W8WAZd*gJ^d$0b_wy*x{yEoH2 zyTd-+ZU;WR3@;gTx1Fm^o_yjCzErQOJ{o#^`jW&D+!ufRt-~k&A{kj6hX+%_z9r^b z$adnWxam0h)b(uEM-Z<)_wI=kcg<|P&D!r0qB)0$QCEnXtCmj2hWZ=Jo2@ytuNFUF zLWz69T6o{zoWA+{;kMqz=n`u(ygPk4*t7lp>n{U<^%7Nk@^gD9Zz-|ZG^V7IahatV zO_xyGo&xI}SHm$|yJc7`E-~0`X7nt^qITXgKznC}$eP0YDJokd;^&`xzMsk@kh(IG6L9b6{*C8poVkC!B!ms?S6jdR=)3OTSaMlROi-A!_^@aH_xa{ zYm@R=T?lHY#lX6&34D0{16P*}A$M=Y*ZQ6PS5`Lrjt!O9gT3C-!X`VL=?y7-E&C`JD?rhiD?M0y^qGek&^NGrOZ9KP?Y7pj@YGT1eRn6u* zGL2;-^)AQlwS)^YWFy?o^&F@JQkSP|EMLh_&oV7`sR`!O7KXIOnsY%Hc;n*L18v8a zw-nTv^ksupYmVi58kSmmW|MY~=X1b#7`q@XuB|yn+YTD3Ie(v&ykcMJ;rqG14d<-3 zIA5S(Cp=x#aHC?i5sS@KUr4H9*kA}cuTUw5ZjYD19UiQv6tS?~srhot8x|8m-Y9ON zyj1Jfd`q?XYQJFslB^Hzie{Ecv3crd1=~*@Zl_i!itl!@7-~E;f;%ooR%Q9k}`^e~8jZ`{Xf%)N%5gbDLA9zJ_v z;b2fnN>K*Fs%FfjbKKG_=^X--OOYfe(Xx-VpiN^#xP}0^VqvtZdQdt_BAE}S(mvZD zqBL_NYnQ76=?KBmm|_m3*CL&rO`Yczn1@l^9ikTIN_Gpm9YT8!JBdUX|x@Gj;x2xwoss4HLA_4l5bU2);30AV|?kGO(2aIi0ou znWSt$;}Gt**&tQJqnnD;Y!xeVLoYN1v&~f<+ZL2dH7&cU$=K57+VC)C!r1BZiXRA& z#`?-;!9eP|j?c~IBu3!@8rI;6n->B$mw-Duyk1cZk3_&L4O-cIGj$AS27E$ed7-lxK*&eT*;`u&K+D+446<+ z5^c`$Y$|f@dj5{%0SJ{HwDbCW5X~n!))N9$ z2`3Rz6j(bW*HbiFvwBSm=mJ=rHdFyD+{jL$m`mVv1VSj6OII2?NFp$-sXT&+GM4~g z7DnB=#zUxm_}KpV%;mAY7=!?p9EXzR(LDyB(%7n4Y*0cY7!M|0ohL0M|H5f$TPIZC z)Mq!9;TFY5({n5G_B-(Uf&k+N#%7M*Qa!Dz$P24ib8UONMS-CxQd3n;6+wuE^n@%5 zAi`*JO#_TDiU1&n(WE4lL17k#SxwDxVgLq3#wyh~z-%+V|zFiOKjAgA-cBoE@DPYm3?hHLI%?gUN&O2c~`JCyL#1V z?@^q7uCZt}S~RRntFJ%?9zccyfp|Gb0f=2-sI9F_A-@5Dn-C{$R%H`Ls}evlMyUZ- z#m3y3_xFr?~Y}nI|oN4K0mtmV6DXA z-0bydB7^rHL&JU7uVi+NHYB}{sX-b^Rb;~6HM+Jabai(E8Vl0dm8Gjx&u;C7A5L%~ z<;Hs*dqzKaZzk~B6UoX&RV-NPgAus+&Yi|KXdyBH%V=XGFr zAIE_8>eVYKA>cNv3e8|d8%kB(UKLD7F;_@6hS6qBsi-guG!xU94VPpYZDLZhhS+i4 z;8B&DzLAxQEEt!x%!Xn|^n8WW0c+n*o0BS?enTi>m0<{7665xreivDsx?V}b_uoIh za^{_-8D(_DFn@z575TXf7mgZDcu~H|MdWmbSFqc1^~;z|Rmyy`e(0nZ`nbl*)FX#Y z)fHv6ie9@FhjGKJXC_Hm_RzRFf4$wHy`zGcUikAjc7$KMwY4mP-FA<5v9Rt8#@>H5 z4m0ZRe;k_pVdS*7|Dh+Yz43=V4|>jP&2xV~)6QC2cI*Ss{LxA|7YfRKpL0F?(e+=P zc(Ag1a{Me2KfB-`?K>+7#DwNXJ9k#OCGA z?Dl()AG~qt6Pjh-sDE&D?>4Bg?;3-4o4l*%eu#$|pJy~;XtY@kPyOzDPyhXWr*1AC z>pr}<_wc#74^AHG)c+qr@Btv#K^O@8^*S?edY{>uo$Xz#Ray0JOR_CnxEE}CJs>{> zLm2}u!$eYQK(&P3vug*e}+ zvm1MUz}p`*mG1zKi8XV-x%J+&NrBUjOywR}^>n2u;w%Rf#ZdAISeZr_)d#(wzB!GHSj#!qdIaDGO#861SA!aUTrAX7RvVV9Cv*$|z)=Xp2$%+}Oi{fl zDP>paKp}ap)A@r~?Z4C_R|4J%*bfxzOJHs1N&2L~SFgv3A7_}Lr3XX#A-w_p3r=Rdgqb}RGDHmGOM zqx3i`Cm{Z(KmNCW_~zeBx5kA%;nv(U3#;)mrvB*s)PqMq--Rl)bLq;ppZSd))5tqw zW&7ITGA54AuTA~^y&czy_CBlk&%gNo*N^OZcyJF?Ek6J2pVw>PvtRqy>{R`M!;Xc? zo1DAxKNqe&^yFv4F3bGHtJ&h7KnwN$U;p^XJ$t*`+3`DXKYr}X%-Y2ZFa(%@9DC`3 zBga>Bmp+blTbXmT*?IZAxNX-+puCL@jG_pp@+Wn-XEt1x9z@?Tp8Wmx>i`V*tVJhVo;PmJhN;hVGuLO5ZBhxT`bn5 z8dr`ja*nL5N%#Al=Sq_}Ra`2@KmfUy+&~(ox2todTG3{6WXmE+H|((g?Z(xi_WQ2Q z{pDI2|3t|9L2*mSd|@B?H5N4D0huo2QbjO^18O#5%yulL7B(FpO5es(MK)-0E|>mj zr4Nq|JY8*6g3C-wl8iL|&aE^1H?@_jR$B>}EJoY-5zRSPtb`3HR!tS{0pr=Tm+t@i zFpvsz$eYWlouSp6b`x2y)CY%-7?^-4M%-NYPtdZ;u*Xob5%V56$nDK{d4JsMZo zu?1Qmf7$3gT5O!Bw)NV8fYXe<{_6O#;~nWDN930}v|oDKDBe}VO*w3#`<>iGlUaKl zeJ~+Qy=Ju-o$cAysg{+0`|yQt9e*zMk;T?=Wa$3Vk37|gE>>PD7K?#AbFPs^1 zbuQB|o1_USqk#6J2s2{s^~4*Gj{JQ9u@W|wmkH6RD$BH-RzNq0>vqy=h7yiZzrxqn zxp2$GQnl4kvbXnDiq?SBZo|CSGDW*?k2~`E&?dZx^ zc~{abbtPG~jkI|UgeAYu=g{|H$-`Yb)VtC>YWKET3FrB>#E##Vz{I4KyI&f3r9qINbi&`b}=I`4LX@%;2g!~Lkfc7so~xOb7FD-Sl-lvAYYQ|e2#a!`l_+S`_U`g=rLu%O@6Kd> zp;We3N>=&d_CPWpB!DWQ!RC&(xkPq-zS7gtYO(^Nj5*8@#n8i>wt&i7S;ASaIW?CE zg-JgHQ6}rP>0GP1Ua5P0*3FDbsE7`^80~Wwv6^1A7}?ciwOJOgMc7ux=t}JUuQP9N|>DMbATjx z3t=f$S7v6F-tMBsz}#7?B3jzz@8n5#dR_E*f>vY0VbDz`5Jf@zPKr3l!*q z8|9qA)@s56)mn-qq(IP@TU;^@`PlNsrGkC?NSIhO)v-)0ne86l!l!PRDi+3yaqK(} zTI~UCG0FIht~!7kiMo)kDg|k1uqB?Urb%e0C+exPRB?%VSw99e0OzXHv@;=5RUH==eW)LXV8R~^;t3eRF7E$EO9O`Y9vrc=z!cBvaTgT^MK*8{Cxn?q06jf^#StFps zDz6ciVS~x6C{+;D^O+UGM2S2q$VLSk5^M7sWE4bEZCsWWnlZt(vSf5H&3aX9u22lA zgC0d~YNQpx{UBlm!KS9x0K{vtB3jUyO(fe!I#5kf1SMPJvm$Ocimou(teS2`Ge!`) zbc_Ak6Zi`!;D3Kq#gfQUjQp?n8!tQ#&7FthP2K6He0rtg1j}{0)o-%3>Pl6_0yKiw z6tMxrkSHi9rlMqv%qL*n3(BI%<#5^sC=CcUtFowTRtNwwsKho(Fk&$p3;@LHV%fwP z*&3m$h{e@itLk8NR)@`EZJKM={Dd6RY1k6`#U*Sl`GLo|DnBiZcYW-`dbHrOH-3Z_W=pgTo$Ir8v$Jx zxPk^KDo2<-?R8!(7b*e=_w+fV^RprlM*uKh`Bi`LAV&ctQq9C;p3uPA53V14e3+Hz zLx2IqO$hCU;y3ZO!62*IAA1UuRu|?cDZELwnA3|1U;Cj(X4>92Tv&M(`Mj}4- z=Q6pwCPv$X8;a?)odBzJVAD4}b=8@QB^;Ky!W!*%k7Ud1r6y|f!ndccjtmYIn-;8* z=<*s^(7Z62=zI7+y-bQdn+@*H!@HxbYHf)GU7q1h%#vJJqR4iXc{zUT<{NpAaF{>! z>GtSlNrFk=?iTLcd;ZbKGK2uGUXJJxKU1icX5IUHV3+|NAt|~HRPP|69+;wG5JUYP z0Ep{40-+gLZt6*s4(XaEpco9p{<;F1jap@;hU#g(QU|If{pb$e>~z~S1gcl5jE$SN z-)d$+u~N=ldK14`&ELaVuH>4ZblaJ(o|(zTx3g6{MDz^rz270Mp^+>rW2%ZTT-$FY zshiE;Hm+YF z^@N*Qdh?~R{l{8gf1NmcVfooTeX-1ovFZ5E7I$iGzuh0p0i{xMP~Bwv-H*SxGT+e> z$zQ)Y=`e}=Tm$B^pNxD|Y&2aR_q24wx6`L^r0=`G|G{@R?i!!D;xTOZVV>$tm!XfI zxqaPG@-!7KiZAZnaj;rj0pMOAII~!(-}8k)__fFWC3*L-CqABcJQ^C#=RcPQU$|}^ zEiAw27(P_LeCC~ljK%rK=+YB<^|kBtE~v1K3*m6j`r;}U7t@vHx5z`E(5ESt*N?#Q zk84v+TOX=qlq69ycih{$^X;|&hG5jl_z-H8ZcS>-3v=_oU7k5)-Ht|v_AO1`)<#9{ z!=-`Ud$SYX)ckKqa`+YXj@AEIYT++F=T{)lTfEJ3Z1>T3Fa44%?W#pj9O)T;{nD=y z*zN842e19ajcYkmApbD4=ar>DfcS9~_MTn+>Cld6|M=lsUhh{6j$2YK@rU$vpZ{4E zCsUbUP`Dpyz*en`<4;9NgE4cE@eN zaHoV`q~T5+Q52N}sJC>`1StqxtqVfBK~;5Ks&HilFvv*#3&hAT3tv}d^_KRk)rLW( z2Y#12K@y!0Iv)N@{HKrY_+}5;qGJTzxjM1B+<0kM$b6y6?5@tnHP=pVlBGN8jawei z+%UsTwT0VS;nYw&W*Pp8j~lz0JK}`x_zP!V`r3D&2RQo!_qWh9*`NH&H^2YQf1G;zgl2HY@`W#d z{vSKK*l$1o%TGM|buB(&f;M)A0yW(`xF6fL>B}Wau8-{Lt`xFpjy71&uxo6!alh04W}{Lp=Jy1iE3hYXNcn4?q5qzKO_n8^MtGpn zVn6$6+h@?N{iQb+Fb8ENTqSj`aIRM< z+$Bg#px4YUa-9GH>zLD=sbo|AUGREBH%PnW3TN(w1wzcO+PCzKG?TP6A6sb*iE1^I z%Gm51KvP6fD{5QG!bg&c4=jR}1sciKMFZ7?*_~9#JS#cDn=(&en?sg`C6_ihrTTFLmav%Hft zD?6Rf7gPvIBml2L5FoW#!KpiO++mi&qAX%svmrJ)9>rTbjSgVY;x5J#cgJ5o&~|w7 z@_S;)6Vf^_ubmqi7yttnsa|Q~a}Hoztqa4JCYshAa%^gCmbDIS;ij*6Iv$$7JMN*w z4#-V7U=ERJm8`{h2(MCP)nI+VZMocp-nefgQAt!{kgv-~Qx_zq0 zusyD=^ULcjVo7IG`=J9Y1UocJQ3rE{_tfZMZ)AH)$rrP{h16}%tx+U_LB#+N=y7i~ z64*jh@M*ScGulReT1Ml9IpS%6a2@8oN^Q1cb?#B*(}=uD;7m*}*;hATD2nRJ`}ta% zjc^yyoRVk^S*V5|=1Uk^e!ai*zI+~Wc_T~7lY>L;$u;k%ygd^F`%&!Vp{`?>ul^c! zchZaxMf*#998$|99gwnVi*~J1g{ykI0|T3>Rn+Mz0|_ACnr-;q0VoX2BRlr>N0(TS z#|lY{{`S6e=We@<|2??wl-UaW~i zPsGeNjCQ+icA{dV*xj245Gn}*?z!qBLWbF;G-yCgx`l_hW|^Vzio+2uiHiaY4G*=K z>Rfk=TF6%`9FUvOl?B4*ax}yuRzgy`u`Ngg2*6drc&&gyyhz)fog>*&MbtSlFY>7aaCsNr93}lGjH9fXC%eORRZ);r9X0sK-Pj zs_KG~a}$*V=H~5Lu`SXlF0vh6olVu8Z^)RKgd%m`reprh)kSGH&i^H1jG)DLgsL-EM31?%r?F z6rQh3PRH#}_#%fjI3W-4brb>2oEuASM z*gz1@l|YZ3mOzhQ7HgVeA~~%903ZNKL_t(#AZSgltsy2CD&*{Lb8NEU54PG(O|~g< zA|*>pi{tSQs}qt=*{xlfRGo0OTjXjiIcYNY=o*(?6G^SmBjsBU{Ne zt6UKdIvCqlzC6K$6e!nyHXmX{l=2!A8nh_Z=t9cmdSooiPhP$9$P-UHZE=;ux9spS zx}GXj=_a3+^2T+c)oP)skMjjDs|4SnmjtyC#Pxt%TaaWQwRrs-xgp^ylhVuvGSEGKtF z=-Vrt$5LxHkZqg$W?wsR+3$+wQnJEdHuTzJrKR=sp3V5HXVU#GTi!qYi+{SW|Ce`{ zpBou$u@P_ner0QaL~D_1)2n^Gp~>?fyLf@(I$v+*3u1O@ zhOn5o!iFsSr=`mMfsVDJ7~~Sa9SJsQ`>ClITP`9O#l7Dw z27n3qWs&?o*d-ZyP%)ISTW3#{FRcD-*Ouc45r<+@IyMZ)Cok!B?<1XEi?KzE4++x1 zg`2k?laEh`<>s~J{m(u8{yRT;;@Qu9bRsbv;Ti?cV_WK^{j+rFX<15XL*y8u|UGw_MqHo87?`L7ESYFOS@2+;RmhSPj* zIl_D)S9#vh{8^->lmjlFO7~i5Z?i4$jCy20otde62EUJ{(*}Ewij1MqgBA4-hh}NV z=7=Ren_P}kzeboAMkxdW!tIp{4D&Fjo&#=fD=-@%uz}D96=p5SLtwrU@k~w>HPD?J zG5M|~X5wm|F&?AUlSS3cA}p@r`@5d8B8IU-q5_Xs8wn@;%*RsRD?gDz{|4x~$!coo zOJ2v(qt5HE-EckCdSA#N>NXT~sw?*v>Y==Sk4VLL{VUBzPp1L3-L!>=bp)5Jyp2~E z&a&MbQ8v>sRxxu+=EE~9;oiNtL5eSCU2S;jj4$*QQF`fpdfP(=QgZW~Ag#b(LAe&) zXfg4{dIQP_!zF9g6O%M6nj0TL?fZ1+#V`D4mQLR52diJxwe)+l2w;g)w*+#zF>7bwZ)aTy3 zSTdtMr|KJZV``WqTx~X^L zHn&dZJkj4=J~=vkibfE?#-hU?~`93&Cua^f}kfBldCxG&L$Qti~}XeKis{=7;QF_Z6SVF4L0^W_Fk`@<~X_45m-qV z5EyDUN`!7WyrpY$rA(0)mlM05er=cUm{7j^^VMtL?Fg@1d*Zy6!)|P~JcA7nEuFm7 z9_nlYPy@W&cjzED9~BuE;WY^YTQ^2ZizWyJ8u8r5Ll0gW6GCC1)5K^sxe?E5URwb7 zDP`VFkMYq9HGUDsMSZBV6GxJ3}wdH*-tbUBU3Wzu_%^F%DijsvJmQb z71JV$?vLfGUIUy5_2EYepOaOGaZ-=YSC?!l!a6voD=otT)Nt023jzM#q04Vptb+;df*%! zUY{NBX~Q*8uM$yh5wdPW=thpmSN*PmC1)L2GGV=Hmz1;*>^dKn!VP(?IUf!?jgp1N zfmD5g01w;Ups(!ala4*!*4uZ^54CM5Ve}5Uy2f{B`E;anU{$AsX~Ar*8BAeT*No!1 zi-gNThRxVUUCZa|gk5igEbL#g&m>_ql6J z`?l=PMX#|eRfRJyv&PU_ObYgNhv&xgEq407)AImgK%KvR5hLG#T)o~{RDgKU8R(oC z8yg;Q3T0ITVNjMlu0R=WR&!Z{JK*hvFQ5CM%V$|xtoHdW7B6JP$vkLs`NQ$WMc9hf zxaLq72E!&vQv?ait=-wPbyS4PcW+mzVg?LR6~5JuW`YhYpID{okX9`gt2qE5=j&Kg zD5;>WCE`TN>Gs|&qSC!SGqI)Jk|_uTu8VAbWaqBb;#eWx^!fm&jf`b-C>bg@K^~|C zTr!H50IhWX9J95X!vMlSsTnC`gA8k_37)9KzT^lU| ztQSfqfE!bY9+Yq?o=CJuTw-k=P&XE8OfRSzjiF3VEoxP` zuJ0WUz_>$&3tDMfraH5%*w)^z1B$B1jk-}O*E_n1mtMQ{)I&$Z!QQ`pw7j{8(~Yjw z;##^g`bz)5L z+N}m!tlqdZxo7(bLNXZ6*l;bIYtFBA?AaZxD0f7mHCN?U=Mvp*rr@S~6CZp~vD;SW z)NR`Ww6O>R0?Yu7SkS>V#&4%I+~D>iY<~Xwh0KO6!9>y$yF3-{HX%CM-V=W9=0AT{by}hfF}VjC2fb2W76JN}9oQ=knOW z2YPEPtO4f4(oLh;b?i$|pL*w)!JxzMH1fJd)aKaRH5hV#= z4o#_RfJKutsscl(2?9-0<0gm)APC?%A7LUTu?$f#R4H@3ZZd|1M%`p}HLFpmT){|# z(do-a6O2iMa7C&mF`^-BVTtGceNL&ATc2ACx{(^|LA(|OfWz%u=H}9Fy8yCtlDrcX zVU}3N1A8!8DS{e7`jpD7!PyGRNf4J2TSv1}%dZKcLBs+T2+&a|E=D|z#mI1_6h-)p zss<<&$e&liE|?+s^(9Nl#u0g#(>*>XwxywIIoj-za2akAWmaw(cqAR4ZezO2(;qfl z!&Z~GZR=qisSFOI$y+xAd!K&jv7Kfjg3(~9nA8yqW+4@VgX1>>rhe#PwW0 z1s2@aIWlqmw87f%RVs!yJ;_3LqbdLdhF5(9ZDQGxS)0|AC6Chw=!CV)IhUzgdvTf| z7_qQ27ToG@C;IE#_v~xjm^i*~lq?p9KHU*7VBh)P57*!N`K44_?~VXg0d@tuCTCY} zUs`tHkmP77-7OpLZNu0BL*fGB0%}W;!#03`H6R>RT^2|q=<2%GAYq0Pc^Uyxuu#W* z7P;Dl>jGbmqh=X2grKSGfTe|O3o4)=%++K#Y9N$iV4$@hx%Kwqfj!|*?+j$owRdJ4 zkB9p7TK1}9-7^eGcjMnFw*Un`Ifm@V^z3pV}2T zbu0O#sQtG1h7MvML|?hr*z<8M7cc;ujq+>`-lgm3h33se+g)epM_LZQlm772-XpX0 z*{=Rx!|sFJSi)kP|B~PcMz)7CH_lw1?xZgVDe$Z?=L^70vQ>A2=<3M_JMUXSRyq$m z@Wg?OZ_oF39MnO6qoDx0dgE_r8UY+SyX0wMHgAuA_b1hV8zyd5OCtvkH0BEuS|&^R zYiBd9&mPQQP~-I_B#~Xej!oa8c0F;u2dCSq4h#T(_u`Kp-}+h9gsZ_Z@9@^I4E%o} zJ6>*{Kl56!d*>Xx-ZnD$(89-;1hkPMnQixsc*CB#%kht9a?js8>bB*LeJ;x1Gr9a> zzwe%60&Ne>|Lt9}zh!o6JhyZABZLmMYE8MjE z2h3pL=#vrq66d~I`WOV4<%KGs5KaGiCU+bcpYnyU<#S4F!CxAgbAn$=qM?u9!6fUxg~{6$EOh{4I!kU7EM?RBo776En_P z;T+^{`@HYat4j+QDr;z36ekqQEms#Qd9MKpx?o2XTrfL(m+}js-HR2xih+_!>(g+2 zOX~}B+#hj0vI_j(rqO0)q>7va*`{ihIQr7Hm2|81t80lDW^5yXfzo9Jp_a<^Zdt!> zAVLBg9nYVA)cs6G919Ugs^Y6EbuwG;ahO^e{?W4hhoi=?*2^Efl6m8U%AN{#A=TJ3 zs!S~`JiKkBm>Lwl4h!Bi=P+qt_)c!R$M14k+rjwwEdu~(rf@F~@U=#9`PG{GK*41c zOsKdt3vG&6_?V@A6p@?4`?x@CK& zg^%|i!wAapzkhq?J9{IiP{~o;1t0g{{MpZM!>BoC|G~Gu{?GsU@_+p7-@pBhpZwSB zzxtx>!MkEJ?8o2#(+~f9oi*V!!WC8Z^lJ&;9mdo}~y z3~JTeckVj&#_O*>^X$K0TASS2)tA(?i(}2Nef|0W{Li1grAs=1KCmtDm;VZFd8iG8 ztsAx;7&|-B)^5DCXcB7kU0!%pb>`UNyP0=KB1hl2{)cDw9zM5t=FpDM_?V!Q7%NCz zTVy9M(?0XkjY-rIIMfOm?>5T&dIu*mzX3c4(gw1f%jH4h=HywQ4e99H)?EU|C3gy# zm`C5H2&SEO-_^uw)peE^n+S$z^)@$E%}M}*@*A0s zb2Ia@0&9S7*O1|ZkKLNQq*B78*ukr7i7VR4$LyQoz|Ps(v4L2iziV4DTI68}Lfn=D zP~lONxrsC=*{bH}S-k<-`dA3`>B3rH*G4fdaH^sxv;af0xZuRiWkL-$8X(b$=#3O;=(I_S zOmASdf)(-+ST3TX#@5b-n$RPoEToHt)kfGy3(O|JelS0D?67{-|fo%3TB z8~Tp7t?~j0Ao>*Ay@%IY&t$MOsE?m%=a0}YLEa$dva!+0bP`h_IRyzlD>%$hc#^bIH6A>6a6?TlF6Ir#cD2kT zusm1B46Zt#H#Tbo?M5uj_F;(?45*sPu1tcO0ilhORPGyYFVqWWI`8o@JWMsqWuYns zT1XWHOH1jtZojI#+Kq@mKzw{PX&^+06Ioomydkvn!?Dx7-6Mrc-slM++>*sMP>o9q z^A{naM-jWVeEzx(yQ3b8E6eoAib@tV|>! zd~)M}uUt;2%J!f!1M5t!UaqmhBRl)pT84v-VRysV-mb!wBzsvUW=1-qsd#_?ezuYf zSaI29f)p#IEe8WFHY=&9x!8I!FPQDBWN;Ge^NEh(4WfWh1`^=whj#g4n&K-4#ZX&| z16Gqth&OW?7^M{ksauT(1Jy!VI&#bLE&C44jGf-RYY(6*#aiLg+p8P;Jw6X2HOap1 zezb|acjHdT;U3u*$s~&bzr|f&jCps2wDDU@E#2-|f$}p#KBE{3aOOtK}sVQ;y_(PDhl z$R5%N$g;`rEWuKkG)oJ&PXT}rvFvu4N)<9dYJk6QFuLjkK)RG~K!T)GYXY#%?BYut z)iz)_|KZH`Jpr~70MvODYiri8Ij!x2Vg$5K*kogCMT3b1G^?XU5qMc;mn=?~A~VJ4 zywRp%D5J>*U9BsCAAwPvP@A=Nu0ohye#FcvIwjZF5q(HzrxZC$7`s%N1wjn}aEVu8 z9ER{wpX*G6>8un>r_Zs43J}huG7ULX0_2pal=QEDB!1@!JrOmVQ}rLtYQNt@eQBHi zi%WXNYI^N@{S&3i&;Te228ESKywTa`gRve^uK~JQQ%b6)OI#L4D51GdGImX>z#t>B zSp;`VLRAMC0D+s83P7QPAo0Uc0 z)hjztpk9hK>VaTySW=rtLt%aXmeSg8cK8DhZuxq2c;Bu%SZM+k0^(uNP*pu9#zhg>^dZ*&tk^C!62rIHH0L`-hbIKcs!bUU!$BTpPr6$t(}{54HT_KXuHt^ z`J0wZqZDgx+tHBN3YcA^LG$;_HvBhg_q%(=0%^L{J z&ehYg$&VOjgey#Au8o?|C@yDFGudJDsUTwUF{Prw7;wr{xqJp0P?nn@-Qvr+T;})Y zMQdzkxXV-c_@f;Ud~z;L_xNmT?xV>4$FKh8_YSo0L|%AuAft25rbY^sz1s>Eb3l73 z)yS@>Jw0$w=y=2fUl2@Kew@W>UMVPv7zSKMYjk6qq_|k-`x<|{Y#0s zed>cl_eDNgZMl5mqmNnkVU)ZS|J%`hJKqt-ukQ9%$$c+gKmRXhmv@-VQxDwZ_~`Yu zy7sfpdw(@O{(vfv@#u%^`i8LC?*on!beCJahqZO0?~X-AGq!G(=UH8yMJKEkDqyLX6-Do{9J}O8KfgyJNKNL z;P&(e%gD%v@T4WON#er?xFps&Nt2qEfMBbaa+8FX2W9Mqw%KF9=NYjb#!F`OV>Ub4<}C zw_%f14hvXJ)X`U#7BJNN(10tqyydTWQWICVQDV&9>#+R*BTXmL)qmLe6>f%lv6TDb zm-a1RNpI;PV86j}tyCH$(JBkKBoW7!;BKQZiE%AC#6%ih-3@U4^2_xtJ6jlftJ|Xl zECwYp47+P;rCWH3001BWNkl9j2}L?YF8!qga(yIkK#7U~Q@$ z^1vVeX?%BUxReK}0YY5oX;^|vIxE!(-$7?Dn5~Oj_IT?F<9hm*yOSb86BR9Li6SfIk^njoY%Q&}&@7a#5LnQpv0!l6qGahFJH$#%^6={1M|w2!W#@*;x1#y# z3NPlr+5h;;JUim(efaSsV~HDAum1T!@6K=iuR{wl6izRy4QR77HP_Z@lS?Hkd{FaG>U&$m9g0b-8l*q11b)XYM=H2cVr6o2%5EqBNqnzc-g_y#ieD*^RyKA%Hl&eT)D6%o&4Y z*ITDw^!xjYvMt=^n_rOY%|y+P+mOcm!c}MxwxE{Ps;jN*pqB39 zJ%1Iom<91JtC`jp${PX?#;fN_0`qQTOojMx&~Y(whZAv{EKD?FK8HOTOVrt>-DzKw z?mp?Y$`JHnxpbSI-q`2Ad^37)-&1E6-yDb%TgahP@sn`xVvxl9#8DOrgOmJ^|Nie} z!c;5PO>O4--8E;xwKU7=v?AOF8}XBE0}m%q&ex%@-@NG!jIONcMnRJZkz38BQ&(K= z$Mh0rcVgA}N_3?p*XBDyM|F0FXM^d=n6=s&>1;I*Fjrn%vf=}_jb5{4X;yho7|d2K zv`gD2E{}PKiRxshF~quTRR#`_ZiXavg~;|-`!&C5_U2S5P%|QrV7eq*YE^1}$M)y* z=PrPTt|pyrgO$LRQF6Vg$(~kIRV#L~Se{?L%Z&^hOI^{iQ%gC{Gq{t|E)>-v9f8vo zKIF5pt78GxKkfrMJ{wN=1MSY}f5!Elju z?s&l9MsYwA00KcQ2(*xpTky(iR_Jq6(Dq?^v25rPc)7<<7c-w~q`|$Y4~wB}!o+XE0R~N(6MzE<*l5pq`N_VO~P%mZm#bR=h0( zzJ~5|Ov<#kk*?+QkjV4O<$L?%5e>&76LU6A`Ow6Z967bj&A7Gl1 zYea_au(m05X3T=`jW$d~a|4Re2mSU^8lF_fI!kQct~tr0*~FX+ixv^gT&ApGH4jQT z5nj($23iL8b+mvrdB80!Cybjtn^&+3kfb@&2OTc0U3Oisux3@?ZpUf@l$&{5L$}9L zTxaW16mQQh2}y=(ImjF*B@nQi7a^pPYZtED1o3e>pUqoX^a zYBbg4+)y@EFcunVYlLL*)-nfLM*Ad*;)}~nZ7m%3RvXp)(uA%fD%z4u*Ft7^VRqeQ zkrN4%L04ld07+#4-vq? zbscp7ZS4x_(uUI{4cc*IJ7$nAw3wx1=DYXq@%w&1C>EDh0+^?{(UE2ygi9J*yi|tj zXaj738VA5~IA$>Uu<@(29UTFk9aC{aY%bk?tXp4F((y`jGbEN+mZIP!-PRv0m*{Y| zE{S%BMy}>aMoAy&KOnFiBufykDa5L69ROfZ-<+R$`l$!kqp{dlv8lV+)hJ{Ot5RL& z3h|)dv@$WhnM*&^)m;%Jip;Cb2EDt%D}98@5*lFEHxd$IujQRiIHjn(E-e&GuhdIu zuq9aIm|Pn1wGFRqL=aJxWH`6pwY)~VJ%j1^GzHpb6Y=hDGXUihc`M4-mN&~>VPkOY zpj&d~!b>VG6D#|ocG#m^{QcLplvOMDCHbHFob|5 z9mR>&83k(RI40<8-I&;1O*TSi;e{_hl#8!v&5}&E;Ytc2m_z+XD#EpVj8S1gB~gsk zqRmd~z`gr2>A0>!bhfossxTf@=c7qqD_1B~D9`;WKF>=IquP+ja~4%;eZ$c))DcZ` zcB=}K$e>5fHE5m6Q7xwfo$dMDJR#{l{s3J|O9)133>$Yg1&-HfL#yF9Y`m|}5>vQL zDF@?RT(C67%e>tM6bmab;Zsm9n(Nammo$bRh%TSKjEo)ZC&{hq=7K(80R&X5HD=@M zgsC3{92%sUD=rnYMog^@QlBN`XqDB~KxC@YeTNCFN)0ti6}MoNOp)qbdyG?cEr!vMLxeVmAElp0j| zjP_f|pZt;C-OSz9P5kN{ITomfI>~?7h2^se10{W7KmN`%`@{R?Gm}E6*1fb^?hfFU zs@r92gE7A>032LxfN)gdD60s0XK%jwzuEli?d5;m^%`W|9eJ{mglTw+J|1ctW@Gqv9?Yns>FcAsqR*~Kh4{XXjF zZ~WV_gWv!3{R#En^S}D}M_;}14#D|-!7k~B+;driB-yNb%iFH!t z+XHQkW9?Q>O{e*&P8+$o9Kz~@!n%01@xga`_J69o90L9_X}sb|xk};^V!SI1{?Ole zaOuX2-ob~U^i(dfovPm?hQBt%U5xeJ!_}&9Z~al@|MFV;BcaJ7#IM)b=8n#U*O>ln z!`C11PseWu(bQ^e!0C>q<%$3mFuW5n>Qj?40&Az)ci3{IWWK;|+`&;utMRjHhg_Z^ z*uf>NVE_yy?`q&#%KB&yIE$>QK8;nY*1W^xgBpYJ)Ner)!HkrWKe65XG$sGNp1NeELyT) z%4Q4d&$f#q>H}P6$MkIn75rq^D7( z4DNC&sb<&XGM%l+hFz_?@Vpr8&w)k1O>WqOQsG7=iK7m;2hEi8(T3KZjn6U~Qf>8U zgWX+=;}^5q!eoxo)=EEL`d}lH`;zHgIW(BW!x zOW(}3>!&~5{PEMj{q{?re+K-gxx%UIZ*BTpdcN28g3?^A_}iz?zxMdOC#z))F~Klq z`0k0$PbbgnR~G;8CqJ4qaAmVU}d&04NJht<>q5BpSOE3l` zGs%u7%hER7ZQnb&bM4)9h2?mTtD^`$zZQcb_`=#7C_-v1fU;&^4AQWx;U_7;H4Vaib z2c!YAoxW#eC^MVYItmuxWTU5nJ4_aq(WwYA7TL+=1AY6~YO{tbCKISf^sbe)Bp?)n zBs;SIalpG}CU?nYvRF}c-a39qCGeo6u9Arg93ZkQTLxRRv(Qi!ia8uQHq}gWrQ((y zk@#~H$s?n|i%aJ))D^fx(Y5)U zDP>v?AInZftZEkkqTTKGJJ;4+AjR--cBic+sG3;|w;l_+g{vgd38eU9ea+s^ryd$gA+Too|mBPf^ zt$oS*N_Mh*Z0LoRwRwvfp-2}23h8YYRi{!Af`}X2#Dx>UgAE8lA8By=^QP-%2YqFILPd59o4Lmn)le^1oX=!RQC)J86uf>Eu;VC5RPHKgP6 z;P!f~v%lwqKYV!CSXYWE1$Mo6E3uC_Ew1mRW=XkYxSJHcxU&%j)MnwEiNnxyy$ak(;KmtHjN1QN<4ev=8c{X zZCAffwVj^Z+<}Ce-B=Uxwkm5Bs<9-UH<>WAt(VS6EFQz=91E6q6tLDbxL-wQ=2oIj zUO$K}C$@~m3W$M4Z(A1tR^`+TY!VY&@s>6PQ`t)4>`tXhia?;tV`a((bC<-%7#@|R zH3S}LY0(!m(!#9;z3q?#;aGq%o74<1`fb*wMRlN4;U&tUDdVm|HCz!ZR~OSBzrPiz z#BW_K+wFGr!iY(*~y( zSKMkC_FA*?sEk?-T2ZC-Mdv3#tHo|jmq8Gcxk{}}X-%<;tON7qYRcgqVj3)4+9)wr zhnIW#)pw5VrAe~e=;=l3)pRvw(pD(US%@_pt&WwY>-sX;*S|ZT2+MpE2SaAPTqseI z*)uLXnZb{$NQ=XeT1rR;X}VljW6Wk#o2ic?!fWR}8jvtHsdT#(VUw=7bY{B@tdm&( z>f&_`<*~ZVpn{|}YXZO;98GNTk2=fUCJ{srVfseBf}#>c;4oH`0XtpV(pfPX)<~kLw>G!zKh&sY$Isjj=VW!gw0jJl zdcP`51c?}5x>|a67kjwX{*{-~gF!%4h`l;;vIZmd%0k*Zw3nLS$+oqV9c|qzOOUen zC^E~l84ytMJg&%9Steu&g1}0H15qh0O6pSf28MYW5>cxw7%7R6t6Xeov|B<$kqJ*K z7G~>VqqVMpZh|sq)3X6z=gh5SFenK$qBCL9@OFEDTm061Sz(N*(d4nJwMDL>(;22= z&YL$>%*_u}bDs>}Ws(>X2MJ0Ysg=zDY%;s7Fu#>bqk;AlCi|?$jE--JO(t4Tn)~kh zda{rdVz2njC-Y?iP-Ku@VDqU=CGYJxvU2Bo(?C$KZq;Zt2wq`wNWk2;xpdRxJPxp# zTDdlS(7(BwChAvF4Z6OTR+{!f1+kK&504BLqL-?oda%Qqn2FWc<#+x#_w7G>Qs>t2 zh3$|&ohugXKq#e9)eVFi&zv*-GoT8KI{(EG&v%voQCf4k}_5SNtNhNRql(;|-f4<=a zYkZwIjTpP3fu)VD8;ijnZK{gvx3;zZZj)k*>Hzxcglq6#Ke(b_3l}*BZBXI;P z>@qte7Z)lDt~L-I``a^r+_;)8MI?@^i1#kdFR@CZ5{bt$qZV80&c&E0K4dk1cJYHI zyY5D&a9^9dG@g9gtW5d}}4Uzqy%C{BFF@q0su8<}F3 zFP^k|{E4Zntkl;%+Ki(U+h?NL%9D>AXSPpw?!SBd;#IT5d9TL^|IJrl{KFf&k6qd* zv9)q`tj&L6Ek9!EObY@+WlkO&hFKwf3bl=7%1#?pq7hTGBR$KjFGW%hG&fxb>qpvs z?qxpFxYSASQ%Rz0DK>quukZ5po4o_~t;Cbz?CL`&pWUJ32|8DbF8BI&t(M7=z6b3s z706SnucUwT>d#bHB)jLO#ZeH|FwV-StSZ((AN=T~1QEFJ6w@o1nGnbUCpG>6+*Rx|=iF{etl+@H4b;A3~wKowE)At@yr-|{*X#j;tcdMITUKLg}seTY_n zIF^8a-{frDitV7J(`V4h^<_j4m&&vU*49vsf*>MWkwDpKDYD$7i2QyLtlN!Gz8Stg zrY}Fy>3Ml};WM-RYVbuupHPye>*rSo+jjGV#zf#;P{@z@CjI3;@3A|9>8lb55?tybNJ0r3#uHR8mY($rlN9~OwCMrqvYx|$&?Kx4vJZ* zChV}r+jsRG?+iR~{_5NJ-~HbJH1W=R%N-6+fJQ}xqw{JIOAhYLS;Ha4S>DAdUK70J~_-9^|dwkP^ z4$tDIPB`Iy%+Zo5c-T7ARb8A=F=eeCP)+e!5oq?2!HWk4_gR3fI2fcmK)WJ-KSl z*3!bwtk;{hRGr8b&a?ibp*~Wqmv=H3{KNbC1lH!! zy>X*^cyF}YtT0iXscY%NT3|OiHJ9pcgFO4k(o;1O3F_N$t|HPiywe7YSV&;v*$L3T zV@SsSL*xD$Am)PRZoaJ^xlK7(OI%zF>F~C``dm@+Q9ibC*|5=F1ve=aKnZ?ms2RR= zr=GPOvTHznCjgL`uZN^%Sw}X6Vr6MoqnK@urc`d8qs=rivo_n=*V}|SaZg697#=31 z9T9?oAl@Cqx30-nLw#|1)y!=fovq7TU7;RMpbY_{gTd#VXdu3`W>ZSn^1PcsD&zSW zt2657cZ5hYa-hX&S;rPJ%H2gev&FU$OW`Rs^%$rBu)}+I-63$f-3cbL+oMWrFn0n41v3cH!M^OuMP4n16Ewl0 zITrfZ?PeLNN0#wKEb8viWpm)xovk5LpO4e99d=z^qs`i?0IAgI#r3?6%9X*9N(LD4 z=`+#shRckv!5Y&am)9ZB5wzY=do_iR7fu}sJXU8w3Pn(8&0rq{%lbxtNSSY}@O~5C zX~Nfy;sFs@rJS7s#E{`jay-Th=bPFdoGo0TDxiY4)5{$^wUlFgn3Yo+7*<~)=>3@Y z?oqNjx1i9O5B=JE_t{U<0AeifgY>IZc>}9>cLcH58(fL}ch&kiW66C?+YPEalDP#8 z>s*>jO2)uyUa(kbai`qCVp9c=2|o%gZz;Odd$fHOZFjV+vYH*LbQy`|GAex%#R07a zm4Py@A=P?&F_V@hY-%BO{19)}8Cbon2#h1xo6jZ`fENlGy^i#{i1`TW@<4=9t|peZ zGGME<>CPf2Lo>$@bZpE;ag&BGnZ5Re1*+sLn7Q3bSBin1LYcO)Uy;@@}j(im*o3V929kra9XCY2oyu;N}WjhV+8KH~m+2w`e zvC+L7(Z#X8mLj{gb=$-W30La~peU2$;oZYpN%BIC((SpMp|;MG_h7YhJ)fxoP&&%$ z4G(GeZ>%)+4^}F59S&_|*NlF5 zx7(GhaC0;1v5{_Ac;x7S15uNNZDS=$st=V)d48N@ z001BWNklv#d-Qheihf{Z}7;6G{rdWc%*8!8%z0Up`)e!@;j${2T5GF zALi%l8mC5OErnx;j~qg=QZ{Q8ifdev&a#GfdmS~_1R24Z8VrQ=&Q3bDRcyc>gMtY= zAZwIhWOUz?H7**Not{quJp($Q#i}KN8V9H(h?P8SV-g~Q9DZnYh;6#Z~gFq<*)}o2%Db6)_E916*S%orM@+JJ{kUbpa6D$ZpnA6-gPKYCV;Y zOlhqywmO9q0ih9BAR5C>vVsX5tw0VyjKc`Q*EeNFk|h;_Y1HNeAaIjF8x|D-A;>?y z#eU%k_SbK+SLT_&Jr10Y5c-9}Po4u_zeqf}4-qSP?t1yIRzh3KU0F}4%tp9uyDKyT zq6UeTO8HX|X2wW^0%4F`W6Bv6hYHyULYhPYt7RwM&E2`=%Fa?=ZEF@QnAR@x^+IeX zsW#YanN8e;n5<5o*CP~xV=6h{LW5R^VG>6JJF81DJQxn=v=rdlyBoTCmgv|`5w&=d zs7G$Kw~a+IGp#*GOKb0B;iDEni$YlduBnX!WIbCdmmn1iu$&riu0>WaE^Hqh>h5%) zS1!FD>bh44r~Dmbd=<)P3kuJ0I~DC91-siU&2GNDI(E<3SE7v;6H+Nh5ED!bn31Sr zU@Ey4lM%PC)y1-PJz;`vs9w#YHFG|H6QFwaI>)u~sgbS`2(148AgsEUw78-29@=mr7$mVJ!$5Dyf`JB_(xwAXo6!n4(FL;!?(guL3o7 z&)yc6Q)MSl@x*ALtDCFIIJikzIuSIQs!2L+C!F{r=OJ7JO&o3Ymm8_R-9EU$*!W^@ zJh02NGVyzdLsObnfKIQ&d?1=B>^T;g{p3s~&Kx{!t1cx7lCo$Pp(uc!Y&T~umF3xn zEwA3eVQYJBBS9c}q)Sm!vXYA{PES>$)BvIof}AWe96(tNkW%Lhn~f}tdFaaJTNa9L z$P`j2Ezm1^k|M44S|$!}*VO`Tl~6CjSq_cPUcc19sJ0V&;?vA;3y*zg1peUi+g)${ zk6+We(r@EWjYqdrT%)Fe@nFLK+giZ{N{<|V#&r85tHT7OOG^+0YLP~{PFskRJfE+1|Pwf2F9*8r1r=C$Y4=q^aN4a&V94vC>7ExlO7#Je}o zt+Rjnr%%Ox_j9|=RplCK$cmw+M@Bwh$=-1G?!l|%vHKn|on4$uq#1mxUISNFICDoW z|5j#OQYrY@JL_?;QqJX5&T@|sP-%|0(Un+w`b`gY(Bkygek^@>F8uY+Ke(NAOx%9S z-J$96ba?f12~xD04vcj=F8=z`{=E-kfcN9|?109A&0r z!tbt^)RrLPs+^y9Xqq-|zUDYI#zuCpmQHC3NnNx3=G*_f_UgXxJu^r&v&*lzhK?BA zrLJ{m+Gl=#Je>QhZ~g1kxw%|vk0hL0rrVmh*k%&Tu*FUva^jxHV6=E`VX@bw-S4aS$|4|cwAxg0Us$7B!?@^ZDD#C3SRnlh#D+G$-=%yER= zEyy=oEI-aepOJya>h0<8KJ_oZynMPE<%7rFl_g+r@W+>LeRmDlDw|(q8vpM0w%1a} zB*P@Kjx4Ptgr;}d<;d$RYijBNyJhB3==syv{>$Tify4Od4ySkZa{^-)vvurYPMRT& zU#v&p3oBTx48mYuh*vcl9c4LiI=_lZiaLR1H4>`m_Zdo;g)xOkWK^FMUha1OU?cz1 zFHHYUu;xNxNgF=~ArM(9!qyYKGG!zV)AU48_1JfR^|xO=^u(KCH_E*!GgekLBv&s~ z!QV)w=(5b)R;x~?Ac)`G zHn`h;>IQ{)WTMF{MY3vrPiY$>MI6##8or;-!}V|M5S+e(~?Vx%P+Y`|o|KGw766m4TDPL@JpIU5g3}a5}~FZU&{FI^hGtP{d(V{ zAC*sSt)~zi>ge4wd3|DSv(jMeBC4oSG$mwDQr>6Pqwghe_fxiMCi$m7`_P~>?Kj-@ z+xh=ABe)J8a`oT0y)*+7xW4E^+B}WLsA$ZoRYQnARSD{qB9=d+k!HgW#G% zwpv_nes~Ydiu_fKU0jCc*7x3@IWc@#5D47ZoQ|h3eYRe#6zWBzGK#<%tghWrRJc@i z9CAdjh^>1L`$S@5>*4^^lGuDVbo8lojtn{soTQ!k=!PTYUyEPraK6A+QGKvTrHtXZ z3nABiKzar88s=)-tXf|xD}!Tgm3gtqe+=t!dGK(cT$EGWfWhg8%b0B^GE-OSblJ5z z$;6AodP+E^hIpCAbHPnpB@BXr)T++e#hSWXW;Z|en-5g0HhtqW(lAh&!&@|Cv&b!- z$Sfrl0-aK0X)Bqj1I?+;%Uw+;Woty9Mcln)edFQ9(&-?6opvnxsjsL4k<9FT&}txT zAtDi9m|W;5{aH7zQ)NiNB>{Y9xud2+yxQ1uX{`Y@tLw=j3l|dx^^S_N>7krkis%ZM z!njUSDx|)J`M)b-X9Es^SDQ*5rz1?C4dV4_G_S;SX*HB@2SV9&wpMFeZ>0RT;C2;k z7j^?ZZBrAM3yz5)mETUSr^<$^YFb0>NtOY4bGw1zw7>^@`lH3XKLy0NR6`RM=z5Yd z4-bi+HGU&=MiC!W7mquu)071$%fdOQX*Q}YV04tMugAOg06CGXHY8cyC+3?!~2&UB| z@zuCIG}v6M>ec#clIGRGDg;k-5z?hI&nt{4~`kc;W%xo9xZYSBWK^fsdLxAe4}KXbjg z$ygOjTG&=iuYv@bjl>+SZ9yj~a$vP;-8JkjKsmFs<;wW9rwOGH6c*6T;(DOl+TAQP zO1#01b7d~%))|QkikV>^jBao(2Xw_GtyeR8Oo~^$8U#rsNT-its&U4E8ptGq=ygU@ zxmXhGd|Rk*c`li$a(hBn#j*l&ngYF{HMZ5Vji9Mm&R8*>kI)(0x_3uoWlqjpEVjPZ z?!~!_i6~^Cv<%j|9VgL7JXfcif*t-)aAh$I&^LDvHOm;rR?`4QRUwy@FNjJhS5r3` zDx*h-D=cKv;}FWp?6%tNs+61~t?LF&Tf;1%RxAt)&(+{?0z{U{wtm>T;uA6;j!vuc;FO#oQXyISgboh*(MTg2862 zZLAwyuDdvPTvTkGy8xAr1X&sZ&x^!Ju6dmM z2|~qIs|2BD8C5x(cKHhc9w~4uQMXi_^W1VjS)s3(N!<02KU)Q zUHwZFR{|ZoDT4{aeGO(xmbwtIkS)tQxT*f~?5Zq8Zr=q)X~}BBi#<305$0kPg-sH!j>Bc*su|3X7keC(TwX zb|bwFS$+M+8kx&g1qj)`z2od^w(?D zSoTh((PQao#{rwfRPRhJI^E=4xHA8Lmk&R1vTgT3VG(k+gh)a>+;oB|F>B-3zwpF^ z8Wf9FO?q<0Xa{dk;wKM1b?Tju%pPBhkLv7inY~qO-_?SWUP!@U*9yyZP&Rd;x@6HC zG3;pl_D5K7Z*hKIM)fK*ijhr9=~AY)OQKN<*{jCErHPGTuYW5&Yb<8xHe!HiHkcFk zV{Lj+g@u!l{T?fFJC^O?F&Y;%bFr{9*aVk1_l+F5_R*W8dwSQ@CKp|n381|DV7nuq zjwka>0E~Qus&qUL7kFM$q2r=xPKELvuK4Qap)L|4bFgw3CwN`)r?%I`KB#C~~jt4%wwEq2n z_&lB5^1B`-`j!jP`qKQXkACNeH-8l~w|2t2z<4oJNN2#0Kc0l*|KH<}d@^;Okh`4d zVmh{w$Y#O*?&_RmYgJ2}UPX?C3)iE+Nwnj`lCHjSXX$gk1QvKgVdkz(%%AA`qQ0$T zD)rWru1BTXxl9Ob;^~3@HjYUawHpT2(`y%_Z38P~zPrwBY@EPmx(rWa?kj(o&>SPJ z*gzlfC^OOojNB$0m-^)s2KoZKiuW^0XOL79Mh3UELPir!@9~g zMAjNjCBxbDyMOY9yZF+9TbZrI^aVn#9j~2-Iv=nYvyIinusd>TJ(!5kYeI(*AO=KR zxb&Hl?vq++T{YUo)kV{-Ax1d;;s;xb7&`u_G?_mpI`Wrpey^+j1)$!Qif@^TM?zXQ zmg$^b`wLv5%o?2FPo{#j7(07-PyeUkbFRFGZe#`a6rg~(*G?pThwnyyf9X~bx;LYN zQpv@-Qnu(u^lHFh=tR@LB={?Ry4WDFVr8bk>7I#|m((Wj$BFl}l>?}=)Zp%Xd+_C# zVt>)pIvn1bK{&M4e_y%Ukm^tkJfo5xMu1kPu{=T%7vn#12fuMO$`~>ivp7JA+Dh~_ zqyB`xLsOl7kFGROsewXxGyH-@=59?+DiWkI-DyLQTuHyb@0q7=|KaD4YhSn~%(2Qf zL3X^toTe+fVM;eH@E~J6X5ar#{LL4Kca_(jOCZxj5SYzV*xu3Bnh=DVzZ&bl$G^!_ z@I|xQDB9I}=W(sD0SJx6rMdJ22RhaLme|BwwL8Z+r~$bU1oY#(%8H^-FXv>)Zt^14 z7$b6hrl3$w{1D4t-p2`xTGxJxoa60nB_SKTT+<22dS z4$UY)SIg4K)7`&#`wv6i%SO!+t$OwcmcEb53%~nG`e3s;=RIsTPlV&7&fEFa<6iWF zx!?Kj>%WJz+S)@;cEFQQ%2r_`no<+|GI;UvuJ81R)*M*pxyf0*l|A?VfATVPH$L{` zAHV#KfBa5|U#|^ov6ZSMpaC&Li{=4fX<#QuPFU`D8%H?~G_f4;z3YmNU?A2HL^-sifm+ECNscNJ7$~&LD z^M%I_f~L8AtY4+pn$=6MX8(QZ`s(MOe4@OBsWjWs+~hrno_*tk&)P9g99E{M*jBZ1<$7L|PZVWIi*xxix8}e6=vPi(c-LxZpIO?Phr?QfkGK%Yq0pR7BnnIyVJ7=^y%l937 z0QDj5Ji~dACZ|uVB{F%)pf&>)MBOQ)s6SOsm6(RDvxt*=pq7&em7`fD7Gt`qt0C0f zZEP8sPsWQ{5+clPh)H?(*47~vrH@#58YP5gG^47ch!xAcdYv>0;r@` zKVHszx<_nLmw@A@x|oGW^p)E&L3SbD2lxWNe)at($Kw!6Xax?Cf%v&>puelIRfU{F zYkR1uxuXjUaejU|iX?OYg&gbI)1z-^ztyTh1S&sr@Mip0m(ADDOS$paZ-_SE=5qbs zk^KmpF&l(bdaI;!I4vqJSrNdxmMr7;qhx>tH}RsR@+(3SVwSIFs`-SY8jx(skSfHh z7Mk1dpIvxkWbZduZ>*WR!JMuD`z0t^@B$a&^IT_vP+}l0E-?qAD%k%8rIw2)o22O5iX~vfMcJA|MO(v zaVpTNNv1Xge;2?uS{iG0u(@3|sv69vXd6-STL*5_i&m8?uAD}zW4y{}s<1gj3KLF7 zg)2oKQQ3y+T!u*KG2~O+^i6&fYYEJ5;@AB{Pr8^;A`Apu$Qfqc86lmT)*Y7H z5ek^nW5IY;;fu92P*XlOYwc>J(ykh@fmYf@{EwX|FWXTfTXiR`RL*#O<(kH^A z$F>KVUoRTXW(?JKG-+42^8hF^VofNqqkYaR)AU34w<=ZE?NBFZ1tm3Y9@t0_)p(TQ znL4B^R=hO@FJ_R|4vXE=cIE2!{=Fi^VTB^=(g-EQ8q1};O?@j{cK}YQRK0bj5^{xB z!|S)l!!6CSO64=K+xfE4J$mfUyXOPVUM;CbHT1P>i{1U9YBiZ>5RWS7ZgK;S*+LyQ zQNZkid~gu49PO(VYE~6Q=kk?0xc}Jj^!4q5-OjmntepM;Kzw^ghjx}?{*V`z6S=y7 zb9H-ccauTulzrVIEjPQB293!mnJ7hDJx%#)ws)|(TF<4nnfPYR*b?H3Ol0R8BKuoA z2hy4F=6nvMh`}z6f`Sl6)*6^oug}bHv=0aLXhvs2YGs`w;G1!%sTqX{N~m*2uYs$r zLb%Z8LDT8tRuK<69c&eL=>UjC8U-rKQ+AX!06UaD*oIOip4A%UO1uS+3(G}HWukLZxwdI-X}5TeM;2o7SRRAP-m!y1eXH649mUlX_jw9C z8PM;MY9_icsc+qP}27^)6wZZfBouyby$l`G9syB+4&;2ye`8B#)S7}&G)95yg09>A? zb1Z?@R%=O6?GNPCEv@xRM#$x{W&#lnD^qV-+8#s*-O|nLO??A&Eu|(Ui4oKo%d?!B zQi_R72BN$^E9*=g$|Oa}zym=7okRye6Qnw&*oaa$}iuoo!D*X zx1`I-?Y6;Yrn<tC@C>KD&Bm?l$^opm=8*B^2re<|+qRPd! zP(z?Ox~$HnVG3b7`rU=9l$pC?v^PPvCKI|&G^&ys#f@!S^D8!YljZ?`G$I;FTI=&j zg%SklRR|*_7b_4YKv6qIYMZIWRl2=r2*to+K4UexWRa+@&#E=1dIOcAF`Lgld-mUK zfk)tc5}>Hq&XUc3M9})A)I|)?nT>li8Xpg*QyUj$T-I3v`;I+A^R$rN^zKwx{UHwC~LaM=o zlzwyhN~~jq@i1Yw#1P=dP`iC+YO&gLSmoCwa}BKpwU|;+Mx|Am%C$8D)579n1qkgL zJI>~-5N@Dw7bn3Oa0zPZqLW}e@yWh@$JTC~4Yb_DN1|5TC+{BUM+=uvO`@ghKY-}2Rd}iGor>Kg@7`dR7oLd z>*iTChc$J2O3O>ITqF!C>pgpz_$HsNAi-`iveD2eb!*KAAyTr6gdBBdLR^&u?INHi ztL0|cC$LpX_L#Zkda&mtv-Fv0RuPa?7m2BfwZ21VeMcWmZy{@x56pkavFb z^4T|Eyr06JO727wjqq6H=yxx?{37lK z7h8s^iH)gJVkW!aW(^}1TEw%6I6-jyS|Yybct07*na zRQt@GcIWnY{&(Jg&ig(_1``AUItT&9z3P?ysbhA3tvY_1y>rHUqEi`)*0%grw6$dTT`kTzcg{o;mrK zGMlDxZACFymDmPV*WOg`c%o4PNh%-O^z7t(#=H{slMmk z_tol>A|6UPRdQ0bB$T_D;+VHTH(x7I zhdQ70lwu;F!yMh35)R7oR(zAOI;?e>4_^++2;*juvGt+j`z#EFanhV=#I$;G$z}AS zFvZL9;;jH!=ojlWDU!`9QfiVW2acOd`9xPQGpEi@&m z`l?+6TgP@7;CmI?RIU+3tN;7WXZ~d^eCxG$U)(dc>o0ci`hfn$+&E+nE619{G=?E zV86aq{>&rKjt$QKaV4N23b!mkLEhe$eklEh45H>i>dv@C(3@;?`R-*jrJt8LU&aB-w8Z4MWNS_nxL{y0w zD~-48{m0L~H9x2%q*|q+yVoLVM^|cIzCRt0(vP~WB$c4@dP5f_U%fpwH!*(XZs}z( z$`YC(`#ujEptROjEJfs`#m)%Lto9iCrgXkhx{>OBW=m-qLUXuwTwMsq+LWPH-)VHp zKE7~yXsb%HBG|0rq1^|ry!R)kW(Vrd!?;-;Kt;GDg^ZO(TsbzZo=S*>tq`rv7nhFo z4;f{R4q~F!5lgH`WJI|)do7=sQXylS6cE4Uz&Wr8saTA#I#ND}DXK!yE^Y$h6r)9yZ}s^v=; z*C|8YE$qy}3&#fjf+}GZaurkfw))H*L^f9EF_37cOzH3+#4YckwAvr+O42Dbr(Z516*Xt^muvxtv0_klevl+AC`8P+w+yA+OJKd zI#gXNw--IccJ)^ITJU|jeH#vlSX8}~J+1HPa%ALEhr|iqe=P5-SOOfixRvpQA zsUKD4nn~Xd4+vS}Vqql9*R6d|`%62;jLgkm`)cz6`F-V?? z&BYK;U=u+~VY1IxZ^fooIdp;>Ak}7;4CYbJqBA8@ia4us>tZ$OPNE3L6HOhP$2Fn+ zDhoTr1P5^jluXlT<_zz32obePsREigS|XQ85h1UpwTXV6hc`}z8uso&q@{Be%1)u4 zo}r6kqbX~V9?+^Y+IU`YAscyg6tQW{UcZ_KYUz5jlq2na|JY!z#zNIbYsZAG5D6GM zZOM!PF$J!7j@7!%8L8nY#vTJ{eemXwoME=PI>EbUgMRjQ74j*{(4 zJ`$BHYK1KC=(Q>7^!9#-06?>=8y-6-)EX2oQWCKcDOmMHx>f2iY1gA!o@VSFa4aIW zqp{(>u0rXEOkGWFE|&$t?X(x$LMlF2sksPCvsG5hWze4eLu922V>T4k7_}S+lvR3j zlg3ktsJYWqrOSd9qCrw^RB@+nr;JF16<#TD$A{buHMZ`%cRHalx1>yVQk1u zQ)o*prt=abs;JU@a5C-nxiGCk@3KPD9c-gHG6-m8>dm>O?fVXdBf(}v59+Pm<}M6u zr8Z)E1AqPc6hAmNGSL~ORAN)$BumkZ%DDC+0U4@oz+?BkziQE_chr@~M`x;!_}Ba|GC8G9c&_rc1Md%&4+>*h;Ig@hk)SAO`$+Y$^N>eAhrPfH{c zp6738uiu&sY#a_^&TZAM2R@170q zfAFC~VgtwdR&gGb^)Q@GkXEQR1qmst9H=#PTq~Vx=p>kh605hfk|#$cFW;c)eDjHI z(7&C|J+f1O_HNNPlfk6uQNKdvaBk%5GOjYM75yCA{(A}bf%UXOqZWQp%{i=fg=);P?ftv6fC7pHqq93bHA z&(P`Xa>HPuc)f7<`bwI(_xU|U;c~5JGnt=N`Ho6qyhSb;Y%Z0`Kou{Gh^=kuMbZ_e z!#6i|+V9`N%YC(lMcaK{LN%;2s&1?>8kWNdP&fLijp!W4Kn&Y0N;r_NnLL=bqnrpF zg;Y7GhLh>{mvRZ3B}=8E1yC@8fn$S}#Hz)=7n4XF_%)lmgctcqL#}=B^G*$$PU{F9Hl}-@skg4{_|7gKl*r6t!|}qn@4Ty zC-!~i2fuk?*V8-Rcy}$+dQq!ZNgLF#PQJs0nFaWRM&rvUu}9hxKgnnaf@7rd>qt1a z; z)HZX^-G$$2<>+CDApy0Qrf*s`O8n-pEd!lTBNNCTtC~W`HdsL{kW-nqtZVjr^Y76g zKk>kG{XL=E1$i$wPa?V2+ z)V9pSx(5#L6fF=`TG$fv;F!!p?LD;^#pv{GQ91X7|FK+N|9&+0m?L}Y!@!Y;cBjw2 zs2@=Zi37j8_V&=eqi0UdY;o=6yuGztDVdD>)%fxIjusG^9WUlGU{C)}4OD>0q$Mm1stc`i&2tyKzY(8hpUgJXtq6#y3JHnNEM<%8J@Gq);7^YOZRb z$Mf0CCG;hMUFW^tPXgxzu+6iLVb_z1FjOZ$B#uArX$4By1$KGuH&u2<^zh1fX+|eJ)ifjK9e?6f-{qMcj3VyUd@;z*O{N_z^r4{no2lY^`?nG)LL9W{>bKcPp8QUkswYo{HHVGsSEmuV zzbZePSuJO=#WA_B0(aubY;De2l{bgR>cwJTD8_jm;fWDPw)kmsV*>zSyB~y&h*8kD zR?@_-U2LQw_uC+8SSX_V>#T(#Cp*EUFBH`n9_W zwUzBu+GC}pttA(HLg}_dDXmCt9T$K6^HW#P>6?4eaBSQt|Jk_@>?e1R^L|Q$ocy!? zzxkJcM|J0gE=N&!k5edC|vaQYWN{@-NlR;Jca>-?ak$Lj7X~?gT3PzoD3IMVtTjRVldTP=TU192P}#_ zVlcWdCuVUu-9iI}807T0+ij#>ue712QfVxL;<&H-qs{Qy&OlG7M*#LB|W^KCMIA|QIfe@}RwC6uLp~&zj2JAsDBdsh4 zBU?vzw)^(TMXt^wo8+%Qpqvj1rfyhYQjyZ#kBvh)t=rU#OMMiURM3V>Xa#Rl4s1v( z%t>9Hm4&PRp53i{o0sR8PuV&~9OZCR)(AA>DRrM(B2%)NK#eRVr)nKu6H@iuT>PNN z-Ltfu&a{_}0|Msr6)3@|k<;~kAP4bYoJa=Mo$?b_U!qx83qVVmCvBn(GOHuNBLveDvskKSRDBfIoOi2EHjBDM z_%|K|M4(j-6SlWp;IFHbKgIe%15|g|&dmZo&4mHbg zzh(d;dMNcWoRQrPw+B?YvZ|L5kLj?b+eK45xzH*}4ro*UfS^3_CI1rrPcw`DCQz*FinSnL?~fC?DMCL2bT#zJ5lrGyM2$b8f$ z?c8W&c;QaB!fsIS1H)0;y6%_tu$8KWI}FJ~WyaE!Y2XDgr&4t+-R0!^dWXiAFXq&8q*kmjoYZE;qw5SyuXBW+MKGu&Wb$ir z!lfW|go-UUix#JCb-7`7+ZUHMCiZs7I5ksYTsl5m0F6o_TdHt!3(#&lySmKnQX$b$ zAq|qzIGs5jvR}NF>h2WnCL@oEnRrzzlj>E@OE=dCdd=%0s?$&UZAJi)ar7od=~UK5 zo0`+1ZqlKms1k>0b`SFvnyfI)q5a!LutYAQN?TPX@#hMGMn*ZiT9BgjK({lwk-`O? z%;=R$Y5=E^E9J#T%INb{3ZX)Rn;0Le7t`^$(A7@_W3d*;yC5ZpY0-3KD!#U*-=gu_ zAb~EBW@)>MD)7c?tPowa^zRnhHJKF5*V^TJVZf_*IjphefXq~32#Cu!Wth36&y@&I zT73P>tLa>7v&(Y;Ri<_?NY;B>#S%oy+T)QUM5-O!WTV>L<+@*_~NA59bWrkcusnAP)_q#tl|LNmWwW7(Z zt*-u1D9v$fpIdo&uR0iUuna9QFeC@)X2D|+`1Yz=>C@oY`f6FCP;}UofP*K?F-9hX zcpZ!scmyUO6Io?#{?5?q5{KKQ?5w0!=i6RU2Ku@jH*ZZp|HYFO!>z8))=1hgv{$FF zDX=?rxDRE>U=(3RYM{@yvAJOFA8BN7{>9fmvoe3#*P&%Nv6Nhc2~#E&GV8a0`)d~t!lcmKG}p}BEuLqSx1{rgxtD{TZ9H!YZy8XR&bgK4v`AE1lPN={>! zZ6>m9b~rM#(lOk_V>V2!SGDt1QUs}{NX=YY<*YXQV2|h476?TIA`&x)(mkE{DN>w>+7zzTS_0WrNYFL|u<^BT}(R z>YdxW^6NRJQz*0vq84AP>+~uPMOs&`Z^9WIwA#w?lmcVlereh7Hx%cB`yV>Ec4x+J zRAoXDGe$7os=~sm&S{LT#0j&eqtlhRnmfBzx^J&st1(3uLfJZI0gV7*Tfcm{YZRZF zm-#yA2DM43j)1go=u;hFWiehC4(%AJ)LNC0&_6bmPAqC{&eh2mySuh(bkgn#HAmC1 z??IX_*T}NdWXcpVp2PWko=^~JuB+3ksDzTD#X#3mGUJd0qm34;2G%Z3F9AThn{J!o zv`(jKsrFCLC-)4hnHEa}xj~%56n$!m7V4I zhNpLDcwX_X?w+%)rj7=_M>!K9RM;Z+~Si@<0O>Wh-+zKI1cvTHptvu1Ge(TNo zZQaF6vb5#?KbH`S{PJCsf4lY36M=V6V_x$`vfPHmLDjZu%g~y?t{mJ#`{||All_Yf zITK^_jV`R--Tmay%8$;JlVp(!qW9slvgFe1A9kPYknS>k0wr$-l3cBL z>ufkus%%*C0- zmU`x?j{a8zi;qG@#J4`457|qqwK9KiB2Cn_I$@t^XOaWe?}Lc@LO+R{NC-y z|Kq7rUAA=n=R1yk?e%wmxZ5^{t-4Lt>kqmQQkA=0$%49YH#QQhNFF?HQ70Gggz-#X zz2^%hu8P-+}TJ^hLQ_Q@G6e? z^mJ~IB#iOqrDLD{^RuVFfAQVVfza7x@g0$zsG?C`Y%$4A&`MI_25**A);eBJs5DQt z+nlTSU|n@l8Vr_O8PO&&GS5kK+)aK3@@-Y2@d|`g1Gh27r|1T^9yXEmsWva|Dt)ht z{$Q{B>+i?@kr!JAX@8M_(c%0CB&K8Z2P+{S1b$9L2Mx-uSTi86A^qBsJDb<`Yh>g4 zk4}@-lh#Mx&V@mBZaMkD0DQR*n$wxa;pnOetrhAtj>)NM+dpM5J}MJWBv`dbaQ^a^!TxUVxcXdY}c;w?_B&}8Qw#) z5e)Ua^yF;neGB)H<%^ZMm(R}$zvUs>u`SClt<@EBpIq>hz*(}`JZgV`L;1`JV({m) z7oI~tT5Y=TF54^vrEHyoG;*N|-FP?u&~sK8o-s=XFjiyC)!<#Kjk9@S095cm4Y3M# zPE6Ns-H1-y>;5Di=vM7$F{^0PSP?|7VYBrnLO1RXZ0T<6`-_VkCO5kBR@!&4Qz6u; zIxkk!AkqylrxQ7wzWZ4+h+?Kc+?;=^=TyP$`+6*#kqEM8vBiZD=SUjHz&d0I7lM6z zaS~r?eAMK(tBl9BtyM?^X`7Wb6w;9-*v2!ML+x6BJ(Ss{w^a-E#{=&`%$t{Q22CKWS>d{M7TkD5RtT_RjU_)DKQ)$)NJSlZ)^EB9pGoCW_zw(!hT% z{pR2X@W4IyBoY$TP)g;K-+k_n&;R|2!wU!w4%cV=V|QDFTK8Mu`^g87JovRYPQPGt?fLD(KQhh1 z-m$IcmS(e=*a7WCBC;@l_dNgrw(ofC)iW0!eRR}MA7|ynMck6?)2J9L+UmeO6&7$T4`rZp3rIf464m4rNlUv zua-SSnk)g&&&-bdcY@qlX>FA-c`OPAS=tGrhwXy`6Z$}V=ORk++0or_sP=Nc^zb!xeW9~IIwg&!i+Jyn?iTh_J-2SrteYeyl( zp;AgYS+n->W!B=FjOWLFeKRYoMh$>jww7}+QbnkIU1qRoWpKS((1~?}(KcaLdtlGX z!b?>CQ(GqFlH6n@bsSA->#|TOSDqLIvpLSb)xrunmliPY9BD07>t*WVV(!qRJJ6Dt z4jjk*O<1pYGzCO$sKs5e>cwQSp-0>r*)Sn8g~-hv2mkT(m0P3z02Dcqx)D*@;y~Ll zdURL2DNrjly~UQxpr}jVjO7y*b|#|xoK~A4-szSrnRYxPhZT};lz!7?+@DzW%Lq<0 zxEzS*n+B0tQ>Hzf0_5viE7C62?P5F<+}7i42b&na6Xk2gSPZv1$UGWbKfA@NGTMBN zT2rc;Ys<%&Xhx=#AF_IaCAb1(cQ$UhbfY`A^{(Hh2<5R*C5?El6Qo>jk`}WSib{mQ z_w?3>R%e_o?DiOOuvSi>6fd__bDP&7@j;%*773*-i_J4jM$40Fylo=f@l0HRdVLa4 zU^OYVwm@bgp1;}TNxOv|l#hX`c|59Z6lk;UL76f%wY*?%whOY37S+v*DC=rkGl#2u za=)P?w@UU6DNJhJ=5iX);w(}>v~^cGSm;FqMa=J&braQcE_4mT6v*Oo$ZL_?JN%H4 zwDDamS<#tfFk7BptqpE>^A)n3EUK+A!nGwD#rj6U=}F-tmS?bTe{ZQ0#tjovtf>ae z$T zz;JCFB;+)dBcT9DfDuhfilr}b$DPP zmM>GyRx%ZLx=ow$LYGAnj@7AJc6jt4FL0UkvW(~+9#q2;;reuF+kjMndud5QOOPne zv7(+TCRXN2?||9ep=;Ee0PHQ*>pX?>gtS;KZQa&c2o@{(q-VfZX*Ll!eEwE+Z&wG7 zQd$GVfMpe;%~HaSk%4$5;qBRX{c22Y?k?qPoFKP3wY9d|fJ3qJ3XU5rGDg8HE3Ia^ z?(rS!wY#f8pA+lv_7*Dbd^QD&vQWO*+i9jjIvSm|*ijU+!!q^E+Qy(qo@d$KE@hVL z(kTeGx|qwO;n8N#9hWsXW9xyp{+O9sZSEhz2&D$$>7`Vo9eIOnaxes} z1+p*#p(s4P67TEny1ulEAP5NjA0P;_EcfrfS_J^$!c-dofUzw-Jw)QwsW9+=>GgVD zE%(x;4FK49^$a8k;)(6nGq-O@PKD^CF>Kz8eGoaUMhJltlJ{8 zfaRrEX8!h3)s1lb>rdNf)^+y8e5NYB15@8RX;|5)udh~OLEe9q_=oQ=Avo~NzUJ%_ zt?1HGc-n68R!iwREoLB^No15fhdFdkb9-p05{>HGz6eTji>J)<}?cr3D!%O{t{k9cy-h}=6+Y^$|g?%=Sz2}r9{L62q; zJ1#*an9PH=`Hv?rZSDJqjpg{^6Yf?hUt`wlyw(80n=2LlfUB9DZwRQu>I~1Gp(UQd z&f)azGD)TNo!iV>G#Z#KDnhnxdrAdV3K!axOouxNjd$bjf_V_O4eYJNrpLDrw?ze& ztG0^oNR21u#3j6CVs)fKv@hR%8AOSCFsAD`uzvflp{IXn!m#;aQD*l=R&)7qZP+zY zp(4rLcG=D&ETDSe5jOy<4DRma;*_Pwy?o;Xw~X8I%ww7N&O|g5Iu}_V+y`#9?reOb zlSq~pKY_QXHKV3q|F-bj@I7yzUGyC`Tnoe{K>Nu4PAm3*bT1moCCKT1gGXO8ZeyO!M5i~Jzl zxF7l5EC2W)3V7EFYD7_{L8V=9<{L<#uBRAD7&z|e-+m!J?@ZQ1TlYNHxcK%XpZ`{^ zv|u`nL@uZePUljs^wZz{;Uu$vm<4*aA8%K#PZcFw_iN+j(*Jz(*V$e`w)pPcu0xQC z(NP-!Rjb35E7LDEC~~OdyTdyV67xZE;@C&udDXk;Gh)qvA1@=4sJ&<4`rX;%&)*j~ z-(by)%F6DKe|`C$2OP)XZ_KXe_Y5`9hkyA5{*AHy-@r->(*Y%rpH8j!3A@(aU5;i; zYOxO_*O#q~@ka2b*Dzopq>gRdE`0F9&ar);?NI(Uh!uEXcKv-8no(FDyZ+&K#Jb!z zm?&)qMcrUmZES@Td;5-L`@;73V++zs!So@&6oBM=`^U|<&o5O*r}MXRD(HBv@s2=2 zvL46nnb#~GU!cMtdWIi~ZVG5`oUV~dq9Z+N%l`W~Y5yEc$My^iJZ{$MqfWRq8A&>SW4l_MKd7@cEAMPiA61sizv6Um@d@ z(PEWmMiA*j@k*ED+ui)Fbxdv384yAF);RHl;+eTkILv<^jNwwH__T^uXo^n5&R^1sf72AyKPV3GP+8>J~ z3q$uqRH~d=(YJ?G(MrfAbwa@TEe3By_Kq$0=<@B>zI3Cw$9m7e!G+(fZt*$kjY7>z z#OG3`gGvPgg_i8T9{VR3N)CO>KGGG}@f`Q;uU`54Puc&1*J*z<`;E6}mt;cI_t4{&^()4Vw3!^) z_Q25#i&q{v@eNkEv{=5fTR%E=`PV&zpRRz_9WI-PQc2Z4v6Xy~l@40M3(GgY{gr=y z;Sb+;^xTIbcYZTP9J~))Jd^dA>`W`V5(wq;v%mPyuRizfpSPi^+uL>T&g~bb-|y}= znq)oiU%v88pWo@6@B*6i#k00HvaodLoex^02ac+w*YM=_1h8nq+7+f8zC-~PUu89)d}?^h`zvLcv>}(> z51N)&gEv|Y>EP~ziSS~+n8Yy+O@(tAx>C;rEFpqfkr$VXYf72Ir0xs^ry&?pDpVk< zPGvJnr6wU192R>wth>~Xn#_YFlRmEMW3da18~)~+0v+2SJtJ?Gv|G#!Nic_u5Rgda0){qUE=Fa5AwXMS1n~XEQ60V!|RzSQo^(Y!`gPJWNB-STlYni)b4|d zsdsM3ZF(Hiz&wPA%~~eJg6W1zjfkR#XKGL{8sxWjs3>+l5;Asc9CS2iFx@woFO6uF zRE?LQimC9N&*%w;?_vO<-F`2d4y3bYhPk=D?*R(T3+P}(x601Xx7zajAgf6XWWZ$! zw0n!u1WTK+M#q*Jh0#rhZ+9wH0(2J^O+^1THpEbBOjpPQHLGBNX*y_eiUkzM43L6e z_>$+bg{za@y~oqsEtl{mekN8S`3LgCZdjdhpUFiLY|< zPB3K~K5Qq;Dp5;R;V_zkOT1~IY_77x7DXePRl z1Ht{$HnkpW40l*0X3xzlvwa;3R05@wO{>}rsJc~Xs?fkg^FgT$Xj%IVGGDFH0&t8& z%QCsUURa)_kjbQ5)`PRHWR^7K&2ik zkB)8u$P7m|YDg}a%I`8sS7T+Z23VNR?%E~UwfmvO%8iMMgI6z4j`W&Yv6(Bk`IfB1 z)a6q&L8wj`9f|0MUhk~uQi!xDq1j@i+27kG)WCL`K?yt(C&6-DEz^{<&7O`&Stc6_ zEll60jvgC>Av6}P5`2S$kULW`r-3nat2I(Ol?ov|ldHi#Uw6Bm9dMdSdV^5*x9gF) z$xq50*VQqqP%^0^g`?qn_xDg$sNRmtH68iD7P(G65vdjUSgvW7X}yDYK3?5%XnT{~tQ8WUWY+wK zp*B}N{|6X#T?7#?4_buG1`t^1f;+rne5u!Loo_ zUwY}I`|h`9Vt98ax*qY24B+*|IT=8piY}{TI|L>8B2ty%YE{R|)$?9+;DalltgN@5 z{QSHCh+loge|@niksy~AXpKr)EjAdM0U;5UU;@txf&htt&jPQ-;FXmP6oEtl92~GM zE~Ny41poksVV>t<80LBY&g|M9;Q!b&=(x6+c>0O17hewm{};y#003kgrGGjy@xv=q z7w)VB0Pz0ZGyp;x1@WyD-k-m|;#Acnuw1P~|8%bSmHP;pjQ{9tW1406mKsu%q~D}l zh?KNP9p8T~|IO`Oy6M~9sr%_GlNy!m>HDO0Xb6XIU0E*ln#2^KeC1l=A0EacA+mE{ z_h0@;=<8c+OBG&E(SqAl*sPm;+NrA{Yrfh);hBD8S=$dnZ6Y6zdv@3+mog`IIo8uH z^Hzv~G={BKVRJzA z#DJ&}9pFi>E^D>35SjL-afY#WF_IddH7x?T=Cv}j;6-O+7t!g`4jAc%eg(Qegt>4vtiEr(^&pj$t%lnAPb zV>PY`WNLP;652?SJq$$g3=E0oJm&S3BCA@(w$0U%t$R@+-x_rrE03% z?9ZjAtpg9~098eA5UJ9{JtrF3HNVeC>=fl5N$KWY|ERJ+HuQ!rNwt(COAaDq;-j<|0B(hp77gff;lG#-f9j}IH zPSybQ;K7p@WsKT` z_}s1cj&w>jU^|c|$QGnjiCekD?*-oM;ohm(drCdA(X9raRNcANF}kY-gZaRRHM2`? z=-BnrfA=)A^fIo2-RW>C0VWIQ07Y8LpW^y=#J-uw1S5Vh~= zhrSUVy7lI%pT%ZmQo90&An{9e?dgSu(-c)?)O{kD*?a$ z2PN@sXTxxNC|tOcF!qj6!An-}aBT5bG5D(2@a1Z(^w`lSUwu1_n>1LvM@`sUzJc20 z51T|C1+~2DngZP;F)1$>uL;2Ir|<4f+u@UR+f+nwXrG(5K^{_^S_Y$;5;J#bkE=N^v$*ENcX7hV&aGDx_`uM z`M&bI@9=-Tx8rzxGk=u;Ud_V}!24mY$unmxx-Sx35~Fr)w@%)vi0_aIhTSa4PQ8#t zw_A^kt~*t{r`IlRZU^9{(J~$H%*w^eirqa*$2sjWlN^@QmH1rv=7haZCND~u=PVwq zSM`q4`2ZA?2sYZR6=P+M>!bxuwArDW2xl|Q`Jusy)|zzB392D#K{2Jl40^XwDuGw; zzBhQlCAYZIS32YE4A;up;XyzuqgsGsq|V&cxb|BNR-Ys+PcMZWaiP>>GnBc&k=nHsQ=-GNxgOjB9s!TBW=A#pBoe=5HYav zpXc9l>U8%!VqFbCo0$&0`TqCDxB2^brt`noe#HH0->$#2Rk}6)->;^F3XKRrRti<~ z0&jvO=iYt=edvjMCEy)EOqXcAMiJ()TtaE;)ws=ip&|d;p9?O@@&9`DSI<85%u+34 zG&XNfO%Lzwn7uippM(B;^S@MDRfpfW8i7NB^=kfnI#Rsvk;h(G+%)@4VdfJ$ma=yC zDyY<}S1O}J1DIx4ttN(}B0&rpRl>PTS6~>XDP$wROvscqvQ=+1fd3zoEG5zj;QvEP zss#{$>&-GC!g(OO0U#&}WyF$FuKu7=R4deSWq4FN^3inEOxNFwd-wFH?0Pb=_WrQt zF_n#NQpFgD)MsO^M{ymcy7B8j_w;{WtAKEYR-)w?!233J^GudypBsZ@@Wn=RLfkPHQc$_m%+ z=CgNfgT8z+LP@-Vt3u}<6*CLAO++t_@iG5wF$VLKZN}5=ce3p#mmArmAO@&T#Us-w#6`sH8BZ4W4P*^bH+45|mi^|rX$Yqqr+)URqZRyLV7 zN2_H6mX(d-6@|7ZGWn`X*_{il?>qV^n=FFigJ2^{7t0kt!v zOiJxziRocrc0;aUR%0Y4VvVg0fT7VZZXSIDzX`H zx{-D=B{gli6Atdv=~B7@x_WbI1?%aWu$RJ+sZUGDiEO&gF`N#cT>GgR`COL_i*v`5 z+^0E6Tkf_C>b?GMjkYrt$_S2ng#(-h^@ZhET!N*pzHh8|d}Ym?)!BBb}uHje0$thnW`E>ojmBkjdw>I->>22BVmw5y}aO zh$BE7k|Gj>%a>GEooTbNINW8=rUDEk1VU?luKpZT$8j!Rk&fU9Do;)Uepo7dEY?%osIvgMZ6;4QWrcNd_sVYNywSoL%$UGiD!P&({E zCva&>W9=4bu0mxSg>_V+o4X^_pf(OQ>bb1V;z%=}nw}$88+xB-=-fC;t%i6SoH3;vII!$)$K9ocR7{sYs$%Gss0fiElnd)+v;! z@+I3Y#<%ElqMK*uEe?xN3GV!E#k57Mv$+=+*V?y?GEkzYf|x6|_Z>D8=SmEn5*H#j!s7HVY%bIPqE{?d#AC(7c!=swVgz!Kl?T z15RpCp;1ssAP`p}}xdzJH`5dH&|*^&1xs3_Ou;5UB>!4X)^pKfV0Q&sxQRsgOL9T3!G79$YfF zQEdgj`e?V}s`=OcKR@^7BY*Ymk@{SwN|S^8j-0&m2D-m&Xu2=m49XNM5?yyTiftPl z4i`D^+34US3k$20y`2Z_uYJmMBVWmV&=}Q=DehsrRl>^i8zMh%T6in8_kSED*|49Lbu|xGs-QBN1ys~F;WlDp1>jx&4}v;!_BWfY!QQxW69nYBUI?gb$?^ycwAWBPfF7ppEf_qtTQ)eA|{qmpDQJWxfHj=SH0tjTi z7-KT;MoJ&);zbRNonwgOa-kvY51oo!SEYT=9JQXldimIc?I%8rvB`jffBIGL2PkMD zLi+XK`XfE26Z5HUmcutT-vWTm5h%w|4-bx3lW7JP9W^|7BK-DOTDJN-+CIMU+A;a? z!|u;kL+{NOwMtw=FQ3JT*A}xF`_%lF9YZ)xUkz{q?sNz>uVR%J=c`gzJO##iOQX zq5JSVS2&?iunqg#LggZf^~-O>qGBaUQTOhy8iuqXvQ0ax%gjN-Eu#3HxY5SyTO0#s z+2vKX!>P8R!sUgRMf9#a^M#~vbxL`D*=nNeFF-0jdn&Ry<|uO ztBcaEei*M|Bt$9-ctO_0oyA%fl14L;&}X|I$}^K&5BGlOqvdTB{q*i9?+b1gmIg-U zF#5$W-CXm?XKS}@$%BrEu0_e|Gv9vW^FP*AQZjYs`a8LtG(S4_=%d?qY82TI@48zX zJgbrrJBgJ`Ee{=RLx9oUP+zBYd6LpwkF_|pTQ z{mK(Zo;mpLTd(XtVn}#BpZ@aG?&jh0+4w9I95+p7l!%1Cdg!kg6~&2mT^osDuAIjRp$<3mO1` zCip)zC<^?Sa=8KkC>2XML59!^B2>_$Q2MK$)trTy{rIugBUc00M-5#y2!d%!DACck za#D$~$N3G^y{R>sZ@i@%9ImC#-JwJ-r3}7*50@Y@y-kdnd@J+m+1yfh`@uquV4)^B z>ZmP1@HRDC9G$y(R$?6c=<-i??RrYe3WU-tMUG?22j!ShZrN8Yp}?Z`Zu)yVCH~N4 zYI(zvdm4HW$Gj?EdRbwYv~)X}$si_eCX4GrOqy3W-i75w+un6aUL?(A%w(f zq0l8%pZCn$&`b~!uc7>dccSN1{8kMBzq)$Wsm@B;DRZekR!vlpU_5=zWwcP-uynAC zXxbFiT0F)oBut~hvsEmch^-ZQr)2%?UGV65OC-D^Gk3ueh0rEk_J)OAFAVA9{Ccxm zc)->{L4XjY`QVhHcch#z^}wr~;CL;5U8WpyI~|1?FD6Pz3d2%7isRdgGDDrs0HVuN zTH#Wq?!G%F!QNcDgB8zvHg-zn$0$Ui%54f!N2`33Al;tjHNCAHhniGFZ8SZkXtRN- z3z<}}kkD2X6$h}#iL6=4ahWArC`YsTpuN4d&4hYFb7mF4x>o7v?Do#ywYAFBdSamD zQjqE^cQ)D$2@=&8N)T1V7S|PHL>_Sd8m*8Eb(pXyEtOG4XC)Ww?RL_YdcMN=GtvRK zBbr}N=TMEc9?O^A9g5p4S)qav!6K@ZLl9g7sd0H)s*pDjIo%X#)s1kFrOGu->|6}4 z92iYc&D0%6!NoJa2ls0N8&!#^BcF<;YZ9L~;qIyz^6g5QIL{^&){#~Jx=Cp*Ir2O! zZ*RrJz5pp|%_PGt(=677a5L$2X)>j1e~)E#ZCxo*tcRo~Lp~af+ts>ii3GH#wY4`_ zxB0_OTx8G3D$cH+6H`;wTGF7hLx`qcJuMPg1u{i05+4{FF42)>jEC4*MJSnFs||GF z-CK5*E0t)hF*>X)mW6w^5Rp2MN&0wC!R`{Qdgd9%rc>d3vu5iVPs9Vs{=`Sfws7j>vu7*?!Q8riYx2tI2s6+6*+3MCFMr(7VGK5^{ z6+_x+j_h&op1*Zhp>_N6i|tBDkDbV-3VISsRXEVViWyOXEvh6~Ea;Od`T$3BgdXE# zb!ug8K52IETMNVp7T&h4QzgaMR*C|_Vofy0!OQ(xp~1Q}5iDBGAYIVYHF#*;J$Eml zv%AXyA1eSVbq8j{CogYW^`(I=BeDCprF-^;H+9Pr3LAPrN`W;c%FP%>g;fO*Kf46 z9q_CLr1Al@f{|HnYedsyZCTU?^d;>OI~_sY(y`Nf%ZtEX#8o5B@KjO|IK* zYp)E>;M0Sx>Z!#5j-!nR1OD6mMhpP3?g@dvsPWXD&5hfuIq(<%83zC5`Cq*C=|e5A zoQ-INl1iie!AlG8`+$HXKDS5E)h_z`Uq;(?Fj?chg&Ti&2xPL&+a$T&PP}xtLWPiT zJ}j-=&iwdF?NA{**JvCVx7sl{mhmXVHP?PD78VCm^QxToXXpKY_o&%qAjBuKc-xeI zOZ$s&EGG|E`}L(_dUo3Tg}tCEXihCBMz>f$djF$62d(Cw zzTnj}7kprg7O)OcCU~z}5tcwP8zHrAt+fi22}}y517ka~5TFE5wpLbQn7Iz2#dv<~ z_;a~t#3;cdci)s)Y(o8(3Z)?HHj8xi+}me|9vE)v`x;e<;Jn0YRkLIpTv=bK7{s0_ ztjjeJ~Dw7OUedF7|WZO$*s~NS{nOR#_x<{og-bBr8)62&tE`+oQ z%te~lhmGvur#rDKk_N8K^shCJXLYtc)!ceV-@_KSjTDOvU0b+DhD04OHJ1i5wR1q) z3=Y77OHcO4Ssan+Gg%U4rwwM$1 z^U*e4u}a|?M#B(`!hAtt-4~phbmHQwTTRF;bR8Z(vYn$-Gk3yrv9u^xOnvau;jex% z7gT(PTW3c3UhOne@Fsay{MTXCB*LOf4RpXhRwcJZm7u%ENowPF-53*(z6S zJ8>uQ{b%L>@YBGyJqP9&yvIjPP%|x+O06obCkd|K-=r$Br*}H?bUIUEIt_v(*L0HB zH?9X69#v@!@pwe7At6p)DrG~ZW+q+gvFmY|oeN~;${Tm@#Ouul5&;Zf!#gbfMEdG_ zqg1c{^p&XrwO|Ke!EV_^`M}(*H@|)KQ&(@i-@0utS=xO0`b7kRzSPxuU*37|=9>^I zcmNaTOyUowYmJ7dFxYQWD;1!ywD^ut>F8@AW<>JpORwnKA9HsyAN=VZJ)!#4SN>(; z!oSJ#R|~riZ3)&B`%F(Q$2;AnNYT4#(t+TkfJ^TV>5V+1|0+P9ulbPhAS?Ps@_-fhX;dxYMCbl(IpoNXw|Y zfAqrlzV)52@893|@!8+@Z~Iy!=G(h#XLxhbAlN66(*A~iy9WH}92jpb-@R`A{rm4c zS>2gPTUupsemxUR*0Vp*+rPrAsqu#z*F1CIdE^scU;OP)hmSuy(LG2K+U2#o zd$y5w>nC6S{d@t9_=r{($Ju(m#}G}LanF3|L4tm{_JR~@sEt1|^evc~C$C45Z|}kX zxA!0s%7?H2iO@KQ1z)?f`Hz9*Z#j@`#eQC=ej+w~A~E-ZRIWR`Rrk@&6AauC_q7aU z-EYSK!>IpSrCd^BMTC@Stq&zU7xo%kKfF#O5Pbf^CMp#&6(*0phjCDo15%<&*TH-w z0VCMG(0c?Xrkl0N_(_fj@eRw(!g~aPTuYpQ5j0j@|M2|H$E~_k@fCP&m10-`mAFO? z#?f-AdK#}&&Dx+ecqRioiOQ++JFRm0_m?OC*e3Ers z$+rxwtzK=_wAZB3H;?~BPY9kJ`j6MIT*j1!jeD<4M8mIb-rwq|J+b$1e16GP`tnO( zc&<{qpQUtsJt>m)y6w4YEpJxm3-hXMF)F$2(xWIUuE*}tl0%X{ML?7@`-+=-_0e<* zl@o9qypQomAla$hTG{!~?&ADRU>VD2vLu~{6iPL;7i+z(l6Iy#{G?J4d#mX|3r&fH^ zFijY3Ol4iF6dnRTRHxSzrA=xfh)FCIw%LihnKEtc8Ok>be1@e3xyT}4BdQW1LrBD^ zEKjZ$u@1FJ+ToTj{M+J(%i5M5dd=N9|0v5C6)sA?dGb$h+U&hQKKq}fME3=4^Sho` zzxeFeXXf(Kq`Sq9S(@#9wmdJ0Pmo4?Jj68az`=uZL zNIoorG|1q=?Y}s65<&4RQ!hm$$k_OSU!VTq*=Ksc`_+HHG5OM|%j;VXJe7RQs(T|29?5j&2!ku)Y3; zsnIQu^cCT=<+Tfi%f%AXGjQP2op;>*@D6*|P|N;z&i!_%vp=7S?Rdx<+prZHjTVh6 zTj}5MeZ01|mQ7OttbzYlsZ!woQ8kLLQ8WO6z_EC-0D*>7k{59B&+h#C>Ap{X&->>C z%HBqu+1t_YsrdRFuINm}5ws?KW|=+_n*SxO8$iNcTEwaAjiM6v`ia{E?okdZ?QsuY zxPETS6RyQm)&5p5Aa;Nyd67>T+S?28%@NyY*kHjvDB^@W#3LBHTD@~KJhnxLgEf}4 zwWuZG&2@q@RbW)wrM&B*bqQA4l@uei}CQEaG{WCIe%V@+LuFXP)N7XlJ} zdwJQSl5Mz0jwz`k49Mk`j~Wtj`&Juvw_c6%M>{+6*U`RlTYd&8(NQ?tv>Sa0O_(Q~ zRi>8?oYnVq(BbYy&p82?@T~S42uCQmY}_%ybC@V5E^{TMj&PG8g1)9!XuFjY2v=iO z$?HoQ6)n(X=T~a#PP?K~%2U)$l$;Q>Ln?%FXpP0n3L`A#f*7G)>5lAdh;OeXL>7$# zi{(j`f(1BJbF)N&53pJE9wZjU=JG{V|CYY=%-t1TG{LaXtmYE~j0#rRioi$Igtnc7 zrlt^zGnlA|Ko2d)&g`>quK-mj29Fbx8g~Ujwc?!P$lkW4&86{{eaowaLUvD1^)u}) zmDm|?a>`NYtQX2=H5wqPaQ362j)_zS#A}xyJKPyqtd$elypf{PA(N`R-u+jxOi7uL zQ{`3Cc+*0+%uUh)KSFhih@yy8^UbVya;mqBK2exad9%11MrWmfKJ(+bJ?I!A6$BM7iCpWE77*W2g z>3>|ZIom>T3^69m15kY8YOHxFm*RSY6qKZ!5*Utg$3DiGhS>c0JrAN4-M<``D8sWbqpHA@hFMZ zD^!(dt6RGa+XD|uM=Y>>hm98*}c<|sDQed3`Xzu zxE&k}I69*sV2zWT30B$+TBb%R=*0ac0f!{AbtfU|!D^gB1i|Xcg)?WYMqP(vXkl)# z%?RIJhlGl%St^}gSZlRoViiF*s|tDdir0^j4MANd6fwz)nrW=o^U1wChI2(2` zrDk5C>6XY$BDw-s8?l;FEZQl+rBk<0+q#6XP_|J@_v+>=8x%upSdBo_?&f%c6Nv?8 zDOH=UaF)%bI|NiR*>=aH1*;8TX>=OlY=Kt()hE96_*0`F{Qi&g%Yl6p2Q4k?)%7Sr zpnh+mt5rGUFP6$cD#RcFQ}u>UCr+m;8$KGtFpoEaAdt@=<#~Q^pmk<$ljnI1MOeU& z4!UROHyD;fVVL2#rM18k2!OwE+D%fZa^F{UIiwz6smEnp^u)klbh}JTp6JRZ4FC=P zqTeB&^Hr=SEEsLh2cZrpvAS6X0KD%5|Ang4zx+7(Lc3%4n2ietL6g&>*jIm3Q3#Qz zC%9rc^@&D*ZJX!f{le`;)1e}7t>oY)_~1hHllxTOxU48;K6tm@ZWE3ho7b1(FhZW6 z%vh8H`Je*QsYriGq&D2SOY01(Oeq-)hcsBR#7l#7sfGdPHnTsN!oK${+XKV_hVo9oa*Yy+|Iw>v$hoL-l~eMdfqyf{F~>51iF#uG@8z%bR)sA1W zOO>748jchT1z3RtzK~iJoBL{19d8PAbz0TT)g3%riN~|mDlTbrS#$`oz8T4+Pjxx= zXdFZ&nWvEURy(*j?b+SVVi2js)M=Bmm<_9Y`lMJ-gMz*Bb%J#$csNq=j_w=7q-DL$ zq3ifwovWJrCQ9WT2TK5||B@oM;Qu@#mXfQK#X(iaBYF?%K0QQ;)8xoS4ASCl$3futI9> zf$w~7ALGa4Df{73H%`>E>fOufi%$1M=*~Mj$PK4Nfs$_*4{;qrg^yN=@sZYv%lcJo z#sIaTM7g=^0mV#U=A-!^JUjl)>c>=J>i*kF=$l!1-01R=&A4*LP}eNq1S3OrrL?`7 zLMxhni;&{8no^~>I`3;~BiB6HUP9+@e556MQdC7{700#WT+mC#i@p04H&=^#4ee^{ z{@uL~`_x==>3z$@A6}dJho?!eUx3}JjeqXJ=r4Y8UQS%zx7_lMsg4!2zdCV~Dt6RH zRJ%-DZqzGxXa1GzH@C-SzC4s4d70nbHpDnGA|h7LG^Z)O>WjttO*oZ4PyHEiG{;_1 z5b&PS`t-b+YJMoeMc48Lh^sYunBb~%LQ+C_2*6E_H;{@#xun2ko_tA!L5C!+6NL?q z;aH5=t0iRgbp#PKL9+rFj)&eamth_|8!IuKNCfD^uI}@J#X5rX4A3hu352h4yf?LC z5i1&)rOw9=;l^YA+kUeA8;WK+6}$T2`;WXjJ=!|-Y1`)((=UQ@WjULe(8D>*tErFO zh%7jJ4x*w#U{_i_V335|8{Td)6O?~W&)lXor8@uj=2c z#q62uWf8f}u|rtCrQ#I%^i=Rd4^=N#cPI-XO-t zb%nF#Of$s!c^Xg7-^(3-&y`NZ0KGuWvZt`%emm7pN1A?aepcmpda>llZ-#b$}5gp{(0Lh|Nn*YJLdtJEt= z-e&ts^&5OM65H>x&xLxA4k$KmXZ&u4KquiO31QDEkDn*cefp8__A(fCV7bp;k1bYAUrAqnj!`pV`7;7f6v2}OPw%X1s!R1`tXOYN1di%6gEC?)IuVY&S zfz@$QUxr_pnTj8?Nw3Z~TRS@Er|0LFuI>?v*D(=^WPdhu_Th(J8!P35y+=dk+Wzs~ zp?E+qe&EjSGsFFlB{SUE5St6;LlMf>V)FTC?=P){ee2-=MRcPHKobB!QE`Dl008v6 znb*W3VYGhVC~TR$e|@`ZHyw&jJY>xTE{Fz<`lSLa`$mmt>d;2IkKk|3$_-Bp_FyED zhj}=1fo{1naSR3v)R4MY6K^xa@kMcWmCEMT=J6lA z``gcMVTn~yfX2$tw|&x}7hVuLPUV z3_qTYtsoM6+t_rj&~8$P7uTw_(#fr(&nmLn_1v725-m3ss9G4XX8b;*~D|% zDx=@OjjR--yKP(I#q8c;;@rLB-rY`)5Wuii@}$qidQ^9>=}QK?8wc3fJYU_eDf}U_d8T$~Bod0Wc}X>>hK+ z)9k%lL6IaS(b_koC{HS4u>d1-@GP=$C#tiFtp;PZoY*;GU0F)ja{{m5Z)t?7)6Y;W0@;;|&lR^PP*S=#rSxkp2`Hejf z9!SMQ<_=dbeAlrcYkU9zAOJ~3K~$*g#6@^2IBQpptj>5<8dD)s$cS_@xw_FnAk=Hn zVb!ol-7$zt@M5{1DNFYqI&kgm6?ccqp;aQ7*ltc|lT`1-7`hpT@Mf)u+S?`dT)ou+ z%4KPykl*l@w~R^!5_?hEa{a=!{*jJEGMTODTAlJ@B4*MU#s^6TwJV7_+ei^&!?i2v z9S`i}nw5P=c2($fJ(d@%Ej%KUYpODlG+z>B8MGO`t+lyI)q3B=xYw7}C~F7DtQXDTK=62ec-%a-TF=ATiJn3t ztQU&K1i}B|rFV`zsMl#nc0S#je=npC1Y#&)l4%mac;X1y(KouG0l&+Yv8U;Ut5 z$-n&S)ndM)lnQ_G`^!z5E|++L2oeb3NGhK%a16_qd7k9~!?3Y^mVw>CSu;jafmF_z^403Kfn0I=kZ z*=>4%AOXXWURhX%0MCQ})10pY00>5#7=q8OhX3|6`_}!J+N}7Rp9cT!>o52K0H5BW z*L0xwuBLx*WbD_s@4tGTdelTJA6Q-96nx4JEyt0+e_Z>*dzmy%cWWTHfRS9yBI72y zbXV_{+FM&TGNt2^oV>?T+(8o!Aw65^*m;T4Q@4SLGO`rPwFe0;lcF((@%D1E}QA!$^-zKe$7Rnd-hdiP33v*%oUM0Sp#~zQsCl$e zG&nm}?{Cs{Nu!mj8`w;#>cVbh62#8_Llw5zXuw%a6TGwDGp;d{ItBxM1J3x;M<^dk z)%BdWj%aGV?eP4w9N8g!=V}y!1Sn5Gyld#hyBCjsV(`QVD?k39a}v3r$&)YtX%2;9hK)l|@$n;D z-a0iYm&$X6yhTTrXr69xbfX0R0z=XgsXA9l3I%Eu!ZW#;LSZP#iY&{ga})rSRxQ$s zL`%U`rBbKr4FrZGsVoe^7yZ|H9}HNovsLW#ygju2c>LOAy%45I;*sM|Uc7wmQv>oJ zemtM^FMs8zb@d(JEd-P}VZ2EVSq4pski0;I7;N0x{ocK|wHVJyjFzPq$N(xlK}J?C zFYb6~gnh2*@`(jQv%jz7F3Xs5bL00+YkzsOrm@Yu@%+p~PmR&bEt>r!g*5y3M|=Np zWA2cRP5(hn4kP+{Iwsf3_m=-;)l17YYYY*99T-V1=5iixxHI~ z)HVX9LiP<|nuHzTw`cv2j}G;=TQ5w%Jft{W5=ugIRsg@(``E#BO|pAu>zof!afMK` zoUPY}I{4Yw8OHf@((KA*jz5O zZO@iqCeyAFh9fY-mvi&qNTYs;zcH%V_i_B+r`&`=?T%->@fHu^+k9Lg zyTdCRrM2y&;|u<^M~*&x@!E0|w3j&=Mo@uf2c0=bN;TDV3UC^Iw0x zW8^vEXtzR7FRjdHO(l~=JWpNdl8go-wMZw|YHz>)=Hih94{{A3t*rgy8$bBZk$;~} z7y8u0xa>2Vsm*#pX$=Sh-c?efyHO0x{fRl&s+FR2+tGa$Ps;x>u(lS+rb8iB%7?Yl zkKfno4y~`eiG=DO=CJ_v(YYA7NQRqY-HqSd0N5oWK3tqYr0z zFC%W3GMa7*G+Y!**TgDPB*$XD`AV}z3{m3kLS=_5AN1pcXxUqYB58lH(6M(vH{Yo9 zVFrhb6i|>tw4;+N=XFD1<$hITlv#}($%uf@r=#N7>9_L;v3~v5;uekg!T#gJ+rNDo zT6;`t&?@~6QJ;ZcDf+w1(87CHULWax0wVGst=7h@y1zO4l^4(c?z#OB-7gbgdiJ|N z`Q^9o-Fb6UCPWGO?A=Sxees{pU-;?M+mF0(;yu0GH8yA)8T!(Tzx>XeZ@tT@akawO z&C@^g<{7qjaHmBTbl6paKP;#A?D)iuD{r**SreSZ>Dt-p8h`D?Pe+U$Od~S!!2ZyZ z|Fj7C`q7a)N&T+97PhqJ8V~~k+U=mu-HPwuH&L(N9ohBR?HluDraT{r27H@R8NR#% zn#~6I{}e@0004@rl`9BANK$A?E|nLl%VhAwJhW3AVh1$w(@XTRompRUc4TPB?R)+{ z>5+2Nr?g>-HK7jbnBEK+I+b#?5c17vEn}^tM{ZnwT`b)?brsP_fB-=^JTaBC7FZ>Q zw@j4RqAHV%LjrM;4@>P-7{#|eA)|gUpR{(iXO!l)8bjoQ7fBJqDLYI6f_Stx-RyD> zr3$eYI2G}UTgM{Ug!QA}UG0<|j7XUdk&I%{BU-RMTgvC9dcd9cX%VbN!B`;uGl&RT_ox zx{*Kh`o=#TQox@!@1|BtZKJ)6I0@!h5u)1JHX2TDaB4Y@)@33_$r(F$xQtctt!T+A z=6-s6vR#yQOS|QQQ6W+5#_V#1LZrzvSpY&-REK2}%Q%E!605AdSu56JGD~1KxXWTw zi5;>EAy%Vlbemcn%w~ORnX^MFyB(wkwX{5e#0yYRIqgZi+C*j`>TI`24ArPgNWe5A zKyo#9O1b?gU66{PO;w}H2zM#enZU}7*}g~7Nby>8JaeudO&SgT3V4SUBJNQFM?#Ma zO8(7gjS$+zkfNpc((Sk0hR0nZK+8hQk&>-wU9A;`V!p6h=@aYA7)_(edc{%8tOc?@ zJ*u%OH#jha;&vGugs2-FKSVdHymokLGNf0njX1VPm#()EDK2sFVN=GR30F}^yM0?U zL&5Eu#O=#k;%M8r0!yW@gN8HdNTB!kCG;erH3+I#-Gn#tl)qqG_bafWWA5(R9X2hwy2 zSE#u8>A2nCoV~Ho(%M=og;-jjug?_9ik=SDotavzt_i4$Ml0|IgK|@Xaz!J7p-jAx<3PKtq?V&qsM#Em2KKNs@9+g)R3xjWC81Rru;`qTPl7SU{)0 z6iNkw(k!5BVnM~Gmn)U}Y88=bQGuc*5eFI#lnxh~94VkCZa`kE`Hqz0VVp)jJ%5b`;Ut3Iw6fSBbaJ#Gb zDAFV|0iT`E3{4DBG@??msk($f*IU|J6XA#uqzI&%thtFMq*4fRkrP5nGpnhG_H93T zYVN=RIa4T(Zrd8qQVejfc-O6F+TOV@x*Q}m=B&q$tJJWVL%H<$&X#!82k~``=9Mx& zT4P)~HW;tdwGFAbgwzZcDcj^!xmcuGlVD^{K~&4EK*k{zS^yZn!un;TjE3|GdNu8J zc~jF{woM4QR72W3IvCG*m$dEfvF+MGIDGN!IrWi;^GsPH(58x-+~%ZQ-xn&pu5a0v z_bYG(YquMq8ePie1R@iUDDuVCYz|Lutd4GXEG@7OE7;Pj!g$T(Eq|B0G`Uc7oA_s+ zd&n~xh4Gk>O`?*X_OAV=7REbsx!6!iL{Wht`|%s6e)-1rLg~Go!-@yCcb&em3d3-* z+E7dIItQU7Fe{1mcul2{!cYZO%$u@7Y2$HqTB+x5@CUvV43Asa{ZIC4IZ6emOV`lh$J5~-G0 zfk_{~kynEozGoi9&rV5u%tf52!wT}FMJOjVN|MW4`@x5o!I(>^ZpBJMds{11FVu4_ zGKt81|IBY5Ir@z6_S-5oGIQ^OsmJ8?Pr6(CDu_5%xTRqai!@cCl7>+U#V&6(XiG#? zDMwk1+nB4XxeL0{v9~X!pW0WerHu1)SKN99k1`yvcUa=-1=u|C8C)?ZQfLrJ+pH9h zJ>I9%o1>E-innZ43Oj=N`%I$N)js_8^r{k1bk$+GrLDpT1?d2$7*yq^Ru?mzs{OSW zPkri%?YvAa$X7^9uf*C|^LwolSv+>Rdu$hEL6zV2adkp^6Js z6^{DyuI|HEE}y~Kq8Rk`Za0?IJXA_GQ^OYRj^6A3=ItRMzR`>1W~wJO-fTK5LEZ} zLk)(IVELqnAfN`!G-~Nw8KsgRr71V4C+l+koj<)z$*O(ZyHcnN51nqpYoC4Qfq#DG z+GCIGIkv6x{;kIGVI@XYcmN<&K?;~U1))5ksH#+^sg|=ZpHC=ck~7!52n+#;l_>-j zT2LtD0020Oa6H6AoYi7Y=c)jJY(4`3kjwRzQo6vgJYQ2P$y~19wUisZ;NW5^3aJC-Xo;bZWxn)Ta zm!R#3+6U9sYpS*TYl!U3bf8zF-fAz?R@>CZGF+Ou7hZ9xl{-x!Di?F{84us=wt9Qm zjzwzRon02-2L?YMPk>gXT$Y;i4L>SN#ZmLrn2;QSgRJ*LnuUoe|KGYhX9OfAlIG0&{Td^{!I5Xtuy zirGpV;1@iM*epWYuH3mIvFq=@7L-B|EokjuL1PH=IC_wkyA3f=R9fJ5j zH#iKsb;LT#68dIqkFy#7;kp0$>#lEpW#v~d4nB0*qk8@HyHAbwHihHM_p{@jORMQN zgFpdLxjZS5J73iMDi6|B_zOcvG};zJ=5^65XEy!7>ESKj%;kA!()rl|1GCB-EKYseX0U}-8`9?M=D-s!YpbQv=;3SVrSeQMWZy=8F}AvBvZiSqjI-rV-o8y(fs$?EOjz5G(Y`E!4D^pIM)>!1Gkyh>a( z(amV(n7NVr$FF^%wowANLb@+GpPBe;k*wpTv)_9DsiS|GdwVnM=^r@8*o_A3crtK$ z)koc#{l=%B-nOuYNHpF*{PFzP4n6wyPxZcf;ncZ{i=X=3woJC~IU#+u96SDSn`eci z@zVM8wXMEUPCLoS|g>Vwho1s zSB?4_tvNmC9o*tJ#gj?0Lw9bjuty@>D?Z{&Oqn!U1{-cfL^7KJDm0Diz5-9iPF?-% zo&%v0*RQnsDsU7=dV9yAO^#Beu1rmC)dN0f(K3 zC|RUviL&IhvVA^V-nDgGUb`$y=d`jC6(}Z&nMfo+07M2R=Nx)E=iL2XzkGYVQ`K(W zKXCp&4od}hmtUJ-7_oQMi4vq0R2IZewJ~(mXgG}H{_;wUj|n$LvCC~pSFJBRes<>e z6`kKLu1{4RyjFMEKsFMeU{&TSwd;UQKjsMSV5aADCA&EY;`OSrnztWyFojM}Hk+hN z<;a7AK9T zpjkaJduv^Gj99jdSWnwAN4vUFY;Mh#b$YMFgngznKu=A7ytRVfc_A=F>d47#(MvwN zy9^4mE^vg1CQSadpIDaj3UG zzO8S!s<=Yg;|pAkys4WVaq3hKCnPkpTH}Ctf74?#zP<6+N6?;88M8Ly|yRJs$_O5nZLx(q^fnEAWy4lPWayiiEwNjWhUC3xsG$F|GEa5cXoSg?f zUI)Xc9OibWPNIZ7F}c>&A7pbNQ!UCs+YlgO@e4h= z#dN_@%!2;mu1Z8ia6Ffmvuqo;O?oVV$I$8drrq8Wt}N79qtRT|8Un>srn{9c<};p- zj#3#}*+^1k7N>*7VnMId99Sq`H zlaUb-nadb)65?5Vo2gO}_U?tE8xk(BkQyI?ms7D!N2@KLE#;G(g+eO1e7>RRbZRw$ zp8qswwQ(ID7h$S;3|5@L%@o5a2wGzI@9N!5kv z5^#w&94vBCK}TrGj#M~F5f+O_jVtCtJ-a!Uw)E&Ub~Ze3QPg!@*D2?gRHhwfJLd1) zxwbSXiEW*|O`8d8n)?&UtfJoX2YOFD`Z;sEU)|svwWQlCIITTuy-{m>F`Ho^6K2rG z3i)b2l5g);e|m0i&j}x)?ucA}&E3@LKMw8=(l5u3guvaK#3<93;@e|*{7 zaX8>4@^K`(wq`fW0xO|7Ak|26d3J1cO3^x>IMVs^cgGjkYWLZ>uAY|pxlK_P<2eq7 z(KaWVs5U(|{Z=e*Gorb&B+E*^P|kz@SBsAnFlS#cn491D+=y?Rqjn8Bo3$DMU~Dx9 zJ~I&1PH$CBSk2f+bPGBIRL;$vg)(pkqi&S9Qe#u zGzI=Y6b1YbI0o~AOrt0xiU5FCpFR?;sz{{4fywp!4w7s5Sr+|_8JfBuc9ZcbhE64;4O@b~AN#(P*-H&Ln4LzX^>ogRF& zV`6-{H-z3_!cXop5CPqX?=FsR5GOi?N1rg2#r7&w5TVx1ND8Ou$p`mju3^=Gjp*!v z^dWWehE~^w8#HWqyp%R2C`s+zX#`iLG@B?}`ua<|2K=abccq^GlOKIsq~~Y?-Mjm6 zGIbkjnm9$EDaLo;RBY+BKwwa;EamdoY@H{V%p_E^7<-NYDxg!#nd~-gwKoiCw_elI ziNE#w+L1>xsM?7r6}B`zT|^F_I0h7ORfvsEZuA~$`1);e!5UN*8lr{AIq%THLN8d&alQ9hU6XHE_C3Wwe-^&^)F!5NITUmDSCK{X+xU@fFX3(4A|a_8#iTjWsOe zDM3t^->Gl4=tO#YV+H97R>BdtulC8UwS%V*iM3d>i9-d>qRBHTG&@sJqi&WREAmh! zrs@gdJSbEpcT-TS9DW5C)H+&11$Dpylm?}Dlru{zokQdpz7en1awd&tKJ3rNGGoij z=Re;3&L0m+mc2^uqp9`A#nH&wqdVXF;KAv$hxo#SH?I_)IkWH5%^9&-_}tlp@4Ryx z1{44i0DQH=pE+p0Hd~beEddk&AjwLxT!kS>R#=_R3PW`nh?O#L)T^?^JPIJK-V6bx zQqBONs5GW(C95?Ui^U>_qm^R$cb@lMJTFp6xmsXkSrJ6R?a<~+j4UhVtmt%FD=fv^ z+{U`<$(^SSy>o#J_kXYw|6=QK$MX9>CpG&E@9n27qj2Wl`Zx^N-skxzc8{D{`RGEm zVWf7Kx99)x%fok9+AGlsHQv3%ZV&LeI4DyHBBXo|toL^sT)mHXXSryShlyf=!iY~_ z{>7ue_g{*Y;22ImG31 z(&}pySl{8bx0YJ@7U%CEA3xZHVlm2`EJgUJc+RCT!Oo|IjhFxYi9gNom(2QR$Csa> zE5r+b^jFz;&ew8|x@Fz$+_^fT)sUli1#!>*XA99Eu@z})p3F|I8uwW+^(1?D*Yqd< z@`dN01>AENqd(l~VmchVC+Aj_(3xm@0#for_TE*bMWMZ_@J2ej-0D4)V{@g3Hotuv zaCn=?o#Qw&YOA)i4;!))8#hA7?hd^@Nb=a+jor4e26Es$XC|X(H7_q3wvymKi9%jVHZza*P*RKX^kdu6CNPM2G@HE z%BU#u&8>J%rxkJAE{hbjI|_~9?(C=k`SaSod(9Bjn8c8`G_(Phs5?@mmLmutLNGd6 zm1Sk)L`d_=wwY^$5d=pO3Ba@n@sP{|fJq7q$v~@7ivl14-xQS3AA0KY*bRYCBd|7G zWE6xD#fF9;ni3#T)PbtfVo4MgPE>G|l11)wgKck)t>Bm>0jY@QaGZt!*p0M`boRr| z+W>IV3JDbGr~5vCwRZL2_I%G|*?4#6`VU$kTPqNg_ugu9377HnMgHQo>AgEtQxyCn zPt~kOE1y9-B{uj-3l*?m|8-ome+f3V2dwz?3{Ble^oE_38GLPU=%X8pM+Q7|3%A{Y zfvv)8yAJ&s#7M~v-0H+|Eh^R;YNx(Y%%cLmrpk+v=q|51os;z%-h-W}O@s^Dy>7Rf zFGp7>n-BGf^H6kR z%js(^hUZ;-y0(~Ay%8ZrDprm9P(LR@q|7v7h^c54xlwJdn|-~Um7$Vml4MnZnz~kd zOj{C(@HK8Lu&ZO?{sW8srLTVTPu_q3XKZ)#<4*#=_stRE&W-u^EBCBhXO6r$G5NO6 z#SpO%UAuQrBq?LjdxyK>iFLj^{*$h*&S$OGICY3u%KdKa_PtM5HhV%HwNkb+*y&iB zaK8H1=&>jMcYWgRr=AbRGb&P_cQ{HUteG9%>Kl2K_4;e)FNJ)xnir;UysLfpR=PI4 zyY}+@#X#ub(%dqt47Cq-2Fkoa+kS9xu)wZgcsFg)H%u1e>~eMV!3_Yw{9GCUkjx~( z|BvxJ$MYP|3jpFtT=!{hMyuJ%zUMt|K7gB-{Omx`z9Wv1Is@$%wsMPeEM+U_h#tBk zHt^~?3hBLzYstX_NOVa*vnf4tvOB%DwXq~>>_(n&H5j(L^=XL+)ik&&k*=_mVb93w zr#BCGt8%N2cK1lNJX@-mn)BP%P)jqfbRF!j@>O=L?XYjDwxOtPae}t*_iDHVPdGR8 zu}~ppx8Pb?MwrrukxGJkA0x0DO)EX<)?6*kO>7HQ1j8j{X^3u&8>_TAkGo1<>#nM{he@%YJ#_kqEik zoKr`Os7h7|3~wf!A6*-l#Crp#T@c;r=PH?`&gMnRbMrgwZU60+U;f>(uYYiTZnOBk zXF6WU785g#@WbMxjTy(q%^4$+#x%`|3L(~l$A|NcjTQo5g6#gQQ`>FUp`9vtC5bsS zd(58I_41-pU55Pb?RBNKyF2%w^oPfOKfF*-sZ0AU?oBp=!itBq7jXocMMM6l0#IRL zYb>p_8K}iJYa0=0FVCK{l|ozyes6aCK!{l@St%vh?|Pz6%LaSBIjR8f(4!*906O4k zEI)|od2^|<+!}Z?n|oco>kC_}q9U&B@MiZC`8l%68P9!yNSXQRZR0tD57Jx|&UcvW1+*r6P3>03j+l-jNBI;rp08H z*TG6}d#BixD%tYhU9M&oF3Dwsrkp9`9HQfJQiX^SQ&$>0Rz2N$nOncTh&xOUpH843lnkMW9>)w2VfjZ<*XWagWETTUeI6?cG*ufn%^tI_&dyu8wZng5BZuWjKH&(lx!cO`{eM z9vRHnSe>Isk8+Tz5lKsOA?&k~RlZGVDr##ipOuFW4y~+)QL##)(+%CjH6GMc7lY2$ z+fy(nmkeqFChKBd=EbZ+-0UAX8QZ#%Uv2mgs4EQt)(8cr$>kZWxxiswHNl$nx`l+e zmX8ed*cc|tGi;`eAvoMU)CJ3_^)0Gr(1t?xe4(JIDHyN_k2ghR$8dMCCdMjFN+|GX z*=EvIDw@b@wZ-d7Ev7QrguBxz3F;bR&*TIbC&V{z^$i8mbyPa_Q8sZ)G}NTAM|_v(T8H-stS~%`b!{N!byEX4hF1!}L@I06=0C zQ0h32JIz#ul}e>L0AO{KX%D4WH|hX@cOOIm0NtG$9U#GP?d{axTP_0tCf8X2Kq%fV^ut>p-7c;>COy7tI^7tchR1$gex2fDug zW(|as#$fv{p_u_tTx>Wn9TFbDyruG5bk67sudx(uPHJfxe(I%DmC}j{gZ}2PZ#+oW zF1_f+899mhHu;Y(i*59IE*Qe_Icc zn-bKGVtvoP!->@Vs!c7Zv0PgAN%l54G55q1!?B8Bm2&F9{xwJuAl_gMu+=4nltQ5{ z7_0IU3iD}F9a4l6*GyrgrrB&te4dqDbxx|+!$vy|KyFvlkDOBf<4^84n)lBRyMc$6 z0CN6*w8>P?y>lHvYMM4)`gs1pLEG)y@l0eE07(IGty0kHEP9>t-mPV~-4st33_4Y* z(g2^)YE2N3OO-76j80F8K(3Y>M!mLL&g=CA06+!;0HQ&sFO-TVgRW4j003TnB?5lS zWIz;PNoUii{HJeKC(5N{Q-BJ&84SQ*e(cm@@`sOaJi>b(*_BvnZ!slmp1*h|__H6+ z1&@=ti-pInvFRd@(H*jiep}H!-P^IS@DWA@{{5B7FQ4AKCKVN09au^)tLTL^b8PqF zH&-*C3-ps-%emW)QzyB4MI+UiU*EnyaQx}XyIUQH$j0T5;=U&ieyuOH5%!2X9z1w( zy8r75?BlV~r7s;D2AOrS{E@R7$2;v&=Xd^{)G z=zGXXYjLR}I(-{AzJKzIXR)@D6=imX{&;=;5-4yuW9sVDtQXqWDPB#gLGh+0*fBSm zH?12tv6Pw=Lk|13_~fDCKeCa{21$SChd+6u|2e(b3_~SXV0h{BWC;oh0k)Ffz@R+> znmyX~q{=OsAxeRw@v3dGyRvOsk~B5CX}Pd~36cqD>LQAOIi;Y7d~#YKRpg~==A;kr zCZ5%lt3R3`pU}PMK_9N`Ig?daui{q!cwzJU{?9#PY&|gbR#NX^JzP}VZq&Jn?R8-` z6@jWPd<}K)=_(eogT@!u@(IKz1X@gbgKlMN-PGb@X+~y67X8QvIcXkf3aN>$mBGgb zQ+d)9K-6mjBbJ0Ru@-;-VE=O@zPqN$p*nZ9R1Uwrh$8EdVUT4LisI2*HVQG7#_A9k zi{4uF{^q})Jn(~ZB;9Tt%#CL`cLYzUTb~=s{NkP7y@!lAX6o05rz=n??QnQX6O2G6 z1IN5fWfZO86Y13!%n7B#yftT&G?2GWMgie!5egYuE%DMapKK*Mi*laenI);#wH8i# z+XlJC?a5ecKPXZ$x_!qBw^nDdySlzX*DkvT>~=G&R`U+)PcQ$&=MU`%#JEQ0&(Fr5 zdE|G;SMF-IxMGVu@wE_LD;BO^|x2<&9Zy_{41Alfd6QCo&^B#T#?|& z1}lhW<=2&Bd-ahq)54=mU3%RViVP&PYl0k5>FPW1dd-=i&1u|9!I+EqoJa0VE)Q7D zhx%I+k{odhlZQ8_aorlC-N+8wMLWv7mRNbi~bJ7ai7CIo|C<(Lm@{Oe2)1l76 zom4~1RCpatmaAC})2QYk58Wc-Z18qu`{aN*hFN7K8Z_1IK@ID+uv;nI<=x)a$(g)$ z7pz0gJSzbEw!Mz37JYN0>m8v1qK4Ml8tnEMbukQ$YEU5MHreK?tL>RjE?s`);bW2I zS(PppupH)N@oiu5`h{1Y@*Z5iHQ{Nu(y{fs0JK|UGPK&J-LcFy3|ftvK*m>zR?URn zrkjh)Hk9!^>~DO$o~&{nO)y_w`|~Hi5M3#BJ9{5J-T`A(X&N5PbqUdg#t!wMJ51FA zd8{rpknFviYm1o0-(}N!=Qb~^AQKEnA=6_WszObjnZ337xm{~vb+oWW>Iacw$xa>wD)v|7=c zeV&0*MHIcnbawmc{ud`UHls`P$5dw-DFL-v%`kd@?0m4RBU5mhiLpdvhol`ZBKtg& zP0;So$OQ+4X23-)u%Hdr6I6xEayT=tHJ&zQwldP}^y;SHc&g7ZvQ}pey`0PHk)%>N zI^Lmm)$Ki_#oT_GDoPR>DXbfup%%C#06mPzcP7e%t=$ba4JoWhU;^T)muptPr?IIN z>U^iyl}>GHROYUsZW-dQ-<0Gz|&jFyrOYnNL{Z$f4*AvP^0HHk>KA8hsaYAO|*!g4GVZtZ_G zoti3Sn|@DAI8_LQG;0%U-NS>QUR!K5V4Vqtv09^uA$ZB-&}PE(xUDUlsI_&3a?#C} zpoQRVE+1K!Y8*2U!)l|-czb5~_=$(NS0adk4>`TrQW|SS^=@CY$V5wpwjL+Mc@tYx zHKd)?h)iWOwY^Yg&ApwymBfVBXwDQ9!GKAsHbOmzHs-IRs>3?GY1DA3&HHt87cX)H z!-2#)yR^LB+P}?&MXS?{idmk|8BDZPV|AthMQPBuAi{0woHpnxY4ybPR(UvJtW`}c zC}O;>5ZiWodaL=8R0D-VB^+f!oednG4sUC0ZpiJxtBBP=jd|MIF*&co%_Oo_EGLcB zV>&;D2>L}R+93#^b|Ea3EJ9g2yLmPOS06+t!%kNUWWBTc6jtQKhPs@##V(~ z7Lo~wC#)^~RJsbQd7F>om zH|m4^ZL}P{Gv5RNEH2mfb*nl;8WqA%u5$O5%K(73kY{Zp))yp~!kHaG!^~D`J;DP3 zRw6k7KrEI6zokME06;7wxSYB~veM$zZ6+%;i8D>!?KECV{t^IyLolz%006DtTP;Vy zXEwGH6oK{|=^4-v6!AAO4gkMzPw&Z=%wN4ze(tG9kjCBcq{Tdl5X8hiD2ci==Zd&6b(qzbcYs#^;!Ja^px`g=29Jb3_B%W^ub^NytM zXSA*v33Oz}!j9q4)cNy@|IpF>fp%5LPyYSf^IiR!EFPDPz5r0s)av@D-A6)(l}awD zb@*7KX$+jTOpQj{hj;$ld*{C$424U;7Ce>D@^GVxs$_dl&*=2Tc0Scps2D;+eDz#m zs^splOA2}H(bjLD`bu%>0imVrx;m_6oi2SLH*Riuq@#Od^44YEu8SpDMQLhV&t_Ne zsMSg)St0d4ot-QvszAFUjI1WcYH`8G#$2R zL#9MR5{uJizDwSgJR<|RC^WJ)uh&#=RP#xDcMt`9F)u^)LLOGgUtG~XIlKxGh4v0X zQnH#S+xz{pQp7L|EG9{fUy>C;hWUC?k_rm!n3}$TNCmC&kb+uaA@j9A`|#|M0gC6V z72(+&%HlK=o1G|FWTf*_sVS}0|~{{+Jb zy#~(}Y5*hyZu|M@hXzvB)e$`IIrP@bn|s=x|H;Ll2OZd-O}x?*>=m8SbDQDSbcOrp zET(XN$LZtRH%Iftmks)Nn9AnrY|w1F5KbRATEx~f!xKOK*(bj_KJ-*GTlw+U#@Ao^ z-2T%?$c+slGkbNZ|MyRKcXt;;);^Knh<-ZRxijeM7%<+SyR&*-G+1u@%hk@uEx=%G z*fxxcFLU`~=hu&)TY9H!;N;}W+v-z$-no?N5O6M}^9+7-J$WfvsO0WYE0N;xkz^`% z=8eSrkA+SKS>uWR&Z}b)*5y>|9ZaFxJBZf|W!-29(}v9>)TKAClKReXebrE^SR)tk z@tLuGzl#QYj8KO*OZkbKHZ%Nj{!i?8cnmA0Wb#<5Rf5Q zfh9y1%bX}62n?gRB*P>|LV)9V9K#?{5ETR>Fp?7l5%36tDUyT&&=eH}Knjp#MPfx+ z5=0z>Y@|EY%s-`VyHH&#Gz0@pR~U)FSx!(Om->9?{N5r+Qm_0S%?X8#eTy;K60uRf;y46hzc#cwwlu zF1l)LvaEB^h2u&MG{d@fDW1$F`cAHN; zy5q?Qk#K}~Q>nIg?514)fbnV7)cmDK_k3$A`nOj38)K{QJh(mS@H$e_l-2BdWi0byAra z)ZRjH_i$64_O}c50ZnI3ZQs+Fib|b*`3rNDi*C%_P!D_c`u67Rr%D>jH$#R>f6AKn zQjU!U)M^w+c)Gc9K;1mox;MC9wIVKU^!Cjz_YN+sig5qdE}vHTbVkvrWg=_fS{Oa0 zO#3WGE}kcRHil#KYnz^y9{XM`dP`TU;)&#q+bQ+YqI6?>{>i?>F3B3h=!GfvSkFSY z$JH#)JG9v3TJ*%OA*tS!;)&=g*P1Im!p<3@c$cM>j_T6%PhXfc+U4=S?&G>S+AD_Gb@q=ouPtzOHm*=wv3wO1y zcG+afs!=!fY;^rxD|iT_T&3NZ-DZ!*7uNH& z;(+&f&CkV!-7DpF7I!;sxzZ?t*;YITGn=24RH~JkGEVmfdN@4JUW!bgaP_Yg^dsih zCX|zv1p?~Os32>TKECJd8edY1z({q#Fc-^?8X6~AXg!me-P5wOS{*+$bbNbx&fTYZ zd*Z{>JNI>}t;yvp2X}l^$6;HIi-XQ*4eH5y<#AXe6mxR}gQsTZFDTSHox!Vq7!)nm z)(_3_;LYuuZDs5E;)Qn7FD3RA=^{Gut8LSxMC0)ao zX>b;Tp^{}LA#0-9cqb`Bb!~w_^eEc2=POA@pkN)t)2gmEJBNvlLVhEn>GbeJUG63a z-@QL$u{%0^y69?dCZ5<8!Zr(PQs4*ob}UVnyzQo2qoXuz7ePE(gatFFL3NG9oYRUj zh2(*uo_yUg`C!9Lk)aB@zhEzG~JQj&estrL@#3ig$&MCA>*Wc&8J60JPEKSEz zzt;?dW;Q9BbhbK|#W;dc5MK~(2+-bsYBMLsB3T?UntZs5&?YjXzjc?S;Fw-nURp9* zTM{dINV;conp5*R*4t-N7a@>-?8KR=nL>BFHJK`wk%~%f&1|O~KA^Mmw=Xgj!I46O z)OT6bX-S~mJ+LFuVQCxx*Qr4?=+M}^t zSlHBW#n+GYlj#z=lIDhtC75t`56J)_;D(s0>xxyTwQDa6rF9y)6iWU zTV6gtI`Ys%^V~A-PNr0-!DlsQIc|L7J%f_}_wO!z`2~|+d%&jV z0Iu!wD7>$Pcq?;mb|eo*!4 zx|n151}8lGnB!Yw<)h!McLYdW;jb-6ug-{0GJocoz>v>2_3PF5K1l?JJo{wvXs>Q^ zng7~B`_{Ik4t{lT5MIqIt5eH+Y1U*LLbKtyReO8iLofY~omcsmXJ2mhJYJZ;T9YZv z>NcSJ(>l=q)QH*Y8DOKA;p%Fu$FmU{bXw$8b{U~*+XOBE03ZNK zL_t(NrRY7I%Q>GEoSlcAmX>VzT0=i%(`A9Czo!!jl4Zctkceh2qtja5Yxgg8?>^Cc z$|^~an5)vx{*NyF=wSO92C)KxThAk8UKUb!oq9)ZgLLiG^Vy9$$5)VHD$q3a%J{g0V~!0V$TjYsD;I%}X={04|aziflPE^{J(M z|MSQDe)aJRflCNMLv&NE#^1Uh1tL%sfWRWp0vO;7%fkSZfk=@EC-69`W;oHHqeXy0 z0F{BH*Qp^OWHV6!fYolyri&7gbUG^n8Zso7%bZGMR1_G1tO5zCbXKRcA`o9Jm$e28 zRWK2%8}wEL=JLe~_>3TMxgrNcklv_{XNnpvCPTv9!WyM%fmoSAsIx3lQcK~QgM zc@ybcwgJV6L>Tda&kBFzOaJNYmp*Sy_!&zgS7yKU+;=Wt9MibdRc_;NesJ~gzjYG2 zsflG-YF%X?DQfcV;kNS#?HG%Y2B)Q^%R47tsAiR+z5{0-JG{AhC$xLdg?k%2H#xQy z%Pi;14zr2o^=Lza%9ZW9W>_=3o@u0hX0`n()e_JfRPO$I<#rJSM^ansAO6@w!`4)D z16dQ-WTe&BI=*^&_anbIm%N#p%V@1@)o@wt)YEmZ5lZrR5+1KwiWjG&8=ZO^X~**uv~56@nNBU{a%L6n-m~xG2ho>K zg|6Md-R|CTbN++Dz_ahCFYVb%w-_ITEtDj&ue|=_m%j8xV~cxv?Y^bdZkC$qEjupH zsx%lU^7`C><1~ubZ?tqAzx4Ar9zAuMSH!9=VG8PFqfmyO-k4UWjA?K2fD{V4S;eYF zbNWTxHCS4h-~ELhSRxavVy@s=x^P$pibQF5yu!e7{bkkk9%QFS&o}dSxSLvD&)Xr& z7u+wi^%5POx}R@t@6b60x%q0t6_bocrBM)Y+327j(mnj)_3=MF?fvf;8u9z1s-{6& z5+B}u_FvcUKG*WR4=vkz$vAhMG+*wmKAx>hZ@qcp;E?;m_1Oa_zR;+AVgS_0-Y@1V zqX2+xJ^}vY<2eZciQ}8iCPAz4R|{jUle)e3hPCZj8oc3lKbD573d5taz1!vJiTy3^ zq3!y;d7_T1yY&&84OgupCYy|{E{u1zoPsvA&bF5H@*+f&8+EnSTNkMz1UzBCv* z$nYuqE?+oO))~vzdE3@Z!5p&M5miOV8N~jOlMvNpM^-NxRcP%kR5)EB#?q^Ne{ipw zP)`(NM|OOvQQ-Ur=e?P~8wkEsC}-zm^uCUuWYMIetibVZRHXq%Hl0n?X1YzsS%b$= z7UQKtt$OR?`;bbB?&eNwF(W#1h+VOIVSk{b!B=Tro`@DA+sfhZoef>O@tWQE#lvQ& zV|%ITG|=UKj;s}uX^A*+?^>egplR~j#L3>%WPWqtp<~&NOMR`UW0^V7bbT0p^{o7P ziHDieMgtuYGh0z6BXV4TZe7pDuQxB8dE)ORGQAc_Xn@Ipw3MLBOm%epuG_n>^Qm3l!s(Yu!7ZK0jV`QL3tT*ci;2o+ zUB=e8XMgaewu2>UGr?qlYS4j{Cf2rEO(rN4`&HuZkk;s|rVWI3sj^P%o?Op;)ayF3 z&*P&crrtQxM#Q9Ee?#3lsad&n@UNZ*5qLn-qo(->H5AM4h%($l|mygHn66{)oR140_9s+NP2ws zc&tV>N-L$J$w4PqwQ7Tm;x36RT79}$wBm3?AQS^kej#G$83=A~rd!;`yJJ)Sb_1@| zJq}GWLC#K`JNCrUdR9TW1_Fq5t==Hi?V5x@I@ePHa~16^ytZ?~+Ck5*Xfp?z{RhgH+{jv&U$O&iugZO#gs zVx%5gpWS8MC1Dg`%b`#|%Vh6PE%vtwE|)HrsA*`6!zLT`CP2!$2#N3-mSNSjtl(yY zu&4`~QC!7By0toE)P#0-uhK@npy0Bwp|Gl2sY$>&w?$1-N-dHnG<6a z)*8Z|!8QQrRDuFSV5rTy6e*Ug4G{oDf2DrYM5XymM_6d}g47m|o#(sCsrQ(bE-NSla69)Xgtf2HME!wdUql z{Do6He|c^q9LolL_O(bF0MPBD79%Y9Uv0$r=f4n`+^Dv-de_#Y000Drx;@&lu@#CU zL_t(!35FpIg=m6`b4^tuOknVPH-#VnN$BG@Haqg{-mlqntK!&(>~R>RwX9ABKPm}- z_i6@5;cuL=zH>4D(hh2^>eQ)H&pxgS8q&FqYJrm;cOcj9Wlnq}uo`EFVCmDD>>vDZ zr~dtiubQ04hWZNC8CAaGw`d?0&B;_O{Lvdkh%xnNthzxR&HnsH=~G`nK+74Snb~)M zt1e~J)ly1X=@?Q0qKskGg*Vn7`MOi5AKAEjQ@2A6m$if`7Tu0jv;S(*?JlrYmnzKQ zF0S?-tU5USoQELVGzPT<(+raWENiy;nz<`kwr6C2t3nz6^S597^S?c+BK<&eo%zvs zpzLH5HqgyHJaEift%pa)TY9@oI~;CJCSFaamb9>wBy{D}g|gD( z(uz{PI5^amW>||JaJ&kuaxOd03v64@U^Y8mo}c#ZJB}!{Bq&ep0DM4$zj~=oB+O-r z?y}>Uktp7wT28>QfXd5_Z39m_Wr$L&n5NR!KfV0y(H52|Y1FRIJ%Rq_{UQX^ zXHV*`e42dxp#9v<+R1~vKDa)KV~$j6O|R8ASQLhohRDD`kbn+?suZbLfJR`eBqeDf z0syMXA^-qXA&Ql(K~I*;oK{a(%Xy<-4FIT?OFBJXDQCfFswLKF0M!z!H%Nl4)9Y;r zR4a+xiH1T;dJNgMZT6 z%nvpD&VBzu))jYNda`$qcJ;#x^?gIRcz*2dRZaKvm$sXKJk$_x?n3uh(2{dov;2@} zBo@wUjh8;Up9)zipYPbE8^1jJrz6t!J2duK|5@}$uX`RpG+dujf8m9;_;Tqtt91kcy%kYRY*N(j$gA69{`2c z{*lB+nt~QKGsff}J^L59)?LLGF*(&jKFSwFNB1UCeJoL&`u+=lSj(^F91@j?_MU!h zas4e%zr|A78!b~KU5<_T)G26-Z=5se{Rc3NjJOG z-`Y&fRC!%3Gdg>t)_d@24KZ&!{1-ocKQZh#fck_@re8RFI;~FMy4&^I$M4&9O#nTd z+`bun`1si7>j(zT-My%A8)w@8`oiXz)g3NYG-r-F8e1Kk&0hz#JtrUTo}XX5Gc~H! zd$PHN48U*Rd5yy59N&;+IUg%iI7F!p4N(M=g1~aFUXc}*2w^}HZxW&+Vxq$7)tYj% z3Q33{LokX12^JLr0|F;wI3xm?WCTS=s8~sXq$Yq!2;yO&C=yUWLl$`v&`+K2xOic+ z$uSU6HKiJ?09aw0B1B*q3~*lHJ{Z4iqHS7S>DI{~N9w=XepLYk27mw|_X_VBHEIP& zG)cT2PyJ>8iwkofov`)Nh2&iw=!4s~x0a)lw5vKvGj%nlQNezR)(|$@sT#r6pq_>- z?eI_D_|;dxa$M{yLLrcz*zD=s*-BUMMDjiRry>*9Wd7y;fiF1Rtq?5lX&0+Z^Wn3n zB9(W#@I(4TrI*%s=9h1}4_l_MuUL_`)BC=T5!uX*;;wdoDedA=(H6**)&B70tk-8- zF${I3OM>dyE@5Y`_@uLdqKwLI}BU3P}jLmw@30 z2(Dn`j%8c6WUE?ri?(Tdo1Nb4nVHkidGqr5x- zqS+t{^=@3t1Y4TL1`Abj0#q&DxbJ$JH0=4}?#G1ERLfm18=^@t87-xK;rfrB`Geyt zmC5Z(gO5G*402^<8OU(KEtwg0Iq`nKN1995co!2VkkZ# zD@y7YPnk}pou@*Ud$n3uyfahIYz$R&pKdOV+&74>n%L5$!*(#8&&Z7qfPEHh{+h}( zlHpUqBYUx?{hh=b*U+S<)2`uWF(#BE6q2EQ?ow>Ene2Ri@Zg?_DaGZ^fEwy>UMm;d z{%}t#&)z5@eS~F~&0yr~y0yldwqcM-%t|wjl_=XCI9RJ|%-K|OqNKEWe8y7t9<%91 z!qP>h#jJKIOM=z1j>%ff6l)Td!M3|mrcQU|7N^j*9WC%ON_MKBnF><(d)Zfap9T4dnSu{C_ka;e0Zn4$zqfbY6}MBm90~O)?R(A^Tqdn zdDH+(`qq+G14^IZ=p8;I06XB1Z-j|z;?8^a+`60{X{WBgKZg_Ta6q5}1|nC;vDvPj zJJPCbRdki6Lgm_2E49zw-}Jk4KO@l{t&r{1?B+c~LcgXrUgBG|=JF<4#6A)EcB91s zNtr4hf28-`^m@Xi2`q(Y1D1zGi(;0VQ1bol>xkw6rwMNZtE0@03Nf{2JKtx8Ze0J2 zFc3K0i>f#M#?d-zY)&#Qo={0x$XA?ChemJ3)Y-_^P|#_P@vRDt`CV3V*CP4LOoQ7h zR?uv^sPaX`5L8Q*Y$L1Fcm+uA?E_dtD%c+27|&&3zn2)Fs0Up5jhXsD7YrJ8K_gmimP8_(tr?6) zqrhd08nRSZJPw@>p-MG=JO{J&EvLJQq-3*`sg}`8gnwX2AdV8TrO`za1GC@6H~fEE`NPQ&$Q}f`TIrljL@3 zYmj7j*@b$^sK>6)Xa+k{6|R}k1<6KUQBqWsaTnAVG2diSd4WTWp}W5eKF>09l*4W&G}q+=P{F?R28IHljCc7 zG8iz}QGZ)EEC{kJWmfZ0Q4Mbv9y@-AOFLod8IG>lDO2#^=XQu(R;e`_jgsBqoWH#p z>QFy?adxc7G97885>(LC*oyG8w*^t=hIY1%Pp>Je3RFl@m202lIqyYd3g1`_F44Cv#WiDKA z4SMzj!OQ0o0Dx=bbpSv(oCE;uY_;|T^)H_d0{~c-2LQ;jD$6PWpxWSfwNv4o`1lC+ z?p67t%aPZ&*?-xEZ>-CoUXA5=NL$AIes`M^>ocR#vgs>h>dn>0Gk0sQ$4C{dE*K7OS zJ?;+7f;mNgY3l8n;Uh!U@TXt@*4>rj4TS5IHE<=iV6vlj>oA4MMk`$@+M#Op(LWsI zNJq7naQa{j?_9k7-p;+pt67#d&sHi)EoF~aSPBz3`Ht|dTOF;?l$t2j^~aYsqGSn-NG*R9;n8mMz3{ywxQI}XJasowpZ(wyfuaaSK|ef`{oLNrE2mZ{%6$6rQnkWR6k;&gG&)LX zFp^rYRe8O^T4VBhgB=EBI`ZS;sMASjC8qF2LR9}0sy2^YTz_>?6J{nr#EXA2E!0O`W6JE z9M5rS&g(K^8bE29j|~rjM)cR`7XISdr+)s*k0ix4(5_Ii1TyeAb?(&B6Y!bmD{dRw zeHWFPpM0Zc4>=sas?2{$f+v3&}sf7JU`6pgR7x}N*=tv`Eu7g1#M z62JF+0ZDA#0k8Ra+_qFb+-h3_dt!E#2`|Yj?kqe^iIZ$UQVC7H~8>6divvQFs5{c)D$0strc9zLVWP^5LY-$w2o@j}gGC6SoWyEytqK4v%L=SjC62^INkO%!Qjq{8 z@i>a%fa6shf&>L1Fe<(O-V%b6Fp424P$W`EG`OdbYw7Nj0sxmX1k9TxTvTjQu7V8 zmsBfG-|?38^(6>*J8YNf=7-}Vx}(inP4W54dY5w`T2G;xoJHHp(jluOvUOAC<2QHo zsz5wJv}b0PmPa~v=B*8}{KVZfRoG6-7K_%N&ZoQTXhCZrG?={8G0aHgWX&McUW;r0 z^2&y1x0Ay;8b+(dlBkJ_wU9k@mrh5p_@gch!4X^=(PZ?Pfb3x^`9i%$AcqD{k|epc zZsaz(#M-n5vMiE$m%Fg4K?j>S<9FY_@NW+sd_9$4!&c1am0D|0C#uK0$0{nnjU+D4 ze>ArLOLgG`Xmzif6h7RV-`D&Y)_(Sr_pgrYmQH>yl+PvYP7`YugFgE$6yAFIo!61~ z{_^CDQy+Y_QNMNH{i_R0ji%PS8KeX6P>$egt@ep39MzCdU7q^eTtqUMoIk$sD%;?} ze*=QR3IeMtf`-y>DwC%{<1oKHtatd8Kc&ck*sS`Xvb?#ylF<8odki5{wUjMq*YcS@ z`&|+4nvV8_w#HxN)jL!}yhRTR%R|lsIxL>P z)X-9bO8K$k1ZwQXi1f}bi>t+d{#2ekU_A&|u5NHfir#VX#Ps5Y7Hi-qldt{Ro~Lq& zMp+g^?(#HK9_Y{AzFFGW`PjRwXHMR`m%FfW>_nS-i_&g4k`>#Y-CtI)+1;^&u>Hd_ zk3$w&+T7GNH%HgvxgxmIxbn>I{h$(Ta7eN+*9xAfpml+N9gm&hi!`EsTxvpEQh ztM*XUP{&Jm`37Rv0ujP{{JZF$?V_Tw-i*AJNe&O#Dispi+(@S_5f?Vf)vi}^Lxb)2 zMkAZQE`%R~gZ7<^3K%1$R=^Ih9F;{JNw_)}9pG30MkVMC00rKjr~Oi5-T zI96)!vl#SdWGQb7SY5FQr|tB-bm>=rw*NcxjfKya#|Nw~zSgjjI;F8X8SfJFxh5jo z>JAx$W0mPt=g@aA-TLJC?x8$G*Rm`mk;~p#b3`aH_!_fZliNDztL7cYGqGf@iF+-% z_BUO3UfX(q%=`E|Yo8o3x1kEJ=-oB|Tc?(j20h6NaRjtP7&7OF001BWNkla zW*E{|c$|~iLS8FCf?3WgSm)?4G`k8_a(v$ap|7#oblFUBl-7;ubji4}l3~|2NT)+C zWQ%)8TS^%v*uqcVN?^F^bu<^ZGd3q}rMY}TkrbmI16r>Zma0alck$|s)e;JHJBxXO zhNLQ?<4W88EoO++QVj@_5sIP#TjmNJY*@@okk{dX+3IvAN;9;D*+imHz*ok?13o=_`X zt;AGGzp=7BcJOemt`^g4u-1l>8J(U==8C0tW2Z-#$r8B4ikL#;0#LM;=Am5rcA3>K z&)oJN+{F}-?c|!v6DVf{jD<|ru12AXm{DAf+Kt_WhDoFql^1dq5b#0ih@f|wI|Fhw z$)H#^mb6**=@PE2ZIq03VSeTkjW+w*9l<)S#kc3Ka|Sc4!aAMR4wcsfDLU%+P47xrxpvVh}FI z%bsiRpSkNOt1?(RohVccvB-O_;Nx@iZ~XSuR3ur_5a^fh#-`^=Pd(cC+xIpx6dq~A zF3xcp6b1kqX*1tg&LarY7qm>TXJI&_DC#Fu41ypq1T}eW(L_#FRRDmZC`=B;s5|J4Do;jiV$$`>V zsLI@_tL0;do#(G)MNxqupsD~zprB8?60YA`tFwaiyKy}$ac_--o}lN2EWNLqim`am zCbS&39$n`tOEX?Ajg{rE{H%KCp!u!q?6JcGG>E?O?>EK;<#VCxctJYsEYIZ0@1L{< z0#f<#NurWJG~D3W8?Buq_MmfkYpwvd9N(p)?uR4Wmk7mgZ*wh9F16nOH!4+VR5>oc z)MPn0e(hbSZoBjNeyEntZZ{;$kfIn!WFAr1%DIp(R9V}qo6%e{#*OSh0U-?x#}#s~ zR7wegWo7E)mNvJe_0C|QOJmg9wIyTrHslUas3{gnXU<>m{emvPJ<&Ppw`r|zQrwUU zZBAF&xPahJ67@k)!__*n_|w<$|2fcOEi$oOfAD zIHiyV56>`en9Eny*_)d#3+rhixOIcv?BI#4+hEaH$08Y?Rj($~Qx3glx=`5`(biBTSzElZ+PTXno6J@m%UR^Eod+<2fM5iIfFKBx zTx~EZ429yU1jOgd$=i_(gGkV^Cm%lj;>-W?+E4!c3r)}wYr79e-Qk%n^vc<}1_$oH zyX&Rb&Oi0#k&jPD-nzPFpeRl%k))T>88jM{Ye@A*QLok18VCeIC?x1G-f@m zk$?k@D zxts$4RLd2ENr$KetO|uPV=_5P#mw(sz6t)zT%rhmk03N2XJ~w8((O?Z?o+-iW{Wl@ovT z=Ih_s|8EKY%3=Nf-_HGXxMEqao&F!42g7HHmPhsvTR*CXVLiR z+79~Q!++EvW|Xz%%a)^tWNGoyHd?M+>^pw4DbU(jJGc8wk9_M#h3_3|LqKdHGwZV8 z+SZ=!H>O4&Ax~ZI>Y;yQ&kW{?o}+i)v3zrK;`s_caNJj6KRW&E>E+&*os*wG^atcS z@3)N}oB!a2KYikxKY!`n$By3xzy_aJ{^o@@?tbd=?c0-f)!YB{*lyJ^lP=h)KtB6c zJ+ZgZ-3U^;hQ(E{&TcK19R2N`d{|<-F^P;L+4Njt;PA<ls}hoH=u~IOuh8t=kY{X&r?z12NWCNS5oK;a+5!GF0 zZh?egG6(n;j8sbXnk+*YX@J=Bu=oD??75nV>QS+*Xkip!For__hhP90ftLgcCNUfU zN>+JQ0T>WP7181_j)OV}bR@!yJb_7q3S+P+DXJEQWdI;qQeae3R0seZ1t_AC0ILE8 zRbc>B1SM2SRDdJ_@b+7;q5x+_7(hG(6a`QSMkyk z2Cb*+b?sLq8}&NHuF zJTMf(OGMrICY?IS)@V^*HL{&mMMU(QP5wRxLU35T{b_BeWB0~N45w7LJD*GK(7WOC zYSp9DZtXPXp zWDR3FCWbUXWjQJihRS88Xq3zf%Vz*;MY=OwEwddvXup>zPQ6uFD=}dSA+*}{*plYY zj(+o(Q!g2tLmr>jV>vpR{Kbo#jZ`6L)Ke!~ns@Je!C)`F4b{* zZEf#?<3Y;(?05d*m;W~W&wq2HMsO_0@Ip@DCGg)#xl-kL@k3eCtHujOc8y^AH`fOT zl9+7u$h=(lj<~d`#CWRV^xoHf>X-9Q9STq57N2foWun9k*hkambU&lMV=6N`|GqQX z^iX`m0viCLPu&XKaY)&5!ZUF;t5hFCZ93kR?JyhwrZlDPOzHLTsY3);i=xYWPO^8e(3vI*z8{Nxe>@Ej!9U#v&a&7bDL6gJdY*|m{11(H`O)pb5P8_!e@A&A_M^laJeb+Sg zmakd0Gccx!F6M{*L8Z!m^~fQfo6!fYmiknr+;6~_aL1F_>Nsw(Sn;{y+AgXquFUt8 zq2}%R=k95F@X|%5xpOc}yvG-*{XHYe=vJDvb=RAVT3s_C;mT&U?$!H+@N#(}6%7Qh zhlqBr)CojYXO_n!S2eme+KN_XPQ=E&x}F$kCV2Wn^7(^<4~;KfvDe$Y!^MHv9h%() zlu^(M(D{6*94njP4J91Rb>3dv@*CaXzUzKN!#KaOUqLB=%0_+J8Zz;II+xDSa4nW! z)^JhWhY{P!2+U)`-Lm$B-S+M*_W&9D)Ie@h@W@(q+Pb#?RP4Dw=>BTCw1prACOx20 zkicMQe(q|oWkg(yEWo(m!v;*F}Fr_{Law3^jSjfAa))WCJdWJ({WwS5@vdu1zu0r zv!pDFOW|0TPdhZ=pfyNd@B)YsW4R=21ZthKXxL&6(pt0>Ca{vXHMFucPU-sm zSuFZo!-Z19_S$umr8aW`G9IOJaKZMr3I3ARgnFoXD=WyZAt-?+h%lI zbdX&G<(HP$U3!qKsV1{NQGxo5DXxz5Ty;B|Q*c{bOFx9HRBHMIUG6+nTwhBfSZ=tZ zYb_0tdeiE{HY6ud(gDOcj%x`VY$tIiTM!L0P*kRY1b4K>qf5EE-$IcTNli?iahQ6v zO`W++Y2U7WQ!{hLqS0uqcb-6!@irCTM|!H9g&?X=rrzEs6&yVi(T zA|*YjYcb{OVx+@^HZ_Inxgu6CH2H^(Fs9X$ZJnbWmsROTKAW{PyEVGi2GZQ;Qy?`> z;BJoHu(;?Ws1<|Mx{M^t>G|kJ(Cw?2%ADjsGQ^~_z-pD$daT*T)@x;r#vsdr*Jl<* zBX~oNtR!HeR*#meqlQ?hhIF&x`tEkq)urOWK5YZ>BFH+1 zq76=%UkZz|g6rA=SiUi{exQ%wMR{{81^`eLwN$PU7@DrvFcc9b833Rt>Sl@o0AMI0 zN-~b4*<9J_FarP}2p}-*aL|cl2>_s|YP%m_jR@a9eC!7o&Hw;6brZ!0*8j zq^RopRt?9IGZ)fdY&-t)+G$kNYQNwC-{U65+TXH>bhSBO|T~&3%{$ush%a@AJJ#CLvom39; z-E}fr$bNk4%Hq6Gu+1XcmzUWV_Rt>sj`Er@M2m186vj@I1R-CT*d#b5C z&>6fTZ&pD-QbKLMP*cDGRdb|n6Bjj^Y8BtUf;x5rK^BX(rgl=Tc~aZ5zpeAfzqt7A z&j%S)-)y(7&eklAOxcbhg{=hFZ`C+Qzw^E5_$##Q5Q~on_Z5@N^_@cx&2J=Zilu;2 zFjuf@iYQ85T)`gNosUG9^mHFESbgpZf;Lf=9+TUowbwJHDx{d=#jw|Dah}{KA$5(a zLLqN<`-Y&JFkH*5MPtl{xqWZ!-(Gh;dze#(lBJlr0@(s>`w18~;jBo(v>IwQ!4Qx| zR+MWfK?`h>=hS>|3xe&*)hi~q-{RV#sL88mZ!AwF@4o-8vkUL2j?Rx>dILGKOUjBL z&CdX(u0r_fvo~qle(IgDtiqxoVp>>{P)T69Is-!%hAA3oTca+h5QHM=*nQm>Pi+`z zeIk=L(Ru}Nkct8z0HC2wkdCy}SgBMln~f%twAR_W41q*C>2x{Gz$gQjHWDh3001h0 zD`nnfteK5k34m(3Q7zQ~sDa;ufq`q-=bPl?O1P(oY+_x+hd-5Z>ha(&e){XfAx+%Vk;!nys)36ZZ%*d#*}uNPuiR5^{kt#TnLPK) z*1h-VM9h^=@7o72)Xn6n@R$Fm`quZ%dAJ9Wa=e&+RG2#(%wer=Z= zG2VLf!$lB*ufDXi`SY*MUk}KGDpqExJ9qrd-sE!CeCbhrWka%UzmD}(YJ=wN@c*mhQgVoW8}9Vzw-H` zC;4nn6Ox0SkJ<9l_~dk}L8^_JceUTOa&hX-*&9#nwc^(En);oWZl_HpGi@Ur&Ixy6 ztZuwCLnK35YV58*D;MKb_3CuwH=^36h!bBt*7iZP{=)ZP|K$h&=xV4pCf_n^sm{KR z%Qu(r(0b0St>GBCx7}fg@vBLZz<>m)7--;H%rl%_I;%i@O$Ay5(NJIm0T@o}Fri3_3RF=cC=Ap@fT%Kn8$dw;1pX5u3nHY- zDr}~eN=*SWB0vfxNeGJJD1o97#{m_P0;FIni~<4z08wkT299GWj*}{Y6bR8_I3v~} zpn1IY58hmVRf06>ay{iZ5FlgI4F8aAw`qqkw{dej6&9P-V${RMu6t!zA**ZKpY45U zZ2ju$puLyPl$@ci0+&(>lVg3I&;PP@_|CePSYOJjJ`*vOUbN_jwWu*#c+Tk@{Q3Iq zgNOdvvOO71G^CdJ$$cYQgJt5~e^Cs73ZUHZQC&xR@6FFPJ(c06CLy|NlDllyK4m*n z)mz$WjC^=(?*d=vT33wW(W+0VuSZ1K&@nc&I{nvL-IYPGtR)ziFgp;l%a4G#Rb#BnUovpmPac2fhO+tr`# zMZQ7kM2m6X&B_L{wE?t#3HXt9e$NqWCYoQEnr-gyLI+!RvGx~EUpx?aU6FUyp*mNt zKGWBIj{C%mxoV*3Yyvr>fvBjyP}0*xvz)|LP{pZl)c5#9x@sXWZaE9;Ea_^c*U~Xa z??b&7FQe7$iN40D=5a=ptXF2}NK5^=1X&aaxe0u|IB9kPiutW>!P zTen>=g2=5p65IfDdt%p18dcnCTp#V}wG$oD7$h&fL;827%U~q*C8cgoW(Un3%gUDa zLK(7(Qd@UXt5E*IyVB`eAyW`6&Q_l#d~5lG{Ci*W{)HabV@jeio*O;d=Mx{tpr%}W zKBOUMishj_mJ$4+qOtbj<=^xg516{c8!3dQ`U`n!cjyZ@>Iz-USd2p#uH7tEtb3*x z4W3?z(<-jj*?9^sV^YqFANEDBtvHMlyLnqC@5GR7F`p^xrxtt43XW}x2JaX(s$o!t*qt9#s_WM)`qA&v-jy(trSgM!fSV^ z<`%4Jc4hH)6TBnkn(8uyR30stUQbVFy^iJqy3o;PdSU$IJ19&s+HCoi^}6qooo&fP zx!oVSG&8+RpA&?hFZ3Qgy*mF)@0VBe$wZKPVr{VIOx>Gp5xtwA(Zu7YAdkrYSw_ME>s zbH|X^@3nCZx1JFK9<9ZRQ#y%dL=~`*te;+AAMT;El9R%?NKtHe8H*acS4rwTqZ*A; zN>{^0!9pmjx3Vn(XF8JV=g$Z9TXw>K}(%(S#vv&-o;QgNGMvC-?W)gifNHP(tOmnm)vCE)TP ziDk7eTyX}DBnvQ&CaOsacN%GhT3C;a?yzVqw)pa#tZlY={H3K>mZ>O=9B9fYvOSq$ zdj*Tf4< zyO5g^;8MBR7O-Kswy9RF=X1$G>yQi^nwTw>s(pM$ICt?BrZM!njc>hnljUU?LQqtK zATZXgyD(iw5kyv$-XO9Z0W2roj`H0B90lm~W^HjR4a3lX(%|rVN)$w?tD_kpNfbd9 z%4yWIbtEu5zaq=Z=m1d^eY0~L1di%(h$L}XRce6L5JIiN_w}@_t%X$xQ56yV9)Tf} ztjdbw^HPS{y)0Q}&>834e(F3Z)W zGynj{aX}CO0E(&t0KRoc@JAQ7001wqody7)DE#WRm?SGtJ>2xtTQNyiF$}u2PXp7#Gi8s<`1a|P*$6HsoigGj@>gn|j?qn-^Md>LlUNpHZ>2&@1*M9KLZ#=0- z^MzGQ3v6Km_kp3%*Xiyu#~B{AJ$vQRS_TSu|j)_%0eUc7m6`kMRx2elhhr#lA^aha6@ zJPg4UWYW}gsi8f`UN}GT!12~vRgh_2!`QO4T@K!{|L?x>yZ`53pI)1pWZ^+`ZIe?X zkakbVc5^eW_xB$$oB7o8X094-aR*l8sYBiM#pF(pzaQ86H)BPQ?}R{%nW;Mhd(+irolx%Vch^{>B*B*ZMq@?DtWmrA$p%6% zOn=zs9nq3Jsm*IF{Y*8BVl+?~7}j%KqnuA=3y{sC&BxLz5I%VQ_PNQGXTC7J=ix)w z-+c4W|M53CNv>Vp9NpXB7pi>s)Rsm|v#dgDB&H4xjWn+tmNR-4G`Q=Q~?G5N1ZDGpfi~Wpz_Id*krUS z00#gFY*hlJMuTKh4cbWCT`rL=8IAT*ISYQz?P^Y@!UhvnE!6=4l8VuKvQQFA`K%}_ z0011v^agt&pU`8$rdDZdJqo)GCcC9tVnzZMZVPVfY8x9oIJJ5aLt*dYQdl|o<4=Eh zeB|T|@)jPr=i<_-{RI5g&{J#Fso%}~@^hZudQH7FFub+?yTUT%PncT*EvLe%*8W3V zmrpgFd@_{amzCSsi}S|uBLw@lxGgP&U+&FrpTAW(5@<2+b(j1*%cQ92O}PK zZ>f_w{SK(rHwl}$%&a-IjaS!ae=zpvLh7Pnr)~P}*~XaRu>NigDmT0Di>xN+=B|D0 zdON;VI#Ft}9GJOYz-|=U>zmE3_eAU_+^G|uI5G0!sb3!*38jS?CYvc&_U!rWBlk4< zOnte;IB8hGC33t_dSKMg;H6T&3S#o zQTvfp|EfLUaMTfcu2Lj7^R^~iGNm6XSVEL#{QRrC_wBBZpO>izrmp+A0q?OuxsnMi z&W%rHs-}GuL<|(L%-G$-eGK>UI(zo*gBW=^Nc9-}Ctf}KLjqe_ULahOrYDGCNn~K} z?$yG~vrpdf!W-j8gMnlD<@p96(H$+8WUj_af}|o1PA(O;F(8sC5S5xmqpeDkAW8bzB<};r z1b}f&R)K=!It)Ni{k#lGB(B2&SL3d|&Sd|xyL>tf*`qtOl>6&Gbo}fu+WVe1G0=QG z)7R9|MYqnME%n8dTnj~*m$&0lis2PmU`a_%Kh@LmIFzqqx5 zD<=ma=?kHz_*5M?8m6jSfl0~L7r1uzs?+tjtH-Vh*5N2tC?nlFeHihfY}k9`aO?F? zw_2+p*de61g zRaE$Gx3gjy*j2f`pfvIiwLP_@{}i4l;`WucjeTT&gRze0JU@EP|G#D`=^QE@Gai^{ zuKw}QU--Q5o?X4WZd{ohGgxMe>6{-l1^?=AzwW39wiMAabszr0hEC={&# zsYAxrX0Dvc3#v*$LN*-JU_G_$`1WjHsISnYLhIYxBZu#Unasxgl-ZZV?8i#U1gOQ6 zIaQ8k1&yZR&R8>kZ=RhWu??1 zKXE&=uH!$KN?l>39ZOe#^Prc;KYeqD|8YpGkr6eWs5VH8 zUeW@rp3O{-4&1qr!QI+=qD1kP5Bd*1u{Z(ijme^k+g>tRg}XI7)N9v%-F~NBVA|^| z%WnHgLgzx28}&8XPFYMeqUKv_hIpf_w>1v9+FdE@VkkZM^294ojC~i5r#3a|5b=a2 zP>pZoY4o#bp<&nYw~9=Y=Re*!4L#F7P-|?ju(PhZ-fi_a(j1!e%#}AxbSNF{X|Lph zwxdEJuWJo;)$65};M9gyFEssj>(xH%0|A#$Z!#@5W}a?oIUjxP-u7ovM1V~0X37dz zip2x{{sJSJX2MP*v*Cb;k|o>1LVR@Zh@o;*g5p|5mT`l{ zL?zZEw>O0ShjgM`^aYhVv+VTxU=-J3Fw_jOX}h4Nylx^Vq3K-3;%U8l=~8d^4pvBZ z`Py=s<>>Yrh9Y{a0pbb4URXbLu&b~YW@@U@!{+1RwTOOr&`%pJipn5*5?1Qz z`3Y-Fp9QW&qZ_TQIvf&AdTC;+;BE4|y}De%K^V0ZVWG@ko?XgB61L{xfx~;QUz|43 z0iT*)U&;=S`r>Q+&cQ(-l(!c*olyF&X1X*WuMOUCDl~_eZ5HBhOiFbr_yLST0 z%F`N`-c#ZvKZ=3g9-M%}p;mWdJL|W(bb3WoaxZL$dwP1pYq$3e6nUg;WhLM54FW3x zRSQZTef8bn-LpUW68azl8;x&JVuEYfEr8w>8B}P{+rh{EO&GxGb zpVb;#lG)4dmP0G6ZJ3Jq9MpQUSp&;lawFuo`2z+{rue)-`+}NUJ-nEJ6yOcD@KTKx z6cl18x>2l~tcFIuxJ61$ZJpFsx~4a8g-vj?nfS>qy# z*RIyRO&KpuHL!NGNw+w8St8tijmt^#@#qZH$g?~KN96MtPBGPLyI)yd=LR|m1lT55 zvWIrsKE9qfJ6%Lz(BI}Jp>kOeLQMz{xz^TVvbPDAvpucerOgBc0a;dSthBR-wrS}z z6JZR6aTK{ex%A~P-1qz|r?doo=fS>DFU#s;#ZYrKK{<%LIN#^|)*bq%KCX8XRT?1w{}ThF}DO6$k(|7;tZf z6951dfhAeFx>NwaCkTR0gS$PBwT&16U^=hJ3NX>S8dDb)6#}X#tM}}7y!2LVU!V5s zTmz`^^ZzvbP#()3* zXcSsC>#8PylY;|3la+6SOiFWg@l(WR&L=WP`v99-GCJdz<{Ona#?@!; zDx7}5b!gY+$qBN^;?xz-z@wP7h)BB2>5aZ7?|q#vrljQK1#x0wIYgR_YLOow91etr zobyxHx^{jJhOJqO>$3>3vu}ImTw36~*!p}`uYsbCD(3Xra_fn)5xZd6`LExemE%*L zy@PT!nr-+oS=M4JtmQsZnKcNDBPABE*SfeNI%Lu59pRf%U;AVi-}lvI+06yf&PZI7Mo*g<`GH3h@+ zl@Hz*ZLJM9XVFnARlIa+b#Br{>CJmOHP@C(MVS zoynZrKILf|wd2vBoh|+Kw=yU1z4P|M;*Z~br3pRu&9Cbv#)fc(L}f8tqn^5R$4_QY zKU%;@ZV$uXiW$j!7n&mdi;nbx-qF#uxgUP*uOExv-WsoUPY~hn(e%ZQl|FvYieb~x zVZ_(W6?XE<+;kS=ya%1lPg#~ey3v1Z*R`v&E9+|yjXe7A=RR&3(C-cr?_Zm~)4eO= z*L78DpN{`u)pIF4q`j}dCF~ijCk=o459?1oRvUYOHZ%CeTjDGcANA@kz5ZJFSm5KU zFN#}?VZUiRW#8c*SelJa-HwfQc5-V-Drv~pvuEZP2U_&Fj*{rf=KkF}2n%&RS*R@V zb$=rf*-XHXH1C$7@|Bxw8Y0ZRR=}<1ysol16V69s#|}9!$DkcO;MJML=E8s6x$_a0 zGa%XS!j}0!e`h#S7y5VP)z45%@BMA2>Fd``O-?U9X0+3@RZ-?tlRIJ6G;OS3q0<$u zw)U6D+Ge+A``VkP*HR-S`ipbtF#=CbUhta`%F@Y~x61XpT<2#>b)3}bF%^<98mp*0 z1Rz93An*TX55B+axDNx-f2YsfxxM#-i{1zVAPDwOkyN*270R|`%O$asT_@`}akANX zle|sa*r`q=S2=R5VyhR55_OJHC(hR48ZA<6E05|7 zXe3z`siq#q%30ty^MtJ9Nxz|}m4l`3Qb&AC)X_P>)e*D3ohnI!M98kdczq?6SmCWy#TC(xxpl(xr?d`zUBNBJu-6#|HH{ zlh*x9=B-mbj}^M@$-=$H(g1Woi@(avP|h=WVXIo3FVv5X|4C%#jl)O&Y$|=ddgpRS zhc>R&abo%J-}vJ%Jib5rky}irwP)%pEO6|K*Ma5md+Awzz!_oO0j;D4HL&r9y zd@fzrYOwiyb8w(ti_PlUhkYG=l>*bs01|`R?f!%Pp7~5{$nD=s6K+opg53EQVdk!aklHIrMS8w zp#iULA5=*n?t7}mnbAHOWD?D$pa?53Obh2+9?iZ9CA3u5Sy4*IN9qk!tfifezU-i- zL(`P!KX@Z}|4FjASE?*cB^!f1yJ@-FjIWIP2QnoSQ-(PHg9^T@QmSv{ulCrrc(`}X z-!`wYg50f{3A?qb5b)1l3l57TO#b36eGmUuw7wuo2xWYxYkI z*Y-J|zc}+&r#DzmT<)kmW*xT{Ozh4l3*$CRqEQR>ool7y459D$dG4imjMCuh-Kjn9 z6H(>q(8nRW(=Mo-l0bI{;fnkoUD-X^`T6KNQ_#(8RCXh2d?)cjM^WrK^0eAl*`AU& z>iKcW(q?ZsBp<*9P&dyvGkXorovGV)i5G z4-K7c7M4-T&y^&lu#z!7a@xnwXQHURvtOgBW>QVksH-MQC|r{>hwSf{^0g|hXmY|x`cdvDOJO)EfX6!TmJJ3crZ>(mY`dHYk2#fU3uq$@vK!?GkZ&$48W{E8;JU+zN ziaYCz3PS5KqfRgBbb%YwTO@{(MyOuj6ro)Po75};lWB5$HsN};FuPqCUxN{7J5~w==|%?9X|!|m;gkD4GEaN^Yt;%v;b~HP zpH8o;<+bi^KVN5nK$6rRqtU#&6_VOmAc&TV#-UMrvz4vmxIyc##c%n?Y>7^XM@e6DSBojvX1i zadTCzLM8`1gi=I+qElG}xkTU?2Fsi*BN%jK#B*yoB}(#OpK(20%@qZY6BG&syB(Jm z5Kk9HQBskp&xyd05=|>CFN>li%gX1!aO|a@U!f_y#qgpecLzP;?F9G_Zii`OD*--r zc`=H>P^H!c0ALub$O-`9gQ*;jBR3b@0D#_J-}Si=0>gqR8w~P39MogG zJkhrN;2HT!CB8Y+I{P~ZTJs4iw`19LprP@*z||T(e&emT0D&Jk_Qb1yf38$|H?h+> zGTQp^+OD}!{L!yJj{~;OQhT1?*NLdJn|G!vrc=jsh1MasI#;ls4Zr@^BVSm$v>`gr z80C$b@J4pm*?swBt+(5ldG_JRwJQ_f{8oB<^X#FX?X}D&3!7gVoPYc0S0DQ9ecqA1 ze|!FO$G&!U_TuHo?>|}b?DLz*dOh=Z@2LLpS!a8t<%cpJk65jTbxa8d*2qR%gX(d1 zC$9>A^?ZMQC*CG;I37aH0h1>X4qfn=PThX}b$izy0o$#&2aoka= zB$sY}(0}SH1Z7^IzE-E(dt8J}nT19?x9oC^FF*r_bq*qxGI>1OW*Ikdy7ltn~RAhp^gDPpTxXtl};KnOk3s#R4QT;eqrvy&hY8CGL-i)p3| zY6r_!3`Ui~s1ZR60=NP(h=RTT-aD0QU8}PJPy+yn5G*lm6bJwSo!+KW3F&m%sMnOM z4V~Uvt>ys$)hhS=Q%}Ej>4GS>bOxeasen(_syXogzzY%p(!k(TH?F=EDTDtTMWBgX z8pF^?v?j?Fi%pwoiPJy&QK%2@QuS=b?!L|F9zWp!;g9cp_rBjh>ZlDoYma}F{NEpB zzH|0557RZXvoq48%>3H%%&}1w)^X6#X6q0fd_*;o%*-xdyqY`I83`+oTzLPEnHoDX zq8Uq`TWijl_Z(XfFDEw&qlII-!;x#Z8g8#8U8a4F_)4o{)rwz8Gt5R()Lz_ zaJl!%vC1pS*&ffPub>Y4HdSu#Nv|WBQ7mSuzizr1(d|<=I){hSxx5MAJlNm+(MDaT zoA2&>~1EcfAdqu?8`&fmFpa}F7H zKcMPEV4mA^-)~-d`&CE9j`!ONdW){z*j)B%s?z14(CaNc!jTSsUT3QxWa-GLe zh)@^}g4iv=on*-8^4^@yt8tvbn>A5`;X;d7?k18(ny$9-lSAICYsr?Rkf6e{JdKep zNg)9%$q-CfV4;js7|XyE0vb&7`t?gEdQG3Kib5?Iaf1k zJ8o{x-{<0{w_oQr&;QZAKe`#b7%sigse1a@@iUip5|iD=+*IrK^$!Lrrx*-qG+La| zemGkTjNj3x?=$sL?8X*FVbyv~q& z?d=SgA{{z2*|n3pxYe}W-;VC®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℘T-_x@<1 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%0DfcNb;5x{M;wv9q>) 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�SMK*>uv-)882U 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 z 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%0D>NpiJV@c0s%>WGZZ+NK446tn&SG7U(f681(g zD>z0G559Ewpc0D z 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

  1. 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 z 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%0DxCMHBj4uf3ECyqk_LRJ)$oO0KRXDCvFd>Q^2 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 z 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⁢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%0AsSZVf+Oz-Z< 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

    Kr`+Ur}2# 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'LJ^WXbEb{ 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 z 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

  2. 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 literal 0 HcmV?d00001 diff --git a/docs/src/hw-accel-large.png b/docs/src/hw-accel-large.png new file mode 100644 index 0000000000000000000000000000000000000000..c997e6531aceaeda94285822a914db39ae203faa GIT binary patch literal 499659 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≠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%0DKBv`cPTuH}w$!LM}%&9L6RK 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