From ee86652678a8663abbddea99e70bed8c95a79089 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 6 Nov 2023 20:44:18 +0100 Subject: [PATCH 01/91] generic interface word size --- dandelion_commons/src/lib.rs | 2 + .../function_driver/compute_driver/cheri.rs | 4 +- machine_interface/src/interface.rs | 268 ++++++++++++------ 3 files changed, 179 insertions(+), 95 deletions(-) diff --git a/dandelion_commons/src/lib.rs b/dandelion_commons/src/lib.rs index d96c7edc..0735a94d 100644 --- a/dandelion_commons/src/lib.rs +++ b/dandelion_commons/src/lib.rs @@ -37,6 +37,8 @@ pub enum DandelionError { TransferInputNoSetAvailable, /// tried to transfer to a data item that was already present TransferItemAlreadyPresent, + /// error converting pointers or integers + UsizeTypeConversionError, // engine errors /// missmatch between the function config the engine expects and the one given ConfigMissmatch, diff --git a/machine_interface/src/function_driver/compute_driver/cheri.rs b/machine_interface/src/function_driver/compute_driver/cheri.rs index 519c78ea..a6cc8be7 100644 --- a/machine_interface/src/function_driver/compute_driver/cheri.rs +++ b/machine_interface/src/function_driver/compute_driver/cheri.rs @@ -80,7 +80,7 @@ impl Future for CheriFuture<'_> { // erase all assumptions on context internal layout context.content.clear(); // read outputs - let result = read_output_structs(&mut context, self.system_data_offset); + let result = read_output_structs::(&mut context, self.system_data_offset); self.engine.is_running.store(false, Ordering::Release); Poll::Ready((result, context)) } @@ -159,7 +159,7 @@ impl Engine for CheriEngine { stack_pointer: cheri_context.size - 32, recorder: Some(recorder), }; - if let Err(err) = setup_input_structs( + if let Err(err) = setup_input_structs::( &mut context, elf_config.system_data_offset, output_set_names, diff --git a/machine_interface/src/interface.rs b/machine_interface/src/interface.rs index 870fa22d..a17c10c2 100644 --- a/machine_interface/src/interface.rs +++ b/machine_interface/src/interface.rs @@ -6,36 +6,119 @@ use dandelion_commons::{DandelionError, DandelionResult}; use libc::{c_int, size_t, uintptr_t}; extern crate alloc; +pub trait SizedIntTrait +where Self: Sized + Copy + Default +{ + fn from_native(ptr: usize) -> DandelionResult; + fn to_native(self) -> DandelionResult; +} + +/// macro to convert usize to SizeT +macro_rules! to_size_t { + ($val:expr) => { + SizeT::from_native($val)? + }; +} +/// macro to convert SizeT to usize +macro_rules! to_usize { + ($val:expr) => { + SizeT::to_native($val)? + }; +} +/// macro to convert usize to PtrT +macro_rules! to_ptr { + ($val:expr) => { + PtrT::from_native($val)? + }; +} +/// macro to convert PtrT to usize +macro_rules! to_usize_ptr { + ($val:expr) => { + PtrT::to_native($val)? + }; +} + +pub mod _32_bit { + use super::*; + + impl SizedIntTrait for u32 { + fn from_native(ptr: usize) -> DandelionResult { + u32::try_from(ptr).map_err(|_| DandelionError::UsizeTypeConversionError) + } + fn to_native(self) -> DandelionResult { + usize::try_from(self).map_err(|_| DandelionError::UsizeTypeConversionError) + } + } + + pub type DandelionSystemData = super::DandelionSystemData; +} + +pub mod _64_bit { + use super::*; + + impl SizedIntTrait for u64 { + fn from_native(ptr: usize) -> DandelionResult { + u64::try_from(ptr).map_err(|_| DandelionError::UsizeTypeConversionError) + } + fn to_native(self) -> DandelionResult { + usize::try_from(self).map_err(|_| DandelionError::UsizeTypeConversionError) + } + } + + pub type DandelionSystemData = super::DandelionSystemData; +} + +pub mod _native { + use super::*; + + pub type DandelionSystemDataNative = DandelionSystemData; + + impl SizedIntTrait for uintptr_t { + fn from_native(ptr: usize) -> DandelionResult { + Ok(ptr as uintptr_t) + } + fn to_native(self) -> DandelionResult { + Ok(self as usize) + } + } +} + + +#[derive(Debug, Clone, Default)] #[repr(C)] -struct DandelionSystemData { +pub struct DandelionSystemData +{ exit_code: c_int, - heap_begin: uintptr_t, - heap_end: uintptr_t, - input_sets_len: size_t, - input_sets: *const IoSetInfo, - output_sets_len: size_t, - output_sets: *const IoSetInfo, - input_bufs: *const IoBufferDescriptor, - output_bufs: *const IoBufferDescriptor, + heap_begin: PtrT, //uintptr_t, + heap_end: PtrT, //uintptr_t, + input_sets_len: SizeT, //size_t, + input_sets: PtrT, //*const IoSetInfo, + output_sets_len: SizeT, //size_t, + output_sets: PtrT, //*const IoSetInfo, + input_bufs: PtrT, //*const IoBufferDescriptor, + output_bufs: PtrT, //*const IoBufferDescriptor, } +#[derive(Clone)] #[repr(C)] -struct IoSetInfo { - ident: uintptr_t, - ident_len: size_t, - offset: size_t, +struct IoSetInfo { + ident: PtrT, //uintptr_t, + ident_len: SizeT, //size_t, + offset: SizeT, //size_t, } +#[derive(Clone)] #[repr(C)] -struct IoBufferDescriptor { - ident: uintptr_t, - ident_len: size_t, - data: uintptr_t, - data_len: size_t, - key: size_t, +struct IoBufferDescriptor { + ident: PtrT, //uintptr_t, + ident_len: SizeT, //size_t, + data: PtrT, //uintptr_t, + data_len: SizeT, //size_t, + key: SizeT, //size_t, } -pub fn setup_input_structs( +pub fn setup_input_structs +( context: &mut Context, system_data_offset: usize, output_set_names: &Vec, @@ -54,7 +137,7 @@ pub fn setup_input_structs( let input_set_number = context.content.len(); let output_set_number = output_set_names.len(); - let mut input_buffers: Vec = Vec::new(); + let mut input_buffers: Vec> = Vec::new(); if input_buffers .try_reserve_exact(input_buffer_number) .is_err() @@ -62,7 +145,7 @@ pub fn setup_input_structs( return Err(DandelionError::OutOfMemory); } - let mut input_sets: Vec = Vec::new(); + let mut input_sets: Vec> = Vec::new(); if input_sets .try_reserve_exact(context.content.len() + 1) .is_err() @@ -82,10 +165,10 @@ pub fn setup_input_structs( if name_length != 0 { string_offset = context.get_free_space_and_write_slice(name.as_bytes())? as usize; } - input_sets.push(IoSetInfo { - ident: string_offset, - ident_len: name_length, - offset: input_buffers.len(), + input_sets.push(IoSetInfo:: { + ident: to_ptr!(string_offset), + ident_len: to_size_t!(name_length), + offset: to_size_t!(input_buffers.len()), }); // find buffers for b in 0..buffer_len { @@ -106,23 +189,23 @@ pub fn setup_input_structs( if name_length != 0 { string_offset = context.get_free_space_and_write_slice(name.as_bytes())? as usize; } - input_buffers.push(IoBufferDescriptor { - ident: string_offset, - ident_len: name_length, - data: offset, - data_len: size, - key: key as usize, + input_buffers.push(IoBufferDescriptor:: { + ident: to_ptr!(string_offset), + ident_len: to_size_t!(name_length), + data: to_ptr!(offset), + data_len: to_size_t!(size), + key: to_size_t!(key as usize), }); } } // write input sentinel set - input_sets.push(IoSetInfo { - ident: 0, - ident_len: 0, - offset: input_buffers.len(), + input_sets.push(IoSetInfo:: { + ident: to_ptr!(0), + ident_len: to_size_t!(0), + offset: to_size_t!(input_buffers.len()), }); - let mut output_sets: Vec = Vec::new(); + let mut output_sets: Vec> = Vec::new(); if output_sets .try_reserve_exact(output_set_names.len() + 1) .is_err() @@ -139,125 +222,124 @@ pub fn setup_input_structs( string_offset = context.get_free_space_and_write_slice(out_set_name.as_bytes())? as usize; } - output_sets.push(IoSetInfo { - ident: string_offset, - ident_len: string_len, - offset: 0, + output_sets.push(IoSetInfo:: { + ident: to_ptr!(string_offset), + ident_len: to_size_t!(string_len), + offset: to_size_t!(0), }); } - output_sets.push(IoSetInfo { - ident: 0, - ident_len: 0, - offset: 0, + output_sets.push(IoSetInfo:: { + ident: to_ptr!(0), + ident_len: to_size_t!(0), + offset: to_size_t!(0), }); - let input_sets_offset = context.get_free_space_and_write_slice(&input_sets[..])?; - let output_sets_offset = context.get_free_space_and_write_slice(&output_sets[..])?; - let input_buffers_offset = context.get_free_space_and_write_slice(&input_buffers[..])?; + let heap_begin: PtrT = to_ptr!(context.get_last_item_end()); + let heap_end: PtrT = to_ptr!(context.size - 128); + + let input_sets_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&input_sets[..])? as usize); + let output_sets_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&output_sets[..])? as usize); + let input_buffers_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&input_buffers[..])? as usize); // fill in data for input sets // input set number and pointer (offset) // needs to happen after to get correct lower bound on stack - let system_buffer = DandelionSystemData { + let system_buffer = DandelionSystemData:: { exit_code: 0, - heap_begin: context.get_last_item_end(), - heap_end: (context.size - 128), - input_sets_len: input_set_number, + heap_begin, + heap_end, + input_sets_len: to_size_t!(input_set_number), input_sets: input_sets_offset, - output_sets_len: output_set_number, + output_sets_len: to_size_t!(output_set_number), output_sets: output_sets_offset, input_bufs: input_buffers_offset, - output_bufs: core::ptr::null(), + output_bufs: PtrT::default(), }; context.write(system_data_offset, core::slice::from_ref(&system_buffer))?; Ok(()) } -pub fn read_output_structs(context: &mut Context, base_address: usize) -> DandelionResult<()> { +pub fn read_output_structs +( + context: &mut Context, + base_address: usize +) -> DandelionResult<()> { context.clear_metadata(); // read the system buffer - let mut system_struct = DandelionSystemData { - exit_code: 0, - heap_begin: 0, - heap_end: 0, - input_sets_len: 0, - input_sets: core::ptr::null(), - output_sets_len: 0, - output_sets: core::ptr::null(), - input_bufs: core::ptr::null(), - output_bufs: core::ptr::null(), - }; + let mut system_struct = DandelionSystemData::::default(); context.read(base_address, core::slice::from_mut(&mut system_struct))?; // get exit value let _exit_value = system_struct.exit_code; // get output set number +1 for sentinel set - let output_set_number = system_struct.output_sets_len; + let output_set_number = to_usize!(system_struct.output_sets_len); if output_set_number == 0 { return Ok(()); } - let output_buffers_offset: usize = system_struct.output_bufs as usize; + let output_buffers_offset: usize = to_usize_ptr!(system_struct.output_bufs); // load output set info, + 1 to include sentinel set let mut output_set_info = vec![]; if output_set_info.try_reserve(output_set_number + 1).is_err() { return Err(DandelionError::OutOfMemory); } - output_set_info.resize_with(output_set_number + 1, || IoSetInfo { - ident: 0, - ident_len: 0, - offset: 0, - }); - context.read(system_struct.output_sets as usize, &mut output_set_info)?; + let empty_output_set = IoSetInfo:: { + ident: to_ptr!(0), + ident_len: to_size_t!(0), + offset: to_size_t!(0), + }; + output_set_info.resize_with(output_set_number + 1, || empty_output_set.clone()); + context.read(to_usize_ptr!(system_struct.output_sets), &mut output_set_info)?; let mut output_sets = vec![]; if output_sets.try_reserve(output_set_number).is_err() { return Err(DandelionError::OutOfMemory); } - let output_buffer_number = output_set_info[output_set_number].offset; + let output_buffer_number: usize = to_usize!(output_set_info[output_set_number].offset); let mut output_buffers = vec![]; if output_buffers.try_reserve(output_buffer_number).is_err() { return Err(DandelionError::OutOfMemory); } - output_buffers.resize_with(output_buffer_number, || IoBufferDescriptor { - ident: 0, - ident_len: 0, - data: 0, - data_len: 0, - key: 0, - }); + let empty_output_buffer = IoBufferDescriptor:: { + ident: to_ptr!(0), + ident_len: to_size_t!(0), + data: to_ptr!(0), + data_len: to_size_t!(0), + key: to_size_t!(0), + }; + output_buffers.resize_with(output_buffer_number, || empty_output_buffer.clone()); context.read(output_buffers_offset, &mut output_buffers)?; assert_eq!( output_buffers .as_ptr() - .align_offset(std::mem::align_of::()), + .align_offset(std::mem::align_of::>()), 0 ); assert_eq!(output_buffers.len(), output_buffer_number); for output_set in 0..output_set_number { - let ident_offset = output_set_info[output_set].ident; - let ident_length = output_set_info[output_set].ident_len; + let ident_offset = to_usize_ptr!(output_set_info[output_set].ident); + let ident_length = to_usize!(output_set_info[output_set].ident_len); let mut set_ident = vec![0u8; ident_length]; context.read(ident_offset, &mut set_ident)?; - let set_ident_string = String::from_utf8(set_ident).unwrap_or("".to_string()); - let first_buffer = output_set_info[output_set].offset; - let one_past_last_buffer = output_set_info[output_set + 1].offset; + let set_ident_string = String::from_utf8(set_ident).unwrap_or("".to_string()); + let first_buffer = to_usize!(output_set_info[output_set].offset); + let one_past_last_buffer = to_usize!(output_set_info[output_set + 1].offset); let buffer_number = one_past_last_buffer - first_buffer; let mut buffers = Vec::new(); if buffers.try_reserve(buffer_number).is_err() { return Err(DandelionError::OutOfMemory); } for buffer_index in first_buffer..one_past_last_buffer { - let buffer_ident_offset = output_buffers[buffer_index].ident as usize; - let buffer_ident_length = output_buffers[buffer_index].ident_len; + let buffer_ident_offset = to_usize_ptr!(output_buffers[buffer_index].ident); + let buffer_ident_length = to_usize!(output_buffers[buffer_index].ident_len); let mut buffer_ident = vec![0u8; buffer_ident_length]; context.read(buffer_ident_offset, &mut buffer_ident)?; - let data_offset = output_buffers[buffer_index].data as usize; - let data_length = output_buffers[buffer_index].data_len; - let key = output_buffers[buffer_index].key; + let data_offset = to_usize_ptr!(output_buffers[buffer_index].data); + let data_length = to_usize!(output_buffers[buffer_index].data_len); + let key = to_usize!(output_buffers[buffer_index].key); let ident_string = String::from_utf8(buffer_ident).unwrap_or("".to_string()); buffers.push(DataItem { ident: ident_string, From bc19ed78b907e529baa5b1e74722e182e67a4edf Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 6 Nov 2023 20:47:13 +0100 Subject: [PATCH 02/91] context base offset --- .../function_driver/compute_driver/cheri.rs | 2 +- machine_interface/src/function_driver/util.rs | 8 +++-- machine_interface/src/memory_domain.rs | 34 ++++++++++++------- machine_interface/src/memory_domain/cheri.rs | 4 +-- .../src/memory_domain/domain_tests.rs | 20 +++++++---- machine_interface/src/memory_domain/malloc.rs | 3 +- 6 files changed, 44 insertions(+), 27 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/cheri.rs b/machine_interface/src/function_driver/compute_driver/cheri.rs index a6cc8be7..0213c0e9 100644 --- a/machine_interface/src/function_driver/compute_driver/cheri.rs +++ b/machine_interface/src/function_driver/compute_driver/cheri.rs @@ -266,7 +266,7 @@ impl Driver for CheriDriver { for position in source_layout.iter() { total_size += position.size; } - let mut context = static_domain.acquire_context(total_size)?; + let mut context = static_domain.acquire_context(total_size, 0)?; // copy all let mut write_counter = 0; let mut new_content = DataSet { diff --git a/machine_interface/src/function_driver/util.rs b/machine_interface/src/function_driver/util.rs index fda4dd68..fdf4dc59 100644 --- a/machine_interface/src/function_driver/util.rs +++ b/machine_interface/src/function_driver/util.rs @@ -24,11 +24,12 @@ pub fn load_static( static_context: &Context, requirement_list: &DataRequirementList, ) -> DandelionResult { - let mut function_context = domain.acquire_context(requirement_list.size)?; + let mut function_context = domain.acquire_context(requirement_list.size, static_context.base_offset)?; if static_context.content.len() != 1 { return Err(DandelionError::ConfigMissmatch); } + // copy sections to the new context let static_set = static_context.content[0] .as_ref() .ok_or(DandelionError::ConfigMissmatch)?; @@ -53,9 +54,10 @@ pub fn load_static( position.size, )?; max_end = core::cmp::max(max_end, requirement.offset + requirement.size); + function_context.occupy_space(position.offset, max_end)?; } // round up to next page - max_end = ((max_end + 4095) / 4096) * 4096; - function_context.occupy_space(0, max_end)?; + // max_end = ((max_end + 4095) / 4096) * 4096; + // function_context.occupy_space(0, max_end)?; return Ok(function_context); } diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 08c4aa92..87778a96 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -42,28 +42,33 @@ pub struct Context { pub context: ContextType, pub content: Vec>, pub size: usize, + pub base_offset: usize, occupation: Vec, } +// the base_offset ensures that all positions are in [base_offset, base_offset+size] +// all offset values handled here are absolute and should always be >=base_offset + impl ContextTrait for Context { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { - self.context.write(offset, data) + self.context.write(offset - self.base_offset, data) } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { - self.context.read(offset, read_buffer) + self.context.read(offset - self.base_offset, read_buffer) } } impl Context { - pub fn new(con: ContextType, size: usize) -> Self { + pub fn new(con: ContextType, size: usize, base_offset: usize) -> Self { return Context { context: con, content: vec![], - size: size, + size, + base_offset, occupation: vec![ - Position { offset: 0, size: 0 }, + Position { offset: base_offset, size: 0 }, Position { - offset: size, + offset: base_offset+size, size: 0, }, ], @@ -74,7 +79,9 @@ impl Context { /// Assumes offset is larger than or equal to the offset of occupation at index fn insert(&mut self, index: usize, offset: usize, size: usize) { let mut check_index = index; - if (self.occupation[index].offset + self.occupation[index].size) <= offset { + + // only merge with previous occupation on seamless insert, leave a hole otherwise + if (self.occupation[index].offset + self.occupation[index].size) == offset { self.occupation[index].size = offset - self.occupation[index].offset + size; } else { self.occupation.insert( @@ -98,7 +105,8 @@ impl Context { } /// Make sure all space between offset and size is marked as occupied, ignoring overlap with previous occupation pub fn occupy_space(&mut self, offset: usize, size: usize) -> DandelionResult<()> { - if offset + size > self.size { + if size == 0 { return Ok(()); } + if offset - self.base_offset + size > self.size { return Err(DandelionError::InvalidWrite); } let insertion_index = self @@ -122,7 +130,7 @@ impl Context { // space start holds previous start let mut space_size = self.size + 1; let mut index = 0; - let mut start_address = 0; + let mut start_address = self.base_offset; for (window_index, occupied) in self.occupation.windows(2).enumerate() { let lower_end = occupied[0].offset + occupied[0].size; // TODO use next multiple of when stabilized @@ -149,14 +157,14 @@ impl Context { } pub fn get_last_item_end(&self) -> usize { let last_item = self.occupation[self.occupation.len() - 2]; - return last_item.offset + last_item.size; + return last_item.offset + last_item.size + self.base_offset; } pub fn clear_metadata(&mut self) -> () { self.content = vec![]; self.occupation = vec![ - Position { offset: 0, size: 0 }, + Position { offset: self.base_offset, size: 0 }, Position { - offset: self.size, + offset: self.base_offset + self.size, size: 0, }, ]; @@ -168,7 +176,7 @@ pub trait MemoryDomain: Sync + Send { fn init(config: Vec) -> DandelionResult> where Self: Sized; - fn acquire_context(&self, size: usize) -> DandelionResult; + fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult; } // Code to specialize transfers between different domains diff --git a/machine_interface/src/memory_domain/cheri.rs b/machine_interface/src/memory_domain/cheri.rs index 121478a4..d0e1c330 100644 --- a/machine_interface/src/memory_domain/cheri.rs +++ b/machine_interface/src/memory_domain/cheri.rs @@ -98,7 +98,7 @@ impl MemoryDomain for CheriMemoryDomain { fn init(_config: Vec) -> DandelionResult> { Ok(Box::new(CheriMemoryDomain {})) } - fn acquire_context(&self, size: usize) -> DandelionResult { + fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { let cheri_context; unsafe { cheri_context = cheri_alloc(size); @@ -110,7 +110,7 @@ impl MemoryDomain for CheriMemoryDomain { context: cheri_context, size: size, }); - return Ok(Context::new(ContextType::Cheri(new_context), size)); + return Ok(Context::new(ContextType::Cheri(new_context), size, base_offset)); } } diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index ce2eebe8..aa4f1b2a 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -5,10 +5,12 @@ use dandelion_commons::{DandelionError, DandelionResult}; // produces binary pattern 0b0101_01010 or 0x55 const BYTEPATTERN: u8 = 85; +// TODO parameterize base offset + fn acquire(arg: Vec, acquisition_size: usize, expect_success: bool) -> () { let init_result = D::init(arg); let domain = init_result.expect("should have initialized memory domain"); - let context_result = domain.acquire_context(acquisition_size); + let context_result = domain.acquire_context(acquisition_size, 0); match (expect_success, context_result) { (true, Ok(_)) | (false, Err(DandelionError::OutOfMemory)) => assert!(true), (false, Ok(_)) => assert!( @@ -39,7 +41,7 @@ fn write( ) { let domain = init_domain::(arg); let mut context = domain - .acquire_context(context_size) + .acquire_context(context_size, 0) .expect("Single byte context should always be allocatable"); let write_error = context.write(offset, &vec![BYTEPATTERN; size]); match (expect_success, write_error) { @@ -58,7 +60,7 @@ fn read( ) { let domain = init_domain::(arg); let mut context = domain - .acquire_context(context_size) + .acquire_context(context_size, 0) .expect("Context should always be allocatable"); context .write(0, &vec![BYTEPATTERN; context_size]) @@ -76,10 +78,10 @@ fn read( fn transefer(arg: Vec, size: usize) { let domain = init_domain::(arg); let mut destination = domain - .acquire_context(size) + .acquire_context(size, 0) .expect("Context should be allocatable"); let mut source = domain - .acquire_context(size) + .acquire_context(size, 0) .expect("Context should be allocatable"); source .write(0, &vec![BYTEPATTERN; size]) @@ -104,10 +106,10 @@ fn transfer_item( ) { let domain = init_domain::(arg); let mut destination = domain - .acquire_context(context_size) + .acquire_context(context_size, 0) .expect("Context should be allocatable"); let mut source = domain - .acquire_context(context_size) + .acquire_context(context_size, 0) .expect("Context should be allocatable"); source .write(offset, &vec![BYTEPATTERN; item_size]) @@ -217,3 +219,7 @@ domainTests!(malloc; mallocType; Vec::new()); use super::cheri::CheriMemoryDomain as cheriType; #[cfg(feature = "cheri")] domainTests!(cheri; cheriType; Vec::new()); +// #[cfg(feature = "wasm")] +// use super::wasm::WasmMemoryDomain as wasmType; +// #[cfg(feature = "wasm")] +// domainTests!(wasm; wasmType; Vec::new()); \ No newline at end of file diff --git a/machine_interface/src/memory_domain/malloc.rs b/machine_interface/src/memory_domain/malloc.rs index daf7658e..9ad0c2dc 100644 --- a/machine_interface/src/memory_domain/malloc.rs +++ b/machine_interface/src/memory_domain/malloc.rs @@ -58,7 +58,7 @@ impl MemoryDomain for MallocMemoryDomain { fn init(_config: Vec) -> DandelionResult> { Ok(Box::new(MallocMemoryDomain {})) } - fn acquire_context(&self, size: usize) -> DandelionResult { + fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { let mut mem_space = Vec::new(); if (mem_space.try_reserve_exact(size)) != Ok(()) { return Err(DandelionError::OutOfMemory); @@ -67,6 +67,7 @@ impl MemoryDomain for MallocMemoryDomain { return Ok(Context::new( ContextType::Malloc(Box::new(MallocContext { storage: mem_space })), size, + base_offset, )); } } From 90f5a1a8044fc24e089b69d3d96d46ff6fe6a70b Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 6 Nov 2023 20:51:31 +0100 Subject: [PATCH 03/91] libloading wasm backend This is currently unable to retrieve outputs after function execution. I will have to rework a part of the memory model. --- dispatcher/src/function_registry.rs | 14 +- machine_interface/Cargo.toml | 1 + machine_interface/src/function_driver.rs | 16 +- .../src/function_driver/compute_driver.rs | 3 + .../function_driver/compute_driver/wasm.rs | 338 ++++++++++++++++++ machine_interface/src/lib.rs | 2 +- machine_interface/src/memory_domain.rs | 8 + machine_interface/src/memory_domain/wasm.rs | 175 +++++++++ 8 files changed, 551 insertions(+), 6 deletions(-) create mode 100644 machine_interface/src/function_driver/compute_driver/wasm.rs create mode 100644 machine_interface/src/memory_domain/wasm.rs diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index 936412a7..efdb5a5a 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -86,9 +86,17 @@ impl FunctionRegistry { Some(s) => s, None => return Err(DandelionError::DispatcherUnavailableFunction), }; - let function_buffer = load_u8_from_file(path.to_string())?; - let tripple = driver.parse_function(function_buffer, domain)?; - return Ok(tripple); + #[cfg(feature = "wasm")] + { + // the wasm driver needs the file path for dlopen() + return Ok(driver.parse_function(path.into_bytes(), domain)?); + } + #[cfg(not(feature = "wasm"))] + { + let function_buffer = load_u8_from_file(path.to_string())?; + let tripple = driver.parse_function(function_buffer, domain)?; + return Ok(tripple); + } } pub async fn load( &self, diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index c7f030b2..cc00488f 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -24,6 +24,7 @@ core_affinity = { version = "0.8"} futures = { version = "0.3.28" } tokio = { version = "1", features = ["full"] } hyper = { version = "0.14", optional = true, features = ["http1", "http2", "client", "runtime"]} +libloading = { version = "0.8.1" } # disable benchmarks in library, to not run all unit tests on every benchmark # also needs to be disabled for criterion flags to work that are not available for tests diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 84003d41..54bd7a4f 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -4,7 +4,9 @@ use crate::{ }; use core::pin::Pin; use dandelion_commons::{records::Recorder, DandelionResult}; -use std::future::Future; +use std::{future::Future, rc::Rc}; + +use libloading::Library; pub mod compute_driver; pub mod system_driver; @@ -23,10 +25,20 @@ pub enum SystemFunction { HTTPS, } -#[derive(Clone, Copy)] +// #[derive(Clone, Copy)] +pub struct WasmConfig { + lib: Rc, + system_data_region_base: usize, + system_data_region_end: usize, + sdk_heap_base: usize, + system_data_struct_offset: usize, +} + +// #[derive(Clone, Copy)] pub enum FunctionConfig { ElfConfig(ElfConfig), SysConfig(SystemFunction), + WasmConfig(WasmConfig), } pub trait Engine: Send { diff --git a/machine_interface/src/function_driver/compute_driver.rs b/machine_interface/src/function_driver/compute_driver.rs index 2bd942a3..aa769f2a 100644 --- a/machine_interface/src/function_driver/compute_driver.rs +++ b/machine_interface/src/function_driver/compute_driver.rs @@ -1,5 +1,8 @@ #[cfg(feature = "cheri")] pub mod cheri; +#[cfg(feature = "wasm")] +pub mod wasm; + #[cfg(test)] mod compute_driver_tests; diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs new file mode 100644 index 00000000..c8cf712d --- /dev/null +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -0,0 +1,338 @@ +use crate::{ + function_driver::{Driver, Engine, FunctionConfig, Function, WasmConfig}, + memory_domain::{Context, ContextType, MemoryDomain, wasm::{WasmContext, WasmLayoutDescription}}, + // util::elf_parser, + DataRequirementList, + interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, DataSet, DataItem, Position, +}; +use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; +use futures::{task::Poll, StreamExt}; +use core::{ + future::{ready, Future}, + pin::Pin, +}; +use std::{ + cell::RefCell, + sync::atomic::{AtomicBool, Ordering}, + thread::{spawn, JoinHandle}, + rc::Rc, +}; +use libloading::{Library, Symbol}; + +type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData) -> Option; + +/// The `lib` refers to the loaded dynamic library. +/// When the function is invoked, it will mutate `data` and `sdk_sysdata`, which +/// are stored in the `WasmContext`. Nobody is allowed to access `data` and +/// `sdk_sysdata` while the function is running. +struct WasmCommand { + data: Rc>>, + sdk_sysdata: Rc>, + lib: Rc, //Symbol<'a, WasmEntryPoint>, +} + +unsafe impl Send for WasmCommand {} + +// enters the function +fn run_thread( + command_receiver: std::sync::mpsc::Receiver, + mut result_sender: futures::channel::mpsc::Sender>, +) -> () { + + let msg = match command_receiver.recv() { + Ok( WasmCommand { data, sdk_sysdata, lib } ) => { + match unsafe { lib.get::(b"run") } { + Ok(entry_point) => { + let ret = entry_point(data.borrow_mut().as_mut_slice(), &mut sdk_sysdata.borrow_mut()); + match ret { + Some(_) => Ok(()), + None => Err(DandelionError::EngineError) + } + }, + Err(_) => Err(DandelionError::EngineError), + } + }, + Err(_) => Err(DandelionError::EngineError), + }; + + while !result_sender.try_send(msg.clone()).is_ok() {} +} + +struct WasmFuture<'a> { + engine: &'a mut WasmEngine, + context: Option, + system_data_offset: usize, + base_addr: usize, +} + +// exits the function +impl Future for WasmFuture<'_> { + type Output = (DandelionResult<()>, Context); + fn poll( + mut self: Pin<&mut Self>, + cx: &mut futures::task::Context, + ) -> futures::task::Poll { + match self.engine.result_receiver.poll_next_unpin(cx) { + Poll::Pending => return Poll::Pending, + Poll::Ready(Some(Ok(()))) => { + let mut context = self.context.take().unwrap(); + context.content.clear(); + let res = read_output_structs::(&mut context, self.system_data_offset); + self.engine.is_running.store(false, Ordering::Release); + Poll::Ready((res, context)) + }, + _ => { + self.engine.is_running.store(false, Ordering::Release); + Poll::Ready((Err(DandelionError::EngineError), self.context.take().unwrap())) + } + } + } +} + +pub struct WasmEngine { + is_running: AtomicBool, + command_sender: std::sync::mpsc::Sender, + result_receiver: futures::channel::mpsc::Receiver>, + thread_handle: Option>, +} + +impl Engine for WasmEngine { + fn run( + &mut self, + config: &FunctionConfig, + mut context: Context, + output_set_names: &Vec, + mut recorder: Recorder, + ) -> Pin, Context)> + '_ + Send>> { + // TODO: what is Recorder? + + // error shorthand + use DandelionError::*; + macro_rules! err { + ($err:expr) => { + return Box::pin(ready((Err($err), context))) + }; + } + + // check that engine isn't already running + if self.is_running.swap(true, Ordering::AcqRel) { + err!(EngineAlreadyRunning) + }; + + // extract config and context + let wasm_config = match config { + FunctionConfig::WasmConfig(wasm_config) => wasm_config, + _ => err!(ConfigMissmatch), + }; + + // prepare context for inputs + match &mut context.context { + ContextType::Wasm(ref mut wasm_context) => { + wasm_context.prepare_for_inputs( + wasm_config.system_data_region_base, + wasm_config.system_data_region_end, + wasm_config.sdk_heap_base, + wasm_config.system_data_struct_offset + ); + }, + _ => err!(ConfigMissmatch), + }; + + // setup input structs + if let Err(err) = setup_input_structs::( + &mut context, + wasm_config.system_data_struct_offset, + output_set_names + ) { err!(err) }; + + let layout: &WasmLayoutDescription = match &context.context { + ContextType::Wasm(wasm_context) => wasm_context.layout.as_ref().unwrap(), + _ => err!(ConfigMissmatch), + }; + let data = layout.sysdata_region.clone(); + let sdk_sysdata = layout.sdk_sysdata.clone(); + + // send run command to thread + let cmd = WasmCommand { + data, + sdk_sysdata, + lib: wasm_config.lib.clone(), // entry_point + }; + match self.command_sender.send(cmd) { + Ok(()) => (), + Err(_) => err!(EngineError), + }; + let context_base_addr = wasm_config.system_data_region_base; + Box::::pin(WasmFuture { + engine: self, + context: Some(context), + system_data_offset: wasm_config.system_data_struct_offset, + base_addr: context_base_addr + }) + } + + fn abort(&mut self) -> DandelionResult<()> { + unimplemented!() + } +} + +pub struct WasmDriver {} + +impl Driver for WasmDriver { + fn start_engine(&self, config: Vec) -> DandelionResult> { + let (command_sender, command_receiver) = std::sync::mpsc::channel(); + let (result_sender, result_receiver) = futures::channel::mpsc::channel(0); + let thread_handle = spawn(move || run_thread(command_receiver, result_sender)); + let is_running = AtomicBool::new(false); + return Ok(Box::new(WasmEngine { + command_sender, + result_receiver, + thread_handle: Some(thread_handle), + is_running, + })); + } + + fn parse_function( + &self, + function: Vec, + static_domain: &Box, + ) -> DandelionResult { + + /* + // using our elf parser + // TODO: fix relocations + unsafe { + + let elf = elf_parser::ParsedElf::new(&function)?; + + // allocate executable memory + let addr = mmap( + 0 as *mut _, + function.len(), + libc::PROT_READ | libc::PROT_WRITE | libc::PROT_EXEC, + libc::MAP_PRIVATE | libc::MAP_ANONYMOUS, + -1, + 0, + ); + assert_ne!(addr, libc::MAP_FAILED); + + // copy code to executable memory + std::ptr::copy_nonoverlapping(function.as_ptr(), addr as *mut u8, function.len()); + + macro_rules! get_symbol_as { + ($name:literal, $ftype:ty) => {{ + let (offset, _) = elf.get_symbol_by_name(&function, $name).unwrap(); + let obj: $ftype = core::mem::transmute(addr as usize + offset); + obj + }}; + } + + // call sanity_check function + let sanity_check_function = get_symbol_as!("sanity_check", fn() -> i32); + let res = sanity_check_function(); + assert_eq!(res, 42); + + // get system data region in wasm memory space + let get_sysdata_wasm_offset_function = get_symbol_as!("get_wasm_sysdata_region_offset", fn() -> usize); + let wasm_sysdata_region_offset = get_sysdata_wasm_offset_function(); + println!("base of the sysdata reserved region in wasm memory: {}", wasm_sysdata_region_offset); + let get_sysdata_wasm_size_function = get_symbol_as!("get_wasm_sysdata_region_size", fn() -> usize); + let wasm_sysdata_region_size = get_sysdata_wasm_size_function(); + println!("size of the sysdata reserved region in wasm memory: {}", wasm_sysdata_region_size); + }; + */ + + // usin "sd" for "system_data" + + let obj_file_path: String = String::from_utf8(function).unwrap(); + let lib = unsafe { Library::new(obj_file_path).unwrap() }; + + let f_get_sd_region_offset: Symbol usize> = unsafe { + lib.get(b"get_wasm_sysdata_region_offset").unwrap() + }; + let sd_region_offset = f_get_sd_region_offset(); + + let f_get_sd_region_size: Symbol usize> = unsafe { + lib.get(b"get_wasm_sysdata_region_size").unwrap() + }; + let sd_region_size = f_get_sd_region_size(); + + let f_get_sdk_sd_offset: Symbol usize> = unsafe { + lib.get(b"get_wasm_sdk_sysdata_offset").unwrap() + }; + let sd_struct_offset = f_get_sdk_sd_offset(); + + // the sdk needs a heap base pointer for `dandelion_alloc()` + // we define the sdk's heap to be the end of the wasm heap + // which is not used by the wasm module by default + // the heap base and end pointers are passed via system data + + let f_sdk_heap_base: Symbol usize> = unsafe { + lib.get(b"get_sdk_heap_base").unwrap() + }; + let sdk_heap_base = f_sdk_heap_base(); + + let f_get_sdk_heap_size: Symbol usize> = unsafe { + lib.get(b"get_sdk_heap_size").unwrap() + }; + let sdk_heap_size = f_get_sdk_heap_size(); + let sdk_heap_end = sdk_heap_base + sdk_heap_size; + + let mut context = static_domain.acquire_context(sdk_heap_end, 0)?; //sd_region_offset)?; + // there must be one data set, which would normally describe the sections to be copied + let static_bufs = vec![ + // fill the space from 0 until the start of the system data region + DataItem { + ident: String::from(""), + data: Position{ + offset: 0, + size: sd_region_offset, + }, + key: 0, + }, + // fill the space from the end of the system data region until the start of the sdk heap + DataItem { + ident: String::from(""), + data: Position { + offset: sd_region_offset + sd_region_size, + size: sdk_heap_base - (sd_region_offset + sd_region_size), + }, + key: 0, + }, + ]; + context.content = vec![Some( + DataSet { + ident: String::from("static"), + buffers: static_bufs, + } + )]; + println!("heap end: {:?}", sdk_heap_end); + Ok(Function { + config: FunctionConfig::WasmConfig(WasmConfig { + lib: Rc::new(lib), + system_data_region_base: sd_region_offset, + system_data_region_end: sd_region_offset + sd_region_size, + sdk_heap_base, + system_data_struct_offset: sd_struct_offset, + }), + requirements: DataRequirementList { + size: sdk_heap_end, + static_requirements: vec![ + // what is the difference between this and the static_bufs above? + Position{ + offset: 0, + size: sd_region_offset, + }, + Position { + offset: sd_region_offset + sd_region_size, + size: sdk_heap_base - (sd_region_offset + sd_region_size), + }, + ], + input_requirements: vec![], + }, + context, + }) + + // Err(DandelionError::NotImplemented) + } +} \ No newline at end of file diff --git a/machine_interface/src/lib.rs b/machine_interface/src/lib.rs index 80d9922e..5a3ce69d 100644 --- a/machine_interface/src/lib.rs +++ b/machine_interface/src/lib.rs @@ -1,7 +1,7 @@ pub mod function_driver; pub mod memory_domain; -#[cfg(any(feature = "cheri"))] +#[cfg(any(feature = "cheri", feature = "wasm"))] mod interface; mod util; diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 87778a96..3084410d 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -1,6 +1,8 @@ // list of memory domain implementations #[cfg(feature = "cheri")] pub mod cheri; +#[cfg(feature = "wasm")] +pub mod wasm; pub mod malloc; use crate::{DataItem, DataSet, Position}; @@ -18,6 +20,8 @@ pub enum ContextType { Malloc(Box), #[cfg(feature = "cheri")] Cheri(Box), + #[cfg(feature = "wasm")] + Wasm(Box), } impl ContextTrait for ContextType { @@ -26,6 +30,8 @@ impl ContextTrait for ContextType { ContextType::Malloc(context) => context.write(offset, data), #[cfg(feature = "cheri")] ContextType::Cheri(context) => context.write(offset, data), + #[cfg(feature = "wasm")] + ContextType::Wasm(context) => context.write(offset, data), } } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { @@ -33,6 +39,8 @@ impl ContextTrait for ContextType { ContextType::Malloc(context) => context.read(offset, read_buffer), #[cfg(feature = "cheri")] ContextType::Cheri(context) => context.read(offset, read_buffer), + #[cfg(feature = "wasm")] + ContextType::Wasm(context) => context.read(offset, read_buffer), } } } diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs new file mode 100644 index 00000000..62c54ab8 --- /dev/null +++ b/machine_interface/src/memory_domain/wasm.rs @@ -0,0 +1,175 @@ +use std::{rc::Rc, cell::RefCell}; + +use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; +use dandelion_commons::{DandelionError, DandelionResult}; +use crate::interface::_32_bit::DandelionSystemData; + +use libloading::{Library, Symbol}; + +#[derive(Debug)] +enum WasmContextState { + Initializing, + BuildingSystemData, + Running, +} + +#[derive(Debug)] +pub struct WasmLayoutDescription { + pub sysdata_region_base: usize, + pub sysdata_region_end: usize, + pub sdk_heap_base: usize, + pub sdk_sysdata_offset: usize, + pub sdk_sysdata: Rc>, + pub sysdata_region: Rc>>, +} + +#[derive(Debug)] +pub struct WasmContext { + pub memsize: usize, // the virtual memory size of the wasm module; `data` only stores the system data region which is much smaller + pub layout: Option, + // pub state: WasmContextState, +} + +unsafe impl Send for WasmContext {} +unsafe impl Sync for WasmContext {} + +impl ContextTrait for WasmContext { + fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { + + // if any of the required fields are not set, we are not ready to write + // this happens when the function driver tries to write the binary content + // we just ignore that here + if self.layout.is_none() { + return Ok(()); + } + + let layout = &mut self.layout.as_mut().unwrap(); + + if offset == layout.sdk_sysdata_offset { + // trying to write the DandelionSystemData struct + if !data.len() == 1 { return Err(DandelionError::InvalidWrite); } + let data = &data[0]; + // allocate struct + let mut sdk_sysdata = DandelionSystemData::default(); + // copy from data buffer + sdk_sysdata = unsafe { + std::mem::transmute_copy::(data) + }; + layout.sdk_sysdata = Rc::new(RefCell::new(sdk_sysdata)); + return Ok(()); + } + + // otherwise the write should be to the system data region + if offset < layout.sysdata_region_base || offset >= layout.sysdata_region_end { + return Err(DandelionError::InvalidWrite); + } + + // write data to buffer + let offset = offset - layout.sysdata_region_base; + let write_size = data.len() * std::mem::size_of::(); + if offset + write_size > layout.sysdata_region.borrow().len() { + return Err(DandelionError::InvalidWrite); + } + let data_bytes: &[u8] = unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) + }; + layout.sysdata_region.borrow_mut()[offset..offset + write_size].copy_from_slice(data_bytes); + return Ok(()); + } + fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { + + // if any of the required fields are not set, the function driver is trying to read binary sections + // doing nothing in that case + if self.layout.is_none() { + return Ok(()); + } + + let layout = &self.layout.as_ref().unwrap(); + + if offset == layout.sdk_sysdata_offset { + // trying to read the DandelionSystemData struct + if !read_buffer.len() == 1 { return Err(DandelionError::InvalidRead); } + let sdk_sysdata = layout.sdk_sysdata.as_ref(); + read_buffer[0] = unsafe { + std::mem::transmute_copy::(&sdk_sysdata.borrow()) + }; + return Ok(()); + } + + // otherwise the read should be from the system data region + if offset < layout.sysdata_region_base || offset >= layout.sysdata_region_end { + return Err(DandelionError::InvalidRead); + } + + // read data from buffer + let offset = offset - layout.sysdata_region_base; + let read_size = read_buffer.len() * std::mem::size_of::(); + if offset + read_size > layout.sysdata_region.borrow().len() { + return Err(DandelionError::InvalidRead); + } + let data_bytes: &[u8] = &layout.sysdata_region.borrow()[offset..offset + read_size]; + unsafe { + (read_buffer.as_mut_ptr() as *mut u8).copy_from(data_bytes.as_ptr(), read_size) + }; + return Ok(()); + } +} + +impl WasmContext { + pub fn new(memsize: usize) -> WasmContext { + // the memsize is the size of the virtual wasm memory + // we don't store the whole memory, but only the system data region + // all the `None` fields will be initialized in `prepare_for_inputs` + WasmContext { + // sysdata_region_base_offset: None, + memsize, + layout: None, + // state: WasmContextState::Initializing, + } + } + pub fn prepare_for_inputs( + &mut self, + sysdata_region_base: usize, + sysdata_region_end: usize, + sdk_heap_base: usize, + sdk_sysdata_offset: usize + ) { + // allocate system data region + + self.layout = Some(WasmLayoutDescription { + sysdata_region_base, + sysdata_region_end, + sdk_heap_base, + sdk_sysdata_offset, + sdk_sysdata: Rc::new(RefCell::new(DandelionSystemData::default())), + sysdata_region: Rc::new(RefCell::new(vec![0; sysdata_region_end - sysdata_region_base])), + }); + + // self.state = WasmContextState::BuildingSystemData; + } + pub fn prepare_for_run(&mut self) { + // self.state = WasmContextState::Running; + } +} + +#[derive(Debug)] +pub struct WasmMemoryDomain {} + +impl MemoryDomain for WasmMemoryDomain { + fn init(_config: Vec) -> DandelionResult> { + Ok(Box::new(WasmMemoryDomain {})) + } + fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { + Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size))), size, base_offset)) + } +} + +// pub fn wasm_transfer( +// destination: &mut Context, +// source: &WasmContext, +// destination_offset: usize, +// source_offset: usize, +// size: usize, +// ) -> DandelionResult<()> { +// unimplemented!() +// } \ No newline at end of file From 572d941b048f2b72a8d9b7f03770838bca1f4f0e Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 7 Nov 2023 20:41:53 +0100 Subject: [PATCH 04/91] fix libloading wasm backend wasm backend finally works on matmul now. Fixed a few bugs I had introduced in input writing and context base offsets. --- dandelion_commons/src/lib.rs | 2 + dispatcher/src/function_registry.rs | 13 +- machine_interface/Cargo.toml | 1 + machine_interface/src/function_driver.rs | 5 +- .../function_driver/compute_driver/cheri.rs | 5 +- .../function_driver/compute_driver/wasm.rs | 258 ++++++++---------- machine_interface/src/interface.rs | 130 ++++----- machine_interface/src/memory_domain.rs | 7 +- machine_interface/src/memory_domain/wasm.rs | 170 +++++------- 9 files changed, 258 insertions(+), 333 deletions(-) diff --git a/dandelion_commons/src/lib.rs b/dandelion_commons/src/lib.rs index 0735a94d..f73de404 100644 --- a/dandelion_commons/src/lib.rs +++ b/dandelion_commons/src/lib.rs @@ -39,6 +39,8 @@ pub enum DandelionError { TransferItemAlreadyPresent, /// error converting pointers or integers UsizeTypeConversionError, + /// context synchronization failed + ContextSyncError, // engine errors /// missmatch between the function config the engine expects and the one given ConfigMissmatch, diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index efdb5a5a..71d40583 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -86,17 +86,8 @@ impl FunctionRegistry { Some(s) => s, None => return Err(DandelionError::DispatcherUnavailableFunction), }; - #[cfg(feature = "wasm")] - { - // the wasm driver needs the file path for dlopen() - return Ok(driver.parse_function(path.into_bytes(), domain)?); - } - #[cfg(not(feature = "wasm"))] - { - let function_buffer = load_u8_from_file(path.to_string())?; - let tripple = driver.parse_function(function_buffer, domain)?; - return Ok(tripple); - } + let tripple = driver.parse_function(path.to_string(), domain)?; + return Ok(tripple); } pub async fn load( &self, diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index cc00488f..c975dae3 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -7,6 +7,7 @@ edition = "2021" std = [] cheri = ["std"] hyper_io = ["std", "dep:hyper"] +wasm = [] [build-dependencies] cmake = "0.1" diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 54bd7a4f..96a949ec 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -28,9 +28,8 @@ pub enum SystemFunction { // #[derive(Clone, Copy)] pub struct WasmConfig { lib: Rc, - system_data_region_base: usize, - system_data_region_end: usize, sdk_heap_base: usize, + sdk_heap_size: usize, system_data_struct_offset: usize, } @@ -65,7 +64,7 @@ pub trait Driver: Send+Sync { // and a layout description for it fn parse_function( &self, - function: Vec, + function_path: String, static_domain: &Box, ) -> DandelionResult; } diff --git a/machine_interface/src/function_driver/compute_driver/cheri.rs b/machine_interface/src/function_driver/compute_driver/cheri.rs index 0213c0e9..1c18912e 100644 --- a/machine_interface/src/function_driver/compute_driver/cheri.rs +++ b/machine_interface/src/function_driver/compute_driver/cheri.rs @@ -2,7 +2,7 @@ use crate::{ function_driver::{Driver, ElfConfig, Engine, Function, FunctionConfig}, interface::{read_output_structs, setup_input_structs}, memory_domain::{cheri::cheri_c_context, Context, ContextTrait, ContextType, MemoryDomain}, - util::elf_parser, + util::{elf_parser, load_u8_from_file}, DataItem, DataRequirement, DataRequirementList, DataSet, Position, }; use core::{ @@ -243,9 +243,10 @@ impl Driver for CheriDriver { // and a layout description for it fn parse_function( &self, - function: Vec, + function_path: String, static_domain: &Box, ) -> DandelionResult { + let function = load_u8_from_file(path.to_string())?; let elf = elf_parser::ParsedElf::new(&function)?; let system_data = elf.get_symbol_by_name(&function, "__dandelion_system_data")?; let return_offset = elf.get_symbol_by_name(&function, "__dandelion_return_address")?; diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index c8cf712d..c03cf0bf 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -1,19 +1,21 @@ use crate::{ + DataSet, function_driver::{Driver, Engine, FunctionConfig, Function, WasmConfig}, - memory_domain::{Context, ContextType, MemoryDomain, wasm::{WasmContext, WasmLayoutDescription}}, - // util::elf_parser, + memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, - interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, DataSet, DataItem, Position, + interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, +}; +use dandelion_commons::{ + DandelionResult, DandelionError, + records::{RecordPoint, Recorder}, }; -use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; use futures::{task::Poll, StreamExt}; use core::{ future::{ready, Future}, pin::Pin, }; use std::{ - cell::RefCell, - sync::atomic::{AtomicBool, Ordering}, + sync::{atomic::{AtomicBool, Ordering}, Mutex, Arc}, thread::{spawn, JoinHandle}, rc::Rc, }; @@ -21,29 +23,54 @@ use libloading::{Library, Symbol}; type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData) -> Option; -/// The `lib` refers to the loaded dynamic library. -/// When the function is invoked, it will mutate `data` and `sdk_sysdata`, which -/// are stored in the `WasmContext`. Nobody is allowed to access `data` and -/// `sdk_sysdata` while the function is running. struct WasmCommand { - data: Rc>>, - sdk_sysdata: Rc>, - lib: Rc, //Symbol<'a, WasmEntryPoint>, + lib: Rc, + context: Arc>>, + recorder: Option, } unsafe impl Send for WasmCommand {} // enters the function fn run_thread( + core_id: u8, command_receiver: std::sync::mpsc::Receiver, mut result_sender: futures::channel::mpsc::Sender>, ) -> () { + // set core + if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { + return; + }; + let msg = match command_receiver.recv() { - Ok( WasmCommand { data, sdk_sysdata, lib } ) => { + Ok( WasmCommand { lib, context, recorder } ) => { match unsafe { lib.get::(b"run") } { Ok(entry_point) => { - let ret = entry_point(data.borrow_mut().as_mut_slice(), &mut sdk_sysdata.borrow_mut()); + // TODO handle errors + + let mut guard = context.lock().unwrap(); + + // take out the context + let mut ctx = guard.take().unwrap(); + let wasm_context = match &mut ctx.context { + ContextType::Wasm(wasm_context) => wasm_context, + _ => panic!("invalid context type"), + }; + let sdk_heap: &mut [u8] = wasm_context.data.as_mut_slice(); + let sdk_sysdata: &mut DandelionSystemData = &mut wasm_context.sdk_sysdata; + + // call function + let ret = entry_point(sdk_heap, sdk_sysdata); + + // put context back + *guard = Some(ctx); + + // record + if let Some(mut recorder) = recorder { + let _ = recorder.record(RecordPoint::EngineEnd); + } + match ret { Some(_) => Ok(()), None => Err(DandelionError::EngineError) @@ -55,14 +82,22 @@ fn run_thread( Err(_) => Err(DandelionError::EngineError), }; - while !result_sender.try_send(msg.clone()).is_ok() {} + // try sending until succeeds + let mut not_sent = true; + while not_sent { + not_sent = match result_sender.try_send(msg.clone()) { + Ok(()) => false, + Err(err) if err.is_full() => true, + Err(_) => return , + } + } } struct WasmFuture<'a> { engine: &'a mut WasmEngine, - context: Option, + context: Arc>>, system_data_offset: usize, - base_addr: usize, + // base_addr: usize, } // exits the function @@ -75,7 +110,10 @@ impl Future for WasmFuture<'_> { match self.engine.result_receiver.poll_next_unpin(cx) { Poll::Pending => return Poll::Pending, Poll::Ready(Some(Ok(()))) => { - let mut context = self.context.take().unwrap(); + // TODO handle errors (we don't have a context if locking fails) + let mut guard = self.context.lock().unwrap(); + if !guard.is_some() { return Poll::Pending }; + let mut context = guard.take().unwrap(); context.content.clear(); let res = read_output_structs::(&mut context, self.system_data_offset); self.engine.is_running.store(false, Ordering::Release); @@ -83,7 +121,8 @@ impl Future for WasmFuture<'_> { }, _ => { self.engine.is_running.store(false, Ordering::Release); - Poll::Ready((Err(DandelionError::EngineError), self.context.take().unwrap())) + let context = self.context.lock().unwrap().take().unwrap(); + Poll::Ready((Err(DandelionError::EngineError), context)) } } } @@ -104,7 +143,10 @@ impl Engine for WasmEngine { output_set_names: &Vec, mut recorder: Recorder, ) -> Pin, Context)> + '_ + Send>> { - // TODO: what is Recorder? + + if let Err(err) = recorder.record(RecordPoint::EngineStart) { + return Box::pin(core::future::ready((Err(err), context))); + } // error shorthand use DandelionError::*; @@ -129,9 +171,8 @@ impl Engine for WasmEngine { match &mut context.context { ContextType::Wasm(ref mut wasm_context) => { wasm_context.prepare_for_inputs( - wasm_config.system_data_region_base, - wasm_config.system_data_region_end, wasm_config.sdk_heap_base, + wasm_config.sdk_heap_size, wasm_config.system_data_struct_offset ); }, @@ -145,29 +186,25 @@ impl Engine for WasmEngine { output_set_names ) { err!(err) }; - let layout: &WasmLayoutDescription = match &context.context { - ContextType::Wasm(wasm_context) => wasm_context.layout.as_ref().unwrap(), - _ => err!(ConfigMissmatch), - }; - let data = layout.sysdata_region.clone(); - let sdk_sysdata = layout.sdk_sysdata.clone(); + // share context with thread + let context_ = Arc::new(Mutex::new(Some(context))); // send run command to thread let cmd = WasmCommand { - data, - sdk_sysdata, - lib: wasm_config.lib.clone(), // entry_point + context: context_.clone(), + lib: wasm_config.lib.clone(), + recorder: Some(recorder), }; + + // TODO give back context if send fails (moved it into the Arc) match self.command_sender.send(cmd) { Ok(()) => (), - Err(_) => err!(EngineError), + Err(_) => (), }; - let context_base_addr = wasm_config.system_data_region_base; Box::::pin(WasmFuture { engine: self, - context: Some(context), + context: context_, system_data_offset: wasm_config.system_data_struct_offset, - base_addr: context_base_addr }) } @@ -180,9 +217,27 @@ pub struct WasmDriver {} impl Driver for WasmDriver { fn start_engine(&self, config: Vec) -> DandelionResult> { + + // sanity checks; extract core id + if config.len() != 1 { + return Err(DandelionError::ConfigMissmatch); + } + let cpu_slot: u8 = config[0]; + // check that core is available + let available_cores = match core_affinity::get_core_ids() { + None => return Err(DandelionError::EngineError), + Some(cores) => cores, + }; + if !available_cores + .iter() + .find(|x| x.id == usize::from(cpu_slot)) + .is_some() + { return Err(DandelionError::MalformedConfig); } + + // create channels and spawn threads let (command_sender, command_receiver) = std::sync::mpsc::channel(); let (result_sender, result_receiver) = futures::channel::mpsc::channel(0); - let thread_handle = spawn(move || run_thread(command_receiver, result_sender)); + let thread_handle = spawn(move || run_thread(cpu_slot, command_receiver, result_sender)); let is_running = AtomicBool::new(false); return Ok(Box::new(WasmEngine { command_sender, @@ -194,145 +249,52 @@ impl Driver for WasmDriver { fn parse_function( &self, - function: Vec, + function_path: String, static_domain: &Box, ) -> DandelionResult { - /* - // using our elf parser - // TODO: fix relocations - unsafe { - - let elf = elf_parser::ParsedElf::new(&function)?; - - // allocate executable memory - let addr = mmap( - 0 as *mut _, - function.len(), - libc::PROT_READ | libc::PROT_WRITE | libc::PROT_EXEC, - libc::MAP_PRIVATE | libc::MAP_ANONYMOUS, - -1, - 0, - ); - assert_ne!(addr, libc::MAP_FAILED); - - // copy code to executable memory - std::ptr::copy_nonoverlapping(function.as_ptr(), addr as *mut u8, function.len()); - - macro_rules! get_symbol_as { - ($name:literal, $ftype:ty) => {{ - let (offset, _) = elf.get_symbol_by_name(&function, $name).unwrap(); - let obj: $ftype = core::mem::transmute(addr as usize + offset); - obj - }}; - } - - // call sanity_check function - let sanity_check_function = get_symbol_as!("sanity_check", fn() -> i32); - let res = sanity_check_function(); - assert_eq!(res, 42); - - // get system data region in wasm memory space - let get_sysdata_wasm_offset_function = get_symbol_as!("get_wasm_sysdata_region_offset", fn() -> usize); - let wasm_sysdata_region_offset = get_sysdata_wasm_offset_function(); - println!("base of the sysdata reserved region in wasm memory: {}", wasm_sysdata_region_offset); - let get_sysdata_wasm_size_function = get_symbol_as!("get_wasm_sysdata_region_size", fn() -> usize); - let wasm_sysdata_region_size = get_sysdata_wasm_size_function(); - println!("size of the sysdata reserved region in wasm memory: {}", wasm_sysdata_region_size); - }; - */ - - // usin "sd" for "system_data" - - let obj_file_path: String = String::from_utf8(function).unwrap(); - let lib = unsafe { Library::new(obj_file_path).unwrap() }; + let lib = unsafe { Library::new(function_path).map_err(|_| DandelionError::MalformedConfig) }?; - let f_get_sd_region_offset: Symbol usize> = unsafe { - lib.get(b"get_wasm_sysdata_region_offset").unwrap() - }; - let sd_region_offset = f_get_sd_region_offset(); + macro_rules! call { + ($fname:expr, $type:ty) => { + match unsafe { lib.get::>($fname.as_bytes()) } { + Ok(f) => f(), + Err(_) => return Err(DandelionError::MalformedConfig), + } + }; + } - let f_get_sd_region_size: Symbol usize> = unsafe { - lib.get(b"get_wasm_sysdata_region_size").unwrap() - }; - let sd_region_size = f_get_sd_region_size(); - - let f_get_sdk_sd_offset: Symbol usize> = unsafe { - lib.get(b"get_wasm_sdk_sysdata_offset").unwrap() - }; - let sd_struct_offset = f_get_sdk_sd_offset(); + let sd_struct_offset = call!("get_wasm_sdk_sysdata_offset", fn() -> usize); + let sdk_heap_base = call!("get_sdk_heap_base", fn() -> usize); + let sdk_heap_size = call!("get_sdk_heap_size", fn() -> usize); // the sdk needs a heap base pointer for `dandelion_alloc()` // we define the sdk's heap to be the end of the wasm heap // which is not used by the wasm module by default // the heap base and end pointers are passed via system data - let f_sdk_heap_base: Symbol usize> = unsafe { - lib.get(b"get_sdk_heap_base").unwrap() - }; - let sdk_heap_base = f_sdk_heap_base(); - - let f_get_sdk_heap_size: Symbol usize> = unsafe { - lib.get(b"get_sdk_heap_size").unwrap() - }; - let sdk_heap_size = f_get_sdk_heap_size(); - let sdk_heap_end = sdk_heap_base + sdk_heap_size; - - let mut context = static_domain.acquire_context(sdk_heap_end, 0)?; //sd_region_offset)?; + let mut context = static_domain.acquire_context(sdk_heap_size, sdk_heap_base)?; //sd_region_offset)?; // there must be one data set, which would normally describe the sections to be copied - let static_bufs = vec![ - // fill the space from 0 until the start of the system data region - DataItem { - ident: String::from(""), - data: Position{ - offset: 0, - size: sd_region_offset, - }, - key: 0, - }, - // fill the space from the end of the system data region until the start of the sdk heap - DataItem { - ident: String::from(""), - data: Position { - offset: sd_region_offset + sd_region_size, - size: sdk_heap_base - (sd_region_offset + sd_region_size), - }, - key: 0, - }, - ]; + let static_bufs = vec![]; context.content = vec![Some( DataSet { ident: String::from("static"), buffers: static_bufs, } )]; - println!("heap end: {:?}", sdk_heap_end); Ok(Function { config: FunctionConfig::WasmConfig(WasmConfig { lib: Rc::new(lib), - system_data_region_base: sd_region_offset, - system_data_region_end: sd_region_offset + sd_region_size, sdk_heap_base, + sdk_heap_size, system_data_struct_offset: sd_struct_offset, }), requirements: DataRequirementList { - size: sdk_heap_end, - static_requirements: vec![ - // what is the difference between this and the static_bufs above? - Position{ - offset: 0, - size: sd_region_offset, - }, - Position { - offset: sd_region_offset + sd_region_size, - size: sdk_heap_base - (sd_region_offset + sd_region_size), - }, - ], + size: sdk_heap_size, + static_requirements: vec![], input_requirements: vec![], }, context, }) - - // Err(DandelionError::NotImplemented) } } \ No newline at end of file diff --git a/machine_interface/src/interface.rs b/machine_interface/src/interface.rs index a17c10c2..7a32992f 100644 --- a/machine_interface/src/interface.rs +++ b/machine_interface/src/interface.rs @@ -14,25 +14,25 @@ where Self: Sized + Copy + Default } /// macro to convert usize to SizeT -macro_rules! to_size_t { +macro_rules! size_t { ($val:expr) => { SizeT::from_native($val)? }; } /// macro to convert SizeT to usize -macro_rules! to_usize { +macro_rules! usize { ($val:expr) => { SizeT::to_native($val)? }; } /// macro to convert usize to PtrT -macro_rules! to_ptr { +macro_rules! ptr_t { ($val:expr) => { PtrT::from_native($val)? }; } /// macro to convert PtrT to usize -macro_rules! to_usize_ptr { +macro_rules! usize_ptr { ($val:expr) => { PtrT::to_native($val)? }; @@ -89,32 +89,32 @@ pub mod _native { pub struct DandelionSystemData { exit_code: c_int, - heap_begin: PtrT, //uintptr_t, - heap_end: PtrT, //uintptr_t, - input_sets_len: SizeT, //size_t, - input_sets: PtrT, //*const IoSetInfo, - output_sets_len: SizeT, //size_t, - output_sets: PtrT, //*const IoSetInfo, - input_bufs: PtrT, //*const IoBufferDescriptor, - output_bufs: PtrT, //*const IoBufferDescriptor, + heap_begin: PtrT, // uintptr_t, + heap_end: PtrT, // uintptr_t, + input_sets_len: SizeT, // size_t, + input_sets: PtrT, // *const IoSetInfo, + output_sets_len: SizeT, // size_t, + output_sets: PtrT, // *const IoSetInfo, + input_bufs: PtrT, // *const IoBufferDescriptor, + output_bufs: PtrT, // *const IoBufferDescriptor, } #[derive(Clone)] #[repr(C)] struct IoSetInfo { - ident: PtrT, //uintptr_t, - ident_len: SizeT, //size_t, - offset: SizeT, //size_t, + ident: PtrT, // uintptr_t, + ident_len: SizeT, // size_t, + offset: SizeT, // size_t, } #[derive(Clone)] #[repr(C)] struct IoBufferDescriptor { - ident: PtrT, //uintptr_t, - ident_len: SizeT, //size_t, - data: PtrT, //uintptr_t, - data_len: SizeT, //size_t, - key: SizeT, //size_t, + ident: PtrT, // uintptr_t, + ident_len: SizeT, // size_t, + data: PtrT, // uintptr_t, + data_len: SizeT, // size_t, + key: SizeT, // size_t, } pub fn setup_input_structs @@ -166,9 +166,9 @@ pub fn setup_input_structs string_offset = context.get_free_space_and_write_slice(name.as_bytes())? as usize; } input_sets.push(IoSetInfo:: { - ident: to_ptr!(string_offset), - ident_len: to_size_t!(name_length), - offset: to_size_t!(input_buffers.len()), + ident: ptr_t!(string_offset), + ident_len: size_t!(name_length), + offset: size_t!(input_buffers.len()), }); // find buffers for b in 0..buffer_len { @@ -190,19 +190,19 @@ pub fn setup_input_structs string_offset = context.get_free_space_and_write_slice(name.as_bytes())? as usize; } input_buffers.push(IoBufferDescriptor:: { - ident: to_ptr!(string_offset), - ident_len: to_size_t!(name_length), - data: to_ptr!(offset), - data_len: to_size_t!(size), - key: to_size_t!(key as usize), + ident: ptr_t!(string_offset), + ident_len: size_t!(name_length), + data: ptr_t!(offset), + data_len: size_t!(size), + key: size_t!(key as usize), }); } } // write input sentinel set input_sets.push(IoSetInfo:: { - ident: to_ptr!(0), - ident_len: to_size_t!(0), - offset: to_size_t!(input_buffers.len()), + ident: ptr_t!(0), + ident_len: size_t!(0), + offset: size_t!(input_buffers.len()), }); let mut output_sets: Vec> = Vec::new(); @@ -223,23 +223,23 @@ pub fn setup_input_structs context.get_free_space_and_write_slice(out_set_name.as_bytes())? as usize; } output_sets.push(IoSetInfo:: { - ident: to_ptr!(string_offset), - ident_len: to_size_t!(string_len), - offset: to_size_t!(0), + ident: ptr_t!(string_offset), + ident_len: size_t!(string_len), + offset: size_t!(0), }); } output_sets.push(IoSetInfo:: { - ident: to_ptr!(0), - ident_len: to_size_t!(0), - offset: to_size_t!(0), + ident: ptr_t!(0), + ident_len: size_t!(0), + offset: size_t!(0), }); - let heap_begin: PtrT = to_ptr!(context.get_last_item_end()); - let heap_end: PtrT = to_ptr!(context.size - 128); + let input_sets_offset: PtrT = ptr_t!(context.get_free_space_and_write_slice(&input_sets[..])? as usize); + let output_sets_offset: PtrT = ptr_t!(context.get_free_space_and_write_slice(&output_sets[..])? as usize); + let input_buffers_offset: PtrT = ptr_t!(context.get_free_space_and_write_slice(&input_buffers[..])? as usize); - let input_sets_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&input_sets[..])? as usize); - let output_sets_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&output_sets[..])? as usize); - let input_buffers_offset: PtrT = to_ptr!(context.get_free_space_and_write_slice(&input_buffers[..])? as usize); + let heap_begin: PtrT = ptr_t!(context.get_last_item_end()); + let heap_end: PtrT = ptr_t!(context.base_offset + context.size - 128); // fill in data for input sets // input set number and pointer (offset) @@ -248,9 +248,9 @@ pub fn setup_input_structs exit_code: 0, heap_begin, heap_end, - input_sets_len: to_size_t!(input_set_number), + input_sets_len: size_t!(input_set_number), input_sets: input_sets_offset, - output_sets_len: to_size_t!(output_set_number), + output_sets_len: size_t!(output_set_number), output_sets: output_sets_offset, input_bufs: input_buffers_offset, output_bufs: PtrT::default(), @@ -273,41 +273,41 @@ pub fn read_output_structs // get exit value let _exit_value = system_struct.exit_code; // get output set number +1 for sentinel set - let output_set_number = to_usize!(system_struct.output_sets_len); + let output_set_number = usize!(system_struct.output_sets_len); if output_set_number == 0 { return Ok(()); } - let output_buffers_offset: usize = to_usize_ptr!(system_struct.output_bufs); + let output_buffers_offset: usize = usize_ptr!(system_struct.output_bufs); // load output set info, + 1 to include sentinel set let mut output_set_info = vec![]; if output_set_info.try_reserve(output_set_number + 1).is_err() { return Err(DandelionError::OutOfMemory); } let empty_output_set = IoSetInfo:: { - ident: to_ptr!(0), - ident_len: to_size_t!(0), - offset: to_size_t!(0), + ident: ptr_t!(0), + ident_len: size_t!(0), + offset: size_t!(0), }; output_set_info.resize_with(output_set_number + 1, || empty_output_set.clone()); - context.read(to_usize_ptr!(system_struct.output_sets), &mut output_set_info)?; + context.read(usize_ptr!(system_struct.output_sets), &mut output_set_info)?; let mut output_sets = vec![]; if output_sets.try_reserve(output_set_number).is_err() { return Err(DandelionError::OutOfMemory); } - let output_buffer_number: usize = to_usize!(output_set_info[output_set_number].offset); + let output_buffer_number: usize = usize!(output_set_info[output_set_number].offset); let mut output_buffers = vec![]; if output_buffers.try_reserve(output_buffer_number).is_err() { return Err(DandelionError::OutOfMemory); } let empty_output_buffer = IoBufferDescriptor:: { - ident: to_ptr!(0), - ident_len: to_size_t!(0), - data: to_ptr!(0), - data_len: to_size_t!(0), - key: to_size_t!(0), + ident: ptr_t!(0), + ident_len: size_t!(0), + data: ptr_t!(0), + data_len: size_t!(0), + key: size_t!(0), }; output_buffers.resize_with(output_buffer_number, || empty_output_buffer.clone()); context.read(output_buffers_offset, &mut output_buffers)?; @@ -320,26 +320,26 @@ pub fn read_output_structs assert_eq!(output_buffers.len(), output_buffer_number); for output_set in 0..output_set_number { - let ident_offset = to_usize_ptr!(output_set_info[output_set].ident); - let ident_length = to_usize!(output_set_info[output_set].ident_len); + let ident_offset = usize_ptr!(output_set_info[output_set].ident); + let ident_length = usize!(output_set_info[output_set].ident_len); let mut set_ident = vec![0u8; ident_length]; context.read(ident_offset, &mut set_ident)?; let set_ident_string = String::from_utf8(set_ident).unwrap_or("".to_string()); - let first_buffer = to_usize!(output_set_info[output_set].offset); - let one_past_last_buffer = to_usize!(output_set_info[output_set + 1].offset); + let first_buffer = usize!(output_set_info[output_set].offset); + let one_past_last_buffer = usize!(output_set_info[output_set + 1].offset); let buffer_number = one_past_last_buffer - first_buffer; let mut buffers = Vec::new(); if buffers.try_reserve(buffer_number).is_err() { return Err(DandelionError::OutOfMemory); } for buffer_index in first_buffer..one_past_last_buffer { - let buffer_ident_offset = to_usize_ptr!(output_buffers[buffer_index].ident); - let buffer_ident_length = to_usize!(output_buffers[buffer_index].ident_len); + let buffer_ident_offset = usize_ptr!(output_buffers[buffer_index].ident); + let buffer_ident_length = usize!(output_buffers[buffer_index].ident_len); let mut buffer_ident = vec![0u8; buffer_ident_length]; context.read(buffer_ident_offset, &mut buffer_ident)?; - let data_offset = to_usize_ptr!(output_buffers[buffer_index].data); - let data_length = to_usize!(output_buffers[buffer_index].data_len); - let key = to_usize!(output_buffers[buffer_index].key); + let data_offset = usize_ptr!(output_buffers[buffer_index].data); + let data_length = usize!(output_buffers[buffer_index].data_len); + let key = usize!(output_buffers[buffer_index].key); let ident_string = String::from_utf8(buffer_ident).unwrap_or("".to_string()); buffers.push(DataItem { ident: ident_string, diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 3084410d..4318b665 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -59,10 +59,10 @@ pub struct Context { impl ContextTrait for Context { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { - self.context.write(offset - self.base_offset, data) + self.context.write(offset, data) } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { - self.context.read(offset - self.base_offset, read_buffer) + self.context.read(offset, read_buffer) } } @@ -113,7 +113,6 @@ impl Context { } /// Make sure all space between offset and size is marked as occupied, ignoring overlap with previous occupation pub fn occupy_space(&mut self, offset: usize, size: usize) -> DandelionResult<()> { - if size == 0 { return Ok(()); } if offset - self.base_offset + size > self.size { return Err(DandelionError::InvalidWrite); } @@ -165,7 +164,7 @@ impl Context { } pub fn get_last_item_end(&self) -> usize { let last_item = self.occupation[self.occupation.len() - 2]; - return last_item.offset + last_item.size + self.base_offset; + return last_item.offset + last_item.size; } pub fn clear_metadata(&mut self) -> () { self.content = vec![]; diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index 62c54ab8..c6d9d7bb 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -1,33 +1,22 @@ -use std::{rc::Rc, cell::RefCell}; +use std::{rc::Rc, cell::RefCell, borrow::BorrowMut, sync::Arc, sync::Mutex, ops::{Deref, DerefMut}}; use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; use crate::interface::_32_bit::DandelionSystemData; -use libloading::{Library, Symbol}; - -#[derive(Debug)] -enum WasmContextState { - Initializing, - BuildingSystemData, - Running, -} - #[derive(Debug)] pub struct WasmLayoutDescription { - pub sysdata_region_base: usize, - pub sysdata_region_end: usize, pub sdk_heap_base: usize, + pub sdk_heap_size: usize, pub sdk_sysdata_offset: usize, - pub sdk_sysdata: Rc>, - pub sysdata_region: Rc>>, } #[derive(Debug)] pub struct WasmContext { - pub memsize: usize, // the virtual memory size of the wasm module; `data` only stores the system data region which is much smaller + pub base_offset: usize, pub layout: Option, - // pub state: WasmContextState, + pub data: Vec, + pub sdk_sysdata: DandelionSystemData, } unsafe impl Send for WasmContext {} @@ -36,119 +25,110 @@ unsafe impl Sync for WasmContext {} impl ContextTrait for WasmContext { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { - // if any of the required fields are not set, we are not ready to write - // this happens when the function driver tries to write the binary content - // we just ignore that here - if self.layout.is_none() { - return Ok(()); - } + // 1. the function driver is trying to write the DandelionSystemData struct + // - we check that the offset is correct and then copy the data into + // the system data struct (not into the sdk heap memory) - let layout = &mut self.layout.as_mut().unwrap(); + if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { + // let layout = (&mut self.layout).as_mut().unwrap(); - if offset == layout.sdk_sysdata_offset { - // trying to write the DandelionSystemData struct - if !data.len() == 1 { return Err(DandelionError::InvalidWrite); } + if data.len() != 1 { return Err(DandelionError::InvalidWrite); } let data = &data[0]; - // allocate struct - let mut sdk_sysdata = DandelionSystemData::default(); - // copy from data buffer - sdk_sysdata = unsafe { + self.sdk_sysdata = unsafe { // copy from data buffer std::mem::transmute_copy::(data) }; - layout.sdk_sysdata = Rc::new(RefCell::new(sdk_sysdata)); return Ok(()); } - // otherwise the write should be to the system data region - if offset < layout.sysdata_region_base || offset >= layout.sysdata_region_end { - return Err(DandelionError::InvalidWrite); + // 2. the function driver is trying to copy binary sections + // - these will not be within the region [base_offset..sdk_heap_end] + // - we just ignore these writes + + else if offset < self.base_offset { + return Ok(()); } - - // write data to buffer - let offset = offset - layout.sysdata_region_base; - let write_size = data.len() * std::mem::size_of::(); - if offset + write_size > layout.sysdata_region.borrow().len() { - return Err(DandelionError::InvalidWrite); + + // 3. the function driver is trying to write to the sdk heap + // - we check that the offset is within the sdk heap region and then + // copy the data into the sdk heap memory + + else if offset >= self.base_offset { + let write_size = data.len() * std::mem::size_of::(); + let base = self.base_offset; + if offset < base || offset + write_size > base + self.data.len() { + return Err(DandelionError::InvalidWrite); + } + let data_bytes: &[u8] = unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) + }; + self.data[offset-base..offset-base+write_size].copy_from_slice(data_bytes); + return Ok(()); } - let data_bytes: &[u8] = unsafe { - std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) - }; - layout.sysdata_region.borrow_mut()[offset..offset + write_size].copy_from_slice(data_bytes); - return Ok(()); + + return Err(DandelionError::InvalidWrite); + } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { - // if any of the required fields are not set, the function driver is trying to read binary sections - // doing nothing in that case - if self.layout.is_none() { + let self_data = &self.data; + let self_sdk_data = &self.sdk_sysdata; + + let base = self.base_offset; + let read_size = read_buffer.len() * std::mem::size_of::(); + + if offset >= base && offset + read_size < base + self_data.len() { + if offset < base || offset + read_size > base + self_data.len() { + return Err(DandelionError::InvalidRead); + } + let data_bytes: &[u8] = &self_data[offset-base..offset-base+read_size]; + unsafe { + (read_buffer.as_mut_ptr() as *mut u8).copy_from(data_bytes.as_ptr(), read_size) + }; return Ok(()); } - let layout = &self.layout.as_ref().unwrap(); - - if offset == layout.sdk_sysdata_offset { + else if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { // trying to read the DandelionSystemData struct - if !read_buffer.len() == 1 { return Err(DandelionError::InvalidRead); } - let sdk_sysdata = layout.sdk_sysdata.as_ref(); + if read_buffer.len() != 1 { return Err(DandelionError::InvalidRead); } read_buffer[0] = unsafe { - std::mem::transmute_copy::(&sdk_sysdata.borrow()) + std::mem::transmute_copy::(&self_sdk_data) }; return Ok(()); - } + } - // otherwise the read should be from the system data region - if offset < layout.sysdata_region_base || offset >= layout.sysdata_region_end { - return Err(DandelionError::InvalidRead); + // turns out, if identifier lengths are 0 their positions is set to + // 0 as well, but the interface still tries to read them + else if offset == 0 { + if read_buffer.len() != 0 { return Err(DandelionError::InvalidRead); } + return Ok(()); } - - // read data from buffer - let offset = offset - layout.sysdata_region_base; - let read_size = read_buffer.len() * std::mem::size_of::(); - if offset + read_size > layout.sysdata_region.borrow().len() { + + else { return Err(DandelionError::InvalidRead); } - let data_bytes: &[u8] = &layout.sysdata_region.borrow()[offset..offset + read_size]; - unsafe { - (read_buffer.as_mut_ptr() as *mut u8).copy_from(data_bytes.as_ptr(), read_size) - }; - return Ok(()); } } impl WasmContext { - pub fn new(memsize: usize) -> WasmContext { - // the memsize is the size of the virtual wasm memory - // we don't store the whole memory, but only the system data region - // all the `None` fields will be initialized in `prepare_for_inputs` + pub fn new(sdk_heap_size: usize, base_offset: usize) -> WasmContext { WasmContext { - // sysdata_region_base_offset: None, - memsize, + base_offset, layout: None, - // state: WasmContextState::Initializing, + data: vec![0; sdk_heap_size], + sdk_sysdata: DandelionSystemData::default(), } } pub fn prepare_for_inputs( &mut self, - sysdata_region_base: usize, - sysdata_region_end: usize, sdk_heap_base: usize, + sdk_heap_size: usize, sdk_sysdata_offset: usize ) { - // allocate system data region - self.layout = Some(WasmLayoutDescription { - sysdata_region_base, - sysdata_region_end, sdk_heap_base, + sdk_heap_size, sdk_sysdata_offset, - sdk_sysdata: Rc::new(RefCell::new(DandelionSystemData::default())), - sysdata_region: Rc::new(RefCell::new(vec![0; sysdata_region_end - sysdata_region_base])), }); - - // self.state = WasmContextState::BuildingSystemData; - } - pub fn prepare_for_run(&mut self) { - // self.state = WasmContextState::Running; } } @@ -160,16 +140,6 @@ impl MemoryDomain for WasmMemoryDomain { Ok(Box::new(WasmMemoryDomain {})) } fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { - Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size))), size, base_offset)) + Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size, base_offset))), size, base_offset)) } -} - -// pub fn wasm_transfer( -// destination: &mut Context, -// source: &WasmContext, -// destination_offset: usize, -// source_offset: usize, -// size: usize, -// ) -> DandelionResult<()> { -// unimplemented!() -// } \ No newline at end of file +} \ No newline at end of file From 6d2a1b7e164c712c17a73962e863a2d06ba589f4 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 7 Nov 2023 20:43:06 +0100 Subject: [PATCH 05/91] update driver tests I tested on wasm backend, not on cheri --- .../compute_driver/compute_driver_tests.rs | 77 ++++++++++++------- 1 file changed, 48 insertions(+), 29 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 1825ed47..670d09f5 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri")))] +#[cfg(all(test, any(feature = "cheri", feature = "wasm")))] mod compute_driver_tests { use crate::{ function_driver::{util::load_static, Driver, Engine, Function, FunctionConfig}, @@ -11,28 +11,31 @@ mod compute_driver_tests { }; use std::sync::{Arc, Mutex}; - fn read_file(name: &str) -> Vec { + fn test_file_path(name: &str) -> String { // load elf file let mut path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); path.push("tests/data"); path.push(name); - let mut elf_file = std::fs::File::open(path).expect("Should have found test file"); + + // check if we can open the file + let mut file = std::fs::File::open(&path).expect("Should have found test file"); let mut elf_buffer = Vec::::new(); use std::io::Read; - let _ = elf_file + let _ = file .read_to_end(&mut elf_buffer) .expect("Should be able to read entire file"); - return elf_buffer; + + path.to_str().unwrap().to_string() } - fn loader_empty(dom_init: Vec, driver: Box) { - // load elf file - let elf_file = Vec::::new(); - let mut domain = Dom::init(dom_init).expect("Should be able to get domain"); - driver - .parse_function(elf_file, &mut domain) - .expect("Empty string should return error"); - } + // fn loader_empty(dom_init: Vec, driver: Box) { + // // load elf file + // let elf_file = Vec::::new(); + // let mut domain = Dom::init(dom_init).expect("Should be able to get domain"); + // driver + // .parse_function(elf_file, &mut domain) + // .expect("Empty string should return error"); + // } fn driver(driver: Box, init: Vec, wrong_init: Vec) { let no_resource_engine = driver.start_engine(Vec::::new()); @@ -59,15 +62,15 @@ mod compute_driver_tests { driver: &Box, drv_init: Vec, ) -> (Box, Context, FunctionConfig) { - let elf_buffer = read_file(filename); let mut domain = Dom::init(dom_init).expect("Should have initialized domain"); let Function { requirements, context, config, } = driver - .parse_function(elf_buffer, &mut domain) + .parse_function(filename.to_string(), &mut domain) .expect("Should be able to parse function"); + println!("requirements size: {}", requirements.size); let engine = driver .start_engine(vec![drv_init[0]]) .expect("Should be able to start engine"); @@ -449,13 +452,13 @@ mod compute_driver_tests { } macro_rules! driverTests { - ($name : ident; $domain : ty; $dom_init: expr; $driver : expr ; $drv_init : expr; $drv_init_wrong : expr) => { - #[test] - #[should_panic] - fn test_loader_empty() { - let driver = Box::new($driver); - super::loader_empty::<$domain>($dom_init, driver); - } + ($name : ident; $bintype : ident; $domain : ty; $dom_init: expr; $driver : expr ; $drv_init : expr; $drv_init_wrong : expr) => { + // #[test] + // #[should_panic] + // fn test_loader_empty() { + // let driver = Box::new($driver); + // super::loader_empty::<$domain>($dom_init, driver); + // } #[test] fn test_driver() { @@ -465,21 +468,21 @@ mod compute_driver_tests { #[test] fn test_engine_minimal() { - let name = format!("test_elf_{}_basic", stringify!($name)); + let name = super::test_file_path(&format!("test_{}_{}_basic", stringify!($bintype), stringify!($name))); let driver = Box::new($driver); super::engine_minimal::<$domain>(&name, $dom_init, driver, $drv_init); } #[test] fn test_engine_matmul_single() { - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = super::test_file_path(&format!("test_{}_{}_matmul", stringify!($bintype), stringify!($name))); let driver = Box::new($driver); super::engine_matmul_single::<$domain>(&name, $dom_init, driver, $drv_init); } #[test] fn test_engine_matmul_size_sweep() { - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = super::test_file_path(&format!("test_{}_{}_matmul", stringify!($bintype), stringify!($name))); let driver = Box::new($driver); super::engine_matmul_size_sweep::<$domain>(&name, $dom_init, driver, $drv_init); } @@ -487,14 +490,14 @@ mod compute_driver_tests { #[test] #[ignore] fn test_engine_stdio() { - let name = format!("test_elf_{}_stdio", stringify!($name)); + let name = super::test_file_path(&format!("test_{}_{}_stdio", stringify!($bintype), stringify!($name))); let driver = Box::new($driver); super::engine_stdio::<$domain>(&name, $dom_init, driver, $drv_init); } #[test] fn test_engine_fileio() { - let name = format!("test_elf_{}_fileio", stringify!($name)); + let name = super::test_file_path(&format!("test_{}_{}_fileio", stringify!($bintype), stringify!($name))); let driver = Box::new($driver); super::engine_fileio::<$domain>(&name, $dom_init, driver, $drv_init) } @@ -505,6 +508,22 @@ mod compute_driver_tests { mod cheri { use crate::function_driver::compute_driver::cheri::CheriDriver; use crate::memory_domain::cheri::CheriMemoryDomain; - driverTests!(cheri; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1,2,3]; vec![4]); + driverTests!(cheri; elf; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1,2,3]; vec![4]); + } + #[cfg(feature = "wasm")] + mod wasm { + use crate::function_driver::compute_driver::wasm::WasmDriver; + use crate::memory_domain::wasm::WasmMemoryDomain; + + driverTests!(wasm; wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1,2,3]; vec![9]); + + #[test] + fn custom() { + let driver = Box::new(WasmDriver {}); + let mut path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); + path.push("../"); // Dandelion repo root + path.push("../dandelionFunctionExamples/wasm-compiler/bin/matmul"); + super::engine_matmul_single::(path.to_str().unwrap(), Vec::new(), driver, vec![1,2,3]); + } } -} +} \ No newline at end of file From 1d1ef6571eb10da770c90e478ddf3090ef40cafe Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 7 Nov 2023 20:43:27 +0100 Subject: [PATCH 06/91] update driver tests --- .../compute_driver/compute_driver_tests.rs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 670d09f5..da927a92 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -516,14 +516,5 @@ mod compute_driver_tests { use crate::memory_domain::wasm::WasmMemoryDomain; driverTests!(wasm; wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1,2,3]; vec![9]); - - #[test] - fn custom() { - let driver = Box::new(WasmDriver {}); - let mut path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); - path.push("../"); // Dandelion repo root - path.push("../dandelionFunctionExamples/wasm-compiler/bin/matmul"); - super::engine_matmul_single::(path.to_str().unwrap(), Vec::new(), driver, vec![1,2,3]); - } } } \ No newline at end of file From 876b806d6b35f9f1e809f1e988c5530f3c86be50 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 7 Nov 2023 20:43:55 +0100 Subject: [PATCH 07/91] add wasm backend binaries --- .../tests/data/test_wasm_wasm_basic | Bin 0 -> 848440 bytes .../tests/data/test_wasm_wasm_matmul | Bin 0 -> 852712 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 machine_interface/tests/data/test_wasm_wasm_basic create mode 100755 machine_interface/tests/data/test_wasm_wasm_matmul diff --git a/machine_interface/tests/data/test_wasm_wasm_basic b/machine_interface/tests/data/test_wasm_wasm_basic new file mode 100755 index 0000000000000000000000000000000000000000..577816459b6d9d58635eeba172bd2e3e2359d0d6 GIT binary patch literal 848440 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

m`Uv0uwIRF8 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 z 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 z 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

+KpD99|P%(H7bW5V*;i8J}} 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

;;JI63J$^5g|!Wym^}_zj-b(`U+JIm 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%0D!}-(LTD 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%0AY4qbc0tDf0HdWdf%)thV7|wXn~d{a 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 Date: Thu, 9 Nov 2023 20:48:25 +0100 Subject: [PATCH 08/91] rename wasm test files --- .../compute_driver/compute_driver_tests.rs | 2 +- .../{test_wasm_wasm_basic => test_sysld_wasm_basic} | Bin ...test_wasm_wasm_matmul => test_sysld_wasm_matmul} | Bin 3 files changed, 1 insertion(+), 1 deletion(-) rename machine_interface/tests/data/{test_wasm_wasm_basic => test_sysld_wasm_basic} (100%) rename machine_interface/tests/data/{test_wasm_wasm_matmul => test_sysld_wasm_matmul} (100%) diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index da927a92..1f51a21e 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -515,6 +515,6 @@ mod compute_driver_tests { use crate::function_driver::compute_driver::wasm::WasmDriver; use crate::memory_domain::wasm::WasmMemoryDomain; - driverTests!(wasm; wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1,2,3]; vec![9]); + driverTests!(wasm; sysld; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1,2,3]; vec![9]); } } \ No newline at end of file diff --git a/machine_interface/tests/data/test_wasm_wasm_basic b/machine_interface/tests/data/test_sysld_wasm_basic similarity index 100% rename from machine_interface/tests/data/test_wasm_wasm_basic rename to machine_interface/tests/data/test_sysld_wasm_basic diff --git a/machine_interface/tests/data/test_wasm_wasm_matmul b/machine_interface/tests/data/test_sysld_wasm_matmul similarity index 100% rename from machine_interface/tests/data/test_wasm_wasm_matmul rename to machine_interface/tests/data/test_sysld_wasm_matmul From f849a42fcbd313a99fb1ac7c469691bdda6e0d54 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 9 Nov 2023 20:59:31 +0100 Subject: [PATCH 09/91] update matmul binary --- .../tests/data/test_sysld_wasm_matmul | Bin 852712 -> 852712 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_matmul b/machine_interface/tests/data/test_sysld_wasm_matmul index 57906b0bb97ecf3078fcb9ac8a689c39d455a89e..dc25e74d1c0603864f67359c874d4d41fa56dd9a 100755 GIT binary patch delta 46468 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 F{|7xH2$=u? From bc27391fcbba69cfe340471537dcde78ad7b459c Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sun, 12 Nov 2023 16:58:36 +0100 Subject: [PATCH 10/91] wasm memory on heap The wasm memory is still of fixed size, but we can now provide our own buffer for it, which can be on the heap as well. This is optional, and can be toggled easily. --- machine_interface/src/function_driver.rs | 1 + .../function_driver/compute_driver/wasm.rs | 24 +++++++++++++++--- .../tests/data/test_sysld_wasm_basic | Bin 848440 -> 852584 bytes .../tests/data/test_sysld_wasm_matmul | Bin 852712 -> 856936 bytes 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 96a949ec..3a391379 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -28,6 +28,7 @@ pub enum SystemFunction { // #[derive(Clone, Copy)] pub struct WasmConfig { lib: Rc, + wasm_mem_size: usize, sdk_heap_base: usize, sdk_heap_size: usize, system_data_struct_offset: usize, diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index c03cf0bf..dd3d5099 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -21,12 +21,14 @@ use std::{ }; use libloading::{Library, Symbol}; -type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData) -> Option; +type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData, Option<&mut [u8]>) -> Option; struct WasmCommand { lib: Rc, + wasm_mem_size: usize, context: Arc>>, recorder: Option, + wasm_mem_on_heap: bool, } unsafe impl Send for WasmCommand {} @@ -44,7 +46,7 @@ fn run_thread( }; let msg = match command_receiver.recv() { - Ok( WasmCommand { lib, context, recorder } ) => { + Ok( WasmCommand { lib, wasm_mem_size, context, recorder, wasm_mem_on_heap } ) => { match unsafe { lib.get::(b"run") } { Ok(entry_point) => { // TODO handle errors @@ -60,8 +62,15 @@ fn run_thread( let sdk_heap: &mut [u8] = wasm_context.data.as_mut_slice(); let sdk_sysdata: &mut DandelionSystemData = &mut wasm_context.sdk_sysdata; + let mut wasm_mem_buf = if wasm_mem_on_heap { + Some(vec![0; wasm_mem_size]) + } else { + None + }; + let wasm_mem_slice = wasm_mem_buf.as_mut().map(|v| v.as_mut_slice()); + // call function - let ret = entry_point(sdk_heap, sdk_sysdata); + let ret = entry_point(sdk_heap, sdk_sysdata, wasm_mem_slice); // put context back *guard = Some(ctx); @@ -193,7 +202,9 @@ impl Engine for WasmEngine { let cmd = WasmCommand { context: context_.clone(), lib: wasm_config.lib.clone(), + wasm_mem_size: wasm_config.wasm_mem_size, recorder: Some(recorder), + wasm_mem_on_heap: true, }; // TODO give back context if send fails (moved it into the Arc) @@ -253,7 +264,10 @@ impl Driver for WasmDriver { static_domain: &Box, ) -> DandelionResult { - let lib = unsafe { Library::new(function_path).map_err(|_| DandelionError::MalformedConfig) }?; + let lib = unsafe { Library::new(function_path).map_err(|e| { + println!("error: {}", e); + DandelionError::MalformedConfig + }) }?; macro_rules! call { ($fname:expr, $type:ty) => { @@ -267,6 +281,7 @@ impl Driver for WasmDriver { let sd_struct_offset = call!("get_wasm_sdk_sysdata_offset", fn() -> usize); let sdk_heap_base = call!("get_sdk_heap_base", fn() -> usize); let sdk_heap_size = call!("get_sdk_heap_size", fn() -> usize); + let wasm_mem_size = call!("get_wasm_mem_size", fn() -> usize); // the sdk needs a heap base pointer for `dandelion_alloc()` // we define the sdk's heap to be the end of the wasm heap @@ -285,6 +300,7 @@ impl Driver for WasmDriver { Ok(Function { config: FunctionConfig::WasmConfig(WasmConfig { lib: Rc::new(lib), + wasm_mem_size, sdk_heap_base, sdk_heap_size, system_data_struct_offset: sd_struct_offset, diff --git a/machine_interface/tests/data/test_sysld_wasm_basic b/machine_interface/tests/data/test_sysld_wasm_basic index 577816459b6d9d58635eeba172bd2e3e2359d0d6..1f14e9042132e9bd14555dc7a3ac957d48603465 100755 GIT binary patch delta 57544 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

4+T~{b$ti*2CGF* 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[|46=z{))Y8kX$?ppU|gP(x8y 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 wlgt?ta!%P8t<8 delta 60925 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 F{{a)@?3Vxl From d48fe7a4bbf65ec15ee3744b5a47f9038cba1ebe Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 13 Nov 2023 16:36:34 +0100 Subject: [PATCH 11/91] use Arc --- machine_interface/src/function_driver.rs | 10 +++++----- .../src/function_driver/compute_driver/wasm.rs | 5 ++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 3a391379..77c9fa31 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -4,7 +4,7 @@ use crate::{ }; use core::pin::Pin; use dandelion_commons::{records::Recorder, DandelionResult}; -use std::{future::Future, rc::Rc}; +use std::{future::Future, sync::Arc}; use libloading::Library; @@ -12,7 +12,7 @@ pub mod compute_driver; pub mod system_driver; pub mod util; -#[derive(Clone, Copy)] +#[derive(Clone)] pub struct ElfConfig { // TODO change to positions system_data_offset: usize, @@ -25,16 +25,16 @@ pub enum SystemFunction { HTTPS, } -// #[derive(Clone, Copy)] +#[derive(Clone)] pub struct WasmConfig { - lib: Rc, + lib: Arc, wasm_mem_size: usize, sdk_heap_base: usize, sdk_heap_size: usize, system_data_struct_offset: usize, } -// #[derive(Clone, Copy)] +#[derive(Clone)] pub enum FunctionConfig { ElfConfig(ElfConfig), SysConfig(SystemFunction), diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index dd3d5099..35d34f0c 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -17,14 +17,13 @@ use core::{ use std::{ sync::{atomic::{AtomicBool, Ordering}, Mutex, Arc}, thread::{spawn, JoinHandle}, - rc::Rc, }; use libloading::{Library, Symbol}; type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData, Option<&mut [u8]>) -> Option; struct WasmCommand { - lib: Rc, + lib: Arc, wasm_mem_size: usize, context: Arc>>, recorder: Option, @@ -299,7 +298,7 @@ impl Driver for WasmDriver { )]; Ok(Function { config: FunctionConfig::WasmConfig(WasmConfig { - lib: Rc::new(lib), + lib: Arc::new(lib), wasm_mem_size, sdk_heap_base, sdk_heap_size, From e5d2faa2ea17d012b26e4eca44b983ae8d67248f Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 15 Nov 2023 15:50:41 +0100 Subject: [PATCH 12/91] zero-copy wasm memory initialization ...when using heap for wasm memory. --- .../function_driver/compute_driver/wasm.rs | 73 +++++++++---- machine_interface/src/memory_domain.rs | 12 ++- machine_interface/src/memory_domain/wasm.rs | 97 ++++++++++++------ .../tests/data/test_sysld_wasm_matmul | Bin 856936 -> 856848 bytes 4 files changed, 131 insertions(+), 51 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index 35d34f0c..d28ec02d 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -3,7 +3,7 @@ use crate::{ function_driver::{Driver, Engine, FunctionConfig, Function, WasmConfig}, memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, - interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, + interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, Position, DataItem, }; use dandelion_commons::{ DandelionResult, DandelionError, @@ -20,14 +20,24 @@ use std::{ }; use libloading::{Library, Symbol}; -type WasmEntryPoint = fn(&mut[u8], &mut DandelionSystemData, Option<&mut [u8]>) -> Option; +struct WasmStackInit<'a> { + dandelion_sdk_heap: &'a mut[u8], + sdk_system_data: &'a mut DandelionSystemData, +} +struct WasmHeapInit<'a> { + wasm_mem: &'a mut [u8], +} +enum WasmInit<'a> { + Stack(WasmStackInit<'a>), + Heap(WasmHeapInit<'a>), +} +type WasmEntryPoint = fn(WasmInit) -> Option; struct WasmCommand { lib: Arc, wasm_mem_size: usize, context: Arc>>, recorder: Option, - wasm_mem_on_heap: bool, } unsafe impl Send for WasmCommand {} @@ -45,7 +55,7 @@ fn run_thread( }; let msg = match command_receiver.recv() { - Ok( WasmCommand { lib, wasm_mem_size, context, recorder, wasm_mem_on_heap } ) => { + Ok( WasmCommand { lib, wasm_mem_size, context, recorder } ) => { match unsafe { lib.get::(b"run") } { Ok(entry_point) => { // TODO handle errors @@ -58,18 +68,21 @@ fn run_thread( ContextType::Wasm(wasm_context) => wasm_context, _ => panic!("invalid context type"), }; - let sdk_heap: &mut [u8] = wasm_context.data.as_mut_slice(); - let sdk_sysdata: &mut DandelionSystemData = &mut wasm_context.sdk_sysdata; - let mut wasm_mem_buf = if wasm_mem_on_heap { - Some(vec![0; wasm_mem_size]) + let ret = if WASM_MEM_ON_HEAP { + let arg = WasmInit::Heap(WasmHeapInit { + wasm_mem: &mut wasm_context.data, + }); + entry_point(arg) } else { - None + let sdk_heap: &mut [u8] = wasm_context.data.as_mut_slice(); + let sdk_sysdata: &mut DandelionSystemData = &mut wasm_context.sdk_sysdata; + let arg = WasmInit::Stack(WasmStackInit { + dandelion_sdk_heap: sdk_heap, + sdk_system_data: sdk_sysdata + }); + entry_point(arg) }; - let wasm_mem_slice = wasm_mem_buf.as_mut().map(|v| v.as_mut_slice()); - - // call function - let ret = entry_point(sdk_heap, sdk_sysdata, wasm_mem_slice); // put context back *guard = Some(ctx); @@ -203,7 +216,6 @@ impl Engine for WasmEngine { lib: wasm_config.lib.clone(), wasm_mem_size: wasm_config.wasm_mem_size, recorder: Some(recorder), - wasm_mem_on_heap: true, }; // TODO give back context if send fails (moved it into the Arc) @@ -223,6 +235,8 @@ impl Engine for WasmEngine { } } +pub const WASM_MEM_ON_HEAP: bool = false; + pub struct WasmDriver {} impl Driver for WasmDriver { @@ -287,13 +301,34 @@ impl Driver for WasmDriver { // which is not used by the wasm module by default // the heap base and end pointers are passed via system data - let mut context = static_domain.acquire_context(sdk_heap_size, sdk_heap_base)?; //sd_region_offset)?; + let mut context = if WASM_MEM_ON_HEAP { + static_domain.acquire_context(wasm_mem_size, 0)? + } else { + static_domain.acquire_context(sdk_heap_size, sdk_heap_base)? + }; + + let ctx_size = match WASM_MEM_ON_HEAP { + true => wasm_mem_size, + false => sdk_heap_size, + }; + + let (static_positions, static_items) = match WASM_MEM_ON_HEAP { + true => { + let pos = Position { + offset: 0, + size: sdk_heap_base, + }; + let item = DataItem { ident: "".into(), data: pos.clone(), key: 0 }; + (vec![pos], vec![item]) + }, + false => (vec![], vec![]), + }; + // there must be one data set, which would normally describe the sections to be copied - let static_bufs = vec![]; context.content = vec![Some( DataSet { ident: String::from("static"), - buffers: static_bufs, + buffers: static_items, } )]; Ok(Function { @@ -305,8 +340,8 @@ impl Driver for WasmDriver { system_data_struct_offset: sd_struct_offset, }), requirements: DataRequirementList { - size: sdk_heap_size, - static_requirements: vec![], + size: ctx_size, + static_requirements: static_positions, input_requirements: vec![], }, context, diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 4318b665..6eb88ac7 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -213,7 +213,17 @@ pub fn transefer_memory( source_offset, size, ) - } + }, + #[cfg(feature = "wasm")] + (ContextType::Wasm(destination_ctxt), ContextType::Wasm(source_ctxt)) => { + wasm::wasm_transfer( + destination_ctxt, + source_ctxt, + destination_offset, + source_offset, + size, + ) + }, // default implementation using reads and writes (destination, source) => { let mut read_buffer = vec![0; size]; diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index c6d9d7bb..cbebfd08 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -3,6 +3,7 @@ use std::{rc::Rc, cell::RefCell, borrow::BorrowMut, sync::Arc, sync::Mutex, ops: use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; use crate::interface::_32_bit::DandelionSystemData; +use crate::function_driver::compute_driver::wasm::WASM_MEM_ON_HEAP; #[derive(Debug)] pub struct WasmLayoutDescription { @@ -25,36 +26,54 @@ unsafe impl Sync for WasmContext {} impl ContextTrait for WasmContext { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { - // 1. the function driver is trying to write the DandelionSystemData struct - // - we check that the offset is correct and then copy the data into - // the system data struct (not into the sdk heap memory) + if !WASM_MEM_ON_HEAP { - if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { - // let layout = (&mut self.layout).as_mut().unwrap(); + // 1. the function driver is trying to write the DandelionSystemData struct + // - we check that the offset is correct and then copy the data into + // the system data struct (not into the sdk heap memory) - if data.len() != 1 { return Err(DandelionError::InvalidWrite); } - let data = &data[0]; - self.sdk_sysdata = unsafe { // copy from data buffer - std::mem::transmute_copy::(data) - }; - return Ok(()); - } + if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { + // let layout = (&mut self.layout).as_mut().unwrap(); - // 2. the function driver is trying to copy binary sections - // - these will not be within the region [base_offset..sdk_heap_end] - // - we just ignore these writes - - else if offset < self.base_offset { - return Ok(()); - } - - // 3. the function driver is trying to write to the sdk heap - // - we check that the offset is within the sdk heap region and then - // copy the data into the sdk heap memory - - else if offset >= self.base_offset { + if data.len() != 1 { return Err(DandelionError::InvalidWrite); } + let data = &data[0]; + self.sdk_sysdata = unsafe { // copy from data buffer + std::mem::transmute_copy::(data) + }; + return Ok(()); + } + + // 2. the function driver is trying to copy binary sections + // - these will not be within the region [base_offset..sdk_heap_end] + // - we just ignore these writes + + else if offset < self.base_offset { + return Ok(()); + } + + // 3. the function driver is trying to write to the sdk heap + // - we check that the offset is within the sdk heap region and then + // copy the data into the sdk heap memory + + else if offset >= self.base_offset { + let write_size = data.len() * std::mem::size_of::(); + let base = self.base_offset; + if offset < base || offset + write_size > base + self.data.len() { + return Err(DandelionError::InvalidWrite); + } + let data_bytes: &[u8] = unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) + }; + self.data[offset-base..offset-base+write_size].copy_from_slice(data_bytes); + return Ok(()); + } + + return Err(DandelionError::InvalidWrite); + + } else { let write_size = data.len() * std::mem::size_of::(); let base = self.base_offset; + if offset < base || offset + write_size > base + self.data.len() { return Err(DandelionError::InvalidWrite); } @@ -64,8 +83,6 @@ impl ContextTrait for WasmContext { self.data[offset-base..offset-base+write_size].copy_from_slice(data_bytes); return Ok(()); } - - return Err(DandelionError::InvalidWrite); } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { @@ -99,7 +116,6 @@ impl ContextTrait for WasmContext { // turns out, if identifier lengths are 0 their positions is set to // 0 as well, but the interface still tries to read them else if offset == 0 { - if read_buffer.len() != 0 { return Err(DandelionError::InvalidRead); } return Ok(()); } @@ -110,11 +126,11 @@ impl ContextTrait for WasmContext { } impl WasmContext { - pub fn new(sdk_heap_size: usize, base_offset: usize) -> WasmContext { + pub fn new(size: usize, base_offset: usize) -> WasmContext { WasmContext { base_offset, layout: None, - data: vec![0; sdk_heap_size], + data: vec![0; size], sdk_sysdata: DandelionSystemData::default(), } } @@ -142,4 +158,23 @@ impl MemoryDomain for WasmMemoryDomain { fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size, base_offset))), size, base_offset)) } -} \ No newline at end of file +} + +pub fn wasm_transfer( + destination: &mut WasmContext, + source: &WasmContext, + destination_offset: usize, + source_offset: usize, + size: usize, +) -> DandelionResult<()> { + // No need to copy anything before sdk heap region + // This is a hack to make the elf loader work + if source_offset == 0 { return Ok(()); }; + + if source_offset < source.base_offset || size > destination.data.len() { + return Err(DandelionError::InvalidRead); + } + destination.data[destination_offset..destination_offset + size] + .copy_from_slice(&source.data[source_offset..source_offset + size]); + Ok(()) +} diff --git a/machine_interface/tests/data/test_sysld_wasm_matmul b/machine_interface/tests/data/test_sysld_wasm_matmul index 5f0e4879f7ea71154d54fb8ed011ac1bd1a4b31f..ac6aba12f1726f981d5618bf30f8e3a39540e4fa 100755 GIT binary patch delta 51380 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 delta 27872 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 G!T$q61p*BK From 16b05a2c93cb25dc22d40d68541b33c3c277b0fd Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 15 Nov 2023 17:30:38 +0100 Subject: [PATCH 13/91] add wasm feature to dispatcher --- dispatcher/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dispatcher/Cargo.toml b/dispatcher/Cargo.toml index 268c5bcf..e5313e98 100644 --- a/dispatcher/Cargo.toml +++ b/dispatcher/Cargo.toml @@ -13,4 +13,5 @@ futures = {version = "0.3.28", default-features = false} itertools = {version = "0.11", default-features = false, features = ["use_alloc"]} [features] -cheri = ["machine_interface/cheri"] \ No newline at end of file +cheri = ["machine_interface/cheri"] +wasm = ["machine_interface/wasm"] \ No newline at end of file From f763605957681a0e5ab23a384ddf2a48cc9cc6bd Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 15 Nov 2023 20:37:54 +0100 Subject: [PATCH 14/91] remove context base offset, use occupation instead --- machine_interface/src/function_driver.rs | 24 ++++++++- .../compute_driver/compute_driver_tests.rs | 28 ++++++---- .../function_driver/compute_driver/wasm.rs | 54 +++++++------------ .../src/function_driver/load_utils.rs | 7 ++- machine_interface/src/interface.rs | 5 +- machine_interface/src/lib.rs | 2 +- machine_interface/src/memory_domain.rs | 40 +++++++------- .../src/memory_domain/domain_tests.rs | 16 +++--- machine_interface/src/memory_domain/malloc.rs | 3 +- machine_interface/src/memory_domain/wasm.rs | 41 +++++++------- 10 files changed, 109 insertions(+), 111 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 5c34d63f..4248c7e1 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -1,9 +1,9 @@ use crate::{ - memory_domain::{Context, MemoryDomain}, + memory_domain::{Context, MemoryDomain, ContextType}, DataRequirementList, Position, }; use core::pin::Pin; -use dandelion_commons::{records::Recorder, DandelionResult}; +use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; use std::{future::Future, sync::Arc}; use libloading::Library; @@ -56,6 +56,26 @@ impl Function { load_utils::load_static(domain, &self.context, &self.requirements) } FunctionConfig::SysConfig(_) => domain.acquire_context(self.requirements.size), + FunctionConfig::WasmConfig(c) => { + let mut context = domain.acquire_context(c.wasm_mem_size)?; + + context.occupy_space(0, c.sdk_heap_base)?; + + let ctx = &mut context.context; + let wasm_ctx_box = match ctx { + ContextType::Wasm(wasm_ctx) => wasm_ctx, + _ => { + return Err(DandelionError::ConfigMissmatch); + } + }; + wasm_ctx_box.prepare_for_inputs( + c.sdk_heap_base, + c.sdk_heap_size, + c.system_data_struct_offset, + ); + + Ok(context) + }, }; } } diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 7dedbd07..8b38e601 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm")))] mod compute_driver_tests { use crate::{ function_driver::{Driver, Engine, FunctionConfig}, @@ -49,7 +49,6 @@ mod compute_driver_tests { let function = driver .parse_function(filename.to_string(), &mut domain) .expect("Should be able to parse function"); - println!("requirements size: {}", requirements.size); let engine = driver .start_engine(vec![drv_init[0]]) .expect("Should be able to start engine"); @@ -432,7 +431,7 @@ mod compute_driver_tests { } macro_rules! driverTests { - ($name : ident; $bintype : ident; $domain : ty; $dom_init: expr; $driver : expr ; $drv_init : expr; $drv_init_wrong : expr) => { + ($name : ident; $domain : ty; $dom_init: expr; $driver : expr ; $drv_init : expr; $drv_init_wrong : expr) => { // #[test] // #[should_panic] // fn test_loader_empty() { @@ -449,7 +448,7 @@ mod compute_driver_tests { #[test] fn test_engine_minimal() { let name = format!( - "{}/tests/data/test_elf_{}_basic", + "{}/tests/data/test_{}_basic", env!("CARGO_MANIFEST_DIR"), stringify!($name) ); @@ -460,7 +459,7 @@ mod compute_driver_tests { #[test] fn test_engine_matmul_single() { let name = format!( - "{}/tests/data/test_elf_{}_matmul", + "{}/tests/data/test_{}_matmul", env!("CARGO_MANIFEST_DIR"), stringify!($name) ); @@ -471,7 +470,7 @@ mod compute_driver_tests { #[test] fn test_engine_matmul_size_sweep() { let name = format!( - "{}/tests/data/test_elf_{}_matmul", + "{}/tests/data/test_{}_matmul", env!("CARGO_MANIFEST_DIR"), stringify!($name) ); @@ -483,7 +482,7 @@ mod compute_driver_tests { #[ignore] fn test_engine_stdio() { let name = format!( - "{}/tests/data/test_elf_{}_stdio", + "{}/tests/data/test_{}_stdio", env!("CARGO_MANIFEST_DIR"), stringify!($name) ); @@ -494,7 +493,7 @@ mod compute_driver_tests { #[test] fn test_engine_fileio() { let name = format!( - "{}/tests/data/test_elf_{}_fileio", + "{}/tests/data/test_{}_fileio", env!("CARGO_MANIFEST_DIR"), stringify!($name) ); @@ -508,7 +507,7 @@ mod compute_driver_tests { mod cheri { use crate::function_driver::compute_driver::cheri::CheriDriver; use crate::memory_domain::cheri::CheriMemoryDomain; - driverTests!(cheri; elf; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1,2,3]; vec![4]); + driverTests!(elf_cheri; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1,2,3]; vec![4]); } #[cfg(feature = "mmu")] @@ -516,8 +515,15 @@ mod compute_driver_tests { use crate::function_driver::compute_driver::mmu::MmuDriver; use crate::memory_domain::mmu::MmuMemoryDomain; #[cfg(target_arch = "x86_64")] - driverTests!(mmu_x86_64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1, 2, 3]; vec![255]); + driverTests!(elf_mmu_x86_64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1, 2, 3]; vec![255]); #[cfg(target_arch = "aarch64")] - driverTests!(mmu_aarch64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1, 2, 3]; vec![255]); + driverTests!(elf_mmu_aarch64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1, 2, 3]; vec![255]); + } + + #[cfg(feature = "wasm")] + mod wasm { + use crate::function_driver::compute_driver::wasm::WasmDriver; + use crate::memory_domain::wasm::WasmMemoryDomain; + driverTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } } \ No newline at end of file diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index d28ec02d..c71be172 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -3,7 +3,7 @@ use crate::{ function_driver::{Driver, Engine, FunctionConfig, Function, WasmConfig}, memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, - interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, Position, DataItem, + interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, }; use dandelion_commons::{ DandelionResult, DandelionError, @@ -16,14 +16,16 @@ use core::{ }; use std::{ sync::{atomic::{AtomicBool, Ordering}, Mutex, Arc}, - thread::{spawn, JoinHandle}, + thread::spawn, }; use libloading::{Library, Symbol}; +#[allow(dead_code)] struct WasmStackInit<'a> { dandelion_sdk_heap: &'a mut[u8], sdk_system_data: &'a mut DandelionSystemData, } +#[allow(dead_code)] struct WasmHeapInit<'a> { wasm_mem: &'a mut [u8], } @@ -35,7 +37,6 @@ type WasmEntryPoint = fn(WasmInit) -> Option; struct WasmCommand { lib: Arc, - wasm_mem_size: usize, context: Arc>>, recorder: Option, } @@ -55,7 +56,7 @@ fn run_thread( }; let msg = match command_receiver.recv() { - Ok( WasmCommand { lib, wasm_mem_size, context, recorder } ) => { + Ok( WasmCommand { lib, context, recorder } ) => { match unsafe { lib.get::(b"run") } { Ok(entry_point) => { // TODO handle errors @@ -153,7 +154,7 @@ pub struct WasmEngine { is_running: AtomicBool, command_sender: std::sync::mpsc::Sender, result_receiver: futures::channel::mpsc::Receiver>, - thread_handle: Option>, + // thread_handle: Option>, } impl Engine for WasmEngine { @@ -188,18 +189,6 @@ impl Engine for WasmEngine { _ => err!(ConfigMissmatch), }; - // prepare context for inputs - match &mut context.context { - ContextType::Wasm(ref mut wasm_context) => { - wasm_context.prepare_for_inputs( - wasm_config.sdk_heap_base, - wasm_config.sdk_heap_size, - wasm_config.system_data_struct_offset - ); - }, - _ => err!(ConfigMissmatch), - }; - // setup input structs if let Err(err) = setup_input_structs::( &mut context, @@ -214,7 +203,6 @@ impl Engine for WasmEngine { let cmd = WasmCommand { context: context_.clone(), lib: wasm_config.lib.clone(), - wasm_mem_size: wasm_config.wasm_mem_size, recorder: Some(recorder), }; @@ -235,7 +223,7 @@ impl Engine for WasmEngine { } } -pub const WASM_MEM_ON_HEAP: bool = false; +pub const WASM_MEM_ON_HEAP: bool = true; pub struct WasmDriver {} @@ -261,12 +249,12 @@ impl Driver for WasmDriver { // create channels and spawn threads let (command_sender, command_receiver) = std::sync::mpsc::channel(); let (result_sender, result_receiver) = futures::channel::mpsc::channel(0); - let thread_handle = spawn(move || run_thread(cpu_slot, command_receiver, result_sender)); + let _thread_handle = spawn(move || run_thread(cpu_slot, command_receiver, result_sender)); let is_running = AtomicBool::new(false); return Ok(Box::new(WasmEngine { command_sender, result_receiver, - thread_handle: Some(thread_handle), + // thread_handle: Some(thread_handle), is_running, })); } @@ -301,27 +289,21 @@ impl Driver for WasmDriver { // which is not used by the wasm module by default // the heap base and end pointers are passed via system data - let mut context = if WASM_MEM_ON_HEAP { - static_domain.acquire_context(wasm_mem_size, 0)? - } else { - static_domain.acquire_context(sdk_heap_size, sdk_heap_base)? - }; + let mut context = static_domain.acquire_context(wasm_mem_size)?; let ctx_size = match WASM_MEM_ON_HEAP { true => wasm_mem_size, false => sdk_heap_size, }; - let (static_positions, static_items) = match WASM_MEM_ON_HEAP { - true => { - let pos = Position { - offset: 0, - size: sdk_heap_base, - }; - let item = DataItem { ident: "".into(), data: pos.clone(), key: 0 }; - (vec![pos], vec![item]) - }, - false => (vec![], vec![]), + let (static_positions, static_items) = { + // let pos = Position { + // offset: 0, + // size: sdk_heap_base, + // }; + // let item = DataItem { ident: "".into(), data: pos.clone(), key: 0 }; + // (vec![pos], vec![item]) + (vec![], vec![]) }; // there must be one data set, which would normally describe the sections to be copied diff --git a/machine_interface/src/function_driver/load_utils.rs b/machine_interface/src/function_driver/load_utils.rs index fdf4dc59..a2b63c17 100644 --- a/machine_interface/src/function_driver/load_utils.rs +++ b/machine_interface/src/function_driver/load_utils.rs @@ -24,7 +24,7 @@ pub fn load_static( static_context: &Context, requirement_list: &DataRequirementList, ) -> DandelionResult { - let mut function_context = domain.acquire_context(requirement_list.size, static_context.base_offset)?; + let mut function_context = domain.acquire_context(requirement_list.size)?; if static_context.content.len() != 1 { return Err(DandelionError::ConfigMissmatch); @@ -54,10 +54,9 @@ pub fn load_static( position.size, )?; max_end = core::cmp::max(max_end, requirement.offset + requirement.size); - function_context.occupy_space(position.offset, max_end)?; } // round up to next page - // max_end = ((max_end + 4095) / 4096) * 4096; - // function_context.occupy_space(0, max_end)?; + max_end = ((max_end + 4095) / 4096) * 4096; + function_context.occupy_space(0, max_end)?; return Ok(function_context); } diff --git a/machine_interface/src/interface.rs b/machine_interface/src/interface.rs index 7a32992f..a53ea990 100644 --- a/machine_interface/src/interface.rs +++ b/machine_interface/src/interface.rs @@ -38,6 +38,7 @@ macro_rules! usize_ptr { }; } +#[allow(dead_code)] pub mod _32_bit { use super::*; @@ -53,6 +54,7 @@ pub mod _32_bit { pub type DandelionSystemData = super::DandelionSystemData; } +#[allow(dead_code)] pub mod _64_bit { use super::*; @@ -68,6 +70,7 @@ pub mod _64_bit { pub type DandelionSystemData = super::DandelionSystemData; } +#[allow(dead_code)] pub mod _native { use super::*; @@ -239,7 +242,7 @@ pub fn setup_input_structs let input_buffers_offset: PtrT = ptr_t!(context.get_free_space_and_write_slice(&input_buffers[..])? as usize); let heap_begin: PtrT = ptr_t!(context.get_last_item_end()); - let heap_end: PtrT = ptr_t!(context.base_offset + context.size - 128); + let heap_end: PtrT = ptr_t!(context.size - 128); // fill in data for input sets // input set number and pointer (offset) diff --git a/machine_interface/src/lib.rs b/machine_interface/src/lib.rs index 9914a22b..e57634de 100644 --- a/machine_interface/src/lib.rs +++ b/machine_interface/src/lib.rs @@ -1,7 +1,7 @@ pub mod function_driver; pub mod memory_domain; -#[cfg(any(feature = "cheri", feature = "mmu"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm"))] mod interface; pub mod util; diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 2c232fb7..212dce4c 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -58,13 +58,9 @@ pub struct Context { pub context: ContextType, pub content: Vec>, pub size: usize, - pub base_offset: usize, occupation: Vec, } -// the base_offset ensures that all positions are in [base_offset, base_offset+size] -// all offset values handled here are absolute and should always be >=base_offset - impl ContextTrait for Context { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { self.context.write(offset, data) @@ -75,16 +71,15 @@ impl ContextTrait for Context { } impl Context { - pub fn new(con: ContextType, size: usize, base_offset: usize) -> Self { + pub fn new(con: ContextType, size: usize) -> Self { return Context { context: con, content: vec![], size, - base_offset, occupation: vec![ - Position { offset: base_offset, size: 0 }, + Position { offset: 0, size: 0 }, Position { - offset: base_offset+size, + offset: size, size: 0, }, ], @@ -121,7 +116,7 @@ impl Context { } /// Make sure all space between offset and size is marked as occupied, ignoring overlap with previous occupation pub fn occupy_space(&mut self, offset: usize, size: usize) -> DandelionResult<()> { - if offset - self.base_offset + size > self.size { + if offset + size > self.size { return Err(DandelionError::InvalidWrite); } let insertion_index = self @@ -145,7 +140,7 @@ impl Context { // space start holds previous start let mut space_size = self.size + 1; let mut index = 0; - let mut start_address = self.base_offset; + let mut start_address = 0; for (window_index, occupied) in self.occupation.windows(2).enumerate() { let lower_end = occupied[0].offset + occupied[0].size; // TODO use next multiple of when stabilized @@ -177,9 +172,9 @@ impl Context { pub fn clear_metadata(&mut self) -> () { self.content = vec![]; self.occupation = vec![ - Position { offset: self.base_offset, size: 0 }, + Position { offset: 0, size: 0 }, Position { - offset: self.base_offset + self.size, + offset: self.size, size: 0, }, ]; @@ -191,7 +186,7 @@ pub trait MemoryDomain: Sync + Send { fn init(config: Vec) -> DandelionResult> where Self: Sized; - fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult; + fn acquire_context(&self, size: usize) -> DandelionResult; } // Code to specialize transfers between different domains @@ -211,7 +206,7 @@ pub fn transefer_memory( source_offset, size, ) - } + }, #[cfg(feature = "cheri")] (ContextType::Cheri(destination_ctxt), ContextType::Cheri(source_ctxt)) => { cheri::cheri_transfer( @@ -221,15 +216,16 @@ pub fn transefer_memory( source_offset, size, ) - } + }, #[cfg(feature = "mmu")] - (ContextType::Mmu(destination_ctxt), ContextType::Mmu(source_ctxt)) => mmu::mmu_transfer( - destination_ctxt, - source_ctxt, - destination_offset, - source_offset, - size, - ), + (ContextType::Mmu(destination_ctxt), ContextType::Mmu(source_ctxt)) => { + mmu::mmu_transfer( + destination_ctxt, + source_ctxt, + destination_offset, + source_offset, + size, + ) }, #[cfg(feature = "wasm")] (ContextType::Wasm(destination_ctxt), ContextType::Wasm(source_ctxt)) => { diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index 7dfe199a..a3683abb 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -5,12 +5,10 @@ use dandelion_commons::{DandelionError, DandelionResult}; // produces binary pattern 0b0101_01010 or 0x55 const BYTEPATTERN: u8 = 85; -// TODO parameterize base offset - fn acquire(arg: Vec, acquisition_size: usize, expect_success: bool) -> () { let init_result = D::init(arg); let domain = init_result.expect("should have initialized memory domain"); - let context_result = domain.acquire_context(acquisition_size, 0); + let context_result = domain.acquire_context(acquisition_size); match (expect_success, context_result) { (true, Ok(_)) | (false, Err(DandelionError::OutOfMemory)) => assert!(true), (false, Ok(_)) => assert!( @@ -41,7 +39,7 @@ fn write( ) { let domain = init_domain::(arg); let mut context = domain - .acquire_context(context_size, 0) + .acquire_context(context_size) .expect("Single byte context should always be allocatable"); let write_error = context.write(offset, &vec![BYTEPATTERN; size]); match (expect_success, write_error) { @@ -60,7 +58,7 @@ fn read( ) { let domain = init_domain::(arg); let mut context = domain - .acquire_context(context_size, 0) + .acquire_context(context_size) .expect("Context should always be allocatable"); context .write(0, &vec![BYTEPATTERN; context_size]) @@ -78,10 +76,10 @@ fn read( fn transefer(arg: Vec, size: usize) { let domain = init_domain::(arg); let mut destination = domain - .acquire_context(size, 0) + .acquire_context(size) .expect("Context should be allocatable"); let mut source = domain - .acquire_context(size, 0) + .acquire_context(size) .expect("Context should be allocatable"); source .write(0, &vec![BYTEPATTERN; size]) @@ -106,10 +104,10 @@ fn transfer_item( ) { let domain = init_domain::(arg); let mut destination = domain - .acquire_context(context_size, 0) + .acquire_context(context_size) .expect("Context should be allocatable"); let mut source = domain - .acquire_context(context_size, 0) + .acquire_context(context_size) .expect("Context should be allocatable"); source .write(offset, &vec![BYTEPATTERN; item_size]) diff --git a/machine_interface/src/memory_domain/malloc.rs b/machine_interface/src/memory_domain/malloc.rs index 9ad0c2dc..daf7658e 100644 --- a/machine_interface/src/memory_domain/malloc.rs +++ b/machine_interface/src/memory_domain/malloc.rs @@ -58,7 +58,7 @@ impl MemoryDomain for MallocMemoryDomain { fn init(_config: Vec) -> DandelionResult> { Ok(Box::new(MallocMemoryDomain {})) } - fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { + fn acquire_context(&self, size: usize) -> DandelionResult { let mut mem_space = Vec::new(); if (mem_space.try_reserve_exact(size)) != Ok(()) { return Err(DandelionError::OutOfMemory); @@ -67,7 +67,6 @@ impl MemoryDomain for MallocMemoryDomain { return Ok(Context::new( ContextType::Malloc(Box::new(MallocContext { storage: mem_space })), size, - base_offset, )); } } diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index cbebfd08..f2939ac7 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -1,5 +1,3 @@ -use std::{rc::Rc, cell::RefCell, borrow::BorrowMut, sync::Arc, sync::Mutex, ops::{Deref, DerefMut}}; - use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; use crate::interface::_32_bit::DandelionSystemData; @@ -14,9 +12,9 @@ pub struct WasmLayoutDescription { #[derive(Debug)] pub struct WasmContext { - pub base_offset: usize, pub layout: Option, pub data: Vec, + pub virtual_size: usize, pub sdk_sysdata: DandelionSystemData, } @@ -47,7 +45,7 @@ impl ContextTrait for WasmContext { // - these will not be within the region [base_offset..sdk_heap_end] // - we just ignore these writes - else if offset < self.base_offset { + else if self.layout.as_ref().is_some_and(|l| l.sdk_heap_base > offset) { return Ok(()); } @@ -55,9 +53,9 @@ impl ContextTrait for WasmContext { // - we check that the offset is within the sdk heap region and then // copy the data into the sdk heap memory - else if offset >= self.base_offset { + else { let write_size = data.len() * std::mem::size_of::(); - let base = self.base_offset; + let base = self.virtual_size - self.data.len(); if offset < base || offset + write_size > base + self.data.len() { return Err(DandelionError::InvalidWrite); } @@ -68,19 +66,15 @@ impl ContextTrait for WasmContext { return Ok(()); } - return Err(DandelionError::InvalidWrite); - } else { let write_size = data.len() * std::mem::size_of::(); - let base = self.base_offset; - - if offset < base || offset + write_size > base + self.data.len() { + if offset + write_size > self.data.len() { return Err(DandelionError::InvalidWrite); } let data_bytes: &[u8] = unsafe { std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) }; - self.data[offset-base..offset-base+write_size].copy_from_slice(data_bytes); + self.data[offset..offset+write_size].copy_from_slice(data_bytes); return Ok(()); } @@ -90,7 +84,7 @@ impl ContextTrait for WasmContext { let self_data = &self.data; let self_sdk_data = &self.sdk_sysdata; - let base = self.base_offset; + let base = if WASM_MEM_ON_HEAP { 0 } else { self.virtual_size - self_data.len() }; let read_size = read_buffer.len() * std::mem::size_of::(); if offset >= base && offset + read_size < base + self_data.len() { @@ -126,11 +120,12 @@ impl ContextTrait for WasmContext { } impl WasmContext { - pub fn new(size: usize, base_offset: usize) -> WasmContext { + pub fn new(size: usize) -> WasmContext { + let actual_size = if WASM_MEM_ON_HEAP { size } else { 0 }; WasmContext { - base_offset, layout: None, - data: vec![0; size], + data: vec![0; actual_size], + virtual_size: size, sdk_sysdata: DandelionSystemData::default(), } } @@ -145,6 +140,9 @@ impl WasmContext { sdk_heap_size, sdk_sysdata_offset, }); + if !WASM_MEM_ON_HEAP { + self.data = vec![0; sdk_heap_size]; + } } } @@ -155,8 +153,8 @@ impl MemoryDomain for WasmMemoryDomain { fn init(_config: Vec) -> DandelionResult> { Ok(Box::new(WasmMemoryDomain {})) } - fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { - Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size, base_offset))), size, base_offset)) + fn acquire_context(&self, size: usize) -> DandelionResult { + Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size))), size)) } } @@ -167,14 +165,11 @@ pub fn wasm_transfer( source_offset: usize, size: usize, ) -> DandelionResult<()> { - // No need to copy anything before sdk heap region - // This is a hack to make the elf loader work - if source_offset == 0 { return Ok(()); }; - - if source_offset < source.base_offset || size > destination.data.len() { + if source_offset + size > source.virtual_size { return Err(DandelionError::InvalidRead); } destination.data[destination_offset..destination_offset + size] .copy_from_slice(&source.data[source_offset..source_offset + size]); + Ok(()) } From 9d1b10498101a85cf042b8a9ad7f8e9da9f4b270 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 15 Nov 2023 22:09:01 +0100 Subject: [PATCH 15/91] make wasm context the full wasm memory --- machine_interface/src/function_driver.rs | 15 -- .../function_driver/compute_driver/wasm.rs | 62 +------- machine_interface/src/memory_domain/wasm.rs | 141 +++--------------- .../tests/data/test_sysld_wasm_basic | Bin 852584 -> 846960 bytes .../tests/data/test_sysld_wasm_matmul | Bin 856848 -> 851320 bytes 5 files changed, 27 insertions(+), 191 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 4248c7e1..14e3e8c1 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -58,22 +58,7 @@ impl Function { FunctionConfig::SysConfig(_) => domain.acquire_context(self.requirements.size), FunctionConfig::WasmConfig(c) => { let mut context = domain.acquire_context(c.wasm_mem_size)?; - context.occupy_space(0, c.sdk_heap_base)?; - - let ctx = &mut context.context; - let wasm_ctx_box = match ctx { - ContextType::Wasm(wasm_ctx) => wasm_ctx, - _ => { - return Err(DandelionError::ConfigMissmatch); - } - }; - wasm_ctx_box.prepare_for_inputs( - c.sdk_heap_base, - c.sdk_heap_size, - c.system_data_struct_offset, - ); - Ok(context) }, }; diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index c71be172..09c99eb1 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -20,20 +20,7 @@ use std::{ }; use libloading::{Library, Symbol}; -#[allow(dead_code)] -struct WasmStackInit<'a> { - dandelion_sdk_heap: &'a mut[u8], - sdk_system_data: &'a mut DandelionSystemData, -} -#[allow(dead_code)] -struct WasmHeapInit<'a> { - wasm_mem: &'a mut [u8], -} -enum WasmInit<'a> { - Stack(WasmStackInit<'a>), - Heap(WasmHeapInit<'a>), -} -type WasmEntryPoint = fn(WasmInit) -> Option; +type WasmEntryPoint = fn(&mut [u8]) -> Option; struct WasmCommand { lib: Arc, @@ -70,20 +57,8 @@ fn run_thread( _ => panic!("invalid context type"), }; - let ret = if WASM_MEM_ON_HEAP { - let arg = WasmInit::Heap(WasmHeapInit { - wasm_mem: &mut wasm_context.data, - }); - entry_point(arg) - } else { - let sdk_heap: &mut [u8] = wasm_context.data.as_mut_slice(); - let sdk_sysdata: &mut DandelionSystemData = &mut wasm_context.sdk_sysdata; - let arg = WasmInit::Stack(WasmStackInit { - dandelion_sdk_heap: sdk_heap, - sdk_system_data: sdk_sysdata - }); - entry_point(arg) - }; + // call entry point + let ret = entry_point(&mut wasm_context.mem); // put context back *guard = Some(ctx); @@ -223,8 +198,6 @@ impl Engine for WasmEngine { } } -pub const WASM_MEM_ON_HEAP: bool = true; - pub struct WasmDriver {} impl Driver for WasmDriver { @@ -284,33 +257,14 @@ impl Driver for WasmDriver { let sdk_heap_size = call!("get_sdk_heap_size", fn() -> usize); let wasm_mem_size = call!("get_wasm_mem_size", fn() -> usize); - // the sdk needs a heap base pointer for `dandelion_alloc()` - // we define the sdk's heap to be the end of the wasm heap - // which is not used by the wasm module by default - // the heap base and end pointers are passed via system data - let mut context = static_domain.acquire_context(wasm_mem_size)?; - - let ctx_size = match WASM_MEM_ON_HEAP { - true => wasm_mem_size, - false => sdk_heap_size, - }; - - let (static_positions, static_items) = { - // let pos = Position { - // offset: 0, - // size: sdk_heap_base, - // }; - // let item = DataItem { ident: "".into(), data: pos.clone(), key: 0 }; - // (vec![pos], vec![item]) - (vec![], vec![]) - }; - // there must be one data set, which would normally describe the sections to be copied + // there must be one data set, which would normally describe the + // elf sections to be copied context.content = vec![Some( DataSet { ident: String::from("static"), - buffers: static_items, + buffers: vec![], } )]; Ok(Function { @@ -322,8 +276,8 @@ impl Driver for WasmDriver { system_data_struct_offset: sd_struct_offset, }), requirements: DataRequirementList { - size: ctx_size, - static_requirements: static_positions, + size: wasm_mem_size, + static_requirements: vec![], input_requirements: vec![], }, context, diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index f2939ac7..8594d41d 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -1,21 +1,9 @@ use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; -use crate::interface::_32_bit::DandelionSystemData; -use crate::function_driver::compute_driver::wasm::WASM_MEM_ON_HEAP; - -#[derive(Debug)] -pub struct WasmLayoutDescription { - pub sdk_heap_base: usize, - pub sdk_heap_size: usize, - pub sdk_sysdata_offset: usize, -} #[derive(Debug)] pub struct WasmContext { - pub layout: Option, - pub data: Vec, - pub virtual_size: usize, - pub sdk_sysdata: DandelionSystemData, + pub mem: Vec, } unsafe impl Send for WasmContext {} @@ -23,125 +11,35 @@ unsafe impl Sync for WasmContext {} impl ContextTrait for WasmContext { fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { - - if !WASM_MEM_ON_HEAP { - - // 1. the function driver is trying to write the DandelionSystemData struct - // - we check that the offset is correct and then copy the data into - // the system data struct (not into the sdk heap memory) - - if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { - // let layout = (&mut self.layout).as_mut().unwrap(); - - if data.len() != 1 { return Err(DandelionError::InvalidWrite); } - let data = &data[0]; - self.sdk_sysdata = unsafe { // copy from data buffer - std::mem::transmute_copy::(data) - }; - return Ok(()); - } - - // 2. the function driver is trying to copy binary sections - // - these will not be within the region [base_offset..sdk_heap_end] - // - we just ignore these writes - - else if self.layout.as_ref().is_some_and(|l| l.sdk_heap_base > offset) { - return Ok(()); - } - - // 3. the function driver is trying to write to the sdk heap - // - we check that the offset is within the sdk heap region and then - // copy the data into the sdk heap memory - - else { - let write_size = data.len() * std::mem::size_of::(); - let base = self.virtual_size - self.data.len(); - if offset < base || offset + write_size > base + self.data.len() { - return Err(DandelionError::InvalidWrite); - } - let data_bytes: &[u8] = unsafe { - std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) - }; - self.data[offset-base..offset-base+write_size].copy_from_slice(data_bytes); - return Ok(()); - } - - } else { - let write_size = data.len() * std::mem::size_of::(); - if offset + write_size > self.data.len() { - return Err(DandelionError::InvalidWrite); - } - let data_bytes: &[u8] = unsafe { - std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) - }; - self.data[offset..offset+write_size].copy_from_slice(data_bytes); - return Ok(()); + let write_size = data.len() * std::mem::size_of::(); + if offset + write_size > self.mem.len() { + return Err(DandelionError::InvalidWrite); } - + let data_bytes: &[u8] = unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u8, write_size) + }; + self.mem[offset..offset+write_size].copy_from_slice(data_bytes); + Ok(()) } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { - - let self_data = &self.data; - let self_sdk_data = &self.sdk_sysdata; - - let base = if WASM_MEM_ON_HEAP { 0 } else { self.virtual_size - self_data.len() }; + let self_data = &self.mem; let read_size = read_buffer.len() * std::mem::size_of::(); - - if offset >= base && offset + read_size < base + self_data.len() { - if offset < base || offset + read_size > base + self_data.len() { - return Err(DandelionError::InvalidRead); - } - let data_bytes: &[u8] = &self_data[offset-base..offset-base+read_size]; + if offset + read_size < self_data.len() { + let data_bytes: &[u8] = &self_data[offset..offset+read_size]; unsafe { (read_buffer.as_mut_ptr() as *mut u8).copy_from(data_bytes.as_ptr(), read_size) }; - return Ok(()); - } - - else if self.layout.as_ref().is_some_and(|l| l.sdk_sysdata_offset == offset) { - // trying to read the DandelionSystemData struct - if read_buffer.len() != 1 { return Err(DandelionError::InvalidRead); } - read_buffer[0] = unsafe { - std::mem::transmute_copy::(&self_sdk_data) - }; - return Ok(()); - } - - // turns out, if identifier lengths are 0 their positions is set to - // 0 as well, but the interface still tries to read them - else if offset == 0 { - return Ok(()); - } - - else { - return Err(DandelionError::InvalidRead); + Ok(()) + } else { + Err(DandelionError::InvalidRead) } } } impl WasmContext { pub fn new(size: usize) -> WasmContext { - let actual_size = if WASM_MEM_ON_HEAP { size } else { 0 }; WasmContext { - layout: None, - data: vec![0; actual_size], - virtual_size: size, - sdk_sysdata: DandelionSystemData::default(), - } - } - pub fn prepare_for_inputs( - &mut self, - sdk_heap_base: usize, - sdk_heap_size: usize, - sdk_sysdata_offset: usize - ) { - self.layout = Some(WasmLayoutDescription { - sdk_heap_base, - sdk_heap_size, - sdk_sysdata_offset, - }); - if !WASM_MEM_ON_HEAP { - self.data = vec![0; sdk_heap_size]; + mem: vec![0; size], } } } @@ -165,11 +63,10 @@ pub fn wasm_transfer( source_offset: usize, size: usize, ) -> DandelionResult<()> { - if source_offset + size > source.virtual_size { + if source_offset + size > source.mem.len() { return Err(DandelionError::InvalidRead); } - destination.data[destination_offset..destination_offset + size] - .copy_from_slice(&source.data[source_offset..source_offset + size]); - + destination.mem[destination_offset..destination_offset + size] + .copy_from_slice(&source.mem[source_offset..source_offset + size]); Ok(()) } diff --git a/machine_interface/tests/data/test_sysld_wasm_basic b/machine_interface/tests/data/test_sysld_wasm_basic index 1f14e9042132e9bd14555dc7a3ac957d48603465..49720385df5d6478a6bf25b8e58b57ea0187131c 100755 GIT binary patch delta 53556 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 delta 35134 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_matmul b/machine_interface/tests/data/test_sysld_wasm_matmul index ac6aba12f1726f981d5618bf30f8e3a39540e4fa..f5e72765e5468c39d9d3c2c0631dbf0a7fb8f2fe 100755 GIT binary patch delta 28037 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 wNWY=v3${xV@|s1M9dr? delta 59184 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 Date: Fri, 17 Nov 2023 15:10:37 +0100 Subject: [PATCH 16/91] Add wasm libloading dependency to cargo --- machine_interface/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 847acdfa..5a84cd4a 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -8,7 +8,7 @@ std = [] cheri = ["std"] mmu = ["std"] hyper_io = ["std", "dep:hyper"] -wasm = [] +wasm = ["dep:libloading"] [build-dependencies] cmake = "0.1" @@ -30,7 +30,7 @@ core_affinity = { version = "0.8"} futures = { version = "0.3.28" } tokio = { version = "1", features = ["full"] } hyper = { version = "0.14", optional = true, features = ["http1", "http2", "client", "runtime"]} -libloading = { version = "0.8.1" } +libloading = { version = "0.8.1", optional = true } # disable benchmarks in library, to not run all unit tests on every benchmark # also needs to be disabled for criterion flags to work that are not available for tests @@ -47,4 +47,4 @@ harness = false [[bench]] name = "mmu_benchmark" -harness = false \ No newline at end of file +harness = false From 371b89a49739f80228e4a25b206370bf1f6f8a1a Mon Sep 17 00:00:00 2001 From: tom-kuchler <87128754+tom-kuchler@users.noreply.github.com> Date: Fri, 17 Nov 2023 15:12:36 +0100 Subject: [PATCH 17/91] Undoing premature changes --- machine_interface/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 5a84cd4a..b44482c1 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -8,7 +8,7 @@ std = [] cheri = ["std"] mmu = ["std"] hyper_io = ["std", "dep:hyper"] -wasm = ["dep:libloading"] +wasm = [] [build-dependencies] cmake = "0.1" @@ -30,7 +30,7 @@ core_affinity = { version = "0.8"} futures = { version = "0.3.28" } tokio = { version = "1", features = ["full"] } hyper = { version = "0.14", optional = true, features = ["http1", "http2", "client", "runtime"]} -libloading = { version = "0.8.1", optional = true } +libloading = { version = "0.8.1" } # disable benchmarks in library, to not run all unit tests on every benchmark # also needs to be disabled for criterion flags to work that are not available for tests From e931f9345558c1556120cec356f608e884aad100 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 17 Nov 2023 15:30:28 +0100 Subject: [PATCH 18/91] remove base offset from cheri memory domain --- machine_interface/src/memory_domain/cheri.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machine_interface/src/memory_domain/cheri.rs b/machine_interface/src/memory_domain/cheri.rs index d0e1c330..121478a4 100644 --- a/machine_interface/src/memory_domain/cheri.rs +++ b/machine_interface/src/memory_domain/cheri.rs @@ -98,7 +98,7 @@ impl MemoryDomain for CheriMemoryDomain { fn init(_config: Vec) -> DandelionResult> { Ok(Box::new(CheriMemoryDomain {})) } - fn acquire_context(&self, size: usize, base_offset: usize) -> DandelionResult { + fn acquire_context(&self, size: usize) -> DandelionResult { let cheri_context; unsafe { cheri_context = cheri_alloc(size); @@ -110,7 +110,7 @@ impl MemoryDomain for CheriMemoryDomain { context: cheri_context, size: size, }); - return Ok(Context::new(ContextType::Cheri(new_context), size, base_offset)); + return Ok(Context::new(ContextType::Cheri(new_context), size)); } } From e55f14d3c7578f66c03d649e5f971539463bcc90 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sat, 18 Nov 2023 13:51:15 +0100 Subject: [PATCH 19/91] update wasm driver tests --- .../compute_driver/compute_driver_tests.rs | 3 ++- ...d_wasm_basic => test_sysld_wasm_x64_basic} | Bin 846960 -> 846960 bytes .../tests/data/test_sysld_wasm_x64_matmac | Bin 0 -> 851504 bytes ...wasm_matmul => test_sysld_wasm_x64_matmul} | Bin 851320 -> 851416 bytes 4 files changed, 2 insertions(+), 1 deletion(-) rename machine_interface/tests/data/{test_sysld_wasm_basic => test_sysld_wasm_x64_basic} (99%) create mode 100755 machine_interface/tests/data/test_sysld_wasm_x64_matmac rename machine_interface/tests/data/{test_sysld_wasm_matmul => test_sysld_wasm_x64_matmul} (99%) diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 8b38e601..1fb2c0d3 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -524,6 +524,7 @@ mod compute_driver_tests { mod wasm { use crate::function_driver::compute_driver::wasm::WasmDriver; use crate::memory_domain::wasm::WasmMemoryDomain; - driverTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); + #[cfg(target_arch = "x86_64")] + driverTests!(sysld_wasm_x64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } } \ No newline at end of file diff --git a/machine_interface/tests/data/test_sysld_wasm_basic b/machine_interface/tests/data/test_sysld_wasm_x64_basic similarity index 99% rename from machine_interface/tests/data/test_sysld_wasm_basic rename to machine_interface/tests/data/test_sysld_wasm_x64_basic index 49720385df5d6478a6bf25b8e58b57ea0187131c..d12fcb4f9270d68cdb0bbc24d1f35cdbd9ae732e 100755 GIT binary patch delta 98 zcmexx!}!Au;|(56BF{Fp$@|KGy!fS47C*?^cGh&h0m6NtHhn0tGvAkXhx0Ag|?YXATM delta 98 zcmexx!}!Au;|(56B5uns%@Le^^+CiTE<>mJ?IGD*o{F1en4a@7F*8hd71U#5WN0oG oY%djL1Y#y2W(HywAZ7((HXvpPVh$kY1Y#~A=H6Z^$n*Oa0QE~C&Hw-a diff --git a/machine_interface/tests/data/test_sysld_wasm_x64_matmac b/machine_interface/tests/data/test_sysld_wasm_x64_matmac new file mode 100755 index 0000000000000000000000000000000000000000..1bcfbb2d41156f35d3c3494dd35dda137d9ee86f GIT binary patch literal 851504 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 z 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

uKQ}MLN zpnkoSLXY>oaV@lSEvFZ8Sti4uhj43D_7|h6$XPh-hNgoma0m_#mXQ5x= z-4@7Mh*#({*|`+EDfoqc@_oozY+O#sts9v5UP1=(=Z_rUzEoh8@+`-T?>9v41&$Zr zV+j03ju+p72>cAk52wh#BI8%E&kI6c>R|B2^e>VJV&S|lmGK64G(~l?*QYS+pa_RsMJZkN2? z&f^s>#vbQ*Az$G4aXCNa3u?bIf!M2@Uf>1&k2qfFFYrI%c%i4j|AOO-QvB*o8NYB` z%wSw>T!epay-i3~%C{j$!!lVao@y79a}M-mH!+S8F77rg^cuvs)VNwA<8v0o$vc53 zIig=RT+Wv`z4%UsquJ9k{ld8SRp99>E%9BNpnp-OUl{-d?b##w zI)mMNSWCC3!zX!rJ397&MFmNq3?`A{(=BgP*KVIzYU%B44kAx0ZmDvVwRl@9Jr$KL zWi1Zx`sN+IXnXbUVjKM_r9Wl#$4-CB=}!gJFLuy(U?fc1;p_Budr0N-$_k&?Ug~J} z+PwD4sySKSVw)_?R?4KmyVvGez-cRa5TBrJ>+<%t`zlB^sm$i^+k6gRrKh>fTiR^* zdOh9^)VQte8e}+R88#b)l$KYOJ8UHmhr?6qDQ|Axa1HE=3gzH-R5~gvJS|NvWlb&R zO_e3r!p$2m1-s8@Z)vKu`zk7ZRb}3irfXqW8n=VnTkfdzRhE@hlz2-@fl&G{kAtoJ zn!8Z}NiEIxCJczf(b81qXezfUk}!_2r$hc*NqcEqh%59ZZcCvN-XYO@w+gt~U_=NGA<=GsV9dIvSJ6u$8bFyYt zd3jlLQ(0Myy{f9E0=)oLPnYBeC4Cl2?hX__bCou@cn@6ljZB_0*U*a!4l&g&$9T+$Wb(@>iNk-&4xp zeJ=iO=SO@IN*{X4dR*m`&6JNzS#i&vj-aOrWw2W*{o<*!E9fiU(b-$v)Z5zbUEk_u zGUWI4_*t=cPbWB)GT6dvCq$=liv$o z0Vy0xm{K^zGX#4&TAQIj7i1|intFOzF@j_VVxMYx_&-0=IR&L!a{7QW%JU>qu1=AR z}?c`*uTz|TpwzeWC(uR$Iw-SoA9E2 zvCkEy$VWgTUtF93nF~)OTkwnhuqeZvGF5-kek13v<#giwM3myZh4}Fe=mPye2OQ}% zmj?5Em+?}x0}}a4wf}>_s`)LPPn0zZ+uUFJeMWsX0Z{Wl%=tx`k*B6se&11J{3-lm zUoT3rPZd0=`gd}E?DXVI?Egh+<#YWFM4q;v9h{2Ch_k0gLik&@9J2=U<#(e~tYA2ww6X!7uV{@qZw` zL7l@T`YqZOe(+t?5sBaz=N&KIPF(mu4@xojSMZDSWz?wo=kj#!_<~LdNQM6m6@(M* zi}MqF3nX8u^t?MtCH_v}CLAZ9!wY_C4x>B>esw8)M@{PI0wY`j+D6`wTj(R^C2bRh i?rMHZl>)sY49_b?yMmTt!eaby-K9`O1tBj}`TrOF*b5B+ literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_sysld_wasm_x64_basic b/machine_interface/tests/data/test_sysld_wasm_basic similarity index 99% rename from machine_interface/tests/data/test_sysld_wasm_x64_basic rename to machine_interface/tests/data/test_sysld_wasm_basic index d12fcb4f9270d68cdb0bbc24d1f35cdbd9ae732e..bcdd68fc3be013245dacfc3992da062cf3d5bf84 100755 GIT binary patch delta 119 zcmexx!}!Au;|(56B36fLIqrC@4LaxhnnSrTMnyKaX J7Y}$kxB;PnDIov= delta 119 zcmexx!}!Au;|(56BF{Fp$@|Kdxm2*d zRFDyfnShuXh*^M`6^Pk@m>q~YfS41Axqz5^d#NB#@_7LZ6Z0fi KFCOr8a039A94U(c diff --git a/machine_interface/tests/data/test_sysld_wasm_x64_matmac b/machine_interface/tests/data/test_sysld_wasm_matmac similarity index 99% rename from machine_interface/tests/data/test_sysld_wasm_x64_matmac rename to machine_interface/tests/data/test_sysld_wasm_matmac index 1bcfbb2d41156f35d3c3494dd35dda137d9ee86f..02e925135796c71de883f06c701dbc40328a8e2b 100755 GIT binary patch delta 119 zcmdn+$9Mw}c`%6>PAbt5y?kn>%(jcuCb~be_^59gvpI(81s@~FWLH6bMvmrE!S+%? zMj&PaVrC#_0b*7lW&>h&Am#vKP9Ww2V(#swf;_kH3m7LFSXfvXCMB8~m>Q*-T5eDH I$a8@Q06h#SW&i*H delta 119 zcmdn+$9Mw}c`%8@oj#$_*wy4{wqt#xZa1r@6DRZ9%`r?b_!wCxy9(+vvNV?pwwDSr z0x=U1GXpUT5VHa?8xXStF$WNH0x=g5b8jydu35c12m<5PgftU@5*@2h?h&h3n3y8V5mkRP6zAs>$XkcMsVVIO?W?*WRW@@?J J<0H=m9sty3CkOxl delta 119 zcmccd+xW(B;|(56A}$4sB-5T=tNFn6dxm2*d zRFDyfnShuXh*^M`6^Pk@m>q~YfS41Axqz5^d#NDL;rjv>Cgw@zM#+guiIxUwmS!p2 KJwEbG-~j;1lPTE% From 9cfbbde837f594b1f4a48845d5dd58b44a9a4b3d Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 21 Nov 2023 16:16:49 +0100 Subject: [PATCH 27/91] update wasm test files (again) --- dispatcher/tests/dispatcher_tests.rs | 3 ++- .../compute_driver/compute_driver_tests.rs | 3 ++- .../tests/data/test_sysld_wasm_aarch64_busy | Bin 0 -> 17608 bytes .../tests/data/test_sysld_wasm_basic | Bin 846960 -> 0 bytes .../tests/data/test_sysld_wasm_matmac | Bin 851504 -> 0 bytes .../tests/data/test_sysld_wasm_matmul | Bin 851416 -> 0 bytes .../tests/data/test_sysld_wasm_x64_basic | Bin 846960 -> 0 bytes .../tests/data/test_sysld_wasm_x64_matmac | Bin 851504 -> 0 bytes .../tests/data/test_sysld_wasm_x64_matmul | Bin 851416 -> 0 bytes .../tests/data/test_sysld_wasm_x86_64_basic | Bin 0 -> 19904 bytes .../tests/data/test_sysld_wasm_x86_64_busy | Bin 0 -> 24432 bytes .../tests/data/test_sysld_wasm_x86_64_matmac | Bin 0 -> 24448 bytes .../tests/data/test_sysld_wasm_x86_64_matmul | Bin 0 -> 24360 bytes 13 files changed, 4 insertions(+), 2 deletions(-) create mode 100755 machine_interface/tests/data/test_sysld_wasm_aarch64_busy delete mode 100755 machine_interface/tests/data/test_sysld_wasm_basic delete mode 100755 machine_interface/tests/data/test_sysld_wasm_matmac delete mode 100755 machine_interface/tests/data/test_sysld_wasm_matmul delete mode 100755 machine_interface/tests/data/test_sysld_wasm_x64_basic delete mode 100755 machine_interface/tests/data/test_sysld_wasm_x64_matmac delete mode 100755 machine_interface/tests/data/test_sysld_wasm_x64_matmul create mode 100755 machine_interface/tests/data/test_sysld_wasm_x86_64_basic create mode 100755 machine_interface/tests/data/test_sysld_wasm_x86_64_busy create mode 100755 machine_interface/tests/data/test_sysld_wasm_x86_64_matmac create mode 100755 machine_interface/tests/data/test_sysld_wasm_x86_64_matmul diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index f747cd1a..83b5e05a 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -610,7 +610,8 @@ mod dispatcher_tests { use machine_interface::{ function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, }; - dispatcherTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); + #[cfg(target_arch = "x86_64")] + dispatcherTests!(sysld_wasm_x86_64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); #[cfg(target_arch = "aarch64")] dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); } diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 026b2880..461fe09b 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -563,7 +563,8 @@ mod compute_driver_tests { mod wasm { use crate::function_driver::compute_driver::wasm::WasmDriver; use crate::memory_domain::wasm::WasmMemoryDomain; - driverTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); + #[cfg(target_arch = "x86_64")] + driverTests!(sysld_wasm_x86_64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); #[cfg(target_arch = "aarch64")] driverTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_busy b/machine_interface/tests/data/test_sysld_wasm_aarch64_busy new file mode 100755 index 0000000000000000000000000000000000000000..43fb3afbdf5ee89635c37b158ff7eb321df77964 GIT binary patch literal 17608 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

A%{W~J6k_{ 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 X^~*8A%VNs^t^aPzf5$7}JvRP7<~o2W diff --git a/machine_interface/tests/data/test_sysld_wasm_matmac b/machine_interface/tests/data/test_sysld_wasm_matmac deleted file mode 100755 index 02e925135796c71de883f06c701dbc40328a8e2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851504 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 z 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�SAKAhd;O=NWJ@` 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

n%Q7g{Cq!XkDh!dn zeF_2Rft>4BixRa}-mtjHMpBGbRPLecp!8^uZP30iIt3x0_|O2;CAH98Oy3HcxvhLI zZ4*^eF__{m*0P2?8NC8$Qa?cEPQ63T$`B%~b0LMF4d7eoWZtx^vAHh~J+U+WYw8A=Gpws0bMn z6F@{b z>2fPfxLfgXl!x9c%I_7%m9955ImzuU(-eYMnEGg;h?2f%)z_C*TwgQx+GZq_R0}EF zg-=~77Yhu!9RC@+x~Z)O5@bvLFHna=$G{*kME^q}HY~ilfm#Pi3ntX>LGw+hSV?dP zX$iA+RGlN;iImd~!PNH9WRPn$6TiT{t$Bv-o2n>_JjjcRsI~GiX5(5EpgYPP&qu@$ zd@P?nb;M^QrHTS{Cz(kEEhY(pIVJRF$ja9#xlvca!Jk7oO8~Ha$k7{RyA8?B)?Bg7 zXu255Eix0wBGe!Tfr3{vSS@XNEn#cW`HJzJ7iW+lm0Li(M5tu73}+SQH!Z_W@3zf) zb>Ukoyyw)LO-e7ptbMh4uM<-4-oiu$*1H358rte1DNc=aj68^`Gl(cMMkO`k1I1<8 zVjJUns;EYD$b?h_Ogfap$c+U1pz7s9cX*inhJl??B`)Iyq(ub!ez^F~HOIqiW0Jf< z5fluX@Xi_M-#UJ}CkwxtX9fg>pkN0h#-ph#se7T~C*CfRD7X-?aH;V;zT`oiOA_&i zQ#H+qz#8SiyC)A`JQZlJ$Etfo$A?5NdE&{r5Gv3;5fd6yOxmIPRzR^CEr-_ zUPxa`QmP_SI4b}LsOf<~*XiWK5edDR^vHf7WQ-8m4lZ0dcngzKSDs0eEw*`%VFVEf zx1|4wx1$K>t7kTJPe~HX7?zWVCX-8Tq@6HGM(jIdIvV0Q2*+GEL||ELnITcQ@U7xT zmUr(&mLFy~c+pr(3J2n%B8YKl^~ZUIs{!hROx;FuVTcDbLm;i%LgR%GQ1|WmDDa`{ zy7)F@&_>I9&os48Qwa2(uW4>@`+_nts~hC(mMIQU$d(*xgmo=%*xK<`l3&*pXEIR~muY5_@r?PBk~+EsU2`8s$ggY8noRKX zJHA0pWa=Ul^*L-c8a`;lbJm@ti613kTN6&`TDH`CZXC1=o~iEJwUK$f4Bx3sj)DX{ zl-9CVPzNM5dY+p!)23tc-$=|hs3n`FF%fPv&~bnS&TG80_~*1&kKn+LD{haJQr9RcQ|L=2|EWF zPUTo^$!H=fN1!+yRsq#gSZ%r%v`K#L!-2Vx>_}u(HzcHb8bd9&xx|t5m`Vg3 zcGKvVq3}QmJ1%V99bSj#+PBYZf`K%oQaza`dE`iLYRT?eaUI)JI&E(#8KZH4Umy-4 z6L2!x(;RlG)AtyuEFv=|#}(uR4j>962W!apUGy`=0`Q?s5G$+avX~LQDd4E zPWrC-&2%m_vx48TuZZgw-a4YVAyP_QPSqUd2lTr1aDnsUPe zvH`AQw7N;kVH6Km23zOnZra@3KAp{xjPY8M!@qQsR5f*U#F?nlw@BDfY2#M2i77cS zAaxYZYkZWZ&oVeJ7o4!{7?$5^L4r5+rB723e(t8~uS#MfhbOEWgjEC6h&G9A)$b>H zDk3k0YQ^BuA$Cc=d;NHpF*_3JtO}0Ggd_kM<^wi_YkM&!cN7dM2hwa(_c~^T4)Mo` z3a2c`f@7fRI7vcS6GJPb-Z$z#BrL7^Iy_5wY__b6cIQ!uVKJ0afo- zUnA<7lpub$JXl@Lq-rXTDbOIo$ni);G9>|aq*bez#vq~N{)Yk5Q>!rPG^DG96dwY1ZGM)(<}Nb7g)Agjwo8wo+-ADA~6;u22tui&!C?^nJ`el-^0!LDCbv@kTgBoOh3PRgk+Lc% zEXak3^5wN-mRMRdM|!+ua7OM&0YG7jsZADaX#1fLa%<#P*O^%aHx;~8CN-)7sNt(? z?InZF^_A#6nGDjmOBDNdK<|X#8nZ|cQmU_H2eX#jpfhWtmGig51+I?`MN9I2)TsMsW}wgyqMj7GaE7sOS}g~?@j zU@cby^~nA-T|^!Aq|A=fW+UNzM6Hls%U||TT#w}BtA}c7RaSnTYe+U%Ml7p^?kHGV z*qe14;?8pOFKiS=>HvZ{ie_pVBzO=jh%ErI^8(*LJ#~@o;-dA%$rtB=(a_K)@~7d{ z#hCbH!YVS@s23{NMl*GBc9sF7y`(5VDdu`YLlTyRY%4K<4MU{Q$aeQL9hsZYv2*;Z z;x)&Tss~+=%m}1AIm5G4Q)!tfRYTcHfuPeUo^Ih}I=#N44wL34P0YUIcdG{@4A#o- z<}fGJ6~@?#rkB_@;53pZD6C=MbJ!}-v;e6J?*d`0xlJ%b!^ESHgKp>-f#~gdEB#DC zHb|%(Krkv@N;qU|4UTQQF%<;1-Bg9nRj(%K*deMHol9`P#2%*lnt88E-!j8!*BzE< zze4z^uShrA*oe*tg{ps16R~4G!B>pVDNT~djHqV`JY+<;?Ox33`lHGRTtq3BnlFaa zS7&!`1F=xwHC$m0IZ}(Oz)Z-69FWl*kX9F9Zvj2C6lQrk7jF+%s2tzO(xacC{1z8` z7H^+irsXz>3MdfLU5c|j%wrGHl&Bc!dbrV;L4hsS=#8EL-3T#dsJb8^U%{T64Va>e z?61UA9TjSZ`ukQOe;_CkTc;GH163f%)Q3^0u|q@#w_N#fsRqYpmWzwWB`C95Bv5@@ zP99Jzk*%I5I9E9ch?}QG(p}EZor<^R;#rL^@^H}CYIURFDqkV zN|6}30Q;gDNKx|6mKXkxskm1Xm&WFz14%HxlxwN>L1(m@!zxE}4}6Y006L^|nzl>6 zL}L%GP0z0u74eFo*kT*TKFC+E8}sZ1M_+hj(U%?+sHQ5-c4^EHG-#!kU|=Odj>aq~ zh~6!$uUt()c_jpRd5yo=192w{SSOK+W=d>`ShtI(OS?HF2yo13Ur=69CdS}s^?bDj zBEi=r<>*thGC(BMM>GZw4UkoG;w;>=;+SnWX?0X{4HMhH9Czu71ppNVEtt$q96uaW z%#8KpQr<2+4jLw*$^1ub`wW?4!P39d75K<2uz3ZRpC(xLa?lddP5HjK6r#;!FrZ$m z{Ie`+u#1Z~$=@&L&vIeh!UU*w3SGTswl@>3g5f@JB>p}k9#y~jby}F4^y=5&IHzXu zau%tzj@5>Q)pH;7%EllQ%Z7((BS{GP;as47qHPt=mad)t&hqvf5qD-;s`^@Nkxe~H zS4MK4F$ypziapSUzD@ZJc0)a>XSq|=qW}a0JJ}0~PR4?3=bnHoVi22U=&d(T68E)% zjgTfp40xwYU~uSjGnG86Del|1Vq&RuFVg`DRZKStw;Y%aECYo{2p9(tBonAtq5F1| zSx3Gv_=h2&m4s4biZiU-4U`e30?wR7$2D1aGhVETT&Er&s}_z2JU|VmenA(jUtO#n zH)*+ZV`$dX_aVFGm=v1BVG&|-lPIcs(J5mUhPbQ<>^DCo^&1XRv!aTyRGLn= zmEXfOR{R3MfQ>cDCL-bwS&U2~V4x*fLfOw+jihH+TVAxnq4;KHrBuT9sOjQ0V!IT+ zY8qPd6Mo72Fds$;aVfX4Nv2h0$CStNro913aR7P*7Q*vvFjdLR7tLp;Lz8VL(Ryv} z_Vj1d*Z&r)iM>@|*SttF9;>_(epY(eOb9n5_o}s&S_JY+29@C1G@UqsA&|G>!?4;-s!^4UG*B3Laj7h zVLAARqyhu6z_^MeyLhP0j)pPHk4;OxuE9>ETs2B6C=a$zm>2c{EXyUosm}jYG0!yA z@00Re1U>+}I|zyr?^QouG7a|V#_9&iBLOlgmu~8tnlfsh23h1Ir-FMb(XR~| zwMhh1`>cgjK$S?yAkUUUS3m}F@CqTd+28)y*|CL&VwUhFOOzUl#Zj4o0>+;ILh5TD zk*TXw+-2w+31BzG!X*|Fawr5?-Pp|fuubi0h)O6bMha#~G_4e~5jd65GvWx@y^#tW(CL#&L1IR;r`S$Y7p{&I6DYzoX z)QPB(Me+y{-x0{iSg5L}rLd`^mjQ}yRB6$Bu)~Ged36?0Ca}zsF`R+kWr#Js^4rc0 zy$2L(Xh`_O&okau&+F>%N3%vZF^8n0E!G5M&Jf< zb2J*Xc4fy9*P|~ZnqQ@2CNW4$O)$mQikMC@K{XVmB00q91tFdtfH^_TW|-|J^(2WM z8jr+d4WU{BTotm?>=t0Q#G;N{@d{#8X$#9Shlq7|$>$(iBM-LIueFHn0oC$azoA8_8VO_y;n_#Xl>QCjWi}*E=r}cj|v|y33pa& zHG(X49dI`QOGX?T7M9&|1J7!$Hk(rmQNW2B+S(FF3t3-mGgdai*HlhwUxqpd-pWCvX%sAQMKGx_-uyF6y(&3;d%0pnU4BC0p5+*nxm$N@6e)J;QcM2S$F=kLus^>e>w- z!Y7i!CSeKu7R86FI0Do#r>uj`+pDK@MTqRp)ueS`1A`$dzqKNk)oNS$ISM(<3cY|z z5dcEipj3++UTHM$jdRMeB;zbF&BeveDOHR2nlVeLe$(&keNu~h`+AnBZ*MuRqIpec zlW&%*7R=Le$xfkSEhwo;>PqSBc9VkSnA_rFdv1%1t+_3kZZpb*_q*!V?f8CB3@IYx zk;aBcN4)W~Trb}Cs@(RB7QlKS#fXZ?z)MlrlYZ10VN`PimV4%{sa0{ZQE_fkpeVpx z#2>XP&IXm^-XB$5z*ZvA?`^W3?bIpFhcokov5d1S8i7jAtT;p7#1p2T2AkPQ$zYK) zhD{U7AsdVEM&A`3pnO;@QK#*eBw6J)-8>tuR}xK{ftVSSM`8gaO2i_aRgY)s&R49G zFm=3#AUzTHKq`k#-nkesi)W2~+RQ^u&2*5V2Jo5X)2P_mrtgu-0z@9UV!%H;9MX1^ zR);%e0Eh}C!&2lW0|+dRupbEnutP;(dwui`GPlW~^SO{SRvZ?0p+}zq*C#^U{~bpk zEt-I0cslgUKUilh^=*NM8yM`57)ERI|cRR;->DQT8Pum8#k~{4Wuu6@4;59=a z;F_)LTl0o7w@+~yR7MO7GFV3UDJ{!5xD(Q5<4huAGn>n}*+7V)rOcz@_WKg|iCVPM z@4sSg6*Gsz6;;U#uL|I3n1BJ0dkpLxp%5^v0NJJ; zCQy>Vz7uE1P$f&7I~)T~LM=@geRXkMXk27WMiv4FX!52*gcer^agpVe8&p4q#kwVL zC6k=EJizGCt%Ec|2wInFKpVO!P+MQ|^dnD&NNj}bS$3C-vPEXeL3$+*H%)B8F3&g# z)l=a1qZD3vI&Oqh$;H|3&NLhCrWz`6G=RYe3|^eOCS_yEL`+uJHn%sj=Nb36*JE6c zs*RY$$YUy&`F`#b>IR;apo#JQ(zU8u8UB*;U??p@&%ccFHwZ?oX4!4wDH1NpZW*l~ zAwlGn$w8~p0qCsi)*xCTL#Vz0;*c=4lq3j4qGBWhn5Z~LrG+eQl-ByH4rZUBX4Kfr zMx;(71{&9K0(82XRwtRythKvXLqcagjK#$MV~{}5L|eV9$pqQ_3eTDvRl)*qEy_)) znYg-mCS*LiQ0gYv3oiv3qVyGtlExQ`!5Kx_6v|y0foFr5T2JJnh;AxLA{zLVk&_@3 zCqew4_+D2LJI<}s14$7O3m^D+KJ~dRthf|PlEBNMHm&07qSTI(W8(YQEs zy6xcgFW{t2KX280M`kqJWTx*Tf#8%h0iTN~E+f(`dza`FR?T91uIW*Tglr3f#yK`+ z5_M2uY07!_i*Pj2KMT2bC|0J5S1Znw*k_8UB6WtU3`4E0288P?Yn<#RHzy^AIOn*C z6aakrP&TuG59(l9%~x`K*W{I7D$Gj$U%dd&sKnWlh(r)PmVIKF@KJL^%M0XTQU9z& zDwC;p9LkQv!Fa)@#Ggncd7#Q0D@v#jP}A5`nAH{+OS{?>Ca$_tnln2@&PaKc6lY}; zW$oP-Z$__Y2#Uxr)dPjIf zYx3-So`DPv$e0ydxDcd>v|3qx^((_`d!;Mh(Ln=FyXoX}JNYRibI7*LQ{0PE=r$7M zT-E(%1`Cx4gXtrwnofO}VTOK4JT%q8DD@z!Nl8zN@6NO#9mLqh#V1l`$0-8mj*JZQ zrxNPi1SvyP%g{JQb&=LF0#AG0M$QVme1V6pbAA&is7a*S7};iWr&)X8vM7YDD!R6Z zyUU}SPBqm&PNkX%|1X&`fOH{14B;yk zEy2d>ASv6Lg(NhWs0pfz9)yRKd3=G!?NBOD>$>dD!7ppJOuH@>Y*+KPl)4)vXv8oNJVL`ldPPd)BsN6g={iK-lvSmV zPCA#GE7ol%ACSpUMbxn!fQ&;*kYQ&B4zoT!H4e&O0t6>JY`$5edP$AhFix_rsUb zh0lH#$!&PTOeuB{TXP8~3@|Sm$WxWQW>om;n35o726^gIE)x^Kq=61kNn|_FnnV_B zN~y|$GYgmGLh+POy58w(uIgP?gGocLge%?GR4NBmIUzB@0c;eETREHcx)A9!oZO&Q z4#8hi{w&h3;0ZZ+?UWd{1*Tj*Y4p+I&4PvmIRahUlS)+{_IDe9Q>iT3x-ze6G;JU( z>r6)fN|6ymglI83oKLI|We9#9+9%45BMvx5gX){aK28AK`gqh3aD{>DAxu)3MzkfT z(3B$Jcs+h~wnB*p>-)GXNeCWR3svbwdi)5m@NQNJ;CwTXonW)D}J)C0n?GszdDREbf>{Hq8t z=yB|*$2nv6XRSRyA#Vb_baWP?cDQn8Tk9$v;S%^{DlZ%uq4-0&Dv3yRDC?p4;Xa@F zYB1y-V9=tRr<7X6Gf-brt@FMYP*qeF3M|u=Dq^8cvD0D`ntstTwoho6LKPem0t8jCjQUb;?*iC^AWHmAQDRedjT&G23f5)w^bSF99Zj0Nj-7%ZF+dm5ZqK z$xQLY4H*h{cBlwoM@1wH7sD`R67^NDF1cMeR3JqY|Kd}X3Ek85=)B}>%F9yA`xkw7 zV3E~&k2C5uu+x1L@Dift$U&#Zr{uzts3W-Q>OPsNCt?RRT!j@<GZg(|jKx2T5Ku|pm9t^nbNuo2806=*b(V?t`!h%3C{u_S{H0g{Rx8{RBI0#d%5CMShLe&Wu)K^K)96o|GZsBbHHwHLygtIS|+)bb% zQ{m0C!S|td2BPH7<{n2FA7i|as2F5}!)kYF?p6H5PNvI*jD-ACFhWz;CP+o9EU5vN zmu<1TWi(M&Jt=tLtUf*Mas zZ3uvK3?K`66Wn5;ur+SOCaq8EskjZvOC{|U-Hl*Fg06K>`Zk=Ur%-2GEw4#D8zaI1 z0VuTzz_mh=uAWMSQgNHCuWi)WDx(*ozCxtY)KgD(qyt(lc=Rf}3?Ly>&y$QM0SnWo4Bl$4N2Y~9^d5~FBP=t>+1 zP_~)tO^)L*bkCBz&!nhrEsz}!_H!zoN-}=^c#JA0g4+bSz?8`7dhin{Zrs5yg0t<^ zO#y48kVAkMF=SQ}oIOSa8daGa0+JpvAl#FF+yDnx!syWNC*FK5QklA4F~~J0Kzn3f zky<9{v*pz{ZbkgHjpb}*QxpTD-aXV%N|wP2Rb|WK*_f4?vRe`!+@$jh-!9K^i7NF0 zsVB=7SNg>58ufV(E%)_D$8VSV@yy#bZcW{_yYz)Xb;^Y0Bmu%AgwaCqR8Mxgp0d!d z61rEQHj&K;gG6JDgc+yB&IN7 zWV=TQ-FpNfcp1P+_%|@ZfJ>H@5@JIbT0Y}+F`{y3It(Jt)LSf}qAWQpKy3oGXNi%b zgT~7@bjYN^*7z|CG2w=5oSSmsT}#7~ z14~PoghSnH2Q!~UcXUkN?Q}OQCfpbjp)IvN%-Q)F%z_+)UJl$yATc=&X`*8~?K4QV z8}N!vg1hh?CK9vXeFht&oq6>It$!+0-Xr}1ECx&?M3QnWazJS+{h>io4S7Se@mjze zCowb(z0^?_^BH;B1pQ&+u2tK{E5AYw(jvXmWVdhbnf{+!%Qq>wdk8XMV+vkPL z7C=9gVA6THwK!@!J1>*0-Qg_fMVWWUk!Q7$sJ8^1Wt0s-kRdQ&2OHTv!r_hF9bPxO zcQ95=Sr%ae;Mrj&%_N(&<7MUU5Lk|HyFrw6;0r83o?xybh7It9!VK4F)YW5AG`mYX zZ~U^!s&~$)i5j&@StkPrA=s6&HWQ}SCOkxayg+FPWMvAh{7wn4^K=&Q_`9aAheSYu zHVIPaS;OAebLgpC_$VHIMKX=+DVM3qnK(vF%L#td-C)i|crtYqfROlG%N!d>gQw{4Y1 z-OBnh4=zRm8<7S<=sTdlAYzECNU$-bQsCMKUhcXxyonR*(jnS`$_nNXg^vg|=Ulex z(#;@5%sN>r)6LYII(xpZ!6rWdFsJGHXdjT#xbSJqbJn(Vy2zfD`TV+{m)!U@IV>R5RaBTU#jAFFcT zPWU+m$W+-e;+3d!V8v3iDGl7A>%`m{qMsS3lw1XEFa@to0n`bgmj&9qtep-@-7_pd zn~THA08zuA1#~iZ{)Ga1G2oi9j{)>D0K%~e)5xf)1fy)QNYR&OUAG!;&m`F$zb=IV z6OgaPd{_W_6|1NAbbsLX96zz8E)#{BJR(OJii#&M*!S)LdNpUI7HquJB`AIOkb9JZ z9YL;~?ZzSHeTJ!Zd?)&}xEPh;Vjk<;SpX#BlCEvX68U=SLDN{fdKeegn03j>~dT7XlwL@8vR z0T$6AH~p;ZR-YCd*aFb$bMl5#D$B4B#c3&4Zy!$!N`gb`B}u0ic>XTF?cF~uGOP87 zB1CslGNrm8!s;v2R(~!R5T$Z2cosJcu>C}lakD6g9KSDHEM1EbQ14pZlm4qH83&?K zBtiDbajbR1-K1Z`Z}neuD{Dz4AVhO7FaOXj2CMlR@K3z)R{2Y~e>2NYHR|`vU-$dv z&u6|iIfz~=uv1i-CW}sAo3>6MpwzGGM+*g1u`_?r1AH1txtS4OX&rZu9(VGN)rC=5A6*OE<5rtyFJuFvF~b?%;W4si zOq>@|3z^a}z7j!&6NX9Co@+O^8Ig)EpB#J2d zyIm47Usd6ik)Uz2(7OD;OOg3V>Xrs%f8gTA3X5%D0oJQ0Dy6@A9USqc4a@D`&KFFlSKKky|ajCTv()%8c^zcnH0b(jL%7s6F^%>^M+ z;&AZ1I9BG9W+RGz^;D7Qx*WX?RYak{p%d{P{y$1{d?{gPs(ruzD*cCMUlP3xTKM1` zHvF zA14lo!nP@NoM6l9ih1_LT z{UjqJoJvfLnUX7ktHi-`sz$VKQlR!}Ylx#upof~yG?}X%(D_WoON-8{w~j96PST%z zakLS~XIq$80p%*wpVT_AYx|mlC#653CGzOutv38DBf3ZIIDFsYt}`8qqBk@!iic9c zgVOVcDUkWPx6&*%l7ZPw{4ID-V=t=H@M4ze_AJ`qYMDyVRXb?WG*rnYbty4fjz3V( z0)%c-)6zt!s~=aSHwh-C2^>OE0kAerLgXj`L6&&~IHU&6;38RERFNoHWdvRiJImst z`ZnGktfXYzVS^Jk_dE%o$OqXVY?>G9HAODk^;{Hby_|wl?>#%yhDoStC8IWUE*{EAM zMKu8|C0Kn3`%buD5u^1Ws^5<@pn6nuL{efFwji$rWV*V*P6Ej&0-ikToW0X=QHYQ^Vc@dPnrg)pU95RJPh#Q(@{Ma3&mr zCRqgK=`jsesP~TT^_6T^>Zj%ydOK-2rbUTI#$0z%?cUJJ)-75Ufq-HG-4qK}ijLR< ztC@8HDSVJ&NT7@iAhV9BBD=AGtAou`9aKJb1&c~fQwfI(im(ts-UuU;x>>bgFzdYW zjiwlG$iRpI?RL2-E^giubA;Zraejx>Ru$%5^~tlTMXAX*q{d0 zzRRx4Kd19{m+0^xdxyE8<_2VE08&S(CJDRe?@q#+|-+(wxDKvQT z88Rwgen( z@|V_?#Bg*n+gPTRF2jxk9RsR{^+%!iX45NZadxSf-zuVY8UHu3JhC+RFq9k-iw z?w4g`n_B~vpA56yIT4+gDdJwljq%&8-vYl3UVv^ zqTW)v#)O~wBW-UEb5}hJlvkXcqc4*r8eqeSBNC8qlhrC8 zE|Hb6pHzU{x|gqO5m{$S;sqRWBKxt;Q-d2+8bDK9AzYKrG*WR$KrKmMB(=sK7J>3i zH*@?Xrh9(A*&TnEY4R7p%Fe`Bc45`@2ptD}NvMwp#ey&FRxKJspHqRZKE zQhk&_D$C))BNY}<{p!@0ZR$0deB^BqNzo-Sk_7}oxp1bvKk_5XuxF?J1!L~S4%)B) zkiumV+rCMJYm9z0LK}N}8;&f>n4x>sJ)NCfFX%c7Y!?S}Xyz2mrF>@N;1`Ydn6M{Y zcFjO)fLJlYNC2XLBp#aKXgcnkj)%0z`8OR1p6A1{b zp4MEj_@QYaK?MNYt(+S0Q-ZHd)Etk}Iarp(42lC>!{ zDee|stW`a4S@j+9zWArJty631W`J0@yuAe;jYNKXQbrT2uuVXiII+uz)d*U@B_?-O zv;p<|<&8)Jb9^v!@R25Blb}u($7iTbcUP8Fi z;#maEm21sYDQ3HG<8Y;VJLntOkbzJOSq;7CGL9ljY+u%cvSW@LCHO*#!m~u)tj8ho zH~Y0O>;`!{E@7D#CsIU+dK~*y8Z{=R*6^}4b#qb;Vz#6+Hf+dAF=XH`luk{=iVmyb zj!_$cdOjK)n;M{1fU)6_Dg%0jwk7BbgkRLPtBZg-LEV)9p$JAsMj`x%P1~Egnsx?{ z^3Xm#+y{tzoMFnU)!s3|$avKXRX9$qiI+@~&%Tt~OdX_nOYpSuicmx(xsrBUzqK~Dg7QH?0HQ)6r=Juwj95^pEJ0KiR#HB! ze|~|*8zXR^!pQX~!DA&(!qvnShnJ-slUkA@kW?e2j|<6BA&dV%dvC%U$CagN>!%oK zqfkBYN5sBx1OqPFo))IcWq9cVx-m$^DkV%ZS(&6|6;S{Ed(K@VZfu#66e(HN>X|Yr zX5@{#oO|~3o)zfmbNwml)mVnaVjG0F6kxMwn+_WH=+x99tcuT1-%A2uia*&S8V;PA zxEWWymxP_e_8-lVSln|IPc}ywWmM<^!b%EcO`9!^SoAck1Se@kE-P;J+D8bXBu-h$ z;6&dG9|2Go7+ShxqX-Fj%HU$MN8o+%zrnmd7!#ozASmLr-3aM0jH7Wd*ON@7Tf^gD z7n@en0{Tg9H4YZS%pp!iXtmD^U4ISCc;ZwfKSdO6zX3M9A8(etdpVhlJ9cwRJ`p6| z5;D(HpEUo1T80E=yZf|fQ)pqaW{RkqFakNham+wf#>lX#RW%valxX*1baz_ z(YNzv*cw8Q47H*1lQ1lp3N%YE1u{fF(1~Vte}3iqb!(n=mqv&x)&{=1 zyrAgtA=FR)Z9bteSpo@b3F-bF)7Bi`PjXl|h?my2)f&WYF)k zm*y9<6~rzQY1G^VSsJPa3I94<;fnKNPZZ5jdPbx<*5Qq*9Gf5t!Xr-Mc}y zSO~3?yBY0pimU}86>pV_=PLoShK)Z+^mL~$In;U)09Sxsb7&B#vno2F1p6^qF z4MebyV-ib6N~qLl{a3LB6-GKw12-cGOaKXHL#VWCpz$ubp)&i zN|2t~(68{-6$+*l@Hht6c)BI6M`Az=F_C>q;_0S)dMI}ZB|(mmPUnOl%ZOM_w}i!E zthyvy|3Pk(8(rzs?W5rl6jJy4~gHbY6E=~c&btz|vzilMeBrL-eL#c4Ck zP6Q(%v(KEID+h_f;#UYH5atD=e==92-kKlt`r!xA@vJ%}91v|#93YC=mMjZq>>7qHJ=3YjMd$nWy1@&!|Jja7w_3XtCJ zI1$-m&MBouT}Fp65^{}a5PBwvs-CeglL}9}o|mv#3E-;5Jb{}?mD4dfLcdf*0}4tu zPo9bf1!ZTtWu!0~x|I#xQf8AMrX+W7&0{beYFhdbq@uW|zfVh5G!6(LN^8TB(YrAw z<{-A5)JsaYmp@v82{AaiH^;^_Xn(X+CvhdDFd-?4R1pQYXnzZ1&YZkrLG5-=zL&(` z*<7+1r73sIt-#wapaP?3x|=Z_E>n+U%nle|6aqHV`T#&sdKU{s`}DEFpbPikPlTh2 zcdNv^RTq1?aX!cpr13;PGAE|3quPYQLxZ7>p=rI?9s4t6Bh6q(QEk0^^$V>;~%d@h{LO&(6Q8OJYURDKr>?q_?(@7gpA7DOcm!lWed0l(9 zsJa(vc!}=NXm-!m20mn=C~9!*>^95`tCqe}H5q>tK`YvrKG{ut>CO#$LXbU)$1d>+ zL*p@)=01H-h#}xcjLY<<(Y509_^#>!Jm>P9A}C8(Qh=>GE9x;=OB%Oi-GszZ!Cayu z4ii|u^&GNMo0PcC8j$1l`( z9%)5@>(J!81g8N-C6KNzdPOE1o;8>vQ~?lh3gCqjB!JgNJnB$qjAuXzHyhoN}zVm-WaeddPBUg{|6y|!V-DF!_P z`dU>4rG+%mVVd7`D^lVYr&z=npXp2>v_+>0x2Px=7uH(5xcJ8wFZh3Ll^6Ugyx={e zL7}5Qni(#A?Iq>I;<4(#3dvc~O5F@PQ;`rr1DHg*VIJ$bse@{ET~jyt9{^u*iwJ--q>8<-ifFTe40Rj#gLcO!q9I|u|xG?KN44BwrtfD1~Ce4 z>wpK0(v0PJs^JQJ|7n8eSwR9F38G#KTs0-kDri1`y0U_&jS~t*vU~tv$myfBjd*B+ zH`SG3$T_M9^2qj*9?0rL#iSMAH(ij?Z~=^23iDz>7$n#T^9Z(#STCTx?>=Jzmz!s9Lfy#}s2WE!71m=lu&coYeh7s?U zxl431L^4ncO{y8Kx9u?IiGCQ)>GaltbwpG~Do@%vPTb03t@^CoI&>21UMMZjNcKUx zPquCVJAw3D^ zq}IS@*-*-O06(6cTr%54Luv0yV8X#gZpsGqeWa~M#u`<`L_G=J=Q)TZ8Tbxptp#N@ zM(8f-4K%7+1pSAbwiu;4*4}Bq1+U(OBjJl1vQ2j&V-4 zZ@odT)hL`+6bYp%p&aEZAJ>STr~%`M)ELAe(W-(y>OLK&%*(j38WsyhsdJsV~sIGFG4JC~_K>B{DpR!PeHXz%ha@y?>(w-(y z=|K!^3Q!Yx3X~q`du!~#spAqbZsbNmW-(=+UCS90md{R{$&Yu)PJ{<4Askse(deFBL6fda zC%hDUsseL>oJ7RJGafW=26&DHxXrJ-ZLR3hu==rPz4le4sh3nn&^DIvEQNyHHDROw z7KFWA(YjtjU`swUzApj6Nn4bFOuH|O(?%2#>HGD1!ybl&Y?J8=nT zq~ed_Q^|(KXJS88nTpo$tMoU=nY`*fes&O;yA6xzB0#(nNIX1qK!~AS1%w?$@{AuF zh@e$3>)yp1q_a?pf36~QNP-8OZQpSIxVYxcZUIBsVkM|ZPXeXZ1l?#h0iprIbNtZK z?mekVneQ=`wt}q7Ciu9oW1#3khbN}xF~{yxH976XG0qN6bL5>i*TBsYPqLDrgEldr zj3~_zDq^MkF z$|(dZpP*z0q5~&3eB@bse`w@ozUPMPL}_(>jq((}YyLYl#*TU#`!88vqqgEil@{e? z1C-Y<%n^aajnR0{8(h^!g^qp$lTxT<*X zV(nLOa@kgYuXpz)9z%A&si_!M|N2J$AxgGQ^BXQ7twwsOXP`?0P>A-|UI~t?s+b~* zcEkm29^_>7H(uW9y_4g`J-6g&_*sPRHad@sjk72&}_e%-VM zP?L(4km9m-t00|zlUC-BpMS7`F;O&;&^C&~HqRorDylbhJ$02k>G*RCwVSX=)E(bg zGC2g4TLb0L(g7fKsUX9Z7nLv}{gIj5-0ORmtvqU7>Kd3XiemlL0%g&icVj&RxCC0S z1?dnxdpeupnVCFwCiY-vcTH{E6FMgRsPjEo zo*JbgdmfeM)Iu!k_iYX?d`oXPoP@7%)WO#emo+jmT?pK}qn* z8lfi*_rW-!bfIs(FfBdev{Jj&(Z+KPH0FD5e*|@Qy&Fw&md9tGL?%6ad>hItv$Vk3xxx{3()#Lg36J$r)jaqG5FB7_!E$$(>GB$wo$#*1jiu@mJC~ zWhUCQ?aCClotdisBYw_ncYJ~E@x!#hpXvctp3w)K?dd*!{zuaIJ4p4@cWF7x$@Oj@ z?(u}ZP6Ez^q=~flfDV;LAD!EVP7I~mkaK| ze}>RJ$@a+%O0gsTte{lFPs9yJj?m$L-w4}x&^wpZPvh~X!(|EcL3*H_)Pffz{9}#B zTWK#-)h=?q-XeHb>!x0m(Kb11+r~?!i2Xz8rv8T$nc8&v*wl|QMKvVYm{Q$O??cqv zjt)QIUdokA+=ftEh+bTbgy>WZET;Z}jEV;p#u8Q;O)=47bxz*05}^(>*L+6vRjs@` zUJY%mo#!=JoFOU>r3m1D;xeXsP9%WJgVZzpFgjrF=3X9M{$Eyk0u~of>IH~pDQPx& zl`B)lUHnl!ZlL)XKgLJ_96Zt~M}wYjb7KB0k@;uPSdQN_rz4S1nNZwhSR^L466n~9 zcB_ztLc6Ac!>`!y3);N>c-vH8$*(U|+AMlXmn0iT75NKDV~P)9^9U+;f6V&S50ys_ zw29391?dc5eC9|KoxPdPhR+9QGtd$4;}WIyJ}k8p?7Pk<+f5JDJTd_*lIDO9rOlbr ze^b|f(2AZ_pk5+ahJo_wrVQre?giON^kO7Gg#<#vAEK40i=x+QG+cdS)sEPg8rnGH zO<2wzl3EHIs7DaEA~7-jN4^yLURj@j{A-$ZnbBK8)jXme3D6EbZ^8`dTT%d&D_VbO z?8QgFE^gxxnO|RRXlHwQ`O?f=K9kwdG`py1gCQE@RL$sJQM%U+$^EL=&1~P24p?KT zW*STaTvbF%C$H$fwB`kx*SkK9Gx&k*!NtY;^NR~`CPPVg0G2tG8e)66&g%blw^`>u z$@)x|*c2PV4_q38P^jD`T%1HxIdcgMvL zsDyqCqLi2Llj<#dCqeu9Kq~8$C^b{oRh+V#e+4o1$c7QFbDCk4U?wND#Sl1OtxY}Q z8R{^OD{Y0^&JL3=Du^w}rqZh?4?*Sy_(iL2?=>#(>T3z^JkU%dY4u1CK3x2k8$Rtt z>6xZxgv%USnoh|xo#6QZYvd+DNxdLWV|sR^%Z8WT(| z-MrGSHHd`^Irwn!eSHP`EA>fubz!zOWMWB5Z`((44eXTHEbmJRaCLghP=a)!Dis_H z+y_qvNjzb#7B=+BsRW9X@1pCcw3rB~Xr#bP>RQ}O^&Wh{9e=Hcyxq^B>o6hn4k0RQf+=-8eTD#p;j?G2yt*bf^ z4{Ou7N+>K%^Q0vw+p5{d_FcaBPL9(@vqk4gG8Ihvuzoz7aD4hI2aqytCFpe$gymR1 zYHe=$EcNGWkSjf11H%9jBM4N|m9H(fR~rQt<9Q7*Z`3x* z{sfXmb@UtE;Sb)D>hF+HJo^sPgvpH*WG}^%pkHT3-|cDa<*b3Uqokq` zwk$}y1Q6Mduh%2T3K3fU}_CISm8J4^d5}hL6m5h>*R;HGLy} zCnXh_4u=W}(5jJLRp=>lnVC^VYKITv9c^<%!XIFRJlc$;CUZRLZqwXD2l#Qcwv$&S zR7t{=08y$LkxJd)#djRo3&0%#?})B-AWlZ?N42{plY?w;z4?>c;%-TTlQYB#&S_Mp zp$mKTV5lIdK?!ateg)311oVNr*XeUdhK+lS!#CSn0mgzE7(@}x*{Kl_usDOksSp#@ zGb}@;zxVKXdZSF0Tc`i4f>Y9*OueaFoR0n~`PpDKfw$-vXtB1;TBq8MdUCNFrvE@j zGY17fdf?VM4c0>1JkfiIx|IZA5U$$fv3?Vz26qIj)u9;q!JB0v zDukPoOjybx>L7gTsT8za4auNu47vXb@ThXh1mx z$DB)1i@l#AkTuCQd!ayuNp_T7P17(ZjajNY^hcH%NM~{bBCCI@Zm?RTVW7)PP;Ht$ zt5;^UMjztuA%6}TiTwb>ss-|&x(q+0BN%C){N3O-3?^ltk34!{dx8W}re$gp+1ylA zaJ1-ZYB0zyF2)#S(~V<79SYAkf0ycmp!qvfqqQ+9kD$1anHniLS{kSQw_5K1{w&h4 zkWX5XZl!yW(WtWkk}gRax>J#EuQZF%RP^q4q#b%(tGi-*bJ)mc$Un9>_X~jQ-LtjDGjDnGjS`y zA?Oor-WFfemOwYqF}h7SUr(?OEO`tt`*H;&_UG;4E~T@`eybqbX?a3ES6hIv=96E_ zcg<(2hlw?UnVdx+msH-vmxh~1@juOPF?{`}H@m+TZ+`?Mta{z-`$_O^TDedFzrXRL z;X{6OUHrDarh(ew9)OwOL~_(H$pjFtLR!KGIKaEr92v;8t_3%ef_u-y?L~JL=`m-& z>?$RxPMqx|u0C?*aZ_66QJA`sco5I^ZF@c96Vr*V6F?;%&E)^Am#$lic@J(KYV1>xIwUQs4hG-n+Zt;^kBxYBONCKOk0j-{?S$M@uT77 zPAbaCfE)lRzyo{_R96(kAMf_vEg|>t@b=ly^r=vqPd9~CNMEeQ)-3|+$xcfBBPh7B z&m{tfla;y;^siAm=oHUiP3GdFo6Q58O)7z&9g4Q0KcWEp0W~KH;#CGLdxh$aqG>+t z*1KfF4UoZ!h^1g+VI5GlNn2URRFdQfNBe>RW3?LJ>sO;8fSFH9%0}tYMzo<*dK_u~ z-zgRgAn_OsS35yL7~$im4R8<@`O|8Z2v_M`Vg^i&f4L%UR?wY27JD;|q%Roj1p?j4_EiFNfUh|_{L~V$2A_CU zE-ro)^Y5knE;`moyvqFgGoVFbmNhl~8EAFWI3dF)m+o;~0c-}uWmJc4B<(~`O80KF zC+D)n>k{qwVfX7gr7v*qv;SqOGF|jXqt0?m16df#vXzENMM$4t8as;7DV?BHF_tl2 z`Q2hDDfMum1N0Zxl_Do@>JoDsh^muZjmjcGlmua>DZI$ozXPtex)gKhFsOD{S4{=_ z;Y%D|qS$v3PRau&4~xL60hO2bPB@&UeUThDzCZcY#0zB?2RrxWv%Bqe^X%(;Mx^w= zV-J!1IkSHTA&hQMztAZ`cYdNRQXPVEoHqeI*yWO2wle&l(QoM+*yLb})2uIPOX+@O zA73Jcr1_0%K83DJ+Zp;U*JVNBDJ4JX2I?cTAerXnrJbkZzKIJ-ET4maWtKO+)QTGv z`|aK9i;J)7S}v}ESoe#9NL>!Xeo#;_=73TR*VylkF2An`)(1EQ@HK~Vk)q77*ay$) z$NN&vNsryc1TjF-jcX~ab6LsKoU~u7p&L{Qwi(rh5k;0x1VRA|j0zf2suhEccW9;v zy*Iss3|-Id~`7o2QLr$^ZFvLe0C{q15%QopWk`xmOVO_hBHD zR-2_?6M~U+MtxCCO;Ko5 zp~-;}92T)?>A?iD7G9}85X?L%6m4)di-J8K1^DrbZY(ki`+Y>-m(7(#} zubRVQbN9Nq+0d`*HL_1IZIYOfG^P=noAY@$UDHoy7M4b_w)LKYnfhe)W#-ZVX&uC2 zmEslxBAT0YQjO^Jx-UMNy64-d&r(adDwMoPcb;kTUvOj-~GsF~BJ}=U9p& z@PnFwZv}vNQ4j-C$D;LLMGMxo`BJnyh1cl15-iKkd(4lncUYol%vB@g9|d_FvXy?; zROoT~BN?yTSUc1hgR9s333{`YwNH(4?GgF04h}WUU2*v3*_+~*=GhO$o4@gM|DQh< zV3QIAyxLXIu8OxiP?}_68*#xt`z=eJ9S%+KY;!G<)2r>~u%>M*N=oZ~Nij4m=&I zPgGcu%K6)E_N@5zH#G!4hE1u4;m?dCAH-m{zmae7%kV>p=}B+hzzIPJmo__1o8kip z&I?7uaYBTFmE4F4oR~m;%TF!9MShn+a+62#>JF5ENkG5a5p{2!TE6xfZtDhZaQ!oY?A5c9T`)OuI;ICG#jMFl05SfdgH@61j>O7ZW#$ zFt)C@#{l4x$Y)!$k-|?VV5AQC`n4nFm!X+c=2< zDJfkv=NfFBqe#;Ysocm=zd8{g_AK zz4uF>WsUuVx%|4lxlv9Qg1=2nYqTOv<1|b0sdb;qfY#TmZ_$|W8{Q<^7#Hjt`|BfV z3^>h5petzuL<$R#l7mYyqcLzm>V#rlNiJ-0Lbpuu;zG*|V7h1)_t)Elat#D6|B$2^ z+X`ILD}B0nSKy5jQbcEW9_TlERpJ0m#liG$$tt7e4=DdVjV=??Ob5D%rbCD<$%zD= zQhXI79dAIRr^F+Yf;eAV<#ao%qpScWy`R_Ims9DLg?JTlMT8+1l*E#14x)Lwj~1Wx z8$+6l#-udWEF*sIX2Fo2BP1j0T;FTc;*82)6_*ZPN!}nA9mIXWuE`gp1W|9L@n0yP z^;bG$YjX0&+)(fRQC!`o5f&*pyj#CloZQXd?+eMCl78dl31vx}*AXDwV$JZ0Tsa&O zQ)VEUOr{g~k)`UlsfqqcPgGnyuCQ_!!Dl)*sBO{C=|@SITDssQ?6)LqxHEa5(uuGO z4lgi@$=RSw4)!eZXt)nbSoRx=tI?d^lPOOaoi2S%oq&>;HW0))rhM4*bcf_)wVp(; zC(*oBsJ;s5(MXmaZEnEk)uQG}wd)X*f)}$wQm4`&NN}muq7LwPm1?NXC%9U#P^-CH zy;`DtblebU)QnPXPikrD($-zRdQy{aX?l(d4d5~H;38py4E>}#Gq5`X;>dLY?rBT^ zDvXbT-O+*EAK#_kZg{{(on>~AvR@Y^P+wskRZ$EZw`NDy-5og*Yjxz^$40pz^*^B( zAntPd!RM0t?H=SpgO-WO0aL4Dk_{OlkD=@}qx3dL-Bty;BCrB4%q79Wox*hH-4`30 zn^t+?HC~(NLGH}munVnak67r$^Jl8?dR4m<7mMJ8cqS!N9|UD?l=#Hz93{=qlYndn z!!_hn=Uz=TZN~|yImd_VBuxkwbs&$znz#k9gvYfb_Dg&h)&if=o-)(7Na~RjOqM&aK+K>)@Aq#dilf7KH2uNxNoR)KPa`7rJvq7xR`L>^*-(zk zYM#-tX!{BXGfE$zlECker!x*L`H9jV9g_+bQqvbs`3ij+BPD*bUMID_~R9$8l)6HNNpGUogmDH73f=%qAL>UbiDBZnd+5}Z;>;5_Pjv|Z-=nx5zF z@CW+rPdm~$hkcaqrVmA+}l3V>iO&23%iz zVW^SR(-cpJ+xtxK;N|5D747^kVgw_kb-1-H-qd?{U`Uq>16SBk)UH8Q__K$kQjv>hKHHtmJ_|+?(DAG!`>ff?z z!090K$M>i^@#L=n>!}mw$I%lWg0n$GLW+XRRvP7q|6)i<{Q)TbR*G=;yQ_`l#X$Y~ zUqqhY7@Au3&@90W{)q1R$A9k>(50hyFU}Ds0AfgPKo2OkiojPrG$44(HV1!PcMD!3 zJ~TY7Mn_qToxW<4s~#Fm`W;sC={^_4Wprl47;sqau@&({)axg_Z1ymp@D*~OM;F@G z4Fs;j>E~Zh+qmXJ@_SP#6%#>|j3RO>L+Z(}fV)qRDQNEP9NnL zK0VIlhAc`mx?|><47BOsBP6l zYe`b^iTB~MazPTQ@+k5AQcYR}1xd4-A*d4ZdBfN0G%rrOuBNKdCyue;JbOe7_mex} zJ-ZV=Fvn0?nCJNQPy=$}6m<RImOde}3zo+Q>liz?d8P@8&gaYi3s)#_10E;G* zludW%#0e$;bC)+&9tU#iU!FTGrFVq}^n&IxO+ZOY9+8z4xOsgPf#=`u_SXugF92Q^ zJTZW#_xIJ^rrkDIb-<6C?cp`*PDu-ml0YYkiU2joBMQT+OkjWkjM1e8C>=WI3fQY}~~K2^9qZHxvo0I(}hvnJ)ZS z7z~K0SU_<@kUYR*(@9?MG`b((?%w#`V7n;L38I`_XTNPgJAl?k&luoH5S}$F*T@UA z%fquqQ%(&n^A|u$Bo$C+s%9R*dSOJxC-BQjjmL`o%R#^Q;nt8KbiKQgY{TNv)ZgAt zw^B)q?{)g0i;^oKqtdTY-#B@ms#FP76c@y-}+U7Jb`65Z2W)) z$r~*TGPcLcJsPs0qynZhfLH@yJ_Zd&-0MU2@hl4h#J|+>^Sa-|LP7!vt&^#bfAu)cnusj`s1Me1>n(Fs_@s``fEVE2s7w zFsmj9RE?^I2D}$RN3$=OdAc88xc`lT&I)YRn>14hHGXXi%P)Kkxu8VxbphDr)PS5& zy(#YYv<0aZh;=Q}q6kATZR-kLZo{xqsP!XK6V<(b2^J>a{Q~3{Yid0|p(s75s}P9k z3N1%{;;Ip5_LrA-_MK(K1TQa}{a(Vh=q3lCHt%$!T1(K0(ZG~3y|5l~*(m`T;;4j~)^c1PrI6*&csj}OG z9>uG^QLmEM@jt`*89|K+9pMuL?kNls7?~G)_Hx-Lj5jx#FP>o?D+1PwE6 zq|`SDdQOgV%m`S@mtEnrz*r5G6e|UM%SUD98gU7PsR#{+_)gQ(o=8)P3b>xU19{$t zv7mIrR-#hsfll86Uc6#wK00Co3Xl#D9uUsdab>AJpjE`QW=mG=nH4LU=H5rd3c!gm zC@@$m7)oFWO{i(x)6&a%O0q@tFD)6-q9bATVDo^b5{am?1bCW^yawo5pi~8eT*Y}# zlF`dGL}WHZdNbKy5kmIY;N&*N^rWGXx&rzR*c`!tA6>ewk-i@n-vdjGQ}+bFG6$6f zp{JI$hE!iZ4&O6Oh|xMCQD%bWQWoZw2P`Zc7_UGI3kD?}VG;)x?j&`2s61hbQj$_* zN!(}!lUlP(t1Sg-c#@D3+TRs8sO!9P@4W@FZ{DrEtDTvr14Zt1K8EC3JzVaislzY=S`{}2S3#C_>2cMNQna0>+V!^czaVNln-5RE8o{Yfpadzix|J&kQG`tZTC$$0zbL>APk}<1(PfDV!8#wNzG(mgu3QMIW0|6(^N6?TJKX zO=>i?!QP00ZWiyLmbwGly#c7rOsNz!=%50AJfyjWbmFtRkNdsx-k|m1*`?KR6arBy z{mtBoC`dH3H^(RPb3YNFxsVlNyE3YXHDKzv`C`}euYKboB>qL=#_LAf%8^MB1l+PPs;knIh9Wv>-92M@p{u1Zs_0v> z?t?MPE8#=>VMw4{S?LxCYAb6JLt5sp4%roXR7*D1f^2d0##hsq=_HYYU^wCKtEuoI=eZ1Tl;7Ght`?9Xyu|3M!hH&bW4pKPL}yD`1CiRs@v zothu~p9X}{ZKZr;YLX}kOfr=IP56h=FmY!lIK*Ut!K=cB;2G)1R00Rm&+YohYGf`AfrPQrqBM|Ei#&=DJUZCUz9BJv{ZYwl6 za=*)I_YG$uk}pgKfSg&(PO}g~QnU(|^&EMA@g>Vg35XF$rnJ{42AGkY;EX>w^*)w# zB-Zt~M=9->!Tf5ZJ4jq+#%HZuH2wA+I~_V+q;=`VjTrA*yxYmIIhU+PBcEqo5Xf`2|)Kp8EoF z_5iKS@~9v_oQUjNSV4EK`go>qde)ny2yC(G0l1N~(Zz}jaPa6cmihtGRY%S&Quy3Z z{b7HtMGo;=CDD<|_n^$arngLrk1zLp=_}pBy*uTkC-+(P?-;pjKuJyS7~=GgO{5#I zN8fSDg^-K$Z;=~_Wu8Y5mF!TuY)5pOL!7}Zm-pOKzHE87lvBe4qZ-#?S+&yUAyyIJ zg(G!{@~k(|ADLdxK^Dgafb6Bn`Gq$)RN0eFWVo@FT}L+y|1xAI37~03@(hap(z`kW z?E~a~szb(>K<6?iHc z&?Dc0K$!}$+F+**iCFWMWBTB zX%k4A4>|vIKVHW*T_I&V!am8FWWUXBnZ_9=+Q+R@7<}dQEpVdDk zeNIQus5?4UJst^BK5#|_37D>4O&`0un!PvRwZd+enb9Z<;OUeSBnH` zs6uCyf`%Q~9g?NFM9`LvD08N^C zSDoB-9#T68|#$UNuU7Z>weH5ebn`>c)Hwjx6d zQ_Ho8%o66!e>ML6UJb?vA(7@n4M6mO(@F5w!r=Z- zyr-u(KW``^LG^FI(QoT$=I%a#;>F>FqG%|dKn@)&NWMYSB@+;@#Q0Jjp~(5&AB-RR zehCh|Pq5vmXU3e|Ig>pM=TBl;C@CXSuL+A|e8V2JZEg1-mhyo8r$#sDOyO%}a{H;1 zPX4u==Coy;v)?`f2Ejo+PlY!#kvrc-JQIjg+ zP*TbNMLxg;sfUYBI@+0&&|W@!67Z`BoCFd~MgQs3K^}>0)0j*jauP${8P*L%8ge3Z zh45z7P1TtWkjMX43+T`j*LIQ|AX<#MU4HDG|iX_={E1YthuJ72N}hw z$N>~z*fiZ0Q^1QW?8y`bmF+Q~nPbko6yF?GTpxXI^kmJyb(`z?!`FEaJzI*=y{Ox3 z&{U;8qV`2S|L^&T`{UYEaL?G{7>IgO~S;~z?>SZn`R$;FA12s_QQALz@h=);I~c_p3D&U_)MSY?c_6@7&2JSisQq7M22ad^0_chq~)OZDP{ zwCeBpMRrcL<62nSc;{NyM9_u2FG5I}#7KEhuJ4LIEJ4Qtsh}=y`31~^_DT+pbNiNG z{!-k^8((r-Kl8tZ`W}az`rG9Z83WV@PTi0p=1WkUGn02-UP2(YfxQsM!KQ`Ed0t+A zbEt}2Qa;I2vLC1~C>rWNdqMY&?ah6o4&%KniQcasa0)f~b94=nG@kR8gd?ch)y=}9 z%%^HO)7Dd}$Vh6SbRp#b#hJB|1PHxJ55yFI8lW_uR`4<%Y+FGB(1Ip`Gp;M0vAMBy z$tAfjF*!@-=y$hwTY-#VAv*!OF@K(%eAoSC`iZ(KZZVoNF2HCZ!=X}`B5X1={dFU| zy>^>$S~Q__^@af?u`v!vN>u?u8nKGkI9p1M8>Na~IR z2rjv9?>^5l$83cHO-e7siIzw_6PoI8!u)|{uG4eObFK^Et{h%-4xg!rRnh!Q61}22 zX$DhS;xi+5(%n3*QP8JSnf(SJ!I5ct-hbZSG>5g9PkL#gFhw*-OsU3J{5Kgov*kj7 z_N6Yyx%{1wlV6i8*A@}sSPz}GKM0wv+q8>a7LT+=Ra?0^>gYROtH?;lZ;G3@`Q6*w z1}LLzL5)dE!YD*3!RMiXR2nIDpPEblx;VUs`EQxVkK5ZI`ax3V4r<6jhK)}2zqt7R zHQ+D1>#vKu;@o|SqzN!RUkUJ31&&yEUye*8aj8@YnNID!#94Xfc}V6Aaj_sJwHf4t zZ=T5;pRsP?T#2hG$p;q~d_q`ad;1^!tJw$9%J&q&hmb=QR;6F%pio$2DAxYaM5}%d z`F1MVH`lj!Z@(jVn^M|!7oKctNk%CMIpMc7uHD#ekOvkC>Xzm0!DUo{wXZM(g^{LezHkC&v&On2uI?qch;xFpLQh!W(gxc7ud zotVV@s!}{X0#hL=1U}eS?y9tEIlSC{_=G&BrAs2sQP{+HN`+8+zlTKyLNk} z#NW5-r(NvTw!-|-&;EFOwRIarY<r!%bM1n@xo=y}=XmFH(V zBfzY9vMt)W(^P;_H3Uij2{9SMCiF%El+VhpdMzA=5*vudZToTVT{)TwLv{LhG@A zHovWW1H}S>9)X(bw_xE2M5X9RZuegCzg%31|3%?L{*7Pu|M^oPFd*x67cgvr!2>;# zp48+inSk5*N=6yeV%#IHn$ne2HVt`zs3=9t_fU+ zP%RcPUP&Mz$1!iGu#dcC0j5=8UYJQ#+NN#hvwR8_3Dny9IQ992_-*Qv;y^F?@41Fh zOqy&8o-+ZH5}-Oa(+on%QF{e0_HG}JB4lGvDioN4$SaSsh^F9%U zDmQql8C!=ElVCUPL3LJFspqWq{N;M|IpBzQg6Y$F6 zBmLY`*D=*7ub1_H$qv1|p|)0}&*lt07b~q{2Dn5(q9O@FUvJ-2bo*p>VhNI~;70k{?l=mug=}nsLgG*lZY+W3WzlR>|kR@(g1Dzm)=%hy+q1-2I*EMjxp``YaHX zgp+1+Mn~fVh);MLL=4Ghj{7{qbfySxzHCFiX(8oFC*PZhbxTTBiE)M&T97J_;MBp3 z)IkI37ByR0r(QLm^FcO-V{*XQGIXGdwRr$2Is7;-_WRm43k=7>2Wn7C%4FgQ&k%VXNaK;a^AB>8mzT=lS#5sZ zZEH2!K#6+)XZk4ENM$PPyAP$oe{TePq%^GA(#em_>L5IrO>|+vo)EL0LI=%xw8Z`V z&)wrKqO} zJufeTs)6ZoEQj6x&al#0r^?TI4Nh7+s;L_L0SdfA)``_0L_?&at-!rPf?HkHlJBWL zc`ARc;&Mm5ndm)R;?FPShaB7y_w(YSa+3eaFpWrR5*dh7<4G4~wY0IW@%~~Qg9IIA z{OcQWG+Mm4ePFfXgf2+7qdu4oRNUc_>5j4k42dXgajX@I_^aF_I?n-cRC8|uyTNP6 ze~++%#jU^z;!_$NhU9a!U{I*7$X$oSnDv-L*9mKcG+ykk33TgsOWGQ$#grQ?zMpWZ z^u7`09RHzsVIH(imO{m-7-Y1azK`SeJY*Lsj|xz8$z}3GJnS4c4E&J^iuOf#KWSV- zA~P8Oh){Q@<`+I|gSn6^-bAiGtJ)4BZxS~8BT^p zg6NLZ+yp4x%m-PjwUm|nUYp7jX}-9S24KyE5*3oqCJ*O7n^9&T3MUPkX0%@=_t2N^_6J%FD4RbYwjYR^vuPmhFd5!m>tkU5g~agG*V6wtfcQZg@H+|0sKj3qVarhn?G$o**8WDpd zwF+-JHoQxH<1Kio&)7|BIL^y+*J*Q9HsML?rP5+D^&+K#3`XJ=E%yMmhygkrF5K~J zp~*c)O7*bje!Mc6-de3ufAzTUH&Z>Tc30viZJL{3X#(3hO4p3vp}hs#50<&obFK1xE)@l|#42*1e0^$QN$GZ| zsNV#A;QxC2EfQV~_2a#O{lKLrZXUSF$aZS1!K$sui?MsA$<5q8he{l4=K(Zizp{>m z21^2XM%Sx=N~y|Kg5+EM%Z&E#hjPp`pV3T2Y;YQn7YR+ll8_SY77jCb!Yp*PO=K4` z(Rrs=+s>O?WizqNRm-?(c8cz&$b-ZE9{5mo@66PWzG=;Ve({-;fBEs;f-~6;Gy`^n z6I79v4l=p)A)IGB>Ot1avo`XO%FTH_0u5M}qJm!xF(3&8Af)ubvXs48V8UQU<2 zN-N@o64r($@9Ep5VZ~O8AEYx$WVwS13 zr__n-Lw{*K%cNHUJr^V!iX@0?P{&U4MEr)n+EQ`^`By;g6`)#!-7l^U^~s2>{#9ir zElEx{=>r6>bl-q9U&-iAAmxB`yrLT>5EFQ1&1VlCf2o~ObVnkaypTq&RVbLUG+m>q zA2*s07ALNPGOl#%++D{VYHJR|=Hk%ww4gMHU?ag*!0MzG_-{6AY@&rI{+zqi(oN}f zmgPCqO27n^e!w`+X>%+|lmqoJ(Ug|SkdkMVy|lkr7AeF-#}*Jh0IddEC@8hpO=-`+38Qb`5kR)hZP+++*~!FB&d^m6#3J! z(*t~eq6SQEsXk+!lh9X!=@Zl!M~is5ITUJ}t7EN`kInV)JFo#(Us;;1`ZQ3dWFBZu z5}}{y%6^n~f|4x{3cGSE`|K^0Xi1AY*;}0~t~#Xo9@#t*qF4u)dJeuQVTL{xT-8@s zC*K7qBQ^A(WKhva3X|YV8HTPn^?UHcH5J1A?xK9yn~-G(65p`uZMMr9G%2eGzp z{sIPy${w)cHCw+TkUSP3MHTi_y?S-E;ZF!DI$D!3OUp57`V3+YPHpqy^FJ!1gvEb^ z-cd!Yidx?HhSKK+tToWFQa}^)1f_L$LqA>?(BHv#(V`$dpQZ$U2ncf)0SPDoH6j8# zyVht(W5wo414^#;HGc7jwsu_`{A17(9$@EwcvoRe_9#uSiZaHhQ%mP{Yq0!2$nj%1 zcx#fZF<-Pp(SPI+u3X)V3%yrM#V)Q2Pb`AQNl}r|ee(nq7Px)NgO>8kX6+Od=t+ z^t!owy{iv_z74(iiO(dZ-%oTBukQ6rb6xFC0z@XIhdg-j)K8;Gj~^021X8>cvWI|G z@yi^Gp4JUa++O1Ik^(N7Gq_Evj!QgX{7*Um#K%P+(KPU=Nv4FqlCElM60Xtlj*~FH zw}pAQ{x-_f3y|38X9N^HwO%91+__Xj7>yse67!@NvuL9d4fW3r6gDj-jyoL&}jMrG4!ZAci{N9k0zymSrUHSRJu z=R|9omOw}F@oTH`^dKwM)zufZr1P2|Hf13#R+5s^oPj`kii`SDa7|G^9=R?lpb!UC zf-<1NQj?XVs>vZY)No8PiT7AFl;-rjOBymJ>5NSOxMA_kn9HK~JP0XUFU{Vl#bvvi z-_iT?mv^fe0s**<>6}W>V0yp{2(~INGNFVe%WY=bc106?t3S&DJdRRl^~$W{Lp?dw zr`3e!%H+``X_!nuV$#k6a;=o2IsnL#dG=+O=Z^1#IY9d|I@|+c*OnfF5N_tPRy*vCaQh!9NdBmzCjpLBH_$2Eo z^xPw)zf+I{p5_T0c_iR0o$}BdIsd9V4pZ;r^NYIHFh>Tm4`}?FR27&>K}FZ!u2$<* z-I2QV1LmYR)@DI3(UJYiYMrNF)Vr7%l5{}Zn36(H?C{D54d!W+4m5kVtDR-+W16&@ zoSW7!&X<4l-@(){=hVMz&Bohle>`{P0nXkJpK_43InA%Kl6pU|`K8lX$FE#tucwPA zQ;z;8h@{6?y=%}8d!y<@;uhzDf{mU!Cxc`vWRKL2U-@e;2Kx#!&O*? zK?1aMo#5%A@t1&kKJnG)8RYof9y=`Z2pqX5s`2DLNeV47gC+gr%a0?BPq$$j7~#;5 zBkH9??8kNbo$E^rS`SofnzlC>G;P$Wb{&|*)S_9w1xobrp9h8U--+baEMH)84(!>X zin4qm-Zg~(PE$X{N@ASvub9sQQ(&n<*ngEc6!4_#hq- zr3VU!UCn5Ain-8~;}SED%nCI*z8<>pokY+Q51BVGKk<(hSWO=j|L9||rz@-Tu&DrT z0<)0zKR}!xt*ll=*^jP@X5Ym@w>q?#gP}?zx{TJ91t0|DioKc8;yc}+Pb!=a2k2fZ zmO&}5qPOOh!xw|=A-0S3ngnG~x&_cq3SK#~{});0?>Q4-(I~b1y2d%Hw(~<{E3Lk+ zRgkp6Mb=4}(jQU!KAg$~c!cZvQRsGZD+bLeg``hLRprv1DsZw0A}vV%9<5TT2q@aB zLYL_;tGxYzf#U}ib;nHr)_W!pcl7u2bx^t2t5ycA))jSwy-Z8soF1_SLEU&PA{<3) z&3&_X^BkVnalH3kgIxHfD4BVh!!_yQu~38TYJVTiWqIVpnTF73O>3_V5MeTwM=2Vv ze6byI`%UICg!0;a<8#F_KQ&){g3DU<2twSXCFV2lr* zI1_mE;-+y4&FV=152v9ThjG4u_jc~B8CpAjXuszuW#~U@;!GI)Qz-O!;>;oitx*!( zNI_Q7?1$FgWJk1B)^y;rL<+{f#@~;$c&r^~o6pum@Rb347baCw$7vPB^hvT7%JIY* zb7TWLAJ|cgtFm8Nqq2-Fu6MD^S!t7#7z6+()ud%rEkX9`RrGxQqJ7N0K<>`BgxB@Hha^vBq8W zki?m?B?pc+WN}1|VcIap$oV|AXqIomJ0#A$BgxNOzLxiYx~&GndyNnrZraBn;vaTh zKLGv(ZOVfxkLazGRbf?5lb~l!fU^>3X714^>i-v~etTor+-{{J9!qmE1T=L8J|xX0 zPg;5=W}!gb=6R*N8Xik?S^xI+X)b9_hwnTBEFy1kF^^%QI*-8v(p&&MF9j0YE83(X z1$7khbD}S^H@lalYmUwy^CwxSIpQO3sb-NMiLC1aZl}{+Ji11b-xB0BPQ_9>)xYv zW%ymVH&=5AT24@>Uu0RE6|EQH>3I(v;-e4;Hq8a9kPC7=&1LaoJ}Av41K%s~LK;@r zS(!Dk?R7VFSeLyn&7}xyKd!UPuRZ$PRYw%9HNgt6SXrPIIZ7z>kwA zOVftfTPBzyA5ZUs<^8nXT4MSj|HcSX0)srjoPxF7re;g{|0=Fk-T>a_&y zqM*)_JS&2<4T2C2$NBtu9MTIsO5$Fti4RxXstHETCTzR!n7&2|^{?FC6tub1ui2Du zB@p8=JpYfZuC{FiDR%tO^ZPL9NK0M={HqeB9`W+=!<%24w^MjnHG(sYS^DLry9bw- z&KjpwqZYa0x| zV49X&`mg->T6Hqq@|1x`3=glbSVEa(K8<=yFG})~kOg$|`l@?{&OnHD{e^TAdFX5E zG@zoy3lpE>iZsWa>KxTMqHo8r3jO{p&`oNn;&$J(+uvBz zHCw~oj+zv968KG#geaqvr@9NaFs>`aPF|#le3TMsfHX_exXrMHx|{AU=2>xd`?@Hb zyKQyO>se4m^r(Qh$2l2&w0Rpat>z=?^8j6$T*7{j zSJ8~0j8#uw1pXkP*XaMHWY{FA8smq4Cw#@O`O)}F27C?u*BWpyNNSac;&|nc##g$z zpF;&F`HCOH8vU%!+A1lUW`v$<-`Tx#6^+c>F(;=Iprm?^C4*64LNg+fv82dhUPm*`x3hBwXqxSO#!(+8h3U&3v`sM`I*qSmq4|C5x~8 zSPG(_jFISxKda7FQ?UZ*(31pJQIibbs>otYfhVMbZtmxBfs^dV4_Z`0%ra6#Df1Ww3hX<(SFWOw z2a1!n^l5%UZfZ_`ULqKr9VdJ&HPw)OPxB|lN!qkIp%k)_gP7t5gze*r6T7$lWL9wX zljliV1!S1}Q5_d}{#_@MsHyhOzuFhKubb;e8niSwCk0E0ukg^^^5071%_~OKJTb<#l|s~AJi#roD-lSytJx^uEytK&LkhlYA1S{g=LyIDLsGF0DEgJ z8h$6*wO#Y0u|x24^EwI=+DBIjK-trkKbm&k&HWrIIDLKKg?Wl=u=X1252Pxdiq6CR zzLAbD_MP1;pOPKMpuWO&Qctc}7GkNmQ+W*S+AgQRnJ3s`;!W7$_|7l9a>D*1dMOb{XbWYZ8UWm!z4@G|fN%$zB^dHzSqSWyn}u3i0t2fW(d;M6~CcQ=6TGhMZwNwBad z&#=0_jYWPPqET>Evh6M|`1s=Dulrhs4%*#b{gm0L@CKi93Rw~aT&k$0NIC{yjZk$z z3)wR@iEgJB$kTVel-Vzxyc$jF2St^pqHX1E!)3NHp+u(y`1ubC@Jb>yKhZ<&8<}{1 zfAa?2VYAya{Q_a?6*WAwt*H-Yi0;$p|1C@X-=Bs5ZxUL0+*RP!^g@gd9CM^DVeqe6 zg^8JzVjQFV(#^Ci6A1^o{7m9lUwr1QLuXOG1Nr#>?8!%S0ey04Ig@II_Ku6=$A48nHN{AvEb0hi(_AUWLRN?21+?&T^GjqG{68e%xH*+(=yD9uO zjk%rlqV(Yu!^`{Nn>m`}@tgU0$99r-BB@3Ixd5;qE`@66rrFd0x~t92;QLw62;wqS*`{H%^+r_xq;!&!eVE_>$PLxxX<<1WbYI z3W7W2B2-bD6%uS8JTaP#TJ1W9GJO+CJ5kekL0jSgj1f-@Z|XFF_Wlk_s$&EpS(N#= zyZv=>N1ijxsVVPYZSL-GubNG}ZLaDAKW?@M$v>&Md<27ongr(xR1L`?Sa{kbDW&m0 z&2Kr4hD^Gm*Zt8C`(Gn6rpyCT+Wi`b{jdE9N&mI9e>Ur%&ASHzuNxO=Gdoz|ch3fX zH*O&LsCo`T*gqTf&qn>TasP^>|61BVko6Db{R27UR=4-t8ZC3*Y!2J&`q|;l_80zdR%Cq`8n~0=R>tFI;`RHERN^+Cse=O4n@uo_`2)Ca^@UdV9uYUdq zt(%NXBlJrzFZD}pM>n0?sGpTLKEKagpx-kJmZBOqs*wrOd%BQBUCV(oVqqS>E1b z74!D-vV(B4>a8|g$*2mEn}nz9MEsdjX+3!M`8FGpM=;&Nt)G~6k`#rdRg$#AqV9X!zQwMzX~mGWlj%*P0#yE3kZiuSWG{lPcgTcHc=9R?T%!N?JchegIs zZ}7~bI6;bN-QZ(_Sy+<0h{^uVGxOP+adP!+y?b-RNMTO$FKo7L!;(xfHlh1;%~;v> zw!YnMZ^SWM;~;A?aRUQv=2cF$NyrM87KJV-juP~=yA6+RL^o8XPDvFL-FxXZmc)TV zM;kn`W_G!;%oa?^yeP1w(0{{HvKJY?f5I6)i6(Q`o@wVm$Q~5POhBHp zhT$B`IcyidKR5{DrBR8=nPhEEwI@Q_TCGP$aJN73OWJo}xg%rPIy@gM21p0nPt!)( z{v=|58XN&((U8oBL#0kxk!*kW#G1j!+poXO7z|GZciZ}05x}DG2H|Xy?eCuGhbQS$ zG6;kA>P~)cuZyenYyH#rBqXpoyxyw707g>mr+$Q@%H0S!(QX5d4dU;&uU_|~R85$P zzSh=$l>!(iwiK zBLShJT`ehDY7UBXbDvNoc83kgTGyLji>rIlZz4$Y>_iwd0dRrX^iP)E(Y| zg(rb`cPC=?bw5;W&@LtVg=z>kkz{hLjT${X1(I7*h2;aaDLSO1Re5()2IEW_&;m1! z+d8Zv^O)}IO&TDF-8trHb_5(=p~-r;1r=r+ZVAls25Q~jZGUYx#s1a(b))n@T%e>G zknR%`qeMLyVQ}m#gE!%#5C=6xxY-x=_BZxGBJxDdbAZz5-XNqneB?Q*{80YQ3_>h` zzR|FR%m+oTMTU+BnJMy^8KzFCbxDgVL$6??X67=GoY&2@AH#}o4%hd0MY+A&-n~t} zI#B!2goQd_8ny*tL;X>K-5d#oDu3^Hh5{oA+ZOx`DLOEp^#fr? zM!F=c%d60&qv=7Je`NupdAW5UwVFjb12&8v-akX|4Vti zKKtXp|NCeE-Nf}kN2m}FX%X-s`R_Sthk#TpV?hqon6sHLnY zkC4S&yCgY#izJ{Z+;>}Cee-uYx}f>HT%DX`Zn_bXflDl})r>B2ImfCU>f)8MKPEiM z&eQK50g==8vvz=BG(Ss!X#ReWZV=uyZCo(y`PvfS zvTh2a0@6bjEf7;PYLm1o^ej@h^^+O)$KCxNuh2vt6UWP16os(Dl^LTv5lz6~r0v?+ z?Q*3k=^K$v(>I->1bRDR|D@#Q=51Jre^@ACK+Mh6)y2i1c8ve#fiJ1KCsh>CXRbz# zN#KI=5_bue^Accz9{3)5b|g_u&@}*$-6D>s1F}}mr;hqw@J}PnANWdS4LjI22wCbQ zJhL?S!Ya@uc=0QIWIxD{Z||>k_1=uNF(R}AKTaMI9rH-W4h5WujZ3wEM$_+Pbm4L@ z>)+%uPN`v*=fuFjrxfLrE=!K1I2IM3m0+`CouS@9T#{o8sknK2aq-oSvX0Wbx3|=p zi1vW{3Dq|t5g!Y*h$MEXKQoReC6_NRwRqm%v^!j}A|6O+y1Yc>H~X97YQrHRj_<3x z9S*zicHb9ovDIodBj3}sQ@_1YlhRw!&E`HRjc4_`*dqWa?tFVw@#N&sBpOavHNQ!4 z5JV;#QI_NW)0|`g)llsB1>0fBNtKg6kfuu57GRJK?V|9~*V>bS4&<=s^)KsaT~yZN zB2Y+%|0z|7V+8Fh!jq9jb(j!;a~x{1dc9fwI>Bzs^TSe;<#%0etu?E?B&=&P3z7s6 zl!Q}+3gu)kFIC!+`LWR++^-}PNvQo z6Q{0)WRC{owy4&5f&z4C5iSs(D^O(oT&0;r2? zj=n63*Mzqu{&f=bale|Uu#i-U>jBOomVaMO7J zLSS}HA5(iaP-WDf={FfKpYx`r>pNKr2_zKG=aRVGdR3rZ`X*AZ<()p9^)G57@JpCA@Hm?G2K)|etlGsC4+%{h~ip}M>dqlPPFWD%(x)lC}#K8$^Rc2ayC6Z~h84*$dDC6&`atsZ6Eb0>< z8hh$I26JD12*iyVY+Q7^mhhDEpl1W^crdy|GbdWo8f8BhZEN$I9Tl?kq^vh07t$j~ zCpNmqnQvXVAx)f1E0Bg5LsZZ}MQ!)YihkPt*=El^Y(=)Kn?&Y=vMmzgkaZ|2gK)8@ zc;R3RaX6zlC%8&l(m{-kp1X#hzCC9wv)K;|E0LS1+zm2F-B`qlTAWaBYAx!?Znz|H#Er<(H))p z!tsY5))AO9xTvd4p|FY0F|#k)#d$ujPXYZSq6^4d5ylEx!wN0DMB7+-jRRkF(LcS# ziT}6l-Rtk}uQU@5lUV7P!AMa+&dp-0>_lwYQ$gIsti)~9!!eR_Oa8Jyx!aa-Ci^y;t2x1Z) zwKCd#X$w_HJG%3ZWbQbegmag2>ZFIUVdj(txIU@KRUpL0ZLz-1(StLmt%fBE(+~Rw zYBHlXSZO83XGsANb_IJd^W4&)!Q7xuPMfD}(~Vd@kSUv-5v?WTqG0}l!_a@c^oE2O z3N*yGqfkI$sM!e924g^sW%bd_H_6FW34nYN6r^1L*r*6r;nRt{D5C%`R|VD=g|+G- zK9zwC^45Taf8A}@8o%ft%&?&9EeLS!87GHpsVIW_&*IP9!`({@PBd_DC_jZ{p};!% zud*}cpX>nsaZ$=fmw9lq$w^v+eZlU_A+#Zw!d@my}QSa!U z;O@fiN{E3G^$De9kn3bjPL-2|H-cAOUjBHC2b~nD4jJx_KfXLDi}G);dFF6S@>kcJ zh^@c8RP62L;k(`4H`lj!ZMoDj^3;&ELeBo4e#z zQXBS(GS~KgEC%NW4dr?(iIIW^NH`@T!b&-QNr*+fzN2TJ-%G8S_P($c;;fS)T}Pez z1`$9~F(#>$@^z<#6UAmcsYrc&d;4po=#M!OAgfVGN%tY%Qze5?;PTfK`}K&3YLe8% z+lb;uf_?zSENw~mcJp;#&E^&1@!NxJPfSK$SvF{GO`TPP81iH)x%%#52V~lvn#|@` za{no3OMI3@3=z;l89y4)Z=+=I5hy%C*V-_MY$|Fb zIm(_Nq!npN5Q-9md^oo~nZ96;GaYl|M-!q~Dxgo8QegIh&@z9@k2?>2u}1U2q$`rf zlW>v;exPIQI>c(k=4e0EzB}iQds!X6?Ein7nsIeqx^l^o5UHPrX_=G2Q~dw!olT4^ zOLo_5#x@=sf3q+$AfCY*8PGKKl~q~I$a>#?SG+I1`<@4kOux*mtb3d3k4t~Nckisc zvG|Zc2noc74MM__7d8l?*}(>}Ktf(3fskN@5R0)aM&1p-6A`B>Gb*zxBdfb_*X_KT zdC{2_aU$ZxiO7f(=lsvY?&y8lob4}M8MxlIhJ1#tTWNa#V6-kB0iV# z`|gin-<;RI%RKou;{KikXD~}JPUhsd`Ziip1840ccZ0K!g*b*9=hJ8Q3J?OQ7N!eO zzNVbqbxltvgO+TR)xT6P&qe9mwm6>~jc zmf1Ws>l3zS$r&e0U|U5c!P#m!OSp7nIZRN;a+F;DEG;UDh2gp^4sxv^tP%yi<5gqn zi*g*T7x5gCAhvv7*rv=3VeG!1*uRcgU8IR)92XYR1fN-stNp^>XjNbk+eV#XZYVv| zqUgo?Xq__V)WSd?tY=&DeMQa51XZV83E{9f#O@buvz?M=?OtUbjLS4>@qC7|D+OO! z4o3^w?3S}sR5@e|EnHo8;Oty`;&qgJfYVDCMi7=X!t%b#{^`XU0>7gAR(P*<^~pI(t2I3zpa_Qx&Di>RD`7 zEA|r%a4;zq3Cz%Q!B#I%6`fIX$)TyRqDJ^9atnz{3QK6tDwy3Bb9@sI1Y8q~cJ&3x zUZci78aSVEAHB?+yA#^vQL}gfD-*-Gc(-SIC(~Q5$xSmcu11P*aWo$QSxv+X(wbP5 zlsT0;fti5p02hvJH%cN|O7#F%=)Q%*pu8^YatCH51=AIgS#k0dset z9EQX!p*!Z}#E(Lzr0WoBFwu}Ja^a&xdR|>?W|J2R>yJm|h>B zFcmLlT;^}glV^<0<12L8>($^-m0X`t#@*G)wv!K?c}dr>%3EO7x)@?s#wCNZ4Jewg znE|e*^;=?mEw#*y8Maexf_N=zkZ6X@|F}PON}L<1XVAA5$t?~&0;F~_#(pVV zL=l);Ommezu`Y?VCxd};IOI5uSy5yhdMS(^gn$AG6O+Rr(1dk``=;=x;taejJD*SF zCS}AovA@9TX>-{}BJL69$`_)9i5Dr>tugo1#MT?hVo=%W*tR*pS{7u-G{U};T?=O> zwC~#rPL@8)GyD>`F6Ba=%^+WzjU~C6T2&cg`LxKf!ex0Ll#WeB2HUn$aAc!Sh=)~{ zjuY{W8uJ0(TA%v7%x8i$!Zj$LL@r?qyVcTwF6&!$5wj5%*_4k6p#lkASgtZM&Q0j| zu_e25jtt_{g|*q~>G>JpbJindGG?PNnehq2VxJprX8)!Vo-Y(EXsV_%3>C9(aK^dbfQXy8A8K%&s`{p zPC=EX$Ah8q<97CjqW4BsjB{O*%p>>JU5dHTk0Et*O(_~UiE^<8j5s?-n456)&>u^S zc4R(;-p7g6hFfv`ei*MwDm&)Yx69o&p|LnToZChprPtUKqf>XCc+)(76PWcf3o7eE zZ%vd5%+Mkrf%+0?qD@^uV>YO3IvMl*Vu=P?5jP%WqD@^9zysTPnB##%5R(aq{b*t! zo!iuf6jjybHZ6=OBTWoTaRS701h=0g^S_=*^OOi4*yfZ!k*n--LgVc2;7~Xa;^`sRBP_5WQDC~jgk1pSEQhMKd^JrN z4s1Kusp5+$?w456CvnPrt7{dXgye}dgIxt5_z8zQ)Y&NNWKH6inu^EV7YqMmJW$gi z8#bI$M-y3U~=iU}l6F!g(9p>^XNwVwt!`UvoF7uVV)NVS@0A{SA32x5{cWF)ZnZ`9o?YBMc0r9?Eljuj8N zwnSvSHb%Bd%j-nrpaSTUhI||JuP%;HmshxvK=pt%0n9L{bP;zUtDi*})FsJX6$-wR zb3ak{5MwR0-f3&rWCPWL4iRi*nxM2tlDN;E0XaKD#%ay8=;-0#rAodkHI1o})J41) z;e;sg4OoXeSh`73krP~pC&l1Q4#r}BjsbceFV;pm;uax)KAf0(_{gynVN=B`i3eyD zmJB=q1S}j_wctL*63fxQKKpY1JDITb$F=}AzU$NpK8-6yPAqHCh0MmSE^{^Qq0Mev zeSU!|PutB-GUe7tt|%Bt`8Zc+t)x2|*vv(qXe>ajAZ1OR;XY279&wLna&IY9S<`T4 zORc!$*OQ@o#dMjwhXi|C*%)ptQC*8%8lK~YkEdk8s9`txF|jjd zipGXeO!x%2IK)aZ?awh|jq%jZ``GruRA%XRV??hb+rs5?(1^z;GAL3iiyC5eKo{Tx0Qm zNqfZiG3EkB+>$P>vF`QNLJsO9tRGQrVFEi$MgWP!EwK-lU#m-_O4STUe4B(sMqE$k zc?xC*npyO+r5q(Punk*gkn+yaAo7>-H8fjzt_B&fL?ndP@VzK!5h^8zdwO(m;9PWY zOo{_dJjT(e50EZ8PyB@CwxT6{*8*ERdllbFXiSuF5SJnmgDE#p_H$FTB`J2q7^}$5 zN?30Qtubd4OH}B|V!#J(w@S8k2_^b$Hkx3RkVvEww__>ZznCuBX)GQQ79?u>jTl~i zVh_&6gvfAeKWZhvw*q0aK0I>H&$3R0tPuJ_X|-Kxq9pA_1U*0u5Szi0L#z> z5C*PeIZTgBULjQI7n>fRX~8+J8pDCWx)WBy=3C;%v;N4A zGr$gJSb!6*(1iD90G7P4O&j!=UAlCPKmnP|LE$18<~Ro@%&>5M++2fJ#n(ruyy2H8 zZjQwO-~A=msOmh2{wTqI7gOXpSfUPSWL?S|)LO|49G?)0XpU9Rh}a=)Jd3;-xZSo{ zKXnHHqzka{gkT3Me~g#Wa*HQkr6yCEhVB`cKU;s5VLZ*mhyrT{}; z%us4vJxSv-iwO+^3Q4RIfHX(77Z2GVjO+rr6uvqtV_>~-yoHM1;Ny?Obv4n+2+ht; z$4X=AKz4O}$^rE4YlI7vymcuw{x}KO_D```n9tt;AnwVTVM9Ne<1JvGX>rUtn{&Mt zk1}GX$U3(ASy<4z(#O|nu~I^ouPS9j%@qii30Qf`nTs)9{=DS-Sh`qkKws?K2iGU^ zHMQq*k1LG2;f!7pfxjv&7y(RZx;_}CcEkW^b(h!E;=aHmxAtlA+Tr?3Yg|Q^-vWcU z6@oGX3B(QN}`dG|Rn4AEyjRl8oFjgG4U;9+h z0^IkM12{2;xISW=589*Kzm@m{g@XejA&BX0jGtS@;r4wuJJ19(MVtu35`oY2K9AhvbW6!VA`o3?{ut6Piqlc3S zVZt~-7#7PqTV#!^Hx94kQ+US|LnF=-O(?|qd<5nR11LW%1)!eXMKw7f-=|Zo)3Jq{;YYjL zij*lum$Z!2g|y754la)JXUDO&3cK={z(hpM!=5%4drx>*)xYG6=eB=DO*=|WAE84h zl@hL7=;ra?pR<5Oap4}g+@Kgr%)InV!!7=*qz2R?igl1pN5K7Hx^CL#wBq>6t&1P_ z2blcvO_o#;!#;X;X?H0L9?(?q%`gEz7AQ=)G|kve4Ewo&ZOJNag}n`BS?({ukCa7} z*-6~$7y!D_u!QJMs|eyQjf>wreli+9XZI!h0<=Zuk`;fGMUJ`@%P-7SrkqEYzb*$v zOe}mNvGfbTV1)lE+rkti46tW1QutQ1uo=@7;{u?bd15dBN1&RG3ZM+ z3u6lvphd8fAEBTITRw7|aJy-%=mH?Q1qKd5@xUr}Gz4$R?)FL>Cd#iySvk2b3Pk79lu`hw2G_0U~ivAS4!YNfB-=vou=W2ciwRDq3{sq>dY2K-u7gTUut$b8tx=O7tiA3Lp3+nSy%tKkX1?t_C5P1>*$OyfY@ zNB}F(Mnhv4RFqx}&`lp44(#&c)!mqG^LZ9%ea6PF5FFVV9+s7HpTWVv9DDXs#1GoP zYkk1zd-bv9nGW&rVnO4Q%NaqJy*1lJ81NKSfd8O#iWHN$k(*$R~Ovxc+-mM_FAkPXP&20LxuP!?v4OEP1tJO*}e8ryBj zdM}n$Jr?!D+5x&!mhof7T@q8B1RHi^n~j*24tKT}Vs#-O&4y%gh>##Oz{aM051fXt zbdhez8g1AT<`aee#tpbPw%qfgI*YNjNCwkLEU;<%`i{WWVQxG&%IyQ!8FP(n_Z#bza&5#|pW4-j=QJBeZZ;=;MiWs|fEHGz7!Q5fSZ6Ci!ZRI5f z6pg#J0V*Ftmbjy2gZkRa3jq8CXXOOQW^ihZ=%jx|J8e-7=@cDa3U!P(a1H(;iKb_-j}D37A4?5ynJgeyA};z5RKd7P-Gx{Pn-!lnWO z8RN6XZjb}Nxe+MQu;1ua%aAD6vWjpHMD)UX8)sxya^6D$m5D9TrlI0YU(=pxijsb^0ELlCI>@cTdl?}T3e{zefAbt=}*otUaT)qmHW+vV3ZLtMrq`PI}1;Z z;Q$+#v%cYR#x7gM(@d5{z@ti7XJRUHzAf{!<*CVqn=IDDwaA#*xN^nGr^M}VmQ%HD zJ?p14j1IV87ejrPm9ab7?p%+X@w$|YdX8fT7U>aThOs&5+wbqH9#5W|4v!PFBIAG# zpNOB|ER6*q%p0JVa$u)>u^K*lcr)W^Ml~3qc-6EVAGaJ7>jB9?R5bu*C!7k)AZKW1 zy=AE(-`sLhs)q=t=%w)rA=DGb_%|ZgZaFE|gY(HKn#L&3*x=%_@72>z4s^LGR>XS8 z5`!@+7atOJb5)VCGX)m=@;JL35mZquYR-v-2WGacmJY|_{A7-w@e=xjK>&d)&N)gg z_)f6@ugGWil(q|YBrtb3C#PbFCvNghjHia{8h~(|bh+9`tmj}hnSO8^vbrwU06aN; zssOgGTrIisjDheY5?3a{aooYbczklFTW%GQ1Ap&K3?2nIkj}D z*{*`R;5(Jg#vF*yY%$TWW&%!RrKhAy*H|JSKTR-DKK)p*E1GIU0B0qTSW0kK)^=kz z%eS(muQa9t);8S5ig_gF?IvJML&ktOIAuQLAt~xNz4R^`B%25+pAw7ZQPYNVio$*o z=iCM6Y{b+vGExG+Xda2AlJ62DX2I@)```sWKTeZdyzCT+hu|0lp5BGvNht{R0`;5{ z_0XLOi>&c#5wp9^fq^P}!vzRIfVg`GUT#2ec*Cv|Xp^l6RVbE5Vz{<6Obk&YadyWC z5kIV9LVN;;99=RCv(+f*J;p}{dZM8q;h#F;Iu;8fESI^kw1aLx2zK?cQ{~wJCLd z$%pb?{%faE^C`r~0CWKS(XcQhdY)BKloXdYR~JZo;GPnAh^Uam%%Kk5Qe6O?vBATj zf)5ebkoHq|OLgS{M^9q>dr{eI*4IKsPp zF^DAChuRGk_Z$Y*^_d{YupNA(5fZNVjo`e-M-TixkN}Yidl6A`!Xkn<*3t(DADL7H z?$dxZTVgO^?}Sc_!yLFMc1C?&zN?3aOs>PjH(a>lOS7`wVAUA%VI0O{hG(uPYuUcjGK!fPtW0WNCj80}-_Giv$RWe1i`U-8a~M znQQ~_gyQh_h>w_iU1km&o9t{flSKP`J;2_Z=;8z*2&x`t5oQ}~apo0VI+#MK-+v74s;z#2B++3xw znBs#qo8bTprW-bCR=VoRTLi|c`$Hy$dJFL#aX1XzmV@)t7YzU*1k{;g8~M*FZnrAQ zqhdu-!R1*5#zHKZA9Cg?&W$p2T$9bf|9tXSaB=+UUfBE*>{Qe4hk*v3Yfk` zVEW)~ZQtpq(Hq;o3l?hxY7Oc>31!hTBJ{)Uk?x7-o?JBk%giopFnREW&Md0CGlVZebX+o1=+1 zSrNWEch)+71@$0wCV<{M&#iG*bqym7TLh4kaHou65eQwH;JQ#>gHe)fu7QABghj;O zi^vmLpcgM@S2YAO$=<;@CShn#4S*(PTq&}>S`A{OE>ttAR70Mk+2jI=ofQsmMFf~e zHB>XHRKtLXd$>cL_3v8j-K;#h2|xRSz852*$|7>tN9 zH}sY#;q<0vxw;ly1JGC5TH=R0M5Dqr7n=wJTVPQQ!bwLUE*QeVf^h)=+(L%`IB@uF z+bR*wxMh;wV{VVuK-``ubKsLqL^FOeYjb!@4dIb^1fUs%av%JabU<8NCu%JzPR3B= z3Y6HipoR`XTT9i(Je=axblxCECV&Bp(*%RoBSD@#If^bZPUo*fCG!nor>(b27Pq-Wmbl?a4KccY_ z?Grm0EHCX+)TWUu85+Vu;JSbY2Rmrmw;RybB#jKQ$DXhfA@2m%#$wYfm~BWFWN3tx1~C4q=P&wofPA-p&AzC`)<> zFHI|r4AE)AKX4!ii-K?;Wl0YqS(Kq+E)kyaIUR}q>HNFWk@GyXb3TCsDE?E{VpecW{LffWUw9MoG5%WU?(N#HZeAJ6?nFjMw;Fv zOt-Vp)T6UCnRLfa2^EYw9}6Zv#F%{9;g{pR5_i&7Mf{`eDmgL3SxGx1S{}w^to!){ zi7hyhEA6P#nyj|r$j(aLm<<5en1a$ao)9J7eW8|Gg)MBUXnBeFfDxk{D=|EFL zHkyu!Gdbguw}N`5#iJS13a*!k6Oe&@L7xpFJ|NRc74do%OO>QM>r<6=#DudyO9{1b zH(k;8dU>p9dzm_>K5S$KMqo^YgOabq7SZ=MLRowGv8sPvxlG|YL=C`$lRSIs-8aKD-{wJtS9c2NGiJLfL!%BEhf_J!^*tKEY5Zk7@ zA0;`&5Dxcob{F{h01IC+J6rXmR7VWB3jtWOF-oA>v=p=1O{6w;9G65M1YT~GK@Err z@qtI~&5XJ89dN4+P0u7kC{WNN&&R9SkNWR-<^4iwb^u|IF)e&TnK{qKb=?T8qBJ|^ z7?)3oAU)!)Cn1bdFsG_}QJNinpa5gG^yq8)gn#j_lH`N3WyCA%D9?^QUn`XHvxwUy zT>Qgld1W2PCCQzkuf=?div+yQ2p4xVyi)8ygod>j%j}d`t|*x?9F1y+yneN+?nh~M zU?2(x8TNZ<_=w6IKFcfXD9;W;6oJ#0gQPW?B*a!+=T&SzIPCc3iz6`_Mp(MAe&R8J zpzDuopB!hJTf3+9Z#C6R)6H5iSZDZPaZn%%EfTrjuFwk9)5lf7hB84TiOQ3er=PoP zvErU`Lj{$L^?Hy1-6ZjH#&e*%k@lb-R94{iV8ZR&d`buov2Vdy*i=x0$v{-Gq?2gB zr$p4NQE%7{Rbc~#CY`%26#rxJAzh>f_qh`G92^+3A?^&=jiIMb79-K&VJ2l+VVA>S z`s7_~@TxU0e$)DW!qc#TjPQ&gs3sGFrhN13f8#p-4IB2W1xX+{hYN!LE+lSZ*{%-T z^~1wVA}(QT#%1iAFF-T;7Ko}JUR%6#v7l;QvE1|m#fmi~A3t@1Z_$C2t^aU04q${gi``AQ zPqmgkuvP%O1S~fq?i6=@MGjeS=fgwi?fiCfmAEcEO)j7EX+Fm9>+$ik;rJ8c-pnuC zHzFpC0D1)6K{?CJ+$knp4#zo>7m1M&3-Xz{yju--@zZMHp4-YMN<$(~5ps_^7K;rk zmCRq9y=FfHJjntoZUil-lbmVtNjyo|$`Zne1J|k>WzN6HIOG?@aqF6ZjGd1rz$E4@ z(-LH7Ra1H6_0H+Ds}~>U`TQhrT^TVuF+Ae(A3N~AUNVG_GLlNjh`}6HAaO~=7Gu?D zyAyCxp`5p&gp=6iJ3JY1J2Hv-Y+e$;pEzf(>JtF>!^27d_noSYuy@7v6MuDJ+R748 zH7mbP)G8G}IgwZw*GH$%PFl}N%r-gB<1B@#6JfqeT&`+@75=h#4n{jJ3{$l9a#6}h zfJi+0MME;%${-#@10a;JLKqR{GAf-k8ZFj4>`cv?P`ia-y;wTKwjQ*2K={YW1WR?| zbeLc+D^c~gL*8e{|Cxx$#?AL#le%@^M6)|Qw0TXms_jAON-W$6}b z7Mst`E|W!WvV3~}m_cqk$}y<0z`qP+vFYQxP@J)TKUp!3aTH@OdVE&%fi8_XZe=c; z%FA|dGG&2ZcZqP=G3PFX3Ey|ZIkQ;LIOQvje)xJF$J_~Fkd}epNjwwo^6G`MTI%G; zT$DMx))<*71vOJXyI+=4)>e*Y>}8`Fj-tRsg0; z5Jvg{Nkp8^23hGtrd)G#`|GRopwkGNIoQ5xZgnvo1#^&FHV}C2C_2S=%VTB=v^8e@ z5~i8Eq4EyjP9hH|sr7hc@0${Ma!fq#5vx|~S&tS6bw!Syi71dupV8ce$5Z5(M{Hfq zwEyOy-Gr|wI6SnN9eiKG?AYaCoZ;?^0Vjrd zK$2i)W&4W7NL$$yqsoZbtixzsL+H(EyF9LaUfPda(ig2^!ZZ~4$C6&5LDgGwO6)np>JYAZECwhd>~ihhnj&Tmz!IcH zEyjum#;xy+=UljE=&v)hczDm0Za}KECq{vzC^7a<`HS=8d287M$a_8@ zz6X%SAU95({bcyr4g6m0?C^2p{K8H2rcd7b^jHpdTNzzUu=pFZ?G#tD@--4znTLl4 zCG+sm0A!+wXw5Ayk2vIDphfUG^h})dLRZk8Rp2?`2Vi&hrz5sR1{G17fU9p?v6k(6 z8gpBT0#88XY@dF4wJ!k(l=b-R#cO}bX%1B`ALnQDztFbY1^A1j81Ge4z{G-FEdBW9 z9q7p-H3F!E3nqN?+wL6};{~2}9Gmz?O$~bEYKZ;)W9zAW#A!1Hh_WVuq<+8E9 zX=;NbNbZuB1ruw|C?A7^gDUb(iF1#a(R{QVgv1%L(G!`p&VuX2uK@{JwAQRAD>(|jjM%;GQJVql7QQf=EI4Mm2}H?R*r)MbEZ8wkP!FgT-&hq z1}gx;k1!XA*r8b77YDUS-Gsh+6Em!kDg^#_$YD0a4H{!3hgehs@{$h7a!jth_ z9sq(gWNn8%*rj7vur8LS2bR3K$!JIzBxkJOaPC4y$>3VeSQ%+))oyd96lB7WWkGCM zgT&}wy}wq0+ow0I0CgyS zrMQ0rmWQFY{qSz<0k@lV`3bfY-G_|6_~++O_X3N zlA=U*&M~D3d7(^Nt73@sWcWIQN{|7E=+?Tmad7HmzQ4J|-F|$PHx1+nB3sUx6~w-T zqr7wXSntEK0$J=-J6$&x9%AGGub7BkPnIefI5!)Q31kVy`pcevFV8Vidxbs1%%1tWlO>Db3B#<2<_z`h3nY zIF+~sgiarg26mM-o@vu-i{v~Qx<8KQ*n?r7e)8-o7hRzJPEO9xzkU4-9}sL1=Io{? z3xWvC9ppPb`;*!1%eSV67y*|r^CNr_2$+(d^$pDe43NmU ztMUX1MTIb8LF@yxS9Fc4ZV4WitHQYI6Rco59OQ)C!y<88<%8(SMe^)vewq{F1#^Ky zJLae{BEpa-i-o|L+TF>9e#}nJzqBC`R?QjV+{Gsxtq7I~b{7$`+)?>6 zr-#wjva@Rq!LXu1>?7bT@Yk4(*}=V<3@ixF&%VenmV`{>Ak@bQ7&GZeq8XufuuE;}tgyJgx|RdUC;8>|Y5r-`ZA~)b z0F6Hi%j*nV2)CIpo^a&)``|zf_932pX$%V+PUi($5^x%ZgnGiXX;!gVBqvw}92{`& zJ-=o%|Gr5ZQU@iIDCC4wBmNF%2iADJ^mVAD9vLv6`hJAI=B|={AoW8xL!mHa^Gs2+P?ym-pCrr|vVqvGLfDH*S22k2}DA zIB<*9h*1RJ$Iau4)YL&4`Hp26$#SUV{t59R2(eX2l+Fc}oNvmTIbdMik&gQF4CEGv zd$)!BXxNxHSl%vBCgW|0pF!W*a%~|$89yI16iXD%xatmvQ}jWLp{gae$xTz%18x;f zu=W_TD?#spPFV(atK2kYz1)MdgC31=Fb7q&$;e_&)tL2ssu%e0fB*$>11J0@tq)** zKL&F>UZjLd1#DH}yEifiTdKyb2au33k!IV#Vm5b&vCZTITEDj3Ma>@pCIL9^u$pJFnO{-!cjCJzx zzWIWW&kQj(z##&>F>S;hY%3ctIv7ENDL^L@fMN)7+JO0BX*3pmfw7R`M@mPWfY zw%?7J&o^qEjk&G^5sF{{?rXS_`Lh3R%zWZdaT|+VV!*vX7JC2q0PKfaW%!FY8WY`Z-~* zpq>!a9%wZe@VIpEyS8qMa5kooaulpkP!5Uty1;j~iF7iznhHN-3#Joy&5@4vvmau}C~_ zICn8HMvE3BHX!E_kYQu<3-lY3ALCSqq7mfs875{fgiW376v)pT(x0Q_#}-7Qei_S_ zjk2%whtZ@dd$8MLIR*?P!){9<$m^E20{w=~CoUVxaAJSZ4^+%fZM0={X?|1oaQ!ED zDdIH%^taPaZ(~1Z{!Q640k<_7pw}4_J{uRiM$!ZQhU^*PViQYbpFaO#@-`Y>$Tww= zsJpoIOMnv^j4-XR^o#eTg_TW5m&uhrZP)>D^;)?Y_Q z-|tE?*YUb<{n_{S z>^dI%Uj9`Zzg@>;-}!Oh+P~{~_~o}fhxUIPJ^%Mm`dxm@0iTch-0`R5k8t3w3?fm}u+;)BYPQT+5$W8_GYwf1%~O{FVbgANBd6@kjfu=|k_o@`(>98?QfUga=;%qeST>C(SEK2;cH=7?xU2cD_1sh%D!(^XuhQAK`a|2><+mKr@%Gbw z=a1i?(C6Fk|F-so)_>RZ9(sL#|3k;?w)6Y#^PfZO_sfSq-*tVV?c0`r-`nr^@3#AM z)AT!fmIMAc>T@W6Li1}qn(ljf?MKse*ZwxGNAq>{Sq>;awxu`CuZ~_A|F@0LzW;vH z^04px*w+4zUt#m7<5w8Jw#i@U?;Za;{tE{}<>s#Pck)@5&yF9jHa}jq@$LFkme-qJ zH}4yNyY_4z?_K%Rl`nH(+k7hL-oDSd?fiawL+jhMd}w|9o_|+qmx_P^TmqZ{9D ze1!wL&OJ1F(0*$g+J7ylX=wR}mS6d#=|k&(*I&y49e+O!<AKG~O z{Mz;$%Aeb&w`+Ss%ip*BK7T{o_p-}}wl_5YP4~~I=Rfb-zMH1EYkNY=-?#kx&d*)j zf8WNVYmeoCKd$=R@u%aDa6siDG!2!Xmrehs+q)~hu6&sTcP$^~+S|_qZFeZW(EM7D zrd|0m2b3>$X*u`y@$T|l4(tm*{dR_q-$O4S%CGyDf7kK5Z~f`oV>#fDYuo2geumcb z(CCNux65xiP$yR%e_k$s{Ba2#k6p`$*4O3VEHAr`$4!^_>4iRrj&~^iZTY+U%N*Fo zuU&sH*S7tN86=oX#2FBrlIA#{FVdCKR>;1 z{JHP#yKnq@XzlUk!+*YS{P5f7Ki~KEhPLm%_b;?Rx1HbT*S6=-_S`nTUE32{{=Vh+ z`5W54hh9FEU-vEl%O1b`&JUkI{&Q&i{qp|vt443v{@iu>`(9sY`?~y=1O7bI=iBCw z)}v`?eOgY_(DM79U;C};L+_9BLDPNbN7sJK0Ub|2?fBF2M>wEzaoh5s^=KMepO(`! zw0xJ}azOd#ryYMf{s;$DE;@O*S$R;tHcdnM-;}QAyJ`BN^!7c!^06)r?Oz=oegCrQ zh1TEYw;a&%^V5z$uQq>n9q(Ps@4I~M+W&`MK6LyaI=}Y4|Dogk(DHZVYe(GYgFZhr zdFcAv$%AmrWgE#Kw098muG>3!qRuI=0R^7m~#y7uhX{OQK48!zF2 zu7jOCY?cS*lcu5k(sFfaD7`NKevMb%xa<4S@zipfhL(S5`IS#~X(&JH=;-@h>4lcx z_x#E?O+)*m0&Z_4&`C_3v6fw7%QU@At=l4y}LJ@}c#G=HIn_ zU3trKpAU73ydk+P;0yzir(1y?^`O zet&#I`?K%mL;Jh$`EPo>?mNBP9=G_-wMPSd+CA6nmi%ddQ^OGDdRM@Qdx^ehLI zAE9Z-zy0Q4==j~Y{Jy+~w(n(^@7ilQ;EzMyb11)VJAYj}>)wa9r;d)k-<4iy`Oy5@ zPEGH+{9V_l{nRwH{?PndkEVBBe%Jc6-I|8d3(c?f)TN>Hy8M;{9Y1|Z*vuE@mtRWX z*QKHP>*&DpdD2!Mw4A1vtE>O&`=;rtr2VUDInCFVFLOZo(ljlXUag~b<-7cr108>SN!ZL6 z<(FSd-`AyG{>^;7ZT|S4lcx_xumN|NB0EUHdHud^y(Vjz63EqkPhI-}$Bes7v>~fBW8ke_ZyxKVADR2mEo> z=Z-%wmp?iVb!q7M_;emx`OyA`=J)yQKZnxm@>>r0eAMTC=a2S7)BDyRZCBegv_Ea@ z(Q;jVmIKOM}*M8Kcq3x}s zQ}_O%)8DoKq2=#e{yMp+dmq~VIy(A(S9*6{KD55u&aZsbG_*b~r)g;UF2Ch~@-H+E z<)2S~-^z!!x65xi;E%gL-!^}=p1L%&{yIAP{$e%&-bLg{t+ z%j2QrqG`vUjz7YIyOIa3r!EbZ$2vOt{$e%&-bLg{t+%j2Qr zqG`vUjz7YIyOIa3N7GRG({h^Lb@|Zx9$J1K7fnO^ujMqo>++%XJ+%BfE}Dk+U(0EF z*X2X&>+)L;=y+{QL;2;?d)ei8ZBJqUx_Qv81Km2%tpnXU(5(aAI?$~H-8#^%1Km2%tpnXU(5(aAI?$~H z-8#^%1Km2%tpnXU(5(aAI?$~H-8#^%1Km2%tpnXU(5(aAI?$~H-8#^%1Km2%tpnXU z(5(aAI?$~H-8#^%1Km2%tpnXU(5(Y6cO9^`H~p`S)(`jo;0J#GpWww;dq38D{b$O* z{FHnD%zOWf?)~q1@29-~O7G`-U;CUt_@~nGmihaqdawUY^LqK8zr|lt@Ao`9Uzq$q z*^9mW|AhBd?f>^R@Bg=>|1*DrKlu0OTs>c>VN&nsv3>tf2-V1;J(a+j9U%3AM{0~Wc zc=@^JwCOML{;Rz|*6VrW_!rIlAM5>xU$OcAvMY8~^ZwuPzSsNXz256Cqf7py$^YZM z?>Rd9>wo6`SE%&6NBYL5|C9GWC-UstPs_}|KXmUu_ul^q<0ko^dGCLo_piCK#pLTQ z|8IKvM>Y9BsCj?v=zQ$a`7QTeSS|ksHtGGn8aln~;_CA1da*djdh`4ue{y_zm0uiP zogQT;=V$q4@91cLe)QzzJWWoH=2zzzmq*F<^Imp-`s^gX%I63D>KsRl{os6l zeUeY4uA|Xl`ZVfKvn-yDhxvRw8&0!#dfQ7+P3b|O;)5ig4Tq!IA{(Wn!DJ9nd_eK( zJQ>XML7K;lw4daQCdF;rBT5hR@q94s_eW9E?@wprCZ%25hZG;d}` zWbPtASS0B<&eHy9HknTHX`;jX_Fw<-jSn8ZMUhWGc*_;oK5C=0{7b{M$!s|5Cxc`b z$K&x#YMx)7A3a45Px77-&;~Lvm{N=)`3Vwhr5@sg!62W+vv@Y>k4N))GnO7*UL_Y- zl+NbyWH_29@N)L^v-*ZH}AduNzY8S-qEkV|IwRoynpo3yYD`J=hLH4 z-+1%=caC~b@~fjS5%Qzc{PgJZ_&d3Ib2BZ(;?pD*M#(R$RiyOWvK>RPv+k^p7+et)8z7L?_mDo zjFL9Jy67ET>bE5(>r)}V*hjSEAiyvx(;C*(}dp0J3z$7k0mMOM$pXNzQVY7&@Bf7> zulzRyDtTX*|MYr)+9u2Y`sII*x4!%P{2^x+9bY{^#2?xm zetvz{^q-RLrwirvyz+X(^8bReB0E~Y?zi7_<)1l$)qZQeIt~eCC5x8VeeHKY;wAsy zv&r(mT3*xN;g@3h-sdjs$2Qe`?(K5^>GQwl56PqT>pAXgHRWA*w0Q5|@t3^oFW=Zd zw7j=XH+dz8(vfqV{%uRz|2}c`zaACeuIK$PHRb=+Z`pF6f4fY*{M76HkDBs7`Uf`W zH-1DpW9j+j|4&W%@%QbB|GEmcExy**KdLGJ5C6!P|A8Dh3;)VbtbM$YcRv6B!GE(W z+8_RcN}eU6V86ZTDDYNPqYL ziiV=s`<`R}pW*M<_`k}tuHSN;E{_l|`1jl2v*rI;x%+GUm*ZAd`PcuSE&mO#!QNx< F{{vE9495Tf diff --git a/machine_interface/tests/data/test_sysld_wasm_matmul b/machine_interface/tests/data/test_sysld_wasm_matmul deleted file mode 100755 index 80efc7237970621c62dcd4f73ec0fabc9742ed27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851416 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


X 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

)IG4j?NfOgZq?0xsn0@7#$88WQ|b?^p8;j{bQ7{ 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 z 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_x64_matmac b/machine_interface/tests/data/test_sysld_wasm_x64_matmac deleted file mode 100755 index 1bcfbb2d41156f35d3c3494dd35dda137d9ee86f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851504 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 z 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%0AM%-vI|FW_0j10gxx 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_basic b/machine_interface/tests/data/test_sysld_wasm_x86_64_basic new file mode 100755 index 0000000000000000000000000000000000000000..7f6fec101ce465412cbbd2d621758088f81d063a GIT binary patch literal 19904 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 Bm{0%! literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac new file mode 100755 index 0000000000000000000000000000000000000000..dd62f071d91932a4928f79ffcc1f1b328c28d500 GIT binary patch literal 24448 zcmeHve|%KcnfIM!gdq;Op&b#$%BbURY9a4TnEVo@xnu%&bOMN=ZPiXDlL=uBKTIYJ zxNIAkgm`;<5p@f@-MZafch|lj^#!)R6t&6>7y`JpfLr{rt%BQX0{)1$LO^8p`<#2u z+{qBC?~i}>v$>y7=A84K=XuWaJm)#*Jm;L7``!A`+ya|T5>KHtTe3=$RLd(;-xL@G ztCl9<_i|}6!?jyg7vyR$F+n1gO3X5~!K!#!z(x95nTaP-0Vg`vUaeW56_A(LaIi>o z>Bgb1dcKKJ{q2$IA+GdmLU}G%0nms}<#Z~i6X`0BFH(oemdQwRRuh9!QjZCiM9Opm zY~k?}bNxgr%tP(E@K=bxdGnV@UvWIS zby#2jNy(CXqM6%fPb|LW#9xst)W`HkbR^#-sbsp;Ex8Fs|An z+g;whKfY`04|o3Ne^PWh%JsZwZ+W3(QCrdHIZ=3vK5iGW%tLVrLlOpqxs%&Yb>%V z+!X1^gLDX-M5JSRczJAjcqD{KJJxnIN8*w2%9fUnSX^rFTp@KtRxFFJ4M$sJ(R(E^ z-o*GA;tp8L$CH3>=kS5Bsjz^jW}D@qJosjAAE|L9z9=8!_|$LI$KrV{2hN8mt2&kg zC*Ky&a1LCIIZ-#3j#*&L0%H~!v%r`I#w;*qfiVk=S>V5l1%5AIeO67r=TP-a1{YwP z+mnhHWDcpx7ae<<3Ym%@0-U-2NBEVe)gnjbmd!#x)wnrLbjBsmQc^P{-rC0{+SYC~%JgRiUU;X>86Pd$7-?gE3GIRi)LSc^O@V9}Gj zT{kzNTI&4T5;b{q5oJ~FcX6kx-&}^mz&A6Q%s?}K_FZy4%C>vZcD8+@A55T<%X7QB z{yjG~0IK$}szI3lP_?%*mmS4!pJn=xk$0wiN7VH%653sRTgv2V-J}uB0l9WbQh_4} zxXX#%L2eoKd1Yw?{te)igRg4CYCmm?CAEJZ+Y2Fe^RkzxwLD$O(?*`IGSl8JO7W=u zy_?M(W&h5~Znv^2D|^Vw9<#DTR#xnwz^sICrjT`8S+A9?wXzGXY@?MGCnoAM)PUD+ zgT){0LcO}10Axp1+qF3hpd%Fk{*D0JuI)&IFg{UAQb_Acneam_dEgi&{ar&y=rP-% zf~q}$4neZLge9A&Ajz@+66H?i4rPh5m>h#nFp|4TCQ0tu;Uuz81N!6L04PSA=TLty zt3$Q6jesG2H?a$@&s+te2{m){CV<*VTZioW(cjNlgG!)J>|$I_c)Sg(ZdfBarB^S+y>py z9qXx#{&1*KXOWsbb6W0QK_KHc2dj@{>vd;QdY~|~UwQsBw4v6dKtku`+4@m*{v8BoI@4&n zsLs0yOMB}D^0I-2*O)r@PpIpV)TWm9}tk*Xb5G3k`3$+K|R-K+|ON=>HWvlwbmaR_uFEZsGU zQ@F_=yElnyI8QP)45ucuy4CccTkbx=`a?av&f^~ZE%M6q=V(N&^Hf8vLCl@VmLmHm zvN_{)hTH7oa`0BPUzs(+p-Xt>WvCRoPaq*I-OuK9-3R15Il8||<&ju(>V; zqYvfYyBQcRrr6FX$#h9W^gxzrt;Mv&WLlQT^y*QVzAN{RAIWq|F4L3nE-vX5lj-Y# zG(;^)51^bc>05H|zc6st5blO(s=-j99EQaf#?%S*({6>$^xcf9rAwSqV-i>ZPg-De z79{)KYI5H>x#!1NSJKA|lgA3>?q%=*6@6N3dl|M*o`xF1V=NyrqFGvv+HLSv z80TsNp%d8LG$~uJJ8d-Pyegsxx4bQF`1{}yv}!y{>A?38L9l6#;)6Hf{v$@HIkJ4G zFs^n?H4&=`aR(61Ix+h^jB2XcN-Qu&-IBcNpK17@@#`+uQ&dT{h-ZEbKDx7*Y_m{zPNtNmcS_f2>Gj9qj?<`63KL^C zZiAqQ2gvSTSTcRgP6{lv9l}&#IDY|aO2Dm#REVsARBE`2DP3c@4y)0#s&S_ynHg5( zhg0MjTlNIpd%7qXqZ?Dgt5vl9ik1$6DY~Be^cK_vqlZFb;SGl4Y(!4gZ=D8;Stwc*5FL<^(9plZLpn5;l30qW&d zz&M|%5tVRCRATKuow#0&#<6Ic!#Hs{8&ov4x zEB7ehR>Jq}HF;tzmS{H>D@NRN3_YEA*&MA9J(JkOm{Qp8s#1)_oFY z4F4x=K+v$({Ff8vYnV(D$=peygJMypB6An#;{1QbUh=m7pR)O zsNVNJ3$(Qp1M99p2eMsCH^zz^Nc~B%2@7bCv8@>!QG<5I0Dj5+aUu1cmplZ1XSkTR z(YURq21~KVAz1lKPZx|ti16YP=FNt)4Ch zO;)vF#l|V@_2)E#**Jw?U~0UV%0PwFUR4y*+n@(}fgpElN7)1%WE4k3#v*fVtwA|p z+=*}Nic^iIgZ!~DG3B9@#GKnzSAg49;Py&`cGZM{ZC|p#B$(_wFZbMmZu*HWeut_HwgDac(Fvb~{V z1DOnX?skyyjcR6(YR03D>MZn|+_M>z6IHcR6?Hkrb)5A%M{FfTx7>3n5C^9sz8u_+ zpWFkWT5&uOFZ8AM=A0cQ-@^=HofQN;$8ydJdPh4e*oKuhr2mwi73dr3m>_+u!0>m` zI)j2Va4jNHS|2t7QPH;0M%b59lIIX*brJ}>{&Tr=cq1*{@F}mtClxkDg`)d|*e??{ zhBG-RhWeRWc}u^%74wv;eWYp_)5-JaFwO3f9|?G5%$F!Uf;ks`u(gk-ilI>S&7jd? z4{5K5w7Wf}O7hcl^1}hor4#^c33!T$*#yFTFBJVCXmrw&K@}4fdF$SgHW<>{JcyV+ zV^l@p-iJez=}@Uwet2IEi`T;U?1n*lQ`8bF!lEBm=@|0y#kf=>)3e#6z3 zej9GNrIeVN-StEs+22svG^T%?<$>J{jkXmOsK~u>lntlGyxdvItruoUmSZhInM5FC zLvm`BW`im4u3`|6@UH6wtq6#zYTCX<+g9%Qsukp5jNUno;+UK14ck1CT;qAHKzPfdb9DwFW)PvLC2i_S?ZUntYR zF*M6gFQPoEOvIOl?PGZakC+5ZCgKm{I>%+wn8(IZ(XGsKj*~aEk)Pg#A3g)O-vgV{ zQjs^RUqx@imA{T<)Q(zO3j2-8Q(K$i$pvEg50}&1bDx186owH`i~Pk%|Xz_~Q&F<}vsTu7;js0RUr= zU1|B0M(f*aK(f3_?%hx23x~)KhGrT3?@90AiZoCCpw4>_KOv)fB9Ur{M6@QEo9pOX{6=5AC z(m9a>)?)FFd4dw%A2Nba2HTmfeb}_nj*)7PsdV0X2R1zc&#yz#LqYRsMv=Gl$y-wm z+My7R0o>RT)1GH9?Rmzb8C0jRTfwdo`}eqK3bsUiM}#}UmuY8J%6jnt49w1LQ^?Sk z=eMvl*`H0n9|A}N%G_6ZaY_pna7g+p;I)nq7;u`uW5#68xWoVd+gc-bkr8FkVQk(u%2OyN3mcMo-- zzKMy$cR`8CmbWH~gr{Dx3NmfxGV&4HBwo#t;-&u!Ew<*+>m#&aZ*<@^Q0{hMcrpR{ zDC0gUcNasFfMc;|yaWA;lO!w09}dS#Bu<=%JLVnK(Nrqdo}Ym0rhxdXN3nI6&jc&U?u@^Mmpx{|zU zHsbd=WW-D#3E`;MrjLUFkFq(X4;!U3=MYT=f)~M z4(-z>@?Bc5qFAyL+~HB?!}?!YmBsPrD5E=P(`sglHDU|*Xdb#jW!9R0)3{_m1v=E= zYKCSt*kW>}a33}&Wf@ly;LOY8S~Zd@p%GVi9@mo5xr+GbBODM}UMlwabrkMxS5g-ZQv)%+-64$`Bm8ad;Tq zjXaG2*|`QTJ{d0l0uZs8Csd{#8eOH}>SU*=ecUZ?Ws+oSUuC6ng1 za9XxV%NrKaaQ{7qo`Ty5ibd$Xp(MBl=^}yeQaezF8(Hz_U>Fc2{8~1Hh{w}~+QGeM zKpj9pO=pvd_qh()FltZY4OQRGBWf9Ve_(ihIS9|p!LhW^?#Y^;G40wBs&n<~4c87_ zd^-`2e46;ad6kTqW^bZvPL1pG)v99ncZgfLKZD$%=*vO&qSrngc9CinR@03XqG}xQ zh7k9#xOp}}hW%mm)|^7SeDZ4QSYZBX7Ly{R5JlK7fN+PTrCHnzt*s7i*_^e;i1Y4+ z?67;cx!ag`!C5!?YX*%~qX!l3Xh?s|44)TR2i9-Py;q_(q(8w>tk2!qhR| zml`~e)m*9h-?aM48{edYu|R~;Z=e#)7?9`#zYxc*02d}nIB@c{B#MI((4(+#g|FSti=^{tVS`mv4FyJ8XHXvogby6 z{Y5C-jwH|8l1Fd=@AoJgsIX8P{)e;S^OBD<89FVv2DSz(5hY*FSYepm2UQ@~cxqW& zJQ2;^`5v01jUa6@vQsT^{)43H4_tL^Lk#5xj6LIx44^}p3uNzQfzV`qR1*a=f4jA)UJ=wL0)ze!K zs0XLBkhhLF)e$EW2d{kmj+E%fEj}GrG}i z0u`{=y33?YzoH>wwhI_@VLVen4X8N+ZhR5b?_k_yNew{87L?TJQ8UUyXWW6ZqC-4I zLyssr91ja-IP@D`nlNtkUI<*}`-G}P3DZu- z9i#=Oq=e;riF?JENknLm!#42mCYHbeOdsCvhlx4`erC0sm`QDZn3zsCv+VSoq)B{5 zG&fPoUAdp5S!Fxk(Rk63bJQlzJ8s9!Gm!XgCexjYUyb24FzerFWW~RPymoY8;t*|9 zx7)f8bRv+rYp;}j-yQ7sLdE~?k8Ntx7qO+0%+sLwZEJubD;mjWWs#`l~ry;NgOR$%m~m zd(QB(kduS|za`@Pb6=F9_RdMZDAP^OgC_yfb{Atmykr zd3l-F|5Xmgx4k;zQTOUtd&jbsE8M=astVw)Shln^-nQ0V8uK<+#hQIBes{UIeC7|eU!)oZywiF*3?2!gN5gI~kp!XE{G6*4w_sm;-7LPY=6 zF?g{g{LQSDq(4K3_zV9Q@YM`|V)i>`0{#PJMw6fZMPW4fyMPn_k}sPauH|~rIUvCs zt4;XRW+F9nxVy##*tr7qY6RgQnqk7P7=YRi?UN|1@yMxyO?iP*Zq~#pHi+>MK%!gmU2>v%O0`KH} z^1o~N5Qpb~kMIW<;Uh)c;~nwNmX@-pWPP469A6%e(gzAV@EybEmEomrE1M#1;pX_t z_Kt9*bBz>TxqMYyEFNnv^Nx-|A1z!Kj--fDln^!e0PjN0b~xzFERUR6^C7G7U@b4%?1fZPZ2iU>5Q@I_jxs$%8Uk(w_; zZpvN(>Smw6Jksp*R@6kxYkZaEUxb>=UJmlAXbiS%sq{C^EU#>?sr(}3X5)TPH_fbx zlt-#s%A*xgUo`fGG&iX$Npy5tIew!4sK2Sa(p%4*Y*|~ZJ>1l}tS!E5MMqgvtUS`v zQdRA5s;u_;{Y|2G!*drY4fWyr`2qUWX5gFim4;v)ybPb&6u@wE$I5Uk9E(1ePbfx)4Psr=9sDczV(U!`lN`I9<3R{uSe*qr8Dhw(}5^IBJo1+8# zys_$Pf21W6sqy;!Go#huH!rkcjuHwlm^=6O`o-bJ%A8O=)caglp1C5Hpzf%wuJG2B z$C_K3V*Y4#RXzKD=!M?~{k$)VhDUycbj0UE*=J2h|8(ge`QRyi$CSx&kuQ?weLGbu z>sY%y9%(`vZ#UCckz27c9xGeAqO**AqD`=8qiwMCC8 zi?ju>-1ciZy-2t5xR4R!CtsenJbDp7iB#+Z1%1B%v~zl4f2o#Z@>J{tIrIYib)kaf z7xeC06!3_Y?3?=ty#?%h$k3ib^sm^Titl0Ph!>&%PbY8AwEzGB literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul new file mode 100755 index 0000000000000000000000000000000000000000..5a7b7a317f4ff293f38a76cc070d98bce8d9919f GIT binary patch literal 24360 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�AZLM`1#%Y1 zSs-VDoCR_g_}j36xW7r<*F-U5%Z$vtnwqcLr!H#jY>jlebwzL^=H@7~xlC;jiL&;g5p80vQW#YO^gfFrt5I7`{*v{$`X)(zlQy`NF>iel??? zn7+qM;QtAk(e!`*9Qb#EC;3Ge8xr232*<3fwyu+>F4-_-#`a0crN4kA91|X zY2feSe)}fJOMF1Z`9Qc5e$UM+O~k+- zgV{mMOM?DlhCiF0{zu({O2s@O=;>dUSikW5=T`H6`33NFFJSile|;REea|2LSY@>P z1^*1ZT~wBle$45+c)eoYLuZXjPd};|O-?!RqupP)kmIxO9b9}4Ia07a(h=!wYAOjz z<~4-=$Vz{ZE+Xu}eTAVm|MHf$#z2cd6lrVk@CQ2ANWr$1t6IX5aHzyNIt5)$xWXT3 zZx5{Xhg&1c)VXryTCik5eo#h6kmBaSP-EMgaLC`(*&2*snkuObhDyU# zjjnQMSw&gdjO&8SJ5e>K3H`UscU7E4?Q$-` zjfiz^q0W|YIaTGK;i_m3lvT|Ll~GQcO7`Mv>_Obv}D02mxDk{RI zm4T}BVK*u-19!;fE)9fS&a$dtX_c$I^nAE^<)vV+2!_%4rgC@VjMDN@Rr&d_8D_w4Pqv#(0+=WVAt-p4@hwjAmd}F>+=dFR8;66-&^oKgy{LSzTx*3yP z2F19!)L*M|X4SLsJbJ3!xOx-%y2~n{MOCn=ys_L};SQp;B;^>Y-TzkcrAn`;~V4ayu}Et>bazBr>b9Hs6kuPk#` zm4-u2jbV4NvZ9t<^m+Cro}YL1r+?&ap(F0~WcQDbe#hu%+)PRrjxs&Yadl|cC8ttJ z$J&*VKqJyfyOB1FTx(k-T(Z2ivxIykblr-O#GvLtN3&ECTH6XvBaO66CGFvs03oFk z<^UzDS|SpCl`L;VCK6tQZ`Ow;;buO?G>5<^AcN1CYYa+}htR;v6+u*mTTrEv#*PlD z1e4rK%v~9?_g|l-c$s2Uw%j4D1;2>1MM^(aqlfCHtl$^%ay4)yTkwmxU8LJkmicgTX_Sf_$rk(~P8aC`PMNL0 zsDB~KNoIPz6mbMk#eRf~VReZ-rC-MuC1V`KzB-$tiP1%GBbCS7V~ntA;PxMK7(<}2|L?GfXb lwktw+lUtIi8w@Bc49^Qiy@Hm)<H<# literal 0 HcmV?d00001 From 567e861115630036d28ebc1b480eec8d8ba8b199 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 21 Nov 2023 16:50:14 +0100 Subject: [PATCH 28/91] add wasm backend to server, fix hyper imports --- machine_interface/Cargo.toml | 2 +- server/Cargo.toml | 2 ++ server/src/main.rs | 44 +++++++++++++++++++++++++++++------- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index b44482c1..b1484860 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -8,7 +8,7 @@ std = [] cheri = ["std"] mmu = ["std"] hyper_io = ["std", "dep:hyper"] -wasm = [] +wasm = ["std"] [build-dependencies] cmake = "0.1" diff --git a/server/Cargo.toml b/server/Cargo.toml index ebb9b4eb..2b6ad593 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -18,3 +18,5 @@ http = "0.2" [features] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] +wasm = ["machine_interface/wasm"] +hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index 78e824e9..850e0ef0 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -21,7 +21,7 @@ use machine_interface::{ memory_domain::malloc::MallocMemoryDomain, }; -#[cfg(feture = "hyper_io")] +#[cfg(feature = "hyper_io")] use machine_interface::function_driver::system_driver::hyper::HyperDriver; #[cfg(feature = "cheri")] @@ -38,7 +38,14 @@ use machine_interface::{ DataItem, DataSet, Position, }; -#[cfg(not(any(feature = "cheri", feature = "mmu")))] +#[cfg(feature = "wasm")] +use machine_interface::{ + function_driver::{compute_driver::wasm::WasmDriver, Driver}, + memory_domain::{wasm::WasmMemoryDomain, Context, ContextTrait, MemoryDomain}, + DataItem, DataSet, Position, +}; + +#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] use machine_interface::{ memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, @@ -177,7 +184,10 @@ async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, c #[cfg(feature = "mmu")] let domain = MmuMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"); - #[cfg(not(any(feature = "cheri", feature = "mmu")))] + #[cfg(feature = "wasm")] + let domain = WasmMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"); + + #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] let domain = MallocMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"); let mut input_context = domain @@ -406,9 +416,9 @@ fn main() -> () { ); let mut registry; // insert specific configuration - #[cfg(all(feature = "cheri", feature = "mmu"))] - std::compile_error!("Should only have one feature out of mmu or cheri"); - #[cfg(all(any(feature = "cheri", feature = "mmu"), feature = "hyper_io"))] + #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm"))] + std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); + #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io"))] { let mut drivers = BTreeMap::new(); let mut mmm_path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); @@ -440,6 +450,22 @@ fn main() -> () { std::env::consts::ARCH )); } + #[cfg(feature = "wasm")] + { + domains.insert( + COMPUTE_DOMAIN, + WasmMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), + ); + driver = Box::new(WasmDriver {}) as Box; + mmm_path.push(format!( + "../machine_interface/tests/data/test_sysld_wasm_{}_matmul", + std::env::consts::ARCH + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_sysld_wasm_{}_busy", + std::env::consts::ARCH + )); + } let system_driver = Box::new(HyperDriver {}); drivers.insert(COMPUTE_ENGINE, driver); drivers.insert(SYS_ENGINE, system_driver); @@ -503,7 +529,7 @@ fn main() -> () { output_set_map, ); } - #[cfg(not(all(any(feature = "cheri", feature = "mmu"), feature = "hyper_io")))] + #[cfg(not(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io")))] { let loader_map = BTreeMap::new(); registry = FunctionRegistry::new(loader_map); @@ -543,7 +569,9 @@ fn main() -> () { println!("Hello, World (cheri)"); #[cfg(feature = "mmu")] println!("Hello, World (mmu)"); - #[cfg(not(any(feature = "cheri", feature = "mmu")))] + #[cfg(feature = "wasm")] + println!("Hello, World (wasm)"); + #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] println!("Hello, World (native)"); // Run this server for... forever! if let Err(e) = runtime.block_on(server) { From 173c484b23f5481fafa46c8cecde62b50cb3250b Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 22 Nov 2023 17:11:52 +0100 Subject: [PATCH 29/91] use mmap() for wasm memory --- machine_interface/src/memory_domain/wasm.rs | 84 +++++++++++++++++---- 1 file changed, 68 insertions(+), 16 deletions(-) diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index 4dc05777..58c36647 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -1,9 +1,68 @@ use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; +mod wasm_memory_allocation { + use dandelion_commons::DandelionError; + use libc::{mmap, munmap}; + use std::ops::Deref; + use std::ops::DerefMut; + + /// A smart pointer for memory mapped memory. + /// It makes sure that the memory is unmapped when + /// it is dropped, and prevents Rust from trying to + /// free the memory through the global allocator. + #[derive(Debug)] + pub struct MmapBox { + ptr: *mut u8, + size: usize, + } + + impl MmapBox { + pub fn new(size: usize) -> Result { + let addr = unsafe { mmap( + 0 as *mut _, + size, + libc::PROT_READ | libc::PROT_WRITE, + libc::MAP_PRIVATE | libc::MAP_ANONYMOUS, + -1, + 0, + ) }; + match addr { + libc::MAP_FAILED => { + return Err(DandelionError::OutOfMemory); + }, + _ => {} + } + Ok(MmapBox { ptr: addr as *mut u8, size }) + } + } + + impl Deref for MmapBox { + type Target = [u8]; + + fn deref(&self) -> &Self::Target { + unsafe { std::slice::from_raw_parts(self.ptr, self.size) } + } + } + + impl DerefMut for MmapBox { + fn deref_mut(&mut self) -> &mut Self::Target { + unsafe { std::slice::from_raw_parts_mut(self.ptr, self.size) } + } + } + + impl Drop for MmapBox { + fn drop(&mut self) { + unsafe { munmap(self.ptr as *mut _, self.size); } + } + } +} + +use wasm_memory_allocation::MmapBox; + #[derive(Debug)] pub struct WasmContext { - pub mem: Vec, + pub mem: MmapBox, } unsafe impl Send for WasmContext {} @@ -44,21 +103,14 @@ impl MemoryDomain for WasmMemoryDomain { Ok(Box::new(WasmMemoryDomain {})) } fn acquire_context(&self, size: usize) -> DandelionResult { - let mut mem = Vec::new(); - if let Ok(()) = mem.try_reserve_exact(size) { - mem.resize(size, 0); - Ok(Context::new( - ContextType::Wasm(Box::new( - WasmContext { - mem - } - )), - size - )) - } else { - return Err(DandelionError::OutOfMemory); - } - + Ok(Context::new( + ContextType::Wasm(Box::new( + WasmContext { + mem: MmapBox::new(size)?, + } + )), + size + )) } } From 83693afbb9b15d34848b841a756d741b9c73c59b Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Wed, 22 Nov 2023 22:52:26 +0100 Subject: [PATCH 30/91] temporary request counter --- server/src/main.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/src/main.rs b/server/src/main.rs index 850e0ef0..a8b631ff 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -62,6 +62,20 @@ const COMPOSITION_ID: u64 = 4; static mut DUMMY_MATRIX: Vec = Vec::new(); +struct counter(u64, u64); + +impl counter { + const fn new(id: u64) -> Self { + counter(id, 0) + } + fn tick(&mut self) { + self.1 += 1; + println!("tick {} {}", self.0, self.1); + } +} + +static mut ctr: counter = counter::new(0); + async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: String) -> u64 { let domain = MallocMemoryDomain::init(vec![]).expect("Should be able to get malloc domain"); let mut input_context = domain @@ -162,6 +176,8 @@ async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: Strin } async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, cols: usize) -> i64 { + unsafe { ctr.tick() } + let mat_size: usize = rows * cols; // [rows] [input_matrix] let context_size: usize = (1 + mat_size) * 8; From 377ad77409a8115fde6ec91a46d706e85b0e8b44 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 23 Nov 2023 15:30:09 +0100 Subject: [PATCH 31/91] use http for unity submodule --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 43dca9f4..087be7d8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "unity/source"] path = machine_interface/c_machine_libraries/unity/source - url = git@github.com:ThrowTheSwitch/Unity.git + url = https://github.com/ThrowTheSwitch/Unity.git [submodule "http"] path = net/http url = https://github.com/cesanta/mongoose.git From 0a78b9d8ac4b223c29c3284068622a7780acd66a Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 24 Nov 2023 09:21:27 +0100 Subject: [PATCH 32/91] temp request print --- server/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/main.rs b/server/src/main.rs index 55ad2c81..126a105f 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -402,6 +402,7 @@ async fn service( dispatcher: Arc, ) -> Result, Infallible> { let uri = req.uri().path(); + println!("Got request for {}", uri); match uri { "/cold/matmul" => serve_request(true, req, dispatcher).await, "/hot/matmul" => serve_request(false, req, dispatcher).await, From 8c187b7be5d9e25f0b62fa6c2f9da3e7ee76ad2c Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 24 Nov 2023 17:24:19 +0100 Subject: [PATCH 33/91] remove debug counter --- server/src/main.rs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 126a105f..bfb4e2a4 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -62,20 +62,6 @@ const COMPOSITION_ID: u64 = 4; static mut DUMMY_MATRIX: Vec = Vec::new(); -struct counter(u64, u64); - -impl counter { - const fn new(id: u64) -> Self { - counter(id, 0) - } - fn tick(&mut self) { - self.1 += 1; - println!("tick {} {}", self.0, self.1); - } -} - -static mut ctr: counter = counter::new(0); - async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: String) -> u64 { let domain = MallocMemoryDomain::init(vec![]).expect("Should be able to get malloc domain"); let mut input_context = domain @@ -176,8 +162,6 @@ async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: Strin } async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, cols: usize) -> i64 { - unsafe { ctr.tick() } - let mat_size: usize = rows * cols; // [rows] [input_matrix] let context_size: usize = (1 + mat_size) * 8; From 95b028c75f71c99eee9409ae464b09b3194d1101 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 24 Nov 2023 17:24:35 +0100 Subject: [PATCH 34/91] raise number of engine cores --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index bfb4e2a4..fdbbf4a6 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -412,7 +412,7 @@ fn main() -> () { type_map.insert(COMPUTE_ENGINE, COMPUTE_DOMAIN); type_map.insert(SYS_ENGINE, SYS_CONTEXT); let mut pool_map = BTreeMap::new(); - pool_map.insert(COMPUTE_ENGINE, (1..=3).collect()); + pool_map.insert(COMPUTE_ENGINE, (1..=60).collect()); pool_map.insert(SYS_ENGINE, (0..128).collect()); let resource_pool = ResourcePool { engine_pool: Mutex::new(pool_map), From 73de0ce4ee0ffb6cebdce00667361bfa9c0d83a2 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 24 Nov 2023 17:43:00 +0100 Subject: [PATCH 35/91] remove print --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 28755098..13bc4be9 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -385,7 +385,7 @@ async fn service( dispatcher: Arc, ) -> Result, Infallible> { let uri = req.uri().path(); - println!("Got request for {}", uri); + // println!("Got request for {}", uri); match uri { "/cold/matmul" => serve_request(true, req, dispatcher).await, "/hot/matmul" => serve_request(false, req, dispatcher).await, From 860819688f9f7d7cbb0f1fbf684096b857658fd9 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 24 Nov 2023 20:24:16 +0100 Subject: [PATCH 36/91] use 63 engine cores --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 13bc4be9..c9309fa9 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -411,7 +411,7 @@ fn main() -> () { type_map.insert(COMPUTE_ENGINE, COMPUTE_DOMAIN); type_map.insert(SYS_ENGINE, SYS_CONTEXT); let mut pool_map = BTreeMap::new(); - pool_map.insert(COMPUTE_ENGINE, (1..=60).collect()); + pool_map.insert(COMPUTE_ENGINE, (1..=63).collect()); pool_map.insert(SYS_ENGINE, (0..128).collect()); let resource_pool = ResourcePool { engine_pool: Mutex::new(pool_map), From fe582cbeb8475798fce56f649f674778100f4047 Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Fri, 24 Nov 2023 21:36:52 +0100 Subject: [PATCH 37/91] Complain of engine initialized with invalid coreID --- dispatcher/src/dispatcher.rs | 5 ++--- .../src/function_driver/system_driver/hyper.rs | 16 +++++++++++++++- server/src/main.rs | 4 +++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/dispatcher/src/dispatcher.rs b/dispatcher/src/dispatcher.rs index a2b0a25c..58b97ad5 100644 --- a/dispatcher/src/dispatcher.rs +++ b/dispatcher/src/dispatcher.rs @@ -183,9 +183,8 @@ impl Dispatcher { while let Ok(Some(resource)) = resource_pool.sync_acquire_engine_resource(engine_id.clone()) { - if let Ok(engine) = driver.start_engine(vec![resource]) { - engine_vec.push(engine); - } + let engine = driver.start_engine(vec![resource])?; + engine_vec.push(engine); } let engine_queue = EngineQueue { internals: Mutex::new((engine_vec, VecDeque::new())), diff --git a/machine_interface/src/function_driver/system_driver/hyper.rs b/machine_interface/src/function_driver/system_driver/hyper.rs index 41c82711..ea86f64f 100644 --- a/machine_interface/src/function_driver/system_driver/hyper.rs +++ b/machine_interface/src/function_driver/system_driver/hyper.rs @@ -371,10 +371,24 @@ impl Driver for HyperDriver { return Err(DandelionError::ConfigMissmatch); } let core_id = config[0]; + // check that core is available + let available_cores = match core_affinity::get_core_ids() { + None => return Err(DandelionError::EngineError), + Some(cores) => cores, + }; + if !available_cores + .iter() + .find(|x| x.id == usize::from(core_id)) + .is_some() + { + return Err(DandelionError::MalformedConfig); + } let runtime = Builder::new_multi_thread() .on_thread_start(move || { - set_for_current(core_affinity::CoreId { id: core_id.into() }); + if !set_for_current(core_affinity::CoreId { id: core_id.into() }) { + return; + } }) .worker_threads(1) .enable_all() diff --git a/server/src/main.rs b/server/src/main.rs index 6699a3cc..4db0cf29 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -525,7 +525,9 @@ fn main() -> () { let mut runtime_builder = Builder::new_multi_thread(); runtime_builder.enable_io(); runtime_builder.on_thread_start(|| { - core_affinity::set_for_current(CoreId { id: 0usize }); + if !core_affinity::set_for_current(CoreId { id: 0usize }) { + return; + } println!("Hello from Tokio thread"); }); let runtime = runtime_builder.build().unwrap(); From 11c96f960b283c8406ee41b137a63cece379fda7 Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Sat, 25 Nov 2023 00:57:53 +0100 Subject: [PATCH 38/91] Dynamically determine number of cores available --- .../function_driver/compute_driver/cheri.rs | 1 + .../src/function_driver/compute_driver/mmu.rs | 1 + .../function_driver/compute_driver/wasm.rs | 1 + .../function_driver/system_driver/hyper.rs | 1 + server/src/main.rs | 20 +++++++++++++++---- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/cheri.rs b/machine_interface/src/function_driver/compute_driver/cheri.rs index 3555b195..40622691 100644 --- a/machine_interface/src/function_driver/compute_driver/cheri.rs +++ b/machine_interface/src/function_driver/compute_driver/cheri.rs @@ -98,6 +98,7 @@ fn run_thread( if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { return; }; + println!("CHERI engine running on core {}", core_id); 'commandloop: for command in command_receiver.iter() { if command.cancel { break 'commandloop; diff --git a/machine_interface/src/function_driver/compute_driver/mmu.rs b/machine_interface/src/function_driver/compute_driver/mmu.rs index 9eef04eb..a33bbc9f 100644 --- a/machine_interface/src/function_driver/compute_driver/mmu.rs +++ b/machine_interface/src/function_driver/compute_driver/mmu.rs @@ -94,6 +94,7 @@ fn run_thread( if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { return; }; + println!("MMU engine running on core {}", core_id); 'commandloop: for command in command_receiver.iter() { if command.cancel { break 'commandloop; diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index e2e07965..c899e7a6 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -41,6 +41,7 @@ fn run_thread( if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { return; }; + println!("WASM engine running on core {}", core_id); 'commandloop: for cmd in command_receiver.iter() { let WasmCommand { lib, context, recorder } = cmd; diff --git a/machine_interface/src/function_driver/system_driver/hyper.rs b/machine_interface/src/function_driver/system_driver/hyper.rs index ea86f64f..980a9f3d 100644 --- a/machine_interface/src/function_driver/system_driver/hyper.rs +++ b/machine_interface/src/function_driver/system_driver/hyper.rs @@ -389,6 +389,7 @@ impl Driver for HyperDriver { if !set_for_current(core_affinity::CoreId { id: core_id.into() }) { return; } + println!("Hyper engine running on core {}", core_id); }) .worker_threads(1) .enable_all() diff --git a/server/src/main.rs b/server/src/main.rs index 4db0cf29..8924e565 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -44,7 +44,16 @@ use machine_interface::{ DataItem, DataSet, Position, }; -use std::{collections::BTreeMap, convert::Infallible, mem::size_of, net::SocketAddr, sync::Arc}; +use std::{ + collections::BTreeMap, + convert::Infallible, + mem::size_of, + net::SocketAddr, + sync::{ + atomic::{AtomicU8, Ordering}, + Arc, + }, +}; use tokio::runtime::Builder; const HOT_ID: u64 = 0; @@ -399,9 +408,11 @@ fn main() -> () { let mut type_map = BTreeMap::new(); type_map.insert(COMPUTE_ENGINE, COMPUTE_DOMAIN); type_map.insert(SYS_ENGINE, SYS_CONTEXT); + let num_cores = u8::try_from(core_affinity::get_core_ids().unwrap().len()).unwrap(); let mut pool_map = BTreeMap::new(); - pool_map.insert(COMPUTE_ENGINE, (1..=3).collect()); - pool_map.insert(SYS_ENGINE, (0..128).collect()); + pool_map.insert(COMPUTE_ENGINE, (1..num_cores).collect()); + // TODO: It's not safe to share cores between compute engines and system engines + pool_map.insert(SYS_ENGINE, (0..num_cores).collect()); let resource_pool = ResourcePool { engine_pool: Mutex::new(pool_map), }; @@ -524,11 +535,12 @@ fn main() -> () { // set up tokio runtime, need io in any case let mut runtime_builder = Builder::new_multi_thread(); runtime_builder.enable_io(); + runtime_builder.worker_threads(1); runtime_builder.on_thread_start(|| { if !core_affinity::set_for_current(CoreId { id: 0usize }) { return; } - println!("Hello from Tokio thread"); + println!("Dispatcher running on core {}", 0); }); let runtime = runtime_builder.build().unwrap(); let _guard = runtime.enter(); From 33b57fc04b7f09efb9d5f2f7527cbe34651f31fe Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Sat, 25 Nov 2023 01:04:18 +0100 Subject: [PATCH 39/91] Optimize core allocation for dispatcher & engines --- server/src/main.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 8924e565..65568fd6 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -409,8 +409,10 @@ fn main() -> () { type_map.insert(COMPUTE_ENGINE, COMPUTE_DOMAIN); type_map.insert(SYS_ENGINE, SYS_CONTEXT); let num_cores = u8::try_from(core_affinity::get_core_ids().unwrap().len()).unwrap(); + // TODO: This calculation makes sense only for running matmul-128x128 workload on MMU engines + let num_dispatcher_cores = (num_cores + 13) / 14; let mut pool_map = BTreeMap::new(); - pool_map.insert(COMPUTE_ENGINE, (1..num_cores).collect()); + pool_map.insert(COMPUTE_ENGINE, (num_dispatcher_cores..num_cores).collect()); // TODO: It's not safe to share cores between compute engines and system engines pool_map.insert(SYS_ENGINE, (0..num_cores).collect()); let resource_pool = ResourcePool { @@ -535,12 +537,14 @@ fn main() -> () { // set up tokio runtime, need io in any case let mut runtime_builder = Builder::new_multi_thread(); runtime_builder.enable_io(); - runtime_builder.worker_threads(1); + runtime_builder.worker_threads(num_dispatcher_cores.into()); runtime_builder.on_thread_start(|| { + static ATOMIC_ID: AtomicU8 = AtomicU8::new(0); + let core_id = ATOMIC_ID.fetch_add(1, Ordering::SeqCst); if !core_affinity::set_for_current(CoreId { id: 0usize }) { return; } - println!("Dispatcher running on core {}", 0); + println!("Dispatcher running on core {}", core_id); }); let runtime = runtime_builder.build().unwrap(); let _guard = runtime.enter(); From c1aed39f5f88612a80cbd3a1c8781bd2f20188b2 Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Sat, 25 Nov 2023 13:24:04 +0100 Subject: [PATCH 40/91] Add simple test for server --- server/Cargo.toml | 5 ++++ server/tests/server_tests.rs | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 server/tests/server_tests.rs diff --git a/server/Cargo.toml b/server/Cargo.toml index 037d38b4..829e3617 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -15,6 +15,11 @@ core_affinity = "0.8" bytes = "1.4" http = "0.2" +[dev-dependencies] +assert_cmd = "2.0" +byteorder = "1.5" +reqwest = { version = "0.11", default-features = false, features = ["blocking"] } + [features] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] diff --git a/server/tests/server_tests.rs b/server/tests/server_tests.rs new file mode 100644 index 00000000..7e5fb39c --- /dev/null +++ b/server/tests/server_tests.rs @@ -0,0 +1,45 @@ +use assert_cmd::prelude::*; +use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; +use std::{ + io::{BufRead, BufReader, Cursor}, + process::{Command, Stdio}, +}; + +#[test] +fn serve_matmul() { + let mut cmd = Command::cargo_bin("dandelion_server").unwrap(); + let mut server = cmd.stdout(Stdio::piped()).spawn().unwrap(); + let mut reader = BufReader::new(server.stdout.take().unwrap()); + loop { + let mut buf = String::new(); + let len = reader.read_line(&mut buf).unwrap(); + assert_ne!(len, 0, "Server exited unexpectedly"); + if buf.contains("Hello, World") { + break; + } + } + + let mat_size = 1; + let mut body = Vec::new(); + let mut writer = Cursor::new(&mut body); + writer.write_u64::(mat_size).unwrap(); + writer.write_u64::(mat_size).unwrap(); + + let client = reqwest::blocking::Client::new(); + let resp = client + .post("http://localhost:8080/hot/matmul") + .body(body) + .send() + .unwrap(); + assert!(resp.status().is_success()); + + let body = resp.bytes().unwrap(); + assert_eq!(body.len(), 8); + let mut reader = Cursor::new(body); + let checksum = reader.read_u64::().unwrap(); + assert_eq!(checksum, 1); + + let status = server.try_wait().unwrap(); + assert_eq!(status, None, "Server exited unexpectedly"); + server.kill().unwrap(); +} From 9161e619f0792fb549a361643b23d0b3925e5b57 Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Sat, 25 Nov 2023 13:46:19 +0100 Subject: [PATCH 41/91] Fix core pinning issue for dispatcher --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 65568fd6..eeaca532 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -541,7 +541,7 @@ fn main() -> () { runtime_builder.on_thread_start(|| { static ATOMIC_ID: AtomicU8 = AtomicU8::new(0); let core_id = ATOMIC_ID.fetch_add(1, Ordering::SeqCst); - if !core_affinity::set_for_current(CoreId { id: 0usize }) { + if !core_affinity::set_for_current(CoreId { id: core_id.into() }) { return; } println!("Dispatcher running on core {}", core_id); From 1112951431813717673d6e88ccd4c063a4132217 Mon Sep 17 00:00:00 2001 From: richardlee <18626685+richardlee159@users.noreply.github.com> Date: Sat, 25 Nov 2023 22:30:17 +0100 Subject: [PATCH 42/91] Initialize matrix in a thread-safe way --- server/src/main.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index eeaca532..183af3c1 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -51,7 +51,7 @@ use std::{ net::SocketAddr, sync::{ atomic::{AtomicU8, Ordering}, - Arc, + Arc, Once, }, }; use tokio::runtime::Builder; @@ -62,6 +62,7 @@ const HTTP_ID: u64 = 2; const BUSY_ID: u64 = 3; const COMPOSITION_ID: u64 = 4; +static INIT_MATRIX: Once = Once::new(); static mut DUMMY_MATRIX: Vec = Vec::new(); async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: String) -> u64 { @@ -169,15 +170,14 @@ async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, c let context_size: usize = (1 + mat_size) * 8; // Initialize matrix if necessary - // NOTE: Not exactly thread safe but works for now unsafe { - if DUMMY_MATRIX.is_empty() { + INIT_MATRIX.call_once(|| { // TODO: add cols DUMMY_MATRIX.push(rows as i64); for i in 0..mat_size { DUMMY_MATRIX.push(i as i64 + 1) } - } + }); } #[cfg(feature = "cheri")] @@ -340,13 +340,12 @@ async fn serve_native(_req: Request) -> Result, Infallible> let mat_size: usize = rows * cols; // Initialize matrix if necessary - // NOTE: Not exactly thread safe but works for now unsafe { - if DUMMY_MATRIX.is_empty() { + INIT_MATRIX.call_once(|| { for i in 0..mat_size { DUMMY_MATRIX.push(i as i64 + 1) } - } + }); } let mut out_mat: Vec = vec![0; mat_size]; From 9c0e67e47f9bb525c55653d23aa92e253c383a86 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 27 Nov 2023 09:17:58 +0100 Subject: [PATCH 43/91] add engines --- server/src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 4f46dc9f..29f3de5f 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -420,8 +420,10 @@ fn main() -> () { type_map.insert(SYS_ENGINE, SYS_CONTEXT); let num_cores = u8::try_from(core_affinity::get_core_ids().unwrap().len()).unwrap(); // TODO: This calculation makes sense only for running matmul-128x128 workload on MMU engines - let num_dispatcher_cores = (num_cores + 13) / 14; + let num_dispatcher_cores = num_cores / 4; let mut pool_map = BTreeMap::new(); + pool_map.insert(COMPUTE_ENGINE, (num_dispatcher_cores..num_cores).collect()); + pool_map.insert(SYS_ENGINE, (0..num_cores).collect()); // TODO: It's not safe to share cores between compute engines and system engines let resource_pool = ResourcePool { engine_pool: Mutex::new(pool_map), From 2d446bb1a39375457e52ec17ad53a7ad69b6926f Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 30 Nov 2023 19:32:38 +0100 Subject: [PATCH 44/91] update busy binary --- .../tests/data/test_sysld_wasm_aarch64_busy | Bin 17608 -> 17608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_busy b/machine_interface/tests/data/test_sysld_wasm_aarch64_busy index 43fb3afbdf5ee89635c37b158ff7eb321df77964..d5fce1a509ad246071ab7b75d5062b83c062a11f 100755 GIT binary patch delta 2210 zcmY*bdu)?c6hF7^wtij9`dC-Gb?dqo)|LUQ>!=!8TQ-GlFjDvuP>d6Zx)lUR5dRSE zHl}V9AKOJGgs=?_X&3xMilp@qHo)j0A@Pw+@DHWF0t|6g#7(WA=l1(*Vw0Zd@1Aqd zR?g%+@1BZSaDx4d3O_u{U(QTYd1;u_d-b7N0Ofc z9J($C_cgiI-9f;+Z$WVW+dbN}oB;oe9Ym57x#C0%;(#$?p3wD?PA zqJIfI%c#^rS0l>G7XnnJgQ0d(GBfq3z{kR!iCEZ~@aI8SN(+cJjHeL)9e&&BOG;Y= zW6TMBG~AKE9(37@7{=;$R)WrI1kcnTVoVNW`Z4Aj)MMdjf?@oN(0^Cp-8L~_2g>8& z&N-C=PPgU-er@^v#oOJDhNf|5fq&j_!b1T zA|QfQI#FkxV<0P584J4;{l5r2hn2D}I8kQ4fmIMJ-5!8Q6;F}SU3!+3_3?hz<1##zzOU6dXf?vNWc((|G ziOFmQw%`2!xUSz2cpI+T1g<~`aZFy1JcxW9a%DH2RyEe+ns(sg$pgUe#Z_fX(u+gu z$8A$`%0lvN#m1E~I0Sz1vP@HY=<1Qtw!&6&iXJI^N7JKC7xr~;DC~LlNPj79P@6Qe zrX)l5hwn=aRM2heE#_f-3U$D(`vg}!aHs1GFKi~=)#Qb>|h1e zYc`Pz8rG~Q74eTWMFdk`T3{!o^fpp-7cC)f+EDZy(lbQ|klwFl^sM$B4pUx`Vah7{ zn6BEEuSia*A^SqaZ8pxVL45>UGjUv-9;l)xbat|sUecA3eEO5F4&_q49pwhS59vPr za-=7+bXs3Ws;J7~#~ZX{>7c=fSw%xb1@2iuzcx17u+|a$191W0?_gC^a!>}|n>c_O{2nCT8(zaIO4yzE zlvJC~<0!E5>xI%daf{ho?^#Aql}s>O80LO*);Eo7eY zh1*eHU}jxuFmJ?j!$=p?pUg|hvbetVd4i_b%UGyWWlIqBODEdYDE9NfN)S7HlYs^i_5u)4?QvhE>;(IC# zgbdS{t#&*%Zp9GsX{$^@ZqcjuvKsN1M5MI}k`>en$tv+$iPN!K1Fd!}GCz|NgeJs{ zBHxVs8uFdUYv~h?YNG?SS}B4SIm;2CV-5q^Nk4Sh6^GGJiN_G1b!a&{>+lRObCS`x zYne|@M(I|MiA*9j;smsG$YY{!dP?GFJt~6Ei}$Q1C*!(0A0d3a*;_ym8meFJnYBy# zB-Vh1$bf^j1)^cCT;%(+1)`mPP;W9HR*BX}@kfw-CZ$tenyNQNPM3?;2gIfTKJaYJ z*$UBqQtHZnv;*eKMH9UMy%PS8L9_&V3q?%#ym$y3-F8K_{Crt!?tICrm= nBLV6PF6Tz2rs7P3K5kOdCg~VzxiDIq3i{}kpf>JYH7ffTSvi&c delta 2177 zcmZ8iZERCj7=F)f%X+&HdfRoEy3TIv9Br8$W!F zK(~py`GIZ+KSClCG}1WvXr$7unZ~4R%=>wHgX=a65pD&ni0PO zS-6h2Qry?Tveg00bbdt#e+IH-0kT|%wiKJ*Jo4&LVI=6amnlcX)A4FI{CXCN`-slsjxln)4;%x0Ya?k0!Ds~?^b$1 zTca1#(VKE88SaVW@B?S`^nI-*BBtAaV_-DS%2;m$ck)*`#Mi)>kBI3WT&Kc4H|IER z*`bDy>>B@%j$aOrzo~-IMx3Nr0|H!w$9HKW;}IS*S`D0+$j)QA(?DHarR}_4G;vEC ze`Y z5rcSU8xM~iOJNhN$!IGCt;oelMhQ@&$9?W# z3h_7c_H)QybO$!9sHhfs0Iyw`iicdjMJ++u?laU zme&@OJ-6P!o`WOc0}soYG~k`mQA6=2a)E9ue$9PcpDBJCkALX-qazq|nk!Cst0B~( z2G2P)wAk(78BuQTNchh9Xg#ej*=jzCA4wC0SVXiAJg*Qax1%1>(W50cqNAruL{d*L zm25%jD!q@?#}1aRBv|rrnT^!alPJ+#wuY>u+{%3@pIG@6%D-}QSpOQ21!g!b;H0&} zYEniw3YD6(`pl@4h6NjO(ZfO|qEkW>uCF3eMmd8Q9z`yw9vg3rx_x$ zsUH@baJs`{H;>UB)kwID{x15^a@Q(m>08x}>kF$G2b}qSjC%m3i%yx>ke1jb^OFRj z&6O_;51Rv}y73NWnruPx6bekISe;$OfE z{+}p#zbS{%eJz5!&_luJg5p!?p@3gj@XIvOvVmNq#4Dm4a~o-cw~kEHpw~w((=qP` zv;TigokV6h(7`OtV9ezhe}|PP`>8`}PYsa(@FZ3W{3* From dd819e58c9871c4819a87281ca297a6db2b71a28 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Sat, 2 Dec 2023 13:21:36 +0000 Subject: [PATCH 45/91] use fewer dispatcher cores --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 3e2a81f4..ec4ef397 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -405,7 +405,7 @@ fn main() -> () { type_map.insert(SYS_ENGINE, SYS_CONTEXT); let num_cores = u8::try_from(core_affinity::get_core_ids().unwrap().len()).unwrap(); // TODO: This calculation makes sense only for running matmul-128x128 workload on MMU engines - let num_dispatcher_cores = num_cores / 4; + let num_dispatcher_cores = num_cores / 16; let mut pool_map = BTreeMap::new(); pool_map.insert(COMPUTE_ENGINE, (num_dispatcher_cores..num_cores).collect()); pool_map.insert(SYS_ENGINE, (0..num_cores).collect()); From 9ca475d7317cb01f5619d7a50fec6ed18f2c7ad0 Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Mon, 4 Dec 2023 13:57:43 +0100 Subject: [PATCH 46/91] Remove cheri as default on aarch64 machines --- dispatcher/build.rs | 14 -------------- machine_interface/build.rs | 12 ++---------- server/build.rs | 15 --------------- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 dispatcher/build.rs delete mode 100644 server/build.rs diff --git a/dispatcher/build.rs b/dispatcher/build.rs deleted file mode 100644 index 5f6dc936..00000000 --- a/dispatcher/build.rs +++ /dev/null @@ -1,14 +0,0 @@ -use std::process::Command; - -fn main() { - // detect cheri via uname (since cargo does not detect the feature yet) - let output = Command::new("uname") - .arg("-p") - .output() - .expect("Uname should be available"); - let processor_string = std::str::from_utf8(&output.stdout).unwrap(); - let is_cheri = processor_string == "aarch64c\n" || processor_string == "unknown\n"; - if is_cheri && std::env::var("CARGO_FEATURE_MMU").is_err() { - println!("cargo:rustc-cfg=feature=\"cheri\""); - } -} diff --git a/machine_interface/build.rs b/machine_interface/build.rs index 4c2f1256..ceec02ee 100644 --- a/machine_interface/build.rs +++ b/machine_interface/build.rs @@ -19,16 +19,8 @@ fn cmake_libraries() -> () { } fn main() { - // detect cheri via uname (since cargo does not detect the feature yet) - let output = Command::new("uname") - .arg("-p") - .output() - .expect("Uname should be available"); - let processor_string = std::str::from_utf8(&output.stdout).unwrap(); - // morello linux has unkonw for now, check later if this is portability issue / better way to detect - let is_cheri = processor_string == "aarch64c\n" || processor_string == "unknown\n"; - if is_cheri && std::env::var("CARGO_FEATURE_MMU").is_err() { - println!("cargo:rustc-cfg=feature=\"cheri\""); + // check if cheri is enabled and build library if so + if std::env::var("CARGO_FEATURE_CHERI").is_ok() { cmake_libraries(); } } diff --git a/server/build.rs b/server/build.rs deleted file mode 100644 index d0b924c7..00000000 --- a/server/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -use std::process::Command; - -fn main() { - // detect cheri via uname (since cargo does not detect the feature yet) - let output = Command::new("uname") - .arg("-p") - .output() - .expect("Uname should be available"); - let processor_string = std::str::from_utf8(&output.stdout).unwrap(); - let is_cheri = processor_string == "aarch64c\n" || processor_string == "unknown\n"; - // TODO: the server cannot have both features activated at the same time - if is_cheri && std::env::var("CARGO_FEATURE_MMU").is_err() { - println!("cargo:rustc-cfg=feature=\"cheri\""); - } -} From 4a486c561f7583af336dca5c8fccd2a73986578e Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 4 Dec 2023 15:03:38 +0100 Subject: [PATCH 47/91] cherry pick 'Set dispatcher core number via environment variable' --- server/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index ec4ef397..67c93924 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -405,7 +405,13 @@ fn main() -> () { type_map.insert(SYS_ENGINE, SYS_CONTEXT); let num_cores = u8::try_from(core_affinity::get_core_ids().unwrap().len()).unwrap(); // TODO: This calculation makes sense only for running matmul-128x128 workload on MMU engines - let num_dispatcher_cores = num_cores / 16; + let num_dispatcher_cores = std::env::var("NUM_DISP_CORES") + .map_or_else(|_e| (num_cores + 13) / 14, |n| n.parse::().unwrap()); + assert!( + num_dispatcher_cores > 0 && num_dispatcher_cores < num_cores, + "invalid dispatcher core number: {}", + num_dispatcher_cores + ); let mut pool_map = BTreeMap::new(); pool_map.insert(COMPUTE_ENGINE, (num_dispatcher_cores..num_cores).collect()); pool_map.insert(SYS_ENGINE, (0..num_cores).collect()); From c16efc902b341d72dc35d8a77271b925d50712f8 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 4 Dec 2023 22:36:32 +0100 Subject: [PATCH 48/91] update busy binary --- .../tests/data/test_sysld_wasm_aarch64_busy | Bin 17608 -> 17576 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_busy b/machine_interface/tests/data/test_sysld_wasm_aarch64_busy index d5fce1a509ad246071ab7b75d5062b83c062a11f..95745f28356fc9b88752e6c8a9ea2917ce05c541 100755 GIT binary patch delta 1714 zcmZWpUr1Y582?V9=1*&hn(P{#OJdTQL{X!Ou{JEZk}+uqty^FY2Enq27#wJ!t`D|x zMMPnYWv6@S!#aEzM6qRCI?zHlOUp>Whi;597`EzDSzK$@u1f~l-FNOi7gu-Sp6`6W z-|zc#zmweD0?90pkKH7b_5=-$E|6DadhEOU38&)hTRK3lng=HzZN7JUI(RN4bvI34 z`_gy2=+Eww@hZ|s->x|w_(H500PcxPV#QVmWLp+fRdaeSrlP=t!j0cD#9 z%Jy&Q{hCxHerxI3TV%;HE3Q2~rCEBSg=O0eS-WuwhRw5NZ3W=+LoIl>v^H;ofdBm? zVp%$CDryPDri@}aM?cfqyW)2;>)QCw1ZL{Dv<=H)EnK!slHU$9Z=^1fwR3X>lMiAc zap@n_(p_C^gHUi+q}YR`XEomxUCSQV(43Ul>e(&|6YMA@NMYK$~~D z6(+TKK5-#JPdXr-B0^#QPlek^j+NRYP?xfRZzJg~Z6rOV%u^{ghFWhOq~oY{qc7(f zgyA^qGEaCeLopd#54)4%8S8G*2$|>J!Ki?iTG~m|&LF(zs8^e(N(5r1L$mkw~_#H%K%$ zoY@op8iMNKKzm9926$b^iefp9Vy6hR`?!JvOe4##htFF{IXR@iuOP00=H7f?_v%md~d6ePkE-Q;=|SM}>0R~u6C?>VkE zgsmvl1}Cti=hlxL@8(|{mHdU~`+`<8{~)R8eN+>u1v5?i8fZt*Om?Xl6s&Dph8HDM zC-0jFbkj*>L&&mes5SU3V2&;Zg;6TActO=_6~$gb902dy`8>WN>y6+)fPXFH|F5z~ zt^Hlr8Z26mJ&e~V+4u!QBOUD*tX|H}9$-T>jqFLzet3W#VJtZ-?;p`3Dwnx3%9U>3 z`t_{i*eOEyLQZ;Rz(#uMMB5GaV@ldvbSxSqn{+YS_AmG?tIYra delta 1856 zcmZWpe{54#6h60aU0=(9cBO3!+uE)*w8PDHbn9Ti`o@efuu$?6@JB$=J#AjYlnH5fC9M)1=kIkha40fE|_=t zVBVRdmrG-z#g+LxTQtcf{leJXc9Q&)gAqqB85`(>2;Wb}z5*D$#zD;#=cw6BAn?i} zVg8qwj5&^g__9HmPtbRCPTFJBc?tBEPjTjv$2k~uN>acHz1w1aWbEK;WbDqCw&dJ) zA$eD~K2K+L)n@CAw;+j`s4tyd+CJthhd`3L_)21>t^6{#b>_l9l9-Hkrjt=`x>XAY zvPKYD@+_9|EB?Z?hj$sRGl{$;CZc=Oc&G#J#q>kILT8=X@HYn2N!}8(&g`9&#F1!c z-cSOgo3x?Z9e=%gVu%BAGgkM47EEvj_J5#_oyh1R_q-M+kC5k1mtiN*q77B@;c4BO zrAG_nYZ=zj6Z=j$p6$|9yc_N(6Kh>1e0Y8TZ{dd*^5IZLwrhRGaMx~JpRIT=ECjM$ zPsI>~bZ(~so;}SPxFQ6mm<9YJQC~ihlf=%R5Unvmd>6rfpwBdKR6}GJY7)03u><){ z$j2CuKI;h6I356hGFp=!_(Kx)E{L}>9@mUJ)&`MQz^o*0L|)Coqc7)>uY%>M(aJA`T@8!9HZ297kR%(f z8)|qH9C&(K5_v2{k0)W3Ub`-dE_^H*yxRy0*?J3F0qvtHpFwB$%;qJV!^wSLIGjlq zIEWVxPb9{pO)uYFT5q~TyL?_*5&Au$X>aH$1i2_Re=9JST=ugyn$xzBy7v#tg-R-xL zahxq&85k)EnzbA(#9&;dKJ}Lolw53hgq%y6RtAYi^rSihr351)jVo#a7Qihx+w|U8 zM*uXShs`<}+sw(fo5mY$_yx)ANrQ|&iQhRJ;|diu#1y>7F@oyDeEl9Hqm9`4h>O@}et8Ds(Q4cu4JC&g?A7;-cI-bfem|L-zKN%KRb zjQX2x_A0!Ua;&6Vsb9HNe6+ipZKRD(;2fcGoOc%2huCZ%RH6>v7xfX%p>mXIQqEP) zMC*B`&cBjQuJO>!YAx+uy_5tL? z8cnE*8iYEU7mRd+;I$Vo3(q*N99Fek>9EF3e-4$=gkUtNEi!uOXF`)Hq;yQRhiJCJ llB#N(CJQeqC$?fvky_eU=$lu`E&QBrY!8xu>5=y3{{dWA-oXF> From 6d1cc15e1b29fb859a1208fadfafacd8fc2673bf Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 7 Dec 2023 21:23:23 +0100 Subject: [PATCH 49/91] add pure wasm binaries --- machine_interface/tests/data/test_wasm_basic | Bin 0 -> 7103 bytes machine_interface/tests/data/test_wasm_busy | Bin 0 -> 7598 bytes machine_interface/tests/data/test_wasm_matmac | Bin 0 -> 8493 bytes machine_interface/tests/data/test_wasm_matmul | Bin 0 -> 7725 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 machine_interface/tests/data/test_wasm_basic create mode 100755 machine_interface/tests/data/test_wasm_busy create mode 100755 machine_interface/tests/data/test_wasm_matmac create mode 100755 machine_interface/tests/data/test_wasm_matmul diff --git a/machine_interface/tests/data/test_wasm_basic b/machine_interface/tests/data/test_wasm_basic new file mode 100755 index 0000000000000000000000000000000000000000..a82e1b8e7b5b37d2a5de84ebf4711e5c05febcfe GIT binary patch literal 7103 zcmd5>`F9(~k)9raAV`43kc1?Pf~2oRN`em3lqEs3E{nQpTasl1Cp*gs&un#Pb!1npXRd3nnR0@Gbp zUsYH4R8@C7rOLQ*9LMAm7aZq;J3DJ;FPK^9f)oDoi(QVJF|qQ*Ly7V7_~i6e*KuRZ zma35J#$s{P5Z6D)arsH?Xqq(xuRR%0%{l{5CG~r5(f4bMpDmN4JSNrn?+vTkip7U% zPjR>u1jXU%qu#0q#TS+P83HcMyrmysH6M{JL1cV#RZCx2`Zf&c4AA4#p#)e>gag6cqy11Dg^{3r&|vr)Z3O@z^Ig~#p>nh za%rS^WpZ?)TAp?q*48nr4qyB71(?x^D>K!iG7V4C7AMiQK%1PY{w=X_k$x*UG;{G{ zdAcT>>{yV!M8uHAY0572mPSU37S(B9xzJrx^fzFsx<-zUlxbvok?g_%LRv8>PdF|0 z2VsR?y4S%xf@`O--}odvg(?8~t{ z@4gt?+GW{S5HyDs$oaBzAT6t~5~~7PjV`SA1wh_SicoS5)p?>yb3AS>eqT?!{*G2GWO3==0?!+?016=~sHEY{3@v z7hHAI&A2%d-fD%nQFuGHVS6A2Y(>GB9oUg~joj8s=eL00w z>dd>8?#bP_3wQf+no3X8DC$3hGkN!wa4PRnp0u3hK+oYU&INKW?!mpj+=u(rr}rzp zQy#zrig?~4K1l8&9z-#a3pkGpzLZeH{nqD07>dA$E%*r8%NRj9kc$|`MPDxAlKT9z z1s}zzg8LSHjNAdn5Ck#~ALG7EU;>vpC$xMLlM(n83qD2mX-r`{kP5D#;!71(g`2V9 z58)wgJ#4`rA@@~0f~$eN2@m5v zo59b|j-knUoJH>k9@i%;SI9 z;6p|}V(?)jA2r~^N6nzTs3v~Q;6;OvnJM|W!N-kVte-IW1chG;jr(Nio}_%raKV1s z;8O;lrjeg9AmuY0+e-#7k=v2as^XUoUS=yaP(D|aeMJZOd4pFBK2O;%7?AP>%6`#+ zpU-jt`rf~4@anwYFV$qfta`s<@MVLqQ1&$gQeLC%R}H>O?zntS^?u#p>+^cQQIq|q z>iw3%Hx0f;*>4+=@@>j~$AF)&QLiq~?;3n}UiN!6+3&0D4-CF<@B_;J(14U5Quarx z?#Bi{GWfB2o~@r4{A3>Br!|0|DZtMSerE7<0{p^&lwT0wmkRJJgI^l_iU9g*|JvZ! z^8ml80sK}0erNDogWnP0_Xec=o&c{az#j}=H~0eqJY8~0`J>L~pA7zJ@Fz0;nJD

Wpmu^%yGu%xG7of?x*Fe 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 Date: Thu, 7 Dec 2023 21:23:50 +0100 Subject: [PATCH 50/91] fix duplicate Cargo.toml section --- server/Cargo.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/server/Cargo.toml b/server/Cargo.toml index 2a5b032f..dec27721 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -22,11 +22,6 @@ assert_cmd = "2.0" byteorder = "1.5" reqwest = { version = "0.11", default-features = false, features = ["blocking"] } -[dev-dependencies] -assert_cmd = "2.0" -byteorder = "1.5" -reqwest = { version = "0.11", default-features = false, features = ["blocking"] } - [features] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] From cc24d2e8cc32255c7e63d2d96def9934c6efa3d4 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 7 Dec 2023 21:24:30 +0100 Subject: [PATCH 51/91] wasmtime backend prototype --- dispatcher/Cargo.toml | 3 +- dispatcher/tests/dispatcher_tests.rs | 11 +- machine_interface/Cargo.toml | 2 + machine_interface/src/function_driver.rs | 41 ++- .../src/function_driver/compute_driver.rs | 3 + .../compute_driver/compute_driver_tests.rs | 9 +- .../function_driver/compute_driver/wasm.rs | 2 +- .../compute_driver/wasmtime.rs | 310 ++++++++++++++++++ machine_interface/src/lib.rs | 2 +- machine_interface/src/memory_domain.rs | 18 + .../src/memory_domain/domain_tests.rs | 7 +- .../src/memory_domain/wasmtime.rs | 117 +++++++ server/Cargo.toml | 1 + server/src/main.rs | 32 +- 14 files changed, 544 insertions(+), 14 deletions(-) create mode 100644 machine_interface/src/function_driver/compute_driver/wasmtime.rs create mode 100644 machine_interface/src/memory_domain/wasmtime.rs diff --git a/dispatcher/Cargo.toml b/dispatcher/Cargo.toml index 0cb283cb..ee96f4e7 100644 --- a/dispatcher/Cargo.toml +++ b/dispatcher/Cargo.toml @@ -14,5 +14,6 @@ itertools = {version = "0.11", default-features = false, features = ["use_alloc" [features] cheri = ["machine_interface/cheri"] +mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] -mmu = ["machine_interface/mmu"] \ No newline at end of file +wasmtime = ["machine_interface/wasmtime"] \ No newline at end of file diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index 83b5e05a..41d80a4f 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] mod dispatcher_tests { use dandelion_commons::{ContextTypeId, EngineTypeId}; use dispatcher::{ @@ -615,4 +615,13 @@ mod dispatcher_tests { #[cfg(target_arch = "aarch64")] dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); } + + #[cfg(feature = "wasmtime")] + mod wasmtime { + use machine_interface::{ + function_driver::compute_driver::wasmtime::WasmtimeDriver, + memory_domain::wasmtime::WasmtimeMemoryDomain, + }; + dispatcherTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1]); + } } diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 126c09ed..3d690f63 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -9,6 +9,7 @@ cheri = ["std"] mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] +wasmtime = ["std", "dep:wasmtime"] [build-dependencies] cmake = "0.1" @@ -32,6 +33,7 @@ tokio = { version = "1", features = ["full"] } hyper = { version = "0.14", optional = true, features = ["http1", "http2", "client", "runtime"]} libloading = { version = "0.8.1" } log = "0.4.20" +wasmtime = { version = "15.0.1", optional = true } # disable benchmarks in library, to not run all unit tests on every benchmark # also needs to be disabled for criterion flags to work that are not available for tests diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index a8e7c276..1aeb50aa 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -1,13 +1,17 @@ use crate::{ - memory_domain::{Context, MemoryDomain}, + memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, Position, }; use core::pin::Pin; -use dandelion_commons::{records::Recorder, DandelionResult}; +use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; use std::{future::Future, sync::Arc}; +#[cfg(feature = "wasm")] use libloading::Library; +#[cfg(feature = "wasmtime")] +use crate::memory_domain::wasmtime::WasmtimeContext; + pub mod compute_driver; mod load_utils; pub mod system_driver; @@ -27,6 +31,7 @@ pub enum SystemFunction { HTTP, } +#[cfg(feature = "wasm")] #[derive(Clone)] pub struct WasmConfig { lib: Arc, @@ -36,11 +41,24 @@ pub struct WasmConfig { system_data_struct_offset: usize, } +#[cfg(feature = "wasmtime")] +#[derive(Clone)] +pub struct WasmtimeConfig { + wasm_module_content: Vec, + total_mem_size: usize, + sdk_heap_base: usize, + sdk_heap_size: usize, + system_data_struct_offset: usize, +} + #[derive(Clone)] pub enum FunctionConfig { ElfConfig(ElfConfig), SysConfig(SystemFunction), + #[cfg(feature = "wasm")] WasmConfig(WasmConfig), + #[cfg(feature = "wasmtime")] + WasmtimeConfig(WasmtimeConfig), } pub struct Function { @@ -56,11 +74,28 @@ impl Function { load_utils::load_static(domain, &self.context, &self.requirements) } FunctionConfig::SysConfig(_) => domain.acquire_context(self.requirements.size), + #[cfg(feature = "wasm")] FunctionConfig::WasmConfig(c) => { let mut context = domain.acquire_context(c.wasm_mem_size)?; context.occupy_space(0, c.sdk_heap_base)?; Ok(context) - } + }, + #[cfg(feature = "wasmtime")] + FunctionConfig::WasmtimeConfig(c) => { + let mut context = domain.acquire_context(c.total_mem_size)?; + match &mut context.context { + ContextType::Wasmtime(ctx) => { + // create wasm module + let module = wasmtime::Module::new(&ctx.engine, &c.wasm_module_content) + .map_err(|_| DandelionError::MalformedConfig)?; + ctx.module = Some(module); + }, + _ => unreachable!(), + }; + // occupy clang-generated wasm memory + context.occupy_space(0, c.sdk_heap_base)?; + Ok(context) + }, }; } } diff --git a/machine_interface/src/function_driver/compute_driver.rs b/machine_interface/src/function_driver/compute_driver.rs index 21c455e6..60873de3 100644 --- a/machine_interface/src/function_driver/compute_driver.rs +++ b/machine_interface/src/function_driver/compute_driver.rs @@ -7,5 +7,8 @@ pub mod mmu; #[cfg(feature = "wasm")] pub mod wasm; +#[cfg(feature = "wasmtime")] +pub mod wasmtime; + #[cfg(test)] mod compute_driver_tests; diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 461fe09b..f73cbbbc 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] mod compute_driver_tests { use crate::{ function_driver::{Driver, Engine, FunctionConfig}, @@ -568,4 +568,11 @@ mod compute_driver_tests { #[cfg(target_arch = "aarch64")] driverTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } + + #[cfg(feature = "wasmtime")] + mod wasmtime { + use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; + use crate::memory_domain::wasmtime::WasmtimeMemoryDomain; + driverTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); + } } diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index b8d449d5..60a25c64 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -109,7 +109,7 @@ impl Future for WasmFuture<'_> { Poll::Ready(Some(Ok(()))) => { // TODO handle errors (we don't have a context if locking fails) let mut guard = self.context.lock().unwrap(); - if !guard.is_some() { return Poll::Pending }; + if !guard.is_some() { return Poll::Pending }; // TODO is this correct? let mut context = guard.take().unwrap(); context.content.clear(); let res = read_output_structs::(&mut context, self.system_data_offset); diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs new file mode 100644 index 00000000..d0544217 --- /dev/null +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -0,0 +1,310 @@ +use crate::{ + DataSet, + function_driver::{Driver, Engine, FunctionConfig, Function, WasmtimeConfig}, + memory_domain::{Context, ContextType, MemoryDomain, wasmtime::WasmtimeContext}, + DataRequirementList, + interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, +}; +use dandelion_commons::{ + DandelionResult, DandelionError, + records::{RecordPoint, Recorder}, +}; +use futures::{task::Poll, StreamExt}; +use core::{ + future::{ready, Future}, + pin::Pin, +}; +use std::{ + sync::{atomic::{AtomicBool, Ordering}, Mutex, Arc}, + thread::spawn, +}; +use log::{error, info}; + +use wasmtime; + + +struct WasmtimeCommand { + context: Arc>>, + sysdata_offset: usize, + recorder: Option, +} + +unsafe impl Send for WasmtimeCommand {} + +fn run_thread( + core_id: u8, + command_receiver: std::sync::mpsc::Receiver, + mut result_sender: futures::channel::mpsc::Sender>, +) -> () { + + // set core + if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { + return; + }; + info!("WASMTIME engine running on core {}", core_id); + + '_commandloop: for cmd in command_receiver.iter() { + // TODO improve safety + let WasmtimeCommand { context, sysdata_offset, recorder } = cmd; + + // get context + let mut guard = context.lock().unwrap(); + let mut ctx = guard.take().unwrap(); + + let wasm_context: &mut Box = match &mut ctx.context { + ContextType::Wasmtime(wasm_context) => wasm_context, + _ => panic!("invalid context type"), + }; + let memory = wasm_context.memory.take().unwrap(); + let store = &mut wasm_context.store; + let module = wasm_context.module.take().unwrap(); + + // buffer the system data struct because it will be overridden at instantiation + let mut sysdata_buffer = [0u8; core::mem::size_of::()]; + let _ = memory.read(&store, sysdata_offset, &mut sysdata_buffer); + + // instantiate module + let instance = wasmtime::Instance::new(store, &module, &[memory.into()]).unwrap(); + + // write the system data struct back + let _ = memory.write(&mut wasm_context.store, sysdata_offset, &sysdata_buffer); + + // call entry point + let entry = instance.get_typed_func::<(), ()>(&mut wasm_context.store, "_start").unwrap(); + let ret = entry.call(&mut wasm_context.store, ()); + + // put memory back into context + wasm_context.memory = Some(memory); + + // put context back + *guard = Some(ctx); + + // record + if let Some(mut recorder) = recorder { + let _ = recorder.record(RecordPoint::EngineEnd); + } + + let msg = match ret { + Ok(_) => Ok(()), + Err(_) => Err(DandelionError::EngineError), + }; + + // try sending until succeeds + let mut not_sent = true; + while not_sent { + not_sent = match result_sender.try_send(msg.clone()) { + Ok(()) => false, + Err(err) if err.is_full() => true, + Err(_) => return , + } + } + } +} + +struct WasmtimeFuture<'a> { + engine: &'a mut WasmtimeEngine, + context: Arc>>, + system_data_struct_offset: usize, +} + +impl Future for WasmtimeFuture<'_> { + type Output = (DandelionResult<()>, Context); + fn poll( + mut self: Pin<&mut Self>, + cx: &mut futures::task::Context, + ) -> futures::task::Poll { + match self.engine.result_receiver.poll_next_unpin(cx) { + Poll::Pending => return Poll::Pending, + Poll::Ready(Some(Ok(()))) => { + let mut guard = self.context.lock().unwrap(); + if !guard.is_some() { return Poll::Pending }; + let mut context = guard.take().unwrap(); + context.content.clear(); + let res = read_output_structs::(&mut context, self.system_data_struct_offset); + self.engine.is_running.store(false, Ordering::Relaxed); + Poll::Ready((res, context)) + }, + _ => { + // error + self.engine.is_running.store(false, Ordering::Relaxed); + let context = self.context.lock().unwrap().take().unwrap(); + Poll::Ready((Err(DandelionError::EngineError), context)) + } + } + } +} + +pub struct WasmtimeEngine { + is_running: AtomicBool, + command_sender: std::sync::mpsc::Sender, + result_receiver: futures::channel::mpsc::Receiver>, +} + +impl Engine for WasmtimeEngine { + fn run( + &mut self, + config: &FunctionConfig, + mut context: Context, + output_set_names: &Vec, + mut recorder: Recorder, + ) -> Pin, Context)> + '_ + Send>> { + + if let Err(err) = recorder.record(RecordPoint::EngineStart) { + return Box::pin(core::future::ready((Err(err), context))); + } + + // error shorthand + use DandelionError::*; + macro_rules! err { + ($err:expr) => { + return Box::pin(ready((Err($err), context))) + }; + } + + // check if engine is running + if self.is_running.load(Ordering::Relaxed) { + err!(EngineAlreadyRunning) + } + + // extract config and context + let wasm_config = match config { + FunctionConfig::WasmtimeConfig(c) => c, + _ => err!(ConfigMissmatch), + }; + + // setup input structs + if let Err(err) = setup_input_structs::( + &mut context, + wasm_config.system_data_struct_offset, + output_set_names + ) { err!(err) }; + + // share context with thread + let context_ = Arc::new(Mutex::new(Some(context))); + + // send run command to thread + let cmd = WasmtimeCommand { + context: context_.clone(), + sysdata_offset: wasm_config.system_data_struct_offset, + recorder: Some(recorder), + }; + + // TODO give back context if send fails (moved it into the Arc) + let r = self.command_sender.send(cmd); + match r { + Ok(()) => (), + Err(_) => (), + }; + Box::::pin(WasmtimeFuture { + engine: self, + context: context_, + system_data_struct_offset: wasm_config.system_data_struct_offset, + }) + } + fn abort(&mut self) -> DandelionResult<()> { + unimplemented!() + } +} + +const SDK_HEAP_PAGES : usize = 2048; // 128MB + +pub struct WasmtimeDriver {} + +impl Driver for WasmtimeDriver { + fn start_engine(&self, config: Vec) -> DandelionResult> { + if config.len() != 1 { + return Err(DandelionError::ConfigMissmatch); + } + let cpu_slot = config[0]; + // check that core is available + let available_cores = match core_affinity::get_core_ids() { + None => return Err(DandelionError::EngineError), + Some(cores) => cores, + }; + if !available_cores + .iter() + .find(|x| x.id == usize::from(cpu_slot)) + .is_some() + { return Err(DandelionError::MalformedConfig); } + + // create channels and spawn threads + let (command_sender, command_receiver) = std::sync::mpsc::channel(); + let (result_sender, result_receiver) = futures::channel::mpsc::channel(0); + let _thread_handle = spawn(move || run_thread(cpu_slot, command_receiver, result_sender)); + let is_running = AtomicBool::new(false); + return Ok(Box::new(WasmtimeEngine { + command_sender, + result_receiver, + is_running, + })); + } + + fn parse_function( + &self, + function_config: String, + static_domain: &Box, + ) -> DandelionResult { + + // shorthand to map any error below to a config missmatch + macro_rules! map_cfg_err { + ($e:expr) => { + $e.map_err(|_| DandelionError::ConfigMissmatch)? + } + } + + // read file into a byte vector + let wasm_module_content = map_cfg_err!{ std::fs::read(&function_config) }; + + // instantiate module to extract layout data + + let mut store: wasmtime::Store::<()> = wasmtime::Store::default(); + let module = map_cfg_err!{ wasmtime::Module::from_file(store.engine(), &function_config) }; + let memory_ty = module + .imports().next() + .ok_or(DandelionError::ConfigMissmatch)? + .ty().memory() + .ok_or(DandelionError::ConfigMissmatch)? + .clone(); + let memory = map_cfg_err!{ wasmtime::Memory::new(&mut store, memory_ty.clone()) }; + let instance = map_cfg_err!{ wasmtime::Instance::new(&mut store, &module, &[memory.into()]) }; + + let system_data_struct_offset = { + let v = instance + .get_global(&mut store, "__dandelion_system_data") + .ok_or(DandelionError::ConfigMissmatch)? + .get(&mut store); + match v { + wasmtime::Val::I32(x) => x as usize, + _ => return Err(DandelionError::ConfigMissmatch), + } + }; + let wasm_mem_min_pages = memory_ty.minimum() as usize; + let sdk_heap_size = SDK_HEAP_PAGES * 65536; + let sdk_heap_base = wasm_mem_min_pages * 65536; + let total_mem_size = (wasm_mem_min_pages + SDK_HEAP_PAGES) * 65536; + + let mut context = static_domain.acquire_context(total_mem_size)?; + + context.content = vec![Some( + DataSet { + ident: String::from("static"), + buffers: vec![], + } + )]; + Ok(Function { + config: FunctionConfig::WasmtimeConfig(WasmtimeConfig { + wasm_module_content, + total_mem_size, + sdk_heap_base, + sdk_heap_size, + system_data_struct_offset, + }), + requirements: DataRequirementList { + size: total_mem_size, + static_requirements: vec![], + input_requirements: vec![], + }, + context, + }) + } +} \ No newline at end of file diff --git a/machine_interface/src/lib.rs b/machine_interface/src/lib.rs index e57634de..3de7065e 100644 --- a/machine_interface/src/lib.rs +++ b/machine_interface/src/lib.rs @@ -1,7 +1,7 @@ pub mod function_driver; pub mod memory_domain; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] mod interface; pub mod util; diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index a701ff1f..f3c0a011 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -7,6 +7,8 @@ pub mod mmu; pub mod read_only; #[cfg(feature = "wasm")] pub mod wasm; +#[cfg(feature = "wasmtime")] +pub mod wasmtime; use crate::{DataItem, DataSet, Position}; use dandelion_commons::{DandelionError, DandelionResult}; @@ -28,6 +30,8 @@ pub enum ContextType { Mmu(Box), #[cfg(feature = "wasm")] Wasm(Box), + #[cfg(feature = "wasmtime")] + Wasmtime(Box), } impl ContextTrait for ContextType { @@ -41,6 +45,8 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.write(offset, data), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.write(offset, data), + #[cfg(feature = "wasmtime")] + ContextType::Wasmtime(context) => context.write(offset, data), } } fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { @@ -53,6 +59,8 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.read(offset, read_buffer), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.read(offset, read_buffer), + #[cfg(feature = "wasmtime")] + ContextType::Wasmtime(context) => context.read(offset, read_buffer), } } } @@ -247,6 +255,16 @@ pub fn transefer_memory( size, ) } + #[cfg(feature = "wasmtime")] + (ContextType::Wasmtime(destination_ctxt), ContextType::Wasmtime(source_ctxt)) => { + wasmtime::wasmtime_transfer( + destination_ctxt, + source_ctxt, + destination_offset, + source_offset, + size, + ) + } // default implementation using reads and writes (destination, source) => { let mut read_buffer: Vec = vec![0; size]; diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index 08165bd0..ab892fd4 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -221,8 +221,11 @@ domainTests!(cheri; cheriType; Vec::new()); use super::mmu::MmuMemoryDomain as mmuType; #[cfg(feature = "mmu")] domainTests!(mmu; mmuType; Vec::new()); - #[cfg(feature = "wasm")] use super::wasm::WasmMemoryDomain as wasmType; #[cfg(feature = "wasm")] -domainTests!(wasm; wasmType; Vec::new()); \ No newline at end of file +domainTests!(wasm; wasmType; Vec::new()); +#[cfg(feature = "wasmtime")] +use super::wasmtime::WasmtimeMemoryDomain as wasmtimeType; +#[cfg(feature = "wasmtime")] +domainTests!(wasmtime; wasmtimeType; Vec::new()); \ No newline at end of file diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs new file mode 100644 index 00000000..646a4b55 --- /dev/null +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -0,0 +1,117 @@ +use std::fmt::{Debug, Formatter}; + +use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; +use dandelion_commons::{DandelionError, DandelionResult}; + +use wasmtime::{Module, Store, Memory, Engine, MemoryType}; + + +pub struct WasmtimeContext { + pub engine: Engine, + pub store: Store<()>, + pub memory: Option, // must be able to take out the memory during execution + pub module: Option, // initialized at load time +} + +impl Debug for WasmtimeContext { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("WasmtimeContext") + .field("store", &self.store) + .field("module", &self.module) + .field("engine", &"") + .field("memory", &self.memory) + .finish() + } +} + +unsafe impl Send for WasmtimeContext {} +unsafe impl Sync for WasmtimeContext {} + +impl ContextTrait for WasmtimeContext { + fn write(&mut self, offset: usize, data: &[T]) -> DandelionResult<()> { + let buffer_byte_size = data.len() * std::mem::size_of::(); + let buffer = unsafe { + std::slice::from_raw_parts(data.as_ptr() as *const u8, buffer_byte_size) + }; + self.memory.unwrap().write( + &mut self.store, + offset, + buffer, + ).map_err(|_| DandelionError::InvalidWrite) + } + fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { + let buffer_byte_size = read_buffer.len() * std::mem::size_of::(); + let buffer = unsafe { + std::slice::from_raw_parts_mut(read_buffer.as_mut_ptr() as *mut u8, buffer_byte_size) + }; + self.memory.unwrap().read( + &self.store, + offset, + buffer, + ).map_err(|_| DandelionError::InvalidRead) + } +} + +#[derive(Debug)] +pub struct WasmtimeMemoryDomain {} + +impl MemoryDomain for WasmtimeMemoryDomain { + fn init(_config: Vec) -> DandelionResult> { + Ok(Box::new(WasmtimeMemoryDomain {})) + } + fn acquire_context(&self, size: usize) -> DandelionResult { + let mut next_page_size = size; + if size % 2usize.pow(16) != 0 { + // TODO: maybe this should throw an error, but would currently break domain tests + next_page_size = size.checked_add( 2usize.pow(16) - (size % 2usize.pow(16)) ) + .ok_or(DandelionError::OutOfMemory)?; + } + let pages = next_page_size / 2usize.pow(16); + + // create memory (which is attached to a store (which is attached to an engine)) + let engine = Engine::default(); + let mut store = Store::new(&engine, ()); + let mem_type = MemoryType::new(pages as u32, Some(pages as u32)); + let memory = Some( + Memory::new(&mut store, mem_type) + .map_err(|_| DandelionError::OutOfMemory)? + ); + + Ok(Context::new( + ContextType::Wasmtime(Box::new( + WasmtimeContext { + store, + module: None, + engine, + memory, + } + )), + next_page_size + )) + } +} + +pub fn wasmtime_transfer( + destination: &mut WasmtimeContext, + source: &WasmtimeContext, + destination_offset: usize, + source_offset: usize, + size: usize, +) -> DandelionResult<()> { + + if source.memory.is_none() || destination.memory.is_none() + || source_offset + size > source.memory.unwrap().data_size(&source.store) + || destination_offset + size > destination.memory.unwrap().data_size(&destination.store) + { + return Err(DandelionError::InvalidRead); + } + + destination.memory.unwrap() + .data_mut(&mut destination.store)[destination_offset..destination_offset+size] + .copy_from_slice( + &source.memory.unwrap() + .data(&source.store)[source_offset..source_offset+size] + ); + + Ok(()) +} \ No newline at end of file diff --git a/server/Cargo.toml b/server/Cargo.toml index dec27721..a92121b9 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -26,4 +26,5 @@ reqwest = { version = "0.11", default-features = false, features = ["blocking"] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] +wasmtime = ["machine_interface/wasmtime"] hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index 9adfafa2..e52e0137 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -45,8 +45,14 @@ use machine_interface::{ memory_domain::{wasm::WasmMemoryDomain, Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, }; +#[cfg(feature = "wasmtime")] +use machine_interface::{ + function_driver::{compute_driver::wasmtime::WasmtimeDriver, Driver}, + memory_domain::{wasmtime::WasmtimeMemoryDomain, Context, ContextTrait, MemoryDomain}, + DataItem, DataSet, Position, +}; -#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] +#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] use machine_interface::{ memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, @@ -427,9 +433,9 @@ fn main() -> () { ); let mut registry; // insert specific configuration - #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm"))] + #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); - #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io"))] + #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), feature = "hyper_io"))] { let mut drivers = BTreeMap::new(); let mut mmm_path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); @@ -477,6 +483,22 @@ fn main() -> () { std::env::consts::ARCH )); } + #[cfg(feature = "wasmtime")] + { + domains.insert( + COMPUTE_DOMAIN, + WasmtimeMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), + ); + driver = Box::new(WasmtimeDriver {}) as Box; + mmm_path.push(format!( + "../machine_interface/tests/data/test_wasm_{}_matmul", + std::env::consts::ARCH + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_wasm_{}_busy", + std::env::consts::ARCH + )); + } let system_driver = Box::new(HyperDriver {}); drivers.insert(COMPUTE_ENGINE, driver); drivers.insert(SYS_ENGINE, system_driver); @@ -541,7 +563,7 @@ fn main() -> () { ); } - #[cfg(not(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io")))] + #[cfg(not(all(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), feature = "hyper_io")))] { let loader_map = BTreeMap::new(); registry = FunctionRegistry::new(loader_map); @@ -588,6 +610,8 @@ fn main() -> () { println!("Hello, World (mmu)"); #[cfg(feature = "wasm")] println!("Hello, World (wasm)"); + #[cfg(feature = "wasmtime")] + println!("Hello, World (wasmtime)"); #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] println!("Hello, World (native)"); // Run this server for... forever! From d5ac2fa673b023c9ce08ed24c6018ed081d64e4e Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 7 Dec 2023 21:49:57 +0100 Subject: [PATCH 52/91] fix wasmtime binary path --- server/src/main.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index e52e0137..2c95b524 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -491,12 +491,10 @@ fn main() -> () { ); driver = Box::new(WasmtimeDriver {}) as Box; mmm_path.push(format!( - "../machine_interface/tests/data/test_wasm_{}_matmul", - std::env::consts::ARCH + "../machine_interface/tests/data/test_wasm_matmul", )); busy_path.push(format!( - "../machine_interface/tests/data/test_wasm_{}_busy", - std::env::consts::ARCH + "../machine_interface/tests/data/test_wasm_busy", )); } let system_driver = Box::new(HyperDriver {}); @@ -612,7 +610,7 @@ fn main() -> () { println!("Hello, World (wasm)"); #[cfg(feature = "wasmtime")] println!("Hello, World (wasmtime)"); - #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] + #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] println!("Hello, World (native)"); // Run this server for... forever! if let Err(e) = runtime.block_on(server) { From cee3aa6200a00676c3102c264288bf533e43b380 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 7 Dec 2023 21:50:02 +0100 Subject: [PATCH 53/91] reduce wasmtime dependencies --- machine_interface/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 3d690f63..20db2bf3 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -33,7 +33,7 @@ tokio = { version = "1", features = ["full"] } hyper = { version = "0.14", optional = true, features = ["http1", "http2", "client", "runtime"]} libloading = { version = "0.8.1" } log = "0.4.20" -wasmtime = { version = "15.0.1", optional = true } +wasmtime = { version = "15.0.1", optional = true, default-features = false, features = ["cranelift", "cache"]} # disable benchmarks in library, to not run all unit tests on every benchmark # also needs to be disabled for criterion flags to work that are not available for tests From 1376aec16fb36300b479fab872e61f3feb9d9009 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Thu, 7 Dec 2023 23:14:32 +0100 Subject: [PATCH 54/91] wasm module pre-compilation compiling the wasm module in the load() function is a bad idea since it's blocking the disptcher --- machine_interface/src/function_driver.rs | 14 ++------- .../compute_driver/wasmtime.rs | 31 ++++++++++++++++--- .../src/memory_domain/wasmtime.rs | 7 ++--- server/src/main.rs | 2 +- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 1aeb50aa..55ffa2e4 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -10,7 +10,7 @@ use std::{future::Future, sync::Arc}; use libloading::Library; #[cfg(feature = "wasmtime")] -use crate::memory_domain::wasmtime::WasmtimeContext; +use crate::memory_domain::wasmtime::{WasmtimeContext}; pub mod compute_driver; mod load_utils; @@ -44,7 +44,7 @@ pub struct WasmConfig { #[cfg(feature = "wasmtime")] #[derive(Clone)] pub struct WasmtimeConfig { - wasm_module_content: Vec, + precompiled_module: Vec, total_mem_size: usize, sdk_heap_base: usize, sdk_heap_size: usize, @@ -82,16 +82,8 @@ impl Function { }, #[cfg(feature = "wasmtime")] FunctionConfig::WasmtimeConfig(c) => { + // note that the module will be compiled in the engine let mut context = domain.acquire_context(c.total_mem_size)?; - match &mut context.context { - ContextType::Wasmtime(ctx) => { - // create wasm module - let module = wasmtime::Module::new(&ctx.engine, &c.wasm_module_content) - .map_err(|_| DandelionError::MalformedConfig)?; - ctx.module = Some(module); - }, - _ => unreachable!(), - }; // occupy clang-generated wasm memory context.occupy_space(0, c.sdk_heap_base)?; Ok(context) diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index d0544217..c2a3730b 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -172,6 +172,22 @@ impl Engine for WasmtimeEngine { _ => err!(ConfigMissmatch), }; + // compile module + { + let wasm_context = match &mut context.context { + ContextType::Wasmtime(wasm_context) => wasm_context, + _ => err!(ConfigMissmatch), + }; + wasm_context.module = Some( + match unsafe { + wasmtime::Module::deserialize(&wasm_context.engine, &wasm_config.precompiled_module) + } { + Ok(module) => module, + Err(_) => err!(EngineError), + } + ); + } + // setup input structs if let Err(err) = setup_input_structs::( &mut context, @@ -252,13 +268,18 @@ impl Driver for WasmtimeDriver { } } - // read file into a byte vector + let mut store: wasmtime::Store::<()> = wasmtime::Store::default(); + + // read file and precompile module let wasm_module_content = map_cfg_err!{ std::fs::read(&function_config) }; + let precompiled_module = map_cfg_err!{ store.engine().precompile_module(&wasm_module_content) }; // instantiate module to extract layout data - - let mut store: wasmtime::Store::<()> = wasmtime::Store::default(); - let module = map_cfg_err!{ wasmtime::Module::from_file(store.engine(), &function_config) }; + let module = unsafe { + map_cfg_err!{ + wasmtime::Module::deserialize(store.engine(), &precompiled_module) + } + }; let memory_ty = module .imports().next() .ok_or(DandelionError::ConfigMissmatch)? @@ -293,7 +314,7 @@ impl Driver for WasmtimeDriver { )]; Ok(Function { config: FunctionConfig::WasmtimeConfig(WasmtimeConfig { - wasm_module_content, + precompiled_module, total_mem_size, sdk_heap_base, sdk_heap_size, diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index 646a4b55..6b469104 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -1,16 +1,15 @@ -use std::fmt::{Debug, Formatter}; +use std::{fmt::{Debug, Formatter}, sync::Arc}; use crate::memory_domain::{Context, ContextTrait, ContextType, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; use wasmtime::{Module, Store, Memory, Engine, MemoryType}; - pub struct WasmtimeContext { pub engine: Engine, pub store: Store<()>, - pub memory: Option, // must be able to take out the memory during execution - pub module: Option, // initialized at load time + pub memory: Option, // must be able to take out the memory during execution + pub module: Option, // module gets compiled in engine } impl Debug for WasmtimeContext { diff --git a/server/src/main.rs b/server/src/main.rs index 2c95b524..657419bc 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -434,7 +434,7 @@ fn main() -> () { let mut registry; // insert specific configuration #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] - std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); + std::compile_error!("Should only have one feature out of mmu or cheri or wasm or wasmtime"); #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), feature = "hyper_io"))] { let mut drivers = BTreeMap::new(); From 5cd0f55d2187f45ab34afa918644e114e1cc02d4 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Fri, 8 Dec 2023 17:31:21 +0100 Subject: [PATCH 55/91] fix imports --- machine_interface/src/function_driver.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 55ffa2e4..fd787d7e 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -1,16 +1,14 @@ use crate::{ - memory_domain::{Context, ContextType, MemoryDomain}, + memory_domain::{Context, MemoryDomain}, DataRequirementList, Position, }; use core::pin::Pin; -use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; +use dandelion_commons::{records::Recorder, DandelionResult}; use std::{future::Future, sync::Arc}; #[cfg(feature = "wasm")] use libloading::Library; -#[cfg(feature = "wasmtime")] -use crate::memory_domain::wasmtime::{WasmtimeContext}; pub mod compute_driver; mod load_utils; From 9d21625b6d8c8ecfe1b301855d6b9e1d2b8291a9 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Sat, 9 Dec 2023 12:29:40 +0100 Subject: [PATCH 56/91] use one wasmtime engine only --- machine_interface/src/function_driver.rs | 28 ++++++++++++-- .../compute_driver/wasmtime.rs | 18 +++++---- .../src/memory_domain/wasmtime.rs | 37 ++++++++----------- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index fd787d7e..3958235d 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -1,14 +1,16 @@ use crate::{ - memory_domain::{Context, MemoryDomain}, + memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, Position, }; use core::pin::Pin; -use dandelion_commons::{records::Recorder, DandelionResult}; +use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; use std::{future::Future, sync::Arc}; #[cfg(feature = "wasm")] use libloading::Library; +#[cfg(feature = "wasmtime")] +use wasmtime; pub mod compute_driver; mod load_utils; @@ -45,8 +47,8 @@ pub struct WasmtimeConfig { precompiled_module: Vec, total_mem_size: usize, sdk_heap_base: usize, - sdk_heap_size: usize, system_data_struct_offset: usize, + wasmtime_engine: wasmtime::Engine, // engine can be shared across threads } #[derive(Clone)] @@ -80,8 +82,26 @@ impl Function { }, #[cfg(feature = "wasmtime")] FunctionConfig::WasmtimeConfig(c) => { - // note that the module will be compiled in the engine let mut context = domain.acquire_context(c.total_mem_size)?; + + let mut wasmtime_context = match context.context { + ContextType::Wasmtime(ref mut c) => c, + _ => return Err(DandelionError::ConfigMissmatch), + }; + + // initialize store and memory + let pages = (c.total_mem_size + 65536/2) / 2usize.pow(16); // round up to next page + let mut store = wasmtime::Store::new(&c.wasmtime_engine, ()); + let mem_type = wasmtime::MemoryType::new(pages as u32, Some(pages as u32)); + let memory = Some( + wasmtime::Memory::new(&mut store, mem_type) + .map_err(|_| DandelionError::OutOfMemory)? + ); + wasmtime_context.store = Some(store); + wasmtime_context.memory = memory; + + // the wasm module will be initialized in the engine + // occupy clang-generated wasm memory context.occupy_space(0, c.sdk_heap_base)?; Ok(context) diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index c2a3730b..2b137acc 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -56,7 +56,7 @@ fn run_thread( _ => panic!("invalid context type"), }; let memory = wasm_context.memory.take().unwrap(); - let store = &mut wasm_context.store; + let store = &mut wasm_context.store.as_mut().unwrap(); let module = wasm_context.module.take().unwrap(); // buffer the system data struct because it will be overridden at instantiation @@ -67,11 +67,11 @@ fn run_thread( let instance = wasmtime::Instance::new(store, &module, &[memory.into()]).unwrap(); // write the system data struct back - let _ = memory.write(&mut wasm_context.store, sysdata_offset, &sysdata_buffer); + let _ = memory.write(wasm_context.store.as_mut().unwrap(), sysdata_offset, &sysdata_buffer); // call entry point - let entry = instance.get_typed_func::<(), ()>(&mut wasm_context.store, "_start").unwrap(); - let ret = entry.call(&mut wasm_context.store, ()); + let entry = instance.get_typed_func::<(), ()>(wasm_context.store.as_mut().unwrap(), "_start").unwrap(); + let ret = entry.call(wasm_context.store.as_mut().unwrap(), ()); // put memory back into context wasm_context.memory = Some(memory); @@ -180,7 +180,10 @@ impl Engine for WasmtimeEngine { }; wasm_context.module = Some( match unsafe { - wasmtime::Module::deserialize(&wasm_context.engine, &wasm_config.precompiled_module) + wasmtime::Module::deserialize( + &wasm_config.wasmtime_engine, + &wasm_config.precompiled_module, + ) } { Ok(module) => module, Err(_) => err!(EngineError), @@ -268,7 +271,8 @@ impl Driver for WasmtimeDriver { } } - let mut store: wasmtime::Store::<()> = wasmtime::Store::default(); + let wasmtime_engine = wasmtime::Engine::default(); + let mut store: wasmtime::Store::<()> = wasmtime::Store::new(&wasmtime_engine, ()); // read file and precompile module let wasm_module_content = map_cfg_err!{ std::fs::read(&function_config) }; @@ -317,8 +321,8 @@ impl Driver for WasmtimeDriver { precompiled_module, total_mem_size, sdk_heap_base, - sdk_heap_size, system_data_struct_offset, + wasmtime_engine, }), requirements: DataRequirementList { size: total_mem_size, diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index 6b469104..98897137 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -5,11 +5,16 @@ use dandelion_commons::{DandelionError, DandelionResult}; use wasmtime::{Module, Store, Memory, Engine, MemoryType}; +// pub struct WasmtimeLoadedContext { +// pub store: Store<()>, +// pub memory: Memory, +// pub module: Module, +// } + pub struct WasmtimeContext { - pub engine: Engine, - pub store: Store<()>, + pub store: Option>, // store initialized in load() pub memory: Option, // must be able to take out the memory during execution - pub module: Option, // module gets compiled in engine + pub module: Option, // module gets compiled in Dandelion engine } impl Debug for WasmtimeContext { @@ -33,7 +38,7 @@ impl ContextTrait for WasmtimeContext { std::slice::from_raw_parts(data.as_ptr() as *const u8, buffer_byte_size) }; self.memory.unwrap().write( - &mut self.store, + self.store.as_mut().unwrap(), offset, buffer, ).map_err(|_| DandelionError::InvalidWrite) @@ -44,7 +49,7 @@ impl ContextTrait for WasmtimeContext { std::slice::from_raw_parts_mut(read_buffer.as_mut_ptr() as *mut u8, buffer_byte_size) }; self.memory.unwrap().read( - &self.store, + self.store.as_ref().unwrap(), offset, buffer, ).map_err(|_| DandelionError::InvalidRead) @@ -67,22 +72,12 @@ impl MemoryDomain for WasmtimeMemoryDomain { } let pages = next_page_size / 2usize.pow(16); - // create memory (which is attached to a store (which is attached to an engine)) - let engine = Engine::default(); - let mut store = Store::new(&engine, ()); - let mem_type = MemoryType::new(pages as u32, Some(pages as u32)); - let memory = Some( - Memory::new(&mut store, mem_type) - .map_err(|_| DandelionError::OutOfMemory)? - ); - Ok(Context::new( ContextType::Wasmtime(Box::new( WasmtimeContext { - store, + store: None, module: None, - engine, - memory, + memory: None, } )), next_page_size @@ -99,17 +94,17 @@ pub fn wasmtime_transfer( ) -> DandelionResult<()> { if source.memory.is_none() || destination.memory.is_none() - || source_offset + size > source.memory.unwrap().data_size(&source.store) - || destination_offset + size > destination.memory.unwrap().data_size(&destination.store) + || source_offset + size > source.memory.unwrap().data_size(source.store.as_ref().unwrap()) + || destination_offset + size > destination.memory.unwrap().data_size(destination.store.as_ref().unwrap()) { return Err(DandelionError::InvalidRead); } destination.memory.unwrap() - .data_mut(&mut destination.store)[destination_offset..destination_offset+size] + .data_mut(destination.store.as_mut().unwrap())[destination_offset..destination_offset+size] .copy_from_slice( &source.memory.unwrap() - .data(&source.store)[source_offset..source_offset+size] + .data(source.store.as_ref().unwrap())[source_offset..source_offset+size] ); Ok(()) From 33fdf09680cfa88df325e79376142cc8b961c0e3 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 11 Dec 2023 17:27:48 +0100 Subject: [PATCH 57/91] wasmtime module precompilation --- .../compute_driver/compute_driver_tests.rs | 2 +- .../compute_driver/wasmtime.rs | 7 +++++- .../src/memory_domain/wasmtime.rs | 1 - .../tests/data/test_wasmtime_basic | Bin 0 -> 29592 bytes .../tests/data/test_wasmtime_busy | Bin 0 -> 31256 bytes .../tests/data/test_wasmtime_matmac | Bin 0 -> 37304 bytes .../tests/data/test_wasmtime_matmul | Bin 0 -> 31064 bytes server/src/main.rs | 23 ++++++++++++------ 8 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 machine_interface/tests/data/test_wasmtime_basic create mode 100644 machine_interface/tests/data/test_wasmtime_busy create mode 100644 machine_interface/tests/data/test_wasmtime_matmac create mode 100644 machine_interface/tests/data/test_wasmtime_matmul diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index f73cbbbc..d29be63e 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -573,6 +573,6 @@ mod compute_driver_tests { mod wasmtime { use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; use crate::memory_domain::wasmtime::WasmtimeMemoryDomain; - driverTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); + driverTests!(wasmtime; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); } } diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index 2b137acc..5f4e05f5 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -226,6 +226,7 @@ impl Engine for WasmtimeEngine { } const SDK_HEAP_PAGES : usize = 2048; // 128MB +pub const USE_PRECOMPILED: bool = true; pub struct WasmtimeDriver {} @@ -276,7 +277,11 @@ impl Driver for WasmtimeDriver { // read file and precompile module let wasm_module_content = map_cfg_err!{ std::fs::read(&function_config) }; - let precompiled_module = map_cfg_err!{ store.engine().precompile_module(&wasm_module_content) }; + let precompiled_module = if USE_PRECOMPILED { + wasm_module_content + } else { + map_cfg_err!{ store.engine().precompile_module(&wasm_module_content) } + }; // instantiate module to extract layout data let module = unsafe { diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index 98897137..acc2127a 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -70,7 +70,6 @@ impl MemoryDomain for WasmtimeMemoryDomain { next_page_size = size.checked_add( 2usize.pow(16) - (size % 2usize.pow(16)) ) .ok_or(DandelionError::OutOfMemory)?; } - let pages = next_page_size / 2usize.pow(16); Ok(Context::new( ContextType::Wasmtime(Box::new( diff --git a/machine_interface/tests/data/test_wasmtime_basic b/machine_interface/tests/data/test_wasmtime_basic new file mode 100644 index 0000000000000000000000000000000000000000..cb79559365700e1f91a8960f2f11aee9dfca1c61 GIT binary patch literal 29592 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 Hw*UVDn<*-B literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_wasmtime_matmul b/machine_interface/tests/data/test_wasmtime_matmul new file mode 100644 index 0000000000000000000000000000000000000000..fa824857ff997431923c8674a85cc596ad2b9f79 GIT binary patch literal 31064 zcmeI53wRXO{r7hzK)}F84TaVyX&V)aB0&)&qAcvnMmB;9q7~f)vOpxaCL0vRYot03 z@lv%~tCd={t=6K}dc!K>1#hhi*1Mv33t~mBRg^04=R0#|Gg-1>?f?Jwd7tO?@O(Hk zXTIk;=la`aIWrnRY=>a*v4C;Gz#)O4cjNPiEOc-5Y=Uz+Auu3N5D4@s8#8j$$g&~s zNyJ%Ew!g66LpRAMyomnyL2N+HCLyS^A_nzAM?1jf!ZX$Ywl*xPBc~5)YLZ2 za}r9_Q`43N#dBJ((5RY|^C)8DoWz{@$vF#>%{wT3Q0Bvh$>!OOEl!DAx+szj)wAo8 ziR!xA>Xt-xLv`JvmRd&<44E{Hf)r}!)|&MDcYW40XO5F-x*jcwrdl`XJ4V?`=5rb; zCzY;An1*$W!Yg*1$!Km}V|7Z&1$XWGprN{fH^KX<<$ctiTAiwGY;dymUYALrskWhk zJZKo_>A{=@1^t+(ftvesq{KSd1?SqAN&I7NfcE(sZyS~1h zH^R4nf7=4zw!pV7@NElx+XCOVz_%^%Z43N=+5$6T);n=~W`3o;b4B_3(0MwF$E*)d zcqrsgKR!ws>YkQ$N`-8I_>8#ReajT~E*tk_!S{1iarSs#~;?gF2W>tmtOt`IM zRLq)Q8jDzyt76u{r7?SdIJmT!Ctx2m7 zlltqd>OoRJ?x|ze6CJHYP-+!+ODt}Wv^R(C)cArGUnz;N^FwXhWVnV6``w#)++NUU z#lI!{qC45m$YRzfZR`6wq9tp(Df@Y7qIP_IevF2g5VfDJw4R!3rv?RrA3fO7EB1@Z zC7*@Py#!H(^-#s42&rg_J3*sriwhwabxHilJNsWE|ywy%Ssr6+O{h}q;7Q_C-%s@t+P zmDc)j`{9K#D_)wfVzs>$j9arxOJZf8MG3F4UWkU4f338J=zSK3+YcTaw`Y|ObArO{ zi?`%g*t5n5D$Cw>(p{pXj|3$fPU4E-xb=9PZ1ckpsFe?EFD{>I&)O{z4X&PQFD7DW z`MP-Ul?sbQBKAw}Gkfzk&nns;-oY*4*KH3LhTB#aR+hgNT5=<4I@vibH_GWwABUDd z774x?ZjV1f_l^wU#Xai}3N0t>@b-dU6;^zFAlCM1Fxp=5V7#2SBkM}srm{{WY#8XI zUQ=3F(LTL27_(_4NBN1XbXv_-K1C-D-~ExJryoayA33cw*_zdxR!^xr#K#nd?^PQ_ zgP%;c;)4R=d*ATg#jTIqHt-^OrC}>Ipmd6z>K%CCMHG?X=M`3Je4t`=WPoFC(**^k z@4phWUQWOJ?{aEP52oVMsMS&x<4sJ9+Zv{}hAFAfSN)n|XFq%v378SjnD>u&%?AhT zY1;>daRzUNwKZ4ifG3)b=(=pV=8Q-zChv`h6(+GOk`O|M( zRp`tor)fTE`(Q$h9!EwsYWBL)5=|yf{~Bd$@_49iV@b@)E432LER^E2IQf0WIIpme zVT>Piuk3u`(DEyWP=c~*X8X2{x4=s+`*GeBPe>v3l zJYykj-zA}wSj>8X^iD4he$AU0IwWjAP|TyS9Uod8zE210Nc(ZY@ZGW)L>IhLFtI&v zD6h9~{({E~f=|bTTO%W;=0~mg(4w$?kz&TJm82If4n7vP3;Krb=#a1_-+9RRiWWzL z50ZQ+FUqq?R=jT>`WZ$3%FJR82-`D=85x`(wIf4|qITtw$yOv(K;F8W!CicCp{nUv zK$!W47KZJ`LyOA44z+ctk=z^=R=i+qL3>_#*pBqgSH%h=?ZuRN*3g3c)tpqTDBA1V zVHAFnT`<(i*q%O^DdHoQw=fc1MHL2z?JFcPp#=&><n%cX4LZ{SMLO)e|9o5DokBf99pThFzgJc!91-QTDYN) zGo)&U7H=5DkWBZD5{l_>&H;Mm)_HjZtHB&2j9OJ$N*gVIEYxk zbAKqur!f-e%@*LlzPs7Ho_y0qU!tKuOhbPZLzEGhIYj;AQ{(>z5@qb|Gvnm|F5RwJ^z~G|4P3Es5ACS5;b{hub!didbh-&#BaN_>^{*A-d}L zy~Eb!1r%`7>d5$EDv~ZroeNg@(y)EGdP(`Sp|-tMRQqzhw0qPcLd&O=2A^OY3@Vru zoIZY7_-?(Q$w8uTSjqcwx@2hi(ZihXSYiD;ZoM0~-s?C`D~PpZZWk(^AODQgm$ z7KiO6PNolr+VV+rl0AKVNz`6as+`qq-~=ypbj(_Ihuravt%rJRj)p!dUV z?-xd_nRK8;jCHco-j(jNOMzJ=?{uc+ea!CH_F{48?0UG9cELoObh_3ZMVI#S_8)8M zNImX9oDE*Yp2v%RH{AANNyIvtS2;PR6HTRk;FR{_vApfEY$lvVLlfCKGTrN>vq3v- zGtX-{JU_`wjnya{%lb8IY+Y-u|uNv8fWpO(W33e z{ioW+L&NR+_p7vu$41*{^=I%YAl0vs$=3AlW0!;y@H0$eLU%-Ki_yN z-YIi9b?L8~53-d%$MKq%nL%dzWGjF7?UOFQ+dlt;@^_zpdcN`6f4k+^Rw(A4MYL_( zW&+5puTTH$T=a2?ob%8(ng8b!D{B2G^M6nF81;wkJ=fP2BF+YGCL5cbF~}4$Rqf!- zjA{;NV{-1w(7B`0+M%<*nA6yt3@y>8$ZUt$?XIu1jvUsp<{xZKoFzDVF4hTWesdSe z(2k)Um5|!S-DlOY!dYu8tiPtyp4cUA=ltkP`{$$`w>HGuz6gfS(H9Fi&ssaU>$B48 zJWYCer4#PC(EEJ6y+Y@hP-MFaxxJ#4T|r7E{sJ?_-$LgcNo6AT4wcq}w#+Ec*@Msi z(rw>zr+sJAzHe1pKjxtOM8}z*su@1+Y=*eC-r6B9 z>eTYvOJ~z(+fU~|?E<|%|E68wKksgvH#WFhW}S{+x5Si+kkJJTaNQ@5efG^h2@yg7Ur3r6UuE)eQUevnuKcIj1_(xKtAw{(_O1*ovzh+7keb%fY<xlC#H0zBSTYWMMm_8!i7J%aK2 ze$3uEW*y0AfA7cbi5SwtCD=dm!&{&6_1?^g$1u)1FdE0Li9?*L7!eOA;#49&>x&q% z`=qB649c^Nibv5phGMjTIwCM6N1`80#j_ z?M6J3h|`ETlN{H4lN`H?NTvQCb&l2 zxbiJmf0V1n@MY4CU4*G65Ky{T!!t&Ad1ks5+ot;z`U&s3>8{|~abCLSR_T5UFB;uc zJ|A$Lr;BZyZYk}tnN>w@wvl(1w>>Xdd`Ue{``NbXTLBW^`3O zr1vno^NsHEEIQTu19X9nZu$P9YdP;db<>{3w9U#7Tz!=z_Vk_aU-gNg+iY}+9(4L1 z^(fX+xvCy?m!X?)bUmeaAG&2Zr1v(u7mZF<4aa%!+uW)i1@y5ua?tIMuEXeNoA}-J zhgs-GedyLV+xStw=b{^ygYFOLN{nvb%zVwg(t8fwUPdQ-p5vVQPD+nk>Hdu_W^{E% z=GFsUtSv9v?)Gba#IrPq^y27l$w8Mw_cx3slH3mEi^jWjU3m_d%HvB zGrFGgeHGn1Iq343%tv6~lItnGz0v(72i#3h!k8XE1e{wzPo0{K1G+vA-!V$`N>&1=pyKTokPBL=pHn>5k0)$%g{ZXgYG_bt8>u3jqZsYbOrf= zz+ZFF?T_x69CWkLt<6DqF1qJ)(ES13OF8JCL-%S9x__fvmxHdfUm&nP2VET9J2~i5 z=sI%HU5##I4!VcYeVBvp19Un>$@SF#iu$uh%0YK9y3cda)u8(_2i;P1U*({?16_ba z%l7K=D!N`d=<@gySs$a5Ro-#k%)5J|8=Qk~I=W#-H?D{D7NZ-NLweVvi|3$w3f&3Y z(WyAjzktNo-d~>&m4H4VJ`v`@$*>sCh6~{5@JqM>Zi3}-H#`i_!#el}d;(jbFMG=Z z*a`H>^>^V1FcS8I1E3rZfy3Y^m7NLm24_JVoDWOkBGCTxYPcSL2l~?Qt*{E7glFI- zcoo*cdUy{u!6)!9_!0u_ukxTD41k^Bdr%7cQsPKB5XM0Sj)1w)1g&rew82ui46cS> z!;SDq_!Ha*kH8vu9oECUup@h&0ibVWje!Yp1RM=j&;&QY&2T&14-df;@HD&t>)}24 z5VnB+opxU+guze>d%_494P#+EgkdsFfvGSZX2Nm6_h186kc39y%dLTha4MVw7F-CI zz|Y}YSPt6r`~_CQlkg0@1nc2F_y9hIEuep~-3$7_j!+0i@Ll);42ON791ejnL}4mu z?=ll+!F;HPCTN8-;aoTmmco^A4J?BjU^(0Ycfoz|2s{CQg*EU3yb5o^yYMyiVr}jZ zyTA|_3d3Mu7z^Xz5SR#4;3zl-PJkrLhm)WYnqd)~0p~+ITm)Cbb?{sGJ=_lW!2R$b zJONL`bMO+p25&+y*2h99g}q=Tl)(Wo4kp4BI0}w~Do8>t)IlS(z^QO1{1j}s46cFe z;6}I!mcyNJFFXJb!{hJ_1X#EF!j2Gv64(nyK{*@(QK*FJa2%Wf38;ZuXaudhi{K2< z_j4|W%R%ex4e&?!6Wj}{U^V;=*1`+$GOUAlVIzD9AH!#`1p=%${a_$`2X==&VP6;x zW8n~p!r^cP90|w3@o*wk!yK3oP0$Kwzn`~t3no8dON6IQ@Vcm$q+r{Q_f`u8@x z2cN*_@Nd|Sb)p2q5Q8{OgCv{;4R97*3|f0`hr3`UJO}IHJ@^Rn3V1i5?`-V^gP<7p zfPG*zjDc}50isX=N5C|wf%(t~EpQ5)4(Gu6a0y%m*TRi(6WjuK!UOOa{1u*o=inuH z9o~YE;75FatqjIMIaC7QKn$D!)i4+8p$VGdWLOMm!v%0LTn4{@>)>X%10IA&;YoN7 zUV`1cTsvusi$^_JX}(6pVp#I0Pm^45q;hI00tENze!_ za5|g|=Yb6u!KH8oTn)?MdiWjO0)K{k;1zfSK84TWYtWBM^o9Z$1iQfxU=J7pqhJh_ z!yzyMro&7)5vm~xb&1@OO9(*26on5k7){ z!58o~1o-k!5e$ai;rp-$>#aVxCicsmGCmGgSX)$=)V(l6cj-TgdqlTm{S z9k2=h37g?7(7tyeYrL}o=C2F5{u#(ds{O$);U@5&-^%svAp6k@U%2)Se}%um-+ke) zalH;+fOmZ1N^hgN|G*dirLN7rzNpm?`h)ZXjjwAtecM}p3I2~@e{(<1_}Z7~`5E}X zglpkC6Q+HNp2BUplNKYZ@PA{jZ^XX^w5L&84;WwjnziOy z?WkwZb1yrN_BkEqnZh^e8f3fa58r{IuowIYM#Drn5`GLxu;Efr{M+&GfmNXWiNans z{yX>|z{gO;K44cUf#EO;%Hc>j7PJqkhlOwQz4YWVd{mb}o!u#gFA8YVHC^t=IP48^m8kKyjbNe-YL}2mBKhu75K#5WWXxa4=|{I2u~vERgP(_*w%r|KAIbz#4c7 zUWa$!Ly%TK2h^v2|-T*LA-8Q@C#P-Cw}5t~R0wx-N8vYEZf(zg>xB`9)55S}FBy55&;NPIMA{Zj3z>#n)c7s9XLG0^iT@Yljd_yoRy-h2^a7Z?lDOvOJ2YM{Y{or}K|u7uyfAK+ei72bgN zAn+aDBPfj@;O_-n2p@$%5hlYpm(&CUe+b3K-w*!;mV#9w}2P_4z8bshmHRVes2s)A=nxAgM;8uh`|vs z1HAaNxNdCR4_}>@t3vjAxIjB3w2ZzdgpY#av9d>@my0v&DFJn3aUd7US7rWP{lV znYI_t?jn0jrmaObmQ4GK-?rkntH`Dzdy4EQetSu#t;BB|kxe9>J(LH9VV!>=}MrMm8J9PV8l5!}vaofJ_^PXS?w16${XKHj71E%WiQF z$aZ0a>=&1TY#7&o>=-wK>=?3Nc(x1KEo8Hho#MwJTg1&E8^kLh+ks+4%o$Ga`KMQo0*EwEic%9#McGsERJEIR`kDz^#|6Hzp zk#`2y`FjcY&)qt6duME&uipXxxmssx?+mT;v-U&&bFRhYytj@1Gy9W44x<0Ut3-r~a|BG(h4)S602F{iP$!IxrVYbwhVH_GhRxpR}vnX%@Pkn_AV z2Yzxj;U?A@W)kl{jm{#~*6@Rtov|_=@N2XUoezEG&4`xyMDY@d&X_HWT2je+r$M_3 zR#SEpyltEMMNRzr=G?~SZ4*sD$V@ic@aAe#|<^U zMy}j8{mBhxzici{|I(d$tF}6Fo$b@v>`oWaL&ep14dpV0{+FufEL{PP4UX&7raOwl zSvdmCWRB~UIDJ}SY=WFmK6UMTobFc&XMqWL4dMdojW z+n@m3Z^!xHt*^W2ncBGrSxt4STKTAHbx@H@B$^p&wfuPPyt>BO{9vmmQgM4o%PScN zy>42+n~sA{ZL$Z*byJJ(Bk6UqYj#{`v-!qRx+Ad93Fs#uE~9=n$_Zj}DyQ1K>DXdzeOS&wJ>C*aJEkbn9nLumsGbB8a;AKGF6>mQdFo0joMKz;dQjx)h$jm^=*w9 zxkSSGfnx8GI!tFgcWy~|4>j)f7UdG|PadbAsVj8rx~_pLmvN)Ki*9^xEc+jM33*eU zsww9ssaj<^FOC=P4KL64!lm=H-pr^PDKDj~yfl-^R|`n1XY$npRR%p%n64E^bW=HQu>dh!E?=`4{$*KP+Tphx5UYWf%A>0k}9t6%ZQpZ;nJeO8@ z0oikfhs0dK9y1F2a>qwN_erexe4~-jXJ9RjOtjQN}u5lmr4dU zr;aBYRijU}(o@~#sVt*9&!^Joy;VxQPTM)~N3DsY>X`&fAu8&3W6ijj9i=>p5AKbsLi1ItX`m1 zk{9U=?!ECfgK6lD1BFYc!qS9J{3Jek1{el`GeFJI53U4hG_&0S>U4C;z-my}qDuu{ z0gCC&cAN2)j`GlV(G;${^*uDDNy7(XT&sL4`&_P7H+A{b&9(BljO#t{m4|+1OKH-# z18dB+W>9?xZ7+P)#d8BmxSSgv1tyzowar;vtL|!>6((F0-KXYSZL<$MZ^gwTAerC! zv+##+?^?ykbSh4Ft~+gaVVQBe({vY>E#J)avff`w=h(q%L095+T-oRpUSeW;{~jq$ zt0`Qwx!h5%=X~Ex;hMkYG>6MQ%DtmkC&aCAy+AJ$?tCwaFwN6)6No3hW@WkAt`|6+ z=L*+6EH~Ws0{7A?3fIgl=Y@aHwZb*m%2hdk^Z5b;K;fEQ}jWO+@`BcvPcReA~ z4w^ybs+_<1Ni{l`($SnLr@2l}c3_2TmXxb<{^m0~Q(tGW5a#KZnfhubl&f<7=JP>Q zU(J1Td%9lWdnR17otzgg8@Te-{3hqM+h$WQ&1iDo`(0z|r8&$W{s;4ZHEYT3>w1A( zOgh>K$W^#r;5?I#mVUW9*9%mebhOyZdHP?O_R;e04}Zn9j}~+}EqHSJJs#CdOSoLj z^#U_YyJ^vu^TK~-+DFT@oL8QwP5WqJ_J`~HwMt)0v0Q`e1%6`si56cuuRO9nORwct z?nu`Q>|xqL3#^=%j=ozUy_QsexV{&ma4n+#@I|J+S~mURcbfWYq4bCU)6`c>qny{y zqfEFKLw|U^sjrqlIj`OHdB4h|1y9aPr^D1sOPoJk-*=E+i<+F5&KlD`+9%45aJ|4E zOgh>b%6Z{GHR)(C=nsF$w2!yKdwMN+%2)e6zka-FH|_BJ;isB*)1J;BewS$q#l%N&d)=0NO7m?ROJ*(2` zm*tc}7ghEgy2#R59GFWL{G#j`_*Loj%lx5P+o+2wdk$S>=`6Xe=b$d&Gw`d@>6iIK zvsb~d%AP})#L`)e&ZP=|QT7b{s?PNNp;@ai+OO&%2fr+xMVUV|YZhHp*|X>(>&zmT zRx0y}ddR@1N~b^CA2(|ix~Q_}&_$NcqAaH@x~Q^e(M6WdVwA6HSu5ceWzWE`N~b^C zADT6TE~@M~bdjaAD9b5}E~@NVNER5G;{U4*jMP3wAK{H;zt+^^yXWKX=KAU;Ux@w( z%fQG6{`CxxJb5f!|5%chk7(F1}}T&(wE!uQ0apU7fK%1WLLFd-e@4w2=$N z=a|vejdE{4HTD_rVP^h126q?#Q*!`VZ0rKr;&a^UHh$AoH^!kE70b+jQkMA3XSnfA zHQXDcP2X^Fpb5*Y|2h+Y=ZpuL`47($|Kpi%E`K!kD)-K () { WasmtimeMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), ); driver = Box::new(WasmtimeDriver {}) as Box; - mmm_path.push(format!( - "../machine_interface/tests/data/test_wasm_matmul", - )); - busy_path.push(format!( - "../machine_interface/tests/data/test_wasm_busy", - )); + if USE_PRECOMPILED { + mmm_path.push(format!( + "../machine_interface/tests/data/test_wasmtime_matmul", + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_wasmtime_busy", + )); + } else { + mmm_path.push(format!( + "../machine_interface/tests/data/test_wasm_matmul", + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_wasm_busy", + )); + } } let system_driver = Box::new(HyperDriver {}); drivers.insert(COMPUTE_ENGINE, driver); From fb040885116b9573361035c1457fa8f3de41de43 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 11 Dec 2023 20:54:24 +0100 Subject: [PATCH 58/91] update wasm binaries --- .../tests/data/test_sysld_wasm_aarch64_basic | Bin 13032 -> 19312 bytes .../tests/data/test_sysld_wasm_aarch64_busy | Bin 17576 -> 23856 bytes .../tests/data/test_sysld_wasm_aarch64_matmac | Bin 21792 -> 28072 bytes .../tests/data/test_sysld_wasm_aarch64_matmul | Bin 17576 -> 23752 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_basic b/machine_interface/tests/data/test_sysld_wasm_aarch64_basic index 011cc242c2c986c3cd169930b3f920511a7c53c4..165f74a126e853ed38929c6664dda39c9dd300f3 100755 GIT binary patch delta 8986 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_busy b/machine_interface/tests/data/test_sysld_wasm_aarch64_busy index 95745f28356fc9b88752e6c8a9ea2917ce05c541..c52894d6ec1c81e5cb22a3dd7aa841c1fca53a8b 100755 GIT binary patch delta 9260 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 P)i^Erx9B}jP#ymV;8R z-0yskJ2okez9k(gvX0im{PMsGNCppNfi+m?@MaaN9HIb{0`UJN{^V4)NL8GuUZ>*5 z;0deQD1?kc$mk4S*=pWfpo%=A>{)56xZijj7D8K!)M0a zQ*-6)jx-?0XXOLz?7^Wa1 zU51F`oXUqeh}ayc^AzfQ;f=5d$pdV{W*UE2|7)&=$BO%nps&cmsZstK>_|z`Gg7X+ zaybC-`!mi&qYX$sNIQ{^ARRy&LW)5JVB6ic;_q)pqb|O~WyBxXo<^*O1Gwz?^WZOa zhMjfiC$2!{gz=m1e+^xff0S>jD5WfsBWYq=E($bT>?x0P#hz*^hxSg^Ub{y(R>Hom zb>@fotKdpj2^5JvX^jFi*VVF#ZVQ`rcbo0PIZ>mNo$#cyy^=+8F`egOHrW&A6e4r$ zyx?U$*qPgFecziINC7(dLeWLgB3@`Ao(j}~7UF4e{IT+jA2que1sR?IJum1$49Fj4 zyd7$Mu`C%(FeVCaA>r@;`=7%LXWMl?9jLhfWtgJUt{ihnbokf&T!#PE;j zy%h7t0Sbs}NW_|?k@hPJ@i=ez{6LiSq@vo1zsnC4J8^g^s0wK?p-BoAkH4EQ*__Xs zJ+1gNfS3p59sXcJpEYn>aA_J5`>w!gx)6R(;55|;4-1^86yXn*2McT^Ku{T@nE-RF zqsbIlu0%GzI7$`V07qjd1nRFqoCma36!x^3%R@q*aB?{;IbZ#V|k>I^vEGJ*ncSMMD`<4qyOspmG6*h5Vc8DuUBMS(8Fu#RDV` za8WSmK*ae$;B+9uuL_(FMEEseRyw?pR@afLU8ytW%LMLroLrz!Fek%0pzuAiP( z6yp2x=L#P0couQ~0@pR|QB4qR^@`sP@w!No@W}kDPW$ziC2*=Enmxq=r#d3M25~#< zmD2Op2nnhvlISFf#C`Ns@t%;SDkj-e0;k$95(hpjG%YOLYGdctekZxd53Kt~N-l-M zerHt$+r428ySpKSEpBtLkJ>X=ZLhAVDC^r+R<@(Ox_U>YyAk~U{{1icclPe-AJ`85 zU3+#7BGkNYv%j&$-_-71+vsm;Xb1lekm!we^?69((omqJ_g^AJ^ z2)}s~JJwlXm`@6JxwFckUKNk3VM~>{MYzLN+^rQHPIp# z?6TzyA&*zGQcOr`c<(J>DP5H*G_#Kvu+_MwZx(Q}!?;x@G%D$x>`GU0CU0&0RV3 vz}($g__4FPyUrpQ=S3=IqVh&|to!K{do@1d`X+&0>#j81Sfy?+F|_a>E2g;T diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac index 35c54b38cdbdc5fa3dd34045abf21935d0460bf9..5c0a1a7918a2a6f9b93d67045e18b70a9c473432 100755 GIT binary patch delta 9273 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 PFKj4xhMIKuoDBLO5V61N diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul index 200f314d2a59187d3a6f8546f8efd65672101d3f..e3cd6df73418779aa7337c559390fa98126e8d23 100755 GIT binary patch delta 9783 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 J;rp77{{=PgDO3Oe delta 4106 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 Date: Mon, 11 Dec 2023 21:18:53 +0100 Subject: [PATCH 59/91] add error messages to wasmtime function parsing --- .../compute_driver/wasmtime.rs | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index 5f4e05f5..c06aab3d 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -267,8 +267,11 @@ impl Driver for WasmtimeDriver { // shorthand to map any error below to a config missmatch macro_rules! map_cfg_err { - ($e:expr) => { - $e.map_err(|_| DandelionError::ConfigMissmatch)? + ($e:expr, $dbg:expr) => { + $e.map_err(|_| { + error!($dbg); + DandelionError::ConfigMissmatch + })? } } @@ -276,36 +279,58 @@ impl Driver for WasmtimeDriver { let mut store: wasmtime::Store::<()> = wasmtime::Store::new(&wasmtime_engine, ()); // read file and precompile module - let wasm_module_content = map_cfg_err!{ std::fs::read(&function_config) }; + let wasm_module_content = map_cfg_err!{ + std::fs::read(&function_config), + "could not read function file" + }; let precompiled_module = if USE_PRECOMPILED { wasm_module_content } else { - map_cfg_err!{ store.engine().precompile_module(&wasm_module_content) } + map_cfg_err!{ + store.engine().precompile_module(&wasm_module_content), + "could not precompile module" + } }; // instantiate module to extract layout data let module = unsafe { map_cfg_err!{ - wasmtime::Module::deserialize(store.engine(), &precompiled_module) + wasmtime::Module::deserialize(store.engine(), &precompiled_module), + "could not deserialize module" } }; let memory_ty = module .imports().next() - .ok_or(DandelionError::ConfigMissmatch)? + .ok_or_else(|| { + error!("module {} has no imports", function_config); + DandelionError::ConfigMissmatch + })? .ty().memory() - .ok_or(DandelionError::ConfigMissmatch)? + .ok_or_else(|| { + error!("module {} has no memory import", function_config); + DandelionError::ConfigMissmatch + })? .clone(); - let memory = map_cfg_err!{ wasmtime::Memory::new(&mut store, memory_ty.clone()) }; - let instance = map_cfg_err!{ wasmtime::Instance::new(&mut store, &module, &[memory.into()]) }; + let memory = map_cfg_err!{ + wasmtime::Memory::new(&mut store, memory_ty.clone()), + "could not create memory" + }; + let instance = map_cfg_err!{ + wasmtime::Instance::new(&mut store, &module, &[memory.into()]), + "could not instantiate module" + }; let system_data_struct_offset = { let v = instance .get_global(&mut store, "__dandelion_system_data") - .ok_or(DandelionError::ConfigMissmatch)? + .ok_or_else(|| { + error!("module {} has no system data struct", function_config); + DandelionError::ConfigMissmatch + })? .get(&mut store); match v { wasmtime::Val::I32(x) => x as usize, - _ => return Err(DandelionError::ConfigMissmatch), + _ => return Err(DandelionError::ConfigMissmatch) } }; let wasm_mem_min_pages = memory_ty.minimum() as usize; From 3215a0603d8a1926ef8651de16d4ebe186633900 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 12 Dec 2023 16:03:08 +0100 Subject: [PATCH 60/91] arch specific wasmtime binaries --- ...smtime_basic => test_wasmtime_aarch64_basic} | Bin ...wasmtime_busy => test_wasmtime_aarch64_busy} | Bin ...time_matmac => test_wasmtime_aarch64_matmac} | Bin ...time_matmul => test_wasmtime_aarch64_matmul} | Bin .../tests/data/test_wasmtime_x86_64_basic | Bin 0 -> 29592 bytes .../tests/data/test_wasmtime_x86_64_busy | Bin 0 -> 31256 bytes .../tests/data/test_wasmtime_x86_64_matmac | Bin 0 -> 37304 bytes .../tests/data/test_wasmtime_x86_64_matmul | Bin 0 -> 31064 bytes 8 files changed, 0 insertions(+), 0 deletions(-) rename machine_interface/tests/data/{test_wasmtime_basic => test_wasmtime_aarch64_basic} (100%) rename machine_interface/tests/data/{test_wasmtime_busy => test_wasmtime_aarch64_busy} (100%) rename machine_interface/tests/data/{test_wasmtime_matmac => test_wasmtime_aarch64_matmac} (100%) rename machine_interface/tests/data/{test_wasmtime_matmul => test_wasmtime_aarch64_matmul} (100%) create mode 100644 machine_interface/tests/data/test_wasmtime_x86_64_basic create mode 100644 machine_interface/tests/data/test_wasmtime_x86_64_busy create mode 100644 machine_interface/tests/data/test_wasmtime_x86_64_matmac create mode 100644 machine_interface/tests/data/test_wasmtime_x86_64_matmul diff --git a/machine_interface/tests/data/test_wasmtime_basic b/machine_interface/tests/data/test_wasmtime_aarch64_basic similarity index 100% rename from machine_interface/tests/data/test_wasmtime_basic rename to machine_interface/tests/data/test_wasmtime_aarch64_basic diff --git a/machine_interface/tests/data/test_wasmtime_busy b/machine_interface/tests/data/test_wasmtime_aarch64_busy similarity index 100% rename from machine_interface/tests/data/test_wasmtime_busy rename to machine_interface/tests/data/test_wasmtime_aarch64_busy diff --git a/machine_interface/tests/data/test_wasmtime_matmac b/machine_interface/tests/data/test_wasmtime_aarch64_matmac similarity index 100% rename from machine_interface/tests/data/test_wasmtime_matmac rename to machine_interface/tests/data/test_wasmtime_aarch64_matmac diff --git a/machine_interface/tests/data/test_wasmtime_matmul b/machine_interface/tests/data/test_wasmtime_aarch64_matmul similarity index 100% rename from machine_interface/tests/data/test_wasmtime_matmul rename to machine_interface/tests/data/test_wasmtime_aarch64_matmul diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_basic b/machine_interface/tests/data/test_wasmtime_x86_64_basic new file mode 100644 index 0000000000000000000000000000000000000000..cb79559365700e1f91a8960f2f11aee9dfca1c61 GIT binary patch literal 29592 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 Hw*UVDn<*-B literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_matmul b/machine_interface/tests/data/test_wasmtime_x86_64_matmul new file mode 100644 index 0000000000000000000000000000000000000000..fa824857ff997431923c8674a85cc596ad2b9f79 GIT binary patch literal 31064 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 Date: Tue, 12 Dec 2023 16:07:41 +0100 Subject: [PATCH 61/91] use arch-specific wasmtime binaries --- server/src/main.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 322d005d..d9a4fee1 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -492,10 +492,12 @@ fn main() -> () { driver = Box::new(WasmtimeDriver {}) as Box; if USE_PRECOMPILED { mmm_path.push(format!( - "../machine_interface/tests/data/test_wasmtime_matmul", + "../machine_interface/tests/data/test_wasmtime_{}_matmul", + std::env::consts::ARCH )); busy_path.push(format!( - "../machine_interface/tests/data/test_wasmtime_busy", + "../machine_interface/tests/data/test_wasmtime_{}_busy", + std::env::consts::ARCH )); } else { mmm_path.push(format!( From 5951c885bbf83b25958ae1a59a599f685d7a2ce3 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 12 Dec 2023 15:11:12 +0000 Subject: [PATCH 62/91] update wasmtime binaries --- .../tests/data/test_wasmtime_aarch64_basic | Bin 29592 -> 148920 bytes .../tests/data/test_wasmtime_aarch64_busy | Bin 31256 -> 150608 bytes .../tests/data/test_wasmtime_aarch64_matmac | Bin 37304 -> 152400 bytes .../tests/data/test_wasmtime_aarch64_matmul | Bin 31064 -> 150296 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_wasmtime_aarch64_basic b/machine_interface/tests/data/test_wasmtime_aarch64_basic index cb79559365700e1f91a8960f2f11aee9dfca1c61..92034f9fc359af4382d150e7498ef6e18aa61d00 100644 GIT binary patch literal 148920 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 literal 29592 zcmeI5dwdkt{r7hvO2EiQ4TZKTN&5uFij*LTRIx1V$|8$+iQ)yiS&{`J$tJ&K!$nb% zh&qm``Y38!t<o7p8B*0xXoc{sk_ zoSE-@&UMZ?bH1~i^^9ozuztbdLjeC;?}lIqB*rV)vWVfjIpCF zm1^`9ndXi}OKYR6C^3q3YdW=uIc{#6*N|*(PPqTHrWeb;o4MH3kxVqE<|jLwGZn_v z*4{cV)saayEJ}1Vosvp4w=Ni~=9KN#iy+gU%%m19)0JJ#<)$>PNqya%&6}5KOExw( zr589EC0b}{M}q1(y;p8j?WqM+v9%%5urSrIDAnFi_96Kf7pL0iwRSi)>c~-~(#d(v zsYJ55DcO-orjyOfI+`3sFl6#D3UX+g-(>P1lzXkMp~1;C+m4PzTa#=0no)LActb1o zq|uED)3I(jp%Vf~jlulCy z9phXboSREB)7sM1;5IQYVMlU)s;#vtopG;zBR64l^Wv67a$Zv+wKS7TcTl)neQ!K; zrk6CO8xu|G`K?avhnnPV?WvAb`{Gn$etWVdm2e73wYx=l_o*e>u#h`X4>j`7`~}%u z0(n*J8DUNtUKM-HiTR!BhD5UQ4H6TTXJ$|OIsqN`|j3aMDFEy7hLlYSxNw4)<+fYW|&CcDPot*LRfy=YV8#yZvkzHF0=mpV3oQP{Q@&TmON zLa%Nr9^v@fvGbZ}kTdRr-mvbu*!Uk#s_ic+oHVR5UuraEqAYDUJbkDc* z-99cBx4(af{QPj}rpty={_T2UU^M%Zeb_oDfN5s;sH*V#NR{(8B5K!FRYvWrq>oN~ zA=LF3HpyZ8RtcTVV%D?dcUooe%dnNH8Wy(ispL}Fj#pKN@6v`k(tScOe49Lm=%N?P zrgWE7MeX>2(nSxK1)qoqw?+1wRT{P8RTW|T0;P;wYsoKK8GI;gmkkKp(P3drv2!u1 zE0N&6WFIPta&4*=A5en+*b0AR=HOU_?PEz98Cn{(BUKeqd*-ldRwPtL**ZIxv-r?* zHPi8c!gi*rJZvwos+jm?sB4ot$t_W~%0=7Cx=SX8?Z|*qHLN_+T}hqiRF&PW?xa~2 z(f(JBr1DekvMQ%wyKZRdbZe{XTOJ9nqX|R9_GOY7YniO5oK{Rz&eN^;kk2fS1|OPg z)eYdnIj-I@mtl5fPD^M$`uEWvi~cFKjCNk&>K!xsr=}sJ!L(J?p_e+#!@>8}aIQ91 zm2cj4+qP{ws@y!}%Wd1TW22gC`nz*?-E!-k63pr_#|cxfsz_<06CVn7{Z>6;UsfX# zeMa>@)BTPHUzlcB3=Q9@o?5i6BHaHTL8s%m^@;{sDWdg}2~H&#Z0?okG-OJH>$&m+$2SezPIc*^xuucdbJzzs_xW~> z$Z(JnH-DeT$Lx}tuyt5{%+{o`HK}Y(DqEAvW>PUdnQ=Wcozw*X{M34IEjFfK+@2Pj zX$QJCm4~gmKxx>D2e^wDma4t0o(`>&a~!sBD_0j;w>f6}az%7lpd{S2CD`?DFg)>-GvpCO#56+sSBsL~j-Yfz97iwq5rHqgEw3Whgj!vzzu1 z%2^&LW8enL{H@5Z|3u~s>(!W;Rav8@rBq7`i%dp~%<`J*h`pqKru9j<>)kOC>kQgC zi+1iiqkGPz07G@ssIaxVj0#R&ADJ{#RnkF?b703O)r9TU8YL5-3U!TARqfTfX}4=Y zgl?Kq6MTeuFr;j1ux`@G@NK$3(}E=5yq5dp49U<<$BcA_<8Vzj4n9^a+(9=AoOR|?ORhv)zcy%(`h!czCGvhba556+oXvH1vk@E)B`4KANlxp^a< zroO2*6*7x*=q9J9oK=b}O%MN#XIzv4z|>$&Ff&RuGngY96U>ZiW(MQMof-M#DNdR0 z^KTU6X?YFxY-Iqw74CYgJYvme03~8P7iZevWcch=W}c6?I7PN{l~fc_+Uv8Cthbwg zdN*w*U)WxuN0nDIsduE;IO$t|IC(GyVvPHkJ+SMYa;vVEHl3-GA`{nzR_=~qeWcc% zkE#v#wEsl`UAE`!Q5Lc0)Rx&?H^t=l*BPXU*s~~L2?ZP&?%G^F#i|=zI>m|)E;-De zGq}_~TV;hO-WOV_$v0o>-No1iZJtH$W}Vk`_{&r)GeNU#0?)5G6UrkKUkR;x266aL8qeW- zUk^^R=1i!Fu6i-FN|`W2CsgQ?w_>>aftWq6M)_|#{O^o?D>9*6LZ|1L?Gu(G z0rb_nP}lLKXMQ2#pEBmvgke$pY3Jcdr$xIf2hFl8tHRym2F|o9Cq%pF3}W)hkQrFc z;_FyST}ftOsWj7q%@fKtU&K6AmgQP0*szr9q{2Q%Cqp&IRgRwSA+9VBl|{N|)4aM+ zS*D z$3rWRa{8p-OzU3z@bc-_27Bn4e|OtF(P{H++Wh)V>qMN-M>cKwa2sCkdn68qR_Zg) zxb>RVFK&}58wUS_-0KEcIu5D5XW{NV=A#{TXL0$Q^vRC%c^f}m+uvsDYdtgF`g8V{ zPf;zixBNh-`8~J1mAvED=AO34tQV|)?zTyJ^*H!FZU0BhI^dryi~B>vLMxpGauCgo zS&tNM*+(D$BQ1+t|I|==)hYBV4yAsfm6NzF5xXC+4;ZgKgH`^BUfr0%8nf1I8crwP zt-ZqJvp(*1ifTgijD@e(XTSaQAL+Ayw6tIRTT5I0Z!PVde`{&WzH({V<)QB@cI^*1}mk%%{kfE&f+!G;@a;71y#6JIp6y4+x+6srwky7gumZS?ph(ZcQDz zY3N(L4|1Q?dQSHxEh}DHn=h>jpZQr&1!DFzmZn$Z*5r|!uKVx23WUPmHbZrlG-mxZ zX2nKsI{2NUrS)5jmR?)D^oD%t(6F~X$gk^7`O?BYurXh{eXd?-oxrvx=WcB;^*U?# z2SrPdDPDSR@zOsPFMU5>T6nzf!=5Xr2MS9^6T&caQ zH(y6MbKnT(z*{kU&zN=8FplE(6y8{ct9j8-8s7F~PJis0o$5*&w~t_^y~XyPjruU> z=tO+w6G)mMDLWzOU6!VPZkciWFcNN_Y2)?BNXXH262?e4i-b=VOc=9|BjG0A2*<4{ zB;+VYWe?wB!d^-|iV}|`;cQBLx?qV#CZsoZhMhgIvj=wez|I~hrU#tQeh>yvIXVzr zS{^Jf8&G;79%KzRedP4&E4<+)c;EI8ga?4O?A>>r-c=ese?YW**XWOSiC$2me6N7E*IoUcu9_F*x#cV0 z`=NBBtDB`S-YR&y*!KB;$mNl5xcYgH*st#{iC)m(Z9o0cW_0`J>&&_889}$S2wgL} z6-HOzM}C)}yUplU7tpEQ`VPXFH{EvpH^)xsqd(t9vvrfJuQ&2+Kbdp2r-D8lx!Khv z`p_MMuHNYC`_MI_yS#|}&PVrT5&8WAT`A6og5FX(!Moq)RPA^PU3n3@62{^%qnl^a zXZt1AGag2vt2es7=0hF2tn z3Uo7y$nSo1%|+4?%Zx5xPcnzb`^}KDt|q(ES13 z?M3KbLU&gYx{}gB;GQCMqtLA@LRW|Gfg*Iv(LGdz?izHD7NL6#-Qz{*K1BCa5xUBO zfxw0$bP;sV7NKiK_d*f6OVGVsgzheMuNI-(i0<_wbY+7Afj5fKjYGG&2;CfXZx^9E z3*Ea$r%&LV(93%ID|CT(-Sy>QBkOHmZa}w}(e;(z=jdvR(ADrI)A2><;^+?Bflk%_ z)a=!?_txjL)ewcl;b@o*jnD?y!j14dxEt<+N8kx~7G8rl;T`x4^oL#ppd5xm4eSm3 zf&SWc0!)H1OoJJqZ>ZG4Y&ZetKt1SBSz93ki{TVl2^RbaE`m$pD!2*$0QwTkI(QVG zgy-QkcoVe${185a0DH6kuq*5a<)D4%*Wo*`FYFKc{@$SwhA3!%Uk9^6--TTWEucT8 z?1VGmEI0?WpS&Edgf(z2+yvS`-U@fY1Mmp^8J>n`LHowP!W-}<^k=^`2=;MreXo$iOl<9ah4H zuo|v_YvDKWd$#!BR z%k!xg#=}II33V_Rk}w}ypbgq#2`q;*;XJqy^vwJ*Tn#tEAK+ei5FUjM@I1T*TVN}E z1b>HqJO_4xfv`L50Yl&$FdY6D>;t1<42*|~a41ZL7#s=5!d#dKCqpZAz-gdo+&N&w z1#mH323NouxCZ_Y{2KlUx5JC@Dtri^z?Tr@8M6zN!4UWsdFT-o_U$6zX!bk8o_!9I* z?g|(R!{OU70!G1jm;_TG3Nv69)WPvE7wRDcOW<@k6IQ|buo|v}tKnL>5pIS*g1!lT zH>`yh;1$>iTVW92X$?UIR6`hI5Qifn1t&uqR=|aD4O|a5!~O6uJP8|N6TAx_z^Cv9 zXqU2x_1WF6Y}?kx@nVqAztU$vkK>=fRd6l*7Vdy`@BsW7wAQ~3A3=b%c5l!+ue@gx z*TGy^Xl$J(UO{{goDbgGeJ96Sw;zQK@HTt^pF%0?;~uatXx$zUTC-KoJmO9`1sTp-U>H<^@|s30U-3k9uJv;{tTN}<5MK|sn)9cLpNH4X zd5|@2SCF5k{JuwgApF3b*Ap**rRMyn#Mi?8upYE7z6DDA4c4F0@B@g!abUs4p!Mu# zxC8D5=|3h8ux9KALt!M01+81Uo+e%jUFQ4-;@jbVbFQ^VYmU|%>9wXD4Ep}&iNsnz zWN#;4YL0b&2FI6z)(*v2!gcU_xDy_O7ho%FfiIwh`KLeQ`UZ@J2pkM)SPG|t^1g`p zQn($~!K3gLJO{e2@CwK8!iS)FUCunJg73lsa40lFGf00Hu?-i(FO5xe@jh4%e}U)W zukar5V={r=Ky$JRqA(r!YXK*}X5tPw1-jrzpmMGz*1Y^9JOOF-@x7Q2)qDqz{k*!A79xMq}`8rG#p18V#G7xD3}9{ z)L}Vs7n}#(um-LJrB(P9$9KWK@F+YBZ^2e@72CFb&awW+$2;GP6D$PT=@!e77V7iuZ;i;Y64Vr^6~Z z4=#ou!y53C|B~ao;Z_qrPW&nK=weR>k-|??Fz7Os) z@q^~t2z*%i?v3ySyb14v=Yz}tt^&XBEk8ToxAy$%)4AsP)}CMe6KwLW-THr&ld7y<->lH z{Yo|D`>gU;<*Ryrs(e)WroH*3oG_(A(0Kml zGLGeQt_1m=Hput91mu5S3GzX&1NorxJw3luKBxRm`Isld3b+yEKfVasA9;SFe8ha; zP<~;)A1EJC`=#H4d_KRgCqFO7o=1M2d^x`lC%;WT+s%;gtG$fP@2h>mxqLMFXY$SD zmudgx`D30hHUpdIj~&mk_Eag5PbPnC1;`JR4<`RhzL)$i`CFcUHH1CR2=Mz%MZe~3;lX>rX^i-*-k>7*sNtJhjA9GCi zT=dm9FIoN-rAs7wQg$rs$fR1F4(-LPuI$CUeV_V8ZTxuM{MPpEGtFMe&o+Bu`;2o& z56>Vcq|%F7PMy$_YH4j>#>3AE!%fU)*a_PWBx4VF$=!h^t41llh7)?aM*~eJ6|ntP zwL@2Vo(0%9Il8k3o%TBw@ffjFV3Ce9$2O%gVnPDmu$8MjURkm7>o z)_MGRpqGd0+eeMOimRWTKXfPVDXN#dz;zz7ff1n4OCx(vga_el+mxuMfS$4J%sXAw z4e@@zu}A0|y;&s>%UjAG|c49S6|~UhLTwds^kMW96q~m7`d#*Rdvs zVs*UAR!>T=o>3ZgpX?fMiZzlHYn4;1wMDU(00kW@sLd+J>q&2ZYTU@~t!*6U)K%vM zxB6Zq0xKM2z>QU9FJu*-p-}8kG^WH&R_0YUFCMeqd2TT}^ZHyKmOtnlY{6~x+H@T} zKr{E_pv9-E=KL^SjM1l#YO7J5?Nha((6>2*7kR30Ql#=)?#&U7^%>=z%1bZOI(2ZE zQN83%35@zAQJ?SzXL0vpQvHWfUGF`CFjg}p=IP>Pp6Uvt`oO2sCu93c^$Nyj9jrI1 zK^hV!to2kgFgmLDjp{o-l|DtQCq?j9jAH~|_=rz+BtvMmF6yP3(?-1ok?Ip~ z1HiF9@zS?7gFnG|l;j;o^|`n1W7Ow9^}4tPl~dx+jOrThffpvzclw5A@B~J+qk7n= z;f4xto&vm}1+MkBXDKTzT{_av+bz3#Z6npE4I%_cW zhY_G5scAY6WY=0X1+>pmnjeB5WDK#u63|nXAriONI z$iRD`e5ib25S5Z$D(atq(nmHE0tYtFEfM-a_eEYhyRZs<+Df9mmR3<>`%+ zjy3!?a=Z_*>hFamT%5=WmjX9)d@wOnIk3gp)gLufL>l$STyw1cxYQi;{z)=_@E75? z=O3%6-h!%=A9}OpYx2)~OH-_^P~Gy&=;K`PVEQ>@$`xr8D})#}vR6B2?s~05eZD4p zo3VS}x3}nS*|i=k-04Pv2RWBrE3kt1J$k)kbMn{lB+PT8z+~=|>{?|Nw9+b^Mq6dq zx~kyW@1U<_*Gj5T@BGWkNG!Y7PKDKO6!_G%SF5Fh_x<*#NiV(DM}>OlU*5Hw_G(2` z@V>Xc*|b+{phCU#FYAu6J5vXnr*AOr)jFq8@BAAGtm$vsW$b$!`^%=iTFVqX`!|eT ztCxb;Z~Bgv>aX=m!Ml&EO?$OM`R%Qyy;_qLv@R(eZuEM9D`+uOs4;pyvK2gg()5oW z(ti8TOh4$ctkCI3ffr3b=s~Oyb0g<-O4VPFUIov7tmz*;Y!#Z_DDb~cKj`tQ;Mt!r z{h$Y`LfVZ2WyY>YsDf9Y!2{iX(?e6?C^rghGVRr4Qo+k-ooTNgjDGtz(_TFa{q{qQ zT@OFMeVOS8J?{MWTTFZPfK%}L`2*8lJ<|O4F~+Wkn1a`DEvCJCY$?l<*)si-#*Fo zk9J^w`zfY>wCD2M^_hY4(Jsqx*XI_pYhUHJ*BZNaQhxh5Gaj^e^4s+tC*`BvlHb0` zv{(BhzkP(UYe(d_>-!GMM|&W@{VLO5?Rxz7mrQ%L&+*&8ZtU9G`0dA;e$ZaVZ@<{I zSGyO#{VCHf?N|JEy|-6AwL|gSALm4NJ(U&o)K$0^WY-f~K~HIg;Gv zlUu>Ff0tv~^%Pg|>{Q>e>xr)5*#jL-3)0C~p-myjdN7I9E9P4J5f7vNWA^RM+=3-(cts&EN8vTP9(ifMvh zRJZ`YDw}_;-&(i{epTTTax%*nabPh`@QVr;;8$hyuk~9CH^HweTtZG}*&@al(*(b$ zZ~=Z*Hvd|`wQv*ss=_7YWR@*rTro}XiwYOuS7r0B^;-)!!LKS@LQZDcA`U2~34T%G z0{p6M{&tlwI&fE-of z5^`kOB5I2&B1cuY2+0DYGyG4_0;9Ew&}VO>*-W){_|Ez8sJ$iG=CkO3gBBQ_=Kpx+ zqza5~Z`G$5<|LcZyiAiXQ7XMa`?Jxhh3@|>Eik%cVMnH&&m%bU;$ayf8$Y{Hdfb9u(;qa$P4TB4^xxD1=|57(5==AP6aLMw|3Su< z-~JKCao68``9psCeG8-?BZq{b@5=Z?etMgWc||z#3(bq3=gf`OZII86d*uYermYv6G!eYNHWjln#Vly7^93d z!x%dKs%g2?rk`iV48!NEEvvYC#?<;yWvKeD(9~ccRNpXlNvJ-{5)8NU>YA`O=wId! z%J~p0SXblsm)nYPu+CdmT^?1WSc*_}$UoLP4hBlge8HeM`cHLenZ!q07Xx)ZZ@GW5 zuRa(~w?Z|w)usNru&=DrTNk+7?+sQjxkAR1cJ=^*aIG)wU$R`T47Dx?LX5_5kF>PZ zTjMJ)4}_MO6?v-|X`PqunfAG@GPV9Cbg{b3TUOyOtMu2JE}ql>;xd12X?301qq-P{ zKjbS7`n|qjz*pz>g?z!~bpcc18e`RADX1Z^IAGO3BKBHMS(#aB?>OqbHGybooTaR% z@v>_A$)L-dej>wJs-HPwMoIC}N`*n+{}vMR5yG~o3&g#Dp98jp70 zo)7h*y8@wdZy>a|+U)(gR`Hrzf1ST}ncus()>q~Cnhp4CqfOZNsmfPY!JWsUa{gJo zq_-BMUl;pknAwKi#lEn2aeb)F>nmScUl*?P*43C6oE1BgrS(-c-mu*FXfGzkUas)_ zYP`O(GJl;^;4cf;`k8y-z>;3aT^GleFzY%+k;`L?1VUxC{wjYc?BnsOuBr(H&Dy!a z%;V@>j@oO_sbN<63g&6B&TkIievln4`6guL~>*F$===wIK{C=Qc3IgF#bc zKac}x%VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TK zr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_ zfI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+ z4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5 z>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y} zpbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y z1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SN zI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TK zr~~SNI-m}y1L}Y}pbn@5>VP`%-`0W8zp?$f&y$T7ccZ7ro#g2`QI`8*nPC)t{*4{& zoyp#}#_t$>=mV91neuNZ8=Jb4U7J!3WBp)t4OBjPgi&;K%=n%o-tEt&mv}lJSY<32 zUSf0{HS0WY)7#1CZF-7&yU6AEhe^izB%|@H@hQfg7Y#FtI9_O9>*U%5>)Pz0Mp3fk z+B?a~oAz=2OP6?#{>kMz`tfw5Wk*3tWDfeTW*c|DoWeLRGFm3&mqZQ}l=h?;jlaH! zzP#%*TH5k2>RD+Re>Pl3k(~c9-`DeAiqY~%j^E?jAB^M==bkuG^daX}1-_n-3MTZ7 z@)%=3DyWLAontKcs9;)Tbha_}d-}`g=Z}p1)}! zZKYbim2f|Ml2bR$GK}=7w^2<1&E$TXE73$fj%vi?mFRBi=W)K}aj8}JB+B*odI$ab zqF%o-C)VqiN@Kldj06@9)9Z@W1DtZYa7vD5JPz=cN9ar`}6 zx&1luI0KK*TWu^j508(V9%s=`)~1$ZV|^38JYjf_=4Iw}+?&+6aMg+-nXAn?8r2+R zo_ms0I))ItzRqZQCI6a;pcDM#>dZ?!l>O=2b>+q)s`XH*ZR$(5knJ^Uc$_ezwf@U_{yt5i8{UA?A4@^{wUn zrEd<88QZ@zwnDUWP5RP`_9nD1$T{&=@|&+TT7FrO9l4o!r<@btL4M0zqlITBV&Kbc zjGW|N0UdH`}3DX@+h;0^I;dr^-E0s4V3*OvG*u*!`X7YIC4GZ zYJlu?%!;go5NB%Msp8t zp}mjMOa3->dnof&!>D{|h*31>lDv-D#O0o>X6~&@P0qY-UTNg|VR;>^sJAI2iSwMu zb?C(BCefv%IooJ?Cci8)7v1W#q|7|d@6DeWxsG$WhjQ;&lNY{{o|GwG?aZHKUX$Zj zxn{;0v&5yX>xlo5_G6K#P2p*{!Q}KypDI1hg{}2j2D-<^E#HK zrgQ{|Rd9VoL3!lTA;y9m;ZoO#%PymTOSxW29hF=Qrt@sNMvnBl(kh>04Nb#`s$6-V zb0Q;IOQ)d^(MAY;C;DpY{gcZWSxp@!%zYo)Y_3Q1^2k8%j(Fo+eU4G|=^fjj`{dT` z&z-{NqihhMw87;3s)MtI6M{Yzh66 zxjQG#DDt71NMFk@&g<}TeGWHIpyTpAMYAoIfp$>1#$7F zVuIvLBNgby6ML<%oD=n6>9o9#O8OeCHCmdv{@~Q4%pheREU1hGDI>8;SK3H*TlPnnvQNB}ec}YxQG36zopu+oUL31Cxy^yU)M~ zr8Oh3W3YanvV8XGm!Fty6vbVe=#SSJQu#D}9LoG$!aDIDbDVvAdWDhKA@eOidw8bA z-{-wnK|Y){Cm`zy>rDT#4AlPv?5juP?I=9>5q`cg+gR|zMMldz%&iy38Z8GT=e&!# z^}>0q5ylv^KQ8+76yDFypB6cb{bpE!&k}nD?J%^@Qr|AF z-%tOSWDm=1=h`sZk=&r2{{0?oek8l2`@3V+tbw-!Ykel;sb`OO4s#`yaecsC$zp74 zc#kF(TorkM_o3GqUMW9Y9ZMduDL|i^c_%$Ye+qL)Wj<6UYxh-=hj?GTz#i%$-cQey zpKy(?EV0U5Pnm4SwPX4CTUXsGK3o-fJK1%akN3xF&PzCNBEK)c-du-Xvi6eFo;_EK z{&wQAd#Sq>t=!-HY41IbC4ZlC_tTFLBzYxSYv(QPd2p)am-iITHpVv33r4EUd}^fdBJ;eb%FL(sG*j1F>Uf|)Fhi{ejnRDXrkT;@p59zEXLCTrY4_wS3AKi&7|CG_!h-k-9D z4mKux?T$CTFIs*g-+WSewq#Er`+-#6U-q8B*)QAMsjRag2K^ifw*is$HoWTRznx^Xn?uO}YMLEn^R+}dUsTb=dEw>aTU>K*qFs@HuQ z_5Nka_UGig)=}Pi}A0$zwLnb$dEweEsk7+tzrxxyO0j<9Aqt zYmcAVm`o37lQq3V+9|`gx#nC-Hs?|@b4l7Mr=1qsNOUfpPQ6!to_M`yde5(*jWfCD zXWHJyXV{*6-xKe8mK8fRU=3*Xm(aU$YdzkYn%*A(^i}#vye)OiP zv^R<8{u$P`XHK!UeNkVZI745*XuBK#N$q~`pVV&aKdIfP&amCnc^5xN8;P!;r&I6K zr%~_etjpg$je1X~zu*4{)%*Bq)O$KUJaQWK4rAS_VBN}>cc_tC`8IpY5v*GuvTn^g z$2c14Iq{ft9k%ygrz-ceGc30)PPtV28K9p9^i#eGNb)frjs`j$au-t?=<%Z+SQhd1) zU*y|}+=n!L`3PSg!k3&l!)oN|}-TPJ+%`=*-f#08t);Ai9K zM;S+-U+w96eynkH4Dl}4SKk`weqK&JL7uBZo~xDoPD|>UhW<~<7i^Nh&G;qtyg)s_ zq#pTs*<%b`&s6FOQP0iPvz>3JQcn*0cd19dx8Iv)9DRm*?sXeSWq;Zjr=HX4kNnJ4 z5~rRi^rwpc+(duA?;2(H=S%1h(4R8;bAWL@O@9tBt~05pn|hk4r<;1(sHdBH1{#<1 zn}{B(1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TK zr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_ zfI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+ z4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5 z>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y} zpbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y z1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SNI-m}y1L}Y}pbn@5>VP_+4yXg_fI6TKr~~SN zI-m}y1L}Y}pbn@5>VP_+4yXhFCUn~@y;&4R8Ie>)*b&doG? zwEMeB-*a6z>H_mr;(5?x>2l2||Mb&MAru6+VODpd*kuX(bh95%nZ17KV?)dfqTdJ} zSA6{wDYG9Px}i_M8+}buRDUGdtj5`o*&9=4KR)z{A+sM%-7rl0eO&4v8rAQ$p*ZZB6N0VniGIYK4MCvU<-#$EA@1m3Io&7}0#$?g0K-XpI;`t`JHfcWr z-EMU55z%&6oZPM%k@}9HtFUxieE^*tZvsl>OUo1B1dKRS=4n-#6i`8@R2my*JqwRFY(bh91L`4n_b z3FwN@ZB0P80$sPIt2w#d*^i|>Zayb%=%%=%z6{pC-RKrsy8iQparD-A1l^Vd>dWGR z?n*$Hht54V+P}fZ5kyyYR!i3~fG>}xY%qPO+nY0fUXGLo&v1a!yIxzCNxm%-Z2N#p(|pesZ-{}ehI-XrY8BxOK0 zc%TI2-4ujIXoWUthY0M1U9cNuuigdSa1aiI!Jak+(jfz~VKPjCT$ll~AP)**KFH4? zB~SrDsDUsvfb7j1p$XPNGpvL4uov%mv+ zAbaNdP!1K)04tyg)<83?hYeuvhsoPv3q)WW?1bI07xuw^=z?xI2#4S>9DyD<4hDO} z49J3P$blK)0okusKoC|yBgo!#9ju2|XoGgx46+~H2A!}AcEeuS2eJq4hJ$bzjzA9_ z2ibR~f*aBy3$kG{$X+uSX2LA+Kt2?L>@OEVIRruWk&Unh*1-m7g?88i5$J@SAbZ5U zupheNARGqS6CQ^Y_DZSXhIGgP*#~CBWXOe?Fbg~&d%r@M55-Ud6;K0VSOJZ&2AVFOgDyA-hu{bt2ZKFJD#%_f9Wo#ra$qvd0uSUtKFo(=kiA$r zR6q@cp#fGvBgh_X4K%|#*Z>=$4cbBWURxmoov;&j!5)zP)_&-MgK!9rKo1z~IZ`1F z(jfz~AQwEa2uh#=f*^aN70?K4pc&S|dXW84E3`p7Y=$imfo;$UyI?o$g?+Fey5Jxj zg2QkGdca8Kf8d5}@IW5qLm@1J5|I5%5W=tm8et8{eq}vufQ`@wn_&w?pc8h&ZrB6+ zK=veEa2Sq24;%;CgQP(^WI#4d2HA7WfSE80@*p4PgX}Ykp#&tF-4 zLOX1M2z0_u*adrFFYJRZ=!QdZ1bW~&r0@<+12?3D>$4)V?q z!wP7GHP8&}VFR>68*GLxuoWV(4R*sG*bCiY@V?4|Y{-GhkO%ot2*pqW4IuB-W@v>7 z?1bIW1wA0|z7*b9so;im$bxK`3{xN%X24AFKt9ZeVkm(ISOHD22G+p_XoWV|3|k-q z+n^J6!Y6vHAYfpVyTAk;t@8ej!9 z!5UZx>tQ3b!DiSB+h8Z`hP|*Ky5JBTh9l4e$H5rGJ%m(912?2Y24q1t%m5D*!y+h$ z3aEiFtbj&X1I@4w*24y9g?88i5$J^d&;v|Ko(>}4ora=Fbh0T z42z%~Dxe0!umT!k4K%|#SPvVZ72077M4%J)Ll+!`L(l`qA!RK60XL*W24q1t}bKm@N1Ad>^+O@VLpJ5;S)Fpa$WW=!`Um01vx*Ld;(ksQ{fu87UbH$Sow`s zeiOOuUv9U~ORc<;d>P1IM#@QQ;s0WO7H_%h6cg>VNfhPz=U+y@VV>@V8k1&}?(%kaNJ z_7Ml*1Nbux;T)>X%4eo?*KqIuk6YyPl8n(iJg6s=+gY@?>c?$1c zIX;K{LYM+x2tYmDjF;=kAA@H=wDR753*Ls0AeDFR7`OoBeSI^04g4VbM)HT@33wKE zz#jN5{1K9PAC84_a0%qXl_2lqn?dT3^sgKT!Efbt@D#|kACdnD{3q;$_uvEgGsyc-G-;*yWv-`5B>o1j{69Xfs6NxyyHf| zxo{y|1ed@SFdMF=Z(k!XfihSI@;;OPN?OJ7x8X7P0sIK$9rh|j6(>&on&aO&&fn+w zh~xaP9G}HIY9vTL0SX}tZiBBuDb&I}a34Gj-+_%_xAQc|KZBoG`3~||;aBii5Zw^o zb*Yd6li|xC@52)KFEmTZtKbO`{fp$=;3as?ib=eSzhsiJvu7bHRA8v;bNSgujyWjy>3#;HU zcn+S2r{Jfs3*G=JBk4_!55c=uew_T`a}DD&@?7#OVHOm^9Z&)RsD@<_t>wgtZ*sgI z9$-=j7Ym5wO3@&0udSds+FuwgqIbx((#J+8*cv`JQ$N4EAejkO5hc15;oI*x$|a zIGzv1Py!WT?9@q!nAbZ3fFxZo&fxS1(;dlznfLY*yd?5)jOom+W zfP51wghfyeL1=&`XomH$5jKPD^R~fmu)q84=lCGVe$SBo8l-`I>&bv@m<+iv6FiU) z^Pw0@paN>30h(YPY=m~$3|pWRD1>5Y zhV`%!tQ2ogWVwevK~lbpOgl&AIpL%Fau^m z9>_Ni`Mx3FHsrg8eAAHc8I8~k8=w{1VGBf{6L!HK*azKk2ztO^Uy=%L$N>395ri6O z0{ITH5!zrgMBoU>UQ6~_>5vVRAs1#r5Nbg7Rn4#w+F&!tw}K-e-v-jyucSjZOom*L zZva7%pZS|We$L+rZLk^SXZu4SKf^bG{G2X7pUcnXg&;qJvm=X1gP+Do|2`-E8k9;0 z2%TLI@!FjRHANGbTYW==)Z%uU|6!zEl zDFdOJ`mk3NW!3c|M~&6>;W$^KMM~=zFZS2=FSUe<%bo94hvHn-2oYUO8<#l0y72OWRcy5Ko$^q0Td+HR`1byMf)wL&A z+IyjYwY?Wkt~h2&$;LsFKeUYZotdiqRn@i2*@c)X+sb+3&2-Z2vf_qaJUZJXDpR+w zSf91#>=S{sAv+04G8-kA4#_T1QeTn2TV+lwxhSu~EIA=TE?TGoFv_4UMjY9+=t$>7HzGkLwWJcxlRzjsNny3`kB8Hm;)?hn$G-Er~lWS<9^ zR_NH`7?VKK0D~O3khso%+f039aXe+cw_J84(LXeH`ai(KFLm)MA9Ny_Pqhf;o}FB4 z-;6Vb@{o&IOdqtfz18x1H7=AQqydK&Q?EQH_Oy38*ZUmXvrKO5phEk;@#Cj)2}l~S z#)0pK%m|t1k|Dsx{9m*ll4TB)zjEGDy29xq8= zZ-w7iR>J%lwmEW|ri#vPdq^v*h+-XWvk9TH3LfFnj%wc_eXrso*fC?{ZFx4k!9Ar;QRL zHOfCS1UvOA>_EKSStvIpT1ZhpLft`5Piv8qS(^RamN(cJEMhp)ghDsA>qfS}m3QjBFhg-du+%<)JC4chka{DrTur)kq0fD$A^?O3jY;YXZgWR;ov3ojT?Yvkn+KL^qC+K*xvBDGTB_`eqP?H$ zPxfm~N zOEX9ZW&L{=M8lLcUILj~@}Rv5Jb~ug`#w1jp;_-xIwd*eBlIJesTn?k8m`g$92 zroG${^X~{{3{vld#N}A(eTw5rRYU#HdERDz=Wrr&jBjFR~(YCTA1Q_^FPi8~u}XXP`8YcA!}QvIA)bip6WU ze|>|V|CKc}$((IbnLGuO-ef{a++&_apENmq0p}#%XvJlPm-GOJOI+@!Bs=~pH^r>S zx&yM-OG>umGI2?=x=ZqKUG%b+OOo|m(l^N^Zcbdz7nxChcSL&%T>O#OwWRWBX8!Gl#N`Do$*yOX z<%7JEo$=+?cpLl0|HB%uymp=XPpt9Ei`E&>wc_$>l~f$fj4Erq@-mfV$K`J)q@VKo zbjIcHHzY1EOlN$OHC}l|I^!p-amh>38NbS^Uv{ICW=1n(j8(tvKPB1m_pSLOJ5Fc( zWxM`<*pr=~i6!gU**Jlzxk4S8v4c0 zv*KI&#c#9cPrvvh)_7$PCds~Ek6GiDU6(U{r!`*LXF22Y_eatn*;zT`ldSQ|UdkDN zgA>uqK0#7`G&7zdm$>X1B-wF!F3tM;#c#FZvX_u#>o4P2^s=vzWXD|`OI-FClI*xq z7g!SVh3jkmb$49#^=q#+KTwCOy~F~`{N8Y_ud1dx7zp{D!WoGQuS`^UMWVv#i3)QE z70NL05Xs{DP+6D{?{{4Db)z@vtF84d_u@j-jb0C8M7BeNt9t97o=^iZs`xF$$a&S?B0I92gmh^ef%i7OKsf>RW~0jH|B{wti(xI>6h#cv@-*4xDN zgqny^#cv`;*4xAtiMZqx#c#l=>Z{)wjqj3EHAo9iS#J~5ozb{W#Hivo5hLqsA`zFS zJ4Ayt;869}e}%Jb+#$rM;uq9sLQTY|;x`c^>un;}F|@dYaEjtL;8gY2e}yv| zw}BW{{1#$ly-iF{sEHU={3b+ZObh!P!p1b&3d!#(r?DlhsdJq3i`d#KUyUOY2raHQ zriFZnrIazPwpxB8Wu5d^R2mLA3i(4zWS2S3U*TQMhKr-Rin?$uzgyzS&X-ro`QIb` zPb!J-iDPT?Sf?NI^M^Bu)|uvWGEn);`FTcCfBit`6642&e#utaxqUhIyqd5?lI+X9 zc{CEXz6;sm*wWGOmjjg#r$x(ew7y@&E6)4qUeL}#+EuI8YQ?1rxS-a$;8LxRYt;s&3N7wSp7-b8b0>F(Oc>j~`upSO;q~U+ z`@NsD-gD13cP3{?<45%i1|JC+7YzJ&An2X={1=wEC%QJtIh+*ODNqy$46Holz={Ja zhq;#nryq7`;?S`Nv^OnoYCf&$fQI^}_R|ko*wkKXt`9bTb4x1GkX({%(D?vkY->p- z>pVrOp)JwaT<0nZjH0QzDY=U|Zm6F(zqX+v;r`d$#fi51Gm?ph=7nQaoTA-&5u{pcQ^|!(b!DKrT;D`#lDnI;dGiu2wRLs% zO$(if5{;C!EkX92+AB7y*5pF6*gQWme^GM&;$&+-*@t9bT#{^^*WBjhs4YX0Y^t5t zkWADz)YrBpYMW{smbTS9ieSjZVHCtrzo6d4zeDD=mihCYNYmwLOSIIxrf(Q!JBiP4 zCZ80#E@3Lx%?h{JaVDV!4b8PFMHl>L=7px(Chi3Hr=I&!e@1PpzPZUs*1KIMf|mNG zCeol{oU1!$#!{PVZmgg07BMSeTkV2mOLKiw%DuWrX26DqC5?&NdG(3p>8WH>8;QHw z_u4~y(`ofhb&2|>1yl(*L2GSeGT|hUY;}|H?o(s!{6*Y(YN(F? z7A#E163EJ8PYZL>@UqxrPAq6|nxCkxJGH$n)s|>$ajIa~%#xhi-q?~z>At(U*gNy` zqGWALqIUlLWSb&L&QG-_X?v;qh3Og(?vok9iEBGSMr8)6Z<^nlY)m$#YI(ex8(Zod zoY=X+v}3m|yVdKp^FkAT5$&|CEqSn0e(yOU{fzOI3P7P-3r!eu1b!;k&S*7K1tD(FwZl%hLBlc-Eacgr& zSD7`nrpo#vZoL<`-tRh_S+hC3jH&P4-MEgAgQ1mwBJRo!=F*G0^rd&{UR`?By%e(^ z>-r{>?rQtwShf94dvn-cc5u<%Ur5_s7+QV_TA2#%C#&p|9plzV9q*S_t&be;>|VrH zZV0W=y0F@gA3m(AV{Ne7(!uzrL(4Z3MU_2^Gpl6B&KbpFyJWZU>djcA!Oc^wlKzp- zNrltxg8t#Vx*X${=~lsx)ppUr)mG8rl^bH#GjVH6$42Vm&!!l=lF^>CH>voj)m{^` zsV7_YWK&PEjt2?Rb2kEk?E0OYQNJnG?=scz+0^eRq-Ra1e!q-cA5z$^BUxnJL-w3X zU7;06%z9zto2o%7*O4rf#H-x2WUVArvLveH-=V6uPw`dqJzgbuc+qweCZn>u{~eY6 zac`CVNk(PA zRg#;cY^964i#iL&hwaFqLKUny(pgHL=Z+}4Pt{4WN}~O*8%gG;*hM3pgzZ^F3#+Wn z%5QNbxQ-$W4ck{pVys27qH;vlURSDoJUh;~xoi{Khd}Q7#d6M)p3_{f-9zJk>548ooz0wYa+^ z-2Z;X6SYc?q!qd9_=v)o^(2){8?sa53Kl<#>|!T5D-|k0r{lQwsv24$qV{3A|7e<0FU?1e%=eyJ*!$DHqIDx{)?1J*Jbrese9x7W8 z72RH$y1kKlI4gKKdE)$iAK^2ePmNbU#m3_ox2Mt>1vq8?l-M-?!*91b>ir-b$JmPoU%SLaip@O zgL3DW=M4c{c3W=76?UhcVYeOA{#5u*D zHL)yeuPj%}sy0$C4LeWT0P1(8awJXZ;teI?;8Q$M6M1Ul1B#{w;}gqN9%UCvYGR3f zCcWIUiACxuuEl6i;XFQ|@P4;MXO_@cOd$gLlTPK30xMab-if8r#cRxyKcrBG61oAB z3_eXqHnGS)jxe)^aMxz-6o}YUijfQ`h}hGL$k0wYz!Kl7Fk&BvB|bz4Sg5^-eG-;g zdlrT7acgky#FCB2P=ojDbV_j9#L|s#QfaE2GLs?GDTi)xYRc)Qh|<*XC(cwLRc;0= zwF#aKo)NVPo{Tb{4BCtPWMsFeIBC+JXhEZyZ!Ie)pUpI&cfuX-6i2K%G@wMR%Iaoz zMDy9LD6Y9dch~QnB%8TPD3T~7iDEAaV(f9*>FKi*^YDf3b2L0XyWG) zh|%t2_TY~9imh3dl<8ch6dAuRw0tK7>m!x!^Qhc#Py1gQ&}Dn>E=3V*Ze@|pb(2hX ze$FOD#GXz9r;)&+;f{^PldV}h7f!a~I~N>f&)vDuK2K?d$3GBSu7`i}`pC|1ViTO8 zKU7lAI23&5n9h>ngc)8G8UJFoT49{t^=K#VqRBS#WR@L8M*rr`Kc1l>aZl+DbId z^*B5~#Y&CSQ#OwAYwoz>$oN-7E1y9e{=M3Bc>pwr@qo6-(&U98dc=9-ApV=8-|v)w)o}354hQLd1VXJXhm}MePmF z;7O%LJ4<(%ZkLV-ca9xgZIzCTcFx^_hfjvo;9@#o$HM&EwG>J-HP|q&Xyc_khl;XT zJp~h%LYj zp-P65gTsoaS|uZxVtMHv=A^4KN34Z3sJzCt?Dm+ez3WNoqrIyW&8xjvQPKH7Px@%e z_dJ#ElKnVkv{#MCx$>Xq^IDLdKz9A)%75?mlg__eKmS7hdyhZe-+1-E-TeF3&ziPv z(*b0c*QdWeAAMY+uiXDHAXL=)XZn8zj*LQN=YMKQ{nZV6qVzXQhdpL(F#HsJ3Q~>>Bev6BB0$j;?qqw8H7%+(9z5 zV`#^(5Yga&S45lN+g^@zr_wtk>=9I1e@vHlaz<$n%_{9yG8wlv#yUO;hL-E2c$T|X zzx3{bZ~Xp>rT>ggjlQeVZC>R}FIY#Dfqqri6QSiZ$wS2MS8c7ek1npVp0$Ub`>A`Q z#yeS`!;Sh&we@XQ%#U>)x>dQ~(v$nR^@i0iZWAf99RKXY%e^ZdOH}r*x!b^xhi_B2*4qO>1s8f(m2*Hupn_i2JNX~l=V_A8n9=d0D( z=O6uRt>LSs_TGOqwb%Zmscra=ruN`hPA%QB_dSgLfr$I=!t#vhw(UlgU!Qu_cH_x2 zLu>zC5nZ|6i1I60%XZ_5*n`67e(VlodK-+@Gy7$)RasL;cCCAxO)PhUp~*#G(mV5) z-kU8Ag}n)nG7z(;l7ZJ_R%~R~mcQnmfqnS=A|tOO!smY0Q!K?=WxW=+CXMX6dQ+A( zcLpl{mbY{^)0K=2~#>OSg^HtE^*~EM*jHTd8-q zcKdtY(pdh|v+|eTmcR6`+0xukLFqrTij`aXt!!!THn2~&G|JBl%wZhG?a6H3h0EA;DGYZ%tdriZcXN+M2=zv zJeq*h3HY=xV8kAn?s=4E+&+e&@32H-u|rUfzRiBai3Cj$l!=+MAE=%vGtIbt6ahC@ z+w7dg2*^2{?m*b4ZboH1kifw}2GtYxn=W2AsWhauGb^*g){~;$U&n zpu$U-?3QEGmi}w6vV(^6-u4cJcP>7!-*G#6FOy3bffrtNWZmAo$Jx5kXc~O+ou~=5 zoEKlLV_>v%K=dLuvgD+{28v&I<2|7_{Y3+!7yI;&qo4GKtG}ENRUPNVKWC?bRUL)V z3kO9z2S%Mx%J=7R>szk=9#`FyA9JpJl#_OhaanFUpVv69C*Rw|I}80Hy#|1rXXHKQ z>@0|0+~29+W$11-y8W_s=3M!_0p036bdRH3V{|or#J3gQ$3}N~4xP$fN?BX<<^%3; zgmGLS^%+NB@vf_{G4gb|&AG~>x1bjpU7`=&HRx955#NL8UdSW9P3Vf5-pJMTk#31T z?>D+!?OEkG0^N)}bam)XFuHl!>Bf56!-eQp8C_q`+wJJC%tQCT=q@q3gR;{#=PHLb zFRw5?I)I&)r*U&`j?<9X;J=r$Q$U*%{(SHYg3Twl7&(4~y7 zDLa3@dbtDo9HgeLs!JhdY9&*8;kC;Jalu>U6F@w1-h$@P9K&yu9yD# zCUiIEp?enHy+(I)}^$8{7%^!b9*BJO_V)F4zJeLO1kd?z$uBErs1-PuL4aK?RJ3 zad0?9AO>-m0a~Y=47H%I_AZ5U;e5Cdv{w2#+zNU>^JRDqHo+G75W1lsWgY|}D1qH! zFW4Infe8?UYB(NFgi}D@)7AG6^{rKX|M6Tn555N%!t?&_i0-r;Gx!3>*f!?(H2J8WQ!G3TcRKlTfBuod*FHeSfuozlkDJ+Nc z;X=3!u7*|c6Zje22)DxRptsuA!K3g;coANK*WoRAAGX3r@HrGRhuR5>VF-+Xa@ZF} z!(lKHCP5UY!z`Esb0G<*LL;=oX|N2=h4bJ?@DunI{1#Tj{qP7p34el@;1zfS-i5!z zhwudqU@lV#J3t6_h23E|jD!Q=AUF&r!&In(W8p+N1#00`XoeIlg|pyX_zBz!55jtQ z0-lEF;U#zj-i5!zClFw+F#rZb5rkkj*aJquJ}?T#!bF%1N5RoB9gc@@Ljvlc9$H`( z{2XqCTVM^Who|60cm>{qzrj}c1ipZ7C}2J?7($>q&h9WA_JRsH1T?3K!ZC0hd>iJ$ zLTG|EI1SE#v*A3j;Uc&ceh62?D)=Sb40>DsK6n_OgbnZ~cm>{qci=tP0w2O>@FfHp zr~5-86vGf04*Nm{jEBiE4Q9gea1zu&5>AC?SOS`B=$(l3;rnm}Tm!#{HSjug!6w)Y z0~j-RfSsWXDnR4>u`mZ}AO*|ee7FQ|fS<$7@Ef=TG)6xJe}oP29J~at!CSBq-h<6h zz<5*$`s&GUFbwvDyA5SQrnJVH(VWT37&!Aq7ieIoNOsTn<;kkKw2AOZYYX z2JV2n;XZf(*2ClQ6g&qn!Yl9>=z`7g0ek`dc=vG!2*GZ!CzQj!FbWQWgJB#T0h1sC zF{p;wa3Y)u=fGuf1^fuEho8bta0mPz*1<#Y2Y3pegBRfycn!9~NAM*Cc~^1(6u}VK z6ZV3=VH6w$W8pBE2$NtI%z;y&7Lw2a?Qj<8{Y$;cZNnvSIs6a&2v))Ea3|acYvCby z9G-)h;SG2T-i7yJD|`%JK!6|AD1o6c9KHp6!)Q1JCc*%RzfU?$z$@ zUvYdBXiUGuXTP80^>8O>O!xFpbNswHe-(cdXl&Q@Pw@vZetKiO_I&mPT`M#G0miSu z9|sf6xyJdKaH2U^m>P~-pdHQxeWC6WxDu`gjqw`a*TEm)dH5U(7&8_Azwq~mgW=iAH5TFy!=DB-pazoA4(EUc zm%wdsH#`Izz(2me$N2}Kxb|eM^2Sh|PviVpI0;Eh4L9${=a22KQ>pM!rfTxHJJ;y(p1ne%@1%e%mP+*6Gg2ZO@J@Q*RaI-kvP z10;>#hQACfxD+&2+zJoFT6hNj3~zzPfI|A%Jzy75pMDI?1jW4&zX2|WD?xqv&*5g! zbvgCv>dPO4XW?!500Q)dgP{Z_z+{mA+xY5}7l8U=*?x$x{`Xk832p)Pzw6<7cpct> z58#{hcOzhbP+0Y)RiJ)UeP|uXemcJTP#b;>zlPtzgYY(N0qKh9`*wp;7zKyI6gV2D z!|{*+X}^PiI;ao53|7Ida4$R#FF+Sa8{CEV1Eb0FaQtt;4+Py?qzBPgyr@b86n@TjrL{u;-d z;RD$q#6o^N=-T1<5ts|};Z#@xE8rI(%^Ljm@Ep8qY#-o%0fUFo_FzvK1=TPUPJr*g z>7Y1%fPW=4!1eH3SPeJ9T6hLtfXCr=_!Pc?{@=9<2zt}I3171#nF zgZ7TJZ=^jVZ@)-;McOCQ9+7{4Nc%uj*i+HIO%k+cqx~A~)p+|f+N06_jP_>y`!d>x z(O!%8SiTS59*g!@?g#(giuO^m_fEWhli|!~G$+&EiMMZ}IhpoOH2*pQyuFhJ9DDmG zDUSVnD3@`rxtF(Zay!TCz}qj;oJxBp{{0efuOz_Or~MNDUWvC)qB)fIN+yA~PvY&7 zXzrwa5^s-0`y)1F?~8bQBH9bd-UreCNA})_f8WEu=b`-$?R98x!@rl2y^rDFx6pn? zu6+vaQQQM-AbU?j`w`lU@b)3J2cf-(-u4{4{RZtdcylN1GvwM|_zl;zzpxhm0NMKs z-oApjm#`yqByT@qcaF8Euoq}wVH9X@VJv8WLGv!{F&qWjW6<7$x38c*1??wj{`Dzn zpI{njf8b2ezJRw6pgn->wZGQ=+3S3*@wL9630l+p*YaA&cY)UJTC4ll=vtRgh8d8( z7C#G{e=UA3=URhn{jIgP*45$)Yi_N#%RuXFt+BPf z);vt>YOSZe^|Lq6@~@e-UJf$97yv_HZ}6{)CvvX2RubA_CHU98TJNrfhd^uFx4^%q z)q2)jziRE8y=K*VRclnOOFspzJ+Ad!~r9GzlrutORne$_#J*Uaj{TJJksYGf~YqGY^`<=@kWqngidnzHt{O0y1 zUyRM|sT^0_AoJQ6EJ(IyhgwKP&h?%Y__5T48(ELdMBaNGJz1)+qu@QEvM%sDvQ0e~ zefiA_mVHIx{FU3bv@MlvB-`~Fb#Bb6%3jpl)~R3A!tZ7-Xl~s$()5MwXww(AjX0x8 zF$Hj3vS|sUm*X0fjm@n~nO8Wj%=oM&9JfvDGWLKM+-+^Ls_FIw>#16&^+}*K82cTk z)~EwzNE0Zzo*+H9%4t@*$N=TMS*YV|p}!&MIs-(21%~5#wCTnrJ7aZj7#~dYErJ&VOrttwq;ZR`n&Tt4-CahE%omxQ^?|iSyLT z#)KyQ>%fUbD-U8lKT5l>p?MxZ#OlSN+V3MrUdB~#r6AXnR4>hn>r6}ndrOGxrI5V` zVzs6jyyJQj@I7VeTh81dpr6W++eVpv&lw#1Y)H;it(bJrwvDx?#W_Mfpgz@#;D8n!Uf~($BHi%2<2$E%fdii^agcAlGY*z26PB2(@!Lg0(d# z7BOrzB-QGK9wj+NnW|+Z(OZd5+gF9lCA@|Ucet6isq^F`MoZIsx zyo+j0Jy~&oe%QOFr@vR1IbM3b3(|^S<*w1|yZjO_BCjJ~h4Jhxcpc~Y zo?X7DRs1^k;#bLJQ;o@{MlWC0B%RWiua>A|nddP=UwMG*W_IYoZ}b+uCF3^F0JqkxqN@1iUK!Skuolq z- zB{lA-T8!#!FLx;Peuv&c51xUlL6KffUR>JuP`-}!9tg$7E!X?z z!GpNB?K;?ERJVE06h?j8J)H&;ya82As!}>I#dWrthH?7rb{@yUO`dA1Q9bHY>C@Z& zq#8>ra&q5lRIm9|HJ)mfr@GdtKK7}!dtRfsifD=ITZ4}n)habr1--0#01l8P#Jx)hbj@T;KClj~P`fcPj08l%2Rf_EaAj)$Wwl zb2X@(R=9x7I_;~BVOeGTFP}=E7don2Jk>O#I>4t|gUY$vAER>G#1f-A&8O1mh-8HN zqDW4P*BjNDK9xRUbX1n7dfcea_NnyQ<3WmR11cxQkBrJ!T~1NeM7WhszeNLg`ZnDj z+55vt&;un#16AzwdlT>}meUU^v$Cr%oC74~%op46Rq=!2LQn>2V1b{3G&G~YI#AQn zgZ3P#pVZ^D5j0IuyaUOg;!%1dIF_9P29DrZaVoFJbFA@SjXA}!%Aj~{bF6rO%<}%#&VLst_UwqYt=k_AO@tkleaFRLZ5f5C(@!|NYrzeeF^;Aekq*oUc zHplD-NalC`B>eX69V;8zPTA?r^``C3mL0Y?O>eeb>1M~bopZfA)6c0#SEv>)_Z&@1 z_A=+peb#h%3w0;^3}e?wAZJnKva8>h^S*!dFtjgf-mtB3doM*p}@Up8{maB38XTRChgZg2) z%Uv(fYU)8fublV2p17$8^|f*}&i~YtsR#A0a_SZ3=9}_P(qo0IasCfD?*%G9tBl># zzii6uJbFI;9>!jyM-sP>>jmbRdQiV8=h^jslj2`v>|VWTA60hseRAG?*L!EOtGDyp zH=1&(f0H}N^_+cC={2#Ct8%@-J0>1YCFDH2-iMQ3lLx4KaFUAdP`y=j6V z=f$JnN0MGs0=ahA3(Pj{N0R`#nCk_;Z|Y6MzMN-&($t#QjTc zT$AfL@2xrcH+C;S7npj`fGs!E^_+JSq}LEF=f!h`sRs?pe!D(vkY2;E-~KyOUJbl{ z`#(&1HPrg;6~?Z?RnDu=MpIr5r+&NM9Zn`J{>`xF#k035uLemu&)#jy zrD0Ldi{}s%zviQI8t3J-->>*J1C{ga8%_JsoYQZAz{Iavrr)liK=Ei^>9^~B8`(9J z^xMxc^{Kg|-+rg5H_aCP_N}JgG(Ys)D~(+bFq6P!q|nS$JS*9-gFhW!KC?&a+co$F5n1oM#WT)h}$SO||o9l1@70j=wUm1Ts{)Q^=5|lQ=A&BKSqQ6Y#6j@mKn-IqN7x zl{5xs%9{rIQ$wPc8XHxfAfK zdgAw6bJvnz)kg|`SvrYIzcptP8LHe#WXO7w$fuSneWE@R@Tt=AkMW1iS%eH#?i4a) z=_D%iN+Ls*JBbWgI*AHj(Q+2TFUp;OUzLu3jNh6wfecmd6f$J#Br5YtB14rs3CRKn zrudVafde%a(x;UNG9_$j^PTfiY-?j}i_fAz!WlTQiNCk$gbEzk+N{r{%t<<;d8v9| zpk&iR%`y*6E^_}=XW+oLMQy28K3(F-^OrX2{NLeDArf~^oEh6Bb9y7|62Fty?`Ck) zTX?;%CYP=6?OZmN37O99KLpA$&CWKa&(zGZ!n3@|bQSKYzNh4O+39O}+*|n65pJl< z%)WycM|OCYJ-vo6obHA=E~{YK;iu#Xf6{C>yeWozVzlWK4h}Q6?DE?td|B3o?DY4` z5&p(GZYl%Kewcf^7}*CzE6#A(Ic2K|`C? zsL|3AkSNs@Xq(m8Mm81fX4|1JyM{`;sYPYG*s^cg8UtZQ7breB<^r zdBg|Dp2S8u8~ZRE*2ef6ca z4d#d%hI#mEyrq7h$Lp{3Hh8=>UjO=rO4GwN#cIRypoPlSl~(%`ho7q}D>EA%oJWJF zt}<-8$nsoA=Vi5wlS!9*EMdb#;ToIC>S(pU)*F!KT+@f2sPWctCAdD7T#w2xc>|TT zHDw#P9ENhH&9z$Sr(q+h>8u~)xNsg%9=p~l=rLv~1-dF9b z33$1^YOCui{buW2VAgSXEr;c`*VK5ceg*5)-{3Q+Z{NsbtMjf4RG721g>R@_Q^P6< ztgEjn>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3A zfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n> z3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0 zs(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2 zpbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe z0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~h zDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hD)9fU0v~?)nI}JtHQJJ!^Fqln zd7*)_?6=Acqv*pg@9XM~_56CqzOko1TK#9K|4OW}vp?3gGr=&nj@8y^^dseUQ+K}ZGPd@UOF5A?C4bfGQ%ObGH3uZ0}>c&SCq%*u?(>M?WuNn-OQ+u`kXj zigozD8XLRwZO-kRn|FGqk$3vaY@_Yff|B4u#^gyi?kKg!^mWFxG{LywXl(2}u3?Xi zvjyAibfc}@T@sw_E)V55#opEuXRJIH8#nJ}>fdd|y;W`1UoZ8ujh_3Hp56BSEwS4N z4C7sUzV)1Q&S|G(tYUYL_gT&zV63gKywe*O8Ew_pSf80WG}gbPy*uj;o@uo8;{RYlNvPv1v9}qFm9=D!b-?8s9P7>aPML4?%u0H3+tQXP+wXRa^#;y4 zwZ7XLtIVZ8_R^hK7~%8IF+YM&A7f5n%;OpJ8|WqaUh5e1BHEqDn8p5P?8JF%t#QxC zK9O-3GVa6ze<+J_x5gVQPsApLHFhNpjyoOSsyRl_rb)ltw(IG{?Q#tUTthmia$d$L z>%bLj6v;fC!6f%u#9n*a((m38@axZryDEFxW=*uif0);GsYWFmn1Ct zVB9RDXkF6bZ4aj#Q%}WSvh!**sG)Bue|Ox_x(-?P0f+59Y%+!qScmqSew8sE1vle) z&sy(tY@fdlyK@cHpv^`!lC`j@pgQ!zOk?E>==65%;QfpK1D6umU* z`E3v4+aG)3&R6hnFYtyszM8r{*42D#X_Ap>_wfpQ!iCI7#_vruie$_)$z`mkhmG|T z#(K%l%NWzC!LeR4I9Ay|(COX83yq>*pzRf`flSuGTd^rSCl*u%Z{%9u$XHKs&2v+Y zo^MPzyzQBB#=9G*8bvc=liqTZFJQd87^~zR)R}BF|7wXV@1a+@2anD)rXC|d!CtW} zdD?d0oDck24 z%n41JG>y8|p+iRA4~td|o&Ujtl*vCpNhz_8!7q%{|1qo`W&Q*70{w z+ddG7{^K3`qvJ&MOf;GwO1yH~_IUKXdy?^PEPG=D{rY1P5*Ko>-Q-G0+{K)(ET|2= z;F_{=VL?`iJ%r<$P{$HuYC8MKJ1%46l?4k!n>jY^-r@EK&Ewk8-``_Qoyl4=4A;i= zf-6H$B(nxjef6OP>@$q`x4dTtir$IKdr0or4(9CTIxd?OpV*03bE$WEL3!xs#`ukM z3ucDii8uajCiWH(f7if35o_XBdwp%3ZLC~aFh3}JbP{v>#!_QtR>8c`eLQ~_c#XF1 zg4rSeEMsLZ^T8fm$eMcaKB;qMa0+@E+zV5ZrX;4f8EsSCvxDgcYeV-uZmdkF?{w%VW`*Y$qczOK_%`?}7Icz()re=H0ujrM#! z`iY_E>mPZ(rt)09gt1@3bM=h*yi4P`nzplz`>y5kywls*%krn^@3}vw`PO@z;-}w- zPW_x0pW{61^J3%naQ$z+zQJhwnfp^g$@|>vgEvrThHHFP4EODgvH5%4*b@uZ2ft1` zYp<9veR-MDwzl9?!5e4f?^({dD$e=ijj4~IUF#JWO}}Zj=GD8yDcSoV|cH<#_q>tYD$lZZ*f~H>{^jm|ikmF4S3xkEU zx0&Oger3Y2xjoI?3h|Y5GL{Z}Z^Cz%9AobwzxisT?Ztxh;LX^3`a&HVbA3 z4Rl#TIUQXjpN%d{@Xa9S*+oh{|^;8Ofoi_I99xQu=} zMcet|>+nEo{PgRWuMXyy8Es#~C!acBbFT^JQ)dIm<1dr*mz(}KQ1`#Ey-uAQE|l`> z;Pup#Yji#J`rH-4>#6q(j_1ydpYFzIe8Jq{4fJ(Ab;ZwY&-7hm))il=`wMraS@$`P zZ z3_sDiMf_6mxzK2P!d(_zir;-nG1K!ozMp%28OL%B<=Vy3_s>#dri)hl-E+)yQvNyT zOgnQHyY#gT`}eWGPJg1yG51{S`k+5^c5{9_b9j+Cx0ewEN7x(edtdTV?|RGp|3UJE{5`M5#?SK^#y_n|&fl{pA#P74whGQqEGQ3N zAA13Hlxi=c~#4+=1YlS>gSwl=q#=am*Y0#DYL@BWt2yPU7^6 ztK_&cSV8?n?3J#GiEAkr6yyXe@tu!tE%U6RycXM=T(>IDS7UEA*K3lwUY+kUTL%Un zEm;`1XAWVK=KOvmKG8>6^pHJ$^{uj} z=L97eO;%Iy7m`y??)@3A302n-7gS&uZ7OC-zBX8azi49b^;Oq}HCVeae@_)-_17D1 zt(@PuAZ9wxQSRlcpr1Not8yhJ%JZR$K14UE>lgctewb$-i-uJfh?dns@vGt3&#~<1 ze*8DfG3{7o!%|~q0&9B$Yg^t`B{sf-*mxHEsJy4V0?*LzD)x&H8uoRK z>~pmJLB0>f)7}%@D;=r%dq&nd+xUjnPe1qivw5$IxHmB#j}c$>IAa{g`dq_4@j7dq z?-(f+M*bdIZ|?L7)5ZP<&$SBj3G6wQvY)WejGW78^FK-qJDGiB5*qvfJzrR2tR#lz zoql0(*HokJsN@{?v$l3!!X9BvF~{R#JddIM68FO31&pWD6@FI7CC5(}`!e>myREUy zz4bk8Kf`xCzTcz0KF)uQ@vliAKfQ}{)jXyRy9N&FV%XgE{0ek&) z=Ch6%ZyIYQfqA{jT1jJW8+eY!6kHShI?qFoF`=pqT|bDOxU-Tmwen2b#CQs`Cr#f} zCVTfa!A(4`b`e8u;`#Ix`G9M3Rf$#Sdg`PzuYK!h+;;D6qQf=8S7KfBc(3@U`#3J) zxP|-y_d0VQ`l%I5N`LlRE&6ES(fet;17EqmU!%X*DNFta^}fb9-jtkUi65?YO{}_? z_40M<%r96M{5tk5$?;nt`D~+YA$x?(;~SrvG=1~(wV{m*B%dEDTw+XZUG5K7oB4uZ z;Y{;5RBh%9Lans5nKqth58q7rdFKB+?)S~~)r);Iee5HDkUk{Vd+;{dpE<_91Ix=oa{W7#$4`G?c}B>WXH30+ zxi9#Dna>UKe3s+T17owlB zV_B0iti|i(nN0kVPb_deHh$*@^vLHvpW%u#?<@1&g8TPp*yUci!Me}KUp8U-4aB@| z&W$gaZRSQn*|2+MwEJVs`A56IB%lBO64m^<4iV>XU5CHO{G+}8f5!af`M@_r?s?bF zY-03Cdz-A`(XQX0TmM|2pO-Vnb9sKs9y->X?0YlP{Qlhfv-$Rsz`Z3gfy4s|JiqLi zz&S2k+Xd{iKe)`e?e{LDXNr-xr}V_8Td#YnyMDkGQ{|0 z!uVf{ow9Rja^4=9-^gpscUtorALAP5bB$kR53WCReseN4pilPnJ0H{q`orkkJ>P476@8q~H9z0}=ALJN@_kRV3$Ye{!F9QrYa-ve z|HwKRxvuSXVBhPn#>VYTHTz9d%x5in`0jQOYd(&(_!?{Resj%F-noGO=5XIX!QS@7S@yO+SJ!Rlsq3HH?~eba ze!ug-)NjZCQooO#XTRt2EPj$cqTN5wrQOHRq1|)Ym%n`u?Vihczxx+z_gm-C?z!mj z@Hw|1ZKZ!Mo@oNj!7;8Ev3Y{y<_tM{eztk)EwUIOE+ zWSj+zQ@#nxI1?G?3C8JXoDW2(ceZh^AhsH9eiP}hivE_%e(p*%`GQ0&I6}R%jq|e+>dhOmPk4#@7MT0QWjkNs-T0|V#_6Z-%L_d<)i^x`d%x@2UypV@ z=hKd#`>K%p>TZ71l6Ds2|4!^>JKv$57inh~?Yu}k^1hsBjNZ-y+Nq(Pn`!46zMV=t z8Th|OJMz8#{v_k{6SQ-GvT<7C)8+{6oXdFRovS25J6VjUn(^Gkc)shJWRB-b{Esr8 zGRAY1c|Fc}jxw+FY3CU2w9w8m+Uca7W3)5cyqw=ew5$rK0;+&2pbDr0s(>n>3aA3A zfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n> z3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0 zs(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2 zpbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe z0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~h zDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2@RwI0#p=TKrCW`- z#!tAClV+Hf4E{}n{(+AMB+0RvmP}6mcFcEN%O+iB9*R95LY7~)Y2}|${QQ`c4YRp{ z;*a|+X^%6E#n`uk+x8o8IS#eAWJlbRZ;jg)zvR(`_VG);Iq{JROCCc&pecNv+z4<`Srzw-5m2=^3AwMVwXHTZfiWJ zq}^5ccT5hqyUKER`frQd5i5Qz_#L+V#?r4_`j5iz5Pk_$!u>XVykFBI{hqCRdKTexeCpZzZ^AF{g0Nq6g#Klmo%pp|eq+t& z0DdQMjCd!ZNl-~b#1iKCA| zKOBP-a1ufwv9m!OnE*+U3~3;-awg=$V#o)Hhl`;ED!>l`XatFYn_&aA!WL+U9UyUU z7j#1p1Ys}q!9h3#$KW`egj0}!rb&Uj+*l5N z2tXq=K{H6KDDR1#&;=3`?uNb43;W>!NDO!aPC*=TPXZ)EDo8w+1=)}bdEkZ>PzA2aOR@eetVFz?TCv-tK?1ml)!d~cwJ~#je;Sd~w6L1nvK?qV3 z7&Ax=lnxn?1v!uh^{Ko{(WAoRk1H~up5G~7vx#r2M6IW^uuwGXZtBQ0|w8%1V{pTmZw5GWI!g!b2|_6!3`^*7*>Hi zt1F-m0?-Ie&&9DJlVJo!54(Nn#*bPDGh5c{<4#HtL0{w6j zPC*FHK-^?Bf)q%FbjXA($bno~4Ef-O6;K4lPy!WD2LWh;X4n8*pdC7(3wA>gdSO5G z!9h3#hoK*i!3j78AvgnZQy3p4Lkgrp24q1FEQWk2gd$i4<=}?^G(j_LfL7QF?a%?8 z&<(qx2ZFE{4!}V;1jm36tVSB7Lk46*KDeO}ilGD=p#@r@1A?$04nRMI;0(k~<@!T1 zq(B;^LndTFHsnAqk|70BAq~(jXl&APaI}G2}rptb%f=fI0|36EwpHXoW4X z722T#x?nd1p%;!oKOBb>5P~xhcM;=(WJrNjNP~39fGo&?#gGTZunNkd0_q?DP0$P* zpcS^jR%nL~=z`r4gkI=}V{ihDi|G$CAPe$f6_h|ZR6q-CfL3US4hTXo^g{^bB`O_q zVKL-`8&*Iu$lKjU;_vWV-oU_S$`Z%h$KRs-U3dci!D0VDl%Iv4!>>T%``?0H?>{NO z4F3ghz`O7s3_t?0xA z?PbcZTF38@&xiM{W9j>}RsPUn6Z-_-3nZUnmJ`GDj>PfoM zQC?w{S6O*Ec^x!BrDdxozZ1R;UxoWX+W7|gCio`Ed(S_B*q^rYe4xF~mCG)-@_1)w*!3rp`Y+|pc{AFl{d*FW901v}f_%?LF6YxFQ2|oa-EAKS> z;5qmY%l0z)NAxZ4F29Gj;Sca0#1QlUi9CUP3QU8GVJ1j>^T-##)z-1tKIzp{>hXXUSx zzX5Mr#~)dFJns-wLEdGigS^LF0a>sBq_4jw&jGh}Y~QD=I4-o-W0iHTo_sxg74C-z zLE3nTd^^m*|1t8%;Rhh+c9Z`Yegga8c@XH0+4&|YHt3t=XRubcc<_##w73v7gMfyCs`!AtN8h`+?%iNwAa!7TU; z6vF4A4897R;30S%B#zz%`{6l|HYEKU<>T;*mA^wCf_UQKN$?5Cg6rTja0~n`c)<@6 zPd@^ipcno?-RH=k2WkH(`Ehs;4C2>BkeK>1m<{tl{3I=+yacX?6;KLafIC3q>HA>| z{0RO9egRVNKgnN(H{cI&8a{$VV%7^_8cc^5uw|0ZhpS;JNc~&MzX+@04tNx{!}s86 z5TBosAApxY;$pE$T>K{(Ps}+PE{0EloV$YjD)Ga|6=;SB;9=MX--gHG zDfnmj5%YP8T;kc6;SV6Otc+LEN0cWMM_ve*!4vd zPWVTVnDhwT0I$Ova1rsO_%9;Qh0nq=%O-Y-PyKKQd>J;vKY^V4F}cL02jOLS9sU3k zpJrHbsQ5{Yx)fHz?cfEm-$A|}?iZ-Hh5TF40pEvT!1Hhjeh;TW>P@+XB>~4dzKr}z z$bn4w4BP@m;D#?kDb&K9upaJ)2jD^23frL*cEZ!}3><)ehc`j`e2x4)h`*E=5I&-O zA^9Ab2cLkeAs=o8sUvA62M=l3PtcaD1kb-8(Lr!JPg~wZs+eQ2jOWe?<4;M{1nc>03@Vw3E^_cf@|Qf;X1I} zDWF^epSSWl@@=pdI^p}U8+zeII0XL*N8wGd+j*CA0)JlS0?AY1I=BD|;T9-{3b+fJ z;C|Q$4}smzBb0YIjyouS&vD#Mc`xjPU&3$TO*jd58>bxQkfZz&niy9~Ht1=!HIzcdH6wpgNG>Jvu;s=aBfm5Q?A? z+Ck!P`OQIoZ`cp=`-1$AkU$J8arF+6@A-Xj5aj!PKS=C*66AZmL5wKzZZf2T8w#Na z+kOyv90mV=P6;KC_&;nav2XukNk-MQ68G3y>I~f;RKw4IO36HD2ED=@0qQz6?VX0 zkhts+gdmPMDG5>_4YD8y7DGPBcS-psDc>XITcmu4ly8vD&QbE2e`k@Y5K)xOBfKKR!Ae;h;sgj6o$A9PDLbMe}8RRIYXj`-W3|IKS@UgQ&XW90SklU_j%~4v^HZ?z& ze>|SMybaZ!GOyq7DGSurH+UKX-ui&YQ|_%P_xUSpYdpT1K>hk^Z@^RSEgP~{)>HOS&fh0#?X)|%bEL7tq~_YeqYVdNym6cR2z9l>N)jo zSlON)RNe z+E-m$zn-wnOzBq6mTRVuEilV&*ww=ePOP$ehpG)pYc4=>kUj{P%w#P{Da)96doa^b zt)Z)Bt}Hn#;Su4nnMOJ~*Mc|@Vi>Y5OB(VWTwh`)GB9{@nQ6$yycNVoKq;HLnH;AF zm!q5@7?20KnTC91DTs;ib(FJm>Ex^kC>yRM=f!udCppElY%I5OZ@?=8iugPV%;fRZ zb1zm_`#fv>wWVG^n?cw~F2ERF+9MO)KCbg9D+@olo^wFbD6<&7lE}*Yo0*1WbKGcy zms}!L-Zn<}9C^(ptQu<}nK!mHC70~utq!d?(^2koah4@A=3ob#CEPK16*AMP(;C*U z+$#2HoyrZ~%Jwpn%Q~i`ecgDR8<(5C55E?JEslOQWJSnAmc&3BYCRP^Jp4XcR)XA0 zl4OtpFV7SC8#!}vi{O$x_ChQ5Hkj4q-jUl&lE+iw^VWInQ?l%b>V-F-!IQF@hK3UG zmim2z=j84mH4T4i%1vjbY`ZW@Zf{@CQ+7l4UMSO)WH%|Z8ky`mwmlp+nPHS|8q959 zXyTXTXUXl|%)TqzYORzcD1UvgWUL6bcxqghUqn&lsvlAQ)UY(u2nSt&a%TrEikE@?!b z{juZW-N=!BExsX>aik2&u2mA`N+C3pw-*YV9A0@G%j$9U*k0MQ!d~*XpLS}dU^bD& z?P(S&EU%{=Uj5?5!giJ8RmXv=!}2=pSkifvPf^Qt$ZqSf<@JL7jG}5Dm+X)hyglFw(R*GbDu{${~W{dk#!&gJRSh}D(JrO2g_CQHsrCCsFUvP(Xf zneHW)SAk$?swxlK*4ymZSeeQtR4PddEv@LDBJwA)_Ame+d@uMWHr z$Z(ysy|!3h?>oHuZ7(;sjybMA%j-`Luk=*jLZz(^+e;o!xmY+cEXmS!f#lT^?vpg80Z@_%o0_ zQuf2cAUBEZy(d5>B<)UMfYOfiH;b~^S`{yak^I!JeyC};Xq}|O{S=xPq zG8fT|)t;j)ZOY<5YL%sq{Cz!Ane!quQ!WNKB~BU5R#|lFv&y1VGD3-u=u~W#MW+s{ z%$F%~b0(4Qe3A@fWRl^GmPYd(%{H>`Xg;IaBK146y@m46+v#olk*sW0j0ToAF#9xqAuc}cOhT^1hcP&hO4I4}OPk4uuh zT+&y_#cnPIr8? zy`_Wfxsqhxl~icyAiJz2yPdg~4zjOGYBvAn_h@^*)-%EO@37`8d#9vk^Iv`+vF0ng zr6k+`Qp+y;qa=I2pR;r@Z#;+nc5A+Qa&wVZg)`$CYrY+pJ;Sog-@usqjIh69%}aJR zNsGgo`S2 z$U5!WmR%mJl58ESt@-Aqo903L9oBr?N7$EJ^F2AjKF6A`JRT+4?GIS zM52;%!X1Nj>K(FfBD~ON&6D1IqjENc8SfL_P@1sI6lJuur*(aznuP$TJx2N%W1#E znyzF;JqfGO5aap~trYyjx_uD`9MPtzDt*`g4 z_n<;pjX@2DIoS%0?KRl`qNq9;<`ubzVQzz6B(irm96x4|wJMb*VHugF~ta~tg9s%TVlIz{fl z={3~8(;8VNr`H%gINb)jSmd-u>|&T#Ki(y`oyBOv+*hRKuY7r;lbc)=8(`&H(tDM$|9Srk|+`}-p!7dg>)x|Kc z$X$q=u`u9k3>XU~6q4U57ZMWIH8_s>(Z9ahTj#J;)~v2I7S?!imRiQb`daxl$~qWq zs5DUNsN}0zBT?o;UxjBi0T-o)iiSWvzbjF)^Yzto{6CTYjz+>U@$lC2ti!i>|8OSp zb*2>@j8=bseAsKG|7gcz<27MKvOVqGK0W-n7PDA*y%~|h7WtbwXBu8R{JnFu`c3kG z5<)s;eUGr)7+Ig!o>BW>ae27@QgLvkk@c5yZnXX%UKp-#exGq7xJpksydsKpHyIkq(PSae>}m#tIjy;ppN4Lj)EJC8zL%-j=K<7T&{p9dB0CBo$4kD?aX}cKQD*Rms9nt z=d5+=)Tv)rr!OvwoYcYZf6nIwzi+tD@9ucwc~{swIyS=E9O3Kg%kug5Dj3{vcC z_F><=XrmVcY zqH2bfQFJyft&37UtM{@URc&krRji&Coi;NzZC0$dgY5gI9-JGiomyRI)u=8>5vwYj zS{aL$RaTVMMa!znD(BZ#SPFl@$-_~QL&fw8C;z>ZkJU_@W@VaaM_sh0!Zz*iDCbc4 zv})=}qsyaC$J$ll6kEY5XnJLJSzOuqf1P}ws;r7L!TG7+d{mrY7O$wTvWj(2myb#TIjP`kbn1(X#S$=G4XOqIES^7wntdl5^(Fu8GEV-tAiS zPCh&{R#p=&n>H<0rwn4#;N6LVF{1AFE$BKmYTO z&4j{Eu;>3hJ+P+-_VmD>9@x_ZdwO6`5A5lI|4)11w6O6>#GIH}V(wd9_+j8uJ&K2o zFD5?~uotzd$F-;q8#}|s*3EkO@k*^8Ow|vSsQ!!Wh%q$3*l3OzJ0nK(<{wztI-7d( z2pdnbr#y$T%8r;r^TYK|XYZ1?3h?G%|Kxb9&bN|Vc+nRNt(+$1kB=DT`Da9o%KRx2 zBc4AqVl2q737O-jlo)G*^`8xh7?J#N$e1`KOr65!AQ+mzxt^A-XeQKe>lj#Kw{3%t zM9c;G;idp(6s!vyuZ4}b6KR%_rr21$T#M_3@kYz|%yK;eB#aFhNm*<>oiNp6s^8`h zG^|Bf@Vsje8*4T{EVX*U92X9oT|(x{k!GnsYsF4g@5jtQ{Vvt3;qjr^cr{r6LFb}| z=Ub`&I0Pq=NoJ9`ZmgNJ&#KQl2Ce3fY|J=t#m{71T=-<*id{19LAvk_#q~cn2O9J^ zvmAU)9r>?#>yP1vb*&WjF;8vDU2-Yj3ahE>l!JP!rM;WiaM14O(cu!)7c$q5HY3?~ zV}teETWjrNN+>a22-bf@Yd5x1g)#)A%y@RD`9rZeXh3jPQ^zN0Vso%DqtI$>xbWFl z8hZrE!Z(ELcka^I@YbEJH+CytmE==>BSTn?T|&<>$lq_;s77lvcpCjWBD>KOY4m~S zmLjwC7`M%>p5ZGfC}O->zp1k|3>unSY4$m2f@bKLOmk(inbk4KNq$7l4*AzQtzOki zs|S%vt=`^BtGC%^9~(#CJPx^0Yxi_K#~=7y2xf`hY8GAA9J88n|_ z!0+|QHfrbJwrX=nD$wvlV9A^0NnZyW$7FJ?lxR|jT~Vvchbj2FVjTiy%#B&wRYkU8W|3jGsJaK`3yqs`LHECy&M7t-_N z%&g4d3bkPrSCQ3<5?y`WDW-Vqc4oSe`HCwZV-BKCD@A#;ONw9Hz zW}?vfSQ^7LnwG1bCB{~FFl}p^$w0CjXAiG!O{ZgNtxdIfGK!67>?_gJrn9hzja6Zj z3NY0Dfks`|5pz<0X48BwY`lkL?Rtpdnt`1z1bf`Or%5H2jh7vnrrrZq1~s?}(;jR6FA{N?8~7ud!^w#?sd^RS~zE{x42yEZ>wlCa^5$ zkcj`sVk3v9t@4LC1=;maW=0BMrNaYDSrj67^P0TB4Eb?3D zuB32nURuAQn z7wMQq4p}|u{*18kM!5ddpMv!(^TLHM2O6%{8Lt1ZqjjGcpgJ^Wybx-PJjYD2_GEGh zn%{&;f3lVS$z~FAd9TWpzTqtr7i_d!cpmrsW0z}Iv6dd(vwEz~V2<|rp4fsh(iu~I~8aaD~)xUHua}OI# zJyslQ9FZ9^Lfu&BWDO54-(cx~q>=kGOuCU*PB-sN`54nq*svBxs%^-)cuJTu$45-9 zxfo$nA`G~hs(DR#(bEg5rL&F;{7Os8#&wSK!mQ$_t3j9ad9E#4@Vp{gmMj}~tO z%+XWA##8m5=Y@@od?PxgSgXh%BCHpGCd*>;^l-#Hez`v92?my3*OL#69@Pg%j;1f! z2aQX8m`WP^^$M;I^|C&V;+EShx5&Ij`l76IIN46QHJc&0!2h&;wcvo>b2lIm4tMmlHCdOpklO2pqBI&xfQkrC;Y z6Ev?>N~TNlE6Vjh7c{dv2hF0MK|`^1ut-Nj{#9fj$SC62C?nE21N~_^-o{MQ{BNE{ z%1{pmR;X7_ky+Anv=ItqQMUF@V=vMpTg}wvjXK^dn<=(ePT|f#{btKzl_*>8tmZ7% zL@XLQb5D-+$__Q=Qs+s%vL07=(yW}Kj<@uo@}tbGURJ?oX%FsWTU6idkpD@Vz{tK% z633b)D=MoMqm^^9@eT5l>>~ejqm0td9JtihTjngxmdt7i%}4(&`qR+As+Q5tD{Z}H zM*k`|RW+Elsyg)2oa~_gTQ!`c<-M|-_Oixtd9U22{g~4dV0ePn}%Os0P|M^3ap zn+Td#b?KnVnIZoM?47Oi{HR7`&`*g?$J6+*nUNnfPO`2}?ryrMH2>@B?4zr50FPK) zaV<}Jq$YT;PdyLbfsM;AVpxH?6+hK0LrWTeGm6~K&{Ag;)3z_Hf zT(~t@|MdXPWf7jZO3c1v8Yd0&F;s{33mVsEQNdBGL&N&0O4`V`Hq6Md{GfTQMoHnT zf%<-`s(GzW+M^l}fn{Uz{cE@m_RAXOFCEq=_=wKWXg|rDR&suQ`RU7%?+9jR-vl`^_k>3$}An0S7bKit7LT>CFcgM zE3Fg#+n^drlRIl&PSC%W3u+iwO{7!SXn$l_p4y}8>TzjUj(GvI+=5|QnkjC^XpUk( z(kb%^yG0k|FjtHs1Ll)P)sP0OSgzh-xka;9I#>RFnKI-s4N#>2RVK1wS>~yvDcz5= zR@#+kyiwUmI%R~+F}$*tC{4!TP4`kw$5^%#lW< zTLzDU-7?KfR93L?slZ}g{3BV-*o7T$CH=jMvhG9v*Ty#H9IVI3tWe=wscNOMX4jLg zyt77{%Yni8Ru~-M~CG=Dlv~6)0jJi zvps~xgmu% zf3z`aNRAvE4a$TobV!a4xif~n9tfL`VB?@JB}VR$qQ*&kbMeU#?~={rYgu?4 zvMrg?jP_R!$!gM~S6OCjreML6shu42RPFT8HLh}WcMou6K_DyCIFaU+2D0?*#yHa> zbbxzjQDe?=<5)?A8Yhq{rw27SE_<|*(~BjRTkdgIx%R4a1_Mfq#ogZ5QpaOk<6T!u zJL6rGXjM3GJ|dCj&;BLz|8!Cn8UM=s&y6Fg5vldx z-EqCH7P1y_ay0H6WCh1m)xn(^m7TRPS;B+-K(uCH(e`Q8wXs0MVeGLSVzv8Wi7}zi z=5?D`m{_;qq9yoTt@+KqN$Sb&7i4tTe=4J^cAJsTl)dt+lo#=}V&kPmYvsdeY3;Eo ztzAmqI6Lr)`U8vgsv8f%MhAPvpuAc>pZJBX-@!9{``u^{uY8slaTT<^L$UF4VDSX% z5HdTI7^}>avx|-OW{*Wb+9#^es`^Au)JG-8Sv)bX*?jExs{J=DwT~Dd8XY1gnX<}h zt@gHb5Lub~w)9Hs82AJE?ymCcu-)Zz=MTHj=U+W@%gOtfowcjX+kDcj(5nAbM%V8)qx4!v+8ctt&VfxYs(wA;Zm9{;ya=%MyR@>4;Ql)K=tiw{J zZRa{Ged&}`Y1;r<<0`Vt&4Ch7vX1NbKkHrp(k4rb0p5YU>-h~%wY3c&xlA( zcskeFX5J!+7$bXHTVWEOOu}&_eASaMWbT!ic~oY^981#Actql1hoo$sg}>oUl153& zYd@AhP%}|-nGy3O5;pN^d5IAwAzQ^H47XC|ZWB%*;dl~Gq(t5|O25R`64IzWVNVb2 z>47~xu%`$1^uV4T*wX`hdSFivr1XIG**`Y_`KS2&^RoTfS)DVl!Woy3O|Klh|4OqJ z+;4mPg59z&>2PXS>wPqiOBaF-j!qt9E3~4k!BXhC)-LyP z`2!WK{3dqYD^j0Xbb05Z#=VNJ=u~uNhV)OvpY;YE;aXnyvVyBGPS&fw-$T!LZT$*c z?d0FmF6Em`Kiuc&#_=AB72I}(cg;6~e(ig9zEd4}OZyr#imvQv^;aBSPraB&=$oo@ z_EpcD(B-9}(+ib-9Nm<5^7{ha6i0V$8#=W+hqi8TbYGIj3hne~2>taR+U=R*$P?{$ z_SGJJk9w`6i?*X%iZ1h`-RJihx)F}9z5G5#H!qF+vKTw}IlA`7@gQ`Mq@kOHZl$A} zn%drQ%XnCVF7so%z3p9R_n`Bop<9n`n^W%5spUHRIv+owYj$+SNxD%<*SB8r$#cqW zPZvQKOhXq(H`UQqrj{G7&nRlNuale5-I+#yPorDy=;rK_-{l!aSJ?S|fiCA0yPw0U zI%hwhIEN2a2c@AKimuerwbzbvbl0b$yBys+j;<=Tex81L5Z$4l+U;nsz3-r_c69pq z&mq5EeVx>9uce159XUVaPEos)*{c69fpp?eYC500+Aar!;F z9-Hm@wWrJF>p;gjy7tCP2;CWJn^MoGp}Pm&i)rZAqkAO{-B0M&rJ>93;`6_(3b+Pth5KMLd=1+` zZ$0b9{e9ura5(gXp%8)za3)NL`EU_j3QOT;xE=0+`$1nsdKO-Qmth@jgiWCJ@;9&z z_GS&)9eP1N41<&46etJ%A)s1V1iyu=;Rg5v{23mEM?q`WmGC^g4sXMI@Cj@MAAO{C z=ss`+90Mo91UMa{Fcs#)#c&C*T=M-6Zh}9K7=4IY7&@FKhlZ@@dS8NP%cpabio z&Y*YjdP9FW9!`XjFb2+oX>bnI!g+8J)I$SY2ET{Dz%qCkR>4c~CVT*2LMPTFUEv@& z432`qa6ANIG>n0<5QQ0VE?fwg!0+HXxCQQkWuW!Y$RBO7xsrd zI2;DUNiZJHfXOfwW|&b zf>+>E_#C#tcId$UuPf{e`kr?#^oBk#5RQivVKkfylVLj4!Xsk$RZt6a;e5CV^j@|JSHtyi8{7%^!rx&fJOwYpde{IP;h(Sxw!n7qb8qPcdqX$q z0l$VkI2ulX6JZq0gma)0YTypI8yQ6J|9~gq1y~Dj!H2L3 zz5v}%c7VRL(-HQ9UqLqHzyWY5^o66K5Qak#ieMa+!bF$^GhsH=z#O<3mcXTOIb07n z!>w=!EQ1H(VR#Ilfi>_Ftb;e<9ryq~g`Lom?=|cV-JvJ+f_*=~J{%7H zp#YAB6JR8afm7g2m;y1VfJ&%_IyfIL27Rf@gr#sZ+y-~TUtk$L1k2$Gcp9FEwcz8c z)1Bd05P&>590ouk42L2pfl@dVCPNg;p#rKQ4)ft6SPWOewQv*M0e^+R!E$&KR>RBi z8oUW_!+Y>4d=6j1H}C`O03R=LcY$uOKO78)!O<`fhQM$rf|Fq^On}qjZ1^uIgK01m zYG4jr1ed~9a0A>1cfYhSKtkJ2R?>P@GWeGpWvW<=tBrX7$Ptp^cPLf zfht%CSHbP@06YvUVLf~Zn_vrM@albM=mz`1evk{j;V2jggW&`i0Yy*@V_`g$!%V1# zI+zC+!eY1#u7(@o7Pu4s0{6m0@B};uFTq+^4{yOg;Um}rNAT)?0StyhD1lO#3}rAK zWg3x5ZF zFK{Eg58uO9*a`mqs4HZ_esB;R3ccY-7yyHz5Qf7D;Hz}LiSS=g1~I6FIdCB?h6XU< zN>~cl!_9CjJO~fNzffwO*co#l|PvCRd0{;u!VJGe;`6 z?OWguxZ7i2!S++|EUW{q#W#YTOLOzPY`+JaKz~~28~6^ILEm=$|LTFZ~~?4Qnd)Y-3a;&YvNz7xA;T+IGLk4vB|Idamw+}J^Np?tuMJMO}3s%2>pq}Py%}9nF6wV z!-3dp;R09)i$Kpn4R9G;19}#^8E%C;;7+&;{sQ-c@_UeYm9xFZiQRJEVE--0_8zgG z!#2a0@C|$m-$4hSPj(Pz61!;?2iV^)#nyv;J!82#{TZjD;24ih&spyABDN>MM32oq zb~ZLWZ)tyy=lJDpUkx|IAK^B*3;qhyK1#gY*?!iEUnO4WZ2!}Vn}|Piws$&lC!T%w zfnP&D^o4$K6e#Z#h~;w)JNudg4s_11e5}&Ua$-H3=?@591PyQ{==kr5|J&KVjrf1y zUT6P4;)h{5ta5C6W_#V)*7cz=t$g0Wrf0WrU@LUwSttu~pa=AVqhUCV20fR}gN2~< zw-D=jYZ)weY^$Ak9r0VBXDvNnWkOfj9}a@UU^o=P$#51-g9~6WTng8L%8`$7HM|J& z1AYMCz)#SLXO%4I566O@o5sRva2AxoIdCp0uN#Q}0QWfitBGHRH=X?-i1qx_h35+C z^NEjyLC*fE#Am>CXMYj#WpK5#{{XSRxvysyrT>z6E9}p+zyVMQLqW$Xi5J4va3lN~ zHo_;MKe*L_b$b?c2kFDadQO-OdOpxI!4lB(fR3*uUIY4rWZM6USnK`$LHomqBQVj~ z*BZVN&fy&0L%htfKTWK^=ueE87Xa795uYgOP_z%R-!8*|T^9T4DI2&!Og!H+sDGuPVBBXOW4<% zQtQbjuoUirzriE$4txqtpu7rL(;WxHp~zX^$v%ngN;nrT02BTWI`%N}O4tDJ!Kd&o z`1lJ<`5?_u;!!XG&US3)63>SQxC(B7Kf&|x60CwOr&)^d_w#kbmE5!_J*BocPH)*N5H{w420lh zP#T2^Y|n%;C!R-q8{7lSU@g1}@4zSUIeZIt>gML{Y-jVLLl;n-2PZ=*OoVxGF)V>b zxCU+nH~k;kegy7!;^&CJg`c1q@_2FSaOekv;RF~7Zu(-jr@)y`Ttj>#+zx+&=in7s z5AVW9@EN%2zhOI*KTYEY#XVspL|`1$zG?ZJzC&Z0~n4*C;6N2})DJXBeDbUkGl6Ke4aRH@=7C`P@P8+~~82 z58!Z~J1zr#Ua$cUV!bgN27^|#8`+6%mXR{2y@{iv=F^&*bBepJ_odLuUZQRPE@1YAGr zvuwM*)b(t8{i&`m)%Bsuf9my}>JPEVf9my}x_;9s*yTI*`b}M*=~dX}H}(2VU4Q9H z?DCnq{!;l$KZjHwsp}t=Uo_PxDqm=-AJppu_4+^M`;^~Peon7nGu5Z*^opowrI^iDc_|0lCDou{z$E1TJt};zDM~Ty*|gbe2x3C2GKg^5I7Q2eT}Y<(e*3N zLgV@t=d&&U;$o1G(FFM!mx6qaH-r3*cY^$l?ixrwM)?=zThzMeERfIeZji5VBgjYS z`UK?6{B82J$noeXb_00*WAcr;zA&vrQvF}@eYw6a`MFa4Tk>tWzAX8%QvFx* zUCCc1AJthPKa~7W@;k}TBp(xjA8qOEVK26YY-t5w=d`71<+qDSHB1h>T9S{qzvr`l zq{hv|jg`i`y}LZ@<8F#JWBONpZ1wan`7athudHsi^J8Q2>RNv1C|*_@k4DSOs`!yI zesC(v?OgyHWgXzTUOnSU zGVXHi$;!*(W$Hk6J~sj@M5DD_ixvEE+>FZVsr*=)E7A#Qr%1PE>Ng%HtkBY`Rz?;I zozLF3w6#{Wo=Dxw)0P!l3h-QLiBrxx*~ha(>&nz~&f=}zfn;6S%1Wnf*IZjhoF&wC zF0qD4yOm93%i_n!gN+qhZB|mgx>Vd@?>+yCOW7SpI<4&r-Sfsx+;_NDdh&=$us|L3^Tp{WXw5ervRx({Xy1W#kQR~M6 z-9sAoE$QsZC+Z&5Xlkj7{S$%iFg9w1?nW!IJAHW%xf!{0p_-}SW~o-C z1~-js$1!3BH+JocU9Ixhwwu2OxjQ$y9j;j2B%R7vtdXc~)kAuKKeUHb&PIrjhTE|iV1Q2(h(Zb&FxLtC*o z(SQs)S(YlUkP;8rWk0zX?YZaRw`z;q5SE{9`tlF=0RFgcam9EN1-&(4l9aY?;(iCFXwQ_J6tn}VfU@2LJj72Kfr6Q;1^mjlgGH9M-4+?%DOw8Y9wt}#n>#Bc02e&tc= zT>~qxGq_(^s?!|RweEe1tn@~KH42|aWsQl2j_MYVO79t1sz5JCb+@Cs%cIJp@1~Nc z{|r>tn0Uicedkf>{R1`Gf2*69Ki{tXR*y<=CRnN_SJlr^?eM7d&ce~kYha#J;zUQ~ zUY8uS0>i?ZOcZNQ>i{IS=CO{%eL#1H3{Z~UK=a-((8ZxN5s+QFvp}7#%WE#^=E()< zyApKTbwj%gq|sdX3}}wbf(@XHM04*Kpav=5E{rwhqw)@ATXxO2C$gDJt^2>` z-SgO18Zha0SQ_=yOlP|j+kbSnZT~5Tmf$U-#k%_~RU#LMV6*>wj{&|N^mpu1()oUfpHU*TC!iR_x? z72NLwcXaHU*A-USk#7X2Q+n%tM{Mr*d@rP}vTN>Em}*DX_XT9vY^~7Oj(l5*W!L*n(4guCZ}DR+Y~e#DP%kOYf+(4Y)95R70O4;2nE;vw9{`| zIC$-UaPrquK|!}tg^kWQ(c(bC%}0M#AAPSv_0$d0Yj1YirCXwco6le;|MT-Kv$fLHR=~;sjud;7Gk(^l z*q?Ip-;rY1?Nas8no>b4S%qOve`*z};M&i3`cvyhul-@C-?UQn+Vy#z^4HqXYcFu@ zS`B*bKRWHz`p;|EcO;dMR(xK&-e;0sYdo)A?|;dzRh`$a&;4ZAI?ijq#c8irZeF{- zdnCQqYF_&Rj$NxWuU)@xCcV~UUi&ppd$j`d+OKokt2LL`ey-DAt+KrKF;086uJYP@ zJMGm<%4>g_9o0vx1O=@E6z%}owPH|k?F-nJU8@I$6YR)$DzWTZNhrAbBiNQ*s|p3z zPIE20Ru~Gd-B(vJqpB=Er#4o1_Tb6KA8$FSiYQ2{h$L0pMI^}*MGQ=*m%O633-GF1^7mTX?j^6Pof5pVL=gpEYnw$R zsoE|gN!C(CI=xij5w%l*N0rEbpf_!sO-NF;T|$y9QA9ynMI@=(E+R>mC}M!8X>B&b zD{8v{uPTxMK(DpU0+Lj1myje&6j6{?5lO1Hi;&FMKOUPG_x0CONS{>pXGvI7=h^3D z|JvDQH6BYv)%0p#|Ee;?O6BWcTdmKdoSj5QQ{xq$M6s$FT4nZ+&5TZG!NpeH%({3j zpDeNE#`9-u|34A_i%je_adK`WoLzmd#v7#d2Kkd(ORw+ID5UCJ+n0^UgybMsrNRI^ zO8oEI9YZy7Yvub!*n-L|N9aVU<;(riTKdX}onXNM?WgClr`7bEV|KcIB=CgP@<(y3 zweq(+j*Hahr=~xyjr4tI+lBsy=RR*pP2ZP;t(6~9#}c}@pM2W8me$#{B9s49im>cw z=z)ze(`moF*5iQ3M=Ln)B40gw9UYrDTB!qsLmdC3y=T|e-BvswT1)>yqpiBejuQW; Hw*UVDn<*-B diff --git a/machine_interface/tests/data/test_wasmtime_aarch64_matmul b/machine_interface/tests/data/test_wasmtime_aarch64_matmul index fa824857ff997431923c8674a85cc596ad2b9f79..652c35e78a98c2a52c1afac89c4617b1aec95e02 100644 GIT binary patch literal 150296 zcmeI24|rTvng8$PPn$Mrn?is<0u3~U^sgxfEm~zlLrF-4QleI=JDDVtCe36LlSxgr zERhBX5}<)95xN>7Xov->R-L%rUsEh@SgLllyY{D50xephN?9vTq1gSrckWGZ!c01? zyN}Pa&wJq0bMAZJ^PY3Q_uO;N-1heC%9ba%T*HQyT*mhemwn;L_g|l2UdcVTS#lfG zj5NcTwD_t;`HL1`Xxa?J>us*8eP6-C) zI-g&zlPzOQlh0Redj$P0o`%Nih)0s;5oiqfW?E%`U1gQm@ApLhXbh|qd#ZJ_uEp!A z_SJY>{lN^&)YRNq>1zpktLi;1b)WTl{Ecg_l<}mU8^s~m><#+Xtd~2JtlM<~M&q+b zT3P97@>W;Z1=g5>JPnMr#Y6W@`O>XA&Av5sv9ZciRqLy&_cfa;o;UvHI$v{TV~g3N zmN6c_fVa}`^LYJr-WHEH;PtO>sWUxXGprbv2NCLO>a6%v$KGqIsxpI)j-$oXR2MOw zZ+W)TcvU0)WYEK1p>5zFy`IqW21P3jSY2Gks*$&*y646H8s`+f|0uyjjibSuWRslE9*SIwxBQ2 zLgSI{+w-9{@R_WNm9hlP4(8J<^Lg zV{g~`yiFc&Rh6$r0{E(e%|7N{ux`z$;;zfb)-Yq8rpo-WRq6s&&AtX-An4`wYHVn# z^PACmz|7;wT#m?V&#B2){aWU!zr|+`-+qzB*5qvs)|#WWg>R`_6JQnuTblz2Qq5yv zhWq`dkNrYM@iFgTY_%5UzUMP_!CFscy>GqgY4=MecxAB8v@v(B`bK-CF#Z~=OKdLw zn>3aA3AfGVI0r~;~hDxeCe0;+&2 zpbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe z0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~h zDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3A zfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n> z3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0 zs(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2 zpbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0{>?fc;|CFpL{3L=uU5Uhtm_>;gePQuT>dF z`8%K6)jyQz`OjIqCLVgU`Uf+N^0!-dK6$);=aYY_+WF+MTX#O0QQ;nZ;92A585PFh z@kC=_B=N$5mtZKt*qmgvpEE1T_;dyBzMYsf@PJ`tBpB^0ZJ%G@lRM7mE_@OlJ})OG z4*WsbEL{-VSFY3%(e#yMg? zoR~7N)-bk9f9kOp&o;V85;F(RFR2K9ymVdoN$StNE%BD$Cr+97@HAul$w|hya;6l% zwS1aUzI56z9=Y!u7d$F)cDjr=>~Vd9IIsWX1&=1W+E;!qZAPj+zLyiT2G+TZ%^xq# z2@~gy7bY3yU!82caWA>cX#d%>*BUb?cmHvas5P!(S85hw?Ft)p)s=yUUVhDcIjVFmY+0?H{33xeD`I>%(U~ev%1pKQp>0} zCnGznBP}_#sI)q~aaxiYBPH4Bo;xi&b(ZUb*DihgWO*Ui*QRBsUSnMFTH#wK%kR3@ zxY=ELdFc9O5iJk%eD1!?xVgCWiqJiGNIo~TkvUTGkkS3YlG&jfN^8RRK4#o}1N}>7 zOl4I@_q`>v!=1edQe+lCw6N^FHEp zn0~nvlLmR_E0?zz-Om+Y9g=*wczx)4>dbOYu1`4ED8C`GXs{T2YRUT0J;Yf%cS=?% zdafkupF3)5mbMKCn#H{N|D?`gC7Y*J)+>Xoyu5&}z;U_wG zh+hUi=NjEl6jz0o;kPj@A*+b%JBw$BuH#ysp*%ZTC!Whl$P%q~7tb;8N%=?IGwqC7 z?9$eC*uR1Ox3ni~)S=?bt>=UOj9K=8$&BHrjJbz(=1psTIT7RCmo*^j`_GtPW4}t` zy-&<_AFpD+>Tnx3`*Mu#$BJ`9zI3Deo06v#4Zf0?JkMts-(8blG`J=uX|N7kE%&FE zREOp!vo^w9*VK9Q=-*oI*At_jd;SdGO;>8F$CXz9B>P?(IyB_V`)T$*V)r*0xyV+jyQ){%7|5Ki#tP$@3WFcGmO^);1Yy z3uCSNw$WW#To9_9o-`=W$M=}LTLmHCgOR+3e7HCmT60-s{i`thVErf zl*~!Zs=ZRK>q52EPsLv6nwq+na!E-+s1D!x*w!-6ddh3Dy~=Z|=Y9kBE_1%7ne+8c zbIm=UHTV31&8+Pei;@PX(XYTAM)!}Y7if;;jpQ#;w}O7j+`Tr@O7%+*)QoUIB~5vPXxyN%>j zA7#-)*7TZ{vZfb=Bo|F;sQ0|&)RT9AmTOA=wUdqVTI`}t?PZd$4b|c=n%HZ7{k0Jd z)-Eaj@%XNTjS<3?} zWljb|Gm?y%6_jT%{vn=SMYGYJz}O41S5hv-{wVg!JB;ok>{X1*$FsQ${U1-8Wa{6? zdN9Ism1p~7_UZqqGzR~4%dY-Eb3TYQr|rEv*8HB$e0+=ZZ8meebD42-3Uhl3bNemk z(Oj4N_}s-t_hqc3BZ(K$?nMKf0XMH^y?ATfIV4v6AM(B?6YmM$mEO#v!HN1AZG9P2 zKj+Nr&rUSTW3El~$73YdKTaPfF+bO^PW+ZRp2C_^YZML2d@IhGk|p-vv#-^XPhrie zll6pkX8c&9_5Wa!Q9d1Qr=h`9==qaEbtyKU&reSKlQTK1 zpL>&OM{xObz17GX_;FyZ&tg2Sobk?MuB0%oSD7o>jIEP>G@<0G z&^_#j9%D+q{Pub)aq2)Fed=OQx{v;pPa>OS_Tr^!#crq@?k zb(T{nhjHy%KkJq|ZV?@>3cZx*n&)Nz*vNGS*B#_{6}Ot}(6iQAQrffUYWZJJK71#! zd-0X$dpGU|7`2X2w|nQQDXlegpND!wfAd9G*E=g;Gp%Ub(+V$C6cjCJHL z%FnV!985fS;I7iDusr|1^vPLwmF9+hZe!-1rM}QzW`22y{aLQVcbWO+;ahp9|Mc-) z{ckny>W_5>h&Deae7|^KW4>QW|1ncr)Y8zog^-jy>Rf4u8U`q{59 zagCqn5Oe(2bNF8wf4tBCZy3Mq4=8;HtT?zGGVkIQGj~`4lx|d}b$1~nO`EV}&9ofb$eSDvC#UWK6Bb7D|@@?*RzWq$$-ph#>47d$r@Gon|o|(qC zcP8U_>2qp1HJBO*`M9jd-8=nZzx5C;qr+JC}-S<80>A z*|xXzEZdXsaH3t9x$r#C-80z}cG5*txo9Xx}$ zXRaVN8G)v|6C%N}Z^)W5_Ta4PH8Yph$P=NZR; z6h8T|a~-zNNGa5-qh1O1iMZR9HZXp+FN@(dV8m<7mQJFD*dddpQW-c zyHd@5PNScHq@PdI&ziTQw|BbnZ92<(AK;vIHhLDFWxeGw>PH2xmS=L){mi0ayqu%M>hZSd8 zZ)J>nr+XjDW7IocKmXw@>s7?4ce;L7#;7-M+&baq{I<|sCoUfN3BN_3o@N|>dZRo1 z^i1RU4D2JWYyLCZ{FzT2Kkro;@73-69g@UZg#YV_7Z1EnoSzcs8RGnuIP&|{ZA6c= zkT?P2+(?|Ae5;f=x%j_A9QnR|XPR;R3F6$DZXB0$W_ye{XVM?}?NkvX&I0<=Kz}|$ zf4=IPX7=Yj_#dP{RrKc|<9eL_9AsQ)6Xy_dI*4n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3A zfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n> z3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0 zs(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2 zpbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe z0;+&2pbDr0s(>n>3aA3AfGVI0r~;~hDxeCe0;+&2pbDr0s(>n>3aA3AfGVI0r~;~h zDxeCe0;+&2@P9>t3~L~+&#p9*+AeXWr_C}gx%`<8BPaiQQj%Posc?GwKP7y{b=|a! z&C3G*EP}A*wB7=Fd6k^W^y88>=9GU?Ie!iQ46XzH1Z&yr~o z|B2c!!*7%2*B+yN>1PnX!*Rshf}eYOq}_?)?Z&Ui@|&oCNANpp`Azg(GMHm2Gfw~f zmg1LV`Asw*s_|Q8`N{ar6y^DK;nx(0-*)^uEx)A`#5;iB7Rzt^`&DSYztW$iB<7Cg z*EB93euWPwec7DX3-HTGkLWT{ymI`C;_%ymU(oU!|J~DI^*zLjon-6FlE7_^pb=Z#RCmarhmXp=NpIL0{p^p_?6?Aa(-kUO!Ry=;FlSPUmt#X zaro`QZ%G_}$M7qT!!LU(^Dhp+BK&IO@blx>7Kh(v{5s?C+kszC9DaxJ>yN`PEtUCa z`4vy_UKZfDKMudu_=V%}>%cGbg2;TCsNJpjEs4W#AAYM&<0r%WD(4|dnUDi+s0BaB zzSs^O&748m{%475ms6p%A< z4&=cC$cF-00!zUSMNkZK=3N2huo^0$8vM`%a@K8!4(Nm~*aVwF&bPhL2mP=WwnGT^ zz+Tt~`{5`Y1A{YN9uzwKnHY!oFlhDFKmTvAZNxQ*bT$52lj!S5l7%K9D!pH zh7%y?!W2k{49J9R$b~$}hXPm%ZYYK_SOKeGHB>+?_#p^#=Ieki*aE%K58EIFLof_` zVLyz(AvgkZZaV=+~$a$;@+MpdeVH3#t zYYX&3KWv5Vumg6(9@q=};Q$?_6hSe_S*Zf5 zp%$8;4K{$Bk2+x!Y=$1#0=>`&{UB$fZ4iPTup5S956F3FKa9X3I1ESO7@Poub3qEE zK?Y<(4&=cCD1arf6jne5Y=Cy?gf7?&a$f0$e%K1zU_0!9A&_&*FzkW7upbV<2ponZ za16q50*n;?hcrkBIhSNY4&*^TxS;~%j8O}I*Z}R&0dl6;3|pWV`e7@`86pHbU^nc6 zy|5of;1C>vqY#D@V6bndLk46*Hspew3kqNfxS<%zK+XZHU^P@jEi^$8+MpdeVH0eI zEzk@7unj^m1jDcw_QMDqg2QkWjzJg<_P8WSgAB+7*}rpP0pvpgECt!G%b*-qLp8|W z9E1(f0bQ^ewm>iR!&cZ1AsB+)um|?SKG+Wj;0PRrW01sNlmkn_4Mk84)ldt5XoGg> zfj*FZZV2|nAvgj?8e@WN$b~$}hXPm%ZYYK_SOMj*3M!x$nxGBZp$E1=AN0dE2*D8S zhCQ$s_QL@ffkSW@jzSntK+-hkC!|9LWI_()K|Z*l7W~izLFj}o*bF_e1$v!7_QHM`ffHcNq(6`bnUD>+kO%ot083yg zxS8i=zvbx1e;+C^g=&ug>A4MLNElwuow2j2pH!upCJu$zzs!E1{JUY z+MxqFp%40DD}-PO_QMDm=Q1A10XM9I)ldz!&;)HDC*F0OGa@J7lPAAG`9b(1d<`Cj z0kH4OIp*6SXPSR@*q@{PWB3>N4~P9l%D;eD9Jbf2vYd77xNk|>y8aWnoO`B%+@Egc zQkFB2Q?K+ZlNv}{dQ{wVoZ;W6v_+gAR9mH(Xl7w}6s2!}z=Hm`%kp33>*T#)h{ z^0_b%-V5)CC9o7e1mbfY`AVz&3Gy1NypDXMRhDy&_&#XmUnYOtDu3O|pCXqtj`-~) zf59sM+{#50x%Z!3%bDk8kTZ|iB)u+WNa8#(70!oQa0SeRE8$v5hnwM(;DdYNA@~YN zoNtp4!n5#W_$7$_2>Bb3#kn8{=0ZMP4MngDJ_Xg#0PEoM@I`n8z6JyE3`o3xCI5H$ zCAVPfoI@3kl+3L;Med9$XQ@2 z%zzx23k%>%SO#Tq6Wj{Y-`mL_vdVqrPr*OKA0Z4$?7zQ8`&s0dgZ%!Ldbg7Mpb0j> z!|)Z5{rl(eYd8$YK>TO0XI=tx;VM`G9#{+Opc{JO3HToDglFLw@N1A5l4LJ_8;)6d z0()U9WI_%shHK!XumUQf4rKqm9Ug`!LH6CBLo)mtWPg?TZ<4Z@EMRj?H-W*>>>Cvd>x(w*~`8MyFm7^=VgrKufu;qGJ8-eNPi{GqcCMsc z0@qsk3i6La1$+U-Z!`JB@D2Dr{0Lrv*Wr_J98SR8jEH{`c`4ist1O$uX{3BRbin=a z6&MD&_iyAshlB86a2%4)<9WgRL3||LMEPS-4FL#(*gMF(phuwYzxDh@IcAV9eTflGS8_A!7+u-}~1Nb5Q9A1Xs!BKb<-T^yK z(nYif8CE`@{G%`jJWvVs@HzMbJODlL6?g*dI8Rc3#&P`}%7c#Uos@qH``|b5D!c=U zS*K!5c9c^c<(ZW8;8H7}Z`~{5n_mu7^8n;imT!;pJyE_H%6CHfM(F%Ln8dfY0&s(T z_mgjX8$iD6$v3?oknef&EpHphcRc%>U6`_bqw5Fx{4bTBy&;whb54J%FhF}=>!G0KlBXA5(fSeEI444VIkPl0t2r9r2 zL1=>x=z<=Q?_KtHuI-eEU^naq`Mz}k+>(=d>Ki zgM27}A}EFxPyzDI$PXK!1G=CGK^wF~Cv1Wqkh9@7*a5?^2lm1U$Qf}J$hVwckTc*2$hVsXoYV55 z2;}?BYN!T3w82)`4m&`;!R!P1?s5bS&S7bg4Y`mH9U$LP%_qyx zV1qN0HNT`Rvz2q6nNI0*N_KOK$X%(MZMw0dI;Nz|80SM37d9h978FURd`BmWnAt}R z);qCnTru8>Fxwg+C5{b zj-q~)iG!bLG6y6@8AbF;^0+u>o9UEnj`wJEB5}4Yb?(41Sjn5XjqwImq-;-)M1T@%O*S8Tc>iPZ>l|wWNO;Oit1=TH+lY7 zfTXC7(VqstVom9+YAubPT3$K7Po|Y1Z;vDi8T5Ks6vZkpjp!)JV^6e7Z;M$?=C-^s zl02STpSQ_l-;xP)s$OJm8NDg*y*x!p9#7C)>GzG^lc^9jjokyKUslSu3sG|WU3T8G z1KCTR3{#RFQbsjC*>!BY{d(ECZ5Kb=*IpTAMADYTm9}IhlUx)KU%4l_%s}ab+!LFW zrH+h2$};aHml-9wEE$r^dn~!VI@%9Xo{Yq@AA`O2$@~$!Ob9#KeYQ2h9x>TBjCRY_ z%w-668uhRZv2tgn{G>>=H0ijcae4l`uE#bbSGM-8G8jk7rR>^(8mpu*#0Im3!g`07 zo9i76)wK_=Ch-beUjN~I_|z~%$OkgBkk1+=v0ig{Rp2H6>czFi_NukKUb3e+H7b}4 z`=p^`cx{kEujN%}ZygxjOqF5jR};_3Y;nKkHC-OEm2!Bnt0}vNZLf5eBk9*FhgUmZ z@@BYlc+Tb+i!HB4hu4tpwaNBsx4iClc*#^XJ1v^GNzjnx^&WfDVQj~1yWDKU%XB|# zd97y9c5*WvGi8j&@TwN~JkA=@d$0XKDOWJr%@C_HtrjaRuPGSpG=f(<7p}dwSC8fO zEr(YHFN_&WK4!I11{LSCFYCFWRqw zm&IJ|!sHT1UagsQQ0&t7BFYkzM{N{Smi|fKYbeXuWXj)Wm8Ff%l;@C38-tW3rmUVn zv&yo9zDD^9a_3Gnd@1pPTkX#(lBN zYAi|KcS%1$8?np!E6KM1g|gVqDNT8U+$7z~YhcEasZNr&K+;u~4zj9Bl9g4`3`+-D zMeaS$@c$>rH^d#PW!JcePmmgWb2S=*<~Y_WXJiarJHQsPWywl zKGvbk?$1vxePnx zLZ|(QmOgR@blPRxlQ?qfbJ{;-=_cnqr~R{*ZgR47+P`n+pHXDGAV9OSgizi}3SIr%v4KjA{` zvcpR%j%3CYw%tWp>~cDgWZR9F zx-|iBu(jFOa_d!}`oIUwkG{c154O5>K2NaO+tAeLuM7B`js@{LzBgXSE8}%s9Is>k zgpM-ITg9cOHBc4gJNB(tf65p&dYhZQ>piFtQDantF;2EZ6MK!uUmRBhW4vOwFve}P zi6!w2!RZvc0jJk!{KZadOpV5P#cpAY+h`N-k7o!@r`QcRy+-3Nc3NW(!RZydg)zZK zn|NP5LvT99Zoug^8h^3V8hZ#%uh=b&2{ziqRq+hL=@h#Gr`Krw#ZGJNAvnEaw=gEy zXcGnT48iFXy8)-yX#B-aYwRI7y<)d8CfH~b?~P{&PN&!nIK4*WFLqjE55egbyM-~q zMw_@Yo*_7$VmILQIu+k(jX8uXon8~P;B*^pVzJX2vxzZYv6~pH;;5#-e~1 zXQ^c@YHpOjuCXpg162m=9F=^5HF5-8m&6aa#p51zW#p$`pFto literal 31064 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 Date: Fri, 15 Dec 2023 21:04:30 +0100 Subject: [PATCH 63/91] pass sysdata offset to wasm function; fix wasmtime tests --- .../compute_driver/compute_driver_tests.rs | 5 ++++- .../function_driver/compute_driver/wasm.rs | 8 +++++--- .../tests/data/test_sysld_wasm_aarch64_basic | Bin 19312 -> 13032 bytes .../tests/data/test_sysld_wasm_aarch64_busy | Bin 23856 -> 17576 bytes .../tests/data/test_sysld_wasm_aarch64_matmac | Bin 28072 -> 21792 bytes .../tests/data/test_sysld_wasm_aarch64_matmul | Bin 23752 -> 17576 bytes .../tests/data/test_sysld_wasm_x86_64_basic | Bin 19904 -> 25944 bytes .../tests/data/test_sysld_wasm_x86_64_busy | Bin 24432 -> 26304 bytes .../tests/data/test_sysld_wasm_x86_64_matmac | Bin 24448 -> 30488 bytes .../tests/data/test_sysld_wasm_x86_64_matmul | Bin 24360 -> 30304 bytes machine_interface/tests/data/test_wasm_basic | Bin 7103 -> 7116 bytes machine_interface/tests/data/test_wasm_busy | Bin 7598 -> 7611 bytes machine_interface/tests/data/test_wasm_matmac | Bin 8493 -> 8506 bytes machine_interface/tests/data/test_wasm_matmul | Bin 7725 -> 7738 bytes .../tests/data/test_wasmtime_x86_64_basic | Bin 29592 -> 29616 bytes .../tests/data/test_wasmtime_x86_64_busy | Bin 31256 -> 31272 bytes .../tests/data/test_wasmtime_x86_64_matmac | Bin 37304 -> 37328 bytes .../tests/data/test_wasmtime_x86_64_matmul | Bin 31064 -> 31088 bytes 18 files changed, 9 insertions(+), 4 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index d29be63e..ba31b7e0 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -573,6 +573,9 @@ mod compute_driver_tests { mod wasmtime { use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; use crate::memory_domain::wasmtime::WasmtimeMemoryDomain; - driverTests!(wasmtime; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); + #[cfg(target_arch = "x86_64")] + driverTests!(wasmtime_x86_64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); + #[cfg(target_arch = "aarch64")] + driverTests!(wasmtime_aarch64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1, 2, 3]; vec![255]); } } diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index 60a25c64..dabda8db 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -21,11 +21,12 @@ use std::{ use libloading::{Library, Symbol}; use log::{error, info}; -type WasmEntryPoint = fn(&mut [u8]) -> Option; +type WasmEntryPoint = fn(&mut [u8], usize) -> Option; struct WasmCommand { lib: Arc, context: Arc>>, + sysdata_offset: usize, recorder: Option, } @@ -45,7 +46,7 @@ fn run_thread( info!("WASM engine running on core {}", core_id); 'commandloop: for cmd in command_receiver.iter() { - let WasmCommand { lib, context, recorder } = cmd; + let WasmCommand { lib, context, sysdata_offset, recorder } = cmd; match unsafe { lib.get::(b"run") } { Ok(entry_point) => { // TODO handle errors @@ -60,7 +61,7 @@ fn run_thread( }; // call entry point - let ret = entry_point(&mut wasm_context.mem); + let ret = entry_point(&mut wasm_context.mem, sysdata_offset); // put context back *guard = Some(ctx); @@ -178,6 +179,7 @@ impl Engine for WasmEngine { let cmd = WasmCommand { context: context_.clone(), lib: wasm_config.lib.clone(), + sysdata_offset: wasm_config.system_data_struct_offset, recorder: Some(recorder), }; diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_basic b/machine_interface/tests/data/test_sysld_wasm_aarch64_basic index 165f74a126e853ed38929c6664dda39c9dd300f3..011cc242c2c986c3cd169930b3f920511a7c53c4 100755 GIT binary patch delta 3302 zcmZ`*eQZ-z6hE(TV{IAQcHPQ~+k2f8%fz~NY-0jjH`aEHA%YNv47#zYkdOs%Swxm} zB>aW`v2qvuh#w)wI6o3=h9(dahW>*jCgTqcF_KIY%`%L3kwlu%)pPH=XOvew$?NI; zosWCpx##1h&nj~-kNZ7yYhj7PupUYv3@gEtZ1c4rTxCdz11JLEzsvZ)YOzFa;KZ#K z19v3Pd0Y;ug2Wku4%8Ka-XwjmHoc|^9a%-unUUj{?PwVYh!G*Im3o(-;K1| zkF^}#$o^CgE5MXsd65f1XU8lfiBsZ`09JX-H<7!*2E!)&xWo^e@Gm6(mI>c2@lg~0 zsl+=CoV}`ENl;AGA`~Kp$wr2Q@N}^u2i=Gz;k2IBWbDz8Dpfg~%fsasLYg-4&7dGk zzPaRXo`F1zFt{pli)n)yjlEG^qm;7`ioJ=H^Hwb5u(Tz0i}tgot3S~*4v=#GfwCGy zCf4(~?l9J4D2IEoOc>yNCYSR}tMLcyQ9c7YBu^suA#Ve?Jq@r6*D2rKSf(HC(rShB zIpD_JINyL>TDD3}b=+aUEPJAQrmrU45>}uQHByj{Wssj2+7QnCz^Y1~EYF^}{8>)5 zUY}DT=>(XVMXs=YB^!EdXk*7`IX)PVjAnz3zAcjFc>9h>R&zq;z;5J~kb$out6YGr zZ;v5|-yo~`&}I$V?2BaCy^_AEBi7C`HxCluGmHCVPh6Sg=V!C4{ZA{a)D67+_{B}n z=W?CM)5u>!UVl56JB)k`IYtwJedE{ahEZD2S4a+gxb-+<8##ca;}gc`(mY%A*A&m8 zsAwv<=3~oVN<2!mQq&S8lVgQko|2VWDc6+1vKK5BlT-t1HQN~&vZOTjT_8|1!(Rod z#9-i;YbwD>V6JCc*`01T3$N*Q>2h=8j%s$UzKk7F+=|XD^^29{Pr4IK<=%Ovt5z)Z zV9;|WSdp*;9sEJnDHjkKFHac?K#xiUCjn5_us1tK#iY z$IBO~;1rpaj~V*BYoQ|(sZa*ihvM!BG+A%d%0@$v1^e=A9aS)sv3c5na56J4ga^{u z;IW+YvRk2m;t-2*FRN=<&BE(!36rxr>1@n|^DN|>q)a$gF;d~1bx3{6MWKd2Jnxmf zH%?GM3`a87q>X$~7!=~X)AIvS(vykdr|>S{7Jdrw5Euq4por36dNT0ByZM$agglkA zLdynn5J($<-&r!`Nz6+rjUf{MEpZwvgx`@kjWfbC5~uM*_@emZhW!Lcu3|KcV1d2Z zs;ku5Bakicy)kv|&Hem&wMpt7)gu_JOCk@{gOcmsw}ssBE2Qb=K;2XN8Q9{>^< zVr+lX;8$$OoW^9wSTqcPa6^hOBEAT0&}*tzyTJL&^CS+^{SBJ#&w*+R7P}b-et(H- zl=8QwD10e*-6O0Pa^}iDAaEC$D|JZX=E^=H{A0*W^>Pw%fYL-kZ<-JWg+1;)f!~jU zUmo-Z;tDL}Zpfi7VcEQ~ZJIXz3-$Szk?{qDL8E@nzcsjka*}YD#3?5UuSHyE{YqI? zgVdnxB#kg>6z`>fjU!T*DuQ&+NSx}(FW=*=v~;r_8#QLz^t}?C`f*dOQqlsogMsEC z`?qZ?J0A9X;<4v;$0J?w=+5?Sk$6|^l`WptCA`p-DZ0~6AiEocaUx@6A?`rSpiNvQq+T5qG(#XKnk%+D+lk9rL!zQCE zt7t|Mr}>PB1Sh*0ecZNm&&(EUwo&kPwk6i=>XTPNytbU3i3RL5&9F0Hiv=pNhYF%$ zM%>S?cWK@cl<_*jTNFg2ZQ9GayPE7Y(b8Ua8kaQDp_*O8rI=r6hJ)O`rLKY(K0i4p z%5xmcr?;&3eT5L;hQ$06iBn1w44&tQ@twy-zSdIm>xPz wrd(!6yI10;!0GNbw-h*Ja#Wyk54+j@l>K#?7N4lhwYAAs#itR{RfZn^1K0wSaR2}S delta 8986 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 delta 9260 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 P)i^Erx9B}jP#ymV;89A?; z>f7hdbdiyZj9fK+7g{nqinPgNDV{Z20{<5gC?bgO3}1Hi$Vb)p?|qO}c+$Qkcg5zP zy2s{4#4V%C0AVclBxM4a;x*gW$h&Hi01lewhbS|_30o}uE#h4k{sr+}7QT%5HVglp z_&m+UTKky@uZcYgmDo)7q2*vcl&tk&>a}Ff{efCqdyHczQz-`HI1Qn+Lz+Ja22zeK zHFx72XfDd(9C4dvfJ?RF?c{vJBlaYFBfS7a?i<0V%U0XxxB0I6{PrvSDBWME%hx*9 zzlr^N-QSMB@E{m90ggpuG4E-6c$EKMfL`!J-#(N9l(hhVp9WakgMNX#!Dt&m?y(`e zaR_i==^XDMPNs}Y*@2ezcf_wLQzrJd=9`tclx5rHs6)Xh%45m_%;=y}2kp@32G~7-a*Ak9t!i`vTuQ?y9Uq?oQJ)i{{(Zp_$?Nt9M|^IGt~`h`7ou_kz!M0nt%s@HFQ47a2i!Jf3>dBt-P?_O}%y}d3Z6mxGIuNZh zTcd1O4vAcrb~zzVcy`fo68G^F6(@n0fOg1$!HuaN^zl)3E5c7nK$AJI^Lo}oZ{eVT2jG8H2S=IoKI zu3IPYn=wx(&M(H?P28jxP<#r0dP#AskWICmpt#&Vc?^p=1IKX5C+kUQWbxD%`cm*M^!FdVyPDWH1S@G?;2E~jatco7}suRQCoxn|;g+GyKhBXK@$%zKdg zMVpZ|p_eT9+_A+Twn+Y#zm@$=wtUvv_BL^@5Ct^hf5h6Ht;`ecD?MUoYe2YG3@@BNe@VmA@Y1^a#)feJFRNP(QMYzY|ADoB!-iM;g^t1r zd}FiZ)Rj5l7M{*Y&PVAX>N+c&deh|k_Hs)Dksdp5K9qY>7e3!F)QyE`hm*?i6HT*ZjL1FUT>ORMz95s4C zt!Y{RRF15RDwR?4A;MoQXV*^+e2GX_Ggk8*e^eh~Sj4jo9J5$HIz=Wbu+c<1(gNSh z9zGnCe+M{BgxDP7{SIH=Df}i!=5>}D*&L=g+f|!wstycN^5tN6nec3QI&IPOT4PHV PFKj4xhMIKuoDBLO5V61N delta 9273 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 J;rp77{{=PgDO3Oe diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_basic b/machine_interface/tests/data/test_sysld_wasm_x86_64_basic index 7f6fec101ce465412cbbd2d621758088f81d063a..0de56a9e4b839ff585295ff817386e1cacb8759f 100755 GIT binary patch literal 25944 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 AVgLXD literal 24432 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 Bm{0%! diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac index dd62f071d91932a4928f79ffcc1f1b328c28d500..33e07eef85d85f927e6d51460b4dd165724496cb 100755 GIT binary patch literal 30488 zcmeHwdwf*Ywf~u9fPjG$G$0kPjCSk|6~nwAqBRF5a7HHzh>upi!(<*L*E}$p5U|z; zCLx|X9Yxz8w!Q7A-oCWA5Aoh!#P%vPK?q<=0TmTnMJt*Z6+{~%BJ=yMefFN248iNY zzx&tk!{Nj1z1LoA?Y-7sd!4oSJ~`)`wSk2t27@H7Qt2yFz9dOCyyBLX0)t>4X(E1S zN*6F(W4`LNT*U+(BvPqDFH;-iD9g*m=?horcp??`M911&tk+9L>827LF497}@u(`h zU9T@|9-T_1yv$QUN9>61B~JGerxWQWt}Kz3>14lt5q=Ie<=%}Bc_Y!Jf%G*1WUPgHTMJjBA+O5QYQrDvEZj=UYc;{bt|I6Vu zUpoGaFTHOp`Jrp$TTRp#8e{rTbkx78QpFspTQU)h%48lB@qZHjUlo#P{_}~|n<_2a zest?Y-{1U~p>Z>BedOMAP<6(Om!9Vmenn2YHf)w3)MG8^}4ZZg5lMnV63qv)YN!aR9X>@2iqfe1RJ8EmBIQ@ zdl95v;BX{iuaN##BXMn3k@JZayEI$K$brJmGYxH(E6u~!f_;-uodza|=j~2m?a`=`a z__^FK>@0#;arncnIzQo$y0{`Y6~WUrI^LEd_`^OOo-Tsda6RuVf*<94UMhljal1ZL z1cxJF*FX`xMhy5$y?K$!tD4VTrfPSaD^x9Ro)PQ!nN0>j-_B0E zmKdEAlV^1^7NBn+L}15(onmx8^9(Thz@sxVsi^=l3Ye>iuLV`F-lkW1RB*1Lc#kr- z5JzG$gYZ-WEoOD8yUiX|JCL0={12@0YSDUZ!)LUA=b78T=YQD#s?*y~U9}cK$aEJa z-jVn;48;`6V<;wO56QE-NUUukON%o=Kbc4F~T@`9qwdVqb?pN17L%q3G`G;+4YTBh=qmI26(1x?qUMG}u z0IUEopdDAW9ocE$62S9xV0PMF3?eKBYtoXkZF!lu&`!^&G8U<$%hD+PFGKo*`o-$n z6JG=idHq%_XXJ`;hp$93b$tcFD#rEeC2FL9y$Qc`fn+Wt`8i1X*Uu5){`KZumTkMK z{fpRg3aN<^_Aj#Vw1%gPdAgjZEA_Oui&9)_fA0o8N7;w-*-iOuI-lK}&mPKWkLI&t z(FSG}=sjJ?!a0bnC7-RyXBX$Q%k$ZlB8yRxB#V(;Om7!}>XVEew4rMEZvep0Fi1TC zt@mNV(C*)qgIjcXT8HmtN$(*_`g@Nep-W{PsDL&w#z>y1V97%>STgce7}&UvZkD92 z)DHX&GvRr#BeJq_$Eb!{5;YgIn!G8od3vLAvvQMiqq2;q(Ra~WVk-$G$vrQX6X_?u zsW1MuS!O=#enuq8-%~f0r!Z%;iLK@6K&jl*GMQNT z%sUe!pUA!6AiVFYDb*P8ek}L4pxAF@7NiqM@teT23Z(M7C8$i^PZB0F<%y3$eKk>s z_o=CCbn>|%N4H0^j`yHM~nr-HF;$a_>~4uRLE{X7&utfrs``_Zj+eZ1m;P zml&0&sVd+-A@{z9sw611N*Ns^edrxCtg6d(YzyJ=j+t1;ehx@s$2N{?fcIxDk+J?% z4Slh&dGxJ{I#AG!TL^cVxk~Q_w930tvTA9r8&<;UW%@}wn099YqK0>>DFqrBk$Yv7 zN%wysl`k$7b7T@|%Vl`QilIw#D5?=%sVM9U#^{egW%o^Z!V0Z?0-Tz4c%bDHN$N?< z-M>O@;)Fr&c@AW?)?rp_-9Iqpi+cS*41a2VIqTjYFWD;2@CENL_-PvKUOO^lSu z>#jnlwM^pm3387O*+gGi;snP20m2UNR#QtL8wP4Eqh5yFdANL%n)vuQtcgIWC1tEW zl&epcPs$9GW_K!2eTp_zZ$`fVWs<39m)t#%u(aK3<{eXf0$lj2}^tJX)?J1&7{lRkG-*CnF#?h ze~GK*7=}v7{1);BGQUX0(`CL9EpeHzA)RuWe?iy*7`mr(^%y!fOurJ4q_Kocs1KUl?Zuudo1lYs zmOCDYIj9Hsx<3KHG(%39 zCc517p8)B4NXE@ou<`j9={lOidPnO5`7tar5H`#AO~dh$Fx~gb+H&$U$>rYrfRL=5 zWZk7EMsTNUM;oe^Q4_D9WNqxRW&cTtgpr|_Xb^ixtU#jv7 z1uZGeb`lI@e_iTpz<_sbM>&wZ&0KbUvhuv^4VCAB(Gj`#HU@@?DTa@gM5dxHyer4F zCeO4&XIfpv^rA7CzAg7o7|nD>A=4pP7w_o|o$1Sf)P?gs-Gy>-PhXRJ|BZojiZIoM z({(8o!eLr$WK7E;e#WFQPv6a$=4FX9YRt0hVM*5;%1aXcCN;6+q}=l(+*dNMmnIIC z%H55y02O0eW7q@TCr&}r^FZj=j{3t#)zm$hgju<_3LwKisGceM0+iJ7el>NMUOS1( zNm@nXR<0T<-H8#{mJH6i#@`_WOD)E92TdDj5QrQAEOloEYj8L6YIr!;+V7~W^K-aW zgX8?fNQvCN70w6zpzQAxzeKviA5P;I4t_9)^?)TZGngjsV*C*Fu-hKDxeJ(}m{ZWi zU^{rRTN+IkC9xeA^eHSx0ii#*7MP7ZhoJk=mqKl1CfoQ5mM=N$e;~oB~1#0kmWKFjKrq zwPkYekH9BcK819%I9WcOQgZKgKXUc0`dMOp{@3?DLuWx+oZnAZRAM z8b#ZwXqf<*V(4j1uR)DJyf+{m#}z2+bBY!Wb>WxmQg>k1eJc0T8jyID1(I{T*U68~ z`9i=jXDa3(3@BaZ&+hK{wVK_*S}8>zNvIm8Yq@6$yet+BeZ2Eh zHO%&P*fj1upG_)qt)_rxbn`{Qs+mxwPdn<<-oa{}7CpBrw<)(P|DXhK-=_1#T&&Qp zoT8-S=0h0i&OQ2UMc1>PeT*r^@Re>Qwaolce)v0oPUILwSX0XJH#Q+?T5FE;3G*d5 zlg>n;Q)s7Hl!?g9rF?qgQw-1T1P%X@rgLsJz-_vg5g1EU%{Zyn`W_3kwRZ-#&%gk( z^-DMAiU~;l3AT=da6auPYz4<=)S!_ufL(HXTuftUAq#=sr7D@V(Y*CggH^c4Az1m2 zxeI&<5mwB0#?(~#c7Vt(@F`{8ef}sthIMG`qSr**>f=nR%T3zZ| zog1l`bGz^h;C3OnJy)k)IMHX=k?61RC$^uGdv3xoJ!**Gq$Y*(}o-IuGL}_iTW3qN)a}q9Mn;j?)OM9I=5AO>)mUKpdQj_;PR)e)#?z-#&tbtKNt`scZKB2Y$-F!7{1FLdQMhkmo+=O?@TZ!M zl*gooHM4FnI zSf>pIv?hda?3VpAG9PlyKcInKdtw?ye5w*Zs=VMGCApEblUh<~O|zx;H^>fH{6aT2xwjc*_zcw2 ztue@I^V=-fqpT#2)0NAN?A|nE=`q3ygu8h(6;1pm`r5Tm-=D2yX z_JO>4nRyCx2j|F}1Lks5z&uIb++>z(%3i1``@w)ING zU{P=nNR|6j<@Y8sMoxPiQ!8(?a_`$zrbtRjR*p~f5gP4_>}6>A*3&4X!&A`2^sc+j z=U@$YG>1|LBf28vg#yD&LuXvvr`DwWeyl}l5V z8?f%;>JAaBg1NB-WwL$)yV;pY>#54F%p0)EjTh!^|Yl;Z2&t;Q#d^}8CUKb%V^)UCbo?L#>G@c6s=6At4sFl|}IRdwe4bI1r;%-Pg z>U0+z;5PJqfD4_=KM|U^A10or7BKBrBl@xKPdS!m-hw@Eo&hN6$xVKZ(dP~I8kAF& z59)SLjd6Kx3=f8Mmu}FPP&-L@P|Oq91#wi8jwz|iRin)5ljD4>IoS}(Kqtm2$L5q{ zQ(^~M9`$4|L(TUj%~08FaB&hCELzYFRv5?kL<`($Yed#>oDR9^2FdhQKqkhozKCq; zXOoeiqhY_Sh-~I4vdSshK60wcyp5!IdEGzZo_JamzsWH8<}g!(?x2cp8)7!4fm1lL zn;4CLYc>sP&_9pY&^7(QCvMp0OWv;^_4r3{kMBGZNcPh4P9VI`&(2yhoqtx7_frry zUvo@VQg?ntOQW4?_>`LJ#K`XG{7t8!!LI2w}B_Agv>>2KmlaCvb(^xrK>CNuR z?w)uo)n?Ek3lUWN4EwWv^ByPz+Nz5wVEY)mWOpD2#!B;~pH>Xy3;S2q4N_pNq?R0I z8uim+hOK~6+b8#WQPvz@pWy*&TIX_Uo=YHg9q#8D90~!JGhE++hRrAOed{`JA#3L&aci7TBkiX z6={*lY^ZZq-uHE$CoC2GXbO!HGb>3piGgq#5IQGY(`=2{lkGS#w8%Q#lZ`7|aSnhj zm$Wrqo4k)1JZ%!9E5Fru^q{a4osTXkb-+8}e>Po`V|%Za9qA}Uh_ z(WjU)wW-_81OD((0D(MhVIbI^Kmq-meD{I3WJ#PrRE||A3-5UlPk4s{;k|zBQc!z; z4ums)eoTqTeLOK67r<5uVsymyEJn{zj9v;p^2Q88_;f(q8_<>^7GVvr2;N9rFJ%k3 zV-cfq9s*?D#r8apF&GRZ2vZT~$ilj?Qw%ept>S-SQ7LUo!PjDw1N(q&bEV2<_9|^I}Gpk4C4W%q?_$5yxR3sFIHL01EL` zeoggaQK;EZWvGN=+JZIJCWe-8@L`>6E=t2{qi~V5wutMUqq&mwB*xc@xKhka_D8W$ zL0`q>yR3-o%+Xv4jkp?%xPDX=QCeVL<1z9y=+p{)%$)J5I?>8@7LevlYyC+~uE9+N zWR?Ql!R>r1r7Cr?Q{xOA?*|gqo4bx0mcv@aZw;I~`=UypgM90_WJDz4y zYChWEL}fIAHudQ`Rxp+XQmu7=En73{Zh)`gg+3aK*nX8LPSZy@=|elCKFop%U+q;= znfg`>ldXk5z;O(HbX=@tGh7$td0k}Wb=T2s{}8v!{Gyg(=KR5>+`EawQ|{+!!(+=O@4P6fn2#_C8LVQmd{7fP8P;lgTG3PGJj*ClWi# zDWv^bK}h?(#0g{DcM^TrIXuSW$IhP7u_MhvgsV+ZsgB2^Rk`=80F4SVX+^~QU#jii zrU%@Md7og?eN#yH&xq-{ zc(tj@$8mIAj=1EL&V+s#ivVdGj*ZdF`QFO&SE)+M@whnKx*gC!c#oewNVNlJVr0K zc1GyCuYVgid{ojBqV2Cr>UupkmwVr!1J&@LnyP~=ugksrQC5;Y zWJamV&8hMYiWayWS!@&uzx)^@;rEcYa4?864uPQ`TD3mFYWb=a$GmG9!)4PXW!^F; zoY}2xA#pv${uGGSGjuvV(c52&vSB|S$w}--;OHj@1i-nr+kRkbIT3j{FQps@0*4j0LdMPsP~YZw5QsS zxwq_U1yL+4@CtMUqJvf~}e-{v^1;mNEgNG;%lMwwl7pGlg9ON9r_ya_p zL2bV-qP}OW*ZvkDf6{jqo-FV=p|88AN!flyL&9|DOD%-*^bTr3E$HC-XW*9y<2p-f z0DX+1q=paZ+sn|}O(-i#bWhPRB1#g5hod7go-A7QS z&SBixu?1VvqY9?-EkaE~2whL9n@9?{sLs6Yb>1Q7OlJrx*4^vdoi{=OOdj6uk@44Ir=8k7(m4k=d8Us$sW+W}Cz_iq72eW+Pwr(Co_ctutl-$G$UofxPc(4;;cT`$ z9lr>(Y~c6L(*%p3i@bJV;He|D`rTyc-qnFXllS1U0;JOpu$2C8L6M(WHV&|s zgE2Ysa!g+S$}xH6E6>ODpH~2Vew&&|m*4@?j^_Z~`92^!W2$`5PSraYpN_b=>+Z=? zTK-|5YS^nH`tts<;~l?Y2h)E~7iRVu^=QhAMu*9TDhz0Ez%Hxuc9}hdkx}=(2l@T` z-WA%aO@7m&X15pUgY=jEWBgp7c1qX8`%vECLtw9JLap?C#EgL-1I85FaW@gsz_Ibn z-Y}y(-O)hJ9si5Je>-j@*}T4Cjse2}9%ISI=YdRb#-H5|oxeFWXADNOs4+!bWT7SW zIm*3@Jl6MyCe>+&>%50+R`00c2G=jJnWG@#15I+Y)27$fI0qnre=bgcw@w` z?e)(dQMC^Ovomeu@qlqz`%D!~Wi@fi*nTOScJ%B&LWoBZ2537IhbE|49rw^O$+~~A zky+gbu)32utDANUw%lNKf47{aM|Kt3ulz*i1X$l2FvAHY$h-qHd;@0qCd}|nGDG@# z<*zWhXHbLM;p#R2fQ(l=NBh8SJrd96;a`&gW+l&3*{asheh1R;K zl2&6w}t;a8I32P{3ZOYEQe&OMpFQM$<|4fEH$Z(+JH>b(aH#8N?t*$HGI5GcWCScf&2ax>UqaE)A4E^*pW;Z=| z;@5Wi6Ng5u!}GhYoRF@Of4BorTE)K(!uefyPcU%OJ$TM89^=50Jg_vrgab?SKx6z$ z4m9S0@hYUXW7`={8359QYL@c-5d@P=$h4k1Nfj|_nQ z3rx0LLw})WsYRNRXpwph_VUVu)Xu?}U%uy68luEDlj{AX<7b05w5L94;Fq%YjguIW zYm-K7e)p@#UsN+kCa9T#@#@48_2Qk0PYm&^u1(&(ugtG~;y?bJKQn~dBjW=TUsEss zlWG`Ad{Pp>kPs>`$o}K|{FyoS_g>sR(W(CK&tLsP!0@e$Dz`x+xxZsYv`FQ%*I5mm)xcQ| zoYlZ*YoNU?JQwfgs%~qa+tAt^o!b;`ZJE2Wt@R(H;duMpNT?+eZE6H4ms{A;5{?5> zyE@dovMJg=mtG2XdAPNCWn)vcZEoAmD9&9GZHcyp;?c<5JbwwH5XD*4pW;;X(PFV! zEjEkY;;=X^E{ogZv3RW(tJP|=+N}<&)9SLitsbk_X0cgqHk;k%usLlmo7?8GdF>Xv z)o!!f?GC%s?y|e>9=q3JaabKThuz_DI2|sB+u?C|offCnX>;104yV)Ua=M)!r`Kh1 zSzR`l-Q{pOT`rf~<#Bo47Pr-HbKBhxx6|!%yWJkQ*JJTmJvNWsTHO%nA)2f!;LK~Ov_EJ9dT1@%%tPRTH9Dvlt4|< zmKE^^Ue>AETjttLp}5IZ4?3`A1(IWC>AVY(BBqrFp2}uDNJo$^M@kpH8;~x;T}vgy z>I%cm@(E@1huCJoi0)C~RuICJiiJ~VTqB>;S=J?8eZjmh+s&5{nCfu5mo@;89@{^A zoz=iu4V=}$Sq+@kz*!BP)xcQ|oYlbprUu0OgT?!T#ruJ=@5?R|e%Y&U7wcsKr`N6)Pb#QTB8`+!-D3?%U$U=|#sEZ+ai9*sv?y!Ur9 zXDHSebVNxPjyCj*GZc6`uhGF@;ML;2$}>for}(RHc8T{ZQw&d+h|T|YD$CxeyPOsT zxbOfhyEftIf-d$fD$+-Jz0lttRx9BR+xj(wr<_c>mvPnK6HZlIaH>O>X!jP*4}WjS zEY%J_1j?S9#Hb1y`7=ZmjQUiFcT+)@nz!<#KBW zD_ZZd*{Us$*&K{_d$-5Krd83lc5DNftkrHOa9bKzG{l?Mn5v?dh&vjw#vCRr((RX9 zEtgxYvvaMTmZ9-5N*}OYfx=1}zYW}WyGh8zi%2vc5T2f!8aAb zf5PE8KcJ&abf{>Mrb}fjb%5y4b_T~=?Tg0mUBHRI@GCkM*2oOMBKQ7s0Y4uM$I?U1 z8Q^q~N&Gi(gY@(9eT2hnuFyHtxhGw3akw;3FHc38u1hh07@xU%nVvkME6m}hEA{dN zd>;Im!w+Gfo~~c;iFb&@AGYZ52RQs9OysfTng=+wTjSI5Z_^WL-5K!dL9Ma){O1|q zFP{NEdafTznK5;1COo-1}~R{Ki8p>)WY$FpTID&tBb>h-vxqiX%i}{q}9LOM@Cl&j_ zX@C>|Vm$;oT=+Mk=Z865_&YZjU?1SvY?8$HG&op#ljDo~uJG?)#*KsYAm+QkcQJTn z?!F}80l-V>uEgh|fG-8eBnky-3*hu!iQ?}>baD7%7Hs6d`_O#`KHnDjMc>u&<1_+1-)0)|J7=mf*^!P&jH1EHg9O>R5BUy1KTlt+ma(XqnmSZg6^{ zE|1L>_SD-w&PX_1`&o^6rEpukJ>G$5Zo*Rj!x+JMb1+Pw#%RYEG$O6R6-}-6p{8IY z-rCk440WsqOWMxHmUXpdYz+EbMq@D4))rb5jJCwv)=06oP;)dG>1b|V1CoLggldeB zLdCZ*BK57Sqmf{Y@1IwD!Vz24TW@t)um|n5>nfs;W)Na9w}W0CiFrdFOEhY8guRYf z*ufE@N~`-cY^#O#-|Jc<9ZgXeH5If&ffi59jZtuWBVlJK8u8T9K>QcfZbpsGcXvaq z-h$2aP`x7(^;q0)%YTF1O62a4vp(VtIU^Ad_VnGKhg|Qw6Vy=;czEkWu}~!H4aNRD zjoU!(is6i)-V0j{S;Ka({qr~O0Cm__?{+&aF}Ee^wcEUo&rgkmiUx29x$C1bSHv0( zhhpB(v|C$#a$o{@7q+%FhvN96i`BL=6oEm-qbu4%O;%fHTVp<-g?lHLgY*mYCBP z2}L~KSj<&#wV{WfF##Q)Rq6VSN~`@dDlJx2>c>C9`i{n?cwN4?8q zbvWvU)dm+XRqASkwb%LR<2BqJIO%vI>SSjQHU}$UijmYf!U*DAA{YxbHbL5$%kHel zp-tH8ioud1wNj|1wWT^1i`IL>b{7s{yy1{LY_Z``$m@+-L++5(;=z|@s+*ctHCNkl zxMOp>0dje~9=FSGwQvSDgsdKK#9|M795F||!xizk?N+NjQXh-Je(|vy#=z=y0_d{f zva>{2mBMu;oCW( zwsw%YqxM+D=8ZW+cCXbFBReE-#6t04J-+?Z66|Q{gt~GnwSSfoxf?vN%aA8(2{~;z z9E-xG!Yj771{>gh=*vOEPlJoSrK8#2*u2u|2$GLRuF2eCvlKdOUt>Fb_!-gz^Nw?A?kL(joD)^G#851e=aXzZ;5t-)Dw0)BOXu05(!yj))+|HsM{PNhu0N} z+HLjq7Ms&!$9!`|aaibbTb;3pr`o}X-HKC0i`Qebd0cj{({00Ho_A~!ZT~$HU5)|) zW44GBcIS**>tnDmCsgYD>UBz;f5GRl5UU&d7l*C-?FE8|U1102biF(3afiK5n7bI5 zQ8UJ-&lr8Sw6@`lzQHs>phumJP zGaPofy zf0T+oJXQ3Gtkb`4HR{V$IUZwt#)^Gi>vMcTtETXyR-@WuU&@lI+t)P5L-k1GZF<@u zaxJa#X!VMgj%sq9k;@w+5-T-?+8dV>S?@9ui*>tQH3Dt+M-P%B9N+?+NxJJ z#U=WwUeSt7Jh~dc%xP4&wbG}$r0Qq`4_X=`pcf^bUXNaM3Xvx&Y6c8gmqN{rVPqJu z`u29I8n=OFghnDp{C`Pl|A|6&v0m};j7ZHz%=t1X2dzd9?^tLR^viihq&|+xmp!@t zB*DOg4DCq?da-XMQn5~^c4;YuFqvIq|EUHg;w|XKKA1?wz853H4_{7+qNE~6ds2d4 z>_drE?E8uS3p|nD2zuJ%5@oT^B~lY_skr|fEJcu^Izcb?-9#$(-9-Dv^0$DNWWsV! zzr?zTr(%CmR8w1p7a36@y@}I_RIn2?qAb!iMf4V4AyUy_K`+W8T~|ae){`Rb;rlCs zUbHL9_ZHEMb-75z{;R+*mY?>mNPeMzu^%l`XRbo$P~85;B6_jz6{*<2)v5Kd7I{j4 zivNY}-@^Ala%mwl@}&qegP{g~xCiNF&Kipy`Hf?%TmVjrVyxlU1x&&AOz@%uLZ6U>r> z=ovxJ#mLnP`ogrxL>X?wa-C!V`$=@sxq}n`MSq01fvmF2c literal 24448 zcmeHve|%KcnfIM!gdq;Op&b#$%BbURY9a4TnEVo@xnu%&bOMN=ZPiXDlL=uBKTIYJ zxNIAkgm`;<5p@f@-MZafch|lj^#!)R6t&6>7y`JpfLr{rt%BQX0{)1$LO^8p`<#2u z+{qBC?~i}>v$>y7=A84K=XuWaJm)#*Jm;L7``!A`+ya|T5>KHtTe3=$RLd(;-xL@G ztCl9<_i|}6!?jyg7vyR$F+n1gO3X5~!K!#!z(x95nTaP-0Vg`vUaeW56_A(LaIi>o z>Bgb1dcKKJ{q2$IA+GdmLU}G%0nms}<#Z~i6X`0BFH(oemdQwRRuh9!QjZCiM9Opm zY~k?}bNxgr%tP(E@K=bxdGnV@UvWIS zby#2jNy(CXqM6%fPb|LW#9xst)W`HkbR^#-sbsp;Ex8Fs|An z+g;whKfY`04|o3Ne^PWh%JsZwZ+W3(QCrdHIZ=3vK5iGW%tLVrLlOpqxs%&Yb>%V z+!X1^gLDX-M5JSRczJAjcqD{KJJxnIN8*w2%9fUnSX^rFTp@KtRxFFJ4M$sJ(R(E^ z-o*GA;tp8L$CH3>=kS5Bsjz^jW}D@qJosjAAE|L9z9=8!_|$LI$KrV{2hN8mt2&kg zC*Ky&a1LCIIZ-#3j#*&L0%H~!v%r`I#w;*qfiVk=S>V5l1%5AIeO67r=TP-a1{YwP z+mnhHWDcpx7ae<<3Ym%@0-U-2NBEVe)gnjbmd!#x)wnrLbjBsmQc^P{-rC0{+SYC~%JgRiUU;X>86Pd$7-?gE3GIRi)LSc^O@V9}Gj zT{kzNTI&4T5;b{q5oJ~FcX6kx-&}^mz&A6Q%s?}K_FZy4%C>vZcD8+@A55T<%X7QB z{yjG~0IK$}szI3lP_?%*mmS4!pJn=xk$0wiN7VH%653sRTgv2V-J}uB0l9WbQh_4} zxXX#%L2eoKd1Yw?{te)igRg4CYCmm?CAEJZ+Y2Fe^RkzxwLD$O(?*`IGSl8JO7W=u zy_?M(W&h5~Znv^2D|^Vw9<#DTR#xnwz^sICrjT`8S+A9?wXzGXY@?MGCnoAM)PUD+ zgT){0LcO}10Axp1+qF3hpd%Fk{*D0JuI)&IFg{UAQb_Acneam_dEgi&{ar&y=rP-% zf~q}$4neZLge9A&Ajz@+66H?i4rPh5m>h#nFp|4TCQ0tu;Uuz81N!6L04PSA=TLty zt3$Q6jesG2H?a$@&s+te2{m){CV<*VTZioW(cjNlgG!)J>|$I_c)Sg(ZdfBarB^S+y>py z9qXx#{&1*KXOWsbb6W0QK_KHc2dj@{>vd;QdY~|~UwQsBw4v6dKtku`+4@m*{v8BoI@4&n zsLs0yOMB}D^0I-2*O)r@PpIpV)TWm9}tk*Xb5G3k`3$+K|R-K+|ON=>HWvlwbmaR_uFEZsGU zQ@F_=yElnyI8QP)45ucuy4CccTkbx=`a?av&f^~ZE%M6q=V(N&^Hf8vLCl@VmLmHm zvN_{)hTH7oa`0BPUzs(+p-Xt>WvCRoPaq*I-OuK9-3R15Il8||<&ju(>V; zqYvfYyBQcRrr6FX$#h9W^gxzrt;Mv&WLlQT^y*QVzAN{RAIWq|F4L3nE-vX5lj-Y# zG(;^)51^bc>05H|zc6st5blO(s=-j99EQaf#?%S*({6>$^xcf9rAwSqV-i>ZPg-De z79{)KYI5H>x#!1NSJKA|lgA3>?q%=*6@6N3dl|M*o`xF1V=NyrqFGvv+HLSv z80TsNp%d8LG$~uJJ8d-Pyegsxx4bQF`1{}yv}!y{>A?38L9l6#;)6Hf{v$@HIkJ4G zFs^n?H4&=`aR(61Ix+h^jB2XcN-Qu&-IBcNpK17@@#`+uQ&dT{h-ZEbKDx7*Y_m{zPNtNmcS_f2>Gj9qj?<`63KL^C zZiAqQ2gvSTSTcRgP6{lv9l}&#IDY|aO2Dm#REVsARBE`2DP3c@4y)0#s&S_ynHg5( zhg0MjTlNIpd%7qXqZ?Dgt5vl9ik1$6DY~Be^cK_vqlZFb;SGl4Y(!4gZ=D8;Stwc*5FL<^(9plZLpn5;l30qW&d zz&M|%5tVRCRATKuow#0&#<6Ic!#Hs{8&ov4x zEB7ehR>Jq}HF;tzmS{H>D@NRN3_YEA*&MA9J(JkOm{Qp8s#1)_oFY z4F4x=K+v$({Ff8vYnV(D$=peygJMypB6An#;{1QbUh=m7pR)O zsNVNJ3$(Qp1M99p2eMsCH^zz^Nc~B%2@7bCv8@>!QG<5I0Dj5+aUu1cmplZ1XSkTR z(YURq21~KVAz1lKPZx|ti16YP=FNt)4Ch zO;)vF#l|V@_2)E#**Jw?U~0UV%0PwFUR4y*+n@(}fgpElN7)1%WE4k3#v*fVtwA|p z+=*}Nic^iIgZ!~DG3B9@#GKnzSAg49;Py&`cGZM{ZC|p#B$(_wFZbMmZu*HWeut_HwgDac(Fvb~{V z1DOnX?skyyjcR6(YR03D>MZn|+_M>z6IHcR6?Hkrb)5A%M{FfTx7>3n5C^9sz8u_+ zpWFkWT5&uOFZ8AM=A0cQ-@^=HofQN;$8ydJdPh4e*oKuhr2mwi73dr3m>_+u!0>m` zI)j2Va4jNHS|2t7QPH;0M%b59lIIX*brJ}>{&Tr=cq1*{@F}mtClxkDg`)d|*e??{ zhBG-RhWeRWc}u^%74wv;eWYp_)5-JaFwO3f9|?G5%$F!Uf;ks`u(gk-ilI>S&7jd? z4{5K5w7Wf}O7hcl^1}hor4#^c33!T$*#yFTFBJVCXmrw&K@}4fdF$SgHW<>{JcyV+ zV^l@p-iJez=}@Uwet2IEi`T;U?1n*lQ`8bF!lEBm=@|0y#kf=>)3e#6z3 zej9GNrIeVN-StEs+22svG^T%?<$>J{jkXmOsK~u>lntlGyxdvItruoUmSZhInM5FC zLvm`BW`im4u3`|6@UH6wtq6#zYTCX<+g9%Qsukp5jNUno;+UK14ck1CT;qAHKzPfdb9DwFW)PvLC2i_S?ZUntYR zF*M6gFQPoEOvIOl?PGZakC+5ZCgKm{I>%+wn8(IZ(XGsKj*~aEk)Pg#A3g)O-vgV{ zQjs^RUqx@imA{T<)Q(zO3j2-8Q(K$i$pvEg50}&1bDx186owH`i~Pk%|Xz_~Q&F<}vsTu7;js0RUr= zU1|B0M(f*aK(f3_?%hx23x~)KhGrT3?@90AiZoCCpw4>_KOv)fB9Ur{M6@QEo9pOX{6=5AC z(m9a>)?)FFd4dw%A2Nba2HTmfeb}_nj*)7PsdV0X2R1zc&#yz#LqYRsMv=Gl$y-wm z+My7R0o>RT)1GH9?Rmzb8C0jRTfwdo`}eqK3bsUiM}#}UmuY8J%6jnt49w1LQ^?Sk z=eMvl*`H0n9|A}N%G_6ZaY_pna7g+p;I)nq7;u`uW5#68xWoVd+gc-bkr8FkVQk(u%2OyN3mcMo-- zzKMy$cR`8CmbWH~gr{Dx3NmfxGV&4HBwo#t;-&u!Ew<*+>m#&aZ*<@^Q0{hMcrpR{ zDC0gUcNasFfMc;|yaWA;lO!w09}dS#Bu<=%JLVnK(Nrqdo}Ym0rhxdXN3nI6&jc&U?u@^Mmpx{|zU zHsbd=WW-D#3E`;MrjLUFkFq(X4;!U3=MYT=f)~M z4(-z>@?Bc5qFAyL+~HB?!}?!YmBsPrD5E=P(`sglHDU|*Xdb#jW!9R0)3{_m1v=E= zYKCSt*kW>}a33}&Wf@ly;LOY8S~Zd@p%GVi9@mo5xr+GbBODM}UMlwabrkMxS5g-ZQv)%+-64$`Bm8ad;Tq zjXaG2*|`QTJ{d0l0uZs8Csd{#8eOH}>SU*=ecUZ?Ws+oSUuC6ng1 za9XxV%NrKaaQ{7qo`Ty5ibd$Xp(MBl=^}yeQaezF8(Hz_U>Fc2{8~1Hh{w}~+QGeM zKpj9pO=pvd_qh()FltZY4OQRGBWf9Ve_(ihIS9|p!LhW^?#Y^;G40wBs&n<~4c87_ zd^-`2e46;ad6kTqW^bZvPL1pG)v99ncZgfLKZD$%=*vO&qSrngc9CinR@03XqG}xQ zh7k9#xOp}}hW%mm)|^7SeDZ4QSYZBX7Ly{R5JlK7fN+PTrCHnzt*s7i*_^e;i1Y4+ z?67;cx!ag`!C5!?YX*%~qX!l3Xh?s|44)TR2i9-Py;q_(q(8w>tk2!qhR| zml`~e)m*9h-?aM48{edYu|R~;Z=e#)7?9`#zYxc*02d}nIB@c{B#MI((4(+#g|FSti=^{tVS`mv4FyJ8XHXvogby6 z{Y5C-jwH|8l1Fd=@AoJgsIX8P{)e;S^OBD<89FVv2DSz(5hY*FSYepm2UQ@~cxqW& zJQ2;^`5v01jUa6@vQsT^{)43H4_tL^Lk#5xj6LIx44^}p3uNzQfzV`qR1*a=f4jA)UJ=wL0)ze!K zs0XLBkhhLF)e$EW2d{kmj+E%fEj}GrG}i z0u`{=y33?YzoH>wwhI_@VLVen4X8N+ZhR5b?_k_yNew{87L?TJQ8UUyXWW6ZqC-4I zLyssr91ja-IP@D`nlNtkUI<*}`-G}P3DZu- z9i#=Oq=e;riF?JENknLm!#42mCYHbeOdsCvhlx4`erC0sm`QDZn3zsCv+VSoq)B{5 zG&fPoUAdp5S!Fxk(Rk63bJQlzJ8s9!Gm!XgCexjYUyb24FzerFWW~RPymoY8;t*|9 zx7)f8bRv+rYp;}j-yQ7sLdE~?k8Ntx7qO+0%+sLwZEJubD;mjWWs#`l~ry;NgOR$%m~m zd(QB(kduS|za`@Pb6=F9_RdMZDAP^OgC_yfb{Atmykr zd3l-F|5Xmgx4k;zQTOUtd&jbsE8M=astVw)Shln^-nQ0V8uK<+#hQIBes{UIeC7|eU!)oZywiF*3?2!gN5gI~kp!XE{G6*4w_sm;-7LPY=6 zF?g{g{LQSDq(4K3_zV9Q@YM`|V)i>`0{#PJMw6fZMPW4fyMPn_k}sPauH|~rIUvCs zt4;XRW+F9nxVy##*tr7qY6RgQnqk7P7=YRi?UN|1@yMxyO?iP*Zq~#pHi+>MK%!gmU2>v%O0`KH} z^1o~N5Qpb~kMIW<;Uh)c;~nwNmX@-pWPP469A6%e(gzAV@EybEmEomrE1M#1;pX_t z_Kt9*bBz>TxqMYyEFNnv^Nx-|A1z!Kj--fDln^!e0PjN0b~xzFERUR6^C7G7U@b4%?1fZPZ2iU>5Q@I_jxs$%8Uk(w_; zZpvN(>Smw6Jksp*R@6kxYkZaEUxb>=UJmlAXbiS%sq{C^EU#>?sr(}3X5)TPH_fbx zlt-#s%A*xgUo`fGG&iX$Npy5tIew!4sK2Sa(p%4*Y*|~ZJ>1l}tS!E5MMqgvtUS`v zQdRA5s;u_;{Y|2G!*drY4fWyr`2qUWX5gFim4;v)ybPb&6u@wE$I5Uk9E(1ePbfx)4Psr=9sDczV(U!`lN`I9<3R{uSe*qr8Dhw(}5^IBJo1+8# zys_$Pf21W6sqy;!Go#huH!rkcjuHwlm^=6O`o-bJ%A8O=)caglp1C5Hpzf%wuJG2B z$C_K3V*Y4#RXzKD=!M?~{k$)VhDUycbj0UE*=J2h|8(ge`QRyi$CSx&kuQ?weLGbu z>sY%y9%(`vZ#UCckz27c9xGeAqO**AqD`=8qiwMCC8 zi?ju>-1ciZy-2t5xR4R!CtsenJbDp7iB#+Z1%1B%v~zl4f2o#Z@>J{tIrIYib)kaf z7xeC06!3_Y?3?=ty#?%h$k3ib^sm^Titl0Ph!>&%PbY8AwEzGB diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul index 5a7b7a317f4ff293f38a76cc070d98bce8d9919f..9f9ab8968bd5642e2b08a857ba33f4d91694cc4f 100755 GIT binary patch literal 30304 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 literal 24360 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�AZLM`1#%Y1 zSs-VDoCR_g_}j36xW7r<*F-U5%Z$vtnwqcLr!H#jY>jlebwzL^=H@7~xlC;jiL&;g5p80vQW#YO^gfFrt5I7`{*v{$`X)(zlQy`NF>iel??? zn7+qM;QtAk(e!`*9Qb#EC;3Ge8xr232*<3fwyu+>F4-_-#`a0crN4kA91|X zY2feSe)}fJOMF1Z`9Qc5e$UM+O~k+- zgV{mMOM?DlhCiF0{zu({O2s@O=;>dUSikW5=T`H6`33NFFJSile|;REea|2LSY@>P z1^*1ZT~wBle$45+c)eoYLuZXjPd};|O-?!RqupP)kmIxO9b9}4Ia07a(h=!wYAOjz z<~4-=$Vz{ZE+Xu}eTAVm|MHf$#z2cd6lrVk@CQ2ANWr$1t6IX5aHzyNIt5)$xWXT3 zZx5{Xhg&1c)VXryTCik5eo#h6kmBaSP-EMgaLC`(*&2*snkuObhDyU# zjjnQMSw&gdjO&8SJ5e>K3H`UscU7E4?Q$-` zjfiz^q0W|YIaTGK;i_m3lvT|Ll~GQcO7`Mv>_Obv}D02mxDk{RI zm4T}BVK*u-19!;fE)9fS&a$dtX_c$I^nAE^<)vV+2!_%4rgC@VjMDN@Rr&d_8D_w4Pqv#(0+=WVAt-p4@hwjAmd}F>+=dFR8;66-&^oKgy{LSzTx*3yP z2F19!)L*M|X4SLsJbJ3!xOx-%y2~n{MOCn=ys_L};SQp;B;^>Y-TzkcrAn`;~V4ayu}Et>bazBr>b9Hs6kuPk#` zm4-u2jbV4NvZ9t<^m+Cro}YL1r+?&ap(F0~WcQDbe#hu%+)PRrjxs&Yadl|cC8ttJ z$J&*VKqJyfyOB1FTx(k-T(Z2ivxIykblr-O#GvLtN3&ECTH6XvBaO66CGFvs03oFk z<^UzDS|SpCl`L;VCK6tQZ`Ow;;buO?G>5<^AcN1CYYa+}htR;v6+u*mTTrEv#*PlD z1e4rK%v~9?_g|l-c$s2Uw%j4D1;2>1MM^(aqlfCHtl$^%ay4)yTkwmxU8LJkmicgTX_Sf_$rk(~P8aC`PMNL0 zsDB~KNoIPz6mbMk#eRf~VReZ-rC-MuC1V`KzB-$tiP1%GBbCS7V~ntA;PxMK7(<}2|L?GfXb lwktw+lUtIi8w@Bc49^Qiy@Hm)<H<# diff --git a/machine_interface/tests/data/test_wasm_basic b/machine_interface/tests/data/test_wasm_basic index a82e1b8e7b5b37d2a5de84ebf4711e5c05febcfe..6b288fac6f09155f1c7f4e22d616b5dcce1a9f70 100755 GIT binary patch delta 622 zcmZ9K&ubGw6vt;~H`&==>885DqKB7k+N{m>?@cRoRqVV1?oUzgo47VuXC~6LiVGz*~6Nu2ufFEPxJ$ieR9J zLgoW1EJBeARqJsWhv0F3f@ld!FhO6yH})cL;u&X(W{61p*l@Oa7k?>IaIexN58N{G z9rvBrRekPLgL#+_MLc+zNpmk&bdzWU8lmXm=17|^_+%t!cGMOJj$Qu>u}^-DENx5Km6`|DB#2>b5cD1N@Sk z8>-zH@&R5xw^zR*SVYgF$T(vs6pZ5ZnlKenPukA^M6KTk+SsD7GJ>Vb>uXQeI4+-m F^asc&vJ?OS delta 609 zcmX?OzTbR8EPD?JcRhn+!^RYUX2uzlw=ionHcWoNtOR5;v*-fZhAeuFb0#OSSOUpe zEH*&$I+zq;y#!=GXLV*=FqKt7iOmj+YE=PPEDB0y zObiMv8cZCD%0PuG3MxQ_V53zPR27u76xD#D>I&)#YCsz%@8J$(?3pagqYLzdBam#F zoX^w3xMuPfu!s_`3D76uym~i)Jn3&la875~+Cj$Vx>Y)_? diff --git a/machine_interface/tests/data/test_wasm_busy b/machine_interface/tests/data/test_wasm_busy index 35005fe78617cb446bd047163b3c71da9d5c1f53..6fa72d9f7d2a60c2dbf1ff44bd8441ab4ff49e04 100755 GIT binary patch delta 592 zcmZ8eze`(D7`@+x_apE5USj+etHO<`CQ=d?wUt9v`ZJoKcI`)^R6h;Z#egy^ZmFV_kPMB=Bv-GitTQS zQseWBltDZE&bUVnJ}`#CPmCcWsfdT)~T)CmM zW>PHB?rXSZRnEv7&vsT5JK7{gQMZ@mCXzylFnQkj0Iz)6Tfi$9`lk6qd=mONJ_kL} zwG4dQ72xjU_!#HAU23+UbbpaB!j>jl)^D|^*h$RZ=-tHnt-7n+b>Hv)Z^egFl<@I) o1qpG95QzWJ(9=4N(_RMzJ#||?Ac}$z_{_njZ9^%2ZKo_-zd6;+6CfqaUVFzE# zC}nN2M=8yeJqIUvOT2_1_I^qnb;Rmf9XHMs5oMMZ%<;JhD_3Gp8JuO|ZjhVdnFuT4 zq^sa73KKXu3@@-O6(ug!i*K%BdgV`Vf?he%GJ;3$0n#=1H0idcG~rfLk?yX!yD{Eu zK&~>=e96eDkK|}%_0M<^b>HN#-u12i>HDtz%su(9M~8sETs8Wn|DN~CQ)`AbC?MfN G$MP3O*q#&s diff --git a/machine_interface/tests/data/test_wasm_matmac b/machine_interface/tests/data/test_wasm_matmac index 107bbf18afbcad4af0a33401cb87d0b0699bf329..b0610d404f3ce0a23dd9c071dca3acba293b154b 100755 GIT binary patch delta 592 zcmZ4Mw99EiJbMENcRhpSl8tHeIT(8;vvF!OE}3k^sRU$)a_R!v&769S6DDusv;>lG zIBkHWCKrfIo4)6vktpvcDLpuon<;K-oJuE4Ir z)B+ad0CG7MI2Aa|n82#IfqX6nE)AwNll2Ac`M_d8AyEZUkWh_)3}eUSnF98VYbM_m zkdcHKtg4`@pq!G-@)RU>IY=7GsuxK7oG+!ZKgK5g-10oZEAsHwt z1~ei=)B?y}C~6N3)rX>aKz4wb8<0I+EEY(96`KK66CkF^!@~&j60ZWU2GfeohsC!u z0mVVORseNbPM#yJhh&QKJVL+nw2vvF!OHcU3+R06U?Idy^TW==iEIg>YWS^~*8 zoHjsGlM6(qaa{tEmfX&aD<;=+#{kJ&VA7li#Gb;ljd8(bZ(ei8mdVY$>Ol5tUK_?G zlV9*!14UH$tbyzVAlWi`4w$^b=Ky3&@`K1I{spET9Ssc(ifl{{3T(U#jtq+I3hWw8 z6TpHTKrW{Orvir=6Ic~Dkk6&SrNPuOSzo}O4=e^05>*fd3DpS5Fix2~Q^20FWAaS_ z8A*u2stT$K%2|qPKy~U0>I!N=qbBnShB5X`P8HMzI(9OUY?*veu!V8WWH%v@NQsaM z(8()>^nl_wgboR;0lUQ)Xn>!Bp9a&C&8vjj7zLJqMe~57`3m_OObaF-5SaiB$v{yt zpb;6O7C`nwQF~yhJ`~LZvIE52fb8jFu|V>x*bJbW05MG-9!8Ltcoldxm|8X;7T?YU z6bI>Q0qU}xJV#m&$rR6Mm3?x@fUJoW;b2|XpIy@jUmuG?LnvRAB21Pa|2L(1>21f=(b_I3~ zrWUXu2awCDz^TAt#spTy4dinvaA`2Dne4=C&j%I*3W+L+f`s~cWf(gqui>?4Tr>F% zuZ$$bU{wWG1?4P7HK00m1$6~Apiz?*`N9|*CRgz30v)>yNUoTCg|CHi!Q@DOkVref z3DC)V`1OF|ulWxNEC9R37ifT=f}aM{jLmxm*cb(7fJO6wqWKE>8cb6rUlyDo(E}D_ zRAA)i7Gq?p2TC$1Fn}bhg)D%<+$U}i4CZsVShS6N4i#=2aLN v85sTp0Rs@A(;zW0a9qN{%>(0r>9?CRq~n>m_?Q@2^->Z`5*a6-l1&Bx28Xia delta 580 zcmdmGv({!p9D5H3cRhn+!^YIjtc)`zOR{M*HcWP9Qv$Lx*mQyHX>59ob0!~Uvjmd= z*=&HM4LgXeWWNL?eK?#MS4^J35d$ROf=Mq<5PLc2HpT^$1Id=j>%rt}ZU-P+hX+LF@+>gz=xAtQP-J6rP+;R_aAZ(qS76s* zngAB$0CG7MI2Aa|n82#IfqX6nE)AxR$xgiXd|)x4kf?$vNT{DzhH=W|HN5tW9h2Yi z%1A;CR#i|{P|i|R1FBP3P*+d`8Z}vwFO0Egas{6*(6P&aWXt3$d@YP?CP(svMB4dH zfKJ}SuLl%=&3{N>4cINdKm+^~{4|)BY~Cxt#wf4^ESd)t%~#0RU|KNwvfu=X8DK$1 z1x9{uF-E3(pd^C=14y!3$O0J5ed6}OU_K{qIaycO6v$sFqB*%oSQaR@N;nosa)`_T z+P_f5gt2AwHIeO1Kn_St3s6fsl6K|EGbLQ$d^yQ9AO?&Ymh#{I~ z5DSlL1<`{DRghR#Z0beCL+ZhU9#r&D#6$I@z4&uc-&?CVuy4P4?|a|-W@cfX-Ct*O zCYxFsx*Hu22PA0)KdIt=t+?Ml4sDer?p`!7b@Y;@^RBIHSd|=6(=|ujB)(I4D>q&- zB#LDsK2nfy$bHS__F0Yn}$sV?5)> zJMjZdfiLmYfQf=MHS}jH0!Lg{{Hd#QW68I2RRt^2A112fDkZd`!ihw7(C>9;~ zSKKx76hcp3d#|sEzD&5D$S@NgCR(~h63v%#GlIfgbON~NZpTlH1q)6pneDXUq9&n{ zRtOqOo>|~2Q#&Qhm%Db+B&P%nABalP;9{OE7hcE>%NL$Ep_)9%a&Rr#JM5R9$c+$Q zVOi9QIY%^Aq_2dLE4PnmoUNAKS`Y^|P56);3+1qinktN@=47Js4sjj1-BjRx>NyKT zJDtZHTuT=aXVgAsz=&GW>A85}seGQ!H`=u$)Fyq}hrt$C47jD(#ZWu|vJbA#cA znoTgX`%!2zOF}IlW4?!8+ZN-o0PM<+AeZWf7l4B-j3>n zZSd?=q!*?BF5@5AOd8(jv1QgnH%!a$+Q)wcz1tIs#Fly(@)LdVrmnI@*r=D-IoLf@ KV((yjX7D#Z;k#%6 delta 709 zcmX|8O=uHA6rRCN*+9%@lTErIYd4g&rjVK*gf>Em)9k9nCpX|fhq0F2K~+41yg7Ir2#oLPYsw;4UAXS8pfaM5Y50qv>)SmG>7q`A0I^z z(=>dICI%!F6kFw;t(Z9cM%v%HuGE)(E4MAk#`;5o>bP1FZCEfBOYQS#-33L$j>yaI zrtl=Ar>;HXE21w6?#7Z-f|Xd)l!Zj&oze)SFyoyF*39krZN4PKjF#Lj3dXAhjWji= zYdI=|r=8y)!hWf17c#=BNGw0$<$}fdqOhFbQ0iGkB8r+8j3ru%pt6qOI!e2dhEIvNREKtN z4sUR?H;;Kz@1q1p^|C3Ri{;mpE8_pgx^`HMkuL`^*!&iO2l^A7sw8zPd1sUNC>CN^ zf=ucV3eBa2P}9$`9~7@`^J!Ir;nXN{1upsc-#PE0apC|>%&Iqg`nWZO`$!gVzi1FtTyx4;`E%cIuh=yR7 zK@2>qIoYch31JT=UPJ_wgJSid;zjV(o+MBd1gr0@RUFuF-@Ny|?|n1V+GLM5S<_4QG|QP#MJ4#IYabIhK^OmkrhLC(Gn5d4+=g@`*KccB=zt>$-1DK(>?0zOs zLG;uw9q<*=mj#Do31-2C*s_r$iN-s%5kX-gy8+w_x9g{6D+fPgi80y;Sy9l)auD{! z^DGDF;@9^om@oEA1&f?gVETb97fc~n$g=%bt>=8<6$^&(<17odmY(%X&((Smudpa9 zg{&hR8q#}VlHyy>>}fcL!iCeGs`+xBU8cpEqyt{c$|kFI+V0|33^zG*6!28U=SD zl18b&%lsE?Crxj)+GioUVOpkl?Q(V0TU)rwccjMP>y->#s%dNhi?unn4?2ivVOX2~ E4d{`*I{*Lx delta 709 zcmX|8OK1~O6rHD&Fp)H)bdpSxNha2zO(8X1sUybv%#2ozxG>dCaAOu-Ds)ppq{d)} zrx<#vW~Ey<5=s`PZlnk%3&qbuOE-!uyOKar5G>w1eg@`n-#zD^d*;pKE!Ns%%^X`_ z89zN-)n!Rq#aAkO-^<>Quj4xytY@NNEH+j!74P+%(R7}Gak4W#@8*2RnL!o#| z!e<%^roE3`ZC^LoHuvUCor~uNycxEc0U^ym9M!HOwzLVBgO}O};-*$WOhgG!MNhCS zG^4Rm84YQx@@Fd+uDF-=xAxWgiXY{H1+StbVUoI@Hia=P_!&)&`Lo`fDr1N0viFHH zDVV9}9P}MAmkdW@2`0mZ*rKVBMdQ8Nh@deS-Q9TRUe|AnmIA+Gi6J_0QIRmnq6Yio z1*X9H_?7)(?3a2@F-J+Mu>3-lixwBl6xn{K*7LscvJ8XxNtOp&Pfz&Nnp#)z3QM9= z%(|jsp?o!rTD5(~;H+QrDgj*BkfE+$RPxB8rv+d1rb<%YC9SKr8(COLykfbX7 zgFp&4E^A0Aop04UEcBo5+`3c^E(HUf&$U@?M{o!xYZ;iG*I5@9=BIGo8X^aFZR|HB CaI+r( diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_matmac b/machine_interface/tests/data/test_wasmtime_x86_64_matmac index 6bec04515fbbe904a2f54f39c721f6dca866c98b..c014093a849d47b9c41cb959ac3c6893289a3ad1 100644 GIT binary patch delta 741 zcmYjO&ubGw6yB++ZZXZaxYUi=WYaWBH?T3i*(jlIvs)G8ArcUz{R5&DDg;4VJs6@{ zMls=0e}L#A7ZoIw1x>va@sM5w^`PRVh!?%-Me9XbDe5{Dvx~ZYuRPVda(vRx}YLs_UsUXhVb3(a5Ce^=e80GZdG+ zE%GFzr@nJQD55VD?ncARgeTFaVUa}RjnW9Au+4h`JlkGRr1@Hx z^;nKs;K!EsOPDYAoq|bDDM*TdmkLRnuaf2bYo%@p;Z+mL#t{~WJ4Q4sO3#(Lj8|CX zl|tO*4Grn*LF6jk7SXn$M8VS zCYY(iC{#_6P*cR1AEMWG`21)9rc%?$rMfBV|N8s~>63GN@xOlKqEY|v@NH1@GmC*; zkX;GEq1x`TBvELQu-Fl%kQagKvI^On>|d%~V?%V+qU`TEzp&F^Tsf-_#D-yGIR@J; TjV-}wdxpJ-GU88Yw^9xR1X5E^ZIqBsvs)G8p%PG}y&FMLNJa7IV2oxN zN>U#62SpFLs34&%XzE49LwYHw2L&&sh@dxnQBUHVsSES?-h1Es-nTRFI|IGWKs!w? zEoYwXosFo9vVun`d%w!w@9&vyio(3x3YLy9WKGt0Op0B_`7e6?6G0+> zDTuGaNI2qsW_tG;C4ZS$Gb4<@rjRr8ghJJz7;hODF#a({Ng7f#f$=EKVZ1EkQ#ws7 z_(}JqR1_3jwXLlPT;8(e)>XZ}EUnzNAsb5s1=aP!MYLhV>6o!k&U!Un#frdXZ(VrO z&{N+Tmx}01g@>^yQQ<|bX=*~E@lkJtP?+)FF3g$NlVyHSgSmKgNFl$8RiB}4i z%NsV*SAxjZyT>Rat0k{8hzlDkd^JyMS?r>w4O3QI7gW|0TvzWlEZDHtNCdjWIlRI3 z;XLAKB2E;TNR&n*7w#b4(zvY-uvG7zM0wBW}Dk= z!DjhZ_NiKpMkHwkKdJ10FZ(~fX7@@G_itI4I(yqOdB-&ktV*7!n1&}F5Z^0&RBG=T z62(g*zEY8J%KyNX=5>Sp;{J@Oaq+qza`6J|hv~S1cr$(t@n?LL88Dm}LOh+wAgql&GGsj-w3?E+kVUVXr@k>g!59hQeI5Be>^&J4}mZ2QF&*KH6|mk8RxSrCitMF;yEsH`k zmBSnCrV1GA#vrp`%qW}mT)eQV+@SMKble!VN#BkkxMInIN5(VknoMiV4z8r{Gu%+K z4Yqk4g{DmsYJ@T7`{=b@QQaSbyg7zks@q|Gw=Z~{k&h(tTsydE)c=3j>d}Jkx%FPy zxg0x)Qh%5AFW5~|B9HV`@TK~Y_0dh!vV!?b+1}v!)arpft5M)ngRnfSu{N}3$JqvK KAuhq;xsl%zZNFv! delta 700 zcmX|8O=uHA6rRCt*g(u$%+GGK>4vh@1X9zBv=Ks_X4fB#heAXs(TjmnPYM;~_v2e;2O-S6La=r0YSv;M$1-tBTwbwEm){e3H~(3yf1n8D z&js*B1ObP=k4$S_FzIjROY(IJ|K!Po%CBe5LDSs5S2 z4$>5C#A1UA3W}}j_Et<>ek~=pu4?rqY2~I3+4w+6KwU3VL>o3t#1nfY*PGT9?1;SV zb%iGtJ$0NBsffN5xDz+10?*=2OBE80HLVdwVaD6Lux4Icw)rg;PU^-^Q7~R1Xrvi| zx}Kvd`1;wsA?%krP9ZIvio}))FBfda7lh^fd##?8!V3zF8;58XZX3xVIeMklRlLFy zuM|=)Z`cT54k1=+9W@zUEqRq5T-Z?Ht8qfj;uJM)80(wU1eCP}*40{#6nyD>OLb@^ za(IK?L>_a)?56}q&9Wt)i{)Qym&E^#b)2xEk@fu;9Dakqee(&j#*;c#{4>eB6bnIC zAZ;B$p(#rUHD!+dpm=SES9=v0wnh;v=8ByE<@pa&>OPpP_09+S{qFI#z4%XGZ8EyqPJ|6$s82gBQ Date: Mon, 18 Dec 2023 17:17:43 +0100 Subject: [PATCH 64/91] Update lock to read write lock, originally made by Pinghe, cherri picked changes to separate from other changes --- dispatcher/Cargo.toml | 1 + dispatcher/src/function_registry.rs | 31 +++--- server/src/main.rs | 164 ++++++++++++++++++++++++---- 3 files changed, 157 insertions(+), 39 deletions(-) diff --git a/dispatcher/Cargo.toml b/dispatcher/Cargo.toml index 0cb283cb..2d530401 100644 --- a/dispatcher/Cargo.toml +++ b/dispatcher/Cargo.toml @@ -11,6 +11,7 @@ dandelion_commons = {path = "../dandelion_commons"} machine_interface = {path = "../machine_interface"} futures = {version = "0.3.28", default-features = false} itertools = {version = "0.11", default-features = false, features = ["use_alloc"]} +async-lock = "3.1" [features] cheri = ["machine_interface/cheri"] diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index 480784ac..9a690f52 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -1,5 +1,5 @@ +use async_lock::RwLock; use dandelion_commons::{DandelionError, DandelionResult, EngineTypeId, FunctionId}; -use futures::lock::Mutex; use machine_interface::{ function_driver::{ system_driver::{get_system_function_input_sets, get_system_function_output_sets}, @@ -33,9 +33,9 @@ pub struct FunctionRegistry { pub(crate) drivers: BTreeMap>, // TODO replace with futures compatible RW lock if it becomes a bottleneck /// map with list of all options for each function - options: Mutex>>, + options: RwLock>>, /// map with function information for functions that are available in memory - in_memory: Mutex>, + in_memory: RwLock>, /// map with file paths for functions for on disk available functons on_disk: BTreeMap<(FunctionId, EngineTypeId), String>, /// map with input and output set names for functions @@ -47,15 +47,15 @@ impl FunctionRegistry { return FunctionRegistry { engine_map: BTreeMap::new(), drivers, - options: Mutex::new(BTreeMap::new()), - in_memory: Mutex::new(BTreeMap::new()), + options: RwLock::new(BTreeMap::new()), + in_memory: RwLock::new(BTreeMap::new()), on_disk: BTreeMap::new(), set_names: BTreeMap::new(), }; } pub async fn get_options(&self, function_id: FunctionId) -> DandelionResult> { // get the ones that are already loaded - let lock_guard = self.options.lock().await; + let lock_guard = self.options.read().await; let alternatives = lock_guard.get(&function_id); return alternatives .and_then(|alt| Some(alt.to_vec())) @@ -219,10 +219,12 @@ impl FunctionRegistry { non_caching: bool, ) -> DandelionResult<(Context, FunctionConfig)> { // check if function for the engine is in registry already - let mut lock_guard = self.in_memory.lock().await; - if let Some(function) = lock_guard.get(&(function_id, engine_id)) { - let function_context = function.load(domain)?; - return Ok((function_context, function.config.clone())); + { + let lock_read_guard = self.in_memory.read().await; + if let Some(function) = lock_read_guard.get(&(function_id, engine_id)) { + let function_context = function.load(domain)?; + return Ok((function_context, function.config.clone())); + } } // if it is not in memory or disk we return the error from loading as it is not available @@ -230,12 +232,9 @@ impl FunctionRegistry { let function_context = function.load(domain)?; let function_config = function.config.clone(); if !non_caching { - if lock_guard - .insert((function_id, engine_id), function) - .is_some() - { - panic!("Function not in registry even after Ok from loading"); - }; + let mut lock_write_guard = self.in_memory.write().await; + // the same function could be loaded multiple times + let _old = lock_write_guard.insert((function_id, engine_id), function); } return Ok((function_context, function_config)); } diff --git a/server/src/main.rs b/server/src/main.rs index 2ac2c5f7..ccd171ba 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -57,23 +57,36 @@ use std::{ convert::Infallible, mem::size_of, net::SocketAddr, + path::PathBuf, + process::Command, sync::{ atomic::{AtomicU8, Ordering}, Arc, Once, }, + time::Duration, }; use tokio::runtime::Builder; -const HOT_ID: u64 = 0; -const COLD_ID: u64 = 1; +const MMM_ID: u64 = 0; const HTTP_ID: u64 = 2; const BUSY_ID: u64 = 3; const COMPOSITION_ID: u64 = 4; +// can support 10000 RPS for 2 mins +const NUM_COLD: u64 = 0x100000; +const MMM_COLD_ID_BASE: u64 = 0x1000000; +const BUSY_COLD_ID_BASE: u64 = 0x2000000; +const COMPOSITION_COLD_ID_BASE: u64 = 0x3000000; + static INIT_MATRIX: Once = Once::new(); static mut DUMMY_MATRIX: Vec = Vec::new(); -async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: String) -> u64 { +async fn run_chain( + dispatcher: Arc, + is_cold: bool, + get_uri: String, + post_uri: String, +) -> u64 { let domain = MallocMemoryDomain::init(vec![]).expect("Should be able to get malloc domain"); let mut input_context = domain .acquire_context(128) @@ -129,8 +142,14 @@ async fn run_chain(dispatcher: Arc, get_uri: String, post_uri: Strin ]; let output_mapping = vec![Some(0), Some(1)]; + let counter = dispatcher.counter.fetch_add(1, Ordering::Relaxed); + let function_id = if !is_cold { + COMPOSITION_ID + } else { + COMPOSITION_COLD_ID_BASE + counter % NUM_COLD + }; let result = dispatcher - .queue_function(COMPOSITION_ID, inputs, output_mapping, false) + .queue_function(function_id, inputs, output_mapping, false) .await .expect("Should get response from chain"); assert_eq!(2, result.len()); @@ -200,8 +219,14 @@ async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, c }, )]; let outputs = vec![Some(0)]; + let counter = dispatcher.counter.fetch_add(1, Ordering::Relaxed); + let function_id = if !is_cold { + MMM_ID + } else { + MMM_COLD_ID_BASE + counter % NUM_COLD + }; let result = dispatcher - .queue_function(is_cold as u64, inputs, outputs, is_cold) + .queue_function(function_id, inputs, outputs, is_cold) .await; let result_context = result @@ -296,6 +321,7 @@ async fn serve_request( } async fn serve_chain( + is_cold: bool, req: Request, dispatcher: Arc, ) -> Result, Infallible> { @@ -308,7 +334,7 @@ async fn serve_chain( let get_uri = uris[0].to_string(); let post_uri = uris[1].to_string(); - let response_vec = run_chain(dispatcher, get_uri, post_uri) + let response_vec = run_chain(dispatcher, is_cold, get_uri, post_uri) .await .to_be_bytes() .to_vec(); @@ -381,10 +407,10 @@ async fn service( match uri { "/cold/matmul" => serve_request(true, req, dispatcher).await, "/hot/matmul" => serve_request(false, req, dispatcher).await, - "/cold/compute" => serve_chain(req, dispatcher).await, - "/hot/compute" => serve_chain(req, dispatcher).await, - "/hot/io" => serve_chain(req, dispatcher).await, - "/cold/io" => serve_chain(req, dispatcher).await, + "/cold/compute" => serve_chain(true, req, dispatcher).await, + "/hot/compute" => serve_chain(false, req, dispatcher).await, + "/cold/io" => serve_chain(true, req, dispatcher).await, + "/hot/io" => serve_chain(false, req, dispatcher).await, "/native" => serve_native(req).await, "/stats" => serve_stats(req, dispatcher).await, _ => Ok::<_, Infallible>(Response::new( @@ -394,6 +420,48 @@ async fn service( } } +fn drop_page_caches() { + let output = Command::new("sh") + .arg("-c") + .arg("echo 1 | sudo tee /proc/sys/vm/drop_caches") + .output() + .expect("Should be able to drop page caches"); + assert!(output.status.success()); +} + +fn no_page_cache_for(path: PathBuf) -> bool { + let output = Command::new("fincore") + .args(["-n", "-r", "-o", "pages", path.to_str().unwrap()]) + .output() + .expect("Should be able to get page numbers"); + assert!(output.status.success()); + return output.stdout[0] == '0' as u8; +} + +fn add_cold_functions( + registry: &mut FunctionRegistry, + engine_id: EngineTypeId, + path: &PathBuf, + cold_id_base: u64, +) -> PathBuf { + let tmp_dir = std::path::Path::new("/tmp").join(path.file_name().unwrap()); + std::fs::create_dir_all(&tmp_dir).unwrap(); + for i in 0..NUM_COLD { + let tmp_path = tmp_dir.join(i.to_string()); + if !tmp_path.exists() { + std::fs::copy(path, &tmp_path).unwrap(); + } + registry.add_local( + cold_id_base + i, + engine_id, + tmp_path.to_str().unwrap(), + vec![String::from("")], + vec![String::from("")], + ); + } + return tmp_dir; +} + fn main() -> () { env_logger::init(); // set up dispatcher configuration basics @@ -442,8 +510,8 @@ fn main() -> () { #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io"))] { let mut drivers = BTreeMap::new(); - let mut mmm_path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); - let mut busy_path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); + let mut mmm_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + let mut busy_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); let driver; #[cfg(feature = "cheri")] { @@ -491,23 +559,18 @@ fn main() -> () { drivers.insert(COMPUTE_ENGINE, driver); drivers.insert(SYS_ENGINE, system_driver); registry = FunctionRegistry::new(drivers); - // add for hot function - registry.add_local( - HOT_ID, - COMPUTE_ENGINE, - mmm_path.to_str().unwrap(), - vec![String::from("")], - vec![String::from("")], - ); - // add for cold function + // add for mmm hot function registry.add_local( - COLD_ID, + MMM_ID, COMPUTE_ENGINE, mmm_path.to_str().unwrap(), vec![String::from("")], vec![String::from("")], ); - // add for cold function + // add for mmm cold functions + let mmm_cold_dir = + add_cold_functions(&mut registry, COMPUTE_ENGINE, &mmm_path, MMM_COLD_ID_BASE); + // add for busy hot functions registry.add_local( BUSY_ID, COMPUTE_ENGINE, @@ -515,11 +578,15 @@ fn main() -> () { vec![String::from("")], vec![String::from("")], ); + // add for busy cold functions + let busy_cold_dir = + add_cold_functions(&mut registry, COMPUTE_ENGINE, &busy_path, BUSY_COLD_ID_BASE); // add http system function // first try only download and spin, TODO: add upload registry .add_system(HTTP_ID, SYS_ENGINE) .expect("Should be able to add system function"); + // add composition using hot busy function let composition = Composition { dependencies: vec![ FunctionDependencies { @@ -549,6 +616,57 @@ fn main() -> () { output_sets, output_set_map, ); + // add compositions using cold busy functions + for i in 0..NUM_COLD { + let composition = Composition { + dependencies: vec![ + FunctionDependencies { + function: HTTP_ID, + input_set_ids: vec![Some(0), None, None], + output_set_ids: vec![Some(1), Some(2), Some(3)], + }, + FunctionDependencies { + function: BUSY_COLD_ID_BASE + i, + input_set_ids: vec![Some(3)], + output_set_ids: vec![Some(4)], + }, + FunctionDependencies { + function: HTTP_ID, + input_set_ids: vec![Some(5), None, Some(4)], + output_set_ids: vec![Some(6)], + }, + ], + }; + let output_set_map = BTreeMap::from([(4, 0), (6, 1)]); + let input_sets = get_system_function_input_sets(SystemFunction::HTTP); + let output_sets = get_system_function_output_sets(SystemFunction::HTTP); + registry.add_composition( + COMPOSITION_COLD_ID_BASE + i, + composition, + input_sets, + output_sets, + output_set_map, + ); + } + // drop page caches to ensure cold functions are loaded from disk + loop { + info!("Waiting for page cache to be clean"); + drop_page_caches(); + std::thread::sleep(Duration::from_secs(10)); + // check if page caches are actually dropped + let mut no_page_cache_for_all = true; + for i in (0..NUM_COLD).step_by(1000) { + let mmm_cold_path = mmm_cold_dir.join(i.to_string()); + let busy_cold_path = busy_cold_dir.join(i.to_string()); + if !no_page_cache_for(mmm_cold_path) || !no_page_cache_for(busy_cold_path) { + no_page_cache_for_all = false; + break; + } + } + if no_page_cache_for_all { + break; + } + } } #[cfg(not(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io")))] { From 3fa4952ebada07d3ab99b57608d0d180fb199946 Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Mon, 18 Dec 2023 18:09:12 +0100 Subject: [PATCH 65/91] Fix main broken from picking --- dispatcher/tests/dispatcher_tests.rs | 6 ++--- server/Cargo.toml | 5 ---- server/src/main.rs | 38 +++++++++++++++++----------- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index 24659248..4bb2a264 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -612,10 +612,10 @@ mod dispatcher_tests { function_driver::{compute_driver::wasm::WasmDriver, ComputeResource}, memory_domain::wasm::WasmMemoryDomain, }; - + #[cfg(target_arch = "x86_64")] - dispatcherTests!(sysld_wasmi_x86_64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![ComputeResource::CPU(1)]); - + dispatcherTests!(sysld_wasm_x86_64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![ComputeResource::CPU(1)]); + #[cfg(target_arch = "aarch64")] dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![ComputeResource::CPU(1)]); } diff --git a/server/Cargo.toml b/server/Cargo.toml index 2a5b032f..dec27721 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -22,11 +22,6 @@ assert_cmd = "2.0" byteorder = "1.5" reqwest = { version = "0.11", default-features = false, features = ["blocking"] } -[dev-dependencies] -assert_cmd = "2.0" -byteorder = "1.5" -reqwest = { version = "0.11", default-features = false, features = ["blocking"] } - [features] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] diff --git a/server/src/main.rs b/server/src/main.rs index ccd171ba..0718e97b 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -25,25 +25,26 @@ use machine_interface::{ #[cfg(feature = "hyper_io")] use machine_interface::function_driver::system_driver::hyper::HyperDriver; -#[cfg(feature = "cheri")] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm"))] use machine_interface::{ - function_driver::{compute_driver::cheri::CheriDriver, Driver}, - memory_domain::{cheri::CheriMemoryDomain, Context, ContextTrait, MemoryDomain}, + function_driver::Driver, + memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, }; +#[cfg(feature = "cheri")] +use machine_interface::{ + function_driver::compute_driver::cheri::CheriDriver, memory_domain::cheri::CheriMemoryDomain, +}; + #[cfg(feature = "mmu")] use machine_interface::{ - function_driver::{compute_driver::mmu::MmuDriver, Driver}, - memory_domain::{mmu::MmuMemoryDomain, Context, ContextTrait, MemoryDomain}, - DataItem, DataSet, Position, + function_driver::compute_driver::mmu::MmuDriver, memory_domain::mmu::MmuMemoryDomain, }; #[cfg(feature = "wasm")] use machine_interface::{ - function_driver::{compute_driver::wasm::WasmDriver, Driver}, - memory_domain::{wasm::WasmMemoryDomain, Context, ContextTrait, MemoryDomain}, - DataItem, DataSet, Position, + function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, }; #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] @@ -60,7 +61,7 @@ use std::{ path::PathBuf, process::Command, sync::{ - atomic::{AtomicU8, Ordering}, + atomic::{AtomicU64, AtomicU8, Ordering}, Arc, Once, }, time::Duration, @@ -80,6 +81,7 @@ const COMPOSITION_COLD_ID_BASE: u64 = 0x3000000; static INIT_MATRIX: Once = Once::new(); static mut DUMMY_MATRIX: Vec = Vec::new(); +static COLD_COUNTER: AtomicU64 = AtomicU64::new(0); async fn run_chain( dispatcher: Arc, @@ -142,7 +144,7 @@ async fn run_chain( ]; let output_mapping = vec![Some(0), Some(1)]; - let counter = dispatcher.counter.fetch_add(1, Ordering::Relaxed); + let counter = COLD_COUNTER.fetch_add(1, Ordering::Relaxed); let function_id = if !is_cold { COMPOSITION_ID } else { @@ -219,7 +221,7 @@ async fn run_mat_func(dispatcher: Arc, is_cold: bool, rows: usize, c }, )]; let outputs = vec![Some(0)]; - let counter = dispatcher.counter.fetch_add(1, Ordering::Relaxed); + let counter = COLD_COUNTER.fetch_add(1, Ordering::Relaxed); let function_id = if !is_cold { MMM_ID } else { @@ -483,7 +485,7 @@ fn main() -> () { num_dispatcher_cores ); let mut pool_map = BTreeMap::new(); - + pool_map.insert( COMPUTE_ENGINE, (num_dispatcher_cores..num_cores) @@ -507,7 +509,10 @@ fn main() -> () { // insert specific configuration #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm"))] std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); - #[cfg(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io"))] + #[cfg(all( + any(feature = "cheri", feature = "mmu", feature = "wasm"), + feature = "hyper_io" + ))] { let mut drivers = BTreeMap::new(); let mut mmm_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); @@ -668,7 +673,10 @@ fn main() -> () { } } } - #[cfg(not(all(any(feature = "cheri", feature = "mmu", feature = "wasm"), feature = "hyper_io")))] + #[cfg(not(all( + any(feature = "cheri", feature = "mmu", feature = "wasm"), + feature = "hyper_io" + )))] { let loader_map = BTreeMap::new(); registry = FunctionRegistry::new(loader_map); From 664cec4b8639d5c1e5ebe042387db70a6a42ad90 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 18 Dec 2023 22:39:58 +0100 Subject: [PATCH 66/91] fix wasm after merge --- machine_interface/src/function_driver/compute_driver/wasm.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index 612e211e..29525d2c 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -26,7 +26,6 @@ struct WasmCommand { lib: Arc, context: Arc>>, sysdata_offset: usize, - recorder: Option, } unsafe impl Send for WasmCommand {} @@ -47,7 +46,7 @@ impl ThreadPayload for WasmCommand { }; // call entry point - let ret = entry_point(&mut wasm_context.mem, sysdata_offset); + let ret = entry_point(&mut wasm_context.mem, self.sysdata_offset); // put context back *guard = Some(ctx); @@ -143,7 +142,6 @@ impl Engine for WasmEngine { WasmCommand { context: context_.clone(), lib: wasm_config.lib.clone(), - recorder: Some(recorder), sysdata_offset: wasm_config.system_data_struct_offset, }, ); From c034f2b5b22a5fb600e1854b9f8dabc3c0b40a06 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 18 Dec 2023 23:47:52 +0100 Subject: [PATCH 67/91] fix wasmtime after merge - fixes some types - adopts the new threading API for wasmtime - fixes wasmtime tests - makes wasmtime precompilation a feature --- machine_interface/Cargo.toml | 1 + .../compute_driver/compute_driver_tests.rs | 23 +++- .../compute_driver/wasmtime.rs | 104 ++++++------------ server/Cargo.toml | 3 +- server/src/main.rs | 14 ++- 5 files changed, 67 insertions(+), 78 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 20db2bf3..44e242b2 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -10,6 +10,7 @@ mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] wasmtime = ["std", "dep:wasmtime"] +wasmtime-precompiled = ["std", "wasmtime"] [build-dependencies] cmake = "0.1" diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 9c759530..e1171790 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -622,8 +622,22 @@ mod compute_driver_tests { #[cfg(feature = "wasmtime")] mod wasmtime { use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; + use crate::function_driver::ComputeResource; use crate::memory_domain::wasmtime::WasmtimeMemoryDomain; - + + #[cfg(not(feature = "wasmtime-precompiled"))] + driverTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; + vec![ + ComputeResource::CPU(1), + ComputeResource::CPU(2), + ComputeResource::CPU(3), + ]; + vec![ + ComputeResource::CPU(255), + ComputeResource::GPU(0), + ]); + + #[cfg(features = "wasmtime-precompiled")] #[cfg(target_arch = "x86_64")] driverTests!(wasmtime_x86_64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ @@ -635,9 +649,10 @@ mod compute_driver_tests { ComputeResource::CPU(255), ComputeResource::GPU(0), ]); - + + #[cfg(not(features = "wasmtime-precompiled"))] #[cfg(target_arch = "aarch64")] - driverTests!(wasmtime_aarch64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; + driverTests!(wasmtime_aarch64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ ComputeResource::CPU(1), ComputeResource::CPU(2), @@ -648,4 +663,4 @@ mod compute_driver_tests { ComputeResource::GPU(0), ]); } -} +} \ No newline at end of file diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index c06aab3d..d63524ea 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -1,6 +1,9 @@ use crate::{ DataSet, - function_driver::{Driver, Engine, FunctionConfig, Function, WasmtimeConfig}, + function_driver::{ + thread_utils::{DefaultState, ThreadCommand, ThreadController, ThreadPayload}, + ComputeResource, Driver, Engine, FunctionConfig, Function, WasmtimeConfig + }, memory_domain::{Context, ContextType, MemoryDomain, wasmtime::WasmtimeContext}, DataRequirementList, interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, @@ -26,29 +29,15 @@ use wasmtime; struct WasmtimeCommand { context: Arc>>, sysdata_offset: usize, - recorder: Option, } unsafe impl Send for WasmtimeCommand {} -fn run_thread( - core_id: u8, - command_receiver: std::sync::mpsc::Receiver, - mut result_sender: futures::channel::mpsc::Sender>, -) -> () { - - // set core - if !core_affinity::set_for_current(core_affinity::CoreId { id: core_id.into() }) { - return; - }; - info!("WASMTIME engine running on core {}", core_id); - - '_commandloop: for cmd in command_receiver.iter() { - // TODO improve safety - let WasmtimeCommand { context, sysdata_offset, recorder } = cmd; - +impl ThreadPayload for WasmtimeCommand { + type State = DefaultState; + fn run(self, _state: &mut Self::State) -> DandelionResult<()> { // get context - let mut guard = context.lock().unwrap(); + let mut guard = self.context.lock().unwrap(); let mut ctx = guard.take().unwrap(); let wasm_context: &mut Box = match &mut ctx.context { @@ -61,13 +50,13 @@ fn run_thread( // buffer the system data struct because it will be overridden at instantiation let mut sysdata_buffer = [0u8; core::mem::size_of::()]; - let _ = memory.read(&store, sysdata_offset, &mut sysdata_buffer); + let _ = memory.read(&store, self.sysdata_offset, &mut sysdata_buffer); // instantiate module let instance = wasmtime::Instance::new(store, &module, &[memory.into()]).unwrap(); // write the system data struct back - let _ = memory.write(wasm_context.store.as_mut().unwrap(), sysdata_offset, &sysdata_buffer); + let _ = memory.write(wasm_context.store.as_mut().unwrap(), self.sysdata_offset, &sysdata_buffer); // call entry point let entry = instance.get_typed_func::<(), ()>(wasm_context.store.as_mut().unwrap(), "_start").unwrap(); @@ -79,24 +68,9 @@ fn run_thread( // put context back *guard = Some(ctx); - // record - if let Some(mut recorder) = recorder { - let _ = recorder.record(RecordPoint::EngineEnd); - } - - let msg = match ret { + match ret { Ok(_) => Ok(()), Err(_) => Err(DandelionError::EngineError), - }; - - // try sending until succeeds - let mut not_sent = true; - while not_sent { - not_sent = match result_sender.try_send(msg.clone()) { - Ok(()) => false, - Err(err) if err.is_full() => true, - Err(_) => return , - } } } } @@ -113,7 +87,7 @@ impl Future for WasmtimeFuture<'_> { mut self: Pin<&mut Self>, cx: &mut futures::task::Context, ) -> futures::task::Poll { - match self.engine.result_receiver.poll_next_unpin(cx) { + match self.engine.thread_controller.poll_next(cx) { Poll::Pending => return Poll::Pending, Poll::Ready(Some(Ok(()))) => { let mut guard = self.context.lock().unwrap(); @@ -121,12 +95,10 @@ impl Future for WasmtimeFuture<'_> { let mut context = guard.take().unwrap(); context.content.clear(); let res = read_output_structs::(&mut context, self.system_data_struct_offset); - self.engine.is_running.store(false, Ordering::Relaxed); Poll::Ready((res, context)) }, _ => { // error - self.engine.is_running.store(false, Ordering::Relaxed); let context = self.context.lock().unwrap().take().unwrap(); Poll::Ready((Err(DandelionError::EngineError), context)) } @@ -135,9 +107,7 @@ impl Future for WasmtimeFuture<'_> { } pub struct WasmtimeEngine { - is_running: AtomicBool, - command_sender: std::sync::mpsc::Sender, - result_receiver: futures::channel::mpsc::Receiver>, + thread_controller: ThreadController, } impl Engine for WasmtimeEngine { @@ -161,11 +131,6 @@ impl Engine for WasmtimeEngine { }; } - // check if engine is running - if self.is_running.load(Ordering::Relaxed) { - err!(EngineAlreadyRunning) - } - // extract config and context let wasm_config = match config { FunctionConfig::WasmtimeConfig(c) => c, @@ -202,14 +167,16 @@ impl Engine for WasmtimeEngine { let context_ = Arc::new(Mutex::new(Some(context))); // send run command to thread - let cmd = WasmtimeCommand { - context: context_.clone(), - sysdata_offset: wasm_config.system_data_struct_offset, - recorder: Some(recorder), - }; + let cmd = ThreadCommand::Run( + recorder, + WasmtimeCommand { + context: context_.clone(), + sysdata_offset: wasm_config.system_data_struct_offset, + }, + ); // TODO give back context if send fails (moved it into the Arc) - let r = self.command_sender.send(cmd); + let r = self.thread_controller.send_command(cmd); match r { Ok(()) => (), Err(_) => (), @@ -226,36 +193,37 @@ impl Engine for WasmtimeEngine { } const SDK_HEAP_PAGES : usize = 2048; // 128MB + +#[cfg(features = "wasmtime-precompiled")] pub const USE_PRECOMPILED: bool = true; +#[cfg(not(features = "wasmtime-precompiled"))] +pub const USE_PRECOMPILED: bool = false; pub struct WasmtimeDriver {} impl Driver for WasmtimeDriver { - fn start_engine(&self, config: Vec) -> DandelionResult> { - if config.len() != 1 { - return Err(DandelionError::ConfigMissmatch); - } - let cpu_slot = config[0]; + fn start_engine(&self, resource: ComputeResource) -> DandelionResult> { + // sanity checks; extract core id + let cpu_slot = match resource { + ComputeResource::CPU(core) => core, + _ => return Err(DandelionError::EngineResourceError), + }; // check that core is available let available_cores = match core_affinity::get_core_ids() { - None => return Err(DandelionError::EngineError), + None => return Err(DandelionError::EngineResourceError), Some(cores) => cores, }; if !available_cores .iter() .find(|x| x.id == usize::from(cpu_slot)) .is_some() - { return Err(DandelionError::MalformedConfig); } + { + return Err(DandelionError::EngineResourceError); + } // create channels and spawn threads - let (command_sender, command_receiver) = std::sync::mpsc::channel(); - let (result_sender, result_receiver) = futures::channel::mpsc::channel(0); - let _thread_handle = spawn(move || run_thread(cpu_slot, command_receiver, result_sender)); - let is_running = AtomicBool::new(false); return Ok(Box::new(WasmtimeEngine { - command_sender, - result_receiver, - is_running, + thread_controller: ThreadController::new(cpu_slot), })); } diff --git a/server/Cargo.toml b/server/Cargo.toml index a92121b9..1058bce4 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -27,4 +27,5 @@ cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] wasmtime = ["machine_interface/wasmtime"] -hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file +wasmtime-precompiled = ["wasmtime", "machine_interface/wasmtime-precompiled"] +hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index 151dc6b5..f9935297 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -25,7 +25,7 @@ use machine_interface::{ #[cfg(feature = "hyper_io")] use machine_interface::function_driver::system_driver::hyper::HyperDriver; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] use machine_interface::{ function_driver::Driver, memory_domain::{Context, ContextTrait, MemoryDomain}, @@ -49,11 +49,11 @@ use machine_interface::{ #[cfg(feature = "wasmtime")] use machine_interface::{ - DataItem, DataSet, Position, - function_driver::compute_driver::wasmtime::{WasmtimeDriver, USE_PRECOMPILED}, + function_driver::compute_driver::wasmtime::WasmtimeDriver, + memory_domain::wasmtime::WasmtimeMemoryDomain, }; -#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm")))] +#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] use machine_interface::{ memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, @@ -573,7 +573,7 @@ fn main() -> () { WasmtimeMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), ); driver = Box::new(WasmtimeDriver {}) as Box; - if USE_PRECOMPILED { + if cfg!(feature = "wasmtime-precompiled") { mmm_path.push(format!( "../machine_interface/tests/data/test_wasmtime_{}_matmul", std::env::consts::ARCH @@ -748,6 +748,10 @@ fn main() -> () { }); let server = Server::bind(&addr).serve(make_svc); + println!("asdf"); + println!("{:?}", cfg!(feature = "wasmtime")); + println!("{:?}", cfg!(feature = "wasmtime-precompiled")); + #[cfg(feature = "cheri")] println!("Hello, World (cheri)"); #[cfg(feature = "mmu")] From f8e0b5c3ce9a18c3c3613e695d0c5d7cfd46ffc5 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 18 Dec 2023 22:59:00 +0000 Subject: [PATCH 68/91] fix Cargo.toml newline --- server/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/Cargo.toml b/server/Cargo.toml index 1058bce4..c6568ce8 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -28,4 +28,4 @@ mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] wasmtime = ["machine_interface/wasmtime"] wasmtime-precompiled = ["wasmtime", "machine_interface/wasmtime-precompiled"] -hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file +hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file From cce9502f42a484d1ba5583cc0a9258dd5811ce00 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 19 Dec 2023 00:02:14 +0100 Subject: [PATCH 69/91] remove print --- machine_interface/Cargo.toml | 1 + server/src/main.rs | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 44e242b2..f8e9b429 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -11,6 +11,7 @@ hyper_io = ["std", "dep:hyper"] wasm = ["std"] wasmtime = ["std", "dep:wasmtime"] wasmtime-precompiled = ["std", "wasmtime"] +# default = ["wasmtime", "wasm"] [build-dependencies] cmake = "0.1" diff --git a/server/src/main.rs b/server/src/main.rs index f9935297..11425378 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -748,10 +748,6 @@ fn main() -> () { }); let server = Server::bind(&addr).serve(make_svc); - println!("asdf"); - println!("{:?}", cfg!(feature = "wasmtime")); - println!("{:?}", cfg!(feature = "wasmtime-precompiled")); - #[cfg(feature = "cheri")] println!("Hello, World (cheri)"); #[cfg(feature = "mmu")] From 9218da87f6d19c4e697ffb8525ad204055c1b2c4 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 18 Dec 2023 23:17:32 +0000 Subject: [PATCH 70/91] lower NUM_COLD --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index f9935297..d5fe96ba 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -80,7 +80,7 @@ const BUSY_ID: u64 = 3; const COMPOSITION_ID: u64 = 4; // can support 10000 RPS for 2 mins -const NUM_COLD: u64 = 0x100000; +const NUM_COLD: u64 = 0x100; const MMM_COLD_ID_BASE: u64 = 0x1000000; const BUSY_COLD_ID_BASE: u64 = 0x2000000; const COMPOSITION_COLD_ID_BASE: u64 = 0x3000000; From c7c89278dd997bf4348dfa15ac2acd9caa375260 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 19 Dec 2023 09:44:57 +0100 Subject: [PATCH 71/91] fix wasmtime precompiled feature detection I don't know why the solution with the constant did not work, but compiling server crate with feature "wasmtime-precompiled" did not make it "true". --- machine_interface/Cargo.toml | 2 +- .../src/function_driver/compute_driver/wasmtime.rs | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index f8e9b429..856e04c6 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -10,7 +10,7 @@ mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] wasmtime = ["std", "dep:wasmtime"] -wasmtime-precompiled = ["std", "wasmtime"] +wasmtime-precompiled = ["wasmtime"] # default = ["wasmtime", "wasm"] [build-dependencies] diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index d63524ea..b72ad2f6 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -194,11 +194,6 @@ impl Engine for WasmtimeEngine { const SDK_HEAP_PAGES : usize = 2048; // 128MB -#[cfg(features = "wasmtime-precompiled")] -pub const USE_PRECOMPILED: bool = true; -#[cfg(not(features = "wasmtime-precompiled"))] -pub const USE_PRECOMPILED: bool = false; - pub struct WasmtimeDriver {} impl Driver for WasmtimeDriver { @@ -233,6 +228,9 @@ impl Driver for WasmtimeDriver { static_domain: &Box, ) -> DandelionResult { + info!("parsing wasmtime function {}", &function_config); + info!("pre-compilation enabled: {}", cfg!(feature = "wasmtime-precompiled")); + // shorthand to map any error below to a config missmatch macro_rules! map_cfg_err { ($e:expr, $dbg:expr) => { @@ -251,7 +249,7 @@ impl Driver for WasmtimeDriver { std::fs::read(&function_config), "could not read function file" }; - let precompiled_module = if USE_PRECOMPILED { + let precompiled_module = if cfg!(feature = "wasmtime-precompiled") { wasm_module_content } else { map_cfg_err!{ From 33e60b084a2caaa5854a6cfff2b81b44f659ba60 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 25 Jan 2024 10:54:13 +0100 Subject: [PATCH 72/91] re-compiled wasm binaries --- .../tests/data/test_sysld_wasm_x86_64_basic | Bin 25944 -> 25944 bytes .../tests/data/test_sysld_wasm_x86_64_busy | Bin 26304 -> 30488 bytes .../tests/data/test_sysld_wasm_x86_64_matmac | Bin 30488 -> 30488 bytes .../tests/data/test_sysld_wasm_x86_64_matmul | Bin 30304 -> 30392 bytes machine_interface/tests/data/test_wasm_basic | Bin 7116 -> 7330 bytes machine_interface/tests/data/test_wasm_busy | Bin 7611 -> 7825 bytes machine_interface/tests/data/test_wasm_matmac | Bin 8506 -> 8728 bytes machine_interface/tests/data/test_wasm_matmul | Bin 7738 -> 7952 bytes .../tests/data/test_wasmtime_x86_64_basic | Bin 29616 -> 30072 bytes .../tests/data/test_wasmtime_x86_64_busy | Bin 31272 -> 31728 bytes .../tests/data/test_wasmtime_x86_64_matmac | Bin 37328 -> 37760 bytes .../tests/data/test_wasmtime_x86_64_matmul | Bin 31088 -> 35640 bytes 12 files changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_basic b/machine_interface/tests/data/test_sysld_wasm_x86_64_basic index 0de56a9e4b839ff585295ff817386e1cacb8759f..438b367fa85638298600daa113cdcdcc5ca0b6c1 100755 GIT binary patch delta 8777 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 delta 8065 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_busy b/machine_interface/tests/data/test_sysld_wasm_x86_64_busy index 923c4bb68212e272e9ed035cc777a6043cfdd23f..e8cc6cbde8ec422516671a4e03f04af18dff96eb 100755 GIT binary patch literal 30488 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%0A?)YPejWnAPdpSh)#hj9>ZY83RsJ% zvYphNI6(LnGtw0|rYqJZ`$-i@sxO|TcITzK8EGOgZ6gv32{&EQmDxXzdc;(5n4Qze8jZPcGMN-c)|=p*!} zOi=UwIDH~l6Ve~i(gOr8Xz43R3(HZ77X(pNYgM^ z(@U%ed0T$RaPp1+8Q~0?XJ9ds)Z|tg=9OylQ&edUHUWXiC&pF`%H4)El}(|N^{36> zRxu0JmYAXFSTI4c6ujypeRbH?*3sr*5z^_Z&6#&G9IB?G0yKTkWfj2meS?8?Inp)I zHHc;&3U}9HXw;;uFz0Vd4wAMK(S#zRW5-yRO~*LgGCWfK|A)e4O@#8%#q-KVee9aAFFUUwo)pq*X5hp>RNK zHVD|BfM&m`Lr?xK7T+ymvAUQAU%;XFm_W;DJ*ARwE+VU?^k;`+B}2<=RL@H*` zK9@$`RLU279upF*12Jt6ee^L~pbaxEVcOzPJz#8~1H-65=aFElm$t#d$j$)Uf@M1Y zdNcV?QV-Bpc)sqOrl#-ym~9xy+73qc2GZ?Vq6g&O$B>?{S9~eCnQe#@^7GtT;C@;6MeUg#d9&HD zXADE3t&-a+Dtwr*6~x5dIYSsMx^t?qt3PY{7?uz8?bB18Z)=f1@x`d~RTX5!a+v92 z=e7dQzr&!Oik4unzQp=5@*$BY^6O^jzly0a-9a-m`uRIr1a3h5C%0L;6LQ1;i3AGE zi`2uPN|8#`_8bnvTJa_>g6gv2n5>#AZKk5+o*JMJ{WB}|KANtz$WaZu)8rXu%`p3; zueubL2Fk$nH?PXnajw$Gh-+#5mw^7zVg)_lm$+8l1cOtmRkqirD%`cEev%~(mA#lQ z>LR=9U{W!Qvju;F{Uy!s4}maU zXJNvVdwY=zMz#mi0W=+RdMB}EYf8|1l;cDI%bR)@4cl6_*S(J5D9-|^GV_U~{yvks z+*`?rKGJmj$EI9Mf6XA80XVHgFxd`rL2(=n0)r{Ig_(lPzUwE$4SnsmLIIdexq-Tf z$@akkV5#!M%u?LPZA=wD%)bUBgMsu)6qwB!iRT3MK{89Knehh`vW&`sJAgQ#PibAx zS%I)-xP5AaeOfI)I7rBo&@@^(Z=yvX3aR5idFRs&DCtuyeaxUbOkQZRDcL@^#|-Tm z`T@7VyyHnff{}xPbS-S!p`hMKHtnaRC|g-o)^Aly4;%EfXm)*SlDo+vr&?Z;yJ;r# zTXxIcZy`eV*VNLWRhGL$D1*9oE-!`~A7a<_c#-k(5E&nQPe4Use?vReC6EByWIvd8 zt|MjDFw*9+U8UG5eZ7cNfH+}6H@3GX!(dt@m0^SObc@F zDcUpf0X+0R5=6T!Pg}Slei7OEfi3rLHfY&C=kIG%PZ6gM;#AnCp)eqR%b?snoo~-x zLMT546}pr>5ZyCTMM_SF6%6Yb-U&oXYvEj@T|aNQc|uKkNs~0fewkcU^hq)XASYM~ zY{LY(7WPhU>I!U~mi$~wSD}9r)IU}35&iQtvnKNE?N5a*QrtDvKxUnFOhiyBB`$}o zd#cb7HM^Bcoms12!FIc}vz?&&w#sW9G|lb7>WXRVFUqmxpx9m2uu`$u(Xs;@*nxDq z;wji&FuCRtHygQ+C;|;2Ra;G}Ry8kO_3aVcw3Ey{C@}rWJSc${0kM(u2$$q}URZH^@n@C)BXOX6}dC2)-x@tp>jygFvBnL#Jb~97q zOm3|npfpOum~l=ZWf9HEO+%Q7=V6upJ`l70gbELlp^Z$pef{#9I$D9p(b7)7DVhY$ z)#-{gdHb78pTg;eOdnpVF;Yj{zmw^s9K$i%*@Q7!aOJ`{N#?@m2!o0CGZJ|YRKdtV zAl-^FfZfY)kj_a2g9fIT(ZM;1)X>t@amm@F5u}0sA+6K7A-|7Vp;f@84dYm;cadgzz&2#T2o?_T776O)I4V& zq}G#pkiM2#2Os9F1HQ4zbneYt29vnEz2kWp70kO1_ZYUwr#hdmi)^oh&!Y~T=bz8_ zIVY|77B><){!M+F{N?_V2WUIUuv3A^3B%0AX8K!@S*ps1nJVqv2yJBpFb*K?FWJ5l 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 literal 26304 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 AVgLXD diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmac index 33e07eef85d85f927e6d51460b4dd165724496cb..184cda88c70f599c13003ed14347a29372ff8a24 100755 GIT binary patch literal 30488 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 J5Kln=zX4?<$p`=d literal 30488 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul index 9f9ab8968bd5642e2b08a857ba33f4d91694cc4f..115623101e51116164b5df2dcdfd01bb9cb614a3 100755 GIT binary patch literal 30392 zcmeHweRx~NmG@PwI8HFRhT0(o3W8O)$rc=4eXB9SH8HROQxAjl6cCbMN%OpN%cHqqElcH%qz{r z?+c{!8LqjI^^sWB3v~oNVvNi#>{6I2F z@#WVT2&LhLoKA#-ZUyM5o}cs)V!wu$cP6<^@cN5T=mwQrjUN)%(yOnNj{fU6*8Ngl z5uLlQ>jL$;EfaFh(+^QysE_G~=%{|@NL80feUgP>lqU6gk`xN9YVYg_btl7#WGEzs0?kdK zXe<$1)!LnmC7PQW+B!R8&Eb}|n2~q-oKR#p7UFwCex%L%EXf&zeZBBaXD3q zan0dJ&M_i$OW?w8*vUwEP+eB+#MzGdM^LnrEp&E{!%#S zGg<<-)Eo7bx{OfNU!*s4d>V%|#>Mku5uBSWmUW~EE=)URi20282ph@>rhZLHU`hg0 z5}1;}lmw_&^>&4pp1w0ANm~D4a$0V;mU_Bk8*6#a_4fehKHG-h z^2POt4IviaB*X&R)tbJ}TA}GlYn7JqQ_OFjt7WGDpIY!k+@fWI$kKz>d6cvv>(tFg zmRB3`TkC1PMv)tcDY2MKcp8D0v%JhYt5?(aPl*m*@|cj=M6cmqh=?qbK_`<#RP;mb2ZmaVzEifTyZ-fp!+%nzKLWF zx?&E+(G@du`{j$*Q)9RB5cn$?zH1o;^G|8|5iR@9m0EV9OfwB@drl>*!JvjSsL1V) z%NP3#^wi($uQ(goQqSkF(^6NwM;jZOejr(?rLTAgiP2A=%H>9*xm<2|`T?X(x1j8N z`9wd~i%edhgQq6=ot8q@exU7*Xz4!d8YI#n)Pr*^@;tLu zo=0@&1n1(H8HxwuT+Qp~1^LlIWv_Po(^Q+A)URyQGBuyQkt+75pgx|f`4{S_OwG9f z1@)tvKAfxhl>s`>0Oe|aj`ZaA!6%(ov8@2xLf*rqG@R7QX=xJv-=XzI`OCH2kN*u= z$afroJ0n+3KTwC@oI9!rRyBRZNKqjpcUbV79*`_xB)dQ|a>r!?JaUIMA7$Ha+Q?Go zej&6l!jYvm9@g`4IS*Izu*(Ps)>DW_8yVPS#3*`yA-cH`9V|q57oz(M(IbVZaN5AE ziu-SfVsNkrQClHeUx+R*L|2L^Z4XE`GmWc(E&#R184rj+)9+kQ0MuO|>v!IdXn@g> zl!E%eW&>rgfU-M}Vlz(wu**Qw3d!t$+YR9;VQ z?V{p(KBws?{OPSpB-Bjj?hz&u5{Ui?!BSgEB2u!(ukZKkZ^6K?xk7rvH;w_Ip}JGY5U|_CBMf)6@#}DGdBvs?KDR`**>cCYxS?I$%U8 z}E3X%slQ8Jyh zR;114>Qf&QpNR^2!z}=3vi$W?%(_Ro;}7gN^K3dZajq6V|&sP%jDKm(G& zh_yVBI(bwca3K|-`6=i-A`g5Hsby*B-)jBia^Lw#WXH;wDIK*WXKDHl7>=W-4wh5o z=s3EFW~3@jeq>nl?U4I_&H8ekwTno|!pn~gW}Mq;vjVaJp!o@kkJeThZGIg1spF`` zW+IFXL9nRCyYj&Ol!h_G{0lCc?le(_zB2>8p`|c=Nb+}1fRQTZ)%wh0HotncH0pyQ zkqOKR$odw>3X^BX%%C*$qHmNzqv~nQ(fYgcBe0caL2G?5k`15|YHDIamG90{W$w-T zD|X8LFGK3Y-K*+Z3hPyUD44$4I#*2{Lkpfnc2i_5kZCen@H3=U*0vuZ7KrT9GO8is zyO3U%HqU_6%By|j$(nB(dWVK8edKc43jMAhkdUZL4U8&)!)F~haDMNoxi|o}h2?N&$kecb8 zVELCZM&nxMHe{kj7cxc=PrCX%z1jo3{R|J51qBxH-X~ErF%r`C@28HVus;#7sHEo^ z5-IRHYqMTAhso>-0*Wqw7zs4$MV50v@fwvwY@F(EjehPzRDq%PVL-lh zB9|LUF)IRMzy3>RL!Kn&W6vQEN;Ec%kg1%O+K(j%`b$kcU1jK&7SyBGmCUY0F>ga< zG(Ag-27L}%SIdt;Q&|tA%j+}dtQMKjFk&_R7_E?QNaZG&0v?g?9jw@~(Qln$u(c7V zl_=^mimav<*-Seq@PY|hz6o^R<)~ONvLhgr?lZii70|qjV7kp}@k4j#`P0qT%l!JD z)EI2XvEyh=WM>dGO=JtkkZ#mpR8ynK`~wnAk-sLdSgQUs<)8N&* zSvHjZVPqF8{e4KQsS_Z)o8`dTb4Dq_2;FLoiJ)n48Dlh5rKYx31yb8j$^F+u=f@#2 zQ}SBYWHDkbREhdb)K@&uYAW}i$I1#?Z_v_}@-q36${Cs| zyG*Z?O-T|bBuPWh7;H8^*zSSVMm9Pyh_!bI~ z(+zAs`l&G=`K|klCZvJl3F#d4cIxRHiY6m}`XQQ))J#*QGKity`=?;~muy0cjA@xB z4BBJ8&ti^ZGg8`Io83Px<6IBjegYGxH2MUNlJu-H*uOLRuc=>dA~o*0Fa4kYh)Cu; zH0K&jzeRR?xfXd>)A2uPt=BSF6Ki>(9X&uQ2g6rgt_-TFlV*9t4a^h;ttYj}9!uihNgvq3V7u+b;wyZqL(z)HTyZ#|oM%_PjXCu3qv0uxMU z6DE)<)J)@r97p8MLLRklo;qS?hgleQyg^mWqLF<#VYVOnx*;W9QwCL2IS_XwZ7LC1^d1A~ON3uQ&$yOhTQl zpCV{QeZ_P28$nXxx6Z1_8VIO0^_7kELd#UH&%Qd1mT<5-^=et=9Ev~!m2=dz(@pwX zU7x|+FhZipK@`WyPDgUV%u;g`x^Cbtq)q!$!z2uv(q3Zu>FV;-5TQ~3ewLvX%C9jBnT5N`Y}RanmKtB9zz-fmQ^1WAymVB$OHc*P z9IY>JWz=XBuT`AV1+5mf`eI2TR~m(|4x3afL2ywC!EA%zuhdHD?*0i9LZMc>DgDt} zJT`9WxmMm_hE8L`AfrYC{VXeDj8EC}K#fsE>3ls4&KHgI_m3KEm*1Y9CuV7RU_U{N zhWT!!X_%{-X6q<#%aaVJ(D8rZKq*gtEN6gl{R1z5QuzWEd8O}38blP z3YDBcWB#TJE7VwKhN5G_1jS15!g8<)o^TT_4wfUGsoR=;6T_iyHYz~odm*a;%=Z@! zq|YPW09}J<7NKx=BZfvprVciLOKOC)m59nqh{nfRm(5<9F|S{OA2l@yRHGIzA+NX= zyA0e#4LS-zFR1CdIj9xmPkKlE{}njJbILtLGh$xEq*6jdT0u045}KBep&?62G>b}T zYA4au&B=|Z@PpKabR;n)%xMY{9S@y&R0Z63BF8iXO&31JaB2>QAS(vITK+I`%_v z+4d{iIxKsPmd2p!y-g!;_bZ^-)|*IQsQA;5(WX&j|9HLpkK6lSPTr7vCbw(mOa9D_ zCcl26Qr~wdxh%bvZ5@qNKpA@Lpm16y#5mZNq^r;IoA&007FPRiy_Qt@m^pDib^uNW zud^o8f3%*E;IPuKsKiBYMU6-Nkd zSc@FjGS>rbsP_p}%;z^%E3CAi@zR1=+c){LSaYJVwArVd6@6$6+D7}rw-jy1Zu+GD zOz{RA^Jff4AyLbH6%}V5@D+sN?wunX7Tq~J^-E(f?xU`c;rT${K0ML;x)%90pNx86 zR6#~8Czvkw?kM8?BnI_tv;=GQX6yUNheRGM%$vRcBurtZhb%Mt`CD29K0N-@HhZQQ za)TyPH^B2E_3)?Dq!Nw&hk|h6y~zuqx@Sjw@sVKR>0qA4jVWr+q=30v!(XcvA zonqb$^FIdbE8uCM44A(~b*7$kl|e?_NaMc@^aocc==s6qGIdKOI5jFe8`IV9M$-_< zl7`AFFc(dcy-jebm`Cy)(hX%WCVJg$HJ5Fq1$Al==N)io8Zkj7$S!A`Tl2o)&#}HF z`+heFGffsIJb7RMsbFMhAQM2-VbgnwEt^w<)*~Dz0$9P-vuIe>vbFA21V?!mNR_!y zB=xtM)a8L%M)V$SKGCM2midxFGzV~+hv2e}azSw%4FZEJxQ)4j%)c8V#|?e$w?YA! zOu2))oXPgCVPL89Jd9UQ3fc6jH~3+Mvs{qNEQo^)ZL)5S?0)Ps!G~ z{j@PP_9O0rd8d(p>+cN$#V)eAV)T z+((woZ`mjJ{TUJRzh+kit+Lz~LK)Px3wbfz`4FqF2TGieyUF?BYXT|?>l<33HbVkz zk$qRjxrvlj!$@1iR+VC<^yLyx0pf%S-B{k542NmCkmJ}qWK+E!ph1CxxL+Zrud^68 zVHV_p6SQXH19;5`4M9podQs*}6m$B6@t!&Fx-*$O}gUsAZm|bC}ey@zDMyM}n)ziRA#big* z4t!t-(wXW<;djC1T14Dzw0%SoXaK3&I#RW|MVY#9PFkiNXYN6f>rd`M8FbM3X!eb1 z4P{Q|(PA&kDg62!!lC#&8|(vHkVdU&pWtDZRdC+!BW7qe)ZbLlCoDB4-zZl$NIX|Wk1j0s%3bG%^@Ev5K*nKWdAu!^*$MuUNTi}#t+P?#28=Y9eFKsclgWk#v> z2R8yg?;oV^CHEk+jClv|=Dh>Hu*vqmQt%9B^7G%GU2rPc?mD)|utYx5`*>4iXA|~3 zny`3&c(Knp^VV;0C!yz`)yHYS++TJlEe9EPIuJQ#xVczNe*-d0*ZE+nGS0`Kt!x0s z0i^XMTUWyK_!82ovajXQZgtUI2PL z@&K)+;akZYj+6doA>wy~SbDOO-UKLPz6(mEmYKZ=FCu*d=I%VEu}DRo=+qusZPT;N zF@iMdewEO+$>%%Ei!U22{m9u4t>1Izgre&Eg6RjS2XNq7@P=ONJujGkh#lYP$+M-& z?odV1Nl-e?oWZQIqtyFq-s^d-_qVDKr1Bk?LP5nT&(_CjrCG+D7dEbXA1R`E0B5%3 zKA{)Cr$yee7o zL55Rk!uJSg#9zaPkD5-R#kWy&X;rfhd3iqq4QfML$u%roH(iobZWw{WKJf~M$}KR8 zR*^QmuZA?xO-G3(jzQ-eEU|%x!&bDGZkMTL=sV<}LjFva{~SyZ@?Vn&j$vxOD(#;x zU8SR6{F$W?HVtMRwIe6L2?kEjBkj*z&GJdSbQY91X5jP)(hbC^fjCih4$A}I2M{LP z*cd~J`{51(M3q7AI?5eJE*-TPxvc;N(*7%?fbMrmYIUaTCT4bNG{{yL=g)~z@RY#AgY3N@nOX@`pdZ*Y|K!aYPG${x* z3Iyn8B7o#TKxT%n$K+>haDN!-!ZFAXSuS>7xZd4~G+4PX6VZ8DCwTL>W z4JZLtT{w+kcr(&eIb^L6+-^e_R7EA!G#X*ZDf1<21yzb1qT));MY=GAX0cqpUIUxs za1T%^$Rb}4^vml6MaLA^WjA0{7i4co6mzLD5{#Pu2SB1aXG_H^6?VM=JB^!w5#Mwz zEZL~%)m*M`FnJM%+vpEoqLG$77jb>x=%GWHb+VgHeLH)wRJv)~rlP$fcCT{MnfJUV z{aJX(0sXfDJ=Z@@u6I?kNlk~Gs{V?adc%b4V&_PYe;z|m_V0inUD;%MV|<%Ad8L;6 z&?2YkHkqc6YW;`gzJJ4L0~Cise~XwhsO%i0U8AN<(rO}(xKdhqIq*T=gWC{?0;ww{ zxsOojI)n!d#)-!+Udn5vttm*R5t_i=gU%kRluFaIWP{CXMC-)z%TgVQu$w&w*vcf140j<_b@ zwnOucCFdx6)%EMnmImefhBVV|x+dZKb^ z=#Kzng6&yHMAUKY#4va5+`hq{)l}TkKL$p&V>T+f;{kOHnnrQMESFpeGNYJ4ZaZZD z`oYUi!{}ne*;s00n*!>_rC#OG!C6iEfhOMpY$|PsdQWQTqybegvFnY^*Deq0+XDJ? z0sVc9q}z|vut}a9)N}eiHHTA9J|r(~!oKkZ80OZw$b-^q`b*%>mJqntnA^|pmWU)< z&uCkw&urWO%8RdGt3A>AwO?%e{7<(J7gb>sZdKw2jJ)M@B*DxT2k_^S+U>`xkd!z4 z1Tgh+$_Z?_>dSX{_ib-?V#_RWbibB;>#Wux!cz5J>inU`)|b8kl~c0^Kc#+kTa+O3 zV|#H)>Esgmu?s`-CHl>kA0k?PJ)+H(xd5)(-F_^$|AXnciqZQJ4hkZ-&X*tCl^vVb zx|29%$IkJ8H5>KM9|9jnr#G8(P*m*V?gIL(?m6p+Y#Xc1T5iWd3`~MWdY?M@y8Kw> z^>ICD;07~ha{wmZXv2KmrK>qf4b+eR3aW{d=UmOR3y?+!L0Ibn68(XFju~3&wTXbf zJ1~C&JCecq*+jX9tC-yv;KpK7#zv;O`?JhU(bkB;;kt*V6m{anx6 zV}C?`AT?p`o=MI=+xGVB!>KpStPOj~!t_-cZTL0|5APKIi60$sUR;$sUPUZ;-ZYAi z{mT0v6*P_Dj|k+xO^|&6dYall zp^PtHUpHg0UcPS_mqwG{0O8{G>t>iZ>2s-xX~{STPAdS*k}Ei{tN=78>p0L{08USS zjsvF`faOW-{Zl#RknAA-Oac22@o*pzkgC2i5sGq__Z~R@wUsSoX+DgB1)etp>Znhmj_&yMi#O3aN z(BAIfl*i?RZ$M99Md$sQkZ-nDQINFS;&S_MfqxKm(8~5#5Pz?jb}!NH1MMEw2qSQ8v<~z~zlQBEW(;heRN4@>EljxDF(q`PQ z8_|ybPRkyip=C$QwV4yzB|B0lOvx**O0U~f5ztQrj=m7c9z^cp^5D!rX_q{&nI=*v zrX?>Vger7$;OL$}c8nuDZy?}SYVeXQI6_yTggc-sLr6haj?lb|31gci<^LWE(+HAN z&y)nFBrqj`DG5wTU`hg05}1;}lmz})NuWCsS%7zQ)h4^ZPTH9iY1&QmCT(BzE5le)V zvFL&Ve+jM_`FSM1(y$=XStU>Il<|l#5$;$Ov&1^0mR3}4jm6U0leBckEe1T^nXq)X zwMJqDYKwKOO0MQ<1Dm}yt=ke#S}ZM~0~?k=@iv=HvDs}7o73j9xosYs*XC1filW#R zhvHORid*q0Ud3m(*%iCp?yx)UF1y?Av3u=4hs~il><)*+>2NvR4v)j@@HuTx#c6js zoKC09>2`XYUZ>Axb15#n%i(gmTrRiEVi@!h6ey7nCi;Ul&U7wWZxp<#Jwx z`w^~0NDub1*kk(oHIivfmFa@Y85MNr&Y0+jlmw=s~JQVL& zrnNdfVh#SmsT_OL?n+wt3CPOMj2^gGV|k{|Hat#`AGmo#h+X z<~Z~JkHL%Wr)MVK+brJGEU?7;nZ^5<#rv1*g+g(}`h`ZsQZFb=!Y(7dw4vb(mU-8; z^mHV9EQ(U=thHUP^suCIo84Y(bI#{ryxY4w8L`|NOLSu!z@pT8JizT}U9~#dw$?Jw z9*w)5Hg}8H0$15_xnjTE?w(&#W>J#*!z{hab_I&S67}Ed;MAOH&=#TpqCZn-z^6Y^ zBmDI=7>k}wh!cEs3H$*L&)We`Lzfy%(j2LR%S)8Iox$-|`;z{n8&IsC{Jq$mjWogV ztMczJ7x44I@O15^t5v6i|2^QW{#+q9@B#Lqfa4k#JrzjP^9F|xI*s(r9R691AL6r# z3>hAJ%Mv{i4!5|C^ecQE{D{NrxdB+t2kw3jui|}uKOf*1VIZHb{tE$T<+8s=mZY1F zVx$dcz^C_wosQ3wXMq3y4Dj(Yz*8vybo?(yyG@cTJ$((YU{P>7{L6t)?GocQ!SOpd zT#REEhyRfAKU=C;VE}e;_^TXWjPt*NeCfFmhIJaOxv<*?6yGjjaC8PA?+bXwN)8wH zfwPek0?zG)sONuic-55#gPB|(&WChmp*FXkg*H+OTmuuJs% zHhN~xAU*{-7*JdX;Bcu#{@-TsPf4YA^SgjkJuUSHhj$=HdY%Own@aibYEX)vKQTTv z`EhMPaoL2ytMl`ZfSWL(Oru$k%T2&%0Avw~qVR73r|&+LehI5 z0-wK^A7W(BjT~P3U5Qm3Uiy8C)EW5S2l%C&XK}EF^I2I^t`zA^#A+Rpa7$dlR;SGq zkGSHV%Ok6LY8Cs(WxAx$jaNH~+R>FvI6TorXIH4TBh=Lvj>N3NW-DV{8*fk6);1;* zoeAsGW~<^^-J*DWQN`=AN5bKl-5qI^B8g;ovIln|BU0f57@=f)C_PrP5LG-eoCw6+KDQgHdB(wEvlsLqI__K2nP?9u@#Pl9-W85Qp^~vxiEx`@?@hEO zW1+4@EZ(|?+UIt;;!4b+L~+bui#tBH4ClvH!1pnkit;g;Hp(=Pc|t8ct!>HHj_z8o z;`GK^B95@#7jfEcF2e#~m@K(QZE6fPUhSuk)bJ7SVrMfhb{1o|vjkdp`C>}5C4Q4WYUEz+_$X8oCRvEDnL`VcKuU!c{qK>c+2PU?b zMk(CU*-`7ZN8Mg5M{!o;amC`%h|L+pc@EBC?2#xIr?sxywzgZ_YZa(GPJNsn9RGL~ zJ5E@PUivG;&e0L;Md1-8YKw-QVVwAcV@eBphFOqLqCv)2e89sNb-Ns4mm?Z>J6k+a zC_gQ-LoN8KPe-VyqZdLty%3#-5OI*j1&Kp1A;x&P#iK-A?s!yb@xcfc#OQ$7934IF zj@I@rmor3G7qK>LkKI;me*LZ8u*z#07$<8i?4eKpkVz&UsJX-0;`Bzsu5i?jL8KTq z!!Yl~h1malg}9wXMc7+huCNUgO^ZA3wYy0jLecKd&}vvv`pVIbS3BH{eKV_JxVxww z;f}SnwQ9#&V&_S&?TUq3F;Z769+$%#@wl8mMTx{BCAB`|prp?BMPi;viyO8)j)Oq1 zX)xL?Va4f*JKTz`#i4k8El#@|cFAtDxne$Nt>QFP&0({7;2yaY91J>qz_!~AU3FpX zxZGj4FCO)IP`h|b%o`1dBVk_@9Bc|cmt^Rw0vm;MNVmg_(@Lig$Cgsa|K+RIra(hp zMI7D9ge%esUrupi4rDQWhbf%sCVh3HaGx(4RotGiClV!b;tO7(MvaeI&3_F*_>z@!wUZTH&tWVi)kGGTvJu`k7l@Qb@aA}MKz(Vmf@7yCpa6#I6f{sK>g*MXk)phQ~i zLy6GBODe5D2TM^zC{NIfeK8S=eKApfY5O}sOKlQqWl)bdJgx;?W-S`~o7R zyMkWq1BmZ*ZYJhL=T+{ u&`=Wf5%!bz+eO_G%|G6_5#1#Sc#bGnAkwz$>FB4iU3N)2A`s6&|9=4qk=UyM literal 30304 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 diff --git a/machine_interface/tests/data/test_wasm_basic b/machine_interface/tests/data/test_wasm_basic index 6b288fac6f09155f1c7f4e22d616b5dcce1a9f70..5a666b100175559c8872e300adf1673b92fa4563 100755 GIT binary patch literal 7330 zcmd5>X?I)Kb$#~%BtZfsKnffrLDD`HC4!$l9hbIS?7`5%WIH)$fJ#oP4@rG=%{d#>X~ zIy+R!bt93esf+5Lv04Vd4!h z*Gp@maEI;|CX2pbn5-vk>rL3jV?_(k@iAib#1XSw@@m~_)8N-pP-bCHWvyuJB5j2 zxfH3Zg&FwKn%TfCmnwzI>}shvRajn{Tdb5;ow_|W+^iwjwsiw$ZgF|7Qc$7ECHm&n zZ`+t#TC03;vSE{bt2nVXJzZK2bz@sLbZ3Ydh&YYujnU%NRKcP;O*=M*Lqi_`i`R5= zZmL8l6Pt850tn^`ereHZt{sF`ZrS;eVGVynJGpgp8khZIWqN5fT<kD}N|u)jv#dM66sd1g#Y(YITAYeB#0y%Nlk)|C=}sg@NqaXtH!~Y)WT}Lu6O>95 zg=b5}Wm`CL;ske!lb~j$IN_J;_k{UZ zv%Z@*4>+EO7&tKV;==6-22-!;)b1Apfe0d5HzCn{TIvu*oiFwIs5GD+4XKv{iCF&a zR~4#pcVJAK(1b=$;)o-bbJchPE)qF6XqFU`(ux#X$D}Q9 zWDDA`Wku3RpKdmxh4#=w2RhL1Nhdn9t|MI*aw|RDhOOA<%XV~OyC)f%&E(v!(AEy@ z$hs-nX~lQt69Vi4d=cz~c+!n-Z1ZF{b}MQRy0dOf_MiuQ=4CIT_U7EQh3K^qS!7kc z554H~WFPjaUcb(D$$sodKclw_2du&XZ63q`4*D{P0~qvV2t!#nD#KQ31S1&Exlz4K z%OM8z7!KhvUvf8PRf(WaxPvO*xoW^M`LYT%gIHPGit4bL;$B@Qw z4r9JNjk9>#lk+&QiMyclDR~AL@Qf!HY4oBxMcs^y>s&%EF~HB@5(ql&w27$d=^(UzX9M43-~;qSCJQR121^;IeboYd((my zP*AX27OaS(N>1PwCOnzMByMWn1F$IzRzgWdrZI(SPi8Qq>a!MX4s&|vS+IG`tE3MP zz9$P4Fl(%-uNqqV zDsN)ds*1_iss;0PgRciBzhUq-BY$h~4I|$);Keu1n0(97;nxhlW$>C=k=G4gHyhRV zhQS+D?viiQgr?|C!-{*$;7xULfZB15a{^ud)FAVrm>0cUf@RyYSm0?ETG5D3iJDSo^<=3Ig zZw&ZRmERh0@V8WX*MJ|DPK46`5=#G0csd5)V}pNFeS>Gn&!F^@)em zE#Y($Nwjz*l9VF0=GUbSt!VSeB~gVVm*`zPwxE4gIv8muiKNpbgQU=<3mzzLRq2@J z5>K{=4^9Rd9o>QLWRM-Qi=46RynrC25y*;kyC)e#_vvPbiQUbZcXKrors`x*=;R)d zQalpMUUjmUa=mIfFqyT3edt4031u(#g>%X)Q6-c_TtySgFUk0SG?+Wpyqo+W8Jx>A z&-6#^${?co->(e5U!q|kbs&!umR{CVpg!kjdD+0rhMe0IJinChkyt1ntVNov9wVhU zk;~&qj7c*CZ{a$$tdP8ud|pF}PK9B%GV>{q3(%&S-=Z$`NSd|S&P8bVrGtym5mI=9 z3&8oTY$bhndCYtS+vt{6+D=OuY)8gp@*~(mCxd1eXzV0nuoOO*B5Ic+>|WiW|KxLY z=Ugzz9_shl%RRi@Q+*{NR7UoO^1bNQ{>Zf;vuC*qeb_f9{q%y2j{Pfg00$VaItLjD zl@8*dHmN}!&Bzd2)G&rH?8^uSG2+P~^7sHBg)mExg;~mx(;xFl?W3Bd!&dtUV|tv- z{(T=dA{5sb5M zgbBEWOPUYTxmtSGMsk^XxPr^L;*-mt#Z`}7eoaxYTh!-B>B{8 z2wu=;M&l_<WX%50uv}|mksnt>uPMu&MBWyX*UYyrZKHx zGj?tkvzQ6(rDcv8@h}I^lX*Ha&s=u7H#eS_wcdz(Jg82kRZOCBbs_6 zKuYl?J)&)u-L;C;Vchl5F9(iBZD5k|4-cp9@O#E|)HZB;Ipd6N?j?#>k6=e2F*G1H zE{#kPw*Y8bk$BJ)(&Wj5a#NS0oX5 zpRnFHvjI0-?-eF0E#bqQ41*x=An9=r)2czVSzB8eM4G)W?bGcx-L=qNwc3dmw!KdF zye@1Vmu| z^1ocNB0HGn9n7*--ie*sX?AfHf=yvXQwq@?AK}tU?&v178|F7)_H@9*Y3X4~gFT`z zdr3gOOlxmQKv_y=*&#_heZ1^rnuC^1zyxU}aFYqwyZzWlTG=lH+!YRt$wAr~#6b+M z=mt?+GKEv5lt6WaCJ%9^c*y7Wa9H^xXTbs*iIGMEv05~8tdGTVoTPJnlrI1&a!5|e z;{=Xb4mqjClqaK*Kb(Aw#F4|39*N_aex1T8)j!Qm;c4nyGiT`QS)9RHk1P_!IjvUR ziv%8zS;xpF7z0J4Avr_{-cg zUiQf>7jeZSvl#X28m{7+jp{ltuY24n8vWu+lZKCSm#0$7d zeSOOLi^YYKc|Y3WJbZFt!h?&=#}s;Q@z9Aw^h4(u zb(?;^fB0AF`kFtu2d4rJwSP|!=3<*bA3hUktaT*NRP#h2zUfE(8V3T2n(hU^+Ba{~ ztZ^LBQrr7LHTi!W2Gl&?(PXzi>X4@GqaDIL;vhkx(~mx5X#c233=KC~r`4l_@O;Sh zogKe2pa%^D!FkbQ(I41+ViBHeserqymguHKs>T-AsSB`7bYP-fcBUJbSC^*NCQGYj zli=lKsa!5i9hkUh5?3d9u(XCrzqmMaVrX<=a3F_lfB*2{@W{~c;E|!>L&L+P{kg%x zBcp?dCk~C|Mh^_#FWp@py1z+eWF$8*I@;&#Px8!850|D(#md@hsqFSA7uJG>33Vj6@T+2%d#a~&$f~{j*|Q)b`oW=aY&+sY{c0OBq5NHumnZ6mBi1_c5KN& zy5O+1Kns+uEM;k-DWxqfTiHr?=uQ{tr+(?_hyDru-u~{4o^6QI0;i{^Ibb=vEkzI==f>ZaU*kP zi;(L^B2iTnm5<}N{KnSRO{$(3?~EoUot`ss`G3~@x6d!me6~!E@Tf%XUuqUK#5>z_c??h(h^WzgE<-y@%{zNd^R|p77PPZC{(c6@n#wZob`SQu} zVqqYEYIJac>F zI9`#Bw@k~PAfjP$>eAD_g@J**MRn@uPj^=oeE=*`)yTntB8^PWkewcYq2+_(h|^Gg z5LUQx!8wX$_|wvUj&&vu=}9Hl0` zThE+1jmdRlXCE7|8_ zZq~ie*xF{<=Mgl6dC2&Beos;_zRvkd67=GdF?}g6wX=2^E(?dWSA;TpABVIb`>;RImt!w3 z_w@lB5NBQ?bWdN2D{!T+4^rtt8b$qwa473OVW#pb;YsSl9Ow}o#*si@jjM3Audl&1 z;?rw|-m0&|b%J=*B3@7KJg!GR(8q8T$9!Et0oPie_n|KY@3-IsWG`X>#XuiNKaTtQ z1Wt(0Pg?Ln3<|h!!H38lU{B z8D)W+u;4e~25H@B!EYk>Y21XJRKWo8nCi^6A#$=$+ zD0~)Yl&^15xJ8N2ZdF#pZ3?%sBd%{Z9iIN2qS)sZKBw?`73ez@NV$WecPj9EtEwyw zPv50D!(ULiOW_Noe~|$ABFSFTNhAb4qwf}$dlc?gxQ8tF3d_A@$p{OL{*uC%sQn=` zoA-(4`xWj}xSyIIP+YVRDmLqZzu({ht}gPxQW^@I8eWDEp!UDKAp?C54yB9n~+3-d7Y}nbQ0H zitMYR_ceuA6<(w4>k6d2PT4mU_6iR=#*-ctA>Wq+hV%8w}f zV^Q}Lg&!;YL_E*dPZfST1@N;9z|RHXZH1pJyiI_26i9i80KX7`Un=}U;grqdt^L(6}TLNDk=+L}l6<*<v)ycy?MO6f?oMM!8(Q@|wAmbYDRZ2%Ic`iZbhpy- zg*%Pu;Lt$tCzV*Lp+oRRBrM{Bv^v^J>_A6IT#UtN_w^F?GWTIg#XRA4mnkE;4}!tn97GOl zkqcOAtid{;rA9<*3_3zmD=Q9};|*5jMzG%S^(L}xvSZoI$IYyT!pTbOEmn}FhX`)P z7TtrbdK-GMtygd7PPqG`Q{HuYi;dIQ!MyK#xn`XYi$ zZFOQQ4C7S2mk!v6eW3&Pi*!a`P6r&oF4&5-qrYS^h(mh3YjIs0>3s{JZVBBXRQbItRy!%a^-_4RFg0jz&WFm}~y(%{S zGJEHFnT?~85<Moj8H`nsdtNgmt&clpUY!?k7m?|=&BBQ6gXIIHb@t)0e zW`=Ef)@Y%s&2SXW66&a`l@8>NQzqE7Od9s+!?gI2d0`G(cj>8wFsA3xkMrn9%Wj7|rA>t>wrvH!RmHx#e8ht2?Qu3!Ug1lijC;Su%Uf3r2JmRbI$#=!Jn^ zjc%;=^%@Jd7Hj2I$XT{^WLuAQSRXJ8TSNyV%;AZ#f+ubL@IjRHPkDByw znN1H$tU8D*anO$H5FaH)K*`Tx9F|cXVX`=4M|CynW)rI9=UQAV^4H-STu1pt54aPJ z;;7FAaeWvEKVD?Bi~W;Fws75l{K)q4?6ikNpWM!~rjq^l5m=6b&W*tTe|ARy3wHi5 z=Ka6n&;Ny;)%{uLcn?akkxKCCA^Y@ktCcUGw_1r1SN;~NNSL7%qulgnMlw?}l}K!6 zbmJXEhocT!Q!#)*BE)Ba>t^URTa z!wktPXZ?-Utv8~n|8UY@^|D5s-E_VinC6dm!*ZTm0)bAS{{mswN4-C&ZB|YyFSk|w zL*eC5U8C#NbjdA(igxvtO3wPaQ{$rp6aB^Ul1lQizgQ|22Ri#stK^|R-tLiYnnMpi}vpD-7$hYKc<_F9_n6H!jx*8!OK{NI_K0Y%zO`y8o zTJKfA+r?+)ON+{~ES0XmW?9!PwSLWBU+1@4xAMh%{Lz`0~ z#6d`@uw56Hk7b2;)n95}SK0Sp3P;zi?45{wTN}f7@1A(yp9sFIg(@113Kea5yM9MY zE_Z_t=ce+Wmzydtt(GjSK36K|SId?naXMd|E_m}x#ay9SUcF`6;mNhqEi1HngD_uQ zUMuHHg>r6cX{}hcBI&znlWQ|Gh1G!E)Ve{QrI0UfMUxw|`RVE0(ps5XtyuHM^n7u? zY=x^P3O6}X-%;&k=~k&+Sfox;Hr1j`=gav}D6yfH>t33&>e_O-RXRVvSjf$KOOttz zD<@|-p39jO3i)M|&?xozccLdo$#Q79X;ZAF_b=eav~?pO&c`k%@U zt*hHRczegnVxi0G_J_{%{=~Xg_L%dMKUOE>R`#}5S<88OW8xW^;M6NJ)n)hEv20{K zZh@mnm+A{yIt1&eH5y9UW3c){DTJ=Xtq{ll-BI;4Nde(P+=@n_{JYT*8M2NGn_s=Q zm9gbMBKHxu&!$4&!#1O=C0@XCUKKB>!g)~!6o6~i6aA0-EHwN7bcq{FgNptorv9YX zO%gRJnlXf0&^GKKov%qec04QJOh|}n(&21U*CC8LPuFL|x&ifQa9;2^BH4GDb4xew z@b`&sLK7NY9YquoCW7IP!A2}&r|mJOlDSUnc%Z!*&7wVlxOR}xEpX5>t~X_sZp9|F zuIMC^$Kxun&=y!|M?2bF-GL6~TBnT4&Gc{!He-vYw<3kDu1?czI%B5-Tb=0awH>|9 zuy4=CG_W1;w8l1QS9hTcTU@;ZJ49WW$8W$wKzQQX;;gfh$Sf0WaJmu=o;4>22t43K4 zIZ<}aD9a-+oRheQNmox{3RflWzOreftbl^B%wQTbuAarLh|d{i^O%=A))!gh0v3eR zgA32qi&(^*B*j-&G|HB^)MYGT+0!d1V#U>~Sd|!*jKVU?qHxV9yiV>LxQ-j1zKJ#5 zboDLVLMce9qd&{kd=8(*=Un|X1N$_y8Ixj2Z_@f15^v)f+;;UkiR*msgcxM+j=~)! z8{=6;BhM*3tMHui^yd|~*z*dXS9o3pyX=L^bN8YO9=tCo@On|X`XvQkFDOQhd+Ljd zmcGcFNM%<=^vjhE^NPYNzR6b=URL@`3a={tWd#nttj6_M6dnGm!dDc&s#f&Z6uzc5 zcH3(TuTeOqzfKbpqSqC7+#3q7E4)F!-&7#wO?vc}!dv9D^fxMQf3xEDw-k7NlT6=M z_%@ls`a81x@A_)KOEqsRd`IDJa(qvL*EhHpE3o|i!150ic!|+>6gc?~xqqneLto#! z6~#aDxkTrW6?pSwa{Y?}uXiO_f%$(8bpD$HFX8@)0w;e$?w=B!^m__FRd`QA8i@RR zAo4Q>ULx{y1y25)BJV5k67E>Q{fmJ6m$J@ZDg095R}}fR0x7?y$OmHOHwqsp{DyLl ziSBPD8NXBbt-|lf^m}T-@5Kq(LWGJx$iyE=`J=)gm4S;y^uKJ?UjY;%FfqeMXhDaG z7lh&nf2bmyeb0x9x?nHW6GG}-B1wZJjT;A%cm;GC(I`o33PhrTNDMJVT^&apP0UX; zAU6l(1QKX=2_%kaY#~^0LJKyz#FDV6BbLZr8(Pt}s@u8J4gyJsO9XL{l7#z$n}s`K zu*B6{g9j&#w9Iy5D-onqZzpDKKdnI}gc0Z!-DQt)4PD3i-eVC&!q~xV#8kz}?!d{N zAf&hilwIOv5BYk;vTw52O!lDJdVE z6R|vs*tm{!;myoL^9sQ`!RIxAXeU@^3nTBiOu#0Ie5<(7t&`k~ZA?O&r`wr?_5i|T zOaSSBR$fV{Dy??~{5|NA`p8@m*?XCVKI|UX{q%x}jy)@SFZOc1;vDoq zAhZwrq(}|QY+4VoL=9sI!=4_&AVyrhpEy3iM41?w$TdAk zWPi}phj0LgT!MH=(A$qvN)yXv2Rv*%ID#X1*wtfX88b`Ea+u}2N+p#^B0Akl=|}L0 z2p+>xBKk3X0>^P;T%Y91P7%6Ktq{n^gO#O-=8wvLKP{q3eTF{yQ0@`RPvfjh3=d&~ zbt4GCIh>Pt5YENY<7Or28HWovj|(2L{Bc}#iRG6>>t&<$2|~JHIh9`_o?r1a@f%ON zMDP%vl43^VjsbFuK+e0ECXfqQTZVQG*Ccd#Lz~1T@=|4eIl{Uan>IAT^J%F@K5Ygw zqHNaC<}ioZz+O_%Ga@eL;ktzO5EdBA%8pBGkHkfISafxf#9{!iq6c~@h{iIOB@8R_ zlhmsWLkX)WdAf`hlwIQd8kXpb^L2TH=97D!s;;{P{Tr2vxyvdZdO(bTT&^}sI+maJMqC8BpvC(ZN+O10NEY-%~z8L6%%qOTtQi9kot zfXIYyWQceKK+}qj`b9BniXy$0V}M^2&5-QFap7P>1|JJ8Is z*TI^X!sZFRg;uv>3%0Ik9+QwZHalsP1+OY%+X7?Td34$43iOCEZH#r%7>gZtcr0~V zV1{TTq1QX&;dY6z z0rM03A6T-YI~nCpM%f5&!#1fj+nELbP*|3bLd%Jd>XHKP=pwQ!#@9#oq>sZ%-OZ5t zXGBl$A^`O;tUUn$^^&uf6_UWy$6+7C?3ZLJj1g9RHyLob+k@SNl|6cZr^118y^nSV zu@8eQazK=lOlF6W;){;Z&dGm%wpYevaXo$RFpS@Hpj-nG^K&Bu?O@OB4y? zluFtyzKI%sN{zyMOoDqJb^1_RZo)cgN%|N9ur0W zDxShs%FA1Bjtj}Tn%GjQp&z{}CO_V)D38HMuZkbt?N7LvTQ!UM|9Q8=ACudk@Fw}V zqWuZGT|3&1mh*;SQXMg5q-G1nZ)`Qz?vVJjrYfbTyHeeliPma)#cFoE;#F;$p#M{? zskx?mejg@LC0V1vBBge5Fjo(UQJ5KD_c{t;dG`4kh zC0UwL5IWO=RsM}9qVahre<>#4m(90rzp=D!nH=F!@rJ+D zp|w!Bj~W$5i$PErtxV6B9jCrft`ui0jv{faI5k!Z#;2zWrK!s7MaPYf%#|-Xk&Z>e z_|%2DN}*h;6h^1#rYcS>^LEG7#bY1V02TSKiHe5uYwRqUFVSh8`|6~zBx z%I2E8Fh0hua$1(iF7A+_6@t=~ldL_l74}wNF|p{rDBaqzba@woV&&}gY}M||YSWC> zmanfVSHmzX667pT7tZql2Bk=(NdzlJ9>cLnw7C%O(nzsfiqypmh4ZE2g@WnTlWN}^ z+ixIJr8p9lY&X{Qa$nkY;!TeC@TE(aoTL-~59LPY)kEFvUUKr7=yG~Y(|gnm%xmQi zc~6+OI@s*wAJQuCcuy`4JSYPkdP;`6+^n0($A+67uodf48zPR5z}e#rM$+yOoDGpQ zB6l`B5w=Zlk9vTlD&csu6OTig-e80bdC!N-udM6jTO>aqxqDsLlkv^uFpqx1M1P>JtllQMuRq@5wVpo+2?X>JG37Wx5WPH6UpU|tZ3abOX2Ax>rYXCfRT2rzMU7=*RmFyw= zTJ&ITpx2=r>wLW)>xDfFjqHTpz-c$++!Td3Vq+-0$qH|#a4$BaH_(09gg#$igKKyu zb-&QldJDFop9hq}*W%hxc&im2pzt;fU|XPb*ovI52Qip+qk6j)z7E%6d(MqYFQs?T zAlG9Dt`GE1Zptp~#IEY5?6&+j;0El@xiQOc_9CtG$YUtyChXuI%efbOu_xzxRBIoX zw~x(m_dLDdvL3*GeGmuqAsob^VLeO(--uz{IHPaEO?KCA#?9f94vSDmAK{XY;s}lg z`W76I#moJw*26F8A|Uol&GyYM9RNiOshPU2Lc@4)T2 z!`FA>PO<4-LQm_vakn6zwutwTyMTL82=p18#u;B1QN&%=<|7yh!AC9l7}-l0Ln+W_ zF^aRkK8JH+^Ya#b9OD8`XCmrOkUPKxfeoRs9afQbe9#?^WzXB=mr|1(3 z{5-6xN5j(}P~71s6+WQwBbZShUj2_M@bf%jUaLBk7Xq`nRE#SYb@S@TmQ+QeFk1Me8aW$-85fwk7@QT7G)QtY5!Y7qIte;Z&6op?h z%6;0HC#FB6cwj%P@EL{AQpwLLkn%aM?XtpUay$C-GV!Ylud-(p)L*E|z9tL&qQYwm zU!?4p6iE3JWxuSz&*!-SdGB9Wczt2suT*8fD)W9#;j0Q?qwE_Bq`X1duPc0=+)@1v znfIFt-&~mYpQ^Iol6k+a@GXUJQ}#OwqSzf$-$0e+)E%5MnprU3j_;Z23#62Oxq7t_C! z{rtVc?-YJdrauq`e-H)Dk%N9q2Hqm&j|zWOHl!uve|A+i40_BG7~5P#CUlfBjp;&+ z4?>8M>QI+;UpGgh-W@_c^B9Nmt|99_Y6h2tJHsWXya`RAOq|Lk5JzG{HzO+B*1{1J z=O(m=W_Yu@l_PCvMVqhNDV<_4YtPv^*UigY5aSEAF# zxSJT`l#OvSdW}0o&DZQVs)I`dt)Eb$sfG^0yGZDgOv%jAO=1svLgHGiMYpflag?zS z>#FJrufs4HMV63p=_VKsHzeb4HmJGKzAE3(Y=YY`At{920Yt>kn+jz*@(T4Vb25&{mw}wtIr64^^Bh$>1QbZ)B$XcNeLU*DAojy$+!Afdne4mlX z5OEbUSQY5i^ki$W8f&U<3|t0HEr$Peb%9-!r@4jF&1QF)9uX>|dpJsyhYMVX9-4g} z4ZR-OVZDJ`Y{Uj^oY9-Gi3=3vpf^*f7rmha>yy!pzJ_k3AJ?EiV5-rFExx1~*lb_m zt=JlxWx%p;<05j{hFri@V*rCbQ;mq^7&L^0R%RTs$2;tl*Ms?nuXmDVr(Me~Hg_=> z3O6gIcUwWG9wIn|-8zpUy$5;h8PWGqW%jP}G8;oB#D#j#8zhg;GlDvwFLQl}v|PFKRLFr7=KcyQ8DBbV z^)$n;DwV1|vGvkiZ!Gj4AznSqeMHC5fY?#pNK-ZOI?^{dGk>7MEB$d?dros56kRqH}MuO3aTXRYJ%X^>Fe z2GohFyfVemcvLr0UHUS_XLQ1-o3QFKc%a#;D=-p99C2@<)}94#rPd~t1k}?*yD$2Q zn#<54mn9oJj_Ne0=|CDCGrE(pq0>&Xl9SMa@<3~(0 zc8E^hr1$WK)DzHqbzv<71`!!7!qC9jk&Hi5-*_E=HfZ3#SADvR#>0|OY!3|~7%DO{ zMMf`J&z_QZVm%w_%nsZ1ti?jr+TkeL#MN=CG!4ibr);q4nK10phAFWj4ZCT)?toDsN;~r2 zS&br9W6GUuJ%!fOuExz0Fd;!$lxFai-bQ2@8#e0AymD?H*1epk554G{k=v)ZSu%T! z3r2Jcr@WTe&}##|75&)i>j4Y44cp{Z$XT{QvTes8wg-#?Ib7#63hdx-D77*V7kjEbE5&6B01$!xPr`bnc_hTRS z`wRn79FX%U_Y0%(L95syMuUSUO%q!V+rb;b+b4s9VNJ^&RFuEj5)b3B*yRYp&F#~- zw@-p|RmXTAHR0iA8y=KsbsV?hxLwr=HYG$r$>StW%BoH=Se&w}x`T9c303mA3wMe9 z-MABXQ$C&tZ=zA0_8B1V3H{)^^KAC8|LvYFJooS3v%Nb#?T2Hs zr3e1Mr)Tu)=a@z3Gk+n+LK{-n;72s`HapV8=4ak8Y|il&__OG~O+ zS#qx|EJaLRX=!ywYB+UoFVxh(t^CvQSF13wn)MM=rE08Q{xGzrC7`x+vb5?FuT{TF z)GS{$FR8&)i#tn^T576iiY&<`k~OL~UTy7-XzTw{yQx_g6Jxhut=5%#XSJ-W)O`ec z`PEB8E8b~EsG&_c$%2$7M<>EETVsps)b&YSNJaZb%4KJJGrITPjxOW=mzYDLFZ3 L>PEe`B3S-!B*i>D diff --git a/machine_interface/tests/data/test_wasm_matmac b/machine_interface/tests/data/test_wasm_matmac index b0610d404f3ce0a23dd9c071dca3acba293b154b..902beba7d7731d80db72b6d8cadf2c27ff7423ef 100755 GIT binary patch literal 8728 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 literal 8506 zcmd5?`FC8!m45YJtGlJ{RzEGa+qP_f)s}5}6Ee1CFxaSt7X*04#%!kDmfA*7Pm(3I z00$u%41@ql2oN9>vO7Q$NJuhCCX;otP7<=t{5*ffoHM@-^WCa`QV(utAcvDPI+D7o z?*7$sZ>i*zrbdhEe$%}(goV^*tzLS zajIM?4vtTcRh(qUyJ@GV&zvbwR>@6m3*@sDGU84uyD&;`#s{5-_L`BQq2l;-g?5~D z^TP1(*l@*()eMv$;tcrz+)9S|O#i9%ZOhDS2v9u{cTRheylBv*GyZQpn&r z?$(nqR@!Q!l-MixO_obT#dG7sW0mrxlUP&7i8_4k%ND}15!N8txZ*P6|AI18cNT_+ zI9pD0jqJh<8Co$ck2%@;hOMx_@-oBX`+{`K(%SIOg{8`w@yRO6i|W%1YKzy^m8%2H zk~BG|#*6oH4TfdUYZAdqi7Ro)i)D(@ES)Y*mA!^kv3Os(bgpQ6aZ>HpvHb)!RZ6GB zvh60Dp4*;tom7+KKYHQ91t;sI+8zHfY5Eth-30VlFnzUCE#L>}n2Pa0)#m zd8gAh=d^PB{3p$@w?E?)9RDflXt$uMEwA8KTQRpUq8F4f&uUc=k*7r@-_Yfz^YKD* zAfpg3BqlPd@UT|kaB{upYHUF*6@LI~tDY~Y zbw3ETZXaS+<$^lJ;0q51jPOmcoy;qVxp7W6K^2mLPNh|ZVz=&1=8R z7)_E1AP^);?(ILq384#Y(WnvmBLr!>PUF272ZbS?bwFxq3*?2^agqd zc67NheT@~q7T4mMUNwF4Wg^Qg-2b?5a-6Zp(iIZouwdH);9JT;y~C z1@!g0X*<|&Id8;`=F`fIEX``K8yo69OxrBB48dBy034;QQQ{jV>Eho)TeL~rvhC< z33pq}Pvdl?e9$T%B6}G_D2MtC25~0PXK_|Azt1Wk#;_>o787?z$Q@z?VW>wDU^LKU z7{h&>6M8<5@kseOt9*j&lbFC{sHboaQ-Q9aBI>5C^80bW^d7LvA0+pAJc#q5{tzC( zhXVZ&9>O#ykjiH;6Dfb#DxW3$9A+^W>I(`F1%5xOs!PMyA7Q4}Pbqvv;VIIemc#F9lKnIfG;yIr zKO-z3Rd`0>qh$G*uzZXx9l}DVKd$g`T7SXJ=Cfk?6AI5Ne1evrV;II(OG^KP!l#t}v;rHSRs;GK zaq%+>uPA&*P3X@md{)`T`Z2HbMZ!3Iz-tIqEWxpeKzpL;ah3``KdkUm{kFx)y z!0&I-t}M^*D|~-m_MfY=KM>g;D*Qm3f?p_*@(U{Xr6~B7!Y>tmMFq08f35KAc?JJkRqz{8@LPr7DEyWR zey2dn@2KEyQSf_(w-tU*1->k~r2d1<=N}dRpzudB{fS!eCvng$Ip{yjz@JI^i^5-& zO=;QGf4HhEN_uX=XKr)hjj&XSfmt=l52_H58l;SW!z_uo+lRQRaS}*$xsRDa!J(S& z4416(CNxDdDLR*C#gHChA<2q1rkgop^4y5_S%LYJx`iXHXhCbB+bG@6WY*SeZL+%v ziy~!>m|L}x@?gEd$k=(QYW?!(%ud&2854aU$#m8|dNq*;&k+0@$!H67ur z3O%eQI1M9GLR1S6PjKEO6~!i269#9nxVa#)up4J78t-+x*i1-O%EHEMb@F#cB}R0P zG$E-|XtFpD=nNxgF@fd@;+(Zx+lL=*&K9xRsav_o+F0GSg#^3>?STb4&60xjE`m&$ zrKIqrr0B9jOR0JpmSR~zs68yFSLW<95*^gI0v%Wp>XkgnR$(PpRgW<+3_>lyf4&-E zp7MlSD683A9hFB^)uB5%O30%C*P@fKuO-my&^4gf(~AvQj|~%gBQ`QXaSnPDg*Ibz zbbxisXotRv$4C#ZLQlw2qZ?ZSDKoIiZs4uh8o{#7vTtV)z1WW4kfp{p>|nt0{V163g{ouH!_qx zEH(B_u&CHu4JD`dVV^AY{UX|~Z=z2FxCsLx>x=!kIbeO^;TBt+mW=S{%R~0ZR)HcXC+^ zo4-(Du$Pt!!&DHKb`mFLXWuKmG;0l38&Z@Rxl=eL#!8mPaswqfUkq&!gCa0wX=SkN zsM>4SXNb&MoWa?Eg@-2>+M#b^Y>7`vtru}SwF z;h13QF%hy58N+12LSzadee$0-b$$;^5)YMtCCPMjS`MiA!e;ibu$c`|X*oju7mOyK zho^^zfSWlUXBx*n&gT!p;P7@Oxbgg-XcAJ4rY*vZWqmhVp3rES=EHm>ZT^Bg<)o zXIeEkbf6>BzQSr>N$uuX3we~S0Pn{pe?(OL=-EtXX4sZz%~n;t8IGY< zjyjsk5kTHJWr9u5q+y>JwhM;L3rmpOr{@#GgkDY@mlH?JZou;wvT%jK#juLISm^B< zQHY*54Hw+n^m?Q+hr^C zTDBczy9PUOO~@?Ji)#aBft~A_|F2`BxNZkaS)Z9;8?Fy{_1q~RyRlp9gB!35H%O_Q zL6@Jv|Ns1qeE@#`J?8y`!1M3nXMH>y z9siS3Y-Cexy=YtSw_17Wiq(ooz4Eh4c~OQ^JmnTHGm@Fo*;Hy5PdC2Vb~?&&_(JfG z!>@OL%9#0*H{NvAF`pM2Vq>MzvikQ}&bj$(A{&3# zLu=x%zJMm{zD=4J;>P+b)JO>pm1`YTiGq539ABn(Mk}9yqf# zl678A{rcV;(U$+?-L&olw1C}qrFZ7`_x6r_g*R7Gz4*${u}j|TYiy!bIoYE8XTab{ z^u*oR>^cqI@+PZd-KVFfoNF4-O^y#u50)pVRGQ7f^3+s$X!GgwDt-Jk-`1xw7?#G) xwrttf-P7H(dCRmJ+|s?p$!Ga52lBrFXUe6@^kjKTZOo2Nn>X9d_BDR$e*k9z&;tMf diff --git a/machine_interface/tests/data/test_wasm_matmul b/machine_interface/tests/data/test_wasm_matmul index f7eb424dda2a6b7d79bf027d073377b8632bbcf1..3f6506c71893c1e2c0537c257353c9cdf0985691 100755 GIT binary patch literal 7952 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 A=Kufz literal 29616 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 diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_busy b/machine_interface/tests/data/test_wasmtime_x86_64_busy index 5bd5b43b2adb60805a2b6d65de01dad786a8db41..44295cd99d61845690d92c93ec73de3f78d788ab 100644 GIT binary patch literal 31728 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 SQTltXaZ}ykPfR#H{r>~?Lkxxh literal 37328 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 diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_matmul b/machine_interface/tests/data/test_wasmtime_x86_64_matmul index 94e5f00bc658d156202575abe749e2ddab2ccd5a..2104225f34fa5880bf57c11957dcbc932031ec1f 100644 GIT binary patch literal 35640 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 From 542c87d3696a5cc88889d1549172ce99c7ce251a Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 25 Jan 2024 11:16:30 +0100 Subject: [PATCH 73/91] fix merge missing change --- dispatcher/src/function_registry.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index 95e403b4..1a00e030 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -68,7 +68,7 @@ impl FunctionRegistry { pub async fn get_options(&self, function_id: FunctionId) -> DandelionResult> { // get the ones that are already loaded - let lock_guard = self.options.read().await; + let lock_guard = self.options.lock().await; let alternatives = lock_guard.get(&function_id); return alternatives .and_then(|alt| Some(alt.to_vec())) From 711515c0973d5ceed3f125ed59011855bb9dadec Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 25 Jan 2024 12:10:56 +0100 Subject: [PATCH 74/91] fix merge again --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 5769869f..bb931cfe 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -534,7 +534,7 @@ fn main() -> () { #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); #[cfg(all( - any(feature = "cheri", feature = "mmu", feature = "wasm"), + any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), feature = "hyper_io" ))] { From f0b1abbfac7fff36e8b6b734e364b9c62da9ec32 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Wed, 31 Jan 2024 16:30:05 +0100 Subject: [PATCH 75/91] rename wasmtime features --- dispatcher/Cargo.toml | 2 +- dispatcher/tests/dispatcher_tests.rs | 8 +-- machine_interface/Cargo.toml | 5 +- machine_interface/src/function_driver.rs | 8 +-- .../src/function_driver/compute_driver.rs | 2 +- .../compute_driver/compute_driver_tests.rs | 6 +- .../compute_driver/wasmtime.rs | 4 +- machine_interface/src/lib.rs | 2 +- machine_interface/src/memory_domain.rs | 10 ++-- .../src/memory_domain/domain_tests.rs | 4 +- server/Cargo.toml | 4 +- server/src/main.rs | 58 ++++++++++--------- 12 files changed, 60 insertions(+), 53 deletions(-) diff --git a/dispatcher/Cargo.toml b/dispatcher/Cargo.toml index cb046ecb..dc50dab0 100644 --- a/dispatcher/Cargo.toml +++ b/dispatcher/Cargo.toml @@ -17,4 +17,4 @@ async-lock = "3.1" cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] -wasmtime = ["machine_interface/wasmtime"] \ No newline at end of file +wasmtime-jit = ["machine_interface/wasmtime-jit"] \ No newline at end of file diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index b42a40ae..54aef969 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] mod dispatcher_tests { mod function_tests; mod registry_tests; @@ -191,12 +191,12 @@ mod dispatcher_tests { dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![ComputeResource::CPU(1)]); } - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] mod wasmtime { use machine_interface::{ - function_driver::compute_driver::wasmtime::WasmtimeDriver, + function_driver::{compute_driver::wasmtime::WasmtimeDriver, ComputeResource}, memory_domain::wasmtime::WasmtimeMemoryDomain, }; - dispatcherTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![1]); + dispatcherTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ComputeResource::CPU(1)]); } } diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 856e04c6..d0a33ab3 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -9,9 +9,8 @@ cheri = ["std"] mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] -wasmtime = ["std", "dep:wasmtime"] -wasmtime-precompiled = ["wasmtime"] -# default = ["wasmtime", "wasm"] +wasmtime-jit = ["std", "dep:wasmtime"] +wasmtime-precompiled = ["wasmtime-jit"] [build-dependencies] cmake = "0.1" diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index b65e1b54..1efe0832 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -9,7 +9,7 @@ use std::{future::Future, sync::Arc}; #[cfg(feature = "wasm")] use libloading::Library; -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] use wasmtime; pub mod compute_driver; @@ -42,7 +42,7 @@ pub struct WasmConfig { system_data_struct_offset: usize, } -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] #[derive(Clone)] pub struct WasmtimeConfig { precompiled_module: Vec, @@ -58,7 +58,7 @@ pub enum FunctionConfig { SysConfig(SystemFunction), #[cfg(feature = "wasm")] WasmConfig(WasmConfig), - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] WasmtimeConfig(WasmtimeConfig), } @@ -81,7 +81,7 @@ impl Function { context.occupy_space(0, c.sdk_heap_base)?; Ok(context) }, - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] FunctionConfig::WasmtimeConfig(c) => { let mut context = domain.acquire_context(c.total_mem_size)?; diff --git a/machine_interface/src/function_driver/compute_driver.rs b/machine_interface/src/function_driver/compute_driver.rs index 60873de3..147b765b 100644 --- a/machine_interface/src/function_driver/compute_driver.rs +++ b/machine_interface/src/function_driver/compute_driver.rs @@ -7,7 +7,7 @@ pub mod mmu; #[cfg(feature = "wasm")] pub mod wasm; -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] pub mod wasmtime; #[cfg(test)] diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 002a883f..4057092b 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] mod compute_driver_tests { use crate::{ function_driver::{ComputeResource, Driver, Engine, FunctionConfig}, @@ -631,13 +631,13 @@ mod compute_driver_tests { ]); } - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] mod wasmtime { use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; use crate::function_driver::ComputeResource; use crate::memory_domain::wasmtime::WasmtimeMemoryDomain; - #[cfg(not(feature = "wasmtime-precompiled"))] + #[cfg(feature = "wasmtime-jit")] driverTests!(wasm; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ ComputeResource::CPU(1), diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index b72ad2f6..50200bf8 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -251,11 +251,13 @@ impl Driver for WasmtimeDriver { }; let precompiled_module = if cfg!(feature = "wasmtime-precompiled") { wasm_module_content - } else { + } else if cfg!(feature = "wasmtime-jit") { map_cfg_err!{ store.engine().precompile_module(&wasm_module_content), "could not precompile module" } + } else { + unreachable!() }; // instantiate module to extract layout data diff --git a/machine_interface/src/lib.rs b/machine_interface/src/lib.rs index 3de7065e..f2c675b7 100644 --- a/machine_interface/src/lib.rs +++ b/machine_interface/src/lib.rs @@ -1,7 +1,7 @@ pub mod function_driver; pub mod memory_domain; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] mod interface; pub mod util; diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 943ddacd..6b827ee2 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -7,7 +7,7 @@ pub mod mmu; pub mod read_only; #[cfg(feature = "wasm")] pub mod wasm; -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] pub mod wasmtime; use crate::{DataItem, DataSet, Position}; @@ -30,7 +30,7 @@ pub enum ContextType { Mmu(Box), #[cfg(feature = "wasm")] Wasm(Box), - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] Wasmtime(Box), } @@ -45,7 +45,7 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.write(offset, data), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.write(offset, data), - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] ContextType::Wasmtime(context) => context.write(offset, data), } } @@ -59,7 +59,7 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.read(offset, read_buffer), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.read(offset, read_buffer), - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] ContextType::Wasmtime(context) => context.read(offset, read_buffer), } } @@ -255,7 +255,7 @@ pub fn transefer_memory( size, ) } - #[cfg(feature = "wasmtime")] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] (ContextType::Wasmtime(destination_ctxt), ContextType::Wasmtime(source_ctxt)) => { wasmtime::wasmtime_transfer( destination_ctxt, diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index ab892fd4..0c18e9fd 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -225,7 +225,7 @@ domainTests!(mmu; mmuType; Vec::new()); use super::wasm::WasmMemoryDomain as wasmType; #[cfg(feature = "wasm")] domainTests!(wasm; wasmType; Vec::new()); -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] use super::wasmtime::WasmtimeMemoryDomain as wasmtimeType; -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] domainTests!(wasmtime; wasmtimeType; Vec::new()); \ No newline at end of file diff --git a/server/Cargo.toml b/server/Cargo.toml index c6568ce8..5be6e09c 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -26,6 +26,6 @@ reqwest = { version = "0.11", default-features = false, features = ["blocking"] cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] -wasmtime = ["machine_interface/wasmtime"] -wasmtime-precompiled = ["wasmtime", "machine_interface/wasmtime-precompiled"] +wasmtime-jit = ["machine_interface/wasmtime-jit"] +wasmtime-precompiled = ["machine_interface/wasmtime-precompiled"] hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index bb931cfe..3cec7966 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -25,7 +25,7 @@ use machine_interface::{ #[cfg(feature = "hyper_io")] use machine_interface::function_driver::system_driver::hyper::HyperDriver; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] use machine_interface::{ function_driver::Driver, memory_domain::{Context, ContextTrait, MemoryDomain}, @@ -53,7 +53,7 @@ use machine_interface::{ memory_domain::wasmtime::WasmtimeMemoryDomain, }; -#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] +#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] use machine_interface::{ memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, @@ -531,10 +531,10 @@ fn main() -> () { ); let mut registry; // insert specific configuration - #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"))] + #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); #[cfg(all( - any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), + any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"), feature = "hyper_io" ))] { @@ -584,30 +584,34 @@ fn main() -> () { std::env::consts::ARCH )); } - #[cfg(feature = "wasmtime")] + #[cfg(feature = "wasmtime-jit")] { domains.insert( COMPUTE_DOMAIN, WasmtimeMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), ); driver = Box::new(WasmtimeDriver {}) as Box; - if cfg!(feature = "wasmtime-precompiled") { - mmm_path.push(format!( - "../machine_interface/tests/data/test_wasmtime_{}_matmul", - std::env::consts::ARCH - )); - busy_path.push(format!( - "../machine_interface/tests/data/test_wasmtime_{}_busy", - std::env::consts::ARCH - )); - } else { - mmm_path.push(format!( - "../machine_interface/tests/data/test_wasm_matmul", - )); - busy_path.push(format!( - "../machine_interface/tests/data/test_wasm_busy", - )); - } + mmm_path.push(format!( + "../machine_interface/tests/data/test_wasm_matmul", + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_wasm_busy", + )); + #[cfg(feature = "wasmtime-precompiled")] + panic!("Should only have one feature out of wasmtime-jit or wasmtime-precompiled"); + } + #[cfg(feature = "wasmtime-precompiled")] + { + mmm_path.push(format!( + "../machine_interface/tests/data/test_wasmtime_{}_matmul", + std::env::consts::ARCH + )); + busy_path.push(format!( + "../machine_interface/tests/data/test_wasmtime_{}_busy", + std::env::consts::ARCH + )); + #[cfg(feature = "wasmtime-precompiled")] + panic!("Should only have one feature out of wasmtime-jit or wasmtime-precompiled"); } let system_driver = Box::new(HyperDriver {}); drivers.insert(COMPUTE_ENGINE, driver); @@ -765,7 +769,7 @@ fn main() -> () { } } #[cfg(not(all( - any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime"), + any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"), feature = "hyper_io" )))] { @@ -800,9 +804,11 @@ fn main() -> () { println!("Hello, World (mmu)"); #[cfg(feature = "wasm")] println!("Hello, World (wasm)"); - #[cfg(feature = "wasmtime")] - println!("Hello, World (wasmtime)"); - #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime")))] + #[cfg(feature = "wasmtime-jit")] + println!("Hello, World (wasmtime-jit)"); + #[cfg(feature = "wasmtime-precompiled")] + println!("Hello, World (wasmtime-precompiled)"); + #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] println!("Hello, World (native)"); // Run this server for... forever! if let Err(e) = runtime.block_on(server) { From d418b65de4f2a4a07872546bb293bf94464fc0f5 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Wed, 31 Jan 2024 16:34:29 +0100 Subject: [PATCH 76/91] fix missing feature rename --- server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main.rs b/server/src/main.rs index 3cec7966..da6d1b6c 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -47,7 +47,7 @@ use machine_interface::{ function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, }; -#[cfg(feature = "wasmtime")] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] use machine_interface::{ function_driver::compute_driver::wasmtime::WasmtimeDriver, memory_domain::wasmtime::WasmtimeMemoryDomain, From 02db215657c0f784de4dcc36d7529c6d8100de44 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 1 Feb 2024 15:49:07 +0100 Subject: [PATCH 77/91] fix wasmtime-precompiled driver init --- server/src/main.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/src/main.rs b/server/src/main.rs index da6d1b6c..5e8b3272 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -602,6 +602,11 @@ fn main() -> () { } #[cfg(feature = "wasmtime-precompiled")] { + domains.insert( + COMPUTE_DOMAIN, + WasmtimeMemoryDomain::init(Vec::new()).expect("Should be able to initialize domain"), + ); + driver = Box::new(WasmtimeDriver {}) as Box; mmm_path.push(format!( "../machine_interface/tests/data/test_wasmtime_{}_matmul", std::env::consts::ARCH From 3504386f6302022efa23fb538e06ccb442501c23 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 1 Feb 2024 16:06:40 +0100 Subject: [PATCH 78/91] fix feature separation wasmtime-precompiled and wasmtime-jit --- machine_interface/Cargo.toml | 2 +- server/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index d0a33ab3..51cc48f9 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -10,7 +10,7 @@ mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] wasmtime-jit = ["std", "dep:wasmtime"] -wasmtime-precompiled = ["wasmtime-jit"] +wasmtime-precompiled = ["std", "dep:wasmtime"] [build-dependencies] cmake = "0.1" diff --git a/server/src/main.rs b/server/src/main.rs index 5e8b3272..35671f8a 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -615,7 +615,7 @@ fn main() -> () { "../machine_interface/tests/data/test_wasmtime_{}_busy", std::env::consts::ARCH )); - #[cfg(feature = "wasmtime-precompiled")] + #[cfg(feature = "wasmtime-jit")] panic!("Should only have one feature out of wasmtime-jit or wasmtime-precompiled"); } let system_driver = Box::new(HyperDriver {}); From 4a2b9d9b6c457aa759a7b7ead4d970905ee257e4 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 1 Feb 2024 16:21:49 +0100 Subject: [PATCH 79/91] rename wasmtime-precompiled to wasmtime-precomp --- machine_interface/Cargo.toml | 2 +- machine_interface/src/function_driver.rs | 8 ++++---- .../src/function_driver/compute_driver.rs | 2 +- .../compute_driver/compute_driver_tests.rs | 8 ++++---- .../src/function_driver/compute_driver/wasmtime.rs | 4 ++-- machine_interface/src/lib.rs | 2 +- machine_interface/src/memory_domain.rs | 10 +++++----- machine_interface/src/memory_domain/domain_tests.rs | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/machine_interface/Cargo.toml b/machine_interface/Cargo.toml index 51cc48f9..59b1725f 100644 --- a/machine_interface/Cargo.toml +++ b/machine_interface/Cargo.toml @@ -10,7 +10,7 @@ mmu = ["std"] hyper_io = ["std", "dep:hyper"] wasm = ["std"] wasmtime-jit = ["std", "dep:wasmtime"] -wasmtime-precompiled = ["std", "dep:wasmtime"] +wasmtime-precomp = ["std", "dep:wasmtime"] [build-dependencies] cmake = "0.1" diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 1efe0832..5f5b78c1 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -9,7 +9,7 @@ use std::{future::Future, sync::Arc}; #[cfg(feature = "wasm")] use libloading::Library; -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] use wasmtime; pub mod compute_driver; @@ -42,7 +42,7 @@ pub struct WasmConfig { system_data_struct_offset: usize, } -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] #[derive(Clone)] pub struct WasmtimeConfig { precompiled_module: Vec, @@ -58,7 +58,7 @@ pub enum FunctionConfig { SysConfig(SystemFunction), #[cfg(feature = "wasm")] WasmConfig(WasmConfig), - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] WasmtimeConfig(WasmtimeConfig), } @@ -81,7 +81,7 @@ impl Function { context.occupy_space(0, c.sdk_heap_base)?; Ok(context) }, - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] FunctionConfig::WasmtimeConfig(c) => { let mut context = domain.acquire_context(c.total_mem_size)?; diff --git a/machine_interface/src/function_driver/compute_driver.rs b/machine_interface/src/function_driver/compute_driver.rs index 147b765b..5cbf5ebc 100644 --- a/machine_interface/src/function_driver/compute_driver.rs +++ b/machine_interface/src/function_driver/compute_driver.rs @@ -7,7 +7,7 @@ pub mod mmu; #[cfg(feature = "wasm")] pub mod wasm; -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] pub mod wasmtime; #[cfg(test)] diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 4057092b..6898172a 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp")))] mod compute_driver_tests { use crate::{ function_driver::{ComputeResource, Driver, Engine, FunctionConfig}, @@ -631,7 +631,7 @@ mod compute_driver_tests { ]); } - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] mod wasmtime { use crate::function_driver::compute_driver::wasmtime::WasmtimeDriver; use crate::function_driver::ComputeResource; @@ -649,7 +649,7 @@ mod compute_driver_tests { ComputeResource::GPU(0), ]); - #[cfg(features = "wasmtime-precompiled")] + #[cfg(features = "wasmtime-precomp")] #[cfg(target_arch = "x86_64")] driverTests!(wasmtime_x86_64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ @@ -662,7 +662,7 @@ mod compute_driver_tests { ComputeResource::GPU(0), ]); - #[cfg(not(features = "wasmtime-precompiled"))] + #[cfg(not(features = "wasmtime-precomp"))] #[cfg(target_arch = "aarch64")] driverTests!(wasmtime_aarch64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index 50200bf8..e7aa6bae 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -229,7 +229,7 @@ impl Driver for WasmtimeDriver { ) -> DandelionResult { info!("parsing wasmtime function {}", &function_config); - info!("pre-compilation enabled: {}", cfg!(feature = "wasmtime-precompiled")); + info!("pre-compilation enabled: {}", cfg!(feature = "wasmtime-precomp")); // shorthand to map any error below to a config missmatch macro_rules! map_cfg_err { @@ -249,7 +249,7 @@ impl Driver for WasmtimeDriver { std::fs::read(&function_config), "could not read function file" }; - let precompiled_module = if cfg!(feature = "wasmtime-precompiled") { + let precompiled_module = if cfg!(feature = "wasmtime-precomp") { wasm_module_content } else if cfg!(feature = "wasmtime-jit") { map_cfg_err!{ diff --git a/machine_interface/src/lib.rs b/machine_interface/src/lib.rs index f2c675b7..99de964c 100644 --- a/machine_interface/src/lib.rs +++ b/machine_interface/src/lib.rs @@ -1,7 +1,7 @@ pub mod function_driver; pub mod memory_domain; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp"))] mod interface; pub mod util; diff --git a/machine_interface/src/memory_domain.rs b/machine_interface/src/memory_domain.rs index 6b827ee2..c07b8b29 100644 --- a/machine_interface/src/memory_domain.rs +++ b/machine_interface/src/memory_domain.rs @@ -7,7 +7,7 @@ pub mod mmu; pub mod read_only; #[cfg(feature = "wasm")] pub mod wasm; -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] pub mod wasmtime; use crate::{DataItem, DataSet, Position}; @@ -30,7 +30,7 @@ pub enum ContextType { Mmu(Box), #[cfg(feature = "wasm")] Wasm(Box), - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] Wasmtime(Box), } @@ -45,7 +45,7 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.write(offset, data), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.write(offset, data), - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] ContextType::Wasmtime(context) => context.write(offset, data), } } @@ -59,7 +59,7 @@ impl ContextTrait for ContextType { ContextType::Mmu(context) => context.read(offset, read_buffer), #[cfg(feature = "wasm")] ContextType::Wasm(context) => context.read(offset, read_buffer), - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] ContextType::Wasmtime(context) => context.read(offset, read_buffer), } } @@ -255,7 +255,7 @@ pub fn transefer_memory( size, ) } - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] (ContextType::Wasmtime(destination_ctxt), ContextType::Wasmtime(source_ctxt)) => { wasmtime::wasmtime_transfer( destination_ctxt, diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index 0c18e9fd..b80ac397 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -225,7 +225,7 @@ domainTests!(mmu; mmuType; Vec::new()); use super::wasm::WasmMemoryDomain as wasmType; #[cfg(feature = "wasm")] domainTests!(wasm; wasmType; Vec::new()); -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] use super::wasmtime::WasmtimeMemoryDomain as wasmtimeType; -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] domainTests!(wasmtime; wasmtimeType; Vec::new()); \ No newline at end of file From 7e2bfb0cb7a43d8ae4aa1e850002d591c06df531 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Thu, 1 Feb 2024 16:28:33 +0100 Subject: [PATCH 80/91] missed files in previous commit --- dispatcher/tests/dispatcher_tests.rs | 4 ++-- server/Cargo.toml | 2 +- server/src/main.rs | 26 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index 54aef969..c3e47dcc 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp")))] mod dispatcher_tests { mod function_tests; mod registry_tests; @@ -191,7 +191,7 @@ mod dispatcher_tests { dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![ComputeResource::CPU(1)]); } - #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] mod wasmtime { use machine_interface::{ function_driver::{compute_driver::wasmtime::WasmtimeDriver, ComputeResource}, diff --git a/server/Cargo.toml b/server/Cargo.toml index 5be6e09c..e562d39c 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -27,5 +27,5 @@ cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] wasmtime-jit = ["machine_interface/wasmtime-jit"] -wasmtime-precompiled = ["machine_interface/wasmtime-precompiled"] +wasmtime-precomp = ["machine_interface/wasmtime-precomp"] hyper_io = ["machine_interface/hyper_io"] \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index 35671f8a..b7f9089a 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -25,7 +25,7 @@ use machine_interface::{ #[cfg(feature = "hyper_io")] use machine_interface::function_driver::system_driver::hyper::HyperDriver; -#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp"))] use machine_interface::{ function_driver::Driver, memory_domain::{Context, ContextTrait, MemoryDomain}, @@ -47,13 +47,13 @@ use machine_interface::{ function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, }; -#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] use machine_interface::{ function_driver::compute_driver::wasmtime::WasmtimeDriver, memory_domain::wasmtime::WasmtimeMemoryDomain, }; -#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] +#[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp")))] use machine_interface::{ memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, @@ -531,10 +531,10 @@ fn main() -> () { ); let mut registry; // insert specific configuration - #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"))] + #[cfg(all(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp"))] std::compile_error!("Should only have one feature out of mmu or cheri or wasm"); #[cfg(all( - any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"), + any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp"), feature = "hyper_io" ))] { @@ -597,10 +597,10 @@ fn main() -> () { busy_path.push(format!( "../machine_interface/tests/data/test_wasm_busy", )); - #[cfg(feature = "wasmtime-precompiled")] - panic!("Should only have one feature out of wasmtime-jit or wasmtime-precompiled"); + #[cfg(feature = "wasmtime-precomp")] + panic!("Should only have one feature out of wasmtime-jit or wasmtime-precomp"); } - #[cfg(feature = "wasmtime-precompiled")] + #[cfg(feature = "wasmtime-precomp")] { domains.insert( COMPUTE_DOMAIN, @@ -616,7 +616,7 @@ fn main() -> () { std::env::consts::ARCH )); #[cfg(feature = "wasmtime-jit")] - panic!("Should only have one feature out of wasmtime-jit or wasmtime-precompiled"); + panic!("Should only have one feature out of wasmtime-jit or wasmtime-precomp"); } let system_driver = Box::new(HyperDriver {}); drivers.insert(COMPUTE_ENGINE, driver); @@ -774,7 +774,7 @@ fn main() -> () { } } #[cfg(not(all( - any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled"), + any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp"), feature = "hyper_io" )))] { @@ -811,9 +811,9 @@ fn main() -> () { println!("Hello, World (wasm)"); #[cfg(feature = "wasmtime-jit")] println!("Hello, World (wasmtime-jit)"); - #[cfg(feature = "wasmtime-precompiled")] - println!("Hello, World (wasmtime-precompiled)"); - #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precompiled")))] + #[cfg(feature = "wasmtime-precomp")] + println!("Hello, World (wasmtime-precomp)"); + #[cfg(not(any(feature = "cheri", feature = "mmu", feature = "wasm", feature = "wasmtime-jit", feature = "wasmtime-precomp")))] println!("Hello, World (native)"); // Run this server for... forever! if let Err(e) = runtime.block_on(server) { From 7a624eea4238bb1c1dc70cad52c91ce1ad4912f0 Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Thu, 1 Feb 2024 14:23:02 +0100 Subject: [PATCH 81/91] Adding back cheri build file that was wrongly removed --- machine_interface/build.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 machine_interface/build.rs diff --git a/machine_interface/build.rs b/machine_interface/build.rs new file mode 100644 index 00000000..433a4996 --- /dev/null +++ b/machine_interface/build.rs @@ -0,0 +1,25 @@ +use cmake::Config; +use std::process::Command; + +fn cmake_libraries() -> () { + // cmake configure and build all + let _all = Config::new("c_machine_libraries") + .define("FORCE_BUILD_CHERI", "") + .build_target("all") + .build(); + // run tests tests + let _test = Config::new("c_machine_libraries") + .build_target("test") + .build(); + // install + let install = Config::new("c_machine_libraries").build(); + // passing cmake information to c + println!("cargo:rustc-link-search=native={}", install.display()); + println!("cargo:rustc-link-lib=static=cheri_lib"); +} + +fn main() { + // check if cheri is enabled and build library if so + #[cfg(features = "cheri")] + cmake_libraries(); +} \ No newline at end of file From a22e5b1d79e6405f61936f7de30f359b75c25b6a Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Thu, 1 Feb 2024 17:05:03 +0100 Subject: [PATCH 82/91] Add env variable to use different mmu worker locations --- README.md | 5 ++- machine_interface/build.rs | 40 +++++++++---------- .../src/function_driver/compute_driver/mmu.rs | 5 +-- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index fd3b6e8d..f42ea568 100644 --- a/README.md +++ b/README.md @@ -96,4 +96,7 @@ RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-Wl,-fuse-ld=lld,--image-ba Also make sure that shared memory objects are executable: ``` sudo mount -o remount,exec /dev/shm -``` \ No newline at end of file +``` + +### MMU worker path +To use a `mmu_worker` that is not at the original location it was built in, set the `PROCESS_WORKER_PATH` environment variable to point to the desired binary \ No newline at end of file diff --git a/machine_interface/build.rs b/machine_interface/build.rs index 433a4996..aefff0c2 100644 --- a/machine_interface/build.rs +++ b/machine_interface/build.rs @@ -1,25 +1,21 @@ -use cmake::Config; -use std::process::Command; - -fn cmake_libraries() -> () { - // cmake configure and build all - let _all = Config::new("c_machine_libraries") - .define("FORCE_BUILD_CHERI", "") - .build_target("all") - .build(); - // run tests tests - let _test = Config::new("c_machine_libraries") - .build_target("test") - .build(); - // install - let install = Config::new("c_machine_libraries").build(); - // passing cmake information to c - println!("cargo:rustc-link-search=native={}", install.display()); - println!("cargo:rustc-link-lib=static=cheri_lib"); -} - fn main() { // check if cheri is enabled and build library if so #[cfg(features = "cheri")] - cmake_libraries(); -} \ No newline at end of file + { + use cmake::Config; + // cmake configure and build all + let _all = Config::new("c_machine_libraries") + .define("FORCE_BUILD_CHERI", "") + .build_target("all") + .build(); + // run tests tests + let _test = Config::new("c_machine_libraries") + .build_target("test") + .build(); + // install + let install = Config::new("c_machine_libraries").build(); + // passing cmake information to c + println!("cargo:rustc-link-search=native={}", install.display()); + println!("cargo:rustc-link-lib=static=cheri_lib"); + } +} diff --git a/machine_interface/src/function_driver/compute_driver/mmu.rs b/machine_interface/src/function_driver/compute_driver/mmu.rs index afcb25ab..d9c0c7a1 100644 --- a/machine_interface/src/function_driver/compute_driver/mmu.rs +++ b/machine_interface/src/function_driver/compute_driver/mmu.rs @@ -165,8 +165,7 @@ fn mmu_run_static( // that will not collide with those used by user's function // this trick gives the desired path of mmu_worker for packages within the workspace - // TODO: replace with a more general solution (e.g. environment variable) - let path = format!( + let path = std::env::var("PROCESS_WORKER_PATH").unwrap_or(format!( "{}/../target/{}-unknown-linux-gnu/{}/mmu_worker", env!("CARGO_MANIFEST_DIR"), std::env::consts::ARCH, @@ -175,7 +174,7 @@ fn mmu_run_static( } else { "release" }, - ); + )); // create a new address space (child process) and pass the shared memory let mut worker = Command::new(path) From ae4acf6e8d0f172beaf2688daf916c6fdd9d387f Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Fri, 2 Feb 2024 15:21:09 +0100 Subject: [PATCH 83/91] fix dandelion build --- machine_interface/build.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/machine_interface/build.rs b/machine_interface/build.rs index aefff0c2..2cdd3e3e 100644 --- a/machine_interface/build.rs +++ b/machine_interface/build.rs @@ -1,7 +1,9 @@ fn main() { // check if cheri is enabled and build library if so - #[cfg(features = "cheri")] + println!("from build.rs"); + #[cfg(feature = "cheri")] { + println!("from cheri build"); use cmake::Config; // cmake configure and build all let _all = Config::new("c_machine_libraries") From aef48163746f63c0b76ea2d8d8f32ea8350fe798 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Fri, 9 Feb 2024 18:31:01 +0100 Subject: [PATCH 84/91] roll back to read-write lock in function registry --- dispatcher/src/function_registry.rs | 41 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index 1a00e030..c3b5b134 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -8,7 +8,6 @@ use std::{ collections::{BTreeMap, BTreeSet}, sync::Arc, }; -use futures::lock::Mutex; use crate::composition::{Composition, CompositionSet}; @@ -39,36 +38,36 @@ pub struct Metadata { pub struct FunctionRegistry { /// List of engines available for each function - engine_map: Mutex>>, + engine_map: RwLock>>, /// Drivers for the engines to prepare function (get them from available to ready) pub(crate) drivers: BTreeMap>, /// map with list of all options for each function /// TODO: change structure to avoid copy on get_options - options: Mutex>>, + options: RwLock>>, /// map with function information for functions that are available in memory - in_memory: Mutex>>, + in_memory: RwLock>>, /// map with file paths for functions for on disk available functons - on_disk: Mutex>, + on_disk: RwLock>, /// map with input and output set names for functions - metadata: Mutex>>, + metadata: RwLock>>, } impl FunctionRegistry { // TODO registr all system function on creation and make sure that no other method can add to their entries pub fn new(drivers: BTreeMap>) -> Self { return FunctionRegistry { - engine_map: Mutex::new(BTreeMap::new()), + engine_map: RwLock::new(BTreeMap::new()), drivers, - options: Mutex::new(BTreeMap::new()), - in_memory: Mutex::new(BTreeMap::new()), - on_disk: Mutex::new(BTreeMap::new()), - metadata: Mutex::new(BTreeMap::new()), + options: RwLock::new(BTreeMap::new()), + in_memory: RwLock::new(BTreeMap::new()), + on_disk: RwLock::new(BTreeMap::new()), + metadata: RwLock::new(BTreeMap::new()), }; } pub async fn get_options(&self, function_id: FunctionId) -> DandelionResult> { // get the ones that are already loaded - let lock_guard = self.options.lock().await; + let lock_guard = self.options.read().await; let alternatives = lock_guard.get(&function_id); return alternatives .and_then(|alt| Some(alt.to_vec())) @@ -78,14 +77,14 @@ impl FunctionRegistry { /// function that tries to insert metadata, returns true if metadata was successfully inserted /// or false if there was already metadata present pub async fn insert_metadata(&self, function_id: FunctionId, metadata: Metadata) -> () { - self.metadata.lock().await.insert(function_id, Arc::new(metadata)); + self.metadata.write().await.insert(function_id, Arc::new(metadata)); return; } pub async fn get_metadata(&self, function_id: FunctionId) -> DandelionResult> { return self .metadata - .lock() + .read() .await .get(&function_id) .and_then(|meta| Some(meta.clone())) @@ -175,14 +174,14 @@ impl FunctionRegistry { engine_id: EngineTypeId, path: &str, ) -> DandelionResult<()> { - if !self.metadata.lock().await.contains_key(&function_id) { + if !self.metadata.read().await.contains_key(&function_id) { return Err(DandelionError::DispatcherMetaDataUnavailable); } self.on_disk - .lock().await + .write().await .insert((function_id, engine_id), path.to_string()); self.engine_map - .lock().await.entry(function_id) + .write().await.entry(function_id) .and_modify(|set| { set.insert(engine_id); }) @@ -192,7 +191,7 @@ impl FunctionRegistry { set }); self.options - .lock().await + .write().await .entry(function_id) .and_modify(|current_alts| { current_alts.push(Alternative { @@ -222,7 +221,7 @@ impl FunctionRegistry { let path = // TODO replace by queueing of pre added composition to fetch code by id { - let disk_lock = self.on_disk.lock().await; + let disk_lock = self.on_disk.read().await; match disk_lock.get(&(function_id, engine_id)) { Some(s) => s.clone(), None => return Err(DandelionError::DispatcherUnavailableFunction), @@ -242,7 +241,7 @@ impl FunctionRegistry { // check if function for the engine is in registry already let function_opt; { - let lock_guard = self.in_memory.lock().await; + let lock_guard = self.in_memory.read().await; function_opt = lock_guard.get(&(function_id, engine_id)).and_then(|val| Some(val.clone())) }; if let Some(function) = function_opt { @@ -257,7 +256,7 @@ impl FunctionRegistry { if !non_caching { if self .in_memory - .lock() + .write() .await .insert((function_id, engine_id), Arc::new(function)) .is_some() From 885877c3a4661aab73cb1fbefa9a8c9517d36060 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Tue, 13 Feb 2024 09:49:15 +0100 Subject: [PATCH 85/91] Revert "Merge branch 'dev/wasmtime-debug-registry' into dev/wasmtime" This reverts commit 018fcfa286145be902fdfbc3883cddb27a00034c, reversing changes made to ae4acf6e8d0f172beaf2688daf916c6fdd9d387f. --- dispatcher/src/function_registry.rs | 41 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/dispatcher/src/function_registry.rs b/dispatcher/src/function_registry.rs index c3b5b134..1a00e030 100644 --- a/dispatcher/src/function_registry.rs +++ b/dispatcher/src/function_registry.rs @@ -8,6 +8,7 @@ use std::{ collections::{BTreeMap, BTreeSet}, sync::Arc, }; +use futures::lock::Mutex; use crate::composition::{Composition, CompositionSet}; @@ -38,36 +39,36 @@ pub struct Metadata { pub struct FunctionRegistry { /// List of engines available for each function - engine_map: RwLock>>, + engine_map: Mutex>>, /// Drivers for the engines to prepare function (get them from available to ready) pub(crate) drivers: BTreeMap>, /// map with list of all options for each function /// TODO: change structure to avoid copy on get_options - options: RwLock>>, + options: Mutex>>, /// map with function information for functions that are available in memory - in_memory: RwLock>>, + in_memory: Mutex>>, /// map with file paths for functions for on disk available functons - on_disk: RwLock>, + on_disk: Mutex>, /// map with input and output set names for functions - metadata: RwLock>>, + metadata: Mutex>>, } impl FunctionRegistry { // TODO registr all system function on creation and make sure that no other method can add to their entries pub fn new(drivers: BTreeMap>) -> Self { return FunctionRegistry { - engine_map: RwLock::new(BTreeMap::new()), + engine_map: Mutex::new(BTreeMap::new()), drivers, - options: RwLock::new(BTreeMap::new()), - in_memory: RwLock::new(BTreeMap::new()), - on_disk: RwLock::new(BTreeMap::new()), - metadata: RwLock::new(BTreeMap::new()), + options: Mutex::new(BTreeMap::new()), + in_memory: Mutex::new(BTreeMap::new()), + on_disk: Mutex::new(BTreeMap::new()), + metadata: Mutex::new(BTreeMap::new()), }; } pub async fn get_options(&self, function_id: FunctionId) -> DandelionResult> { // get the ones that are already loaded - let lock_guard = self.options.read().await; + let lock_guard = self.options.lock().await; let alternatives = lock_guard.get(&function_id); return alternatives .and_then(|alt| Some(alt.to_vec())) @@ -77,14 +78,14 @@ impl FunctionRegistry { /// function that tries to insert metadata, returns true if metadata was successfully inserted /// or false if there was already metadata present pub async fn insert_metadata(&self, function_id: FunctionId, metadata: Metadata) -> () { - self.metadata.write().await.insert(function_id, Arc::new(metadata)); + self.metadata.lock().await.insert(function_id, Arc::new(metadata)); return; } pub async fn get_metadata(&self, function_id: FunctionId) -> DandelionResult> { return self .metadata - .read() + .lock() .await .get(&function_id) .and_then(|meta| Some(meta.clone())) @@ -174,14 +175,14 @@ impl FunctionRegistry { engine_id: EngineTypeId, path: &str, ) -> DandelionResult<()> { - if !self.metadata.read().await.contains_key(&function_id) { + if !self.metadata.lock().await.contains_key(&function_id) { return Err(DandelionError::DispatcherMetaDataUnavailable); } self.on_disk - .write().await + .lock().await .insert((function_id, engine_id), path.to_string()); self.engine_map - .write().await.entry(function_id) + .lock().await.entry(function_id) .and_modify(|set| { set.insert(engine_id); }) @@ -191,7 +192,7 @@ impl FunctionRegistry { set }); self.options - .write().await + .lock().await .entry(function_id) .and_modify(|current_alts| { current_alts.push(Alternative { @@ -221,7 +222,7 @@ impl FunctionRegistry { let path = // TODO replace by queueing of pre added composition to fetch code by id { - let disk_lock = self.on_disk.read().await; + let disk_lock = self.on_disk.lock().await; match disk_lock.get(&(function_id, engine_id)) { Some(s) => s.clone(), None => return Err(DandelionError::DispatcherUnavailableFunction), @@ -241,7 +242,7 @@ impl FunctionRegistry { // check if function for the engine is in registry already let function_opt; { - let lock_guard = self.in_memory.read().await; + let lock_guard = self.in_memory.lock().await; function_opt = lock_guard.get(&(function_id, engine_id)).and_then(|val| Some(val.clone())) }; if let Some(function) = function_opt { @@ -256,7 +257,7 @@ impl FunctionRegistry { if !non_caching { if self .in_memory - .write() + .lock() .await .insert((function_id, engine_id), Arc::new(function)) .is_some() From 7ce1c5423370b2eadfc4a237f4a7d13f2cea0b16 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Sun, 25 Feb 2024 17:41:08 +0100 Subject: [PATCH 86/91] recomputed wasm binaries --- .../tests/data/test_sysld_wasm_aarch64_basic | Bin 13032 -> 23984 bytes .../tests/data/test_sysld_wasm_aarch64_busy | Bin 17576 -> 24536 bytes .../tests/data/test_sysld_wasm_aarch64_matmac | Bin 21792 -> 28632 bytes .../tests/data/test_sysld_wasm_aarch64_matmul | Bin 17576 -> 24536 bytes .../tests/data/test_sysld_wasm_x86_64_matmul | Bin 30392 -> 30488 bytes machine_interface/tests/data/test_wasm_matmul | Bin 7952 -> 8003 bytes .../tests/data/test_wasmtime_aarch64_basic | Bin 148920 -> 30072 bytes .../tests/data/test_wasmtime_aarch64_busy | Bin 150608 -> 31728 bytes .../tests/data/test_wasmtime_aarch64_matmac | Bin 152400 -> 37760 bytes .../tests/data/test_wasmtime_aarch64_matmul | Bin 150296 -> 36072 bytes .../tests/data/test_wasmtime_x86_64_matmul | Bin 35640 -> 36072 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_basic b/machine_interface/tests/data/test_sysld_wasm_aarch64_basic index 011cc242c2c986c3cd169930b3f920511a7c53c4..74259cfb7dc0a0104519f83a2b118ac2201b66b7 100755 GIT binary patch literal 23984 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_busy b/machine_interface/tests/data/test_sysld_wasm_aarch64_busy index 95745f28356fc9b88752e6c8a9ea2917ce05c541..9cd27c51a23fcfa9d795c66634aa576b00b3b9a8 100755 GIT binary patch literal 24536 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 BJj(z8 literal 17576 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 diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac index 35c54b38cdbdc5fa3dd34045abf21935d0460bf9..1bbf21aa5ae7ddf3a1191a4fb7daf2078b944fef 100755 GIT binary patch literal 28632 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 BooxUB diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul index 200f314d2a59187d3a6f8546f8efd65672101d3f..befc1a5907b636289e5b2656ceb5e9260c7b09fc 100755 GIT binary patch literal 24536 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�*7J< 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 D=ICuu literal 17576 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

uKQ}MLN zpnkoSLXY>oaV@lSEvFZ8Sti4uhj43D_7|h6$XPh-hNgoma0m_#mXQ5x= z-4@7Mh*#({*|`+EDfoqc@_oozY+O#sts9v5UP1=(=Z_rUzEoh8@+`-T?>9v41&$Zr zV+j03ju+p72>cAk52wh#BI8%E&kI6c>R|B2^e>VJV&S|lmGK64G(~l?*QYS+pa_RsMJZkN2? z&f^s>#vbQ*Az$G4aXCNa3u?bIf!M2@Uf>1&k2qfFFYrI%c%i4j|AOO-QvB*o8NYB` z%wSw>T!epay-i3~%C{j$!!lVao@y79a}M-mH!+S8F77rg^cuvs)VNwA<8v0o$vc53 zIig=RT+Wv`z4%UsquJ9k{ld8SRp99>E%9BNpnp-OUl{-d?b##w zI)mMNSWCC3!zX!rJ397&MFmNq3?`A{(=BgP*KVIzYU%B44kAx0ZmDvVwRl@9Jr$KL zWi1Zx`sN+IXnXbUVjKM_r9Wl#$4-CB=}!gJFLuy(U?fc1;p_Budr0N-$_k&?Ug~J} z+PwD4sySKSVw)_?R?4KmyVvGez-cRa5TBrJ>+<%t`zlB^sm$i^+k6gRrKh>fTiR^* zdOh9^)VQte8e}+R88#b)l$KYOJ8UHmhr?6qDQ|Axa1HE=3gzH-R5~gvJS|NvWlb&R zO_e3r!p$2m1-s8@Z)vKu`zk7ZRb}3irfXqW8n=VnTkfdzRhE@hlz2-@fl&G{kAtoJ zn!8Z}NiEIxCJczf(b81qXezfUk}!_2r$hc*NqcEqh%59ZZcCvN-XYO@w+gt~U_=NGA<=GsV9dIvSJ6u$8bFyYt zd3jlLQ(0Myy{f9E0=)oLPnYBeC4Cl2?hX__bCou@cn@6ljZB_0*U*a!4l&g&$9T+$Wb(@>iNk-&4xp zeJ=iO=SO@IN*{X4dR*m`&6JNzS#i&vj-aOrWw2W*{o<*!E9fiU(b-$v)Z5zbUEk_u zGUWI4_*t=cPbWB)GT6dvCq$=liv$o z0Vy0xm{K^zGX#4&TAQIj7i1|intFOzF@j_VVxMYx_&-0=IR&L!a{7QW%JU>qu1=AR z}?c`*uTz|TpwzeWC(uR$Iw-SoA9E2 zvCkEy$VWgTUtF93nF~)OTkwnhuqeZvGF5-kek13v<#giwM3myZh4}Fe=mPye2OQ}% zmj?5Em+?}x0}}a4wf}>_s`)LPPn0zZ+uUFJeMWsX0Z{Wl%=tx`k*B6se&11J{3-lm zUoT3rPZd0=`gd}E?DXVI?Egh+<#YWFM4q;v9h{2Ch_k0gLik&@9J2=U<#(e~tYA2ww6X!7uV{@qZw` zL7l@T`YqZOe(+t?5sBaz=N&KIPF(mu4@xojSMZDSWz?wo=kj#!_<~LdNQM6m6@(M* zi}MqF3nX8u^t?MtCH_v}CLAZ9!wY_C4x>B>esw8)M@{PI0wY`j+D6`wTj(R^C2bRh i?rMHZl>)sY49_b?yMmTt!eaby-K9`O1tBj}`TrOF*b5B+ diff --git a/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul b/machine_interface/tests/data/test_sysld_wasm_x86_64_matmul index 115623101e51116164b5df2dcdfd01bb9cb614a3..21cef16e33eb68dd561717d2bd09fdfc143d0929 100755 GIT binary patch delta 2263 zcma)7YfKbZ6ux&^5Rlh`%NBzL0eQ8`&hG3kW1D8jF6m&G3bt0NAneY}3O)b{xHf4E zW@&JpY`|O+=nosL*fz0=+G%{$R+eIeTGOCWV@y;unrd5HO{!wCrT5MZ3bsFblf8H5 z`_4JvIbUve4&Q-&zrpT&U1igO!sm5!P{g@S3BgrkH^=SUv-)hJ=MH*RuF{>0h;b$Z zWt~73QKqzujp|#pdI0B3>cbeCA7w)AQ5+nVPev_?fkSd!k_h4JsM&A>_Mw%@%M!YE z0F*Kh{5&Uhw*vl?<212_`k-myrM4z!Wlnd+;V97;ie12FG=0+5mzC|3dx)hb7C zopOx7Gt7k|hgSkHNc!M{7r5YelST_3c?u`uQ}|qr`?^=KE7`Z%73^Dk|!cTNev zmp(U_2(zKGI4T@?G~vJMmX0dg{B15&hQ%NGPvdrK(KqQivHds{wC06+Hta#J{5SB9^4r?}-^kOwRz{}6Y~ZoJd670F z8*=A7=J=Cbr~=FV=}#qt;w!)g>4d;haz8Q|kC3bAis%|ZdGt<7n?HDJSoPTzV#ir>b?&&OE>gdYA1wQK_By;g-qCN%m{Ce(wOPwtfGf{+3U_$FKeC zIuUOt_01F;yx^90lOEX6vZwA|_nX|(Ue(=}crer6=;`)KJrM1(FGy4;A3Tyzt_QaH zygfxf&1QW2|5%(J36IML=e`Vdq9zjp`C82^UD{9BLLHb5!ZfxLuPS0GUbzT*O=$w| zjIfz@6}^JXleHUBn7yX4Nd+p}AFG}j$b;FJBh=jPS5y@L7b+`2SlF-Z-zxhhWq*k7 zd5d5sn$H)(MW})|r8QzTqV6=PnKrFLKiZ1f>l)jhqQZ-CH)PF22Y3_AM%QqREmEtH zq;k#b0k$B6V1k#G-HBMiM3qIUkwE(f6lsyY8h%%s!l>bw(I&x^mO2Xn2;xC>g$8R! zCEA5+ex$G|;Nr%a>?ar}b3LmyhRz74Qj_vIN&w}{XJ!>*90DVVZkmbP6?_iZrhUz( zST~|X6I_mV;JpEPL{nNjj!ee7<=R*9tQOiqV$#qQtNDosSJoahgxN1O*7*$kBgu`t zh1o202BzpDV&p8}=g?@S9Cd=oP!8TF7JC>$U>vp*v}Hme|-g{OHIoF~$>m$sRU z8OCCDSZPMdGt!u0yn;u-h)7!m#!{>?cFb73wAJchyu97VSQxLb1SPFYmp9elhH~Hf zg%Ison~_I3YH9>egCK6GZ)~U$8(Ny*#hHTDAuL_WQ-UMCkfjYY=a!q<|lH2kxn1)E=pE%zw^Fvg%&o9$3UJ2vP2 E1A{kPWB>pF delta 2222 zcma)7e^69a6ux));qpsZU|k^;5dn)5Dg8%tQrk_w8<&slv!)1*nou;|?T-YQyubZ7S7x8M2h z`Of*~%zHa;;+`A0vrsd-;ZV_ZP5RyUU*FuzS9_+OYj}b`+cTQ1Ke=D7)qE2bhvp-; zPLrHiL&nes<)2nLPMrB0WLfIs$*mfM zD(rXsq9C>9Z6cqf<|SROMJV~RF!!~v<>Xd!C3Uv$I3PkuZ&-nlGkAAg|1rr$mT6(CWF&ZNw*xrDFeT0<|4Nt+2RtlVI?}URcK=#061-p|66lbvgph5{h zqzpZv7!}Ge0KmLOnZb4hbwi>QcC@$5peIX+AOdmY1AwLkpqw!eSFxkJh8?5J`-M=< z*<}dz(K>|SIU)G@xPBq@8NsP|1fL7IuQ)lojkS@Sjh6Du_!s%5{0pWfLg3d;3%SdI zz6Pq-Tp$F;98zBs{NY0zhE6e4=(XShiUs;w$#wm-nQinroER7#^Z($KWLDKqAtXdQ z?IZp#1xc!si>6$RN@Pjlwj^qRHIh55k!=*D8TM?U1t zyDx|XLZ}+#{`60wjlwkWLCfSoFCA6Xq~pRu;AG88zLu}!SMjUs`lbDCWc%zEE$zV} zNnP^PqI~V6RxC2Tg87IQQa5!Xw1^ooLX7|kr#Mg%ssPm!{tJTCK~)z7EpadmRJC~! z{A(k(%{e;eRP($15jvHQsE#gDVA;i~{Rap86`vg;ew3%9bHgch(EOF+P-SRAbfx{Y z|9g3WZF5FJ*dDYF%HPrPzYCoYK2k5cY-KBb`WE@bO18pXTWevIwkvHcDiahKq1 zk|UPjxujY&WUL1@s$Q;BZd%n0yU7-aUQ(m2X$qVR)zFni4v7YCW{h$-^2RSwg6Jg` zFHcnf^%80%mqY{pl;}K$ip*H$ZpzaNCrH?DZI0-eJ)+bbj5V(H(#@=gSrRrt16|z!92^s-9Qy$bOOK(If3+ zwOwa;I@+p!>mqy%A3Y7yf(za|$Q>{gGD6IsAY116K%!enw&==$ apM|`=@yYly9|O>!mK@z^!x}QOvEUz-Y(WD6 diff --git a/machine_interface/tests/data/test_wasm_matmul b/machine_interface/tests/data/test_wasm_matmul index 3f6506c71893c1e2c0537c257353c9cdf0985691..706f022c1a09c2fb3a32eb98b6ce5a50590b4719 100755 GIT binary patch delta 856 zcmaiyyKfUg5XNWr9!`9T?`)s#vwgN4oDfA|9vw}L+z{mtfP!XqvQLr0J_q|Opa__! z5KzP(0$l_xZE8Y6i>N38L6w%0l07HZMG22)X6~Eaz1jVKo7E51%?oPQ0stH?x2tc| za-8#>bdX_oxU%I;k{t2hPVV6#lJUs z%k>~WlG5sUu+&J((~rUugA84g{P|C3Ee2W?jQfMZ0CdnyFdhb_@n9Sui%7dtW#LKi zS;LiCsNI>v8W>MQVIvTP^o$JoDn8n|E^lMRUX%kUA)QytIHJqyqFA({ zc2T6C5toT{CHhVl$<*I6BzhlT#TQh~XLn8{x{}bhQfrF26`Z1L(_p;ZuU1i|IV(*k z^BH_4mfySkQIS2T?c!(Ig5x0I0SD|j2GWFr!_EaSrX00gJz{Od4j-RR*$JEqFcL;q zSRSLpy~1hjPb|%t;Wnqy;QOY|j_r@pR{^3vabI3G{^5T7KjsI_S%R^EyzeM8bAns~ X1q^8=xMX@Hd%x`qfb delta 731 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 A=Kufz literal 148920 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 diff --git a/machine_interface/tests/data/test_wasmtime_aarch64_busy b/machine_interface/tests/data/test_wasmtime_aarch64_busy index 8ce1ad3160615ad382297f006de6d8f6bd1128f8..44295cd99d61845690d92c93ec73de3f78d788ab 100644 GIT binary patch literal 31728 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 SQTltXaZ}ykPfR#H{r>~?Lkxxh literal 152400 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 Ti0>|aKP!>o7L(5P($oK6_XeW8 literal 150296 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 diff --git a/machine_interface/tests/data/test_wasmtime_x86_64_matmul b/machine_interface/tests/data/test_wasmtime_x86_64_matmul index 2104225f34fa5880bf57c11957dcbc932031ec1f..27d6cd7e5e15c49ed201f7718a448d46a548b610 100644 GIT binary patch literal 36072 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 Ti0>|aKP!>o7L(5P($oK6_XeW8 literal 35640 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 Date: Sun, 25 Feb 2024 17:41:14 +0100 Subject: [PATCH 87/91] clean up --- dandelion_commons/src/lib.rs | 2 + dispatcher/Cargo.toml | 3 +- machine_interface/build.rs | 2 - machine_interface/src/function_driver.rs | 31 ++++------------ .../compute_driver/compute_driver_tests.rs | 6 +-- .../compute_driver/wasmtime.rs | 30 ++++++++++++++- .../src/memory_domain/domain_tests.rs | 37 +++++++++++-------- .../src/memory_domain/wasmtime.rs | 17 +++------ 8 files changed, 68 insertions(+), 60 deletions(-) diff --git a/dandelion_commons/src/lib.rs b/dandelion_commons/src/lib.rs index 3fb4b256..de2b1f44 100644 --- a/dandelion_commons/src/lib.rs +++ b/dandelion_commons/src/lib.rs @@ -23,6 +23,8 @@ pub enum DandelionError { ContextMissmatch, /// domain could not be allocated because there is no space available OutOfMemory, + /// memory size is not allowed, e.g. Wasm memory must be <= 4GiB + InvalidMemorySize, /// context can't fit additional memory ContextFull, /// read buffer was misaligned for requested data type diff --git a/dispatcher/Cargo.toml b/dispatcher/Cargo.toml index dc50dab0..082137f3 100644 --- a/dispatcher/Cargo.toml +++ b/dispatcher/Cargo.toml @@ -17,4 +17,5 @@ async-lock = "3.1" cheri = ["machine_interface/cheri"] mmu = ["machine_interface/mmu"] wasm = ["machine_interface/wasm"] -wasmtime-jit = ["machine_interface/wasmtime-jit"] \ No newline at end of file +wasmtime-jit = ["machine_interface/wasmtime-jit"] +wasmtime-precomp = ["machine_interface/wasmtime-precomp"] \ No newline at end of file diff --git a/machine_interface/build.rs b/machine_interface/build.rs index 2cdd3e3e..e2dbaafd 100644 --- a/machine_interface/build.rs +++ b/machine_interface/build.rs @@ -1,9 +1,7 @@ fn main() { // check if cheri is enabled and build library if so - println!("from build.rs"); #[cfg(feature = "cheri")] { - println!("from cheri build"); use cmake::Config; // cmake configure and build all let _all = Config::new("c_machine_libraries") diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 5f5b78c1..f1369006 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -11,12 +11,15 @@ use libloading::Library; #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] use wasmtime; +#[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] +use crate::function_driver::compute_driver::wasmtime as wasmtime_driver; pub mod compute_driver; mod load_utils; pub mod system_driver; mod thread_utils; +#[cfg(any(feature = "mmu", feature = "cheri"))] #[derive(Clone)] pub struct ElfConfig { // TODO change to positions @@ -54,6 +57,7 @@ pub struct WasmtimeConfig { #[derive(Clone)] pub enum FunctionConfig { + #[cfg(any(feature = "mmu", feature = "cheri"))] ElfConfig(ElfConfig), SysConfig(SystemFunction), #[cfg(feature = "wasm")] @@ -71,9 +75,10 @@ pub struct Function { impl Function { pub fn load(&self, domain: &Box) -> DandelionResult { return match &self.config { + #[cfg(any(feature = "mmu", feature = "cheri"))] FunctionConfig::ElfConfig(_) => { load_utils::load_static(domain, &self.context, &self.requirements) - } + }, FunctionConfig::SysConfig(_) => domain.acquire_context(self.requirements.size), #[cfg(feature = "wasm")] FunctionConfig::WasmConfig(c) => { @@ -83,29 +88,7 @@ impl Function { }, #[cfg(any(feature = "wasmtime-jit", feature = "wasmtime-precomp"))] FunctionConfig::WasmtimeConfig(c) => { - let mut context = domain.acquire_context(c.total_mem_size)?; - - let mut wasmtime_context = match context.context { - ContextType::Wasmtime(ref mut c) => c, - _ => return Err(DandelionError::ConfigMissmatch), - }; - - // initialize store and memory - let pages = (c.total_mem_size + 65536/2) / 2usize.pow(16); // round up to next page - let mut store = wasmtime::Store::new(&c.wasmtime_engine, ()); - let mem_type = wasmtime::MemoryType::new(pages as u32, Some(pages as u32)); - let memory = Some( - wasmtime::Memory::new(&mut store, mem_type) - .map_err(|_| DandelionError::OutOfMemory)? - ); - wasmtime_context.store = Some(store); - wasmtime_context.memory = memory; - - // the wasm module will be initialized in the engine - - // occupy clang-generated wasm memory - context.occupy_space(0, c.sdk_heap_base)?; - Ok(context) + wasmtime_driver::load_context(c, domain) }, }; } diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 6898172a..2d184aa6 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -649,8 +649,7 @@ mod compute_driver_tests { ComputeResource::GPU(0), ]); - #[cfg(features = "wasmtime-precomp")] - #[cfg(target_arch = "x86_64")] + #[cfg(all(feature = "wasmtime-precomp", target_arch = "x86_64"))] driverTests!(wasmtime_x86_64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ ComputeResource::CPU(1), @@ -662,8 +661,7 @@ mod compute_driver_tests { ComputeResource::GPU(0), ]); - #[cfg(not(features = "wasmtime-precomp"))] - #[cfg(target_arch = "aarch64")] + #[cfg(all(feature = "wasmtime-precomp", target_arch = "aarch64"))] driverTests!(wasmtime_aarch64; WasmtimeMemoryDomain; Vec::new(); WasmtimeDriver {}; vec![ ComputeResource::CPU(1), diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index e7aa6bae..b1c8b325 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -4,7 +4,7 @@ use crate::{ thread_utils::{DefaultState, ThreadCommand, ThreadController, ThreadPayload}, ComputeResource, Driver, Engine, FunctionConfig, Function, WasmtimeConfig }, - memory_domain::{Context, ContextType, MemoryDomain, wasmtime::WasmtimeContext}, + memory_domain::{Context, ContextType, MemoryDomain, wasmtime::{WasmtimeContext, WASM_PAGE_SIZE}}, DataRequirementList, interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, }; @@ -26,6 +26,34 @@ use log::{error, info}; use wasmtime; +/// Creates and configures a WasmtimeContext given a WasmtimeConfig. +/// This results in allocation of a new wasmtime::Store and wasmtime::Memory. +/// The wasmtime::Module will be initialized in the engine. +pub fn load_context(c: &WasmtimeConfig, domain: &Box) -> DandelionResult { + let mut context = domain.acquire_context(c.total_mem_size)?; + + let mut wasmtime_context = match context.context { + ContextType::Wasmtime(ref mut c) => c, + _ => return Err(DandelionError::ConfigMissmatch), + }; + + // initialize store and memory + let pages = (c.total_mem_size + WASM_PAGE_SIZE) / WASM_PAGE_SIZE; // round up to next page + let mut store = wasmtime::Store::new(&c.wasmtime_engine, ()); + let mem_type = wasmtime::MemoryType::new(pages as u32, Some(pages as u32)); + let memory = Some( + wasmtime::Memory::new(&mut store, mem_type) + .map_err(|_| DandelionError::OutOfMemory)? + ); + wasmtime_context.store = Some(store); + wasmtime_context.memory = memory; + + // occupy clang-generated wasm memory + context.occupy_space(0, c.sdk_heap_base)?; + Ok(context) +} + + struct WasmtimeCommand { context: Arc>>, sysdata_offset: usize, diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index b80ac397..f31a62b1 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -16,6 +16,7 @@ fn acquire(arg: Vec, acquisition_size: usize, expect_succes "Got okay for allocating context with size {}", acquisition_size ), + (false, Err(DandelionError::OutOfMemory)) | (false, Err(DandelionError::InvalidMemorySize)) => assert!(true), (_, Err(err)) => assert!( false, "Encountered unexpected error when acquireing context: {:?}", @@ -176,22 +177,6 @@ macro_rules! domainTests { read::<$domain>($init, 1, 0, 1, true); } #[test] - fn test_read_single_oob_offset() { - read::<$domain>($init, 1, 1, 1, false); - } - #[test] - fn test_read_single_oob_size() { - read::<$domain>($init, 1, 0, 2, false); - } - #[test] - fn test_write_single_oob_offset() { - write::<$domain>($init, 1, 1, 1, false); - } - #[test] - fn test_write_single_oob_size() { - write::<$domain>($init, 1, 0, 2, false); - } - #[test] fn test_transfer_single() { transefer::<$domain>($init, 1); } @@ -203,6 +188,26 @@ macro_rules! domainTests { fn test_transfer_dataitem_item() { transfer_item::<$domain>($init, 4096, 128, 256, 1, 2, Ok(())); } + + // TODO: contexts can now internally round up their size, which invalidates these tests + + // #[test] + // fn test_read_single_oob_offset() { + // read::<$domain>($init, 1, 1, 1, false); + // } + // #[test] + // fn test_read_single_oob_size() { + // read::<$domain>($init, 1, 0, 2, false); + // } + // #[test] + // fn test_write_single_oob_offset() { + // write::<$domain>($init, 1, 1, 1, false); + // } + // #[test] + // fn test_write_single_oob_size() { + // write::<$domain>($init, 1, 0, 2, false); + // } + // TODO // #[test] // fn test_transfer_dataitem_set() { diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index acc2127a..07a22751 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -5,11 +5,8 @@ use dandelion_commons::{DandelionError, DandelionResult}; use wasmtime::{Module, Store, Memory, Engine, MemoryType}; -// pub struct WasmtimeLoadedContext { -// pub store: Store<()>, -// pub memory: Memory, -// pub module: Module, -// } +pub static WASM_PAGE_SIZE: usize = 64 * 1024; // 64KiB +pub static MAX_WASM_MEMORY_SIZE: usize = 4 * 1024 * 1024 * 1024; // 4GiB pub struct WasmtimeContext { pub store: Option>, // store initialized in load() @@ -64,13 +61,9 @@ impl MemoryDomain for WasmtimeMemoryDomain { Ok(Box::new(WasmtimeMemoryDomain {})) } fn acquire_context(&self, size: usize) -> DandelionResult { - let mut next_page_size = size; - if size % 2usize.pow(16) != 0 { - // TODO: maybe this should throw an error, but would currently break domain tests - next_page_size = size.checked_add( 2usize.pow(16) - (size % 2usize.pow(16)) ) - .ok_or(DandelionError::OutOfMemory)?; + if size > MAX_WASM_MEMORY_SIZE { + return Err(DandelionError::InvalidMemorySize); } - Ok(Context::new( ContextType::Wasmtime(Box::new( WasmtimeContext { @@ -79,7 +72,7 @@ impl MemoryDomain for WasmtimeMemoryDomain { memory: None, } )), - next_page_size + (size + WASM_PAGE_SIZE/2) / WASM_PAGE_SIZE * WASM_PAGE_SIZE // round up to next page )) } } From 5d2ee5b616cb06edac66bdc34fe83f6e44f6751b Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Tue, 27 Feb 2024 13:16:18 +0100 Subject: [PATCH 88/91] Add features to workflow --- .github/workflows/cargo-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cargo-tests.yaml b/.github/workflows/cargo-tests.yaml index 60aa8f66..b8350a0f 100644 --- a/.github/workflows/cargo-tests.yaml +++ b/.github/workflows/cargo-tests.yaml @@ -16,7 +16,7 @@ jobs: fail-fast: false # test different available compute engines with different system engines matrix: - compute_driver: [ mmu, wasm ] + compute_driver: [ mmu, wasm, wasmtime-jit, wasmtime-precomp ] system_driver: [ hyper_io ] steps: # check out the code From d87abcb8667e220cb450903b42afae954a213407 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Tue, 19 Mar 2024 19:15:22 +0100 Subject: [PATCH 89/91] turns out I can't round properly --- machine_interface/src/memory_domain/wasmtime.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index 07a22751..cfe1f53f 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -72,7 +72,7 @@ impl MemoryDomain for WasmtimeMemoryDomain { memory: None, } )), - (size + WASM_PAGE_SIZE/2) / WASM_PAGE_SIZE * WASM_PAGE_SIZE // round up to next page + (size + WASM_PAGE_SIZE - 1) & !(WASM_PAGE_SIZE - 1) // round up to next page )) } } From 4bf2632fb9871fdef974f5acac4825de0050260b Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Wed, 20 Mar 2024 20:44:36 +0100 Subject: [PATCH 90/91] improve memory domain tests Contexts are allowed to allocate a larger amount of memory than they were asked for. This specifically is a requirement for the Wasm backends, where the Wasm standard dictates the Wasm memory to be a multiple of the Wasm page size (64Kib), so we need to round up to the next multiple. This mainly adapts the OOB tests to take the actual context size into account. --- .../src/memory_domain/domain_tests.rs | 139 +++++++++--------- 1 file changed, 71 insertions(+), 68 deletions(-) diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index f31a62b1..aedace23 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -1,16 +1,20 @@ use std::vec; -use crate::memory_domain::{transefer_memory, transfer_data_set, ContextTrait, MemoryDomain}; +use crate::memory_domain::{transefer_memory, transfer_data_set, ContextTrait, Context, MemoryDomain}; use dandelion_commons::{DandelionError, DandelionResult}; // produces binary pattern 0b0101_01010 or 0x55 const BYTEPATTERN: u8 = 85; -fn acquire(arg: Vec, acquisition_size: usize, expect_success: bool) -> () { +/// Test whether a context can be acquired, and panics if the success +/// does not match `expect_success`. +fn try_acquire(arg: Vec, acquisition_size: usize, expect_success: bool) { let init_result = D::init(arg); let domain = init_result.expect("should have initialized memory domain"); let context_result = domain.acquire_context(acquisition_size); match (expect_success, context_result) { - (true, Ok(_)) | (false, Err(DandelionError::OutOfMemory)) => assert!(true), + (true, Ok(_)) + | (false, Err(DandelionError::OutOfMemory)) + | (false, Err(DandelionError::InvalidMemorySize)) => assert!(true), (false, Ok(_)) => assert!( false, "Got okay for allocating context with size {}", @@ -25,24 +29,29 @@ fn acquire(arg: Vec, acquisition_size: usize, expect_succes } } +/// Acquire a context with a given size and return it. Will panic if the +/// context cannot be acquired. +fn acquire(arg: Vec, size: usize) -> Context { + let domain = init_domain::(arg); + let context = domain + .acquire_context(size) + .expect("Context should be allocatable"); + return context; +} + fn init_domain(arg: Vec) -> Box { let init_result = D::init(arg); let domain = init_result.expect("memory domain should have been initialized"); return domain; } -fn write( - arg: Vec, - context_size: usize, +fn write( + ctx: &mut Context, offset: usize, size: usize, expect_success: bool, ) { - let domain = init_domain::(arg); - let mut context = domain - .acquire_context(context_size) - .expect("Single byte context should always be allocatable"); - let write_error = context.write(offset, &vec![BYTEPATTERN; size]); + let write_error = ctx.write(offset, &vec![BYTEPATTERN; size]); match (expect_success, write_error) { (false, Err(DandelionError::InvalidWrite)) | (true, Ok(())) => (), (false, Ok(())) => panic!("Unexpected write success"), @@ -50,42 +59,32 @@ fn write( } } -fn read( - arg: Vec, - context_size: usize, +fn read( + ctx: &mut Context, offset: usize, size: usize, expect_success: bool, ) { - let domain = init_domain::(arg); - let mut context = domain - .acquire_context(context_size) - .expect("Context should always be allocatable"); - context - .write(0, &vec![BYTEPATTERN; context_size]) + ctx + .write(0, &vec![BYTEPATTERN; ctx.size]) .expect("Writing should succeed"); let mut read_buffer = vec![0; size]; - let read_error = context.read(offset, &mut read_buffer); + let read_error = ctx.read(offset, &mut read_buffer); match (expect_success, read_error) { (true, Ok(())) => assert_eq!(vec![BYTEPATTERN; size], read_buffer), - (false, Ok(())) => panic!("Unexpected ok from read that should fail with context size: {}, read offset: {}, read size: {}", context_size, offset, size), + (false, Ok(())) => panic!("Unexpected ok from read that should fail with context size: {}, read offset: {}, read size: {}", ctx.size, offset, size), (false, Err(DandelionError::InvalidRead)) => (), (_, Err(err)) => panic!("Unexpected error while reading: {:?}", err), } } -fn transefer(arg: Vec, size: usize) { - let domain = init_domain::(arg); - let mut destination = domain - .acquire_context(size) - .expect("Context should be allocatable"); - let mut source = domain - .acquire_context(size) - .expect("Context should be allocatable"); +fn transefer(source: &mut Context, destination: &mut Context) { + assert!(source.size == destination.size); + let size = source.size; source .write(0, &vec![BYTEPATTERN; size]) .expect("Writing should succeed"); - transefer_memory(&mut destination, &mut source, 0, 0, size) + transefer_memory(destination, source, 0, 0, size) .expect("Should successfully transfer"); let mut read_buffer = vec![0; size]; destination @@ -94,22 +93,15 @@ fn transefer(arg: Vec, size: usize) { assert_eq!(vec![BYTEPATTERN; size], read_buffer); } -fn transfer_item( - arg: Vec, - context_size: usize, +fn transfer_item( + source: &mut Context, + destination: &mut Context, offset: usize, item_size: usize, source_index: usize, destination_index: usize, expect_result: DandelionResult<()>, ) { - let domain = init_domain::(arg); - let mut destination = domain - .acquire_context(context_size) - .expect("Context should be allocatable"); - let mut source = domain - .acquire_context(context_size) - .expect("Context should be allocatable"); source .write(offset, &vec![BYTEPATTERN; item_size]) .expect("Writing should succeed"); @@ -129,7 +121,7 @@ fn transfer_item( }); let set_name = ""; let transfer_error = transfer_data_set( - &mut destination, + destination, &source, destination_index, 8, @@ -165,49 +157,60 @@ macro_rules! domainTests { // domain tests #[test] fn test_aquire_success() { - acquire::<$domain>($init, 1, true); + try_acquire::<$domain>($init, 1, true); } #[test] fn test_aquire_failure() { - acquire::<$domain>($init, usize::MAX, false); + try_acquire::<$domain>($init, usize::MAX, false); } // context tests #[test] fn test_read_single_success() { - read::<$domain>($init, 1, 0, 1, true); + let mut ctx = acquire::<$domain>($init, 1); + read(&mut ctx, 0, 1, true); + } + #[test] + fn test_read_single_oob_offset() { + let mut ctx = acquire::<$domain>($init, 1); + let offset = ctx.size; + read(&mut ctx, offset, 1, false); + } + #[test] + fn test_read_single_oob_size() { + let mut ctx = acquire::<$domain>($init, 1); + let size = ctx.size + 1; + read(&mut ctx, 0, size, false); + } + #[test] + fn test_write_single_oob_offset() { + let mut ctx = acquire::<$domain>($init, 1); + let offset = ctx.size; + write(&mut ctx, offset, 1, false); + } + #[test] + fn test_write_single_oob_size() { + let mut ctx = acquire::<$domain>($init, 1); + let size = ctx.size + 1; + write(&mut ctx, 0, size, false); } #[test] fn test_transfer_single() { - transefer::<$domain>($init, 1); + let mut source = acquire::<$domain>($init, 1); + let mut destination = acquire::<$domain>($init, 1); + transefer(&mut source, &mut destination); } #[test] fn test_transfer_page() { - transefer::<$domain>($init, 4096); + let mut source = acquire::<$domain>($init, 4096); + let mut destination = acquire::<$domain>($init, 4096); + transefer(&mut source, &mut destination); } #[test] fn test_transfer_dataitem_item() { - transfer_item::<$domain>($init, 4096, 128, 256, 1, 2, Ok(())); + let mut source = acquire::<$domain>($init, 4096); + let mut destination = acquire::<$domain>($init, 4096); + transfer_item(&mut source, &mut destination, 0, 128, 1, 2, Ok(())); } - - // TODO: contexts can now internally round up their size, which invalidates these tests - - // #[test] - // fn test_read_single_oob_offset() { - // read::<$domain>($init, 1, 1, 1, false); - // } - // #[test] - // fn test_read_single_oob_size() { - // read::<$domain>($init, 1, 0, 2, false); - // } - // #[test] - // fn test_write_single_oob_offset() { - // write::<$domain>($init, 1, 1, 1, false); - // } - // #[test] - // fn test_write_single_oob_size() { - // write::<$domain>($init, 1, 0, 2, false); - // } - // TODO // #[test] // fn test_transfer_dataitem_set() { From c7983e1042a29f23feec17aaf4560ef93493cc36 Mon Sep 17 00:00:00 2001 From: Leon Thomm Date: Wed, 20 Mar 2024 20:48:02 +0100 Subject: [PATCH 91/91] allow function-less context creation --- .../compute_driver/wasmtime.rs | 26 ++++++++++++++----- .../src/memory_domain/wasmtime.rs | 16 +++++++++--- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/wasmtime.rs b/machine_interface/src/function_driver/compute_driver/wasmtime.rs index b1c8b325..6fc781dd 100644 --- a/machine_interface/src/function_driver/compute_driver/wasmtime.rs +++ b/machine_interface/src/function_driver/compute_driver/wasmtime.rs @@ -30,25 +30,37 @@ use wasmtime; /// This results in allocation of a new wasmtime::Store and wasmtime::Memory. /// The wasmtime::Module will be initialized in the engine. pub fn load_context(c: &WasmtimeConfig, domain: &Box) -> DandelionResult { - let mut context = domain.acquire_context(c.total_mem_size)?; + + // TODO: this function currently never uses `domain.acquire_context()`. The reason + // is that the `WasmtimeContext` is using the default engine to allocate memory, + // in order to allow allocating a `WasmtimeContext` without loading a function first. + // Instead here, we just construct the context manually. This is a hack and should be + // fixed in the future. - let mut wasmtime_context = match context.context { - ContextType::Wasmtime(ref mut c) => c, - _ => return Err(DandelionError::ConfigMissmatch), + let pages = (c.total_mem_size + WASM_PAGE_SIZE) / WASM_PAGE_SIZE; // round up to next page + let size = pages * WASM_PAGE_SIZE; + + let mut wasm_ctx = WasmtimeContext { + store: None, + module: None, + memory: None, }; // initialize store and memory - let pages = (c.total_mem_size + WASM_PAGE_SIZE) / WASM_PAGE_SIZE; // round up to next page let mut store = wasmtime::Store::new(&c.wasmtime_engine, ()); let mem_type = wasmtime::MemoryType::new(pages as u32, Some(pages as u32)); let memory = Some( wasmtime::Memory::new(&mut store, mem_type) .map_err(|_| DandelionError::OutOfMemory)? ); - wasmtime_context.store = Some(store); - wasmtime_context.memory = memory; + wasm_ctx.store = Some(store); + wasm_ctx.memory = memory; // occupy clang-generated wasm memory + let mut context = Context::new( + ContextType::Wasmtime(Box::new(wasm_ctx)), + size + ); context.occupy_space(0, c.sdk_heap_base)?; Ok(context) } diff --git a/machine_interface/src/memory_domain/wasmtime.rs b/machine_interface/src/memory_domain/wasmtime.rs index cfe1f53f..0bc9189e 100644 --- a/machine_interface/src/memory_domain/wasmtime.rs +++ b/machine_interface/src/memory_domain/wasmtime.rs @@ -64,15 +64,25 @@ impl MemoryDomain for WasmtimeMemoryDomain { if size > MAX_WASM_MEMORY_SIZE { return Err(DandelionError::InvalidMemorySize); } + let size = (size + WASM_PAGE_SIZE - 1) & !(WASM_PAGE_SIZE - 1); // round up to next page + // use default wasmtime engine + let engine = Engine::default(); + let pages = size / WASM_PAGE_SIZE; + let mut store = Store::new(&engine, ()); + let mem_type = MemoryType::new(pages as u32, Some(pages as u32)); + let memory = Some( + Memory::new(&mut store, mem_type) + .map_err(|_| DandelionError::OutOfMemory)? + ); Ok(Context::new( ContextType::Wasmtime(Box::new( WasmtimeContext { - store: None, + store: Some(store), module: None, - memory: None, + memory, } )), - (size + WASM_PAGE_SIZE - 1) & !(WASM_PAGE_SIZE - 1) // round up to next page + size )) } }

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 diff --git a/machine_interface/tests/data/test_sysld_wasm_x64_basic b/machine_interface/tests/data/test_sysld_wasm_x64_basic deleted file mode 100755 index d12fcb4f9270d68cdb0bbc24d1f35cdbd9ae732e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 846960 zcmeEv34D~r`TvtZASe<=W;9BJl*+*Ag$h~5$fl7pO0IWe%e&t;;R&B zoUhr+*KFl8&rS>9Jj*p%#Ut}s&jd0&$LMG>PgN(x9sN?WRfR>pOg(qE@|mZ}cMS3| zpN0Oc>d~=QdD-N$(W;+$8u4(sqwzNge}~VRPcPs2?LBAjKK=67s;--O;twBwV&*SC zXkcErjrouBF@HPK$nms>Dmjkfq4*nyzwPjMXrN-ZAAh*~`q2~ayJX>oKf2|)SIc%= zc=egvBPr`|CQ>Rhq>j%L&-KoP&-`VIZ%6znaM-yc0{9sjuS1yQj~4MOtoSJ+{#q;k zG!Z}Fia$xjUv0%hVCq+;A4GnCdq*tlPb35Jq~A~emU*-Nt)Y0RJ)B5};`3%ti^QU# zd4a`|kWR~-;twtl_}jwKKqP!hh}uI*f1-7%e@Q6N>0ca3h?s=I=?Ww|{2ieVzc+@n zCRQX`1Id6t*4CB?B`KbYQX&uyCs+7`OG3e=Wcr)wA8%R;IK}EuCjNRW{_&%9g-!g~ zmKNh0pEAZESweyW*`bs*>Jx#j|dk-}|n3)8|auz;i$X0}>dJ zz<>k>BrqU>0SOF9U_b(&7YV#mvB!tat6wW`URSp1FidmLSf4EIeY|<~{pI(mD)dhL z5u$tdy$JtT>^TLYpCZ(Dwy9rp&!HPQUr*WX{FwZHa%YgbfWsg)toQkfJx^oY`>ZGM z&r$dj&*I1apEh^D*}UQP!^a@Z&-|Wt=xiiY z>cIKUs}CK;!RGFllEa(V9eOZ;SB~%P?R}*c|NW+HU%(}cP_|t@=ik(YM2nxf&8NRc zm;f|)zunvoX8zIK{kPtoZ^3L|1s*`4;+FMQPd1-^Kcg+YukGN9J=buJAP(?#D^clS zSLCh3F*|U>NEa}9@DBhb7k+d1`^^vXq?no?JY3C%@T|1p3D$Fp^;B~lq@QHLo%*@< zG=AdO{NUQNb%=wPI>GCm;Cd(cxD$Nd3BKtB%?t{}Mp~081S_531SdGf2_9{Nw=t;+ zgG(UW@12Cm=6g7TCDz=1E3csF2wprv#AzJSee2nHv_Q<9lW11=X_xBw>(%4T_5677 zw8!z_U$ZKMf#&WrpI0c?zo{N)zmLa#tM5696O)6g*55b3X+hI*P4k=P%|#EWZ|?qR z`ns!Ik=oQVea!O@u2qP@?Ow}~v)0|i1X@n--5qRHtokJyY1X=%n0C{;Z|{n@4bPYM z)Sd>lxg7w#vNx7A&RAcu=G#DQ>b`(0Rkglp^~ZxNR;4(qXV#dHn}ZKE_Z%~L*5nT> z)}DmO=I&WzCNw=bcmxP2Hr}5V+}P67G?=mf-5h+Yxn~ZrKbTT+!GjeSP9Ia=-2GN_ zcXCYS>Q6szsyO%Fiu0zAsc2gL0f6(?&zk)Hl!^-=T*rBQ7!uw`*Z<^H|8MABC z>Q7Xz?Lhqj2x2^{G^OI)-^}WMXcibBiGn|>So?FZj-o5pUXDQX=^yR|tlKK_UvtH@ zhb>XHO#WTPsw=sUl^<5DxrhVhuT-pIwPca~3#&uGRC=(E33m@3(X{TnEcl*dMpvz0 z{UOSkfGK@*@X6+$xMFr~CE(Q?%8|-kj8dtP?#Vi}6mZkJ!MijaICw-eXjU@KP5+02 zs@9__V?erM)pK0#>btoysbWnhpiK|sKW6C!P7*9_x>hANuZxVCP_d>SK*cTd##D4a zUUAE;G3DhO&zwGHc*QM{ZY3nmfnntv%O6MVFa~x&>~_<;UzuM1G@{C@t`Mfwnx{@$#fnL7PFkbx|GkVRedI%p4MQP(u+0w!+>_xA|8g?pb) zV#(gBk{roi16WB`HPW}4NYlFE2lotb=^1|J>J5Xf207hiv()`$hSyC;-PVmBvie>| z<5oREp*gL3gd&IL?;gC%Y2O?(oGQ+kXyvR#sY67kyAI9F&9$RLefSVZD?Y}Oj_Pxk zR=ftdse3duLNUUq!!3TFFsK&48yE(fDwUPTm1m@t=VFnkN9I8dwufdVtoU*0>R^}% z@xxHFg>HPrZAZy3TKz0O6mU5u55lOr!=?vOJyi3I1CRkyIJkE`I6AoL5M_rdR^9PQ zZ||mSFkAuo`59~eRdL2s$WZkV6j(RU=!1JkAKNqf?A7Noa?5$Xv1l%*cTWR_5 zI!k(fh2$vKQGi{F#ier3-4)t30+~J9wU5bbwbo7yJKAMx`7x}uyOysh>pgfEuH!f; zBIv6j~Fid>Dq&!ARx7@D-&rT?adr>Dt>KI5iOv<@QN@ zkqyF12&rm4{M!13O(!-jYWiA}f6;xMz+-#WlRdS^Zg?5GeG3l+ApPk_UB7P*8inn8 z5PG3?pUYQu?z%}S(kZOaT~|Xmb=*h5KT~L0S39C-^fH$!b**vGq5p6|fy%^sYH#VO zy?*s?SmW4Ov-j$hT(P!Ap@K5oXq^R$3hG)>jZ*BbvNMk8e){$Fd6y z-OrZy;lp&jF>Bpgb~$GSpJ?eh0(!Qg>)GaY-(!z+YIp69O+6?7oAq>~tt}6B-Pt|5 zs^#?e*`tnMzwWkjJkRJ&?TV<;9Ch)!+eYHqtrFIauIl|=@594B?7g@99L59|dp;Gb z640Hg>uPs|lX1vxoN?J+?74mb&-JUUR;xFB+`_IX8}kR3&Du1LBYRf7shp8I0LmFz z0B7S~I46L+M^7%ffs4>Yc5;Z!fd`oYJ5lIslHhCo|?*72CrgOC#S8xoBIhRkF0v{9^Pi3QMJBm z{fu?rW&6-n@`3iNX99C}@S)k5FU;ooLLJ~~gKD8u`0HIi1F8j=aK<6ZfW|k#oWZo% zvyt8IH1k&(9|qt zJ;$rwV7V?$J@dxAW>x%hmFY<DaqE;Cqgqv2IIt-FBDz2in*rm{Ote-4-7HN)(~lp9-I zdv^1>Z(?-puJx(GLfhr8MUGAGIz|t?JPj(*UMJ5Gl^9>GF{)Fs<_vDYb>CI&ShJw6 zT^w!g+RkWd+9;@MGgD>v)TZkx7Z;CgMlCLM0z z%?NNZy?ox7q2*}T8CCzn0Kt`-)-$hzJTB`*WoaB)@5`_@)PsjugE99YCGZ*R#*YAr z>!@cuM4n`kkFRryykhOkYOwgQxo3ga^gpSwWw4L4r;8rm_)to*Q$B=}~Gjl7=x9*U47mJxtw3>v?Ss=an%xU)08N{rG& zP(Dv0|Hd8slQQ>_$KM`osK{GYcz=2|;d`#Zx9uZ+f2A694% zueSqcg*LoSfO-u<%X6c1cDTFahxE)hrL0rgZPohr$6#vHGOMU^&b#RWM5%so7c2(b zf3TtKgr)qL^1G*NlNCjW@BNvf?nd@MS><-wi~JHk)b>|1?-p;@2L$5rZVK~1$QhPP^ zZm?uA+>ynGidDyQcYg<6uW9vq=w{RE_n}6sLA52g(O&XP0EQYl{^%w@VjP<=m$?W& zYU59n_?9i0)-wyXkyl%|8?dYLMU~TWo#ExFl6nT8hPhSKpl@pvfOW7}*Sc4!V;j`qJm{8^Oy}k8#PQdddJo(3Gy!lsh%CS_kd}PUP!-tlijfu+`#Bsjo|JK_( zk`YFXoH=6GBPzDCf!}}x1|%>bfdL5&NMJw$ z0}>dJz<>k>BrqU>0SSCQBw+4un){l(ZLNN4GDx(81&+7wXMWLw%{|cFEZEEmzhuGY zJ}A#E`DfDK{j@j6@JT#T#SfdW>UTZ14f&_`L-FKOZ~Wu?#Qamc?Rc6?#Jj3keQ#N% zTlYF~_*VUvVE2T7rrf7BsO~6p(B$94iZ^)Ja8UeVYOH=ASg_&KiZ0s2+&`BD%{^He zZ{L%Z2}kRQ!>3Jas2n$caVnZjRaR9UTzl|@gQ`*rtol}U^}!Qr_qU>Pw>OatRxS(0 z6X962vg+VT6M-8Iw=YRXR#c7)O=z7IYOQLkt*o9DT3fj}_@H0#usU<%ihJ7?<{%#;asNIM0>9AeUIxeN-3Fv-c1QqIucL{rid=Kv=fVMIv4GQCA$ldcggYaIHHL;eQE!E3Iqk2JKmOa^FBiOP!z! zeNVve8T($!u_&lN(Se~*yuI92423xo4Vk$#2XU&0}gE@3&oO1MIlC)lNVg1&@*DDunxcYw$*^&ua8j-W63 z8ztl|)1^G5zMd}l6U}W;0}Wc430O}FCk4Ng1irK%Ger840+#J1?PF5lzb0U5KO}sK zz;DO{o9U@RyHC{j43l6z<#f&YwvR|)(}1iVV%OZzDMubf|fBQtU9t|y{vly$U!;AK^GWG{ z%XH~a^%a)>&NZSwj|%uL0q-RG!=VBmF5tsN{tW{DyMSL8u=LMI3;J&h{Q5kw%=J#~V5S|Fx)(obSl|`QUv1 zo@}q<1-}ag{DgpI`O`%DJ3{^veqD6f2Song2w2Xaq`t^>>7O1f_>u6>M0ryFQl3&C zeqnI(*&FpL3RjuZ{>c2d2>yTN%F97%uOz=AA@9*5|2qPf`hBrTm;R4j&%0dU%kkhO zkuLR3_Q#h5{v!gOCmdKgKNutM<@|K4knd0d?8 zR~iRnB3-t3hrpNc-XeV$!N0Uua{WZguU60t3HUMrKP=!G0+#7Fi1cp>`CTYrIX{>4 zhv$X-q`o~T%9F6f=UcGu-?MH2;hzc^xBWc769p{$>tqi$k)$u{ceLO~=08!SKPc$S z@(&Q{(jLh2KNa|8qP&eFU9L}jN#IWr_;UVyrocZ;=(8B^NDMD&^M5&>$^3HsllCwl zyrZbkb^?~=NjM+n74+wZW(O%LYxIo}f5U{lWKg*LY z`-{ZSr~k75`cq{FbOqcyp;>&btuO)n_u$Pja9N(vi`Y#u-tbesg zm-D$ZMS5TJi{V^-PQXo4)+Zkm$A<`v3-xui;eqE%$Dd2qT)fbELw5rrgzodCx`eOww{nwjCy7Y%%6zS5wNw`PgPZY4EC;c%=Po~T9S*A;W zQr1V}%kr)h{K|Bh|6zguu7IU~BJm}EBSn76kF1~6FWH`rf}VsWe-f7d+*^X4l*h9o zUG7gxd?^p9KT`fb6!gC#V443vB3;&B%2%$p$o6?c(3AX0`!DrD!nX)|vOEb(`AT`- zFX$a4V99SjSn_+1um-X3Fc&wQ4oG1K)!2-Tg@Oy)RCBJe# zeMh0svi%e;A~5|MDw#%%#&W2)Zg^AYc&d#Pq7+LlTn`%L_A5sY;vac8Wd zp(UD(DSA3za7h5n%t!PT;eKdBk3Tv@N zQ;>z??r3~w)JHY$#N5@Mtx;3lD*Q1A(04TjSN3Su!zHl@zFO*|_KYZwJd!$nZ0m|> zrHhW%68f%AU8uDEkjh$A@W(pJ(*J8L2*UW44vtIJkFQMC@9(2~b%dr`h-iOjWl+ug z9Dq5o=p2^g8we*-i~FER!(dmrU9;3{A0#tDZo~-|s=JbhT5(Qgj<8}>Tej-#tmlfv z$yOq(fsfVzLfcy0CIgA34Gmp^rRb^CV$o!1IokU?pmd~kM|r}^tXg!}p_Wp!w$hgY zHL;2-Xm3tS_@P~=gyJze7+@sUUQK^TfXhoo6M?o+Wm|OI0je8Tj@y6#%7c7Xv%2{> zHqf;I41w2&F+pI%)~H#33Sd_pw#$NFw3C%lbNZ8E%13WGS+e4MDsYUMI!c)|_yWlZ@Zp#TX{Ii>mJ#xmeG!79)hv^^ykc-ktn(InQ&<_DcLtXx5RkRzH z_JNgvX}TXl9qVt4#XADYWT=&%up*V{s0@DoOe-x;UjP({z&=L<$q-cmYGo_R#8SZ| z`Rs@YJ`zkv0_=>3f?>YDOJ4=l73c5%rrO*+b#W@pJrqO3H^LpAk$tLGLQ8-LI2ef~ zQt^;K6kWE@gq1!z10)h`=sF{*1f6T3Kvw`rtPB3mKr3Cs#X{%9(RTW|4r5eGhT7wS z2#u>yiSz?Z7=h%}8(HJY1igrb8rAS=DOI~byCQ-11RcqtFuG$10cCmVRD`<1t;r>H z4?>E^j&KxA?*B!vjPNbwP^7hnKZzVpETNs?hr30nlWR@#CmE9`n&f}tlvH}|gh@VN z50jisbw)y(cC|^}ea{T3He(|yGo;#l(Owx+ZMIVTm{k5k^Bp$S5$L3nF?O2L8Nt+u zjLB7o=iTgNSB>n{adv7X))k85E7Qwqq8*p&?6l&h+Hr~s9p!~JOSTjjA+jw8~;Q+>@!nh6MF z6@3j)g;G~bU$-$PtfVXUH|Vu1sr+C#r^`FJXj(qOBve9P5s6(JK#|l=}(cMxL2Bhfh>>&9$^J9oonP;)f^m{;Xc;n$v!c3rZ&4R{TK5hE^ zSx+`{<;BeR@Ptzud!079BpgsZai50hgpcOAFvs%5M$=C(7Xy(G?xjO_tcP&gJfBmM zqX#)!Lv4XnBuPIP zY0>>%Rziy!w||9=4Bb|6O{T7}fZ3pMH~<#?3JM?;PWa)vCX*{D3TSC)1zmFrzE2d0 zq(XEyHnS}MZNfKAgKCF_Tl7#n4(^X?<0I@CxIilAEX2TaG%n2FPMB(5VPTJ5n5qZZ zi^Xxytn;?DVQC=9E;v>|U^S+$NQM#%!pS9=F{%ZLBg4^FAAJ!wzByB-$q_y&a+*%% zm5=?cu+_v&x09y^ajd7zMgys3hZ!f&4F%%CC0ME%t7iR+(26HoITy!b5g$G3p@S)6 zLxWimXlSrzv^nO6K6+r4yPjGforNU$;$R9q%|rkVXpvHKaOtj5Rn{KQtjZ*)4AYS6 zS{CB@DctuE>h#QNOKya1{-x#7(y!H%alwIN;u8sJC=eTi`;SQ{&&5N&Kvp+Ku3nb@;f(e%y z__hZ$Ltz*@F^po@4 ztmWwkG8v0M7!EP=sHYit+`i4+&PW(zt>Y;1=+}}^tM&_)fL@{#YtufDNm2uMOJYte zsg%o`IA5)4DwKJ#xk>h!ZahC%6`)9A431Esurcsy)o_oXn==j=_Hz=>Z{f7gyM|vw zSD3yuJM-Z8-4e*@>{9dsH*Olo8C#SaO=Ifzba_NAiEPd2YC#{Zy3k#!yQ0R9(^)@o zqjUz~3N$oCVnJ-L@ebB3E99fQEW|Lc5j^F|K%lb7IO-<*Z-BY)(sfav9FK5+bx-5APSfRj+&76Bn;w_G;sMh~u` zmft6#jTgBK$ucw9=O=C?cY7%1QgZ|!9qPgI8vc1*u?2w@#`*P8hlQ*5L)LmS8s?93 zukM@3{5A5?m6y1=H90-xq#|#gQ(^l+KDz1B9A&z8ku1McwH%DmhRbv|Yc4=TE_ajB zf}R#ggkTLiu`u5P`{|=fgT#|SYA}%6J_)H!TH~=ZzG|GtstG9Vs4Lvm3zvcF#x2nx zwhu5J*Lyo2W20Or@Q5;kSGvn^jd9vR$mqhj#=i4B*`pz-x>|vPNoi_rwZ`*jETk~6 zr@iCJk+HSY6c&8$aFv_S0-c{jg{4QV^lTbUA9)JTD^|OX zwDZs1T*o@Gu@w(Q+u^Al%Macs#cs3*sW9bo`NtPp+1preMqQ^19Ou+E5M2Q^i>|0V z&~omK@aBf1t=N&i+hjrbbt|mxyjR1ts?dACa92s$L#-LA)v>nyOLw|dnm(QQ*cS); zoQb8^^v+GjjonoqDzyQ50q@e%QiQB+yN)DX2`JGS3i|CRtGB9d*cwjYgvtuuhip^R zR1Hs6U}JR^n&*aW1eEh`Rs%7mu~(unJZH;OK%rQS_R&LIKwu&()gQNjK-EML*y#o% zMOK5tWu`L!VKXx;fq(zT%_~{e`?#AnFSC;R7j8D09knZ<#T3^wGUUynA&Cs=1r(*& zylnIGD*60w^YW@zz3*4(k36-cjV9#BegxdNa7Q5G55_t=)Dm|fm~2$m=nuD88M33X zcX{Klv!f-J#NwDCfgoe9zO@icHiWBgb75k~B^HIN8cySqiC%kqL8wgisXKC`dbz#z z&O))7_Q7}a0RldEvcezd#g7n9*6|v%A5>G3R-EO)=?AAKbOyIUpu(Ikf$NvG=79C6TZP;_)?miQ-m>0cik4M0kTo_jl z0j+*iC*@f1po`r&8N3R*76^J5tQz}J_gUzA;8e@-uH_T@*h?1h1%RcwsKd5ao0UhMnws@HoHguB&@p(nrJ_NeLeg;nW=4;S z21B$E!C)W~@y7sJ_FWk)UTbn6EJ{0kGrn@%Sao<|e5G52ywqhM4}vrC6Hfs+ftAI- za-GK#u2q%{SPjWa%SS(x#p*Uua!$m8OR*25Wj$8`EXU*OTs-7LM8O47^U<%Bpl7F& zbf@75%WI7+1&e|@?U-$y+>)%dC6xc1;G*%BSY=kV7^ilIG|YnP$Kr5?W2;nd>(vWt z`$trX51%FIZ>Dmphd}4+_qS&?dV$YcX3|p|UXb(A+a?n?_qcJ$;mW4n;bc4zPGTy+ zP#~#xZ0r#B9Qm}FKNJXJIh^}vTK97;CB{PuY{FqSp`MLgnr?2@k@bAsL|LmK7R%OF zKhD=FRC&A(8;fc6U_a0TK(svIfj~zLL1!#9n4ivz=OmTcnJ-C(zpdxRXE^sm<`t9NXs$@!jYC2 zZK$dWhiz8;-sG&V0`4U)5Xd*$U=^o6<$!fK#PbHgc&LLuaiaNz&^~`KB&#NYnK~DU zQ$dFS#IY+n0#6)H2rc((AV_Wyo#78j=B3&oiy{$ipgjoN+%(xqFZBKQQ8Qo zBiyP^n9_EC(QIiNd|>Qk#4uY<%&ClHvEhfb67(I!fC&};A;RkHn1ZeX6j;nhS;EWs z#P;ogt(AAWM~8VDN1G6yuBUW#z_Xwh4|h-<0+CQ#5_6GoTaxy}mFqZve93}m1Llzn zj+I{@H9MX$SpBIDAuRJR#*x`rn@&yGb4C}%Zp?%P_KLM=I=~eCtJ3G){J( zg^;0XA*f}Dm#kKx^G!%y8DOiRRh=%i6HJAFju_b_^stTQ2$r7pU{+1GB=(ApYn3tl zRig~BcYc@?Jz?K9J(?%j=OWt5cpHLqRF|Z?5k#xlGS(y>My&Egjp%jspVE+-@C)h4 z9Q`Ju(XhO;r*nUdh(sjTMJ2Bpz9X?{yT1cRLBfedKx6HYIgv&o-Y6U{fN11BWF!}S zU}g%sZR?S^IE>9FT=(cy=9(9@G_~Ko?&6p!{RI)3kU8zsx0T?OJ8jv##5=Ai9`NI_ z2yJjjcG=tg^cNkUO19OjYkdC2Y%OtspI$)<4%1<#+UgIh%S^lf8!>@+dtzk@o)H35A0L|>AQSU=@ z`QA|k*Gp*+H-r|X#t+cD^+cMQ5Z2ZtPG3hD7jOKXF}@!b@6fAhw8lo!8gaG@=FUC% zBb@!j5nWt?ip8nQfv^yV`54!(4J({T^C1l@I$*wi1x*9c8V|H%k);_y2ml4ce9>W_ zaFv$%;Td7@M{D4u_K}Fwx2$+^Pc3lLJG+)BylS1T7odd_T8{E)kE#-CkB1W}YC$N7 z`62WJxG+=m5z!G?t_wt6{T+k{+uyB;m_!oXA}B5X_wkqF0y6X4ko6vE-*>KSV5$G;yrifq#gP zTVXt3(Cg2Y3cm8^UKqjg$w^=_gn2hq1TBl3WHcI4R?CNAm6r3a5Y#eCdm$kcO9uOn+fzl<1+`0A3-+X%xQW?R(`H~CY5*g|0snYKHj zgfDf|E_j++CBLR=>)VU3o&*bTrnI=obYc)z@MO9g58SzphUlhNkO(AG80d`u@oz*$ zuv5h_bC95pPzmm0;97EZdx?EXxRn~0Fk+OZd|f3cLOANAmL+KhVwPgUPo*8GNEFP+ z+A&%V1*FcssZ~(i5y0RR=KC`Kfc3fpng|q@brYVEPyz!F20H&lngck9P&AhG8(*YR zoxR>UYFaEA$MOQMXzKWjPtKGBhf!WgWk|5@Yd*ZJ#BqmMv`@Js*zx%k5!i6CTsTJA zx630!j`|Uz43{iMj=LIh?rgsTtToN%+hXD`D>5;t4${myMP{N?@dc`M$*>nY{PavI ziq8E=!U;0E44+?3%ZybLTpoID%tQe%}+r-RUo9Whhh~gWP$Ytazh}zxcZua^U0*{RJOZfQG3q^gP12hjIdx zc|ITcrs%>VS!#BH^>n<2 zS4|0otd;CK+(EnA2CM6^DEIDpCbhZ_n~iUM-vO}-SN$WWaK8999k8ZV&9qL&>%Xm< zwbavUKvp8J&Hd{V2gK^y@Jk&KOE3olG+9xtM=y6kF6eK74J~k4e|4JtS;{jqM6-?@ zn<1XH%AX;gRW*Y6bZz65b(~`LHddOeGEh(|eN%b@UvgTXA)4tvnjv1%p&L!bYaqh| zZ+7ZUO}~awO4438j5QEDati~E9*JYCgv3Qwe} z3I20yNcuK6i;B+{!QF(i*a5SwXRRY=kt@W{8{NyYB=<$^W`8Y*b;`eqiu%J?<*0^g z3Rim+L^5qvJxg_qD-CzEIhtI|GVpRWTRjTWxq^^9I%u@d6R8!`M`wBa{+4uFA6?)j zme#qI!GbU2qrc|C)MkL*%Y&u}^0D61yFI2@2}$jj+9%4D)%Vc|FXHCb7iIeBOQ2OG zqX&BZVDs#&bpHXNZSfR%Ghk4NMr2AdOLrbePVyoN891O;4Zf=4U3JA7FGW9 zhak5r$ej}Iq=f~L<>dn-ptN!=o7kR*PUBcUO`DyH>+q=Z2i2uM@Of$;x|XfYPFM-A z2UN7nK^G#(<}u#pIE9%jWgY7o@cFiKx96c4n&R@sJl)1LbwL&@j|sGnZS{%dXCsY% zwSr3GpS2mh-0JCihOFzGqhtE$mxX1hXI;X4`;NjozD6H#dobnOsx!R-w+Hu0;JvBQ z-X18mkt_NnZ(DGCHljbOG1+fsEA%L$jMDL`AvFXz<8MKJS3yV_2NX{vT43D%q8ZYc zNVviDod8{jJU0P&xY35KATA3+@^Ed)dm;;~3TxVDJ@pwF`E`G1wbFjI(7>V_0(<1g z>(XTB!~F2SsPEbH>4JJyK}eon_Bro*1H5k<#uOPGb z;&DaEs;%KVt$K}H$~H8J7n+TTHAlvq2?T?@gRR-A<=bBg1;aOUy~01s#)f=pk^4<* zvSqgcL12zcb67#ty-j;l(7I)5-ecx{=VY!bS(@z0&lgMGBWGH*&AZ#Q#BnoA-z~M> zVBA@=Q8G4yr#R~cQ0@}@ayK&{cdQRaTAu-9MoF2?ZT0f4ZMq7PJHB|6u77Oj%=@y` z!l&t}STi;6v6}{*Y_Dljd8S!!zIAItzSix#?qy)raS{s=fT>zO*7~G)MdoTtwT{^_ z_3VpGT+MA6ha4BB`>1wp`P9y9^$JxyE0?1K`Py|$RW7Z-z6dxUb6cQvMc`{2Qactz z=9|-fRJ(X?wXZqAt}xGjy#=-HD`ey`F#n=wBv8v8}nv?6o0rE13PnEu`;+u?ZT1j?Qv={;DNXuIHWeq=@=ZbapB#Kh!If}4VkfWH> zL^0+ir1`(fK;IEr^9iCb-Lk*HKtJdg`bKy0u2j%BQ&?l0Xl1N_#rc}1Bp^n>mdg|BT#_i{~S`lfrY z-0z&SApr45s*kOF-4bOtdNQ@x5WLe}!W)Y0I&mX!1EAeuad$?(O^ zm0t}cN`q=s{Xnis9&1d$DzL1-4 z`nPnD-R367$GOBzCjoF@rO*Z@(<+=>GFx9=w}KRX)R9pbMHsX{r(ZffrN88{jSgcu zK4QDJ08#v}jOlcKUSa(23~_Wlgwe-QtDh$;TRLKGjcK9r!3r5kd~{d;$#^p+1ly2& zvpU{=lkda*CEv|*xwjqpW_NA-Cg0~EUv_2fRZDsSG1j?9`X|C$!v}L#PvnWqKCNW^ zZ#suQ`gg`=DuQ?D_J)eoMn&N2^XaqtsN|tcy{QNS**2TW&DFMJICGs4rV$0SP!W9T ze(6d@;A6@{;Drov_Dk+E5;iyR=w%RgA3ZFFM!y4^)-f4;J@9=%V)nk}h3KWy&!q#^ zw|UKwhtWPu0^ul)M98r`(oWd(4eKz6b!ektN!uF+U(wWy!y1vw?13`IX*P3Ydd&^6n3#`o;La^E`RR94bhXE@YKCn4AxOD&Fs@KL{3 zM1&AAT}8}bxW#&v4t?Ef_(DFOlYM7Ybq#!TQ9bQ7j`V~31F!$*cLPV0_y%OwFGBt| zy@Pz<_5a$|aCh6z9E+(MpYcaWe~ium>Eio{TfH0fk392rHDdu{ge)rVVoc_#US5`m+ol?X@-Q zr7c6hx`teYkG_IhX>XirImnln;~|hL^2;(0koRG8U5t_)`ZM@|Ay$6Xhgy8J7}W~2E(=71A!qI?_HSFFt>IuO;iDLk zqe-*SlMU;ez|y;!o^>Iw)1^P4(3A*y?WZoc<_cW=m@ChFjzJz}HRs@vW|oc`QT~joNyfG`Fg=Wj6T= zDZ@t>q^o;&eJuJhnXMp^zKP>m1`+NAeZ2jQV_v(BAE?czqMG=9eU-JI^DRSC4qvFGPas0Qf>0Wx4Ry_K)b|QT$s<7 zG>r-PpH?WkOE>C&MT`3A;mn5Gm6~t8!el9I6n)C(#&#MDJ}{Z$Ss{Q_sk+K0%j;9mm=$R z$y|%bH3J9X>^n@(f`fOVm)eCM(aDH#AMM;4ZSFcw;bG5o32kl%w4veH(6THY-Q4G# z##f$OEu;(^*4D8NAAM_Uw)4Qo(bhlSM?IozXVIJ@neX&H%zoJsE2c>p*kx=?>0L%6 zRgd-c(T|})!B`{`3MT1FghR{m7J*hjEDUV`7zhSa9rOr7|2>DCeDsvA4?T-#{(fzU} zcM~7Qnuc{QA3cX09$Jm5syZM2Cp{YE2mj6@uL}Fh;|9_Nb%Z(^8ae_i7KgxDI2uki zG|XlQEeCbI;!!ezsUR9=cb7u16CLXJ)UwiokNX13UPoZm*yr{^JL}2L$%IBHJ1%>^^&OtXR_;jf+x!s z%hJV6+(WrQBm7fuCi@OongMbZbTjf~>LYmTRYOA@e@*fBR7WV9^wD~a+Bg=glGtyz zARY@VpH@WF%Rp$n2AmlQbhI z2AydqvzwKk{rnv1^pu^bGsfbrSROJZ|08QEjeRB)+p%S#cv~dar6|xm8^__yi?IqA z;b=1ESA(b{AiBttKnMNV!qbvc*z^e^tyS^*s+Bb2FC`T3j3vU!a4d=e-*k*<3Z6k* zBw5`W3ZemHDM%@mevue2!UO?q@^YJb@-7ayD;m128ho`fobaC#ipSEngMBm(H290g zy5VaLq&tGrLLFK8+CBPM`t2EQ;)G$fZ%=vm*D&to^cg06C3M&4nF$+ zmJp~~>7$<-4i_pFI;64|7V&mOIx1RMYg$un{ovb>Sip{&W~`}3GcI0{3?(on3C2T# zBwX<{K7W&qPd)^o^{07!dfid42F{pW>Xc1dq}|JzlHH=pE0oRJ!^=Xd`kkJM<_5f}*Ze?$O|_^lVu= z`LMrwE6d)=&K&2hhPwmKNKbZj{TL*2U6nJvC>>M9rwkGbJ00PUz|xRknH43k9z+Ea zu81F|)6oicEfV;3qt0-ytUybmiB}O8EP4%ztXCnEE&SfqD(vep2-$Q19*!>XXM;Rx8O| z0qRntw-NQXo6ko#WZ<%B+HaRbk7Ouj8xe-BZ9aNB1D8b;hFuQ5ouQa*L>N`$E0s~~ z&A?*OB%uqT;V*8x9mLoOAAKY$p>QtvC~W&)PuoFk>|3-iJ6>@U|Wl@VUFlx<})6;c57=M78))ryio8o*8;wK);W+sE7M&$6TFJ8xobD%6Pu9eAzD z5d8o!zfv9FpwNr2I{FGkTkBJF`rBxwlT!h#;HrfgAN4pf*110HQmZ)KwV}5@`kfVF z<#`TZB8Fx6|9c0`ACCuC(7zE<%j1f$cEHo7MXv1@__j3@;J1(Xx1G;f5=zTxZ#|5! ztet=rWII#-d8uiEG@8~N5fm|7Dk{M$usBsv%s&Or%BZXIa5(9xexY15*+(bZlyhx< zc^VNd7%nK6s}hs2$7<&(bgEW}bgHX-w7Op?PeeV>wkbPyBTcDX)r3HQ*2gS0KKjMG zrax@4WIPR3RgEfaFvP8OgsejKWSvxptnYfVZb7&6kmjCJ`kqx|%~Xz~8!q8Ohbjur zXZLi}V|Q;Zd%ZVTOQO^5@6A@YsaoXCSWtOTgYO|*8K7~#;yS`{`UakJ@mBRfJFd(ITIn>vodGP{ z;2uDv)gM}pMZ{n@NxwpTrs^@R`;eyJN0o@d7y{)L5VfVH zX*q6S7A6(FcKA;R>wjxeML@L@9#|y_|`r{=O zc4y*6= zKqO(l)s+d)!$W$DD`DEKr8WA+xocUsCACzU^VafbT+5~0Fqwsw#(}9LC*Y7lBBZ(; z4rApZl%dJ8k-9%0sdTwyBlQGG8SQjcFcHJK(xjzMa}~h#ISw}euR4cP-@Da`l#Lef61>FLmtWZ6e)9jY)MvtW&{^mec;Xvft`70iO@qfy{6O%=0X7bL|! znP7Sk?h8q0>q7NpPu8^FJic%dd)v%IcCM|Cg^IYYU=dFShwwB)apMxHY4_q(m=E`0 z+2rUzYg22W6YB#$I*D;D!*2G+cnHDvScgtheMBUkf+WY->tkzc5y!S%Pnu2B>E#ZL zDE9Ek3m0i4Oe4G`AD!=F#@hF~%*BKib%#|@-nUn}Zen^DB=j9=ekG-kHuiySwce7> zdo5W1BgkMY+S!@4yhvS?{ejXK`cPWtg5CfHTl9L|QgSf@w`!`^8F0dk55=h{eKanO zrjI@@CP6-oGwfp*hwL@^Xcs%Gk(CP$F(TB!@A7;&MZ6_Sn`X6D?!Z7(qTjhK{CB1I~#>Pr$Lj`SwIe9r&|+Uo{%H zM3dHld}BeBoWoB!NZnHqDNK@$s^y^d+d^oy6hi5lf+!VK!IujnRagbz0j(rXqgXnY zrn}gd|3p~f3^+UF#!)W?@zIxZVc}v5Z=3sQKVT{Q%L=I0(oH*MSxV2ovtG5*wX;sO zMJ4R)B{mh6uCpySr>JzDt(}F%rEBk!ECF3%(OsJe+5~24!aTbn`&7xf9NXtq@yZk1 zBALrO6Xh+&QEPl~%^JbK@5H#AZ+ilTnV<6gee}z`h-!-HqdOf$wT!Xdr)CgP$8fMG z5JpUfRUR=uuNGK(6UDhqYQG3%W`qxr_Wi5Im_qfXh}rh!SPg=jooN^-@p30Ex-_d| z5>y68HC4oLY2Nk*hvk03Mj9O-J&_Z|GET4NK(cMq_PuNi;fintvYX5=0!@#-6LD(u z+`*+5R5x)Y-ReNKE9nsjs$WTewV^6NZ`n`{Fy8~DPSR%)mygQIO8KMYaoP@nj!<$* ztTjQS5eC1l;dU%&?F9f%ayu3`mV`R6$*8WPLaBO(l;YqU+h2bw*;Y?uhnA`{U<#-K z;PzEG8=c@pT78<5h~jljKNeQ#Gyo_{d5`pCMs~=U7ivEt^bQPSRY^$nMJ_Egs$W*j55RT*0B{ogtv34AHrpWM8a;XYc>;U2s9QdLy zBcxNT2BlxwF_vdbwzl~{J|a!80OGT@iAW%^gi1!33hJ?n=8Y^R9;N(Ckb(XV zXj&iRJW22wgJ4(gr?XKfVlwlE+Q>L&@wvVLfnk6 zJNVAlMGgmNjf3y3wJB%Oa?CCSf@)PT6mC_!iF#nREFOD&nOr*4eRGt3MLOw1oR$J8 z-;hQ*T!3d)0O7mS2^WdwN75*}1f1ql7pFE)_o>VxRrIC46xvdpioV^aGK*Bv-n2qf z#i`8>yO+|jp+qW@q)`akOXit6u>0MKV);amP-=3BJK>2XerOqN`;tH^k;H;}hAHWu zTU^>Co{Fl{GLRp?#pIpJWFS8o`A9{ zkJvu6_Hj|U5c5Qvi|xK_bHR6o;ZYxg7;IwG6g+WuEttr;;$iNxBqa_nSNDN<_F`-a&r_toOFnil|zNdt(nPPC=gn!f7$S3TrJ? zZoj81M%_kJmQUT^=DQ{O0{5cA# zC+nygZ=2SnM`Mj~CSn!hLRjKMD(e^7ei`pmXP8}|fDFgtq#JGm(rbGu|9u(H1PZw@vN#^PV?v`iG-!e0AAg*hks8Q5lHfG(Z%S&r}dc1sWRW#EuTE zh{OV|KKcOk!U^k^`xnMwmJ;iV1_QVT7Z0^r(Y}4HGNS=(HEXdg!6X6~LBhCfJvZE0 zU3)BFs>Ij5j`ZNVR{Pu9!VL|_1!jd4$(D}J2rfN)Ff&oDsxeeU9$ZCrtj?jx2K~!o zVN~WUpgBiG=quyQWRGg?pmnU18-=DIR!^dMg3}U>VwN)lao99aWE!z6d5nf3Jcbql zQZop3dJsD#I1h-UWbQnCw&Zj~@I^Wf_oQb*><@JoCd)`ystmYW&cF>8psz-v)VoY7 z!Ve>C&0wv`DjFSic^>g*UyN_MFrn8(9J24YKhGffgaCkvHo(}2142hqIp=dqC=#JF z4}cCT)e1y-BW?w*&ti7k1+#E#T9UF05f{oPprD25bv*e}Wt`qYh+Plf=t(TV)wDUO zh@Jw!j})b@VeA}6QxV$nKnO7gJCcg{(L5cv?vzBa7mvr(bS_B!6am#1>W(mu`zG;D z1jjM0VUSqjwOY zgMPdjYehA>Q9Ra3_t&r*B7XXL_lenu#jrA&CtsYVnfJCUBEp&qB0O0i}94hf+bnQgr zK8YykAeKNDtMPy?ZRFg%rA})OWmV*pJ=Be$+H{H2cRALa?x7z6Qv1b$WUM31@Adaw zi}UQ$J62NVfT3UPK2M(M(2cr>>7yGnmE!WWGoL}qSc-Kx-XeV9Vd?B^J10-TZQaRfB-XitCKR6=UQsnoOaWu`4)iPDX_)#X#-7?N}BS%q*5Lz9%(klSMp7B&` zhkN`}GS47^OpOc17aAt*GK*XUwVM*$VsMUSZn=W8{1X`paVFHc%E)y3%)Y;Isv+xO z(K-`n3z>e0}C37BGc1Za8HFdQ`-vb;x-$2BMqMr zY{z?PI{CE@7IAQ2OGy_bJKQD0Awg3y zo13jxI9+4P&Med{hl-B#9zDuptX!G>%j(i3?4z4A6pmerLJVO7CxCh8kb&xNH=k-@ z11G;{n4T_PDfYmr2)}3un-Pc4!@g-EUCmUW73jn*p$t;`*ihtjDxYCl8B-|F14o-k zZ$r`vM_AsAej!8Vj>3LUj)vr|W2H8FdXj;`wn9qD>pSq$WA1X|1(lP}yz^35?sC3` za+DEuHK9v%E*WDUY9HS_&VH{@uCdOQ*}tqdgD}rBg?lmSf~=KyAr{OJFC*s`!cY5L zUM@>BId6G)^tHTPDw|(tA2nju-H84H*o>7tlSP-s+L(;Q>|^wi0+BoYUWim0qqdJ1 z7|0$a=tP;Ts6Heu5#(Lk>R#?iKSr-~fPGwh@y0l>#`DSUP4Mm7q$s#ROIOf{%d3-r zFrw7{3|%_M60{jr=zbGpri8DU2v@(LO>;2?bWVZO>wxDvUAK<>^MGKDR1^Ua?xYoX zD4V+$0T*^Hop_u(f&u`KtD`nNzTsN)f*w%3=9 zg$Zk|?{dWJl@7h?!}a_Sae)M%UA7MHG^))%{D%bre_EP#){P%Nn&70XH}HfK=I~F% zNzv=fSjXZ8xVI5MD;87-L+L*NR87SiCY^bb5f(3bQV+nRxh-25I#(sC6;8Sq;f_!u zfeTV}Kf)11`Z)j)l#x>NVrbopXpm+jphp`z7QrU9kT5kCi_ocd3a+>Z_%(|@S{yXk zIxdX37~*ucmU?>32Ikk(L9GItO$l!UnGcjbLxKw1z43^&sNl%T zl>$ZG54zDtnGcj5+XNME&OH!mQK_q?l>$Yz_*pi}e4uO+C}G{~@7YK#96=ueW|>iW zyS3KViG{a+eH}8#^KCq>m;X`4QnWahtgx6BUXB+&(cXwq7weV&P+g>y=5@su1Xj#d zFFu0C9D=Bhz;ZqcY~`cHh{AUaaI`*zr6o^N3Q20k(0;2Rbt7tSGHw&xIi^;j8po;~ zo<&&aLWH)<6LFYnmJQXxtXyS7wKXg0o=zJR2c2GUAe@q^kMq$X^GYrrpL}#I;y485 zZ^bLv6XZt(>aXI=n+jdzm7q5eveuhhL+X4P1yW#2LwA~)eZ`Qi)IP;``=nlHRx4108Ud+b3hQAv&sgm(H`?wJ0RX$ zc)}V7M2nnsh7DGs=!64SqlK0OR2x0~7FB1(ge$w{uWevK7*DB?_bM1%B@oSm*1@Xm z-w`%>3Zd_#Z@X#_L5@7nmQ6KIZjA%@c@RdCKI2#Csy#aSfj_c^fftd|1c09dVHE3Y zVm?>x`9$Ak>=j^#McJhUeU)LhS~{{lgn^qk8F6BezK%5P2kUJXm^HsTU`)#t3F{>v zd^!hSMlu{tsc~Mv@M9HFT4NSXCZC|)t|}$$`G@h|IextiRRZRNoPIWuAfPjjN360s z>eQ$5jf^qL^e$f?)f+PEMSPmbbQ6bn3A<9#nd`r=JMVGZyrPL$_KpJa&SUAqHsPDkcfv>*R#LlIWtG8?Eux3~%r?=jI$PBd)A ztyZ*>&mS338?F$yk6y6Bh1Seay~5nQI2^vl+rZ!}PxK!I%nd2}%B|ev^ha4*!^`O4 z+u*&mwqhYDffEn(>Fr=Xwb+1X-3gBfJE0ACsi%ovemCz!E;Hbqd(^mVu2IoB8&Feg zks8+q=+b-PYUz_=GvT}?=Z1m_y;r;AeMTm=sPAGMs=*iUWPW}y= zG~suSBd_l+64&7Fcg=E@5_ z;7&jmJK+g;0&MW1Seh_?Vq$SYN6}Y#`FPB(OM?3>rPBl*rdc%!ZwmqaYTj@MnmPof zXkG*e?+9Otx$&P7)b>xk(~NonW1m`;PX|5WX);;}7>SAyt$h+eAhDFbgFqLqqR}}B z92@9bfN=b{c}l()APO7w^!GoQPQ*^_KmW)LhS@2-h7e8)#9&+xe9A^a&w2z98x23d z@Rc41w7kBK{)i_g=hgIQ1pFQRM&wA?p9tgRuRg8tp^1-s<9B&AGS=Hr4T${Bfk5R?e>e1NLFIiLng}Xic)_Gi1eFp0Fi;(+l)Y#}EEyY`1S&Ia zh`*(A=t~B(9#l@Wp~;{!_hpkd8B~t=r-7;_fK1aXHpqit&;^3fDhI3vr4^fO5}Z@WN{8vUwGitiw8|C$X>0;$q}IUq=lalm?zn&tvQ zs^N7Tc``^> zR9-W<^j!x8srTQr!HFRC#(!+E4y0aw-vL4Dxesh`5=i~wLk9$@M?SK_dXT#JV;h_d zQn!8LfFO0_r`%WLFjVw9f_%b{-a!C|{HT-$neGd+LjgGxcJEO@=g{6xIk21qgV&aV zRw{}2MA9{b25I}IdfIh>5?$d_PQj3LBf`4Zp%%Xez{`^S+rMlO4OXG@5`OGXO$s9F zvYz~SbA1VwUX4KM6~_;vK|e?6S^Sj@8B(G%Gr)ffuG(u5P1t)7mAoZWRv~uReKMu2 zKX7tu8h<3Qr;?0M^*$gmmH8&8Qfj=b!58x?u4Jwx4${kr&GU&)Z6J3nI zbh(w!Dxnkbm!2{T5^u#{dWxr<>_Tk2vxIKNUmgM;YT1Fio-Cn?-&@o!{&NYvfj>ps z17s&qV9J$K;h}^qQ56VeCw+EXDZPxp;d`OwuERoYFa8wQqxV23#UBGu@7;I6fBWLU zL0`dtKf>RL9g)QYT(lq2&~a8ufxw@GL^E15QS*@A6eF6~X`yZRE20$s6bF0$iRdi+ zr2}0pCG-ORRLZ@xOX#3E7Vw`4E>Cw@fTx^~ZpT~f?yyq6epd`6?Egft*)Yg>#VMVuVa-AI@Qu=1>7DhQHDeT z9s(OJtyL*shQhJZDWK#zt#s)G-nLqK#JebG7}m@y5$%|^_Fs5 z?*aAF_G~OdtZd_k4=x$>)ur0Fr2`(ck?-ohoQ~!p;K`Fc#e??W26(FN1|a|POYq+) z{8zR+{#%5SK83Hw{#+Scz zHjj_`r{b23qM--75Jw=bX4PTkZ@Cav+&6Zk@*iSMGruZ@IIMg-lx}`I={Op8Qfn#Q zzF-j5oX(1LBIw&WUj$Ccf`=yzqP?mxqW)m$_KU_KsvWUE96D_H7hL29Bfcy$tbB)m z;+2KwSI&{KVWWrtSwxOmU0OlguiBSr0*IBRhEhDb)(I^Bb&fB^Ce3WH=+yE2jk1M~*6<49+ zb}#?gmrD(ra&jil-=)0g*G|z84^3P!dgw1;WXul^2Uz^#Q2v&Z`ElGA_8ztae;djC zIIiNHl0AmL!P2sRDsuIh9qxDV;KRWhy;)K{+*PoO96ogLZYtl1-SE2Dvsql>FKoX6 zrfogKBTpi`?19UQKL)6jHK+6!ze4COlvVaA{)5S;(#H|A z{>Tz4dkFva;;;0(C1vNpqN@zuo-oj_LX`(ykN;l6U)iCsd7A?)T>(3Wzp}$OlfdQ_ z`lbC!XaWApjzghK5cm-TSM@Ikofmh_3 zaSh8p7`)R?Y|@^;6Tqi~zqtK5*jOET7l7WuyNuxNn4XhZYrAJknfmrm-b-{ElRLO<$L;R`x$7CYX7H%(F9ezA0dV%6et_&F*W1~4;M<1g z$5y;-&$7zltcB*s5(Y;PeA&Xpz&j?5(u)ms$VU6t+~**fU|v-chFQ5D<&ckX7{UAK}3Bmp** zP=$a7i6RCSD`1qeqM%X1jz+O!i&*ffJma(X*vqrTUQmhcSstwkmdv5|2Lo9&CHp0=FFKhXU@!>YrISztqn#e{vwQ;78JTuuuH*K2-G7WC&f4q zCn(2hBDia?Z+xr|IC;as2JvsTS&}Iy|6=xwzYmR4IRf)P!!$YAEmBTugQoAmH1UJM zugZ0S7j^ZH@2LSVL2TbMMI`z%hC)*d0#ijQaTx-w2uwV)TY}qw#v||#&JUSyy2X(? zQ!5hT+sPlcqc=IY&&dV8< zV>TdI7UN}($`NQ$_NfIfl<4){S>(sB(fHfx(Q9+_cbrsEZahnvFCrmQL%Ff=fGQzL z6&omFKI)M7I--tjVV%`N4+SJis|!3Zl62~DDdplku%cWSc!G7og7}FVSqYqchls>^ z-bFdmb=o!}77|Nc^03&+ulI~S2fbA}!t$p>Zwp`ije?;PcqhL{r6k77FqNZ#Lj7fN z%24GlBXCx*cZjl7IRYJ-idH)^m3}2t;df-}qoBJZQxR}vD*TR2h2N2>g!^PFHC(?; zB}|j4kNvSswZtb929FH(Uw!czr}$KEV|ao`2aBW_ZD1Wrj5Z_Sh|x9%Ea~g2?L$n? zb#owZ9>5d4Dj1)zuiG`fS@LzkL1FHaD#uYWaC|V#ty1MEbqDScG(1xWMP=~DU@CU( z5pI#p9c&KvjE~alIgP-3f?X2)YIEvwlr^O&Spk_;13$$;@|2kne2mBx8j_Yx2m~MW z314zpmhdHTdBWF2%NmyOh&?5>vJOQ{;|YzHl??c4d9<0s{{_J@AAJC8jTS3ckHj%pP*grC7Z=G`o?$e>kJ_Wx1KvtM78r?Th%lZ) z;G{m${;0ANel92qN)f0-z*$H{`MJnOK!8%e=(8xK1pzLulAi`)#YI3asyvO8lkC^Q zZib^7(jzi`z#R^#P=dJRq)$3xB{Hd*0b>lF;6|N%FKLnF?^(EOOeJAx~#^Lu~MTUrQ-JvN}_?^x}27r3H{LB6AvA`2t&dWsa8K zvcfIBV_k0Prn046^ZmDp3^O zXQ43CPlLaggnA^0B2bG!uSr<6=|W2K^*iez4IDYVnH<5JQ%F@F3%~99O(C1jUxb; z0w^-Kf_=Uv3njxIDuMz=u*lb9DF9cZ#a-8}7JngIoY*&DOu`fFnWM!OtJ&g#>sE`o z4<#}Op|y9h#lyTU?#n)|_O*Crxq9@v)#5_g;^)!Y!u`I%R(t2ZCU8ha3pFHnbF|=_#=nHZ#%gx zKPK#*N@M|JOvq9ESglBL|8tCWSbg*&BK^Vuwva1~2=J{;dp zD`g<63cir5l&6SGsy1mF7vKrbfj$4sZl>`vp5Orpd;!mfB?tsz+)u#}!TXtnA0<0wBQNuit|LNF-`rZAv763jd-fI z7Qv!QnBwu!fA5B-@iiX$Pa9zxkKv(z+(xD`4-fsf;QvRqKQR(_8{r{*E?DRxJoGQc z|FVrO{}%XvyzRdY|39()-A3VTHXfN5{~xmb@8N&XO)dCV_cbzJ=xA1OG3z{mBXgx3 znJZ-ce1%eiMz1xCeb5Z5}up(`?#{V-fEJJ{M`ui6ZAq&x!P z*dRF4M5ZTbEW2|nocWu-r7#}EQ+2i}0{?>N2L`S*h0{6n z3QyIpW?}3A4M_1;b)g9b?rlw!(vDL#*R1jY8DBNitd8yH@7x(?ynr=T-iH(inq9NA z9cd2C&UU2P8RrTp2lmE~Y$ps_W@iWkd6p$r1fK+#3fOVxAoNc>Rf~nBXlfI%zKV7@ z`AT3ZG6zEekM4$_hGRja-lB7ir~i}-!BZu~h}b1sONuODQFh9xFQueT6zXlzsTDGt z*$V`%CFUnE;-qGd&4Jw@*+cOGHg?T6c3~Y6$;RImd0?{2?~6PLM-;+(W(oA;CUe`k zeTL#w{{TN_QEsrr?MC1hC*_p;532zMJ^1{&IP$DXYT?#7a4eBHjvr{#ukF82KOWRc zZMba?+#r9!c^?C}*v%OA%1LJHA&NXi<(#@=Y{{7!yt*dXa_JsG{r2s0p#C8$5t(ZS z0rlhvg*Xmgux>xyLlMV!Jxx-L>#sQg#J*aJ`1AQ9_&BuH*MDML0Fy>kIaM|(dAo$ojZ@2x~h zwA%t0h!Bw5Ti;+4wvhq3B@??rli`wjGcj0x)g-eVfG3HP81`x$CxPcdusTm6fow>Gq=tRZH!*IRBb!~ENcTB#PUW1e$r^$d4OS6QlI9)MyacPf2}+W)X40XZ70A<49aZ1w~o zZvv8A`@d#bN7}zsXtvqMfZ$j)bn7To(SZyKALk|MK*D8iym4ldw!- z_)CNLPFPqcS_0S8GDP$$~Wlh4!0 zZFTYJg$}td1i9N-4#+(<2f2UAMed#*k~_7xMQ*Z!a*EtR?cnOll6$+gOzy`)?i#iY zTJ+JWHOt;-hK@T-O3U`=)E;U%QYSNI`o#yP=rao z9;^|XK$owLeJn!jZ)H%DkgxMsfzX(GjVkcm4oJy(P1 zd#+`ozYU_NaTt+A-yKA+ge^vx_2 zq;JqjujF`7jr4>`e&0$Xy(7oN<|~TW)+&Hq5YXf~XGy-HluO1B&e1I!WXt%_L2J1S zK1CO_*@4oMfM$gY1KHk$vJH zlD&W=?ttvMWPSAtl6}rvCi{;ddlSh8&OZ`lZ&hU931m0+*T^oW2v@{hAjy774MfZ< zAb2GblHeC>1eaD9$n}jhf)ghByiOxHftFmSEU#lxkl|bX0RdS6-mLSC11ZBN_fG`B zgQ#RVXw*q)R15r)mv%>^+7VF0`6*?MrwqLo`*sdmRs)Y6g9f&tf$0OR240_|fm`Hi z;4G&kYZJg~AmwH)i$Vh@u0{j%(ZB|lg9e_31~$Vl8+afZ*oJ^=V1H%OX9ITxPR_uw z6rss2jv~aDe^Lip&Adx%rjl1XXw7uw)f}yvuDmMJuDOpuDQfL6)sFc_n2X z-l#lvEf1WY=zT}!gOF)t36NLMYXnz%=sp_39X<41jo^+R8rJz-${ruVnaTg=uu_-itRTTJ zU&{oq2Ekiwg5L>(w=0651A?cqhpj}-ce%|7H&2&(1~s zD_4v7xpdWeD@gpC)-v(8qMRqWAY>L&&ciRcy@_&OBmQKyEqXcR{FcKsfpd!F{L~|k zoG(Kcqz<;a;3KUIl$<|7>jFp4->P+iE9d*?kn<<6pqxK9M;A=hjA@1iu@DLH?EMsP>YKcx}emGe5ED><(doS8b3^S7=b!Jl8t1fNAYZxj4o%6Ucb zCqeM^Ar8SKy%pUgr0t8)?mRi`9KD3Da@%;6O! zel9t`Uz&5wD=9gZQG z1s2>dT($EHkW*xyb;MC<96Ct3f5C%}O74c9OC1UU^3Vc|0i6NZaU!jI;u+Hvs%ynG|l2+iZDw_P>Ctp!8k`nzZKo$pT6QIl)(4J;8-OsvbN(kOY|h+%vxp!$0r?iy&bV4 zGw@M0dxmz_==KyM9lAl=B;6=;Yo)&|`6}rq{Wjg`?|^P!uNK|T%|W-&%Wlg_B1yMj zG#V+ogB#EPOD=)27LiKs}X*7QlbbQ(t-e)x|h~D zREZ>02VZr2OajT&+i9J{5#?d(VX#{|Ol@_}$8P7;qXq561f4S=N9Qca)j410?40%Z z2GV6$?m0{($ zg;&*5n&9EqR$}~Ekv!vS90mUhopEK|t8ti6T6p9+(hxU#l-q%&E-VUh-$%J|gn`M{ z!2VASn}_xGn%e)t^s_GP|6mg2#*K0lh}9!SA@1WS2jx~0aSiO})Z0YNr8}+4eohfl z!zS8V-p?VW%+p|xa7GnY#28iAE4YxG@GgQ9E)V~ZSpw9YHHC1DtSYrsmM!r8giw9!z)%q z4xCPFyK+>@i0~S)y4TnUuZGo~SebXj(Bg0vPPKrm0*~jE)yv~59;dG-MmAS9(eFP^ z|6k&&oF}COpMDLjeik~7e*sZRm!Q+NXwOSikNHAf+a;3Mq@7XVXo2m z7qMWGV&-;(g%LSly##eRY*2s0YB2Jh4w;10pU(U_Pp)+y$~|I(D6*rq4qvCL;V6Bq z$aDIii($T+Bo{#S_AvhA*NUXtDpvVzDmh(QD%cmhlMW*W$=hHs=0~U<2)`KZ z3`d@H6`5{NyX`WT;E~Q z{!+&~V&z$suXDE8EULfNDLY)v810HhSM+VpKV00)#g$l*nI-2kOk>CN-Yz>zy~MW+ zle5j5U4|*ePd~b~JjL%Xa-;=AWw=I6HN*VhG7Q@zzMT+St+RGQ2y}Kr$dqPl27|T- zHXof~ygwnw>yWxO!yU$h4D<%cm}ZcZO-%{2PUq};`G6u(*~SfkdIH8+eu+>aEq zoaDU!TffN*1y+UgLO=P53H#yyt>0F47}NA1-Sv6Y1FyyV#V_OG3;KPrucVx`Q1Au) z9Kg}h$_KG`c^t+cU(l~ufO8}W$QSgDd$BWkyz_$o-9NcSN>eFc(2sBdXFIu;;|uzS zP~hl5zM!vXm$RgNLH}(?9NN32!;Ft+EK#pXH)B0I7B2yFYgoE&_!XH=7uo7=vxx1l z*#l(t)=Td@AeU3>P?_s;m5VQuPt{8;lkxv?}9XZ!b2spgN{HDLUXb0XCzC1&B}p&DjBxp(}|LnUqG&nZaAOU@F!F@ z3eV`3*cp`@x4>T#iQf;na@16U_vYn?tABC1iooiU3jBKNViDD6dg~%>s^@!Q<%FF@ zdku9S>6-B?GBZGpP(Em;+&S=6-`_iamPWf%0n54{nQN%(1>XCSCCpFDVkUgF$b+|p zJ<&NtdMHP(tbVv6ByxfXMKsR?qd(yqkV) z->ocP`!_j4f{XAo0bEjjKZYE~Nw5h6L_$6WgkvI@H&j@VlaVm+;H`%7J)Y_sQ}t zi*d;?p4(9gL`v-J8-achHGAP5&02DUiBG)}<7fMN1}7}>7CGT2HCavqK92s$lRM6%inqTFq?wJ^g%W0c#g12wKXcBd`!asR@ zUOf6MK8I%@&7`sBfM^T8F;dCE+kr^D2?Ad^>Sy_#*DHu$@wFEi>DwtDKG6rO%4_t zo)S6HjNPS2=uoXh(qZiW#o@^~hN2vW7@HaS^S?G#R$wI zBY_SXonEJPQe>8)TmN$xh&tFXcdrDy?~k8r@l+Rqe|VLZ$xtvc%pL_LK-T2t6moO~ z0>f=MKD=eK+SmN1~8G~9n79PmnSo+|IXzd0nDO-l)S5P=dzq_t$RjO58%}! zsVp48zT{mVCS_S*)P{}(WQU%QVBkvp$PT?oxVH-qk{$X4I#kNQlSK4fbZ9H-b}~Bj zZZuQ5U+u<3pC*t(@D!1f-_WXL;9~!U(Xv|_p%!NK)jYee>X`2gyRRA>DFS60y{bUWwMX5R)OTfR51$>zl z@Ycr^Ey+Ev%BFsql-%zi=pe(%Kx7V6$h>C;7LTy|<+^~28P>o^b_uAo>*A*}!&Q5h#k5qn#}XWGN*iRP|MXczAQI`~d)3 zbTmxfQ)80r0&~HcQUi$uAYDk#K=Vd6Xj_6fY691cv_V$@WCZ#`B-P=m#{Hgw!3PUt zCZ6ht5tt3n%?vzAMTa+W1$M;G6?lR#M?~OmEW`rPie#V@6q8AK7%)t3eFR>_Pd8|5 z!S=8S?1jYt#KQo&MLNuipvihK1dN^VAS!-=*4<|#7O>Ir{Waj}3dlQ}mFr93E0Kuj z&SnYh_|E3|BuyP0Wfu_TSJG;+Y_4uFi<7uS%VfEj^2jE?WmB%mLHK#pMcMauBng6)}k=yBeD$$a2ux| zbVub<@T|s1WRuK}o!S4zkH|KYTsRZWkI1&c&oj~TBeJOm=M^C|-|2NKydu-16`vZ% zgZ}iz91Q5aR*b_B^I5>9oojk6L`3LCnJrcXB?=>Uj02SJoM_(;}<3fHCxsK$rxw#R3 zhnrgvP;VHLHJpCG2?3EQd(_d!*2k(RuoI-8_L}Xq?0fTR}3VCIP2z%@5vEi-jAR9U~ zfnsM(8{J5MGkWr#s~`- ziSZM&%F&*Ml$ZvblolHpaJ1oSQ|#vz_H4?GWO@xQIk`t5g@cxoO9`R9Q{y07=YHw`#MarBarph<&8mso#o zIqT>pfg!t^#u0cxZPzA6%P)>&AmdBdTSOgnmg*#H_mv|cKH`yVVC=&d9}wSj2ZVet zon`N$jmu-xnvY0X=o+@nhKqdqgJ-p7BB6dO3kw(Uv@IMX_C% zSU8`QOP+4OrsSzr-$c}PiCte~uKIRf&H5bSR3Q80b<~x9OSaGHt*>Ov06-71V&Yq9 z^Xd}BlI1=0Q}a=l*0GY4uIDR*>!#LmlcY}g?SN5>2b73^^8dX`N}dpzOboPlg*=e-1_Zv5+1{6HvX88w^)~6d&RNd&K6{xumE^0&=r|EgxHk4>aRJT;QC&Oyf;F z@VmO&MXKcKNOi51GQRjiKy5b%|5yXHED53COi+!(pSe1brhU`*8 zoA`iJp6Q%C1q+rE+xQ273>G2x|w#B&+}l7 z?M}phA|C3c0Xb|pm^(Q9exr9NZ?JE^5gMW;Z`7mEi}$tG!Z>z7(+}bGBJ;gGi1E@UL#xbH>SA zk}5ZVDpfd<2nxhsd&gye3^;3?Y_4eqG|3E_5Xm;v{2t2j1!vl+jL`hI-9kC(4Vo}0 zbfO017T2H?BB2=^gtj9rS=}RcJUzCfH}Q+;iGLy5ew3pcN}T55(1&sp;mJCKwgZ4` z{0tgJPqqE6YgfuzHiveQcI5k#lO3YJi1Z?}3!qn7F|i%B74(CMB`dlmS+>__kT(AV zZ%OU4q*6flvSQ-XHKu;kF3F>FlmjSbh<|2WNx||LSO!?e$6G;}?``VruTiJXrjC@X z1`bEBBmtyktwg@Rh-9^>vG<1o<5oNz>PL1&jk;B&M&nHI40q^OMtjUwWg5m9mP(sZrzJSs4O&T?(FF?v zJq8a6pS2F%bkiKu@c+y@^d?D^$sovOHc`G`kpEaPQ&#%;(w$t!8fd5Y%!OPzY=19TJPzYpbM40{Vc4g#R$t7Ys zb2p&BSuxH`Z^_)@p9PFLcqnsE?oj4pEUwB7)QEh4kr`+qlt6s#7L*wNxuiz4>|mVB zWdkteJ(q*hsPDfphcXYBgN7^n!DG83{Kv&Pp&=+pxpN4^tH`{jS2+p8$w>XWUar~v z*Yy&XbzLuk?sdKGz*pS}n?5!BMp%k#$a2qhy=1hk>v|>7_mVncS!cZnbY4=I*Y(z- zUUgk>gY;Y1^)^etbt7yW{kgB}h4x&d5v&pA^SVM_ovWOLfnfR-x{6@>6}k?=^ec2- zg7FI76s|^61gnAHe}yg=1b%|Cge-zdppRgLWf6=(FTv`GgMEc=lk{6x=(b9~MKI&E zq5GYb5Cvc=Q!w|;QfI!a2#f4vduY)4>f6A|(3QpuD*hedp~H4gpc z^**SI8b<*SNLQkLJQyvvtQr`=G3*47Ubi3sRU;vfT>lOJSycr*YFz`rty*|bQ}?#Z zm8Yp2kSa@yph-CEG_|x7JEy5#(QWOkoDBlLVH5GPMaXYE*$4=T*v!@3R|%Bi#lIPN zAZ}bUR|?gLOy@6PNZe0G#UB2rs@mO>^v@7ek^V|ND9VxcRx@4$w8xj0d^_w#+}I5A zP`<@pq-EE31Mq+2-Oa99wxJ=@p;S2~T65rLC~clqVys}fbKn^$R%9MU+V$G4`R1pE zs!AxC@Dh{I={}&cw6y_MSlU8EG)o*`T%yJ8I<6*dN0Rw1ZsP$HnF3V1t5tRMNOV^v zUdWVH>W4`CAn7KTdu`K%1^tIe36zIO6MRpZFLxqag0Cw#@D@Qh6VZ=@Z6gGJU$3tiRXZaaOpt@(}r4O?>_ z8YrEm@AvvDVC;`aXZ>3cFEXbB`n(krAE)guDeGF+VTswfc9;I@#x)if!|~8Rq?a(R#^Z-?w~a6s;_>Iz(`)6U;15vKt*mXK2rflUH?lVP??6p+SR4Fp zsObjQwor5>@^ru85t)1TfE>jWygKx7CwGicq6V)iiC+@(!iN6S99Zyo0PF6m`16mzCRylS?Yqz9&uz=&@m-NxIl@Nt z%ZtP|*DmQGFu!*q&P2Wj^x89EOvZx-Ji9UtFz$C6a6yg+91fIfkVG}09)7CNC{utOct{oxedyg%Wziez0uUiIYJkPZ~x=e?uZOO z^v9{)aT(^ZvCzQ}6vvce}8gP9A>r7sUP!Pgsk@;wQdn66_FW$mL1C0Z4?@!(di;YPT9iS$|r$O#eu@x%7Fl?RvLG>t*nIK z-%74Rm*2`d6W!I0fUiLx$_8DC#w@iOw29WBo9qVZ zEKFLnK^_*~&}z`S!NPZH&97xZHNOD?U-R*mZ1iVn_kgh@o+&dD+mKt4Zc4qkAD>{e z3ovqZZtZV3d!aU>ILx}v?-skp2g}=mBiCYVl*063wz(*(?U+n5rSPCupVIjvP~GdYMZKiTjo#Bx+EJ;+T5)SDs^P+z}3q}LiS)pOv zmxCPJ5Nkg<2(-vy9t0ve=f*b#Tx58<$aAcS@icNoZo~(7`VTjaDJk5&zy+C;vqt8m zwZvl{;U0p_dDsSS&fo+TGat{Cn}zuatSU|^N6AunB&x$BP)&QfN1)p2@9+pzM9i@6 z+?(<=RLaRf`+TClgOIm|bwO3qQF{=XF}GRw1x{%V-KLp*DiAs4Mf>p8UZ`ziF(ARa zP|%Mo>|!A=P;v?zE(^O#6}C9^t5(<`7WTSTSRD(yoQ28Td7J`9$^!D5ZEW856fleh zykiy62HNh7hvb|V(#Uz5ER1%qj_q75W~J<0k!@ycWc>#9Zn&XER$fu&G{hq7 z-l`$3p-wHp#&$YcD`z-l-3bMq&%!`f-ZtVCW|8$tRoLRt#1>T)_9Ng`WUXgm7Fpje z(h9K1I^cGPta<@DS(}{#td2>2iS-EYzYX3e{1%E2iG=Kbhk-i-A~Jku!}E>?^`9W$ z(MT=c#Ufttc7dyxW^6Bvzu^fUl_vu8;klQA`FZYrKQyk1%mr8&4cG%wYGsb8;6<<#q7$z^xJA5{M~xGxP4BR}$Y* z1A^#A@Pxdg*!qs)6+)Z9^YR88*-0Dnx^O^o}UeEYln4pv+F#jU6B-|5C zRF1&tS7jhywT6Hs-|2Z#BRT=?Y(jH_6Vc8YXlI+<&V7(G{h-~>*jOzy$raosuPFK< zFseh6;30Vx1uej&2?1OqmqaIiT!-HH4nLC0*XKdJ$qV;}g6PCax@q_onIF&>qi292 zLP5hkdq3p69zWmX3BDLa^Gq@xv?R;Hk32W;XE9#zy|8Cd$YjCy!_Z&MTW{5JVc~&X zVt+eV_lW0MbT{Vefx{CoAC4~{K8-*+(j{>j0;y;4=H!{(5`(Y9%|`SO&QI{IoJRPk zRwU#_GcE9w8^R-zNI9;4rVdGkx71*eB*xU?`5_jd9BDCiWU1$t8p8ay)JT}`mKwtB zEfh~Z?4YUD1xeQ3PDID__0-A1HMORvr%uBBbxN48PQui-4Vdcjgty7TevwpkG3rfY zAs6f)>6N$zfm#HnZJG>SsS#s)6g2JQWN7z8-4Zz1r(K^4iKQ-qNXW^r_l!NKaXMj= z&%zgf1F!95%J)hQPmx^_Iqim3Es~U+%p&jCFy~@&+AY1p6J5j&345`On0QVB$br^B z(m7g^#FbH`$$&^nJQ;VhLW&rh*W#tf`Mk5=b`rR`C<>qG18%w#Rr6~BZ9`$3PY@d= zUR?mS{W-(fbkD-*?GNA!obbzwgj?>#qJ@Ds%vkhf+&A3Dz!I}}@_JA$wFrSnh;d@x zFR&jXxappy1#Kw00scN4y-!%jy^lyw4}e}o z!aLwg39RJ%tY#TF#1Sq7!FM9FwGtDXdUHuJF&bimo!P|3Z5GM*bS4YR>P!jrcP4>u zXBtqqozAR9Ky_v#{7z@KGN3xsXw^Eik^#3f>kw3(*#y7dnQaIMw~Tn-3z03`O46hG zevKY40ZWnjyP^kPtG^Pwq8yn%I6hJsJJ$#7a}wqNkAzJzDGt%b|D&uswrX1kOCKE^+89kiF<+SP=|BNRU-mx_+B7RSpHkCD5`K|!1GbogoKra zZ_+Hrl<@dOa(F(5vT~e7aP}f}D`sxx*b_Jg5#nc_l_LztAv|YA2+KP9Ac4N44}@hM zeIU>|`XKKGY9YDodx6^FckTsBgLBlqK;}a?VR6(GAC5Z&Pw)g>K=&%vyZ7K>z%U;G z%LPtT@fpPLsp1hZ%q56g4|PlT9)3k;F<4TTc4;K~Hm0~*)EB%AL-Th88W>P_NHsIC zrtXkxV_}C!l8M8>eW{nx_%(YYT0R=*=M~PleqKpR*k6lRYDg}dSL)$+c%=ye#Vcr+ zVOG!678(_R;N6PnZOyI3vjg85k--wIYRn(zYI#azo_kfE>7G1{3{GdB#m9i}dQCNr zd3b_L!FRV#GmV1jcHmTaK2?E>4>67Z;9)Yu9QHVJb~(&mdAv!`j_4h|Rqk9O@huMG8|G1?OgCcz;3D%Ca@cR>dbC?Pm*J3wt3eYYGMjvZ z``qwg8<-M9IxFUSK)L=y7{ts>j&}o~cOi3r_6_kipl$ zcW~2Z@QhShcq@MQ-F8Hk!fk{5T%jeI9S6$-BUCC2Wek8s@H-geSPq!zq?cfegI_Yy z?k_;mLBM4qa~Bk8?#7>e@Ixg~I*u=qNt6e$m5W=reh!s7^sr{Vz|X<(hIV59qsTK~ z!g?*pdw4g&6ZlyKFDw(r%Xr|&jhUN(WQ*|AX%ryWiD1iS!uSaf{D!$bS|nGrf#ZN- zj5fKvDPKEQ~E~0jMu7?Y#DU(-?XIF6Lz5dw3cyv;%WqF^#-e?Z6&CfGhDZ z8Ic=}sll8%8>JnBpIh+^8598MBZ7Xw&*p~#^drh#D}jn9g|Pup9P%hzP1~4bgBT0+ zMdn{s*2o?*GGsEU1N8yP(e5i6>PxjgO{-l z*%g?XKZ8^zUm6Uqho95YS(V^3^J@eGzv1U=tmZ2xvLQ641h+xOR|CReN(It?Y z!E5p3AkdCL;1~S3iFVo5>w+IQ8%>eHe*)xWd*ys2dIvvlqS=r{!Q=4bAi(v0@F_r?Y+qf3Y`@~i%_dK; z91U&JN%R;3f#>n#CMvxepbGpvwFrIr7JKfw&gk*Q_;FMHTmVoIh9Q}%ovEgF0cZw( z+*HSP1?V*VxT*L`Sl}P{aZ~a3_uytw;T*Jzab6%$jvp6?0|+_-Kf~(4J)4`T@F096 zJ8(39+*HX;04l+c3%YJofNsZ+3;Lu6pzrYGfDCgNy!9Z>EzVe5B8SLlmsn%1KAQCo zM1Ays@Er)lEXGSO=1V_=L~r3|*e|#?=2eKoRR|bn6>^SAH{atHNfW+-UW*YI&7Dh6;mhLo5)Ru^5HgPF7kF=o~*p1IkK!1|qRr za#vc2TvPGnJ*|D(d#`Ze_4Uyp? zmOnnVvJKM8Q!5TTZ!2^2WQzmZSb|P?6TG0;ZgKdlK%oLH4_$>O=mCerACTDxqXoy| z3H>9lfJL zXXUQ+2qYkfhn~_nybeXec!YY$;i0zzu?1R@lw6@@g@5vV<29TG;& zp^3dwWGhQMqDS=GZ{R_K@KjM6-2u=V1h{re{Q4XgQV3w}6puhjQVw)7qTh;c@nJX> zqMQW2F9ydJDG2^c;7MYH1V!^xJE>}6q&{;gOO$m zmRcsLvok5wO$c)rqzLYdAAWox{Hh41N(|#5JmHT;U^oO?BcAYj&H^dtGQChG zGlv(2*}uw>sl(5A4uAZPOEfkp{NjMnqBfNZF9s6!Y9#p#dcOt<3fJ!vItu-zTsL?M zL74GASoqa6GU}ysxQ3Su3%$_>kL_fQOS^==^I=igH4^LplNU4Vq;hDdr7AOe3EuFs z&f)XFbz!WgaMNV?Y7NF}3P&f6#3NXk*CP~uzbN`J4#_mZpV|la-4}zQS`mnL$C@ql zew$k!dp`Vrg$G5#3VV1_B+N!}A2PG;(0@kw!-7zy#<7Hvi+lTF7>%)kDWdBIBKTv%%ULL$qoXucqQsMhD{<5`@+-ckBT;%3p90<3MyXW<&nvc3 zx=lpBfnTC@zXf(I- zdkQ;{m<0mojdS5lj8sB}LOJPiNu zpue*)86P}4Z7B|=*ftKnjzBjEr_$|&$^XIXUUuxxi2VYAVZ9MM+|}6bg6M=08W1qH zz*G8g;@tNQqXF{0bYZX1Y49ue4Lqd>Cqt2?3WC)OVdX`h36!vvnBz-(#a4KZ55KDQ zJk(dCw0A+MNyD+fgl!yNrlsT5P}-$iHmqxT_)9IFY)iNGjPS31VDI%qvwhQkX`h17 zcK#_I)BdJ@7^nT6b4~jn0xji;qBHFmY4ja~h|+@jx7iYoJNaX2SnEs5?V+;PTYbnM4OI;d!{|(mtx5){N^1kxpjcL8O4e0}RHe7aJ#|UhfV#r#YfY61+<_TB z*p3r6L!cX!J|%+ZLJxQe5Bxs$qz`Js*Q`FpJn>L(=!poIJ!UHmj;=RUCaQ&q<*C!M zMPa5_t^%I27b0Q(+g2nKV3_2$#L`ag)KT-5?kfDsjon$NS>??tG0ZVQG`J0Z=Hr>w zR|K!X|M%&y62bR@`9P==25+`V&E6vAK*5=c4`=BR8<|SY{a~xWJS)v^+Z{0x{ zWtVpj_ge-WY)876eNvu?kutT2|EYJVTI&~@4NG4t_DnW}`6nB~>{nkC&!DUtmi1dn z_+gFWEttTK!jIwuwq34L0 z?Fj37BHp}vO+moW@a9P~J7K{oVElP_z}~@^!MG{t&ty^V96Ez@nq<+<|K_mh3txZ( zfgV|OgB&c{6|B_2c(CZ$)nw6SD65TSfkj_~Upd91^E4tz7+91G59Jh#o~^MStzomq z7J1Ss7UjG3%2EE2Meo+wk<=%P-r$2-ESiN4SX8f>+U_i}Xh2)ClN-y(qO)_c=pb}G z_OmS(?V<5O4B5z{gw-Q~pGBEev1k+G9WI04VbSy?hs!!-(ORTYnH!m2@pr46*@(Xh zrcjQkNfy0A>j}l87iqRQ$)fi}Vy$netQL!gq@A2F@0%t!0fI#YSW(UscV%5DQFd1j zo4{ZFLJ5;60w^z~}WIJhM2z-OJ;Ydv5#fxA)U%|jY zjIcxS6l@ak<+-qzVZ4K<7<*3M(z;%17)y>o%srh%pbmjgunZ}#f&Kp4%g~a62($-9 z;By2n8GyiZ*lOMCF2gtrPeD(V<_UCM+9Vtzx(ZLhXylo8xG*kaY44-7FOS2$F~=k3 z7hvrPY>d+*4S0$N0v%5QjqeI$uf>QNhdi$#Z~z0}BH8p0gt24@itdT_c$(00%myC{ zV=T}qhzL<^^`d2y7nzUG2^e)}!#+MK@C5eYQbhry;3ZVk8=iw0Af>+R7BFf`5Fi2* z;klfFekRl?p2G-yh@bUQa4~m%PlQKxZ1A-*!|2`}G3N?TDo?}^ESRgYST24K**yVI z!Ja^e$vh=riN5}b{XG?k?*s}sopLV%PUok<1y1KrM&NR?#Y7PJR(R&JhdQHxwV!8I zFgORhH_iZ9f`BssIxel_m~l8qcP^gdJ;9hA7riPm9aieFEGJ2kX*pN1Z1B(|zIcnL z_!FV~4f%p&;2SU=`Ksg{@RcV}aG@m>N2ZHo2!+2%vP-1VrXE#NM!9z$iI50!cU* zs}b`|{5Yn|X)@KoA2kqU7Bc4Rpo1l-2SAbc_rVC;7ta6@>4*P&(Z8LDJcj=~a@4&m zMyW@iS|T%dJ>8nby2rB&+uh?`vOgj9S2t`M=2;~61^nTGI;Ypr4tUn50Z)(7*kagJ7{}s)Uup_YKQ^OOxd`M(Gb1}qw&uScadZX` z$~np{ba&J~+wP1WJv?)2R}|8tN0($DDm0T(OAqhIj_mkcd9p48L*DEw)Bl2>_A|^Y z(1ngRvZ3s~VZT5d>8+X4Xn5|qUbzwZ1_FGuK?sCF`Rg&3&1U>KIy1qsnBHcA7s001|`J|Qu$L}BRx zev0y8htlRbq!sul}I3uH!S+e%}rRpTF@a{{VY13 zG#HWU8ZSgZIm(^B^AkN|lkW8a_fPazi40Hm?8?5Iq&D|dPavz;sX>^mp5-LA0pHXE z1@KU`3jQYeBU|KkiOxaItqf#DMZrEq1DqFmFbKvoLb{Bb3PAe0h@1*4kwyvBI`~Q9 z1gC;VMy$vbV9yI`3TQ#T^!0z@6wt0=oQ7iJU|fs9s$krJeCZo3ax}9HduD9c3$KLf zY9$Nz$iBg(`OU>1SYN_!%>l#5o;Lf`*RX2xrR$0{wDLL?1AYXct#e~i9J51Qd0>Omq@}!o^ z*O<2k0f%|(8SqbP!`KV{NlgO%%uAr3c?nx(=1n8BpLq%MGcRFT%)5${S`%sDXI_l( zZ041~KZki+fkb+;#k@v=%e=MlJIvd}h*eY2^sy7>RR9t(*k<1^FPR^b2wc^b2wV{eqmZRTkvs$n4ib2=i+pgk@66-!WFDus`Y;t7;jrj8$?gp%LNqXVwJL0>7F-+TnL5kTiBzS9SuSC9D?t z(w|#}H?jy(o~80})xXlFwu(5A

j0(nMrbKb1>VoNdYLLFuBlp+v+F)pxo~z%EIFtmJ z?uT{icv_JMsM|_p@e`AB>WV6)r}RqC`JFrzD7`8eAam?%4q@xO3P;6ECrWgBS!Gr&mY3%1JNF#eNdR9{O zeO<&uAeEr>dMK_u`|I%XZh)l_4NL1vIbYZA;JCP(KM&%^G2TAhQ_Cu#=42DSdMnnQo&j+G@a`r1)GU#3lII4aG;?=%V7wJ2bY;4LZti}8wgwEa`Z@#&aTI>yeQDvO zzKU*&({-+^S*NchE}*-wWoY?!yRR+m>seP{3A(G@?2_aWgIrkfaF<%P)`i8_t_~gU zzMBZ7Btygc;@nvUtX;s!H2U@gd#sD*Z0NmhjG-5JbHY8y2I~so-=V5{VAx%myaO;r$xy12A(Yge5CPw| zX7y}!2zHg0F*2~O5%_oLeK~=cizW$MlNso<1FqG&GFa}I&XK>p?1g20FM`HHc4cN2^}oJQp)LB^Y{tPGFgfnGyzO9{PH`Wt*9AxUeEjGV{wHWG21*?wEPC3mu!8 z@9!lu2j3e<@qdMxlBe3U{qgw!9s9xQKDQ2@`97q&?2ixPy@CyYxyL2;M^=Ik<8l<^ ze6eGIs+8rU)MZ@LRziQd%^+FjD6Ux|=lHXc2cKY7DwTdBye5*r*FI2ZL z%9r&6{c(=fzBqLr_HLiZm9uRK-n@q-zk(T9?5a%-9QIxt!~GFV3Hvx9?xf6zy?2x+ zdZ9TS_FkVH_sd==w_)$$2XV#~_aSy`#!u-3U`&5J?DH8i+*BAl5RU<^xnEV@!Qa>z zGG8EZ6pKypgMWO1v&MU35@6hB8e5ND07ZKQS;wzTf~KlvC(Siq7dAHR3mr8bOT!sJo9%iF!-X+2w#>6?9WH$LgT=JCL&y`cL;5I z3CnoQ)a$|Yg}Ad5ne=x$8m&0lVqZiw{ezx(slgPKurEkM89PePNd_LR=Om*!QqTU; zXcp~67spy?)-eM#jq8Yyby2f$^hBb*76o>TdPkzZlT9cQ>VSRKAu)E4-akTJurIbs zod{DW?2ABCH*(w!NExtWmTIRcJ zoe<>~S*P$Ds}2tl{q;*%i1MhszsA0Qgh+a|>)0dkezv{;XyLE-+b`N^#32r2mVj`G zqqKYATZ=clVDC?z<1#FnPzAND*1rF>mp8v7!@vGfyh(m@_RnhIWE+ED?VGbLuebt^ zatr>({TVMHEv!(Lw@=19SO0@u-i65U3zy@D2vskv#>Y$XH|_~l98d$>jK6XCc$!`Z zUvUfmkkQ8@G`bdl|PJ0-;=qzj2B$vW~~ytc$~Z zoa*ZldEqth*dO<`)+f^KRWDG!6z9r#Z5fG~FU7%@6jtlRsx1~mtAo2k=o55_51IoR z));pQzA0WGZ}K=IbVV>L(EnO5a7_QKfCl?*UkuU4_l_F3kOb>ul1KB5-@7Wyg83Q7 z5iS^)%*GGS^1wL79X~AF(+O?w_@b_XZ(oUbEd9gCK7m{|Y+VvIV`%tKah#>Yvp!j# zF8lru+B&QkzF*$sn|NzSqJ?p*gIVF;c+s7GF>aFQ^unR<<3-b1bWJcTa)7I-6yT-7 zE|IrV32;Cv0p1kv$SuIs>cgN%E&CMG;_J`GJsOO>9*ftPy>AZoihPo)_hG4ezbjtb z-MgZ-z(Q#+V5Eq*@iVkP-efkNUWKn<6=U(UouESy1Ichxf1?!3rzHRtsCrtZ`R=tb z{q`ztF1P9n?OLErd-P_kX>CRL&DYe9!Dg#>iL)7UP|HrAW7^9xf6A`KOfv5Sxr^m} zGZmNN#~c|991=#ty1L`vF-JkuUBM_}`XVFfSp}Ez&b5t+mp?}5I zLBhJ}O5n&jRxkKxg)A5hU60D8z;4(wEjP-cvsbfr|{feFo|t-pJs8wT79! z;&}}gSINfw8Nr@Br|8T%FcX2qUWddu=NNN{_myoJhsu~k@n~1lYfh>HK~HcYyRCpk zJadktt@@rh#~}dzZ_har=&$8`>qPDU4*h0i>TqELM52~GZFAv|y61g@QVag1|2!=~ z{a>9Hn4jf_(wf&u$%R8O|7OHJ<}@!CdgAVwza(&hz@(QG5h&;1A--U@4nvpqUx*>)M2W$1F+lvgqIXTbVSjUDL+O%ar;pHV;~p-W@ik zbsrJ^-{7GgD|H`;SIg4Aw0zawYUFU2><8fPn0pewQ$(QtUBDYYNMF^J?-cY*MNhOF zSm9bA8w2358ET(MYduodMYqNg8~M@&WS~22rdk+wFOf;$e4H~*_R+Jj?(JR>lOz6Q zYc)W7@G^5PTJ~tldpZc024JBtd9W|sR|b3d0vF+?U)pRFzRs8QCh#%qKzLGg@|%Ba z;qyd3Xr>caUp7dGk1y0Ajoq^IVYUyK^FiPL=Fa%?`QsIzP2+5vL2Ra8PKI#Qdy0b%M8FpXnYdR8>@ZfEr2`$;zSR_u! z(IeY@@r90Jz}RBso0$@>WBSeA6LbeUM%KT^EpR-iP;A+eJF#6pMXv z`QY$;H5BOlWgH`h+QW;90=H?Le-1KU;rf%ZY=29e<3V9 z7?5L=@M3un9}Y@|L61}z@Tg%DAGl7C$OppQe2CrwHY}r3bkieOx#Z9ITPj6u0&r62 z4v~jkyc>anNxVDUsvU9jZhruic*iqhKOS=r20Ry;#JgdsFzB8NgP+VhZW2C*)g_Lv zXZ0?j`51Y5c*eWeOTlR90F1mQWX8O$XGXu|Xgdc?F3FCr+l<9-q$h0;hSHJV!E^`< zGc%B}uUC+m)SzZZTG4@hNuZ&133W)vV%NFo=<;Ca2tQ|HXyMSQcY`)& zUeN+`SyrwLK0 z*A>B>(DzR$$}(g`Z#5En3oP7dXPRi%SnT;=2l?{5jPoSh2eJ_~b35!*5kQj~)%MZ8 z$SgzVgkyrC=fJ@hrt8$~(C4&A*r+GxLT?~bfK1OrgKa{eV2ye*Gj|(Vp>|#QJ||?Z z@&~iO!%ABVGRIxW4OVpZDFn3>0Ad_gzKsirWKCMA_6<>#c^3egg=&`&MOey=ExKjM zB#ABqbq`MzodhO|j=;F+wxKacbQu@MMOTWnBf2JLY|*taV~cJlGjY-7T_i=9P0^Ji zZ9YA3N@*GLj+8bc<49?TouQO6R-u?Jr6Oc7I4mgvb44|)MjWNf`&i?qX>9n9Fw$-u*B4s(i_i8H4TSzE8yB2DJ(QLne5ki#+MQWwVx z>k%}(hgViu5fX+lo?y)mN66O>PBR3 zuI@m3k6fjJ$XIQ0l?I{+8L5Y4WF7C=s<##yhmoNNU=p?gBJIOaWRx|geVA}RPIxd4 z`w;yYjGK(ignDyJp$Tbfquf&1hK#+Xkg*ou$Fa5)ijYp)Qo!bpGCpA!E=RGw(v9XQ*7%!K1QMNdGw^hzK(EhjW2fX9K59@j1{7|Pc% z@~%>qft%Gqq3-YrrOf;lC%?C1DBIT=NF07ej`3+#+-ec4;e$H_4%iWg5v$<`=;5JX zd13Y&yKp+&4*ykW2O@ zLEu(|L6LnCD7nVq#=Zz7^#O(`_C+8h9j3ptFTyOpXM?bE|M4Z5uf1`rHD7y3$K-4w z2BSC)KkDD@`C8`F_I#}qQlroj zaihgaZkQJ#V|%wcq;2oE7U?AKM!6??HwMRv-i_Pgws+gcMx}RaA(A(tZ+f>2Fn$V< zp?7OUdNR`VZbk5JO-PUHl@^SQM8>|ZMq=O~ZAgS(&b}lt(c3lRZlbrNU;YW+E)d-k z=OHKS^m>tR<1kW6ujf(bLKD~};#Ot}q{X5#+gCOcRO*1+Vi9O7cMDiyEB8*Me|hDW zoJmk_!v5RJZL+|_x5EIVKlJcT0&OFZceBd~lp3Y4 zQSgLry^^3ry&^D4uLuOcJf@AXy>W!viD$!vb$Z_NgOAY<{_REh!F%y@&`Y)-{PHu~ z4~oxI`9U8ntXekTLD{z4yJP_%%Ow$iu;PQiVNs=o-BV5K?0yzZ!2+DV&n&Sua z{)QoNo#_Wlk+z4xGNhA+fb?$vO+VN>l^;}GQJdojj{=wMYcKrZi!O1T35iNScyt1g zesH$S51xjC(hnZ$VkLpLAKVBgNlwxa?m))&gBiER{a_K&zla~KW25q1 zA+cXqf|m%~T&gOs;plr=2Q|3=c)ZOPe`SABHU6s~KG{4rUbX_6UUwqm#b4P%RaY=G zITC+mv++s?>-sm=mDRHKXzNwB*E?{{YjI7d|0+AEPxv0WHf`46CQsJCqFt5f2pnGD z_Bu)&krBS6?$|WY;gh7N1ib#^cbw-WTblyjs~NLqfiqvDR1g-YqTnso+7lH4%EG>|mH=vo2Bb_ZpoFc^1C)(@5e6AWC?oqKj8q0F zEBhi4)CMRs`yy;lRM!D#hiZv`rzmAt_qL=qoif{rbezh%cT6hH9s(!2DB{Xp*@P_P zIhPcDge{FK(W`*f4%96xZJ&M)pat)u=l*R1Ij_dCW#M!@W>BD;t@BsH@R-5EIOinH ze#~Gl5SWa%%Eop~XL=*kRUM-@p}(C>S9VCh42|TyC;L;9F|Nr?jqxr2LX3u5WyM*M zt1&k1i+juaKcIJvJob8B(zPs`pvXb=pQy-$#YMbB*4mRIE7}{AV6{HNPXWx>_;#wk zdWx#Ng1_-SRsG^BRe277<3pZ;s{!2^Ma#yv zyL{h=ScQuJd{9*;9*II9KCCK>v8*+*TE&EeZ&uaE)>-$jQT30Imbc$l^`5g;Wh?$B zws_!p2SyrdoprLRe22e@m_RI_uPUG6kLlgQA3=HiC6rg>JI=%(=2TMk3L? zr%e16NyDWwT!BN%ui|gw(Z<{mAlAj02;VdUGwuPS9AEGWv`#JS4nJ@#{wm4?r7pwD zrLKwzA!Dm+3{v&RKRdvf=qkstI{pfHiG*e+qsdFy?5WAk{^dtBtE*3{N)i4lu;in? zI2%Opy~j>(kD!0G>_ha#lPyzD_Pj!fq2!b~5f6+9LZ&Q;C?m7R?n^R85*i*Ep zFjLc>$B)BYu2kboXn3Bx?L47W4s>qND&dV_xRJvfe^9(CvhI!4J@?o57s z?)M#k?&EWw$MiUBv6oN_fE=cdo<8LOPk3aHF#1yWBYP5-@W>uvmM=xhcqkh8v-HB1 z6WT>Tg58*mZYz)5Kl(7zO-N51o*uZ;WlxSp*@^F_2PU~5w4@*>uFnXluf_c&+Z^|N z*YM-dd13OoYva;SaND|M$<~gFr%7&RO}y@>HpziLj!oX_!kqm~ys^76CQi5_VNbF% z@2jw=!Ij6gk8-1_g&djK-LrQo&!Q!6r%Pbst{j2!UAa8a?d;0cA!D!IY($!qGkN%C zCo}f0T;8Y1*t>G2%*1!)mLZEtsyxBbg0wX`O_u}YGoXEZ=RkYc+QAT#HK}*_wglL~ z8oWZ)2)m$}ELq+y`ZX9>#FnP?h#tBgdoV~tB|^QBZejW+H9g|i1%&#_#Ix0~M;W9% z5|n|kWM!a@pyY6Q3=2nKCBDSQNBnjYpPIJv5x>08%^@6K?lSJhD2x|ydLLbs6ivPFq2=w zZ{kCWQFG-@_~4woN$$#5KICmuGBBY@!uGOBZh2Hb-`j)bFVW=IU$jZd%YS(Z|Czj$ zO}_DSn>1=&hDc)6(mwFGOX8B3UmP61Ag&m4_LFr};9w=nlBLk}%5R2vN^t5dOF;ej zlEp0K<#ii=)v})REteTmlb#H$#Cx-oLzUe=9~!38+m}?ju==~Chep}xukdj}P9dDZ zXvT0)STBF5?4A_ERd!GDIKpo|hKs*`)eN?lLp5&4-?*{T`BAdw6y;F>zvYd|Mw82= z+EWy#bhQl1GV$#Ek@y=|9XQn$5YW$zo0=1O#I-`vi!h;f4qb?X%V@T1)ppr0!PT`O zGfr2#qd+tOzoLAB{Is0tIT$kqNWCnu_-aV0L6*T+{{^`Ul>9(F??T zhQiOfwo-_C=#N@7EMHP&RcEjZAVe4O`c$=7`n|9UJDI`DA|$hm zzH~9W2^ovofow9{y87bZam&&JBNAY?v*)K8lbk(0W|FgKpqUu?5ti)iUE+z}hL}C$ zE8@^w#_Xj?BWCx6zl_!pyZ^M;Vo+-mk1Wtp+VOT1I+R;A>ACQ)EfSRhf!={Qi+ZB; zxKjp)A4q_i(NmIsHR|R|>GgB2*OWhwRFuibBUIq))b;EQni9jF)?}=i$k&PLhi`F} z*$M&cEr2*>_%3X{-v_QToRjJ60kO*{8ei_9m4MaeTg(E}RAnaqjt^pq;sqp%YRwGD z(5}Ei740hgh#T<3PZm|ZuHrLm$S~%qdQ=sUVr{bVETp^OeJ;mgQIa1yswzk3fBpdm z;je0?hF17BBg$7^SKwDI>v$(V&ixHGvI_o#D(B(tXS)!y*%!T5)f?*m;Wrb2^3#IJ zMc-EQQx^>daTaSbyZE=76$rzO*q7{LbJy_qsd_N3a2YmGZmzwA3tV9p15n`IRmnIB zTv$i;tQ4S?fu7@J*Psx-y}eK<*W$10Vi6+UO~mICktykK`R~)e^S??zRE0}vj(jhd zG{3(I^34JB^S%bLS3$nL6Pe#t+dtes0hpVGkAa6+w3PL_YlE^`WEnE%Ey{BvZ}roD zzC4E~%JVA9^Lxni3~Ke2l&2?XS|@3{1+wh82=cs6gh=NO;&VOZDe3*@r_no^^=x{Z zkcrdV!dw3}dLci456h9?L`mbkyYc3M?qIfk{SJw$ze0{h2_maHUh5eik^q!n5RFVo zfL5KL^$3ql0GeM54HqZM;;)oNH`tI}G%B}H7L3xIu{9Y8sb#$(2U%c~2odL<b}^JODS$^rRw81uuNMhy@ck}OgzYB#B5=&0pt&)Orpog0Hk11ic77kX7uyDr8 zc+4z0RVlheI=O)JP%^hlw2KU#5id#L0ev;qILrm?2H=1a#sQ%KEu)kuzMUO$d~yD9+@nj&%_kF4*Cp$Wss4P(>+3vg%S_`_Nrzb|d=Guk&Sv zR-w5a$jJ4+i_uJmii}xZ(Wonq3UN-QmQ7qDI7eo2RMkp3SW+A z1Enj0N~q~mM1kn6YMQS&^gTMNLq>iCsB}Bj4H^5jsN0w}KO_?_ye_U&Tn<6)-r)w9 zO7l<;(PxBrgfXKZ-UPs5*;q48zs3zdwNa z!d$?)QB(D_4@oRK4!=zWE>3B@i8c(TGQnK0D5Q zbx+k>u2=UALm{;+_rZiu4a(8{mM_ioZV(%Y25&jbh1&+%#(?iE+#XMUGep(nzO>}k zncw>RF%UoB1zz0QAmX1V?u}7|?|1-Ibu2#o;)_1bH3Q5mssr7O+h|#>i>qclNASlK z=Lm*#R9Y9Sq+{=6b6nc)a|F@QQ`pO9`)T`|FZo3}@g=`>mq{=Al|b_)zn)nsRjxX% zqi0r180X*7_wU2ZoV~TnlWW)8knYnrDA%s}g=tdsGhe`Hoaq{hq#o@n0d{O(?U1PM zFi;{;gicYwgDscAe`!Q05h7w-?82_2MC3r%O1qT)0!aUM{8jhC*F(P46nzVRf?sJ$ z{UNG$@z(%cjUVkB07_K-obNT|1N_yOsd~01l#}sC_!~kfhvBR-;V1cpvIT#HA8cT! z8-Ijv3PbfGCj5-3P~O2G;af6=(kIJ=Uy?19FYpJrqJM`@i@rr?!&Lo1bh?-w4^=fB zf{rgKmP;yDeuq!a;IFia zv_oK(tABP?Kl=CKovsZB**)K&om~5vVD!*=*oYxnWm(ySkZ9(ja-V7^Hgu3;w1*5ls-a4ish^vuai?kHP6c-~LLEM>uxfH}L2~4LT zPD+6NctPCj>faW`H_ycdxo1I)pNCWOBnyHVfwY1nB&Hw^fFKHxqaYqmAZHJPD25;= zvl;|Z1VOAtS_+~AdfCB@6{;wDHJE=5ha3cP6NXrVAo_l9jfn4}zu&4Uc{nju|9vp} zJm@WD8iIHX>19YuLCkV7!V$!i37AVk+>^j`3Sxc&?8gh@O;`W6AdKhtRuFT*{EZ|F zf~Y}y2hye>4uc>v5cE+HuOyJO2SJoU5Jjv8L5zeTmLV+#(FcNPVa5@}tziDAv~du` zEomYi261w%mQAw-k*ujYFf#oU5|NW!}kU=$5Umwqc6{uF=g>*qt1rhI&7a85=t}6klg;-wK6d2J#Lg-GsE1_hMI1j=bMZV33semIT>S z-lrwNe!RSU0~!0W<=tkl<$X3}+(NP-?`25uMB0@1D9Aex!lS%DOCV;gS%*-l#&*Q%jg{((UG9<;h%4I1fR z*!1FXI+FGI?eVKWh^9n_DcK3Nu1M9C>;VX%q-WcVZxH?yu8qxYfnN*#s$4vgakhe!OHyrjTsjUQ2d8rAe|N*-MemyVsWNao<8j$WgM9 z1akHu*^?o>Wvm9tPK9J!kd~4?43bq4sl_E5Zi9~j;*XMD-yun|b+#zFX`wTpfOA9T z`tDlL=$KNn+C{l|`TbS+5jWsx6nd*4g%$jh+nO`V`lAt#I^&oN26({~x?qj^KWpKs zfq2}&__w}Ti$-d3(!{g`R*6h-$>AUt9f_~mwgPYal0garpYYPZ z$H$^4F@+6JgP84$6H!zz!av%yj$q`;_>qj91V%oO%uLMl>L+We#)LSx zvjv#~*2a0;iu!8Vx8N-s!G|Qm%Un20-W~_uE>B=%{Y3C~ZUQj7pVm%^OikqN3E=I3 zC*w3ayge(Cx057qKLR^j$lIw}R_Gh@wgnlq5;_R26d*%hhU&qL$-FZ~D~gP8wNKO0 z^J$S2iMcT03P638HZ0QLHQWfyxTuh^5T?B?c?qp}d-fy45EM9vSKLPyY+IO;% zP|F^~1c6&qHS5f67$?>+XVc%|HfQ=Z&jtojWY*OS|JH2(F((}Y?yv70ZC3vko@wx` zpS}t-)v^goEfzF+k9+ha5$7cw_aHFo70Bdi>Q4}{zK09LS@eJX6GWTtRFq&rrMXU1 zb4>iBEEfSi`B9d8pMhS>^;}0`Ucfzkq+0cv3KLB_0a6pqNnU*U&7S~Kv|J9YPW<7X ztz-6KwZM;CE$x~5hWGoiybDu<5K!)xC2;W@i;GixCUJ3U&$jy>7v*dC6F4_PGc{@I zizztwqM8Q=dJi<43~#^89In&yJtrM`bJ{?%n;SO{yUjZHSY1u)mRzS>Z+6s!;vK-B zLHs!oKWzY)7x7lh>e26g_^ZXkuUfJDJ{^Wy_KaI9!+XS38r$)(m+03;$CW99oq-Yy4 z;+@-NxQ$Uhxw}6%Ug9Bl3A2G}*X@@VxM*=2c-U3qxkWC%)3vE(z1rIC2acxYw60FL zx!|C#$zM^LY;^Rj1XGN|`0i@YtE*1}RIf7dQWRHUGloU~|G&B#M_?aL#o1FG%FWNV zISOeqrq#KdReZo6=sFn(TdQ z78H4EI}J3sN(`FkDq%M8Z`bWpFHEvz zBXzs|B)>J^*hd`t>6qImGyVpLa`TIkP6?B5X?~kAn2Lv8gX2+14j)Z)ZYO=cBqiVc zdmjiHzm`Dgg9S0qjgl^D zwmvBGO>+tAvc$Q)@2U&mD(jGKs>{o%$=;{bik6P&7#wvmCz9vcw+)ZFa3Yy#_K+4*)!gV%u4uE}j4_8ndPYjd>{G*F ziJNTGSh5Php~WxZuo=#w=oLn8;Nw>?eX=e-RKhnP1<|2>Nf@327zSr+ zUxb-&Kr&)J8;CO~Nb;=yuXt7=+p9;x#B$NHl{{gb!PbT|F>#)>(@2bPTByH?V{~3Et8aJF0&f=YOnR%#g)_UPN zfW=LDz;Fyr(ZmGQHTW}U9gdHNk>bhWlRK+ChApoR_{C}M?=&S4?P8l1%~lQ$=PYBKudtYi*l?TZ}hgr{g7 z9+jq`CXB*4_U%~miP)24 zDn_BkLzW4(p0aD5mZH{atc7}Wuyr6$t|Z9fPu4-?d4rQ=F>mm`AqzYK4Rf#gc_fD~ zE^;{V0T_eVQd~*N^uQVk_g?q79vGgk5b&K*ZIH1Vo(*veR@{ko9FY!|75tyUetSBFb5b{U6#M zPi;9Z$oAXV6>JVShpSxpQ>WKXnO!k^!NAH{v#STrnO!-sE;d_90@lokB?D*G%}EB%te=qtOacr< zsex71m4j=hr)ak}R-FQcIn!$^tCL$|;ei!Z6?OPG1v;|Uz|<{P%${AbAh|{22D}CX zzdha@I43r{B33;$MH3P!+^vnJK&f(CMGEp}R44NdLYX}3AsYwBxS)HQcx{8^#Daf9)U}h?4DpjdR1GB19NGet_=cHuRDyC1Lm7?kV{DJs? zPOPe8cIC8zm1OiBsiTu5fQmZ*_Xj37H?3mMv}9;aeXM?V3Y31hm*lq0I(4&V$10{w zuO2X`c1D#4KM4SSiZWwXRX%hQqilAJ39J~`)X%Jp)y|s9EZkDfkikr0&Dbi7B2of` zV$r$gzyqxNP{!IB71No6gRY!WXO);;F>`7)(*Z@Pomo{qpJ}|&2AVS`HVI>yd0-H$ zI7t?R4VXD==A@bR(`8$@W2zF1Ar7+8fHA4YFsLTmc?Y$uJ80TU0qM$FGiI2y0H@lS zvDvjV=hRltVGST(56Gl=>nK0Fdal)4&GcCnk|(G*y?RFNY}t+3inmT(#q2ruO{-@V ztEycv$!P;EgFVnWNi3extez7CvtqOCeAVoVsV1IyAL9IU75|dzM z_3YUul0b#rnm%jlpaQFyBU$LljOy65Syhs;c(ZK9?Aq8gmcpIc)pP2n%a(y7EY8e1 zK%rtv?eyB%0v5s6M8$MaJfnK1ECqo>{tK&T&$7C)cmc(mQL$i3^&|}6nYFSgs#;Xy z1uzb#=w?cN?Q}3(qQiQonj_|}m?`^25ow1e(bBOSxbx~cl@)bTj`m&NK)SNp)I=st zYsVX)(iEwcvHAeGauUogp@<4)FHBP_t7lYBv-xTjN0FM^=@z>ooyu9$r&m`>;vmAR z+BtR8D;7+eQeRVJN(9HvYwIReR8`4#kdw-1XDm*E8FOY;o>U$47KGJ1sdna6VgpiO z(<*G`LHH}j^rYIEHInN9K$B+FReUmOrgSB%$Yt*!jYU&G5aJF4$P&&oa7#8 zb4+`H=NF*6wKmgCJ`A9VCe!nx{A}w?+18iwwgz|z$16+qEPst2_KS0UF+E~TL(id2esRhCJU!bl zUI{cFN0isjkAbH<0*$(YG|=;lw*#9j{M_=m!;td0aZ#g`$M$4-M8pH49Bt<7kw!hu z9}?kwpN?YREGUOua>Rdht)I$1AD*{~H~iv$tx?|j*1q$=yiJ+`HS?;%`9azBu0_Q@ zUEHuI5pviG%C@7wL-@6NUQ2qX-F`=lr@ zP>b~rqJ6&J;veTQ$ZWj&SYS~&A_juLK{VX(YVOS6W{sr zktk>Tr@8d4aZ$_ySxuxw@&*lhaN)vy=v6Cp?RY(Vs~#B-&0SdT7oSO8yG0a2;!iEc z>(9y1)Wp8RcHUT!51sO~^U?yev);c8diFik(JxM2;Vp7`36`Fn zW9r#EfyP?O{KEN-(6jfYo?U3_*)ChpJZ#!%>e;!AIPM)`1jj?R4~dvx{BvGDRQ0dM zYCTfu*0SXb%Ryw0_(a$Cms<9?Tg!OobNkK~TgyBhuQavngGD%Np^FEX7{#)^=WM-s z$5gZLNTs+CW6DyqYIn^j};inw0h|0(oH(_<7wzr z`fxq#9$yHpT%r<7=t$GzX4ow8yjJWBi)VbzfDRTnEn1B#g}w;MdVGlisJKmAt!GbQ zm32!tL#TS={Gso-c7l73b zHL@qTr7&LW=@%b1z*+glMF6CWyOzfEK7KUmH@fNR2kS74k192g-JE9hSE8r?ku5Z# z6LC5!bX$|qL$;XJBzCAq4OkVycrY6AmLiO24}UL(V@^-IO3yIH>v`k#9RDUguUOBl z(bN4$=@~cbIRL|vWY+l6;gNdV$IthR7aN*!TdYwr(qC&RM|qM%^87y>0yBHZ`WFPxXtf4UKv)zxcb_s&~FqZ#xx=RH*lY0{O=uJOXU_ z-6X$wupuVyp|AFfv~qCbjHNInA@QYBu4jt*vGHWpz2G{KxJO;BcZRA>)7ze}XO`%} z^YuQmd_?P>O|IpMZ3=o6ZH-2K2-MN20aFW8aN==r0#U;g4aRnim)q1`zASL117x2r z<`??10c_HYLSGw5;2(=&{EjK6UceP8MwT8~sRt+EUbdLltmmwh#cvhmc4?_W*MkLy z$T6Dqj^{%r+2RJZMygn>#xHg)&NrKTPBm7a2t9*jGyURY)yStliYtAEvg|jDsg6-F zK3~sR3C(Yakx!qiv4Qn^_(mYIoQR7Pw#z<~XR28aWM#_`Ww<1E!Y1_4M)Z@R)OSnrfl;GY47Ho)7vC(2u~Wb351Eb4 zr?w7&7%5M$fZB*xKqc|JvVkUW>}oU$5iEzv=pitgBd{f~rGD{IFlHH3QX3R^EjIG} z;)5lPym=8Ul=d8qG#CT>`G#s_Arv)gv@8z3b{K7LtG?M z(?m<45LMfW2j&;+-Iwd#U=}j`BlMtg-c;Sc#;Tdn^gVlQ`hMxz(e!ew>F?*4>)qF& z>6qRTRw}6VYZq_3y&EfdA|vfRznIj@5!eHAI=)HQ{NfWOU$XTw1DxJ9x7F9)FZ$L% zdp?8@NvnstoY)L)?6euFs!g)!IYy(eJ@o3r`Gp898;W%U<9xqHzc|)vu@Pb&Q7p?g zX)#}W(F~Q%6@Mz!yUfws0awF6O%E@JA%MS=IFzG{8dxlmrX8R{Ajta<5kUhToM)GT z?>n2b1DG1vl;Du5%k`|Ox+eNILn}@$7QxME1pLsC(6xnl4Gnme%z+jU2Wl)1$d-w( zUz`(!7TJ7g+zlU^_rM3R@z`dw-M!-j9PV!UP-F68^AE70glwP%BpVCxW{pk%rA7&CL5^fZyi*vc*CBT4)XyxxGB+2qxxLHfRp zc9beP<68-_qT1Sk*|CtxVcrVs5gNph~!s>BZ&>t_ z9y-55z3s6Q^g0Y_N8L>_&AB95n*EOS{L55mkXXW2!(Bd{FhTC)f;-;nf;wgoJ{7r~H4L^e27~_HKmr@^K zaqgDl?JF)@NHcW((tKbfZGK)VDmtROd=u$oj3x_d_^Kxr$VnP~F$m3kj4%g%U8JJO zd$2$dVGH6x{Q`+^P7}~g7e@fwH*ga}|5ErVQgSFo9~OTs)^m+AJ-kMu@E{CXN4>qc z7ojA5iu7y;k&|d+lWr{biKl0>KlVc1Q6KM9I|Wzb$E!`u&BUL#Dkrdx7N#<88ucR_eK<%r=W< zo5e(-q#X5!7K)N)vu?18?-c?jMNQ3pPWjx~ClmAdw# z;}Dy*RxOu?zFR>LgWX9qFsqnGJQjfs@&0nmhqLN^eH_)E;z^4#5Yr~h8- z>xOCQHEI(Cnk`;ZV=~J8P+M(Jdi>(mh8l5|x*7$$`^En7)Usk z=HH)(k}DY9{s*zgLDxvGo=w|h3NZj7ZpR3K9l`MIrnkj}3)8+#<7mCDHa>#HVMt78 zq8Da2v$YddJyR=fBN+f5>cLtA%x8H20gMr7y-?kR&~aWP(%WIhX6jvPk!yCl^ZUdv4CC%a-O->U0;vGMHZ#Vq_ zaWz%~b3Q?-2&msB32KEEX03}C)SyUran{l%34b{d^EVe02Ah1%eAuwlpevZoW*!1e z-iM`itp?^Ywsxf2v`%FDkC}8ClLOsHfgpyb#Jqg?8d?ltQOn_Oaz8Q#;nxBi1XB_1{xB%Ud5~#fCbHTT=gb`toi4muT;AS;+eXuS#l-y}Cl9Px)u8oP0q!E+#cYSVL@*YA8jMX6 z{5EFk4)ih``m%~JAW__{e(}~~+8o)3hNEt>#0?F*Om&1pm?fYU&~W%!sTQUTI63yJ zMa)u*%`UB=$^^xI)AFT;Ucv>-T}xWYKE&*zS>AnHhqj+Nubf2yg<0&T4@E43@pXVd zMg_ncMu5D?5nG`CL;p-TlzN~X22W!(jY{Gj25g|&Q{UfckA*E53+<27GdY!kuFIi! zsc7{m|0XHoWFl?dZ*>t#)prvKd*dRq#!Y06O(YGcBr*mhrA8(YSw^^v$nxC~+4KWM zu7rLB#raDS5N}w@i8Aa=BC)1E{|1QtL5WIYS1q+n+qH3mSMQZ{e<>9%x1_ttBb@(& z21|M`TiPhzK%Cyg-=qhrSpBdDs}@7=;9Okh9m9;{-5SlUax|CkM$c_dc=eo-$MaLR zql?T3u&G(^l zFf}aRsyD-+>k*akj`$ev+P*cEs&75nJ$JiDrx>8 zQaaPOu|lAQ?vl-&WqQbKMOES&>P?_u>|@b6k_GSG+;$UO8o&9 zJ8ft@f(2b;wIut+C1#;BmtygW@$_b64J(~)=D%d#SYu9_JfS$|O9;h{ws&FsatY$^ zv#_H>*V`B{HEzEbFa`4u5z?IfT-9kRxG*yH!OLF zjzWzN;%tz_hF?&q;$YxQi)%RSAH<3i3bYq1w9R^lX-*k7_aW-Ud(9QsU~7!MH79i@ zamu%F%C&IHN>QwjIK2TD43h?!fn zV6Ti>cQ={%p+W0*G$g?csPe?E*y+nX&@Y}?A{oc9k@i83Q+Ti|mY5zaZiVge9&=}q zx3^aKIoixTte3uwEv(GxSZ&8fDpvlB^>nPS_+N%pv7{qM)J529;yAovsdk_ligS_8 z(l}_=jZ3Xi{AmTdhf)s#y?H4ODFgSL8nlB?3RREFk>}+fwKY#l&~t-YQ=jg7C_83la%WSSg3DU zEuK;f{ao6CO6y_+f-dU_ig~_78ZIu~?dh%==O)y(%*{0d1|}uaFm{XqWO$gglxQ0= zYJ#;`X>^mz9;UKi16yjgYR2nL2#NY)bNeGdBZwSv*Fr=Pw=R*3Usecftx@dG&zOr! zyPwN$mi@h4jrfR5gs&j7>wBKw6Xw37T%Yxe17w)c#BwrBaMnA-arsvCXUZ)_^oRSI z;_`Z|ti0KPLoguKTrZV=g-)!MC3v6%d)yPGG+uRNh1hZZLav`Nki*t?#&DcE!%nx% z!WWrY3KqNbdZFxV>mtS;5%HY53kCGd8|$%)j%|3$l+aVbEx)x`?(v=~HgRu2np-Rl z<%uCOq>SLSri@r}a4JSZdICYlh~oC8DD{Yfv@WjTiVPb29AOuX|CyQs7XI8xx3fko3PmtUXCMDV5Ho* z#=?DA;NV-vazKoHEZtASgruH)mpKtCM^v}aUEp{qTtvp( z8xR@afS{eD;tfQ`{XpSrZn{6yAVXkSreL9ju9;smbq%&s!s6S8&Bi;%z4E_}xR;3? z{>{G5I7G8rZ*vnA(TIU#D`l-WvFhC!qv=xI3;LVIU$NfXPd@~QKCrl)A^wgtUg`ck z@QKHAz$mdC1+ZTO^;23=GEL<3bX2PeyJG3;`a`g9GqN6A%L&^ynb^&rTT`!R9eP)N zNy1(3;b6lWHwP!xEX1j--|N}$aJ#w(MpgkQGH9T`1872t+pH3qI0(g!Ay9z@Ip}d4 z5yZJYSWh4=?!*bG0$787IC3Q(#j#IAtY3-^L#$(45)Jz=)HCj)bc#XNSu!Es$5|bm zn82ByO|qH4Hf%=|S=dT!6zw+axo@HANR9F4pY`B8;J6yweuFTz;D*Izdb{KFa0ylY zBaA)_wySW!C3rPzOxcBn@SxU5#g0H9Z1=r{4X5_wp)C2Z881Vz8OU5KTJ?6?X(|?s zx9ZtXLb~Y&);<5Rn7aa^Mbq--=35K4B$2-Z13hz*9$a#Yp1Dr%aVTIkq!DIVi~( z%$m;744m70VKEO4ioXejxm)!%%Yj}H*xkRlS==W!>4%jgX_dfMg;PTRo!=LHt>J0LE4QC>SpG)o4Fgz z+_Pq`S(Q^y-hax3+-%-|65>OnSl7a^=*RoFF5Ry2QAVF<96pTG!J#zcV%UUc97Grh zId#KURCky?Eu2((J4$2J4)Ket7bDnx1+0y3fw&iQynsplYvP-b==ET66-1jMF2xkk zv_x7DjxY{Kl>P&UVVW2&2OF$qYkdL6)p_py(EP;xPzb@^53OE~>O7r|!)7IVI~?uH z5Em}N{=ax16I???i^XMB$1SGbH*ur-4V;%64&@!n9eZ)r66|D4o5q1~sVVqu|2h|N ztqH`)_(*HivkdHbeT1W%^hiD&|HD}AVo!PiYtw9$V1U%h0fN)oVgE$3{*guUUxKT)&`S-s*t%+cdFq|p=-5;V zis*JRA6vFB>%j^=bH3gK+lS^5I8^T}kB^?S$k@fBIiKrTF*;*mITD-9t;LpxR&gLl zomh!;VNkYz;n-k&@xr4TD|8-j74419A_GehPw)`-R((6xCYtq8P5K~tMk%*k?}}qg zIAt#%G6)GA(}s)6#yq{1D>G8{Om8Ol>o9+N3EE; zfKV9{7>;DSx7 zb&qMa9yD|Js+-NlG!Griv6vQ3>m%vV@5OF7*5!?E^3=#G9rzOQ?O0pxjUjRYPtaix zJ;Gh{_Ii4mUN8ix!r>M8jmyl`5Wlg7D7?C)7z0pTr(r;7CH{~+Br`=~_n8@~orPs7 z6pY7h7Iq0|+;0bhA+Q7wFF?W4kPvg>O?XaNGx}imkGGR<)_AT)%tluty2}iVdM6x? z{D@C%;K_ylIOI~Svz=lv(K;=$Uqazrp3$V4n5(zJ!H$|nuJ?7ssGNqw*YY7Bw9!t~ z<$>i`oN3oZ_m9xqb%Yh>Q5Jr77W%TETW|aG)U`N~qD|dyyY3@38{BA0%}RwyHTMcr1QDEI{0_q}(`I3iEPN zBkyclT8=xt#0ISRwI6OAjHB6D`^KonIXJ(#9IINa_vT`AZuo+}3HeTVSjn_MpYj=y zmoVBbQ)9Nt6(ZJJiI}ewhH^f%CR@BKap)vgVQq{jh#zc2oc!Y9ldxhOk|DQWyskC+ zn_}`Yp8fQ;o`CroMA|te>`C0M+dJ;;h}wk{WN^chUFlE^G02?2-G%uG>F22t$W(kL z%f(DV;w*YilP$=(5G2|AwFq&!2*<9(@$vy19KA>(zE^=vyEKeQKOdebr;B+5F#zeh zybY1c5pSQgNg~^<+mpyRvS0|L_mwD?)5?o|Tnq-iVmsv36K!nHs*(A>&ydFB5-<|_ z{Ejt4-{4RM?sGpLZ1juw6&ek+jFRVyRxO7**Wayk5tZkq(!}*yh2~l0{y1&qF3?Uj zEv%>3ry$jzW}S)h+>vu1ocUyUTIho)Z^^`wEqM^Df5HGd4dxMrfTw{E2@|sc?v7Ui zAW^#+$B+hKNI%tpc+`BHE8AW0!jS5NsMExyi*N>0yzi@l0goXN!BKY1kGhF4obfX; zm>>+$8);=k&1x9rp5WA$SgUU!`To7ujQx-$JgW>|Jsv_xSb#H(f0=9UHMKZLKsYgq zVA+DrY=GJhMDTOw!eTvVqMSy3taCM2HhJDc9(2WHM)KJKvus$LhePmexui*akG&bH zZi^37u75A!0UC*6qa2OjFETgM-$twlWKm>GtkFgmB%XrxRf+7@5T?Xz@^Wkhvb|)TdW^TE-7YlDD%}slt`DFv^{Fle_ zMXPDmpP37Pxfxp)VD47fMO~QanEW7@(6J=q^m+N>e2Xz&LNu{CE#Dt%78k{0HXkgZ zfoj(R2yKmId>Rg8il;nCV@hHRst^il35v&%BH~pbjT(sP=kl4Xn}T4)r7l)b9yt7^ zH+fo(lkh4gPn_eUzHAxiQ#p_Maxr|QT!p?AJGM}1JU{_s%1QSVhBinwPm=9UrLks} zN~K|!wxEF;>?=VxfL6{fWH(@`5+sS!7vhnif|R5-OD^Mq8!pCC-KENz#$D`<&Oy@< z&2i(%)HVBTl%s2w7)|Y6htWXYdAz>iG<{yPZexal zNNbzTVC%gQ0>MpC&!*JsX`a-HYbQ;}U6Ps_$(u6~>p9FxrJWMzJ5rGWVTjM>nj$b2 zv`G$kTRC;C&ontC6JMxloC{ENlM8@e8j?@b{wO6)w!3)rOoXYVcsdWZ810^q=u_%y z21A^7u*wN$j#I}3Ggt00bIo{)YvWQ=pFY4Qz1P;6W7xKJrnc>wqYq#W4S@o!o#g|t z8cH8vnUnb8xw!V7(@-u>#i?@B1nx;*G=cegZ@+xxJc36iX^hT6$R82AFk^sqg#XzJ z2St@LhwXU_O~VDmY+DFP^%3i_1k6F?CYt8sIUV+I6}*Clu*m|`R>u*wbs!>MhHK{YO#ycYtJu(uT8PqAJ&_nBb59K}G_rW?itN1PZ-r4cC{ zAIz59@nuPsh*{jRO_IHqzdMs;`gX@8L5h3whY31DlTH*Yp1TLNE>6W1KO*kMTtgQR zEGb76o-Yc_AmOD2d+LXx!3lJ!E^LBN*s=+#%e@-Td0ZaD4_rO9C~l$>^@S8uUp6Oj zgm6b+WDF|(r8ETM0z76PN4l6ub3hD}2m);> zo67r;3>ubsXxbBV7z9cic^Rf~5rHiXV7yGyv<#aeRHWvGGJLZ`!Fbzo#dy`Ww5eMm zXC6vvX<;~inx(~bKc%U~Y!(|3wypJ!8LSC9#`JNBhGWLGrEvxJ+ER=eX<1g_)EO3E#(lB%WwC zxMqwX3TpI~jzz`2n*n)zEe-c2Qjgxoa5KjSqQ~uZ&e*^Vb#DeovTe5v0Yg!FFh|<< z_zDBr{1VqP#k&?AtKxKUvJl&I0PPwQSX;u7AStUPDeqdOJR~G331Nd=j(Z%7CvMAW z4NEJ;iCfNHQjuQ3^e;XymS^hiFbDe{KP3dgv>G7@oTqn90HNhGF<9mQ$KIKMS5;k$ zKe_v!%gwz>APHdxnZzm@L`CHp9BOTAP}@FR4Yp5PtI^gvLBdSHFgg-&o&pXPhv2N$ zfDZ> z0oPDao+6*BG@=KnB{e)>mvB{urzCis$lf=eXzH_ca8xWAtxbLopx+Uiw zvP)4pTCf4Cz8Sm_{rcup@diE4Gukdb{#~fm1WkZK#*!Kya_s}f!g3BSOUGMUlL1|O zbCPL)~5JtAV*d>kPOt63W3pSAS)jDJhZ?N5v2LE~Rz z3I}xeFnQs%X!9%eAD|ZQX4!OjpjEVB#eD3$G1f4-7$b|z@PG}!^F(Osig;6t6tD+= zCcg({skp)BI$iFQ|BXb)*yys7Qo`9+{nD!^3+ynPzY?*#f0uoVV0s zXb6)qn<>#m?ai7jY}VM@>vJnhL8clg)rI#KBR|y) zm26KbVL(R$2qhGBFLP0>SpQyM0qUf@gIkcGhF`Nx)g&=#I%ax)w0;<6^MLwVaw#OB zZ$){HwZHF^;+Fds~-V;O(#4W#T@aiZhYwCq@cH6^D&5o6kpc z5N1$KXA{`egChU(i`+HNC6ukb zSx3nsOKm{KzD;+jjm84L;-0G@?X1{xsPvu8>fl@4LfD@pr1%%Hx+#%(jSa8b&;Py@ zT#Ce^u0u2M=sM30`3X5uF3u^tW_}o*#Q8@tAI>|ZAnd|S7hxSzDC}|`NNLn?2R|tH zhurnQng#nC3e_$gt478Br9|d&l(Hi>@aYi2fVa;R_~k8NbHb|sMil)nFE50&DSHN@QhlDf%0%Jz<5`Vy4l6Kqvz`4 z>?)?pF^`Ppj=GuH0sVDVUJ1Vf{0}2*3DvJ?IGVJs;>bb;bXZEXLI-McoE|ME9j@A( zu0?~oh>q0N%%TL^FlSHmWdFU7>_7ICJrf7`#6{VecG?5{fWG9ooB39@8*k9I_dfF8d)#|3FzuH_ zh&g)SWSQqDvaJVzuG zH>P+@Xpn!tI^vzOVhafdBV6a_5kn!{-r+%}it;W$H{Vy5MrvwmkXwipo+Up)I$x4C z#}Cw&ta0)e@xy9-2YZ@ph#1a4Tt|FZDe^5R;u7lS{TzGW3&i*jV>`~FR%g#YIucSt zVIrrNDCyyeze+aauO7UYCxW=dY9GM?atN^~<{NotF?M)J-#ku2jl|u|$P*X_ntA^q zY|zXHX%@Eg$nBBkd|X-1fd^dRtlRi^b)}_UC$(^2E`CG(*-hBr8T8B)1@8 z;Qh;>XyrZ+P^)iCxldrmI|=C1&z+P87K!%jDBx0wFfFi)HC{0Z?68#cMLi}EA}PoX z?(``G-e!XK#Cu5qNI6J*r?p`SQWC?oDh;F`$vhN(k|?L4k=>Q~uFZw{HVD2DwN5ME za(tyo6EAU=`-cYLg~IEcM~PWj)=d*7XW7ie#NL;ZXqsSi?L;jI&2I#oP3+A>Dm>y^ zfdd6B~%BFFQjz4iToBu z0tuY2?=R0G#Hyjj+;CcH+^otg4#h+?2yD+~3JK*Jw*f3B2dP@1p>$+h;km^V5YNqZ zFVut6+S5^277s?mj zWgK{E0WTrK$ILXuv|q4eOU9Ll4>tSB{z>?E@LIPseV=xw`;{k~-!%y7eohiH`%hi3 zY@*E$HXF;)oGD+o&q+?sLdE0-%q_}0nc&PCHy2gZS!p`}9-KFP2x)2NONt@HNj!>} zUuzD<&{`+!S|`2_o4J&Ly>urAc9?XWJ^RA}xGX`J?K;;NylPsQVLK5OempswUrT__tl zcarjK9y+~x$`93(^tzYfY1Vb6Q9otOG~i!3n5qD`j;nQcA^yA|5*_UHh%R=z4$|$v za&isN^JFtnsF`=w#5&O}ZZYVtWe8$sJlP}?xlLUOG$-tQ{PiX&8cJ4=Q1{_rq@&f| z>u*kU+a3hS=M%_d-yYEAVpo&U3Ir1}txmdL7e^UHadW3D>|o^uf93bm^Je>x-d6F~4Y z*sgXsX129zwf@k*1LxT04>wGNIhymc%CJ6Wn-_@ICP7Mexo&*uU?|aN(}bh2(I1iA zO*)zRbWAm`SmQeQWvf$HMq zoL;_(ol{cXx>1Rb_PwAb8o&Cn|?K-cz0U0KpkSh6H|Q zT3wAm{C=)wP)UGsj$Lvl)2z$2(d9s{sMsabg&b4>w!CTw_+Cw{HRTO=srG~a=ibt- zPlF9CE0979_*2GE)gDv%_h+!VT$nH97CF5uoSsJr#r81c8l2wCUHaX;zvPTyc_AhU zDF+8^f=QSLOnz3kCrLWM5nn-$bk76C6Xk42<|+8iP68s_WoMR1>effOngD998)GZA zR8L5phbo~JIS(~DNs>fr5=hbGKuJ$ICYw4AMU2u9x|w#Vd~RlYm(LCN^EndW3S+CZ zM)nkvekAMZtaim_8E15`nSw-%AqvjycM5AB`xJ>Gm_kghW|FVWB$ZcRUdheNPiDcm zqVRBMX9{-XY_etGZvo9Vhzkz&19{}gsnd;H&N$$~uMZC=M^3#|oy`&wx`g9C+pd}! zyO}%3YN3gof30b>k3K!Of1W@GPnrA66)#VttK2>4a*26WrW-m0E_!u33 zEhVIfbHO%IVMCY=En1+%9CH9txwShEPbo3Jd#1iPh4jtjfzYlkX3ZH@zK`#0E*onD zx@(D>vhL<$OS}N0Z%|Z$8pl4|%DI5)Y@{rhRH`l&;-$Ji^}U3;>j6^E&zg)R705Yi z^*eSxn2t=xSwR=1`%eVa` z*z#5>NtbOYNhh)6ZvFP#3`K1{2T!tZeyA*isJX~cL<8q=pt+XYCzZ+*Y@BNoS!LGg zvNc<@S6f0x7ILB525;X|nYMQoD_b|S(Zwx4)KE{8db7cyN&GmB9u~r-IA)v&{z2st zYYK9)BeHjwGVB@XN6Nx3h0oc;SL&XIBnz`5fgDa(B(R;ilApF)&mDbu$@W7Xs?%N# zdU2A4CM+g}ciNz(vl3U4$D+M$vhq^$qW19I&|GL}wmxal^B}c~B5@SNYIIjh8CjYU zP^bq7Y*h-I9s+H3bAj87`V#1LdyrpHyY=2}*wy z7_JJb9rs1JOie!TIEJC;lhCnV5HDGyWUGxGohJF)Wn;}4a^u*l8%ty%r z&#K?@RW#?DGHE)8kcWE)F|XViHUdb`rrT8xepeCvcsiYUfnMfe{+$&G_0JFYXYZ-+ zFr1OE(J>S0C=Xi$6!8R>Gx+JhIIeusyqd_RQVl}ZNw~$WnPTV_OT<)TEfW`o<*Mjv z-XF^*(MnJXmkf$rpx60jx<_5j2h`N*L*a$zAUXvb*=>bXg_7;Zmn8r=z2}7UnD^^S zzHinf65IuEg=RM0fMks-%1XYSx5xIRdnZ9x&W=eFpW}+1Vf3Y-HXAJ!sR6Vfzx_tU z1sINgHi;oS>y57bl{{cR1~Oa-!JW33*}n{IQsP&UiSX%SlgVqv;<`Aq9IGe=SSTbb zI8&kMg-UFZ{COLjhK%%lWqByxY{S2^6n|GGc1c;uin_B-t#PMHh%)>xSBta@K8~&M1gM}|W$$3C45gFH+&j|>Zc~VF5oUZA z-P2S6RIveujzllNSB;gMil{wTs!B+;R{ZB6t6V2{p)LUW2o+K_bb&SRjg=r`xeOoV0_hKnS=p|Pfb%AKiUCL; zTLWW&mENcTm~mA<9)yn*Al#b{girh+q?GZ&Z!g7*)ol7O^}+^58pUir#csO!3L~s6 za@LqSu=)cQ&`5N5ThfFL2^dGVWTxmZtY;yBn3Z;CaHE$en;N#t9qMV6BS}Y{5YLhgl36Q+J;@t>3?>G7KQx~)RG>+daD(G+w zz7pqUY#7h;>7Xk;YvnwEG;Wf_QL$HR>g)239BOXA;7jm@hlxVAC>Mq++g}^U7uaMy z(*#!pcK+K?I>XZWxaB!ug8h7f=nmb+eDgIW#R_S13xXb_dV+3ZHF=q7H}PVfghSG% zX)bGNnwxYQKH7<5gmt>K&EG>|4lV9s@*+~Uh2kW)`j6g2qydHYd$oOKn+rI~=0MlL zp-=2m4@dSAk;n#O76vX`jd$hCL@o!x~9t|wgUaOAts z#wcx>ZZJOiyG#y2f77ib)U(;Gd50pLy-hkJXufm`B7}btm4S!zs}3zIKlL+Nb(j3oe|b&+2eF1g_6&6$jDtS*=8p6G7DH zv`Sst8l1Aq^A7hfYpu7e26tHtby-)SW{^;ez@0Y@pmANvDtl7y)UNXNNuk4nE;+l( z7u;1=>ngu6GRw!_EEjpREO%#lX;NqyrBAJ+jze#)pl{&jiXx~{&Z7dz_) ztn(`si=E6v?u2h7k(IQymwb{r%`%LP`a(WZ@&s zhBIw$(B%@&cm%}1wo(FJRb2dy{}t`^D?xiJEWHLEF4gD}i6xz$DLrxhPSD>dU0qpG zW?j&~O`&sI$|nK|Q=hGtXKuy3-x5{mhv$dDv*6j84LFJS{4dQ%$$|P~=Cc^f{jE8_ zB8rFZHxP{lea}qs((RSWqc6&(s;Ko}#A?F7g+i(;aMkp&zs-mfH2+&6^Or_ZQUMPm z2D<&Y#Co9pkcZgB!_MZhiAa`m+&09Dbczdg3hM<~A1k*rtQ#evlIC_A9pI=}iS7tL z)O!LCK>v#U$u*tnYhvRD0%Is%r-RI&N_5yzDYu(xPQg=m%j7Z}H4%8>3-Gr~>~{*? z670yb_YYQzFIo3KFm?v`+!Jz@ct$79K4;4~xGOBp3;IAE|Ng(Y4 ztNA>&WjB&K-=5av%}v4W)XSqjOf9P}#91#R@Mb-K&TktUOvP8w^ z#-i6d-J^YH3mq?`pjw?H@9Aq`;v}p+p`F#^k6A7B8$rDHqNUuye(G+@)?JnSt}L^n0t$q`I_9QWf)D-9 zKU~6TBe4T46AC=Jkq{Xol%F7&GvAzZih$kKT!C9P%k(Dxro>A3LsNo)I%I~7V0Nhg zBg6pxw{+j!GxTS)h+Ao_HZ)>(EL{{nk{k8$Fq9vTQ+c{N{ChsJA5!aESZCrQ489#g zv9Q0&59W|Ejcu!^1Zf~pj6h#spcq`DSp=NudHxVMu|56C+4+Ce+%b!WXA=8Xg5sWx zeLEDjKl@V~_*MfHY~S7FX7#2)Nk{s^nkS(`)`hbfG5Gh`ZQhmgn)MUQh*m-??n4QW z{4&pRse|uCGd8hlQlzj z|2L}f?50+rNOY`Cpt_H+^BP+bGVo><`+=u1X0E5HdU&XLeRP>AL_?Djy>u9$7&V|_ zLJ^9YOZe$f`NI2}1ej$mC8j}_vwyTmk#*c2-Ri&%I+#ZRByGxw*m(Z)u?2mknmSo_?oNkXG(3 zEz3!KTz~~hs6TkSj97jNl>^s;^oLM*JK5{xBiwoEL*;}{U#h_V5I=fHCo;kw_yC!Z zK48gYT|2VC%mQkg4#q}7?47w}Y>^=`ByzG)%^>W}EdCzE!*~Y9~9@(L6r3 zgv#SeLfl2VT&|#UyWtC5s8^98=j5HNL~(tV5PFVzWi&gJ6+iL6(<8i!_)vQ;72&Us zEi?HbIgV51eF8w`R8sXd4xIG{Xhz8&K)wX~@rr!&y>PRUy+V=wnZ)x6RbHI!A=`fyyy_`@$A}`YDVBl)|BxGE zTpyf+jU4L!`|0|>YFBJy@>&}EB}Fyev0p^ou>s*hRl=$DxH5?{^d_Malw7J|+K;M=X4&dT( z4;QNqX{@AOlu3nby(bh2mj=2pYlYrk3|CBYp2)G|+sT{_XO#7Sm|10NN5hx}39G}2(2k@0B-kS}+|KC~GdD(~P2nzt zGfn~KKHU4=BO`c%uOkzo1zvGcCU;0J8s_UWMgdtH;53(}X&?$ilD3s*n z&81*iju{oL2@Sysc*O*XB&83-$7I7KtE00|v+ezS)`WVAhMVS8QN%xPresQhIUf`e zdl0a6Hd7``!;cZNe_umZyO1a3G(t(Gaz&myfs1%&xCU?N=pVErNMbZB=Uj(8f@7k? zqeGOa$0M&D#pGr%`xc7R9Qg>2)BxGSAHr3(M0_f$L2%48Wgz(W!I0h|vVS-XieCzG z+ro{tPVa3K#9T(7kSZZ0{B&8SpP;!b{S9h#_`Ueq?B8`DzXY@^2gO2(A*@j>m9&X0 z_s|d8edwp2d=mXd+Z+8*M*^XnL_dp43=Uu)`taet9^4~fZUXnDn<(yI$$%h&xVPlJ zJ_8xHHQZOZxUcv2B8YoPChv1?B-faPl^W5l(Z= zEJTS1M7Wd^-Na}*3N0F6+ltlQeoZ`(Sq}m`MH9y45j3uP&X-=PDp|8>R$uZZ{ zQR9tF9}9(fX44yHzO!$XCLFNn{UVF_FQfxo8p%MY3Nym*;XnZZD?xuBO@KE8;=N&Pq9jDa^*f9B8lciNI|9{WX^6sjgH*dU?k@1I zcUM}x7yldJ9d02zyUp>A#nf`o_FUgVlHXR$bDhgPxrLK7e-=>*4&HYix_XzPDDFU>bwN+xaF1a zS2m>Km4XdrmXEbVWC)VoR%Mp0;-Gl*aIj+v4uo_z4+lg1QscYmHaW4|NcospFUG4+ z42r{SDN>5D!PGdNqfc@$tFh-H#C4+84F8zpbeipSmOmw&P5!jMPu1Ut@h5R-?(dP$ zX3sm6oY9jtO=Tg~~K&qFrt z96f;Pq?yV>{#zS~j=p7uOgBQOyPQ5x?sQC*ZLU6D7--I7r&IKA&K?_e42kL9n23Ck zbzLVPJPoUelQYcOBid2Neeb5t0h)|5x1Nsc`V?o6>-FhpDNpa?DYUknn5GcMuSFDX zp+LywMk_1^F#I51ynMVSc%rSHEAaF&p7!EtM~YuWkG1}hz<`$-&@o2tWdYqKk-6tE zQK|W0Jlva&ztMr&lIWWMpyMnC>hYX0(zQoA4)qMo-(dLfQDzUJ>q-W;2a)KA2h}^# zY0gm7zl@CAKb30a*j=dDLy({wDBK|!T|^z4A>1RMokp6j`F*L`m06zFHfe~o|6R}P zg+P#PPPOk}i#vD-5m3^VOWwaFPwHponH8ti>im~c3{SAyg!|PwfI}G_Va1 zBN1{TvC>gUXJ*#X)4bFR5R7qR}{qE(4@3jsiSs1Scah$=9B?e7Kro*#jK6eWg` zv|7j?)Y;+vGBW0Yco~&!%IV)N(7Ke%-9mHUQ4;+&S%IzkrcdSwDZ^>A&=; z@XK^hpR^gci%5=(o8^(vE^-}8!%LH^B}ZwQ?B!A7ld-v(;#je{cr z-q{fuBqEluL;0`R^pAyyx339@U~ALI5|~U&;NFtNb_sTg?!t5_e1ka#s{oQm*LjR4 z|83Kwr(oOP?Voy${FBhL5CMvBjKhM2vCh@Sb+j;(2z3`W<2s$4Xs3v1N&r;7)KK6Uc{_V>Ffz{VVw) zL78X^NCL0Ptmfi&Xr{9z7dhn@oL%yZO&-0Zo!CJr*idaQpa8I3i5n@trhe?e=6;f; zeMc{H3NGZs?-&Y-nJcN8#UC|X_g&3edMzCd`@dRh2%ae2rn$UUOZ4+KM6?1n_xG2C z#^PWns6@tNEUy|}B-=7O#;{K+YG~SNE~8gpH!cZ&zMO&G%!d-#`Bp`dWX;Zuqnmvt z9lXHG<+0k(ZUuZa%gh>$2`|%p7bW5Kacpk)S61;~;qrMz^@@k)(+o^_+Pr#QMpHNj zrK}n!M3F?B~T!_fWr_@UO7o&7(>}DPFc)(Z_g<$S_>1rGCh)BOst!S(FUu zA;n@H^8hUYWY51*S51zY3#Db54g|Mc8~RxR@5gD{(kKg@Lw)_-BW30zsu8ltizpeJ zXD%a6Li(J)h;J(h9N1h(w+q%=8>@=qlEW#6Jy-^>2;tPRqa|502We8Gq|xnq(^|4Z zs(b%4Rx*bQ4;5AN0`!k*U;cY18l@Mm5ZLA!F%?=Up+)JMXkTa7NNK#md|pwH(JF4v zixt^QA%SlWC>DaPc2I~ zPQr9@q;xwGA0OJX%!EH1SHzA^2UA5Eds*oXm^nSP2;mR4TPAhSN3d@C@HpDr;6(J` z@epAjglltLnX(6|F;*hyVrMqP99@P+JP4)5{0_@^1bdF^<%5cWqP=;NI3mP7^BK{T zaHhGD(4b7+*5sFpoaiuVXoMUJQ5>Rv_WY7av9yPlmWxa*zhO;9c;OdsVj=Xh@E-(_ zdg6iOf9Bs=`%IV!yw!~Y{_UrTjD>FOB66i%f&hlBchjBoZ7m%!O@uMT*OIe3Gk zf7Ijqs5FrmZt+lNd4=-UH^(QdOYg!q*q;6zVP;{lc`K?86G0Kuz9;fF$<+LK^Ov&6@M!vJG>Ct$}R7&93nJSI+v~eu*+;N zsNw8nd$W+JE)FN?eb+WxRsJH4R_Eh(ko$~pJQ8nox*tx(A-F3hw722}aSnI7|Jvy? z!|6JQdAgW8%ju__TPDZ%7&WlLCeby8uY4Gii>nLP%VO1jrn+~-cdSPuQr=`X+ah%> zK>{*TTBJJ8j%GDikJlrW>y7J38Q$74LVSd>z~RNPeia^Q^IoGr4O zmCn@NpZeCn7~mC~OnvrB;8`$a_8WQjTUT04futsfXKtmz)HxrJXH(O^_qseAZi9PL z-}}0i_b$ohy*cUUyuFoY_qOt^&i~A>^uEOd;#}?|!{4nnBym%ymAM?>Vr#YvY{3Wi zg`35pVBfHjBGtKsKp>H99LYh4DqAZ~B)-d*ixVl2oS9Qq6157l&Q5+_J@@7wKEFIVM*(R7cUXO)^8&Zw3k3aKUSP&KPA+!uPR)fndP=Gh#IX2Fi- zN6fb)#VHPgny6mJ-)<2t0)xuiT0=|8^wS)XkjFQMb`UQ^fL6b?Sh@_B_Xl%zg}Ub* zvmwI@ud8#AY`w&czbifVLf_ojFatSv4411F<@nUeVb*uwWUSOe| zF;N^e0;b^8TONfVa=2th@Kd&Vd3yo+&$L8RV*%YbAw8fobLDPbsE|I20dBjX^j~Qq zz1>3En1D36^H&I@BNlzCpx!o8E5L30-G4GIs7o!V&m}+&?*45qs20}CM`AhNE_hAP zCRSNs>n7mX4pOQJGfhTyW9gu7doi3N$*v-O-b+lHjJUnRYl0#7R{Y*)81IcjYNVSu@_gaLX9?g^f8ayzsPr;c@qc zyT`dN%*;lTPY4AmQqs!2H1gWpcBU6Iyz=ON(c^;rOyb2c#F^fu_#bU_bb!fRtRqC* zX=%h&jNnFofQTWpRNTQ4Qy{^hvT z*NVdnZ;gp@w6LC?3y->Zs+6 zbw+G-raBKrv5>ysQg*z(x$X?9i(F!r**l4bw8ji;IwEV5zjMqt*yM(x;LX4|BH#P6 zLzA5XMd8$HPZ3TSuSi=Nuj!Vr(E}vqJ=JMvjuf~H&2kD&GlLXxj}ki}m0a)UV!^!d zOitNiuJAI71UH8NL=94$LGtBUS;gjxNHy6fRkT^RMvJdcZ({#3gR1pV(3W*$0+ZS1 zX~MY*O+R$Y=LmTbx!`<*f$vjd>wyhLjHvZLG2-k@%!`_u7a-Srlo;pOK;*!a#gTFAnD2P0% zZ}=Yh{^`zRW+3-*q@T-|l)%L{nl`XgZ?jW{u|<-}xurdRO6c(;l>utER*xSXmIq)J z&oLX%aNGL?K)$j-(@stxTG^cV@70}1Zm|KjHPMS6?1%V?WEnva)IyD!S!7YT87NNv zF?d&w$NKtf3DGn|A$Wft3PP%sVrCorN>v<9DYWJz+s$`q$4%N;f=9x1~vB;l=pXd;*A#eOu{TyWLa3rhAe`zl_(^~xe zB5~Y8AhEUJl$k$DX3l};MjRvZ(<_<8CR_@8K130qaRA4XnFB++k|56=NYJ@R*ZM5> z^%OKz(-n35~cOIOfPP9y+7w-%C>OGJ#dUbGSEEcLbBLGB0qwqTeS>` zP$@RPP?@=TaDs?w z9_rnoJgz2Hhq-P_Ou;*T@Tssau$V8UsKvCg$PsB_c|bfyj{?gB6fRKMABu3v0(+JB zF}8hmWu1KN0aAHnPKNLhYA-n>XfW#`u4wz*OZja&aHfX6o{=M7Vm1v!}yOAbn^}`0@ zgQPT?`x)+vR=*>3^(q#BkpUJ!#!@zNHQyiR{A@p2mUJX(QfQth*h89jooRu5hI=g) z=*^mp?gVqFBV_i8Jk3Fy4fMd>kC(S=}v%0z8fG zI&AsN)OAP)nBB|`l|{*xMs-YpPH;M6ti~G#_U;?@julhYJO`(rcu+WTuZ$8HY_TBdlr8Cl7kUIl7)$@K7t{njF| ziXqa~iJ4ArluzerQme>X%kye=zDI@d-~NXRubkLbd8O{pgmv+=>%d->SML7IDSG=K zDk#d}8vn0l=4#S%724^i)hk>4IPA5v5>R%dd{UL{K#jnHtHhixDn8)ITvf`r>Q8U} z=5e6oZ8DwBH`18!JBmZ@$O`6lAjVm|IB$4Ux+n=kNC?C6ZnPFFXu4);HGc z_#Y(qS;n80%zX}we}(b6vBMl^osNIs8-HmF<3HqHVCQ1^j-^tVV{Wa)&0@{Zfr&r! z20rBuyvH{%CA0QbGMK~xBRy4cue2xf>saC`D434g(CDZZe-$Esd;TbKc8H8{LI>G9 zJ@Cm7nI=Mq9y`@^P6NTCM3luLjj81Nw%-Gv{`hiQsTc8Ix0+lNPQf^tc(W!#X*1Aq zxFe?$=i%%iXZQPYq#MW&E~^iGZw4K`BC)=K@4d_S`a`Cx;TCZKepDFTdNQme*kQgn zSKlO&ie+7dBUS)>11%`|LMU#YIgl?t z8LD@F6$uR>NJ7mYBnMU!pw1$;+`>Ol?t@1%OKlo_z8{ba$)V1PMQxXdd&_`^%4z0_ zt_iXXjJ~F)_)JMGe*O4TM3d`!(u$)h@ds%lnkO`ZP?6(H%=JB8iR~}`53YcqsN@zi zyHz{!+Yt9?l7bBLoD_dUEWB?rWp_;hMQCiL?BZeW zF~aG5DWL$Aqmw-J{n&~D+VJpN(kZ%p2Fc`+q=S#Kw{s-@p7?uIt^Jd-*M(d{v06N% zjWFqzYx(OmA~1R^nlI>njB?Mg?gxc+Es^MnzX+VKOJ|bn$lSpzy*fkp<(kP&N)~Id zx=1V2aA3V6!pM5({BKm zy@;LLlfXFXr3~1gvErl6`C60bj|9W~Tu#jV$$*O4S z4trghOBliq&tSw&h$fei%_Nx(*ZrT(bk9n$p4i-kOny3gLc>; zy?@(5?Id(KIY58ZPduYBPH$AA73i0q&uEb8su|qm2eh=GH_#%2vk` z??JD$7WW~?oJ4eb{2+UW19Cu-nnTX4d$4?m?r6CbXF+_C&dLJ*S^p$9LxennDO!^d+EA(c=IM}DLBVX(K=@!*nM*6VG> zpMeEaQNl)_1inU{AbagDAaXWecy;P~(pEP|9vtb1@-a^e`X&<-t-o2L=zcwcbqJ%g%}r8G1~$-|aMQZO8u;Qw z(Yj94|2@DhB?3}Kz~?A79Y9=TmhC%r?U*0icS>=yD(d!~3gBj1-2HsD6zQ8t^IEOT%{-FUv z9!d${j{mV@?(c;XraG>e8vx^60?D%p_QSbAQzrFB6jKnVfJjr!P)}2jYe(Dxu}11G zt6>h?;Mgh#3^q5m!v_SRHjG6Me2;{EY*$wx?2AojZdl9fm>b5GFgDwK%*N?`_aL3< z-5^VJUX5k`y&U)pq9mC%jiEcU@c;X=qfMio0cM=k$m1wfl)E4mJ6(5&BT8)R3a9fa zPRHFj`dQcr@H&nX_YrT_>zh)EF6GUW-8Z9soX&fCukNI;;__IV9c>(qMRSy9E`OCR z-0W|d1#0+#;PsXu3f_~(r zb1bm#q1ZX=Yi9<&XhL6_WP-OZWEFLi8JsfY_psz6YHC5s5k<hIa11?}_) zvtn#5@s#c_wvxzSQ-py*=(}!wUFxGpxsJW~y1)9*@zdUcKMyBm_^;;k)95BXU>fG2 zVkEXI^Lz%;KHMLA+dbllr8aQi{S{i0_J2Qv5U-hBYsbx{w6Gmj<=%OOWLr-#8TNRB z>r*_z;xKN}6O8mmDD-XtzY<)%z$55jKY4uFvEMAsi#}d z@W+{3<{9=T5e;?=eZv9v#% zB>`9devZH8gorXEf4?vuKh>+40&bX0V`j689uAozmIpTF9M33wPRu7lu{&m1gR>8A zVKEVl^oUOSrym_A3faU7jIj#VANS;KkZY*Ija!zgBG}O?qMthjSMVoIrr5bi8krPH8!Ju@`aKS&M{eqnmO$^l(h zDfRuc%zDx*{s84J9?P94T1|%e7AG)UGBuOaZ`UfHCc>o%?()(&G4*Df|HiB^LRVh_ z%_t~MxZzw3*pU01B*mqi==fv7XGmG~{+ z{D8Mg6vKDNHn`U#nO-zou$mzXqSXvFaY^q)o;14?#Ut2Apoc_9y-H*iNAw2K;3Pcc zh6pn8-6N}n5j~SrI*q-OE$vGfFJOen+Ja%F@p(`0)qSDm=bu3YtA$ZF>zKD~ zj|B;zw6jQ%mI;55x{);nRFvos8C_hVyvuw=r4)YXZdM}s$O10Ge-VjZCZTy6s2f{tUU?(6*ybRClNn61|^0T>#>)`~zSUDaV zx}55HoUNxYlF73rl;b-A=2%C8GLGnd){TB4?LgxKDkD#~j<1KP&%#JTs3s@shy{SS z)B|E;3J}9K4+!(TBX|_UTl^#e!JOPi2vl zodB_4!VuQ|8fDECE7k{-9xK=RuyR}*VOl`L;5_Od%QxS_1}nQGVC9)}$d>G3zQCz3 z&wd1aW=$%>O4|tB?Ep78hULVT~MdKS& z`LRsZ8_!bH61U&$~bPW1C(Zu&)mFO}7f{nwl z?`Ppeu-;CFAI?oWc0usif3nKam#Ju424(a3x+qG&2gxoJ9Y}mAifHs4Z7PtkrN>aT zhL%L2OFl={+Y_9h!TqH4mgyAQUo(#`7*m6p9WkwYH4;QevsC<+*HqT>BQx~Hnk%7u zJE>YO77fDXLOXfJ{;Ey5&=A1Vd(Z?DGp8L7r-k<-1nI7^*2(rNr8jp&l(=V1QE2y0 zPS%`g1rCtoX(onoiT^|9*}cr^%gv1v*SnNyb~g8kLigQh^`pz0<<~CeRip)0{psii z{y0CYI5HEe?oQwwMk|u~iv^8y;%rPHJ-${$Le^y@VoP{QviAAHx^lTYq0P&)m}2c{ zw`%Tn|W}mezb_dvz*7h*N@&z-9CN7QW zVK(E!j|f9;)M%`K#QcFWk1*O7#qYWh9SO<1h!~bQHRz#=W4Q{n9QhI0&)k9XJCWP= z_rrX@+X;|^_ZHSu5^XYjmzk1k{ogvXcd03n|E1w&9rM3$nRuCRbMVAU?9tB?LTljR zOHjCaEgtr(+!UptVVU(>o?{_g78fsfCoSWLHAv_NTi8Wr&qZj&;EvO9>J z$vRYh2@RE@gEyIvS;Ekk(^3_Rn~0gQxp*mbPPTN5Y1H;o~%M)$Tao{}=}l8($fhvz%m=l@7~{_W#pS?~?$7GEMF*8qxuN=x)qR;8_tm?EX&v z3a8T!PQGt`|3Y5_YrV;Q&kGIi=;XTEY9Idys#-doV}IlxnM~9ZEM|R1y^|X{sK5iD zR{(QOSb~I!FCYN256pWN^0lyr1$ZvI3Cj&kF3noH5(8H-nwje;cyy9eu$yJgfpHSG z-798LHNCkBY{!Vr-T(QdCXXd1Dhpw9{(v~-KF%OYQ;5r>D`7o0z+nbzguwOjcnjC% zp`tY3n+|W_d#7p%1YL`Kk0y`8l5a6&^0@{WF1KTfoG!zdb6>;|Ywlf5KztwKwywi~ zF4DqICA3@ZXqJSFXihAjKhive4xAf5P*HO(DY2cH{`C+IOf@?^u=csYvQz8`XAhE$ z@w%D!iOK*AQkVg2*{c(4Z0hj^A;ht!NwstVE8@Qb0h@I#Nrk!b(VDVsQL>jgZ!#H+ zqL{qK?a+r6{F8c0dmZW&4rf>n{XT8NLnHPV$#lMqT0k=TJ+3kPx4hMtX{_eNERm`* znFx?j)H@#T6pmQ#6IH;+do-b9{b;!fhRkir~L2v-`y43#Q)yx z6!P!3{cp#;oWeOy?ig^0*r?ru0!X#&@l4@pIJ&3`Jn2$?bmmbZcE@Iq{lKvX4>eRLU* zjkRwrMZ>di32W(S24O22F~=n|vMa0v^s=RRkMLe1k|hn{tpuvBvHua(pU143&)MNH{oIpW?sh8q+&<>x33PcQ@_e6CXYW#k z_p=lk-%;XBfP0!Qr^(TDXPJN)HH*Mf4*Iub>Ew;Wp9LOHw6F%y@rG4w$tc+E~E_$xF+DJAo3-LuQF#o0ZxHe!T8K<#S=HYGNyye%8G zTya$!^Ry1Q)q?R=W~CD?;vb0q%0MonOq}fh8|~aE_qDji1*wZB(%(v_Sm&aj8fBVa z$YbzK_H;`mX2C_z+5*BN`zAin7NeT?E%Pdi&Ld|uM|j$L`gu3%{>UIn778&1t6@k-$W6Qt|g#lQc@pkQuXBu za&1_V`D%QL$;Gzt^rR+vf`Z?VWQ}nFN2=X(}BV#VWzkz7Rg*XXAQX%~&ZBXzMV_Dd@)OwRcM7-n< z<}FNUowxuQ)u^Zoj>lx`WDumKcxQlm+JfFAkJXCVTny3+MWneUT0Cp;b~ z=Xt$iy3l+f_mY`Y*&woHzBD4vQ=|EY%qn2-C#+k{D-&JW=?YUG?gy2=fa5mT+z`f6 zC76&bHqnMxqS)62TD<(=cbK2hV3=8SW7JHYEZ`8lnVy+PR=<;!# zEPFf48L_u>jsJEQ+VI`ZQl-5aUoXln?CeS_X;91sA}H>?2^81+P%J3QHP0WfDBel`pfH#$reivJ{Tu~i z|7`-qs}_i!0>l^vfl80fMcIoKgyCSc96cu5N8D!3v2_KbdWxZ}H~-%sQ!!p+wIDq( zIdnKh$Rrd5Q>g@`vSVToq$b)LxP@K{bHTACQ(+&SOnzucrc-DmNfu2GovLQA{m`)> zug|gg2_OE%Wzeu3$dZ&`mVx2ndK^6cqutXiL{!4O*a1#%G@;^k4ybtVW?*Bzd@=%& zWJjYEcE;9y`Q&Q))mF=Y1@843HK>zL;gPO<3yJuJ!lafcoG0I`#K@Q{GGdz)MaB{^ zm{1g3nOhL>WkT4LwZr9vrmR9JG`113F=K}?mZ%?)vt2ZMf@bO)!b3hw`r(tq#B_EJ zyCWZz7s1MBM+evW1jil)8YtBJ~W%Ka|NVbYZ1He@! zLAltkWL|+VDmtem%?j6TB$Sh2PucUaNEKZ8fhF4S>?_|<%1X@bj!MP_h=RMxQF;L& z`=az)GOJdxEQdR%jXJI}YIIyTJQW=`pz<&+)O9UPJvY9;K1ph|5{KcK$JuV7|2mve zdy(Zaf>BAO_F0f9OnM<7uu81WW#O$zwZ2H~Db43P{*gCnQ6ft0{+=%3Q(`$GetKSj zI?;Kq>VW95suhZshmv%FXnCcrYI%0akF~U96nX*7-XoeBA?u8o>qv)|g}%W;ha3$l z`0o*`!UtC?T3xM-OT3?0@*6C<>mRLFx4$04&C=>D?Ro_w6LxMDa%%}J7EE7*wj}%W zCGwDN#hX?arL~w(T}(T}Omp0$Jx`>=2 z>LP%qs*CTmtS*X0(5j0P(A*|$)F*@u-K(O8RgBOYi(A(k zt)Ie@-)E-8JRdG$i!42ep-{MIiyJBifwpfyRfkiy{{Xgs1zSS)Sx^aekNrgVgRc#k@$Ma~$s=taZ`GBq|y|&9(pSJ6| zmc7-Htl(X!Ry3=gkbZr#GR#PwUI{`ibIZ;{tf=vvqe(UVLmU*0uSs2`r{5zJygZ2# zRNlZcr_;N3UaEfany!&4lWP<`w+Stm#YV2NiZjO}gogb5q=eLyMuo0p+8q3;q!i~W zy8y6LX=n++(S2|S_l(T+{vba=Rp*a0_?K)(^<<19v1T^^gbsa-B7G&5EByz`)1jGS zmx$R@O(o_UIyLgQSv`?d0rX`1$`aR>;d=!R^9=TjzQa_nE_HUX-qdRtDVNT-h-UJ! zCFpQM7gqf7>EXK^qw^!eAGpOjx2l*p4J?pfx@D8yTTxEkAi_bhswJh+4BQmRUm}7g zipP0o8oA_ssyTtJ0THyNVLHg1M*+{zuxYS%&TN%oR0e)4p@h9{!Sm!ZpdH4o)U zC1KQf&Ki+^#7$l`TR)W!;i4wa!)n3L)~F%zzj0;Az96j`qqrn2Qp(jA@lakHY*O^rR( z4@6giAzCi|_BLI$vvrmkRwH>M)ja7)B^L6ax-euJtt)oN5Ba2&XInU_mdUYyyqsAx z!pWM?cd|$w^gdI@tN+E-B$<4oSuf>#r}BZt^jVO(_HaMYLwrxu2{Mj;>imXyy`ti9 zN6`@;tZV|lpP406ZR=~i4KolIqmk<*#-b{GntXUCeuy3rF-O&zUCPZ-wGzO!D_Z&Q zYo$`)VD6*elt{`;A4&2fRimfrQzVyb0ikE~_>1=U|38O}6yq3`t_XWpW))aR|MIaho-lKWCeEw2IqbS&Vznlhx zS2@`Sfipasy8hRwPid~7OstuFR##xgvMg^6{6kKG5g*vU@lvF^E(@uV;3al-t^6T2 zYW8Iv$#%J-p0vOLILej!)DH8mrZ=@a)gUvB1}h?ag9>^UxX#hWmAJJffaC3 z5|9L+I-JOCI93nm*U%L_j3YJ^o43m~tbroQG&n%_PA-C-ln5Y#x>99D*NTT19%Al< zIGV8#B+(QeA~G;&By@^DPvDbeT#Ogjgc|dWmdynaXm@R4@hzQ{lRpm)Rt` z=o%XLc?_j-3m6LV1Y62c8nz}!q0Qa@L5@OMCE+MF*5DD~D0kr;aAMO{{CNY@V*isDz>P|Tiw$%jrwPV55(vMPI9 z%4j{E9@G}}WVBw*V2E};?64yc2u4+@m^LNTmD2(vDbUwBX5;_Ah|>&)`Yq+v?*E5- z$;COhTv{9wheE2LVEkOkMv)(AbyB9{<~t*a&EO!@;e;!A8}&NrC9A!8k{jkdz!?zO zm0N6Pw|So&4R2R=@neL1gaI*HP)0kGh&;pHm*7%pq{WIMAAB?(tw_ow8chC$RD~{g^5Y|H zNJ0VG82+*I=vLQ98aH-Xu3n5ECLqbbL?*~ya{oLfj-I=bW(!1UUl=F#+LUptQ_Fz> zlydE}@I;)xvxF#>kXfB=<`O+wfRSbiB9z>WXOAhO42%tds!b%5RH>snPjX1I%nYt4 zzGf~Qi`;QHLbz*GvW6fDI@AecMSNy1HB0Pg#D$nchM0i#9oc7tnQ1W{{oFjXrRBx$ zPsKXIS1++SMp@r2Ju?mfct?F}+HBEg`7P zBOFvIVuaoK8U!ie#2U(6a&n`IFQh?53hj^|2ko?m8EdAlO_Y~Q#Z0-AyGquONRRS` zwk0tG;b0tvbhsYW9j&y3CIw>V;vy#PNdh5#h(QWtQntC=zP30MN%hN#%0QSn=&a0LwkM zY_tT<2+7K#5+OzDP8b)KIa!w+K$Kv{G_rpKq`DD0qbj5h_nY9Z!Q!rjBS)I(&Fuw8 ze74~X$W}kgK`%5Pk#wNHKb8Q;7DsN0!l2YGMPyR|k*PdMXh;xQuO~2xNbgJuHTw`r zl~x?5%WPPc_zP^=EN$>4Cw>|lW{!CxhxYVB~#PwK5FOQ2rZ(_JCq(vf`N_Q)bVSHb(g`qwUCvMF>yUe zOKsHug>mW{n;itxH>Ys_r7riMG1_ACFCM37m5-06g1R74HX+BnKs8eOM2{{tFXL}Y z;qA)8@5h^?SSANZxcs--VDoJ%rRywMy8L`_sa_M+DIDbuy(ShBI_pi~UK7(&=Tr_c zi$2Si2bSC9xKwPD0**2KTBmy@`A|D{ip0z8?V5gE^gyTkz6|^s1KphR)PXEeFP&o9 zzG|ln8G!DU64<{I!;VJ7w;(+S;wguP=OQRD*Jg`s6u_nR0<=UiNF!-^q#hZ+ zC?ZBf^F%yIIGfEFeWzcAv;`q2~jj0QuTG%G@v2uf30lQlPq) z0z7t)F{U=0A(x@vj+7%U4z&|Gzgvp8^5u-okQQ9;mJ)UN5ly9XUH?$aFZl)i4ZM*T z8|37=d9N+MmF`m~St9J_pYbJpJ2@0Kj*SrbHQ+h$+)n{8m~b9U4}MT?p=@lzOdW84$f6^P_5>(O!xx2{Kfo9>1Fc$;p&P^4e*_Ed_b z*dC+-Ey(4MR`_a@`V9Q$Me$AnzN{nVzpfhH3|&I+C_&g35MdHJG&?s8F@TM;6N>BX z1Jnxr1$c+qpvWJH-W9s?UtsRh*o2D2(P&YZ)~~?%S%`PY9g$$Oxb9XQgVNL94!XgfV&RTDVZ|<9v=UUFv;F$vufg5h^_8M^$b$P6SkL zSJxJC*UH`rU0bDyWk`$#@`;8sy!Baadh1}R<4H323kmQAQC9r+A&U06{(EY(rAZc` zm=ZiC1umN%a1pz=DW$ro*hP{kB`Nx}honfE%33ZLuCh3a_&GOHmWUI!xal7LCsZCG za-`c4M zYw1R|tvp2gI-TMaXLhXzEy8w&A2x&*C$?5Wo4HN>LT3nYHJ)E+KR*mB=(gi|(CXT4 zJNyug9yjZ#RH7!&4t@}5v_X)Y^-Ik8X}I#vd_8;L{j_-cxor5g9?b=ye8mT4-M;~p@1%wD zdT6eTOLHI5MDHhb2`et|@Mtc8%LPE0hrc&=oNoHNS=JFBJRCnK%x%F)>+oHhZYe*3 zJ6G3qciJ_5@5B7X>A>B7&UiW>#7*2i>;c5jC*Ip5k56$${-opqkh`S=auGnrXx@TI zwsfM@dB@H2peZ5xuasV;za|(n9vYG#neN2S*MASDxng7nfdemZ_Z3BJ2*xn$MnS)1 zqLBQnsISjRx2zku-M#DJL-%$MQv7zi4iw6}sD`K4!NGoJ{D}rJPuFufe;eKh2Rl2) zDYxm~2LTYi0EFId)XUZJGKqN!A1q4*pSEc7D5rPyL{FNQNYon6HN7Pgci0xZ7uKkz7 zxX$-Fn;z$f`Cke~bnszL-noPk#zV*FTboz9QF~CI!jAguHW+oRAFdoh<=KjxDQ+Ck zwg{0qRs@r4*i9AL{{sQ7$A9u&C~zan!V&IigNdLK37AE zy}R$X{y|-I5cy$p@zYd6gz59V*yAHo7#777^^jcTakSs1*g#%$S>An#0se1ICpfc9 z%zQ}VQa3Yg9GQNmn$)sfFFx~kTX!&}n9|O?958ZY2Uy?ProY+JG%2eoYIQYj{$}gb zqU+aYQxUZNr7-^?6k+m?KnUB=(t&Gb>yAm#OpGQu?uCvxBta`{L` zTc1fwK&Mxf@{*{4gUuX?~ztuk~j1sEy9Kn zB68NLHBQHIPT~Bs!apOR^jxBGBtrD52~9liXP%xI?M=%sacb0u_ZIi-3ncMNoX{yH z4CrX4QW;08gyia% zGC(;;`A4(qHE|FQy zH#CzIK&C@E0tkOQS;Nuyr{z?Ik1{`uOgB-3Z=xCQM9W+d>f9Cax3k}20LlE6|3#oV z$~=)4tk-?B{XoM%0c%sUu}qy!`%ecJxmlmk5t0x$HC>iNaqvmFD^$i>;SrDt5dEk4^po|SlW z?i84_cc!y<#Et4`5qQd?r^26{ukG;vZ-8-=I8N+aaBmdHiG2&=OL1J|;lBj}*-AM6 z3E&fqz|i2G&`F*v!AL!82q)MikrEMgwWl)_v?5T_rl3=Ph-;zQ~N zi$Bf2Y{paNVw11?H{=}N?MKTmA~@bB8GM+zlu~0zf4LC~8aRbVZ3>h$bLBACdpg%; ziMgm^ym@n74P3or6)IdcabH^rua?l$T7pnZLCGL2l)bkyDA>^i9ZyqGZ4i0Or9TOQB!H*_i1jWI+mAj}+4yKol-R^e zNq7_Dd;wRL{(LD41WL^cs?!CPDd~oGWDyz|iD2&&W#}H3x-CB}J}@qG!Fax{U~CXD z-rEXb6nUJ(C5wj5Aqx<=HTXs<42_#Z6`S+uV(A22WvbNtbTj!~BDX9XCpE%FZn4h%fU4`tE6MfvFCP!sl=ZBqXS^rB zctcXwBjwPPiP2R7aFVN9&o$z`YgZ-JD*daXZqC+P)>Ky*wDtebs*KiZ5`feu6o{^( zve$-;jNYyV5LXKh&A23ed4))~gVPbtub(7CC_ZSXHn zUf7O{TkIJbzs3Y7$V=Lr1^d?CJixrhB|tNs0Vhh;{xA8JZi_bE`g zm5lpf^zzA735`HjhdL-Y&Uw0{<4vmEQjBq5D()lzEbRMI=9qyM!l|O!Kww+TfuqmEw=xs{lW^PJ(U{g|OgSTzo zrdauEvo>W@zOl{Pn3k`O9nFVah#k#yl(D4KW?I*y-Wut6d`*JIOKX(2>q68q+`hNQ zVa;w0VTE%?H8i^|Bni(?@te3VHig*E7$C9S-RkVHAKd3a1>*sSgj)CZqRjaa;m%yk zNd$W=pZcl)jx2xg2917<&+MwG=7a9 zy#^*NcU7lgy?i0ywcX0!V?g%}5nG4e&(TFt-7n1dX)> zW}E3$M3K#<(?;LUd-~PC0YYzv=g`ACOHldLB*}>4&c7!VEnDt%{x9c%C}pP~pH%DY zK$?`4R$D@sN%|K(6sn;CH4r^bF6k*MfBmsq;)>cdTc#*Yi<00?7az`rB_|& zU0t`UNp~P2!65L;*gzA*7;c_@DT~Y`(7`kWkVJ{_!TLOF_a)U;m0Ehq0vgnrS5a~K zygKT{6_+sz%7~iR9Y!J}Zu1&PnGY`DIF62NqNphE_kYf_-uv98x~r-aiA%cfea=14 zS^npL{_F4mvHM^q@4BDDBOnM+BCz*;R97P5=FjKnj~!5C{T){m9qv+?tbH`38l zrFyu$2Qc^lBanLE%CMQ&$L24ii19bvOvy*S;Njm<{^^=?3s)t;72#V&)IHSuX5~`5 zs`v4GwlMVpB6igw!VM37`NB2&9{8?ez9Y9R1vJ!)TI@x^Ve#1zLV9tQbnXR zed@d4QDb$cj;KFrL~3=WcF{Gd>cnE_;>1S9iG6VXB~OzhOH}OVe$m3eng2Ij(C?*m zw>r77^IyFmKCX`Lqw}wP8i!X39e+NY`B%XlEROIaT}N1*x<`vsH~*3Y!{<&;_k+Fn ziOKQMx6G%Y(S5Hvf`n##-~H6qkfRPjq+I))bUDY>Nf-1xj`~9!(gzx6lyuDRQfG9j zc}CyVI-}B0bw=eaNGXS2HuD(`<%}AQGkWz1@lYozh6LP53r$^{%9Vl{qfUh;Pj_udIpyrTEcy0QB9(>?a~Pw%<& zASDQX7-ZdW;aKnQ0E3l4+P@=__Kw~M7PwC?@9WwS3yfoUWH%B;rP9qh#{4j8Ku3E& z%BvUPd%w|JdKvxxI6o4|^Hm!UY7_am8LIfX z$q$DYhAlgI2QT}^O{RU-TX-=q{N$78lLCgTW4)wm`xmgyy`vzYpP0W!D7mBA!wW3B z+=8E+dmOCj=(+&m4jnHkI#y|r%Y1QML;wE@1vSL(df{b{)H=WUsYTlIPWS8*k4m656Q0*^PanAh7;d$?XTruxiD2zj0Tm$HdXY}3$j<)R3C5C<(n(7!@pKuVi z<`0j#As;w+H;eT4f{*^~9wJl>9oSJadsGPl-*#r{WiJDjpm$#Oja~Z4;i;Tb#Jyj? z`=PPY)yLVw*~P&}_eC5$2>w;?ku^dCG4#Dixnm@+?VQt0GkU+=AD;dY&)nVzHy*`|eQ4>>k86c-hV6SPY~dH*q%ZwP_T$pO8FSf> z6i5CNBeP8<_KzQYCDiuLRrIFM{dyLhmHwTpYL#rv9W+kfdQ=p#gSl8uKe4*>C10}e z++I}h_Xn?tHZs&edD8K z&i=aO5iMLPqJ@dw;?N@tcMv8pS-xnBk<%OSN)i8GR{gJf8HGmx9pNUIFrcZcJx#cVr#+?j!5-CL+g4UC z{f3oQWEsly?534L3`)`FN^t*dna9k~_Sl-4-SC?4Sd{AkH|Aou{WiMCA zHs|0jNy%M);i^g8<)9$py!UR+^($zu$!uuMR$Y)S`Eh!T9ulrB!tQ(TE5imgl+!;w zxeVnOS?DW!C{7Rbewl2T%5y8ujjy5#y9m#9x<5cgkFOB@(>^-vZaoUM{NGU4X zJ#@MFhjQ&Z9+8!HqN^BwOH8Rw_Zh^p}w>|)cfmI++1%RGZX1i3`(=Gj!`jfR$+gaFkD8~1GJvE;nOn- zN23^&O#IiMBomiuzwI8TO$b}JA&p=D)q$nLlQ}xE2eBqTtM`|M+0@8}%C4F?vUUZ8`1xFF(7gnz6C`SWGL z=+-j5NTCZpOHuF{4K7&L5J9JIMHo~iLdHJWYLdWrGzxV5{eis%A>NW&2@es0sbt-_ zIS8O$7LNQc4(4IX!|vr6VksN`%g{lgY>!#G+na;?v_kIwC2ef|wmmhr;tagJ_g28W z)$m%Q_z*xXC7r(G(js81QGS#~RC;%7lt9eOE>ij$18?QZydAT|e>|X|cc0vQ`ndp zq=Q<8_a81o*juac?#2*)Yp;j!`<+90UtRoZCblQ6lU(%ef_{}no zIq(WLdjI48`RfiGyuJ5Bm(Opg!Suf4;QW~b_#2}#Yu_j9)U>7)yehRj)qw61%pxxfT ze`C()r}X~ufb7BZdS8qGP~Q8ABc#2^uRnE$FyVJHNM1nM;yHXXG6jZ5Z-02zoyDsj znDiOJ_TxAy)N*T(bZ6%SwifQl9V&^czMhl;y$P>fDr zUY~kuIYlX-xzKwLp(QfqpT83S=!aHRi2tG9XD-L`Q1n2c={>4$<^NcyCo0#TbR}K< zyN$f)B3B#n>u0I9_?_Di99)(dVu{W_{7LrkDZTe_(+Vwr?UnPc-qla9vll=0roJQ` z{MH;*kmWbMpP0u|^JX~{YI`40VY5HbE31J%aPZ6N?5n9!Ows|@^_NSbW~Tr1J=Xg@ z_dUpC7Wm18)Lpeg;OcX>*!*Sj`4QYqP3tAWhkJnlG{5FSJTEs$?e;Ip31j9Ns4Rzi zH^_=St@nYeS& z+tDA|4%qPcb3c3-PmCPKawBTmKh*oj`_u`SmtS_Y#SowZMGSi3-z~7elin`Gpbl*p zF{qa_>KFaUO@yMwu+NweS>EjuJkJd16mh z2HuuP)DQ-+=pIrRFG|8X=e_sc2ZTQ8=ZD|OIV!HqEn3M{!R=nQdhp;f6+vlod+#lW z(6Y>JNk0`rYjYh^?nTeYhkOu2e|uJz&`&YpE@Z)AKV6;1PQ!%1IMyrliVt>$v!J8Y?6!l!z%@6 z__2dT9vtfZ-n|d>evCLA+P(fz@3-$&hgBFP7nA0X56E`({ss}H;8b_k8(r^)TrZ!Q z*IL%!KSlVmT+Ul+dY{~YnQGp|ZQZ-)Ar`N}iKrM{av~DX8k}gBPnr{PGc-BT5-$)= zl#g&CnaV$3#c+zbh+y#K-XES<{2QzOq2B1-`EYS}>YJdreovItaHqNm-?<6*`bR*y z3er`Qh_Ll?u?SlldpVE1Ku!cwkusqx>V3=hhj&Q1e*lV@qTK&IiE{s7PAK>L4=Bq0 z){1gJb+MGY)u!AJ?-Jn>VauH?e6TnW+V}QW*qHExcU*zA3_lo0MGsv#mDaqq zpv_-<(uYgpFGY@>(WXr7znm^O=^af2*bifRy7tHxtmeogh;C%9AL^ZfCCxwo=?j;u zkGC9}f8N!Y)*cpX3~8rSZl$=K_C&S1`Xe%KQMZn4z4GO+kYJSo?&Q~Bjn!-ZhO4!2 zs@446hvdz=YVL0@T+-n9JH#~i+r7dH(i-K*RQcsUxb2GYC$g_UU0Q_G<{18~8uHhu?fSJn zG%cm#9{Hovv_yz^%bx#dhm}dS*9`aGZVvOuIG+BI-uJu-+4iU3gkpa1YLT=*c+Jwn zzxr~ZDwYo2eDI9utgCW+J)`$Qur{xTD}DEoM-Ohp#s1_C530}Ka}BrU|MP|iiXR{9 zeLoMj7x3!;_8hl&?+uTLlZjhpiEp3T`{WzB8sCoQNUrVg&T-lIPQfinP8V6|Fh+JQ ztpD->q?2zX!DahU&qJ{3Jzw9UKX`d{N7J2%V(7R}=bq+Whv%<<+QO4j*ltrS?ZL}M z@v5%#KJ5>ov>rgP?Du|?qA2{S|ANya;%MEg{eq|W-hA%~3Vv+OUwc4bxve$)BfW-y z`Nq$#HT<7?4Zo8$V3k&R)N8<^Pgz(j0;A^OmrafwOX$tn1#@ z4=oU3`)NT2`Q7{am-l|6*Ovl_e{)|S#S}o=9I5sbhkCE?_nvnrV$+!qD1GC@*ci5Z zKX`Vj_%VjGf94kpHx^1b&prC`jP%@130l z_%S5#=86R5^Oe0%(1Q@&PDtR9g9pSoc%=6;Kv)asc;CHZn0aRJ|E8kYHk#+B-UtrT zAv*5;G~IKB{`Z5}6o2I2qou$wPw5mbGRVD4>JHbou%f>_{OH0}m)*d)Hgi0+pWFKZ zY|HA>{>)a{(ZaKP=Z=!gc3JOx?mvMP`@L^e&IpoPp9GGfNtWx|dk^y?-g-XQMT1%d z{0HUef2bJ!2a3^uXEFLeuSWladh~xGqyP3@7(E^7(Tm*jQ87@y{anBIJ5PF)e;<&c z0}esZn~eQ0&gTm+{l8QI^CMVAwn<<4+4~<-)BA3WM@17oy|YdBLN>@Xg(CB(mp01e ztVo-`SVo!T%|WV~%e^BHf0+__r5;<$mAR{VW%d+d-@2G%_-c^@fUE~KX zd;!HY%XpWQ%@IFOsgqB6xOY|?4*$=dj`^fSu>4G^E1>GOF7D}pH|H8df9Aq-jsPR| zO*p|WpTE9Pes|me6r0be9>S~V=S42K1U+2#qJ_`D>|=^#zTwI9U&SD*z>fu3+pk^$ zBM4zfU$-&;W<*5T+MedqoLe|{xx7KgU=FXx#V?q)M!cn{N#0i9WtxAsu@6Z@)g+bX zJUq!Kc0{ame~t@Y5#D29N2Z^2b$%Z6R5gF&RSVC-d-3^SRi5`xbewlF)T#6SwJ0X) zyr1Cn9))^UM?s-SeU={uIr&fQ(Z$6MP9~^}zd-i5hu(Du5G^_g;jb>Ae{3AqpYFPx z>tPqN1jBu7$PyEVJ8>)ZjHYsa;imIp!B%fwcn&}4{O>2!_ZRu!ifw-*73d2wO}q_C zOsm-TCom>ldba%pAG@S{>hmn6A7F4cg?<)9xoM*PQ@2>4ibkDPCKqs)|$9cVAW``$Ri690xQfL^wR>rX70Cl))zr@OzoxJ$U8+m~?a8#>K3^_l>$h z1KWPdb@dsx{S%XR@EaaSJNU1T^!`ESBJohyomhC`i3RJ#f`4LRso0mVeH_gNYJBtj z4yp0eB((}PeznwIs;KePWFv}$^6@~8%=#N;@H3skLoZjn{UgP!zlk5JFFwYE?*TUT zn<$SZ%wK=Le(3Yz-dl_3A64zI82bD)K7U;OUO#`v(C23leSYrH=PwxgeErbp!@X}V z`u|Ar{`Tjm4LyIx(C23leSWTdu6JEJEq48q8{gYJ=-#Ffpx|IGd)95Y5$3h=09mAU zybEVKXorUwcCJ_6DP4&J-e^xi{s(|yE$J-o%{%Y1+Ba$w3;<&s0auP+K6 z?5}J7J_+0T??uE@vJ$PHJo@sNf7xwEuiMz(+)9p~$u>3zYpX}izVG&p7p@LYp4wVD zfAqS{Nc}7|bLXgKSoRA|a} zPLRZg9eTc(`OyoLliPh`?gsU)8>&8CJC9w*^@Ah{y)@6Fzzt&~^W)5P4bz*G-shHI z`wBsGLG@pv6tR)%rpm^%Y)T?usYb1`B|ZvTW)N*R+vO_9vz=+JfEdQkM^t4sti2N zJj=7Jz>VC*@B`Hqk7nt`^wy(|twFT14C!oc4)XJKXr!L$7>Q@5wrfUqetd4Y(OkZ< zc6vD;Y;Df+lCWycK5s2=+t%{d+A<5nyRsy-V#CPIEJ&QxH`(WAiyd~)x|*36+rF3h zc4C?iyExP4MDgbG`o`c)q&6orA~P`jI7#E!4pRU4T;usH9R|(SG_%Y!Z6`KlJT9ww z)5gi|)7ffk@lJ1r)z{%_c6K>gTix7ZftA0~SJHD0pblhsun5O595VhwBQP(sWC6?<&hVQvyl4lu{te1W4&pU}P_dO#p zeLFSX6jsBqX6R{{!aPS&nCCFh)Jxph^)1duVmSd6Arw}%*kSh^H$SxV#C38j@&cIJ zOanB{1_d!FFSUc*al+h6%-oEvnL24wm6K&IOXYi>5pz!AA2Te|C=sNwmBm5k7(tqa zrt2J^OS8nvSGMMafo&En&UG3*E;+sKs)w%M=5)f$`+Xkw`>)bW<&_($=7DP)>R-jQ zg>bADA?-AYyv#Da)XJmCbXZAv<3{;T^~xYr@6cVtgZuprZa7}^YWYVP?H$se>OI<2 z|LC^TQ@io4d=qW0ZQLrHncsw)>shkAnw^uOFoMi+@;C_{JNH7Uu6kNtHJaOd^-4JM z4p)uGG={i-a}Zk_5sb3mm*z5ne!m<_YjGyb@g_A##_SZsjiQ*XkMhjVea8sx<8v>` zlELX{rKW<_?bCj-m-4SXv|YZ8vyJ7od^sJQWKhe+ljW5x-&)>0HOOT#poQ3m?YOS* z8*oxs&h+2S4OY|aoV?#OjY*q!3s;A1Tty6{o42_#NZ4c5W50j9e7aS7m!BQmc4Ibu z+vVn#o#+2u)sTTFfosNz7yD^q`bGdXt0zm_!Hw0zxTyOGFFD~+e#YIIoi;IemWl0J$yKyes*oe*- zhro1ea&y&#z})EXx~mjvO+|I4(LBe(z54yKb-ypo`~5rkudHr;JUY1W1P0jPX=o2&ng@A=C>yJ* zNSNJ{J~Hz5#l`aNi;Ec?Nw_Je>3I2P(Nvx9#YO!K;k2^+H{Lk6y0*H!y1lYe9xY2v z(nl>|{F?bfqy2u_uHS#f+UhI#fjl2`%QP>$<97>-u(G=$2#cFJwDQ>Dc8yYpQQSx+X~&3yP{gWQEsg}F4wu= zubTGz)jIFeeus(Sgh`xQ2pm}&!zUa2-Mxu5H(}3*Z#TcV0-ddm!D-op$S@qV+|bBU z3uW^7oIH>&{H9PrPyK#zQK~=WrtJ5N&PMO1G|Qvyl`UzZ{*X;)DC%$C>cnVsVeVup z@}|=ig!RQ^>33J^;m|E&nw#q@gRSL!u%V>?fGIeJAEJ<=kvXo&CDrqiuV^)ziCFr; zR-JDLGCI>byAiFg4^~euZ*IrJu7b$qin1Lihj4JCT6z3t)VQdON9IV2JS2qVqZ96iJ`b!fjasB)< zx9}Ra%N5PIm`xaCTkx7`m?{%1Nn-Ag$ikpD z)TVsRZt=%J**39B@N(bue3v`hi9Oq}GswPtSO_j*tr7@}8#c|*%MjDof^-n)xtT;c zc8kQfVkT8FeHsW^RM$w!H9gJD*`3YhKr4(4Fg7hKi4(RV4s26|-THB>o9QFd*HOSF zXQ6e+p2xyx2q?k;_gje!m6o=AdRsJLCr@k}{Tdk#f!R`2iw-AG%e_~t)#5~*=8zF( z^0w`*_R-3_^~u(F{4kAuESo{-1Rl~wp_LWm8OxMfdS$_u8U~C)qtx7>5*oBLy7O_5 zDwVA%IIig#W^4qxhwVEaTGCmjaQ#u=(~A6VoxAYt2JBCaf$X_!Vfc5Qh+~&nX@CS! zJr#o7t#_JMAs#3L4DSsvC3-20#*VYh_u1QKgA131%qg#1juC0)@%PV9#mXU;M;K!IWotP`C6i%O~WdY4$$2*Dq!l19* zBs3EvHr^75Bn(U^GhvZNV1#joy%-~Q-J<5ZGjxvWKX>B9^s)fkvu(I7C&^fAeS2`) zey&eW5OQfnaU2*Npupqg$l$6LjloUt9Mia)hq0Ao91dc`^0Yi$-A&^z6?+8-qNq6c zWE*RnteA-lCl2slIVmm)2cl`U;M3_r(+k_CGg@(7NEhTLA&c~XR{5u@XW}tF?r!4 zjO1_o!Q$fZmdvPhkK6XC8ZqWSZhFs$ zK26Iov>IA*fKoawyVtYWOa^#V2l)WY|0yGbJY8heOuV?F%nvte?|rw~#6hl&=yy;V z36RMR-+?>fnvDDevqihfp6(wr2{32bR)(k?=E&W%?%(j_cesDUKcBjPk%?N$y<%|o zaFR08rgkyLNabusTiYnIwV4V!&GIC}of2V-5Y@5Wq}A&XRRlH7nqj57gzy=RPH_NX zd0_@?9c{L&duXoZ`6kW+Q7?ttrC!9v5hF+O{{dH9eQqsFyZhFrgq#;xI8YBe$_B8n_eE!TIG}MmcxO`W${_3zM1nl-E)` zyV>RzHau(AUYy64j}yr8?2zTH6v`!JIAxbKji%*gWOTc2N^6bJiqg;s zteBWD+c2`m#kF5bY>;!&vv;0p5jrM@&ejTzRRJ5OwUUqQtLExkmStlUjXi>kOh@9Y z#G$K|Z`+za?(2^_hT8wVaW-YK$7ST1VTLG`rcjR3)uNbY zFvTub%EAeL^z(Ad6rKCrFL`JXqbL!ISf82=T8wFi0c%@Z>SCmEu^+k_SB`}MQx8~- zZLnBemnYB9r5n*n?P{62Dz2DA;jCw6==wF5pE<-8$8y%!UIBAbuuCUKHHoY;kFsAlCAM<_v_Vk#4^!+j08*N>$iuNmv0gamzI;&dyn z(^0P_k*uq@>t8JY$o=iAFIWVOaT#u>z;f+`a1TUU^TJh--(pa@xM8gThn zdx2lvI~|={jwPIwTiWpG-gF5yQ{hDVk#?9|e>7jc?pozPy8fvC_XS5^c;iu#ffg6( zXmOD+vJ98O$%b!_?`^)e>4`Vs&cuK$fuA-iPRdC5zKq*y4ytIMVt@3!2#a4r?4!vF z-!oX3(VJ$|BR}jKp;5p8+QGU=5jP!s@v)m_B}dnK+|N|tS?j0#yo~5Vtw5Br69eVK zC)8!KHymcIIDC2cC~n@4d4T^HGKUuHv`jf}Y%@)1Huj$p%WD|{MmrI8ZG`M<2O!oF z9y-F7HE+WW#Ku_kWe_5m!aXXsEF5%}E?YcF_nJYi94*f#4kF4zs9j%?zPdZS=1R?a zuq513;v7XNhAM^L38sZB=g^`NMLt|WDC?3qbdd~F$2Jj_O_M0`(&&Dv1k%dUoMg6@ z+Ibk|jLR`NfaQj^gwZ_-&Sh_VpnA~b1*G*~Tm>O(u%bRW-kc#o?MP*JUz>Lg|rTT#R7Y=#}b3q^z8$k$dR4o(sg z;>?Xg1Rx?HVPe(O@xfUzs_Tzl_kwcqg+nzXz0`G-audkawJiO~%SKEXdjINf)E*L2 zxV5piA`0o*#l;uvPw3ERi_y%~sC5OEqilVt#?OEBm8B=37f`cg(RddZZ!P@v+Mb5j zZ#j#SQ%nrScFc5ihck_Grbew%m*Z`HIoniZiXiGSd?x$Ngj0b$2h>hA8la$k7sdYi7Kg zD}JdZ4!LNQ)2h@_n<`RJJ`HXynweJfnij1nH9RA;Z8I^jUWbK%P$~fXLb6TvKFTI! z3QvghqVRU>YwDC=3gxD`ZF_dMF7c(T93P!0%Cwq<$w5kj+;$UU0A0t3i7Lk$(xBXZ zKS+DCBjt9;)WlRUku0B3Tr*5TGs(EM*4nzXYo9_V4OU#;(`EvwFu;B8JNR2|n_Sr# zH@1HC*+_r?a;+Sl_R!JGzA*WRc)AJBwGC2N4Z`abP5cWXh{B81bUKa%4~ThXrpSTW z%qz_-Cf7IZG&TG*Hp!3^M^N=tyD`>OfYaP7^*^PI=IO7^P=7B2Jof5a^dLQLD&Q>p z3DG(crggv{2#J(TA8mF-#@F+{bT+1Hnv7Fi!Aa!0V5`JN9>Q~~rv;UDdjOScJwxoGjWLg`ej_A4H)zK2 z8&9a08a8V`?fd&80xOGcsgU7l1|*>5Ba@|qwyx*MFQ-zN?F1HRPIeS>OmYEqDpd>8 zmq*-?k0}>cQ{0~5FxmS(d&2Ld+==P}tOZ-GGVG07B1RZ}IaWT{_8AGv_m;P-qd0rj zdg{3d4HA_>j}fWbwT3ybGP>2il9}9{Gc{^y1EuoS`f@g(=&gnM=Lz@j6YkyeC_GNx zyG2lxr_(xhWGW{@qrN$v>B2nLVNgwkEY55rEQ**&*NW^65jL^Nudic%Cf~85VohZp z0nuV{5R&i3|C0FAzEt<)LfZRxz<*V!LYwavp*o|gX<@OLS@H#qhp1YQL|Y;${ghav z5xJz{`IyN(^)J{wpyLL;CKy9~L^_cGI*-UeA@meh1k)ronS{(VB#M>4%jiU}8QNaG z#qEraQ*R+xND?B4;TQGGOp~x34f(3V6}?PCzMU+Lk~A?)6zs{$;*nA`B24B|dRLXdNS8i1>7q}hy2YDB;^6MdY7411_ey&t@JI0oLDirfDiB)Dd1qN zmVuL+OP|hI+0)Va80?2tL1bQByiGoRsrn!YABE9tU(>a!=vddV63@;-=n5>NpBp#j zo=3;}xj}v@fJ?5I`#{(2blpnwRHAni;<6n=yQjc+;l}#f=Ag)W%)yq65+}$KvY#_a z%d4KU&*gB{X)2OO5ZczZS5pqh$n`bme3k9RP!|I6Y=&+U=9nuZ_)__>b%6ZhT|xPD zs(_P-(EvOH19U_a#NS$ant0R=ImQ-A`y^+I1C88uP6ioxE*ux*R{gj&zTpFo3ASJv zWs*vk14-k7bqZ(+Nzo04p<0ypMyM|itZ5CH#S!!IPIAvKz=F&%3XCMR31=o{MYH7n zw1?(y9vMNBT3mR5%a9Qv*4uH0+cLL95u2-1(?yc*2Hq=Ee{KOw;+5;0>PoT{U_`NF zLX@%NLX>$*E|yJfc7Z5SG?=*YUX?p7Na4UVfz%!eP(G;>rHM=kaF}3x65|DlgSV5^ z5;1F1`GdsvB^keXCLQc4Bd~SKZ~$;RDBGldhZg8D2)2CRG_ z_H^K-Aw2>Q$n$)%{oRmUFt|xMx|tS#DpO%Y(3Tuv!Emo+IsAYv+1E^!R*JGf4q9YR zGVM6U?^9epD$#aF7q?PbTX$urM9w8uflS{jDZK?Bs=;h$!R87A1vu@2WRjT*Or=f_ zo^{maJv4G{R-l4x%-&=VgZT)12*BKlNFg;4K*=7Sb=-J6o@PJz%Ea zf})nQBsW54`92x#;4&s2Y57Bd)jL0NmlD|^_d(ps0kh6YTDGKyL3uOn7YhJR+Y3`L zN?b}YXHMqrQ83t?7%l5pYU&ecGO%?7QGDw(!aH(fPc6YOO&%+uu(ISO^%$y|VD z!ASr5ItZS>fP=Xg!LdSOHz)N7!0!L@@WzXmbXr+ z>N$x8$}4@@{7>YH#NOR>j=KQt5{e|OZETS!zD$5YYp~>T;)>g8gHXpKNXSseKmFf>6DGhA6?+}Nh&gAu^g)b)M| zMR9d=CML9y z7*q*Cf&^k;LQ60`sbwg@`de=ZN-TfV8^-c4`Xe&iA_>{`Dg5G4vZEg1#7)8K2L}Px zNbs1MC`=>)TP^iMiae3gj19GZUhdMq-uo@V+6_|R4g_kC{V>gv5$vmVt2H3gjldS6 z&J#c*REisC;o3u~9eneE+BSgeqYx8`(Y&&2yU>U{-nfh*<^7U;3H!pN6lW1dtfV@N zqSC!l2mA!w7yR%R_Gp|CkV>TvXd~HajHPnNXwkpv5EwD*R6K0db|IW*)&ds5K-gxQ z09;LwUM4|$4fDzHpl(sO^j4-IBKGyfbxYb{>7&(B;4VQ%q-ax@q+M{^eTTg69-{wuL{1Lu-{76mb@4h&`#Z$4Fx0TQEies zI&e@h>qEQ;26!1!;FuU`^rI5RMWNe?e`u3ZP#OYHSbc$(sYe4XP_abA;I&$g(%&?& zJkR!Xs-orW8~z!olLJEi^2*vt)0k5wn{E~xagAVaGr^)1nAvz9NcdI++P%!srMv{# zKqjgRj0X#D`LIwQN0`m6tH}z$IA<~y=TpQyVG6ua521Qo-+9$2ELV-9Y9d>6YkE%1 zgUvBvlLT7}rs8E_V%Q>!7X#MzG4-9(iXPQ(s4uo1%Zmz$fI6B|^8vsy3n(YS-*3);EPPD` zpj)`YOllXR-T?C`kkF9xEWI=_Fg0KerX>rc6pUh~RHs9*XkcIp5RN{Zz@%#Qvl*v+ z+qNo!SEy8WmQkMp*Mdy}PDB|!*crRJDb?6Fdc64Caw6aonj7k z1+{T15_Z{9HD}$4PqK;~`7ZUJK>98Ki!XYny6?aOo|WTBDNArwZR{SCsJt9tYo_|R zBv{qL$Z#pzhnkeIF|%}3%~W?nDc!(yLjul$_z7HHN8+Mqs{0l|+bE9%W}F~`G~I6~ z-F4|!Pl~giAu8b%jSR{FhM6mF6X8|*QEO(M>=blbpuZ!>ci|rJyDoN09Ry9fo+e$V z2nL}@({O#J@vKe|(15=)BRTb6qJgSr?CGY~v8VEI8Uytxp%_?qSo(r5nMHuiY{R>) z#g-UWp8CL+x|TDF^*0P7Tm-kYh^sh{mJjf#o0Ei_I*~Jc9*4l6%OIKdnZ}9*8aoxm za3m!d`pOB~8iCy{F0YQ|-vQ&Waq|#30fQ2*CnU3xZ2}KpET*MPceJXP=>}4;M;dAY z?8V293tJjP36q4d)HlE_47j?mva2+vLI@kQJ>^PzQffdgjkSH_v+R!MArU~6Kt!gV z1Nf#jjOaL~pX%i6KEM?uHPnhhP9%QH=CXi&TSQUGnLau|_{lEb7# z$W)$2i087J+FUTE=O!C$GcPn9A1y5*?+0m3mbGMFLx{3NMN9RIL;z^*cg=J%FfVZ% zB}6}HOJ}v9*4VD9E!W*p6v3r94aGn5003`2QTIZZkV)#Ar5O1HSeFfSsmqfB(+G}i zajWe@@A~NY^iFt)Yf7PPCoDEeR5h{Gk6(h;YU-{W3gmgzGsDFrh17?I^69IoyGaO7 z!x(D=bQ;CJ*dxoGE(&SPOhLD`ZYo4Q2$A%34>(lHewO`O8duURgb=NzcC+kTW@FhR zfx_zt>2{>*l8)F{q!lCfm1-I5Iu-zSxXD<$ArA*HYa`*sf`1Dm0 zou&?F)^6K0=eb^FfrJb{OvyqYipLq&rq!UwuqsMsixf{C7m5VBQqZk+H4W+IRZqjb zBu7&7vjpu=p?~Yk=>qp+m{EC|l;ZQyGV(MxQ>`Bq0npw1F=351aVT#DjZ64sO8TBvUtd;nea+Zwn~_jbEu?H0 zK6R;FEHLPD{AcXyrnVYLkS+DUKphSp1B1X2{SSrMu<+^zY8@mkm{7k5%{QT9CBYq} zCCt`Qb&hl=QcgDnQ`0%_e$V?oIP=go*3SP}%wY256gsnm6E5>tPoI!$AZUONUp_0`yoK=|LvR|wo>Ol&DZK=<_SNRSPDr_X3lkMs?+(0aXsd^$I5pBS@*t+pAfm_^mDGq26qjX- zZH()wq8iO16H*N@=}-zIHxlfFs+SAh;bHb026jf3xQrK&77^(C;o>{j91pLJN%96o zP%vo1J7=7K>-g!OEc|Mo84wVHf*p()kEX7q?uCkCbi6`ems6h8bOlV9oX@}}t0mWvt98z=hsZ^kQ zA$=)HsftM9tNYEShw zN1PN{rZ_+$TXLuo*0sE0YsXhfeqB?X$wX0HrkP2`Gv-T5>gW=5&3zalzpgoJGQrR9 z_y#qRsf$e1=djgi_@E8XS$C2qew2W1O*o-z*;4PhanLS!rn+y}M&|W0e5Wos3KH;8 zTFY8N9gxuId2Z57n~uqUBQe{cmTZ>BM7YgB#{m*J%S~V>De9E->Y!uFE0>l7uXW0# z?(zt?X^!spwq8$#Z{X+9_8fxy3Q?)lz^8T9J{%S$2y(nc{2$VHG;Dzy+TXH1bW3#6 z6vx3JB8YAFoXh|suf1Z!6jydMbU0$_;GrjDu+LM%b}O;j)_YlMOI=gk$>Ffc$l-9{ zWG9L@8*nk_Dbd^Kf+1#Y{8ReM?3= zm1D6bqlu^-f#Psj1yoC6wdq>WCi%4w2j)hyBauAU7P)49;h3Vz4FBCcDMnO?VIEB*1bv(8h2Y+obAG7pP*=|<5C$OUgf!J2%EqK64_tz2Vi$_)$1 z2DpmR>Lw|NQ9M`~Y@MIGX>)V?bT&sa#%oCq|I$rT)zr}uXQE2qB4I`0`uDmW?=k^o?s57-c{?ZuefQ81(&NV7@Z>zENb#2+In zoU$AXj)A7*Bne?n46TfM->CbLu(ayy@GRl6*|IL$okt;t#ZXF-gQG5py4BOx&rN@Q zji_f*g81F?V0ATY?aElG6z5-h-xIW!69Hw zQqQZW)z3=|Uw0_HT)+i3*G@|}UT6kD8&DM3kF3OJG{v(rZoJ&}Nqw>DYDhjYp*~dQ z`fO1MQPGz?8}4gjYEYf83kStS%RABm{+rJUgsc zQhl<@>YDxSFU{EOL81a(tL>2VLOGm**Rj`g$FcvV)2e52&Ik&he7oFJnZ+&-zo{4+)DLt6^m08rpM4k%BrBS zAQvLam)DM2Vrk7B>G6`m8Mz+?0EH>0Hd(Nt?T0?dt&v+@XJ!%HRPa)n)TjoahOe%* zmkc)7SEBP|GDzPpQS93Ry%TUz`UinCl4*NmvrHt;7H}43Rz~+uhG}WNtpk&hf8` z*Bnc#9&|x6BarUo49`wYrDdX24P_?eqMjx2kP+dwdoic$k18K<5v5paz8Fql zo!z|+#6o@7aD_GGNG+}cGa(mpKt^*wT3vv>1@z2PnC0nQyggW4>DbDgRk3B?FqGF)y;YMQy1-4kDH+lkeBgB-U>VklL1$%BbV2UcT zzYs_B*FMnuBF-sozZFzs~pWe@Hy@P=#b87+AjGL zjXk(FJ-=F1#4Cbgi)|SDAYZ+1%(E99ec_EoUwTlWnyNJ0r7=Iypp{yJft3U~8nd7v zdbg~;ay0?vl@Q?NHU44`#GNc)okS{{DX}49-7cOk?dFgmz%iqJL3u%$7=xqL^VJrJ z1YeVsqfgDs0Fh81(HJ;1Kvv0#vvALfW47I-)ltngOl<#h+@&WL08|vTU@|jt{BTS$ zGuDqwdAsm9Xqbd1^B=M8Gh~VdOaDq&;3KcV<`r0enqb+>K}$q8<@@4Nh&GeKfO@U+ z&$6V!E-v0Af4`VN%Y|_Z6QI^9boH9q-b}CxhWo&g`1^=>RQ=}HX<=^Ct6zWPoSMbU zS)|rFRvQvl&wb1*8-q+N8y=>OBq8L7bAk4WwpBb^x_0_I%iC{6+?i#m>T9t@HuWf7 z8OeFZD8QU3_COcrb@OrTzc?%Pdf z9r?cCABKQd5=xCJ&aiSfP)3vrICBym*JR<%c(EpOoqB+*S~wo?05zEU1zoIub+LBb zq~*?yp;=GghwPSPQfLl`MTp5wqNwUkpZwFQHz0Nz;<6&J-~5o&Z#YEFiYmfVX*%6j zeh<@F@e2S0Hr6DYh=@OAF*1pOftFwiWj|{*lAc{{dC>}o;+vI~QVH9mri<5z?Na!v zX=uq$_$BYdd>A3brQF6QnO2n@Qy$Bk_68uu0q7A}2+y;@R3$H8G@qFcO}3dt>$SPt z)1OUW|68mk_Ev#i^CHQ3z?#Oqa1oL3Fw$!7xav>N`>kS{t#+;G*m8y%2v=B^WehN6 zt8L*$m`rdO$B~~9>xV!ibf6zD5fxw3>C`Sgex>DckQtD~9n+5@4{v}7N9s}0-M%8S zR0R4i)I@gi8is>~ipDA7puhj_8k>$ag zGFCWyiA^s4!o;ipDgZqSdqrWMfwA@bRZ^dVxDkO-=@_HTQ)wXmzJ4m~(@fza8v~_8 zFbn(x6q!JD%Oy}DhsnGoOV-ltOSi;dA?jnnW0c5OF$0C#f^k!^AN2_6*yOIwm1t9d zd@K+C9{|1|Q~!?=2>3?Jr|mAL0l!!Vcg)F+X#G@nIzuzv0%}bmCE5Y_k(fM#7%044 z;PJZ}wqMpB@A?LOHX<8R#_Ko$0)mf$oSeegj~A1s7Jw|qP&c-ocJZ+A^%zko*jy51 z?`5U?S?OUjA>5GMtJYF#5y&eURDx&Ibm9btK;DKA!)iCFMpfP-Vf#5EpSnl#EcI-G zt0k(^_Wk-EDPE=8Rh_B(ekfd~4B7-z64aB`lM2;aWPbGbn7}z?X}ULj)(uX%@8-W2 zs$2?g1`z9pol<594`;!58fdnYcu#%ZwOG9tSB4x>BL+iEvoqNYTjM2SpTsM$4DASq zwvBYB_~eY^9m^{xSq(djH|=~jqlUxQ#02m%1z;}>NMR)PX!j?E>CmV*%ru~P&h+LW z*(8~5ZT-Ahvjm}PC0bvHYN6K@cvX;9h=+;rU|Z-C9qne~+--?qifh(%)oWA=wbF2f z<=`KZ3Jk;o<0_Ku;-NM>8pbF;HZAqK20M{*)hMZ;JlH;AUf2V$ESLPII{#C}JkwCW zQwC_}fe|JX_yFwgASg<_SN(X&G}xmXs~aSb1jwXZx~Xq!%BXo7WRZ`Y3ht>yzcysl zCJ{{SvldbTRU#pSJX;D~0U5->D}>Z$fBR!+#}*ojS;ChrQEDg_M`Z>I7<>K;sjq!R zrmjwLm!WSYfZY%amsmu|p%7qoV>9c+HnpcADxs(tDVQPAv{KAQ;IM|MME4yw-P)qU zA-U8d#;9~7Q4KYMq((&+w>v)*gyh@#Q*@(fiwFUPp8^s&CumCohXezRw0w>pBpGOD zSX0P)akQD;rg?|-GVS#;73+sikHvJ%Uu;EEhm zC!$6c$sjYDy~9Kb>-MXgFwe4Y1PDp#a0P;C&L?D8$x^nkeKI zCEVCU_8Mijme{_+X=z%8q^Md$9Z`bu5|cXYhh#TLJh@sLRSjgxTXqx{1{Fk<{eHi5 zfkuzYG(7~^1v0b=s_{b0C%8t14ko8+i-w+`hyR{$i+^O~Kr50=0}4}CN0#OZgjl>TwSBTcO?LjpGC^BRifg8ll z(P+@xl^sJ|kG_m(ewB)u#2_s-!4z97VmieH)lig*xLu8EeZy-kDynl1~ET?#Rb$g`_B(2{ARlAC)9eIC1)Rp=T zgQo758)0N513E(;L(M54%IGn!a}q$?Z*Sa!<|Jgc?ZY)&mi0Vir`YfBt0WPP#CSlI+$U!hb~PiJ4HsRnFn zm;v%goD~+mObLbgK*CGem6erDd#Lx-N~G$n5bDed5Hp;STPCnFX`iwds9@e%r{>q+kH-P7dCS`wT^?E*s_4=dhUGTgB=iKBT`J=?2w z=~BJ`2n41d7k=yuCWhp7$$*qhsuZ*f7>v!1&Jqi0nnmc!%0PMHeTokd0ZoDx3GIoP z`5VvGWwM%WQKL@j$XoJWFSBq64#?b zj9_fKl7DjR`WZ*MsLv`d@QeO~@~O9$Y-L+w2LhHUiNQ$p4BI6g82L>6d$hQ2vEbEvJN(Hub$2oA+k4Dlh%O^42G!u){0nGt8L}yDC96J^a3hH z00?1&QY~(HrO~)I&MC)|jI+Qr7Z*FHR4v|X#w?-wO~0@ANiFK_>sg|{z2&ru<~5y7 zzFDqXFi*!NJB5n1prj_LE2Xd7O$w4@Zi|cUxh*cX=C)+I%_tAv@2Xd~TFGXEX`cY?uQOyll?wPlyR>jFi#kom=q5yLd zf7Gft8&r;ae^hY+TZurwx5;+4Q>Qc^&dd+SGR~@K1S&bR;tY8cPndcdY-T4VgGJ65 zHccppY%IbXeOGjV@?o_^owi$&WR=@=^K7(UNi=B&VrEPpi3N}-5sP$IJ)WgIU$IKU z)bSpI^hDePsT?+W=VHJto;CVuGY>U2(?NzBz-N|Eqhf2DzDFht5P9T^0sri9NZUCi9#V7)1i(1o2&Vgn2!eJMQTXSj$^%?d+Vv3goW*_VJ+s%pEysJI?!;U?JF zZ9~~~k!qIH*_xFS2Bs+KrpeVj*jmm98!D=dN)Z$*5$zHz0BkL?+tqWxDmCtb*9?Jx zYqqX$%^SwtKE-8F88Ix#U>V(~v@GM`PDq=LGl_`JY%b$w10jZ%GLMGa?@Qb#YSBu+ z|BAI$%p3|=R3%r84q_-k9Ok0K!EvuAK1={$5`-$b;0TH+r@JqqLTHs>#aU#~K&cc` z(`KY<4Eyews$vgJkZ)jVK#+ST#irO2?F=thry=Fl`L)Ua11;NwKQS$)x~k4agi|@SqK=Q$(s%lT3j8(MV3=;Q2i7Z>z2Hg zOmgD#0HZ^<4$=rAXkDrSZRnyvZGFYlk31D3u@SCk*6JX(G_eJ{JmVx( zPl4NyQh4F%xDiez7iYUW(`>YxYN)``00tj0cyaEUl#L}5F|S&ZS}4u6J+x%JZoxH2@AZnC^w~M z;_Bj=kn!k3sheCcycA@J(pM--8eb>|XB1^qD0gK9o(*DZJ&}tdx~U|IXy8*uPJ&FF z1o3;~dtF8BIJZs@Bt<|heBk5x)aSOa;!-F{0xyT!w2G^XQaehHjU!YOBqyT&KxxG@ zHJz9YvmR9y+JF*GrkBMD%&wSkNm?9}RM#nGl6GlJ#`jm9;M$PSdEK4#acb9U|P zwu9HdfRi@;yjAZVnbB;MnZAnzf>Y82d@iE6j7YQWU7}A|HH+!Frbi(XvMmT2=h&1< z)IouzDd*WQ!qG(kEacjuSeYtbtvF9&pDCh>)ETNW47Iiz5U#JRak87-oRk>ioZ})= z0Py8Q*~|hysDouSU&--ZlUIJJFe~|g^#VMj5@$;y5<&1-_K9J_N6if_FOY{t{j(CO zOs3j#C_4@Z;{}@%e95Bjr_6oRvwG zwX<6*!{KC`xSebqWk8P&-C70W&FrfJ1!3Sp`os?BQuVWgWz^6qJKz`#{oszpU9Z?YdO3UCrB4>TZyb@5fO} zd~{JsYZop_n6>~kxs1bVOBxfP^v3I*3K0L)6@4k_w?t`AOnXR+T0D~ASht;gKqfyGQO9-wG7c$0hMgTa%=-9@lZTr*&s24l@S_++PJu^a&Q-vHmWAsi zxk>D}p3UUrGm)F_Y+;zXMg0OURNz67>M6lnPrc(h@3@SpLljd-Bn0Pz#9E)<4_`(X zKKofDx8VshrPx7i%_W>Lz`ST6PgVAsQQ@a!N`jaf#&4;(b3@bEs7YS7j>NX)fn4KM@X^x8ICFA25r+sQ?BzY zN`oXtTpF>jDkB2y!jps(t3uj$C>^pw85=eJC=U#KD(ErT$|S(!))GlZZ5pdygkZ`( zwZ?~S-ZgM-kwNd{y=V|^5!tDF_4hCnMdItxgmCsF+u^GiTA^}xS(Y|HP376H8Ft~T z-=9R27z-3ovtZ+!6h@H9>ekLqANTb~{l?JMCKg_pJzQ;44+zK3BwvhDB}N(ZuOh^t z$FZXx=Zx8(wf6jkyb18q(OHPv;mVn9t*dl|OW>2Kyl`NI;t%DjBqGtFtcT)<`+VlB z!H{==L5p&pQfd*;Kz&KI&ih_KRZ&$auuNB~h=n%APK!-!n!tB($oCk73SI=H1~t$< zf+_JU?`W{ClP$5>KA~L-Rd7fM5LCf3>Pxx33t$g|DDgK%iA~itYJBM{bYCwqQ^j>w zxVOR|xZ1&`M>fIGo#c4CEpD@xSFz+GHCvk{Oq1&05q>HG@fE6sk#>b?mY3!1-n*^{ zOsV5&MJb>bfJFF$Juw`CS-vOKM?gf;e!sk73G&rxHn-`V%Q2w}k|j~+2Te}U;WXre z2_4%PQRP|eufo5a(*P=sQgm|v|E*#dBlmflhHUHDSAnq5Hd)5 zwuPZXGGYp|v04R0az=sGnE$d0%8OX<_iRcH_~!=5xg@~^gl`I7=CB6PxQZs}bd_0a zM9^=QCcIF-eBI}41c1#A*bx9jm;rPw`~v}qYZ8LWS<~nlDKn}`@6i|8pL!`f72A(g@+002=b zieeaz745bNjXPl-`$w7p!M`a=3n|Rlb4K@%kb+q*p-p7XYo0AOd!gyHcXtE<<3--Y0EnyRWHRX%GTIf{uffMn$G%vhljfQYZI3`6)B>iRL0r z$^sXRyseP)*J4{z`f9?0b!?$Q1OU1VRVQ3fUnMzn_z2Fpg|qqJ7~sSa&c0M~H-Uys zg*VRz--p^6h>|;-dmLeWjPX9AVvr3EtKFr!SMd)!nJyDD67o;M2u)p^AQh>yqy|)8 zw#Dw2(L`PKq~L+G`t-ER&6e~UN_wYcu#o7XT^76a2JJPpB9kJN23|eNu7ZzT@6rsn zApp)XfGp%qaEpP$*0>Fuv_7e);x;5Nm9$rMH-Zfby4F4E+i;eiLY-~3ye9E%j0gh+ zpwuP+*9t|tdMXi0#ci^_wozlNj9!TP3Xw)rPd(X@4rm=Ixg(TkDT~1iCm-$B>^S5= z{*m zr;^rQ7K0LzwJAQdmlg=-EyF9}ss?-Oh zo-9{f=@YkW)aO04+}9r+zg_CbGjG?pHFekS(iZ~NDHE2H1PF@|Mhn4HJ=y7c%0jRB_d1iCG`O=lp~Ft^cZ>7sk=jNbr; z?j;eWej_rCBWE%jZSx!Asi?~mVG#qajY`)u@EbkK2^>c%E?gYPsc0bv8rvhHHUSab z%l#>|FkxiF)KH%ACK+7J9tk11m@SE*p;lX%0`yd~k)6Lp9jToYf{A-0417Ng0RhHf z*g1qEWyow3fw$%18XXj@y3vvv4IdCI^#N;%jiH_;C&mh%q zz$-Qh?!tGNNX&ls8ElMp=G7Op{;5oPkMswy7%+_xNy@Rv0i~(*hXzG8cBCwYnMYj;LRJh*Rcq)xy5;e2pBFA$ z0R2#cN$2I(;;8NHyiBrohqIg)W!@b}p4CR8-V$(@Q8oZUhQNRwY-INchc|L}c-`pU z!B{b6S%e9IXNQ?IlWfwCmzBFiU^%|+22s+1FR%c4g1L$qHoy}KGhCxlSC2)}>@MxR z@yjNw-Z`TtYSboWoeUg=U{}i8Oqg1m@DTO!0;M64l_{|DJ0-l%(^nl9@L%ncZFqcdg^zwpAK+ zE9=WVxEKj+L>dI4?|}Y-h#{^b!N!zIfomIhx$DmGCQhtNhiC^XE0{wRJ|fhdbJ?m( zH-iu{>tv}+H&buw?D@I|oBRO4oTlfaeLzOz!l!}XW%F z@X_~y_d_MR5v=3L1sD|ob;A|NV*zq%vh()-Hf_<4H4x|tClrgTW93PVFk$O_tjc{m z;pY?}Q)S19SE9;+6-&*gG;oKm6LV*XerB9fauu|}6udSCP$z(17HIRbb~-3^&#?S# zE)FLHL=Ary(8=8S7YgXbfNRD+2GGj@2*)N&BcrAgjIzNZMPHhA-Dte)D_{ejza{KS^JOcZAFh#X-kDxSPx-@60o)tr@Du<=fpp!D5C?okSM z1i5my8;6wl8K&0po#@lzVpN8YnVh%?*UON;J^r+Ksy|o^{um zu(**7kT86L#}%`7|BsNXMt-S3w_ zpZVJ4AbP35PElo=EINH{+B$)NQopJnEfi3}w%@;LRmDbG0|ksremvJ@1S*}>C0ACL zdO@ak0u8U7T}>h&#y4YfWj-k9NSTk$bH;?vQ_T@oUH zJ9V{`emML>QpghoSSr~17`^i%V56BPrzU;J`StA9baY9_!8b`+@i4?!?q?ukd5uHr zstpstqZdh$D)xcJXc3+KFmK(Aq%R*g?5Xr_fDI^i1PRPL+ZCFvW+_T|L8z+h0 z7i?7zUbuY5Tn2>ZbhNdlut*J}t&D&H=3$rsY^)e&tI?R=YQ_O{UCOm)A}e6OQQ&8) z3L^Xi#4_->qpjo=nDluxSjp14&GW0toQ{#0yGbD}-MqH8QoY5I=bnCUn)=`6l{JK9 z0IjeNfes6k7jQ6%ENVO#6oT$vjQTZB(GvwA%-AF2z@;DtB@(oVsH?KX3}FWKDf&CUrDaJ{iX`*}Oz`LnRcx)iP%x8LN!Sn{-CyNUlYZD5B`^ zc1gs1RfShZg2v54>+=6DMdl-^TN;r4fr}d}EVg|GSg)R_l>X)d>f|h&euJSDB7LBS z2)@kLy}3^Ol%bYzN6jfP8jYg~K(!ljxQTK!Lt82*3XUew0?l#A2wXA#YyT{~+c5rpAW1!+h!JIqt{MnU7IriNFu0f(Nvs(lRajgg9~7L1ZpCPabIxT}ta)pF zoH!r~+osT!V}!_!&GnJd5k@31vbPqDtvb>+ovAu8mepz?iAb+fi=s*p!Ag@Aa+g*0 zlZ=dTDlsu;O0ER15(m$z8qvB*f!e37A&xGA9%?$%WUh8V=Q9;AEjq8>I=YxUNq_Ri z(MBAfZDC#ol&egCQtQC3?Q062l>UU4$fJk1+VHcC=pM1-@O_KB&U7e>-q64(9!dod zO3xdnK<4Y-O0(2R24*wyx8OaEy{JyZi&>)EvuJ~>Why~e?Vv@|P$ietrNm@8{y;qo z5V}cCOB124eq52>B$$*Ya0o>Oz}hqkk)s3zS>_GkkQy|Di)3+8MWSGp5qLf9EQ^ck z+jx7hl9F+U4NlnH^CWyCA7m?C0o>~QYJ{x{*{yOVK#J1ARP$u+#RxwL7ZR~ce!e=_ ze)A~k+TsHCxJh+8q5nIMz4+L1IeDXJU}_*e)twSSNaMou(omRx5lA?+Bt^)MT&l8A zN}{Q1Xa@q~FQp=c?V2!iglg1C3OozcY5A~FvO8B;Z0ypm!|M5}D7{H%K#o~uqi*38 z)daAVVD%yFJK=ssjMjswem~BD>QT)RNr_q5g1i!t>FNSI2_&Nkc=D)w4)p-)3#&~D z!(*IE2Oe%yo6>_Ro@>C_8vK3ML*NCbmAR2m4SNgd9nm9K)8(yG*=lD^g{go+vTRXxOq#=5qi(Y`5jJMRhW0xFQ?9$8Zb7NVu$-Xl91SfaN0%cy9h_M zXc10~e}|llIL|S|fHhlmbvs3I%1xSeCCO2u98wS%Bu2qTkZvz-B|UWncS1pdIvtFC zR`Nj;FtMAF1qYs}%1T!~+!n3xc=m8D$tm|JKoNSD$W#|M`+(WsmCZ~=dg=_^=0{Tr zh%&W6jbZVQtb{N<4tu%TEvl(HZIO&c(gg{Aaqb|wl*n=Fo}86Zs31*kF5YE!=t?v9nO;33N~dhpMyqqDcj zUs_iZ!_moXW0_XE3_A{V6i7GEB78j*jMcWKx=Br#^zPF!_~(d>>gOA{yvl0sB#lwR zhb5-kFE<#LJN0OZfi|R+Mjxh>Ak;N&(PuNlMyN$8Y2AtG+SCHF0tbUD7s_Ze=~Ov} zuhmjCy&^H|p;28*kBzcY>W}pLqt}8ea`bh&?R2LL#(;sTU98tBFl_x<&Eld~KS)-v zjSX_a7xzI%B3>Kc7YaOZH4O&PTq6o`Vl_BDSk0Cb397tU|ANIXZ^VPZ430SD7#zM^o|4WTO;sE)~3{? zxLb6wR`tAP)px}E;-Aj8POYVz0b=3u_7-?F68Y^(8BMIhHUVMc#4aCJBWV4WnA}y- z2GsADHzEnl@xjc&N1BLDf;w3opP@G0U0FI7v3B|~M5Vu&ji1xKMOGBWHn?mEg$X?5 z!p3vyI?yS7BKj9WjYVKbQE9k}Bh)o`#k{@TZQ5p^`h8W1R-PBdXtl~h`nioYJEWY5 zXAv}4t~F1knC-re!f7!^_gt%}F(g*^Xeo@!1E&}QVbyNO_A{ZGNh43FXZExyo+8I2` zL;Lh_A0X~=hAFF7d&dML<5eqE;W)J>UNS{K`%-Q*b&%pM!PCYoLLs%%NjrIHmkd(V zv(t>qItYtoMG!C38tw?B=A;#F2zbzjy|FEpf(YMGisg(1Q()J{L&Wz&6%`Q$czBbw z?Nw3Oi3!bJ5(0pvq*#Z<^p+3jO4@Dx*4o$#$_D`fhzfhdcId_S;v1LY5q-0gAXUe3Q zkvHyg?%B_KR-mKL^{1p)V;K^QZ4lm4fX$w5I%wRZQ&WeqDn37bFA0Dt{$!76IB;s> zW?c1N5_S&Te>6j4anDga*&Jb%QK1J2D=CmQZMHOG(bKRJoTL%Cthm){A0dR2IAtY+ z6MZjy1VCM2Xz7lPA|&7`gNw-?f%n1x2J`x0OoVQLpor6UBc#JHj>f@UPco5i4Ud0a zY+6YR=qI(+I9LcXhd33X)jltD{WUP-iBpmM6j8MO2H5a^yjk+@ObVL&Sb^t{;+0%qvN#OD>bstvk8dssiU~O#F$iH zoW!q8?^z}DIfm{FVlLb~m6(OeK$B48LH*mb z&9#tsS`C`r4dO^fB22F(nUurV_B;6jcHm3?Pe|JL+zK;Iv36n?7aZ}$1&b0B>?IjS z-_Dz1YY06u)P~AW!mwZ}&@8A!8~Ez- zo??sY>!@b;*Fsw%H%`3H%g$%e2O+>9VF6_|G|kk~ve&=h^Uc5Sti43O@dTk$UNog^k3 z2NdQiqGu7!i{v}%v+>t>Ppn)?d6Ww}i2*IdMD`_#rXK~z2f0m>JED00$;=_2rjP(e5Wb=GK$V8t3?+f4R~^r_mi4eJhT5W((vAofr_C%o z5sZY)K67%e93%>hUm=h{m=}!x$y|+kYkth@haW)4v+9&^K(uLrQU9N({=WS$%#zst+Nd_?BLGjamAwW@|aboWYRnD0BE_^HIHHdI7W zEP1CoCcuu#Vh;-{I;br30ojn4+xV%$kSE0A$pZ;EsZt5WtEd zOd8XeGm{D}C5J>vQX55{7A9&x44b)7v=xic7qwc9=UUJ`$2 zbID?qrra&J0&l;73XGoVZpL)DOg)M*J79cK2-ryL0{}tkT`Umo)5ivbF5G`V5soU} ztrG86UF_w?`5;4(#uNF-oS3$bY7+(z4Td&`ruAZX?9Y&mQ1e0?SxBn$`;c6wXi0xd zm6jcAS1Tqx&R}Ls|B1X6ek>6ynhW$aB%8Ug?(VxWgcB3X2Yfw|evIN^)`FEO;H#I8 zxtEuwW3F4Z_^9C_GaZO8&&nnX{glu~&2+4ISrzQDqmWBYCv8A|fccRzPbCAveS**#ku_>hI7sKK$b+b}PzTKY=WWc*PCt!QKVWH<4pJ2&VFLG~mbyTm69 zjmKD;`}92_hJYI}F4LPv*NV^MyQ&B9oXc~Hpe$iY0k-O_sK;O}Y21=^6B0)SbBT&L zOknxebI3+*QsOpiM81<`FKHp)T4aSO?;E^aIRj)sUe%EFO|#iJjRL8D(O!QYzfj+K zq!j_KLzC|koCXw?K)Sl<6`5>!)?kWI1wgq)hT_4C_3+B|nHws5siUO#+J+gY81x9} zYgG}H7Sce6X@1kKNQqyZVi8|_rZa)i7M&*CqM}?}SZnd(;vZYQ;QzH%UhuE*g7=69 zg^v1YX1MgVmy{2S$EyD-Bxgk{bu;KpMM3}#U=rzud93HA4yxI8P2J>w0DQ$QVperq zYaIP&Em2#NI`}32w4rCsu8dC8W#iE;l8coA%GqrwN*81qpN{hKpGm?ye94{wthM!Z|* zF44&l$v`PIsb;j^w!@ew`e8Vy(_07D5m6bbJZbAVaVv|p>a%j|&`GF!p|m(7*$3%9 z*}4Jj41(S&uik9SdBq6dU3rzm?wkQC8l_cN!E&kaBg7#Yl&!SbvGgMB=fg~`>*-#T zS_7M9Ln-3{{CIY9$!rr1rM)YG2?rOsDI3uDk+vEcYg7>v^(1tk=OB_~;5(qT7L?T( zp}VAyyV`i?srWFPHchi4ND$B|jYtT6oie$@9C@GKB?q0k0dmo^X}o=?ireOEg&Q?V zIn!#uIvGiCKAh!KPeWVy2@=flr-u9>HDF6%0d;|fNYP-X}3d2dzw6@ z2QjcIKuzE&P#gut=EoV$vK09$HKi)OBvOG}ac6$Pcb$=ls zhLCn#6t0x0bd=yoN0Z4@9e-T6{FDCNlI&JO--#6B6@G)jb{*{Q9xd6i1{S*|G6ygQ z=0ckV*xnj_UE`ctty-U$O#>2GZaIl*4ic~J&t_0_u~aDG)^Pw`?NhQ1ZXoy~o~So- zGQ}U4Txb{Hc^V(+Ev{>1@9H)2A0pgM(Rop;nurI0QbAiZIO{RqoXiTzMzDq6p<(%&3s@~Zdv*+F3LHY}ox0P#v7@$k$6A%=1l5OxsBGk$C! zf>yn(dlzqz&O#~vxr)#s2_9^=eZ%?V;+i+R1q@+}m7pR$36xqBbfeh>hz1DH@k2|y z_oOCezQy3ofJ7SxVu4)3xZexfiA7{zrQ_+A{0|_YVqcg!%`t+AG|02KYKAXxVWqL zA_e;wpC3vxK5y_u99}Eo)LGZGFW@-Eq1tXYZ(gIB9d30x55lDJ0BI@#6DG|Y?lAM* z=D{LFK$RXU=&z@$mJNv4?XN%kuwaCqH>if zrx2`sf|41C4xHHVk!S7wp^=yQo*S+crPcK{%2W8R`R~veJL+ldzhr%l+KLlZT9lU! zP+q?u+17Npcu)s-mpkM2_=Ok_Hf9PgEB3g(8Y!va-NDZGCovS$2`zV46Us^Yzi zwO_%>Wn2Bd-rbjY4B7prreak6>l^upDA_j6Z@7H48tJ8;fi4L^A=+PiB{;6CVu~o* z5f`v|kdx8hc(J<%{Zh~M#pgeZs9sX4A3onY5cn}r@IdIG#tR+sy&RWSga-%tb<-9= zO)6GGip$!qf^_;#TA4q7{=ovqMA1Y-+b9a#Jd50_sNT@^)K%`J1>8)X7bdLcan|Ug-phLz`WL4MZWZ5>xgk8grAa`*n^qfHMMO|=$P=M&i7z> zYLtfTd01w&6_vt8$33A5&~;_1!!$k$f7U0b<-vNMajwf^zz~5K17e>vBCo{-CBY|a zgq}3q2jhg&g}(K|wDgG6O6^id8_zY+nD4p$5!BiBZZySN9-n;@6$Dlui5HUAok``r zNZ;QXn?J3HQZ57benUGLOtS{%%WAxmDywzl@omMozdE^ak-;6kXlg6{V~PxOIKOo0 zeAbUzN@7wJH9ou3O6QfH^z`P;F$%l3qheukXS!RW)#=%ohkr}HJ;+?5pP+fsnUtU* z01zR8f5IouP21fnJ1G9E`YF;<$Ew&sz8H}5PK;ZcUjfygVFY}q0GZkN7gDX=$sk{9bFmL%qcQKg%?}L z^0bvx0BrB*EL^lb3MDG?r$`zKfisUJXM`z=hS8m4$QrvQcRE!i8yQVn`=0E@UrFPX znP|_pD^uKdW~%y+_&KlL@ddWW57PpFss~tkMjvptr~CBzA4%iyAk|ObrR6Lq*SmeV z#}oEC2{;pyCeqpiI#e2cbZ#3uF_daU&h>Ru!&3b+adyWEPLr^S>8}7Vt8_n_KGyC3 z8A9_U+b1(9#g6o|f>H@T5jPw;LWlc(BW&M6?_5$pjmMh~mnF;x>4A1q3to`$k2M}| zrM*m5yU6u=i{M$Un|e`3+vKQi8!we2_79<(`X5eYYSZasQ$NZS)sSFgN_9WI4^eMB zI{bipDOWCW8$xLzdT}ulqEj)jnED4YDjrlAOIT$z#YBhIIeE)UggVe%^BK)owes$G zHMFsIp4VV;hNw7{B7pme%b4mpkpLe7sH$71E$ONoNngc$RHfKuz zO9zo!W#KiO;`BLb6WqktjuW8n0MsEdG^N4yRKs)rj2{WK?NdZujaHKTV$>0UP^_p4qvvwcfCV2z=g zX)pZ#FD}5D3?oZwmQ)~o3aA^pVm&EjtghIh-uG$FCr~AN=>FhkARx{#E0?_O*w*9i=-)l@?mo$ zRc3)NNIP~#?x%2VF?fc!JA>2fqE+pdk{=ecZb{Ys@&N*55V3pE{nKAsulGjSYE2C^K?AUF zDUjV*Q!BJV_bvgjP8v=dl%z|>Kod>w(t_=?d>8PSYM4WNDJPc1>2ORx`Z?;!(3;Wu zsyHWx>dW%I_;hQH<)<5$4!7+iko-V2+BvTw8|`3zUwDr0rHdl!fk>95CcLg`Ofb20 z^GdtcAQmp<;KRZ9^%dx^)FMye}od)#)ii3DSkCRB$YC zA3Pb51O5k$JG!ExGtv$g4?`CS8A6r~X!RWp)K3zi%W-+kZT*NyUorKE1|n27$*Aqb zNkS);t!Sl_u1`rM@r1Qn*w81Z5-3i-i>{y2Vj`rXkpeHNYjH2td+-5w{9z_{!gO38 zrNT^dCrlE@iqr`=odXC=`jS(#OY{Kb3hMoAI>+-rifD6kCq5o(?RHZ+HW$6OuIfNM ztWD!8p|CW~la`!pt7aS9clq8sIZhwV7M&-_R50no`tfYS@#(7^K+3e0pw~$dmSg#- zwYlZ9)Ss`B?{)`2nj`;m=#U@YkxnD&_IbVYzxxV_5cjFXUipvlne#hUG4dZm1U}FY zF%75!&~O`y_lI2esg7pZF8$=MIqk3M$mC>FnXMpi=;tVnsSEi(mB1pIuqIV3bBk}( zH9Q&gmJ4<&YH8n16RiL+E0S?R>;crH*BRDL|0H**aY6?P6=QksCkh4Kx`s~VzonG3 zCgkj8l&sfySl8#jP2D_h>YGme)#b=RuJm*b3^n#kCO1-$xqQk7BLaa(o}Yh%ew`V8x2Lg}vj)++&;K$M0PF|Hz zB?(gkM5$&(Ds_Js-*I3s0CxnuBf8dsI2o}Y)$W!|4zj)V=1*#iyCn%u&JZU!r%{=P zF6_~Rp@N_WCAg*d6*#*R&rdI{K^RXM@!Q-lAWi#o97!ooYMk$;ED%{sS4! z92ETMfm`P^SPNLg#r~O*->^iO~aftW~uJbA6aG~oyiS|tp2IG!D@|$fi5pWwQ2UO zUYXGveTct@{5fPK_5%#77RZ02@*t^mZ?c(b5l{l z(W0xV!63W17-Nu4H;xH)C_LZ%U8)a)=I>06*2bhfg5pAEYNX(3X`J@oYPtXWvq-~2 zK50d|mF_`Cqs{_Ix+H1nPDQ%C(kw<((YxD`cIa`f?uzZrVI!L%|JdH#EBtVaw@aE6 zDPSN_x8Q*RWh4yc*jM`Vcp#=+fT2yQo={X!v>x0AB=7N->UFF_LxZi9H1h=?BA`wu z=Gt2_)*NKEGH41USCq)>m_{$qx-`q1prMU+`e`5sY3CTR7OD*Z^~yZ%8sw&^OM5{W0v?*3h1;R+DG?-G&#H|E} zpii`UTYODh0^LBz=r-YeJ;6G#UFd4C&9OAG1n z5Bbq`@!R&A25N_U0A_v@$x*{36F|5MX$c$P0Pj|FWFXVJ7Tib*?mZ8;7u{8)$DIAL ztCXZVaki7V`pA{XO=+1&Vd_TWxkC!7q;CvB{G_kI=L003#_j37i@ab6A#KS1Jr zibk<^j8)Un(mSR60J_&r(WC`m5)Dq<9GFd>3#DIPNl;i|AuD>;+|9JR>o!~Tu;n8k z4#SZ%r!p^qmw+N^wJ1O;#py0+n zmk1nAR_Z>`zeeexQ#^k)nTv~VHVL4Z(S}axaisZw zr&uh2#A7gA?F0p3gpZ##z(G{xPXi8}fnF$ZACu?0b;{K^=LILpE1>2Me+)P)bVm(R z%`cx+iVjhg$Q-9jHdWDJ3AM77vj{>WK(qxQNOv?lU3bb?aFSjKqe zcZ;E<)Wd-e&|g?rik!HqOU!K`s!nn>DvJP75`>wi@FHXX4!GLtQp};lpxRwsH5KTG zFL8K@V&6eHDG!)DECQv#;+Nk<$N; zJw)>7%>EgKFuFbcLZ<}X`H8kjbqL0B-UReumrHKh%J6$ezolDF@sE^EoWSWE(gD{fHi zw|B2EF21U3xwr;m-7g9vbvX$8K|#To14=PmW4|}L{JtVsAK(zc*Br)0iZa7uA3UcY z?@Ki&J$4fl!~jJ%uBEWfWhF~<(tfRmZcruIW>gnO6j?eE2n8%KDriKhRtz@Yp_wA| z-t-PKbU{C)NU?&s7qz=7#|G-CN6!Xro;H#t|L4~UHScPNQrEY3&Z+(7UP0L3hk;C5 zZI*sb1eO`lCrAPetJHH`y-S-_Z-3<$f%lV8&|QM!4nR)MEwaSV=W>`2p6b`zUqx8B zQ`N5o=eCY$5Sq|!6l6n8iBlKE@Je8BsL0Mr3}K)zq=l03N+lyr`&i2w^+ho?MWIcF zCI?1vSj3h+!XTG!=|IbE0Gg@Oumln`4Pw>C?nd0JKyVpR@(gd^f6-+1=OpUZCuEc2 z0+Z&ezSlosI7dM*i2|p3mC#a%h6Me_9HTd^5Y4T&SG!lhU1OfNEqZ2{2Y4OIsAZpq zj|}FM!!_V zY7U3Z-Rt6JL%*um$UeceNn%3Mm_}%B&gb29O+T4gSQ^FJ)_VqK>XX%%nM(ttbr6SD zidzVXXl~L;HKNn&zW6L3>cp81C}5dLa74u~u7R|b^;lbeVg>)_< zs1g=9HkJE&Fp40IP!fBsZ} zO-c~(YF9nGD&FouX_AF)#0C58w=8*fI5fet&9y{MueO`Rmev6q@q6mO?T3Fm@N}p? zQDH?Y=Wn;!v*Op^)DZX>Hl-SdKQoSe5QE+RM!vx>!w(^*C%tt8Cj=o}+UzuKiVqw( zFBA>O2@wWXaw8^iVgmIoKeYfC`CS6ZO&-OoJ5T~90sa2N?ifYfBzl#n#C1ytTUtrwr1ffB=KZ2% z0z(zGH1WV81tz?xe+R4|S`-;@Vyi#dO;(XJ?IN+2%%iBlkky<94s-!a(6Y@TJfcA29rEe-hfL$Z7d8x@?|EdmKwt;RD0Q05?Wamgnq5NVI~@m#{Intd}6m zqS>$o8o?$3eqd}Eudbxy73^Yej1yTWI;4#9T;?SKTc1{DK-`EMP)|C3oSE%>7rTOUvCe}H4wD?Ly~4} zD{x7#^y%VVfj3G>5uM$6px@|Ki32nh2h+PHtBjUEp#1kVx=ctj9q1yO4k5B6ClYi@ z@l}j;yaA1#5|2m<;(Te9)9tK|vI3O!eqM85PNi2C;#I^I5r$Y$5=*K%i00`&T71@T z3~4SJlhRbPjQF{m1w(p{kc_BveXmW6Gb(>oTsn9qd4pVZ5cdJQCSQyaM7@>9f1!NV zU+Ijk$;lgYL%sJ$adn$USft?aZv9?yayNg!FC=qH`i+w(lqGFmM}TaLHNz)z<#0qy znSo?7nNHwGma5;TCi*8mQE~CO!pdC)pXuD7wnaOqA0=IC>4KB6-;%81&g6YcC&Df` zyuc_XXM-*|*t5i=;XWu~*>5PWMss>kraWPEy7V=50!m)mKoIAc@?p=@9g>gLdJ?^! zMDtdm`YNDDBUyU1xdEG3i<&3Zu0u=;Ud#$fol1is!KGG6sms-ZTY;A*`>t>$j^ zYKijEaYLL@GfK5Rsimb$TX*^DNlm(?={YJifXBpxi-ZX>^poz)!0rf$Bi9AEr!D=f zFg^x$M+b6$e3yE=;Q3|=&N#5-CrW#COe$1JO%J#?v=*BKO9Lkfu_(H7!}b`^9FwsGXWCRk0PD2%2+=QHOY?{#=FmewlAU_+z{IdN z`$jL{*@=t6I@n&NHe6h2oo8w|DZN<~b#ziub(vjEPcM?_ z8$k2P;5C-F$?4R_;@K~7n$z+g-@m2x_Li(v^Fj|8WQkvAxZdeu;!vVI;Pv0uwgQ=8 z$e0$?_{OVz!61Ltm?%3ln`lgW>6S$lgfv0+svgBdkeI$Pzzv-51l?Kk5xTh9JY&DE0v3SFd=YNGsKTicub=R;*~5IoSIB)HU1(c3 z5V#7bpMO1VW+=!N1;nFh&4q+X9sEu1f!w* z^f;3nvM9~yj+tjN?D|G5tM+@=7;8Pws^G z>`wT=97APcp5xa;4akX8)HQ%CWi5T|C?a#^_4}Yvm$^*2!YAqbKhu=|-Cm_(n1ve@ zW(^svb=6P;lM(yWNwQXBeBU?dNnEA&FqTy0m!C{guxBt1lqR$;nAiKb2U_902W#4# zFyUJozAng!-vi!M)m~197NJr7(f>Tko4V6n+43H4#*@5a!KpbV36mgE1SH7<>lc@# zyR=ee3O)Qw5Q7CCi&NdnSWZ_Kt&<@lon$h~;p1Z(c9TKkW;@?!PC`kYsMPj6%_->z z?xD}`IIc>`n@>iB$|w~~!y?X;G7dvBd91bko}%kdegn>ASgZ3A3a~$_A_6r6ESgMG zHr<^QCzSlpUEWlA9LS}AdG4^3-W3|q3!2L`0VOSYL{?JZ=Jinoo`1XBUn`it0C-vO z!~mM!-&c2=cH3Ol0Y7fGhu5e(B`q{c0-Yo(0@NInFS7i2muw(YO94m-+N(SJld;mY zYO0X>LuwszYE)z__003uEp>3e9h2Mwlyj(lP)yWrZVG`|rE-c)PI7|jc#&ov7j5u_ z9`L*S>(a$0bY_+CJD(-`5tO_GsMLqM4M=#h>Y7r?I;}zMpaRAh>~Z&j<>`)w4V7`_ zj9au6sZ~utCVMCl1;+fcPjmyvItz;@h;nkB{k8$^09qS8V}K(;c-E|3BQMM@ z56>D+IW@G*UjQkQR6w1nnt1^0g%K5>z%M5?9xL)M2mRiMTSJ1-_3lQp4U0ole|tOK zN+m76*Xe&QO0HBzf@w_Cnkp=SP5$Ot_fSvcd^zv_9Nb9VP+X=dC4y99RYeU-nxw56 zQOwjXFU_ebw=z?^ytGrZobC8iUxL2AqXOG48a6{l@`<18OMqGmG;;ws?%_}{trl?< zm1Js`^lYFfj=d~{=QQoj3~=WAPRht!a6R~6P{uwO_P8KiPOmtDF4qqHrkc787hfK5 z#6`!B{$ zI>DTi5UmH?EZA8NX2p;>KWOwh=8TI!Mdziqm2}UjfteXNqX0l(;U$I{&%JP&8CM>W zgC?ZVlq%*b1BKyiwv;4!sJNx1eV>f@dFkl zZ?r7P*d8nQXvl(+3Yg9SVhw=#7&I7huMgG7vn&V@`ywZ+yoji2uaPCw#~z0yrz{Ai z!3WnQ5ICU_Fd^q~PwI|-uR9716R>F%kD>2T^FOCM+Q)nH8NNZoxNh$5Z?77yoZ4@| ztePB9HL4aG@LmKR&Awpf>3)3S{x=3XE3j2>(o7-L__Zx8zwj~Sf)d5o1z?v`19C$3 zrnuYF7Nk}n*0o5BA`HE>tt)W34Z}vE){jU{RQLKNSeSVC3y@!|srCGXqV%AyLLjCq zv>f$`t45gFUtZeTca{+oyu57odkNd3n;d}JywisL=J*?>x3Hf}>I$>_m8yN8^tuhi5ZyKtmiDEZvSy zU|bIOS9gL6@YClnKL1vZbAg~l2~oZdO$K~%TZ0iGUzIbtxR?&9|85ZD1pTz7%5DpK z6tDV5y-Hrk{|xJA1T`jfgij2(r!YuhWM1sq%VnQ9%7#{)M7xtQ7DqAC;AB#3c}>A~YQ0J55V_B26VK;Ck{7$N7B%;a^;At}Q8lY!^QWXqx73Vog zMlaV8k=YRG&18Q?2-#nQliL*2lZHa-3g|mva|8o^bm_K6`hHw|4=gcG-4p!E98?yB zo?6x#QhoV2e9tf;M(c<~nF*FlS(sNIu&{7oyaFjK7?gB`NgP!gBLTt1 zc4{ls*fXwO15BSZO^Ta368FoRjakF0lm+l{T?yd3rLzvO06+wUDO<7rO03zE_1rtf zXu00jw>uz)g$O>beFRH0FBLJ7f*mAapbYmB_59>koP5CEybxx7z1`DxX16b1HD3ed z4Y>6l{7}Q=Gak?&B??%tyHnBO?M;JDi42B0=GrBcwKg9`ZZkmeTBiO=dj?)S!fgVuv*msZ132t=v$ zH*+VVAkoa;9G}R~{X}TTm{uWi&@utHIzS22dlRkPo04EY!2L-YP&tuhW4aM_$Lx(G zy4^L}y#dm|>%%K?%N96QQxLJFc3ZHF;CfB7y!TSvuwnx<{$m9r?!s4LDEO`843HVMY;& zp!)*gDE)k-(On3 zcENq=Qz-b2deYr9&zRF-Jeh9DALH2;cY4a(!!20RM<<=MgoYA`iTG`tN9>k6Y5S6t z@ivGmR++Uq+$JbMW&t)vg74w8uggp2ar#*fftiqEqUm+K z{3ENd-#xmD)F((12hz=jMVMI0pdE(V5hg=BHZvJD-~b1`f5u(05MQiNkXUm$y6PbGy6<2f^tSQHpkR`ox=-qtZY!0t?_g6LDi<=FdYk-I+nynx+ zv3X+fAiXL8(F^PvSl<}~3@FrWL)5L!L{UMNQn!YUK&&?y-!&b2fszw&q@{5BG!naDfkXXidsFP+N(!7+^8x482DWDX zWH=s;MvUT;HK8q9@&-W~^INBV1U4ePZqOf^YbE+Lh*?9@i}X#Shh5O3N-9=8XtS$` zM=?3Qp6QhPCze?pE_Qn56$-@&C~!w2kdUKOLyg0IB*I6@KCal&38JP$HjND%^dI2k zDzAtfm0mdK(E|lFIKZ?BO2VcsG_!o5f35C{D}9~_8v|afz4rYcsD~c3NdWvOgoAQ) zC*qjlS!+n>FF>ka&0=U%ChTZ|D6IhRmeF0Uqnkuq4qygp-$JX7f?DL|7g$kv?hDA- z1GF;Bqk{NwBC=~?1>LpkIXz9nonHaR#$o-g8U&vgO@UP7M!?YFvk9)k>R(SVepn zj?^K_v)({|WO_LVSsWJtvX>&~7vA7dWluJd;l@^W9o;Pa%aEBQfTk76Gbs8?@9GG& z50Lw*4jEeloy!niCQ!^FI*0(mPsi;Ply5~&mO$r*VrCZ?if1noXbuu4?X7UMlE*Ya zk9-FLWh&@~nn20X@lk5YT_S_Ai5+LpNrqg3tQnFdz-F`Q$0V#J%YLI{H?iRqffClI zO(1DL7LZ*vVn&D@f+e z=3{)5sdQvXtwM!e0L(1)BsBJMIP)oLq5U9kRN(E4k{Gc}j&IDGrj{&CNNuHr#T_ZW zdo1)C?~F0e=PX}`Tb}g>e6G@psG(VKp5U=tUVuZ4<_)n%6uu`yFeQAp(7F-<;-vHY&ehnXKhoa-^PmJ$SN<)C1?$r)NhtXlePtK0u^dm86CF4f%_eALCqJEfS=m z3Y}338g^iJNS5XjL0dMW=vfn+RU=kuEc6Q_8_e_Q-$avY2{bRg$>AvO%SQgEqv}zO zbDLy!1gZow%VwOq%1b(eGIz`^quZzp(7ASX(ID?e4aZy|%0ozkWL-?F z89(F^x3S%m<>84r$AsYvsx*-B(t&zR1V@IqyRbZbE=61fAaRnQ;!4S*p#e83hK0(p zsGU0E0-y6IYjZ-hF}4cm<`hyU?;lih0#q|=(fM#A^PF#AT+DCPV0;kovo>nmiVQ7G zE!QG4OPDwR)%f#!H5ea^_lA&05OTj$8liNXHKXD`WV5ttYc>l|b9$9QTqT}YOsGfL ztikxGRFdWBmsN_^D2eV9!dgCz`OO-PA5vmik%dPPfZS(k>ZU0xBfDt)riW~nR=CV& z#gH%+yQFVYS3(F+?@PfP5uNJLuR|yL}|gU3dWFGu6@zApQsP6=*?^cmmxXtmm0M zUuG7wdp;PRETn?oC?1tO4LR?lAfND~a~a=Ycv{X;yqPAMPc2_scaF|XC&60_gZn@6 zo}S+PyrGB$)xQBpzpbO0yZZo&7l#vyqM>*KIdrff`36mwOhCL6<4bjfBIkF1Fn;L! zB{=Xt!FHdX8FO;yO!hFGKZ#|bq>M$VQ*)j#NbU>lQBKF=qy4{28x5vI_X(PO{#=L zNhSXm`2Z879xgiRXlG7Bd-?21z^@)~5=bx={ija{c_gw;V={fnNep>sST_)9$cfMu z!kbZ(&))yR_;^977cE7U5s9iWRK`m$k(T}$;C#Jr5_naT#mUdQ87bVBc*AS6mj0HV>MfkE|@-0ZBp z-(J-K@Z{?If8HMMQli8AZ6npQ1UX@qq+H{m0ND^-*L?Q;4?Tdye8Y|Y$g$<3*%o2W zv}LQTt)R*`49})Bjr80zAO5$1RV>cg1Wfn7cdLjD>*pM?OT5N zOK~f2e93A3%>NeZdmM7=ZHBcH}{P?jQ6r6dcS(WDb(c8(KSTUc+OiAj-YB+Hw%k0 zpQ`0dTTiJXBdLMXg^>RjXVyv*AoM0Z5L5hVfYNwc!OL{8Z3PKH3z`JZxUO`@=El+` zm*l?0;&k>{CRTnUH6meC+e!W#c0a70HcKrhe~0Ju*uN$*NyD< z+HJyV(S*{~8wQZX#zc58WJP{bTd6c!%ylXb&n2s`o3?<*E|8V^RFjo^>iQ%gsXG!N zxa7LM`#i@SvlR+7DZLOUS|agGXsW*n^9Po>PR}vVxh{aaa(K--e5N8+Me{F7^or`F z8BAq~&y3hfck{GHL7z%x_8Wi%N2cj{|9N}U9M)bw>7|9j6wx3tr5aoD-(={_mJ0#e zm%13|@^?Z`eoeAmTSSCoJ#^OoAY`^~(=K*dJkl0bZRO^uqwjdFA|oBYDQ@28cW-YS zpp32sH6|?yqY$M8pN9fcX{6MBYA*Tf;_w>gzhxRfZf}F=2T7GXs38X#HagM&;^O<) zfWPdnzb@{IbN3~ZCcyN3CBRb^IAYy>IWmpJrBWeeI<@x_XXTmaA(=D8#e$U7W{?lQ zc_wds#=3=bC9b9?!c(SP_8KofPgx}J*c4N0eB6N3g@zwqnE$(mb)?Sag3?iHZ z;49F)v22WI;CxlS#%!qYr~;})7fBOCFjU9HE-$-@O{q;EGg{-X&7LK^;M5h?z!@SI zu&7uP-~-M=f>%>*?rwWciStkUw-Vm@R`OMUY^uY#?;$&ZHu4pg9r_$e5b8biw=u6< z@`l2IEO@faDiqBAHvR#9)nL%I?e_BWKMS!wUXm^|-JM6ci>=qZQ$1#0?GJUp4GM}ei@NOEPV??CZzH+(GY+U=DR zf8VN~cClC63iCrh`{V7^)@@*|cH-sXt3$Qj{_Qo-9B#q5>-13d@t@xE=a+}?c6W+} z4nO=^8OQ38pLRdq?Z14+CT?$p=^s_M)l-V`Y?Z406_(bY&ajRXzytB4=Vg;uo}cNA z0JGxBwrJ~4Qvs^Id2F>--mUoPz^9drcOb8Us!+&jVZO?bjSPwmlHXtO>q^mg3ZO6T_RCxqP1ZUvkrhp0A*-L-I(qT>_h%d#0mZT^e0pb7cmznJOUcfS)Fi4I zn<397%5;cQX&J7GulGeOGDg>3xi>^88=veRvL3R8Ob@NTx{AeZfl+&LakZ-ot;hb^ z{I>E96bk@)1Zt|^f`uaxm7*iL-FwCVa&aO47ljY`H-6dw=TC*efUMJ9z_0}d5A;ZS zQj@1-0&eFk8D&h1agVraN>^?Qa@<36okW0GI+JuXX2hPZ)i8eQxzMq;v}9q{D<|-h zy<4S<2|x&JP>~XCH{II@s-AKj6<6C=H=>DgAMCFyw<}L1Mj*<3K_#8Rr+h@A#V#g6 z8fAh#9~Y_iQ4cP)vgfho1$R~aP-si%YDzI)HR+vBTW>I+JROJ_Y*T0c8b`#rCU6}> zwOGJ-C4qn($Gn}wKJtX%zZGvgZ}&Pj zh0DLB5IiSE90ydYmHS7$cbMix5-4GgKqM{1!6jUh%3CtJv>`KUPBUK_~cbHfIsd{6GV&R4Iv;$TM+qM-T|N3IggxlTSa zJ_XUHNvmALoAg5(>s)`O0NFt~A5~*Wk#Nxsp%rd&K)P=L4or>sAt`y38g)Ew)+7d69Hki-(O~6essHooo{a{aL~bnWUw{MKZ?j38EtJD00BxATAMVF$os%M!UKhhNCh0) z;y{$hO@DWxkwtSmmVR zKzPo}`nNNv?25a+84baP1a$^dV;SAd#tnkb^J^ z2~yJtt7!sHm8q=nK9mOky%Fq@(y(SrCqFi;gYaNB(S-qfLd|B68G~z zfB*UCKk&bGb^;QuuJOnS>^PNCS}{nL{5>Z8yK-y*Gk}5uuUoVziWdMA-ra7SS}va1 z9la}BpX;+m^kXo!eR0tTGFGmaqMjo3 zyu1Xe2Bycc9CrIV!%AbFDnIKrIBD&urfTd5DDVndCsuzD4Uvkr0{03DZgo{lzNh-+ zsrR`-^c55_FXD zuW!WBXz}9qfz^r=x**w(`d~Itafe5yJIW3)B%-jzu~sDFuX2y*JO{v0&AkQe2Cp6e zJ;DYSw*n`KPib%%lF!kCL7}!HcO4F6)?*G`C#(_Dc(J=C(5>GsX=|t!Q*N;Me!`{F z`$m*={D>_d`U)YG;7oQo^U-?0_^`@GkX@x8R{ZV>hYcI4{p#r_E8>geR$&N{h+ViQT3+ym4i2Iz3OaL2EO zCifUA)x(DdQ<+5BRS#_#w7Dy(3yad@3c`p75A@ z-ito@1w|CY2^?z)s<&dlA?`>nWko}bnGT^4fE^L!cXER-FMm)!pZBlAinhTC`>aDl zCKDDUHGC%Wr0p!VX>NX{32f&mT{C`%_7-SASmsL4waW9kR20w>tH^!w^{Ig+rQ4yR zeiQV8|Lg6yNO&>SkM{!h1DBe(dEh1^+o`bztF|I9#_pLWH*@1$ zP(@Zc$mG(8aGvd`2U#!A+QOK8^`EtjW1+El--wJl9Jso0JFnYld7Dcs+5&@IbHTD z33&|Fq%-)}SRyX7sRTA96YkjQ``}eNb|bHKBa5FnsL3>OB=SkU?aK$SP|vN3S*F&W zQYWqt{iXFRlU@b%T##%ik|3%<9XrVr@f-STOUV)BUjemOfNBkPzqmHkCnL7{SCyHx zBstxr4-mZ4eFM^bC8IZilmpW7if))dOyHF@pFMQ^rFKTq9f@r6LK?YNpnoVW_gxYDh2cO7@AtvL*vi$l}Xg3=sJ~A zmgh_>0TWRA0pmEQ&9Nj=4%EX$Q(7iNN}f^n(*9yuq!14sTR`*xv>IrkpwwPBr8O^| zQ?k7|P$R^5vBGKINwRnpklK>rgwP)yJ*!?Le;4(&(|Cz~-KP>o=RZbCLSG4{Pf%YRE#l?oP^fLLjd|v$s&9B`xY?Z*{V`>X7DpWb;IbVjW!SIryT48TwRkRbO45 zd>5dM)X;;HK}91eOoA_E7`o!r@4=hbiO-PipsWS^REl|Y8-i4aibeq%l|^J9#M-*~ z3m7OWd%%X*Z2gKr@>qZrRoGAU>ebbTKOv;(XidT_EytwkGl)4jwatgm|EP=-7XJ}? zM-{OuYI)xqN}m_7)!+qN}1r33M zBF`mHNx)~$ch6N}POBK8O}I#aU{13@rcALv{Mj4EHS4syNkW4v|FZP3;4;xF&^d&q z<|r)NiIiKg6#KIAT*r#ur-+NGp&f46$8lR9poMyF;-?UY8?c6k*C6HTujwsXqk+U8 zZAi-^6Kr=n=;F^FiL99$p>M*ntDu090%HuT;nK9iJwKha6Ny4Nqwb+tDM5Sf%7^5DT!KaC;5Ml`F7bfzKjr)r9~XT@)4-!9nG*g=x~i#3xJJi2PQv)! z7Utpl+bB;jKw_hx5m4~ddW|G==TZq_G=AVp%#&WsqK(poF2jxQ5jd4f^Cd6l3^VB& z!Wvq!boEKRK3OR5<6tlj(-6Mck#84qS)UfzedSbKH35noMCBa+OeG*iBRW@Q#*aqf zn%gg@=hIHHinxQ*+N$ue@QfINwEdRfF7l})F$Az@%2rBmJV(lvb7xXav} z6Rl}l0v*A}udT+@gRE3nS6|eU&TD?yl!dfdNlHp{1_J3RF6u|YHAVe+wQGcx_-hQ%{uE{optAf#-)G<%~Km+fkP zNAJ&H-mPK?1mHHNb1FT9=>abw*s8e5gc6o4x0z|%6;1T5{wxRZI7*$>E3=Ld_2g8a zRuh^llSh-JVKV)QNjnS3wNi@e03b)^*_U0OJH8L*0PV}@a1VrCV;WQ%0brVG{4G9>ixjxmri3HzjBSeo-UqD zIr^Um#VIXbkePI|&|5I$gLpuc z9w;1kHKW-n=0a1BOUyVjE7aupdg#J;5d;~ihANHdGFn#_fDnu;_GUth?{t4Ysc^F=v`VESplGWK zU8cXR^7aP?jvrLi9XA13@0mc{(cjD0LFHbrS{blfSJVymGA)5~dc+n4b>p#!a1^aI z_s!nTb9i3I@!oe0a^aVvWaeoO*QAHXLJhL3{e3i-<&hI-8bY5nt-UfpgvnSQrD(YF z#dgGzQ+~REo1!xipmCUNt*P4yDhom>-W4J5bPOn+s@51ziBGZ<%TDrgbw3?36@Tssm9z={E z!=YO;U47<{ta^tnH68){Gp;HcB0s5St7!HK6KAC7Y~r;+*#JC2r&Xo&eYnJ#wxID) zocWR8HYm~40-DF>(>;S6k343^?-q=F6ps8!Qk?SRF6tj2N#cy>R{`z8;{ZIz8h6n{ z5@*Vm95~vL#St}zX~P&J=kwH}S-u7DkT~;>BtLKYTHgQZwi*cUH9~N>X&-}#f7o^X z0QeWQDG#bVqPJ33g;hCCf}S-2&Ptq_xksO<|6iQ??TuY?yOoM~EX~Cb(9{+9kTjP( zY3Z4mg#vM#=aueicr49j{oB{4xuiKAzVisMh`hnYJcfztJO&R)a{=(Y6i95ZXp@E% z)KSFGiN4I<>|Ty6XnnivjvaSobolbM{=o(3WOOVqz6-((@0|9gM z9?_k)I&NOXZH|XAk}eqJ<=|C69ygznap&BhQ}XbWBTZ*2A2W}X!`_XP$z`+w{Y54& zJHIxd-=r8M^d2h9untlw)?DYjc76SnI5%}tW=V{Dz%SwaBjaX~h5U{)YnG423WznA z;dkNQT+Jb9IYFI%k!5XGv|fa#=RI(Uk3t;SG#98sF39mTm&J?upfr~Ze6PR@X;@un zW!Av9*WJ)zUG};(mm;kFxXv=a_ULa{9Z|H_5Wl@Bj&H+c3oT!+ZgKBB&82PvKTet~ zO&elwnP7^1JiQB+_tSQ3jUn9on{BnLn@wHZ72Q6k=C6L>e(d{)U$(cKLsRUl*AlRc zf;vm`tO(LJ2tqU*=kw=rNH6dxiF>UkK3r|9CKxrFudbE zK#a%m{6Dg~+O`p-*zrTp@57)YEqM*_uS%49#LLGIZ+>asPT^tI2+lBO>6e%89$a2J zYn+bJE!xROUA1f=N=D0;NwRd39fGn<{f6f5WhGro<{s3`f3(RP&PGc##o1!5Z7}?T zXkKSNm?#-DD$_$qTagJFRG$^+f9R$1KzW7W{yB{^YxxWrVg*qf0Nv%h(OxRt#`?cA( zSGzacn^&8|eaTEy?n&mAu}_smi0J8s`|+Xt>UC57($r>{x=w+)!~c>7KCl7W0i;q; zmW)^Bg-KtB|Ic13^!u|wH>shD+kMk+e`8J8 zYz=oiYEsxq;5S7QqKrMq#AxULX8d66RWQA(fz(kw~iHp3F?Zo0deXT{a+>!NJ# zw$(YWXF(OwqXOO@=VbKJ=54^Vo`>-lpJnNzh|tW3`hi~X{c5^?63QiJX*)~ztlu6LkP`fuO=(F$aUip-QMUeIA zM;!Te3<_2YPwDOh9VZ_{u-N7F{NV(*3b0M;A`=a%ZepKo*vI2m)5$yrQ%Td3 zMKgXfRy}zU_=A96qyLwZVUwV0j34@)@D;n}N8>9Q@HO;bYrwrAsZ}D17xO>%8%+B8xEvo{$Q2cb!P0rrJCIYG2&GZmt_?(9+zT6f7aW!b5Y{dy#Q6v|;Fbc~sMg zxmDcHdE&Vrh$A`q;reSUi z{Blhe7{bN*yraq$8^>6FP^YwUPJo8+(yAW18lQ(blYAVjo#<&6mTBIk^!!Z&?5(kA z_?>9icFm8*4#CgO>nKQQA6+E?WlvZBXxeo*_j9P=^!0%k<|(eh+H0skkg9kpIuG~z zMmoCKcXqFQN_H57`U=-cJ-K38h^69AQ|EyxwZHI399Fi6-REKk^< zpMLRK1SGf!yOB2c zx3|q+927DpKnq}c$An*6{LDDk?U?;zt46=u>3MGOhWDdWGasdtKL$}1wLaou`dBym zs!KGhcV?NFWigGy%fJsXbEfR(`5z@?MLEE`cJ&J$@M?F1Q~$8t-2k@Fbk%w$!NQ(A z!|M7r7Ws9EM!`|Zw!66C2& zWY5$jx}91ePv7}cX1{duYBZ@I6jhpvww1RHm)XXI5}gv@=RYXGD~ZtjL=UxZWa9b# z%^P%w&2G>13xugx)bPxozaB_mii()eeTs+J2D0qih>Zux5R9fpG##>-dl}6b_2I0RoJGMAR^< zv)8-ZJ1&kN|5g3e6eEGMs3V9?bEO!M4gmjjNL#x;@{m?C1cLBX^;e%U?N9mcWIJ4WboV?V&UAR&ViG%|K-wD##^ z-RKYJmw4TC{D$agINuS7kIFCAdPZCBvE{5pebmi=<^5M*I?2UIF#!TOOMJ>1i6b~P z`KYg{sheyPsh*TZ@Gj)?F=lDl3?0joI!lpKg`YQaZyt}$%FN_6b3Ry#oEK$yL}FCKHP2iEgaW;1x)IBEXg@0;R3kD4aoOJc+3{>CH`Fa@eB z2=0)JP(^80NU(kI#Aq^Vwd)wl^i3q~L`~xbZHWUgMm#ONsnY=3`#UVDjuC`pQRd(7 z_SeN7dCoAWro4Z(xx2r;YBue*xvCHRxY-^g|D@vb5eyD$5}YegH6({%;c1hkl*a!w zzvVO}{nyg|*{pvy?;Z%eZd{|lZ4JsbGl zxPj!O>Nx~q|7_Gh8}-k|{VS6GYia*L)<2N<59Ewn-QI6&w9I|8Ic%@%XNNc2fBeG< zR1T6glW%YSdILGD{K*}^aS&v#`gE=(XiJ((nPVY$pPB|{3RQW3cX|2qk1zl0o6TRo z`r-e6^TR|ifYB=PT#z~&xebk+Oa?PhzkxxFf?Mx_psd#3emohxsP zxY56Nx7((shne~*&+6xFB9cn2f60I4qkCm5$xW93u}mMtn<@z-+Hzq>CGg;$XN4Rt*O{Ug!KWWe%5@G6%CnJ%P(hI|1`&d3%pl z%-hGy4#LT*x7utaqbfvh5}vLT@n=e<_2Aj(+iXZ4!E^_=eqz>1QWTa}O~OtPdwGs< z8x7_s!_mTY@Ib%UD)n1c%A27xA0vqF%D5UT+RwuD2j6sWg)Xpn7+@F#BS$D678y6a z!842E1Sz6*gO3SjVM*>HCi^$f%x7!H$5pHaxZw-B6i2B~?sx@1@sR5(f$$ zZScgJ+2zVo>4s-q8J@Q=TQDW_qQH_u{|!sYUS#0zy2~~Fgz99ZR>MI0E@yKgtJMuzk8w|o}^33 zAPm~8JNdc2F0RtA^-tfEkih2fdaD8h7)i08`VopMcO&3LyA3!th`-;ydfkswHDM73Sbc7h5qxSBl_VjXmw=Zo7r(A2zxP30jMYqS2G0T+>DZ|=6bttxB{DczZy;585{8(ubrhNL_{dfUGuk3*7kL#f3S{i;M4Nx4xCNYSwulc%K&s z?Gsb(GR0QE-X4(bZ-oJha>z@wCMPQjG^aRADM!}sizHQ^PGOakanx&}pMY1Z_mjqq z1cZuqwWMUJIVjG}eL|7g9X2FuU2lFZuI@#@i6mvTqIkw9`_L2r#Pl&)tDOVf;nC+1 z(q5n;^ATiT!g%eNl+5Zfs&NRFy?UF}`{LE^CcnPFVm)ts!v3U^#RY14nuJN47Y6fVT$U*2T)5r-t~tnAkd~a3X_HZV%E;nA7*P1qNP!ut`K_pAn7Sy^C?GGF z)p;bnpBN^7wcj4@{d_c^4JrqNN!~#QuB`_j#(35Ap=~&!=<%G)V2L{=Gg3gOWC|VX zoQBCwn>d~XbvIUz6hTslZF%)}v)|p{h*e0_h&pP*3cTU048*%Ld}MYTNh{dCLRJcs zhLkrPHbdbx!->a8P2I++v<{v;b#k=kH_Cz3XdalHevAn5b2>#UrKo$Sd1^44+{uWW zd>6mjqs=lOvVO``YJ3upd*gFkT#^_Vcy;%stndp`W~2;`tZ?byCcMLi7g3kE+3$DU z+@JPuzr~%2W_cdxpj{n6&ol&R{F=pS8T;_JnAzw#h>gIghibpoj!zDmmUI#&B*W4f<5X@DGd=a{3}5pZ~gChOf6RG4kJB{0VusC9d{{k7Q?`&akZjne;cfs$rG zx=&1u67^h!!LhFl-h_)n9MlluW?$6X-`E3*$P+cs0ZOBLgOK9zk>{xLL-{u|2(bYA zM#B;^9~8M389EwdrpRMvm^z`>B`vB9y@HLJnae5{B2uR@cKrUzyIiLl~a70rC>2-=Y38`9M4AonwZb}00G>G}Q5p=g`W+M7TAFXi$2 z?2rHc@1OmDUmARvyW;T6<>i~=7mUFliZ_4bm%Tb9RJ-0_GBFOZPFo5wVU088LCd(w zKr-NKh$<}Aiq$KcOXV3i;CtxVkwh^;*8n_ri#VPR$XYp{I_i7DKaDhh;46_e>|om2;(2@1?r_D5cp#za@)D8X>~D&z4Tpp{zOU|f zIPAXLeP6uAR;$&Fd{5I({q{ypN^eCsoBN62+l#{)@RB1=%$3}Z_zmiNOxxQpHd5S2~!T!j{7Z>V_>Ko9h{l?OXPb_^ePRUho z5t9*K5K%zJY)g&bJF`_Upw+|EvJZy{$@+CzR4SQ5hM!r*pp)#<@MF%A0`uMmd5G_f zRB$u*fe3b3?gF9C-UJ{#!m^;2#gFnL^5)c^wIfeeu+kD+9HkaS-5!K?qWTWuvQur4V2PdRexydMM z-^X7qi|UudRiVP@fRW=e2U9hni7N0f?zNe|mEsVUNT$(dL`VUkjK8PKF*NA0s84)o z?5Xn@%zgDC5I1VDanbEs!c)eBo(;6)!RQjroM=gFl>J<^t<7t8RLIVgvfhYXNRJ$y z*ytK(zIEY-G;uDiKpJ8UQ9%P0wcRr-`f2xPn?3um71^$C5}6Omwn&IW)}f>f!o{BA zg@Y}`;f&s#;3{cJ2QfB!?izmj_MEZIdUp@8lebq(4F7BOuW#fZ65cM*QsqwRn3~Wx z=U5X_185?o@}fzQIb+g}Uy%9ym*Vyo%nljE7_CK3HVIjc18i|yqhua_0S{TFG9m1volOD!~nNt?v`lKRPfe;tB#rif!56+yn8kQ(bKkOT* z$&A`yrIi?;B?Um(73{&xb4!B;bAviLZJx4CH)8ofrfhOXw3dvEg82&$L;vy88xmqD z&=B8_LIH)LW+O}+i~%v0)kibmBqvuT0P;mpkaGQFqas*^Pbc!Ci~_t|6{Gxv_!-A@}Ai%X}oE)yDq6q3gi$8Aqd*wKAWoDUU8kdh3cnrdr%Vay^Op>y`y`A zy9>K3AqGa&CzO&wu9Go2RZbS(2wrh{`Qt4fbW)@`WVk#2`0}7E%D=tlnZqr~UtMn^ zw*K-`vA36p?{;_JT;JZkRVJ$G>+<=ZzyJL6ANb!1RiWBlT{RVY_cy8}QkK|#RaPlF zoTtkrH@h39uma9Q21iooc;tNnr|LhJ4IP+LHw{Ar#79CX+xYVKD}GL=G|OQ!IHNmh|ja+ z_UhqXF*q4MIcxsFWsxc7v$c3^YlE78eEvsYFq(f(uUs!FL((&br*>kZE^nGMit? z{imEQ@mUfvL_lxJ<({2Srg`Ydg$DoVg9D;u{AfhKjgo0TJ|qbj*z(O^9BpfIeYLf!PN_%ls)n?mYCx8qEWfu1FeB z!bu+ZfsV235UUZJqy13(?wmL7Wp((n|Nm)f#?^J{$|XZWq<$KvWljQ5@&C7XHZig+ z*wWuO@xJu#dmb<{{W7z%?ro+&F8%S|y|ePh z;zI%$YpW2GN{^Xp-(Iukv z!Rsp?6xJYh$Qof_#dh;(ksP0x19Fc3B%5U;W+$Hz0e>sySbjmU&O{#o6bo!V*r+a18ex=Ze``c&*<~p4Im3Na%=Lg- zX7kXjPuQ9zXPhj7Z55RSXRF~X;nI!eFhL#5QF8gSw5TK&hU>C8$hCs7N)+^tSB<4F z%5k(_#B)S~*z$Q{n=&(mvHN;r|2krIktU9DTv$XCd}cYW_6vKXRe?cl8+C@cq4Z3P zq8ICnh4CO+7_6q9SMrIR!ILE@( z;Q-L1Nk8HQpJF(}Fj$J3rHYDUaw;~Rmt1lJ+6yJLomh!r?hj5Uz*-4(98BY}sIw+oIlPUh{?DfzsSYoS8Rg@yDXR%qW z*iSIP!K73qFhkD;TfID0bVkV~ho-`c8sVSFEhH)_ETK88V0Kr`@l8Asa7`@Q)fXgt zjT-xC;C#k?^fGhqPH2-y&Ef^DObp}V-Ja>4OmDd+H_gPj8Y#lX(R=`8H4!gJYhqDS z=2YqgW&*MUTsXGfD2Ze#)dN_e53^DWS+&lLA%8x@&R~EZCIYm5GVLB1Bwo;BIf$=5wAQO8c9`xTZC*wEI&rj^uOnl$uI7*}j%-w-< z7!tFD?wFGkKMI+Wu0yE7L_>y6+LBz|BJ6#cIrajoL-YeaAF}1Jo4}GD_>@gxdVPGt zRJ@dNnZGelo-sC$uh3<$SA#!Qa(zM>cULFdPCj(zC0)ZRZ-G_oVu)E8mkiD}plH5k z2Dqxi^}0;fZ;A1>)G{+>*iN+x;-b0&klM)@`=x9V zMPO<%%~kfqx+K<~3VKQEu5Lq zzHciyS^6x`@JryjlnZ$_gM4W=mgHt?Rb_J|AWi;3JgdA2KAW=ZBp;t${ zKOu5slj@3}J{f7t#?ffmP&P!Uy171DA2V!jK+f3-fJ=PLJ7gj^ zY47^95XU9i{-VP$?v@-7&&^WU$K1WoRXsPo^T=!}i&?-$D~qAfi7FLl2o2voccCCU z1y!0J4~E8%+u0k6-Wydh&UHyLkK9*xDds{yhSbqDrD)(J%EcBi;_Mt@Zo<(+e=IH9 zk@*mMA178DZpHEYVZ0`(?3h>IE_d66#^UgBZX11+USm&;PTh6lP4oCoVAjhlsH_XU zHBlxoLyLd}>Pw)BHgy4w*`TiJWX$)AB^qc&+<1_QHg!b+4{YaQjt34wOeP%mqltlZ zZc`UhR8^PTv@oKKG%+m22@uN>+O)->EJXPWA`_4o&`(sSz(BX&+43g zE?$uriMcHv<6xFVz{#TcON&7fMKEg%4sCyJ6cd^`P2oIFMSNMQUC0zOlo-0AiHERg z89?(-`(VM$QzCd^n^XQouCmJsjkCLhL*YP(r-xjRu)u;uf$0Jhb^(yH9IDpx)ihx^ zuD zt-$I2C1>szF~qRTtRi;V+BJvbeT^%%l|*5Qa2&bNYp0 z=Jo`@CwAH?c7vHr3EP1Jea+pRzK$A#nGt3P=WT4W=iD8MW#Srr&E1^7jv4fa2_h=i z@H1{Jh@4PCUvt;c$I#hK0~4!@c~11$>4ZCvY>Y*ek^?w;b8*nnXw4uYH283WacKr) zWp8eY^Q#nZ?1RO+zS@#-NOn7rl?k#Ry^d| z5|Q!R7}+K*uM>@f3ZP3G@@>$+x;Q>vUg1Up)dSW9FvFnIMcjp~eimU+mn3&pDELaw z{Y2eEjJ42ur>$9&4O9y{M6i)*g3=yI;y!l<)vY=_W-*PH-Kb6oWH47>oHi2IzUbSR3VtTZH`iaANA=BgamJO%<;s9-vWJ zGVlNpuyA12g8LLpEJy$P?92J@WWv%P+XC45u2U!YG_Djmv8+KCG8?zL%+<7qHoI;0 z`30&xZ8tl~lv^XYqF^B9<6ND!lJ00=GZ%THu>iG#lr?pR`#52G#66zLy`@ZLO~aWj zwc?InPloCh(`D`+66|SZW4N(IbuDsfc#ao7o{|NVOO9X|Q{#&UR0pmC_zW0p;I)jE zGzSHm$O(6AviHRv23zHERH9T}eq!2WJ7Zb~72>SmXo_nU4nKGpyL;QBhTY`H#Lk#0 z8XH0};S=EE5G%#BKgWzU##1}*W7`K)nWfu}5xtIV3zy54$Fmnl);LHOufbF%7MD8a zQeY`aG6}@68xOq>Sjm7&V z?GfL{mCwS~bJ4*u zDGoI87)PT%K)UEW@e`KYik9?U3vBJ|ReUF*F;T)nT#7^trrbQ)&rQ*mq}UN-tRgon zVZ9-=#+*$oQK2V`0Ux;CD%sX0l<2eBXo68fB9Thmj-`12V!C9fv3NvSkf`l9VtDn5 zJvbK=BEzZusFnQQ3WUx2@W?qo%Q_LVMldM2i6tPwVE{gr!E-q8Jk%=Rt)KoO9UGH#q!u{kI201dM$5bLvbBj6F63I;VVaC~OXWx#vzA*>@EJG7O z7`Tq*Fg-4Lg;1eiYC!O*1!OV@g^OUA;~bnY!@~7(a}8P*Umv0JhF_kz zITiza_m^Cws`DKBqXhe1Op)hci8`Q>bt!L9Yb7smd_p9mIaWC%Vu!HtEb?ODcH3tC z)ExkjF2KSQf*q**F)7gNVL|IkA77`%N(ouMs+0{iS0Gp>VC5-iF2;2E^OEml>0-43eX(;NT%X9- z)Sk;dt}yC`GkQe?{;IHG1TdlL`e2mW5d)yrU0zR%`vQ;L+NZ^9hwCq`aTQs93k>3t z-(a<2nvoD`dH^_VO4nCEOV?Z1|Mu}0HTBPrzgX2zTr*5j+1w{1%u+?2u=-i*FM%g* z>wo2;?U`iN~lXpe6HR^ks74i1EbAf~f1er^?q+xOk*}dH!N-* z1SU>t8;rR11+r3hSqo9rjHU^(N^qceXa3^p2M4QjjKP46J-9pG+Mp%KjUk2-L&0{m+CuXIBDe$y{0TbL(Q}S1SOgLa;OG=g zL;&(Y=I0*VIJ}Ne;T=;9jW|m*p%CZu5tt_op!~2DfO>Kl)#QMDpH8t(#};meAMI)@ zQl=DL(lSmL(lVnuxH!t69mm=#?8;*T6A>{Fd)ip+J>gwd|B^4B+x`(X?I<;Ugbtll zO1N&Jo5z2D&H@s}g?r#~gJLK#^U^O3xA?1)8c>TU)!F-K8veKvTgt!vy$PpfKgqG-Ee0?B@cuC9AX*_BNDdxxWBEQWjBW zCvmG|0O&@;5~4S)B8a;*E`Ia)$!PeT-IweO&=#3XR{TvCIqFg@zc5poavoj&x*QNO zvG9q+(k}pm5&oxa3saCVz|!p#Cr=dr`eP#!Se#)NxR5Ji%u%t?F$U+3M6{8_pfA}h zj4f1v7Qsq>gn}Au`N(a;?WV1w3xMPn7&rvQ1FP845WFF~+beCDD8CwI<>b0B7$8J+ zDL&3(#+(^)5kD0^;W2B*z65^Ku!73Pj&N+^8$BatOU6#0LDaca7`h1O=c~&JZI7Q5 zebp)uofKf61ndVF?GyS>kgn|ntO2e?fCusci3V$%=$BlS*)N38_EPmDJ0sAM@;`R1 z943e3X>pUi8n05plI+fKhDb2e<_?%!r+I^Vi&8t6LoZ&rF;?f_^1&vECX9QjL)@&1Dz*A5G{=-6sH5A4WXsN73Op1F07Lyd`2`+>AD*B6I)8j7u0jnNmGXhZI|jo?JO@FduuE1Es-?OLY%6>K zS?2LN(t$VYB(igVJjUm0MnG4suBb7uuC8iV-Kf4S0f`3#DlGo`M5VOd+g=~*Q>*@E zM63rYw+~!r%r&yzZ>&$swGm@|YF8hg(`*>I*_`l=uL7^G;V0(PttteRaSBWy;LJH5 z{sU*BvQ=IlwX6;!9Wi4fXbpg}XjvPM-=ntjg4GQwV(iwjz?=;QbB7tXef%D^m6sS$ zH15_0sC)=n;*OFH>T4@60Pqu>l@lPF!KpE#ll~Qre=6nW5o~EEFA=QdLz|-~Pq^YM z=%-}=IkZRH<@Uh^XIqcofSCf?Eo?2LJc_2Wv$BU1uIx;R2N|a2aiW^)GQO1yn+gbI zjL#OkK@R-pMxaE)exp|{L!wyAD#AGs(F^NsoRNvGMC^LMht+ia#>9ZvEjSmaAX#AO zXs`TN9rB6T?Ndc#h=3(-dYHAza_%l|x6$z%!}T*(=;+Jkf53T}Nl;J3?yV{sgFnV% zh<1_4IVhI|$7~~q-5yP&z`0?EycW*>FzQ4 zT9%dSj^POaT0YL091MYNwHmuw#?6#rzRI}vRDt-B4c9X$`vP{61TruPSv*c zte?&>I^cd?4E0%7#_nXhb3Jax>ryW2IgS}vq(_7q#^#`JzrU+`Jb7+9JWkAti~~A+ zB7T0eG!}p`Z-83Lft~KfYWV2k&5WlR)nI_)Rnu~O+;UK?2P6Yg)c}~Ca4IZ=oS~WZ zmZgS#bIV1k9wMBgm&PlEP)``+--ukh<)l~-&L^X28lyO4gNw_)S5G@R(B-CB5$hdG z492Kjd`Q&IRYk_m6j<0R*x*=P0${ zJHh_HBA?k)+Ai3Uz}(%OoQffyxXCv$o*J%e0K#$7bhJ5@Z|KV z0@%88wdBe(2Eva>T$u#NaR>k6@yVTTxmEmvh1i4$HW5D>HXFl0!4pXNcyWv6)Y7G9 zy9(-p?^HG$b09*q#YDrJ2{@6Jo{}nEV~KqHG{Hdm^kc!UXsQhXoRvUgDZyD;+l}2U z-^!A{(wGWZ+i({v=8>4Un}9J583W?rl=+N@q^RHY(z|GoY$Bw5N-UN~O&iWB3j0Nz za~GJi5mV2|ND2I+c_flbzDtal1-lFGgBSSxI8AQxvQr=)f@2VPdKZExr6AM`)N@MI zLw6=Dvc{`L%Tz7#|tviH3rNf9izmSS*aNT;{^k4!Zpy*wx39Zva55<%`i?=alT|8xKB-)@@LPUM8ig z7=iU^c?M3CYj@Gw)N!OCY`Vu50__R}1RqG8Y*gi2ve0b}*zMJnqy7h#Wy%Fph9R1r z&kmN@4#3u${wk|fL$>8nCg6EM_@ee)L=~!$%Gw&ise2v6ppd{W1X~;cWX7$Hk*syt zYYS1`u=&LOVA19q#zi=xsI6vhR$Mi#EoT9f`b11=xt@8~{_z$em6I#^pgzLu<1;z9 zG^`se87?)50mVW>oCd2RxTCs>)`HEm1nR{EES~TQXR&kE4EaVt}RgG7sfUuD2PFY0G;I!2#>4i2bucVH-PkIN8=ABp#KbCtqk ziVxOoh65~^ZrG$*>8dAh5g4oP51AC|EyQ=k;V^Jp4$e&X#1YD$9ag zg4EIn_kqLM0(Z{Xo>#ZF?X$*h4UemeW#yBZ*2Q6SgaAKHK_B5^d8&Y{r0{$Zrfyv?=puv+>$bYf}4&z3huRA_R79b z`WP^eX2Th7hD3{N+WyA$#YYKs#sE-ORxJr0DRNufs#T6%fFa2U<&U6m4^xmOur#e6 zy}`hVu23!xAV^NKYY-qBZXcae$146|m_-hZyz3)(#w`M}2)ES%$QhZrg<;HYjwa${ zMfmF6S?l-})PvBO0DA8{x5io3HHq31EMoF@{1_Ejk77=?d zB2Qp}Uc8uH)ey)edk5o~grPk(0GgC>rO5VbHHeM6P|c)L4S9-YlM5tvRye#B5nvkC zP|c)L4Fe+X;VvN10a%MqoYAf|n&P6adOjMf2Zzzerb70KW3j2?N(w(cq#F2OFe1j> z&|98_)0>**>RNCOKwo8Ri68C|jSAOXY$6P7fkib4Cmn&fUYbutz$FiCcNw&|Hd<07>%=9)S=6^XfX+yFw;MnbPUyHZqa6pV7=P#f%Yj+D9Ru3!>u?|hdTx5*1 zq_bmi_pu=a3j>a^2OC6e@@H%k$Ih3vO(T~B4lFWvDzfVu^wH&)SsBvG)xrV)h{i^= zPwZr{ytGSEn?|l=Xb1~|>jD}a?4W7iZa`a;G%~~QHF-OM0mpIh%l-s((I5svxiD!OmnQ*AViqYfw4LU zfCnHG?#0_vEJzVvO<-5!Acfr{*IhdhU5XL09Eo^>KPslb64tGKJ6Cc<<7j0Bc55;c z;ISQP8bMmjQ*eJHU|j)Y1$%Z!nnsfPv=2jBJYaBK0HC%#&4MUp*r9VW7B7ozhFydq zI=0&)fk^bt`0E5|#m+gl4>%_Danr#ERup)0P;W`mFq6FtZNqkcN_a(ZS=v%8bbHEu zWuK^>IBNpN=L~z?+93v1Vf{9(L>WBgXb1Xe6i;XF!n+O0LNg~B*0xOXi1;sH*w}5b z(hT|X7HHz(Dm&_ELMypXWjuxkR1A6KU702|MOos^v0#MsnT;Mq3QF5}LX>p(g<5JAwy>q5a39!RIyCdJB=_TSE!D2==0y`4-aX}VRU0zGBBetui15F9p zXgVg&>k7i6OxLzVoKnC^&eKv&nfJ`S<#OqZoRg&(kPgT|t6VCoDCDg** zbVb|i<*}meW$Kvvu#puQfiV#dO77A+P3=8F)l4$#oA>hP<;hg8U_3^Vm=pDtC3}v6 zW<~SsD=^xdEfw$yz&;-|evGsEyt>a-QRp|U1uN{Z%C#Wk%*`^u9lRXJn~Hn| z?b2+GfzKc|3SZkf2c9%+K2;De&8H*-pe36}M5f2Capo!JwyZN1#7h#7?@?cd72GW* zQ(REI>tqdLxwV2;anGY^gaiDLd)fq@UxmEXPu2B?%a?n#4zMw1jhO;X!SSGMjjYlh zM7+du0Gn9YQOKjKoZ%(BYs*V4NB1QwI@dk8T*NMlYe^DE%+M*8#S&QsxeO;w}ei+}xu3pP)8%lm##*ZsLdyE8#r}-r;Uy*M@OJY@6zS zl;jXYINZnCUEt>fEPTc6Y}Joa9Wmf81Ypg^D1m0vQp{#Ik=oR8ToQQ@c)3vqH6SL$ z2OhaMGv>~Bz^yhkJ(CEbKtYc@AFpCR>c8KW_Y0-j0farqwD1XK<~$qMbtABf((IUH zTs|R!^oYBjgfL3MoT~0cX?FC10*u+xqp#@`{>8gWk`Kz35wEPHJUjY)tx(3#B5sp# z@eiNnm317KBzK0s7V{}C67V)7T-?p@O0feG8rEJcvr}TZqGZN!G^!o)`qiqsAEnuW zfhZVc*zcj?BPwtBEU&DiJUa+c1WsEHlGbFB5LKpfVd=v9iN^qf zu0O7Qa-3;y?Vi%V)l@G{H*3LQo#BJUL4hc=NaT9ELMu>DA6Eez$^?xhDo<9Pe(tWt zihIfp6;v|T>p=o^lf=sz&w=hn+JkyfS%KGs3Abc;4yG067)}d2lWiEE5 zZ;1{0-&T}r23HLDe#3=z3uh0eNprJI&oFUK1fpGflY&^^wm(FY=iULZZA=yl z`-9=p;UPdCM`z&a93Fzbf~cH0OGLq>JUkSX}CQqkzXfdUb2y0FC#q!FrEi>od~zU)e%pq z^_oKfywQ{}kGQbP9RwGREAc1@;`_&E?L|-wFH=5i$H&ix<4=ftGrw%# zh?p<}=n-%S)3Gc{{M?G}RdV(ARqdeGtl;U6axEY*qA zVS>4=MAhF8d7mBsXCfjSH{W+n>ehV|&F=8f<~7l(wg;gr_1K(`A6CBk9HoVySveBTM@%wj#`l&?7Y;p=rAb0>sBS_Xb6@l3eOs~5^@sgomf zQReJgV`Qcj)J*y8epyOcTREDsmyKpPiUMCHR<3Q8QnP7<=M#{~Ngr}z?y=&4@wq!Z zB#MKH(sOwDzWb|nqp|sn(9huLVcgDaWvIW~5(M)qp7qgSbLz!S$N7~ym)7F8svP8_ zb#)lPqP+twf{isuZnph+<+LV9@Ulb#5>L|E1n903_eHc!3<*(x;+(6R(AJgVq{ziG zHl3JjfSz8gOcxAy8n}*IFK`Ju(zK6;6X-qGy3zt?j`W=51uI+}V1b9;Srw7we1VfG z=#Jc(BVKJM0w}&5lhBLtEguk)p*0;WJb=t%QCWZrEIO&xgtA+}0)m8ry=gn1DKj^X zIZT84$(3+P!C;n|rE2oiFVDY~yil!V>-vbO#{FO*BmFbeo zg{v+uT7laI3AQw1m6bP__)Tl@^8TgmcyYNavF8Y@L%8O#7@&x-%e8lFikLM3OOO(^ z7%PIzUDk17{8wHZx4tu;bK#nyzs}I&;XPBj0jbiS7zK`^#MnFKFV2tWtz`=!@A-iE z9zYg@+&Fdili_DK@O!bd!^e&D3pdf5K6&fYV>#GuWppvY;&05hQ(Vo;*GOPx9v&K$ z%)>(ikclFqHMh7t;*f)Z7QyGxGjYxfT|swNf#-l9fZf@jj@S|zR77b4uD)%>TDI$H z%xxtKJOPojefs6qz62mp*5k7mul*&bIaIlPoS)7ALfdK=;4hA1yjMj56AN;&^y8Oz zpeKve2%ruwnDEVSyLVWO7kJunY~mX=HRz42A@=u=t^3YZWFMsyr_B@~%F<-nWb~UQNUls2ox`=qEwfUE{|6+zm3jV=Bx9|5!)M-%f|Yq zsSS=Gxnp7th8KrMY+Q>K8-tmGdfF@v*7Sd)na}a%Gva9$jJRpmF?ld0rz+Z2i)V?9pYfr(9{YW2m;9V z@dp|cWzRVmOsqMhd<+f_s>nAb&OKg6^U-n;5@*OpPh`?M3$7Et0z|qYVXOurN?gMk zKo@|;8^RlyqI=_p$m@rrA$hbAtgv#N2k3U>qP3R+i%zho zU`)?1FzoyE`1CP%YXSn}p3qak6CoUwkxxeFB~gKIToWu&E5yUm$WkO@DQ1+ifb z5|fY98Nr)5^W&3gnQym*g`u@gH-}O-2MuYnzKjI^4>*lz0vvVCz*^d-_1}8R!{xIi zYdUX7DM3W>$euB;`j`rsDyD0aS*YTT%k20#xSqT}0gs8{#p^3txDYF)30xTAf|ju% zrv{klbDPYbe1wsdbFwXgsaKFUN4VBbktKhWIxKH?DI*0&<|{#pfYpWd(n)S>v5 z;{FL(9){lb!@I2q+-}y9U;DBX3mof7&Mthmh`;Itb#0ZfBdsH_kwt4&U{{RY&mCE5c?92 z^3L63y${O@WU*82blq5Zh>-)lVj^~t6M|kvtV=a>u3UwDe*){7gGMQlrWbSeb8IT? z@==1Blf`dY&*Rm8wP8;%g2$~ro&gv@C}RyExVHFJ)gU|KrnM{#)(Wb)Q7%}vwjXP2 z)XDkfIu`PS;bkP}Xg_&b;#SmW{1*P)Vn$XYRs2s?srR7A9KJSSZh)^pl!C|wnA zNIya-0~iZ*Hh_0T+aiRy+hP>gQK5e%A51yDp3V;ruH)wwu~#`nZ`Rt5 zpHE}f5W5D)YL7LCpgX~fq8m-fv)VW1{e+b! z%Q1fgcLclxcfQ^zm@;dd@}BU_3(QRVnBdQG!DuqHSRpj$J=1oQuoV}J7yv&TFh^!> z)7JM>6hI>hkJyiJA!x#Tz7CCBPk0dw2iO{8p$W)llMlI&Z`yi7z%X$+?~TB?$r|zg zG(a#@L4rm9On7nj^$z=C^Rzk*5KJPF@*SBZbA0i#;mDqkwvZ1P+R+r`Yl4na0Z_x@ z(zf+ucp5OYDPY}0U=MN(22uP}++VD(nDKM4HJUBRDI3h;9NP#a2grCgt%`v#*2%;B z<_kVPGsM^chY0Y-v=Mi(t!%vLU<3`O0G&txiXp^l1LlLJ(OB>W#zKad0~Ik^8tu~9 zem7=5->7jm=DH3LkDFx8YWY>;%^n5#-a)Q;9zR7cCpU@ zKGAY#BYip7Hm09&@4~SSPZj`6IGi`2FQVC4^ykb{OZyXzBeQXC z$-3E;JU|Rs=`IK{F2^`Qx!XFoWIxiFe1mIEp;e)`b(bJzWU+4b#OzhB;ezHjn#-`jWJ_!ZioUHSX6%ZK*2%Wpa0kDESs z{CTzcqvNb;=y+>6O+(9v=GS^OeQ4!F``hKW98h`j(}%_%zyJPoC_nu2{`0Q%Ld$pg zEeHH@(C6FckJeL{hSpz4N8j&CFSLA@-*Q0t@29uTAHP2TIkbMiy#Kr_y@yslw7*?` z%K=~R^!c{=qxICKq4n3%(f7O3duZiD`+M8@bsRMftxwBode`Mc>)ZGI%4bbO`=jMF z-M8|g?Y(dLmG7E{wol7xde`Mc>+AAc4(NFKX()gE^8WLyPH)%#g_iH~TMqbgrqB0{ zKiV!$L))k2G`;Kcq4kC4*M4cbZ{Xe;plt zzbn1a@?Cz*0p-7+-Zp>y`uyk6`u+0$^RDzl%Xj%L2mEo+=iBCw)>D^;)?Y_Q-|tE< zw0xJ}azOd-r?<@?zdrvtw0^(5|GX=`yDlGE-)-mLcYf}B`)_-E?;HJH$LqfJXW!ei z>v-&Y`B!cHb{&s>=f{0(|E}ZVm*4gr+W&3z{NF?Aclj*`d_L-P$DfWr!hySz2dzib zhbDj8Z%rS1|CJA#J~V!G{k0s>@efV!8~^kbdT9Oa#=AV? zK0mfSmrJkqv32D_^ViYQ_o4K<{FVdCKR>-~{`mFz&$nIwZPUN+{qfu9Ki@Tf?z;Za z{`u|O_WaQ3hxYfj^ZVm-+x6``{f=Md5%l@tKbLcF-|y^Ne%Jc$y8h7icKIy_{Bdgf zyzl(m*3bLazkO?ODF6Kag_iH~TMqbq)aQrBAMLlM5551&2TdOuKf3-}4(RxAOCK7) zI)0Sp&-*^UUHfl#d{r*$()-45zn%BJef!ql`^L}E z_Uy{RI0e{@|`JwSg`~9-gP=4QaJG=I6o-fh64*27!&!PMY&9C)ny6@$+A5GI;``ff0&DYguIiUR5mfkeKI(lLJ-!?w`{`*bK z!@l!lTl+hHh0ULiUt#>(CV!#7cl_`8FB}M!o4d;2$!A$UJAS;{{CL&Ix9d+?UT=Ec zyl?#N+Ov7QcjZr4zRZDb^QoMB`#$Hk^ZV@$t#8-zq4n*1{$2U?vdee;w;a%M2<3;C z({$JJN~bQpZ}dak)8)4uxT*2&_}TGOIH2;>$wMa(ojj~&fzFG%bd__n+-UhO|7Jdg z@<;iq>0Or(t#9A+E1#RDq5W-2SM!C^@A6v?DF6I)-}$p^e|9au@BHi9|7y>VZhX7( z6%Ob+_t4})`>knc|FxW^q2(W1e&v&<53T=Qe=P@e{QWePKf9I>t*^^}v*XwCv*V|5 zK<9BM51l-8^01l(Ixp(dRnEdY1h6o2b3>O({kz6cc-rWZRhvv zz3uu!>F?UUuDs>A@?qcj|Ejk)w0~WG%K?>VKMm#2uH{4P>+;|1_;vj3_$eIFc^oPa zT29l@@?Cz*0p*{ccKq4QpNGybzyG1nq4E_<-_IXfUzdNg{CE7hS^n%Que+9iXyfVg zYuj@ue{P%JuI&jef8X-^{0(j2%Pt?<-q8Fv-9Mk6|GaDaZkpb%?FlV^-}3J}KX+~a zeH)LiJ(dIhxaxDqpN>Dm0hNc)G*o_GHvOA!@2>Q^@?{R(wS1IoZ$A&T-J$eC^J_ht zcIC?)P`=cq<=orHyUTAmurK`d+Zj53550USzwTT9UB~af^`~o(<$yn~ZJ$H=8CuUn zqaWJeF2ChKom_SNdAa=Y$0c+;b}b)TUzdNgyzDw2H(lPR7y2AJ-l6oj+)L;`14GkZ<{|_ zkEWsZX*o?p%kO)B?YE{6y+6taP4}H2UHdHubUgjE<4?yQ;eg7;ZOen!qiJY;T29l@ z@?Cz*0p*{ccKqr1BOFk<=;YyM$+xPs+$GSAMe|2>9{mZ5o zT7Q?{azMw=Pdom++Wgsdymu|X@A9>4{~vn!(D8rh{Mz^ahmQ9{%ioQ!9dVxz`ux!3 zq3dra55j?0MgFxPnuf}^meVw}e3##HK>6pV_l-Zhwr}6d-?#DT+OuEtryH+syo3X~ z4tDaeSss*6nuhXA%hjc!^t$}}HC}b&uJ1#~Q_E=@TK=KsS3cFHq5P<$qwja67g~Pb z^DEyp4egJX)AX*(ht_xB@+;po4Q-#6(=@dFeao-?s7piJ>(dD>-{rR)@cF3E`_3Qj zho+(Z(Q=yZTlvuTcKIy_biDoaw)x}N=Rb$mziau>`ffYF-yi=uwEkVoht?OGf7kYP z;iKMr-zq5Qh-{B`ZDdmq}KIy(A(S9+o4L-T7p zHNETdcU_>pc{PZPZGhdWnekpxl zmxkuAqf_@jl>WZwuj7NhzwQ2MJ(}KjeI0$v0p+)!cKq2d{@nHW`Spc9-?n^(w#U!^ zvfFpp_1|`V9ev9IU(WP7ls{Td)6nvv`L!NRcP+1UG!3N}nqTYDbl=NsKQ!I<{)D!_ z%WpZL(e>(mM2UIRPdFbS!lZVwT(0Ngpu5xac8!g}E-^{0uKOKLB1KoVtEC(Hb zI{p;rNn3f)a++GMuKug+vUlp z7g~Pb^FQ?d@B8?5?YA88}{^&T=rJ>{F(|Ks+L;D+=-{-IY97?atZ#m%eQJ?pnKiUsX?^}PgU2W6Q{G}kCv-T zccr&) z-TQ}5f7kwpmcMWL>*S*DeQ5jZ=;-@h>D_ht(E4sWzw%Mj(E7BTrlIA#{FVdCztA+4 ze?I+vD<9h4F2Ch~KkoW`+x*db>eA5q>*(nFmrXCU{?Po|&!%Zd-*Q0tb<_L^rPt*z zkB5$nrX7De{s;%|N*=VHx-?WC>*(nFmrXCU{?Po|&!%Zd-*Q0tb<_L^rPt*zkB5$n zrX7De{s;%|N*=TxO+)2R%V~PoL?|m!3YkNY+|E}u`ZQp&%@AIpBwj zq2q&app%164mvsL=0Ud(bn8I34s`24w+?jcK(`Kb>p-^-bn8I34s`24w+?jcK(`Kb z>p-^-bn8I34s`24w+?jcK(`Kb>p-^-bn8I34s`24w+?jcK(`Kb>p-^-bn8I34s`24 zw+?jcK(`Kb>p-^-bn8I34s`24w+_7Ab->o%^uID%KivC+ANcuyf)`)y{aEkypDF+H zQ||pU@BJ^j_rK@8pYr}Iy`SrS?Q{O%pGwDD=I@{Cz5X}N>*as`7Jo^--}C5vVem zy{p%4KK<|S@V+X){9g6`KN&hd-FwgD=kJ^MKf4?+rT^b~FZ}sOKWpE7;rjdYKP2tp z<>#8yroY7dulD{}ujh^9Uo`K3toI*&#pe6VuGm%0`+vjxUhj|hdat{TF8Plp|Bv^+ z=jiCK|C#q+q0;Xj=^LB=Pu~BW$g^udEi?cA(7pfMd;cSho8*7yz5jXMzvjvoldrq{ zzv<;4)#U%6=KZmw^RY+gx7>SSwfq~{r1$q~==8FStIMnF#o{3A&GU==$?@e?esOel zdX$}&yJ6hi;LvN zQGRxH@uIi5NKW&k`St1P3yKt;j>vgc%6gfc&C~Pe`TS^ceU@DvpPwDX<7qk_W=WdN z`it3Q{*CO(HFdk3M^Eyz{34O|)>_mYz^LPKT3hy2uCdXb>mSgu0L3{p5`g-Z^^b!?%x) zkhzQeV3DNbI7|DZ*2i1@-Ge3CbQwJpA3>& z9FNB{sd;{Re)JSMJjr`TKpV)wU`jEHtM^E$Q*-@HYdT&ggqoeG3B4m>jDZ<1# zzIt(#Jb%`XIeNKAC^xc-}KlPm{~1y@UCS zGfLX@>Y{gWk)I^;vUecMOz+^?iT%&PlXL#K%AfOJS*v;n`BS$lJ)KidpKLk1JlUN3 zH$;=u9-m#O6j?nVpDoVywT>$+*ZM!?U7Hu_ZwdMzAK=q@=Gh!XH6Gg`PW@}O@G(zJGH#uo)fRU?zc4kNiFD7zyBAm zyz<`+sN{WJ{?qIIX`3wn>zDscei8m@`PW|Ofq$9`e~bUL-}>(F^M{;SbbR&v5PxWM z`1$o&(|<~~pDvWw^UCWD%l`|?itK3py5D}!m4D_0R{O2>>Nq5nl`L9b_qE^sh?o3( z&nCyPo&I)Rg~Mzh%pP{_QgL@>8$(KWfVV=pWde z-}n*bjHTz7|35Y5$KSUj{_85(w)k3K|EQ+?Kl~$G{s(g4Ec`1!vG(yo-ue9h2mj5k zXn*(%DtVTOme=&BUHL*4=Fi{!zCFPHocDv4)7O8tru;v4;NNe5&zApZ&$)dsk*fKlmiiJ$Jv~ z^XGT(bC>?pF}La%eS|LkS6tMCH!F;g< z>DDxK_W{skK6U~se6bHL@%=?(6uX)0m8XZ#m8>wWI?$hkwV8j+%*V_*MBH?#viR`*lqH^9 zBj;ru#Q1Rh-N#>{aAt`7^^Bp+JJOWqiL|ARwC2#o=8-n0+4K3pw?ZswQ5x&N5B`@l zfA)s<{_E_BtPPOG!G3u8sxLN9UYs9kT@ykV1(@LT{9uljlP`+wEn>@MvgA$=$KQ4y zEIha8&~_>n54IeolxviU(v<71rOHHGUc}^&n*0p{Ol&+u+f?gKpi#L2M+=Nd{x?!R zsq#13iLMtjRdWDS$coS*BW?4#pr^xR%O+yPUovepr}12$p&MYIr2SU>h{`X6nm2U1 z0Hrczn@vxs&k_0z&^w@d4+tTad1LgkI!5TPGIZY-dQQDe=$|w6;1>Efou;;{!4$g_ z*TVA14F8s_Co(uW1Y+0-XkP-#c2gw|>^|IJbB98l+i90Xr^oINHL8JIY?Z3rV)IHc z@NO}PMG1FGT)5K~l)^gysH&~7jMXkVMQpd(91TI6&Fyh!*V>`h!ExB-@HE(5n6pEY zQCs2!Du_EpkAssic8adB9UD}!3n;GB?h3iX66PG33pTjaD=X}4)_{1VH*h%EBX&zD z(ACq`uj{PA?m$2URO;^P?FmRd{m;J)EilHCi}P?EY;!t9F{rlOX6vjWk#pG{Vh{#~ zrA|(4Oq{;W9-tHH-`PrY@IEo7S*z}* z{k`{o@ArN0OK&W5`9HYv$Eca#-`+7$I`2e=%}-C9$5r052bK7jC0oj+kCk1U@4UC% zk^dsuL+zs~vLUn1W(JhdF4G=-Gr2^+Q;yrUQ;tJE2ZfNR=0x?bsQxUfKde<>+)EJn z_yj)e7t`$5;>ZS$$ugkaZS#k8%aW*|VdxW&u-}rPBXS4S7vuahj``E|3e0dzbGi z*Rt60;qKmha5gFJ9l}(C*XD4YHq}`&Y70hfK@3iT7lG5@#o(L3OTca5rQl`YkwjK6Hp;F|~f1GEwY#nx*a1Fr3CarY6UU3`Ji(5@NT4u(2I1uSR zr~7U*Q$sIWT{kQ^!JB1GW*0DU@fjU20&rm+ zD891(#bzyz;6FH4ESwyV7;6TEbQY*m`y!tKZ5oujzb_+1BU| z9gRpYN1#Y(Zs}(Qmn2C2Zjak7x1vx;K6*H`UmB1P^`p>%fdi2g^&8VorMmAh4^z}x zr?%~xTK!a>ag?qvDVv(kGf{eT8ZL_1L*TV~>ngLe?D!&MKz3Ri2}0W{b3cyi)2qy* Fe*#9KoW%eD From b8e57aeb092436e6a56736a24948687664678aa1 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 20 Nov 2023 14:37:12 +0100 Subject: [PATCH 20/91] fix MMU interface usage --- machine_interface/src/function_driver/compute_driver/mmu.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machine_interface/src/function_driver/compute_driver/mmu.rs b/machine_interface/src/function_driver/compute_driver/mmu.rs index 10e1f694..2ad00e4a 100644 --- a/machine_interface/src/function_driver/compute_driver/mmu.rs +++ b/machine_interface/src/function_driver/compute_driver/mmu.rs @@ -79,7 +79,7 @@ impl Future for MmuFuture<'_> { } let mut context = self.context.take().unwrap(); // read outputs - let result = read_output_structs(&mut context, self.system_data_offset); + let result = read_output_structs::(&mut context, self.system_data_offset); self.engine.is_running.store(false, Ordering::Release); Poll::Ready((result, context)) } @@ -290,7 +290,7 @@ impl Engine for MmuEngine { entry_point: elf_config.entry_point, recorder: Some(recorder), }; - if let Err(err) = setup_input_structs( + if let Err(err) = setup_input_structs::( &mut context, elf_config.system_data_offset, output_set_names, From 832c1fe61e3e2c6197618b54654ede8d4c959368 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 20 Nov 2023 14:37:22 +0100 Subject: [PATCH 21/91] fix auto merge --- .../src/function_driver/system_driver.rs | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/machine_interface/src/function_driver/system_driver.rs b/machine_interface/src/function_driver/system_driver.rs index 45ed57c1..e60b9fc7 100644 --- a/machine_interface/src/function_driver/system_driver.rs +++ b/machine_interface/src/function_driver/system_driver.rs @@ -39,39 +39,5 @@ pub fn get_system_function_output_sets(function: SystemFunction) -> Vec .to_vec(); } -/// HTTP requests currently expect one input set called request with 3 items: -/// - method: the HTTP method, eg. "PUT", "GET", ... -/// - version: the http verson to use eg. "HTTP/0.9", "HTTP/1.1", ... -/// - uri: the uri to query -const HTTP_INPUT_SETS: [&str; 1] = ["request"]; - -/// HTTP outputs 3 sets "status line", "headers" and "body" -/// - "status line" contains two items: -/// - "status" the status code of the request -/// - "version" the HTTP version used -/// - "headers" set contains one item for each header item with -/// the header key as item identifier and the value as the item. -/// - "body" set contains a single item called body with the body -/// of the request as item -const HTTP_OUTPUT_SETS: [&str; 3] = ["status line", "headers", "body"]; - -/// Provides the input set names for a given system function -pub fn get_system_function_input_sets(function: SystemFunction) -> Vec { - return match function { - SystemFunction::HTTP => HTTP_INPUT_SETS, - } - .map(|name| name.to_string()) - .to_vec(); -} - -/// Provies the output set names for a given system function -pub fn get_system_function_output_sets(function: SystemFunction) -> Vec { - return match function { - SystemFunction::HTTP => &HTTP_OUTPUT_SETS, - } - .map(|name| name.to_string()) - .to_vec(); -} - #[cfg(test)] mod system_driver_tests; From bdf215de9d8868c4519bd0c6cf400c8b5f499722 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 20 Nov 2023 14:37:44 +0100 Subject: [PATCH 22/91] fix wasm engine re-usage and add wasm dispatcher tests --- dispatcher/tests/dispatcher_tests.rs | 29 ++++--- .../function_driver/compute_driver/wasm.rs | 76 +++++++++---------- 2 files changed, 56 insertions(+), 49 deletions(-) diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index 60fcc2c9..d9bb0bea 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -1,4 +1,4 @@ -#[cfg(all(test, any(feature = "cheri", feature = "mmu")))] +#[cfg(all(test, any(feature = "cheri", feature = "mmu", feature = "wasm")))] mod dispatcher_tests { use dandelion_commons::{ContextTypeId, EngineTypeId}; use dispatcher::{ @@ -531,7 +531,7 @@ mod dispatcher_tests { #[test] fn test_single_domain_and_engine_basic() { let driver = Box::new($driver); - let name = format!("test_elf_{}_basic", stringify!($name)); + let name = format!("test_{}_basic", stringify!($name)); super::single_domain_and_engine_basic::<$domain>( $init, &name, @@ -542,7 +542,7 @@ mod dispatcher_tests { #[test] fn test_single_domain_and_engine_matmul() { let driver = Box::new($driver); - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = format!("test_{}_matmul", stringify!($name)); super::single_domain_and_engine_matmul::<$domain>( $init, &name, @@ -553,14 +553,14 @@ mod dispatcher_tests { #[test] fn test_composition_single_matmul() { let driver = Box::new($driver); - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = format!("test_{}_matmul", stringify!($name)); super::composition_single_matmul::<$domain>($init, &name, driver, $engine_resource) } #[test] fn test_composition_parallel() { let driver = Box::new($driver); - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = format!("test_{}_matmul", stringify!($name)); super::composition_parallel_matmul::<$domain>( $init, &name, @@ -572,13 +572,13 @@ mod dispatcher_tests { #[test] fn test_composition_chain() { let driver = Box::new($driver); - let name = format!("test_elf_{}_matmul", stringify!($name)); + let name = format!("test_{}_matmul", stringify!($name)); super::composition_chain_matmul::<$domain>($init, &name, driver, $engine_resource) } #[test] fn test_composition_diamond() { - let name = format!("test_elf_{}_matmac", stringify!($name)); + let name = format!("test_{}_matmac", stringify!($name)); let driver = Box::new($driver); super::composition_diamond_matmac::<$domain>($init, &name, driver, $engine_resource) } @@ -591,7 +591,7 @@ mod dispatcher_tests { function_driver::compute_driver::cheri::CheriDriver, memory_domain::cheri::CheriMemoryDomain, }; - dispatcherTests!(cheri; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1]); + dispatcherTests!(elf_cheri; CheriMemoryDomain; Vec::new(); CheriDriver {}; vec![1]); } #[cfg(feature = "mmu")] @@ -600,8 +600,17 @@ mod dispatcher_tests { function_driver::compute_driver::mmu::MmuDriver, memory_domain::mmu::MmuMemoryDomain, }; #[cfg(target_arch = "x86_64")] - dispatcherTests!(mmu_x86_64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1]); + dispatcherTests!(elf_mmu_x86_64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1]); #[cfg(target_arch = "aarch64")] - dispatcherTests!(mmu_aarch64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1]); + dispatcherTests!(elf_mmu_aarch64; MmuMemoryDomain; Vec::new(); MmuDriver {}; vec![1]); + } + + #[cfg(feature = "wasm")] + mod wasm { + use machine_interface::{ + function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, + }; + #[cfg(target_arch = "x86_64")] + dispatcherTests!(sysld_wasm_x64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); } } diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index 09c99eb1..de0b81cd 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -42,52 +42,50 @@ fn run_thread( return; }; - let msg = match command_receiver.recv() { - Ok( WasmCommand { lib, context, recorder } ) => { - match unsafe { lib.get::(b"run") } { - Ok(entry_point) => { - // TODO handle errors + 'commandloop: for cmd in command_receiver.iter() { + let WasmCommand { lib, context, recorder } = cmd; + match unsafe { lib.get::(b"run") } { + Ok(entry_point) => { + // TODO handle errors - let mut guard = context.lock().unwrap(); + let mut guard = context.lock().unwrap(); - // take out the context - let mut ctx = guard.take().unwrap(); - let wasm_context = match &mut ctx.context { - ContextType::Wasm(wasm_context) => wasm_context, - _ => panic!("invalid context type"), - }; + // take out the context + let mut ctx = guard.take().unwrap(); + let wasm_context = match &mut ctx.context { + ContextType::Wasm(wasm_context) => wasm_context, + _ => panic!("invalid context type"), + }; - // call entry point - let ret = entry_point(&mut wasm_context.mem); - - // put context back - *guard = Some(ctx); + // call entry point + let ret = entry_point(&mut wasm_context.mem); + + // put context back + *guard = Some(ctx); - // record - if let Some(mut recorder) = recorder { - let _ = recorder.record(RecordPoint::EngineEnd); - } + // record + if let Some(mut recorder) = recorder { + let _ = recorder.record(RecordPoint::EngineEnd); + } - match ret { - Some(_) => Ok(()), - None => Err(DandelionError::EngineError) - } - }, - Err(_) => Err(DandelionError::EngineError), - } - }, - Err(_) => Err(DandelionError::EngineError), - }; + let msg = match ret { + Some(_) => Ok(()), + None => Err(DandelionError::EngineError) + }; - // try sending until succeeds - let mut not_sent = true; - while not_sent { - not_sent = match result_sender.try_send(msg.clone()) { - Ok(()) => false, - Err(err) if err.is_full() => true, - Err(_) => return , + // try sending until succeeds + let mut not_sent = true; + while not_sent { + not_sent = match result_sender.try_send(msg.clone()) { + Ok(()) => false, + Err(err) if err.is_full() => true, + Err(_) => return , + } + } + }, + Err(_) => break 'commandloop, } - } + }; } struct WasmFuture<'a> { From 909d3a892edf44f10014f021ded982af38e2ceb0 Mon Sep 17 00:00:00 2001 From: Tom Kuchler Date: Mon, 20 Nov 2023 15:21:53 +0100 Subject: [PATCH 23/91] Fix issue with compiling main and reenable empty loader test --- machine_interface/src/function_driver.rs | 6 +++--- .../compute_driver/compute_driver_tests.rs | 14 +++++++------- .../src/function_driver/compute_driver/wasm.rs | 2 +- server/src/main.rs | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/machine_interface/src/function_driver.rs b/machine_interface/src/function_driver.rs index 14e3e8c1..6dfd83b9 100644 --- a/machine_interface/src/function_driver.rs +++ b/machine_interface/src/function_driver.rs @@ -1,9 +1,9 @@ use crate::{ - memory_domain::{Context, MemoryDomain, ContextType}, + memory_domain::{Context, MemoryDomain}, DataRequirementList, Position, }; use core::pin::Pin; -use dandelion_commons::{records::Recorder, DandelionResult, DandelionError}; +use dandelion_commons::{records::Recorder, DandelionResult}; use std::{future::Future, sync::Arc}; use libloading::Library; @@ -60,7 +60,7 @@ impl Function { let mut context = domain.acquire_context(c.wasm_mem_size)?; context.occupy_space(0, c.sdk_heap_base)?; Ok(context) - }, + } }; } } diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 486f2e91..8fad9618 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -472,12 +472,12 @@ mod compute_driver_tests { macro_rules! driverTests { ($name : ident; $domain : ty; $dom_init: expr; $driver : expr ; $drv_init : expr; $drv_init_wrong : expr) => { - // #[test] - // #[should_panic] - // fn test_loader_empty() { - // let driver = Box::new($driver); - // super::loader_empty::<$domain>($dom_init, driver); - // } + #[test] + #[should_panic] + fn test_loader_empty() { + let driver = Box::new($driver); + super::loader_empty::<$domain>($dom_init, driver); + } #[test] fn test_driver() { @@ -566,4 +566,4 @@ mod compute_driver_tests { #[cfg(target_arch = "x86_64")] driverTests!(sysld_wasm_x64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } -} \ No newline at end of file +} diff --git a/machine_interface/src/function_driver/compute_driver/wasm.rs b/machine_interface/src/function_driver/compute_driver/wasm.rs index de0b81cd..e2e07965 100644 --- a/machine_interface/src/function_driver/compute_driver/wasm.rs +++ b/machine_interface/src/function_driver/compute_driver/wasm.rs @@ -3,7 +3,7 @@ use crate::{ function_driver::{Driver, Engine, FunctionConfig, Function, WasmConfig}, memory_domain::{Context, ContextType, MemoryDomain}, DataRequirementList, - interface::{_32_bit::DandelionSystemData, read_output_structs, setup_input_structs}, + interface::{read_output_structs, setup_input_structs}, }; use dandelion_commons::{ DandelionResult, DandelionError, diff --git a/server/src/main.rs b/server/src/main.rs index d4d6aa09..78e824e9 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -40,7 +40,7 @@ use machine_interface::{ #[cfg(not(any(feature = "cheri", feature = "mmu")))] use machine_interface::{ - memory_domain::{malloc::MallocMemoryDomain, Context, ContextTrait, MemoryDomain}, + memory_domain::{Context, ContextTrait, MemoryDomain}, DataItem, DataSet, Position, }; From 6c2d135ee72d5c35b35e06bec319197e1c392f5e Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 20 Nov 2023 17:31:59 +0100 Subject: [PATCH 24/91] handle wasm out of memory and fixing a bug in memory read --- machine_interface/src/memory_domain/wasm.rs | 26 +++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/machine_interface/src/memory_domain/wasm.rs b/machine_interface/src/memory_domain/wasm.rs index 8594d41d..4dc05777 100644 --- a/machine_interface/src/memory_domain/wasm.rs +++ b/machine_interface/src/memory_domain/wasm.rs @@ -24,7 +24,7 @@ impl ContextTrait for WasmContext { fn read(&self, offset: usize, read_buffer: &mut [T]) -> DandelionResult<()> { let self_data = &self.mem; let read_size = read_buffer.len() * std::mem::size_of::(); - if offset + read_size < self_data.len() { + if offset + read_size <= self_data.len() { let data_bytes: &[u8] = &self_data[offset..offset+read_size]; unsafe { (read_buffer.as_mut_ptr() as *mut u8).copy_from(data_bytes.as_ptr(), read_size) @@ -36,14 +36,6 @@ impl ContextTrait for WasmContext { } } -impl WasmContext { - pub fn new(size: usize) -> WasmContext { - WasmContext { - mem: vec![0; size], - } - } -} - #[derive(Debug)] pub struct WasmMemoryDomain {} @@ -52,7 +44,21 @@ impl MemoryDomain for WasmMemoryDomain { Ok(Box::new(WasmMemoryDomain {})) } fn acquire_context(&self, size: usize) -> DandelionResult { - Ok(Context::new(ContextType::Wasm(Box::new(WasmContext::new(size))), size)) + let mut mem = Vec::new(); + if let Ok(()) = mem.try_reserve_exact(size) { + mem.resize(size, 0); + Ok(Context::new( + ContextType::Wasm(Box::new( + WasmContext { + mem + } + )), + size + )) + } else { + return Err(DandelionError::OutOfMemory); + } + } } From 6acb4bd1efc0149e731b03f148803c24c24d2ecf Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Mon, 20 Nov 2023 17:32:11 +0100 Subject: [PATCH 25/91] add wasm to domain tests --- machine_interface/src/memory_domain/domain_tests.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/machine_interface/src/memory_domain/domain_tests.rs b/machine_interface/src/memory_domain/domain_tests.rs index a3683abb..08165bd0 100644 --- a/machine_interface/src/memory_domain/domain_tests.rs +++ b/machine_interface/src/memory_domain/domain_tests.rs @@ -222,7 +222,7 @@ use super::mmu::MmuMemoryDomain as mmuType; #[cfg(feature = "mmu")] domainTests!(mmu; mmuType; Vec::new()); -// #[cfg(feature = "wasm")] -// use super::wasm::WasmMemoryDomain as wasmType; -// #[cfg(feature = "wasm")] -// domainTests!(wasm; wasmType; Vec::new()); \ No newline at end of file +#[cfg(feature = "wasm")] +use super::wasm::WasmMemoryDomain as wasmType; +#[cfg(feature = "wasm")] +domainTests!(wasm; wasmType; Vec::new()); \ No newline at end of file From 42951cb8e1f5aaa7cdb0cd0f603dfe0a01071f97 Mon Sep 17 00:00:00 2001 From: leon-thomm Date: Tue, 21 Nov 2023 11:55:08 +0100 Subject: [PATCH 26/91] update wasm test files --- dispatcher/tests/dispatcher_tests.rs | 5 +++-- .../compute_driver/compute_driver_tests.rs | 5 +++-- .../tests/data/test_sysld_wasm_aarch64_basic | Bin 0 -> 13032 bytes .../tests/data/test_sysld_wasm_aarch64_matmac | Bin 0 -> 21792 bytes .../tests/data/test_sysld_wasm_aarch64_matmul | Bin 0 -> 17576 bytes ...d_wasm_x64_basic => test_sysld_wasm_basic} | Bin 846960 -> 846960 bytes ...wasm_x64_matmac => test_sysld_wasm_matmac} | Bin 851504 -> 851504 bytes ...wasm_x64_matmul => test_sysld_wasm_matmul} | Bin 851416 -> 851416 bytes 8 files changed, 6 insertions(+), 4 deletions(-) create mode 100755 machine_interface/tests/data/test_sysld_wasm_aarch64_basic create mode 100755 machine_interface/tests/data/test_sysld_wasm_aarch64_matmac create mode 100755 machine_interface/tests/data/test_sysld_wasm_aarch64_matmul rename machine_interface/tests/data/{test_sysld_wasm_x64_basic => test_sysld_wasm_basic} (99%) rename machine_interface/tests/data/{test_sysld_wasm_x64_matmac => test_sysld_wasm_matmac} (99%) rename machine_interface/tests/data/{test_sysld_wasm_x64_matmul => test_sysld_wasm_matmul} (99%) diff --git a/dispatcher/tests/dispatcher_tests.rs b/dispatcher/tests/dispatcher_tests.rs index d9bb0bea..f747cd1a 100644 --- a/dispatcher/tests/dispatcher_tests.rs +++ b/dispatcher/tests/dispatcher_tests.rs @@ -610,7 +610,8 @@ mod dispatcher_tests { use machine_interface::{ function_driver::compute_driver::wasm::WasmDriver, memory_domain::wasm::WasmMemoryDomain, }; - #[cfg(target_arch = "x86_64")] - dispatcherTests!(sysld_wasm_x64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); + dispatcherTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); + #[cfg(target_arch = "aarch64")] + dispatcherTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1]); } } diff --git a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs index 8fad9618..026b2880 100644 --- a/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs +++ b/machine_interface/src/function_driver/compute_driver/compute_driver_tests.rs @@ -563,7 +563,8 @@ mod compute_driver_tests { mod wasm { use crate::function_driver::compute_driver::wasm::WasmDriver; use crate::memory_domain::wasm::WasmMemoryDomain; - #[cfg(target_arch = "x86_64")] - driverTests!(sysld_wasm_x64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); + driverTests!(sysld_wasm; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); + #[cfg(target_arch = "aarch64")] + driverTests!(sysld_wasm_aarch64; WasmMemoryDomain; Vec::new(); WasmDriver {}; vec![1, 2, 3]; vec![255]); } } diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_basic b/machine_interface/tests/data/test_sysld_wasm_aarch64_basic new file mode 100755 index 0000000000000000000000000000000000000000..011cc242c2c986c3cd169930b3f920511a7c53c4 GIT binary patch literal 13032 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 literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmac new file mode 100755 index 0000000000000000000000000000000000000000..35c54b38cdbdc5fa3dd34045abf21935d0460bf9 GIT binary patch literal 21792 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 BooxUB literal 0 HcmV?d00001 diff --git a/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul b/machine_interface/tests/data/test_sysld_wasm_aarch64_matmul new file mode 100755 index 0000000000000000000000000000000000000000..200f314d2a59187d3a6f8546f8efd65672101d3f GIT binary patch literal 17576 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