From 5b05027075f972193963fcdde7de85d397409179 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Tue, 9 Nov 2021 11:57:26 +0100 Subject: [PATCH 1/7] Slight refactor of APIs, for ease of use. --- antialiasing.py | 15 ++- ckconv/nn/ckconv.py | 235 ++++++++++++++++++++++++-------------------- models/ckresnet.py | 87 +++++++++++++--- models/cktcn.py | 82 +++++++++++++--- trainer.py | 1 - utils.py | 3 + 6 files changed, 280 insertions(+), 143 deletions(-) diff --git a/antialiasing.py b/antialiasing.py index f44141e..fb49435 100644 --- a/antialiasing.py +++ b/antialiasing.py @@ -5,8 +5,10 @@ def regularize_gabornet( - model, kernel_size, target, fn, method, factor, gauss_stddevs=1.0, gauss_factor=0.5 + model, horizon, factor, target="gabor", fn="l2_relu", method="together", gauss_stddevs=1.0 ): + """Regularize a FlexNet. + """ # if method != "summed": # raise NotImplementedError() @@ -35,7 +37,7 @@ def regularize_gabornet( else: flexconv_freqs = magnet_freqs - nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(kernel_size) + nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(horizon) elif method == "together" and target == "gabor": if masks: @@ -44,7 +46,7 @@ def regularize_gabornet( flexconv_freqs = magnet_freqs # Divide Nyquist frequency by amount of filters in each layer - nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(kernel_size) + nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(horizon) nyquist_freq = nyquist_freq / nyquist_freq.shape[1] elif method in ["together", "together+mask"] and target == "gabor+mask": @@ -59,14 +61,9 @@ def regularize_gabornet( raise NotImplementedError() # Divide Nyquist frequency by amount of filters in each layer - nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(kernel_size) + nyquist_freq = torch.ones_like(flexconv_freqs) * nyquist_frequency(horizon) nyquist_freq = nyquist_freq / nyquist_freq.shape[1] - # if method == "distributed": - # # Further divide Nyquist freq between sines and gausses - # nyquist_freq[:, :, 0] = nyquist_freq[:, :, 0] * (1.0 - gauss_factor) - # nyquist_freq[:, :, 1] = nyquist_freq[:, :, 1] * gauss_factor - if fn == "l2_relu": # L2 ReLU return factor * l2_relu(flexconv_freqs, nyquist_freq) diff --git a/ckconv/nn/ckconv.py b/ckconv/nn/ckconv.py index de544b8..faa42d3 100644 --- a/ckconv/nn/ckconv.py +++ b/ckconv/nn/ckconv.py @@ -18,62 +18,54 @@ def __init__( self, in_channels: int, out_channels: int, - kernel_config: OmegaConf, - conv_config: OmegaConf, + horizon: int, + kernel_type = "MAGNet", + kernel_dim_linear = 2, + kernel_no_hidden = 32, + kernel_no_layers = 3, + kernel_activ_function = "ReLU", + kernel_norm = "BatchNorm", + kernel_omega_0 = 0.0, + kernel_learn_omega_0 = False, + kernel_weight_norm = False, + kernel_steerable = False, + kernel_init_spatial_value = 1.0, + kernel_bias_init = None, + kernel_input_scale = 25.6, + kernel_sampling_rate_norm = 1.0, + conv_use_fft = False, + conv_bias = True, + conv_padding = "same", + conv_stride = 1, ): """ Continuous Kernel Convolution. :param in_channels: Number of channels in the input signal :param out_channels: Number of channels produced by the convolution - :param kernel_config: OmegaConf with settings for the kernel generator. - :param type: Identifier for the type of kernel generator to use. - :param dim_linear: Dimensionality of the input signal, e.g. 2 for images. - :param no_hidden: Amount of hidden channels to use. - :param activ_function: Activation function for type=MLP. - :param norm: Normalization function for type=MLP. - :param weight_norm: Weight normalization, for type=[MLP, SIREN, nSIREN]. - :param no_layers: Amount of layers to use in kernel generator. - :param omega_0: Initial value for omega_0, for type=SIREN. - :param learn_omega_0: Whether to learn omega_0, for type=SIREN. - :param steerable: Whether to learn steerable kernels, for type=MAGNet. - :param init_spatial_value: Initial mu for gabor filters, for type=[GaborNet, MAGNet]. - :param bias_init: Bias init strategy, for all types but type=MLP. - :param input_scale: Scaling factor for linear functions, for type=[GaborNet, MAGNet]. - :param sampling_rate_norm: Kernel scaling factor for sampling rate normalization. - :param conv_config: OmegaConf with settings for the convolutional operator. - :param use_fft: Whether to use FFT implementation of convolution. - :param horizon: Maximum kernel size. Recommended to be odd and cover the entire image. - :param bias: Whether to use bias in kernel generator. TODO(rjbruin): move to kernel_config. - :param padding: Padding strategy for convolution. - :param stride: Stride applied in convolution. + :param horizon: Maximum kernel size. Recommended to be odd and cover the entire image. + :param kernel_type: Identifier for the type of kernel generator to use. + :param kernel_dim_linear: Dimensionality of the input signal, e.g. 2 for images. + :param kernel_no_hidden: Amount of hidden channels to use. + :param kernel_activ_function: Activation function for type=MLP. + :param kernel_norm: Normalization function for type=MLP. + :param kernel_weight_norm: Weight normalization, for type=[MLP, SIREN, nSIREN]. + :param kernel_no_layers: Amount of layers to use in kernel generator. + :param kernel_omega_0: Initial value for omega_0, for type=SIREN. + :param kernel_learn_omega_0: Whether to learn omega_0, for type=SIREN. + :param kernel_steerable: Whether to learn steerable kernels, for type=MAGNet. + :param kernel_init_spatial_value: Initial mu for gabor filters, for type=[GaborNet, MAGNet]. + :param kernel_bias_init: Bias init strategy, for all types but type=MLP. + :param kernel_input_scale: Scaling factor for linear functions, for type=[GaborNet, MAGNet]. + :param kernel_sampling_rate_norm: Kernel scaling factor for sampling rate normalization. + :param conv_use_fft: Whether to use FFT implementation of convolution. + :param conv_bias: Whether to use bias in kernel generator. TODO(rjbruin): move to kernel_config. + :param conv_padding: Padding strategy for convolution. + :param conv_stride: Stride applied in convolution. """ super().__init__() - # Unpack values from kernel_config - kernel_type = kernel_config.type - kernel_dim_linear = kernel_config.dim_linear - kernel_hidden_channels = kernel_config.no_hidden - kernel_activ_function = kernel_config.activ_function - kernel_norm = kernel_config.norm - kernel_weight_norm = kernel_config.weight_norm - kernel_no_layers = kernel_config.no_layers - kernel_omega_0 = kernel_config.omega_0 - kernel_learn_omega_0 = kernel_config.learn_omega_0 - kernel_steerable = kernel_config.steerable - kernel_init_spatial_value = kernel_config.init_spatial_value - kernel_bias_init = kernel_config.bias_init - kernel_input_scale = kernel_config.input_scale - kernel_sampling_rate_norm = kernel_config.sampling_rate_norm - - # Unpack values from conv_config - use_fftconv = conv_config.use_fft - horizon = conv_config.horizon - bias = conv_config.bias - padding = conv_config.padding - stride = conv_config.stride - # Since kernels are defined between [-1, 1] if values are bigger than one, they are modified. if kernel_init_spatial_value > 1.0: kernel_init_spatial_value = 1.0 @@ -87,21 +79,21 @@ def __init__( self.Kernel = ckconv.nn.ck.MLP( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, activation_function=kernel_activ_function, norm_type=kernel_norm, weight_norm=kernel_weight_norm, no_layers=kernel_no_layers, - bias=bias, + bias=conv_bias, ) if kernel_type == "SIREN": self.Kernel = ckconv.nn.ck.SIREN( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, weight_norm=kernel_weight_norm, no_layers=kernel_no_layers, - bias=bias, + bias=conv_bias, bias_init=kernel_bias_init, omega_0=kernel_omega_0, learn_omega_0=kernel_learn_omega_0, @@ -110,10 +102,10 @@ def __init__( self.Kernel = ckconv.nn.ck.nSIREN( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, weight_norm=kernel_weight_norm, no_layers=kernel_no_layers, - bias=bias, + bias=conv_bias, bias_init=kernel_bias_init, omega_0=kernel_omega_0, learn_omega_0=kernel_learn_omega_0, @@ -122,18 +114,18 @@ def __init__( self.Kernel = ckconv.nn.ck.FourierNet( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, no_layers=kernel_no_layers, - bias=bias, + bias=conv_bias, bias_init=kernel_bias_init, ) elif kernel_type == "Gabor": self.Kernel = ckconv.nn.ck.GaborNet( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, no_layers=kernel_no_layers, - bias=bias, + bias=conv_bias, bias_init=kernel_bias_init, init_spatial_value=kernel_init_spatial_value, input_scale=kernel_input_scale, @@ -142,16 +134,16 @@ def __init__( self.Kernel = ckconv.nn.ck.MAGNet( dim_linear=kernel_dim_linear, out_channels=out_channels * in_channels, - hidden_channels=kernel_hidden_channels, + hidden_channels=kernel_no_hidden, no_layers=kernel_no_layers, steerable=kernel_steerable, - bias=bias, + bias=conv_bias, bias_init=kernel_bias_init, init_spatial_value=kernel_init_spatial_value, input_scale=kernel_input_scale, ) - if bias: + if conv_bias: self.bias = torch.nn.Parameter(torch.Tensor(out_channels)) self.bias.data.fill_(value=0.0) else: @@ -160,12 +152,12 @@ def __init__( # Save arguments in self # --------------------- # Non-persistent values - self.padding = padding - self.stride = stride + self.padding = conv_padding + self.stride = conv_stride self.rel_positions = None self.kernel_dim_linear = kernel_dim_linear self.horizon = horizon - self.use_fftconv = use_fftconv + self.use_fftconv = conv_use_fft self.kernel_sampling_rate_norm = kernel_sampling_rate_norm # Variable placeholders @@ -174,7 +166,7 @@ def __init__( # Define convolution type conv_type = "conv" - if use_fftconv: + if conv_use_fft: conv_type = "fft" + conv_type if kernel_dim_linear == 1: conv_type = "causal_" + conv_type @@ -228,53 +220,63 @@ def __init__( self, in_channels: int, out_channels: int, - kernel_config: OmegaConf, - conv_config: OmegaConf, - mask_config: OmegaConf, + horizon: int, + kernel_type = "MAGNet", + kernel_dim_linear = 2, + kernel_no_hidden = 32, + kernel_no_layers = 3, + kernel_activ_function = "ReLU", + kernel_norm = "BatchNorm", + kernel_omega_0 = 0.0, + kernel_learn_omega_0 = False, + kernel_weight_norm = False, + kernel_steerable = False, + kernel_init_spatial_value = 1.0, + kernel_bias_init = None, + kernel_input_scale = 25.6, + kernel_sampling_rate_norm = 1.0, + conv_use_fft = False, + conv_bias = True, + conv_padding = "same", + conv_stride = 1, + mask_use = True, + mask_type = "gaussian", + mask_init_value = 0.075, + mask_temperature = 15.0, + mask_dynamic_cropping = True, + mask_threshold = 0.1, ): """ Flexible Size Continuous Kernel Convolution. :param in_channels: Number of channels in the input signal :param out_channels: Number of channels produced by the convolution - :param kernel_config: OmegaConf with settings for the kernel generator. - :param type: Identifier for the type of kernel generator to use. - :param dim_linear: Dimensionality of the input signal, e.g. 2 for images. - :param no_hidden: Amount of hidden channels to use. - :param activ_function: Activation function for type=MLP. - :param norm: Normalization function for type=MLP. - :param weight_norm: Weight normalization, for type=[MLP, SIREN, nSIREN]. - :param no_layers: Amount of layers to use in kernel generator. - :param omega_0: Initial value for omega_0, for type=SIREN. - :param learn_omega_0: Whether to learn omega_0, for type=SIREN. - :param steerable: Whether to learn steerable kernels, for type=MAGNet. - :param init_spatial_value: Initial mu for gabor filters, for type=[GaborNet, MAGNet]. - :param bias_init: Bias init strategy, for all types but type=MLP. - :param input_scale: Scaling factor for linear functions, for type=[GaborNet, MAGNet]. - :param sampling_rate_norm: Kernel scaling factor for sampling rate normalization. - :param conv_config: OmegaConf with settings for the convolutional operator. - :param use_fft: Whether to use FFT implementation of convolution. - :param horizon: Maximum kernel size. Recommended to be odd and cover the entire image. - :param bias: Whether to use bias in kernel generator. TODO(rjbruin): move to kernel_config. - :param padding: Padding strategy for convolution. - :param stride: Stride applied in convolution. - :param mask_config: OmegaConf with settings for the FlexConv Gaussian mask. - :param use: Whether to apply Gaussian mask. - :param type: Type of mask. Recommended to use "gaussian". - :param init_value: Initial value for the size of the kernel. - :param temperature: Temperature of the sigmoid function, for type=sigmoid. - :param dynamic_cropping: Whether to crop away pixels below the threshold. - :param threshold: Threshold for cropping pixels. Recommended to be 15.0. + :param horizon: Maximum kernel size. Recommended to be odd and cover the entire image. + :param kernel_type: Identifier for the type of kernel generator to use. + :param kernel_dim_linear: Dimensionality of the input signal, e.g. 2 for images. + :param kernel_no_hidden: Amount of hidden channels to use. + :param kernel_activ_function: Activation function for type=MLP. + :param kernel_norm: Normalization function for type=MLP. + :param kernel_weight_norm: Weight normalization, for type=[MLP, SIREN, nSIREN]. + :param kernel_no_layers: Amount of layers to use in kernel generator. + :param kernel_omega_0: Initial value for omega_0, for type=SIREN. + :param kernel_learn_omega_0: Whether to learn omega_0, for type=SIREN. + :param kernel_steerable: Whether to learn steerable kernels, for type=MAGNet. + :param kernel_init_spatial_value: Initial mu for gabor filters, for type=[GaborNet, MAGNet]. + :param kernel_bias_init: Bias init strategy, for all types but type=MLP. + :param kernel_input_scale: Scaling factor for linear functions, for type=[GaborNet, MAGNet]. + :param kernel_sampling_rate_norm: Kernel scaling factor for sampling rate normalization. + :param conv_use_fft: Whether to use FFT implementation of convolution. + :param conv_bias: Whether to use bias in kernel generator. TODO(rjbruin): move to kernel_config. + :param conv_padding: Padding strategy for convolution. + :param conv_stride: Stride applied in convolution. + :param mask_use: Whether to apply Gaussian mask. + :param mask_type: Type of mask. Recommended to use "gaussian". + :param mask_init_value: Initial value for the size of the kernel. + :param mask_temperature: Temperature of the sigmoid function, for type=sigmoid. + :param mask_dynamic_cropping: Whether to crop away pixels below the threshold. + :param mask_threshold: Threshold for cropping pixels. Recommended to be 15.0. """ - # Unpack mask_config values: - mask_use = mask_config.use - mask_type = mask_config.type - mask_init_value = mask_config.init_value - mask_temperature = mask_config.temperature - mask_dynamic_cropping = mask_config.dynamic_cropping - mask_threshold = mask_config.threshold - - # conv_cache = conv_config.cache """ Initialise init_spatial_value: @@ -295,14 +297,31 @@ def __init__( # Modify the kernel_config if required if init_spatial_value != mask_init_value: - kernel_config.init_spatial_value = init_spatial_value + kernel_init_spatial_value = init_spatial_value # Super super().__init__( - in_channels=in_channels, - out_channels=out_channels, - kernel_config=kernel_config, - conv_config=conv_config, + in_channels, + out_channels, + horizon, + kernel_type, + kernel_dim_linear, + kernel_no_hidden, + kernel_no_layers, + kernel_activ_function, + kernel_norm, + kernel_omega_0, + kernel_learn_omega_0, + kernel_weight_norm, + kernel_steerable, + kernel_init_spatial_value, + kernel_bias_init, + kernel_input_scale, + kernel_sampling_rate_norm, + conv_use_fft, + conv_bias, + conv_padding, + conv_stride, ) # Define convolution types diff --git a/models/ckresnet.py b/models/ckresnet.py index 382b1ae..41685fa 100644 --- a/models/ckresnet.py +++ b/models/ckresnet.py @@ -80,37 +80,100 @@ def __init__( nonlinearity = net_config.nonlinearity # Unpack dim_linear - dim_linear = kernel_config.dim_linear - scale_sigma = kernel_config.srf.scale + kernel_scale_sigma = kernel_config.srf.scale # Unpack conv_type conv_type = conv_config.type + # Unpack kernel_config + kernel_type = kernel_config.type + kernel_dim_linear = kernel_config.dim_linear + kernel_no_hidden = kernel_config.no_hidden + kernel_no_layers = kernel_config.no_layers + kernel_activ_function = kernel_config.activ_function + kernel_norm = kernel_config.norm + kernel_omega_0 = kernel_config.omega_0 + kernel_learn_omega_0 = kernel_config.learn_omega_0 + kernel_weight_norm = kernel_config.weight_norm + kernel_steerable = kernel_config.steerable + kernel_init_spatial_value = kernel_config.init_spatial_value + kernel_bias_init = kernel_config.bias_init + kernel_input_scale = kernel_config.input_scale + kernel_sampling_rate_norm = kernel_config.sampling_rate_norm + # Define Convolution Type: # ------------------------- # Unpack other conv_config values in case normal convolutions are used. + conv_use_fft = conv_config.use_fft conv_horizon = conv_config.horizon conv_padding = conv_config.padding conv_stride = conv_config.stride conv_bias = conv_config.bias + # Unpack mask_config + mask_use = mask_config.use + mask_type = mask_config.type + mask_init_value = mask_config.init_value + mask_temperature = mask_config.temperature + mask_dynamic_cropping = mask_config.dynamic_cropping + mask_threshold = mask_config.threshold + # Define partials for types of convs if conv_type == "CKConv": ConvType = partial( ckconv.nn.CKConv, - kernel_config=kernel_config, - conv_config=conv_config, + horizon=conv_horizon, + kernel_type=kernel_type, + kernel_dim_linear=kernel_dim_linear, + kernel_no_hidden=kernel_no_hidden, + kernel_no_layers=kernel_no_layers, + kernel_activ_function=kernel_activ_function, + kernel_norm=kernel_norm, + kernel_omega_0=kernel_omega_0, + kernel_learn_omega_0=kernel_learn_omega_0, + kernel_weight_norm=kernel_weight_norm, + kernel_steerable=kernel_steerable, + kernel_init_spatial_value=kernel_init_spatial_value, + kernel_bias_init=kernel_bias_init, + kernel_input_scale=kernel_input_scale, + kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_use_fft=conv_use_fft, + conv_bias=conv_bias, + conv_padding=conv_padding, + conv_stride=1, ) elif conv_type == "FlexConv": ConvType = partial( ckconv.nn.FlexConv, - kernel_config=kernel_config, - conv_config=conv_config, - mask_config=mask_config, + horizon=conv_horizon, + kernel_type=kernel_type, + kernel_dim_linear=kernel_dim_linear, + kernel_no_hidden=kernel_no_hidden, + kernel_no_layers=kernel_no_layers, + kernel_activ_function=kernel_activ_function, + kernel_norm=kernel_norm, + kernel_omega_0=kernel_omega_0, + kernel_learn_omega_0=kernel_learn_omega_0, + kernel_weight_norm=kernel_weight_norm, + kernel_steerable=kernel_steerable, + kernel_init_spatial_value=kernel_init_spatial_value, + kernel_bias_init=kernel_bias_init, + kernel_input_scale=kernel_input_scale, + kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_use_fft=conv_use_fft, + conv_bias=conv_bias, + conv_padding=conv_padding, + conv_stride=conv_stride, + mask_use=mask_use, + mask_type=mask_type, + mask_init_value=mask_init_value, + mask_temperature=mask_temperature, + mask_dynamic_cropping=mask_dynamic_cropping, + mask_threshold=mask_threshold, ) elif conv_type == "Conv": ConvType = partial( - getattr(torch.nn, f"Conv{dim_linear}d"), + getattr(torch.nn, f"Conv{kernel_dim_linear}d"), kernel_size=int(conv_horizon), padding=conv_padding, stride=conv_stride, @@ -123,7 +186,7 @@ def __init__( init_order=4.0, init_scale=0.0, use_cuda=True, # NOTE(rjbruin): hardcoded for now - scale_sigma=scale_sigma, + scale_sigma=kernel_scale_sigma, ) else: raise NotImplementedError(f"conv_type = {conv_type}") @@ -131,7 +194,7 @@ def __init__( # Define NormType NormType = { - "BatchNorm": getattr(torch.nn, f"BatchNorm{dim_linear}d"), + "BatchNorm": getattr(torch.nn, f"BatchNorm{kernel_dim_linear}d"), "LayerNorm": ckconv.nn.LayerNorm, }[norm] @@ -140,7 +203,7 @@ def __init__( ] # Define LinearType - LinearType = getattr(ckconv.nn, f"Linear{dim_linear}d") + LinearType = getattr(ckconv.nn, f"Linear{kernel_dim_linear}d") # Create Input Layers self.cconv1 = ConvType(in_channels=in_channels, out_channels=hidden_channels) @@ -215,7 +278,7 @@ def __init__( # ------------------------- # Save variables in self - self.dim_linear = dim_linear + self.dim_linear = kernel_dim_linear def forward(self, x): # First layers diff --git a/models/cktcn.py b/models/cktcn.py index 382f259..452a332 100644 --- a/models/cktcn.py +++ b/models/cktcn.py @@ -75,37 +75,93 @@ def __init__( dropout = net_config.dropout block_width_factors = net_config.block_width_factors - # Unpack dim_linear - dim_linear = kernel_config.dim_linear - - # Unpack conv_type - conv_type = conv_config.type + # Unpack kernel_config + kernel_type = kernel_config.type + kernel_dim_linear = kernel_config.dim_linear + kernel_no_hidden = kernel_config.no_hidden + kernel_no_layers = kernel_config.no_layers + kernel_activ_function = kernel_config.activ_function + kernel_norm = kernel_config.norm + kernel_omega_0 = kernel_config.omega_0 + kernel_learn_omega_0 = kernel_config.learn_omega_0 + kernel_weight_norm = kernel_config.weight_norm + kernel_steerable = kernel_config.steerable + kernel_init_spatial_value = kernel_config.init_spatial_value + kernel_bias_init = kernel_config.bias_init + kernel_input_scale = kernel_config.input_scale + kernel_sampling_rate_norm = kernel_config.sampling_rate_norm # Define Convolution Type: # ------------------------- # Unpack other conv_config values in case normal convolutions are used. + conv_type = conv_config.type conv_horizon = conv_config.horizon conv_padding = conv_config.padding conv_stride = conv_config.stride conv_bias = conv_config.bias + # Unpack mask_config + mask_use = mask_config.use + mask_type = mask_config.type + mask_init_value = mask_config.init_value + mask_temperature = mask_config.temperature + mask_dynamic_cropping = mask_config.dynamic_cropping + mask_threshold = mask_config.threshold + # Define partials for types of convs if conv_type == "CKConv": ConvType = partial( ckconv.nn.CKConv, - kernel_config=kernel_config, - conv_config=conv_config, + kernel_type=kernel_type, + kernel_dim_linear=kernel_dim_linear, + kernel_no_hidden=kernel_no_hidden, + kernel_no_layers=kernel_no_layers, + kernel_activ_function=kernel_activ_function, + kernel_norm=kernel_norm, + kernel_omega_0=kernel_omega_0, + kernel_learn_omega_0=kernel_learn_omega_0, + kernel_weight_norm=kernel_weight_norm, + kernel_steerable=kernel_steerable, + kernel_init_spatial_value=kernel_init_spatial_value, + kernel_bias_init=kernel_bias_init, + kernel_input_scale=kernel_input_scale, + kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_horizon=conv_horizon, + conv_padding=conv_padding, + conv_stride=conv_stride, + conv_bias=conv_bias, ) elif conv_type == "FlexConv": ConvType = partial( ckconv.nn.FlexConv, - kernel_config=kernel_config, - conv_config=conv_config, - mask_config=mask_config, + kernel_type=kernel_type, + kernel_dim_linear=kernel_dim_linear, + kernel_no_hidden=kernel_no_hidden, + kernel_no_layers=kernel_no_layers, + kernel_activ_function=kernel_activ_function, + kernel_norm=kernel_norm, + kernel_omega_0=kernel_omega_0, + kernel_learn_omega_0=kernel_learn_omega_0, + kernel_weight_norm=kernel_weight_norm, + kernel_steerable=kernel_steerable, + kernel_init_spatial_value=kernel_init_spatial_value, + kernel_bias_init=kernel_bias_init, + kernel_input_scale=kernel_input_scale, + kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_horizon=conv_horizon, + conv_padding=conv_padding, + conv_stride=conv_stride, + conv_bias=conv_bias, + mask_use=mask_use, + mask_type=mask_type, + mask_init_value=mask_init_value, + mask_temperature=mask_temperature, + mask_dynamic_cropping=mask_dynamic_cropping, + mask_threshold=mask_threshold, ) elif conv_type == "Conv": ConvType = partial( - getattr(torch.nn, f"Conv{dim_linear}d"), + getattr(torch.nn, f"Conv{kernel_dim_linear}d"), kernel_size=int(conv_horizon), padding=conv_padding, stride=conv_stride, @@ -117,12 +173,12 @@ def __init__( # Define NormType NormType = { - "BatchNorm": getattr(torch.nn, f"BatchNorm{dim_linear}d"), + "BatchNorm": getattr(torch.nn, f"BatchNorm{kernel_dim_linear}d"), "LayerNorm": ckconv.nn.LayerNorm, }[norm] # Define LinearType - LinearType = getattr(ckconv.nn, f"Linear{dim_linear}d") + LinearType = getattr(ckconv.nn, f"Linear{kernel_dim_linear}d") # Create Blocks # ------------------------- diff --git a/trainer.py b/trainer.py index 9bf1b4e..3dd535e 100644 --- a/trainer.py +++ b/trainer.py @@ -17,7 +17,6 @@ import probspec_routines as ps_routines from tester import test import ckconv -import timer from torchmetrics import Accuracy import antialiasing from optim import construct_optimizer, construct_scheduler, CLASSES_DATASET diff --git a/utils.py b/utils.py index 8701456..10e3654 100644 --- a/utils.py +++ b/utils.py @@ -12,3 +12,6 @@ def load_config_from_json(filepath): dot_list.append(f"{key}={data[key]['value']}") return OmegaConf.from_dotlist(dot_list) + +def omegaconf_to_dict(omegaconf, name): + return {name + '_' + k: v for (k, v) in omegaconf.to_dict()} \ No newline at end of file From 9e27f9f7e7dbab8a9494c328d49d155e2b6765d6 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Mon, 6 Dec 2021 15:10:40 +0100 Subject: [PATCH 2/7] Minor changes. Add testcases. --- cfg/config.yaml | 19 ++-- models/cktcn.py | 12 ++- run_experiment.py | 2 +- testcases/c10-fn5-reg.npy | Bin 0 -> 288 bytes testcases/c10-fn5.npy | Bin 0 -> 288 bytes testcases/scifar-tcn-flexconv.npy | Bin 0 -> 288 bytes testcases/smnist-tcn-ckconv.npy | Bin 0 -> 144 bytes testcases/testcase_settings.txt | 144 ++++++++++++++++++++++++++++++ trainer.py | 34 +++++-- 9 files changed, 188 insertions(+), 23 deletions(-) create mode 100644 testcases/c10-fn5-reg.npy create mode 100644 testcases/c10-fn5.npy create mode 100644 testcases/scifar-tcn-flexconv.npy create mode 100644 testcases/smnist-tcn-ckconv.npy create mode 100644 testcases/testcase_settings.txt diff --git a/cfg/config.yaml b/cfg/config.yaml index 65b5cf8..1d22106 100644 --- a/cfg/config.yaml +++ b/cfg/config.yaml @@ -121,16 +121,9 @@ profile: time: False summary: [0, ] summary_depth: 5 - - - - - - - - - - - - - +testcase: + load: False + save: False + epochs: 1 + batches: 20 + path: "" \ No newline at end of file diff --git a/models/cktcn.py b/models/cktcn.py index 382f259..5f20e55 100644 --- a/models/cktcn.py +++ b/models/cktcn.py @@ -16,6 +16,7 @@ def __init__( in_channels: int, out_channels: int, ConvType: Union[CKConv, FlexConv, Conv1d, Conv2d], + NonlinearType: torch.nn.Module, NormType: torch.nn.Module, LinearType: torch.nn.Module, dropout: float, @@ -44,6 +45,7 @@ def __init__( in_channels=in_channels, out_channels=out_channels, ConvType=ConvType, + NonlinearType=NonlinearType, NormType=NormType, LinearType=LinearType, dropout=dropout, @@ -51,8 +53,8 @@ def __init__( def forward(self, x): shortcut = self.shortcut(x) - out = self.dp(torch.relu(self.norm1(self.cconv1(x)))) - out = torch.relu(self.dp(torch.relu(self.norm2(self.cconv2(out)))) + shortcut) + out = self.dp(self.nonlinear(self.norm1(self.cconv1(x)))) + out = self.nonlinear(self.dp(self.nonlinear(self.norm2(self.cconv2(out)))) + shortcut) return out @@ -74,6 +76,7 @@ def __init__( norm = net_config.norm dropout = net_config.dropout block_width_factors = net_config.block_width_factors + nonlinearity = net_config.nonlinearity # Unpack dim_linear dim_linear = kernel_config.dim_linear @@ -121,6 +124,10 @@ def __init__( "LayerNorm": ckconv.nn.LayerNorm, }[norm] + NonlinearType = {"ReLU": torch.nn.ReLU, "LeakyReLU": torch.nn.LeakyReLU}[ + nonlinearity + ] + # Define LinearType LinearType = getattr(ckconv.nn, f"Linear{dim_linear}d") @@ -159,6 +166,7 @@ def __init__( in_channels=input_ch, out_channels=hidden_ch, ConvType=ConvType, + NonlinearType=NonlinearType, NormType=NormType, LinearType=LinearType, dropout=dropout, diff --git a/run_experiment.py b/run_experiment.py index 7cb4627..ac23814 100644 --- a/run_experiment.py +++ b/run_experiment.py @@ -102,7 +102,7 @@ def model_and_datasets(cfg): if isinstance(m, ckconv.nn.CKConv): m.train_length[0] = 0 - if len(cfg.summary) > 1: + if cfg.summary: torchinfo.summary(model, tuple(cfg.summary), depth=cfg.summary_depth) return model, dataloaders diff --git a/testcases/c10-fn5-reg.npy b/testcases/c10-fn5-reg.npy new file mode 100644 index 0000000000000000000000000000000000000000..e95ff7f431e0ccf3de551e2b3b6ef6a6583dea0b GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$720EHL3bhL411<(2XiM&L08$Q?kzl%EdMcP^sDX$daLNPo4{V7B(+SrS z!L&nh8kkl%2T|`}1mQEh3ImHTu!g8xAQl5r|2qmyKj47S2mYl)#MdW*X@$;ss652p J2P~mo4gd)2M9csH literal 0 HcmV?d00001 diff --git a/testcases/c10-fn5.npy b/testcases/c10-fn5.npy new file mode 100644 index 0000000000000000000000000000000000000000..979f3daa042586acf70d09565e3167a95b4eb329 GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$720EHL3bhL411<&zh67qPtPVh$A$1i$h(7SnR~SS$glu63(GHW6|JsA- zkDdHv{n#4n1%K(GJUI khk$5?ISS?=T0uS68ALCbvP}&{AGo~25=1K)sH->t05jG@*#H0l literal 0 HcmV?d00001 diff --git a/testcases/scifar-tcn-flexconv.npy b/testcases/scifar-tcn-flexconv.npy new file mode 100644 index 0000000000000000000000000000000000000000..3926e95efbc128108b60388e1e96c7bf99b3e960 GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$720EHL3bhL411<&zh6NvHGCP3iYGo!6&5&#lrVm7DGJ^OGYb7B3kQy+Z zaPc-+JwsVEL|!Zz!dH9`rVlW0;sxnrNZkeIJLsMGZx7@)95DI=q8WZ)U~m9Z4s$-U bfM|t{?d)KF{{=Ar!K-LC5TBv0h{XW_^JzYe literal 0 HcmV?d00001 diff --git a/testcases/smnist-tcn-ckconv.npy b/testcases/smnist-tcn-ckconv.npy new file mode 100644 index 0000000000000000000000000000000000000000..8ea7247df59b1cfa2486143e0d35b9c7ed7dc798 GIT binary patch literal 144 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= jXCxM+0{I$7I+{8PwF(pfE(QjMgo;&64j?+((boY0BQhSU literal 0 HcmV?d00001 diff --git a/testcases/testcase_settings.txt b/testcases/testcase_settings.txt new file mode 100644 index 0000000..bd6e95b --- /dev/null +++ b/testcases/testcase_settings.txt @@ -0,0 +1,144 @@ +c10-fn5 +"debug=True", +"device=cpu", +"train.batch_size=2", +"conv.horizon=33", +"train.augment=resnet", +"net.block_width_factors=[1.0, 1, 1.5, 2, 2.0, 2]", +"net.no_blocks=5", +"net.no_hidden=22", +"conv.type=FlexConv", +"dataset=CIFAR10", +"net.dropout=0.2", +"net.dropout_in=0", +"mask.dynamic_cropping=True", +"train.epochs=350", +"kernel.input_scale=25.6", +"kernel.type=MAGNet", +"kernel.no_hidden=32", +"kernel.no_layers=3", +"train.lr=0.01", +"train.scheduler_params.warmup_epochs=5", +"train.mask_params_lr_factor=0.1", +"mask.init_value=0.075", +"mask.temperature=15.0", +"mask.type=gaussian", +"net.type=ResNet", +"net.norm=BatchNorm", +"train.optimizer=Adam", +"kernel.regularize=False", +"train.scheduler=cosine", +"train.weight_decay=0", +"wandb.project=ckconv_vision", +"summary=[64, 3, 32, 32]", +"seed=0", +"testcase.load=True", +"testcase.path=./testcases/c10-fn5.npy", + +c10-fn5-reg +"debug=True", +"device=cpu", +"train.batch_size=2", +"train.augment=resnet", +"net.block_width_factors=[1.0, 2, 1.5, 3, 2.0, 2]", +"conv.type=FlexConv", +"dataset=CIFAR10", +"net.dropout=0.2", +"net.dropout_in=0", +"mask.dynamic_cropping=True", +"train.epochs=100", +"cross_res.finetune_epochs=100", +"kernel.input_scale=25.6", +"kernel.type=MAGNet", +"kernel.no_hidden=32", +"kernel.no_layers=3", +"train.lr=0.01", +"train.scheduler_params.warmup_epochs=5", +"train.mask_params_lr_factor=0.1", +"mask.init_value=0.075", +"mask.temperature=15.0", +"mask.type=gaussian", +"net.type=ResNet", +"net.no_blocks=7", +"net.no_hidden=24", +"net.norm=BatchNorm", +"train.optimizer=Adam", +"kernel.regularize=True", +"kernel.regularize_params.factor=0.1", +"train.scheduler=cosine", +"cross_res.source_res=16", +"cross_res.target_res=32", +"wandb.dir=/tmp/wandb", +"train.weight_decay=0", +"wandb.project=ckconv_vision", +"comment=c10-cres-fixalias-gabortog-16x32-check", +"kernel.regularize_params.target=gabor", +"kernel.regularize_params.method=together", +"kernel.regularize_params.gauss_stddevs=2.0", +"seed=0", +"testcase.load=True", +"testcase.path=./testcases/c10-fn5-reg.npy", + + +"debug=True", +"device=cpu", +"conv.type=CKConv", +"train.batch_size=2", +"dataset=sMNIST", +"train.batch_size=64", +"net.dropout=0.1", +"net.dropout_in=0", +"train.epochs=200", +"kernel.type=Gabor", +"kernel.no_hidden=32", +"kernel.no_layers=3", +"train.lr=0.001", +"dataset_params.mfcc=False", +"net.type=TCN", +"net.no_blocks=2", +"net.no_hidden=30", +"net.norm=BatchNorm", +"train.optimizer=Adam", +"dataset_params.permuted=False", +"train.scheduler_params.decay_factor=5", +"train.scheduler_params.patience=20", +"train.scheduler=plateau", +"summary=False", +"conv.use_fft=True", +"train.weight_decay=0.0001", +"seed=0", +"testcase.save=True", +"testcase.path=./testcases/smnist-tcn-ckconv.npy", + +"debug=True", +"device=cpu", +"conv.type=FlexConv", +"mask.type=gaussian", +"mask.temperature=15.0", +"train.mask_params_lr_factor=0.1", +"mask.init_value=0.075", +"train.batch_size=2", +"dataset=sCIFAR10", +"net.dropout=0.1", +"net.dropout_in=0", +"train.epochs=200", +"kernel.type=MAGNet", +"kernel.no_hidden=32", +"kernel.no_layers=3", +"train.lr=0.001", +"dataset_params.mfcc=False", +"net.type=TCN", +"net.no_blocks=2", +"net.no_hidden=30", +"net.norm=BatchNorm", +"train.optimizer=Adam", +"dataset_params.permuted=False", +"train.scheduler_params.decay_factor=5", +"train.scheduler_params.patience=20", +"train.scheduler=plateau", +"summary=False", +"conv.use_fft=True", +"train.weight_decay=0.0001", +"seed=0", +"testcase.load=True", +"testcase.path=./testcases/scifar-tcn-flexconv.npy", \ No newline at end of file diff --git a/trainer.py b/trainer.py index 9bf1b4e..126a4fc 100644 --- a/trainer.py +++ b/trainer.py @@ -113,13 +113,6 @@ def train( epoch_start=epoch_start, ) - # save model both locally and on wandb - if cfg.debug: - torch.save( - model.state_dict(), - os.path.join(hydra.utils.get_original_cwd(), "saved/model.pt"), - ) - save_to_wandb(model, optimizer, lr_scheduler, cfg, name="final_model") return model, optimizer, lr_scheduler @@ -159,6 +152,9 @@ def classification_train( # Training parameters epochs = cfg.train.epochs + # Testcases: override epochs + if cfg.testcase.load or cfg.testcase.save: + epochs = cfg.testcase.epochs device = cfg.device criterion = criterion().to(device) @@ -176,6 +172,9 @@ def classification_train( epochs_no_improvement = 0 max_epochs_no_improvement = 100 + if cfg.testcase.save or cfg.testcase.load: + testcase_losses = [] + # iterate over epochs for epoch in range(epoch_start, epochs + epoch_start): print("Epoch {}/{}".format(epoch + 1, epochs + epoch_start)) @@ -280,6 +279,9 @@ def classification_train( # print(f"Resolution: {config.regularize_gabornet_res}") # print(f"Total regularization term (incl. lambda): {gabor_reg:.8f}") + if cfg.testcase.save or cfg.testcase.load: + testcase_losses.append(loss.item()) + # Backward pass: if phase == "train": loss.backward() @@ -308,6 +310,9 @@ def classification_train( # torchmetrics.Accuracy requires everything to be on CPU top5(pred_sm.to("cpu"), labels.to("cpu")) + if total >= cfg.testcase.batches: + break + # Log GaborNet frequencies if cfg.kernel.regularize and phase == "train": stats = antialiasing.get_gabornet_summaries( @@ -425,6 +430,21 @@ def classification_train( # Print learned limits _print_learned_limits(model) + # Testcases: load/save losses for comparison + if cfg.testcase.save: + testcase_losses = np.array(testcase_losses) + with open(hydra.utils.to_absolute_path(cfg.testcase.path), 'wb') as f: + np.save(f, testcase_losses, allow_pickle=True) + if cfg.testcase.load: + testcase_losses = np.array(testcase_losses) + with open(hydra.utils.to_absolute_path(cfg.testcase.path), 'rb') as f: + target_losses = np.load(f, allow_pickle=True) + if np.allclose(testcase_losses, target_losses): + print("Testcase passed!") + else: + diff = np.sum(testcase_losses - target_losses) + raise AssertionError(f"Testcase failed: diff = {diff:.8f}") + # Return model return model From 4a6cff8979912e78475200c124055718306c31b8 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Mon, 6 Dec 2021 16:42:07 +0100 Subject: [PATCH 3/7] Merge with models from testcases branch. --- models/cktcn.py | 4 ++-- run_experiment.py | 2 +- testcases/testcase_settings.txt | 4 +--- trainer.py | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/models/cktcn.py b/models/cktcn.py index c97d43e..9d39227 100644 --- a/models/cktcn.py +++ b/models/cktcn.py @@ -115,6 +115,7 @@ def __init__( if conv_type == "CKConv": ConvType = partial( ckconv.nn.CKConv, + horizon=conv_horizon, kernel_type=kernel_type, kernel_dim_linear=kernel_dim_linear, kernel_no_hidden=kernel_no_hidden, @@ -129,7 +130,6 @@ def __init__( kernel_bias_init=kernel_bias_init, kernel_input_scale=kernel_input_scale, kernel_sampling_rate_norm=kernel_sampling_rate_norm, - conv_horizon=conv_horizon, conv_padding=conv_padding, conv_stride=conv_stride, conv_bias=conv_bias, @@ -137,6 +137,7 @@ def __init__( elif conv_type == "FlexConv": ConvType = partial( ckconv.nn.FlexConv, + horizon=conv_horizon, kernel_type=kernel_type, kernel_dim_linear=kernel_dim_linear, kernel_no_hidden=kernel_no_hidden, @@ -151,7 +152,6 @@ def __init__( kernel_bias_init=kernel_bias_init, kernel_input_scale=kernel_input_scale, kernel_sampling_rate_norm=kernel_sampling_rate_norm, - conv_horizon=conv_horizon, conv_padding=conv_padding, conv_stride=conv_stride, conv_bias=conv_bias, diff --git a/run_experiment.py b/run_experiment.py index ac23814..7cb4627 100644 --- a/run_experiment.py +++ b/run_experiment.py @@ -102,7 +102,7 @@ def model_and_datasets(cfg): if isinstance(m, ckconv.nn.CKConv): m.train_length[0] = 0 - if cfg.summary: + if len(cfg.summary) > 1: torchinfo.summary(model, tuple(cfg.summary), depth=cfg.summary_depth) return model, dataloaders diff --git a/testcases/testcase_settings.txt b/testcases/testcase_settings.txt index bd6e95b..19e90d6 100644 --- a/testcases/testcase_settings.txt +++ b/testcases/testcase_settings.txt @@ -103,11 +103,10 @@ c10-fn5-reg "train.scheduler_params.decay_factor=5", "train.scheduler_params.patience=20", "train.scheduler=plateau", -"summary=False", "conv.use_fft=True", "train.weight_decay=0.0001", "seed=0", -"testcase.save=True", +"testcase.load=True", "testcase.path=./testcases/smnist-tcn-ckconv.npy", "debug=True", @@ -136,7 +135,6 @@ c10-fn5-reg "train.scheduler_params.decay_factor=5", "train.scheduler_params.patience=20", "train.scheduler=plateau", -"summary=False", "conv.use_fft=True", "train.weight_decay=0.0001", "seed=0", diff --git a/trainer.py b/trainer.py index b8dbfdf..a5e48ea 100644 --- a/trainer.py +++ b/trainer.py @@ -256,12 +256,11 @@ def classification_train( gabor_reg = antialiasing.regularize_gabornet( model, cfg.kernel.regularize_params.res, + cfg.kernel.regularize_params.factor, cfg.kernel.regularize_params.target, cfg.kernel.regularize_params.fn, cfg.kernel.regularize_params.method, - cfg.kernel.regularize_params.factor, gauss_stddevs=cfg.kernel.regularize_params.gauss_stddevs, - gauss_factor=cfg.kernel.regularize_params.gauss_factor, ) loss += gabor_reg running_gabor_reg += gabor_reg From 63ba270524efcdf34d225960933fb77ae6718565 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Mon, 6 Dec 2021 16:48:54 +0100 Subject: [PATCH 4/7] Change summary to list again. Fix testcase settins. --- run_experiment.py | 2 +- testcases/testcase_settings.txt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/run_experiment.py b/run_experiment.py index ac23814..7cb4627 100644 --- a/run_experiment.py +++ b/run_experiment.py @@ -102,7 +102,7 @@ def model_and_datasets(cfg): if isinstance(m, ckconv.nn.CKConv): m.train_length[0] = 0 - if cfg.summary: + if len(cfg.summary) > 1: torchinfo.summary(model, tuple(cfg.summary), depth=cfg.summary_depth) return model, dataloaders diff --git a/testcases/testcase_settings.txt b/testcases/testcase_settings.txt index bd6e95b..a2614cc 100644 --- a/testcases/testcase_settings.txt +++ b/testcases/testcase_settings.txt @@ -103,11 +103,10 @@ c10-fn5-reg "train.scheduler_params.decay_factor=5", "train.scheduler_params.patience=20", "train.scheduler=plateau", -"summary=False", "conv.use_fft=True", "train.weight_decay=0.0001", "seed=0", -"testcase.save=True", +"testcase.load=True", "testcase.path=./testcases/smnist-tcn-ckconv.npy", "debug=True", From 7ba6498974bb09ffe9c13df8fb34821d1b9cd9ce Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Mon, 6 Dec 2021 17:06:49 +0100 Subject: [PATCH 5/7] Fix use_fft not being passed through TCN definitions. (Testcases saved our life here!!1) --- models/cktcn.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/cktcn.py b/models/cktcn.py index 9d39227..681d85f 100644 --- a/models/cktcn.py +++ b/models/cktcn.py @@ -102,6 +102,7 @@ def __init__( conv_padding = conv_config.padding conv_stride = conv_config.stride conv_bias = conv_config.bias + conv_use_fft = conv_config.use_fft # Unpack mask_config mask_use = mask_config.use @@ -130,6 +131,7 @@ def __init__( kernel_bias_init=kernel_bias_init, kernel_input_scale=kernel_input_scale, kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_use_fft=conv_use_fft, conv_padding=conv_padding, conv_stride=conv_stride, conv_bias=conv_bias, @@ -152,6 +154,7 @@ def __init__( kernel_bias_init=kernel_bias_init, kernel_input_scale=kernel_input_scale, kernel_sampling_rate_norm=kernel_sampling_rate_norm, + conv_use_fft=conv_use_fft, conv_padding=conv_padding, conv_stride=conv_stride, conv_bias=conv_bias, From f444d4dda9fb6887b6c149fae9644a185e99d1a6 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Tue, 7 Dec 2021 14:38:39 +0100 Subject: [PATCH 6/7] Add MNIST randomsettings testcase. --- testcases/mnist-fn7-randomsettings.npy | Bin 0 -> 288 bytes testcases/testcase_settings.txt | 40 ++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 testcases/mnist-fn7-randomsettings.npy diff --git a/testcases/mnist-fn7-randomsettings.npy b/testcases/mnist-fn7-randomsettings.npy new file mode 100644 index 0000000000000000000000000000000000000000..aff78c9d54711c405bf70f3bcde0ef91008335e1 GIT binary patch literal 288 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$720EHL3bhL411<&z1_ud$b_XDxAiYZnL^tU63xMf5A7um44egWpL3F}_i(vH!X5TFb@egcJI1Zv48a1bY=!9Pu-C+L2`CCEs ggSnd*f#?N=YgT~h1L0PUAUa`J`(!X(tTMv^063XNQ2+n{ literal 0 HcmV?d00001 diff --git a/testcases/testcase_settings.txt b/testcases/testcase_settings.txt index a2614cc..ac7cc5b 100644 --- a/testcases/testcase_settings.txt +++ b/testcases/testcase_settings.txt @@ -140,4 +140,42 @@ c10-fn5-reg "train.weight_decay=0.0001", "seed=0", "testcase.load=True", -"testcase.path=./testcases/scifar-tcn-flexconv.npy", \ No newline at end of file +"testcase.path=./testcases/scifar-tcn-flexconv.npy", + + +"debug=True", +"device=cpu", +"conv.horizon=29", +"train.batch_size=2", +"train.augment=standard", +"net.block_width_factors=[1.0, 2, 1.5, 1, 2.0, 2]", +"conv.type=CKConv", +"dataset=MNIST", +"net.dropout=0.2", +"net.dropout_in=0", +"mask.dynamic_cropping=True", +"train.epochs=100", +"cross_res.finetune_epochs=100", +"kernel.input_scale=25.6", +"kernel.type=MAGNet", +"kernel.no_hidden=34", +"kernel.no_layers=2", +"train.lr=0.01", +"train.scheduler_params.warmup_epochs=3", +"train.mask_params_lr_factor=0.1", +"mask.init_value=0.05", +"mask.temperature=12.0", +"mask.type=gaussian", +"net.type=ResNet", +"net.no_blocks=5", +"net.no_hidden=20", +"net.norm=BatchNorm", +"train.optimizer=Adam", +"train.scheduler=none", +"wandb.dir=/tmp/wandb", +"train.weight_decay=0.001", +"wandb.project=ckconv_vision", +"comment=c10-cres-fixalias-gabortog-16x32-check", +"seed=0", +"testcase.save=True", +"testcase.path=./testcases/mnist-fn7-randomsettings.npy", \ No newline at end of file From 9d57fd7a8697e2f174127d514c8420105178d894 Mon Sep 17 00:00:00 2001 From: Robert-Jan Bruintjes Date: Tue, 7 Dec 2021 15:02:34 +0100 Subject: [PATCH 7/7] Add demo notebook. --- demo/flexconv.ipynb | 573 ++++++++++++++++++++++++++++++++++ demo/kernel_sizes_flexnet.pdf | Bin 0 -> 63950 bytes demo/kernel_sizes_flexnet.png | Bin 0 -> 294632 bytes demo/truck5.png | Bin 0 -> 2654 bytes 4 files changed, 573 insertions(+) create mode 100644 demo/flexconv.ipynb create mode 100644 demo/kernel_sizes_flexnet.pdf create mode 100644 demo/kernel_sizes_flexnet.png create mode 100644 demo/truck5.png diff --git a/demo/flexconv.ipynb b/demo/flexconv.ipynb new file mode 100644 index 0000000..a5c990e --- /dev/null +++ b/demo/flexconv.ipynb @@ -0,0 +1,573 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# FlexConv demo\n", + "\n", + "In this notebook, we illustrate the construction of a simple FlexNet, proposed in our work [FlexConv: Continuous Kernel Convolutions with Differentiable Kernel Sizes](https://arxiv.org/abs/2110.08059). The code provided here is a simplified version of the main code. For baseline comparisons please refer to the main code.\n", + "\n", + "In particular, we will:\n", + "* Show how to instantiate a FlexConv layer, from the `ckconv` package.\n", + "* Show how to instantiate a FlexNet network, from the `models` package.\n", + "* Show how to regularize a FlexConv/FlexNet against aliasing.\n", + "\n", + "Let's go! First, we import some packages:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%autoreload\n", + "\n", + "# Append .. to path\n", + "import os,sys\n", + "ckconv_source = os.path.join(os.getcwd(), '..')\n", + "if ckconv_source not in sys.path:\n", + " sys.path.append(ckconv_source)\n", + " \n", + "import numpy as np\n", + "import torch\n", + "from torch.nn.utils import weight_norm\n", + "from omegaconf import OmegaConf\n", + "\n", + "import ckconv.nn as cknn\n", + "from models import Img_ResNet\n", + "\n", + "from matplotlib import pyplot as plt\n", + "from PIL import Image" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## FlexConv\n", + "\n", + "The FlexConv module can be used in place of a regular convolutional module in any architecture. The only required argument that is novel w.r.t. to vanilla convolutions is the `horizon` value, which is the largest kernel size the FlexConv can learn. The horizon should be an odd integer, so that the learned kernel is centered on a pixel, instead of on a subpixel. We recommend it to be the image size.\n", + "\n", + "The init signature of FlexConv is quite long, as it takes many arguments. Almost all arguments however are provided a default value, which the user does not need to think about.\n", + "\n", + "```python\n", + "\"\"\"\n", + "Flexible Size Continuous Kernel Convolution.\n", + "\n", + ":param in_channels: Number of channels in the input signal\n", + ":param out_channels: Number of channels produced by the convolution\n", + ":param horizon: Maximum kernel size. Recommended to be odd and cover the entire conv_image.\n", + ":param kernel_type: Identifier for the type of kernel generator to use.\n", + ":param kernel_dim_linear: Dimensionality of the input signal, e.g. 2 for images.\n", + ":param kernel_no_hidden: Amount of hidden channels to use.\n", + ":param kernel_activ_function: Activation function for type=MLP.\n", + ":param kernel_norm: Normalization function for type=MLP.\n", + ":param kernel_weight_norm: Weight normalization, for type=[MLP, SIREN, nSIREN].\n", + ":param kernel_no_layers: Amount of layers to use in kernel generator.\n", + ":param kernel_omega_0: Initial value for omega_0, for type=SIREN.\n", + ":param kernel_learn_omega_0: Whether to learn omega_0, for type=SIREN.\n", + ":param kernel_steerable: Whether to learn steerable kernels, for type=MAGNet.\n", + ":param kernel_init_spatial_value: Initial mu for gabor filters, for type=[GaborNet, MAGNet].\n", + ":param kernel_bias_init: Bias init strategy, for all types but type=MLP.\n", + ":param kernel_input_scale: Scaling factor for linear functions, for type=[GaborNet, MAGNet].\n", + ":param kernel_sampling_rate_norm: Kernel scaling factor for sampling rate normalization.\n", + ":param conv_use_fft: Whether to use FFT implementation of convolution.\n", + ":param conv_bias: Whether to use bias in kernel generator. TODO(rjbruin): move to kernel_config.\n", + ":param conv_padding: Padding strategy for convolution.\n", + ":param conv_stride: Stride applied in convolution.\n", + ":param mask_use: Whether to apply Gaussian mask.\n", + ":param mask_type: Type of mask. Recommended to use \"gaussian\".\n", + ":param mask_init_value: Initial value for the size of the kernel.\n", + ":param mask_temperature: Temperature of the sigmoid function, for type=sigmoid.\n", + ":param mask_dynamic_cropping: Whether to crop away pixels below the threshold.\n", + ":param mask_threshold: Threshold for cropping pixels. Recommended to be 15.0.\n", + "\"\"\"\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Override default config values\n", + "in_channels = 3\n", + "out_channels = 3\n", + "horizon = 33\n", + "\n", + "flexconv_example = cknn.FlexConv(\n", + " in_channels,\n", + " out_channels,\n", + " horizon,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's convolve a random CIFAR-10 image with our randomly initialized FlexConv:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAADlCAYAAADX248rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABZ1klEQVR4nO29e5Rl113f+f2dc1916139bkmtltqSLFsGG+RXbMC8gnEINiQkwCQ4GSbOmgkrsEKYeJHJa2Yy8TCEZGWFYcVgYhMYAuFlk/iBbPzA4NiW5YcsyXq11FK/H/Wu+z5nzx9VTtr+fX/dVdVV1bdK389aWt361e5999l7//Y5+967P2UpJQghhBBCCCGEuLlkN7sBQgghhBBCCCG0ORNCCCGEEEKIoUCbMyGEEEIIIYQYArQ5E0IIIYQQQoghQJszIYQQQgghhBgCtDkTQgghhBBCiCFAmzMhxAsCM/unZvbrN7sdX4+ZfczM/qeb3Q4htgLlmRDbj/Jsb6PN2RBjZs+a2Xdt82sMZYILsRnM7EfN7EEzWzazc2b2ATN7/c1u12Yxs/vM7ENmdtnM9EspxVCwB/PsrWb2OTNbNLPTZvZzZla52e0SL2z2YJ79sJk9bmYLZnbRzN5jZhM3u13DiDZnQog9gZn9PQD/GsD/BeAQgGMA/l8Ab76JzbpR+gB+G8CP3+yGCAHs2TxrAvgpAPsBvBrAdwL4+zezQeKFzR7Nsz8F8LqU0iSAOwFUAPyfN7dJw4k2Z7sAM/sbZvZJM/t5M5szs2fM7Huv+vnHzOxfmNln1t6ReK+Zzaz97A1mdvrr6nvWzL7LzN4I4GcB/NW1d2a+uLNXJsTWYGaTAP53AH8npfR7KaWVlFI/pfSHKaWfuapozcx+zcyWzOwRM7v/qjrebmZPr/3sUTP7gat+tp4c/D/M7E/X/v0fmdn+q37+GjP7MzObN7Mvmtkb1nNdKaXHU0rvAvDI5ntHiK1hD+fZL6WU/iSl1EspnQHwGwBet+mOEuIG2MN59nxK6fJVoQLAizbcQS8AtDnbPbwawONYfWfv5wC8y8zsqp//GID/EcBRAAMA/+Z6FaaUPojVd2V+K6U0llL6xi1vtRA7w2sBNAD8/nXKfT+A/whgCsD7APzbq372NIBvATAJ4J8B+HUzO3LVz6+Xgz8K4G8COAighrV33s3sFgD/BavvEM6sxX/XzA5s9CKFuMm8UPLsW6E3RMTNY8/mmZm93swWACwB+EtY/XRQfB3anO0eTqWUfjmlVAB4D4AjWP2o+6v8h5TSl1NKKwD+EYC/Ymb5zWioEDeBfQAup5QG1yn3yZTS+9fy6D8A+G9vSKSU/lNK6WxKqUwp/RaAJwG86qp/e70c/PcppSdSSm2sfhXx5Wvxvwbg/WuvW6aUHgDwIIA3bf5yhbgp7Pk8M7O/CeB+AD+/kX8nxBayZ/MspfTJta813grg/wHw7Hr+3QsNbc52D+e/+peUUmvtr2NX/fz5q/5+CkAVq++ICPFC4AqA/Xb9Q/znr/p7C0Djq//GzH7MzL6w9lWNeQD34Wtz6Ho5+PV1f/VntwP4oa/Wu1b367F6MxRiN7Gn88zM3gLgHQC+9+u+fiXETrKn82ztNc8A+CBWP/kTX4dsRHuH2676+zGsigQuA1jB6mFnAMDap2lXf/wsA5zYC3wKQAfAWwD8zkb/sZndDuCXsSoC+FRKqTCzLwCwa/7D9fE8Vj/Z/ltbUJcQN5M9m2e2egb7lwH8hZTSw1vQHiE2y57Ns6+jAuDEFtSz59AnZ3uHv2ZmLzGzJlYPkv7O2sfVT2D13ZS/YGZVAP8bgPpV/+4CgONmprkgdi0ppQUA/xjAL5rZW8ysaWZVM/teM/u5dVQxitU3Ki4B/+2rTfdtUfN+HcBfNLPvMbPczBq2Kuq59Xr/0FZpYPU7/1j7t/Xr/DMhtoU9nGffgVUJyF9KKX1mi9ojxKbYw3n2P5jZsbX72u0A/jmAj2xRu/YUeiDfO/wHAO/G6kfRDQB/F/hvSf6/APgVAGew+kna1fbG/7T25xUze2inGivEVpNS+gUAfw+rb0Bcwuo7fD8B4A/W8W8fBfAvsfqO5QUAL8Oq9ncr2vU8VvXHP3tVu34G61t/bwfQxn+XE7SxeohbiJvCHs2zf4RVccL7bdVcvGxmH9iKdgmxGfZonr0EwJ8BWF5rz+MA9I0SgqWkb7XtdszsYwB+PaX0Kze7LUIIIYQQQojNoU/OhBBCCCGEEGII0OZMCCGEEEIIIYYAfa1RCCGEEEIIIYYAfXImhBBCCCGEEEPADW3OzOyNZva4mT1lZm/fqkYJIb4W5ZoQ24/yTIjtR3kmxLXZ9Nca136Z8RMAvhuravbPAviRNYUnJa9WU7VBfkVPKlxoauYgraNeb9D4yuK8i2VFn5bNypLGrfBxK4L+CfotlVF5X3ct2BtbtUbj7Yr//YEp43XMz8/TeEnaVxpvcxZcylhzzMWm983QsmfOnKbxgrxmo1qlZY0PF4rg2vt9P+4l6X8A4a/g3shvaixTeTmldOD6JTfHRnOtljXSSObHKLH5XeW/h74c4XOwJHMwIkVv/ZB4iqrd6K/MZOO5Fb92MyDr8XjeI33djyayX/8AAJXchfrjfLwsqCLvknYEa1TKgo6K+o9cjgVra7Re8tfjL7jYOT9UeQYAtXwkjVQnXbys+XEqqxubiGzds6gfo3WMxTdYRwiZL1HOp2BM2fVkJHcAAIMBj5N1LZpDqc7vManqGx7lqw2C9m0FUf6QePzsduPju4S5bcu1zeTZvpksHbvN51SfXFMr8TFeGIzQeCILXC3jC2rGFr0AVu+14hYMULaBgYvqYC85KP39BQDqGX9uHs26LpYHrxffMvxPLgzGadlK8OA3na/c0OsBQBE8cGRkwYyuMYpvhIcfHoR5xu/06+NVAJ5KKZ0EADP7j1j93QdhglUbddz2zf734KWe7+y3/PBP0DpOnLiHxj/7od9zsebCOVq23mvz9s37yVddDJ6+evxGMWj7OgAg73Zc7Gjwu2SrR4/R+CPTftEpxkdp2d9/73tpfHnFJ14358lYL/id9lvue5WL/aUf+1Fa9h/+rz9D44tV33/3HDlMyzaCm/X8SJPGz5z2477Sb9GylSJYKMkDbBb8nu7l3tIp+oOtY0O5NpKN4bVjb3bxYnHRxSr7D9EXXHkFn4Pdab+gRw9kgzrv20HTx4vg1yonfv/gD50A3TBE3w8I7k0I7suUsdN8bo495/O9enGJVzLnxwUAMOMf+s9/B39eqi3xDpl8wq+tWYvne9nkDzVlnd8m8o7P4WyFr3/oBw/WDLIpBYAPPfovhirPAGCkOonXHvsxF+/e7t+sah3i/Rvd4ysd8qBANtsAkA2CBzuywQg3HdEbkQFlw4/ToMnHrqjzJMx6/jWbp5d52fNXeDsWfV5ZLZjLJ/jvye0c9veSxgX+nJBfCfJ4I0Rv7rb9ugEAadnncQo3q3wBo28cl7zsh9PvbGeubTjPjt1WwR9/wL9hf4FszB/q8DF+/+zLaLxX+vXt9uYsLdsM3o1jm4B+cIMpghtSNXiHrUE2S9GGLQ82NBmJX+xN0LJ3jVyg8deMnHSxUeNzMHofqkM2Rf/64nfSsjNVP+cB4K9Mfda/XrBpXgo26ksl/5CnYb6vZzKek6PZjb9Jc8dt58M8u5GvNd6C1V8+91VOr8WEEFuLck2I7Ud5JsT2ozwT4jrcyOaM7Y3ddt7M3mZmD5rZgwX5upkQ4rpcN9euzrNeyd/pEUJckw3f03oF/3RFCBGy4Ty7fGUbv0oqxBByI5uz0wBuu+r/bwVw9usLpZTemVK6P6V0fx6cKRJCXJPr5trVeVbL+Ef2QohrsuF7Wi3n51iEECEbzrP9+yQWFy8sbmTGfxbAXWZ2h5nVAPwwgPdtTbOEEFehXBNi+1GeCbH9KM+EuA6bFoKklAZm9hMAPgQgB/CrKaVHrvVvirLActsfph2s+APxD36YCy3Kx0/Q+PTZM77ek0/TsjOBwaBs+6+opJIfeFycX6DxbpcfiJ9o+E8NJ45yGUPFuLziz32zPzj52AI/nGyjXJax0veHquuBvW08OFR97x3+6+H3HeB2zVpgyymTN0CUGTcE9iv8EG6R83FkZrAUHHbvBwdJc9LsQAC27Ww81wzI/WHk/ICXSZSH99EaVo7wpWHxTh8j56kBAEWT921q+oPPVtuYTTMNIsuHHySrBgKEPIr7Fy26/HB3f4zP2UQ+vRyrBAfBydoAAN2DXvbTPsAnYX+Mx0fP+fbVevzgeVkLDrCPROYUH7I+r9sGG7Cs3KRE28w9LeUZykm/1nanfFK0Dgb3HT6FUCHn4fNeYPgN3BAZiVe6gTwkkIpEwp/emP9BdzKQAHFvFZgYrj/KRQVej7NWB5svZP0DgN40/1bBMlnvBg3e6LFA5kHnfmAUjuyVWWDPpYbVFn9OCPOHtDtFZswbF9GFbOrZMSUsEXnJQ53bXCwSf3zqGXLzAjBY9An4uQn+zDHSDIRHhDywVjVq/HhPo8KTOBGJxkI7sJa3g2eolo9H97+X3M5FehNH/PPxnbWLtOzzff5c8dGFe13sgSdfTMvun+bPtnc3fPsOVnjZ8wO+aiwV/BsP47m/xrtq52lZgB8fqUV68Q1yI7ZGpJTeD+D9W9ISIUSIck2I7Ud5JsT2ozwT4troi7xCCCGEEEIIMQRocyaEEEIIIYQQQ4A2Z0IIIYQQQggxBNzQmbONksoC/UV/cG9fwx9uPMpOCgM4suCFFgBQbfuDmmfO89/yPjPJDytWzB8SHFT4QfZKLTi82Rij8VFimBgv+MHdl43P0PiFM5dc7PlzPgYA313n1/hQuuxilwve13md792ffuTTLvaBYFxmGvwaz8L335J3hAAARqK3EGp8+jZIvw76/JBmJ7DO5xmpeyNSg5tJZrAGEa4cnHaxldv5fO3MBOKJKd8HqcH7JQvi9bof+yzj49Pv8TEusuBQPpF5jAaHuG+fnqPxQekn3PmlcVp2PuPSgLnM9397H59slTaf+L0JPwb9Cd5PZTUShXgxQmUpEHwEIgELZDqMVOV1WyA6QLnLf39RZiia/rB9UVu/1ISc9wfARTsWLEHREkn8OBgEkqYsmBZlhZfvjft4b4rXMWgG+UrCVvCrqS3zXGuQeWvBvCprQU+RdkQ5Fc5xkidR2WjMU50LHTIW73NpRQokJFaQtdt2x/vzuRnGyQQtyMxvDQLDzgYo+rxf2q3gIYWQB8+O4WuS+w4AdPp+IVia5blQPc/lUiNtlqs8R06O8mfHT47e7esY5/P7XN8/awDA+Y6/j0aSlXrO+69V+jHoJC7nWCFlV8vz+1GT2I/YHLsWrPRm7nK7IzOFEEIIIYQQYo+jzZkQQgghhBBCDAHanAkhhBBCCCHEEKDNmRBCCCGEEEIMAdqcCSGEEEIIIcQQsKO2xrHGCF5/730uPp5748uxBjfuVE5fpPHBxUVfb40b1i7Or9D4Yt9bCxcDz8qAaaYA9Jn2CcCUeYvORO7tkABw9vNfofGn/vgTLrb/xffSsn91/3Eaf2PNt+90YDKc7fF+ypdbLjZ+5hQte2fQT0/12y5WH3D71EibmzGXugs0Pjk94WJZhV9j0ffXAgDFwL9mPd/RdNk8WY407m1OK3f4fJi/k19Td19g6GOWscA6Wq7wujssHtSR9QLzWD8yqfl2tw7SoiineB3dYv3jfPCAX3cAoDXp830lMH2Vvcie6K+F2SgBoL/A18vlI75uK/m6k4Jm5B3+mllv/Q6qyFrHdIKJ3A+GlbKaoX3Q932/6a8rEBAj48se8q7v9wqJAUDGl0hqEAzLlrzuyDzZJ0a7rMfLVgI9YVn3r9n3yzcAYPE2npf9pjfOVoI5OwjUvxkRw1kwvVPO60gVH4+sjBbcc6O3yxN5HrKC5zHIcwwAgNzTrB9MhiETE/cTcKHwffZI6xYXO7M8SeuInLPZmO+vamDjrgXxnKzV1cDW2KjwOrLgWYnFV2q87jIwWHdGiUl0nLejPcfn1YdLb2t8fB+/ueZB8rB769QINy3ONPjzZyf5e+tiwU3Iy0G8GmhvRzNujtwIRMyOYGm9JvrkTAghhBBCCCGGAG3OhBBCCCGEEGII0OZMCCGEEEIIIYYAbc6EEEIIIYQQYgjQ5kwIIYQQQgghhoAd1c+N1ht41Ym7XNwG3uyyfJFbGf/oqcdpfLHlLSutwJCS1bgNrJX5dnRLXnYQuH+6iVtgxojp77kZb9QDgO8acIPg7MBbhSbuaNKy9774lTQ+eOeDLvbyyn5adjpN0fgi6ZLlYJ8/Mc7rXlz0fT2yxC1Tox2uvDrbvULjnTFv6Bm7jbdjbJmbgoqBH8d+j2vVFleWafxmkfIM5aSfF0u3+DnYPrgx+1vjPLH/DXiOMAMawO10obGut7H2MbNca47nyKO9ozSe2EsG2rW7bz9P4y/bd443kLA04BbH5b6PX2nza1locMPWYssbOgdNvuwHAis0L3Lz1mjH/4OSGOsAwJjCKiCy4Q0jZQVYOeTnf0mGtBLckKrLQbzt43mHj0VkzswGxNYYmQLpxAeKBp8vZcVb01IWWBl9UQBAf9yX700GN+7DvO5ixPd/1NfRHGcW2kGDv16PmFgBoNL28zYyYOb9YMGLqHtbY8oik22wOPb8/TUuu+6W7QjLZR1/0jrh4n926U4XuzLv7Z0AMDLCL+rwxJKLjVf5c0GFPCMCQI3c7OrBTaoS3RgD2oWfb1E7LmRcddps+LHPgzqWn+G2y/6Sf159apHfu6zK67bM50OtwfupCO65jzWOuNhtjTladmHA74sHa9yy3CBK3fmC33M7waI2lfPn942ye+6CQgghhBBCCLGH0eZMCCGEEEIIIYYAbc6EEEIIIYQQYgi4oTNnZvYsgCWs/j75QUrp/q1olBDia1GuCbH9KM+E2H6UZ0Jcm60Qgnx7SunyegpaSsgH/lBmZr4Zixk/yPdwcPC5P+IPgXaMfzBYqQQyj+6Ki5VdfngzGT+smBHxBwCsZD5ejPLDlLe3fTsAYD75g5OTo15+AQC3jPkDxABQJc0+WeEijs4yF11Uu76SxSXeTy9JvH0vzf0hy1bi4zVe5QcvBxdmabzZPOxioymYN33e7pwIX8am+GHb589zKcQ2sL5cy4Ci7g/Js7OxFpy9b57n85vJIbJ+cPg+EAzkHR9nUiAAyLuB6CAYNyYvqLZ4Liwknn+JrA/BuWJc2s+lPvdMXvDtCGwEV7r8wHF74Of9coe3OaI84NfblZznU9YPpB2BeADw/VrpBnMhECNkTPgSzMkdZN33tJQDfe9coYKJ2jyvo7bM53h12c+XnEhYACDr8kP11vNx6/D1PiIL7jH1up8XibuBUFb43EpEFNPjPgIMGnxiVFZ8HcGtBBb4L4wMAfEwAAA604EAadzHI6FRPXh+yDtBAwlW8HUNwVqadfxaYF0vUgMA7Izjat151ks5TvdmXPzKil87i4IP/sFxflGvnDnlYpHMox9M8MmKl0A0gslWsMXhGiwXPv8GgaiuV/B4o+Lb0hkEz6qhyMu3u2wGUpoGr4QJQSJ6QfsudfyzfpUl8DVgz3cAUJCFYyV4TphNXDzTCspz/Nz7KvpaoxBCCCGEEEIMATe6OUsA/sjMPmdmb9uKBgkhKMo1IbYf5ZkQ24/yTIhrcKNfa3xdSumsmR0E8ICZfSWl9ImrC6wl3tsAYGqcfwwohLgu18y1q/OsXg++FySEuB4buqdVJqZvRhuF2O1sKM8mjwTfKxdij3JDn5yllM6u/XkRwO8DeBUp886U0v0ppftHR5RgQmyG6+Xa1XlWq/JzUEKIa7PRe1qlqVwTYqNsNM+a08H5OiH2KJvenJnZqJmNf/XvAP48gC9vVcOEEKso14TYfpRnQmw/yjMhrs+NfK3xEIDft1XrUAXA/5dS+uC1/0miWqSCGJtmK9wQtdSYovEDR25zsaNjvOzShTM0fmHpeRebvsUbggDgypUrNI4KVzxNjPmvvzSr/Bqby9z2stD2Jp6FRT6Ez813aPyuvn8H6lOtOVr2StXbnQAgH/g9/amleVr2b9QO0Pj4AW8+PPxN9/DXW+HteEnepvERYiwaBP1xYcCtQkRMhFQEGqPtZ2O5lgArvI2oQrogzXNz1NhZfq3N095KlSr8PZ6U83jeIuMZyJaYYQwAbJmPfTbpvzpdm+Q5Ul0O2k3MclkguJu7wr+q/dykXzc6BW/H0+d5jgyW/VqSL3IbV1nj9qlE4mmEd3Y0Xh2+BKIgtr5ImhX1X9727csDgdwOsPF7Gr+lUVtjIIDjxsrw9QIbZmAvZXHrBYMRGASt5IPKDJzROGcD3u4qERNXeGqHVJd93fX54PXawQQlxfujPB/6I7yfivr6LXy9cV53dSUwqZL+iyy5WWC0ri77taOyxJ9BtpkN51mJDK3SP7tQM2OQTmXi47NIVLzdcmOPxuO5v7kWQT5F1t6G8eRpFf55sBfYGouSvya79hT0RxlYSlnHVqf4c9Vt++dpvJ77RbCR8+uu5YGZlrTjfIcpc+MxLwNjZodcfDO4IW1kHItNfA626c1ZSukkgG/c7L8XQqwP5ZoQ24/yTIjtR3kmxPWRSl8IIYQQQgghhgBtzoQQQgghhBBiCNDmTAghhBBCCCGGAG3OhBBCCCGEEGIIuNFfQr1hEjGtDIiBar7NLTADBLYyUm9ZctNbv8frZo6jrMG7qDRucMkCc93UoYMuNj3Of4FpdspbIwFghVS9dO4yLTt7aIHGudyIm2vawd59YuDLrzT57yHpBv1358tf5GK9O47SsuUKt+K87Zg3dALA8a4v36vwdpwsuRrs9JI3WJ46d5aWffhJGr6pWOFnc3WJmPECM1p9jhuUspaPpxGudwq8aLAB+UlgoUNg00xt3nAb8+atktgXASDxpYTaviKDoC3xefX8ov9F4L0BL5vOcWNaY8HnX22Jt2MQSNe6+31fl42grys83jvMx6BfIybAnNdR9nhnW8vHc7bQDSlW8rxKxEBc6QamRWI9BAAmGktZMJcz3mfGjHFB2ajush7cA2u+nhQMXR6YBZmtMbSoBnVXWszWyOdsdZkrM+kYGL+n9cb5XO57ATGICBAA0N3H+zrv8rqZBTM0oAbzbOSKH8fxhSavZMgokmGJLHLMOGjBPOkRizPATX+dgt/TKoGOdqrqLcbTFR8DgEaoNOXhK33/uxTPr5DJBqDb5+2u5r7dlcCGmOr8GguSDtNj/Fn6+Ngsje+vL9M4IzJmPrXk7cbPz0/Rsu02z+EvBPejjNwDa3U+XhNNfu23js+72OFGcOPGp4O4PjkTQgghhBBCiKFAmzMhhBBCCCGEGAK0ORNCCCGEEEKIIUCbMyGEEEIIIYQYAnZUCLKwtIQPffhj/gc1fyj1UpXLMuhpfQBLi/Mu1lnxMQDod8gpZACJHApuLSzSshV20BqABWKDvOmvsdus8/b1+AHEdunj9T4/1Jl3ucGgIIe+K2VQR8kPhmbEpGB1fvK5rPMDmTbm++PiMj9AW7HgkOvTz9H47KlTLpYF7Ts6zQ/W3jo15mL3zxyhZX+ZRm8iKdED7iNX+DgzKst8DlpB6ujxXGDz5Kvt8/UGkoqIPLJ5EHjzQiGIkUuMznBXAnnBcoscXi+DfuryOJclRPKIYD0qSDzo61Tj8eYMz8uXHT7nYreNeJEOAPSDzj7b9uKUiy1/QB8ATtLozSXrJ4yd9xOmqPp+ry7z9bTSCfKSFI/yxIK1muVayoP3ZIM5FJUvar58JO3IBrzdFeL1qS7yskU9kGgQ2UjeC+5d3fULQWzA711M1AIAJZniZT24lkDgEwlEMtJsC9YTBPGi6hs4cm53CEFqVuDWul9b7th/xcUWurxzpxtcItWseHFcI+fzJAuEIJn5ca6yQQNQBDekuYEXfwDALBGCrHT53CyDsa9kkZ7LYyO83ez+VavwsiM5v2E2M9/Xkfhjqc/H8XKL9EeLP0sX87yfKkuBoIqkay/n7bhU8c+IAHBhzO9donvotdAnZ0IIIYQQQggxBGhzJoQQQgghhBBDgDZnQgghhBBCCDEEaHMmhBBCCCGEEEOANmdCCCGEEEIIMQTsqK1xMChwfs7bD9vFkot1J4N9Y5U3eUAkNZbxOsrA9GaZtwIOCl5HVuemlsJ4+TNnvdns2Di3wOTGr7FHzFvz85do2fFHuZ3nGyvEfEgMjqtw09SVmr/G2cAw2atxW86jz5x3sWenuTlqZpRbjKY6/DVnvBAI+Qo3dGKJ15E/v+BibabyGUIsAdbxFqXG5Y4vTCxlAJAtk7IArBtoCxkbMcsVfL5aEEeVGzyZcZXZF69FSaqO6qgu8dxptXwllvH+qAaXuBFrZCARA5FjIXpPrmB6QAD1KjdyfcP4GRd7/djjtGzDeMMvFd7M+PnWcVr2T2j05pL1SjSf92tL2SCTKMi1cI5voKwNgjo2UHdka4xeMyP5HRkEM2JUBIBKy9ddVngdPX7LRd5j7YjWniBO+i8qG0j4wAR1qcOvpawG95LoFkMUkSlYT1LwVFc0fB3FyI4+Am6a0ayL+5ve15qThe/5zsyG6q6TRTWyy0Y0SB15MJhR3UuBwrMgY58F9sU8D9ZwYlWsZvymNjnFzYLdvp8rjcDWyPoUAMpInbwBRqq+7mqVX0sR5FmqBInW9+2LHvsiyzLgx7fT4M/B10KfnAkhhBBCCCHEEKDNmRBCCCGEEEIMAdqcCSGEEEIIIcQQoM2ZEEIIIYQQQgwB192cmdmvmtlFM/vyVbEZM3vAzJ5c+3N6e5spxN5HuSbE9qM8E2L7UZ4JsXnWo+p5N4B/C+DXroq9HcBHUkrvMLO3r/3/P7heRSUMXWIyqTS9pa/DjG4Aij63w+TNERezQGFWltzskjG7Y2BfzOrcLMhscQCAntemjc57SyUAWGAhHBD7z7Nzp2nZ4pI3qQHAt41OutgyurRsGdigysKPQbbEbYhZhfd1bdKvydO3HKZll85foPHU5XUPLs+5WDWwBPUbdRpvJm/XKbZfbPVubEWulSWs6+dblm/AlBTk2UYwYhcFALB4VDaiwo1Xqe4HKQVvQZWBkKsYYW0J+i5qdo+8aD1Yj7h4En0iKbUisL8FczNjGtug0SlY6yJmKssu9uIqXwcmM26rulRcdrH5gttZt5B3Y4vuaVaUyBa83Szr+OtNgQ0RQV4mcj+yItCGDoI4u49G7QgIbY1dP4+ywI4W2U7zll9n6kHzLEjYbOBfMwUG4ihOxyCytAVLY0Zuo3mUUoHVMoI/ygTXGKwFbAwiI+UW8W5sUZ7lVmIq93l2qOqtyp1gQY0siSWxIQbi2pCMTJbo9TZqgqySwR+vUw0vWsEz22St7WIHGn79BoCZOrc1Xmh7s+50ULYS2CRZP0XUc55oNWKZtECpaDW+8JSNyAa//vZF9+JU83VUApvktbju3Til9AkAs18XfjOA96z9/T0A3rLhVxZCfA3KNSG2H+WZENuP8kyIzbPZM2eHUkrnAGDtz4Nb1yQhxFUo14TYfpRnQmw/yjMh1sG2C0HM7G1m9qCZPVgEX1UUQtwYV+dZr/BfYRBCbA3KNSG2n6vzbH52418LE2I3s9nN2QUzOwIAa39ejAqmlN6ZUro/pXR/zs50CSGuxbpy7eo8q+X+/KUQ4pps6p6mXBNiQ2wqz6ZmNnZOS4jdzmZ3S+8D8Na1v78VwHu3pjlCiK9DuSbE9qM8E2L7UZ4JsQ6u658zs98E8AYA+83sNIB/AuAdAH7bzH4cwHMAfmg9L1aUJRZXOi5eJdY9C6wptcByVOmSr5ckbnuxNrfU5D3ymoFJqyh4+6L3d+rwBsaV+XO0bC0w7hwk3wp9cZ9/VXQ0MGwVPd+O0UBNND7CjZTZotdS1RKvY3/JzZO96TEXO93lZa0XmBY73Fg0Nu5tb5b41yI6DZ4Cqe/ftxhss61xK3ONwexvqRrYSNHgdRCrYqoG5sRAVcYMYdYPvrYSxQPj3GDaf5LRH+XtKJo8z/pjPj4YDQyHkfRp0udINTA2RV+MG0z7yjtt3teRDY9JrCorvO8C4RWKMpgj5B9EVtS6cYNaw3wON4yvA1vFluZZSjBiNmVmRou+ORL0LyokTwbB0YDgyAAzLUZ5ichkGOTaRkx/ZTWwjNbX/4kIkbSt1kHu0f3xwMxX5etaRu6jZaCNZHK/qH1lZHaM5K9Rd2xAIBsJ8Vh+h0bdLWAr88yQ0CCLHFsrGlmwfkSnakg/srUNWLVGMqqkbVlQNhrkPGggsxZO1P1zNBBbC5sV3yf1QDvaCyyJo1X+vMWY7XHj7lLm868baLDbBb9nLHR9HYN+8AwSWVGDZ2yaU1GeBbmaKn4cKyR2Pa77uJlS+pHgR9+54VcTQoQo14TYfpRnQmw/yjMhNo8OgQkhhBBCCCHEEKDNmRBCCCGEEEIMAdqcCSGEEEIIIcQQsM2Kg6/FALCzyCPkUGq+skTrIGekV+smv2+mGsg8xnr+sD4AFD1/ELJd8rIpcVnGaHB68OCYv/BbmryOY0SWAQCT2bSLjY1N0rI1JjcBcNsSEYLs54c3m02uiR6t+X6a23+Ulj0UHMj8+OIlF3v6Ehe1HKvP0Hh0lrlskIOkgbmhVuUpkJNDuzk/nzp8mAFEPlCO+Gvtj0cXVafRbOA7vQykImUlOkm7vnoBIOvxg7SRYKB1yF/P4nFetneU53ZjjEgqavyQ+eQIP5h9bHzWxeqB0WBpwPu6Qg6UtwZ8vM4u83XgwrkpF6su1WjZrM/HIBKC9EmO9CMbwZ7FuDAjkGhQwoWMFA2kIqFshEkJgralPJBo1PkaWTSINInEVuO8edk4kRQFXRdKRVizI7dJcC6fCXUi2U8k7WD5k0fmj4BIG8BeM2pfdO2sX5m4ZhjJACoEaWZ+DR/L+ZrMpB1RvAg6sQw6PZR/EPrBYzdbTwFgse+TZ5FIMQCgE1jLLrX9M+W51gQtO7vCn0v7hW9fJCDZCClI+JHgnjso/BjUG7xsGdRd9IJ1dEDi0dAWQe6QfUcZiUmugT45E0IIIYQQQoghQJszIYQQQgghhBgCtDkTQgghhBBCiCFAmzMhhBBCCCGEGAK0ORNCCCGEEEKIIWBHbY2VPMO+cW+C2Z95A9lklytS5pdbNJ4RQ0pzhFvJIkNfRuwwS4U3EwLAYoe349YGNy2+mBhm7mpxg8u+JW6qnJryVrf94/wam5d4uxsDH6/3ucVoepkbcJp93+7zgcGql3gdKx1vZiwHgZ2nytvXCyxnsy0/Nlk/uJaM91+HjFfR5GWHkgox6U349rcO8lwog5WBWs2CsS+4hJBaHCPZVWQQHDR57qzc6isaObFAy75inzeGAsC+up8/M7UVWvbW2hyNH636eCPzFkgAqILP74O5z5GLBV9fHli8j8Z/b/blLhY0AzYIrJY9PsCt0s+nTpCTReID3CflO2m3aFEBZIY04id62djAWhFZAau+31Ng/7PA4pn1yNwq+VgUozxhexO87h4xLfa5+BdlLTBEsuvZoNiMCfSiNSkyQbJ1LeO3DFQ6gVmWlLeSl40siSl6ImNDFlkZI6P1LhapJgAFGbxW6efscsFNhkVkWsx953ZLPufZmhfVHZkCu8HN9VSLW6lPLfj4whI3abNrAYBWz19Pp8Ovsd8K1i5WdZRQ5BkR4PeYFCjYO1P8RjU94e/P4w1uXo5skktdvkAkZlWM8imyOJLXzLKNJ58+ORNCCCGEEEKIIUCbMyGEEEIIIYQYArQ5E0IIIYQQQoghQJszIYQQQgghhBgCtDkTQgghhBBCiCFgR22NhoQavC1wOvfWmKPBtnGmxi0rvdKrkqYr3NpTTdyOlg+88aVfcCXLQofH7yy5YeZlbW9eO3qRWxnrk3xY7PCUD7a4RW6uu0jjS0TlVB3l5p9ihdfdXvT916lz8898zvv6mefPuliaPMxfr8ZNN31i/QOAxog32uWpQ8vWMj6f+sSu092gRexmkTJDWfNziNnVOjP8ogZ8SnCDWZCrUR2DEd+3kV0tMowNJriN9LY7vIHxjUcepWXvrF/klROqTOcGYDxr0/ho5teSKRIDgAOBYWs68+vX5IDbIT9f9esLwO1TwaWE8UGPr0ctouNcKvlAngO3254c+FydJbFhJWWGklgOB2PEeLbB9aOsEgNcsOZFRrG85+eWFYFRsxHcWyeDNXLUtyWyqEbmVpr3G7WjrbdeIByDaO5TeMojI0tSIGsM17VIfseuJywbrMdMQBjZP4eNBKBPbjSLpb/JzA4CZWhAn3RuZFS8EuhIB2Tdy4JB7gZr5MXWOI3PLfjXLNq8jqzBJ3IikyWVfKJYYBak8623fitjGA/ma5bxhJ8Z8feS0Sq/tzLDJwC06nxBKgakMcG6E+VZPuYXgpF6oEi+BvrkTAghhBBCCCGGAG3OhBBCCCGEEGII0OZMCCGEEEIIIYaA627OzOxXzeyimX35qtg/NbMzZvaFtf/etL3NFGLvo1wTYvtRngmx/SjPhNg86xGCvBvAvwXwa18X/1cppZ/f6AuW5ITsKJFJNIk4BADq4Af5Kgen/WuNkEPZAOrBSb6Rqj9sv3iJSwOaY/xA5kjJ2z3eI9cdnE5OGT/UuTB7wcUagdxkjsgfACBVfbtnjLe5Z8z+AGR1P21qxl8vq/AxmJ72h1znq1wqUlb5AdUsKt/2JzgHwQHQ5TEuH1ghB+/rxw7Qsjj3FI9vnHdjq3It9+0vqz5WcGcOCiLtAICy5uvI+Vnc+JA9O3M7wk/dphFeydR+LsB47cFnXOzbxh6jZQ/k/GT/+cLPzVbJ508ffB3oJDY3eUfVg9ypWmQ1IK/HTvsDVK4QiRWo7AVAavHbxIXehIs93d9Hyz4fxB9cPO7bERkhto53Y6vyLDOUZD0cNP3YJZKT14LdplgOA0AZ1J2RA+6RjKII6u4R8QcADBpsjeF1p+BJg3kXmFhjtXBQN+mnSAgSHeKnKRj0UyRlSUSkEF13JEvqT0QGERIK1tfAN4H+OBO4rH+N2QTvxhblWY6EcfKckpNJ0S74JGwX/Flk3vxgMMEHAKwEdQyIXGO6xu8veZCAkbyCONxCsU0WyDzqdb+4FwVPhkhdURYk38M2R4YiUrbKEzvPeR09MjbjQZ/uI/IQACinebvnq00X67aCRS3g8L4FF+sVG8+z635yllL6BIDZDdcshNgQyjUhth/lmRDbj/JMiM1zI2fOfsLMvrT20bX/2EoIsVUo14TYfpRnQmw/yjMhrsNmN2e/BOAEgJcDOAfgX0YFzextZvagmT04CH5nmBAiZF25dnWe9Qf8o3whRMim7mn9Pv9dkEIIyqbybHZWz47ihcWmNmcppQsppSKlVAL4ZQCvukbZd6aU7k8p3V/JJYcUYiOsN9euzrNqxX9vWggRs9l7WrW6sV94K8QLmc3m2cyMnh3FC4tNzXgzO3LV//4AgC9HZYUQm0e5JsT2ozwTYvtRngmxPq5razSz3wTwBgD7zew0gH8C4A1m9nKs+oyeBfC31/NilmWojvp3Goumb8ZClVtxiuArW6eueKviqYx/FF7LuCrpZRUfP3KEG/oOHJ2i8bEuV02tfOWcixU93r5+oFOrTfuvZ3cDo83oeW6HsdRxsf0XuZ+nDMyTS6VvX4/EAKCs874+NH3Q15EFVrCSa6kmX3yCxo9/2xtc7Nka//rRUye5jXNlxLflR/9+MM0/+EEe3yBbl2sGmG8/EytF5r4IZvSrcnEibBBYNvu+Id1AozZo8rEfb3Dz4f7qkovNZH7OA0AzMDw1iKV0CVxrycpGnBl4uyEAXCl5HRPmr/FiwY9o9AM9XVbx18gMeQBQnw9MXxf4P3hs/pCLHaodp2U/euFuGj910q8DU0cWeQO3iK28pyUzFA3f94MRP58jW2PW5/2eB/cH2o5o7WRGxcA2WPJbLq0DAJjANJpbRY1fI7MZRsbHvBco6kjVkeG3aAQWWvKaeTeyawaGOjK+kTWyOx2072igvmXF54MBCyjrvpLu1PZ9IrWVeVa1DIdyf71TuX8erAe6z24wOavkJjhW5eMwXuX3koW+f87pBsbH+R7/ZstShxuBU8lu3LRoCDMzRrbGFBkYSXmr8DWq0uTPlJWgPKNk1w3gyorvv0rwrD9d5/uFyOI4u0i+CbHAF6QUrGntvp9ns5fHadlrcd3NWUrpR0j4XRt+JSHENVGuCbH9KM+E2H6UZ0JsHn2RVwghhBBCCCGGAG3OhBBCCCGEEGII0OZMCCGEEEIIIYYAbc6EEEIIIYQQYgi4rhBkKxlt1vDqbzrq4kuz3oDTHYzROtr9ORovC29UsS43snQLboDrZD4eCFlwgBhZAMDOz9J4o+f3wXkvsnRxa09vidh/iJUPAGqz3ACXzFvnLh2cpGVHjnsbGwDMnHixi42f4ObE4pC3sQHAx3/nt3zZ5Xla1oJBOPGXv4fGb/2B73OxU5/5U1r2gZ/95zQ+cdBb8XqPP0fLDh8JSKTPyFRh9kUAqLT4vKqQlGoEvyC00glsjQOfC4Pg10UNAqNiFsQZLaaEA5AnfvEtoqHrR3VQjRpQkM5+YOE+Wvahy7fR+ETdr4vHRvn6N5pzu1jZJ+tOIISrrvBrqS7xuXBhwRuoTk9wm+TZK3yNqV/0a9p8ja/9w0iqGDr7/L2nN0rMfcFbobXAdsrGKe9GtsFgHtZIrhETLQAUXKyLgt+OaDyyIRYjfI1IjfXb24oVbr+rLPvridqcDgeW12k/CP0Bf72F5/hcTmQuRwym+DPI7Yf580NObHQn+/zemi0GzyYFM3dGLRwuMhiambc1snW2mXNTYLvgdss6uQneUp+nZcdybmu82Pcm3uc7fC08Nwh0pAE5MRyWWXBfzHk+ZaS8BarmMrBjF20/v6Nns8kx3k9dklPL89xemV3m/dSd8TbOicDe3C+4JfG58zM03njCPx+PLNCiaB3h1z5PjPTorH9t+Cr65EwIIYQQQgghhgBtzoQQQgghhBBiCNDmTAghhBBCCCGGAG3OhBBCCCGEEGII2NHjoGOjdbzuVS9y8TNz/uDfY0/zU9L3vvR+Gn/mmZMuVpm9RMtmNX7Zd4z6w4MHcr5/vZS4bGSi5w8rAkC/9IdOl+v8BPbYoX00XrvjsIsdvO0WWjY/cSeNt5ZXXOznfvNdtOzMYW5p+Ef/5KddbHSaH7xc6fODmrN//IcuNnGAv97dRw/Q+MgKP/i79NnHXezAKT5eeZWfHH/my19xsS898Su07PBhVBTTJ5KCiBQVJWdgs34gklgODhZXfeUZEeYAQLbADwU/X+GHrT9eu9vFuiWvY7ricwEA5oidpBPUcaQ2T+M5/GHrD5+6h5ZNn+WCgXPTvl/P3cvz7NWHuawmEQlApcXHa1Dng96b5OVHa35N65bBwedA4GKlf00jB8+HlaIGLN3m5y4VUgQOm8A1Q8U52YBX0h/h+dOb9P07CMQf/fFgXowFMo+mz+9Kk9//psf5+ru/6eMWzJVnL/ND/MUzXiAT+YImJng7/vwtfr3vJz4P39t9GY33V3w7iGNsFSJ5ALj4AwAqTN5A5gcA1BZ4nAlm6gtRA4eLPkpcLPx6/cnFV7rYcyt8nlxu8+eLCunz+QkuqbijeZm3j8yVhT5PtDwQcRwZX6LxFSK7WOzw55Z+IKrrdvz9q9/m97R8ltfRWPbzqruPz5/FuhdrAEDxvO/Xqaf4fWfkCu+nK/d5scvlMT623SXeT2OPcTnM1El/PdEtrTfJf5Byv/jU9rd5JddAn5wJIYQQQgghxBCgzZkQQgghhBBCDAHanAkhhBBCCCHEEKDNmRBCCCGEEEIMAdqcCSGEEEIIIcQQsKO2RssyVEe8VeXwyCEXy4nRDQA6JW/y/GOPutjZ58/SstUmN7Uc/5bjLjZ2DzesXTn5FI0f/vbvoPH77r7PxQ4e8vZFABgZ89an1cq9xTGv8GtBxq1Zv/WL3jj4sed4P9VOXqDx7//rj7nY617zTbRs6xS3yJ39ih+v0Slu4Ds4wsf8zO//FxqvP/ebLnYxBeZALND4yFzHxY7czS2aQ4cBZdW/78LMbX0uOYqrJgKlssJzNW/zPq/lvnx1JXifyHi8XOQ2qEd63l461+HWrPEaN4kmoqocr/n5AACNSW8sBIAnVg66WOt5blo8fJJbqdoH/LV3TnDDVj9QShmxwpU1Pl4F71L0DvFrPEHsYmUKrJsZ1+eVFRLn3TGUlDVg5VbSx3Ufyzq8b6zk8eoyyZNA+jXgcjl09vn+HYwFYzHJ7xmHDs/T+IumvLnuxCg3JN/b4PeYo9U5F5st+P3vnfatNP7EKV++cYXP8bnLPAcXj/rJP5LzeV8SwygAVDrEPMq7FNkiv6c9c2Y/jSdiZqxf4HXUZ/lrVtp+3Otz/BqHjXaZ4eHehIt/9Pm7XGx5nq/3FqxB9abvg4k6X+/317lFfGXgrYCnFvnzzHJgWoxYnvPJXT3P7wPVJT43a0RSOrEc9McSj7dnfLw3xV9v0Of3o+ZFP4/3f5Fbk63gN4KFEz6HO4NAqTgItNNBuLWfPDdN8MLdGd6+iVE/d5p1bha/FvrkTAghhBBCCCGGAG3OhBBCCCGEEGII0OZMCCGEEEIIIYYAbc6EEEIIIYQQYgi47ubMzG4zs4+a2WNm9oiZ/eRafMbMHjCzJ9f+5KcfhRDXRXkmxM6gXBNi+1GeCbF51mNrHAD46ZTSQ2Y2DuBzZvYAgL8B4CMppXeY2dsBvB3AP7hWRY3mBF7yiu908d6S3yN+7syDvBIuqUGF2B2LkhtSijaPr/S9Wqlx+FZadt8I12NdCEyQ9oqXuVg2ydekC5eu0PiBcV8+D/bXnQVuWvz8U94yOTV1gJZtn+Ymw0+86zd8Hb/7R7Tslce92REAXjTnrUePneWaqQevXKTxI4EN8O7nvAGsv59rCUd7vP9GicnoK1e4cWyL2LI8S7mhP+4TpXWE2IUCa1GFmOIAwAofz3vc7pS3AkNR8uWry3wpKgNrKzPZAcBgxF/37AQf+06Dv2aj6teBkQq3ml3uc7PcFy94a+TIhcBkOODzmJHn3BBVEsMkANRGfLv7o1zLGAhegWpgpSIGy4zpPMENmABQkvU8b237Fzq2LNdQKWEHvfWTieHKjN+8mFk1wkqea0H3UgNnOcXn8sQ0UboBeM2hZ2n8jZMPu9hdVX7vurXCDXV1833ySI8bHzPj114hBsvmOV4Wid+fP9B4qYs1RoLnh7P83s9EldmAt8MKPuaDFu+nvOsHuM67GtUV/ppVYmvMO1HSbwlblmeLRRMfXPgGF+89MulijX5g+j7CrzUf9/m7r84NgpM516We63iT5MXLPgYAdjGwNQYW0PFzPj7zFZ7DtTk+ZysLpN09Xkca47bL9mt9X5cTvE9Hm7wdnX1+QVo6zl9v0OD90T7s7zFHZhZp2TRDwzhb4T+wtrc+pia/P48F6+Utk/65uRbeXGOue1dIKZ1LKT209vclAI8BuAXAmwG8Z63YewC8ZcOvLoQAoDwTYqdQrgmx/SjPhNg8G3qL0syOA3gFgE8DOJRSOgesJiEA/4t9Vv/N28zsQTN7cG6O726FEP+dG82zfo+/6yeE+FpuNNeKJeWaENfjRvOsNc9/J6UQe5V1b87MbAzA7wL4qZTSundZKaV3ppTuTyndPz3NP+YVQqyyFXlWrW3wN0sL8QJkK3ItH1euCXEttiLPmlMb+8XNQux21rU5M7MqVpPrN1JKv7cWvmBmR9Z+fgQAPxgkhFgXyjMhdgblmhDbj/JMiM1xXSGImRmAdwF4LKX0C1f96H0A3grgHWt/vve6L1ZpYP/hl7j42UtfcbFHP/YxWsfYidtp/Mh+fzB/8fZDtGxwrhgniKDjQDc40Jt411kgmJj0Z+eRj/O6m8Hp7nzBHzRsneeHp7/yhO9TAHjswmkXu9zmb2Yt56TRAB76r59wsW8NxAjNHq9jZL8/IJkFbxWkAT+4mtf5P+hXfN3nqvwg79wgkDRM+IOhD4xu39dytzLPVoUgvv12yI9F0fXlAABL/OA8O9caOCCAIJ6IAKEMVqIiEABF8bJGZCNE8AEAB0b5V9KaFX+YeazKv1ZznhwEB4DFOS8NmOBTEIMRnu8FebO4LIP5GixqTCDCJBEAYEH70Oevudz3DcyMz5t+lw9whTQ77wR2iy1iK3MtyxJGmn5utFZI37SDsePLG8+r4N4V5aCt3zUTMiiDNYLQS/waTw24IKBV+oZ/rHUvLfv0pf00Xpv382Vklud8pcvbN1/z+doZ5aKCkbng/tzxgxN5AKrBt2Etuvez54fo2SSYC0xOYoNo8b5xtjLPVgY1fPayf/Yb9Y8z6Abux2yUJ9r4CBEbBYk2N+AymJMLfm7aBf5p3+gZPgdzImwBgIlTvt2jXzpDyxYX+D63GPiJmO/jUozBLVM03tnv5+b0/iVa9lYixQCAZzM/3y40+T00VfjcPHrHZRd77cFnaNl+4mvXF3O+MF5Z8eNbr/Cyt09ygd2JMd++zbAeW+PrAPx1AA+b2RfWYj+L1cT6bTP7cQDPAfihLWmREC9MlGdC7AzKNSG2H+WZEJvkupuzlNInEQq34b34QogNozwTYmdQrgmx/SjPhNg82/4LZYQQQgghhBBCXB9tzoQQQgghhBBiCNDmTAghhBBCCCGGgPUIQbaMlIBux5tPUs/HVs6fp3XMLXAbzdma32c+dZ4bbfaPc0vNwuwFF3vy4w/Qss3LXG128NitNH4l8+anItATFmfP0fjpk0+42MJzZ2nZp0e4PbG36A0zh1rcRlMteXwl+WuvTe6jZYtBYMUZ8/GxI/R3UWI65xajkUqgnRs57EJZzm17M+f9mAPA+CFv+nyunOevN2QkA4qq/6p/ter7vAxMfHlv/ca8/igv25/h49Mf8wal/hivo7uPG5vKUT6vxg56DdorDz9Py75yghuemPnwYp8bpR6av43G0fbXWAaGye4kHwNWvhdYDy90xmm83yPlqzyfiiIY8yB+ZmHSxVodbmusnOHmssqKrzvqp2HFyHwpiQW1trx+E18EM+4BQHWFx2sLfm6lKu/gxQG/Z3wq54bklcKP9f7aclA3XwsudfxrPnnlAC07eIa3b3TJX3ve5euGlbyf6nMkB0s+XoGQEr0pX94CW2PJ0ySGNDvKk6Ietds3vFnZHe/PD8oMsy3/DMVWw94UH+OXHePPSq/b95SLNTNuFz3Xm6Jx9oqB0DucP9VWFCeTqMorz/fz57A06e8PrRNcazl3F59Y7dt9n7wosDIeGeHxRu7Nk08RgyMA1APL8isPPOdi0xXeeWe7UzSeAitqUfjBsaAdhxvcVHmi4fco0by5FrsjM4UQQgghhBBij6PNmRBCCCGEEEIMAdqcCSGEEEIIIcQQoM2ZEEIIIYQQQgwB2pwJIYQQQgghxBCwo7bGsizRbXvT33OnvVWxXXCDy0vuOE7jR6a9HevoS7j97xMPfI7G/+wTH3Wx6tFbaNkD8946AwDzX3qIxjsf9NbHQ4lbYKa5bAiDnrfDTBo369gd99J40fI2re85dict+/knn6Txfstbezpe3AYAyJpNGn/LD/5FF6vedQ8t2wusm4OT3ML3oUe9zefPvsyv5cW38DnyTd/6Whf7wZfeRcv+4cf/Fo3fLCxxq1t3xSvCUsfnDQBUvPQQALfCdaYD62g1MPd1id0uWInKcW5lnDjArXDfeMjPlW+b+got+7qRZ2m8k3yffCHjFtaHwG2NWdf3SW+cJ3Zku6RlO7yjnrzIDXf9tl8fsgZvR1njcQtsjfNnvMFy5BxvX/N8YIgkEseFu/mYDyMpGTodsgYPiLkvsP8N+BKJ9n4/h7Kga6ot3r+NKz6eBYbWYp7H55e43fhjl/z45w1+TysHvO7U8vOlOs/XpMblwEJIbJlFPXjfObi3gjxuRLa93hivJBGrcN7lba60gni07pLxLXk3ocslfOhO+9dsXuIW1WHDDMjJOLNrGkzxZ7N7JriZ+btHH3WxTjD4z+b7abw85Nvxnzu8b5eNPyz1Jvmc6Mx4S2X9Dv5cavyxGb1xX3frMJ/HvX08h2cOLbpYxfiC1C74c+l0zVsVp5vcfL7S488P//XCcRebX/Z9BAC9Fq8jBetAXvMdOD3K29cPtJvPdb0x8xMXXsRf8BrokzMhhBBCCCGEGAK0ORNCCCGEEEKIIUCbMyGEEEIIIYQYArQ5E0IIIYQQQoghYEeFIO1OF1969BkX71T9iejpb76f1vHs0nka/zt/+Y0udsuJUVr2H2f81OQf/M6nXay57w5atnvpMo2Plfww5UFybrJZ54cmZwKRQi/3/VRW+angs6lL41nPl//ml/JDrhdneV+fmrviYpen+YHMIzNTNP6aF73MxR4LDsx/4ksnafwjH/gQb9+Zcy5mRPIAAGmCn8a/t+EHbHJfcHJ/yLBBQmPWz8P8gp9XxQjPhdw7XwDwQ+j9cV62O8PHs3GFHOJu8hO62UhwOHnUHywGgFsb8y52S3WOlj2U8+Wvk/zY78u5gCQjh9QBLgcY8OUIqcLHoEYEDdkcXzM6gXABpH0pEn+0eR21K0F8wcdGz/Nraczyg+MLx/0YpNFdJAQpDYMumUeky4pAxNKf4PH2UR/vTfF1rHk2GFMSrnRo0VAmgDIQiLT8XCxrfH4G7gpkxN1QXQxkGUG7y5ov3wn6qdIJLpJdYuDpSdUg50k89XkleXAtI5d53bUl3+7eOB+X5dt5HYMxX8fKoR19BNw0uZWYHPGd9vwBMp7BuF3s8hvVn7TudrHZaLEOON7wz4OvPfosLftgziVSC0v8+aI77+/blUU+v6McLonooghkW1mT33PzzM+ry+0xWnap36DxO8d9P/ULfi0XL3JxSn7R90d1iQ96NhncW4/z+/l9h/2z491jF2nZmcDe89jKERc7fY5Lla6FPjkTQgghhBBCiCFAmzMhhBBCCCGEGAK0ORNCCCGEEEKIIUCbMyGEEEIIIYQYAq67OTOz28zso2b2mJk9YmY/uRb/p2Z2xsy+sPbfm7a/uULsTZRnQuwMyjUhth/lmRCbZz2qngGAn04pPWRm4wA+Z2YPrP3sX6WUfn69L9ZqtfHgF7/o4i+554SLHXvpi2gdTzzMDSmf/8IjLpbgrSkA8OY3v4XGF3CLiw2ucOthP3ELzOLCJRq/i9hrprhUCSX4D3q530u3ghG82OM2u1rLt3v+/BladqZep/GHp7xFp/k9b6BlP/3QF2j8l/7dv3OxB0+dpmWfP/kcjZfBGDBvTyXQhbUz/v7Ei196r4s1m9xAtEVsWZ5lgxK1Sz5Pmmf9eLYP8+vvcwkTjBg1ByN8vhZBd2U9X0cWWM1KYhcFgF5geGL2xKmsTctWjdexRIyrncQtdEu94CJJ1SkyO45xOxbm/HhFVqqC9CnA7V31+cCiGZjiIsNd1vflK+3gGoO3AfsTvi3V0UAVunVsWa6hBFLbL8LZqNcQDiYDjRwxqQFAc9LP2+4MN/n2x/k8rLT8ayZiXVv9AW9fVJ6NaWSLC14RIOWzIB1YWQAoSWoOArFuNgisbj3fwsgamXXX/4WjyDBZXQxyrR1cJGlKP7jG/iS38OWTfk72JrhleYvYsjyr5wPcMeEt0acmiWk6GOMn5w/Q+FzXd+SlNrc1tro8/26f8kbgW5vztOyJaX8dAHCmyif+heSft0I5b3DtqeLnm40EtkZiGgaAgtz7i2DNmG/zefUs9rnY7AqfyKnPL3Iw5fspu50/p/+5Y8/S+Pft8/sQAHhpjRvKGY/0DtP4J67c5YNLG7eiXvdfpJTOATi39vclM3sMILsYIcSmUZ4JsTMo14TYfpRnQmyeDZ05M7PjAF4B4Ku/EOwnzOxLZvarZja91Y0T4oWI8kyInUG5JsT2ozwTYmOse3NmZmMAfhfAT6WUFgH8EoATAF6O1XdH/mXw795mZg+a2YOtFv9KohBila3Is95AeSbE9diKXCuWlWtCXIutyLPOfPD9UCH2KOvanJlZFavJ9Rsppd8DgJTShZRSkVIqAfwygFexf5tSemdK6f6U0v3N5sZ+67oQLyS2Ks9qFeWZENdiq3ItH1OuCRGxVXnWmNrW895CDB3rsTUagHcBeCyl9AtXxa+2bfwAgC9vffOEeGGgPBNiZ1CuCbH9KM+E2DzrUYi8DsBfB/CwmX1hLfazAH7EzF6OVRHTswD+9vUq6hd9XJj3NsNXTrzUxe67j9saD8x4cw0AHJr0+8wnTl6kZReN28Due9VrXeyeqRla9tg0b0feWqbxyc8/5WKtL36alARWnrtA45cX/FdoqvUJWrYTGHcqXW+1KZf4u1IHR8Zp/Ln5eRf7yV/5NVr2zHPP0PgyaZ5l3PzzTfcQ+w2A7/u+76Px/fu9wale4Zalu28/RuN3HCcWKON2oy1iy/IMZYls2X8NpL7gO707E1gSA7tlIt3IbGkAkAXdFdrYGIEZrZbzyktijzpf8Bwpeks0frJ3m4t9vnU7LXt2kdedtXy7y3pgPazyeFnz4zXGxaXIg2/91FZ8HfVZvv7lXd6O7j4+wJ1JP0k6wemR/jifZ60j/jUPT/E19Gle9WbYulxLBiNztDLt52eq8P6t1nhCjDb8ONUqfN4v3RoYfolhLQ/qiGyN/U7wmNDz122BRs4CGyuzv0bGx6zg11hWfR1lHpgWB7zy0Ys+Xszza4nMowVpxyCQIXang3w4yhfeQdNfe38fnzdHj3EbYE5ssVea22pr3LI8yyxhNCfrFpkSlXk+X8/U+OJ0qenVxL1l/rxgK3x8vnjRPys9Mspt4YMgnyqX+Tqbe8kmUmBILsd4blfGfCUW2IPzYJ0arfk68oyXjayW3cJf+32HztGyB4/x+/N9o94u/tI6N31PZdzi+HTfWyMB4L2LL3exJ1sHadkvXeLjO3vJPxM0rgQPVNdgPbbGT4Lbyd+/4VcTQlCUZ0LsDMo1IbYf5ZkQm2dDtkYhhBBCCCGEENuDNmdCCCGEEEIIMQRocyaEEEIIIYQQQ4A2Z0IIIYQQQggxBKzH1rhl5JUqxvd5w8lKx1tguu0FWsdnvvgQjf/QX3yLi41OcMPa0w8/QeNfefZhF3vpt72elu0lbsWZrnJLzWf+6I9d7MWjdVoWR4/S8IE3fbuLdfdN0bIX/+APabwz8PaaY7feScs+tch/wWrnscdd7MzyHC1br/Mp9g133eNi3/0db6Blv+c7v4XGb7/9OI3Xat56lIHbcrIBH8f+wM8/y3bJexlmSFXf73nP25myHreG5VxyhIJM2VTl1icUvO5Ky8f6Xpi1VpjXfcsoXx9apc+/LwamRVYWAE6ueFPn47MHeB3Pcltj84K/9vYhPn/KwHCXEUvX2Dk+X0fOtmmc0Z/g1710O1+PWkG7uzPEIDfGxyuNcLNcfcprJveNkAkypFgJVNp+rBOxEEZWxmadDDS4kbTd40Y3nmnAxITvy6MTi7RsFtjbTs1xy93Sojf9pZXAyhi0kL5kYGvckCw3WqotWO/avvKMrJcA0CWWUgDo7Pd1r9wSGFpv5ffWOw7M0vhRst4drHOb3bE6tzV+YcmbiT9Z58a5YaNX5jjdmnJx6/ixyLiMFrbEn0X6yz5en4vWZD5/2NiXS3yejFzhdY+eDYyrE77uDpFJA8AgeM4p+v41I3tsPsPVvyMVv06t9Pm9pAjMrycmLrvY3zr4cVr2PmKHBIAWefb+s84hWvYXz72Sxh98jlu6y7N+TasFc6HKUxhjZIkOpJHXZJc8bQohhBBCCCHE3kabMyGEEEIIIYQYArQ5E0IIIYQQQoghQJszIYQQQgghhBgCdlQI0ukWePqUF0ece/ZPXOyb77mF1nHHPXfT+Nl5f2B2cmQfLdvu85PFi2dOu9jhBj/wOOjyQ+vL8/yQ7nLXnwjs7OfXeKbKD2p+8uRJF/uD3/40LbtwmR8svmt0xsXOLvMDoOdqvB2NgT+o+bLjx2nZ737jG2j8h77v+13s+J28jqIRHCYPTsEb+UE5CEQF4PEMftz7/U2c6rwZBEKQ6oofz+ZF3olFncczkjpljb/HY8HB/krL93lZCQYzkIpcanODyHzPH+h9eMAFO/PtBo3PXRl3sfqzXJYxfYbPn+qyv/iU837qFXyNaVz21551+esNxnkdK4f96eSVW3g7OvuCuie5yAJ1PxnyYM3IiNwCAJoNf3q/kfOD4MOIFUB91o/T8oSfL8VEIIQpeZzlYLfDhSCDNr+V9xo+XgkSs8KSG8CgCN7DXfRtqS3wspVlnsc1crtszAaigkDQAfOv2W/y12vP8HiPnOLvj/GyK7fyduTH/cXcf8sZWvZbpp+k8ZfWefmZ3D9vVANzShnIVy73/bpWBsKlYaNMhvbAj1Ei7S/4so68E9ynyPKWdSPFDiexda+3sfti4i4PMG9VVDZw+qDM/A9GD/Bn2Dv3caHMVM2Xv9DiQqyJOn+mfPWkf4adDGwZH+/4Z1UA+PfnvKTvc08cp2VHnuX3xfGLvKPqCz6e9zZiIgLaM0S+EozXtdAnZ0IIIYQQQggxBGhzJoQQQgghhBBDgDZnQgghhBBCCDEEaHMmhBBCCCGEEEOANmdCCCGEEEIIMQTsqK2xKBJmF7yZZbHvzS6X57khZbrGLTrPEtNiZ+lZWjZvjtL4nXfd4WK94PUmj+yn8WysSeMLd3sz47956gla9jNf/DKNPz/wZjPLuZqoNs6Hdq7h9+PnM1720fYlGv+7P/M/u9j9f+41tOzxE8dovEFkOWVgnzLj7csy/t4Ci1fywL6U87rLtlc4VWveBDiUpATrk/Yv+ZwaCfqlN8b7tk+m90g/sGkWgcmwTeLR8CxxzdEzl7jJCclX1J/jpsXGRT72M6d9+8bOcYNgbc7nJMDNjCnn7Uhn+cUnYthaOcLb3NnH6+gc8HUMpvi1ZCPcypjnfBzZK1qkCwtIZLxqgTVwGMn6wAgxf5UVP07daT6XuyN83etU/HpjXZ6XeS8wC5Y+fqY2SctGY9e6wu9po6f99TTP8zoac3xu1RZ8vLLE7W1lg5sqy4q/B0amxaXjNIzBlJ9zzQMrtOyrj3Cj4rdO+/v5yxunaNmjOb/G8YzPkZxkWxEsmt3E59N47p+zNmORuxnkljBe8+23hh+3MsiF0NZIuqusB3bn4OOMjNQdGR8rXGQY3gMHJP36h/kavv/gIo2fmL7sYveNn6Vlpyt83i+QhuTBmjFT5XV8afk2F/utM/fTsiefO0jjIye9gXH/2WDdCfYReTuwCvcDlSYhVYK1eJTc+zfxMZg+ORNCCCGEEEKIIUCbMyGEEEIIIYQYArQ5E0IIIYQQQoghQJszIYQQQgghhBgCrrs5M7OGmX3GzL5oZo+Y2T9bi8+Y2QNm9uTan9Pb31wh9ibKMyF2BuWaENuP8kyIzbMeW2MXwHeklJbNrArgk2b2AQA/COAjKaV3mNnbAbwdwD+4VkVlSugOvGVmpdV2sY/86X+ldTQDo9i+SW+S6bZ9vQBw7sIcjY8QG1Srx+s4cc+LaPzhz32exj/24Q/7dswt0bLVzNtoACCNeMtkXgZ2p8SHdjl5q82HHn2Ulj3w2nto/Aff+pddrN7gJkMzvv9nbp0sEOVkxOgGAKnkhp5+zxt6BmTeAQAKPp+qVW/Wy/NtVVttWZ6hTLCutwjmXd8v1WXet1kvMC22fPkyMD7mQR1Z38et4HU0z/M+7y+P0XiFpOvkJd6O0Yt8TjQuep1WtsjXAWTB3Kz5/Jv+Mje0pSq/xsU7fb4vHeP51NnPr7FgJsABb3O5zG14INbIkCBXAxErFsZ8P51pcpvgFrJluZYNEpoX/RqS9/yY9i/xvinq619XoryM6E36MZ2f3behOsYv8nZPPOvXk9HnW7Rs5RK3yCVy70ewrmeTPOdHGr7/Wge5GXUww9f7O++84GKv3vcsLfvyUW5gvKXinysaxm1xSyXP44UgT/okr3rY2P3ocp/038am00bZsjzLrcRk1a/LjTG/pnYrvBODaYXBwI+FBcuY5bzuVPg6iiX+DNab5OPWPhC85ollF/uu40/Tsq+ceIbGj1WvuFgz4/ejTsnvAyfh7YnHR/i1PLnCTYt/+ph/bh77Cn/ePXSW93Vjzt+3887G7ItWbMDKSMzLAJAiG3WLzIXA+n4trvvJWVrlq7OjuvZfAvBmAO9Zi78HwFs2/OpCCADKMyF2CuWaENuP8kyIzbOuM2dmlpvZFwBcBPBASunTAA6llM4BwNqfdKtsZm8zswfN7MFB8CmUEGLr8qxX8HevhRCrbFWu9Xv89/kIIbYuzzrz0S8HE2Jvsq7NWUqpSCm9HMCtAF5lZvet9wVSSu9MKd2fUrq/slt+ia8QN4GtyrNazn9prBBila3KtWrNf/VUCLHKVuVZY8r/onEh9jIbsjWmlOYBfAzAGwFcMLMjALD258WtbpwQL0SUZ0LsDMo1IbYf5ZkQG+O6QhAzOwCgn1KaN7MRAN8F4P8G8D4AbwXwjrU/33u9usqyj8XlSy7eWpx3se7iZVpHb4F/jaTo+gPHufGPwvt9fuCxIGd3v/x5LsvIgpO0g0Aw0Wj6A8q33noLLXvpyiyN9wb+62q9QXAoeJEfshyQw7KXJvkB/L/2pu+n8UbdX0stkAxUjLejS94WKBPvu8hHkAWykZWO76d2m8+bZp23D/CToQgOgG4FW5lnEfmyPwCcdXmfp0B0wQQYKTo9HWBESlMGUoTqcrBEBS9Zaflxy1tc/JEFcev5uA34wf7osDA7cGx93tf9w1M0XpJLZzEAyLz/ZTVODrtvlLQB74DxSwzFA+WSr/zZlUPrf8FNsJW5Zv0SjXN+vanP+uuK8oTlQ/x6fB5GwpVyxE+Y/kQgnAqmSnUpkCZd9qICzC7wdiyRsgASyQmLcirxi6yRe2tjlt/jlxf5ZJ5r+W/1PFHnUoNLvXEaz8y3L7eN3TO6BU/wduGvpwwWwejZ5Mk5b5yoLW5cVLBetjLPKlmJ/XU/h+7c70UXWdDnUzX+df+xil88a1kw5wPBS7vwOTXb499gWR5wWc1YhQs6vnHitIvd2zhDyx6u8PwbN39P6wefzSwFiwm79igXPvX0HTQ+9TnfT/sf4cedqpeCr4wH99ENET2zVPz6UNYjURYP18kz0vLR6DkzZj22xiMA3mNm+Vpzfjul9J/N7FMAftvMfhzAcwB+aMOvLoT4KsozIXYG5ZoQ24/yTIhNct3NWUrpSwBeQeJXAHzndjRKiBcayjMhdgblmhDbj/JMiM1z4995EUIIIYQQQghxw2hzJoQQQgghhBBDgDZnQgghhBBCCDEEWNqAKeqGX8zsEoBTa/+7HwBXMu4ddI27n/Vc3+0pJa/Cukkoz/YkusYhyzPga3JN47M30DWuMlS5pnvanmSvX+MN5dmObs6+5oXNHkwp3X9TXnyH0DXufnb79e329q8HXePeYDdf425u+3rRNe4Ndvs17vb2rwdd4+7nRq9PX2sUQgghhBBCiCFAmzMhhBBCCCGEGAJu5ubsnTfxtXcKXePuZ7df325v/3rQNe4NdvM17ua2rxdd495gt1/jbm//etA17n5u6Ppu2pkzIYQQQgghhBD/HX2tUQghhBBCCCGGgB3fnJnZG83scTN7yszevtOvvx2Y2a+a2UUz+/JVsRkze8DMnlz7c/pmtvFGMbPbzOyjZvaYmT1iZj+5Ft8z12lmDTP7jJl9ce0a/9lafFdeo3Jt96E8233XqDzbnez1XFOeDT/Ks71xnduRazu6OTOzHMAvAvheAC8B8CNm9pKdbMM28W4Ab/y62NsBfCSldBeAj6z9/25mAOCnU0r3AngNgL+zNnZ76Tq7AL4jpfSNAF4O4I1m9hrswmtUru1alGe76BqVZ7uavZ5ryrPh591Qnu2F69zyXNvpT85eBeCplNLJlFIPwH8E8OYdbsOWk1L6BIDZrwu/GcB71v7+HgBv2ck2bTUppXMppYfW/r4E4DEAt2APXWdaZXntf6tr/yXszmtUru1ClGe77hqVZ7uUvZ5ryrPhR3m2N65zO3JtpzdntwB4/qr/P70W24scSimdA1YnJ4CDN7k9W4aZHQfwCgCfxh67TjPLzewLAC4CeCCltFuvUbm2y1Ge7YprVJ7tAfZqrinPdiW7cXzWxV7NM2Drc22nN2dGYtJF7iLMbAzA7wL4qZTS4s1uz1aTUipSSi8HcCuAV5nZfTe5SZtFubaLUZ7tGpRnu5y9nGvKMzEs7OU8A7Y+13Z6c3YawG1X/f+tAM7ucBt2igtmdgQA1v68eJPbc8OYWRWryfUbKaXfWwvvuesEgJTSPICPYfX74LvxGpVruxTl2a66RuXZLuaFkmvKs13Fbhyfa/JCyTNg63JtpzdnnwVwl5ndYWY1AD8M4H073Iad4n0A3rr297cCeO9NbMsNY2YG4F0AHksp/cJVP9oz12lmB8xsau3vIwC+C8BXsDuvUbm2C1Ge7bprVJ7tUvZ6rinPdi27cXxC9nqeAduUaymlHf0PwJsAPAHgaQD/cKdff5uu6TcBnAPQx+o7PD8OYB9W7SxPrv05c7PbeYPX+Hqsfo3gSwC+sPbfm/bSdQL4BgCfX7vGLwP4x2vxXXmNyrXd95/ybPddo/Jsd/6313NNeTb8/ynP9sZ1bkeu2VoFQgghhBBCCCFuIjv+S6iFEEIIIYQQQni0ORNCCCGEEEKIIUCbMyGEEEIIIYQYArQ5E0IIIYQQQoghQJszIYQQQgghhBgCtDkTQgghhBBCiCFAmzMhhBBCCCGEGAK0ORNCCCGEEEKIIeD/B9GFK1f3C9vGAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(1, 4, figsize=(15, 5))\n", + "\n", + "x_pyplot = np.asarray(Image.open('truck5.png')) / 255.\n", + "axs[0].imshow(x_pyplot)\n", + "axs[0].set_title('Input')\n", + "\n", + "x_net = torch.tensor(x_pyplot, dtype=torch.float32).permute(2, 0, 1)\n", + "x_net = x_net.reshape(1, 3, x_pyplot.shape[0], x_pyplot.shape[1])\n", + "y_net = flexconv_example(x_net)[0]\n", + "y_pyplot = y_net.detach().numpy()\n", + "axs[1].imshow(y_pyplot[0])\n", + "axs[1].set_title('Channel 1')\n", + "axs[2].imshow(y_pyplot[1])\n", + "axs[2].set_title('Channel 2')\n", + "axs[3].imshow(y_pyplot[2])\n", + "axs[3].set_title('Channel 3')\n", + "pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## FlexNet\n", + "\n", + "We will show how to construct FlexNets, which are residual networks that use FlexConvs. These classes take `OmegaConf` objects as arguments, which integrates with our experimentation framework. We realize this makes them harder to use, though we anticipate that most users will want to use FlexConv modules in their own network definitions rather than using our network definitions. For the former purpose,the FlexConv and CKConv modules are written in a more accessible, reusable API.\n", + "\n", + "We load the default configuration that we use for our experiments, and overwrite it with the settings we used in our CIFAR-10 FlexNet-5 experiments." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Block 0/5\n", + "Block 1/5\n", + "Block 2/5\n", + "Block 3/5\n", + "Block 4/5\n" + ] + } + ], + "source": [ + "config = OmegaConf.load('../cfg/config.yaml')\n", + "\n", + "config.net.type = \"ResNet\"\n", + "config.net.no_hidden = 22\n", + "config.net.no_blocks = 5\n", + "config.net.dropout = 0.2\n", + "config.net.dropout_in = 0.0\n", + "config.net.norm = \"BatchNorm\"\n", + "config.net.nonlinearity = \"ReLU\"\n", + "config.net.block_width_factors = [1.0, 1, 1.5, 2, 2.0, 2]\n", + "config.kernel.input_scale = 25.6\n", + "config.kernel.type = \"MAGNet\"\n", + "config.kernel.no_hidden = 32\n", + "config.kernel.no_layers = 3\n", + "config.kernel.dim_linear = 2\n", + "config.kernel.init_spatial_value = 1.0\n", + "config.kernel.bias_init = None\n", + "config.kernel.input_scale = 25.6\n", + "config.conv.type = \"FlexConv\"\n", + "config.conv.bias = True\n", + "config.conv.horizon = 33\n", + "config.mask.use = True\n", + "config.mask.type = \"gaussian\"\n", + "config.mask.temperature = 15.0\n", + "config.mask.init_value = 0.075\n", + "config.mask.dynamic_cropping = True\n", + "config.mask.threshold = 0.1\n", + "\n", + "network = Img_ResNet(\n", + " 3,\n", + " 10,\n", + " net_config=config.net,\n", + " kernel_config=config.kernel,\n", + " conv_config=config.conv,\n", + " mask_config=config.mask,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Voila! We have constructed a FlexNet. We let now a batch of CIFAR-10 images go through the network:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Batch shape: torch.Size([10, 3, 32, 32])\n", + "Output shape: torch.Size([10, 10])\n" + ] + } + ], + "source": [ + "batch_size = 10\n", + "in_channels = 3\n", + "image_np = np.asarray(Image.open('truck5.png')) / 255.\n", + "batch = torch.tensor(image_np, dtype=torch.float32).unsqueeze(0).repeat(batch_size, 1, 1, 1).permute(0, 3, 1, 2)\n", + "print(f\"Batch shape: \", batch.shape)\n", + "\n", + "out = network(batch)\n", + "print(f\"Output shape: \", out.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we look at some of the kernels at initialization of the network:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "gaussian = lambda x, mu, sigma: 1./(sigma * np.sqrt(2 * np.pi)) * np.exp( - (x - mu)**2 / (2 * sigma**2))\n", + "x = np.linspace(-1, 1, 33)\n", + "\n", + "figsize = (18, 4)\n", + "fig, axs = plt.subplots(nrows=2, ncols=11,figsize=figsize)\n", + "\n", + "counter = 0\n", + "for m in network.modules():\n", + " if isinstance(m, cknn.FlexConv):\n", + " axs[0,counter].set_title('Kernel at layer {}'.format(counter + 1))\n", + " axs[0,counter].imshow(m.conv_kernel[0,0].detach().cpu().numpy())\n", + " \n", + " # Plot gaussian mask by outer product of 1D gaussians\n", + " x_mu = m.mask_params[0,0].detach().numpy()\n", + " x_sigma = m.mask_params[0,1].detach().numpy()\n", + " y_mu = m.mask_params[1,0].detach().numpy()\n", + " y_sigma = m.mask_params[1,1].detach().numpy()\n", + " axs[1,counter].set_title('Size at layer {}'.format(counter + 1))\n", + " gauss = np.outer(gaussian(x, x_mu, x_sigma), gaussian(x, y_mu, y_sigma))\n", + " axs[1,counter].imshow(gauss)\n", + " \n", + " counter = counter + 1\n", + " \n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, all filters are quite small at initialization, as the gaussian masks are initialized to have a low variance. If we were to train this FlexNet-5 model on CIFAR-10, we would find that the kernel sizes increase with depth, as in the middle row of Fig. 6 from the paper, reproduced here:\n", + "\n", + "![](kernel_sizes_flexnet.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we look at the number of parameters and the dimension of the filters of the network:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Convolutional Kernel Sizes:\n", + "torch.Size([22, 3, 5, 5])\n", + "torch.Size([22, 22, 5, 5])\n", + "torch.Size([22, 22, 5, 5])\n", + "torch.Size([33, 22, 5, 5])\n", + "torch.Size([33, 33, 5, 5])\n", + "torch.Size([33, 33, 5, 5])\n", + "torch.Size([33, 33, 5, 5])\n", + "torch.Size([44, 33, 5, 5])\n", + "torch.Size([44, 44, 5, 5])\n", + "torch.Size([44, 44, 5, 5])\n", + "torch.Size([44, 44, 5, 5])\n", + "Number of parameters: 454046\n" + ] + } + ], + "source": [ + "# ------------------------------\n", + "# Parameter counter\n", + "def num_params(model):\n", + " return sum(p.numel() for p in model.parameters() if p.requires_grad)\n", + "# -----------------------------\n", + "\n", + "print('Convolutional Kernel Sizes:')\n", + "for m in network.modules():\n", + " if isinstance(m, cknn.FlexConv):\n", + " print(m.conv_kernel.shape)\n", + " elif isinstance(m, torch.nn.Linear):\n", + " print(m.weight.shape)\n", + " \n", + "print('Number of parameters: {}'.format(num_params(network)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Aliasing regularization\n", + "\n", + "To use FlexNets across different resolutions one needs to train with an anti-aliasing regularization term. The module `antialiasing.py` provides the necessary methods. \n", + "\n", + "## Using pre-defined method for whole network\n", + "\n", + "The method `regularize_gabornet()` applies regularization to a network with FlexConv modules that all have the same horizon. Internally, it supports a couple different settings for applying the regularization over multiple modules and filters, but using the default settings, which we also used in our experiments, should be sufficient. Specifically, the default setting uses the following algorithm, in parallel for all FlexConv modules in the network:\n", + "\n", + "1. We compute the frequency response $f^+_{\\textrm{MAGNet},l}$ of each layer $l \\in L$ of the MAGNet, as well as the frequency response of the FlexConv gaussian mask $f^+_{w_\\textrm{gauss}}$ for the whole MAGNet.\n", + "2. We distribute $f^+_{w_\\textrm{gauss}}$ uniformly over all MAGNet layer frequency responses $f^+_{\\textrm{MAGNet},l}$:\n", + "\n", + "$\\hat{f}^+_{\\textrm{MAGNet},l} = f^+_{\\textrm{MAGNet},l} + \\frac{f^+_{w_\\textrm{gauss}}}{L}$\n", + "\n", + "3. We then regularize each MAGNet layer $\\hat{f}^+_{\\textrm{MAGNet},l}$ against a uniform part of the Nyquist frequency:\n", + "\n", + "$\\mathcal{L}_{\\mathrm{HF}} = \\sum_l^L ||\\max\\{\\hat{f}^+_{\\textrm{MAGNet},l}, \\frac{1}{L} f_{\\mathrm{Nyq}}(k)\\} - \\frac{1}{L} f_{\\mathrm{Nyq}}(k)||^2 $\n", + "\n", + "This implementation of the regularization ensures that all layers of the MAGNet get an independent regularization signal, instead of making the regularization term of individual layers dependent on each other. Notably, it is slightly different from the \"naive\" implementation of the regularization in Eq. 25 of our paper.\n", + "\n", + "This is the init signature of `regularize_gabornet()`:\n", + "\n", + "```\n", + "regularize_gabornet()\n", + "\n", + ":param model: Model definition to be regularized (torch.nn.Module).\n", + ":param horizon: Integer horizon used in the FlexConvs of this network.\n", + ":param factor: Lambda weight for applying the regularization term to the loss.\n", + ":param target=\"gabor\": Which parts of the FlexConv to regularize. Use \"gabor+mask\" for including the gaussian mask, and \"gabor\" for excluding it.\n", + ":param fn=\"l2_relu\": Function applied over the excess frequency content to regularize it.\n", + ":param method=\"together\": How to collect the different excess frequencies for regularization.\n", + ":param gauss_stddevs=1.0: Standard deviations used to compute the effect of the gaussian term in the Gabor filters.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor(433.4299, grad_fn=)\n" + ] + } + ], + "source": [ + "from antialiasing import regularize_gabornet\n", + "\n", + "\n", + "regularization_term = regularize_gabornet(network, config.conv.horizon, 0.1, target=\"gabor+mask\")\n", + "print(regularization_term)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Manually\n", + "\n", + "`regularize_gabornet()` is a custom piece of code, that supports many more features than reported in our paper. Here, we show the minimal code for reproducing the proposed regularization method, using the \"together\" strategy. We use the helper methods in `antialiasing.py`.\n", + "\n", + "First, we use the method `gabor_layer_frequencies()` to get the maximum frequency response for a single FlexConv module:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequencies for each layer of the MAGNet:\n", + "tensor([20.0273, 10.9657, 8.2731, 3.4877], grad_fn=)\n", + "Frequency of the FlexConv gaussian mask:\n", + "tensor(2.1221, grad_fn=)\n" + ] + } + ], + "source": [ + "from antialiasing import gabor_layer_frequencies, nyquist_frequency, l2_relu\n", + "\n", + "\n", + "module = network.cconv1\n", + "magnet_layer_frequencies, mask_frequency = gabor_layer_frequencies(module, \"gabor+mask\", \"together\", gauss_stddevs=1.0)\n", + "\n", + "print(\"Frequencies for each layer of the MAGNet:\")\n", + "print(magnet_layer_frequencies)\n", + "\n", + "print(\"Frequency of the FlexConv gaussian mask:\")\n", + "print(mask_frequency)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we distribute the mask frequency over the MAGNet layer frequencies." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frequencies for each layer of the MAGNet, after including uniformly distributed mask frequency:\n", + "tensor([20.5578, 11.4962, 8.8036, 4.0182], grad_fn=)\n" + ] + } + ], + "source": [ + "# Distribute mask frequency equally over all magnet layer frequencies\n", + "n_filters = magnet_layer_frequencies.shape[0]\n", + "mask_freqs = mask_frequency.unsqueeze(0).repeat([n_filters]) / torch.tensor(\n", + " n_filters, dtype=torch.float32\n", + ")\n", + "flexconv_freqs = magnet_layer_frequencies + mask_freqs\n", + "\n", + "print(\"Frequencies for each layer of the MAGNet, after including uniformly distributed mask frequency:\")\n", + "print(flexconv_freqs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we compute the Nyquist frequency for the kernel size (\"horizon\") we are training with. We divide by the amount of layers, as per the \"together\" regularization strategy:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Compute Nyquist frequency\n", + "nyquist_freq = nyquist_frequency(config.conv.horizon)\n", + "print(\"\\nNyquist frequency:\")\n", + "print(nyquist_freq)\n", + "# We uniformly spread the Nyquist frequency over all layers of the MAGNet,\n", + "# following the \"together\" method\n", + "print(\"\\nNyquist frequency, per layer:\")\n", + "print(nyquist_freq / n_filters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we compute the regularization term by taking the difference between the MAGNet frequencies and the Nyquist frequencies, and compute the L2 norm:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Compute regularization term\n", + "frequencies_to_reg = flexconv_freqs - (nyquist_freq / n_filters)\n", + "print(\"\\nAmount of frequency to remove, per layer:\")\n", + "print(frequencies_to_reg)\n", + "print(\"\\nRegularization term = L2(freqs - nyquist):\")\n", + "print(l2_relu(flexconv_freqs, nyquist_freq / n_filters))" + ] + } + ], + "metadata": { + "interpreter": { + "hash": "c07c5c8510eb4113ecf49d62ba29a0bcaa1ec6bcd4eeac2966e4ed4a88286269" + }, + "kernelspec": { + "display_name": "Python 3.8.5 64-bit ('flexconv': conda)", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/demo/kernel_sizes_flexnet.pdf b/demo/kernel_sizes_flexnet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d53cf107ce1b4e2da3ce2b83e4cf57ab14108893 GIT binary patch literal 63950 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 literal 0 HcmV?d00001 diff --git a/demo/kernel_sizes_flexnet.png b/demo/kernel_sizes_flexnet.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e6b55ab92888e3b112139c283f4e011594ffb9 GIT binary patch literal 294632 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 Igv( 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⪕^We;%;dzek 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


;s(HEacg1lg3u*1xI>70Lb0m zyNx+y(e+!YXLHRHrm*Xu0nSwJTecw>ou$1^LdV&28%tO|@V|OC!cKceysxC zcW*bI{B@s@vlNR=bP4V5Bm|ydgL})re6~SA22`^|w2LCkP&{d8a}>pU1lqz17K5w= zc76EOam#`Gs;i`J6yfh{aI`ZIi%z$Iy3ya|@0w^&cV|0jXmAn$!O^VI>qY&=(%oqR zf^vj^=YYvN$w!AgQra8a&#k_tyekTiR^15_uPTK8cYq&I-x_S!ng7jR0n_7QrpwLC z;GyaR#A=YSb+uc51-#UX4P@fvasxFW%y02>2^!o9 z?l1&*g1fsr!6gu!86bE9!QF#9!EFehAi-tOU-D$7lPUB#_XZ`y#>Xqq$H@@SI~&@?^`Mea=Ky zT%~+KXLr2$!x4YN%7ppHzw^TSHLSgPCWt-YJ9gapfnz^KU?@;2-NP*KWCnu@37Sn5-2mS$!)lbY_Xsa|p+- zoPF_xVbpT%COol^3mhN5=|EoY)IB>*zQ)q^#3lPpeXBjiV2a-O^&9yNr_jXrd_Z!W0PUS5b596sV z5K>~;An66;-%pNjGCmS!ZO&fhaTDpA_E29kX`B}qv+%$r!&j9AuD)P zC%OJiWX#J>78Q(k%2|4*Dl5vKB<}3!x>2U`EQo$ynlBFjw14tCeY5WW;KPv55u&K+ zL21Ou4tOP&m57FqQH&m^RjtwoRV-|tqod1-(_Z<}Zca!(*)}+T_BpFroYBnZ%di zEOo_UYTP}~M|6{}T|>B@QQn+J8~)>x_8y+)9VfH(IhTA$$(@^#lm>M)m%;i`_$BN8 z1H%Y`T`FEh8Lz2O<;!~;!7q*SbSLgh?5p%HZyx6Cd$wAF4{yU!j-I&W1iy4{C`7K| zP;5SLst!Zp{r&wgQ1ISYr%5}G*tYp)L@+xgymvegef_NkzCz(a5a=FMvpD1matdw# zT)NIgURE|lDm^3VPZozoL5B2-cLu`f)a&7Z^}7_jg~c{{9(grseoAh>0v5!HHgOko zsi$7b^X59paS=zU;}5p-3pR|0zlJpTqjuXJKNw3K3ShE*s!e30U@#v2P`f9w{TsMG z7)0_>hM(X#Z`O9Pi)otgU=T$IdwEBqbwGl-WOn6fy|8{T+vH^r_aMtt(fIG%%5oIWE*|=iKbsdwn zaE5#C+^HwWaiS^xdG*|~5dYqmVKC=MP_!B?RojjdA<5YJn72e%xB5{*x@Ay>#m==% z#npf!))pw5( zA58ploV>1#6iw$=2N>+^^9)>}xhA~Q(cSMAJ~6B2By^4lD{n_u#sXnpR37R))`TOq zrpPvE#rwX9YzWW{xGDqn-H9y>(6oW(fj)|X{Jv$yX$&9Q$T~;?^@)2zjeFCiXfJ6g zSzG;NNq5i3e907dDv_Q^Pku{CDA#4AY^CYAT{J@)SDIB?V-*t~TIUqo-BvMi}0480yP z{=AB3A3(B*bRmp?l~hvYINFA8V&np=VhCOfL=#=MgJkRj;RjGs?`I75QA`_b8!&}H z>k>M(ql8%STyUQ6#;eCY<7ISf+8xMqZ|SW>+zs^<{`3*r?B)kd%(^d~+gO(Qc{uK_ zmeEL1?R?e)@C~%>iIdx7fiVN4zc*+bu;x~dDCWX~)3hp-o8T^#i#IZnCMTB>y$Z6Q z%pO9j%Q*QhSahGRepQP^V(Os1N~qlwt}e}yJmr{O5f7>ha~{ivqAb6*)9L!zNr&qm z+eO?cmOobyCfEAJo=2`xkpMtmQ~u|gm$eiFx@!OHdb9idAkq5V6R{x>r~XWH6q&fl zHsVJ+mj1U$IL){0MVvR}HjRrR_LWoq%@z*zOmAgz{b8e)J6rjsaPWn}t>AQx5OUsi z6X%fDm!HcU?NTK>Y30H1M*axb+aTg#NXV~rwz}$<@b5*PScMbnZDLv=na8zHS(*Ec zykl0TVc`P8}b<37B#bS}nrH#_FfgS*E$?7gj&pJQV`Upy5!%dw#{W&*d{Jv`!(eF*2D!m zD4uAr>1;bK`uHfnzoH{Up#ES;?*A+f{L+4S!_WP^ej6yC_0;xsi{%1fQ2TN3wAI({ zOfHeP)SY`1dWqz4-<1kfw;OmoxqUcwSr3@7f9_@!@G-Y`azvO_ColG`9k_M%odpRH z>-Kzy*8!F72(-rs-34X^q<-w4_SP;^Pk{m8eBgnGEb~HwvihB69^wb&W$?W2?T?=W zrD6umW!3B#WdHVq?PT%JbzUP{Vv_9pG zsb1JTY{?zEUq!H@Bn%zh{q$4u7tv}R7X+fzk5Ak#`7JabQwvd-#S{IK-kr*0Snn;5 zN036TxEs2)#Ttnkno!5TT7@`e5vAG8o! zX5N;QrruKSdLcZNX7e@kiE|N!8Z(%gMtO0TS}<=K`LXSAx3R~r5^;5Z(Q@)|d$HP= z-E}`WFV2TJ7IN-oe82|@1Hb<1TwQtAzso?QJHO&o``Vu>VSkN0c1-E<; z6w5_c<+~Xo&whZ=2P88^3yZqt0To_(nAv;jUDj?>|F_yk*mzDQ$Ln1YQ20}Z4UZ+J zjQ!QaH^FO6l_X2Fe9$W1H{NeDI>qhQrqz31WPD9=bqoCex_^3aZprH^G{!biz-6cO%X*hso%OMwxtOuNyj zA@!w{?10w+W?!M*@Kd*`efa*%M=OgM3XjoRD%HU0OwUTe@v>WnjZ-~ z=rfF;%<+B(C%B@`+aBBRIwh;m9$~;E04B+C-;(h$I_7< z8Y?oW`>(&uoMi6L89seiZBj|%Skct~t0yn7MZwf^^_x+o*yeA4lv-z5?e@|Guge~> zT6bIhfVVXVEsz^#6{KRI$&eu7&m2q|R{U56Lt=SN0U7C+MAgxY9a{4@d^{)h@<|=qrHLl9wq-p{rNkg#euznL)*y*!b#q>`K`# z61v!({JX<=m#|37&!VpLB}=#XBhz{BMQ)t2=F%jPOWKxNR@sEKvYWS2)`A?4szS=| zg15Erl<&p*%|5vC(?#?$6l9@34h8KDeyIJ@ey8N~uJ9jxzL>es!V6Tl0%gg^w<$1m zknv>V=a&JonK**%&Jb1%2yO)5W*FoLpwaBmecVz~_#2Kvsc-i!DNvz2!R8rZ(A}iKptj=O6~PkeWk2f{CZ8eWV;`5KK2|0t}NO ze~4?s_X5U%szzFX24gV+gJ3p%-_g6sZr?~{nwW!fMbLqD@RRZ_ zv5{gSuQ$G&$Y3*Vw!&@RvWT&~|E0g?&}5Y#^oG6e^jeE?Z)vn~5V_$W1$JyS$+sw4 zfN>C{a$HmI(3>a0x`CtSNdaXDDfufS|NdOh8ot7^s<*IYgF~I795|!6~!4|JvHK5a0zG}# zB$wLlyTs+6Q+!}C|DR94JY|fUqvap#HAGgg-_x4)e!IF3hdcyy|L5uxG?k8&H32BW z=8q4`!t&<$wm0qLS4MdUG{gVJ1$piObSfVQ!Ip_Q+7Zl$o@P1;l=A9*Mk|1bhwR1js9L3=&Ji;#0>(Rd7P1U;ffANJO!umli-vB&oV# zWm>$ziHP13?)UBFn(Q1wwTmB1wBkgi8U}u}tEM5_C>zF98{|9g)Pe~1amguyt}IRa zc(+Wb8R}q7(g(bE)eAAY(h!{CJfuzRZu8lUKY$W?XP4pl-1M`@4}i$?Mb)#hzyFdI ztoHIuhIpB|&@FKAhyav6@J3(8f2^(r5uq1XBP5}J~RAsvKT8ugWv># z^7->Sy`P<;{;W;BX6{D#@CthDNl3M`1EuNkli(b^eMp4Xg0`xszXkT2K-zqS=-FH} z^;_y*RbCsrMo==pu*t+y6h^(IN+~SgNoMMdn6_0{?`Q|x6E4F#CEWy+aZjQ*=D(uaDA>@p=bL4{rd?5j$C6!ikt2F7)&O7b4 zR|c@dMh8+|fIB9zb)Q0F+#u+G+}{u}Epzh}V5>AYb#QTebu*Q?YsL5!sJ(pJg4o_~ zsebrgPL?Cl;#OXMvkjk0`}3J-LO`SHTl_!I{TB?l`g+jzzycJGJ9bhp=TEg;RWYydEm^18?XTAu>4UpdqXW<;?KyOuJe+pyb4~ za1NIf*O%l#L2*v_4|tTE)DxLz#NlPW1_S|!XsO65xF$IdXp9Z~lNvOINhB7t&y~ym zC@trw?{EwT@AHHIUQa}jj=Yf_E1p;Zgy*wD2tZ!5S|~<;nk5JH2H3fq(}Oi~6!ZfS zj;!60m#&y~8z9M!*{c<}Re4v0W6BXvne!$vosQi| zjnE*7MwPRG z;$ZA{Oh6shKQA*(cE4#Brg?sU1E#_Sq|Cf(oU?z3o>5MX(-*)0uk-)+0M!A)C`AQ> z^rR@VVST(os7)urAJHecH{x|C)wNnnX}w&jJs0 zu)U_OB|VCx$H4*Wp(uoLz%Ad3PeWFL!w4<4t#MioR+w4HVCR!)_~6UlOnXU!&S{Gr zc4O6SBN>JMk0&(@uD6r;EYk^Ne)O~W(}2?8;^v*xo!AggSVqt7H0(ylviJfZGyDId z@3~dfZD4V_){~@dYqs*_;@XtoM>6GkreNQ#}OM1qEt z0O9LSs8vXC2FoE?8!#cK+lZrR3eZ8u)+>652jo7~6IQ2xID-eU>X2weE~^ZLsmS(8 z%6$Hcn@|=!Gu6Q8bFy&N0)Ny{m8msKD+!-t6>*gk1mM^>-X_)fK1K<%v4k?yPgK`yS;6M2gU^LQ|CA1b0~tdu_*4d{t2@r$ML1jAJh=E^oUMP8 zsF<78&O@s+p9=JyR3zbDzPgr^c&gZ337oM8P5)(^JG;RGL__4ZzA_;=KRU>SC^KeCZOqOZnk(FcMv;JMZwimH3)pBtD1`iVCOcA+2!D zY7#B6PT%5QL9uJ4DgtfPLx}6^OGb0FVy%>ce}&Bh@~)WLu?Mu!VH)7U-nZEnTFA~X zEn1_D8Jg~2CKA_exXo(mHb|gfH>}=}iX+<+eodTJX$WiwQPW0DFZ5`x}y=c&0FF>iopwsq*Wc1>3as6@VUSZT~EMv59 zWib}Eu8y#O(HOJMTU&CdMKFAgnZ68>pi_89EqI1~L(h%MmH{1{XDK?eu| z0EGv&+=9IuG&O#PVEA^&$`S)rel{$*-yqx3pJbf;GYh?o0_umT(3ahG(VQelK$?+Z z1a)(m63zCp;caxZxK=;q61#S-op-;FHd9^ca;nluJ(GU1d!)(}KW*u6<$$(G$!(I5 z4OA5cJHOS=i28~=hjPP2)8kNMpfZcaYxCTwwyZ#W6J@k-vqpZ?Y*Tt@Yqh`Ra=CJz z*;JhG6nAv=`jcH^uOm{{S4FUQ)n%>X+zhx!fNh9wa;={GW_{t z`uQnR2uK|uHe2hlGtu-)r}IBi&HtJA%X-+fEipzYABx? zhzwcv%)Oavtehq0F_s@qdx93@Q7;++gLer1b!2`uMAuCy2#-iFy77QR zh1ljYn(ao(w#CZB_3DZLzGt;BcMcJTG-5TCjz@#ZgbU3n5R55jwwS`Pz=XK;hqEpY zSaD#_Jqw4$WaFr!ogm^_7~F_4ne~G>vlIcAnY3fblm$>P1#H5v!y}DKAQMlhD{z$N zWUEucW-C@CaWM}<6@re;l4qwF>Ka#?I>`$osEAj%Dgeqyl{4e+H9NAV5;&H*Qi}@w z4vU{1r?)4W4E|#xY*EqV5D70wTgX?pCYVf?EY75_V5HwiA^Ya83B@$;SBZ;FONNlKS0X_S^$BBK}$(`O~E1q`RJa6f(F&h}rSuL&M zKpQ4c^Nf8XjipxHkVmY?L6DZ-{)-qV$rlx^kiOxn?DZyk=5(v`io6UiFkL!<29yqb zt?6ZQ7j~%(Bd~@T8#V3z$eiPMFFSX8zpKV;$fusQ_-Ju&OMXxG(fV^Oy@6Be>C|O4 zGH#Py*HCfj-+s~Xg*dB$hG#DkrQAIO#!Sn$g|bBeqm(Qi`KtQLf%L-vM9$_`ZV<$e z)|)e)ADI@vXdc z3{$hzfV|EYo$kl2P4)TJMwu#L1; z&Z!(~xSo6AhSES4q$=TN2yR;yX{r?St)352kG*LKx`02~9y{OuPUF0{e49O#ZTd7r zCS!uxhws3gY8<9{hj7e-B#4t0vueb^hrm#SvN?m#eU(1?Kh)(Bn9M-U)PBl9M(20& zgeF(+uEf!3vu58rd?uhx8>^VjDDPh{yqiZBk*W$h6kif+2mT;#(J+pFi-XRKOnAql40H>YNSno87sMUz5IQhG~r)S_1i_?+$enis_Gs_G(aBNX)3|)zj#&GI; zvh?RSJ_v=`Zkv#7`G%+MVcl0=Bxedr&e$~Z068=owU=U@BoXNt&b+Et8ncPJBp)HA zS0aaj_o=7w&Te=tB?j6ttt}ChMN0C(#twKA%nk4UY{cYph(H%CB#C_wCurTV`gPg4 zmvdk5Wl9pJ)0fEqt?GnS=iqempkId<7>9flJDZL)@=B-bmLq-HvgtFQg-dFp)EJmh zWMua2yIl1=tD<0sEDe>DGWGJ*EW7wm^JESk2JiTf_ z$aM2Z^07DKZ#X_|EQbab6!`r3KUw)z+9Eb{F8x4rJLBBqPzrE-zBH55|7hEb=Tjq+ zF)5<36o4kpwXAaA9lAGhs0>8XRrh~d)UV+WNuIq)J+3(VMLe-7@#lFSFmPlYU)l!y z6hMOvCsL^&V4d7u3`)&-w%ZRdw_?$Io{Rr2F_pA`5J&9RHF`ok$cd!tmJ^@ur8RXWQ zDlBXkd$?<&-n8 z4SY=p)p=YobUu(Oyt++nB6KN>_l5aQNXi1=X^LaF2a=5rQ21!0>m5IZD^*NqD+wmq za5{x#CK0xpNETJ|TjIpG`^;W>+#Reew@~#V+p)dbVg+h$(+dq1PYq*>KMUFCcm$y|gv`9Cmj@pM zi|-5*6>1mhtj~&&Swp^wT@Ly0ZWZB^v_6{}u2S;;vDeJI{Md}zeB5J2m;fN){U?xi zp$##2%BsrG9JRDCC5 z%rP|j-CaOi1;Q~5)qjx*y+}&Pt&pV#6Lp$!^S4RF&^_x`3yu~)$w%k>>CG2q#Qn%- zA`7#%ALF;?;G1((rjJNh)<%C5mc*$t)>bBwjuN;)#9h1oK&11mpqKEcV&7q(s72%V zv}kj0tLo1=T(~uI06KQsWk-kIX8FgM@4%qKQq%WWhI$bDOo^<4c#|jy3My+ zJS@fyDBzEGwb#2*LlCyqXT^2=>$Lo-+u+)^i%oB~uPkcS^ z0b{@1A}ZY4B{blL#XOsJb_qmv)JQEF2SPAi8!oW3O1L^K2A?03ajwv?uJ(_~{<%(l zL3*ED300i9GUU}X07vf$^DTjD&8%{gczo~E7lZTCirR(zq#|a$L%}X<_Wj+5r1{3`OMnTslM*ncL!~rTZwYIZBQiquYw_{z3p+D zk_^mV9ER2+XjF;OUj|}0))xautOUx2p97wr$PfQFb!Zr>ngOgi z*sTx3+IA@SKILtDZh&>h=(3;hYS#;DyNT}{Nnl+c=-|8C&KHfgC}(p{BHl(-OI!xM zxJQL|r~V}4!B3gLXDiud*IQ8Ei6=fDh~M#D{TI~4k?ax=Bp-N6B!|cMEiW_1<9X(IC zQq>!G1=iu%jS@D2EUptiQ5d$}|2A};zS7_v;yKn!CP=WkErnkP?TAkWT(G~{Bc<~| zZP>F!+W*-j2>kh?)CG#O;u>-(1J2v z6?4*5ODZ2gwP22Nb5_982+`Xr*lhfto}o8&fvE##Vd>FI;xm5!_4xZsAM)_wTqhrA zb$EGGIiGFjN9m>U=nSSkPd<8to0U=_SBVwIi*5JIYQ62JOs2eC*vlX@&jPwH)Wc8M zBTn<m(&mH=&EcZlgLXLlqRvdD6gu$e z)|+K@!s&c|J;CGfzj#)EXt-L_{?4>g8aiNT6}h$__pu7)OItahYeA`3 zHr}v#X+%Cc`T>2XJHK5X;571qBTuZ68ta`5OdSBl8kyQRa(;IC5;U%-<3b>EorkiZ z&;35Y?Pl(o0O8J?ZZN?CE6M2wvx>70+l~mbNF#t?4iU*h`+qM}KBOZP!cJJ=GL=2T z{6+JgMA0YxC1tx=WyJmM^+Fo-`B!jtm;Czm*>2e4uYE_o#Grwra)^&T3n!qSB!(aC zOi?H0jvLwMO1Qw3uaGfA5AXx{U_QCfXiwfECNV|a5`F+axKtj zv%W=Ups%|oi?g4s%>6H*0mFh59j4>4_qJqemagMc5o(# zJ6QGFHqLmG^lnPMSH*-6I-h7Fb1ZNx@|K*?iLq%$oqcaUs%5Mygj=gC))q!r;zApk zj`$RGhPuX3d{~Al0d^uG>FRDl8~WIUu^jeT;~7$MONR^hfqR#GrHpbc2ctSBmp9I) z0Wt#3Um@auHw6I{*jy|KJonrAm34kHovLu;eD@Hl`|mOaoP!ojm=0#s`CT<# z3-+IFbG{gEYB0Fq)zY~e9O&xPzH@MC3i~_U{bfZwSWZ>8jH@@rx8ih4GIba5n|;;g z$tZ6T3B%=Nc}$Pm=6UPV@=V^5dIZwEg!c6u%rQ?Pbp2v&FJ&)}Lg6pn%OgPrK1S`8 z)j2U#MUa=8Md2Pfw!%{~+#E@{{ri$|T8|av+~1aD=(zm0V@vhg+HALEm#mLEeI&Xf z`svHj6ZZW})y!Vs*bvqK&Mq=gHSICe^eDD-8X_vTb4|tk#2K)^cepv^M9yiLzq{5F zx%;1l(on=4==w*HdsaBoOr;vi)new!&lo)&Vw^{>I!?e?h2#SC%O zU~XM18Ailjin0W0b@*US695u%)Ix_e1sXlotGZ38>;-(JRRbOk%@Zw^44u?w zu^caK-Ck4G0L?NO7N*lAY|MXR2m9zTttl9>u?^Rw&RLh&6X;cPRgyEvx(NK4g4(UtXGFVsP2*X{_6vQ zOL1(yU!ZB-?U06^GhO!byNl8nfP)v-p#5-d07RMDjT4^L;S zaix9)!dNsj_UBKUV%3J2#pS;Ok2z>I6o(=7cSy3c$u;@TefHz``|4d=W9Ps$=|HYV z(Uz)nFUo}%;c4g({}rI$Vd0`yN8FA=eF3H*8e`^zUcMED;_sVO_}64HG2|BxzROCH zL$U~t6!ouopFDcxhsUd}C3srm+4qdG1`%~Ek{V5ero`+0w$JkB zR9@W^d)JM-qRsTQ(-u3(3Rg|?8N^|eM4K%zMh(tJM~164d;C45h|{+opT-!#%^&CAy~z@L1j)j@`z5 zoTNroPjuYeT_1l0n;jO2>zfYDy1((Sq)V}h<(3(%mBzfG*@Pq@PMq2F3v=HBk$)N!A6_KAsT9+N>YE3UF3P z>*_d66I^Xw_U;Q5p$JHQyO2lPZ=<)^h;kd-rYrs|T6=o6a?m+bDt2dQ>{Q#sr(Riq zua55enD$wGv^wu^+Z>PoW=05X_PQ2w{pegvsYyernlV%6{^RFVakiH20S-O*2l%ZP z>KdB{$Y{Bikcn7uIGotvHQ<4fh8EY$Q`0sHQXpwxV5dRLSGs3*A!g#wBbYalXIC(A zbWSwB-(w{kZ!9!b_-nyChXBQT&(=Akx(!9yiM)2Z)aAMXBYh_7?gY{Nxw|sN6|v=4 zvn}Q&H&166GTov^mfbDEA{PGl?wxDR*;_V(aqB=o)K$%Li-5=GAg#Jg})oDfjcZkc3#3H`x;kepR z&wUbm3?nl_*OQ z(fQAxx%-#DQ|EOS!zk*aN@CXc;Ti@3I^GG3fOxFBP093jcK;qI-VDj<9`a>Ypy99q znLBmFMues4Qy=yn=etq!V?LB^H81P(^3`p0G)_sjjwc3NRS-ln|Ac$XGJP+WAF0)Y z{I8|_4>ypV4f7W|kDLAz=za0foevFE`r?0uwQ3QFc>uXXY_J=b_Hev4$(aoC+wb>^9#?tNcvjp#fg zWO+yV4N5tUiI3g^@uLOD_S(%>S1m;iLU`n(x?C!$O420uyPPjSTNPz`jrWFQeUY~j zWUP4FPNW96>s3`J?ezrZ;NBZ#A1UK$l9&BjXctG{agezRqxAh=tU7ABU`-y?Q)5JQlw?{S}-VWZdI>P(2}juAl27$e zYCeK@TvN3~5wDfa>vKISG?%PS+&77dUfu5})vekdTSnlQS>K}?xu@9RkVZ2+^Fbl$ zmdB&Z>WWaQ#IiRTWP_S|e171jB9M(>9H8IEG`%k0M*q{d2spi*P^(}S;c_zxs@}=f zL^JUZ9j>R4J7-XHh`vPu0t1b{Rb#i&8yuKS!H5~g0zd1KWHlFiOFb`vLPY0(8c0^| zr5c5`PHS#&m_MCpY=hwb1;*7}?7}d)7WWtzuGu|!zT58^Y2MtIVkmwx{?<{(mD8L#ga|U4G|>(iow6_7KT!ncYzW$NC}>lu~Lt0#1^eQ<%Gpp z))I64DGhFkAASju(oY_7U{(6@?%7Xf;R7NT{i-{zd#3%w$j5S@FFOv5 zix_sxaBF41I^{Ku*^w^Y1-uB+7dyqxk^E-1KV(;vG7Y{KHPbE4;(FmOGg!;Eyvr8b*alST0`QK>8;o@$BtMQN3DJ!zbi^t5^lz*81r+-UcS(8Ffod%@O4sZi~9K3-;(@vQX~NyLK#_p4>OKhtQ-fqzIoV%}r6L?20# z>A#zvBZXrQ^~1lzCUS3_E5Sjt?c*xzsYYG>a}`(x3`wXKsO$L1nf;ju-E9!VtVy!D z9^2mw;ITY%j;f|sh{vC;+}i7lRq_DgmtKUo%b%TYPFe8K!pBfpiM$Z?Ft`;^co>2H+Pn`7aYcYoYg_%$gRBb&Jg}7csh>{RRJb9E{Cvi6}`-00w_a zb}!X-Po6iGXmF}jB$Z~dwkf{5Rq9$$v zRbXkI7W}OvD=#(tv?V{q9-`{_m4otZko#PHb*-DzTIrQw>v3%5OZ(=7GfoSP>0`t% zssrV)ZNFY<5n?0MpCbrDeX?q>VOgs8du+Gpq1w&&MXfa4$0r#qtj z?~xNuCUK&i7Fh6h&`gXebSHQ7&%7?T^t{b|Skg8 zS>Ifcl-2GcMbnW%MX;_~A`vz&^kZ;FwAFkQP?P$m6&m5pW5p@(b~3Bp;ZOiYmGPqm z{@6PiLH6`-@fsSucRI6y^mKEhb0&urxcle(J9{y2UDOuDZ*Z>~2#=fsqTkP=4e6uM z`a^t(XiOf(W_pap=fH@B^ii7<;TK=DU2syV`R&0dN;z;BjTT21h9YMZ%D213i%ow2 zJ}15hP4gk6vQ%EsdFVmSw7L!F=0}G`)UGsiXw$MwSA(vc<6rVB-8em z)i2P|5+VAy%)b_p+1=uXcp8eG7fwCQrZ&ySG2a%o2a2Ou=vYz2=z2pH-H~2PPxuva z1=4?^IgmxNO44UT{ia5Ve4i87rO|f0jD(Rg#xtb1Ol zy(77xnZRCjahLOnM(g(dJnIb{mvvrHSxKdgY{Oe%92{B7FNu2C&Sb*Svuu`ls5zBF z>pY)T=y$%J3SaW%eKK(E*x5C+l43qrXvGNdX)wH=!^L%LH#Ht?J=Ir6YMq4AOUUGmeHMh-Hb$C^9Rp85UgIf#n9-FzJC3P67 zNnFpors-Ac;p+iHt`Qf}(V!wSnHKx8$u(a!X7s)7vn}$$*k7wdRQF}cCRCw|OGFbS zE@?sZY}B*++7_4>wRK_Id1_Uke%ea(5(FXk`GAtP$XP^wt7j#s`^;aYgmSaIb4V#x z8{Q#TVfw{kr+%VUpsF~0Y)QHJ@~4^p`vQbyRxkV7_#;f{&!5&EQT(I^XTA;g zS_+H%&Oy!FmYNiaknlwBVWrE|h3~+G!1R+o=5-H{D@YJKsvzAa)9=RtwpMg{y4OdI zy%n$7L_Mn%RVFw$mKXR@{BMi5vq9~^PycMtk7`@edot(EX>E;vr3mrvu8m5i!aBYy zp*XL8J?Zj(flx85rT5sg=tg1^Q@eD!B443}D@S#R{#MmEJVER}iM-d5s)1zq&%W!^ zH*s0du~{n{!Sdw*c8#xErFqlt>O0@( zW@sFG>0SQRni)LQ++J3Cf5AU*a9v7${kOYDV7EO1UVEopEkbXfS)rPl0uZ3!#}K@v z@`7Y(2_+lJ z8Gv`{-58iYBSy86$!B^6nv)v4;urokQJ49XzsZfJ0d*me6s_mrV^$7{+nN>etG&lV z-XoVQ9vWD6X*F^DCUdT+L__Dq#B$&7EX&=srTEhq+Eo{toz&w+vo*;jLHG8m;kxN} zX!pYfdz(1?;sJ^s1-IzDMEizHs2%4H}8Bu+|T z_Syj7Owk0)eFVP8+!AB{>;PWxhUp}KWYvH`^hMwLc9uq;n_FGs5|qtvG=eBZibfv7r=iCz^#X>GUcAUJeTT$*pa z;;~jq>q<-gxiXMt(+|BgC2Z=@$VRAk44f_h} z9bNgV(EfzuI+QeG>lDCwLch^$%L}O~Jl|r56%u@_oZdyXl#{B3m;~ zL!u~>s|}B=TK#SA5Id{fS85B$x!9Z^9 zs{+)~zt{=&b-gM|QgisH7dflXzu|!QHmd}g1ypoxK=)?t7lW_s&<-)Z#W3uE_|WTP zJwhzDxFzzI%~qVZK>P!;+(uxERc=G_&kvCzvdVa`%*dA3v%69HZW!>n5>FI(Z*Ykc zlA;dro+n^(3}bLx^~WrWd2SjX#JzDaNG@-}cpTQ(5g%smWxB6)-#7vK1sv)=YSkxA zopsH5g{E(^nyFffWEO^_{|MjixIVI_iX=eN#Zwe?C?_sRA99rsf!U-jJ0mK%0pwC-b$ z4V=>ZQfWvpxlFR#;8=asQ<9pXjO<{IOdA0l6Mo!b$7dYJ#O;JEo9G@)k$tV6d z?)Wr5gbWFp20_RkTNHx^(R zlCTeFt<)Tx7e(ma87AhcEwzz)GiCdZ*k#}FgaTvJ5Vn)7CuDA?bz;XUn%*9`M!G50Aobv0xu!3R+(+y1Z zHo)v{G87GzEiJH0wfF=Ox|nOQ3RZy~tpLShotiCR%7B*lIR!!m5US>0Nt+U!;2I_; zfeXt01Z*0!ZC%0c$!*~1zfp_-5U`|nTS0GvUu%8!F>G7K**55Hz(h&!6|h@=sXo|p zrp~Nyt~D9p&SL=MP+(?BMHRrG3Vzy+&&&kpZ-s(z(^f`!>>1Ggf>N1dlR3>yc!P=t zj{xpLCd9q^YqD@l`MMH>EMRkE#HA?^GGXxcr;D)>5oEI#@?hY;b|0%PoYrlqwcAf{ z>krz?*107H>|-zrR4h&M1S9Nxal1~1Ofc>wcB z%uk7sykguE_ahLuMEs-YV-KE_#cE2HSwK5WbVM?69Fo?vyK}s4Foo@=ne7G)Bz+1) zM!=P!=OV!%#9lAxHxm)gd$Qu11S+dw7YEdC$J^s~+XDLqNWJiWf%{_bD0zdRyq|!p z24ObFTRMltDUjnXAIFiv2-qNiI0Po%j)~*AV;pykAz))9S&5lIIPT#XHb5Cl7CXC7 zAafw+pv>WPOfj|c0LDBpHp%*~tyGCYTY}KpH)_j~NKUBM{iLp+81lkWezHApG&S>Y zz}gltwF9Kqj6Fkmv30!xD!x~JG`l`#j%5EGhCBj!+<{|?t@s(^_8G@*;?ohh9TWc? zj!$;S|9s;Aj641rpYf0Xi<{r!_>58!D27}LDKwz`UF7G?v#ofOAD01u>x`rQH*U97}mQ)4$3ZhQoW2iyoQx&TPC z5-nZVfz<~L3sj6%eOG;ADw%brv6x2^SmbTf5aA6XMiML}(b!ZPg7T&uRJe>y2m5u+dB65x{h*3!HB;j6u}5iBi19+zOo58-lv}c)Z3gGChwAV# zWp@QjUGk`%)lKXwd`W#3@RS8uqyh%p-I;wlU@<$G&2FJF4N+USzRUk~FDYQDAFp}j7W^!rq1XNmA{4L) z0Y=%NV)@OS@~615mMNvA*gxX{a17P00rC@rHmrdPF^P>qQUm+1udL?8N}|k2cm|FF z_iAk#2~2}$!ehYxoxptn_kd3mdxiia6KAD^I!%E>wE@(F_K9H?(wx0LEo_oou6?19!N*(NaY5LPo=OEwgWC-j zs`RPISIWo80H(w44vPTh0Oo}GRMZ=Qg=z$Cu?&P*O%sc?S2ODKxzlGK!!chfZ_vr$ zs2H94EI*WAl$3$Bj_8rb_TVlQ>{ZOj7)O}L#x!l#a6M!DdtJ8%po(=N;IEHgY{X)7 zJD@(t@%B7EGZDaMF28aoE3jGDsy+(^LiD*0#~o~=EK^`>O=era{gVB{1z4~9Hz2pz z!4R9DV4}v?k~b}I@n8~1d@{{<4Ef10KPB#;67dO=LN!c*i}^{98<0Z*@&nz50O zt7mEOG%{I~xPd#LC z*4i&~(f665$Dn2i>)u*E&Qjp0z9m3|56yoS#7`$PY90l27=1SqHWGGBjAP=sP26r1 zpN>0j$7dYlE-6g{i^EFlec(PFpKVGxV!*=ic>*D(e$IiIP`ysT?*<$xB>i@W*V9%UBW#kL$VOf7EwTqCm5Juj-z!Hu`+t(n zehHvlxyN}O=XhBB#S`)LueG`Fa?-q6b8eKh4z96{SOj<~4lN5b>_Yq^61Krp39KZE z=wTl%C!we{RftI{7VQ*9ip(v@*CZ4tu_$DmhJ+i&w11tX;tTADd6>{0h9%+XsZh^K1)GY~kv6I$4#(bw85iLt&dZj0x_LBbMzAjji!nPQ zs|{4veEls=*nb{UG267Ld2X^K#p?iYsp^g@v$^>%>CSUb@{?4IzY`nx@HUSF+O&y@ zQJFee$Vpz#L+QEIP2%Gjm3y!1_|ZNGqfg7y{Qehy?nzB?*`S;U1~T0wnuZS z#@A!jFRj@>`s|NuU$V7a###REXWo7N{+{{Ke%~hVKE8kcY!`;&U;cNl|9}3=U;5X6 zwBNsdXR3FESNP zva*7tR=kx^C|1Sy7UW`8*cICgV-xx&^a^Z|;byaX+I5{kbqG8x#5O$+fFdRL!GSCk zH8=*YB~^41nKBnL#;+T!f5Z00Vv4yLSzvAUWrEWpWdWlyNkkE(wgewS<;GN;mdw~I ztV(WCR{sYGFhLv5F4R-`G+&kk2_;sZKx;-;R-2fGEnw=+$<%%M5_HUVI%Be6d%Z86ugFq}2 zk=&zQfS%cAVdvWE&2{3t8~?Mq{CU4QNunpf@2Zwc z7o^B?E1?=zjlzvmqOhY(aySbB7D*NVMxY7`Qcw%KQuj&tPi3ejK|DgG*o_GPDj+@9 z>@hI^5APM0K{ENgm zRV}NpNTuAeLViaq&SC|>jE&$wE@U7i*bv1Tl5?Ui`GiNIhNbPTIrOk5ffz9#FkUgy310aWTwG;-JM1%{&J@dCxq1YYye>|)J03ZNKL_t(P zfCsCH;3Th!_ho{0$wC5MM7ZMTGU;)D%wmu8e#-)ev=Us%*M;1^z>;6TEyC$tVeu1b zGB=CYHTG2Xoutc!)SqN?ajb={?P#f(N)@WKAUA3?S{t->u+`394_fJzGQtj3XErzt zGrA~MG^{ZtigO-4`ui|tB!Ng1EZrP@$eFDtr{(Y@maYoLE0HQ$I~7rX3FS&BKSu^ny=wrXrG>`q^bvvcsG z^YLJp2TcyD3`&-Gh$=H6JscZ~ zsiOsKWbu_wviO|K-jlCai{Ciw`Fj3(y?(_*n!)v-v$B7<5w6-)C5r>KWgSbHcHF_aPGO`NEe6lS)fra}}> zJMkw$g9|-NX3Ps_&Tz$eRxS=NSR8v87JKAjN>7qe$oaPr#G>Z4uzbG+0lJ80BgkRR zpNU01&IEIqk9Z$gke=&2@!yQMuhITAq~c`S|GPF1@iN2i^_;wC6=6*3DYd^!(t-5r zLyfhW7xS#@%t5&-LP_L=C@4bF^Joy0&$~NhZs@-Djq|;<>zVXDusIKZGw{?sDnE4Y zsC-UJvKEHexMekNu7qJI;b|MiKV;AGqy0WD`sZxMvueiRvz&+bld)eOKiVJP-oq5~ z{u}>foA<-qxL!Zb=l`oey*9i*+Hca-3CpcH5A(dvy~m8N#M9hH{TQF$PMiHR$4T+$ zxpeJ&65xq#dxF{s1yg8|3I}&&1WEP;2&qL49{>LH@2uutr2BP4BIH4Q zx~3%ZlnT=YywquT8ER86<;;poOE;_K1OVy;UL=7TL(Hv)dto_q0ef7sh~Y5(>6C7oeEfpwM7d?2@J1=r@(>qlUDue2|-Ol;mD0CMd z6b>MItayBR>fw&o+R^JZc}u;<}a1G zPk&xJPSW|e>AIvS;v7GVn=<-BW`?2y%dVENpiQNs*O)IuIZhIZ#J#QtWdx}xX*XQL zZn&r;GAQEgWl)LvbP|iT3{-lMj*>r5DjQ`w$Xujs0`9?Ny-%9%ogeFN@U@$JvT*&1Ks>y^k zB`k#UAW_zV5LW5ev~Ys3jJNzNA-_uKpVeSZC;EC0E6-4x9}I&({& z?}d5foy*93!gt;oPtOTYRUl_&=Z~KHS6W#+$uEC@Tr!iM<~e57PgY!W8IzF9>zD3_ zXZq0c`3Zq63vAJLUgC<}TmAlqsKU7314xJ9mWc>X&KcD^4{;?)xg>#~8vkyWQ zl>~+-a9t*`sCX-sR`9(sYGrH{*$Z}qzB$J}=sS!J*ymv~_RSUu=?b%#M_AQZ0j*F} za4E5c8VaM+wg!NWwCwVL$@~I-UMsD?*RehKg*@%!^Mt)Bk@GB)z{<*?lsJQoS;sal zOiL);yaeDFd3yzK4X?`3P?Ab5@qDd}TEem@D}^bBXSRuzxHpFQ8i}^XoKo`KH21fX zi)7g9rK;_)AQ6X$P3GaC9eSwTFhQH*JwR@{pr)Y4kRue0rJ$<{+s|v}lDRZl?fv;h zUg|1U#l*5g`Mq-RH*OQG^;92G65k9^$8v}1N$OoePA;mMnd{|kl8Rxw7vOd%W_lH< zsgBwTcV&@^6f)xry!x3pq**OK@2v~!E(Rkl@q(BL;L|(ML5EYd1bR{(J)(l%H2@ki zA5)6N&uH|iNoH)W!Vw7zC?*(oBGcvrO5{75S?meSQvr}}h4QyH$cWR7V;%8o~{UMS(JhV7y1j9v<2xTJbDUvvJ; zK-fcHo09~F0d5qMFgA}|+hN#Lhr6Mz;okAlm;Ln2$F-g|)suj9$Hr+_9p`69OG&Is zk=$IU=u!YaU-}D)zRq^PvOlv=R24-}mEBZ^Pr{d24`pI@7e%m^sR+-#kDLH`koU8o zDr{@x;b}XqSX0I(j17Dfqy-T*s!^I#Hlb{Sl}D=EoLUS`U_6AZzEmmQB9Ci~X_;ws z8<;dAk5AT|X>+|G)iH+=uwmrlQZ=)z1LP=0DSqdOKyj<_+KKIHh}tEcT2c5NEXW3{78^Ai(E|0+qfq}dDV3UX_f1ns;xe3 z&DcsP6klrRr5$YbplK=<#Us}eXW(>kHi0G}bleNQHK1T43Vp)y%wvBbf)=F|((+a# zYcc2fAs&ut`8*}YyXPKKGgC44O3zE-X=6R{6+QRSzehKk#XdgwiSxCH%tFRoFNB4k zuguF5*WdEqo5cY0>$C4X_po!H<7rnriP`vjr6{E+wJ3Xmtq8YbyvX2Hf>``mCc)U* z`Y>F&_#KO@c^m|;u<8fD5DgHSB6=t_(tS%x-o_!Lopd3QM{mbeU!0;NY*CX` ztZEdp@J%F0#l-KBR1;s~6Rw3vhB7>gHe3sa&@ZH7_gDwJds?2tAxS8rK`=_8NC|Tm z339QN!WhmNj=3StV1&)B4`1u6hzAkr;ge`O^A_`*h-CqpAQJ1CM@Prcw&B~>d`OWVyWkAF25s(x=K-C}6C(R4K(&JH8)L7?tKvKO ziy=2bb|5o_yjmQ9lk5)!#Ia6P`8P#2fx95p;-LWu7A=_Hkx}DtX^MCjXr;7ER6ff{ z{vO*>DCEcYq^ZItNh%6nLpft5lndS>3)52h=0%VM zr)ZWLCjo3vhm?^oXlB55EDpRAEJ_kehBHji0os+)LAnPi^>Fl2@oqslj)9FkNK}`H zLeUc-o<$;-;3>@A^vpV$#Nk|}{d!g93kQNfuzi*hIDxVF=33vT!;NG=My_7LOO1Zb zhqZFrvTcMyraImPE#MpYR-=zI2Z{z%%RY^Vt1Wx3=jBquekm(0-6WK1nFAwTu&x{r z@GkfxKyk-0RkRr1Lw-{(M0AiM)0#00`qEO>HGpi_?Cn|6JwszuQk^Pm(9c59FA~Yu zjr%v$KC>a4U|QywMjz`UnU?Kz+hE)AR>PLMz)0Ig&-^ye94VifOX}xYRXxtBVTr`F zCzjzzk1;9-NO5XrsnQdWO`Er?a|iWh~m~XC=-)`_|jC^CWMjS!AK8C#twU)PWYaSUoH*6RhT75!+6Gu! zoPvS{am)Z6X)~RQ@X;TEIgKFqr{$>+!*w9TLbaIrxJnimNPZ*;)-vZVyPUc6UU!`7 z1^Ag;(;sv*ETSEr$Q9!X!k=Wt#DgrKGZlJ>co_;^)7rEGHB{ie5_Z&0khDfEHLNmQ z8??}YufQm`@F-I!wSbJJdVOqD*YIAgl^8Tif6W0iumbO&`K6t z$~o6s;FVUKGI&<#ajId@d-*a}=MxfNe2Iwo2B+F{3}41^d?P+Mq%_k{`%DE-<tc1tjKokWc4`?xD3*hpMh4%jKG-Dk_o^6Ggz9lk2Zb(`E{00Q1V$+wRv0=sR5>(? zO2#ZCnwf#>Soo4JhXYd!vT<5s=6jm&`w0iVEb;$v>*jFgYA(%I7f zG~Pmto#8@9s8S;)6_V^P3{wV$p@ptBm6U^H^vv?(B#Bd*Hut}-;U1wYlQ9YpL`i}* zIe_c^oYzL*?KA#}Heb^!R#Rt)1*up)RlqsU@;yi9Wr8>=P(TWiou~uVL7nQvVpJW7 zc8VIUWZyBOU(|zGR1fkuvld&)=P=4rl1`o{=G}mo7BYOvR1D=`AEA7X3{7Ql+M0Hh z;l{9%*_uJJK2WL@y2BxGh;vA8WetYPDk~f=Fh<~!iCvDl2FbuhFK0!~XoA=$3m}8j z8S330D|cmIz5QuO#b~lB_vTsTDML}`K|Sn)X2pmlsYorbWkq*Zqj}Y+I1v`9C=R7N zI)YHtV;~1X7>)`<@gDgTGSX&b#6b@As1~C@5{sPETfUF4zEpfiEh?JkVuVC>kIbq< z)s=Bz%PLCakUmKb3sTX>$iQ<8|8qPl-KIK`1hwa;_7}S8dJg{4lfS;b2cEA=GiQ>7 zpIfxd$$37We&2t<*}qv^);-T{+BW!;=iB-G+$$}OqUa(OW22`5hT#E9UC6{0W}ROT zvuA6ncdPNL2)eYjM)>@(A9uuW*XE(snU$6kq(QS9TqLcFg_&0Y0g{CalRp2&@11%0 zj@zna_Bb$3^|$8+ovL&tGTqXuXlMXq!<;eT`KbA0y#2a%MT;ijEa!n;HDxN9-&G6N zTIBL=4cj&zP3bL2DK?{T&e)ytGO*3C4Xmd7##BC@OgvL3~$2GU}SEW*R+tT z1Fr)wBl|S+)Kul&>lf4{Y%z14HFL}q8-jO5df4Z2#639eHdTG8CPZ_`EuqBHZi$!- zG;XL=$Ve!oRFex)FaS`fn-wp3q@F2U5SGCX};aQS>Air!qAij=ZH(v4nzH zTFH60(zlA$g0v_A=#2}hm?Vb=Nat08jFKd!u%$K=mzZ0#%-#=2JJcrBTA^7e3Larq zENVe+_am}@M!{ud>Ce3UXSsuu`|KpW*178)*!3;6>v>yJ&9lC@NW_I|rM~&PhOQrbyxC-TJ4SYf60}S(+4c4Q zj`Y(NKl$c1J3BH9}u~yLPl+D<- z!M=6&t+Uk!w>sEM5Aw-JC~ra#7-|<69#%NKa@We6RPJKj#dyRCm+neW;@L^LfeCix zI_#lRvz))BhOl9D%Oh~Qhs^b96}S-VXtJ+Ya%Yl`-{2JcSqss?S;}}N80TY>Q!cVT zw>*cqSP~qBs#D3L3s1<`*{X4?#!DUC%40oRNwuN~HTOy;g~N@5%B+v;Qt4Ld?mQ~= zw2SoVJTMe5#!y3bDiA#^Rb^t0oTPBx->XmkIa~30AF{5@AJZZ4Nv?S|ybj!XkI6hI zp1*hY6>I$rrJ^MP7fuK!r3^ll!HXPxD4kb5*g3eB z&Q>~2!qQ(n?e__t{-Hv1qd_QBJ@%`;C7AVP1=~ zMNeFDNJ+cXBo&iT9#-jAq7cO4VepW`!;Oc-;lh15)r4cJ&~0EMsKCH6snY}?=HR)1 zlXHDK$7-URK0o)&%a%1qn>^#!U%UOuNX2(8C#*Q=CAl>Hg7a_}A?XEeQ8{{SdTtss z!^AEdn6MmiN_R>(^f8b}9PA}6fV|te>FIH>Rv%$KgQ9uJidpA!JYE%?U+x0tcbA<3P=to-nz_q$|{kvxw z*cV=3zK7rHV*Cl)=cHmR8%}i3@|>5`e;i2FQ+C;<(7@M!m!JJEw%6Zgdw(ULz9*qd zJ9)*+_BVH-(?0A3Y3ASY^P_0yE}hR`zqT>(ONG+a!fpM=m2mzI-~W&HdDAqLU75r! z098pxfCW;{`O`eqE`7vd?BX{+Gm5Y6-+_eqp4yDs5lH2CjzN)ms*BvOTL5gB!Nc(G z82tn%$^Lvdr~jCLe`Q+-%`4X!{bOZX3QZM7>~Y7Y^j%;x*bUnTV>_^|GhRB}I4goh z6T}We(L2~t7>^oCbDTPYh@?C6a7qJh65#b1U?r?L{R9;PBapRMhwrm^VC~y42mJ|f zgRF!4EN+>KHq|J&FfB+8RT`R>rmf_>nfOY6+$9I3X5yr;-~q67&= zG05ug0M;EmEm;%o2)jMaG=KoNF$on^SL{$mclzO!$IP?wu;%Pe>CldfX!rwpAK?a* zmt_d3*9g;_~rA|MxX%cfmoUatYjw03gnIq%D=D zzC~&IXNrz#yO-8K z#&oAr!kV@Q253!|Qc>#cH^Z7C%_Bdt9@MR~?*}jY;I`j+sRy_E;H5pd>4TkvCY^>+ zk`(Cf9Ht3MH{N996O~WCQQ0Z!dL}NpC$2$mc)Z5elo^|egN+I7gLOlv6T$H1%!OLq z^I53*L?rq@&O`jOd8NO1oBP?P!nrvgDT|y5Yg4^A;mNToA)=l~3J4;5-r4y!y$Qr@_4w?q3ziVfgo+`y7h((V0Tn}F4V3P+sgH6Kz_AHoWTHAYeH));QoAq))y&O2uzgG|z39d;JcwCYIanIJFd_3K4SUdh+| zx!*&zrjTb6&Rj)}_yn2Gj+#yinN4cy=~6SIzY1uPG+G&`8bt?N9hp(usTvC5CPu5m zCY=vuu+c+}SUdyo8YE#slU6iafvpC?*eZN%5!##}sAVP04(pf3e^0eNxk=5QPEp(C#c<>f$MK({;~CaFkw>|xjgdf#~5D^>;683<+K(!JmY z<36%tHS@(Z_R=FaajLT1YW^Jx1(b7*d#|*b01-(<=*)%6V#ib2mYMG@l`$nKosVfD?NvwakIC zlEp#!W4Sk*dp*m&*CcJ?o}1@%c~WkD%WZVa_k!(; zzr>jKEmcu_kjl2j`1J;(vI+shDY|3c!4;JjI6^QgNEhgebg)C<4*toKBhmmcH9;*A zrb;dBB0Uts7PjTCVLvRHQySKoCBS*N?_!rUPW03O03ZNKL_t)1o;~LKmFLf=IvmM0 zX*y_VW_4*|KYSDit5GpDH~_WPRj3-BX1)qS!z*iaTc3-y~xuDJKMpscCYr zS%5F*rvf+E=~*N*|9`5a{;=L%{pm@zq*yw#A2lpog|aNDZ4ykWBDGX6#^)q?A6cfp zfo%h89c>2Npwxq{J=k04wmo=l5B_=^yp%US)CV8*!HqkO&L&~e=Ro(!<9c}IlXpJZ z;HT2qict?oXKAz>!y6roVgU>Mapb)y^Ys=ou8CzCIZ4E@929(Lk~Wik7|i0bxp&uv zXMZRA?&}y1mXPI;qUYE?bBtx-z3cP!RxJq~qcEs4sC1eRwi3i*JPuy;!6u@>@#KrB36gA)ix&cEnt{l|N;om(xuv?SLH=}^ zSX8x5Ji$D)+L4hQc+qg9BRpKWE8H9oH4ZHtMX8p>0qWF} zeOyi=RjwH2+93HNkWObAR?&`f-qLfvJ8e_rZ#`Yp-(VOoCEV%);vyB({&bW4T}G1p;f|vc zIG-}8Nh&^Fl6l{ubct0rl!}Ex;UGjR=E9IhFP+1MhYKx9#p*T4Oo`H!YL$m}6HbEc3$gkkgd@XUn zBN=JO-QsY4SrXKFQd#|I|5%G*drr=h7BsciWjAA6#rBHt6>bgRE4`-Ae*O)Pfz(c^ zia+uQZHBs0tRe^LyWBq~7Re34FA$4A+P~he3RIZxYmy5$PzB3_p_R)5o8*y=2&ET` z4ZLLdf=F3FhQIsxqy2L&b%v>C$_4zgnVPW>=vhJPs<~NGtkgW*7hG~vmm8b+8&Y5? z*Jgi-1N}(C*drfx#0JiC-j%GrTGic|Eiwxe0K(MqTW~G^{#z#x!V>vRRt2dAX%*iT z-?qr#%K&=o1G~rUY7RO=9mS7=o3GxSFlvwE(1i+=DBh91A}<@fR_vukLC-Mkt zM`si$UQjXIfAs0EZ87&?3dLBS$wYDrmFTvCF4eDumD$Vfiz-|ZJ4tP1xmxJ=^ zlpRVDT2a&lKa5d(?4J%n%8scrhQnd>7OtyN1rDW3x_&qushaF13+WWZPLMDaOxJaI z7L9%T?YW>SpP8Sq95fQ(lPrE)#NyK<`bUd0YA6-00h{8RKB*OLOOSgL`eq#4!0HI) zS~F-JX&tRWDryZ((^hnbKR-9C@87E?GyxY;4Wd!f z_H;%uq)M24*p+x_f+rc_n}>>RckCAZsnwwkWH(APv~{#}R1c&KYB6f|hmgfo24Y$>Q?4`GN?`@_sd}8nA~F?iS$Sr?_^%+a(~7<-IU+ks87&FDLf-LaeCyG6!k z76f=3NUCh`k;I-NR%4zVARTxF+2lniDpV;!o=mmUGEhq*%WMIiJ`7Ej(^Np_hCRvO zbOd={^zjXycdz}jNbC7^5(}DYHMx9lQ&~Lc-I8aMR>HbFN#U@`RK_YokHU{p4cP~y zT9Q^4S;Jdc&-NCUhgK}q+nUM>31TCzZ_Kk-Qqf(aFNUM8nSWYNQt>X7J^J3ez_eLB zB6^36=0T?_JwRf5dRjAq%!y`dmJS4wr9}}OyDAkgCxD8$ifl6Ao$yE_jFHPgmMlO1Ibd@w`ToWelpqJ-{ER_1L;eI)Ck!)DM_P#O6iB&7ej*OR#h z>0%&G!s<&G?OPeV|6p4r_F8jUD!nJ`Vx6SwR0+Z)bb`Neia1pzmttpE=cdkHoLezo zbnv3Kh>#7VWvcM7LDzx0VK@iE-3nVNH0#vbDWy}2QcB=cA^k7R+{8sNUIa_7E46sd zXLHQG&)2&Wi<6Z5hS>)P6f$NST~k8NF#FHfsaO3&Y*&3_|aibsK3;&3*}Z6yhD zUqt;R5G~cX(}q8kiXQt?jm*oYPAf6Sw&FCg&~#~7*S?kqo8Ch`tj?xRlY=4$jZiE$ z88m|AFB0Q8NZr8dRbm#M7fjPZzpiKUi;Ti7BGw^gv?$@j?In8Xd9By_kE#8i;Ipl1=t*-3d1{bs%X zueCoFsVM8?+z`(VQO?{mQ?V7wRztzI)gTpbjd4@_wb5^6zGBU=-81O9xWvKf7?h^V zHbE+A9a-g&mPR6ZA9!rQN7SIvFg=_b{Hbu`0%yl@Z)UCn3GhR0O zE&7_(rqz#|E$5L?#CZPQ_}?PZ9{I2vNg06N|K6x47}c#RgDaX@tm!79hd(Os;2L$ z&8!P|LitUQQ+jLga>G7s)Q=nb(y&&d=&BxoV7-Sghz~$6c27V0^IvXHBumc1as?Su zF*P3va%;=nzA9L?%fmnD?(`{6l`ipDU6XIu4$++dMeQ8y78Ug17EVroPfM=Arzk;d0r?LEfud4{nV7w z3S$$b0(*sB@LgdS*aUBy1e7w;zSa{AWi!g|=nh&PtwL=Ia#0>MO5XUay8UB@= z7KMrUeW_316BZM=p8Yv36}1#7HOPvYDO{p&wShKAH}DPEfZg#8qzUW;_OP(kYLwlm z`=B+Wwn3?#nhM4s71ITeAo<*2n9_%Fn9vRC;m9$N4!sxrC;@C`eqvtnlSEKOMu|R} zm6HzQ5;;PJw7{~nD&Ho!o5Z3D>PbfU91~NCz<0Ot5-BVS=Ca?7_ncOmrJ$2gOr@f% z@e8&Od~%@PmVl9NFK^~4au!k*DQMH8aW-(-{6^kJn*||YT7*koOkeQ8fz0^xu-~#%k zHR>FwacO1k-TtVy)H?b3#0O^ooFJuR(L3;l~D>N8qX8O zd&3F)*(yjcSn-@|HEhib$jV1P@AId<#!^S+?odPd`n@Q^pWD1+FN!{a=}h+gV`m=U zb={T=7NNzG@C#zG6=BQAUf_0l>}eR$a5m|LRHD!KBp853(YdvOJtjFWrPi?cD8a*<-xA;T#!;hESBO_H#Fxp7sp*V zCR66IcX=ReQrIZ$Qn`=H=E6~kY(H~~Mj=muh5JjA+iMKYF`6zR@r^hSzwgWQ9Cv;0 zg01~dy}wS9*Ev54?}eGE;yO}kJMUjsPN~H9cEuvp0!@XcuvORmD;SIS#KK2_S^9sRje+JV#u<_|bm3T`TB>v!9=uWJQ-uHKMb9*chciX?Uy93f7`} z-^)Do3UYuPh8%_;9r{2=hx@^JJXV#p`^6gbziG2izr{`6*Jy!PJnfuf1D%^9Q=zoB zDuTTVRs(R6vehj?#=>Pm$ zM%vyE!~4R=(tf}Z|1k&uHfJYb%PV}`v6qT}OgpetGT7mapEvBMiqs1J zckJi^)|!HkbJKfy%yD>C`G0G9Am4wJv>H;1d1M)gMF!1Y7_U2zzwGe;ywX1keFHz7 z^7oy3+bEL6asMd@{{)AAOrpP{&5h$ac>7aD>pYmcYAE@a^>C4|^-@P0dzHqOl`2|<&wXoZp&oM!Dz+75E7(@TqWGg@SsdWI zU^l}z(3>H*gZ5&`HfY;m-#wJ6YCs3CSvWU1x&VkkcfZiPaNOfzZ-P7;{z<}7*fms6 z=4>vDV01i)V$wA!3q8WdR#A6s`4U{}RuTaIEm;1iar7_l1t!luiKbPUGGBAfvB7Hx z?0Aw)y7n|P@02>#rAZ?0K?=(r1W%%$VPV_icg7}+zZ80Nq&hUuEL)@2B>s1a;(=n6 zGAL@45^BW&EQKg6PvwNc7|IyJF%%z-{s|Zr=@kye4#6IwVDv-bry%#`5o$&4pa&pP z$R79SSZB5A;4)V(F^!^*1V$0TmPccb$P00G{^s)<_(x$Lv%jCdPEuAeOiB_=aer76 zaMQ{^=BJ4hlHhnKqpTQYMp!9>RuA@iu$KoPl0^KE_TXcA@YnL-gFJYV2QPGXNeeza zGPzuMGh=tBnNUF$cJ=x9~`RmqU<=W8+Wl~JFnAiWu6H#6Vf#b zuPk5xoP$)(@%Lr2_}oi!#s+$aBHPhPrD)|?q?%Ir@i_vy2m=RA8#o?}Gg`jrxE z+{!_e9z>!J_7a5QF4<>gu;tj>2eHlklC9zUhP~YIk1re_ zKXCkIXZ#OgeC#~_a&Y_)qkk|S)o}{-*wO#(y!^CNZehcyvZ1nb?>|%b5u5I5AEc3O zfDdq+M=yqCmBG1v%Sqxijr+4VnN>kN69LmQNnKB(Q3Oib4;MvRqwGqr4tt^QAF%Dl zxK;X#GhU+F*U}cK-V5!mQ0`87d*E+>$L>Ezm~xAJAdbvJC9?>a_gjp|N%rS@x<=+D z5#!&!eMv!bwO=si2C1aIP>Dw?c#RA_t%}WDnN}EEfZNoHgd8Rh_L5mM&Zv|4kB5|k zy3)Hrca(yfQo133uhd6a{`k?6Oyv))F>y)Pi``hH9H z^Riq0h3oWVglBVwz6FrhjIwXs_K(!pzwr3$jmJml)87X6!DtdhM1O0HpI))LAzrw3 zXYatzpHS-vl1kIaYKqJ)3(KGj2o0Cx=P&KVf3$zP1qNjlGhS>^iqKo3zf}5v{0GPX z`^x=)!rOm7xW7EGhp_$sA9?xzK5)A`Sr6+sOhfV7r8!rAur+3(z97&38Cnpzp?bHT)IIt5aW%_Tk{KA0GV2%isB*FK_&9 zd+?z|ro{jrD*RNH|J5q3+%Yx&F3#K0=-U?7@()3d2XYLy+d&(^0s4sQd{IZGXSPu& zHx>bRQ8dM~&mi{uB7)z-4f6_F1y~tR&O+UJMAhpr_`6Saf~{9|$5i7Jz<>uizXz`$Qmlek<=vMG1utkpIxP@Br*gUKfZyt}$uzdvReN$w2d>@oHxNU&+com zhycPP&*i`E^!JEnelm&6SZkQb38Hmbo;oah;nTu4_B@loCvEk-0u8(hqfPtT5=y3< z2SI!@`YmiQ*@A4+P4Q~fX54PZhg_Ww>#8;b$6m zQ{KArsTF?i8~>*@emZtO9gbP${t)^nXPBWD`>N25D%PQoj1S1Hp*UB|Qut`8sA-aH zBl;$bE?qU}ZI5Ga7V?n=VrGPDOiO}py7JxNG64U;rF^-iT=u!E@73e1Srn}WtBTZ$ zWKrvkSdo@em%T7<%JE{ny~6#~=`SER!EWHYQ(uhjb~#Pvci5&$-j0fzIN;T;W|&zUpzNYd@aGxRbL>X6wyg)L+tY<=7p);ms*!i zvDb#R2CX7(o=uW8+@o);31f5m?u>mfc4KS?d*ShFe0nkZW|SHPf33#8MZazNX!VGG ztYKALbcAJFl72FxzDvz;q+;)z>ar8z%8skwpx-t$&?;axd&CxfH z7@mhy9$|^>MbqB6KpBV>gdQVI2hM>HLuhgK(aOx=GZzexNP@JFLsQ9vCE%PZ<1ba- z{L@X+Jw}iT$qK2q%r%wFc=oWBj5DXM;#06FT&fa%Sf&Cs)oQu#@ZzB)tHNj=D&cLw z7VZsgb6%S9mp1rYd+?w2&fn@A|EX_$)SvmQ-ua++ZgOTSmO!I1gzkk;!`W>R1_Q$8 zN<*j=!~)+KMLDW+SV8*0%0Rb>Zc#Hz3BW$zege`O1ZZYAj3sFDmRmIckzB_ga6i$ZHtfqHOjZ`{f!UiD`_=qEnP8y|RZ<6vX3(WxAm z7>5dX=_s918ZX^=xbWg|c;mk9+>gOqiA+-~(N9rG&H2b%+f~jyUbVE8jMo{MRIHcc zDU?a#`0D1g=FqI(iF4KJf|zT6)3Z~|%`QP&4+E{!Vsfl8YQ%MqwI#ZDU`Y}R(*ktn zg<1)iX68{wRxMC+{Y~qAksx)dLM_TxgeFGuAc1#zu*(}Sa_2=mFG)(>5H<>%IK`5n z1l&R)+#C*fDsjJAYKS|7!v_xrhc^yaHkVM-$q1WxDfC=_X5W}bF$vYfHLH6#L#V`j zl;c&G&8wb7VRoPiYwU;3ydV~9N6BmZMan?t8v0+inRA|7=TP&ND0b)?jx+HZCvhn0 zCvV&hw8&XJ#G;?QQoW)QDpYl)`k>l_im_ol zJS>qvITRwG*WB4RL&reJd>t{jdXD2-LtE)CX@yJJ#%85}5!UzZrDj1?&T|+Rsh=?* zzEb;Bk&3{jN-|jB$+pLazu~n)X;|CooAS6pe*yadpZ)@Ge*^zu+}dE<9=z;7^YYU1 zdT=nfyYd)~pW9=8fT7Xk zvM{EDO9mEC+AcE)^1v{PLaVS>?AExyZruOUu)hxMe{{y*-mt$tkiT@w=HY+*_F&Y) zXu_cz_7;V>$=aHsY@bOZHo0!h0r0PLxxBh0t_AO zTE@0weSjfieUJ5_X6PH%8>P>rK9jpl(d0M$x-9}Dd&P>0bDffw9 zBXJbcu_q4^Eql5#!DXWK6FNq`?iwEK`pmkx9jAW}+xX3XxV1pOTJahNB9sWzu4B5{ zGrb$Qe0gH}dLrGQNTX819Xdz44?X&+hwWtKb^dLJ!c19d#4*i8MyA%HspZG&Ka;p=O#0)%XrdQ<69+x9(~%)&dX)6~ZB*hl%}g=H33n`{9ZA!4>+UFT(OlPVg? z?Y}YyFUcD6%x`PYpAGM2Zf>{6=Fz8Df70$X@3*x)N=xQg>t99(hwD6CqIy}B%2cHD zTDDe`adK~@-k1l-yG+?drUQ&Oh0+&a^SVMGCJz0~Z9jA9F5LDr`)=aUCH659Lnc<4 zw@`ziQWC|KMC4K;mlSzQk;~k1$_Jhc8*xTdR1bKE zwx?7jSwYH-5L(_5Ss(#3fs3dEjT-1Ra<26NsZ1@Yhm!}ZpQr87kF3kovk>=M|Cl^LC=GPMtK(Ou3pKR!>+~;L=*{ zH?5$lDAWX0XH;c^CSpyr8g%qSM)optU}9%8J1InFA~T6vf7T&&Mk(|v^w!ad(p6?- z)E*W0f0`UCErG83?=9zVk#Yt13k8tOA`f0am1pza(w-X!bsH~jCY$$vY_qGQjjc9U zJZDa>C%#;FjnS6|F4p_GsNess=A_lyn2UQYEUd)}(V!TSLX^4o!&Hw%Pi8P<5MeN( zGbLDY0LoYrD54o!{LEbnGc%Bu-{>jy7(GpTGozBKOs3Xcm*)5Q#Wx1@!dPr9zpbBG zJE_gr7!D%Sh$`-1nL^0kqyhh}A7komIjOLYpQ7f;7@IlCLHU;G&sy_RR_1+Bt4TAn z&xw^qx;{_!a4FhB3xkgAbY{m)pwL&~a7UuI3M$qT~8OErLtYk zlcKG*SuSOfnod>|KqxM0E1}A$u1XD7DwL-MEt!A={*L1W3}IIB`jI7r%+5MiC8A_= zsnjB+Ccm)A98;$zpZp3%vP;ZHTZXoCXQ|H$Z=mAOWLpjG)$wQ9PBsF8HbV}|E zd4N1X+9mA9(A&iBFmpFtxZj_-+0SS#e`fq{#?L@C|@^e@Spz+OY4jUGUnq`+zJ33nFG_mO-K$Ry|pa#5^Th>DC}*U4v- zmlY<4TZ^!i@^G!w%@#sXd!q*LgXbWq0k#`OEl{Kqr;e)J6gb3#5E zW;?=DX4eaSt+`p6Orm+B&?4XU8CUuZQ2c33FoNZ!eo>Z4jvaG@WJaIk;E|(MXX+ZW6_8s=5GO10 z?q_fQ<`z`c4J>*cAbNQ<|4jR?bFt0i65QDw%XXv%S{A@*?UTlSYSNLOdaF=teYJon z5!Wk?=5(~E&=s%4*MW3K917hovF|5thnf3+;){OfeLwMKH*p_EZggTN6T47cF0)3e zN`Y*db2)PinL|-_xueI>?0;KA&5*UkR3fj=MLf8zm7SOUkkGQtJ|v@K*^&c5U-yT3&Sok z3=@a_#Le!+-SEVH_r$yI#J!%l)rq|%_5!^Mof;|`NMwUiA_G0=(s8Dv2ZAUjk*pmS z3YU~g6jFwg1WQ2lI;o{HElYHFNunUx>%B=7XFxTnv)V^%owIe1R$FOlt8I;_Uz#m4 zWpxX$>Z}=5(M?~w)cR7+% zQ&!%?YuL@UWDeWhZ?KsiDv+=M+Z6zA0IF>m#!afY#cGx#)}sSDpvP-rR>nV7W}3m+ zb%oomaMKm;`pmn2=C+%->qlp%iB!c@3|?r9@6S@{~G`DRa!q zP7B8b{VW`Va@K%*W`$w_lJ|Sbc%FLkK&Tb4EG=FMb^KE5V`Kj`AW193ud*jRQKrQ_ z*7jcRhs|2|^N(kF@v6PENSXpI@nIM3Ju#u{3u zw)0-K&aSWh^Rw-1^Oe8Pw&%L~&UM$fnLHLhO1Qr2RhpuLTW!gzU{+=BtxNC7Bu-v330~(DYvdZ(u3LHl9WDWoQ^>^3zYB>;T`J5F1Z(v~^nN|}892}LUeqL*X z=l$4{B>WeyKmD+QFSd-u)MciE1vwYx)9gxqlHjqp*tyF4^cBwnv7{) zn28ijAS@C0JtZ>z0({f4{C}(o%~mS5c@bj?QQf0txe4-{P!$ZGB)= z1}-F&j5^R)M`3ATq6k@(B$>G=Q3^>jK>|ezQ9Oaf$^26NZma*^p6wUc@o!qyKsJE! z7WepPkN4jcsEDxyDz?tBEgSRZAPUxtJBGbrJHhq}`w`up+1*Us-etZV&iwA?iTmA1 z7e@-2k)Go`^Rdr-l)^(PoKj&*J(NhCgmMnp3^ExKGsIk_{R)zOGf8O^r_>km~t6r{z~LQ z;mHc)sLVPLq^G+mc8X|Mu-L$oTr;UR=kq=1{$|(KSP9E|3s+hHi$f*8;n5JFi-e&k z?K`HMz~!z-?ge{ia6b|5F6?j4#KVLJ$T>2djPwNKV+WsrF3^R@E*sqlAqyoHEM>@o zEmB+8jxWo3z1d5v!NDpoMBBJ`0o#E4WeAjgARjvNPRV-*7Smoi-xW@G8QUj@eJ1QD zhTTNpkHl^yNb(FJiI5^`3e009&pq=f0+UavaofEx|hFQ2kI8`g>5tL-t5OQF{3Lj7p*4^Qxa9*!LM1sSqS9qY>6`t09%8*e{~`KG-7uYy!k=Vb|vrBO4uU9peY z8GUE$`@&&J-1dpPZsb0C-JnQjGV%P#VoWFxmbvK*=bopm3KMx{+N! za_DF7hLQVz$D}XBP%Ov1>aaHL)&q@fK?z-2+``J5URxD&0yT` z3-5=-yJ6yse&Wmi!uv3CA7^fZ5iL>3m=-1q4<)fD)2R?7QcCa|i$ft#kQ3P4c_MRG zN-{`-&f-Y|$(DMbqT7S(VE0w$NQFqY?=5o0L6-W8 z4H)($jyk_}0-ZU?*elv)V#sJn+;o}SA#vZ$yc;Io??&$9h1+oAHlDeSE+xK`LN5+N zG_b-ppyF8qPZHTn$4+{NP>6D%Pf8qvmwhm$>bH^9d=c-}qv54JIU|mzi(qNfKDBLZ(`K7ZaN8eW9j*C)mfnA9SIIqW&XMbb_I_JiWMxo;k7-p|WV?f! zvrA(phC~+Rr_K`5W@7NYt+RWCpdJ`kl_i;e zdtD0{w~d#yIO3)+zQ@h}#oFiE;ctC+%|r4v%KeVwa)au?Usym6XH>bQrPaD_4q$Ww z0bTZ;jcwXBFj*S-RNWk@YlAj$^SiI*`>iEh{yOb*F>hHOWz&Dx4dqjmv*J{(x>+u3 zyaJ1|^hp#465DI7z>;s1{D!JRnFLA&AAP^Gu<+ESh#O$6TI$~`{N=ic9aDXkIgOfJ+Efye z%4V#feykv5PpMAlR2zC6fs_YcYmQFd@0pSl>o)Go{z0t7pp+rOM1e8N8-J-U(%A=q_=%J#&9|=IeKvKkSeEVfVln!--uy zJE&+q4{6W0;g&AV*qE6w#%U_#)RT8THUyZ#`hvygu&#&8!-xm7fmXv~dn^4~7mye5m2iSE8pKd3{%Zisc-g1d z+v>ORxtLJ(^1~Vgt;|xZ^@F5W@}Q)hl6FEmC}rHf)jEjH*6cwXaQu8A?9IN<#2i#qDPC)-59EDdx-s&*ME|=BU;gpJS6>}@-wWlG z_(qLyj*$P{p*ux-uS?W`Mafd7KD;xU4|&2&{LRAi6o53#R@lJ;Ls(GH#t3K@=%HRx(KnQ-LWe zQ}kM@B(M8u(VS6P8L9-9dULC+oCor#8)whruJybsm@1`ZjmV22OA9WoEV%D#@SoQf zcH-uQmwJq_0fc3_E~{+JcG#wk8k23QxfBZ_PW17@5JvX#!Xcix2}kbqkvlzdFEh95 zOvOP1L0cfMkj)rLbY*6sXV8II+k6hf#UdB!*maSa!euVZor5Sj0ZAxH7XR2~B5RO5 zSiLX7v}_odY=Tr9ka5#K%k$c=zocYZ*|3PVAhNalQe_1Z+gw{EZVJvV?a2hh>WRM}x zU@1^i@PbjDIeRh+7Hml}F?}}gtd|C?0s0nWc}0V80aO}$4p~9pHouf6P29lltGV^N zjy0LXVyUb}unw$Otn)D%HPh?FJ`@gd=4KeV8&16IPrQpq-o+#L;mm!UxYfi#ic2b1 zutLp2#caYPfn!k~i*g7ZI~~|raarTw`x7${l;+ftlY@h~tH5yvP55~xzt`+)Zf?P0 ztw}|-{~K*u%5~BUYg(i}zLquzTy?b|;&lp53ns2m)Ih~hk0{QZid9~*J@1<2W$l+xR<=^c zWiUI+!e(qBiVv$MUklgLo!fKX9_weVKlOQ^|4OW_`J3B%{cQ8N#pTxiY#`rOa+9mq z>){fZjiDHwfUP!0 z>&0xo!9RN)_5F!0OgwAsYAKk;wIie^1YW(iN@TZ|hvNH5+4fCkdv8F(m7SRA)ftIV zYqCXUDmIY6tFok9aM5drJ8-Ph@J+qyQ>mHgR{h~ZU26rj)OwV~LBDJ+A|a)wa+nLC zW|G%ptbHX2rlkUuvdkC398?WtucwH3nHZB=_fl$}Ss@o$l6=diEfL={ymma{Hv=lR z+eoTYsp5q>MV7m-I#@=DcrA{Kr?1{Na8ghRov>`P0+P|JfOT4uaW%X%6Vrqfdf%8I8HJDcVZ8*7?|G1itm- z->_ONU25P-Dr49>mzkDM$b*u1O4_>&X1R&5kK~(--e>wRMs9A;e07-lmzxX!vOn|n z@WlIgWG^F~c<#@XdLGk`$8^J|dFI1O`14M==*;=JV-AJ|Ay(jDN-CKi)s_y8))% zOgI})xA1t_Gaq)yE+8$DLzS$VMr&%b1Ni*^WO-~`n#r2-X(#6*Y_ zT^!lPnSH#lk7sV;ncHyYPR_gw6F1E4B+zRhVweO9kx2?F7qA2(l(J(g#w9C<7&%+y z90OyFq!^h(Wis{=udX z5!nRt*Zyn)ngvW$JTkHkLRP@PQ)7sQT`U|z<|a(s>BPN^yw{l<%^U=J4IWgfd&-0{ zVIH`tff|)U4uOfl$p+3k(AKE%4jcI1_4})K&huJvw{5cwdK1j5B?l*u{}Ucj2x-^DZ9w zqC4}YoOvG;_X@ojFk_`KB6QY~!^{X=B=VR$_I;%9j1YwsV@+!Ie)9Rk(6F9|*Er^C z?Xd0j)#q1om#-x1wd}W-VEp?2HbLR}nz%58mT@O_53|N+irUhDo{(N+N3||-doIz4 z(VVdsGrMkPA4d+|nL|8r8y|VspLrk8yw{2Qkhqb;j^fJIB3}2YGQ~$xZcG@8(&gx~ zjHb>M7hx`uDJx?ROr0_(D4mhBGmFb|u$-$jR&--Vt8FBh>%44I>)h5hWPQ%_`(Sf_ zw7AD>wHN*nY(O~bb=V4)F06QIA;Zc_s`dADChA1ci6D~)z-yqpH*r#{t%;9<*JYdQ zZ#l0)2pR}F5OpT#yZ{$Utq-|bBW-)$TwjB1uI2h#e`SG-&)s8k{r-0`zub3nSwUwh zR!~T)?5yM}xtLxaq$;)OU{uz|WfBt5<9+Txhb`Z2VDwfFb33+{etULF%XoSYe81u` z_K#TWrY(t}VJol#h*hKrj4k$3f5UqMS!?O38Ddslsq1=+p-G|QWy;jN6odag|J8z2 zSImD)D>$XJ@#(P*H5bzqNqGIs#$hcDnyY7N%bBvgt6$$FQ5PV;fr&Igv5hSUX2Sy5&t6kl5|OzAiE{<^(+cWKSwa5g-&V#c1?TKn zw^^i?qt_*|Zvk}8&okpnmc@KLmKxWS<+V6NkwU9sn1EzLhxaTvn3%=LB18!UOBGB7 zH6`fm_l`Jloh7^6YW3+wD_gOuwK)CR_W@QX1$)I3KEEMQafKC^*V_!A<}3!!Hp>lI zj9!Gh^gFucjU`B@pX9QkNT0{%L8|ELL_l41GgcgF>>j99=aW$y39i~as-Lg zEWpZ2jGK(bC5y9e#L5~T-L8edB3IzQY@cnDXPck3W)I8etz}MYguXL&L*aJFydNgM z9xnWAf98)eqNeP%=fm7{XFdI;C+s?x9>SSU!Wz`^OpQ7bw9QPFOnmFNAHlAIGphsE z-)d*AMZZ!Z|^SjG4pAPbn(KN3&&A89V7EFIODXlTJN;U z6s;SjCHV2ynLo&ujQs_0ueC`!!Fp#bIy2nC#j;lihWCZA&vb_ice^8B?I!-)?!M4E>pMM)~|CqIn`QNe^!HYJQDwrWl;B2N-uNgGR$X-YGGO-i$T8h9Za1dpX z7GRrEP52fp)1*$l=0vMyA$3#sD~paadl7);J1_OScg5Y^mu{Ln^-U zuYi;`R)rS2km)qh$wbG6UPg8@GLYDb(h~_{&MeFxXq)B2WQh@_N9c+4=J!O@*`@xp z)g|(b<_1qht0=EczgdQbGKt#znlcJ-b)Sxv+R$;WBlXdLF%uo`Y z%mkUyR)4O6pcPcfx|Wisy3A#BJ#BBaw84gXai#F_?2Uzi`Z~JvhuN|>*#rz_y{Dg- zQE17pSG6?ND!4c!IuXN27cO*qqSq5WCw6jXZxy=U2R{`E6tT%gnqStM}{-#pX#X4mO55j@ozDzh&3QB6TG7`|bDrv$msw z#!SozD@$=ZGp=*%>i@33{_B`QuK@06Ys7X<+^&nr>JuVs+X0mMr_9=?9E6v5MaZC($tM)pXx^&Pjf<+Fn8UzvGN zcfgDgQ3n$1FGQ3Cm8F_cW@jWKKBto%O(wW_z0T_!X%@{VaCXT&-{A`e>V8t@WUKEA(V`nmEYJt&H5u1ySLN z!mfj^%xG88;2AA_5xVRWiH#BS+B5ThEw*N@udmyC1rJ(EXT+hf+fUpdPJFq0;H%-p zt}k?<mYQCM!0PpPpF%vpYIZXrM5~vP&eyEt+HaA9a942U`Pig z8X7Z0Ox(no`#AE2UieCme9aSoum^7C%s?SY;G-r)jG4$;l_5bK24pDY*+_kX4kQFp zsEi4LEJ~@`_t%?9Ho>oLNafnz0FNJF1|e6F)|4!PDJXOB?9GE@eqUz(Jze3r87mW9 zEWfRrKY@MktYquFwQTt||G=cNqO5Lq94OMZ@sorw6G#N}O;9vNi=ZW-mNuJdFSypW zW=8dU@sdt!eIRFrH^6VSNv#jOT4$uCTEfHMrzm~3MRVL4@{hBSmx@_kS zulr%*rL?SImc1@WnX!;6Fj2SBW;N`Y>LxdV9FtZ!#jj{zXYH$5?B;b&Et}S=fgiwN9c@ zlXVE?}eRG~|eO#q6UtYu8ZSWmd*TUAeW@Q3ahnPrSn{bgnS)8FofoZnJ7w7?wnrr)R>w;P9i_e};@@*mboEV@vdQ~t(TK_>wFYLg z^zYin)ejdZ5VVzjDWO*T(tRwiZ5+t;_mzMmCaB56l=a`P=O*>sk?KQdt|j7I^h!7F zv_*o}R%~PbHQR3!RAjT@Tm_IfiwocZa9cXFW$r0L#Hp)Ml!y=kH6fayr3F@+jA;$F zRp)TAXCTE3XLs|4d@eQj&A!u`iz`b&qD|WV%qsgxk|8t53?wK;NG43cRCS~;DojDS zh%kvzBp?FQFKI2=rZh+a7e|h{8yk5!1=V}?vs#zJo77R zTV45STPK`)k6rJ=et!EbSp1p2pxGt>#)~ManAbWpiX&BjHF2-!;`_tleFDD|i7?=8Q446!K65)}K zBOPbyeXnE6l!aUrbB)d_{~ysD2wBmrxSCmB?$ahieZ>J;?%`*1mc5QJ=y#dBh^yb| zbA&9{vRM0$BX~$D6?AQ5avhtY%~Zw`SoAr~r>ax}b5W)e7)#)i1D6swTgPCLvvr&) zm6@1p5VMfXW#!dcVuo-5P6#L9MDV^XJ?EsHi*ioFIV+beT#7PgVXE_g%?t8#FM<@M zkzu9aH4$^Y)?Bb+NZpT7%Gw^!o2kuZr3%2c_hi$?Kc~I;bE`kuOyGK8%DQj;dtx;$ zWZh`2E*alK#{N9j$3m5puWNXz`{GiJY*N=oD5hkS20i)FlA9M4Ot8jCxQa*oeWT8& zaH-eva+9>yxcvqB+uL|T1K>9ODQnYx))q*pt!r9q38SQ%7GsuGRQ>%T!1t;{!< zK8zKB2#AA=m95wqTDpLX?KZ5wPE!GBlDpf>d=@Wm$iK)u zcWVP>HnF7UKl@bfW6t1;tJucU8X>N6+FXGa<(j;}8e^lje zJz;N~qO)E@d%iwGljap{^|#u;UsPOVgHv6rZN5hPO@WFHEC7~C=E@;1R1mP;-~OH! z$Qj6iIY*|_GZtmEiL)IzmJvzrMV`yR$qt;#o^#nTSx=&;SVt+rwQ!5MlU5wKP@1y` z+nJzEmdiqU?a#egwXGCIo7$v0a3(IZ*V=kHvU&B@z80a+faSHse<1OEu4t%i7*$+oGB?`xh#PlX!Ai^1i$AT zfAUs%UAEmcJ})kgNM)p~uiJ)5>SkSvp><43HZ&D16>Q8%FznKiPJ7N29whLW0K1SW zT6hxJv!lb95RPTfN4w?Qbi+62fp0H?hv~p{QMedk0%k*JL+65KPyQg+NxpcWTb-jV z+f|_R&3+71B=!_>PDHT)5)mMmj&q7U%{>qEj*pY@Y3ezS9n%!avtqMRQlVtOcea5q z-jZ*Ac5|1xmAZ#eX1bgiazduSbcy6MoX>my@*wPk@XZ4}oNgJ%9lJRbO7{B072r2B zRMhLo6c13pc4zuE*|Mo@o7v4Cv-u}iK{ng?Q8myQGFVNxvJ53b&cc{0sAL|{Jc)0h zX96dBF7%8HOg1p*$efj&g;J#UvDSngY8?})(loZz3-U18=fYmUOxq;%u7QLa3zX%9 ztwfou->HvcJ~q^>28ca@(Te!`S$wQiViS_dN5~B%|^~}~YS;uTW$$D}Lcuma;QdTCL)J>_N&w$ScfO}$CDP;j7mbsMaU&EmB=LpPIKVYbv%}i z0|R{wC@@=LD4qm;QRC6zqeVW-o(H+*sT?@v9hW?iQcp=8Hur?oL5hSF2uX-Z=!&5Y z;4ik^i`oKOn*i(e__M`#eho=L^6U}tYpNswTmHAs$LqZ)m3_dHh^WP{O^bM*VSP@4 zSZcYN0wo(I3ndvgdostIJH{+r=1d<3`nadhnW&lGBB6{J6NSWxu`9*d!}Xpic#W-5 zgtI75CVa?&Po?9r-0+YhPkF~N?KsUHm$_rikue8SQY5an zF3WsO&b~KVl0Dn}g||t&Z^iEkHK{(i2WM$>0PA@FNo@(t>H_Most0zJ7g09%sx8kq z076;+tu28#TjoBqmMEiSQ<4Sd5}2)u^+{x+c->kPW^)CHs170~v&uIXW;F+%&4vHG zT3;laCutQ6SlMV_o7O$*=KMC+z_hD!Et~HMENfK*JeFkImQecxz{;P}7Bz-v7wK|= z8@Xnl%}cb{sj#XK`3)eO*CJX2_}kBXz6({tSgfFy>rosqlvayRP%(n}Zw6|;&Ft*) zD9}l(+2<^)K$Sq%Ch_gQimKK{;F&Gw-aw=^hRp_8YzcbJmt1hEI$nPk=y4fj&*i7r zy}J8Nn{(bgz90;=aNF~Hy!jDEotHLacjIF{KZ<#BTM=ErdlOgKDO#4A@``QzZ&&y5 zu<^<-Z7^5k)A?`fk{Dp^w?#0~$~Ko}Jc`KT5Bc2E3W=;f?c!V3-Ov_Ll+8WiO@G~% zRIu!-?b2c`q|KsJ=;2sGwJof+^40vj z_|PxM$7{3S6sQR8hOuR2G~iH-1wag0u~U*i zRXw>aK5dg!fs2wLzl=8=rycV=peaID zC{Su2I=iYY0CDvdcsXr-_jUZ%?X&&(?D;m)h2jAWQo&M2r}p@bEYhG;>VKf1dC7=JAfxhZ}h8>5s;6p6SMn%n7R-D#@j)Vr&+Asw1}@qrT^O z1#b8&GXq;PUaQAee9Y)99`u}m&R{G^6eM_Lt%y)QMN-~#J}4i@o-jwoIq+fMap-sS zaUupI8C>#?W8U*P-SF|$@o)+}p7)f8o_G}G$>1c!Gjtc|Mk7u}oH9CRBxOh$$v&Q` zfdtt)V)glJ2%P*9t)L|7NE#`sF7}WzOv-c-KAt20Ip6T#Q{p%p$8q4B^9`4Ak6t>4 zvoTyUp#?umb;C9RqNU`)oBa$Xi$IByi6zr#qnjgT9EfMbjykJQbe<02|`w1_me^LRJ9u_aG{hsHWpB^2-%Fu3X{QTa6vgs;3yrP^mJABa>VFF2sM!5 zuCp@HaYidkwdbh}9Lt_l9ysToOYRs`$D9IbR!UNA4v-YdiX;|bxGMHh%Xcn<*iy%~ z_v>bzUV?&ag2U&0D%<@37h&et>OQ~~jL6Z3VnmiVuvpBGqm6R1p0h=Rf z?ilBe^EB|Jdmf?@LZPEaNX!NYguy(4??mAVuP%sc*CZumIe@HDy)HID;j9FVa? z#)wQxoRm00n1nDJn%j8vxP%s4d@Y~17My0i>{qt;Y4as`f0)+(XmhBp&#m?u%ber; zN?!|WqEj&}8zBplgc7JV6sa{v4Gn^7@!DKsAOV|P_H@?3Xx=|cK{J#jlrk`P6X!5< z)WqJ59fi&upm1N-nToS0XA_&%FVnQrDX$9@P>6>OA~>O10WH zuW1bby=E_Nw(t1fXJ1$F1s`YaHkHjiqV0f%rLjzk*0rQnIOJlv=^GSRk2FRLSBZ z@2SqOT0x^$o-6H1-<9ItDhrFeX@{zkU;+fs#JbR%f(Wtxhu6&;;XUK2m+`L|?~ zrWn!+;JJ#3Qd$`ZTiLP;;i7?`wLM!K`U$>{gstzh-xR2502^BQvWRALr>gUfuFM6Q z3Oa&}f?mKbQ2M~bc|gv_J{C$gF5S#uhsZvRm=>N=;8QyA?fI5J9rt{5>UlVKOk=<% zMQ20ij3z%q-C%2~?737o(~W__RlMOBx#0g)X5aCAyQl`MG3Tb>ksW~2l+mfc2>Bei z90Q+r0gXLbc0A0&UDuNlKBOIgy6pJoVb9~If%FvV&qA7wG|$A8C@DL$Z2^a0E{cB( zSbQ_Lt!DSu+Oo9N{ax5(&MuU3Mx!x22uV9k4os=%JiX)3k2~hW4S(8CXfVdCJYM!3 z&wKJiL_cKuzg*aV9O<4iToPqW*qoOP&bA@lj>pfQ|Mz_MYqYHl=ptXYWDZsl2@|Z8 zMK!$Xeu#ozYQ3f^S%DcOkl83xAdP|i7?}2v54RnsyU3q!0{uP``T^}`G`KubP6H+F zNYjq-+;cf8^QEJl0`X$V(a@6-&zX2C#3zU+2$zIj5;7%ZnxXc))y=cjEaWA`^*n2G z(*|$${Z>S|cr_pglI9t`OmGZbp5WWZj{omr$3;fI43N$P|Kr1+r-vQ!DbPO_hSQAB zxdwj960mH5|JyqG^H~d!`1no4GSej^%o(}Ngrkx^cAR&aKdW&*B>s9<&fiA(5C{(t zP6_5*nJq8>#v4oVhuM{n`{KhEY_dh#&6(mg(IXc$L6{9@LuMgQk#UY3r;dkl;IF#p zPG({eW}O)-sQARdL+<%=>iO%u=V{z=nFhu*kWz=`01IQH`oKj9xq&G)kX-|*zlM># z1gOLTp(WXs7WiYyKx;w2Rn0_}^+(Kuz3uY`C|Xi9;Q{R#n2bvOtU)J1OvwUg1Nt6K z;tbT;$VoW&%46)<$2~hHx{&C#5VYn;7s%FeE;~+T=WO!a@sN5R=YfyYj;DFg)1~J; z_Dq*RItT2c$Ot-tj7FT-!)EjSPqxh-h&9o&`qNf6e)Tii(-(55Z4LMtZkx}6C@XtF zHm{!rYL|X)dxdKymBxr#fW_R{y&n9RWJnB@tW0y}95Sbr8ImysBL+bvl67D%iK93Z zwJ%mdML&mZFj-%vY$K=A@stNXr9B_gj!${uF%O)^o-y^LIg;mqBtM+- zS5P7p2v>8>I`=e2dh55Ba<-MF`4jfxk8Mpt>l&C+M2h>nb&s#9U|Es&JQXx4VJ?Ib zuV;(I$DC>_q5s8ODR4-E zu5)gaoNVinWTDh#bF0ZVnskx5YZH27MtM6_2~1Ti1*Rm(P_StrjfJTbj-7Ja?Re-W zZbIS^GJ_O)jLsm|fT&f#ct*Jt;hf=^h2tDK+m27?$T{se&3n$%j?36HH)W4e(2Ed9 z&RF-J~$$GJGGcuWK1|IgmLuE}xZ>Y6V=Mpnr^d(Zt}-dw<1?Y2~v89@@5 z9{?FqCE0ya+frNf6Rylu9WsL_5Z?jgMzcz{LU&1<>T^wwFa6+xr!wy^bD*bcNHpgtsfm*LD1K%VY$}AJaYeSFhSa6X zI^Wxy_xXj#^SONC@weXA=eg|pF&^K3f-|<0wYKo?XWwzO&Uk`QcL#Lq0q*$exX>kx zY`a%FgDy%V@>81X*OCcaS)gQC8+WqggG-cpkOUDWfW_e(Bdck4*VqHl6Hw$d$ei}c zOWc(4{;ZSyrRe9g&pz+tXQZ{S)#5$8$-VmJ?Bc9FbSddd*Y`@fUvn_<^5)*|>jF{F6{#p+20l+X~*b`(lTk0S)WmdG-H~um1(!*>Kc4vI;|JQ$&*;yE z@(Fk}Y&ZPqcuxST`GxIxd6O4JaS=WK8(2lZQ@b(-SJ>y^-9ZPg9WRQ=ph)AnJ>hLb z?;GvoGwr7vKR<1}+!|V-o6?RaY_I66bNglR{BvXb|L~T#_v0-<`n<96i?y>gj-C_-Xb?P1J!_b$GJUY?_vLDb|Sg`i6 zqLLM~eV+XK*6j$sy(S#Z8O71jkjI_!>51EiCmw%=*Pm|uf8~jvKRxq*73A^EFTZ@? z{=YZs--PFn2le$xn_{~pE6?)Q*CfKP)zbLUzD^6)pb-)L2<2IK{1E&O^0xvXZZz$D z8ja(F^Jxe9MY#R1aQo{(KkdkojQI77Pn)gpE4BP>v`Cyp@NwE8&3$Ypz5TSEoLBb* z6%9We4rLs|zE?i(H~zXkag%30h#|G|(8di90hy2(QeM82_Lu0Puq>>?O@Z!rk$J4q*#Cm!z&N_ zz+*h|Xoc5N_|!LE+Ko@`#{IbQIBp!fG9HSj1VfKFTgmR|?$k~w6%$OX-4}SK!Wm+e!rhN?hF_3ZNr3kOv z!Ou76FBNX3u(>c49td|AUPs}jZM+;$eA;h(yl=d|-Z)-w_+vvKm9i_P30pI255jY4 z25lgdP}#B^LB4;#@%APN-^9v2!I!x<%rhH)k^tu#I}@Xt{gJ4XjDd)PPF3k! z!h){gQkDf=7zfD=%R z{J+p0nk&twO7WS;2s`mx3)@UB4OH3bJbPyYY7%`q(=|YN^^K2S`8YN{jSswx58V4R zkACCm;q=f)iF&C1cI+-dH-_vbhsc}Hd4h|+)VX{i#`+9!{Lb1{NcHCR-~6cnJTB15 z`k@)GF$r4BvXNNpCIKOVCz*go#s%@Oeu)F~`(+w4%KE<9ZHuJvYoGC-xgpr?w^4kigE5_LB_SIb)ot7=!87Y^cT6dD_i zN+XCLE$hj5*99y#kM(;#H@6d5O_gJm7noyWDivAe(kpTPTWx$993cBb(5-!u~Os2>;s#$EJL`!B5X0&^qX1JiPMgPu%ZMJU-nxKHl(; z8@EqNeRZDi#O?hUkWI^xc##6^f%@93AWb*JqCU> z{OHRzQK#+A4EXrbW&dcK0in%3E8AN@F%RmN#gvbMNn;3LVO#v%jB@uXh4Dmb zN<9Q`26xK?^Hfb3WgpasQ4fQAheu2M(~h@}r~23v{JesSZmlOzKVI zfqJ;@zHf7{_|g9T=Hi%i5GdZMX3(LxLVvB;FE`}&MDdOdqkV|v+)p2c`oG3czclK{ zBgi?!&LsVhPWqRd<$=;yVt!_kqJ3_8n(=4WD%CD*2XF}1l+g-Dd*byN{Ph?VZ9J6% z+<4JO^|PkpN4xRYUiqJPce zlv!tyNMK+8-6x?Zh7 zdN162<(H>tZrcZ*w?Wm;rcqMm$*jd-fujP%F#C3QL&@KUXX`S zb|{BOxrcqEB1%IA+ijI1s7bCY!*czwbTM@yw>jE8~JZa41w%qIpP zWbh<|n|hjm4TO&29RAGR{vRIp%ws4oW8-B!^S8e7^AR=LKD8(IjO!oH0iJ=d@ACBizBnG=kdN+%`OHBIn%)~+iJtbiAx zROfbhs0T$DlFWCHukMB3D_G}K-FUej{B$_a6>1R*f~#_va9H6m<=!jzz3|v8_j{#1 zZuotJ*Mi;^-FZWDmNC#V@D`VhP?M9Y#W^n{mcLBE%zk}qTlPxi3u#%DbW=luzoTFh*hGyC>ioN%m=J&jcCY#dymB zVSWC2KRAKK1TwAw>-XCHa@pl$e4ek-T(b&6YKz4Fv`mz%-zad&LIG)$n2)DQc_k$B zJJwHL@{==66PL(Y{6-?l{+j^C85jBI`~8}?$cpDy$%X{L=g&>BYdRjh4YMTIN~fEJ zZLlcal#$A@W=hiliFV7nc5|?(q<(D1zeIgwcbbRd_*ejwa+t1~sD~Gh5m&SL_wI$3 zAlg*v`K*mP_mazJU2}G=n{UDYGi-YQ`sZuizuV$I>mt*rE9x3RmlN~FVxJ7PKg{~V zX!di44U=>>iX@;YS&!D~1_z)hMHH37k*A0;u!xV;+N%Ru)I`#_JlW)SDe2%HujbFrLT zjmha*|D#2F4?fK{16nl?>zNLy;m3fz!>u9P#_c}vr;Sl=A%Y$-`i=WTu__EJ`0)&{ zh1*Nv_M$w!IJZv+`g%|v4cmA8$a-uEKFy#MV%+`OS?dQR@sBsTTnZ6nSa@N3i%llZ zJqmVE`hgrf^)A?RVLUaw4n)C+1~c;z$}y;qP_Eiz;QL@49`*g&K!;HhD4uU?=O64B46uZIRU_U}3(G4Gc)l?*d)X3!8XP@y$ z`{$avpeS_+V|2=X=SgqWZNvV0gL30x|1Wm`KXk9b?tUrMUySnUfjkcU*aP&n>~nv= zH~JUnXxh>*MdOe5?>EPB9XLkuo;ASoV6|`9r;2Ws%7%;``KeQS;V+*$+t1EV9~-h8 zkHgab^jtd@RZo87RQ;oUu{pV9eMZi?DB&&%C!JPb2`bjC`Q$AW53MNco#1emCvpkk)Vt>dN)+i0Wk=%JSBRyca$=#|kbeiS$~6i~;s zIt^z4IYwCR?HWL6vn(|M(sLgkW7#cw+MUkF?$ZjDH5@)uEhf|bcgS9UF-blF#q+&g zfU|j)TXXMB0*A$7>}8C6ZAkiUIo<`=V1%27jhayy^%;|jmX64VQ)&LhVLSJ7@L>#| z7pOR>GQyzAJMP9qCaCzt(F^y!@!D^EJT^YI8!!Edm%Y-DO4|jFf*cxZ$-^R+N}FU& zRoes;Cs|>}QP;$F)cv|Veg`hTz0vSJoRai1CYSB)Qe_59LNsy=-a!tagi1_{pv7Tx zbOV)2k7B5pYz*C^4z+KXHEONA9F3=2XDf=9sg{jos#$=Mtrzya&~~Lg3Vu}N9?l)y zfrp{Hr{!r!S`Rm$eqLrqO@M#(=UltyXC;UI7v{tt(boEE=lh&$;zjUCpmDCrE&(u3 z1=4EofNh`u%VcTT6i0G*))7^c_+4G7H-#!lS2z?a6*gmRhHN9|Q8jdPqz*(oA_EbN zbCRSDr;|y?f{haO5?ckUj9sBC-U$2B5ukq=7ISldd&%LU96y4@>CK`XOizVs)|U^p zYLE3vEG=Q{VcPkyg9m5P&?@aAvZxh|iz5-)@RW7!eDUAKaqW9b~A z!#O%^qU>6Dl#NFj+@y`EBl)yeA#!FUZHIO8+D)|D*TZc{8QH+x+2GsW_jD&%Aszo$>JH z6D}L&Bmqn%y5^!h73pTquvz;QhDFUpGoj_<1E>hQ5af+i+s$>LxUUf~UHD^?PJN6c8~wafnF@W!uj-lzZ2ynP>b-kC|$$Vz--1RLG~UNpjt;bB=*h<9HO8Fu@NN!P&O|pBeBbvpHuBA zqPR@Wq2pq>D3*$1N#Is96R#^FpRz3vAaa6==ERz9nyN)-kjiwF9pxa%nY$}{g3Gi2 zyGe`zk1@~_MC>^(%rq>t^Rbzn^>Qr_ahDpEL12ot+}_;qZ?FAnKt-Q{;#Jx1eoo?m zr{Nf&9VrDVl0Ghu7DrXtwhb8tt8lN*aT6X7qgU8{Fr;9%A^S#sRh~aOPrn#X9|yO) zQSOG{JHC%#=4Sv$8!$SI@h0fGsEUEy+rIHZ^+z}LOE=Fx9>Io>Ks>EaYo~0TO*>_P z?a&_^eXrPSp{Zh4smG1_TDiT#hZpC=V@F>b_VU2*I~*fxEev!45$6Iw4><2*xHpHC z9}W0CXqxQ`ChGc5Vz(Rd+<`8@0JDzt7j$>Z>z(ohb=$Gp5>yoAc!GX|24ghF2<4Nv zfi_R;m$8CCxxB;o+%>;|iQgJq_xEfwD3oNH1#@pif|y`wm5jtC*-luG+FdU7t)rn)QgTooHosWM2ivM~GeUsoF_SWEjP)B8x4KGjFsOV$EKU8l1%yv}#Veop# zKX%&VjWCM7^54XR8Th>%ALwbul&+0ulK_KsPspr9R+WN+9W`Tbn2)*)iI`-+>`&xIlAoN z=JV@=nb6C`%GzJ-%q)mIJ}k&PGJ+f|0;*vxss=3*&U?Xo zK{n7D*+(r-5h!Y*{`OF+gv&r2j9V8D3mbXsh0zQ28g{G)=cv zK?zdP=5dco%uAPnOVo22rR2Tp_}CcZ#-l%Yw1b!0`A`N=+PO*RCWB38)t3YJ!9#Am z+Qx1hZKSfTRbG4Ly2Yc|LIq8#T9Sp%%cx(JNAwQV;4e zC`AypAlG@4qP^f=8C~gzFm}a{5_9hX`fAudg1C1Wb`0d`SZ{cDO2$?)qUI^-z~l2Q zWM^#rJ{F!NiEpDNs5@;4B@+K@z8c|Bl}Tf{76gP`Z&>z+?~%n=mjyS;1a=YuZi0GQ zN^GwMHjfe=MX{|gHn7dHYFIJYz{|j;$EAjrxmSl{3ZuYKWE8N9v_i3pG)0cEohKEg zH3^b*r|g0>h28PpV7C~12l#~uK=)LNr&>JSm)yq1nkREpepR)dMC!K*@3-sU@6r5M z{@^w7etwjBXg`UD&RnK0<9m|C%^AbOA*DH8p-CjcA6mI<6{DxA300w&~Qqj*(ivc~n= zi@tm#|0|pGR=Id>Q#nZ1H=7x!xK#-xI%!|&3=f;)Ni`mXZRT*l*gU>nE2s0(1h3-y z{`R`B)h3|2l#1{6lsERLyqlNI^S)o~LF2woXZbOdQIsxG2eBJ;DI5r!D@}wpg>IHH zv_%cf;v?pngoSE1INWJmtWZ5-;y&`S63<<-cAh3rEXRZK=Ia~cg`a1I1t>Ce+3K?eZSu_oXC%c|v{LgX;HgUrIt5 z)8=`ESyG;7F{6w@X&pZr_HvJ;T32lMJSZ3JRzM3jl&3D#hx7dE+#a2$qha@k-4Fb6 zP#e(Vz_=K?z$^g!rJ(HusOH!I(g^O~XusC4a2^1nZ+j>Y^B+b_$-CXDNf0R2U~7~z z01q}uulTruX(;J97?yUYnIxG>t@yiXo5Sb5_1~BX{dbx#)>s5MT9VSo$TdxI>!>*W z0EU7UXldcL3sglnfhS-CL{MtjBd}4}5GsOFv>-mBcryd51J@|aEklqOq4q*CM{Hp2 zz}g-P*U?Xfsh_F{Rxlf%h?%ebr|-qvuRmHu?_v&z;S5IK*<`1doex8id&Qoen-pq~ zq?hjxzJ%nQ~`27jHZ}14q%i0E88*Cj) z7izE6p~2p_3AT*$J@J;IyOMwYkBy11ovZom0M8kdyl>Nj|2+XIe(pW1*dtc-00bms zRZ;TLPSlS@Q1!5&6Q^sBnpjfO&WEt$N}DI6TQK*Mg4#RuYY%8f;^&TYz zbi^3A)_$5cOM%D4{`{Um5{lOA4s9o)Z}!P=^w&Sz7Hb|d$sSKM^C_O+Gn3M%-B}Fr znY@y5d1I-Pv0+5UngFI0P{|X8q9O<-l9=6TL(#rr9eNYm(~Ub~aw^iQNjlD@U&!edEyzk6zf1f{hBTQtm=|2-~Aj9;vW9oYJ87P%}%1(i5ae zaKjTwobz@94dQ1_zIk4n_hxOmq*bvTj&F|D8@3gC9cTg6(#a_6lg=7FL$O`(-D7SZg6^Pq(gM@b z!_dRwaO4oQMV-^qQjs;mUmq(jh6_1`lgIEi+al$DcG%*x1@+BK@4kPQypep9LClyx zXn90QP(PK5bIe5?BBZ4XDq+Ru#P5rQ>CDp*8_pm=zu}C{up0X)TfvKCB|v1kN%Ubc zyco8Dm8^Iwf~zr7spw0+QnL1HK}SKmB37wc7g4%Vx`(q)cYJiDLFrKgwH%RuDsye_ zp%$MtQOPw~`-q>PR>d)J5i5ur#R<}f%#=Q7i7l?H@E?$?$~7j+ZWJ;bAMeJ``H4Bj z1N>igi^rAA6AB_7F%KC69ZWl24Jm>tVNooVy*RH0N(qbdPTC|E;n{^v3Qy807%pc` z#=~zs{D~KT;?ubCso(h6H(tiZqgPrFTif0h>mXUwtq!4fL9CLDq0DC{(Q-)I+%Ij! zsmz3B$t=?aAY+gT@aW8s<~Ug+@L15yRbRxg z^Szu==KG~jF7NeoU!Fgx<@Wq$o1Taro+aZf9XD)!Aiey2s1`{@+61zq9-q3Tr6q~} z=RD6v$lOvPHtXAY*icGgx5~3u4zJw2a>&NvgMwcaVeux6fs#Z%kK95hY)=m_JY?fR z%-!9eXgtw;qj{xM>0TK=$IetI&bTo4`{HRQY9r>V%f%YkQw4vym#J8o^#C==^P1x$ zVo+ORq_5bW>zXl|x`vhM#3q7vA7sZl8|QoWROETo@)lRrE8T@^7N8=7l3;BUP)*^1 zSHz+pXN(k%lO3b61Ph{=R4RiZMiq~GiynKmdQ?k9^x|3&*2lA!BBBg0X%M0@SDoy8 zrRVwgpt7?Cu$bd%UOV%9wz$$3)h76yH8+QQ0IEKhZ(-J}T=xxK@p5!V94ypoh}$@4 zKg0@Pe=t7urveq7+<3FlZg>Mnq(5v&wt+qcv(S%D(T!&p@FW2{$dITR^BB~-QSQJ)vBS}ap)W_U0uxlkgS}`q22^|Or|QWQ%5aEq_Dczg zKW{6at(>+NzX3?C!H$^QzxAk>iHFsa87c#(vW?1Z6l4c0j>!NYXg|;{5s*I``*Gm= zjyI@7@z+;$?@^DaMO~RIH_e1_|&0yottRB9yr{1$@ zbe_J4&X4^LKpnPf%wo_1y6jz~C#cLEq7a6g}a)bwd1_-s(8J9Ga)ywOiKtiA0GFXV`gA^6P&-EoSUZBIWwMZ|=uey}SQ?%`k=>xJrP+wlUaZ z{k(r-vxBD|mecqrWPr6n-*@cs0=vKi`u!0J=sfi{?{E5Ij>S1gXZthH)&EQrif^DB zCeEHVB-I+)eg@wuN8!Uy1%EUsQIp8~13!#i8ffQe2Vzdm8YclDTtToe{pBBk;+L8) zmUYIY>51uXjAUFXier)J?x`-*sNvT{*`A*90p%#v2W(|9WQ2v#UU>bB&~6?eREY!s zu*s-b>@L_RMISe|2h>OB_K2F|PkUwCpD2$4N5oAsIzIMLU0DN<*QAeAAu}2Fa3Oqr z-sT)P{(WHavxJk!lQT_nJ}&bIM-)#Ip;)qjwcuJP&retf z_Z>zFCj~25A4n6bRkjhfrlUjeg0&Kg|1FJBI#_kQ3brYu3bsikwACq6aZPJL&4djg zUcsFqntQ77GzfA)k6Om1r=@&zwpJ)j(IY?$=>_di+?uhyM&g?xSo3gcIbwhI(dq51 zPwumx+hjkxp%%)S6#<&zBZy*&tKtr&D9s(SJ{g9%cWM$AejAbI{U*O2EL%%2YhDRq zzm7*;I|E9VNfHC^jxb^@41wy97EeLl4q#Oz0Ai(3$g_hvTPB9d{*|G$-ZAUg7?e1w z&<$(^C@8hF-8M>vBAp^5SltrjD}e5mecWhPFcW%7BCh1Er zWX*+Y{Ufva>$T406ezb$y2bA(7O`n- z#<)B3{KTjQuYo#>5VbY|#9|$u3CRgOG@&$EK)*gb>YYA74~cr6hbH0K;bo8U*azM^ zqmP)AX?bbxF)!UvKW)n`SH#cjkp1(myt&z|b@zPwD;+-b%y`t(PBc4mo#TzFSS$cW z8EK_vQQyo(LgG+stjj&}G?Howruw1=0modk9(w?NG=UxZ2ID65no7T-P!z93c@+iU zB%T+?N{j)Qf{CS-;v^Bss%51kz~dj4s&FBr;_F*Bn1OdMLHWrAg|L5rhXdl0*_}c)8r487oB{WKS}|2r{9? z7%|CteeH7j=f;3b@cpllwG4~6-94p%nQxcbCvmnxqMzp+ZYKDsvA?3I3=SWdM!qjx zBJ*sgPcdf9L6vP&+zZ`|=EkPZO*%swO%660+!$0k)d$5rl;JLvsZx|4Zi4TJsbq~y z67XMuV(eohqW1s@tVD3{&K_`?T#ie?sEIXsRe&3P;s@{NpfXJBwXA(E`~Kj z)G2xkCQMpG40*+G3bo){p=ZK-lVHSEEvPxAThvQ@^sw36JLL0{)=%CB-p56$7`A(} zolK7_@4zn4|J>QMYqIBhcV;uma<1;djByD&7YX*L2w}&h2BV_wMmaX5S_Ftf93FC! zmlk%l<7n8?@Ya!IP!9_=P48eM4!&;d4D=Rs;m_V}|4{q2c=fkNy?T-cx?w6P$4dCP zO0ry738iT_g@=`kXEsWPFUI)w@4}b4U_U^L-)^7ZpSPR3Sx3=D_7IC8N<_k@q!dg` zGLGdufF%9cfv#zadr9=1{TuaiH9^Mr*QrQ+dtkZ#2Vd>{^rvr*(L<_%H32VC2doTq zZxl01>rgej&mvLT8n!pAbxJdeNzB^|!Qk(K3_se}Z!_q1n@q)=FW%YA(0=5hena$} z*KT*l81x>t?}Du)@{jg4+IbN9QqpG3I3?8xj7T(=vSEjZRhkMVE%^|kdmNN)6dneT z8&Hx6;vVXZW>KT573$-L-W7Q`+hb7oLESA9+K1w;z!6DX8&MJcxf zOos7kxn%B3?Kv%m#p4DJ4Tkht@G6ylGwzvhR`RSOnl*u^g&iP+ZX@g1MlC%b61Iw^ zvbO->iYhvZcKBkp53jUQ8CHTV-N72Eh!ILx>Jiu0pgc+fQqiB<0+iAtfU8g|#^<01 z@Z@7)BVw>Xwx@#860nGS5H%)Gl`?N4ulExvZ}c~|S*+Sv=CRi~h*=QnlsF%nXFrV~ zbBG{h4IPdBQ)?V%mv3lv-X!`ss5P5!SP(X!~$SmYMVQ=S6z`|{!SJfG)7&Hl2f z1kJpBtWlx9o&;AtlH#VZH+sxkT$Ek}S^~yJuu*xqgsrr9c0G6&g;ru*b*Hp~HVu_?)9J$)R_6&4%Lr0|qzi>+P9s$Qmidwd z8a-}=U)EG7lvIA%GvgdJ)rx#u>+kC0+3%t2pGluke@*3EMhcz^KkG?a8JO9s$u~^1 z?pvX2*igqMG&hRJnI&o*&l-NtAkMDgMy#tATNCoDq*`%Wq{+*uCLaq z-vq&Ob%C5ue8#qRE(S7Z>6w3tuqS}t*`|8$Bz>^hfX)1Biux| z32Y1w8B~;wK_SXF6mhCYP2lNt@^-w+J5UkKOQ>Cm%hJmBa1FatSDFhCE9_o)cxBJ) z;oEu~W1;4FkN_l2X&wsC;m$}$nXp3jtf?r>n!oD|=n}ETC|OUptof5cNk0E$+n*Fv zG$wV*XJ>dUNY=??7gM#1x~<~as!*HaB|t^53RRZHM$96QV&}&|jsbgvqvOZGj=|Uu zXoGQdy!T6>HftW%+Z8xjX#_lOz0doZPMgNVM%n_$(=R!zpJ z`_kbEm8qv~lZ~<1nr{G#KYE7$30nk(@z@h|@+<;u7f_M8IdguU2c)k?s{GOZZgY1= zk|~xgL4Gv>OHk2seU({!c`@%U`G-q?o_%Uzdzzr)nwswpnb*f>t&L2W_>a~1Yc|7z zCGMF(J!byYpchJMxMp=05BGr42ctE-HRK2;+8coQvezVrW$Z6@4ik{yqAIEvio z+)GdqiFLZ0#oQnE1=oQe?cZw?{h29<6Ra`wteq5Km6uRlX;G{lj9T%-BhD=zwrz`9 zoC$v?oJ!*)7|ieCc-nKx;ZbvKkL0xoaSYW-qGG81~$w6J3t4SCU<*E0c$>Ni_E$3&3a$ocO%zWgXbf4Ofkr7Ed<2W>Q>3(Uc7CS{H@%MuPv7$wMerfEN{6K9ZPRCm%rEC_jw zP)%x&M74HcPp~4@iEb9^rjW+MUIx82C!=rtknP;H(55CBmrQurXueY zW_;plf!INt=OqaQr-JyfoUaaTM18#@h+BP}glBSXUiRcZ>mQ#9{JHt7$b$F($QB9L zOQQV>LcM#u0FuiUs->}%5~8zggW*M^4rYmRH&Z1Ss_B8&0y?mseOEH>$(o8$Q#1Ne zio{%1BIcC~utU6A?^~QvZyXFZVhs)zkN|x*6SAn?)Tol@Ht}6 zT=M~E+%V7fhG$(=!8}VDkH`%+&eFzNUY0H}M3yRCGo?J-!`7C#!s1r)3UIMoT=BE< zI|A3$1P@YOnV`aHhZ(@as?#|Co%htKZ=_xGDD$NWmZic{*fX!^x&P%aau>Gf)+zRtH_6fevJE_=o29a{HEH0^B6h_Y9!!(qKXp99Db`OJx z9pbqO$58gHrPw^b4rn9RgOPRaV|)ZS8%kwK+gr&Zt;9J!i6ZOX+qs^tPX6P=u0J2B zcsG(~49JC#b0M}!W{#x@O%-Y_0T9-Ll(G`qLT)bZX$um4 z=q>tCTd@8ns5pVe*%lM>NBjL+1}k~8UO6!H%f6i(%T>7ue4j~-@4WpQxCb*y0w?ng zraJK|IaurV48-1nik?Zyf8;$}pI;9mKh$ntuPK&69GUz8Z;>!YJ66jApu%o0ZJBx` zN`%R{{n5UK7SrTikefCvlChMzr-kvQU-6~(`HF5zf9e+dnY`J`*4mh-yZ|`P!-+5D z&_J?2njT73BhV$X?nK1QWjHo8)Geu06c>DufRdp{iTYiKqYptJgR(2yJ!>|_AyiTg zGnGp|lbG+45?=xozn2!%gro{a)rp2^|QlU092TjTR$r}_p^^vFV5D$zXEpIFqt z^DMIGW1bLVozxy6gD5e#NVS!~P>bJX12v_34R&)Olq@aEXpCy{S{0;NuEBZYJ*A(E z6&+lG{A!wgTPP;@Yn**b(@?hU9wj7N*ez=F1yaxl(kv6*Bdr$Wj1;zv`M0Od+XAIL z)lHu#y=P+e*VMq@Vw<3cClC(Cs?FCq)l_rbaIOjJATHn)MazEo;4K2K%oRCl?ZpYx3q&o{It z&-KFJue(=52ft2CagW+}bKK2%CF)9QCigW+7ba1zVG;pK0FRR88>T}8I?Fr6{13v8 zvfTXA5x^5vjN2@4NUjr9l#5z1>fU;&2uG};laM0@a>V-U%O)>fvHE;H=j)6Iy65^E zeQp>g;SMr^sVk8$0GiJqPmK0!ovUZg?rlGv8C9QWe=hwmCwPQM{)fQ=7DGi7s?+p7 z%sPaQbx)-tNC(%cUd#nr98+6P4%5=oU8p5MNGpY2I-3|Zi+>ogFLaN@^kId^C;=#r zN^6y|S4LCpP-q2Ojq)Hp_t!Dwu-Jp8lO(aZxBAK{#&|gQq?K<>d&)QW($jkS>vY*S z)83!q&l;0K#_>QG=a-hKuwy@ zI{!$j^D?gR3vp__XU-Rx^ZbvGiQcz4?_AFM=yR`|WP~>{o#lSHz;8~lZ~~FnuX%qY zV^9<*j*n0r_Yy#0w@?i>tsGi;Na5xiVxb%c$3*Ev=_=ePNfDc6354O$O*l|?Di5pN zQ~7vUW@flB7^(UIfIxr0?}n9tZ^JY=#Q|zS30H;rC$wTR=on)t zok|H~(@-k9(Q~dfg(|{L1{Nz+ zC>3`LQb;HiqrT$9V=U~W(5;5bc}R>Ms}UwU*ieRfmMkEMEE#(Txlfl1jSiLtZoW}I zqi!wtg+I3a=|IJ`Ks&4yiAzYX{bHvkBb9AL&{1^RUzVCS2V0?3K{P-`bEhP7FXohH z;b%Ut?s?GaQ9wHn(`(~T<|bUE?RY3TzJWvZx7vQ|&PXyw<&w+{=A9)srH6`X))Ocr zSfa@oj6fte{ABda06Z)*oIXafZr=skmv{C9Sp0q3Og_K`m``ANp~UaMUV3K+cHe}J z#Gkai1?9=PMf$L3x4lc6f1VidwPsGswD;ftTYvXQ`_HyC{K{Gj$=vNupb`Rps>RQu z<)CBCYSe2lf3H&f(SHAyWs88z`DnhjSd--9Dr+t;MT*Sh$dC55+R2}riMC0k3U0HY zc^J+5!9&w_G*oY;-=Y?=de#uq6^6=i#vp7ob+S#9aXnID)0EmI)J+d4525UXvJ+~> z;mi6m*7&4l=Hc08#^;x$188pr4(A9=WWcsl8p;c z^bF;`pSf;1$IYFn#FUn8LV$!m?IX`4h-RX2f*D>k`gFuq(u#KMBmuxeJy$r-wW*w~ z#CVzc49WUDv*w<5M~(!4j}db?=cu)j)|X?c#bdp_WH8t7_aqri#qQ_ov2UgQ8n8H@ zf9ZQYLH+>SEy3TMr|v{uwy;0+A&44YEb<2;s7_F^E;1FlU$SaQg{7NGtnm@-%2F!M zbZ$T#=X;(?ZcW7^PS(}R`DLdnO>zt{Uz-ZHE66`{8WU)`sN80J9rm|^Wv$c&@y&$V zymvXOuWFfb-DG4kTh7`IKI`axkQ=JY4NPveTG>^J#-Dmx^Lbt;3n!mF$ z2vwAcu3WRs`3cz{QAbr4D}H`t1?wkiA`&IP=S~0h=I58IlSJ$ptWrZKI5uOWDF(Oz zjDF?-Jip)5)>qRuG6({3iIR>D8vU0_u%?4UOIV+df=FeHM182&5Som1u7l=Ik$|UW z{NXrFqORWIm51H9kFY(xj~n|07`<|s(yicD@KjvJcoXnYVa`0Gx}158buFe*#ATeo z;q{u|UvkdcyYc+BQd(!3xZHb47X%S}2t~pPM@aHoDr&J9*ETe31t-zMeL2eY+(*QM zn-c;(p(|9AsBI`lksCKGY9+eUJ<8}*t5g|u?QB$(LB*n;B2n6^NH|U^eZ{`fWPL(U zOKNjj^L`LSf)KoGdn6Z!f|OpIWURt?sdtU~I-w4ni#Q5zH4Jr2^7dFwtFBXAv7-Yw)m0L9<8%_POi zZa!6~r}9irT=CLhKfuI4zP&l{GlOhe)o^|`?k+iWS8|7@~|@*f(a_lxjK`Q zKl<%I*H-_`11VEQlXhs+Zgg10Hfof^nbFf?85_s|Yf3%9l2jM$YK;Wm2v9=1BM+xE zkb|hBxJOOBX}=e&`X05^%+dxiYvJ$?WZ?60_Pw-u(pWLb+IuqTVgcgKNfT!i%j7he z2_hDW?mSPHl4k&mHPnYAC6dRQcD57=aHkYhOPpJTU~?A_FtJLUUzDunC20e7)*lg1 z8n{U&n^|X2GX6nJ2N$3C=WhTxNSQH~bVpG@$HS6w`w9%BqLIF3Xt!B*SRhw-B!`Y8B zfi2?#YS=lir~Rp1=K1^G;ETJ%H?$ns7h=rIvkXKnL8+^iW!!Jqu+b|G#K6hA@5 znG8&ua#^6FTtLMy#76HxlWDKJoCoGwG55~2mge$3^LKD1c;xr^_21l4wX`PBgm8k) zD|cqsJ&iXp!`EzU)%Ul5FJAJAHYSLe;m*8Ydaf~U7IuBJ9!l<6HZ1na%xJ9MV|7Y)8*WAW+APbBel zW!aW^Ckj=#L3@L3hP@eH#n8mjFaoraBqC@y(1!#|sw+lUc+Y&(1Qhoe2V^Ix_{w~? z%#*3z(MG61WbnHb$ZSj7nEg5Hw&YP4KsG^+w`%a&dixCJ`O5pAAkKVtR;`jT2qaSx z0WO$g7{LTne35wk9q$2(k~Hf#b@6=ggLU98CDxC>BoS@<@n2O_u&vwKAY{Taf zVA9Kow(>Hf{ls-J-HXK zXI(LfB70!$5g9n_8Z)LS)!jWnUN6ZshG@VlVFtZwnfl@1Fx3(IvYX7 zsQ=vvDjI_mhK8K-Xap2nfU52=lPWV<0E;>l+GEVu%#E8;sB8!7N3b_<=A*~vzY0{u zvLK1g-UNU|44MA`V@3(26bv*X3$zEQs9Ou?OA89G2_4`*BZX=)PuaH2ApxJ!*|3Z< z@mlmLWQp#$>^=6aa++X~W3H7(IAlb^37{5w^chu{pRl>n1%X8$8F4#mK~}#dvv+^2 z>*MdVjEDlbu?E2lfD3<=vuDk>Q7>^hxPPa8O+HB=H9l4#g|DBZR1oA?e{>E=eb2*R zULv`C86$9yLe@85_OngsKvYhNz^uFKqwa?>d`9|nZ07UTZ$HKkrG9WO&F5flNOn+y zipyC2doJ~_Fi9u&JP`k_QLbiWo@uN{C3N`&u@u%Xotxf`%m~1Dhr9yz3Gh!^xfp?r zrUspHfOdnwbb<~*doi>ZNBd&X7cyn`kWBPF)H{51UYC{g;LKF~bInmMfV-d;pAJyW zanBL!Pf>>(C1Js!Mr$FDQ_L5kY>q_kE}c$pX$?(pXnG6aFeUdIU|Rr*ri60USf`*g z6u39?lBUWr86J_qA+?Cgp{L1?prkIwY;)*VjuIcS$)9q42ym)^?r?-o$0zPK&@7Q( zR%>sWiv`xn{X+ru`M&#_CMSS$OGl4apNbQd4m0Ikc4OIr(aMy<>>ez{ok5U0Wlo!+ zZIS=fHb6JBi#OJDc~t=vLph?iw*nP0<+d0Y&`e-ofNdCLM@VMw!9JB9>?rL4Q2AIG zio@f1?^D&KPubha92xxW*}s#WSmTr*=Z3?rRAv0CTK;$DFl6q9Si^A4&2`EkxU6yj zcVNmsJz%4Ul%{G(QEv^pN6tPMKwCINMHM0fC9_!hD?Q~;UCK#|%(q9s1UT-lGKlG; z2rVv;ewiNcVXOtN$84V0xP%BF#)>(1tn0_Qro3Yqrz4xPsL+sq%kfeq z*v2JyDiRXJg8DmOyJ&%kO+a80b1dON=UCAcOf6cZIwP+2G)_LtjG)P5N?dw_=UU?hIG~ro5ufhs`>zzz&YPa(cXJ&(X!F zUjWlTFy|8FbbHuG))=s~ixtorE@UGqc5irf#TQe2)`lcx$=|c~H6|&u?LKH}`Za zbuR6X%_`g_{_Jlf`osF#(i`$2A6Y+apKNprnwuTi9VaT1@i!v;C8vhpuncCf6;xed6t$Omxzki$_kMLjXHLRtT-qrft{G^zW( z$P`$OOlL`zN36xmeuvGCPPPqYpUTLNx&83d^ZM>(zrzmh2) z&o3Lz`iUiCW8IKGt8~+U(Po`z!`U%9V2aiq*a7_{upO{34r?~0 zn<&%dW>6C}L$DNg2X>|dpmd_X8g%c#9(mV7cGU_{ENAx9I!eCJz6F3CFg!Z515h-W zX83b~{i>3sHb0OhkS zz=Y2{omrph80piwooi{Kqq9IneomHla6gj+cZkz(w48%h=XNM2#NX-oab&&vvNtq% z2S49pKcRG>#ZD8M>#z*~J!Gb|3w#rJGeEjQ80lqnGQ?v${3Pu~0QlxWS=Cvju ze1lGqkDxKkp#xCs*t(Z=rX5%}zwOhqT#2{vk;)=8&8Zl{kG@RHB@rRZm#zERf(RR7p?~{4Oj(j|YiQ zEM*^KrjcE#)sG#v1Y*>9n&S_@!_x=lC|^{xPtFCNJ`@j@2|vHCxl3X-fz8#ivh?F$ zVUHAN;+kjMH6~!3OaXRvF zfq-fDVPERSmp$+VgwMV9YyP$8uoVE$BlkU9Ze0JIJRckbb|^Ri#i|( z+0#%Ok9>-P2)+`rSi3Cul;(t*4H2-J(x=0NjN%^o6JIH3YA)CdR21yKRSw0$z=2?? zHkc_!H&|~_Yw)2J-vI+tL?9T7rf4G{2`FL-5LtldTCqod^GbYPX=2G8!e__OTcSmp!CE^wf7x_R$_v;wA_V1~*k zI?P%)r9OcXl;JGXEo3s0`82rcb;|ju1sDNJBkFFD*ABc4;57h;{`v|TJJ5Roi#BR~ zEV;INLrzve_EKam{A3mY=|xKP>AKWEw~Ps7rxR znJY7#8wTHJ4ovh8=>uv8?+zWEQkwH&eU!9uNvL34`?8WI9dQ3^beT<(gZ#ld;^9Cuvx_k$rX5*#ohfa@S>ob_34fdDbUF@y7W&Z+); zSW)k{r44unCe5|zf!UKls(Go6!BQ$VSXVxhStNMf6`xh{SvP#q00#eOH*6B9kcp!Y z#ijv|40jA~*!_kt{trIe4WIoVe6de>u}^pzH@u7h6wQL^2y76vm?v_cHN+aafF(z! z7Vv?RCtibZkZYZ#9@oEfaQNk;^63Y19VS?q%(;$qsX(&$>;%mMNMyT}XxrYRZzXdp zlmmhJ#r#eIT!X1-D(C_r_}tNV>G$1T&~4!VZi<^2Zq2bdg6XC=WH`HtQw|sCl*fFv z4KIDeOTXcBzu~1PV651Oz9G@as$a*hjfvQFK$%Xnr`)feOvs}u=jn>64J6{guT>KqaFO|U~Rg+I-3jp!&Kg;K9zIIwENY`?(~@(b;~oA%Y#9f{KG zSb1hv#!GH1MWCt#7#(O5Iim!uYiDZ1*DyN&NpfzE{{wy#0^1|6ZfY!6R z>6l=BX*#j?mF4D@ceQe$jvfrfWU=;OwMkEQOah5s4(f7rBArm{)xEdSm)B1?Kx8hg zwM{5<)H2Bl{Ri0}Bpjk}<{W0dTJ~Rshyv0mw>dZlG7O__qRm*w$td;7j6M~9G9*uTk9XJQlUfG0B;z=b0azBT^TuWM=p}ofIaHmXl;?SQ zj_2PeV2ov&!FB#1sC->cSsgq2G7?CDQR+6qqr-2p?(L2G;@FhZ&Ub#a^K_BNAAj2q z*%6ROIk5p8fF+rQKG~TD7!2yI)Te|p8Db8jEVpWm**=60@BFRF!Etd6_6s*aT&E*{ zIAm*pM&8<7BUu&Fdq~D>cW4*1S3~PcAQB~essm_D zyHo)j2L%YPymex8Z=FqLtE2#2R%7u!~`1Mnji`%|3uD{a+C}ore!25vSvJF}QiVZd9I-yucNP&Cv+N-#t);e*iGSkc5 zB!U<;uR9uu7^T9SV!*I#C~R!v&}L9F6`RCbSmD7?l$jM`Dkw$aDF=|_ycJTX0WK_fcl`OJZ@E?OSV#h3jmo0Ty85G$t~TItA+&ASdmBXdSz!0R61(=gZw=SSOGL<%>J z-9rY^VM_Isq@@K*i5co6@7msh(IYyycPIfxbBhgXZsZ?0D*ubN-s90(J3VIP4AfpE z-->-Cl~v$yT^KPofy5P5gan|GAY!l<=blJZxwc*QIcc^2T^x()Z1$AfvjQZ10TnC1 zmnCR5zb9EF$&``hJL~tBf_kQAad7sZHwv`r{G?N!`$4C3CBUWFHTg}y=HsH*G=`AFql==9KVcM<|Or{lBB*>vAXk8Wt!IV%;P|NM zt&Ysi7mUWr!AJSqsnlcDUg)02%EBseApW=u1pYJZ>`OR~z6ppIugpNkF&%79XPlt= zu&A>C2FuEYU}AX50JI1oU=AoZDgT9MTcQJSb+}8`!vg59k1Btg_f_)ra|Suyw_xc9 z&tX3@kEBEOZ~$0t*C*?GxoxN9ri;VSE0`mM)F_2o->FMG;TPqY!S8qkDz27eXUz%A zSREk5n9PQg4=U?hzfn%B)Z)6#`hpe$i?Yrn*8O6Fu%5kj2!?C*TraCf<7LV|3}QhXW!`z zEt+zQ<=;K6t5(U#^>qMTF|@YKb7vAc&#YnihTU&?^?@(e@kKx3vl*I3n;PD*!_a&{ zVQ`lKBmIU~{|EoiKH>BD2Vd+Td>NncGB)geLmw^jt0izf9H7)`GLouY@EXOLzj^_U zxX`Nc`l&4a-pD6sniCw_Sb&L~(%c~~1t@~|oIwE@)y}_EcUTs?+tqwj9p<} zp`#Hj)(RL%@VFU+x(Jen+&ssa0+fAet0$1S`tcmYxy+n^@=q9yb9~L$aJEyA)I=C$ zf~y1|NC?lspwk>kJ?2GDgOsZcK+%-9#k`ncfQ2UmQUtGCfQq7k4kM`OP#v-EmB^zg z1Qlz`v#{I6qcf%2iqv?Ks~Tm$W*$W(13lY`V2lP!Syc02GZIuZ(~vfG0Y;0hQ1)?m z=E?;@V?pLsPbOjol#sEk9c(ulBr(UWObJx$=jHK{_V<8_+%>(`$0o42j(Rd@Q3+&y z=>1$R!5ecR z8H^1O?{Ir%4h(~g7NFJ`5LHG3Q?fCYJh-o4nK3egwG<%Yfb%A9Jtj>C=u70=gkxTa;U^rfDvPbZLE7yaO~U#Y}&P_Mw^a+c_5p%5L?^UL&Q*YK4wwX62Y|M4 z7TX90et?P|($kwmc8~nGDKSp}`ngOd`wR<%Ddg{3ceDX0bJ$`B*(;HsTDuWc43=W$ zx=p4cfkmWK`n1LpWO?RIPN#LWm&d*5clY;DXjsOv1*~!cQ7fR5yTo$9(IuuS4_=ep#yxKqb-}r?8jZXv> zZ+PtudvEAnF@{F|+<}r_71IKeib0+Xr3IX+@pvhZr%_5n`ZM1yI}-owB*TE3ij?yzGyljHQx+radH$3qTr^p;pXPvK2ERAZ2e; z$)cW@wN#GzKU=1_ikRaG2;9j)VVpVcnlo5X0rvnM10+NQx-oddHw{T!CH!^3Fg6f{7plQ%s6UZjNB7?i_o}BTr~b+$N~Z_M52&a$X397q-S6!?V9d$9jr& z*xv&xzSEZFN*&3kTJXR9;p4(`Id^@+@T+JohVCeLj=DXDodSFurQ?*Vui4%v{?ZoQnl0 z);sZM+XF~+I^YnpE}|jPg4QN@0URZn5@1OA!$BaT9xD*R96u?=hvjnqBX-_Zyw{GO z2_Pc9%{dO%R)VZi5452+%0NVOV~M;5P>$_n&E)I&MC5f#c1?yCXFe$;*u(rNW#zO4 zpC_nM5}=tsC!M_I&`j1u-R;4V{#@h5qZ&P5;W8@LZ6r90kl6FJFY8nX8FDgddv zOlI-H(RA?c@~`v&g5XBV4*QJU2Y^a;eQ;hq4vKzO`#J5zk1tPOY6ZB>3Mkg8Am+cA z6#4f0CE3rVjzuxgAF*O8zFpF*ODUOo0Loc!hv0_k(~74A@xNAD_p9zlXMcFVTsQj8 z=9|Z7M_Z;e2bibWLAumH03GT9Fd}P*_0uB@o;AQ*O4$XYMMwCQZIG3$Gdh4>Bgbub=+5)H6R?Q;(XlxGGe7YHP*qB?_3@w_vqe60|9-cf z9Y5NXvKgvYXvHP_Q<99WqiWx_=MdyjAS#V z%w@KRjLgjTna{Rd{{o(_YxqB+o=z87Gh*JSVBYV;M*?c7I?LmrL~78=0#FRFM#(y+ z2806W%Mj2u3?DEkhC7-X8e;9#G}l(Steq05ZVi11UVF%0?md`^!y+H2caTM?5kT2d zj{=cwVJ0V_WSG*f)lYq{rOs{lYkl}9TaE`YPI(Pp1%j$W7;zyvt+n`!daP@lOh$JA zn$@RJMJR3vxZd?BBeE2Y+YD30@2Ei~z(pCcHWsl6v_s5+lc5+#DpLo*yoy*r#W?Pe zDS?Uv4~5ssAWh>rPN3PirZ(=o*sn3zzbjvBmR$gb*$9($o1pUA4vMXsZGr)L)fS%6 z{wh%MK4NMfNZACxTeZjXUx{r;bm6iXxciN{EO+>nYFJKQWgVG6em-nG)@NWkc`kb%`^JX)UG`*>On#_ec7)xU!F6bpF8=&gaq!v8l)yAQm@E! zh3ZsmdWG|QpWSLsW4TtzXT-Q3KpRhIQSLo~kO7vEH!b;53`i5Q69-@c z?3)M#nP1Q2bBbc!Kr|fVysjX?^0$^oSh=+v0A{YK%Foj$lX$WR!nq-C@L`L?&nsu5 z*ZB!5#Bmk1p@k^`1WSY<6HG6{>NZ^#WX-a$EDAkZG(ussNFL*raMu z-j?-~M_Lv*eHadLg_oB$zmu24A4=9*NdQ(G<+m35!4AHT)o+n^@}IV^(Cnr^mu0vx z=2CKRGC#p`rt`=v%Tv@x$*=Ke7wGXVref8u1DZ&5)$_vsO~y)o$7w7LX5*a4@4mlo z>i+#lee<_itxe{bQS(_GWx09|Yf;p~K#7d3FyZPZ`=eJK37OxJ?0)&pTr)KRno=q= zoW|M#X#(3K#>YEg>I4<(YvS@Mfuw93k#lWzKBFWOWe3$A5Kifika!#x?7Cz)b%X;u zB{liJQ43D!OmzU>0Cys`ZlS;;9zm+k_(+kcOA$aD9Kg_IAcj(h>Ix`I%?X*N zxB_1DU#^jAXXG^=vv~%X2np6AgrFkT11gp-?#swFj4>wKsuR_We&Hs|IgX@qsOLVJJLY%zV}dXVyN#j~lo(;>^Luoaf>3BF&fAm;F2YTA2w@iGs82*M<6O`KNJFXfg+) z%bv^54(_*}aeiK2Kexov-)BEs9oN|TT=t$hZ4KO9j{)46|C&p?>^rUY>auJ=WR9h8 z)w!RZFZ(fD*D)vjr~aPnSZ+d-NhHcmiy?p|u9ov}SIRLWc0G&NKOG*Pxx36}6mqhg zY{17L<7#ezl7O zyEY|mg?-mpXDPvD1c2S?*e+>31`9Zf?U+unYMDOw$UYnFysj*>D&?=#d4Bdu28*2Y z*1v({?fKzB_;2})+UhW$AcqymC=j89uF&x>Sw?XIvP`}Q;36A?IcC3|7b(1^@^?5Y znm@09eO>qE>Dzd8<{xYcO09>M=Ywy@odAD)ZYB`pT!$%D3m{$taL>RHnK=QM;PeRO zu=~Ke)eptC;dMO6{Tk@+*^Z7HTY+$xzg25*>2n=?ChxKL4VmBg0>1Jr)A_f^+Scbd zQg@k-S$DW)j>|0DhGN|__ZmtTb*`ucN|{Ox;J~N^Fa*{j&zJQ04&OioaRvg2JDLZH zJQW2BBufU9BN$hfGI$ycD*|5V9#W^nf)UjR^KW@MsBKt)F6oe7#%Rxeoofa`m5ca& zCCLxh+mBhwpB|2-bA6pD4nUi8y>PnMddAFA=uz%UuqxzF1${)Gvwa9&yWm9>pG46Z zU^ld3Q(#kt3Rz1dK*ik}UU~~aaVTE9VCQ3Wz&en*z`~if>sF}p5%(L zluLq2YdOxm=Chr@HEw@*odPg3m@&W*9BU-kkNKNYz+GV}h4M=*eB0bJ<`}7_WIck? z@G&X520L(Qu*!wcmT3Tlvj6MGSC-(+9JeL&mIFeBQ!w)hn@4I1C!lD&3rnhb0@?*C zVgVTgD6||`#st5M%}IIGl<|!^1p`D-pmMf{%=hcrR@`{qbKE-D&qv!|1}Xx_oQ8h* z3jlKz9G6Nf+P_xfBTVA>W%JFug{k0SgUFAp&&TV(Y_;0d{L9a+WxO7H>wD@r=S9VR z{ayAv_9G;wt6rbWPFvycvTNLYE<2CgkNRuvKh_P09N)kC>J!Fy#RwtJSLr16_pN6vJs)dsw&mN`ztYjO5T39)Xs1BX(t-pK9R#8XIxe7M zT*Tt&^E?OhePLwvI|lA_bRK}FXY!f>_*x&k2ZoR5PB0<==G&6sqQEg?PiiPYkzOyj zG>F{b)(&+P08<7DfX<&c+7P`M<@___*f9HNuo4$Xm07i|WG-q-pVDC+j;&-n+H(Ih zs=gSnelC}jWB5V&K2;N-&8C@7wP|&|vh2iWUBofxvp`5wrt_5O z&8ScV?3@=9M~*_(g}LHS1v!vpn?P& z2w3_McvmtI0qhoP5d**&bYA;pCNfuQK4-AkT&MB=6SM+&9(dlbt;e^FQ&#nc^)l{q zD#k&$AHn7H?0S7h=3FzUqWC?R#fh)Q4uT1Ds44moya;d;!A&%j>s&EZacjWlk;l!3 zz^q~T4g1*eVq__fhF5}+#0nx=5 z?wHI{I2O>Cb7$@kgwKisRx_7ivOG(^mgkmq==oSw;8^a2{QEza`sT3aQewe*Vu zqrGIge@Z>poC08}8--VFse7&`CVq+L*RG&_D%Faqgj&n_GE;Fc3 zCD@8$733=USxW2!$xP%U^W^5fB=3vtbs(3&35S+QYK$giDrOEz025GLWOi!cO+J9rOetCxh|u;Fy#-vd{5BGf?T{?JolrS839D>`)bt7SYEriu%-BA9+yM zCuvhz{^w^-v*-Cb-|JYo>}Y;^{m7B|*6Xj?<;;Fw%dVt88KvuUMctjBaniMc|85gZF7Jc&t$S?3$_dJekhB@+BX(6IHsh|$ zcM<1gv}pc9I_YGMgg4~Q3t|rU$x`&?T8f><-O?im$=_lJ#vB&t zx9sQbp=y=+@SXTEI{KCiob5a=W`YTrj*DU|rZdEA11KgXIV=D~Iz)nn3Sh}0!=G6} zj^!Go+(LS6dM;4Tt8~7*gDfjwoU*F}5D`6{4zSX<;&BI(QR4X?=566C{d~r}AFtb_ ze&V=&|KI^5+p8>2t8@GG!^wEK_b`^p-5SZmDJqBiHDuqcyrje-Tl0ziI50e$B$U=Ni;og^4+#~;aem%mGW zYXRJOkIk2dosMJu#d-V}Y^W#j&bvI^5087Sev|AL7Q~!PoP#(j>3l?`9Sp$zOX+0gL`HwzZ>do$S0SFsg@`MoIzCwRO~yEc12(LbFb7smGsOrv!P_ zBj8Bka5eTu!(iZ(SjcE96t0FrwGx*WEL{SHY8?pcEh* z!5n_SZ3@}8=$q~s77a=@`n@2Sh;r-^aR~#JKhKB4M+1gJdi+M_$U_(C4(KjG53u^y z5$$UjbEN{?a44CL+S#Z1tivMbqJ{i?<)}~f2j;Fm$i{LFr*JfP?B{d?3T-dYH!DGC<=y4w4BohL4`rYVNbOr>nFshf`&F?BrNG4) zpCW|;*mkG9ZGy$9K8`i7W`TE;~z6U-swQx9ar#?xVA>zWN;Y9-#Lj2=Ys=<}$jjFu{t$8;b)H1TPph8i^8l zMugit9bN&BWEg!otCei3Ghi_t7#U4FC3-S1Oy*0A)2CxFb4MjJ>c2Ab=Z5{gqu#7D zU*26_KiD^{Tbf6GGB)CRICkd*KKII{@klwn<^1M6X91fIz{2t}qiw%!i#Jj3cTZWS z?_M6rbfx{6boSz;c<|$QwdmvSoWKr?1~Wl<{^h)9Z7q&?0zJMI`vC9)#a{g|f#Y%% zrSs*{?|b&QavfC@IP|}AO3k{>*K5v1!F}Bp8zzB~yE5W+5DYnTYmW}0^rNni(}zbTYC61c~w0he12#;my#-!1n5BBcuqO z=U@4cRG1*e$k>?U4>MTJ<7zp5mR3)0gRN$=@(@cgzm1xQStdV<14qS2TPX8@}|0FZKz$eZuD<*!w4V-=MugdJE8bcgQP3 zZnryg?k#eNl*1LbV5AmsA;^>jZW_TH=8y!MDnMxV*Q#^myr1*Hqdxr|mcS0bS}pR# zi3D@*)jHQH4rPu{l>ya;p^ol@GNfAobRw)rhl@efp&Dr!ARwzSemL?I3(P`(QYo34 zY)*GzKrx2HyP^H_3EqOH=;jzYV47%^cPM>;tv7 z0|?$FSi0ykE=@pi4BpDALmklF;C*0gkq5#Ygd9Spu&qv~SQio8_~xt%Hpz+pYs>XGj; z=dl1tqYpNY%iQ-Cz|XPDoNXXw?4{PX;xg;jvE)=twld|eJAwGh#fS(dbO6>MU2yAy z+v^4shc!x~qM;!$#*fSm^!I>@KrM8<{`*N^`;K$|RW$9t_}7Hg3@dL0Y{+^Dk z*qnJewWMAjKe&R6|26wr{o_5~^VT_8&);_`tDE{OXFUK-e#Gw9Ymcts4IlR1Rmkb@ zkGAZ4#a?6$`IJqCO+caiBa+S_C*a4rnJ0V`RIK+GXYzr$w$x+gQ}m^N3t%LpV)=W$ zzmPe*FY$l7AHI7$5s>(!_CoyWGT<5vR{v5lLeS6b#O!LaKSl&N32w9AzDnS;fyx78SlqrUn%x)J0&?(bL z$xM}C5mLHOt%Y;DP|$@zPE5qM3DL>6? zPvEzJ#2EiYrmSSKYpV=pdHzMV`u(#^j&GHE>H3j+FHsMl3BEJO84zP*I`!k>kOYtm zIf>`Um6;NR9%zRtMpx_vH#4`f!7xnG#nCaaxnpR6iZ4)nq4en&+t5eDZVIyo@FDze z)clF%`Vz#LZ8O);TC6lG9k7vkDIb7!p7S-sJJx`J3J~}O#>$EMBu1+>* z-X9V`G!M}3!5TVS!l73`ICyR$!s}B6xT<6;qH#RS@xr5gp|K6L4CWyCCrV~FiMB!+ zX;DB4E6$XlxM zV__<0Urmq~9>Aa@$L<_!oQ%>04Oxc_5=n-1FkQ1f$ii+!NvCR8Y#rDqUI7^& zy}|jrT)kyb9AVQ1y1Uro?yiBwH8_hqEbe4+ClDlf7I&B6EH1$t9 zWwb!>!Pjt?BAN}u&JFNa3J-i`sbzzBb5pRnc%emapPJ3Lo%4OijGF1w>KV2D7v}cNx(jU5BFh2%Mh|t=RfK|I3e>`==Lw`>rA4BD~31BO#(2 zp;+>G8%(+v=QK{weUDuy7WCJGZ?;JGI|wbA7kM8&yAh)=n$LOTKVEFn&m!QVSEzXD z%6io=KD_2x*!uU?nhqu5`1sGMM-4@e$nl)a!=qbwz;Cbd~veQ=&pNf3+XU}}6ee6K`#ATWU3#q@s z`)yo%ZhgmSeD)?LVee3`=thL(<+I{&qhoD|G1q0o$c9OIVLjPD)~YCc!|wC6R(m_N52hvi_^= z_={`kVTG)=-I48Td}P8)G-dwYN`zG-mrC|hk&XxG3e0<}zi4g69^~?HeN8Pf;v&hA z+I(6Iv>wdyglGWO=7pHfI-l>gHoS;UN`S`(uU*08`S_rD!Qs)TYvoYOU6&kjk#Uxf zDO=tmhKvMNG~pVtgf#<-HX7wDl`pD90bfK<5)V}Y>&u*T)`%&brM+LSE*|KQ7W}0C z9c3M2_7e9cO-7o~S-*F`Kcb{KC%4tu_s+o+wg}V{X^||>lX%3AbqvW+`S6*k_I-QU zXKRkQ@N+K(58x(-8u~Iy*{tx#(l-d{cnjp$XLI_l|G%fdqlR$$dt+(z9KCD>Irne+ zoj~~>9ct=VOrw;V{^(?@tK{=O>$}dcYzSi}7^%d7;~=_|CFAlh-?I}gJJ78#LQqc| z-pPm;Cao*O55Dv?G_(FE-h2w_s~c4RBs)-{pMS=Vbjn2H?eW^N5H41foeLF0YJdz; zmDKfkj*SL>?0gcLY4+3CV(SW+>|w|fp4rFWmIypdx^FQ(_KM>z6Q$@a4|EASdtt^U z)_D(^p>IdDv}DGxPV@o6H3jFdcD z24ZgGsuEnLfkL-3F%1NIIB1QfnFLSh9Clvu&7$cZojPuTdfp6yUcl9E%hdTk;)Nfr zWrCs%a4tuF<^!tax7XtWx4+$$P@l58H22)lMo<0fNss<^u))dh3rTn#UXbEKc@H9i zLad?=3o`0iB4-5**&qm&ZWa;#1Q7!!G`A#2|6MeSCY3ASeYYsqQ$t`Jemv(=rvDWI z@(PLfErr8ray9i+`r`ZA)gT!=K7Nq?%@_5j5i}SJ@>t#d!I}E)a%09{{A|DkL>I-@ zIDwm}s@j?FQhyN80xUo0&_@paq(9?0)UwG>=t2kr!s_H`z7auH4i} z3aelX_S}k|S@mX`SPhL;ZUAQBtl7Ow>K%_{r0+co2C1)iwzV2&S@(sEd@B$c0_JKF zmA8b?xfIp)#qT$zQKfs(Q1%p_N#vY?Z7W_v>#+=<^i#QvOrQy4wnnt`6YD zHyIJbRSh+oNy$A_-3IOmMcFB1+{2SDIIbxZnDFucF-1Zo^}(v7iw~=}Tz#`Qm6!-6 zK8+pp9J6Uw@`R6=VMn?uysChq|9zmM`(VBiZ&wXaX7Hbpj9~%@Z^MO;mNKGNEkvxtl=qq2bQE z(zCQP3Wn@9)QByUyGB6nG+~U)W*tyEAr6Ns*fV0O8WCJazAH)*Z9DFSv4yr+@=n6Z zwI1(fVu?V!^lR<|QSLFEnE)PJ5jd*@&+IcrIRXG)2jDzZ!(McN3 zwZ{}UcsdO0)L$1d$|{j@TphIz9x#1oY$J7~B^xGDVEQ;v)QSZq3k`NsLhHp@4%8BTxsm7&`lX^;f;}a50(>qlcHk7A^XWN&mxY^@Rex zWUTRHP}cK&i>a6;lF<`?mki4 zJW0c^o4uWReVRd!%gUz*HctzZ=3+5x?+uaKbdoXw+ADM1{due7bCN+x*oC@pK9MTP zyn5B|=IitHA9(g+of*pi&+ua`spGsgD#EjPh>-K(M6!&CS%o=&>69BFAuIYR$7mrv zv6L{O+&hSKaEfN1>Z=#$=WalgH&vj3#n<2_e=QLI;&9Vz>}-N#G%xV*Hvm4LT2)(i ziwfWc<-azZZ`hwMa?ZIcn0C?NDT~G<+keV2#~Kqdp^3==GGWF&Z>h~7>|P{le^s%{{*XgTM$4--;Dsep@Xn5U={ z?lMsnryW(r9ySHe_~WEdt0Zko3e|^OuL)7?&U)&Bg&y{v^lZaob7Um@YO>?d6tL{g z2KJ?n!sKU#{plJ_lGda46*!`-`BgcRH*apI-?PKJ8}0-){Z`tNekH-f*s8!uC{=xz zlrRQLcnayQckj=oiHifBz@yx!)E4G9GGHYLnS3-P*iu?B_U@-h7@KKWB_JBo`&gC1@bQ(9hA%pN5c#ZikQ!eXl(815U2mv~%{n#M$4 zuz@OJ2e7ss09{>=gxjlmHR(z!>(Ie#EBtAg!r2zEk)S%`LRQseK$B zLnuj+N8w1GC7ik@)jo|y+Y@``qarhbl7#ND{QqzPYART2vf(WIX0#%x+;%#wMzu5z z@v#(p`~s^T2aoJ6lF1OHCT1_q*8=YpOT{MV?UZGVxiRAk)%g{~ z1K|j@Oa=HXGnQcZzEdNT^JX+Nov=+CD*HprKLGw}J1h4>em-i@H^RFDt6g(JV$Yd> zu8ZXC^R^WPAp|CbFoOt}D?HNSQg}cmY(7tRDmgN}Zh7D6bCeB~rJi+L>1xG7VN%8P z6e0RYME0N+8XK$Qj%oNsAgzSf^cxkOD^AS`zFYnpvV#~T1+Q(u?c=w zo|yYb^aQ+U5cOs_akfxs&<0UAuR$aSW*icQ`G6&O|EFz;rf`_7sjIb7L(kiFBkFef zKIdb5r5mLB!H^&$Kts$76sk6_tlVg(H{0$5sDOdXlHnD;0NRW_pD9c6Ao_2Q(q5cz zXgoebTm(Nn=TAIUat8cka2ZpV*!{2kG#8wiacR}py~Bayn&B6ccS#jg!;w@yl)9{B zRLxZ@ENf+yb~PsSgW@<@Hj;p5_20jLsU)EQ@y0~UYtfS^#%`f}sa3TMth$qIug6uwa8&-EFk_V4h(uK)j{!1L83$6a0!#ecBX+f6Cte|_=p)yJt`;|5y26+G{c z=~67Hfq<}3rIkdCMs}bjrk8+RS$g!Dp>k>BSPB@8KCMLSVG0mJ4;O0O_30w1lmcET1W49K%{^&ijn{Y&I`1v`Fw1 z1{}9cw^B#|&p}rlnO=~emWwHR(?x?xbDe~PT{Yoptubjzi*Q1U_(}&~xzMubi^xCzA_LJ;anz7l$2orV!)k^1DT0DIQv_86 zww43)4o&~}hZB;UDfs2tz7lIC&n$#jH-hyCHoRY`=>7w5cCEg|7jeE z8E0^Z+J#~2XV*T+0LJfG4F}FHMZ|h7WgFAJM;JZ%PPTJlH)bc>R#P!ZmD@z7eLx*9@~r}r!Wr#>v+UWWyaP2OJt?l;<*(=l&VXTY48O+Bvqx5z5;_GbY4~ua z0=SVK+5^VZlZA<1%qa|B$E-De=sE0O2{yg)npbC)@Hmsc+3UG5vki8;8m#P_v1nN; zgp!ye;Q+cxES!Enn^WfnVM-{RkEtBC-b;u(I*O&C5xYS#&h`dkYldP{i7BvQ`%--= zxV28f)eSwqgOIB%-#aOrZues|={^nS$*FU=z~MV1)y>-X-<4IDTsLdwt?F0X`p&)} zkM0Qd%`ZyJVZ8rm@uKkEb54o|%?WCa|HrPc9AwxWx}%WqYO9S-OaEK?du5Lv&V&Gy zMG;Wo70>&Oec444~229{x zR-G7eFGZXOul*upr8R9!T4H{GX8-kZY=%+2pcqX)pp=-!S9u^*+(Z#oJcwPNwj!gC z27!ZJJvA$?rg$yIw`ZH(75;mX;5TLFp0b)c52DG~JU%H1(8aky(7KJ3m=~9=VjMO7 zY|UA+7B7w?4pLA-`vixYAQ;^p_HA%g|<(>V2&s-hrZrc?4 zhY#4QSfYM2`Sq>oNc=iG z7m|I?iki+3E~KK2p+zNen=Hzi);C+L!GvfbCf{G)fl6K5uUR_=_&+@=J7z009sDe zyv0F|V5)sy3@Zn}Ncy)eIsJ<*jKsD$?fW!(4zubR2Tpu;$7|d)=^$#>s)@Vr((hbm z4E)haTksWwVliw!yP6C=>Y-AA{x3Et=T2R{43_TiBZ64^t~a#Oqmlmpv+Vwmxa+a! zBuVw(1bMg7d_AInO@%_^w=RgX&3B<&8@s7YelOEMH1;PB;|w`gdlRf<2>YSW)N%9aAWzw94Op8T;b(;7_S%TmMGUnVNc z*r>qMs0>>P$k*=`h>L00Q28b$bGZJI0Swia#0Md%DH5m=2x9ivSgnln+Y92dO44Ec zl*d`mb4grY2mb;_Ogt1`41IU@&O$l;{eCqdEZ}vIQSB5+?}mRjxlf3pf_RzAgfIK1 z3OsMba(k#~(IrYbGP#s^nI&>fB|EVyCtqTWX~|aQh+UPv%}(hGT{1iB)w`V({o$yG zMj@agi%yv(kHx1I_1qb5Gf_BurWm{n;#+SDCin9bH=L7keiQV|RGBVV737)x)XLpI zDGiwho@OJggNlY&->lX^&X{+-IT!pi!FzYSaZxR3JooU| z=ry$enC*Yn!T=T25X-sadqBL^J4>Nw0QXn*Xm=|9CmrnFPh`;hzs9`%#xwu1>Sc2{ z3w*K=lq!P_K2X&fn84zq+VU}>k38O>9c=fcxoM6>g%q5eR7qRRF~hC_=!ZV!RTP~w z-arOyxSRmVzNW;nzCzL({Y6MfkrYUY?M!#}HN$!?S|2Neyvg9S5rzw^Vs)wPa%k}t z8IIfuKw*CLXiopD2rnEP3V=`nqHXCq2@xpbhkV@_jmC%)-u?!lhJRST@j$yET;a;k z3AeQ$P)n>tPC=2bwDO5>xcp>uFZu8yX(&ykFg?!%Lr@#QxwLa;Z0M=nOOKgYO&e zF(K&2Rke?{gr#GpuD629_2gdsXTIq28Vq86Q8s_72I(=|CE{^YM1l(arwqc?=DgF790owTr6p{ zh&6U((^>%_N?B{?{QdWMSDwvx((iv?Yhm9os)1pKMb9kV{jReqOix4UGgVNevi?==|vvk4%~@r9`2R_22Y zCly}HYo2$EN;Y|U>!12|Yx2uiRGN}ZZr;?|us&v-b>dw{+c(h1pu=w1-=4kde=JCD z?BM#x_;azm^Ier9y>7kiYOJ1)SCQkN;8P{aFZqJUe`gLJvTOzx=gNKCe$99Nnac@x z(N^u}=`Ek~6nl`WYnk=m(ZO8X&9{x&7QoOGyZ0GLgIbK>}CEuii7pQn$dS?^qT zjN9>c-A>@Kof+Nl<}zyxi+&DoR~+NF6xxOC7Z(*xL2moR8OKWq&SW zUVbgC{pEr6LNsJYm}{`Q5P$cnk#XhezL{R|x>G4uhYxSK_&aQ0JX<5)SjIcX8^qXw z5z#k%^mNbZ^RT?DB2!`{kzaJ1gF&bzrYNF-QSenR2tE*OLd>!_C>-gCLSUn|)q$Qj zlWA#BckgX%Bc6GCf8m{cf{2nM5J;T8yB!mDJ<8oJjJFYr)FCKeK)m>L&ZI@24iwo166$E>ufqQiZF!rkuuno(q=W2=ea9(@MD!yH+p| z@y)+=iF*dk`sSy1MP6OIZ|z0aw>l^$M+v}J@-`sZ40Q%ZQ%A5aQ-+!om)Zw~!4d#z zd`Yuov21;uaW15$Q31w|r2~zdU}b?~5z68+MyVVSZMkl7trrydcR%JI-;aA~z3sp3 z5tMlUmWR5(sBZm!CHTR+=+R385B6S8Uwm!HZ84EOH%>2KE-gA=oF%#A2bYZ@SNVJv z&`G=Z0F6?^f35fO9r?5#@5S>b*V>LhKTD*1$dkp|yw+RC!%{IGhbQ@WxYj;!-NRLG zmG%K+0Yb=g54XN&G-M9X zj8Y|6u&hp(G51G?iO!+M5mRGI&4QEJ-d);iu&-3*w@BWLr;X-hm10?oN|Gc(@F2;g zn}20j?!AF)X52cnFreDpjMXU@*KYKUdu7_gZhc6ZTn>eiSATi0>B4Mqz~>5n%7_w! zLT4Pq_Jxe&4e3CD|Etg085cZ>#J^3M2ps;xT~bo}T0UEJliM8EIlJiq^~_7&e_B1~KvEsQvh(*S=WJ~!Zt;;OaIP-6y-~6I@de+g*ZxT6^yiF?X{a2o)=ad zEwi;dImd-N@8UsQ_GyfTA%J|b1A-v?Hda{w$2Xo<52D0=8W3T{uTTZ*=~xjq=Y)o_ zuo}6uZ->c|fQblLJiKC%p4F(6lgPWd||}!YlqEmx$ z*R@m-x>O9qNM@pR^|m7w9yr$QV@7;S&&+Ba3y6~6SY|YFP~CKw3d)_AKx*AGkgln?Bc4B8UR$2oPn60Q)IsAi#YT%|!d-1^ znQ|gJ(X#v_Z}j$SJ3qsWd>Rs)H9m&vg;s^nT?idr^F?=IflZkm2O22=xO*0-Z)pjv z5%)VppIq=Jt!v${SE+mz%0|nP(AeVVwD|*$@X+_<(vmf`#KoSpO~rhypdTqhC~dx{ zftpjOxb4p>vYG95B27veF>m<3aojGX=Z*;7HvNU2?la?j5`$B!A`X$0rHmDA*k<2W z2-=!vS@-k%-tg!7+Ah6GwKqkGQz=dfI%`*VR?2 zq|iw84zLjT3MA@8K!DVhHMiU05}qF`*pzc1BqS_1G5h_l-V<}t8N^tTeq(sI>zh89Qo6&Mrf78_Fy7ay|| zwsgPA#-`YEL7eHhwxtw5w=rUlZnkICR}>#_XJtOE?=dBYmQaweCJ8I^zoaO^Vjfw8 z8{Zv(&1Bt@M1J7a;}Kwbd?oP4M9B$vZcK%9MZggqWhoOa08+rhse^tD>HtTH5<8YC z21BHM>)&lj8m4@R5V%$Ar>q2T^%@I4#P;KoP+?b@tM>*(a4Bwmh_A*Jb-1-~&e8>p z5K%Q*XE%?z+h7kuAxRu!#aDF8)UL42pxCpHz;^0yb5yJJZRjmSR<$)9r{Km}=x#XW za*l`^u69|gxGb8~G8!P%V4{(n5Ft-O{uPg}Uks3%5u(QZh>ay1Dx}k;Y$f8JEN<;b zCt)tzVJ=lsxGB4am#1L4o(gTkCq}{ap$_k?xIH5_Kb z9LVM&NzOlM&lwRC$iFnNw#jb*jCl)obWJ>7L~KS;XWmI$1Qt0Sn^+0S#R8SaldY_* zfSQqpgS=mhXV(i$XEWkF5MEa1)m6Dk?+=1w4p!XiG%U!ayQGvgTy`USFF0skoVuOy z74E33m3moEbyaLVZnz{gs*#WP&mCUCm4q&Ox+~$XQe+Dpq;*<9q_Ove%0hbdAV+`6 z%p&cmiG(TRf1HvbJrpD2RmHgJu27(~)~L;3>yK;v<<sV@kJV*`vh2oHeC7$y8fV&@UNS(kcSfwgILks@!~xRWkIJUN?f{gspvzq z7M%?m)3{CB!fl_De6fWYOkS&>bK^(%hPzp_o0$$@jJ{d_EuONe84H3CCMulG6A}>2 zM~tD`DT*&!d;T~Im-@8RRL05?dm+iGt@+8v<-LW3aKmSQ+8>2M_IaHvc&k8959jm? zG0LwYLS)J2%uC8brt*2&c{W}7nMJ|oCt~U3&vntWj@m8^$-WHHm3;X>vfH zI9RqW;X(#kBqyPbf&#P^m-+68;O35t>rYdj%<`XMVs%e!duXU$A+r(Xy`F@Yun+#- zei??}iA_BJDpBcLE=LsZWX7oD>eJ@BW^zdt4@P|t_d%B4R!oGQnv@~=L;H84C5BF z91J0MEyq2A$yi3&Xm0KwEcX;llPjM7I*L~b&fIM0RB3#?QIxvNw0S{7l}4{|1YAnh`s(b8VQv0iJAB)zJWvvS=8{1@N`C zn|fLLeO$ZUY1&PV0febSSXTiIw2ZRZZwipTnlu*p#Mb^sCa`4t+@AVEL$ko1-W|gX zVLzj*5Ke{WiYNFAua5NiO)Nmo+oElaz1E4#aP7NFF6wF8Zsob?F$_-)?k~9iZC0k` zqH_#qeBs-k&AQ&LLvph|9+s#ldr&9=wSpUgIf~{OHQ86feV1HKhQ^z%DRU#!;?K79 zxtfGr*L^hd09)*0SE{VckiWNP_ydN-*{^J{UQ%hsrbx9k24HGd%=c;&Pmo}Jt|wW8v6I%gg(GKCqzZ4O4h##KbYm35JoNs3drRMhFn8Ne=FU?1&A? zpIFBlClP?iHECyAoibDVj|DwQq%S@XC3$&_sbPCvGF8f$mtYF^-9(tLKw=pH()_c& zLV9HVm|aClx!_!3@hLWKR_B?$?zgJ6l|ZbfNRL(@#gRlcu-w~Urtj?&;X(o? z-VjP*W4UZYtf6*PLDMtz5;;=e{2F1Rwy5HWFi2lSH+*T+H;$>$9OT&YSFu6zv!pRW zai82i8WGCTACTHhjik5LN@^M<2TMmw36Z8~RqBTYLq%h)$AzTH%gfoDc9w6&LYz&+%mmwS58<1(#3ZZ!RU4CpG?|8S#^0G^V+z*Os-uI z>`v!g7n|@EBTQLCDkywL9jOUhIpWLM4DS#k3;ay*LH$BI%z_g;R?&3SgNOVxCAO(q zZ^mnE1?vyrYTrBVYF9V^Z7_}YayaW;^Nr9O`?U7CM@t@9HFUgFemuINxZY}mbdX%Dg$?Y)fkOu`6dm`=wvvY>A!C`PScT(lnom%oWFZ zh6i-rTswM6S5P)7tT)!+{pwGvEM6d?CRIjv(6M6Z2+@YfdE$WhyjFxTZz1)gA*oO8 zykE-_4wcs0bv*_)amJLsyc+Y{D?<}WN%Nq_wuR^A&!b5QqRL>0jS@Q75tu{kgiX~c zO>%~uIg+=v9&{CT#;MAwkxGdWp3(?q1r)^_mE|`ZlHT(7UN@_uGh4|&W~Z@*_4p5h z@|-zXE(c?XKhM4GXZSo0r!U2h;eiG#fN`DcbR2KGV5*kJf!8?&l0E}N9V5OKi`eE) zc5yLO%&7DmVjnp3BMo%a&qm(XSokhK{DLIF9*ESJ)3_5#F6A6tV|q8-eJk<2-GuD< ziEe7QH>%oRTn|*ytt!vVFPI4o=7Np9LAh@++Qe=A-~&Y)AP~Vd zP>J(go`KgLMzL3sg4xqQsw!v{mo5yDjG7H7M>Azzc`{=r?k2~)@_+YtH+7id?V<`c zrSr`vb~aT#7RG>(vEKU+7eyU}rm{kTu`W;9tna@jD8V%ty;zGvK)xC7=)6@KLRBNmc zTw>CJN-CH?RxacKby7*ftFrn-&46`Bnyy<4@_3uWr#fCr&V@ZTJ{cwBxJjT`o0{L+4sHW}7||#&qJ9KhRus`9G$MV4|f3 zIv-E!29JAUyg^4;6R+9%78~a8JxyGBgoEx3~tX(?`X0oIhyts|DCibqB59 zwY45%VkpoP1Vt*fyiR&;fGRHvi@s5N5=5=rBVP%aI1>g164doO|K;I^&(s;bSNTL71~~QPks>|N7CrpJ#*4QD)+?pAS3PD+p}DJN3pcHNJQwcc&tj^Rl8b~& z6vaPKIvB3_qx*Kw|DKoMtQUwQV;sw5uPSOiHW+GN%X7C|^_WL+qWK8RF{8n9HA>w< zak4z&k`s5N@xG*~jw{;`6AWAcxM{G;bd2T*7QqReRX9{t94=0#hAJ-*v<-9 zm}U4&iCY7|o4($OfGq)1QDJ^#qsF#4u3L%~_mO_)|;-KWaN8REoC{7$YT9_c3BP~kqTDrHp z()$gGRmEhc%oF>|@xg}Q(`;uJ|0uCgbx?K6)2k0E=hF@6pp~Nb6Pp}it(oN}Ql@{U zC2g0*kpO2;M-~nc!%-c3ANC6zMTOXXTmn7^fr}dw)Kw&w&2@^1fB0`jKDp4LnZa%% z0}HFYJNg{L6hiH@=a2m!NhMwn}dbwdq;M4E#p zKXL`H;sA=5SPi`{llW(vAdOJ|eIbqstF z6|*)%0x?JfsixH~ZSm>T2nD`#64Kr)ga1%rv;{I?F@f@Z&lYECZ1OVWR2g+&;u#16 z_z>xgNLIN<&vo@xFJlFu;H<6>jF9B(tvq^j$(mS|`c54GB!#e4snGZ1l#aT^UDZkr z@1t1kW7oVceS3(tl{jM^MK|s|n}tNaK15toFrn}(J14oBq7B$Lgv3!lg28E5L60Qo z>&r-(@V)MbGsr}-pdvPu**d}SMH-PwiQR1ZCv`&+`%6*wumGW6j{-)8j`J;6G7*0% zv>Haa9t;`+IW$Z>?Ayw{wI)T9J|RjOT{HDmT(4~fKu=!yI8E&}z-A}*L`*v*S~%qO z$$jUGZ^;i%2hW0$t3om-?{>>yf3ZuA>wNXYsn~JX$HM1v_2=O_^aW*fSxSGMu5KHy z*QU&?=J65$E>qUNXF|;=Pw9yciDFz_%W|JT_IZ_VlXv(Jx;uofFgpes3_?|{w{>kF zM3GFVsITHN;mfSYIf7~Va@ewG%&;DfXZaJ{6rc+M8JwD(HrQmW@ zgBLb3ARB|8dgO9coBD+2&k-8uC@Q8D-2m)po#_8Ec~--b^ZpjjSu|rVKjXEwd~&_{ zPlqYYg&=MN2N-~*XeP8?0^3Lw*s%1Lv^g=LMFPQ8d_!OeUiceC72d{k8|ZYg``w

B>hrnQPoMvk7^OE-4rtEr?;a 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 QSMkRx$*ap1$UJ@dKOGHs%K!iX literal 0 HcmV?d00001 diff --git a/demo/truck5.png b/demo/truck5.png new file mode 100644 index 0000000000000000000000000000000000000000..e0324155caa4a3558316a73af7cf813a3ac80fae GIT binary patch literal 2654 zcmV-k3ZeChP)>VZuh;f^#xowz z_1)k9&<1)^}AzrI6)F7N#2c; z-6T6!dLUIQP!*L~Z+QRx_dI4j?lm8?@p-?#POP@#l_HPhXiuiKvhQYc#<@o=2n{z% zOGPmukFBjkspF%gH@EMGX^|R$7*3HcG?u^=M){cR*SxRFbSy=A#XWoG3-TX7_#CMR zrW#@p15_^6!%#bs@N(EIM!9eMC+dEjE2#wM1WS$}36b+D*TV60hzK!7k?2Ah2oWX; zBFeK)X35mZif1qQj6$$OL>|YqfMKN08T&kTQ-eyB%E8!m+n&)vC=85WEfWB>!f;IN z$gVc#PjvihH0TbZN5MjEG#UXy%YNWe+l{SRhG!w!pXTd={ck!MQH~|ri>ANJ8l^_L zeQ5(H{2b04h2=CKNW~#AN)ZE$G-jIR5?~FC)?Dyh1AuIzVSxy$wwggHKzol81fs*^ zacia!FaTx%l_gAER@h|qbEo)9M-ns#pJEQ>sCJLu{ zG8K7Zv`J?nfe;#lUAJ&8!9}KpB@`|Sg&@%iYmE$smZL2OefKC%38eJF{&;T>SxzS? zFIN34wRzH?gqezp3Idc!2p~clV~D6!2wA>@sM|YSD%ltkZp?H#EN$vvClnwEfEh6~ z=7KY}`LMqmxHZqK=Ay;{P7)9a{AiXzLkfV2>*iW3A+hT~sI^uIApjAwT%!%(+?z%) z7ZRA=$$=VnpYbX&C^Rx!NfafBC{_uAg?7{*m_o_p2?bEtmTQOd zM#3z{+yD%fG8h00h-7-mkZEdgMrcoI#f1lS$#GFwFr({Q@W4MP1msZU+%I|1sN5z- zAV~nh2sp;zBq9btl~D|RUMMazT^Qqf05*NJ;JQnJUqONIR~R=ZBH`6N*L6H5C-qKC z!*{~rgJHa6)rJXSrV0{9+b&jv}iO;iI0Zv@>P|fwtpglQV<` zG6e)gYvWne1=0c*X$IP1mO&1kgu^4($BvdIZae@DQnT^EHfmBrhT^!C8l9?N$mGtU;#xq> zf}p_0>tks0`VrS!Mp|>NwdJ&eCPz?eRXMY^{LHhvEZN>UN*ws@Kl^?1#Y>%NoEOs1 z#6&9!i?mQGM~WHH5CrzeHba03jO-1MOk6;w-mnYiCMpYpT_J=f^)%@f0$% z_R8~%zjbx**1OmL;&02%fZyFGPd#?3JE2<-;)~g2 zKDqZAp^n#fTA0FIlj+uG?@^DsZ29SBe`8~`v)%skS1z2s&}_9G-v{kEOc+4&NB{8J zjr|_m8NB%2t*0Kplg{vA;hoJJH~h7e^L0Nw*@6bFRf0xgpdpZ>N)B+z zxCY|cEbR~P+`F?iI5^J280R0ock@facX{sAB|^YRfh{D6Jfzt~B2>oLy^s{SGF&D7 z{$zI4V`#hIt(R)E@!1(WMF{gQ3X=Ca#p4B^GmC@@81_G&np1A?n^JfK-V{TzbkhhUEAFM4}%muai$UALi5zE??P=`hWP!*B92jzef7?AHVO;trWv!U(2Qfu0?BvEb#Y6>o1g6b{6DYlbq}GzrtF@zRb|e_tLq!})*P|GXfmNN zaxJ~MekH_}5^)4HGgvH8w}O!kVNP^R;Vp`1VX?}JG&lDM`s%AMemv;^%e(LX(@$Ri z#oISWVWa_o7|k{6-~84K)oO_hro%6k&tJH3s!^-7D(K$MQ3&~k$DY`z)|P?_PUFh$ z?eydKll{T*ETL98$A%Pzj_jsW+MiDU6jPcAb?5x__)A!iUF@?dXrxclFiHx^bl zPWPs>iZho96?PBWHj_mfPouaf^7=xT>i^l5xVXIhwXZ+> z>eUyQSC^FyAp{UYEsX&N0VYI2#=1`t-xwH{N>da1v3(jN@UAu_3WB*ETmBPi(yWJFi%_ z10ga1APta#MjOGElmaM8sf95nVLVL3X%QatS)z&%!(0fe6!`4+CIUt(X}i|q;=*t= z<}&3HgOEw0hn32AzVV`MSxiC#S%H8y5*dIXO7b+z64zn?D5cE*1N#Wk|N5za2><{9 M07*qoM6N<$f{o?~l>h($ literal 0 HcmV?d00001