From 8662d48facce8bfbc4a40a78c48c800ee2d2460b Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 13:50:00 +0530 Subject: [PATCH 01/13] Optimize AVX2 implementation of `mul_vec_by_scalar_then_add_into` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/avx2.rs | 79 +++++++++++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/src/common/simd/x86/avx2.rs b/src/common/simd/x86/avx2.rs index 2212c5b..5afaf17 100644 --- a/src/common/simd/x86/avx2.rs +++ b/src/common/simd/x86/avx2.rs @@ -63,8 +63,8 @@ pub unsafe fn add_vec_into(vec_dst: &mut [u8], vec_src: &[u8]) { #[target_feature(enable = "avx2")] pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: &[u8], scalar: u8) { - let mut add_vec_iter = add_into_vec.chunks_exact_mut(2 * GF256_HALF_ORDER); - let mut mul_vec_iter = mul_vec.chunks_exact(2 * GF256_HALF_ORDER); + let mut add_vec_iter = add_into_vec.chunks_exact_mut(4 * 2 * GF256_HALF_ORDER); + let mut mul_vec_iter = mul_vec.chunks_exact(4 * 2 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm256_broadcastsi128_si256(_mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast())); @@ -72,21 +72,66 @@ pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: let l_mask = _mm256_set1_epi8(0x0f); for (add_vec_chunk, mul_vec_chunk) in add_vec_iter.by_ref().zip(mul_vec_iter.by_ref()) { - let mul_vec_chunk_simd = _mm256_lddqu_si256(mul_vec_chunk.as_ptr().cast()); - - let chunk_simd_lo = _mm256_and_si256(mul_vec_chunk_simd, l_mask); - let chunk_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo); - - let chunk_simd_hi = _mm256_srli_epi64(mul_vec_chunk_simd, 4); - let chunk_simd_hi = _mm256_and_si256(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi); - - let scaled_res = _mm256_xor_si256(chunk_simd_lo, chunk_simd_hi); - - let add_vec_chunk_simd = _mm256_lddqu_si256(add_vec_chunk.as_ptr().cast()); - let accum_res = _mm256_xor_si256(add_vec_chunk_simd, scaled_res); - - _mm256_storeu_si256(add_vec_chunk.as_mut_ptr().cast(), accum_res); + let (mul_vec_chunk0, mul_vec_chunk1, mul_vec_chunk2, mul_vec_chunk3) = { + let (chunk0, rest) = mul_vec_chunk.split_at_unchecked(2 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(2 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(2 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let mul_vec_chunk0_simd = _mm256_lddqu_si256(mul_vec_chunk0.as_ptr().cast()); + let mul_vec_chunk1_simd = _mm256_lddqu_si256(mul_vec_chunk1.as_ptr().cast()); + let mul_vec_chunk2_simd = _mm256_lddqu_si256(mul_vec_chunk2.as_ptr().cast()); + let mul_vec_chunk3_simd = _mm256_lddqu_si256(mul_vec_chunk3.as_ptr().cast()); + + let chunk_simd_lo0 = _mm256_and_si256(mul_vec_chunk0_simd, l_mask); + let chunk_simd_lo1 = _mm256_and_si256(mul_vec_chunk1_simd, l_mask); + let chunk_simd_lo2 = _mm256_and_si256(mul_vec_chunk2_simd, l_mask); + let chunk_simd_lo3 = _mm256_and_si256(mul_vec_chunk3_simd, l_mask); + + let chunk_simd_hi0 = _mm256_and_si256(_mm256_srli_epi64(mul_vec_chunk0_simd, 4), l_mask); + let chunk_simd_hi1 = _mm256_and_si256(_mm256_srli_epi64(mul_vec_chunk1_simd, 4), l_mask); + let chunk_simd_hi2 = _mm256_and_si256(_mm256_srli_epi64(mul_vec_chunk2_simd, 4), l_mask); + let chunk_simd_hi3 = _mm256_and_si256(_mm256_srli_epi64(mul_vec_chunk3_simd, 4), l_mask); + + let chunk_simd_lo0 = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo0); + let chunk_simd_lo1 = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo1); + let chunk_simd_lo2 = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo2); + let chunk_simd_lo3 = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo3); + + let chunk_simd_hi0 = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi0); + let chunk_simd_hi1 = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi1); + let chunk_simd_hi2 = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi2); + let chunk_simd_hi3 = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi3); + + let scaled_res0 = _mm256_xor_si256(chunk_simd_lo0, chunk_simd_hi0); + let scaled_res1 = _mm256_xor_si256(chunk_simd_lo1, chunk_simd_hi1); + let scaled_res2 = _mm256_xor_si256(chunk_simd_lo2, chunk_simd_hi2); + let scaled_res3 = _mm256_xor_si256(chunk_simd_lo3, chunk_simd_hi3); + + let (add_vec_chunk0, add_vec_chunk1, add_vec_chunk2, add_vec_chunk3) = { + let (chunk0, rest) = add_vec_chunk.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let add_vec_chunk0_simd = _mm256_lddqu_si256(add_vec_chunk0.as_ptr().cast()); + let add_vec_chunk1_simd = _mm256_lddqu_si256(add_vec_chunk1.as_ptr().cast()); + let add_vec_chunk2_simd = _mm256_lddqu_si256(add_vec_chunk2.as_ptr().cast()); + let add_vec_chunk3_simd = _mm256_lddqu_si256(add_vec_chunk3.as_ptr().cast()); + + let accum_res0 = _mm256_xor_si256(add_vec_chunk0_simd, scaled_res0); + let accum_res1 = _mm256_xor_si256(add_vec_chunk1_simd, scaled_res1); + let accum_res2 = _mm256_xor_si256(add_vec_chunk2_simd, scaled_res2); + let accum_res3 = _mm256_xor_si256(add_vec_chunk3_simd, scaled_res3); + + _mm256_storeu_si256(add_vec_chunk0.as_mut_ptr().cast(), accum_res0); + _mm256_storeu_si256(add_vec_chunk1.as_mut_ptr().cast(), accum_res1); + _mm256_storeu_si256(add_vec_chunk2.as_mut_ptr().cast(), accum_res2); + _mm256_storeu_si256(add_vec_chunk3.as_mut_ptr().cast(), accum_res3); } } From ef60d065ba218a46b0df6cb37999743df53c66ab Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 15:35:03 +0530 Subject: [PATCH 02/13] Optimize AVX2 implementation of `mul_vec_by_scalar` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/avx2.rs | 51 +++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/src/common/simd/x86/avx2.rs b/src/common/simd/x86/avx2.rs index 5afaf17..8b4d9dd 100644 --- a/src/common/simd/x86/avx2.rs +++ b/src/common/simd/x86/avx2.rs @@ -11,7 +11,7 @@ use std::arch::x86_64::*; #[target_feature(enable = "avx2")] pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { - let mut iter = vec.chunks_exact_mut(2 * GF256_HALF_ORDER); + let mut iter = vec.chunks_exact_mut(4 * 2 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm256_broadcastsi128_si256(_mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast())); @@ -19,17 +19,48 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { let l_mask = _mm256_set1_epi8(0x0f); for chunk in iter.by_ref() { - let chunk_simd = _mm256_lddqu_si256(chunk.as_ptr().cast()); - - let chunk_simd_lo = _mm256_and_si256(chunk_simd, l_mask); - let chunk_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk_simd_lo); + let (chunk0, chunk1, chunk2, chunk3) = { + let (chunk0, rest) = chunk.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); - let chunk_simd_hi = _mm256_srli_epi64(chunk_simd, 4); - let chunk_simd_hi = _mm256_and_si256(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk_simd_hi); + (chunk0, chunk1, chunk2, chunk3) + }; - let res = _mm256_xor_si256(chunk_simd_lo, chunk_simd_hi); - _mm256_storeu_si256(chunk.as_mut_ptr().cast(), res); + let chunk0_simd = _mm256_lddqu_si256(chunk0.as_ptr().cast()); + let chunk1_simd = _mm256_lddqu_si256(chunk1.as_ptr().cast()); + let chunk2_simd = _mm256_lddqu_si256(chunk2.as_ptr().cast()); + let chunk3_simd = _mm256_lddqu_si256(chunk3.as_ptr().cast()); + + let chunk0_simd_lo = _mm256_and_si256(chunk0_simd, l_mask); + let chunk1_simd_lo = _mm256_and_si256(chunk1_simd, l_mask); + let chunk2_simd_lo = _mm256_and_si256(chunk2_simd, l_mask); + let chunk3_simd_lo = _mm256_and_si256(chunk3_simd, l_mask); + + let chunk0_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk0_simd_lo); + let chunk1_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk1_simd_lo); + let chunk2_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk2_simd_lo); + let chunk3_simd_lo = _mm256_shuffle_epi8(l_tbl, chunk3_simd_lo); + + let chunk0_simd_hi = _mm256_and_si256(_mm256_srli_epi64(chunk0_simd, 4), l_mask); + let chunk1_simd_hi = _mm256_and_si256(_mm256_srli_epi64(chunk1_simd, 4), l_mask); + let chunk2_simd_hi = _mm256_and_si256(_mm256_srli_epi64(chunk2_simd, 4), l_mask); + let chunk3_simd_hi = _mm256_and_si256(_mm256_srli_epi64(chunk3_simd, 4), l_mask); + + let chunk0_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk0_simd_hi); + let chunk1_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk1_simd_hi); + let chunk2_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk2_simd_hi); + let chunk3_simd_hi = _mm256_shuffle_epi8(h_tbl, chunk3_simd_hi); + + let res0 = _mm256_xor_si256(chunk0_simd_lo, chunk0_simd_hi); + let res1 = _mm256_xor_si256(chunk1_simd_lo, chunk1_simd_hi); + let res2 = _mm256_xor_si256(chunk2_simd_lo, chunk2_simd_hi); + let res3 = _mm256_xor_si256(chunk3_simd_lo, chunk3_simd_hi); + + _mm256_storeu_si256(chunk0.as_mut_ptr().cast(), res0); + _mm256_storeu_si256(chunk1.as_mut_ptr().cast(), res1); + _mm256_storeu_si256(chunk2.as_mut_ptr().cast(), res2); + _mm256_storeu_si256(chunk3.as_mut_ptr().cast(), res3); } } From 979506dfdded6ad3638cde3ec1cec1101af752e8 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 15:54:14 +0530 Subject: [PATCH 03/13] Optimize AVX2 implementation of `add_vec_into` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/avx2.rs | 47 +++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/common/simd/x86/avx2.rs b/src/common/simd/x86/avx2.rs index 8b4d9dd..e963e01 100644 --- a/src/common/simd/x86/avx2.rs +++ b/src/common/simd/x86/avx2.rs @@ -71,23 +71,50 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { #[target_feature(enable = "avx2")] pub unsafe fn add_vec_into(vec_dst: &mut [u8], vec_src: &[u8]) { - let mut iter_dst = vec_dst.chunks_exact_mut(2 * GF256_HALF_ORDER); - let mut iter_src = vec_src.chunks_exact(2 * GF256_HALF_ORDER); + let mut iter_dst = vec_dst.chunks_exact_mut(4 * 2 * GF256_HALF_ORDER); + let mut iter_src = vec_src.chunks_exact(4 * 2 * GF256_HALF_ORDER); unsafe { for (chunk_dst, chunk_src) in iter_dst.by_ref().zip(iter_src.by_ref()) { - let chunk_dst_simd = _mm256_lddqu_si256(chunk_dst.as_ptr().cast()); - let chunk_src_simd = _mm256_lddqu_si256(chunk_src.as_ptr().cast()); - let chunk_result = _mm256_xor_si256(chunk_dst_simd, chunk_src_simd); + let (chunk0_dst, chunk1_dst, chunk2_dst, chunk3_dst) = { + let (chunk0, rest) = chunk_dst.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(2 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let (chunk0_src, chunk1_src, chunk2_src, chunk3_src) = { + let (chunk0, rest) = chunk_src.split_at_unchecked(2 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(2 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(2 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; - _mm256_storeu_si256(chunk_dst.as_mut_ptr().cast(), chunk_result); + let chunk0_dst_simd = _mm256_lddqu_si256(chunk0_dst.as_ptr().cast()); + let chunk0_src_simd = _mm256_lddqu_si256(chunk0_src.as_ptr().cast()); + let chunk0_result = _mm256_xor_si256(chunk0_dst_simd, chunk0_src_simd); + _mm256_storeu_si256(chunk0_dst.as_mut_ptr().cast(), chunk0_result); + + let chunk1_dst_simd = _mm256_lddqu_si256(chunk1_dst.as_ptr().cast()); + let chunk1_src_simd = _mm256_lddqu_si256(chunk1_src.as_ptr().cast()); + let chunk1_result = _mm256_xor_si256(chunk1_dst_simd, chunk1_src_simd); + _mm256_storeu_si256(chunk1_dst.as_mut_ptr().cast(), chunk1_result); + + let chunk2_dst_simd = _mm256_lddqu_si256(chunk2_dst.as_ptr().cast()); + let chunk2_src_simd = _mm256_lddqu_si256(chunk2_src.as_ptr().cast()); + let chunk2_result = _mm256_xor_si256(chunk2_dst_simd, chunk2_src_simd); + _mm256_storeu_si256(chunk2_dst.as_mut_ptr().cast(), chunk2_result); + + let chunk3_dst_simd = _mm256_lddqu_si256(chunk3_dst.as_ptr().cast()); + let chunk3_src_simd = _mm256_lddqu_si256(chunk3_src.as_ptr().cast()); + let chunk3_result = _mm256_xor_si256(chunk3_dst_simd, chunk3_src_simd); + _mm256_storeu_si256(chunk3_dst.as_mut_ptr().cast(), chunk3_result); } } - let remainder_dst = iter_dst.into_remainder(); - let remainder_src = iter_src.remainder(); - - remainder_dst.iter_mut().zip(remainder_src).for_each(|(a, b)| { + iter_dst.into_remainder().iter_mut().zip(iter_src.remainder()).for_each(|(a, b)| { *a ^= b; }); } From 0c240de38a33fabe642cd9d5dbef87f55078c226 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 18:48:42 +0530 Subject: [PATCH 04/13] Optimize SSSE3 implementation of `add_vec_into` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/ssse3.rs | 49 ++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/src/common/simd/x86/ssse3.rs b/src/common/simd/x86/ssse3.rs index 7ded0d5..f9d2f4e 100644 --- a/src/common/simd/x86/ssse3.rs +++ b/src/common/simd/x86/ssse3.rs @@ -40,23 +40,50 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { #[target_feature(enable = "ssse3")] pub unsafe fn add_vec_into(vec_dst: &mut [u8], vec_src: &[u8]) { - let mut iter_dst = vec_dst.chunks_exact_mut(GF256_HALF_ORDER); - let mut iter_src = vec_src.chunks_exact(GF256_HALF_ORDER); + let mut iter_dst = vec_dst.chunks_exact_mut(4 * GF256_HALF_ORDER); + let mut iter_src = vec_src.chunks_exact(4 * GF256_HALF_ORDER); unsafe { for (chunk_dst, chunk_src) in iter_dst.by_ref().zip(iter_src.by_ref()) { - let chunk_dst_simd = _mm_lddqu_si128(chunk_dst.as_ptr().cast()); - let chunk_src_simd = _mm_lddqu_si128(chunk_src.as_ptr().cast()); - let chunk_result = _mm_xor_si128(chunk_dst_simd, chunk_src_simd); - - _mm_storeu_si128(chunk_dst.as_mut_ptr().cast(), chunk_result); + let (chunk0_dst, chunk1_dst, chunk2_dst, chunk3_dst) = { + let (chunk0, rest) = chunk_dst.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let (chunk0_src, chunk1_src, chunk2_src, chunk3_src) = { + let (chunk0, rest) = chunk_src.split_at_unchecked(GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let chunk0_dst_simd = _mm_lddqu_si128(chunk0_dst.as_ptr().cast()); + let chunk0_src_simd = _mm_lddqu_si128(chunk0_src.as_ptr().cast()); + let chunk0_result = _mm_xor_si128(chunk0_dst_simd, chunk0_src_simd); + _mm_storeu_si128(chunk0_dst.as_mut_ptr().cast(), chunk0_result); + + let chunk1_dst_simd = _mm_lddqu_si128(chunk1_dst.as_ptr().cast()); + let chunk1_src_simd = _mm_lddqu_si128(chunk1_src.as_ptr().cast()); + let chunk1_result = _mm_xor_si128(chunk1_dst_simd, chunk1_src_simd); + _mm_storeu_si128(chunk1_dst.as_mut_ptr().cast(), chunk1_result); + + let chunk2_dst_simd = _mm_lddqu_si128(chunk2_dst.as_ptr().cast()); + let chunk2_src_simd = _mm_lddqu_si128(chunk2_src.as_ptr().cast()); + let chunk2_result = _mm_xor_si128(chunk2_dst_simd, chunk2_src_simd); + _mm_storeu_si128(chunk2_dst.as_mut_ptr().cast(), chunk2_result); + + let chunk3_dst_simd = _mm_lddqu_si128(chunk3_dst.as_ptr().cast()); + let chunk3_src_simd = _mm_lddqu_si128(chunk3_src.as_ptr().cast()); + let chunk3_result = _mm_xor_si128(chunk3_dst_simd, chunk3_src_simd); + _mm_storeu_si128(chunk3_dst.as_mut_ptr().cast(), chunk3_result); } } - let remainder_dst = iter_dst.into_remainder(); - let remainder_src = iter_src.remainder(); - - remainder_dst.iter_mut().zip(remainder_src).for_each(|(a, b)| { + iter_dst.into_remainder().iter_mut().zip(iter_src.remainder()).for_each(|(a, b)| { *a ^= b; }); } From 101b6786163c715ec29478d183a8fdbb051c9997 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 19:12:54 +0530 Subject: [PATCH 05/13] Optimize SSSE3 implementation of `mul_vec_by_scalar` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/ssse3.rs | 56 +++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/src/common/simd/x86/ssse3.rs b/src/common/simd/x86/ssse3.rs index f9d2f4e..18af411 100644 --- a/src/common/simd/x86/ssse3.rs +++ b/src/common/simd/x86/ssse3.rs @@ -11,7 +11,7 @@ use std::arch::x86_64::*; #[target_feature(enable = "ssse3")] pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { - let mut iter = vec.chunks_exact_mut(GF256_HALF_ORDER); + let mut iter = vec.chunks_exact_mut(4 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast()); @@ -19,17 +19,53 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { let l_mask = _mm_set1_epi8(0x0f); for chunk in iter.by_ref() { - let chunk_simd = _mm_lddqu_si128(chunk.as_ptr().cast()); - - let chunk_simd_lo = _mm_and_si128(chunk_simd, l_mask); - let chunk_simd_lo = _mm_shuffle_epi8(l_tbl, chunk_simd_lo); + let (chunk0, chunk1, chunk2, chunk3) = { + let (chunk0, rest) = chunk.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); - let chunk_simd_hi = _mm_srli_epi64(chunk_simd, 4); - let chunk_simd_hi = _mm_and_si128(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm_shuffle_epi8(h_tbl, chunk_simd_hi); + (chunk0, chunk1, chunk2, chunk3) + }; - let res = _mm_xor_si128(chunk_simd_lo, chunk_simd_hi); - _mm_storeu_si128(chunk.as_mut_ptr().cast(), res); + let chunk0_simd = _mm_lddqu_si128(chunk0.as_ptr().cast()); + let chunk1_simd = _mm_lddqu_si128(chunk1.as_ptr().cast()); + let chunk2_simd = _mm_lddqu_si128(chunk2.as_ptr().cast()); + let chunk3_simd = _mm_lddqu_si128(chunk3.as_ptr().cast()); + + let chunk0_simd_lo = _mm_and_si128(chunk0_simd, l_mask); + let chunk1_simd_lo = _mm_and_si128(chunk1_simd, l_mask); + let chunk2_simd_lo = _mm_and_si128(chunk2_simd, l_mask); + let chunk3_simd_lo = _mm_and_si128(chunk3_simd, l_mask); + + let chunk0_simd_lo = _mm_shuffle_epi8(l_tbl, chunk0_simd_lo); + let chunk1_simd_lo = _mm_shuffle_epi8(l_tbl, chunk1_simd_lo); + let chunk2_simd_lo = _mm_shuffle_epi8(l_tbl, chunk2_simd_lo); + let chunk3_simd_lo = _mm_shuffle_epi8(l_tbl, chunk3_simd_lo); + + let chunk0_simd_hi = _mm_srli_epi64(chunk0_simd, 4); + let chunk1_simd_hi = _mm_srli_epi64(chunk1_simd, 4); + let chunk2_simd_hi = _mm_srli_epi64(chunk2_simd, 4); + let chunk3_simd_hi = _mm_srli_epi64(chunk3_simd, 4); + + let chunk0_simd_hi = _mm_and_si128(chunk0_simd_hi, l_mask); + let chunk1_simd_hi = _mm_and_si128(chunk1_simd_hi, l_mask); + let chunk2_simd_hi = _mm_and_si128(chunk2_simd_hi, l_mask); + let chunk3_simd_hi = _mm_and_si128(chunk3_simd_hi, l_mask); + + let chunk0_simd_hi = _mm_shuffle_epi8(h_tbl, chunk0_simd_hi); + let chunk1_simd_hi = _mm_shuffle_epi8(h_tbl, chunk1_simd_hi); + let chunk2_simd_hi = _mm_shuffle_epi8(h_tbl, chunk2_simd_hi); + let chunk3_simd_hi = _mm_shuffle_epi8(h_tbl, chunk3_simd_hi); + + let res0 = _mm_xor_si128(chunk0_simd_lo, chunk0_simd_hi); + let res1 = _mm_xor_si128(chunk1_simd_lo, chunk1_simd_hi); + let res2 = _mm_xor_si128(chunk2_simd_lo, chunk2_simd_hi); + let res3 = _mm_xor_si128(chunk3_simd_lo, chunk3_simd_hi); + + _mm_storeu_si128(chunk0.as_mut_ptr().cast(), res0); + _mm_storeu_si128(chunk1.as_mut_ptr().cast(), res1); + _mm_storeu_si128(chunk2.as_mut_ptr().cast(), res2); + _mm_storeu_si128(chunk3.as_mut_ptr().cast(), res3); } } From 6086c528bf379feb131451d5c25bcc6a244e3367 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 19:58:38 +0530 Subject: [PATCH 06/13] Optimize SSSE3 implementation of `mul_vec_by_scalar_then_add_into` by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/ssse3.rs | 69 +++++++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 12 deletions(-) diff --git a/src/common/simd/x86/ssse3.rs b/src/common/simd/x86/ssse3.rs index 18af411..c100d78 100644 --- a/src/common/simd/x86/ssse3.rs +++ b/src/common/simd/x86/ssse3.rs @@ -126,8 +126,8 @@ pub unsafe fn add_vec_into(vec_dst: &mut [u8], vec_src: &[u8]) { #[target_feature(enable = "ssse3")] pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: &[u8], scalar: u8) { - let mut add_vec_iter = add_into_vec.chunks_exact_mut(GF256_HALF_ORDER); - let mut mul_vec_iter = mul_vec.chunks_exact(GF256_HALF_ORDER); + let mut add_vec_iter = add_into_vec.chunks_exact_mut(4 * GF256_HALF_ORDER); + let mut mul_vec_iter = mul_vec.chunks_exact(4 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast()); @@ -135,21 +135,66 @@ pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: let l_mask = _mm_set1_epi8(0x0f); for (add_vec_chunk, mul_vec_chunk) in add_vec_iter.by_ref().zip(mul_vec_iter.by_ref()) { - let mul_vec_chunk_simd = _mm_lddqu_si128(mul_vec_chunk.as_ptr().cast()); + let (mul_vec_chunk0, mul_vec_chunk1, mul_vec_chunk2, mul_vec_chunk3) = { + let (chunk0, rest) = mul_vec_chunk.split_at_unchecked(GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let mul_vec_chunk0_simd = _mm_lddqu_si128(mul_vec_chunk0.as_ptr().cast()); + let mul_vec_chunk1_simd = _mm_lddqu_si128(mul_vec_chunk1.as_ptr().cast()); + let mul_vec_chunk2_simd = _mm_lddqu_si128(mul_vec_chunk2.as_ptr().cast()); + let mul_vec_chunk3_simd = _mm_lddqu_si128(mul_vec_chunk3.as_ptr().cast()); + + let chunk0_simd_lo = _mm_and_si128(mul_vec_chunk0_simd, l_mask); + let chunk1_simd_lo = _mm_and_si128(mul_vec_chunk1_simd, l_mask); + let chunk2_simd_lo = _mm_and_si128(mul_vec_chunk2_simd, l_mask); + let chunk3_simd_lo = _mm_and_si128(mul_vec_chunk3_simd, l_mask); + + let chunk0_simd_lo = _mm_shuffle_epi8(l_tbl, chunk0_simd_lo); + let chunk1_simd_lo = _mm_shuffle_epi8(l_tbl, chunk1_simd_lo); + let chunk2_simd_lo = _mm_shuffle_epi8(l_tbl, chunk2_simd_lo); + let chunk3_simd_lo = _mm_shuffle_epi8(l_tbl, chunk3_simd_lo); - let chunk_simd_lo = _mm_and_si128(mul_vec_chunk_simd, l_mask); - let chunk_simd_lo = _mm_shuffle_epi8(l_tbl, chunk_simd_lo); + let chunk0_simd_hi = _mm_and_si128(_mm_srli_epi64(mul_vec_chunk0_simd, 4), l_mask); + let chunk1_simd_hi = _mm_and_si128(_mm_srli_epi64(mul_vec_chunk1_simd, 4), l_mask); + let chunk2_simd_hi = _mm_and_si128(_mm_srli_epi64(mul_vec_chunk2_simd, 4), l_mask); + let chunk3_simd_hi = _mm_and_si128(_mm_srli_epi64(mul_vec_chunk3_simd, 4), l_mask); - let chunk_simd_hi = _mm_srli_epi64(mul_vec_chunk_simd, 4); - let chunk_simd_hi = _mm_and_si128(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm_shuffle_epi8(h_tbl, chunk_simd_hi); + let chunk0_simd_hi = _mm_shuffle_epi8(h_tbl, chunk0_simd_hi); + let chunk1_simd_hi = _mm_shuffle_epi8(h_tbl, chunk1_simd_hi); + let chunk2_simd_hi = _mm_shuffle_epi8(h_tbl, chunk2_simd_hi); + let chunk3_simd_hi = _mm_shuffle_epi8(h_tbl, chunk3_simd_hi); + + let scaled_res0 = _mm_xor_si128(chunk0_simd_lo, chunk0_simd_hi); + let scaled_res1 = _mm_xor_si128(chunk1_simd_lo, chunk1_simd_hi); + let scaled_res2 = _mm_xor_si128(chunk2_simd_lo, chunk2_simd_hi); + let scaled_res3 = _mm_xor_si128(chunk3_simd_lo, chunk3_simd_hi); + + let (add_vec_chunk0, add_vec_chunk1, add_vec_chunk2, add_vec_chunk3) = { + let (chunk0, rest) = add_vec_chunk.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; - let scaled_res = _mm_xor_si128(chunk_simd_lo, chunk_simd_hi); + let add_vec_chunk0_simd = _mm_lddqu_si128(add_vec_chunk0.as_ptr().cast()); + let add_vec_chunk1_simd = _mm_lddqu_si128(add_vec_chunk1.as_ptr().cast()); + let add_vec_chunk2_simd = _mm_lddqu_si128(add_vec_chunk2.as_ptr().cast()); + let add_vec_chunk3_simd = _mm_lddqu_si128(add_vec_chunk3.as_ptr().cast()); - let add_vec_chunk_simd = _mm_lddqu_si128(add_vec_chunk.as_ptr().cast()); - let accum_res = _mm_xor_si128(add_vec_chunk_simd, scaled_res); + let accum_res0 = _mm_xor_si128(add_vec_chunk0_simd, scaled_res0); + let accum_res1 = _mm_xor_si128(add_vec_chunk1_simd, scaled_res1); + let accum_res2 = _mm_xor_si128(add_vec_chunk2_simd, scaled_res2); + let accum_res3 = _mm_xor_si128(add_vec_chunk3_simd, scaled_res3); - _mm_storeu_si128(add_vec_chunk.as_mut_ptr().cast(), accum_res); + _mm_storeu_si128(add_vec_chunk0.as_mut_ptr().cast(), accum_res0); + _mm_storeu_si128(add_vec_chunk1.as_mut_ptr().cast(), accum_res1); + _mm_storeu_si128(add_vec_chunk2.as_mut_ptr().cast(), accum_res2); + _mm_storeu_si128(add_vec_chunk3.as_mut_ptr().cast(), accum_res3); } } From c026817da5438b64ee64aff2107033bde8f8285b Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Tue, 14 Oct 2025 22:20:03 +0530 Subject: [PATCH 07/13] Optimize AVX512 implementation of SIMD GF2p8 arithmetic by instruction level parallelism (ILP) Signed-off-by: Anjan Roy --- src/common/simd/x86/avx512.rs | 193 +++++++++++++++++++++++++++------- 1 file changed, 153 insertions(+), 40 deletions(-) diff --git a/src/common/simd/x86/avx512.rs b/src/common/simd/x86/avx512.rs index b544ced..38b26ed 100644 --- a/src/common/simd/x86/avx512.rs +++ b/src/common/simd/x86/avx512.rs @@ -11,7 +11,7 @@ use std::arch::x86_64::*; #[target_feature(enable = "avx512bw")] pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { - let mut iter = vec.chunks_exact_mut(4 * GF256_HALF_ORDER); + let mut iter = vec.chunks_exact_mut(4 * 4 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm512_broadcast_i32x4(_mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast())); @@ -19,17 +19,53 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { let l_mask = _mm512_set1_epi8(0x0f); for chunk in iter.by_ref() { - let chunk_simd = _mm512_loadu_si512(chunk.as_ptr().cast()); - - let chunk_simd_lo = _mm512_and_si512(chunk_simd, l_mask); - let chunk_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk_simd_lo); - - let chunk_simd_hi = _mm512_srli_epi64(chunk_simd, 4); - let chunk_simd_hi = _mm512_and_si512(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk_simd_hi); - - let res = _mm512_xor_si512(chunk_simd_lo, chunk_simd_hi); - _mm512_storeu_si512(chunk.as_mut_ptr().cast(), res); + let (chunk0, chunk1, chunk2, chunk3) = { + let (chunk0, rest) = chunk.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let chunk0_simd = _mm512_loadu_si512(chunk0.as_ptr().cast()); + let chunk1_simd = _mm512_loadu_si512(chunk1.as_ptr().cast()); + let chunk2_simd = _mm512_loadu_si512(chunk2.as_ptr().cast()); + let chunk3_simd = _mm512_loadu_si512(chunk3.as_ptr().cast()); + + let chunk0_simd_lo = _mm512_and_si512(chunk0_simd, l_mask); + let chunk1_simd_lo = _mm512_and_si512(chunk1_simd, l_mask); + let chunk2_simd_lo = _mm512_and_si512(chunk2_simd, l_mask); + let chunk3_simd_lo = _mm512_and_si512(chunk3_simd, l_mask); + + let chunk0_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk0_simd_lo); + let chunk1_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk1_simd_lo); + let chunk2_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk2_simd_lo); + let chunk3_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk3_simd_lo); + + let chunk0_simd_hi = _mm512_srli_epi64(chunk0_simd, 4); + let chunk1_simd_hi = _mm512_srli_epi64(chunk1_simd, 4); + let chunk2_simd_hi = _mm512_srli_epi64(chunk2_simd, 4); + let chunk3_simd_hi = _mm512_srli_epi64(chunk3_simd, 4); + + let chunk0_simd_hi = _mm512_and_si512(chunk0_simd_hi, l_mask); + let chunk1_simd_hi = _mm512_and_si512(chunk1_simd_hi, l_mask); + let chunk2_simd_hi = _mm512_and_si512(chunk2_simd_hi, l_mask); + let chunk3_simd_hi = _mm512_and_si512(chunk3_simd_hi, l_mask); + + let chunk0_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk0_simd_hi); + let chunk1_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk1_simd_hi); + let chunk2_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk2_simd_hi); + let chunk3_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk3_simd_hi); + + let res0 = _mm512_xor_si512(chunk0_simd_lo, chunk0_simd_hi); + let res1 = _mm512_xor_si512(chunk1_simd_lo, chunk1_simd_hi); + let res2 = _mm512_xor_si512(chunk2_simd_lo, chunk2_simd_hi); + let res3 = _mm512_xor_si512(chunk3_simd_lo, chunk3_simd_hi); + + _mm512_storeu_si512(chunk0.as_mut_ptr().cast(), res0); + _mm512_storeu_si512(chunk1.as_mut_ptr().cast(), res1); + _mm512_storeu_si512(chunk2.as_mut_ptr().cast(), res2); + _mm512_storeu_si512(chunk3.as_mut_ptr().cast(), res3); } } @@ -40,31 +76,58 @@ pub unsafe fn mul_vec_by_scalar(vec: &mut [u8], scalar: u8) { #[target_feature(enable = "avx512f")] pub unsafe fn add_vec_into(vec_dst: &mut [u8], vec_src: &[u8]) { - let mut iter_dst = vec_dst.chunks_exact_mut(4 * GF256_HALF_ORDER); - let mut iter_src = vec_src.chunks_exact(4 * GF256_HALF_ORDER); + let mut iter_dst = vec_dst.chunks_exact_mut(4 * 4 * GF256_HALF_ORDER); + let mut iter_src = vec_src.chunks_exact(4 * 4 * GF256_HALF_ORDER); unsafe { for (chunk_dst, chunk_src) in iter_dst.by_ref().zip(iter_src.by_ref()) { - let chunk_dst_simd = _mm512_loadu_si512(chunk_dst.as_ptr().cast()); - let chunk_src_simd = _mm512_loadu_si512(chunk_src.as_ptr().cast()); - let chunk_result = _mm512_xor_si512(chunk_dst_simd, chunk_src_simd); - - _mm512_storeu_si512(chunk_dst.as_mut_ptr().cast(), chunk_result); + let (chunk0_dst, chunk1_dst, chunk2_dst, chunk3_dst) = { + let (chunk0, rest) = chunk_dst.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let (chunk0_src, chunk1_src, chunk2_src, chunk3_src) = { + let (chunk0, rest) = chunk_src.split_at_unchecked(4 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(4 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(4 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let chunk0_dst_simd = _mm512_loadu_si512(chunk0_dst.as_ptr().cast()); + let chunk0_src_simd = _mm512_loadu_si512(chunk0_src.as_ptr().cast()); + let chunk0_result = _mm512_xor_si512(chunk0_dst_simd, chunk0_src_simd); + _mm512_storeu_si512(chunk0_dst.as_mut_ptr().cast(), chunk0_result); + + let chunk1_dst_simd = _mm512_loadu_si512(chunk1_dst.as_ptr().cast()); + let chunk1_src_simd = _mm512_loadu_si512(chunk1_src.as_ptr().cast()); + let chunk1_result = _mm512_xor_si512(chunk1_dst_simd, chunk1_src_simd); + _mm512_storeu_si512(chunk1_dst.as_mut_ptr().cast(), chunk1_result); + + let chunk2_dst_simd = _mm512_loadu_si512(chunk2_dst.as_ptr().cast()); + let chunk2_src_simd = _mm512_loadu_si512(chunk2_src.as_ptr().cast()); + let chunk2_result = _mm512_xor_si512(chunk2_dst_simd, chunk2_src_simd); + _mm512_storeu_si512(chunk2_dst.as_mut_ptr().cast(), chunk2_result); + + let chunk3_dst_simd = _mm512_loadu_si512(chunk3_dst.as_ptr().cast()); + let chunk3_src_simd = _mm512_loadu_si512(chunk3_src.as_ptr().cast()); + let chunk3_result = _mm512_xor_si512(chunk3_dst_simd, chunk3_src_simd); + _mm512_storeu_si512(chunk3_dst.as_mut_ptr().cast(), chunk3_result); } } - let remainder_dst = iter_dst.into_remainder(); - let remainder_src = iter_src.remainder(); - - remainder_dst.iter_mut().zip(remainder_src).for_each(|(a, b)| { + iter_dst.into_remainder().iter_mut().zip(iter_src.remainder()).for_each(|(a, b)| { *a ^= b; }); } #[target_feature(enable = "avx512bw")] pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: &[u8], scalar: u8) { - let mut add_vec_iter = add_into_vec.chunks_exact_mut(4 * GF256_HALF_ORDER); - let mut mul_vec_iter = mul_vec.chunks_exact(4 * GF256_HALF_ORDER); + let mut add_vec_iter = add_into_vec.chunks_exact_mut(4 * 4 * GF256_HALF_ORDER); + let mut mul_vec_iter = mul_vec.chunks_exact(4 * 4 * GF256_HALF_ORDER); unsafe { let l_tbl = _mm512_broadcast_i32x4(_mm_lddqu_si128(GF256_SIMD_MUL_TABLE_LOW[scalar as usize].as_ptr().cast())); @@ -72,21 +135,71 @@ pub unsafe fn mul_vec_by_scalar_then_add_into(add_into_vec: &mut [u8], mul_vec: let l_mask = _mm512_set1_epi8(0x0f); for (add_vec_chunk, mul_vec_chunk) in add_vec_iter.by_ref().zip(mul_vec_iter.by_ref()) { - let mul_vec_chunk_simd = _mm512_loadu_si512(mul_vec_chunk.as_ptr().cast()); - - let chunk_simd_lo = _mm512_and_si512(mul_vec_chunk_simd, l_mask); - let chunk_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk_simd_lo); - - let chunk_simd_hi = _mm512_srli_epi64(mul_vec_chunk_simd, 4); - let chunk_simd_hi = _mm512_and_si512(chunk_simd_hi, l_mask); - let chunk_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk_simd_hi); - - let scaled_res = _mm512_xor_si512(chunk_simd_lo, chunk_simd_hi); - - let add_vec_chunk_simd = _mm512_loadu_si512(add_vec_chunk.as_ptr().cast()); - let accum_res = _mm512_xor_si512(add_vec_chunk_simd, scaled_res); - - _mm512_storeu_si512(add_vec_chunk.as_mut_ptr().cast(), accum_res); + let (mul_vec_chunk0, mul_vec_chunk1, mul_vec_chunk2, mul_vec_chunk3) = { + let (chunk0, rest) = mul_vec_chunk.split_at_unchecked(4 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_unchecked(4 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_unchecked(4 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let mul_vec_chunk0_simd = _mm512_loadu_si512(mul_vec_chunk0.as_ptr().cast()); + let mul_vec_chunk1_simd = _mm512_loadu_si512(mul_vec_chunk1.as_ptr().cast()); + let mul_vec_chunk2_simd = _mm512_loadu_si512(mul_vec_chunk2.as_ptr().cast()); + let mul_vec_chunk3_simd = _mm512_loadu_si512(mul_vec_chunk3.as_ptr().cast()); + + let chunk0_simd_lo = _mm512_and_si512(mul_vec_chunk0_simd, l_mask); + let chunk1_simd_lo = _mm512_and_si512(mul_vec_chunk1_simd, l_mask); + let chunk2_simd_lo = _mm512_and_si512(mul_vec_chunk2_simd, l_mask); + let chunk3_simd_lo = _mm512_and_si512(mul_vec_chunk3_simd, l_mask); + + let chunk0_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk0_simd_lo); + let chunk1_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk1_simd_lo); + let chunk2_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk2_simd_lo); + let chunk3_simd_lo = _mm512_shuffle_epi8(l_tbl, chunk3_simd_lo); + + let chunk0_simd_hi = _mm512_srli_epi64(mul_vec_chunk0_simd, 4); + let chunk1_simd_hi = _mm512_srli_epi64(mul_vec_chunk1_simd, 4); + let chunk2_simd_hi = _mm512_srli_epi64(mul_vec_chunk2_simd, 4); + let chunk3_simd_hi = _mm512_srli_epi64(mul_vec_chunk3_simd, 4); + + let chunk0_simd_hi = _mm512_and_si512(chunk0_simd_hi, l_mask); + let chunk1_simd_hi = _mm512_and_si512(chunk1_simd_hi, l_mask); + let chunk2_simd_hi = _mm512_and_si512(chunk2_simd_hi, l_mask); + let chunk3_simd_hi = _mm512_and_si512(chunk3_simd_hi, l_mask); + + let chunk0_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk0_simd_hi); + let chunk1_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk1_simd_hi); + let chunk2_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk2_simd_hi); + let chunk3_simd_hi = _mm512_shuffle_epi8(h_tbl, chunk3_simd_hi); + + let scaled_res0 = _mm512_xor_si512(chunk0_simd_lo, chunk0_simd_hi); + let scaled_res1 = _mm512_xor_si512(chunk1_simd_lo, chunk1_simd_hi); + let scaled_res2 = _mm512_xor_si512(chunk2_simd_lo, chunk2_simd_hi); + let scaled_res3 = _mm512_xor_si512(chunk3_simd_lo, chunk3_simd_hi); + + let (add_vec_chunk0, add_vec_chunk1, add_vec_chunk2, add_vec_chunk3) = { + let (chunk0, rest) = add_vec_chunk.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk1, rest) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + let (chunk2, chunk3) = rest.split_at_mut_unchecked(4 * GF256_HALF_ORDER); + + (chunk0, chunk1, chunk2, chunk3) + }; + + let add_vec_chunk0_simd = _mm512_loadu_si512(add_vec_chunk0.as_ptr().cast()); + let add_vec_chunk1_simd = _mm512_loadu_si512(add_vec_chunk1.as_ptr().cast()); + let add_vec_chunk2_simd = _mm512_loadu_si512(add_vec_chunk2.as_ptr().cast()); + let add_vec_chunk3_simd = _mm512_loadu_si512(add_vec_chunk3.as_ptr().cast()); + + let accum_res0 = _mm512_xor_si512(add_vec_chunk0_simd, scaled_res0); + let accum_res1 = _mm512_xor_si512(add_vec_chunk1_simd, scaled_res1); + let accum_res2 = _mm512_xor_si512(add_vec_chunk2_simd, scaled_res2); + let accum_res3 = _mm512_xor_si512(add_vec_chunk3_simd, scaled_res3); + + _mm512_storeu_si512(add_vec_chunk0.as_mut_ptr().cast(), accum_res0); + _mm512_storeu_si512(add_vec_chunk1.as_mut_ptr().cast(), accum_res1); + _mm512_storeu_si512(add_vec_chunk2.as_mut_ptr().cast(), accum_res2); + _mm512_storeu_si512(add_vec_chunk3.as_mut_ptr().cast(), accum_res3); } } From baa0a731a63050906330fcf5eb4037cf70373532 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Wed, 15 Oct 2025 09:23:44 +0530 Subject: [PATCH 08/13] Add new plots showing performance result of running on Intel x86, with 12th Gen i7 Signed-off-by: Anjan Roy --- README.md | 12 +--- plots/README.md | 59 ++++++++++++++++++ ...with_rustc_1.90.0_1159e78c4_2025-09-14.png | Bin 0 -> 75307 bytes ...with_rustc_1.90.0_1159e78c4_2025-09-14.png | Bin 0 -> 58947 bytes ...with_rustc_1.90.0_1159e78c4_2025-09-14.png | Bin 0 -> 68611 bytes ...with_rustc_1.90.0_1159e78c4_2025-09-14.png | Bin 0 -> 75911 bytes ...with_rustc_1.90.0_1159e78c4_2025-09-14.png | Bin 0 -> 80952 bytes 7 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 plots/README.md create mode 100644 plots/benchmark_decode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png create mode 100644 plots/benchmark_encode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png create mode 100644 plots/benchmark_encode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png create mode 100644 plots/benchmark_recode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png create mode 100644 plots/benchmark_recode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png diff --git a/README.md b/README.md index e3addd1..f5e1455 100644 --- a/README.md +++ b/README.md @@ -157,17 +157,7 @@ For visualizing benchmark results, run following command, which will produce PNG make bench_then_plot # Only runs with `default` features enabled ``` -### On 12th Gen Intel(R) Core(TM) i7-1260P - -Running benchmarks on `Linux 6.14.0-27-generic x86_64`, compiled with `rustc 1.88.0 (6b00bc388 2025-06-23)`. - -Component | Peak Median Throughput (`default` feature) | Peak Median Throughput (`parallel` feature) | Impact of number of pieces on performance ---- | --- | --- | --- -Full RLNC Encoder | **30.14 GiB/s** | **23.39 GiB/s** | The number of pieces original data got split into has a **minimal** impact on the encoding speed. -Full RLNC Recoder | **27.26 GiB/s** | **12.63 GiB/s** | Similar to the encoder, the recoder's performance remains largely consistent regardless of how many pieces the original data is split into. -Full RLNC Decoder | **1.59 GiB/s** | **Doesn't yet implement a parallel decoding mode** | As the number of pieces increases, the decoding time increases substantially, leading to a considerable drop in throughput. This indicates that decoding is the most computationally intensive part of the full RLNC scheme, and its performance is inversely proportional to the number of pieces. - -In summary, the full RLNC implementation demonstrates excellent encoding and recoding speeds, consistently achieving GiB/s throughputs with minimal sensitivity to the number of data pieces. The `parallel` feature, leveraging Rust `rayon` data-parallelism framework, also provides good performance for both encoding and recoding. Whether you want to use that feature, completely depends on your usecase. However, decoding remains a much slower operation, with its performance significantly diminishing as the data is split into a greater number of pieces, and currently does **not** implement a parallel decoding algorithm. +More performance benchmarking results are displayed on README inside [./plots](./plots) directory. ## Usage diff --git a/plots/README.md b/plots/README.md new file mode 100644 index 0000000..3329da7 --- /dev/null +++ b/plots/README.md @@ -0,0 +1,59 @@ +# Plotted Performance Benchmark Results + +Following plots are generated by running this make recipe, from root of the repository, on machines with specified configuration. + +> [!NOTE] +> These benchmark results don't capture the performance of running RLNC encoder, recoder and decoder with `parallel` feature. + +```bash +make bench_then_plot +``` + +## Performance Characteristics + +Algorithm | Characteristics +--- | --- +Encoding | The number of pieces original data got split into has a **minimal** impact on the encoding speed. +Recoding | Recoding is a wrapper over encoding, with an additional matrix-vector multiplication. If number of pieces increases, the dimension of matrix-vector multiplication also increases, resulting in higher computational complexity, during Recoding. +Decoding | As the number of pieces increases, the decoding time increases substantially, leading to a considerable drop in throughput. This indicates that decoding is the most computationally intensive part of the full RLNC scheme, and its performance is inversely proportional to the number of pieces. + +In summary, this RLNC implementation demonstrates excellent encoding and recoding speeds, consistently achieving GiB/s throughputs with relatively minimal sensitivity to the number of data pieces. The `parallel` feature, leveraging Rust `rayon` data-parallelism framework, also provides good performance for both encoding and recoding. Whether you want to use that feature, completely depends on your use case. However, decoding remains a much slower operation, with its performance significantly diminishing as the data is split into a greater number of pieces, and currently does **not** implement a parallel decoding algorithm. + +## On 12th Gen Intel(R) Core(TM) i7-1260P + +Running Linux kernel + +```bash +$ uname -srm +Linux 6.17.0-5-generic x86_64 +``` + +with Rust compiler + +```bash +$ rustc --version +rustc 1.90.0 (1159e78c4 2025-09-14) +``` + +and following CPU feature flags + +```bash +$ lscpu | awk -F': *' '/Flags/{gsub(" ", ", ", $2);print $2}' +fpu, vme, de, pse, tsc, msr, pae, mce, cx8, apic, sep, mtrr, pge, mca, cmov, pat, pse36, clflush, dts, acpi, mmx, fxsr, sse, sse2, ss, ht, tm, pbe, syscall, nx, pdpe1gb, rdtscp, lm, constant_tsc, art, arch_perfmon, pebs, bts, rep_good, nopl, xtopology, nonstop_tsc, cpuid, aperfmperf, tsc_known_freq, pni, pclmulqdq, dtes64, monitor, ds_cpl, vmx, smx, est, tm2, ssse3, sdbg, fma, cx16, xtpr, pdcm, pcid, sse4_1, sse4_2, x2apic, movbe, popcnt, tsc_deadline_timer, aes, xsave, avx, f16c, rdrand, lahf_lm, abm, 3dnowprefetch, cpuid_fault, epb, ssbd, ibrs, ibpb, stibp, ibrs_enhanced, tpr_shadow, flexpriority, ept, vpid, ept_ad, fsgsbase, tsc_adjust, bmi1, avx2, smep, bmi2, erms, invpcid, rdseed, adx, smap, clflushopt, clwb, intel_pt, sha_ni, xsaveopt, xsavec, xgetbv1, xsaves, split_lock_detect, user_shstk, avx_vnni, dtherm, ida, arat, pln, pts, hwp, hwp_notify, hwp_act_window, hwp_epp, hwp_pkg_req, hfi, vnmi, umip, pku, ospke, waitpkg, gfni, vaes, vpclmulqdq, rdpid, movdiri, movdir64b, fsrm, md_clear, serialize, arch_lbr, ibt, flush_l1d, arch_capabilities +``` + +### Encoder + +![benchmark_encode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14](./benchmark_encode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png) + +![benchmark_encode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14](./benchmark_encode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png) + +### Recoder + +![benchmark_recode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14](./benchmark_recode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png) + +![benchmark_recode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14](./benchmark_recode_zero_alloc_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png) + +### Decoder + +![benchmark_decode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14](./benchmark_decode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png) diff --git a/plots/benchmark_decode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png b/plots/benchmark_decode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png new file mode 100644 index 0000000000000000000000000000000000000000..bba18f8d8ba5260f361aecd09965908d307b3aa5 GIT binary patch literal 75307 zcmb@u1z42Z8b3OS0!pI-k`jv2DxIRz2!fK*23^ufh@c+>I-HF{9V)}a zfxkJpB=sErA!H}1VRzH&zMZ4NgL|m!26oowR(9qlhNm6wJ+L*gvb@B3ft!<;{j{;2 zowcnH7njA~zrktsz=%t8$5#cZ-2?`5^lD#Hz%PD$p*wOWb z{XWi;k>iW&t#9~cH1T-jnHip)>j-7^^*wSz;`0Z;Sf_%OYqw4iD~S%K`ufsh9{bVx z9vVNNgko4NVen=?+`(5qzq{|-Pak!t(Uo7gv~i`Px1xC=ul3Wyr7+jN z_2VFyVTbkCzg(lJ#UUsC^QWJeFWdLepN7mFPszW2%OQY}o$=3~_h#n$f4v}B=MFad zuUE`bQEUA5g1fzaRe!yJv9#|0_eV4+N=iyfB&$Tw>+}~`46={R&KHhm+Q~Y^zj=cb z=eB-|oJ-fAlu4?pwl;BiC$+4MX4KX%`AZuc(%RZImZkH2WjhO{0*(vO zEvD}a+7qR3&yDh$^_Jo@SX3@>dFax%UGwtN8SsoSb+>M0E|pOv}3~t%*fN zeKTvxNlBkQap|hE4QfeFoH(4JhEGgPygJ>9%Rl18H1cp!^krzMrdw%Dvh!Kt@5bBa zkskN22Zrgoq_)hDIF7nya59b8tX-3o)KoBw4UiXo#i_%Z_OvC6eV!b}sFW+Omzw0cr zGnZSm`@IQXjF+K?e*OA10TmD4%4AFJ#;C{Wuo_7fx8ykz!y=ioc*YsAY7;f>vjv(52UzCp5^d)8$p0rXYjtO<1nfaQK z>t?pR{X#LxoOKN<4JcdtRPL5egsZ}kE)Mm_u zk%@`p4R32*GM$p>+RJpR$ODgMjA=<*vF+4=YFJ=k;Oa`Ncwup@{cMk{uC6YHPJNNh zgqF_wGnUw(Tdb;4O-FEWqO>1S9=w0O-3!((|c&-4k_N$(C}r;DtnKq+%7FG zWfBvk+uz?m$Hi4YR_oKU*m?Kjd1cnd6C@;$loO@kt6*trYBn@9a4R*nw$>*|qL(_A z#E)7`e0X-eXxxuYD|(NNocyVT7mh??`)OfeYFuJE@5Z|i-Y(wI*FSx~IlO&*?O=bS z@@;xLk2t;H1Li~6*c_A3o;@r6Rziq_U2(AgP$7!1WqfU89w<#tn5+vRL?}|zyha0J-4-!mL=0?(Ho>xRDSMz+tvO3r~3Q*1zc8*(*|8vTKJcT zY+EDZU>xpzX$ThZ*ca*O?8HJ%eTu2|K6>1G>9d5lw|AbV$IY`?uZxN(pgR9ygdZ?)*vYh4$9bgcgKR#sN*dKEPApfWNtRoiQ`7pz9g9Jodct@K3J z`|gAb+Mb1KNAc|E*o?Yu7<~O0I=SUA*XLROaKo@6h(XPRxQEYnQUN^~`r^g$Shsae zk)Cj^NhHlhi;+7*T6d!b;hSpa8%JmL;E@WqkQR+Wl zd{P2Piz0g?_+DODrH99gk?5T|g6X#St5+5epr4p4*FRh=cWnG>YHF(GR-T!uxc%jYQc~*8 z6gg3s)gWzcZD@i@=lS^5wg*S|&&G(km2`jAYMKnwb3Y$IC#v;*ef^cTj!yFCrqgsS zvG~h_`v-QZ@_127{FDS8P~D8zV?{K-udRi`J0*Ey#kUPhmlu??eYN}LW`-QM0NawFp9I6W9sXMi@%O^qh{ zjiQsjeA&nF@j2cI3kuo`Oi@r>F!aW3XO^!I5M?p3vB^^bPB^nM>P0MO+%E7k=@nsm zf3A_9UFGfBK9-IuKY#z1``^PV!{bJ6>S-sPxps-fHim3DOpmvhJzek1Hw(i&fGy90 zFGu(t6Jff1@z_&p_MWwGiGf-QN(u^j;qKqs7)-j~sdmsh4ly8Wuwxv9P9~)0%i9iQ zYYD`*DqmAWJ4ezVaGH-7q-dn_HOjtJr5G#XK|D5&(6g-Ff7XGngA(<81 zrm|VRh1<9vpFF1*=X8Gf@U}u=KtSjlg$PE>hYuQMBWdbfsR;=+W#%R(CTQ`yw^&1+ zx0*Oh6&^S^ST5tw0#0CmWn*t2D)pS^ypBWvJ&sS4TTOcVhBtu_WDk7bbMyA?!Gx{0Tq7l9Ng|Eb z;DSIIG{=|0!3H_5W?n)&TU)Z~I`*pQx?IJS+y*^q`#jGhm%p#BzN~vr%O)u;eY-4E zEv*H6-Eq~HTo5S>q^+W-5o9#C*WcFGHtw_r%fZo@7D|{SG7l-TzMMPIYBtH^>S1u$ zUs;V*nYw)V@Ij_m+cuypOHX`d%Dm-HoG~`rrAxV(3rtK*wFw11IGhwnbrgMlb({Uw zL-@K+OpAhGBmk{&?2{UFzPUa*y|%VSK6=y0$ml#bcXs#Ubyrtcv7rH_ zx7+qApKV(#j@rt>;t7*UQqp`1gvT5!TCCV%cV8}rP3BBu`#D*a39ihHJ@oFANTq|h z+*bBC;()ZtI}g^fJR(wf#plJ(os-#~2oz_3CGN3bhB@O+&2O2fQP z#%+#BUe?f$uEiSHuLpdYn(DnTisL15jF2!t+}+^Lo2}stm$jKQF$gd$FDn}w50uJK zV}qqwFl&ndC`<&QqM~9)R^`5FEYjU%Q#v)f3T!5%R#tncG${BeBbDec-B&1`F-7xI zX*_xIgkyixef$}VRx`^6r}v|;!xfQAy|ZhynZ?hbMldCjajG}e)q7{?om$LH-JM%R zH-_%mkk>9&9#}4yhhMzshjEDHKQulukqm$U$|*HHJzetZRL$ZoWWrCLI&~fhP{fAx zO5F-By{mqX>qBv);5&-a)EZb=SU>7+HnTKSGBL+-ab$9XMOs2a0=-!GB*HTAM?=}t zEqBq>w%l%)rq@)c%$8u6<)GF;z98T-jsj&J9g8(&zU4!hkt&_+-QQ~UkOP8pNn9^m z-;-HZ1--|XkWa;VR#SD+9YRDQZv!ByRGdsZ0b#hqD)f$*#bAS${o4QU9Le@ z@&xRx&qG^>9nM5qdPRXtuVP4K-jFaoA%Sr^#&N`?9naGJC^M{&vaEU$W0U^K; zaaI>c=}R3K3yREc2GWTx^;Yh8?~1Up9s>~0wZ9zbk+<#6Z#80W@m9$xTMa6=? zh5TM!7>%0JgY#p}5tqUNgJEd10japRR|g5dlMbXKkNXNwIQI4Hy?sU2a$-~-W!E08 z)1v7&QS7>%rulDEQ?c4MY130vJ<(|SwAqIX#Z#ZBrf^Y9tE(U27ddcL3%)*dpUbHy zId$sjYnw+qjW1XxVE9SjNv?)>Do?e>)dL{w9$#}_nH(EE*yk@RFTa;j$U#AeJ&?Gy zyfo%RFVz|=+R|#&8XEx6mk>HF>e0uKaUO&FeKVhlke!pRYBCzf+4O4wR4D}Y6+>g#dOoH@hs zii4fqyWN;aJS!u^VlA*7ANJvuRu-k$yzm}7vpIC*$B!k({JYtE=(4h^iJE6w?{E+tb>x2(%Z3oMC!bRN{VwBO}F4SxFq-%P?O3v?}vn2NL z@DLCb)Z`J2q{rnz-L3%21%FwHHr*Ly0i}3TIzn%qVm%?NcpA zVJ0cuvO<{0^bWRr&y3zQn_Xzwd2j+|P4KKjxczVk*c zk@uEep$S;%;@Dki5wDFAcGUeY+^u?W*{pSn-K9CW3G^+GoxxG|PZzNs!A^AJn?l9p zXd=D)=2%F5HGZph?z+v@49mUV$qv8$#RgvE@OTERaZQH_&dIX{!TK+f`%+i2a zRzw_tAcT^buk1ai<|kTMSeTrmcU{5)^&o|OB{VeD0QMo+22`SEO&21~GIKVu_n~pt zAc(--9eP2!c5#Pc#HW(7q)TPcfx~&tUTu|vLg#5!xknCC<;IyXdt2LFCrjcx>N@ZM z9Gr!b!j7CH?mHG}`5MmTE&4%XvCY%Rjvdo#cHG^x*<~n^|0(9%xrJki(WNUU8gV7@aGY zmYG{yMsaRWySi?z*z)u9`&090*4jHv<|uh9rqt><4j+N$w7Ii00fL8l?olJQ*`AEt zq9i9!d_fDkk)0p~oV3=Ll!^V*Bdrp<^U&688*}xhTB3}WcV8%pT{wsZu;kO7rhZ$Y za%saa%Ce*}VYEEinUcljeA;qz(3H_60@2&MPY~U~Mw#Je<$(_!_2XX|qv=zsRlzuX^I+ zbDKR)B{d0jJlUIX6oNS`cONu%cjsebYNP_`EOPv#qM~>ne33EPTpHt8km9i#5kcRJ zbDoSKUo-;Issjq`3>Q}xd1vIP&LYBSFDM=C?3@P?SYNk>w1_mnsIi*~(VYNj77XoN;bo4fNISROunSVLhHaE5cSRmIjDj2Qaa zvtUF`oJriGZLHW^zm2}91Cl^mX30kp4^`DrW?7EKi+uwzq*0@L3fCkgJiAhq;>Z_U z02x#9TSoI(4DcY&9+I1D8x?mQe$c{4N{WhP04Egx_>Zs`sc2|uL@iFMET)t@uA2ou zA9>QI&#j?Q+2xp59+%s2Atlj~!CXuSu;O$_GWiP3>eY9dnXih~&rAaj0d2(^y{HU$ zDoOUmSy_Zq@EEt9mIWmOl>}uK5taeJ47k%MC%Uk(kjHXJ;5-9EJVq$aecJ?W!7o0k zJ!ko-M`T@dg427xy-b&MJ|lk1{Qx!{?}CT%uzd}>`dhfGD`cpd*$}u-Mi@0WeVv+; z*UIQI+<*Q0HD6%06|`Km1yJ*T!>yno5|fT3S(RJ2USeil%5~qRr{`&`2k?(%hu04e z>qH9J7^2<2&dv^wFNDrFGLr_A{b(5tk-TQj9yGij3ef_}z#7WG(PKf;z5q`{OQ&LM z0@>U&*1>w<*necTZ@iChW?&ExmC+z?X$Hl`v7em|GTB+h=)Rd<)BF+)yg$_hy$cL<6GlPO0-G>{?1M>3Nnb(^DhEp)t)>Bb zXY_#Nai9ZIkp(9;3CZc?H*X3wp2IHpUcJma$XA8|3Vb;<~HV`a&mD=@Hp5nTCSsBhW9KG(wN5-6&2}2j|aAJ{C-R1 zk#b#PXqCqKT8Qt3JlRy7$McNag*C0MSyyKr?!rv=y}yTl|5NlcsM*p}L3GA6)YIUH z)K|FeEG^X%PrPs9ysEGNdTWRN#0hUuDTYA1*#tE-I4*8Po>C-6Cmx^FxTpo5D9m^;jQJD-FxGXIO4D$K87)2ipn&Ng@f$P=-5Y3x( zjbNa&omcJy5yVE5b6jzCE!*OJ0#2Rp^XE|7mzIFa8v^MgZ<<+iNlH#e5L38-4I?a# z&vSDGAlM;(8{%%!d+d4wk+|+8Qv6A1-Tow3`DzGe#fQ$NfwO+;#nqHf1K1cg0f$<5 ztEw|_bCUogU0Peiz|OD)oZ}9le-0cwtMA}V7=U0DF8YuUe9q6~_%afJTFnB&WCFM?Ewt-xj#Fy-F2F44`B*CuD#KDyJ-@5rrG1b)8 zw(PxlZiw9^7s*Mzy1srN8(ne+j8pfGXNS43UNeN3Y=zUq%Wl*+&^kQxDmoslNiY2WJPS=C%ZKB%LkBPcxlt=*|>MCenD@Z_Y8^}9h#00P0}Xfx))BPRCI${50v z1*m52=%{YKvku1FEj6{sdTe}9k+%Q%GM_75NRV#<-{9K!3*ujVVfvLdHJ`y;VWOl# z4zsqmSIxtD_<3>?=e5m^9q@kB^b{K;hMqOBf(01L>Ddr};qMWCa1Cq|6e>e4&H7Bh z9dYHvH}?&7bYi-DTR`mAd=eKI_w(SS=jXgK58%JD=@GN#oDEiwn$4F6(q#G54~$`s zDPb7JCVgZG7B3r9|C}U9PXO8fr&+Q$B0PIkSn&k3!wy zNCJN`ucc=+m~#iWE|A`8c>p}z>^t?($yYuB5rwU`VrvUvF=EKdTP8w&0~+-OXntd0 z!s*(vSgVwv7-y(LLPB2tw>)Q#y_=!pwr+eQ-`Yn+_Q>@PFAm3Es?G|%>;1>71%t1^ zQ$37}d%KLBhK3-q-4_PEsJJ*nFAn-PoyV?CH1G`6(#~S#o%w&VgMy)l2gM;I9X=hiaTI)eD zz(rBeo*SvH#cpqJpPT{$^%%$xz*F?SrdOJ&F0%$;bfnj`E_UELFq%^T-6i8QFDI*1 z>kL+q*N3_tB7J8o>26}5Hld%2^8Ti6b1&|)aaR}}Q|7>zp&UbDW5DX0;Qeyw4wgAz zdP+<`GP8?Ru7w51E!LA~6^swQ2C#-6GtD0u=X|>E9Y#VHtjbe)Hp*8BTJoPw?S^Bb za@tZ?mnVuUN|nOYWgq@HZ>o#+DA%_Bhk8FLzk#aK=RVEEgbkSh)FbdSX>2E(FSL39 zRvH7l-RVoPwDsna!4I_n;n+a@v%A;Kc&H$bf`=p>q!LYXpMzKdLOT;sMjs;D8i+{T z(A9ko7O2Cwy}o1A8h3m2L$W8XF;uh&c+s*PYu7i;pt#;ua@B|Er%CRjz3xwlxt%*f znqZsnBzkSiuke2T9Yb^D(%$a&ORpfA0E(JVQIPI-xoMzxj?K@zwF~iC4*9mV-SB?;lu=Od6v&(!g_g9y?}pI zi>=6ILO$tg$bgu^UBE{foKQ2dL>#v9&@KzZ4^*1^sQI$-khfk4bSx}d=daA8a`Y%G ztsOR+iRGl(4fGXy{;yekqnyTFR#@341U?y;=<%ZyXS|2Cy<}@TN9oP&KbO4ejosfr z&Bc-=&&tK6{_}Yg`qSPNuGW``p<14k&w-~LU1^6SWp+N~*9JFUW{C`>?lta6S5}07< zX|A%R#~2roqinv0s@HUPp9Hl+BggOw$4Kn>LZ&Fk zte3M4wVl0@g2n6Cc(;Wt%PlYe~p z=o4#Tia#`&&Z}3hu*Z5pM1b zjYg4m{AN`49jg3eP%XZt;v2SWHDe~vzcdnj%=TGwtVpTs+bzNiQLM!16SxJ}fKEQ7zB{iE> zIWoQm&6yrDAxkSOKfpWE2>=cuqAwQDi2c>9-rMY;tC+`50?0MI4Td7P5*NhzsRDZ3 zh52|d@SRX6B#?L)kM~e1?DLZVpLiT@%gfmv$-!RV`g2qM=PCO8HKE|1aCTQ|mAmj- zf@fS*q7^Hf=d^6N(&~jv{8TLs16I+quT5dKknQLxc*UjnJSEP(1T#B5J-q~J7*|&j zB3dDD*lC=coh7n*nJ!&Ajzatokgxy`W22rD(fUo)2O^ssXhq)!3%MYbhy8l_KmpLC zVvNweOmQ|gd?+QLU%t&#T1xYPD$Ub;! zWk?wsGC~t;Z)-z=PImankuk`TpdN|2ZC4rdjKh1O9s#?X8!4x@x3>pAgseCs8UYmQ z+i)pAD;ryISQst}i5abfY&tVz`pr%VL}Y!S!YC@-NyubKD=HG9P6IRpA}w|A-WiZ! z+kv9b4VO}&fG=R78a{o(K_T6dMKSuav$G)RsO^;=9`KQaWtB0}(Ltf1M-U5zKH{uX;CCpRL6kgMGM#*LLt$sp&{)P6cn|PCxg0?k(I@2>mylPU$4u# zQ{TK(`ua5rbPa&h$m0U!*1s4*0wG9oad8^K2ZvE@AYj9*CqVQC)F>k-R|DgJLr;$w zegTj~)P|#-9S>x8S_-cy%E?^;cn7x87z89^MIRc1u!edBia6*fRK>-`KLl7B0c#Y% zyruPZDMavbEQpV0N{ZFr6y-EOy3gg(*+Dgp8 zz<@Z-Tf(=Ml?_HlLBeimZoUS#518g8baa;cpMYO?_4JH`UpTp#&P2!L=jZnsI4B6s zfN!pZFdxRj`A%u@Ib5a>+$Xd zlAbzs3hHUTquw`j|KT-9Q7Kq8$nZgTxslclH7^O(g1Vg64X`~zNyNt1_A1a1XI&63 zVDM1J=9g2uXVj)tA!P}R&)K=ySvNq+3rY~hZFLh|nW>DoZyzzsT0eO3_{EDCm@;59 zZ`0DSQ6P_KHP6n?nbRpXfp-WBlSr125AM5n@1P*GV$>ng__Yco^0%3pPaE$(mP!PR z6YX4?$7cn@0fN0&^Pnreu7K5wTOW^=q~sAuS=|7V1-p?Z4O3*r=zCeB!;e-$ZO;?3 z0Na@ib)Jc7B4oB7T$RI@k+do#H0%Z~3S~ie$qhGZdc{G8N`(Ytw>>Bx^2y1`ll3r! zXHY7D1$;(clxt<5RrPbV^IH9sRUgXvgysX#f&Zaus;a6T;GQKz^T|2M+a=%8I3Mz| zICHs@aE(@164IhRlLrt|PH98ae%x+A;`iw}JFA z!#H^plhhldNlpHqYY=jV%EAI+t@ukBOgKy|-mzncPz3a1G{EBc9r>{IL7e&4o28c) zMtmqhM;^o!w6uB%Ww%pr^{uPD^w|FCiCY23ec#^shrZk2#;wHOr^R>WKC)>lG2wAQ zJGkkBYq$C_)6ef1(n&y`zMs~q6fNKh$?(^pg#o~)1}v})Ik)6Wb-M+ZN?+C5ZqsbY>{VKnFu7z#=&^Qzzkh@ zxIRZzu4k6BgQEs*>*B?W%_#&_1UPr^-VIl3KTK60rv*q3NjBwaxPxM}336lr1WLz| z%qTnv;&~dv1~56<#ZfqP2(sAlG?2`~-h=@8@=RKmmbOdZF!MAuwZ?RcpZ>*s2dgWL z^4C)^WWgf;(CLz7uTd<$W-R~WS6S36RC!!z5%!^5ON4FR`mL%azI%ru8#1|k76{Ro zTjs>Hz>&_Srq?dpew7QmO7wbq+kr8}=O3UNc3Sqbh2#!hx76p#z}L$ki^$nbcU$YE zsi(~9w@tZs9V2G|hv`2pe>vlLhcKun&ANW?C8K zg(EI(NKkRb3?3hGpSU!kOOir{0H2wKrSO1IGkBPIT+C(lo4ms%3Qq05`?=>~zk^U# z*%t>KVmf~iBCe|i=mh6V1r*`Y?}C((`jl~%a9yQ@`43E+(9^AYsMSZ)3+a{Nzn)N zxM?zDat)-+%*^M0=DQ*yLm35}FB%V{!uc$y=vKOTBsTwbQYXT6@R2;S+wd}=zjE? zu6twuyBXBR^MHwwH;*2nAdp}H%ZWUTn35ZHurqovpv}q5d>CjDn7#mP@QxlevEScX znL?b=570b=BO?bUUF?Nu;mNR2uroV>W&{w!53;>w-8K!v$6Kos_%M>2HL@93fWAEN zOMA)bGe?7az>KilKlQ`6@;6dZ8PYp+<@JX~3{V3?vR98dZ5T&q(av77wYwh{Pp=kpT536@|O2#$cvyJy<;8Rzyk## zzwvsS1T2S(ieaZY((uOIdxSYcO6Z__{v@}R(B|WWZ?@Kz5?(pdR6TTHZhGA{-loFA z*mNdO9oiNo94*}~xhaE!gRubU0CxKfgtZQa#2=o}5FEI^A{!>;NPziZK}%UPoL*>4 zlqN>f^eD)f6YGO-h!_;sExf(Rs+LhwDlGCGe&XuphCo9jqbYQcmZqi&o%Ae>xzl>T z(b&w4ADGJ}R~P%K;G5{&3W=T2SKa}5@H6%1AS@#hGvW(3d9wPt`$;fE$dybglej$aw=Pe@X*gX$J>BgqOEM zX+CfT>szDv!5Oek9wVhX+nXhAZf+iB4^c!oOEi&?Ujb4X9wDKmvGF-@8oUr31r+33 zrTd=HYHWtY8J!t&k1kF?>q0R^uxsng=yCJWi=c(Y6r{5*6Pr65=XHDyqLr7GRi1Nr zcTETDZ_$N8`j(Ckp;t8uTo?eeTWlA3d7eL0bthjUu%uae7h|N$d!CESCnY6im#QQP z?Z%nlc3k(03`HpASA3L!bLOF`CNq-HCdt9me+u?5-}Ioi*+MfP4|s-=bVzO$nYDBE z;iH0LF->@>78KMsf_ypu5j9DkO@BM%%}h+KVJG`+yDm3dMSzH0=i1e)UO#i9r%aa+ z2_1e-IRLvjWto7z#24~JKUJ8Ff`vs!#~C|(bN%)+yu;6y^fO68^gE`06^aS@874&D zBVLH#d#AXX8LKo`9$7ZGIyv;8$G zm|Zcv;Z#Ad;-1ng?fd5K^6-QUxnqq=pPfJ@iC9)MeOM z$T_sUkz+C7NP@;wbg;jptmU%&LWWtkCghAf!g-LG1HCvMfQsC3>0}j%su=*ABhTvX z>Z$@^8w3ilhs`cj$|VEzJq~*evPLB9cOdRO@b`hf8CG|(wM%DRd9habTj~=lMg6v- zChyd!A75HYjT5$rf^5(SWZwbdlL5#UNVb?flTPFm2!J3)etrr_@>FJf9Jr@z=Hfu) z^~2*M_?#u50AhRwY*7m+Dd6SH6HZP}`mmV-m@WwC5)q+61Ye99r1P&wg^^amcWY>B z@~YOa^4JIEcC}p^j*>+55s`q*oPWDhK%-RYWMVb*d2Pb}DBwpwRbEMAoYI~@W{`Zs z{HrFq7oQbB+i7r|h&Lxs%c68D1}scFchSdbi0 z_hheHmTmx?87nBUq^G9`K6DzsCCK;HFj(0SHx?W!)y?3nzgH8UsTIMJ1i64{XFA*4xhO zko5-xyJ3LCcGDMqX~_R>Wbv7=-&GuIjMK_0eo*k8om20jbLr&pMGO2x`JVH-8(hA7hsM7)hedBANKkKjL;kSS*fZzt$ zEpqO+P$|TUobvR{=oK^TVFz!!tG7214t^rz3vt|$g$)x6^Zc7WJUUY0uP`=$onaMv z2lNHbKtMX{*h0mQWpj)$1t`OL;q{>Rskl{5>$@cjVva1~=ko&oCD-{0M` z__XtpEejE#VfGLg0O)$VLrg}uChS)B4NtI(<^Mt_T!8L=wv5z2Pkwp&^0vwV?_y?d zsdX#YhW3Ms1OFXjvd70c1>?{I$vT4;382=|(h|O2eqWK7$5XaFljbxPEqc2@>f4ZESy-0mJ>} zI)P2KoYL73xo;Woc@vzxg=a%t{na3>(98`2$5-;B6wY>ab)k$!R%U>uAi5YNz;Gc@ zj^<43oke(op8FPNH?rOMnw*?m)PyNArAWvMumfbN2Xu@&%P5ErS;>oFqlG?nYkI|t zx&=k5dPBLb9y8x_i0azQ>&|CMSpUb$>>4)iq7r$vN=a^Y8y<+aw1L4j?FpP+~mSZugnk@iK7Cd zO%4PNfFjXC%kyFL1F4!L ziF$STsa&6-fvwC|FH}46Oe^~b(s%?XbJ%}Tj0O0Q9L5FI^15>x*)QPh9EB4YC*dgc z)0Z#nnodXQB^Ys2lAJtw1SRm`3m*8+EuD1EUr3P-0krAd`SaC~V918_3Sa98gkj+D zX3^aYBu(E+4>JWAZ+vSi&T8ekZ_M>GvMNnGQYt>D0;GV4t#ELbzPFG*X1%jxg12E? zYZd6P3UzZFbU=!7z9?VLfBbd5fr%KF*i=}*28iP4@e0-_QjzHFISAI^!R zE=PI-I_Lt#`qSPaLPvlyk53Gs$7>WLF4AZlJeq@Q;d2BH84BK^8>i!dn} z>N8X~s4a1j)evO=2YWr2NmhX{@d+F+EYN^d@?Mpclqd>LG>}46>ohZS(#;+){Tp8; zS<&E{=_#IPHJcsF{Mwr;4E~Aof8Cx2WfMphO?OH!H{oq845MKaVAb*xg-2a@c_}M0 zd*br@wN?A8U}HHacQ-U}R)1~Bk_)?b?17EV&+ilrCy9$nO5o)nM2+*>;nIAFxeJG? zWp-CAz03TA{6UEb;(Gt>@_z+m?w-6J zM*8MdU)2n#W}E%TpXvY0*#6_K(ix{)an!&;3He}?UBU!$w4WCd!KJ&@tj~sV(zvMt z;9`Jt92`#|M%nSTPg~Uj8;4`q+vSD#DBUS9YjMY9`M$1~+X`&|xn8f5^nC_rN6@-Z`CO z_``T5)dXSguIe)vqAw#lYm1}58)nt(j*KGVX4f?BW1w+x#E5(7{$@f{8HCjTq)3V< zVfpuy5D)x_JN=W8`cb%P@_yfOtD5jisq-U!jx&<}BL+fD=`Qt9(_Q-?1sCaQq;Jmx zQvPqsG7YIWDaE7jW~rccnxEm|xc-|bv)@J$A9gZTzHN2ozG5oS+JJC{v%i}y$e@F0 z*;+F$pfN0c`SPP*kL25%$gG;`W2cpVmWcY1uljFrtLuCu)xY3>4Mg&P+8X|v=omwQ z)@9oNg4Tal8ZKNvVt*_^>&d2!9;(bgyYyRU%KzApPk&78+fM7#8w<&KFCC+q$*TVr zbN*VI_L2D18b4M+$>Ya|e)Y{AMym!Y+=LNIfkfkOv4WyFVz>=j1W~Bmy=6dk2^bN$ z%A^QXFfjfJfh)jKdlZ~kBwx9E|Nb~YPVcldHb}qa7-IZBxtr;Xe2x_|j_DH6)5Wjd zItGN{uWxm4gE0MHLU+^(#DYn|8J(<$9Q^$Ydp)1EiRc zv#r;pqzrpAb&!)`2nL2||NG7nb;r-+N!4w!VkiM3HAkQhKf&4`owas>TI0pp>ossr z^T*-IDL9HMAtU3vH8wkI7V7}VaLtE`NFjW3<-voCAh~!#qKFnEppurBoT$%`rI&!H z2tt>_!zn>XIu2nOaa}k{qv+wGqtkiMI~5jR(_s0-!e5mPnEv_o0DBO@7TEC^1V5!9 z=IlK1oK_gQrUd*8I430TF4ASntD>UPyy8zINCr7P*DU?=g6rlEWg zoSRW z+JdA9`3hnarsz0HslNcf3ovqc9Cd({S!F&agIEo&=}GI7x5u`UyYbqKS#`+l$v|%V zRV5LPRz(WhzS)|B6g0v-5u+7>djR3=2OPrw54p}LFu_^=u${qO6>;JQ`k>E4g@|)7 zJ97j1_$U&{*MUA2E#gduBB7>6gY*Mu^1+ZZ{MHsPbN%`e6tG>y#H| z2?9nmn6|(rSJ9JZei=$601(#6&{eOSoeM{9yKqTp&o3 zd$f?=fE!rgZw|pIKuS_dLIMk1T(EbE^0h3MV|XbE&att1!DTfN6x1IX1$E$&S{ejb zxfd6aJa1CcVTe~EwF2gO^Qb0da#!~01guZP8UR1L%g_V&$PtN@&WH_1U{*G8*HE;$ z$H;Ds#lR?>3kKp*g%m#xRG(2Yyma}IWAvggd zA6%Xz0kPsOVPKWYw{N526k~X0u80)Rf)xb%AkS3LH#$5|Ifh*NFmm#Tp^U1!b2yMR z#=##EZsCrhFi|PHwNWM~{~PO+?W+&9)y4k#cV#%$1NF@L&_BCpk@WhgRq-vj*Wrp; zHUor8!9m1x9!by2@_|}_quo9rIp6sdEeHsR z+)-et#GVb#!lPl79pXGsf|m&27FZ*GWpCz}h(%(HlKamX*5(gRP8QDiB#>NrzZRdNFo6mY!)+?I0;MJeVg0HnHEM*@We^x=pdgiAqW z0ZnIkyrdg0he`zLBZDvNQJv>Rd3iYpT~`US+k}|HC2Nrje{LW%0?F5^{(O2LaCZ36qq zlg$x$`1shUA-H$}uFrzN5EghgkH9mbL99i%o-4g;a6#p%B(E;9>lgD=a;#=2GoK2{ zL!SOu`+1)mHXEpou(SB0(by<<-7-q}v&Q?oN1<6EajyCNUc|LRJ_qhpLQX+egUeX< z9QgWSIQNKL(!>o{;P_KsIK-x&$)f}(VmGH#;@}=Cq$fe%9}hW01{1BS4j=poEpZvnF|l0e(UDV#GfN!f6%G-r=ELt=K~e|N#91m zDMC5S-=uoxvy>jTCp`Nkjlm3`nD~DpfJmkuhrD0G?)86(RXTEL<~R5>N;yrHlDyxE zT#c%}`p?=;Z~zV4oHb%X-(C|AQ2k=Ez_7S`^V#;BOWA$~7iEFi_1yYJ*6q(PmKx4& zRU~M3Lrc}?&Jn~>R z0?8m|7)VvfsmlE3!EJ5EDy)0n23e&`DcZoPi=fb3s>`{*LZtoCQEFa&bV3NOMGjb~ z{F>RE2MTAC-60V4Fbpn%`b{DD8B^h+fh*8PL`3{%E+h%it6p+PqDAyPZSR5o@|U;c z;7`b|;{9p()ZSz2tmBHnx^=GHy_@ta00&CMg=Zemy+S|YsD(k)<~Ov>Z%jZ#rwN+s z?;h5~RG;?arG)en#WB;r7L6_h`2CKqJ4kxR2`i9g&)&*`v3m{4_1}=>6Wu&SNL4*> z0_^geVm;3)yNHjHxwJ&UF0HPsoB8XhRk;;1LXQfvDLLG2PYBhAyKmUtY_gqB z#ZL&?&%FHgBsXw^yoLFjt-lq71;WWZd*E@}Q5GoSb2#f?{hJ~y<$jw&q{YH}jLp>M zyXzBp90EXJzx(AMgvFX3bs3pQ87U^*&n&-SZv6pC;`P;XUj;OX;OwmGufN+}ezG;1 zhT&ki-RCzgZcgeStx^uL{e_HyL;dd2#-_);!?|f6)s>R|8Pg`kf(8;J>pyoo@-0JCpV_o^`va-*9_hzfB_R`^>POhCj`tUts{tn2db^oR$=Ts76!$^f9f4_F; zRKOR6*|LG$;cwpru?}<5AXumrQT@4fsF19HWupHDi(N_rI{;nRn?O1B^(hdJD>;}hahnSUlW`?@8O77ALi4XyzSE9BL9{g$-i4W;JnSJaBBK7$L%(CeyhAFEK zKB`u-x}xLtKLTF@5!rkcbj|l>KLoxuER+g?2uEiuoWT9veCZ}s*wCc&@MX_YDNX)6 zP4kxk(_fw>j{88V362HE!o8cnd!LbP8S%Hbsv1{L3aG0k0{p?z)B9bA9qud^PSne$ zK*c_}*ZQ1J^xdx;`~y7MADh2g^9erdEImEE4mC%@C zz@7fp{sB-s4agvJ>KSgH>o?Sbysg9HNB~QmD;ZowREL}gW0HRU84hY&Tv&wL8oVF? zxpL?K@w`KT(3|OtSDt&_i|aBi6^|zA=l!YlSd#IJUV>F;04E$W6g#Kwe%!ZY1}Eil z;G9=bObl`iZDkfN2m6uH5{+~HeiX9SIWB9aaAXLcEx-KCMM_MoDu|@*>yc&{5~%(2Ew@=QO_3 z49L9E5IIM2+kLx1BkoQEawQVBMh?0gwbG$3gGdtJZfrf%b>4Olwrb$ONN!s}fxuyY z;0OwMp%;*3@Yau_d;z!-HS9zX0&e>=0wbxo36;kjAD_H8l zdVZmj9u^bx5NKc^Ei*_p2sFtizkWqSL3`gHs>USXodb;vlBk&l)-f%zY~vB;@1Im?{}1$N>Y6NACZVB_ z?E@A9ATK+GsLg+xc=0Y-Lz~XX*cc6kiA(Maq>HCfQHTl&6dY5F_kmIdlxy4ZniHri z@UUQOgZ2~$`YSc{_2(EEj$bhp?*dj3@O!wHmH==*Lrg4|)S(BWX_;%+d>W0AXR^1q zhoG7$;MT2M#3TLw{+MeAp+P|i84La&G*~oXs+I(y z11xHON|W=q+JN~CcGd`K363y8jKJ;+pu#FW4iG0mHh)V|5giN+aHxeyp(O_r0$6u0 z9(a`ervW?#pCq&Q(`l z^^lg7d|6gD{4x|DyacAEwO2@inu><{Ay>Ft{|7`=00y0Yl`F`X*Wdg4i+lm~Bs}~x z$QXKdgvGvJ=K-^m@K59x&_^AEU|NYd_N?4jTAKs1Hv-gvdWyX`0hZrc;2t4L7+`5| zn6y!nhDZeoQd$ia69K;pu+v*5?G<1fD-9I-+J0RlZF6@%z1dAH&K&ErB5{cT89AUO zbu=uA{3l{GzHF$+!;=M|xIdUHZHKpBL;(@T6NElDZ=OaWq@g}&Q_RiHwX9hTmy+%8 ztefXSOC90@gsXh#o73jxSmv8=47g(`UvGY4<=$@wG5X)^)*t7wJ~SX!SM30XjJZL^ zO^SmsZGc+|A8J#L%Xb#w8zf=_Rp|*RQb30bx)F3!$`|{9q$9{{Pz2MBap(qA0-yXL zIDy8-Dj`%?h*DsB=?Twh6fv3ril~|GENy?l0qyXzovoOQyzr^7wu66ySg#f<7TIYB zfz}V)%+B$32nhxVzZp~4I_KWJ3gZ2a9AV&W=z}1?KpBFl2Baqnz@scU50vlRVO#{0 zVsMP01xE^SmZ*Xg_sgPy1jo3~13;EQS0~nMr4GtdmhEb^rk3WGMO2zQ9l}lB(A@8dD zH}&GL{@N+#6{r>zbNecCNPztDA4zV&8Jbz_yps*gnZS)k3?oqgoqCC{I@pQkzRgOkSF0*(5{&xz&{}L~#6p{l?=twsROybKQ=s$`gmx~8nod3F9)*oozNi4fR zZ8hd{Ajc2r;eN8~#g&ql@lLhy`676A>;Koi^mO)8=?kcK#nOLkWV=-yXJrXE`hWf9 z=wxdl?2D1n_!r)SchAvvz~nMPe?<td+!b*a`)zj{}hDwOysv$jIP(};-w z05InW;<(Lfq_@yV|6VB}-4tqwv;}$+h)V?=u^JE7B`nRz|E!yeQ=yG>RK-{Iqx+fx zq*rK)NZZ(Oc>DMu(pzY`(t+>}aydj!lnvZP;9#jG-FcSu$#7%|&X`(TQXWOYK| z-3z^y?5W+eVp_gP*z=$^>ItB*2 zz#)V##QhSnz(?ru!BR&=@t_1?AO=gCb^1-n=3pgg~482F{n>cGz)wc*v? zdF7dPUqD*EiPpf%L;Uoh9(joLypc-*V|YvC8?KE{kk9OTr=aArNbc zZI|1(&p^N7UEbwaybO{s(B;$=nSMs5(*FPu0^>YP704EmVFf7DQdbT>zTQ_}Fwp=5 z$Oz_^p=t70e^!pb(N{p$D%mBYBcTy^hzA=5<@&%PL>!X9iiH!Ds@G#UDuvuY&Isc{ z((-tv9c~4BB=|)FU}!M~^vR>*SX@Tlt7lv$Rgk}f8Rj`C&1~9*H!B+7*scRr0ug?L zdgu;3MG%P$sBtDdz-G&GCe&V0PZFlMoJP? zpSe%<40ooaWtw}Y=Sqz|Di(o+{ix+67JZtLfdS#e0advkDTBf7%)DEYp8oR)m6r}% znk9$+(kwwr^DHrpKR62Whl|OBwTet(;I|z=W(9gg$YAvlqB)|K0s9K`ZkaB9#1onr z!~-8fhDw}{I-^gU>EXh37DQp?4o*SZhIIN`@>`SS85ZkIPAklEH>kSfn zU{s8{xn)$EJP?-#-QJR}BVC=@9Viyw9I;hl8D?N3lpiK0LrB1&J`o2e8y%1RdtkRR z1{Tk?Fw&uuES4eX6MGG|PUfFjb7*@{|MNuwIf>QZES;WMI>=$97lER*C6*5laq5M} zr!Cl<4H)EhwchQz0BwllKbUO_(UFnhl<=!t&yVb=`hsQEmoFMXh`$PhE8P3=ME5-5 zph7hFVD3>1feHG>m>?7eUV^zr)J!xk9dlsx41!NS5)%>ODAFGer$;j_O@@7cgnSRei$V5+4me99Q51@$A2I|ekqtpf z+4D9wO&fE4*()f5+>a=a-!@Zh)~@&i6qrXYWD`9%&^aNTqZN1+Q10TdXPWWD6d2GasR zFvt76=UVd+ALR)i_!+gOkZ?=G*oTIxheony#lfE{yaoj$0Mt72GcZ+tcmfMojQ=fAox!|3JFm@B8Q{xs-Uww2B7GtG-V|7w33C)(?J~! z8IB4!zI7Goo^Yq9p~HO)1vRcXRBPbAhzx{bof5qNJ#FUoL!%WNTe0gge3$Iy!lIOY z?}|S-ul*N@f6vnfV;(#os=yG~XhmafN|`WHj-ePXlOSpD$up%#w=pQx;u*NPZy$9w zeq!)tjCdoC7wRP`$B8%DW}7V_Z*Dk(e{1(|6QCbCw+#-<95E!Z6l&7#QAvfbRL0DT zUjskoKYA0z$3^j2U-^(P#Wd#rrGTIe`b4S*c6XKmQ>t%nZ$TL%$tz2*Y4DULl;r6- zU>K{``<@3FmynR~sGJFjUtmcN>{~jJOor2I+qs__SCEtYygQ!TWs!Ub=!tUCPeBfY z(0jEp!>SE_CyzqhS_fxAsJX9#-+)!oS7Kyc)6xp%`h8PE8fG@5*O@Pv&5e!Gxe_WA zU$Nz+@R6YVt+Z<3h1VtEw!@8hB?3-|%&h{jp&nrNm4n?SL^i6yL!d5+N5l7h*;f3c zY*oTHBqZC##m66o0H!5xXzli%f&vEdFj@ghfI+oCF2}R$aCj0RS9m>MfC$Rqp1$Cr zOTV*OZ&Dl-JL2`2OpYJex@B)&NEny>86}LcL7JC76PS2HnR?h+81ZW&@nW28;&O4Y?$$?ql7r zY8MastM8!@O+ZO`6vt0|hSvg7$BXQLSIW>VI0cRwh2L_TmqC+0@jBK@3<#ZhX7oAa zz>(1pE8ChKRZk{=bed)?9RdYrz5BUel(0Xr0@$H24&)f(W&y`c3)u6!zR?4)0Qe@F z+KeJ1Iz|x^Rp40km;gMZsZWZUC%|GxO$5J3)-QG9JW^uqQ#aRt*DKe85|-O$gj)kqK$e za83ct<$W=;5FHR$Vo*UFCZqzKiNFiMb;Qfl2qELTGYaXoABa0$5&)|j1YbJj%mhFW zk^MwX*gZ2`YZ4rs_wQoOXQu3mG)MQ#C^k z@wvnWi%?!*7mb2R^9e%67sbV2gxbMv^AX@Hh~)y5p%_T-!4I3{c`C3JwcOUb9|i~4 zfL?qVxkot5;jA-GEf-akGPpefdc@YtK6LDb`jFdm7;;Fh9R?kYG&YK%<90zp2)-+{zU z05Qx1TNhLXbS1puU`Gs?I5|0EU}6_CLkTfEqH^~*)!Kz3b;sCn>)+B<>ZQucc;gir zrF={_9Ew_VaC|xHG%(`JMix1&kI{q&iw?{gT+m&>OWoeN0m3x|B!4WjbN;n_tUnal=|q_yz*T7i zLbBBgSQ!Zbg#w{$LcWGXGPoNc*Mc3*F%(djt3Y)H@)DFMlzNEg5g^-02V-YrAqWJk z0Pch7E@XG0R|M!CmRLpx3t+6sLB`043CK7)%Gb}Y5|DVP(T<@IBO$=}!BPjPYsgqb zcxGrQuq;95SgaUIb2tq6d=m41TU!!#7R|J8neXXw-O!}^8z>Z{3;_TN#tAx|0z-cw z*@N(1T3j3hvB?64GF&?v3IYJePo^R|3h0iAH!uvTs|442=;`s>jG|CT`VLe05c5aR zI<}32{aqM;f(xlSG{C+M6yTvi*yRV~D?p%$LLprms2srdvkFMJfNJsb$$=>v3iZP% zk5=4&6w0ibH}C4$P=Yt&q@DN4)(#x)?8Jb}hth*A6pWUn06hl>H+*38LhA%|<*!DB z#DqKC!v8^GMR5N7+{d3__$O#(T~)IKsQ2`Rb&DB|-liQRC5 zYzC|ykpgbbDgVQVGa%4oEz5=G9&{=z0kHvkD@5b91BL6?!CRCOynzsII!Kq-oK$}8 zLr{&A+U^0h74)a-@RgN7G=^V5s`jIo{R0QbH!F)BTGA(9%u}8N%c-%&#ZXuqvE{k( zF2TU;fZYYFjFV+z;7eh=&N+%dLD8 z$5YojsRnjfkdq*Z0f1liahL6ZGu}FJ2dx5_u$+$H)R23DDJzn!zu2)s)`s*m42Rq* zmNh57dPiS!!gx`hvo`H)Zi1IE`O&>g(yTF}9VB3`UOYL);?HPmR7 zrj-{+X+cDfG~ireq?I!Ww%>zr-)}e%*9BAeenM!=^c4rIwi%kwea_e0=NNs~onF1} zeDb@C0-|T>H`MEwgFp(s5kvRkuG`2g2E?5d(u-q&`XOfptOR712qM@3x49`}k?l#s zLD2D%@>x-Wf&!T%1X)C@kalY47*g?k+#C)9uP+3}fHD+5;pM_`nj#%LR%takmW8yr zYQ$UeRB0Wn`6dfG<|dMW)nFN(Gy1D9ZvIcW@=Arji&Smn`gaWlNuD9U(^t~vGh#*1 zF?Gy4!!3-(@31ZII^bdY-=C<*D()fG&4(EXgHsFz5)OBN6F7B=4BZEANw`-pI-lDg z&IPuZ;hMd;28y>Q@|prxLpW4=wGFI_W3a8CUXh@x|7`^!6jUB^XV&H3{SYULxD}lV zkAPO|xcn8{imn$HZt?UD14OqD7N5}T^)gdCNI+~q3ODx${Ej>X6PXYY+X_L_e z=$U|z2F6U*G0dS)TO*u@D6M-H{caVDc#)Zzo%9DT#467bk}qW}fC5M7{yi!FpUq57 zM+4?eh4#EU9`hZP8k5~rer0+&p5Yb{`s9o;uE{7Wh96Z$r|XFIsrWQO-UWrg4={MD zftcVB{n+>87uqofbZ-|wSLgu7;~fR&xAVnQDdG7DihLwufSUntn;h;B{s&1lR5QGy z<;x)O34#;*4_K`qRECT$lAGvNt=1(f4P&;^sOBdqoSt0@J+mq zWP~T6RGKLqIb4JZSPB+sp;pI24{;Ww;74~?g(sE&q^qfe9L z_!B<{aA^W20MtQZ6$T`E-~?!z+b2Ku9q<}edr^F>FJEicEaUAgbP9oa7Rmn_n!iUr z9&DQDPUFz#PI zr2=a6jL@crhNB8e{k)RXaHfA5xAKvvmjz$JN`Rh_cEJ#Q+5?-f;#cZYuXML7!r!I{&@h#p*p-{mpqkg(}g6f#s4 zY@!e79`kQO7s80ll#_AwW#={{YI}N{wjlYWzKE4v^dtvB?*Gx;;4$kuZ~pEPW#bb~ z&n_pgQXIYJ+={#`X6>-kcqB|U{w{{r3e2zxIV?>H$FwEO?ROYuG>9ZCpm|U1oZpMJYUn_i3LLsP^B_IQyg3>_Vm=@NK00C`qk6s zDc7RM!3)hKs07z6PeW+6;T&SakWq9whXg+w?LC+0zAhRC4VKj*nyIl6w{%$AX7$@c z&^rIs2O?Av#F$4sNDx*V6mApchx_cHH73QQY1SPAKn zjKalR*zW-26-6=B)&fz*j5BUx$nKiW zW_`&m^#Q$=`|fvn5NG<>zdBwgv*#Fm5xZc7?*X9(j58{sii1at%(r?3hCJgSlg)?6 ztb<#OHuLOQmolnc=$!)()n~o%Qe|$`@fwf}zhF8dAG;Cfz z-u!P`SJihhhs~E5kotgi=V6lCOGm^)d=igwB!domeqw+GF~TCw=mwUeuM zd2_BqA&8Xz_xTe)&b4%HF&U#u!84@WHz(R-6Vc5sK7E%;1sK{N-9_UD(~n$A1ZZWK zOmd%7%Kk^2Jw4v*I12DGWE>3Qd^0|7AQS#ouNMw{kWnS`@X2m`%X#3XO@m@c^*r3C zAl>!-Or-r(>RpwR64p2vhKnEnAP`gXzL=V3Nyx7#TDrebU^n{Nvp@iDQku`&sr{C* z8BwU1>mfrwARPt!;=3J%W)Ri*Ccd52+Gkm=r5t_S>$x?6O8g@wy*Lfr%$?00g}_ey zMXl%JO954!6TSKq2f4^l0h`ZhHs*H8-jRRe@%L!pgNN+fh11@?t%8F5ht)UuUTCB< zO7o6toV7bzWprR%-Zm z$1-kByw)F+i#F$@JJa*h@Puxeg-*wz(i_jfX0%9h{$(DUIlPpM zW+ZUrE^+6;4h2-948HL(j%!3t{xzZ|iJxtmH#I>Cy1q-jh&VvX5kIW}BSMekT2kkJQgT z7(^dw8n-hD4h&8FJQZ2(#uyJ2+whfPowE~!De3sH6yGd=`=B<+oxyaSV7cN8j>TYN zmV^4Ac&T=jT)4}ZE*M8KIG%@S>yR!HnE%4Kh*L0sw1_kEBusRBQ7X3(*I^2i*2Do> zfYS#`IFbDof#pt7)Z?>y9c&fd?>CjeC%$@qV|-rNWHjT}*h2paQogflvpHvA;4n6f z7x}k3?u+yXYq}Dz6cwkvN!CcYZsROmV~ljFIdiW=EzC3Vs7z;6;T&1YMFN!(y((SN z_6q+NAyXc+Qb8wDsde1j#VnF=de8vZ^56LJ55`u`l9(w6=_H%nP-Fyg%(BpOe``fs zfv4{PTDgv#DnpHIQr$&9JV`en-w>?T_si7|8D+xwsuEb|wV$`bt&n!}omRew8&klDTcSY3tQ{o}vzPzl zV7LabgKCzJr3g~qgR~ogBoRM%V3WMdyKBdNb>FL|oco}3#rDNZ9XNq&YGr+#tgcl& zoI&00;T_%RzT5YpSYkHEg7FBu`ahE-WZGqFDicV^5%+dz)_@-)!XyStFao3jee2fE zo1SpSE+IbN^&N9w!V|5u z+sG-^7M)RKWXt|bNkvf-Qgi5Jwr$zy5EwjgMwoyF8FH14h%avUUFggHS4sjV^Dh2De_(dvehkcw7AfarkHUx?ot;FFjrgfos17C;~E12ac) z_=cU&0Wb6uz-kCko#?jljE6Ui|95dos3EfuTIn;Km^n|)9yGTs6v6o4XG;k5E0-K}2DSQizuvXdxm(<`bHtapXh#u>Ip1pdVVaMYf4dx(*XO-cVxe__mPG;{?t(94-Xj)*Kqz1jUX)a;rH_uQhW=Uth zIRC|`i|`)r?}CaD1+ojGz*d2=vSe%}-!6ewoMRnhTDomF+C+lIp34CCm0B0$`B{3} z;yOkZPzaN@slr=y8rM<}fk$}!#xsV0w(XFU?w2~%qHPhH(ib^+P#2}qws$@C*Swgs z&THRFy{vsZFm|}#tMs$kckGQS6Kr;$!~m7q9A5EX+WLx2#%H2?&okDD3TNY~0FbM!xM}TrU;2{k zAXPzNWOz8Z79Npobcr}}JuIozGhN|_Da}YL2VqwLsL%)g>%dCVR_-FIsJQECgw88` zN-eeAEcz9?&@%G0D>{#3tp&&A3J}%JW%79n{~*-jhnb^^AGkXtmT); zviKceHzu@kytF_^tNJ4)=+=u5pA-cyTfR*Bgq~{rUG~@D`fgaRWc2i z`a5OgY64ZqKN`Iop~)c
`rUzgd~pG(2Mc0YOgoOZGCbm!9O4wGufxDA=M%1y-S z*5L#lr#u>A9P38sRk1E$$ahhF{wn7&#z*(<#f+OnN-kZD4av)5+W1 zhQ-dEg>Y5Tc_W=6nW1mXK^H^U#f-=@{(Wyv&VZrQPLd4wO@9foB%HuwH@5NNlh2Uh znk|Sa^=?FFJwvpI<9AqLPh` zjChYS$`wOo%Y$RWOs0{i_$?aGyR#uCR&n*wiE6cvh60MV+0C8ziZ9m;ut-HS{tQh9 zY1xZnef9;FRytWELA6!WqK7VsHy(&Sh(kLisTRceQ9{(t256LO*twa0%^ubclKAh7 zOGD=qwInrDW9=D@*7~AN2u(r`7*#YiDWF9n6-`T!3m5+Byf|H@k~{K5jx%p?U= zHa~Z%9bDeEdfbVX`Kje@(X6or)^69$ti;t4_SP!$TKNpvU`IXlbKefhtt>6S!d!r9 zU-C%`pMxu8uQRX!+l0otH?SXrM+ka5r9Zm2bh-53YXG(4uBnB_>%;Z&noQ zdvy8USN1W1cpRQoH;T_EU%o+)5;bt(!M}GfsYP96MogR==n<)6GaVk{{K|&D2ihJX zY**=DGm9f@RKh!T@1d_0*`wfWo@{Cu$Ji#cc3os^6r*gbmi?03jstYL+epf{Bw_Sg z9hpg7WfmAp+QcjPlWU^Kc|2a4e(ZrAf`!A%^qK8BZ(Kk*2S)A*9ksl~#KQ+%`jkS< zKbI^)cU8|1BPl>Prr)cvxGmZ;7VL3NFhTZnE;SWs=n5rHE40gj|U0_k> zy`<-6B-C;i)mvSVEA)u$Ad(!6%*8G|d~_Ejw7o)2tyL^+_FN6-bxK8_CFuNp*-J{n zng?dXc$hTx7~HFQ;x0l8T`51@E!Vm~n}S@d@^-FX4^LU*NFkLFwc$KxMf6n2WLd2e znzKbeoBLXug3ra({yg*Oqn8h64+fr41z2nrO+7a!1riC^Tk#_QoRbP31?N#@C@8|P zM83&*dKh=(48Ph*ii0~2JpNm&Z;}dk!y8e1i$n23t5y!&@Bgf8FvZ}qpaM;}o( zuKamX;K7KuvlGn!<9Yh?P~P}FJlqE4p~lP8an(-cyV_;DLreY>cQNuo`Z#D+aJU04 zbN<7tvt&`gf|mkW_2<^; zCMV-|aEFC2Mw|3MgY>I{V$_pHA4k-q*)msLgcSyy}V9qZc5E-7> z2jO7;BUGPbIhPG8v8@T3Lm6nO@h2=M8=II!L`P4TBR;k;emgX`O`zH1I?Q&+GQ7`r z{t*1g-a|&7;I^R-17#Z}NwjNVVqHCO5FZE#3Whk#+R^p!7mk*@iLxK+rm^#VpgiX` zKd7|TRwRiU+?^vn$ayvRL;%!9IG3{;^j_iw!Y(8@k+6CW7Wer}RlI({SnUVa6tmV1 zk`HZd3dk2BIUShe9Bu%qIutkn;LFzZ*kjM|%a<>EoA1=#dqYS7JLmaw%dsjyZXTZZ zzy*KU!_K5XPDg6bSV*>_gue%& zF#ITpcIEpE)6idB^TVq!Os$TJez|v! z)UCKfnGCoPw!40W@B)QaI;h?EK1*2;bE&qmJygR5OB{T`=mx#ye?F}qV`R)TM{KJr z*xgPGj%=TT-EuzR>Y2z@GrN80ZhtkaiEUp+Q4!mUrpFh6TbW z>YZm06pV#-t>d>ov#%ufvZdqGU<=i|!5^#gwR+og6v*?3zapqB7nhp2I>^7eGmQm6GCDQzHSkb288- zKitpPc=t3qdRLSkLVnWw_hHC`faME#;g9AvWFZHvN~!Q@fN$_7E35uaF6cj7V0;Ri zt~e~^NB~rKMwWm{2y>o-YYp_F_(E7ykL$&OcL(JM(hBzk&|67Y_XZg9!E1-b{~lb$ zwb)4DkHOs?eq2+5N?Kd|9J}S)39Li4$K4hN^gIrZj^POj3NXmsBY6_y^6bnE;@stF zedg;_Yb^ZkEPOkNL^pR@iifP=Eums~%!vW{eUX?mgYjv^_ z#LD2{)jPf4*4RkP%G!G94)cD(fOmr^nGa3!clXWG41&q9+oHK4AtAt#_`cl& z6JNulqwC?6-b?K7=~3}WdayWHgsjtm>Z{N*2g2h)`!{$sGvB^V0&;=c34Pe-B;j|s zKMZO^OG``WAxeLBssTR6`+)_xma}EZEG*NzcUL^_Ot;3?gT{q!l?vf?quiut1Pv<6 z&QYGi0_QdA40#x8lW*C%;Qdgw5=U0JKc5XjIxP=r z2ahrz<5kdyKS_9bZBxO6X%#}f--N^d7eG9qz4jGaDw8muNOa0}=qfU85SxT;5?m3d zz!G3303DfY1pe<)VA%kK_3r7*I}~2ZYHBiuhK5<|dGzQSc-7}}UnJqP?bF1#`E(GG zHBGG8LF!YQZ6*qd(BVfjViI`@kwpuEE`40r0VO1a;w3ccsgp92pJyBHEMd^Mmn zxECf|FuftXegq{Y;NQ9MHPQUy)&_RsYFcf} zc7*+nz0uPSCejk#P?Y?BBIG|T=@6pEL#_kbYi?QV1t3SSMa~=uCJ5sRD|(wrda#Ph3{&Qv#H>*X6j4Dc6h6wodn~4(C5d6E@NK^2w6?k+07`v#wpadChzaeQ-ktL&DCHZ#6&~ zWgARAHVP-bKIm}HR%=CCbb1Q3m)M}z75B(R`z3n=e7OHr%9(!(HUbC4DnLmEdrhXP> zJrz6Pw@?Jk=xunct$n&>%TY$1G$uFY%=ulJ079kcp} zd&S#LO6l7Ux^8Oi5KLZXizGJO{MRDusc33yQmnuAs#;yt+xL3f5T+`W*MN#5eKETPl)XHw_~c_ecDN`cB^i|TQuPWPpq5LN%jLI`;R0J z2x1p~AAVz#=gBjpX}?$nV=2fUgNxR=MwH0 zd<`=_$(KXTqtBWvjJz~O{NrS$RL>}r55&7}2S!??nbKeEZ_~9-xN%Ft?o)dKB(qa( z@f39@CH;wizkH;YGr--bfm1>!8;>Y3_`OMG%{9G&^z85T%U`1_j4lb5ha>401duPb;s+EICXW~CDWiRVu z7p=5X6zx|JApch1%JM7C-K0vohAls(#=jm5FTRveE55FW(C<=&t9*uSzwB*Z$K@1J zw<<6HjR<#Yx4S_=x9z6VA8L zTv0sLwcxGnfvnJ{@dWkQeDO^&8T6;PKiIENB;M@qvsG+|aS8coZxxJ8{}~s)%-cS+ ze=sPNJ%?8M-BQYNWMlL#mhA%r=av1!GyF?dBkj%9-ccHc^MQ(&->e9ED4p&>~G5NJdp1+H)23(d1;@Z%=DLg4|QabCCwbzt2iQqT*8D^-KQcVALlr-Vqv`A8V zphk5kf%AcR>Log1ub}{qqN$ZgN-NuA-}{slE*pEM6Os-7zT+jO8gMfpbP)&D5`3yP z!@b|?Om;TU(kn#jMv!to&r|nf!B>JH}C18<)fZ3IRN9p)*?Ui(0`hKw!>CgWoCR(^!T_RqR%60--; zmv$grQiW>NplUDIPBKm@cB*tP38~d9F&66LgwlI;*dfE$ zUPuE}Rdv(k~`u*v#9Xvhh^*vH-65 z80hk5?_(V@B0abnK}5Jgl|Qw;I-Bqkh0?zczJ=&5cr& zdHV#)Lv0hQr#piyzryDEhRgXF>^2qWO=?)AC%8^_y6n^y(f6~uYB|Pa9U8Nq>J4L5 zxpU{WS9f5I$nViD>?OXMomTYYlDHr#UEhKEsZhM77e%@KGvQU$M&8&o-}g%oj;E=a zTL^O+Y@}UJDAi{>!HeDO*kw0wpW;v~gaXSNGOc(S3#H%jK{7MFM%!oC85f^>kemyb zwt4XtwdrO@qhozoLR1&$-On*`VWj=ql4s>=F{WB$pZ?y+y8Xl4=PoAZxFarON^w?r zke_fCbBD#e{zod+RS`}o_da#Gf(%cOQ{CCHouV{no+#aXTx#J^L(wWQ{CG$sJ2!+XCkoI3yKU|on zo8_0@mnnM(qy4U;RPL3 z!k4`>&3J5lg|9fCxn2(5!6_6NjZY-gmTxICx-U}DCR=CZJ*~1hk>Fu{i}2ddM^{xh z*+a!tIv#dt0vp!P3d+B4Hpdf~Tqn14Y2oUDEwecX(n2uO*6v7FExOZc&fH{+ueP_v2WkY+N4UD#=G9q!je-DM0BqD z3bf^=2IMG@9X-CorFRQH6S=emXcW8_9L2|eEUN!C4b1dpZxUpj5OSXK>1%ZqN!#+A zE)ceMkR7vK)Yg;te7nBflCqqYRh7u@HKO3hnnkLuecPU&5~ZbmDf|IjEPBP#$UyDV zFe_IMOIS=tJT3l-P&n!TYH~m*x*GfBve&@WAZA5Y@80u;djq(c=W#aPp;RA?48&d- zTk3ric#jhFp$CasqL$pE+T15RM@n;jM#@teqZ$Igw>)_mCj`6pFUa&J#x*g!^_uj{ z>7y)h)J&p#qX8c_d-no~sQFkv?vpw>%KK>E4|q*TEe?{7ta)8QLl)6u8+26peS5*f z%`vNUO$32t(k3zz3jerHT9~#zxclruqe8=-8xz#j8v9Q=7>-*n*_jGB$6=Iya;R{M z`~Dt0-$e@C*1pk|6^x!i9qi`4+XHydH=Q7mYTsB!0zLJYehfU?hD#G%+qJXh6~2KU zi(5>P4%E+tdv_{Q4Nn~NTuN{{S&+bW$}{m}&NEnOJcV>WGx9(l_))c%_QZBvC2Q2E zNwbHPvU%kDWzqY#7MQrlGFQL;)YV@@MKkOr*wgcf{2qDo6vpcbnu3GlGp3JZWZx&}=B~wT zLf~?D?U1nIx8z0@9GYXWyJ_IRY?3gjUb#e1#{?1S*TvJ<$HGf3utrPpE->SrPV)o> z4PS9`gkgS#AD*N3<>J8ZiJju<(T+~N%^VqJVnT4Dwi(=&XCxFYak$j`G`MEo?{H`L zzRr+MDNntGe-xm25}`MKK@%aaWRpJ=2p7EZkYWs<_Ndonb~Lw3iWHIJ^-h?%5w=GC2rN8}cL<14oP$z|uU5)bYA&+?r7L$`l! zWxA%x_4^;CNH|FWqk+lYQig`-z(-pu+VFf!vs!r@+J;%lg7_h?-q=ul~Ny z-ggvlP+)y#e5*^uhx`~EOQr}~{Ml=N-y_G%4S8<#YgKK49`?R*;-qsqhNX#TH}Yur zVUft2esse&&%23h`voN~$4^J&MDJl{?vo@>iVs;i+tHTZBjFbePVd));j_3~YC-)q z;)$_s44nZJ4iAdH_A5p$q)}DONxT|qG?J0nfi~7(O%oiRY@;jm0}(FEEm-ekSXfwf zo5FJ#AZEEsVvojN)T`_EB#Amab>Kiuxz{z*gwruR?5$-zatkN#BVYVt{fAa`4&yILXYnKr+iTqnxC%7$OK%Z_G1^u zlkLA*f=exmH@wSG=-;Do2E5Cd_DN%FTb44P*Lurd=GUSw+nDCb7<6++y(J8EuY@}Y zg-rOjI~d|$mztVtO&RKLdn~erAHR6@OV_i)Kgx;-UTdN0@Uc8NeXt~yHf-TwjL!uU ziWk%-1<$wld1~W$L}DFNW08C(@4@;=Y% zV)@1W_zni#xMcn1?bI>*8)9OZw=F$I<8f(3aIB&`x^W8uLO!h8ju$V@H; zT}z4tt=64=+_8%a^q9WkwD{1v5_|cxb%nfzim!}c?UwFtqAyRgdQ44V&`@Y~pknW* zSabJmVOI{FSQ^H-q5VfdQ*b8B+u8w^y^(wN%w!R=xz)AMX>ELs5h4}M@UvHS>k2MQ z;6r=qgk};ZSA0)F(c*~e1s~V=q^DYib6GaqG-ug}E~r!kX3g~2yWY^@9)-Q4gDoH3#Add0xu|%Q;Z)(r;)pxp6PLxxrG>2y% zJK6Bs?OkV#xff!cTJ_$!~kW8}kke z!sEMJp=J&xm{& zUujVc^91y)-kG_oJK)Ns{~)u=nWEj*m|96X*{(1zBK^>sp~PIXYGaSC<9r+$0okM9 z7iVDF3faVV-_p^ z{AOA8?(T?*!<^}XW8;X-2L^I&l}U&udD+7sNd`|nyyg=`<2|eUou}B~Y4sQk1ZVr! z{vfTkQrTn2H=c(zSmws4wXSHScQEaDmoQqx7nkTS-TuAb9Vn$ITZ3erkl5G}*qyh& zF#WO{4|!_OSZ%%(j8f2uxpVT9kELW)k7W8qktd~NYpC~Ee9MW6q^yV9f`j*BAO`M& z*7_FHZQgvmh9Zez?wjz?F8uz`I3=W9G0TM}qGLE#vf>ZN->nuvMz)&6RG~WJZ@+|| zi<|%Pqz69{FFR*(&WjHpa0bbhFEc|0+W97!JgNay`p4Bhfn7>*+N=WvYtCH&EU zKiqMYE|vOHqz?a4(XP4|*Ayk^bMcaA?MagZl$AT4U8>lC{#O0^a(kATW_(9?{L|#* zWHh&fQf^(s^t0!@grO|mS-Al(2xsQ9B;DN?T=bXvpj-SWF+kG4r{W~xJ1-*2)cVGC zYpwP=aSG-(=BYrx8+tsNA#Ba0nF?wfXI;NjEEm&WCSiMUtd5<#IL8xUc7uWetUaOK z`7c{lG^#iI`zn10&*&6x-@X)qc~DA+!Kw()D&y~Gg`UKdP5-*Tg_l}r;%c~s?9-m7 zt6To{A#9EODuQuN(bgLJfM34xpDstSkDR0mky3RMgT~8Ui8iH}XAOV_$SKHC4y4Bx zZ5*n6{?tPj27SL|8Dklv?B7Fpjg8+Mzd?07Ce&j~=itwCitx15DlN8lus9AiJx_?Z z5g*u)e{&z1X?j&RlR=+QK6^VSe8J)k)TBUA=^EoMX8DA;0hjb1x$A^s%$oAZ zdiUe%q(m>bL{d#vQ5NEBHSL#a+5Jq)HN-T$LjVC=j!aeQ=y}5!Rl|4=c0kPEJ3taC zXn4XG8igFD#MR_ghQI6*vqye3a**wyWg}yAAuZb@NDlSf5ni73Tkg40*{|<#&mD$| z@=TT9c%mU8rhnUC0u%f9#rdk~!?(MG0`n>;YPEG#3564d)~z#SPHe9B$6HE? zm#bE#M<1J1dF4r|-YL9${H~Dwgi!cIMn<1oOzdHf|EbjHYCi+Dk6&ZDi-tb_oZ}Na z-}?EnsRFAz#@%v^cN8Xzf)cB(I--(4T6kdSY@hnjsUdi?;BO`UR)ZXV~0*`x2<_Il0i;X-8N*oICDLr(4B3Cmutx~ z>#JtF$D_^#&SI7@PYH2<34>?9=lQponK%P>MeJ!%9{sB%A_B`{l|+&+Yp!n%Ml2Vl zo~0#x%Uea$?v3YxyV$^Pgmh6?>^Dpf3iXBDhbX_Pa9LZwnJV$vKNJ02jR4~ngE-xL zq_^=)d6{<4ajf6qXwSrkY5oU^0#jI)EWd6g2nvj#-qCX?6eyg_OFwUZ z9uoJ&F+A)8&;H~x^YT(1wL?|s2}c`lZyxHlU9zXH7%dow2}N3L87lLhiPJ` zB~3!}UXM|{HT@xMeVP!W1#A*`D@U|VT~1t2Ceh()pKAr_feg18zHreKEc_jVkqk7D zY<6W9N#NkTQtZD5S+1Fb?E6X!|LqZ9Yu97vrnZQkbysn>=6OCT66SZpU@Jk3cAlGM z+}8A)+9Jn2>!TLN`If$M7t)2DGoTfx>$v{Qnlvc$T3<^%qy$FF{3TElAMR68Q6U{F zVA2LdcNJ+DLFfB{a6OpvAY^4|6oYTTay8At>F8#n*=Rbn7(Q2O-PjEt)S|XKJC+9K z9f83YPw$-^++vJ#;)}7&-sjnJJ7MA8IMYNo*Ssce-^&nzwl!2D=rXAdsL79Cue4kE zvQf~O7c(|aIa~$K*!I%y!De|ou)D1fRvvp~!wB6|)Itp=qPyyc`_NaH3?lC6?{8fF z+Pn>y-vYjPtwT;DmNnPHP=lA&h+muBNbT=$p`sb|YEHUiSiz#gKT$q9wMlDD{-L*0 z)XLMt_4t=LvHNr2lJ1{UBeOL(Yq+%{SthlaH8NaD6TNT=o>m`hFz#PASn$=3iX4r1 zfR}Bv0|^}k3DRl};f-Zr{Mf^!Z-f_+aDR?Die0x2d_~YJz^OGt@p%T$A|%=l z_+aKj1NXEv`|TU|s&OM{-=C+eWn)IVc0CQ>UdK$h!HwbDTVFgzTWGu*(PMReMdMBm zjQp{~d=X5l)kZ6JfnBqewN{UTaBG}blY}u<>BY4(VC#JOdxJ{Wy)e~V7%Yka^8uI~ z)eN-ZYIuPtq#3M`8Ud*D*5i1X2@Ou{Mj)U=fuYb}XU{(o%w=k2^%_h% zN`@4`xg)C{$ODSX%Eu9QdDfKj=KjzoRZ#WV3n+AZCF$nJ-;>z)7d9_D3lFZ0QE>|> zl+DsrJnUay#~b}%jlrn4Nx3)1-M2n0D;zRpMH91w*|*tF)6UmMj#Z(}ZatNizCorH zhNJxcIc=CJ@PPgY45%bw|IrP+qRB%SXy?LEFAfkd9>A)Mc=CipZ~7yQnJ)q&(9U2P zxN-vVs53hn=KO)CN0WGI$Vg;FKj{=^OthzcGD=RBK0|Te~o-^VU zg91OLY&Di|LnXb3Vt{YVTC;v?sK}pD*A42#(VcVPTbE-Hbx)Ti}nu zIN5+V_8F-6&3iH`7aX}P`Z(YwR9NAPme?oq@@?LufvDj+ z`69kBcpmV>KOA{r#T{FI+!FhLu~aZPfItUE2hxCMz|Dh)RwRs3M+9=%7Q7%kQ3pc7sQIJUuV3fbPb(bmYAY#Kg9|G(xuHQD05p$@6=$$h zVC3S80OvjoXu3Gh&CkDi_pa9H5+_ji5lf)vuP`Jo0z`}Oz}_DV@ZAP`Q2@9K0?jh7N-;SIb9$JOw-? zP{~st?tX-o1H0<~@%ENcRjyInsEJA{AWEx*Tj`EPs34$}h|(bCqPtrR5GfI*L!_l$ zbf^(4Ki~NF&>wrKJZnAoJ@0$YYhLrZz_&~fb|Fx129CmI z@85^N1%lTQByYe}S!CG(RPdo>1L6pbfr1s(YoM$EKV^8?0d!h0VX^h)Z%&q$r@f%9 zC=Bx2t3lsiURV!rMx*K3*aBJ9^LIp185tSyum3+tE5|WkPXcQN?I6BwkY89B27SHu zo*oICTaENTsZ?dAOP>!ntQY#FVrUdj$G@i>r}{i0oUqDAz`6{anOU~OIetAR01irF98 z-of4_a6dGItl&7&sY*CzE+g!j6B83bJ1h+YSTG?Kq4$w96uz)1zY1T$2W+x?IlFDh zOt%R&NE$>VkGMqm4s9Ug925k%)!3@JdbeIKiJEaqoi3w#w?5!X!RI62*~59=J3qAq z+`drxEnVI!i*o+pCW8R>VrKF?y24`DB%smq8~?$T`BiG)-j>yM#~o`|Q&a29Gr0tm zI0GOn!NwkO+txfffHz|Rln!8N&_3H;pGE;6%;OB{D9pDq0yhe*dT7^$fb0V12V2Fj zIg<2c#}KIUla(*hX!IRw%wI6QvD%_n**F?44!xRpY_4f6)px8JQPpn_;0g5Hty-Td z78+|^rC}S|+TJY9$?5nT5qNpKt#Yr5$h{Is8X$>e0Qy@RFt-b=y3FFao8Z^DGpAhf z4b)V>!r&5?2DAH3xxD(v?z#X7mmLR+2VR(v6X%n|wNO=sAfdIfBPGkZ_iMcLTcK1~sv zLiN|Ok;zX$f;vRQhH)QL1Wt&VttzKDz8AjF<$M1#w|T6fQ1w_@vkusKJJpxUD?yQW zXEInG4g#D}zKUIfPz~#I%34kg1~E>IfPrIGix2D7naQ-=HXk#S;ek@?G#HgkVQD?U zlj50UxOX1S$W_6Aa7n-RX?B@AqC#_DJzkoEYP@rF4O7$Y;XSFrpL_Cf+0}7d#L{j{ zkXt~Y|KqiqCR5(kw&^6BU9>Au&@ry&EX!tT0;?zQ-r-i^q}L_=Bk{fb-b9=HYFAMd zF%9h_*UF6L5!}k<)_q|EvM3|VyDy~FsY?&V`ZnY-n?pvHb@6Zc2rj#>mus36VRq+} zftG_?(v2qRZ5_+CQcWLFl$5nO1K>nQ2#He+35I7&BvR*jrHbw5b& z1jV~~Y;A|XdzhRS~!loCQS|iVz>YV)FYQo z=A`e*blz_59T?lN&Pn7)u}K9`dDH?H1bG08R`RPAb8IMD?QAA`G7 zxH0`d{NN!XjRGrm24inT?`Tj^F*B^PU8;VAd0}A5gP(!q@>bi!kbZPI+!Q_9b-pKdqkKPP|k+#>Ut)wGU1 zVzfE7veWmYc|m*ktLD$bc8_?dU6iHSu(%8SUl7xMoWx>5H!O_$N6rCo?Z?d`MUndF zL3ox<8bgOwi@5@Weym28_bHF}9{QGbTAXy@Tu>(rj3G>meRexrQe4(X@>c!9k|<)w zaQdpoQWeh$*=zO2-Cy2ci~AF3Uc7Ueao`oZAdetL(b@;5RP(g&YgVD_nB=1Zcq`_c zQ`wVBefvSndwn*eYe%ngPlz?)*1gg6E}C1FKOrK*)!0&fqlh^oq%~EKD@SePh~yUs z;N<{cdqukb18HCB2~RGXN>k4Dwaic_=;=y?avNr-<>7Kl)NCGk;nAKl5n6C3I%KC6 zabrbF>NQgaH?HJ5%G4KPUS=6>))l?dXY5ZkS)6?Jcppn|K<`hL{Mf1UrwC^_u9|23 z;cqtoA3ZdjG65%>LZboMV?!n5S~nw@@G}i9*NDDzM~-z_RPuqNa?z;a^U#WOY#OJV za|#OM>P*KCLgjE~I&0_351W{h)cs%{3aJ1&_pXz*C*2O@h!cu@3LD9-<4RsH>} zHqvT#m@1k1zE-&Nts^Tt)1Dfd0xKJ@&zMW-{3qY&G*>4wW8obzoWiv`k2w`kA;p#4SqYv*a-;R*oDlAJpT`+MMZCl zd*qJX%8k67m?L;KI`QkWF!(-FmH$?QKRc-e>Ff$8nf9m+1uCbX>;!C1K(0^tExbemrEbr6NYVwWW31ehqP87S?HEWH3Gk(wZYfIOzk5zMA`ci1f zp;h_=MjSe447rOF;%anX*tp~KmErZ1#O2`}I$tcc#mnV`Ms2MM3sO#$!FOL2;s01v zAkd(~`3Db5gtaq5^%o9B0jLN3MhrxmxvqAzJ%rlZiLP~m&)^6rc(%5)a&iaKC(zL& zTF^E)Q+g!5v*YmW(nHD0r-8THoldIiKAIQcG?`7hKQ|b4xL+)Z)Z}#IXVBy3G|3iB zh1XB}=f@|l{woeg$+X|v5wEw@oq#paw?wYYmrZ8pc{@X0=|?iwq3v_bMW^TN_cL3I zF0@n-jlZjTqKz-mffj7&kbPVhp<459fjMd}5}AVR8U0izdKX5${;4=F%U&ftS3Ri{ zysNdkeaz8tQ|x_rD7kvul?UqTE^9;-PB&dA=)$(`Fq=H`)q1g>Yk@WD8h!$t&6a{` z%NlJw&Dn4L#3{Yi5l-$?BAL4tAKw31({x{ZmqboTb{l$@s68-P}$j#!&6aD=|GHht)^tq%hPU}Q~tcztAzvvkkR5P^@RjB-P`e&5&5@jB9Y;n%r17EI!Y zF4iBg{BESL^yqRnfX)~GyYChThYKUw%JvurG#6bBdK|*Sxq=7s)xMCRpaJkzH~+Gx z?jsXpV~WC7cWIW=J>kBs&&$s492%>a_2n;ztrOfCZcgvzeYEx+$%FdT{tWwy{=Fe^ z{eZi9hakOb>tDce}YR*!mN)=ar@jGBy07>dBa^LAT}p$THMUO4Iv2Ts-hjNy_lT(g_{5%1OrF z)VAtF)99In`-!{LF9wfW9FWFnow6%|#3HG$xCiY#`i;&6>1MPP#Dj`aFA7X6=|LAO znjn92N2N&H&Ze`spH1(Z-YUeB9v>Av-gc=tM*^Rlxy(8>iDWB2Gcy2l%*Ylh4}JX}F1{^M&iSr= z9!`@h;@o1_Ui`UlfLGFyn4iJ>aY74oAZXT-e>{_M>ya{T$u6HZr$m)qR^?qHPoCrU z6-0qCII$x0l!*+t5lUQ4!tGzzf)A6$M1?^*oc_sp3~R3;U=P`mIfV1K&B zV{IU&SB2mCs;@7ZVw9p^qdvvx++-LU`PZ(XAA%@k=)}de(J6JE`HHcQBhU9j@l1YB zut~V;4Qw#usfR{h(tOIhk*cj3Ly}5gqF*Vlsc>TtM=u=?rb|ChUt$`ylT0$XI7$oi zS|`(zGH}=q>aX>O$Vh15?5hXJC{l)VzN@?ITLe9sNrqHa-M<1ULqtz3ADkG9e*5;g zuRDQa7Br`Br%p$x!lT;T^qQG@P(LBTgk+dcHP(LRL!t7b2H}Dk%ip#*In!OsIksQF zU1K1M#vbyW5%Q`J^Is-TNgFxjoz#Xo6d`BT8MI#PwYq}~M?DPa&x#?BuCE=R`UiU|aJ|UIZKiw3&#v%3Z%VY-v@;RPtoIu#C zH2~<&G5|pp(EkfI9aCaLN2Np}YC@R;YOx zDEeYSj`*gT`B6c~S;_|`-41SFA6t%{eEZg1|FM`?gsP|S0HE$zviI*yr!wW|$@|V6 zo+y7)R0qD;A!=FF)>-g)c0@*$q9Y+}BpbCuBbDYCCPc5W16RSp{;csHtY=EMrBx0Q zE6!IKXjwf@y&;R*$sy(ie#KM?;kt80b2>k3R0JX+QdJ@PYS86Bp!3T-*`GjsyCYUY zk}hl6DVpJ_bf2}O@6p!6OH)>Aha2!fE=Dsy&x>C2GWe0h72o(M(#%7b_ZG4$PjBDW zc#~sCaN8KUd65LbMcqHnOvsV$Lxf%bQf7{j{uZ(_u+*F4(6w(78!j9SJ46+NqH(Kl zaiAU@YHvVU>Oz$6igploBV|53=_fMWSM0^kgL2hn6uYMIM+@iohM<2SR}lR4Vv`E& zy+A@&AYI~IsfwuFjc+lqYS%?hw|q6_q|}&g6aeo)0E#6-FBA&XR=!h@vx;5bOU1lg zU&2v;4j-;QrFaxT$hOOw_f7mj{XG)F$`ac4dhP$)m;xLNX{ zbUEQm{c&Xc{iR5?vO)>Gc~?4GLRHkt-zym~9b=S<68!Oq>=MiOp`dAE3xB@C4n5yl z9TWoNrCd(X{6U+u#-RL+0p@rQe>_t#>(BdzYO=Yx+bu%%lHDTma#M49Sj$@}(*N8u z%;!RZVTq-d!-A_k&im%!@`mM=Z@m_J{8OC_Iq&J<8^wn~H0w_W7B^SEE@qEel+Oz& zj=qu9*}>PFe9ESMl>sJh^&gKDp8aC`yHM=)Lt*G8R6Sv_f}NSWvk>2y96&SNie{Qt%a@eSE%S>|EXdu+To8pa=Op?73hsa>$~qWE5cbhQ{~ zI9oOA67KM-uu)cdpP8E8jgPX$E=<912EnHg1d|MK?mnq{r@c5@*e3$EKrL)Q$JIKK{t$F^J6_TFd#11$9%{w2 zbg!U^*Vs&u-A^JdWWKZb$nf*2z5U_^wUhIR`M5YL!t_nen?1L>C06+NMdt^m}gcqHxRrHTv_=h`4hZa`bm93jGfoA=t2o6JajZ3Pyy{3?F+q&Gt#d zZ6z{0Eew+60BD~zNNv|^Vp`drFV5Wf@lB|T^(E_>M`nT@U4q#-grS?lEvB!AZj?o; zsZQkm$Kz8dsQp&7MIBb11b6w|6OHW|N40yvrRSZD+dnGj3vwrh=!H_Ly{v9J_v9vC}hiQ39%T`Eg4QH-AuI08pUe!nI8P zDcr9Hexge@_&#iAfs|XU-XX@A0hM?;Jh%7nd-41)3QHJ$*rU*B=_#*goZh8SJv}^c z)ckxWx2=Wk_G~}e*~aFgEH&$qTNN(~NJZi}e`JfltMNwdoDwTOw$L&(Q;F8tgZ-;V zi^1NqNVs)aX>2%*tlT0Q<&sGvS+d*JtWVJJb(wF=3M`nLKDIcXRkEC;I^h!7@huux z$z{@nruu{tk_AK~1g;w*|ECzm?^1x7+!SDMAeT=kMzgKD*Xj5_m(;31cq~_YZ$&8PQ=Qsg%NlXnzuf&v{&BrX3x4bw@qba{5ak7+vceKhA^+0 zJ~k%E&xca&MtHxz6`>leNaeb;F#gtoi5Mh@dMLVAgroFVnJxG2sp1g?Eid(qOBB!XHG{1f=P;3n z^G2@}T9G}Jl!R?_LTgL{$@S)5#z>#2uq2DufA>XyhXH3-hDOmlnDJInQ^c}vOH~gU z7c=dT0X&{O75f$LTWq>$?`z-aD=7Oxm_p5DY&3b)aLz?TS1IuHxPcg)cSwoyk=rv9 z7h~JPIr1?iyrl&*9*8q?|qk7@5DSxU;MC%bOoQ3Lri@cf#Tj zrN1iHbPMECzv^JToTSv_$R0`e#0FnL$?Ioq#k58#kcV}n-(8hCayMI$$?b4|X+xTkuIBR->rZ+PX_Y*4#eMjk{} za^-7PI4DzhgR=PEoPHM<)11x+#Zx*mdKRpT1c}A{qG)$H9pvGNQV=k zoetH7eiwI3J+NFbOHci8X`%Z+3?#$vOanMz5=VhXBrJ*Qe| z?L@Gp#&rim#^A%_H0y%uan^3j(L|J6a5WL1sY!P5@0c?-eH!rU_73@3Nw3OY^j=DO z2qXxp;S6H;3xUi>`gi2tczKQZBJ}d^xD!U!eTA}M`iH`_Vy99~g~LH4JQvGs{h*n( z@-0*OFPR&YfWzB3wNFhlOudS;=6ET5P9pkyiLFWMs~3rqWUocD$pk4r>gFwXu!xjx zchy`#T@^rdWL;UP4!XJ`%O&KX%Q`KGPVD5#Q07WY>aXf-YI1UR5-3Ww(%^pF%uFs+ z{o!g*oYZf9tzT#ctzb^S=}G4RUIWVI1(%;0zownOxZE3I$oMtT7w;;wJN4x(PCy#zN@^zg9mLVcm}b68wdk z+spMG-q|GDwO-V)NpW}agFis(%Q7F$tvsJO2w8GW=h+ux}QrxKpz6R9`C zb(OevmMw%S1CIJXFJ#}Zw9Te3N>hc&d}2@5ys0!LG!bYIiHm`7R5{-aWq|$fI|_dn zrw7FDTYcHe8^9b%N=j-pw^MEcCaCqnoApqyMP%O;I8#0IR!@%hdYu+>>VNcZFAmnT z6bw~ElUdT*niJF)gs~(3Ak*6!04Zo3tD1MSAe0p8J8%CkDO`q+)vAxHvKt@A1~s1r zD^k%h@&a-Ez}%>Is)gsyQoEX&_a4oqP~2UV^RjE0piqLMq={F+cgvz(XrpNjrXWMa zLsc5F1h9Yg*wAdaC?KMlmu)J+s5#I@#;=R+p1Y)Bc^pO^uilt#Ae-YGwk6pfamhMz z*46!VWKb~J{OPVQuypjGcMcvq)?i<&gX-UzV)Gzx@1?so_LOUoAEGP@v8F+oM?0Q3 zoV5z|cVBm*FTD6~X(dmdim#nzrF9U%mM^dM2@a?`h`HhnJ(o|6Zr-UWr!g`5aA!); zlDjJADU=dj7s?!jsYFP|&tQ(?E*RuljwEQbM7|$P4u3p6IXXKvB~(_b(fpGxeJ(AG z*3&K*%&&mKf%VhEw!lXzJ$XR=#(jSfv$Y=vx|%PfS&Lr2I777OeIN{$z(el)i&*+l z!JxdO7WM?s1lowQ9)E;WnHDegKrJ>5zQ*twTIKI7Gc_{ltlsbyfU=HWg~VC7en>OFE=kfAIN~)j7Pn4USRGPiN5?y&aEG&4bdk;4hvKQ67e^amAOo8c$x|Q(eE1G zY+`%-zoI(z60rRO?<%hh0%^@F3yK zDqX_`e%87uXqfy-|7djrB^5&N8jmsb!`M`lAlN8qcz$2g+{Y~0`8jAoz*Qw4JdG9g-R2uDi5TIMu8x=hB-_YJ@5g!jG)-qR*)RT8uW$pSc)8%vA}4ejje5_feKQcRM; z>YN>$oSr73rEOgrF2DO4Jc<9WvDO|b?;o~5dHC=Ss73?H5tNz0leWLqiR;+^pSsd9 zi9j0vpYlp4o`GyR9840R%m`#Htne7fSDj?Ho|LLAXd$nJL3=Di2g~7OWW*9?0bf2? zF6cH+1TWZUp#PNvP#lcZ`UD0VfS5Pd(EAzC(1OFl8o&ha7>Kmu0%^9JDz6WTs_dtON)UZqkCI_P}fNBNwEX$SA+sCjh z!T%SHrK5e}|IJui1@=o25CK8(1Boi?HL!;m;^yN6CS)bJq5N3hetm&1dvFmX#_NyV zmoXKwAWb$tJ{~6GCYYw2wdH{XN+kR(a1j6zxKH2>)Vd!X94w}$7IAbC13Xl4HW>%2 zJ|Ko|??-?5a2Hr>05nZxud@%P4?1T2;4!A+In*#v;YxAnwqY*tD}2>|1BIn9!Z>i{ znB`j#kkZkKJK{pXCI6M_g&3f^pw zJ}KCBr{)DF2;1Oh7)=N~{r=guo?%IR>n5Y=Or>|hcWwj0of zxlncl|3>tk-Y%B4X3Fd?i4~Fb^YgoXKz+f)0|cF}<(Ja|1yTCp!;X&!0cU$L7eK9q z28@$qz?iaN$QsY0bQOozZQ}y0W4+Ll=+Q0_{2>jTem_Oia6%-seKzvl51e5@P{)>B zXKdA3MKR9{dmk>Y6<9e^)eDQTaReqRvv%9w5fI7hEojoY8>mT?#`~-Uilo{2fb_)2 z?Dc%cO*H#89S3x%Vh1iEWBs1HozU}DUy@Py#=vIF1yIz^ynxd8DahD|EI#>KaJZg9Lc=GbCj_8H5=_ukzrTa4 zhfn1v=R@@@?e1(c@@JFD*HNI)NRPEavKh|&7E!dF>D^Cq)hjXy4#`4- z9w^>|KK{yG&~GuXz{_uK(ZVA#RLj{1a)YCn%}kY;6bg}{f~j5LqwUtQx!;zRB>(}b zW2JCnLbP!@txX4_Pcj}yi zOwU>MXrUTLcW{dd#8mCMNYNAj(x3Hg|Jfyn+@FwIP+UnVr2Q%WYixJWY#D>omge)c zdYkAwR-*G)&r0q}RNY+@<(pvaz%Sy{Eaq#5KSAepHc0r%~ z(%m;>cUs<}sBiLZm>YL5&$>kQ<2ZE&FrOFI<<$>3i4xcWn%9-)bm=4_1EshKRk3dE zLt%Q(w%;G?cehJy7#faeHcOX(H!OcWtT}spHlJmC$qlpFyw}n|*2_(>SIZ{8Uq#6k< zSacGQAsYtSM>NFbQvW3OcZcqZU(=~dIgJH=Kz#?=R_~(2WUb_^VvSym!B~S%NA^7# z3f|OKH@U!In2PjxfnAQ0wCK-0H$SVTsc7aEW2Tq-`{o2>IrumnDz$E1@p%~8lxP4-E7j=cT|JkK>We*c%S$@tthkzVp$S-D4jyzp< zwK!e2eu{~a5tyqA9$F#ZL!LS(IOoihcQYbTMmF6nOL%D_1IYxdu#m1HTaAye zrp~<8A-6`vAx)N3y?NBfW_U0%$cC6c0EfBAne!WZUGXLPPysaIcB{E#%n>ok$et^S za3K9H-7KMaHXd4h*TkthcHlNw^8~SXR`SDZY31tu8XWO8((Y+kt zbNa?&a)v7Eg@aM z-zj3moxiRr#Fdwi%n;Kb10drK=bOL2{WWJ3J2)ZoCHsfMyg7t{yrKb#_W+Sq%E9@0 zV>o6O_pI)z~ zhPqmD`JLC@LxznoWZ#(W`j{LhLUp(kKlX*845i3|+C; zFJCn$eHTwhg|Xnv)3mHij-mCmV)rSj{SV}%)8SQo&UgcjK*YSm7nHj}Y<+|*a*cRB zKt@t#c6joBp2?(fm%(2QM2uPsCC40v9u%Yj0`l3v{O-6z`BaH*)8%0RgvUCoLeA%O zOqh{j#jke{xKTGLyU`TPpG2V1`5TNNhkgYk_FajEcP>ueYVvfKGzSVDEXzS*puDg2 zyu+lD&i$(bJ_2E~-_Mp2p9BAu?nsC~01~N|2HR@&J%?^cMyQ>(xnd$D?s(D@K(~T| zN1Yvd5fF`7F2q>k->8GpyovxB$S;fq)RaZ2344ePS?v@C7KEGmNzt??=RAJ9K-qZF z!auN$iChKxN{a-RE1h)lxzK+xk;P0bG?qsby08+*3SQHlH#*&erf5m8wgtvc*T?3! zQm1}#t+2DX;^Oq5VOshN@t21C4Z2D#=_1<&0)x)7vJ1PI7c6J2oTJ|JeNY^EG_t%t zO+UGl%s?|d`pvJkt9ngBTFTpMdgmv+M?F&((&PDX#?*6-$Su^o(FvlgHFnCS{J3Sh zk(ULnO~hCZmTU6Ac!Mdk*u$Ne_-`mLv$Qk{#y?=I<8uOe;B)?G_ek}N%@?^5k%9X= z;wHKkbOmtLH%hnEAOm7HalLH4gv?WhM_hz6=9)+CwuSBcZeSY+{ux85+WwT;9mSEV zS!VnV2z3)V{-6B3rQL0^o0JG=>h0g0;*(0r_^Ti-^c&jx2W|o@QAv5$`-~x@y=1g9lu`a=t|FkyW#mTLgGYs$# z5n`&>nhzGD`W|}LEb=c+aE)_1%Sta4HMrXA+V@=wQT95~=3M9?Heab`m^JUB;Yu-i ziB|QBd#$Nd%Q=%9^(IJaX>(&L+JhMlQzf(e?C1Y%e_@wieD8vRkDlp(%GV_SMVnZd zzkRSD2YdQ4xAKEt1>sb+U#L~ZF~2|fHiR4h>yuw6>fYK2 zLB_Yuw)V3nn03wK#EV-hSKJBlV~<-^1%5#|H>cN&_BF#ioYheMBR+x4N1c39^0`4V zhSyoDzV8c+rOf;Ac91M2Y!{HuEi)E!t$1n%;#c!KLW4aufW_|2CNX#^wSzVN0q%GTF%*yr5#1d8$|83F! zyCI;2RZs|OfBG7qKeYbtQU{Y1bMi$Z?EhNLZJMa3}g71kj)q ztPil8QPW!(=RctP{GF?!*A18%kUDT&3du4`i>vFehFlF&wt?*;=?pkkM-1v~mn4)w zv2Z+Ov$6D%_T(_wVI7XRIi_tCn51-rKSCRWi%C@1?FqV|1_4%E?wi~4i+zpc_NW}r zH)!CaR*jth$QSGq-J2saCBqsPYw2GB=_t-|u7=mG+Rj@WBHIpyg3fHr7`@4!!=!`4Qr4r*L;bG? zTdFpYKBd287K^~)V6x*+V14f6>)I`ff@?NQ10(4Xnm<=$l@DupL|KoK(j79je zc#4uLv+M0z>_^=U6g<@4XPNh{kFj0Htu*G~VipL{X}n&LA2B$QSTrG}m)2{Tm3cwS zUwCPqr^2-tgl`t*_!j-m;mDDjE45GCy&PW>ptV2WV3_4ckGN+qEfuSCK=aQO1t<3_ zb{XzhAWn7%N-rRn&hl8NO>flxlkv$*3po#GTxg`rR$mBmy86PWY0N}-)6|%nbsloP zId#!_OL8p(%7Z-Z(lGYK?={=J&jpH)8a5qEb8U-Vo6~6&$q(X72KEAQ(w6u7X9*8m z@2B;583<=-#g_#Xv(dHpQc3%ubO}Fk`~?Sd&_9<^hE`bw%tldQ9Uuf1ydn^h`!e?y z%&i~iD~+!@2kfdqFa}%i{|ZJmje%RG300|OG=%QXKat&!dAuw2@`abbeBHOdm78pP zz_;6A=kjoQKRpK(pV&K}n9=E`pQ{`w5$ciKt6<{RU10YR^F5){ZlQJACroyyXMxkD zp;_vjp+UW$I3o32{zr*gAAE^DgdEmDL>o%P*W#xGukU!czHad0djFp!@tZrP24wS{ zOUB92)r3S*NjYO_yJ+9U^kNd}yT~wKhHsMicOTus@k8`F9A9yc%Q>O+gDu^4p*9e6 zSiDU97b+w6yV4p5g|_4YRcOby$b6-LEmybc8?{ZzjaF1OTl7RB;y4 z5LG?_)|?0glAb!8klf%gm&&K$!vK<>)+@g=Br#1;$A(eIpQa>!-yW2t4HxwED8v^O z_hPJ_H0s@4mF_5EZ}W$^m&rs;XPB9nt!gZi_w4x+Dnv76EICcIi!=|oiy}(QO@!BM zDhRTBM(Po2m5XP$nYMDi?o((S`0va)OsafaUB=VN1yQGl*{wFx%9a3ONf(}60i(H< z#f8i1!TtRlbnQ!`UsIx~pU$*ltgteu*t7@B7W~zGhS_0k`&+d=>}o;1o4(F2jUsVL zq$Uuf;6py=sp@UJ&$>|NqI>`N?!DbU=KQl|@6PtG;r=)%&SVlkDxEVHavdWNb5%`9 zTeCuxP^e`b1n$h0kMs`|=zQn@9Msc)VyVS5wKKw!xbs@Dvp?=&t__=_ul%C$XJ&Ng zlas^!Ifp5l)RY5)t1nkBZ8t70^trjDAQ0c$F8Eix5ZCqLB)yyg+vM7{lhwNU>_Sfb zHNoCoflh8q7Pj15YBJ^1e`Ugk1~T_TI;OE@FWQa9gg3lV8jawjUQNMK{w$1h)cUb8 zbT{IWw1s!l3rTbNW^X)N_DrYK+Bvs%la`4IGg}TL;dNe~-!6|2n5CJWHs02hL+bos zRXnalWf#w~I+=WTFH%pE2W<*kY~M5UvgOQKa&Fn%r-KIB6S;y=xlr#2wNE) z^zH4@GwoEJEdh|&`Tr&tc@=}_GAAb|mf3(L$j28LmIIp4jKgG)XUNIik^xBWatm`I z@xX>-aM+7}(mG#5m!WJ2f!s%8)~tSlEDLm=I2W^e`9967#8?05ycSrVmDroYDeppp zRPH^?ndPEwoOeC;<8k}vuQnzg25{Fe+$-nl3fS+7ax|!4$}0=-+rfn$TqfzTS%Hf8 z@Z3KYX>aeR^J38f3rC50wx4Cb;Dfu@L3XZLyXkGSuAc3Hp+vI(k_~h=r!4EoMEo86lG@v);^Tv4z4N@3m(!D{#o-<4c;=_eEnIyFhxpR=j0{=IjyC$nkggz9hdT4Mo3> z@m);ba2;aDc$l3lqtLxR(w}o=SK$nMqpW12@vJQzgY=X}=LY&Y)bR5$x32{y;bVng zt`U>v<>i%o@V}ON;Puc;hLJ?|oT@&9J_nP5QtUpk9uAhm3M-sM&!`iQZ}8u+xS3p< zT8f!&z1J|y!;)hV%tXg3W^#hy;URvwOgS=u<@ni}%m-R*{DUW>$ok`t+oS8Y)K@Zs z;DcxLcx%x;YaB{DPG%v`$i^C8dYE)Ki9xKTz4K=06;^U@h9C(CD*tFQ3PBA`*-SbU zw@ob!(-#C{Pts*mWkCyp@Tz~XM@`Rp9=udT#!a4j`&NOhS29&AmyMD08+==E9#|WWSZs&zA#6*hCK+0mSRbh>|SPAx~k3k^v`87aFo63;?aAQ3F z^cR$##CTA<)j1obEZf z^$g9KTQdv>%d7mPse3*qdN8cCSi!=_5sLUeTm`hh>NUZ;&Z~}<{S6EZb_KzTBIy0C-WxP$e z(-J^lmUPG1K=MM+gI5E5fceN^+n?spb3w-l56*Ck>xOW0ufQ0Oh0gBxa>R9|+()C9 zv>x7om*Ye6MIOZYNm(zAJ@G9}bz*tlLtBStZV~#7u19@tI}6_3wG_9$JqU9gs@J-d zjxh>q7G9c9*0Fz1K>2(suWxnW-Adm(OV!|+4ZbR3Lk3SW3o6;A%pmPdenP||)m*OP zpiyEwwLH^muJeS^RZpdHtJC}(3~!^UT{8DCG9eH*e@+RVhzFdA{$`;D>n~l?wn|@A zEeEd|vtH+3rUK+n{9W!T07iYs1%xtXJ|%ucK_03ZASQ1(l@6QMFWPM*s?+xKj}9j* zZUBVQ7$OcrYmU-FRy~E;GU}vH|1w3By_Vn9tgc!V>=>PMc+__eF8{#GHg?CftsQjX z*HTJ7ZtcnAk4+OX9>2LoaRL`8m&6!=iA6 z*13>VnFx z!p%nbF*B?d4(n+pRTt%(6q?yEq~9Ee^7Uo5^wH;T^bxWr26Z6u6UM`4o{I)jJ4ed64s{6h6S%BMQsbp9r-=(Zx>Ez^K zLgh2mnS@m4XMmdqfw9c%pk3f_y7cf7w6SX(1ZQY8z&+|-WyuKef`2zv9qyz zVxgF7Gh4|bs-nI7zK~fhDktqikIwztr_!~0vR^4f{fg4gA!VhmvU2zrCOjg3*C{2_ zaz%h8I=Aal2gyVpq?Sf|)TE%fjGb(HnZlnOHdLzt*zq2<>eFg*=qrPAclkUc3G9(^ zW-E|#Brr4s|2gl$3y#6*^={NlgjB4OS@ZQSrme45qG_(n1#(?$<}B$CxX9G#5*&zl z^`$~V?>dEN&w3902y{|#m?WcE;ICV5O)xtMxLeky*aXapbIm54=?SA#`eyOO_ z(gsXq%1lV1WAx!v^kY}1RSp;(dZ%_=)Q^p>Mi|lsP!P|sGmK`_cNpEPeJWdRB3*4F zUrieNoI&KY$(@^9wU01T*^}JFimr6kGFGXQ_Q|;n&na}Sbr1oFLC*{pCw{-o&~ln} z^DXO35rvBfgX}tU-L-QguU5943M5_CsCOcs4%3C<6svw;b#`t3qQ_lE#d>CO$sTiX zJb-)N(r#lvEM`8y&RK9aAvk|4|G1mmvx?Qr4PD>jDYcLLbI)6qNTBeo7)koZq3fMq zNsF^l!t=6sUj0->EbL2frh8v*8@P}J^hi);$QBN`5wKf$XE`D5^L6d=bZrVQOdHWv z4F-_2A%jEp1*MWsriga@5M1qecCe=XRY$H8zPOoet(o*!6Zx;Cp+m6D(o$7avDOKz zPvvL#EY^aK27;?XK6-`W^B+)O!mhBCN^Wj0yQ#{|kwtvNgGBtga_APUtn?GDSAIT| zVxG2ziHQtrT3k0b05Ba#=@L0II2@G8&-J`KE*e@tKifSyQ0BoGE)afOzJ9^RMH!V* z)9s0>FP0dN?~f3ax4x--{zrUGK%UA`dwfFxjb=~$ZTnKa1!PIYQ!&rRNt5q=#LpJA z9J&{WrN5;p)J_bxb6mmZ3M+yUMixd1iA6ynNjQRP6tjkA38=CQ%IeA_=rNP`c6?O} zOG*nd_QYk2^pOMiYHt%$hskQ89i>)s-;Ek=%6ga*Ek1RTArs0M&%UnrM!JeB^!W|e z)L1X&!1*ou*V41Y`19rF{)%EUdyvlu{X~cFg3~HU< zFd7#E_tYDkHw5HPJbmG^NMbV|`T^qOeZ9GXF!E2(P&7nSkX2=ue&fBQKmR;W2Xo~G z!{J^R-X_7J@<9qCs<*w}%`a!e=o+4@Wi9a2wV5I#Bc3Y!m4dkqdm)&;KUhkpk5cMe6uA^=4V`5@ZPm;udx|=M!fjUXc7E)+Y)8x581V@QlPRXFur)Yh} zGd{L&P3Nxo*uQf=G+k@<;C2}fLqxj8x2WBe|5EK9mQjwQ>_JyP{;+rnQI(P%v#mOD zC+i-5a>WF8@)p?pLF}N)if)cHu_Y&#AVa+pUk^g|--7z8j6$tSrUZY(Ub*+gm{uvI z*f835CilC-U&WD6J-I9P)ORW{3i^_PGV{f<&0l6NSwI1Zyvmm0GNio4#QgZxv11Ir z_rz~MvI<-VHj|MlAW=&Ran1L{)UWRkL~9nnSNxuk)9e|acTUoUq=gp~p^Y@ayJt(4 zygRjT@h&|6+bPDvRU;qm|0fT#onGrn!A;hX0GR7)9X()uYnV=Lm`(IyXy=_z-n<)lHUqx-Ch>AXL5 zl$vFcPZsGrO9Vo6?cW-USPNGTdJZFQ4eR=r#p0+uJi?a7hhJ4iJ8!a3tP{VEdl!dI zlG>9M#H+EkNFemm^eaQc+854Dsx~X7Bbn~yCqPVfPAm-f367jNlEkoe2`eQ>qz z+yY4w*~MYHa={V`4N3Pcp4up?8K)<`IWc5>&o%=p``%CmG3xrh+@4^zVX{Hi-m{PqE5m(j%H@(RZE68BveTDYI;w3*MR$hsI zDEf#~pZn(#Du{S7WGo?m46x`&-yYba!p-^?c;DTlXxI(e~=2;et?}4?zQO2a=tTJoB->$H1Zqz%BB7_E%QCvg#)i`^V;Z z^4dj<)9OhZmfE$u7v=IDhNrDv+)4xlmPWf$Ot=LjPGgnZ(X8-xO{Skd0b$Ry-M^_{x2);J6qLCy< z=Xg7aP5tOscs5G4*fOHcF=w+f+cgP+M zM!3M`652Bm%(SFZY#%0+Y7|r-p=2a|0ws{biL>C)7NV>@yVz#C(qNXlYdQ9UefNu} zfB`9Z>gap|PFjkInHj?kqtWCmukn?B#@SVJG<@Xf7`da3rdyZhiEPDHBTm>+$ zCx2elVjn^qhyBfhzQo6H*(#nJpP~V-tC=o;#1Bycf~<`N>IT{Qr6)Wp2>FYjc5X&Jab)}+p#nNHU@1d_{VM9e z)Fb|f@9lgzZC0;u&Ei>C$tG>G!{y@PF`7{`w!kX${OuB(r|iBvv~Dh~u@lTz9G%Sb zmc=gV>vmmgPZkgSx7PemnOGIx5wx(5$}{N-^#`QUNK=;W$$HwfolBrs*a!Y7$%vn@ z6W}Bf`ofe3nw_3CO{A3(I`x+?B4wX>3_C^z88c#}(wEKrQfFVP)oT6{CaeZG#9c}D zM98;hia@0%OV!@bD6}j|38(P&Q4US#tiTru1xPc&ATq*;rmgqPc>^Cj#|uY#yo~{T z9qA_TRa2V3I7YsLUr}8Hm>J69 z4?%{@#+Fm>LLSUm*d`L8f=%hp?8#+syF2f)|Q2#Rrb;8HAms= z8t+BJ2KNzP;rpyPZyV+(wIm()@IPRg@hF`QJ&-NI*H2K5VrapfqL_)Mo*#71+VAdL zs-1WR^5a_)d>{O;^G$V|^90AVwHjuLmw3>tINu?h^`VoJ{t^_kSi;t5K0CNG7nhhH z@^Zlxb1~~ul-cnBT$3e(_bPbY%6nvHqCvL;$i=%ViG#9dX4sKsr-G{P{GJpljeARr zYLo$RL0o;*H}y=@qSbzcnvP0sMMb;5@Uo3lfXvvu<^GaMg4L}jvF8-CjNU<}6ilgL zzpk2vlcsSxtDUcn^i?V`Qn&{(CY5xcS9mHj(W^)j^1^lCd*I5NCxVvgs;f_}1Q%*<9ye2<3K6BOFF z7sE_x$S6}!#nU5PjK&B_zqx*uCkEdH6NH3BT}BHb7y3#r`GZ{Ys{lDXGeQzGLc9!W z#)ttS?p)e#DifQI*{#tvM}e-6#<-A{iAOHktt`W^$7oi&ZE}@+H)BlP82Y3rtZr`N z>$%;bBzpSvftheeaid+)PW%7U+Ly;ex&Q5tN}Wn|=p-pBBufiIr8F%fE%tp&_ARnx zEu)-L2}R19Y-L}vH@1i*ObFRUvW2o|{av@t>3h!aIp=vje|+bUUZa`0=bq2~{=B#Q zeO*_$^V6)IzS;-EKB&|2+x;j#P<_1G7TtykMMyKTScw-vJ81rwq|l$Mlh&SxUL?YA?mA3V-;BJ^!{k(sir7MI!& zmq$?Bz?e+ikR~aaJFjcH@i>}_!TYU@O7Cv^o10Q}-{*hoUoAyDK)=@lx%z;I-%7%R8w77IdPfXLU10YI+;# zUdb%wS6bYi3^zanv)mVB6Mv{GGbnTWtqd-?S*gca!hR*qqPyH5b?%l)mgI(k&Fb~Y zRLp);r*SvNm5c0Z9PeC73-&)!ILa3ZSOVIJL1O%i2l}Z9x6F6D-<#iC^aZ=XEW1fFgdm-F_ywIW=JS1#zo%McncG@!-1iA6cii+GV!u zZJp40!l3@OWB!|@%!%R%I_Kqob5}%1VmaT5e<}?;TFT-r7nd=+)$&iFoSz!-o5~o} zE0`gzz?RbEvxDdwT#%QS|3@WzqJ8tnL%#A~G&MMxtV2UX!M?e8*Wo|*ws>cP5V_$b zYFaQo{_8hfsBUU9`%`u3FEGeIZYPC=Sp4gYppY^6*B1$0(Esu4{yxG>x zPAGF*H($*9mKHX5mrw+)2zXg^V>M`53E8KZEQev8e?F-Mc0%gh@+ni~?- zPberbLE6}&^@ab$guQ}-0?R%l&>vfnbfGNac$j@+xP4tAIEQ%o`6HpKi^2I)pRKfK zVXmu=9y>+{A^|d&_5VHyPo)chc=Lu08-#_0b+ekm2K%Fz7RI)TM+>t&*y$ zqN=J#otYu19}_^Fh6a|sy(mO1F|obWZRL7yISjTyTGuEokRZDR=`3grAe6+pbEik5 zCbY!Md7r(*BtA%BNucI}7I~+g7|6i3k;!3|!TXmAShgGhramSiVVN$}d!cQ8+uM6B zSR7dn+Hh^&Z@El&thX9{Swdo$;IhR4c6vqzq{u7&%H669B1%$4fS|iJ)xNr>=D407 z2Y?b$>FMtmTs0F_%HO`F3xKNgzp4y>Y06mb26kIw03Bpy0EQ9r&Nkhr7kYU9TQb8D z5gb6@#l*!e(QV6hB1Wx|pVidX^78QL);>K)A{1=#(?KZxOCd(q35Wn#uZf{x3~cL! zse`qZQea#eR07sq6J*_B*u^1_%ungVICysLdSxLBHR7ShG>^}pjUZbdAZ+TpFvkut zd3$Oo$Xut|hv#M{Yu~*)3Kd!yr}21y9Y)&~6!5OcV8q0H?)$pBai;=X8yoQFjuy0I z2|r=}9n7s|3xR{K1!>QpgDZ8UXZC@jOn7Q)HTiOOkFhAoX<;*&7LApI96F= zhJW!aIW8kpg^6>PFT@mj(TCw%=YmDS*DDlLz`1;ecpE{_ibYdPtUorx#+X#V`GVa3 z66L>+)hU|5sV#>c?=f;prd;`M^O+VlTrej^o@RXeaQ7%hje77OSXEh5U!066`I8oB zvFY~+%l(| zSwmBkAT`yqGv$y^c1g;)wM^>o2zCRLRTtKspY7ZTD&cMjB@>jqfXzI&>#I4knmYN+ zg;#J;lIMi7xq1ANh5w=uW+w3%64e)`GdpcMHT>ftK|z#e>ztm2vNxyZqG>((iy{{(G`h#(@jc%Geo zz;z-mjB(>eV>@0BL4s@bFG1{+38TYes9B6QtbYlp=N4ODi?1z)p}&2_l8OHV|NNQ+ zwO0qgGDwF3e_kl2V`%8%F7=uLSBzN_yuJX36KdZG5?@+!(i#LobFF1tDS|BxZSgAA zf@x(q1db^_iMzHD46T=n*IaeosqOgjMxM9)O@o*hm^LTCB%tpFw|$D^H@!@&_O^k5 zqw|)a-refSyqiN%5RPz*D+miaZE`riD@ZUfp1KLJ;+G=@9{JzAtj5G7H?7)>j?Aa1 zvw=c4pyR&Ky@=PEoExTuQ5I&}XS=p8=r%q#Bz6o9%eY*HUoQkw;Y8FN#v5FRDZSwy zQ?0|Uul0SzOR+_yPoLHU7dy~8Q$9JLgUmm`Pgxbri6-Yy^AT$SxR-5|&h=a2G7q-9 zt=^lP(l8vgQO7a7VXpihgEBT@7Xc{nlRfegOu?mnb~Z2RH@<6X>L-7epk(E=S~Bm} zkU(^O`)F?ujWWLv*e+pgm@LM<(p(Ws-uzm4Zh!0hfys9#)`@>Akln;e(qX($n)_l* z9<2%xjBK9)tzxcdaOI2-Www~o436wPHwQ#!#yB}HF}gNfs5g{WkZzBTjN}$f*Co$p zi3kfjc6D~XzsbUDOBv&}xmdS^Zb!PCH$Od) z_vpOqcfqaTN!%i@sMtlHOL!OOylZo<6HttHsWeK|)QdW!C~g%7va z?-T;wOC>?=f>I8LyeY6w(1jl_Kck_+ioiObOR(jSjoE#!2<##o!R7)gjZ~7fHhl{^ z8Bq;&WLc1LujfA7@lez9BMftX2E&`2z=YA2Ra7inGDE$HRXQ6i>O~NZ3qoH#3b;cA zXsHxu#xAzda7&u_(Wg`G>2B?7yCm91bOU!!NF&gmHh?jJtbm?&W_ExKb>)&yo$K9P>|=c&iniH z!h!jw?B8{5@2A{PPi4A0&|7xOKjON^ZfAMk_41tQ3d-;EI)xI2P2;<2j7~RO-;O($ ze5d*>{qCEY`?$rP9^>O-Y$&S~adD-LJ(_bJJ@;P0w`5e%FYrp$L6;-LlT{&&wA{(j zgYlAHto{SZ>S<4xELoza=r-?qyR`P)5;!&|8i#QPGqcPtzXmGRn2 z)&Yn}9@)o^H;Dt8iqB+}rw=OEuQ<%Zr+LCx*sfO&kdav204T4hc>g|D5sMIw9dVk; zyw~!H8-3wLKsm=L$Ul&7MW>_)Bx+Mt0E0^`EhCZE1#LWkrFxt~wI6(+f7RuNhle@7 z=Z?2`5?-Z^^v5UnBQxBaWyMRHY&BUkH~IJuZmug{x|9+T8R;Jyn)vnW*SNK#*9tj* zCs_uEg@tLPn}j2_zBNkg>#vJ1r_uKA=ia+lRx~)#dC9WFN{vBN?dM&lhsX8O8tsrG z+RQa1pKkz#x4Pod9YG@IPYVl=vK_gi#$^7>y(loq_QQHqB_(ejKXF2Pa7Zhw(IWFS z`C0k2+lrT7^>T(05fNOmEj_=Q_f|!?(RXCx7xErDr1|pY%l;3kk!E#q(OW6A)pcQ5 z5&hTRv9>)`bu2qNoW9soEkreQ#uen`o*+BPu0PXL73v=rmfY?-Qz=4d7TAb|CavZo zEqnvEy00b2cGcRo4_~nsxmU785@$7#Tu_hwZJ5>kcARS4TAyQUJlI}Pptb#gxVW}T zyfU)Sq#y}5Gn+IKrNFB*6VeJfwC(lpLJb8=1Nzr4Da^Zo{I(yTC@Lzl8~G$%`B+>N z7pV5y(iMnrQP6@kL587`e0V9B_HHc$HT6La#fxqP}WH3pbj@9mwB z<&GY8Bg%*9s3@L;2i5si67IpAfVLLex9@UCAzfXpqEt=0&*10o?!GP`ay@pou->a* zPD)CeAq}ewWR=@7Z@Pwl*)kK5-8;{J?=ehke1J=foHQmSMQ&zt_)%6?7FYeR>{=^V zuGGkL&d8se(9E!Ctf?Cs7#L`p_-NE{5zO)Z@50@KgiRyhGF5?ctpPCWx2;=~fuxO- zT@`bDzvhX?#zx}fVElRpq%PmSeTwi3awaA*h%S3>i`c0u4f||clKtq_t5*RX9lDBC z`-|(DnDp?d0Ay5q?$I7?A)G>KdwcuT)Kq|R*wuO{VW{Z8Iy#QDUci@c7Mgu6Ec$nA z`-CCO@)WwBrOnOF5>isZ2?+@{wjqZcsu(s2y?UQ~z8#tn`>+a%YHDh08cE8-VfAv- z(zp9+pZTm@wMr<%tWF40qeiHAx?SU1Sco6*pU5U{gm{%C2t(}t^ohlz_(FeuqWO}g zODi{9v;EdtVl$d@b7nO@2%H@vNhoN0)B#XlBy*gU0;Vo&ImaTCxaWfddrPpvP zH4BJXgS*xDIi(&11;qh`ZU$Vk&4Ddg)!;qaFQP!8-`-tDM=Er8JG6Lu$xv~a234OqGY|S-nVoLM#^ZiX31LV)MJz$=d zF%B_cWMblBt7QYkR_w<6l^X&ecS8gafFSSX=H+c*WDI}s;J1UJRW`PX>S>ao#8h%$ zzQ!O!qb^DN&~B~luMcgPkw|qOgf(UNG!ELM4bbXOO~DrYWGChy5|R)T!;=TVs0I=P z=gFbOd-r}N{0;}laaceN%0s?fSCp7d+18QJXNkiODb0ST5@OuSRE*BJuLh9FmdfoL6Usu_U&qL zPY6TZ3o4DBAZurRm8s2jvK_@nV0~8G$EvEJpofswhrHoNz)glto%J*O zKy=FaW_GMrHYpPf4*FTm=MYfNp{B{1Jr5~|tk3=i1V1KBTp!!#B04Pki0EEi`zZ6X zHs6g63|ed+LqVey0z9*TG;gTVo@mNybAJ0iUX_M~Jw@oM{NnQAd_rL+QV9|@dT#%@d1tz`*J%P(ZEeFw5P{Bef zTU)2%v@;OgSNXik8!6|vEXju)&1EnRwCLXiQ9%PFSN#3_B2oQkPjV}DrqPZl%E{e> z4oVa(8G=xX=rp{a`qstIHf;G==9yyql~J$h$>HR(va(g955(KD(Mc4apXwT!oOGzX zJn=;xG4l+fT@v-p*jRJb1`@-}-r?5ClCh8RTU#)KxIs`=ex7Opt_U+sI5$u+)V^4q%R@<(VaNNg;XyY~` z2>|$Sn>WW}$C@>zn{Jr4N+Knb+9@YC=^{Yk3DwEmsozp4^vbwO}S2K zAd5>deESfz#4^ZUE*)|uk>v7zoJ%>{j0nbja5750{8Ud~GPyu&2D@ii?8yDm<|ovS-=Xap9G=LWaoOq7#oW*K|} z0x3nw^pIC-%Wy=o6N_!u@C~Vre{e9rNAY%PA_FZdE*_ts8IF&Mi76VOg&eeP?ip%G z4x1QijmKuCHi2&>0~eAz*Yg;l4p=XBg_%=N4{eY$GRaR=U@Dhuq`5C zyz%?*y{~SsFE1;*S7%m-v$Gs%fm5kP1wm9TgsaEVZ~@;T7L5V2U;Z|}KmTp6|6y=l zj1{jV$ABS)RoppUBf~5jr5=8<40&NT4ckZ<$0J zRbMTai0G$J`N-t+qQU0`1qG3b$oMmVg%K9$3udJ?^Zdy2sFWa~q?B}bN_VG0DJ39+AfR-24lM#IAcD-$jes=L z4Dnv0=iJY|o_D>!zkjSXi{k<1JA3czx<0jeq4Y?a5T61cfj|(-Jd{vDAkLH^5U1<$ zaN+-)a7#tPCqY+9Emu_s3s(Wt@u3Ngg zI=TpQaoPRnJ2)MjA9HDAEbqa;a^CTwwhIDr$r$@Ol_Q#Mg+Tl)mXUa%=J{@U%)>MG z=P~a3J(;8|?lB)F%WIhhci5gS3rDhCRP&z}v6tLZb~W2;#4(^KKc2~}gWqcPyFW&#CqIT!<}}eiAIkSK zHINAUe?HQJOP)$f{PVFwL8|QiD`RyOJAm( zva)h-9!1>Yc=BDR)0^`>9iO8aU~x`)cz9S=>YO=q=DlH)|6bDxM$~t2D&%u#r;CD21#MMFcwt+feS z0y2&qenmoal|l{i;(>IBiAGOY8>iXN(Nasy^v*0VLPK*1?S?C4P8%I1^4h%VyHQDC zWo1=1kh!WUUi{;096RM`^&C4L-2+)g#pZ}YOTo^3Z+%MPK%_!VwW+62dDlVpx_Jli1hN_WyUko0tsD8b{dPXJx64|T56!&`3JQvekB=Yo(@EcPGBGhR zi$ZlvnHs{ovQ#F#ef#z{O}V{7<189b2^q6K>Ny{`oa7rn=hWdB;^@?}{ACmeQ`WF`7F^zK6ey;R9nTi@Qc>%}91 zGlgBg@$vDyj+2Nx+}wpxnHd?A?UW9m3{t z(@J`J;r;z;OPdv19I~%vZ<1WS8amY)(rU{$14nPL+97qjba~lUXzRQ9-de!PNS@0( zA+Iaq!52!e9bKWJi8N^NevsaKU09f!m6f$bi-USm7*1s1uOHbXqbEznO=%Ss{oX!< zCB|@0V(fmDKkmVeN`CVunAZk9xtL%4X6yueI%{fbNYzI)FTU^Ydk=$Q5EX42!sMc?;qlH*O-((NlM|PfeYsuw@uQf0st9#Q zBz3u0ZYwSCPL?$9P40fBh6{n+H<;>)cqSE_sNU8@4*Tn6Fs2Hs!1M_OBPUR(9o*@YZGTt%aw( z>C*h0adh-oq6j&l$DQ5V+cWA-le~J@@%q8;S`;c@b7p76!QuC@ew}+;z1QX~)AkEB zb#*v7$L2FF=V(7Qog6tVx$9Qjw;dm0db1U2r+OY#T;sO*oT$mk$*EQ2NJrx}OSI%t z;I!D!>U+FDuT^Osm)@D7u`pE5+<3I3yR-tONP9{2uw;A3q3H-W_RE>%M+0dyni?7= zUthD9&BaAUT@pE1V9*OV+AgyzFE1}O`*P*oU8gk3c@?p-fnurbN6C(JUDuXY=2HX4 zEd(E{*6)t{l;OTgqv*gM&ONwpl+RVT9upn?v^C^X=Qmw7wLs=n-#+gVXk&HmD`LB= zW2X>YjeGQSJ*k)8Bk8ucekjh&M2QyddiDD$W@cwI2nbvo8X7`l#(g&x_)0=^{FK}g zSBauG*>2v9d&8kkA3@3g2><-~Xgz)X8?>~vxdA7~eJ(x1%*mnw8{|!_ zTw&FxY3OHO9yMh9rV+Dx@7J(RapmgF>MCa&^acJg*VqdGqXX|AO>J$~hNGPkm12Vi zMt**N*6Y{rBj*xrGK770c)Tcv8~rdDK5Gq{vJW4=s&8nxQK-QVBlF>azDM%b#L02> z6nPyHC7zJv+`Fihgu*w~guG<0;>YHMmfN2+fg72V4$ zXe>_5wb*I&xN+k~AM8Ju+uHcpK|_j&AJP?Cv4-#oEK6HfWR&P}P4Cgy&d!x_LwIw3 z8*Su${kf`{p`mzRy1NyA|Nb3wg_t-~z-8_s%!MZ2ihktvdW-&_77>5gC=8nJGibZ~q!b599v+zKp%Sy^5IFvn{l)gA7?%8`99F zsfQOIA3tNjz(;|C&o+VN^5yIB{15&8{rg_giD$rIkz?cJtn#|poh+ucyK#8vn}jSY zE7Lhl>PF)+jUtv&{xk7;UZ%23I*HSi!x^>dr3hOgy$j36htMMXuw zjE#+XVcb<7(?>FGbt`JgD=P6}=Eh!~`JFfM7Vi;bLwC^Z8EPIv$mW)Gg+ ztOE%}XdcC-SEIDEC&$&$KPxB-MLg74J>g%sywTUEGPL`nwN?DhSo|Q`KO5=MK6GQK|GF;hWNFy#Tp4oJK&}lI-JQ5ff*k2bJCYu?9E##!5 zC|Xg@?bWfm7MBss4QJTbh~tkwGZFm5JQvv5*)w4=hQ`KGD0OeBTie9zZoE}*q`NQu zQdd{+J`i~wA1}v0?rECdV*`Iv<-voewi8IvS;a&i8GJmvlDYtS`S9-JZqz$m4O8gm z<{byy1BN$bto?9omIq6*yE*3P>*tqQQBgrQ;M;k#`g7z!zGg8Q?b2wiOW*qk&nbK( zVVdv!y^KP4q#5Zr^=#RRoIKuQzP{>%c*xht-Rh>J!l914eg_r()eaLo)_2U^faP*N?>+p)U6^ry)mnGYgP8T7~#D>Ij*68G=-au<;$@;kIo$e z0)qVN7h`(eRz|#Y$fcrKYMa&3+Om#w7pYi$4gu@+Nz?iy=4a0u@Vn)WG* z9+~Y%vAc<$gQjFst}xcqG^{Y1#Z$7#_pDOKF3gaCo<4f8nV$X%hp4FG%kc2mN9*L| z}z@#DvgQqzuM9;WG;8FLK91>7VeuaL)>TfFTAxuI`w*7$gXk6gNR zR8`$wyRr5zo8krwmsL2W4~d!NORTPh<#O!0+m2kVv zZ%KEd3Xp7{x~BdOD;|oWqwakIq;MLA)<~6IEOiGQ)~`K1@r*JtjmHNzRtH&kkI?8tbT>QiVS@`OBLmiKGKTFa;$qrXzHz_40`#m&FP94{GFJIy(&54_t zW$;+_FaGbi706wzIn%-yTVA6Km68z!mrUb;X_lfA!O|_puE~ zDuUuhTU*kXwrs1G;>L0@BQ)yQndL|!mS6`5eSQ4R$iVtIcYRB^Z47l z(p6oL!2n0cl5Un_ASRtzm!Z{ZR7Itxrn>H}8!ydZyBx0#93?lT7QFS@wKcAhlL-Ft zlGUU)Zquam+X7P!oiqEe^O6-t1~j}}_G83U!Bo?gaH-6}0w zQP1`F83Rk^m4*6s=!2RDT#Xf6@v#o+NUEU>9l?7j zD;vY9S94t^hLMz%bcn~*x+yy`zm~872K6t1jOc-M`bLWDd1IK+M5fHn2s?nFg}q5`HM?{EWZA|JM=plZsy{~=jWO`sR{sTfuzI|4^V_`} zGG#}*xxCA$@2>!qYR`0ZcFOGxSHB6xeFG4}9{G!D$SL?DH5+B_KtKCcv@iDfCbqjt zdpL~N^kzjO-x^d{MsJq}Q)t0(>}xvS=1P)s9AkYYAt5_OzbYZ|45hE;y@W2TSw$`t zRCimHFK=K0H?W7|T~EM@Rc@!2UcI`^$jofooyd#s;O6EgqNXN9lm*$Hnyef!Xoaz5 zzI*n}87zOO7(WJ#ZXPuOaOvU0hb7}Qw@uCzHSFjV=+$09T$j1xfAEXhb#0v5XJt3%G z0caV!y!hxxwqge~mV#!Lz0&QABfRCqcSYM9j^+<7JHLC_;mpOSX)E=yLVMe^Ks35^Y9l!PgKA@&a z`3JSNwZ^b5b~{4@Dp5ke@vvwEfeNcNtZ{s>lh8Nrx2vzFuCDDc;WeMUzPVXGw3_75 z*up>IYr1-hb%v$xh|-aBbbf#~vO1Po#A*!0!;`=*HpwaP!5PgD2{FWS7R z`1#mS4o2Ha-!TiQ?J~mb45v z|K8q?ThZ0gv39ACiMcXl=M&MGwJ=i6C4yPz)+UY*eJHco&QAy1WLB!Bq@iK4TMAGi z2_wPBh!|<==i7=O+Ob7sD9C(OCo?)#~MVAn#H_)v+jK66wlM_8U;`C^Yg#E zRQ|+lfN=AA%%IM_aJfpSuqyIG-o3QEN(yhq%Iq~CpWMvcYZZ?{H+jW)9y*Zc(e^-L z?Q6#KFiNVgJs6;}uB6b^a|&8+#5Py$j>|{2L^L$xc}F%j-Am&n@Kx-5>OOLl4rZN7 zj}nRD)hTW|_Fl4-$TT-IGg|omp==HX7!KM_z;zCeE(;$xTmW7_uR>4LeO_%7LP90}WvIb7Y))p%Vco)IPhbcI#0}5)zT^e~xdZ zv~!Lc+q-)n7ge?spKtqnd3l`|@R~fn@1`8!U|j!^%ue?AULJQ&m*!oiBrEb zY(scFJw}uC8p{BecK~56CFAzLLQb^Wja2a-q&TAuzbF3oyNHJe-Ku)K3g|j8DN5f4 z5YHwShe1-i_4pgr5DPH^&X0S()Nhm@?a|?8PlW$PG)*njfs1%y)k(U$uK!MDJGI9s z9cGt>j}L8utVjohJ~ies5jVyUv);QpV6}FB(T`A4u|>#r;WF+ensAUYwbzn(ZOHtO zwl$N8Vk-4P7%Cg7%(glGJD3zP#8Nb@I(5njWW}*^5z%=KOo*RM47TfkK6cidX?}{6AQ~Wo9hl3bKe7~J z$BsKhkDnImR)1Y(=iqp)aIWB9<}^@Seic>K!s?T~nM*^%I&5+HvCN9N2+*?(`FQCV z7;x4ac2l<9y}bp=xD50h8UUvT1NGhB0gd3<$?-ij2eV+@!QKDb;cWL7@}9 zl^30y9Pv2Sj|@vUw;PeEryS}xZ~sfIz7ZgEsOpFP2TZvK2=@0YAv$2Yf zJImUL`}X#n!56MQ`}9cyX6toPQCdI@51gIv6hZMLnxVnp22EgTD+I_oCmxszXfcEOp!u;WT!(|xx{{3~^iN-ODQw!LtS%>MM zOCEZYoxOE$W2U#k#{)p=HL|d?0QK8Iwo5{NLgWq1Ah*%F8=y}ia*i{NV7;))9q82V z%Y$?nx&Yv`3Ac>J%D?sMRA%1;dj5q514qd`st1a5_^w`qcV##IFi7SfK{qIYbx7Lm z*RQErb&Ubp+XNabx>8%@|Jo*2 zzS33m-I#9M13rP35Iuc-W)Al^@A~fDx`2!GWYNt@Vq<%|4ZB{j_u6YdAi_BTFhSRq z_=|%QRtnha0<|ECfPet32s08k8~ll<(5b`=H5fqD4Y@>H#aClJ>eNB)2@j2Z1_UbN z8;!8H5$p~N2gfIn56tJ2_#F(w(B#(GW9bd8(44$lX&68WYu(W&Vnw`rJAgc+K;%M{ z=!rK{_*1H25B zme{oP^rf*z@Mu6A1Ja?IK2ZmJWr(jZE;W^F%(0bF!QWmm`PBlS+0e9)&NcjB>3Oh$JSzubop9~8X1u_$55AFvyt ze^q~B>FNypD6CmgTwH8h2W_PI23M}SlvFT}MOOloaH>sFtyI+-0GbR?_<4~N;+KRO zwK>R!8YBEf25u~t7q4QfK5U|oQh4Xf^X>HudtYO*495s39bL;DuR{d#n$1G~&b;B+ zK#2eb4F|<`YhnzT)Wh7|Tz8v*#oTPhI9c_zMi|_Ek<|BWcWh*tUW5*_KcZu#x5jz# z;>BQ7fG7Y`aZsAigUs*f;_@79CNVKFY!wL|@67-vXTa9bhxygvO7@-Qq34Ps`)5?M zA4!^-F#@!ooSJ$Hi>T+fjl#A`a}1aVrZ9v4RHEH5&yt8>@(Jv>BKlacHW% zMmhyX0d2q`kwfD?llRW@d5~$be-Q=>zL6Cq{V zfIkCtC8{lqd_=#XiVg%ztys_@xa zvr*8Nv`S6R0=2grHwAb+SY=1qc(BN>=hDp^8W|by(KAiv$V{C-^s=JFn3Dy-&i zo|1#ZGmpV~T^U(f(;ytT1K=W}qO$etW}v6PV7hk*Yx1K{@)fM|0}dwaVH;H$lb z^r&0LAJ2fZ@)3n11x^nI-2p#25{3)`jCh0mfmoaT9+Ah&9$P3_>~YS4b({0>gB6na zrhu}y43?S_k&v7LD89G9ZwxTebE&YpB;dq9>Fk(I{Z^mcAkvK;9{0t{S2Z*#XzBg=6n(w8u~7b zQRY@sx598$US3{AzEe1SViJAKDLTwU7MA&?*h;lJy{h-!KJ zQl+J(z27CG?Z=pV#NNS{!6*YHBR*{t;3*v0pL<_eY2|H3#^P ze3d~6svPRQhnL=q*I;nzc}sKKz~8k96?_8yJR>u+#iW!)A76hKjH~b8mFfs8tE+ZD z5@|^=mb=V9xDQgmcc=gJgc9HG$1s|in`3QHHa2|g$~)|gac|yy1eG(|rJ6a0 z@dH?%NG2^Ut%P+KZ06z4;nLavT1;Yr=b-bwe)EQ2NJy_2S4CZ&)KxIqWZpq>bZqRD z8ka3C6%~iCARW0AGyPitHkoqQohkma6~qEKoZOqM=pgE$ojZC0dx6n`f?@ zmSca|@$s>2{QX&;|7-`dGt&-Q$C=T93{0N2K$}z z14a7(`#a+kZeFQMseeMdV{Wqah2WNMhQ-Q6%-PX^lOqrLWIBK=&5c)1v~Y#_4ldHDdo_wVojuXCbixAKAGg5Ng(=++dU&~KCo_A~a+1;VdUv!?wVOcPXKTrK>_ zz669}G-KsQU*9bN9N|;~SAf#A0_A)O+CBlW$yhsbQqmv*^Z4fG=4gyO6R}2t)>G&o zNi!gwp3>IV{`~dp$My)ysp;uwtg2Z&nEku>5ME)7jgQa%Uq?I7-e7EZpT_Lktc{jA zrF_lWrm%v&N#(4y4>9wjPhnh*p)ggmWJb93kt8q>JU6@fVIwXH?M*(%3U%us4|Z0` z$;yhUsge9~TK#~(3IjIiEjAQQnnBjq(m}Qa#yOVt&vhq-09L6Q>A}OUlGLw!&&vYD zb1xoJ{e8WQW|Uzm%(3p%jLyA6;4gH+C-$t(s?TZ%3CUYFN?{G{%(F55^;RL>m2OKK zFm|NeCjcy$!XJ|C)@o)ha_Cldd1Jr^zGUBYv?JA{3_*b&(Gw~sCnr2GoBVq1nk9do z2A}mBkL9br8 z1*{p}zqliS&h^uflz2JR;8Xp-p5e3C*|TSjVQgzP`U*h)BN!+h!>wE2SF3n!tXD>= zFWqxrZiaV!+i6iW;14TWKMX&n)J z-Kz55l{XV2m!F#)QI2NS)SOu@N@Pl|&J+_DkB*IHsN-U0J|`j~Qr4@;Xj zzF54f#ms}6gY=0~!$tT%57O;DyYE(p=q44j^Lwrv9RdR=!+^#b)$;t@$e2IC)SR50 zCs1d58wxgyr%=TobPC_-x0MJ_k%++?y;q$WsuTI2mYmj^ELHgNS?+m6UXpqxYSiEs z?}y$wQbY|B$%i=v`5B$-gLnnG4L{5d9qdJc0kqlexHzA| z9^^Uj&1B=h&vlWV*HtuVzJ$3`x;=X~;ijDr>N3(-|DqSYGs)kRhL`Z_YVZy2*vokX zUsf-nmP*Vlt}rnM^ZvSf^IBmA#5uN>1}?$;$3X~z^R_ThOq=4j11wZS<4xt;vk0ib zJvd^e{zu-}Ckp<9kg60P@u6G)hjgw~$7`OBXGMzB|4Z2ZJ1b(^|u7KATS>ZcN_V)5}Ve5OX z6Q+oI>j-ex?#C>iFdP6tT3IdkSR1!kQ5{)C<=a&`*rx6TgNqxJ+Yp*suIyBb=~MPJ&$Rb|yPbC7l<~w#1edxGFF;*&3>2-+#yQSLIRa3kDu6Or}juYW$4| z{;@sZK6sAHs{c%B{|4#ayaV(4FZ2(E;p0rJ7kKM^^yS|JyPn;7$Ij6zAif>YL$3Kg z<74svdj_lycUzxL%M~>&c&C>d@@Rct?$vpa%vQlvP zvoi0VpG#9O9sRmL7cS0etORSmk5Aebh;@RB2P$r9MDPy)a9Q|H2L>9uzEo_+JMQU9x7yp1^TS`t#&{hhzHQmDX=kf7JH>4hNK)=js z6-Y9CS&gP`UG#hVDr1p1-TqNzyLkFE(dE-pwtU&9zgi!!@NDuHLF}#h!6L>+=MwlGQfwz+PS1cF3%N~#br7w- zR22g&4L5ELo&utNUtV4~z|KMZ4>ko(8OQm-;NMoUU&W2iKmTZjII^R|T{8Q=L1R^L zn3SCz58<*IrUv-e8+Cn(TJsV+*Pmo@>GfZqsm{weE>0(!?40qc)3>$#HLIy!zXylX zTRUpny2p!t(ej@L8>Zra2L0`9_&n#>Jn=<&Ptu2by0I6h=Fo?t@8e&;ey^A+QZo~I z&vB)4U|7ii_pA(7Q-ibwb4tLm7vusb*QZ*)|8m`?*#w*8qXPd}pkx@CF=X_x+&xPn zDHx=&>$h+BBJ~0JVL`Huk-3G1$xM3$9znT2@g5{l+6lPo5i&8@xSkM9sRRKRCeT2l zEJWAPCeUil3z~n+5T1LHlWy|&Oe&4lAIxcdE>^tQoS^P^LYT^z`{IU-O8Q7Y zFQ6;=cXvz2JFw0^R?C5CMdEfNC_y})T^6+_S z2XK25>uf^q?ggEAFaja6KT8}=$$#rqwy6z`IV#QZesr5VZ+5K4PcgeQ`YfL&oK*U96sI#T0b#O%SF9SCxVkUSuTXS z4VCg+qQCd{AFetJHdszUz>(&)uxoqUv?W#s>a=)I^1RJ7=7}O6F&D6KK1Flo9GufV z#X&~kf4u+raEA5-3q(sj)(jvBtWtunq)}{evraJ|HT_1{ zz6Av50>Xlyo$)hZ)t5h_E>QIM7irv|qijQeH-*D6Obr&y(g)l6($yTd1D%Sdb93Qq z!K@7*-@AV&#mV&tf5ksVXV1$z`l@jN$-CUXa9i>pz!xjE`oVO8R%CS5AHX0Uq%z0IuUvTs zIpe?F1DjID%FU%dyY^Qv;L5+f(`Jve^!$=YGX$#6$iygt)(c{V$r#d2EXBqJ8-lrW zgxS^HI>bUob{o~w6I;3`i|jvzg#>B%317M|=30DvIG^_*`+kr20COzkd2(5{0#%Zq znra31zWOY=_no{*BY%?2Xgw+&o3ZR?10Z2W(A{~wG(SG6&N>p)2dI&?PmU%|TH4xy= z_Wsn?b_xMn**YkW3{azxLgxjRTa+bolWtF!j_Au>Z{?oy{Y+1vquT|;@#keu>-DpZ zzN3l=k!oZ3T(_^eb$x!i2=!j>6*=;Z*O1?+Nwi~QjUJ!mhTex?eI}d1cc555TIM~w zU5A%DB+BOO| zLc65t;+wpK4bF55eVk4ey7Rgx_&EmY)?jVi1utOv7*s<#CZ??MBdli%3F7HqY1+#1 zYM=}kXoLn=cOY}YJ=gX2xrpDvAWtVnTCZ9Y4d@68*POfT4BiD_v2(T_x zVGfVn-6X@{^8M`-@#Xm`oi&m+M?>ne zZOqr6FXkDpKh4SOng{{=tIUtym5e`y+e+}Y)#0;PyQ*ylR@OuF_mArq?o<(b{sLcO<_}-GKz{JI(}9WlVAf}fy6{Jgzuhbr+DMTZ5zh*RMEHipq><|ik+R63D&0}bx;rvVY~JI8lcMn-1Ka^frq z8i(A-)@<)a)~7im?)Ny-b|no`1MNRAN*n!9O4YnDpCz$i$qB_%;~dVUmAGDP^*+7| zS)19!qj3A9W(c0)r9jN$QE%Fv8-uj&<<>Yj`zJ8g@!%4t;0n;};P9SYWq?{DPc;4oc`OLPPw9}&R zdBpXv6Vxv4Zms>}Q+%pLfY)i0*?q2OO2mKU zQ^K1U2KD}{u_LZGtA;_7n3|itYN_8(xF+BKw8pwWbZhf|M(QCx&(P2VJVL@C0DQ02 zhvk*K3M%(}?Ue<-=5yS2Yy334Tqu`$`dR%br~ZT99_lIY)D@=GZ9iweq3SMN_ITccxL5|2N40*&aoW^zEO83p*_X;sl15Zh8lg z7%mmoe+{P+uT?P3-?3B8JXfQvDWp(EqF`9}k{JUM`>w4A?`K6ye`->c zP>aB_jQl$S7XxB}z=wxl00*GLa^nBlB$EQ(zVB3Y`8_+A_Q3VYxilQ1Wf4x9D^MRc zH~9>!d(A)YPdmTXNN}RBzRK(zwn8Iacv{St^ClmyQ|T8{gQdKeBFNxkDe;Uz^dUw< z!Wr90AV>k?^1sYf=VnvJ=`jA}=Eu4{??2j}LdgH34i=a}eo%d%{SieZa4t^vY=Gj; zL*dG8gVG;rR#I=Krb#60A~=cJy2#9~$$!3+P=b+%G2~fS`x!lf>|a27x=A|l*ZkdT zB7w_TE%isSVH1;su8wk$c|b~gUpKR|n!#B_O_?0Dh2_Zc=tes=I^~YucS0}TyP&S~ zeJ3v6=7|K-3sc;Tq56(>QI4n6#{OXpK49J{%SS|!b0kB;ky3?XIZ>-7;&P80(o9yQ z;+eAvVvQod5l3@lsno`LiKutVry0d~2}YOY!P^i+_h8H{0HOqc)#7nCs+*YMqX>EeIZLM#!M855$AElxY-pQ zER5*`xx<3x>sL9Y`t8-TzuV1Ftr7gtDKU0t8K9vSvzy^Xno(GqfXyxlxJ`Kg+d>-YyM{{ zJ?!C<^!B%EnE$=oufbol6%R0@@uSK6_%{q9Tnyjfr)FZU8%v(U=Sk^*DjBrnvJvUB za8ElsHa_ZZ9E7JOZ_QHPw;D{ImglCdxddTeQg&xh^*7RSK}}b}jVg>MP}b2j=MmPI zXX6v~+J35k=E}YAFLU;y`7mu;rkgU{ZF2hCLux>p+7evQYdco5s(LsW{U&OZo*1Nv zt0YU82&Gd6KmAN(POEALxnpLoJ-_hY9}Zs*`ElUzGq(P$;|2j2@^{R|Vi4q&_<$LK zL(hO>r;3zMyZC`gk#RmvSvMOW-Jztxnv|B{%(ey19|`Ft3B9xdt3s%W>8v(x>~`a=hKmGQOh#fRT0aaC)*zxqDg2UQ&D&d-lf zc?^}ALmKEbWHm~`ZpPkWUEkXJ^f8E_t&v3`BZe_|wZ|l$`d^O`K}(AfW$`%k4t>8+ z`Jb+KE-5lSBMs@~W*(2g4)X>Ezqp%`InM>bqlLAO!-d=i2_E2zoqT12s+$K&Xt-r6nMU5PyNSJM4_ zEkT|Md`&t&J`Hq+RUYAEzRA+=s0VqQ^Q@$KC*A%wpL7+hP1M!Y?n8_Pb6B~L!Tiy4 zl0C+)HV3g1H{_GyibHc-oBIWbiGZct0d{;O+~PtYAXfy+4i+XsSPbX>c4*$?6fa!x z0B9hDP^kHcir=0Jd%c81ujaeO8FZd{{w-|Sq86Y(CxFB$xN2CmTg$WMXJxk*#8C3? zOg68Qoci0Fdls6wAbeh^B@cKjhqu{M|6LHFM8{;;cMB^63jIbGh34{{8h2^_a-nY!zIm-4$7`hv1~Ap|$2? z-ogIxqJq7vpmAI+ev!(Lc*a*KV?I;J8nUpmwm@EK#a{Kta_K<*=_eHxJP?L6?MjgA z=7ZG2?5r7784B{wPvC}UI+z?-A?FsXZANzX4E7rJbXyoDwYnQjpF{Beu;H)7BOys+ zoX+!(IyjYqj51IhfAm+?`FyTSs-J6-R>`~xek)2j0^U(MsBiBCo`YkZ+4(F+^CWBMO7@{RI%TGgzACG!L>8s$|qt67~=VqL%1 zub8f(on(sYzEfH0H8-b{t!$BfO2cO&v13fnF3GVn$;R$z?H`B!TTVgVg)i)%3Rm8! zCO&6xLYB#l*f)9I6Vek-^j&^_?vly+WXr9$@?g__gl&KI>XlLX81`nZHgj{zh2kT_$w>veXk|!wvXjB^mG$nV@SoNay&x?3R12`(Y}PC+XO`Nk!HU z@ig1gdbmVKiRJH~ESqoxGJn*~NS}7G7$P!o3y2m<2YYW98_UqcqapEHwLmSYiP<1QNw<2zvwl~9-Y=}sDE|+$!2b}B%V7<{m z)DJ4`g52x-ZT9#X{`}-Q=O~-Z6+q7@!g9gx!ePRaMWzH_%A`3R^+Kt) z3hCX?euoj3Cx-bU?g!N#xJT#at)$EzM4(R!@A0bgeeKFRWf5SVWxHrGrfeDirC%N? zv@yZ#EVatHI_ST-!(>-??=k=Cgl9ndh~KRPoUKd0CMNkHtGUX#ZKyp&1Gg<|YVIOX zKMveiM_*tC!;^!7CIkYKF4%?)w`5DLQEXsSqJ0VydtXD45s#pbXOj(FSgr7+IfQ#rR%Qds6U1 zo%{H4OaGZRX~BFoHk(+fsDps-q+e{K7kQdy(_6o;@HBHqaF+AmDcm`J6Q)qH=qKCB zu56qu!u)=;ze`S`T*u}u$~pzb&-04}*|MB!Cwaji7 zh11*MdjdUbgGfUmAv*+?!3&=OoxZ%T2QuVOv4Kmt!S&se!r#9VWvi=!uBdF6FvZD# zo=8Uaz;0>TV1HcSEc)WFs3_bR#T;MilWdI?`&A^2Stw*!uS0WftIUDp~3 zJWu>8K7L>!4gq&TA;C=;*7j_sBWfmy+~7XQBarThvJif(j6GKrNob{+pN5f>#j*1n z{TVb16w@mu2M@1hlB#R%%v*7c`CgIyiBc6PTE6lGC`YcRq7#M!ZzuJ~smdv^gQ+wkMzi zPZ)ZiS-VTeY2jGaKA$s@?@GYkY0RkA-0te`Zi9=sFX3)E-1OO69ixO0O)CWRN_3liguE~axJ#xdkPc8%QF-RGT6+$QMg?72z+Bf|Teu0~pXTOf zDI07ey>KKXIM@Udyq=I#UTUB>(N&d+=~tSVDTDm;2e{%BpS^4eJB&A&ioTWRbNTqL zJB>Qod27;Jrb;{(QNLbZci;~hkhRPIYTLqJcW3=uu<7TUc{FbE|DkcsOh=Ad+S)^t zR5tY1f`Gr@b+Rf(JnAke`%GzG)@#14*j*ruEU5q1$g9d7_gWNH@LfxW6ly6aV{omW9D1poQU5g)PnB zpWYmAf(vK{1_r0u(+*0W{$zxMdYN+JMZnPn!dBGn6xWgSnR9n8c>0Yg`N3<4qHm?=GloZffBDx@t5k8VL~nbxJ8lnQC1S8WW;tL{~*a2GCj4?^*(f z4A(jWjy)(86<43K3-Z^CR?_}Ir<;xlqYyp4nA!`8c<`to4)vv$#ShhWkY&jy!n-*g zTIRi59AItX6?gWhI@wh!*9}e|Rqjgill(F@vDC8GxyAUMEDJQX_MAp`ZF}xp*V-S} z)OYoE?sVXy%^wzO80$3Q$v?c%7H}-zdM@eFv{BY6?&Ai+nJZ$q985f1FHT?nyu+6M zp2VS0G+5n-n@;9Qm`)HF)H5G?ofI0`%*FRk$^V;oEX?fh?{cnF<)BPWWTlL@;6}=S z>hHQT)lWd`^q1>y>tZ)qUtjRt^Z6apwv+b$uYQxQ+oKiI{6C#qbN$3UmR+0k0aap!9%u2>M*?~?Ao=j7>d+q)0K6^d*03Mm z#^}jMT3a@3*oXby^k}9|_?oAs8kL3q(0O}Ky#;;N|LKW+2d&MM-%epu5C;+u?xmmlc%ezO78MRd>&_piqdk zO3YO+xkjxqabQtN>yiJML>oJ6I$V`oC0pI>R(dV-0;CHeE(OxeN0d?o{Eh{LWo%Z8 ztO`9^(0p=^klE#!i5i*6uFMt{t-m#)me~asHdUU{f1`w`jYP2dP`9 zaYmMXly!9QFI|e_6X5Ip8T?O(AUl0N_p5F0Je)N0z2Y&we1}Ez69!^Tso;ZCHq0n8>aQrqY3@NTR3EKkPAsu2i*pOv@oYmIbZVMak6=x=yD=^8T zladJFmkL2%X~^~mD7TbaMmU``<&qygeD18bBh%4yGEJ6-LfitUj!X|p{ts>M0giS5 zh7aE;X{akc2?V%~EbJzF#8kq-W?fcJqQFw&SAA~r-hEs+`B!mOTg>v{cv{PsQH*j5eC zdiHT<9Sc{f-GpVi=@BUhy5!N|3+{(!(^1C545fwF%oXETma=9)ym#*%g%SmOi9ckg zycQ66t^oyYOt)kXfvD3-8Xf* z%sm&GHz!^k`K%%=@{pbRqwy|Vhj#|mYR8Yilk12(8={1$4aLX1D4xjs>eenRJa*r? zT=mQ1Afuky-;O6gRi@L-N%od zt}?ubU;IN=O!EXZ*=@-DG0it5SZ@N4Wp!0VM&vw7wTJq%-dd(EpZ<}>Q`s|0u#7k=yghP^MHv4leIM#N|PjpdoxTy0LB3YfLF z-kv`E=$6y7jt`z|{X#A6aqMH*vN-VwxW+1)ntBfzc@O`~D1Fx)htvH`OkJO$G+u}xl@2J6< zvuD?6*B?a5Vef$qGvmcq}6@xRjl@c9=V{+5B!_G0S<9^->aBJv3(!fLn`okB|rhut=F zY_U1&uloLY>*^YJhIr8jA1;B+6A>9X4LN^${RBeeMpy(XgNzZa8F~R3zf%i7;#_{W3-l%(2I!5KZC;rD+I{;R9YlAQOQaQYa)d0MQBs{qe_-?c%4u;85LUM_H7ktu$H=i88c0AGUC zt;^MTMQrv03aU<2!2ZeLOq*}K9=>1NVmlWp@gDv|ts_L@6_Q#Y46{U6^VFK9?taeo z=pkd(Z3E9cU%QxU#@G!gJG8Y=!U+Pg@`;~a8AK^VwvpAs_;h#)FyjlqK;~K+rOuXB zh!FZ~FI2#_AD`GYDLK2k@(KvdgptP9-Mg0}9cJO+xX3VLE`{2fFXd7 zXZ30(*fNPbb}pgZ1{6~C_N_8})+#JT80T{O;LE^yYX#Eu{QP`E6{akgk>N&JlxPyY zfT2OWI0Fh*7#%1$JB!aLCcvRuG`fwXmRo@T5VOp?HBHyBG6G*xk_D@~&862O=Ux4rDm2 zd|N1kC~|Ohu!D;WU|^8XZUcBs9ZvXQot|4y)KKsXLMBEJXd4U-@=g@5d-qmz%6f1@ zVK@?|ft&`JGPEc}o6yn01;0wnH!`}84tFf3MXan(;Xq01*%0O?_Uwj$x}ziX$`vor zcL-RXU5|-`Ho2-g3(|XW&v9wU*=^k4R%O>i?8h``j-sVy+~5|g4NIVWP+pD4af3Zy5sWe^b0k zdT4$YhhLN8(T&{(xw92M)AtTUPUG{I(tohwKZy?ofbbjR+hV?&-R?q3o$C@L$%o|K7jDIjXOf3!}LSWJ>X!j5e| z)a^LV%s{mwj;F4}-HG;X)ADrhzBr<=&rV|}AFGYz$!1iI!}*2GzWwxU%#2haEM*=U zu9(OBwYI8GCoj;-2-|w*13l%&N5MIMejOJ|wwlh;uRekO)H^h!mpO+wh7<;WDLz=v zmtS`&yQlm69%f1V$*2e6`q7+0J)-)8Cn=6f*mZEhZ|WixIQw9zMa*6Zyn&5GJSg8v z_k%;P!{zFvFD()~W4!0WlI%>;#j;#QPhZt7{oW?W+P$=Dspqo#rQ9`+6OLB};x{zO zdPeVUYYAMvCYhcxr<;?C0cl-LPAy22_wdO5OWZ=TTDuze!bX&3l7{c&W34}=7M!fy zVYTgtTVuEw|0mx&)1CWb7Imtwe@^D|HCG!LM;y_^e%8YZyzy^X6F!EX%&16Z@D# zaYA;TyN1^qAvU9L<*-`dIXU-`Xu6Uode~-xhjW{I#(&>>v zr|=WIK_k0CSLKinTW{HVW!vS?C={mZj^5|qM;~Qs)oOeY1ZSH-uWePE?`<%mPy*e~ zeCo3^c_&d6uTk=$9w+d#hK4E37*K}_ndzm@M?Z`rzkv;4nageoGId4w>XQKe25GaChQ5gRv$HTjS z5x*s`(iLo&`1GL%3zPsC{3e3Vt_;!oFFZ1=ClVC*YwbCSaw_=V=cJVW6Yj~~+g0*F zT#6+4sQoGz2zWOxdg}WHWn)qn+|w;S`@yzTz*27NKX3f>uCI5vLiC3?b**t`rwc8P z`KCsp_{y9nxIU@b8(Gm2Q_d{RI&4rpAl74GxIb+ju*wSacv~V^z z+3@JN+1=Xa#n<*L8|E^sX}^KWP3&J%NvMH|3b-g1x+wOBdrNCgd~r3=I_1DTh*{8C z_fRA;IJ2&K^@fx_ZEM8};eXRXNNWR|04`}B+>sy)3P?pp=CxUJH%v)g%Xe+O!lxM< z{#Skb&&#*n)q`4V8YRVIA64&ma`q#!{|M3 z#j>P%Uo4wGKkdxS^Lv+s%)h{8@uO(nCZ6|Mt~JY*O+|!cWK5@e=UT*AlF*}Z#;3G-1ot6#eOf3)00*Zo`1EiAl?_7g%z3Szw0^^k_rt9~VXlF%(E3-3` zDGFu@sEr|)NA|VaWUhY%T)jTEv_#u4Rn+_=mHg#~V3}DpWGYS%TAt=D@hP1WpfWa? z;*R|P*tbg2rr9@c1$%gItB*!rkW?E_)1#usk{;*VLkDjMP6X8a`T6t?1tqf6s)dl@35mGUbFhySNBUHINc; z@ttZ({%6m(y}NsEsu$k8b&HeMlA!WcL9v`_?H&NcMeDG*OZyD?J%Ro@zgTZRDu)1` zP5Iv9s{{YoIQ;(iOFJrEc(NVHzc(Ntwkh8b4olHf%=~}nBGaK`su!xPf+6)3tKWaS zscG0$L%cLCc-d^lh`)l=|2G4b2&aM%X;wi~zVm|*2~#|l$|`v4Px))t zs>}X&tYTSBoeWTEr(8KoceSVda7|6$sXqMAvelSk+x`9mF~4OQ{xJP>qqPc&kITzl zdU~|BG&O4J>+jd0aZG4t*_f@{ojMKZ-dVtxCr+H$K)fYJI+CjjHC8Poo^0q^L!5Hq ziS|{O;$z4I6B}Aj+Le29@zSN|^-W!-L*n*=SPQ|~n~-#gIUR-IIp_kzte0eb9_rsl zxUmvl;NqmkjSS zPZtD}c0?TbJz~5I?$!C_#TA1?7oVIfk6s=`(FLHF)Kbx{=l;=h*aQNJ+7CL*EIqXf zJBPNiZ8RUuV;U=kQ`&hxiXUfR9yk>g#0I7?j7+A%OJJU1B5Q7LZfci;y!@5WP?MfM zT>aXnrbly*2(#D5*+g534QWNs5aS@RgFa_1d|d;uH!%$CCy7^5JJsM*;V(02KptcbNlx*1oG| zF|gR_J90dNlvK5d2A|ph=LY|fo`PEj;4%Z) zI?#g<#~B>xbQGej!6PGFp`*YsY{s!;$F78j&x0iw={^Hb6)*6G(Gn;;d>Ia%L+u{gk_~2*xm=Rd(B=f>TBz5^BvAf8g866vqSsf(vz3*X@7=KEc6r;C8#hRC zf{p@{ec~ktOHz6YDU5(ieg{2al9H0(cli{OEjYd^x}P{T~?z=MoXYi>5UAV%$~LQgH6Z0w#Z7{S##uxb}GiAqM7p8Sci04G-X9gIA%dhHMK} zoD7$o)2B}pURJUb8noEK|N0iXsf>gry5ul0FtDJN5NR#sR%NzfxtLgW%a#s2A_&Xi z+8Z=HfI(ALwHuLIqAW)uWIQ5(%nmnEQBhWetwnF%Jj|t{^FGlhlu&ly1-u_Cv!cQ> zt#ixkw@e;N;_aJxSFW56k0#B*rJpXzD)(-V*ndI^Ri8Tv32*SyTYX>gGW$z!eLj9P zM!yQF%EO9AW1K9ktY@os5M!`*rddmVL-ZUr*(?|aCDO-Yk>2+0bKu>ojq|m(dwfXA z426e$YAzj<_?q9c8Z{nYl%{BMXss_GTD3*HD;{+B*)^ufXJBCwODnuE%x0{@EelKY!=sQ4 zy+Ff+6xTt^0|yS|9oWPpC^#E?8sz<=qM|(55N$m8Y7vpHl1gjXiEpa@Z%_J6Loa}ZoQGUhY^_&=( zLx$ud$;Fc9j~!2Ip)y&SHGloOLR|d4>rXgIK85`M9jg5IDlLuOy3$lMG!{EZ{t00+ zx8v2QGk-!#P4PmzGwa%PX0VMjWK1EGfTy5#%!&xnGS~o5@ky7LZl(%#>Rmh5eRSm}0YN$Rnb@%)_MqH`rx&pUCtazi zUty=QG0m`iFLMGeIO6MuMDmv%YMRWU`vxiCG5F^3wo{~~rD^R-k}6oXl@J;~R_z9h zGCl-q7ZYCJ0a;P5#yv;LN1RP7NJFc33BVuk|V7@LbEkNBA@tpRV|Y{&1eHevMF z`IoIm5Uya&cLLr+gilRuPCR}zvl*j<8v2YVVWIVfPmIn0KB)+91nI8xE@ma~R%2st zliHK5sfGVj)C9Kc+smkT1V(!|HXWQr4r$c%$!&rf=2@k?7O%?}XbX~F4YZ=(BQcO)U{NpKt2gwo-axw4X$N#2E(61>Vh@7kd7zZ6J#PG0^B( zk7pq!aDCiSUdt7*g_+_VI|zN>z+egDNAK)xX|xmJhNC%Qw2;;y#J~vsHpD$f#fe`9 zThigBkA(!iI2!2Pf4J2*HgW+jhkx z>M`ZCP>dK|<^;eG#8}lvSxJeWf}L)ie%Z%I4wji#n#ziE5rfh~Y;Ng^r0}VpGIVd7 zFEWvg{$uHBPRm%*WYH;))&cFSZZ(for(vs3Ng2<$cduw?d#Ql`kx}my_!qEw_;JwLU(Xm^4 z>;84Rt*A20VXQ*>g4hF>FdYTg5eYo3(=T4S^qg7jV`)t}i#A6G8W7OD;41SZ;gvix z*l`X4(G0RzykKTha&z+xT)+W*yE7`yg~=t1jbE90;ru-f1hsP!;nO%SBsAlr=Z|;n znUF^y*!=_s!-d4loro&etz+ib3M1QXd@$KFt;JsP3k8QV%>k-pN+8z7=mvPk@JQ{9 z*)wNug}dJ15L`4a!DITqNX!b}8Po&oKc17nZq;}tvrrj#cI2o*bzfmV3XhRIw4ZYH z#MuSqUwLpji$4PlS0Q>UbaJ9)ocmu^i??d|rWKKYa(TS!3 zsR7flKY$~f^Ac8^?q#<0nfIw|&yk26e3@g$C zsh;eGM5{8Njjg&y=g-5xJE*d9X0EUqcu}}=P@|A~vqSQa*tc}Au zj7?%~D!Okda;B6U5d;p(UJjLtts;)vjK8EOzl~a{Tn@vJd4>C!4KZnV- zp{pUU<$k!((>#POau|RiBL{92S)RmZ_t1mK^+yCDP~Q8Dk;pAcYzQB<4`n#lIm*q2 zX^w3ly8%k*1s4`Oqn!zH(uQp|&&G``5Q%{cbs843t5?ez8nTmv^VKW0f%eMTn9KZi z86WAdsjVD&{BTJ%Yz%(=SW2N@#U=8f<{=gd23^TRuLo8qhoXj1!Mb7LxLg2iL8Ja7AZ zTurpX2Pzl_Djls=PX)sy;Ppf6L?I~Oub)5F$(pqIsa|*!B(o{vF0{l;Ft{I4UkIOb zE3g2mK@z$I|Lq@4Ev4>dUaK0we&VCGDD1tdAsI`{)k$cuwjX< z8bRhss(0ppoUy4DGIGyAcFoOxnGyfsFx-5&1co>z)>JmHsOprqI+MlVhA-9T9Z&7$5=%gd=Qp6 zuD6-puzSZ=o-J_6=jx}P9-5&&ZaGT`WpCb7VDUc%(K)U6U6F8d5b>3$MV66Gj&6m( z`FqTWJiJ#3Ok!Us8!&XhdOCjievLl=fqzTp!3szk)~zdUkpZz8ux1l{#^lgyhL{Ra zXKDc(8_k(YyT?%Q{5d>0&|CzK!=A#w{~`eTQRtZ$A!@f=0oz=ftFga4azk zU;S16Uj#h4^XY8G3aZ7+KUuX-IrbQ@HOnyUXy1=Tqo#9N=``t|)bnH__a3=yKL9ks zjT%Ga?&d@|kK66T#~7>vtR(bW@U`Y`2f_p|)5+HDm?#l68_+(7R>?m`Mrh_31`P2^ zU=Jhz^1?(gP|D!S|igXIQD#!R&UoxHx4TXmVj-MS@k#G0Ww7;GfDi90sPm&<`@ zVTC6Y>EKx;>|6gfs-~X3-XbZaR}`D6Gac#M4llP0NP<3NihH@#4RcI2M0({qX8MwPr=%>R=){s(7(`wZS z-#I2Sm_ zP$km>WLQMc^nxF(430gl7%wA|M#q7W^$$L*#o+(`vA;QAl$ruLw?zeQaA@D9eU6WJ zIyxQEDkmwwXF|ADtmj@D);xD4MVi zsx^WDf&nJg7wWD-iv%uIBQ~Nf3Ca1+p-<_(@`e7(fosz|Vnyk#(4CGrQ6ND4)YWzQ zcNBqo38{K~faM#;1RF>QoWXA178>^F*uHfYJC`&fImhkFq;KMIt$06L_7tN1 zffq54qijIuD{3~2mP3m8wQ1)sT$pOM8&}ejmfYyStMn z-$2yx+FP>CGLiCoBJ#1MZ+T{&*onvRK(;zPKOFHq0Q{{w9*M1*W9 z>s%brCz&}!8-uNqwgTKa!s-O?X$b7L&|c(cHmq9pqI--??>+6i1XLoy$8*@qYzqze zv+{%(s%o*4gGEQ6L%RtGbJ&>9XMk4a?{B>e~VJt*UqmX@}#{o7q97>^7GX6tU9 z*j+?ow0-;bi$eb9e)(n;3UY?m-4o~`)(gmT1zK<5k|BOk60#XW0It&~leea~DInm!F4`4h||C~S@V@E$7w17AAdu=Y9?$V{m zRe&S=9jd{Tv!cKzV8E5cc?c~nh#52mj@Wa~&RZsAlpGgD>hq*T_zV9g{d%h=dQj8E z!rtIIU`}Ke*t+*6N|0XumXM)M!c-D6gK)q9b2*uUcufB8JA*wJ!6It{(us=-j-SM& z%(17QnL=6-X~sN5UQVH41aN)HAzVd^y^*1=i(FEU6bh(6hU`Gcf zAfvcjq|jX$=MxDpan;aKKuUb+3V@oxZz3r(3TJc_#0~Q3%Y!Nr zg#s)NIQ%vX3xVwHY$Cw}M6!%BpR`L>(bAehAZ zTQKMZq!|z(g8S&MgxYXh4A#-B=KEmTSot z5QAPU-6m4Pf=@Gr0!3&(M6Q0y+%D6A0>UtAqB@~TEx?-uAi%qxB1PgjVoI0d=-koK z4Q6?MadF~qhxsN#RE-slrd@kiq+sI`g8}Q0k673*D-GTFU`@KlX&V@r9}yC%BuyR{ z3+gq(GxtidU}eW3YCMIwPwoSiBh?N%IyzG8KlC>2GLS|nmZDU@njc}iQgrjTAJF8; zJ0=ljC+=ms?meEPTQ=`jVG5j|>QCYE>I|{g{(S1xtU=4fp(?#~ z?G6?uhC#KgRvnJDYX;Iyjf{-CKD(yLrlsi{#TQIpdoh7GwP=-<{DSlYD)Q+!`+x2) zDmuWk@LRD&;LDC5&R^(`191*t`Ymiu_=zVC{VzB|J#e^@AKS3|0^VqUcxQT-;REbh zo%WP8F*$3TVk~|S=}U8Q_{FGG_A$E9zv0pHlK3)n!#U{>g~$`&PGvx<>*E74vT5&! zC&n8l%9A|?1x=2Ke z7MqZ;9V~|OiP5(c=BSyxDk|DAX#4B=T6r!RpXo&
VC$8EHyOg7S7_+^cE-d6+; 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

A7sb$4_3?(VKGvg*DeF<^TizOODU4E#LC`~JrZ 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 Qd_mM{~{+R$O+lW9}W9&qoTL%9jor2PBb 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 ZH0i@Hl3Jm1=gA{e4$2=$*mvUc{{eR-cn|;p literal 0 HcmV?d00001 diff --git a/plots/benchmark_recode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png b/plots/benchmark_recode_on_12th_Gen_IntelR_CoreTM_i7-1260P_with_rustc_1.90.0_1159e78c4_2025-09-14.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb5e7aed808edd1cb2ab6b49ce8fd776f7a0829 GIT binary patch literal 75911 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