From 0697c37c77e6754100f842bda4ab77132037e85d Mon Sep 17 00:00:00 2001 From: Bart Doekemeijer Date: Thu, 26 May 2022 11:11:05 -0600 Subject: [PATCH 01/22] Expand functionalities of UncertaintyInterface and fix no_wake compatibility (#428) --- floris/tools/uncertainty_interface.py | 137 +++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 4 deletions(-) diff --git a/floris/tools/uncertainty_interface.py b/floris/tools/uncertainty_interface.py index bd4c80972..db0a7efdb 100644 --- a/floris/tools/uncertainty_interface.py +++ b/floris/tools/uncertainty_interface.py @@ -118,6 +118,9 @@ def __init__( fix_yaw_in_relative_frame=fix_yaw_in_relative_frame, ) + # Add a _no_wake switch to keep track of calculate_wake/calculate_no_wake + self._no_wake = False + # Private methods def _generate_pdfs_from_dict(self): @@ -364,8 +367,24 @@ def calculate_wake(self, yaw_angles=None): yaw_angles: NDArrayFloat | list[float] | None = None, """ self._reassign_yaw_angles(yaw_angles) + self._no_wake = False + + def calculate_no_wake(self, yaw_angles=None): + """Replaces the 'calculate_no_wake' function in the FlorisInterface + object. Fundamentally, this function only overwrites the nominal + yaw angles in the FlorisInterface object. The actual wake calculations + are performed once 'get_turbine_powers' or 'get_farm_powers' is + called. However, to allow users to directly replace a FlorisInterface + object with this UncertaintyInterface object, this function is + required. - def get_turbine_powers(self, no_wake=False): + Args: + yaw_angles: NDArrayFloat | list[float] | None = None, + """ + self._reassign_yaw_angles(yaw_angles) + self._no_wake = True + + def get_turbine_powers(self): """Calculates the probability-weighted power production of each turbine in the wind farm. @@ -419,7 +438,7 @@ def get_turbine_powers(self, no_wake=False): # Evaluate floris for minimal probablistic set self.fi.reinitialize(wind_directions=wd_array_probablistic_min) - if no_wake: + if self._no_wake: self.fi.calculate_no_wake(yaw_angles=yaw_angles_probablistic_min) else: self.fi.calculate_wake(yaw_angles=yaw_angles_probablistic_min) @@ -443,7 +462,7 @@ def get_turbine_powers(self, no_wake=False): # Now apply probability distribution weighing to get turbine powers return np.sum(wd_weighing * power_probablistic, axis=0) - def get_farm_power(self, no_wake=False): + def get_farm_power(self): """Calculates the probability-weighted power production of the collective of all turbines in the farm, for each wind direction and wind speed specified. @@ -458,9 +477,119 @@ def get_farm_power(self, no_wake=False): NDArrayFloat: Expectation of power production of the wind farm. This array has the shape (num_wind_directions, num_wind_speeds). """ - turbine_powers = self.get_turbine_powers(no_wake=no_wake) + turbine_powers = self.get_turbine_powers() return np.sum(turbine_powers, axis=2) + def get_farm_AEP( + self, + freq, + cut_in_wind_speed=0.001, + cut_out_wind_speed=None, + yaw_angles=None, + no_wake=False, + ) -> float: + """ + Estimate annual energy production (AEP) for distributions of wind speed, wind + direction, frequency of occurrence, and yaw offset. + + Args: + freq (NDArrayFloat): NumPy array with shape (n_wind_directions, + n_wind_speeds) with the frequencies of each wind direction and + wind speed combination. These frequencies should typically sum + up to 1.0 and are used to weigh the wind farm power for every + condition in calculating the wind farm's AEP. + cut_in_wind_speed (float, optional): Wind speed in m/s below which + any calculations are ignored and the wind farm is known to + produce 0.0 W of power. Note that to prevent problems with the + wake models at negative / zero wind speeds, this variable must + always have a positive value. Defaults to 0.001 [m/s]. + cut_out_wind_speed (float, optional): Wind speed above which the + wind farm is known to produce 0.0 W of power. If None is + specified, will assume that the wind farm does not cut out + at high wind speeds. Defaults to None. + yaw_angles (NDArrayFloat | list[float] | None, optional): + The relative turbine yaw angles in degrees. If None is + specified, will assume that the turbine yaw angles are all + zero degrees for all conditions. Defaults to None. + no_wake: (bool, optional): When *True* updates the turbine + quantities without calculating the wake or adding the wake to + the flow field. This can be useful when quantifying the loss + in AEP due to wakes. Defaults to *False*. + + Returns: + float: + The Annual Energy Production (AEP) for the wind farm in + watt-hours. + """ + + # Verify dimensions of the variable "freq" + if not ( + (np.shape(freq)[0] == self.floris.flow_field.n_wind_directions) + & (np.shape(freq)[1] == self.floris.flow_field.n_wind_speeds) + & (len(np.shape(freq)) == 2) + ): + raise UserWarning( + "'freq' should be a two-dimensional array with dimensions" + + " (n_wind_directions, n_wind_speeds)." + ) + + # Check if frequency vector sums to 1.0. If not, raise a warning + if np.abs(np.sum(freq) - 1.0) > 0.001: + self.logger.warning( + "WARNING: The frequency array provided to get_farm_AEP() " + + "does not sum to 1.0. " + ) + + # Copy the full wind speed array from the floris object and initialize + # the the farm_power variable as an empty array. + wind_speeds = np.array(self.fi.floris.flow_field.wind_speeds, copy=True) + farm_power = np.zeros( + (self.fi.floris.flow_field.n_wind_directions, len(wind_speeds)) + ) + + # Determine which wind speeds we must evaluate in floris + conditions_to_evaluate = (wind_speeds >= cut_in_wind_speed) + if cut_out_wind_speed is not None: + conditions_to_evaluate = conditions_to_evaluate & ( + wind_speeds < cut_out_wind_speed + ) + + # Evaluate the conditions in floris + if np.any(conditions_to_evaluate): + wind_speeds_subset = wind_speeds[conditions_to_evaluate] + yaw_angles_subset = None + if yaw_angles is not None: + yaw_angles_subset = yaw_angles[:, conditions_to_evaluate] + self.reinitialize(wind_speeds=wind_speeds_subset) + if no_wake: + self.calculate_no_wake(yaw_angles=yaw_angles_subset) + else: + self.calculate_wake(yaw_angles=yaw_angles_subset) + farm_power[:, conditions_to_evaluate] = self.get_farm_power() + + # Finally, calculate AEP in GWh + aep = np.sum(np.multiply(freq, farm_power) * 365 * 24) + + # Reset the FLORIS object to the full wind speed array + self.reinitialize(wind_speeds=wind_speeds) + + return aep + + def assign_hub_height_to_ref_height(self): + return self.fi.assign_hub_height_to_ref_height() + + def get_turbine_layout(self, z=False): + return self.fi.get_turbine_layout(z=z) + + def get_turbine_Cts(self): + return self.fi.get_turbine_Cts() + + def get_turbine_ais(self): + return self.fi.get_turbine_ais() + + def get_turbine_average_velocities(self): + return self.fi.get_turbine_average_velocities() + # Define getter functions that just pass information from FlorisInterface @property def floris(self): From 1d094cd5437fbc52fec8ded1e6e44d7acb0734b1 Mon Sep 17 00:00:00 2001 From: Bart Doekemeijer Date: Thu, 26 May 2022 14:52:31 -0600 Subject: [PATCH 02/22] Remove commented and legacy code in floris_interface.py (#397) * Remove remnants of uncertainty modeling in floris_interface * Remove get_turbine_power and farm power legacy functions that are already commented out * Remove additional commented code Co-authored-by: Rafael M Mudafort Co-authored-by: Rafael M Mudafort --- floris/tools/floris_interface.py | 750 ------------------------------- 1 file changed, 750 deletions(-) diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index ab3cc5dd7..be32a7b45 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -778,756 +778,6 @@ def generate_heterogeneous_wind_map(speed_ups, x, y, z=None): return [in_region, out_region] -# def global_calc_one_AEP_case(FlorisInterface, wd, ws, freq, yaw=None): -# return FlorisInterface._calc_one_AEP_case(wd, ws, freq, yaw) - -DEFAULT_UNCERTAINTY = {"std_wd": 4.95, "std_yaw": 1.75, "pmf_res": 1.0, "pdf_cutoff": 0.995} - - -def _generate_uncertainty_parameters(unc_options: dict, unc_pmfs: dict) -> dict: - """Generates the uncertainty parameters for `FlorisInterface.get_farm_power` and - `FlorisInterface.get_turbine_power` for more details. - - Args: - unc_options (dict): See `FlorisInterface.get_farm_power` or `FlorisInterface.get_turbine_power`. - unc_pmfs (dict): See `FlorisInterface.get_farm_power` or `FlorisInterface.get_turbine_power`. - - Returns: - dict: [description] - """ - if (unc_options is None) & (unc_pmfs is None): - unc_options = DEFAULT_UNCERTAINTY - - if unc_pmfs is not None: - return unc_pmfs - - wd_unc = np.zeros(1) - wd_unc_pmf = np.ones(1) - yaw_unc = np.zeros(1) - yaw_unc_pmf = np.ones(1) - - # create normally distributed wd and yaw uncertaitny pmfs if appropriate - if unc_options["std_wd"] > 0: - wd_bnd = int(np.ceil(norm.ppf(unc_options["pdf_cutoff"], scale=unc_options["std_wd"]) / unc_options["pmf_res"])) - bound = wd_bnd * unc_options["pmf_res"] - wd_unc = np.linspace(-1 * bound, bound, 2 * wd_bnd + 1) - wd_unc_pmf = norm.pdf(wd_unc, scale=unc_options["std_wd"]) - wd_unc_pmf /= np.sum(wd_unc_pmf) # normalize so sum = 1.0 - - if unc_options["std_yaw"] > 0: - yaw_bnd = int( - np.ceil(norm.ppf(unc_options["pdf_cutoff"], scale=unc_options["std_yaw"]) / unc_options["pmf_res"]) - ) - bound = yaw_bnd * unc_options["pmf_res"] - yaw_unc = np.linspace(-1 * bound, bound, 2 * yaw_bnd + 1) - yaw_unc_pmf = norm.pdf(yaw_unc, scale=unc_options["std_yaw"]) - yaw_unc_pmf /= np.sum(yaw_unc_pmf) # normalize so sum = 1.0 - - unc_pmfs = { - "wd_unc": wd_unc, - "wd_unc_pmf": wd_unc_pmf, - "yaw_unc": yaw_unc, - "yaw_unc_pmf": yaw_unc_pmf, - } - return unc_pmfs - - -# def correct_for_all_combinations( -# wd: NDArrayFloat, -# ws: NDArrayFloat, -# freq: NDArrayFloat, -# yaw: NDArrayFloat | None = None, -# ) -> tuple[NDArrayFloat]: -# """Computes the probabilities for the complete windrose from the desired wind -# direction and wind speed combinations and their associated probabilities so that -# any undesired combinations are filled with a 0.0 probability. - -# Args: -# wd (NDArrayFloat): List or array of wind direction values. -# ws (NDArrayFloat): List or array of wind speed values. -# freq (NDArrayFloat): Frequencies corresponding to wind -# speeds and directions in wind rose with dimensions -# (N wind directions x N wind speeds). -# yaw (NDArrayFloat | None): The corresponding yaw angles for each of the wind -# direction and wind speed combinations, or None. Defaults to None. - -# Returns: -# NDArrayFloat, NDArrayFloat, NDArrayFloat: The unique wind directions, wind -# speeds, and the associated probability of their combination combinations in -# an array of shape (N wind directions x N wind speeds). -# """ - -# combos_to_compute = np.array(list(zip(wd, ws, freq))) - -# unique_wd = wd.unique() -# unique_ws = ws.unique() -# all_combos = np.array(list(product(unique_wd, unique_ws)), dtype=float) -# all_combos = np.hstack((all_combos, np.zeros((all_combos.shape[0], 1), dtype=float))) -# expanded_yaw = np.array([None] * all_combos.shape[0]).reshape(unique_wd.size, unique_ws.size) - -# ix_match = [np.where((all_combos[:, :2] == combo[:2]).all(1))[0][0] for combo in combos_to_compute] -# all_combos[ix_match, 2] = combos_to_compute[:, 2] -# if yaw is not None: -# expanded_yaw[ix_match] = yaw -# freq = all_combos.T[2].reshape((unique_wd.size, unique_ws.size)) -# return unique_wd, unique_ws, freq - - - # def get_set_of_points(self, x_points, y_points, z_points): - # """ - # Calculates velocity values through the - # :py:meth:`~.FlowField.calculate_wake` method at points specified by - # inputs. - - # Args: - # x_points (float): X-locations to get velocity values at. - # y_points (float): Y-locations to get velocity values at. - # z_points (float): Z-locations to get velocity values at. - - # Returns: - # :py:class:`pandas.DataFrame`: containing values of x, y, z, u, v, w - # """ - # # Get a copy for the flow field so don't change underlying grid points - # flow_field = copy.deepcopy(self.floris.flow_field) - - # if hasattr(self.floris.wake.velocity_model, "requires_resolution"): - # if self.floris.velocity_model.requires_resolution: - - # # If this is a gridded model, must extract from full flow field - # self.logger.info( - # "Model identified as %s requires use of underlying grid print" - # % self.floris.wake.velocity_model.model_string - # ) - # self.logger.warning("FUNCTION NOT AVAILABLE CURRENTLY") - - # # Set up points matrix - # points = np.row_stack((x_points, y_points, z_points)) - - # # TODO: Calculate wake inputs need to be mapped - # raise_error = True - # if raise_error: - # raise NotImplementedError("Additional point calculation is not yet supported!") - # # Recalculate wake with these points - # flow_field.calculate_wake(points=points) - - # # Get results vectors - # x_flat = flow_field.x.flatten() - # y_flat = flow_field.y.flatten() - # z_flat = flow_field.z.flatten() - # u_flat = flow_field.u.flatten() - # v_flat = flow_field.v.flatten() - # w_flat = flow_field.w.flatten() - - # df = pd.DataFrame( - # { - # "x": x_flat, - # "y": y_flat, - # "z": z_flat, - # "u": u_flat, - # "v": v_flat, - # "w": w_flat, - # } - # ) - - # # Subset to points requests - # df = df[df.x.isin(x_points)] - # df = df[df.y.isin(y_points)] - # df = df[df.z.isin(z_points)] - - # # Drop duplicates - # df = df.drop_duplicates() - - # # Return the dataframe - # return df - - # def get_flow_data(self, resolution=None, grid_spacing=10, velocity_deficit=False): - # """ - # Generate :py:class:`~.tools.flow_data.FlowData` object corresponding to - # active FLORIS instance. - - # Velocity and wake models requiring calculation on a grid implement a - # discretized domain at resolution **grid_spacing**. This is distinct - # from the resolution of the returned flow field domain. - - # Args: - # resolution (float, optional): Resolution of output data. - # Only used for wake models that require spatial - # resolution (e.g. curl). Defaults to None. - # grid_spacing (int, optional): Resolution of grid used for - # simulation. Model results may be sensitive to resolution. - # Defaults to 10. - # velocity_deficit (bool, optional): When *True*, normalizes velocity - # with respect to initial flow field velocity to show relative - # velocity deficit (%). Defaults to *False*. - - # Returns: - # :py:class:`~.tools.flow_data.FlowData`: FlowData object - # """ - - # if resolution is None: - # if not self.floris.wake.velocity_model.requires_resolution: - # self.logger.info("Assuming grid with spacing %d" % grid_spacing) - # ( - # xmin, - # xmax, - # ymin, - # ymax, - # zmin, - # zmax, - # ) = self.floris.flow_field.domain_bounds # TODO: No grid attribute within FlowField - # resolution = Vec3( - # 1 + (xmax - xmin) / grid_spacing, - # 1 + (ymax - ymin) / grid_spacing, - # 1 + (zmax - zmin) / grid_spacing, - # ) - # else: - # self.logger.info("Assuming model resolution") - # resolution = self.floris.wake.velocity_model.model_grid_resolution - - # # Get a copy for the flow field so don't change underlying grid points - # flow_field = copy.deepcopy(self.floris.flow_field) - - # if ( - # flow_field.wake.velocity_model.requires_resolution - # and flow_field.wake.velocity_model.model_grid_resolution != resolution - # ): - # self.logger.warning( - # "WARNING: The current wake velocity model contains a " - # + "required grid resolution; the Resolution given to " - # + "FlorisInterface.get_flow_field is ignored." - # ) - # resolution = flow_field.wake.velocity_model.model_grid_resolution - # flow_field.reinitialize(with_resolution=resolution) # TODO: Not implemented - # self.logger.info(resolution) - # # print(resolution) - # flow_field.steady_state_atmospheric_condition() - - # order = "f" - # x = flow_field.x.flatten(order=order) - # y = flow_field.y.flatten(order=order) - # z = flow_field.z.flatten(order=order) - - # u = flow_field.u.flatten(order=order) - # v = flow_field.v.flatten(order=order) - # w = flow_field.w.flatten(order=order) - - # # find percent velocity deficit - # if velocity_deficit: - # u = abs(u - flow_field.u_initial.flatten(order=order)) / flow_field.u_initial.flatten(order=order) * 100 - # v = abs(v - flow_field.v_initial.flatten(order=order)) / flow_field.v_initial.flatten(order=order) * 100 - # w = abs(w - flow_field.w_initial.flatten(order=order)) / flow_field.w_initial.flatten(order=order) * 100 - - # # Determine spacing, dimensions and origin - # unique_x = np.sort(np.unique(x)) - # unique_y = np.sort(np.unique(y)) - # unique_z = np.sort(np.unique(z)) - # spacing = Vec3( - # unique_x[1] - unique_x[0], - # unique_y[1] - unique_y[0], - # unique_z[1] - unique_z[0], - # ) - # dimensions = Vec3(len(unique_x), len(unique_y), len(unique_z)) - # origin = Vec3(0.0, 0.0, 0.0) - # return FlowData(x, y, z, u, v, w, spacing=spacing, dimensions=dimensions, origin=origin) - - - # def get_turbine_power( - # self, - # include_unc=False, - # unc_pmfs=None, - # unc_options=None, - # no_wake=False, - # use_turbulence_correction=False, - # ): - # """ - # Report power from each wind turbine. - - # Args: - # include_unc (bool): If *True*, uncertainty in wind direction - # and/or yaw position is included when determining turbine - # powers. Defaults to *False*. - # unc_pmfs (dictionary, optional): A dictionary containing optional - # probability mass functions describing the distribution of wind - # direction and yaw position deviations when wind direction and/or - # yaw position uncertainty is included in the power calculations. - # Contains the following key-value pairs: - - # - **wd_unc** (*np.array*): Wind direction deviations from the - # original wind direction. - # - **wd_unc_pmf** (*np.array*): Probability of each wind - # direction deviation in **wd_unc** occuring. - # - **yaw_unc** (*np.array*): Yaw angle deviations from the - # original yaw angles. - # - **yaw_unc_pmf** (*np.array*): Probability of each yaw angle - # deviation in **yaw_unc** occuring. - - # Defaults to None, in which case default PMFs are calculated - # using values provided in **unc_options**. - # unc_options (dictionary, optional): A dictionary containing values - # used to create normally-distributed, zero-mean probability mass - # functions describing the distribution of wind direction and yaw - # position deviations when wind direction and/or yaw position - # uncertainty is included. This argument is only used when - # **unc_pmfs** is None and contains the following key-value pairs: - - # - **std_wd** (*float*): A float containing the standard - # deviation of the wind direction deviations from the - # original wind direction. - # - **std_yaw** (*float*): A float containing the standard - # deviation of the yaw angle deviations from the original yaw - # angles. - # - **pmf_res** (*float*): A float containing the resolution in - # degrees of the wind direction and yaw angle PMFs. - # - **pdf_cutoff** (*float*): A float containing the cumulative - # distribution function value at which the tails of the - # PMFs are truncated. - - # Defaults to None. Initializes to {'std_wd': 4.95, 'std_yaw': 1. - # 75, 'pmf_res': 1.0, 'pdf_cutoff': 0.995}. - # no_wake: (bool, optional): When *True* updates the turbine - # quantities without calculating the wake or adding the - # wake to the flow field. Defaults to *False*. - # use_turbulence_correction: (bool, optional): When *True* uses a - # turbulence parameter to adjust power output calculations. - # Defaults to *False*. - - # Returns: - # np.array: Power produced by each wind turbine. - # """ - # # TODO: Turbulence correction used in the power calculation, but may not be in - # # the model yet - # # TODO: Turbines need a switch for using turbulence correction - # # TODO: Uncomment out the following two lines once the above are resolved - # # for turbine in self.floris.farm.turbines: - # # turbine.use_turbulence_correction = use_turbulence_correction - - # if include_unc: - # unc_pmfs = _generate_uncertainty_parameters(unc_options, unc_pmfs) - - # mean_farm_power = np.zeros(self.floris.farm.n_turbines) - # wd_orig = self.floris.flow_field.wind_directions # TODO: same comment as in get_farm_power - - # yaw_angles = self.get_yaw_angles() - # self.reinitialize(wind_direction=wd_orig[0] + unc_pmfs["wd_unc"]) - # for i, delta_yaw in enumerate(unc_pmfs["yaw_unc"]): - # self.calculate_wake( - # yaw_angles=list(np.array(yaw_angles) + delta_yaw), - # no_wake=no_wake, - # ) - # mean_farm_power += unc_pmfs["wd_unc_pmf"] * unc_pmfs["yaw_unc_pmf"][i] * self._get_turbine_powers() - - # # reinitialize with original values - # self.reinitialize(wind_direction=wd_orig) - # self.calculate_wake(yaw_angles=yaw_angles, no_wake=no_wake) - # return mean_farm_power - - # return self._get_turbine_powers() - - # def get_power_curve(self, wind_speeds): - # """ - # Return the power curve given a set of wind speeds - - # Args: - # wind_speeds (np.array): array of wind speeds to get power curve - # """ - - # # TODO: Why is this done? Should we expand for evenutal multiple turbines types - # # or just allow a filter on the turbine index? - # # Temporarily set the farm to a single turbine - # saved_layout_x = self.layout_x - # saved_layout_y = self.layout_y - - # self.reinitialize(wind_speed=wind_speeds, layout_array=([0], [0])) - # self.calculate_wake() - # turbine_power = self._get_turbine_powers() - - # # Set it back - # self.reinitialize(layout_array=(saved_layout_x, saved_layout_y)) - - # return turbine_power - - # def get_farm_power_for_yaw_angle( - # self, - # yaw_angles, - # include_unc=False, - # unc_pmfs=None, - # unc_options=None, - # no_wake=False, - # ): - # """ - # Assign yaw angles to turbines, calculate wake, and report farm power. - - # Args: - # yaw_angles (np.array): Yaw to apply to each turbine. - # include_unc (bool, optional): When *True*, includes wind direction - # uncertainty in estimate of wind farm power. Defaults to *False*. - # unc_pmfs (dictionary, optional): A dictionary containing optional - # probability mass functions describing the distribution of wind - # direction and yaw position deviations when wind direction and/or - # yaw position uncertainty is included in the power calculations. - # Contains the following key-value pairs: - - # - **wd_unc** (*np.array*): Wind direction deviations from the - # original wind direction. - # - **wd_unc_pmf** (*np.array*): Probability of each wind - # direction deviation in **wd_unc** occuring. - # - **yaw_unc** (*np.array*): Yaw angle deviations from the - # original yaw angles. - # - **yaw_unc_pmf** (*np.array*): Probability of each yaw angle - # deviation in **yaw_unc** occuring. - - # Defaults to None, in which case default PMFs are calculated - # using values provided in **unc_options**. - # unc_options (dictionary, optional): A dictionary containing values - # used to create normally-distributed, zero-mean probability mass - # functions describing the distribution of wind direction and yaw - # position deviations when wind direction and/or yaw position - # uncertainty is included. This argument is only used when - # **unc_pmfs** is None and contains the following key-value pairs: - - # - **std_wd** (*float*): A float containing the standard - # deviation of the wind direction deviations from the - # original wind direction. - # - **std_yaw** (*float*): A float containing the standard - # deviation of the yaw angle deviations from the original yaw - # angles. - # - **pmf_res** (*float*): A float containing the resolution in - # degrees of the wind direction and yaw angle PMFs. - # - **pdf_cutoff** (*float*): A float containing the cumulative - # distribution function value at which the tails of the - # PMFs are truncated. - - # Defaults to None. Initializes to {'std_wd': 4.95, 'std_yaw': 1. - # 75, 'pmf_res': 1.0, 'pdf_cutoff': 0.995}. - # no_wake: (bool, optional): When *True* updates the turbine - # quantities without calculating the wake or adding the - # wake to the flow field. Defaults to *False*. - - # Returns: - # float: Wind plant power. #TODO negative? in kW? - # """ - - # self.calculate_wake(yaw_angles=yaw_angles, no_wake=no_wake) - - # return self.get_farm_power(include_unc=include_unc, unc_pmfs=unc_pmfs, unc_options=unc_options) - - # def copy_and_update_turbine_map( - # self, base_turbine_id: str, update_parameters: dict, new_id: str | None = None - # ) -> dict: - # """Creates a new copy of an existing turbine and updates the parameters based on - # user input. This function is a helper to make the v2 -> v3 transition easier. - - # Args: - # base_turbine_id (str): The base turbine's ID in `floris.farm.turbine_id`. - # update_parameters (dict): A dictionary of the turbine parameters to update - # and their new valies. - # new_id (str, optional): The new `turbine_id`, if `None` a unique - # identifier will be appended to the end. Defaults to None. - - # Returns: - # dict: A turbine mapping that can be passed directly to `change_turbine`. - # """ - # if new_id is None: - # new_id = f"{base_turbine_id}_copy{self.unique_copy_id}" - # self.unique_copy_id += 1 - - # turbine = {new_id: self.floris.turbine[base_turbine_id]._asdict()} - # turbine[new_id].update(update_parameters) - # return turbine - - # def change_turbine( - # self, - # turbine_indices: list[int], - # new_turbine_map: dict[str, dict[str, Any]], - # update_specified_wind_height: bool = False, - # ): - # """ - # Change turbine properties for specified turbines. - - # Args: - # turbine_indices (list[int]): List of turbine indices to change. - # new_turbine_map (dict[str, dict[str, Any]]): New dictionary of turbine - # parameters to create the new turbines for each of `turbine_indices`. - # update_specified_wind_height (bool, optional): When *True*, update specified - # wind height to match new hub_height. Defaults to *False*. - # """ - # new_turbine = True - # new_turbine_id = [*new_turbine_map][0] - # if new_turbine_id in self.floris.farm.turbine_map: - # new_turbine = False - # self.logger.info(f"Turbines {turbine_indices} will be re-mapped to the definition for: {new_turbine_id}") - - # self.floris.farm.turbine_id = [ - # new_turbine_id if i in turbine_indices else t_id for i, t_id in enumerate(self.floris.farm.turbine_id) - # ] - # if new_turbine: - # self.logger.info(f"Turbines {turbine_indices} have been mapped to the new definition for: {new_turbine_id}") - - # # Update the turbine mapping if a new turbine was provided, then regenerate the - # # farm arrays for the turbine farm - # if new_turbine: - # turbine_map = self.floris.farm._asdict()["turbine_map"] - # turbine_map.update(new_turbine_map) - # self.floris.farm.turbine_map = turbine_map - # self.floris.farm.generate_farm_points() - - # new_hub_height = new_turbine_map[new_turbine_id]["hub_height"] - # changed_hub_height = new_hub_height != self.floris.flow_field.reference_wind_height - - # # Alert user if changing hub-height and not specified wind height - # if changed_hub_height and not update_specified_wind_height: - # self.logger.info("Note, updating hub height but not updating " + "the specfied_wind_height") - - # if changed_hub_height and update_specified_wind_height: - # self.logger.info(f"Note, specfied_wind_height changed to hub-height: {new_hub_height}") - # self.reinitialize(specified_wind_height=new_hub_height) - - # # Finish by re-initalizing the flow field - # self.reinitialize() - - # def set_use_points_on_perimeter(self, use_points_on_perimeter=False): - # """ - # Set whether to use the points on the rotor diameter (perimeter) when - # calculating flow field and wake. - - # Args: - # use_points_on_perimeter (bool): When *True*, use points at rotor - # perimeter in wake and flow calculations. Defaults to *False*. - # """ - # for turbine in self.floris.farm.turbines: - # turbine.use_points_on_perimeter = use_points_on_perimeter - # turbine.initialize_turbine() - - # def set_gch(self, enable=True): - # """ - # Enable or disable Gauss-Curl Hybrid (GCH) functions - # :py:meth:`~.GaussianModel.calculate_VW`, - # :py:meth:`~.GaussianModel.yaw_added_recovery_correction`, and - # :py:attr:`~.VelocityDeflection.use_secondary_steering`. - - # Args: - # enable (bool, optional): Flag whether or not to implement flow - # corrections from GCH model. Defaults to *True*. - # """ - # self.set_gch_yaw_added_recovery(enable) - # self.set_gch_secondary_steering(enable) - - # def set_gch_yaw_added_recovery(self, enable=True): - # """ - # Enable or Disable yaw-added recovery (YAR) from the Gauss-Curl Hybrid - # (GCH) model and the control state of - # :py:meth:`~.GaussianModel.calculate_VW_velocities` and - # :py:meth:`~.GaussianModel.yaw_added_recovery_correction`. - - # Args: - # enable (bool, optional): Flag whether or not to implement yaw-added - # recovery from GCH model. Defaults to *True*. - # """ - # model_params = self.get_model_parameters() - # use_secondary_steering = model_params["Wake Deflection Parameters"]["use_secondary_steering"] - - # if enable: - # model_params["Wake Velocity Parameters"]["use_yaw_added_recovery"] = True - - # # If enabling be sure calc vw is on - # model_params["Wake Velocity Parameters"]["calculate_VW_velocities"] = True - - # if not enable: - # model_params["Wake Velocity Parameters"]["use_yaw_added_recovery"] = False - - # # If secondary steering is also off, disable calculate_VW_velocities - # if not use_secondary_steering: - # model_params["Wake Velocity Parameters"]["calculate_VW_velocities"] = False - - # self.set_model_parameters(model_params) - # self.reinitialize() - - # def set_gch_secondary_steering(self, enable=True): - # """ - # Enable or Disable secondary steering (SS) from the Gauss-Curl Hybrid - # (GCH) model and the control state of - # :py:meth:`~.GaussianModel.calculate_VW_velocities` and - # :py:attr:`~.VelocityDeflection.use_secondary_steering`. - - # Args: - # enable (bool, optional): Flag whether or not to implement secondary - # steering from GCH model. Defaults to *True*. - # """ - # model_params = self.get_model_parameters() - # use_yaw_added_recovery = model_params["Wake Velocity Parameters"]["use_yaw_added_recovery"] - - # if enable: - # model_params["Wake Deflection Parameters"]["use_secondary_steering"] = True - - # # If enabling be sure calc vw is on - # model_params["Wake Velocity Parameters"]["calculate_VW_velocities"] = True - - # if not enable: - # model_params["Wake Deflection Parameters"]["use_secondary_steering"] = False - - # # If yar is also off, disable calculate_VW_velocities - # if not use_yaw_added_recovery: - # model_params["Wake Velocity Parameters"]["calculate_VW_velocities"] = False - - # self.set_model_parameters(model_params) - # self.reinitialize() - - # def show_model_parameters( - # self, - # params=None, - # verbose=False, - # wake_velocity_model=True, - # wake_deflection_model=True, - # turbulence_model=False, - # ): - # """ - # Helper function to print the current wake model parameters and values. - # Shortcut to :py:meth:`~.tools.interface_utilities.show_params`. - - # Args: - # params (list, optional): Specific model parameters to be returned, - # supplied as a list of strings. If None, then returns all - # parameters. Defaults to None. - # verbose (bool, optional): If set to *True*, will return the - # docstrings for each parameter. Defaults to *False*. - # wake_velocity_model (bool, optional): If set to *True*, will return - # parameters from the wake_velocity model. If set to *False*, will - # exclude parameters from the wake velocity model. Defaults to - # *True*. - # wake_deflection_model (bool, optional): If set to *True*, will - # return parameters from the wake deflection model. If set to - # *False*, will exclude parameters from the wake deflection - # model. Defaults to *True*. - # turbulence_model (bool, optional): If set to *True*, will return - # parameters from the wake turbulence model. If set to *False*, - # will exclude parameters from the wake turbulence model. - # Defaults to *True*. - # """ - # show_params( - # self.floris.wake, - # params, - # verbose, - # wake_velocity_model, - # wake_deflection_model, - # turbulence_model, - # ) - - # def get_model_parameters( - # self, - # params=None, - # wake_velocity_model=True, - # wake_deflection_model=True, - # turbulence_model=True, - # ): - # """ - # Helper function to return the current wake model parameters and values. - # Shortcut to :py:meth:`~.tools.interface_utilities.get_params`. - - # Args: - # params (list, optional): Specific model parameters to be returned, - # supplied as a list of strings. If None, then returns all - # parameters. Defaults to None. - # wake_velocity_model (bool, optional): If set to *True*, will return - # parameters from the wake_velocity model. If set to *False*, will - # exclude parameters from the wake velocity model. Defaults to - # *True*. - # wake_deflection_model (bool, optional): If set to *True*, will - # return parameters from the wake deflection model. If set to - # *False*, will exclude parameters from the wake deflection - # model. Defaults to *True*. - # turbulence_model ([type], optional): If set to *True*, will return - # parameters from the wake turbulence model. If set to *False*, - # will exclude parameters from the wake turbulence model. - # Defaults to *True*. - - # Returns: - # dict: Dictionary containing model parameters and their values. - # """ - # model_params = get_params( - # self.floris.wake, params, wake_velocity_model, wake_deflection_model, turbulence_model - # ) - - # return model_params - - # def set_model_parameters(self, params, verbose=True): - # """ - # Helper function to set current wake model parameters. - # Shortcut to :py:meth:`~.tools.interface_utilities.set_params`. - - # Args: - # params (dict): Specific model parameters to be set, supplied as a - # dictionary of key:value pairs. - # verbose (bool, optional): If set to *True*, will print information - # about each model parameter that is changed. Defaults to *True*. - # """ - # self.floris.wake = set_params(self.floris.wake, params, verbose) - - - - - - - # def vis_layout( - # self, - # ax=None, - # show_wake_lines=False, - # limit_dist=None, - # turbine_face_north=False, - # one_index_turbine=False, - # black_and_white=False, - # ): - # """ - # Visualize the layout of the wind farm in the floris instance. - # Shortcut to :py:meth:`~.tools.layout_functions.visualize_layout`. - - # Args: - # ax (:py:class:`matplotlib.pyplot.axes`, optional): - # Figure axes. Defaults to None. - # show_wake_lines (bool, optional): Flag to control plotting of - # wake boundaries. Defaults to False. - # limit_dist (float, optional): Downstream limit to plot wakes. - # Defaults to None. - # turbine_face_north (bool, optional): Force orientation of wind - # turbines. Defaults to False. - # one_index_turbine (bool, optional): If *True*, 1st turbine is - # turbine 1. - # """ - # for i, turbine in enumerate(self.floris.farm.turbines): - # D = turbine.rotor_diameter - # break - # layout_x, layout_y = self.get_turbine_layout() - - # turbineLoc = build_turbine_loc(layout_x, layout_y) - - # # Show visualize the turbine layout - # visualize_layout( - # turbineLoc, - # D, - # ax=ax, - # show_wake_lines=show_wake_lines, - # limit_dist=limit_dist, - # turbine_face_north=turbine_face_north, - # one_index_turbine=one_index_turbine, - # black_and_white=black_and_white, - # ) - - # def show_flow_field(self, ax=None): - # """ - # Shortcut method to - # :py:meth:`~.tools.visualization.visualize_cut_plane`. - - # Args: - # ax (:py:class:`matplotlib.pyplot.axes` optional): - # Figure axes. Defaults to None. - # """ - # # Get horizontal plane at default height (hub-height) - # hor_plane = self.get_hor_plane() - - # # Plot and show - # if ax is None: - # fig, ax = plt.subplots() - # visualize_cut_plane(hor_plane, ax=ax) - # plt.show() From e82549305b0edc6fdc17d600be599a782558cc83 Mon Sep 17 00:00:00 2001 From: Rafael M Mudafort Date: Fri, 27 May 2022 17:50:16 -0500 Subject: [PATCH 03/22] Remove BaseModel.model_string attribute This is left over from v2 and not used in v3. Currently, we map model strings to model definitions directly in the Wake class. --- floris/simulation/base.py | 9 -------- floris/simulation/wake_combination/fls.py | 2 -- floris/simulation/wake_combination/max.py | 2 -- floris/simulation/wake_combination/sosfs.py | 2 -- floris/simulation/wake_deflection/gauss.py | 1 - floris/simulation/wake_deflection/jimenez.py | 1 - floris/simulation/wake_deflection/none.py | 1 - .../wake_turbulence/crespo_hernandez.py | 1 - floris/simulation/wake_turbulence/none.py | 2 -- .../wake_velocity/cumulative_gauss_curl.py | 2 -- floris/simulation/wake_velocity/gauss.py | 1 - floris/simulation/wake_velocity/jensen.py | 1 - floris/simulation/wake_velocity/none.py | 2 -- floris/simulation/wake_velocity/turbopark.py | 1 - tests/base_test.py | 23 ++++++++++++------- 15 files changed, 15 insertions(+), 36 deletions(-) diff --git a/floris/simulation/base.py b/floris/simulation/base.py index dbd36eab1..7af247446 100644 --- a/floris/simulation/base.py +++ b/floris/simulation/base.py @@ -63,15 +63,6 @@ class BaseModel(BaseClass, ABC): NUM_EPS: Final[float] = 0.001 # This is a numerical epsilon to prevent divide by zeros - @property - def model_string(self): - return self.model_string - - @model_string.setter - @abstractmethod - def model_string(self, string): - raise NotImplementedError("BaseModel.model_string") - @abstractmethod def prepare_function() -> dict: raise NotImplementedError("BaseModel.prepare_function") diff --git a/floris/simulation/wake_combination/fls.py b/floris/simulation/wake_combination/fls.py index 9a0860bfc..4f639f1f8 100644 --- a/floris/simulation/wake_combination/fls.py +++ b/floris/simulation/wake_combination/fls.py @@ -23,8 +23,6 @@ class FLS(BaseModel): deficits to the freestream flow field. """ - model_string = "fls" - def prepare_function(self) -> dict: pass diff --git a/floris/simulation/wake_combination/max.py b/floris/simulation/wake_combination/max.py index cc8b92a28..9e342617f 100644 --- a/floris/simulation/wake_combination/max.py +++ b/floris/simulation/wake_combination/max.py @@ -30,8 +30,6 @@ class MAX(BaseModel): :keyprefix: max- """ - model_string = "max" - def prepare_function(self) -> dict: pass diff --git a/floris/simulation/wake_combination/sosfs.py b/floris/simulation/wake_combination/sosfs.py index 1754d61fd..ca3e6cdc3 100644 --- a/floris/simulation/wake_combination/sosfs.py +++ b/floris/simulation/wake_combination/sosfs.py @@ -23,8 +23,6 @@ class SOSFS(BaseModel): wake velocity deficits to the base flow field. """ - model_string = "sosfs" - def prepare_function(self) -> dict: pass diff --git a/floris/simulation/wake_deflection/gauss.py b/floris/simulation/wake_deflection/gauss.py index 55e883332..78515ee54 100644 --- a/floris/simulation/wake_deflection/gauss.py +++ b/floris/simulation/wake_deflection/gauss.py @@ -79,7 +79,6 @@ class GaussVelocityDeflection(BaseModel): dm: float = field(converter=float, default=1.0) eps_gain: float = field(converter=float, default=0.2) use_secondary_steering: bool = field(converter=bool, default=True) - model_string = "gauss" def prepare_function( self, diff --git a/floris/simulation/wake_deflection/jimenez.py b/floris/simulation/wake_deflection/jimenez.py index 656f377c3..d73c80a86 100644 --- a/floris/simulation/wake_deflection/jimenez.py +++ b/floris/simulation/wake_deflection/jimenez.py @@ -40,7 +40,6 @@ class JimenezVelocityDeflection(BaseModel): kd: float = field(default=0.05) ad: float = field(default=0.0) bd: float = field(default=0.0) - model_string = "jimenez" def prepare_function( self, diff --git a/floris/simulation/wake_deflection/none.py b/floris/simulation/wake_deflection/none.py index 1a748efce..6e2b7beb7 100644 --- a/floris/simulation/wake_deflection/none.py +++ b/floris/simulation/wake_deflection/none.py @@ -26,7 +26,6 @@ class NoneVelocityDeflection(BaseModel): The None deflection model is a placeholder code that simple ignores any deflection and returns an array of zeroes. """ - model_string = "none" def prepare_function( self, diff --git a/floris/simulation/wake_turbulence/crespo_hernandez.py b/floris/simulation/wake_turbulence/crespo_hernandez.py index 5cbf0f730..a7f0ff79f 100644 --- a/floris/simulation/wake_turbulence/crespo_hernandez.py +++ b/floris/simulation/wake_turbulence/crespo_hernandez.py @@ -57,7 +57,6 @@ class CrespoHernandez(BaseModel): constant: float = field(converter=float, default=0.9) ai: float = field(converter=float, default=0.8) downstream: float = field(converter=float, default=-0.32) - model_string = "crespo_hernandez" def prepare_function(self) -> dict: pass diff --git a/floris/simulation/wake_turbulence/none.py b/floris/simulation/wake_turbulence/none.py index 78c5a2d5e..1d0fd98ed 100644 --- a/floris/simulation/wake_turbulence/none.py +++ b/floris/simulation/wake_turbulence/none.py @@ -25,8 +25,6 @@ class NoneWakeTurbulence(BaseModel): any wake turbulence and just returns an array of the ambient TIs. """ - model_string = "none" - def prepare_function(self) -> dict: pass diff --git a/floris/simulation/wake_velocity/cumulative_gauss_curl.py b/floris/simulation/wake_velocity/cumulative_gauss_curl.py index 6a3f219e3..43ac50355 100644 --- a/floris/simulation/wake_velocity/cumulative_gauss_curl.py +++ b/floris/simulation/wake_velocity/cumulative_gauss_curl.py @@ -38,8 +38,6 @@ class CumulativeGaussCurlVelocityDeficit(BaseModel): c_f: float = field(default=2.41) alpha_mod: float = field(default=1.0) - model_string = "cumulative_gauss_curl" - def prepare_function( self, grid: Grid, diff --git a/floris/simulation/wake_velocity/gauss.py b/floris/simulation/wake_velocity/gauss.py index a1f1dbb71..c8efdb8ef 100644 --- a/floris/simulation/wake_velocity/gauss.py +++ b/floris/simulation/wake_velocity/gauss.py @@ -31,7 +31,6 @@ class GaussVelocityDeficit(BaseModel): beta: float = field(default=0.077) ka: float = field(default=0.38) kb: float = field(default=0.004) - model_string = "gauss" def prepare_function( self, diff --git a/floris/simulation/wake_velocity/jensen.py b/floris/simulation/wake_velocity/jensen.py index fea1e0e7c..62e0d709c 100644 --- a/floris/simulation/wake_velocity/jensen.py +++ b/floris/simulation/wake_velocity/jensen.py @@ -42,7 +42,6 @@ class JensenVelocityDeficit(BaseModel): """ we: float = field(converter=float, default=0.05) - model_string = "jensen" def prepare_function( self, diff --git a/floris/simulation/wake_velocity/none.py b/floris/simulation/wake_velocity/none.py index 3c891c7ec..831f52380 100644 --- a/floris/simulation/wake_velocity/none.py +++ b/floris/simulation/wake_velocity/none.py @@ -27,8 +27,6 @@ class NoneVelocityDeficit(BaseModel): wake wind speed deficits and returns an array of zeroes. """ - model_string = "none" - def prepare_function( self, grid: Grid, diff --git a/floris/simulation/wake_velocity/turbopark.py b/floris/simulation/wake_velocity/turbopark.py index 7af2d964c..2f82a7518 100644 --- a/floris/simulation/wake_velocity/turbopark.py +++ b/floris/simulation/wake_velocity/turbopark.py @@ -36,7 +36,6 @@ class TurbOParkVelocityDeficit(BaseModel): A: float = field(default=0.04) sigma_max_rel: float = field(default=4.0) overlap_gauss_interp: RegularGridInterpolator = field(init=False) - model_string = "turbopark" def __attrs_post_init__(self) -> None: lookup_table_matlab_file = Path(__file__).parent / "turbopark_lookup_table.mat" diff --git a/tests/base_test.py b/tests/base_test.py index bf9e36dc1..81681632f 100644 --- a/tests/base_test.py +++ b/tests/base_test.py @@ -13,28 +13,35 @@ # See https://floris.readthedocs.io for documentation -import attr import pytest +from attr import define, field + from floris.simulation import BaseClass, BaseModel -@attr.s(auto_attribs=True) -class ClassTest(BaseClass): - x: int = attr.ib(default=1, converter=int) - model_string: str = attr.ib(default="test", converter=str) +@define +class ClassTest(BaseModel): + x: int = field(default=1, converter=int) + a_string: str = field(default="abc", converter=str) + + def prepare_function() -> dict: + return {} + + def function() -> None: + return None def test_get_model_defaults(): defaults = ClassTest.get_model_defaults() assert len(defaults) == 2 assert defaults["x"] == 1 - assert defaults["model_string"] == "test" + assert defaults["a_string"] == "abc" def test_get_model_values(): - cls = ClassTest(x=4, model_string="new") + cls = ClassTest(x=4, a_string="xyz") values = cls._get_model_dict() assert len(values) == 2 assert values["x"] == 4 - assert values["model_string"] == "new" + assert values["a_string"] == "xyz" From 5dea6591c6e61fe9dbd00db03442afe852e83c06 Mon Sep 17 00:00:00 2001 From: Rafael M Mudafort Date: Fri, 27 May 2022 17:52:47 -0500 Subject: [PATCH 04/22] Remove unused code and clean up imports --- floris/simulation/base.py | 1 - floris/simulation/farm.py | 3 +- floris/simulation/floris.py | 1 - floris/simulation/grid.py | 2 +- floris/simulation/solver.py | 1 - floris/simulation/wake_deflection/curl.py | 72 ------------------- floris/simulation/wake_deflection/gauss.py | 2 +- .../wake_turbulence/crespo_hernandez.py | 2 +- .../wake_velocity/cumulative_gauss_curl.py | 4 +- floris/simulation/wake_velocity/turbopark.py | 4 +- floris/tools/floris_interface.py | 23 ++---- 11 files changed, 12 insertions(+), 103 deletions(-) delete mode 100644 floris/simulation/wake_deflection/curl.py diff --git a/floris/simulation/base.py b/floris/simulation/base.py index 7af247446..433952f94 100644 --- a/floris/simulation/base.py +++ b/floris/simulation/base.py @@ -21,7 +21,6 @@ from typing import Any, Dict, Final import attrs -from attrs import define from floris.type_dec import FromDictMixin from floris.logging_manager import LoggerBase diff --git a/floris/simulation/farm.py b/floris/simulation/farm.py index 186ed0d77..25f65bc11 100644 --- a/floris/simulation/farm.py +++ b/floris/simulation/farm.py @@ -17,7 +17,6 @@ from attrs import define, field import numpy as np from pathlib import Path -import os import copy from floris.type_dec import ( @@ -83,7 +82,7 @@ def check_turbine_type(self, instance: attrs.Attribute, value: Any) -> None: if type(val) is str: _floris_dir = Path(__file__).parent.parent fname = _floris_dir / "turbine_library" / f"{val}.yaml" - if not os.path.isfile(fname): + if not Path.is_file(fname): raise ValueError("User-selected turbine definition `{}` does not exist in pre-defined turbine library.".format(val)) self.turbine_definitions[i] = load_yaml(fname) diff --git a/floris/simulation/floris.py b/floris/simulation/floris.py index cb0c89c71..366166e98 100644 --- a/floris/simulation/floris.py +++ b/floris/simulation/floris.py @@ -25,7 +25,6 @@ Farm, WakeModelManager, FlowField, - Turbine, Grid, TurbineGrid, FlowFieldGrid, diff --git a/floris/simulation/grid.py b/floris/simulation/grid.py index 9dc9ddbec..bf79692f0 100644 --- a/floris/simulation/grid.py +++ b/floris/simulation/grid.py @@ -22,7 +22,7 @@ from attrs import define, field import numpy as np -from floris.utilities import Vec3, rotate_coordinates_rel_west, cosd, sind +from floris.utilities import Vec3, rotate_coordinates_rel_west from floris.type_dec import ( floris_float_type, floris_array_converter, diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index 6a404159a..d25d18755 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -16,7 +16,6 @@ import sys from floris.simulation import Farm -from floris.simulation import Turbine from floris.simulation import TurbineGrid, FlowFieldGrid from floris.simulation import Ct, axial_induction from floris.simulation import FlowField diff --git a/floris/simulation/wake_deflection/curl.py b/floris/simulation/wake_deflection/curl.py deleted file mode 100644 index b49a9f580..000000000 --- a/floris/simulation/wake_deflection/curl.py +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2021 NREL - -# Licensed under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations under -# the License. - -import numpy as np - -from .base_velocity_deflection import VelocityDeflection - - -class Curl(VelocityDeflection): - """ - Stand-in class for the curled wake model. Wake deflection with the curl - model is handled inherently in the wake velocity portion of the model. - Passes zeros for deflection values. See - :cite:`cdm-martinez2019aerodynamics` for additional info on the curled wake - model. - - References: - .. bibliography:: /source/zrefs.bib - :style: unsrt - :filter: docname in docnames - :keyprefix: cdm- - """ - - def __init__(self, parameter_dictionary): - """ - See super-class for initialization details. See - :py:class:`floris.simulation.wake_velocity.curl` for details on - `parameter_dictionary`. - - Args: - parameter_dictionary (dict): Model-specific parameters. - """ - super().__init__(parameter_dictionary) - self.model_string = "curl" - - def function( - self, x_locations, y_locations, z_locations, turbine, coord, flow_field - ): - """ - Passes zeros for wake deflection as deflection is inherently handled in - the wake velocity portion of the curled wake model. - - Args: - x_locations (np.array): An array of floats that contains the - streamwise direction grid coordinates of the flow field - domain (m). - y_locations (np.array): An array of floats that contains the grid - coordinates of the flow field domain in the direction normal to - x and parallel to the ground (m). - z_locations (np.array): An array of floats that contains the grid - coordinates of the flow field domain in the vertical - direction (m). - turbine (:py:obj:`floris.simulation.turbine`): Object that - represents the turbine creating the wake. - coord (:py:obj:`floris.utilities.Vec3`): Object containing - the coordinate of the turbine creating the wake (m). - flow_field (:py:class:`floris.simulation.flow_field`): Object - containing the flow field information for the wind farm. - - Returns: - np.array: Zeros the same size as the flow field grid points. - """ - return np.zeros(np.shape(x_locations)) diff --git a/floris/simulation/wake_deflection/gauss.py b/floris/simulation/wake_deflection/gauss.py index 78515ee54..3e9c6f7fb 100644 --- a/floris/simulation/wake_deflection/gauss.py +++ b/floris/simulation/wake_deflection/gauss.py @@ -20,7 +20,7 @@ from floris.simulation import FlowField from floris.simulation import Grid from floris.simulation import Turbine -from floris.utilities import cosd, sind, tand +from floris.utilities import cosd, sind @define diff --git a/floris/simulation/wake_turbulence/crespo_hernandez.py b/floris/simulation/wake_turbulence/crespo_hernandez.py index a7f0ff79f..a5f7f7549 100644 --- a/floris/simulation/wake_turbulence/crespo_hernandez.py +++ b/floris/simulation/wake_turbulence/crespo_hernandez.py @@ -20,7 +20,7 @@ from floris.simulation import FlowField from floris.simulation import Grid from floris.simulation import Turbine -from floris.utilities import cosd, sind, tand +from floris.utilities import cosd, sind @define diff --git a/floris/simulation/wake_velocity/cumulative_gauss_curl.py b/floris/simulation/wake_velocity/cumulative_gauss_curl.py index 43ac50355..e2cc5d512 100644 --- a/floris/simulation/wake_velocity/cumulative_gauss_curl.py +++ b/floris/simulation/wake_velocity/cumulative_gauss_curl.py @@ -13,9 +13,7 @@ from typing import Any, Dict from attrs import define, field -import numexpr as ne import numpy as np -from numpy import newaxis as na from scipy.special import gamma from floris.simulation import BaseModel @@ -23,7 +21,7 @@ from floris.simulation import FlowField from floris.simulation import Grid from floris.simulation import Turbine -from floris.utilities import cosd, sind, tand, pshape +from floris.utilities import cosd, sind, tand @define diff --git a/floris/simulation/wake_velocity/turbopark.py b/floris/simulation/wake_velocity/turbopark.py index 2f82a7518..20bf8ffa2 100644 --- a/floris/simulation/wake_velocity/turbopark.py +++ b/floris/simulation/wake_velocity/turbopark.py @@ -18,11 +18,13 @@ from scipy import integrate from scipy.interpolate import RegularGridInterpolator import scipy.io -import os from floris.simulation import BaseModel +from floris.simulation import Farm from floris.simulation import FlowField from floris.simulation import Grid +from floris.simulation import Turbine +from floris.utilities import cosd, sind, tand @define diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index be32a7b45..4f3b33723 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -14,33 +14,18 @@ from __future__ import annotations -import copy -from typing import Any, Tuple +from typing import Tuple from pathlib import Path -from itertools import repeat, product -from multiprocessing import cpu_count -from multiprocessing.pool import Pool import numpy as np import pandas as pd -import numpy.typing as npt -import matplotlib.pyplot as plt -from scipy.stats import norm from scipy.interpolate import LinearNDInterpolator, NearestNDInterpolator -from numpy.lib.arraysetops import unique -from floris.utilities import Vec3 from floris.type_dec import NDArrayFloat -from floris.simulation import Farm, Floris, FlowField, WakeModelManager, farm, floris, flow_field +from floris.simulation import Floris from floris.logging_manager import LoggerBase -from floris.tools.cut_plane import get_plane_from_flow_data -# from floris.tools.flow_data import FlowData from floris.simulation.turbine import Ct, power, axial_induction, average_velocity -from floris.tools.interface_utilities import get_params, set_params, show_params -from floris.tools.cut_plane import CutPlane, change_resolution, get_plane_from_flow_data - -# from .visualization import visualize_cut_plane -# from .layout_functions import visualize_layout, build_turbine_loc +from floris.tools.cut_plane import CutPlane class FlorisInterface(LoggerBase): @@ -70,7 +55,7 @@ def __init__(self, configuration: dict | str | Path, het_map=None): self.floris = Floris.from_dict(self.configuration) else: - raise TypeError("The Floris `configuration` must of type 'dict', 'str', or 'Path'.") + raise TypeError("The Floris `configuration` must be of type 'dict', 'str', or 'Path'.") # Store the heterogeneous map for use after reinitailization self.het_map = het_map From 4feaea369055cc7cedd76a482867aac6a06d20bc Mon Sep 17 00:00:00 2001 From: bayc Date: Fri, 3 Jun 2022 16:24:32 -0600 Subject: [PATCH 05/22] Enabling vectorized time series calculation of wind conditions (#400) * enabling time series calculation of wind conditions * Add an example using time series Co-authored-by: Rafael M Mudafort Co-authored-by: Paul --- examples/18_demo_time_series.py | 89 ++++++++++++++++++++++++++++++++ floris/simulation/floris.py | 3 ++ floris/simulation/flow_field.py | 13 +++-- floris/simulation/grid.py | 6 ++- floris/simulation/solver.py | 1 + floris/tools/floris_interface.py | 8 ++- tests/conftest.py | 4 +- 7 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 examples/18_demo_time_series.py diff --git a/examples/18_demo_time_series.py b/examples/18_demo_time_series.py new file mode 100644 index 000000000..631105c4a --- /dev/null +++ b/examples/18_demo_time_series.py @@ -0,0 +1,89 @@ +# Copyright 2021 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import matplotlib.pyplot as plt +import numpy as np + +from floris.tools import FlorisInterface + +""" +This example demonstrates running FLORIS in time series mode. + +Typically when an array of wind directions and wind speeds are passed in FLORIS, +it is assumed these are defining a grid of wd/ws points to consider, as in a wind rose. +All combinations of wind direction and wind speed are therefore computed, and resulting +matrices, for example of turbine power are returned with martrices whose dimensions are +wind direction, wind speed and turbine number. + +In time series mode, specified by setting the time_series flag of the FLORIS interface to True +each wd/ws pair is assumed to constitute a single point in time and each pair is computed. +Results are returned still as a 3 dimensional matrix, however the index of the (wd/ws) pair +is provided in the first dimension, the second dimension is fixed at 1, and the thrid is +turbine number again for consistency. + +Note by not specifying yaw, the assumption is that all turbines are always pointing into the +current wind direction with no offset. +""" + +# Initialize FLORIS to simple 4 turbine farm +fi = FlorisInterface("inputs/gch.yaml") + +# Convert to a simple two turbine layout +fi.reinitialize(layout=([0, 500.], [0., 0.])) + +# Create a fake time history where wind speed steps in the middle while wind direction +# Walks randomly +time = np.arange(0, 120, 10.) # Each time step represents a 10-minute average +ws = np.ones_like(time) * 8. +ws[int(len(ws) / 2):] = 9. +wd = np.ones_like(time) * 270. + +for idx in range(1, len(time)): + wd[idx] = wd[idx - 1] + np.random.randn() * 2. + + +# Now intiialize FLORIS object to this history using time_series flag +fi.reinitialize(wind_directions=wd, wind_speeds=ws, time_series=True) + +# Collect the powers +fi.calculate_wake() +turbine_powers = fi.get_turbine_powers() / 1000. + +# Show the dimensions +num_turbines = len(fi.layout_x) +print('There are %d time samples, and %d turbines and so the resulting turbine power matrix has the shape:' % (len(time), num_turbines), turbine_powers.shape) + + +fig, axarr = plt.subplots(3, 1, sharex=True, figsize=(7,8)) + +ax = axarr[0] +ax.plot(time, ws, 'o-') +ax.set_ylabel('Wind Speed (m/s)') +ax.grid(True) + +ax = axarr[1] +ax.plot(time, wd, 'o-') +ax.set_ylabel('Wind Direction (Deg)') +ax.grid(True) + +ax = axarr[2] +for t in range(num_turbines): + ax.plot(time,turbine_powers[:, 0, t], 'o-', label='Turbine %d' % t) +ax.legend() +ax.set_ylabel('Turbine Power (kW)') +ax.set_xlabel('Time (minutes)') +ax.grid(True) + +plt.show() \ No newline at end of file diff --git a/floris/simulation/floris.py b/floris/simulation/floris.py index 366166e98..8c157cdbe 100644 --- a/floris/simulation/floris.py +++ b/floris/simulation/floris.py @@ -82,6 +82,7 @@ def __attrs_post_init__(self) -> None: wind_directions=self.flow_field.wind_directions, wind_speeds=self.flow_field.wind_speeds, grid_resolution=self.solver["turbine_grid_points"], + time_series=self.flow_field.time_series, ) elif self.solver["type"] == "flow_field_grid": self.grid = FlowFieldGrid( @@ -90,6 +91,7 @@ def __attrs_post_init__(self) -> None: wind_directions=self.flow_field.wind_directions, wind_speeds=self.flow_field.wind_speeds, grid_resolution=self.solver["flow_field_grid_points"], + time_series=self.flow_field.time_series, ) elif self.solver["type"] == "flow_field_planar_grid": self.grid = FlowFieldPlanarGrid( @@ -102,6 +104,7 @@ def __attrs_post_init__(self) -> None: grid_resolution=self.solver["flow_field_grid_points"], x1_bounds=self.solver["flow_field_bounds"][0], x2_bounds=self.solver["flow_field_bounds"][1], + time_series=self.flow_field.time_series, ) else: raise ValueError( diff --git a/floris/simulation/flow_field.py b/floris/simulation/flow_field.py index abf973fad..0620738b7 100644 --- a/floris/simulation/flow_field.py +++ b/floris/simulation/flow_field.py @@ -34,7 +34,8 @@ class FlowField(FromDictMixin): wind_shear: float = field(converter=float) air_density: float = field(converter=float) turbulence_intensity: float = field(converter=float) - reference_wind_height: float = field(converter=float) + reference_wind_height: int = field(converter=int) + time_series : bool = field(default=False) n_wind_speeds: int = field(init=False) n_wind_directions: int = field(init=False) @@ -55,7 +56,10 @@ class FlowField(FromDictMixin): @wind_speeds.validator def wind_speeds_validator(self, instance: attrs.Attribute, value: NDArrayFloat) -> None: """Using the validator method to keep the `n_wind_speeds` attribute up to date.""" - self.n_wind_speeds = value.size + if self.time_series: + self.n_wind_speeds = 1 + else: + self.n_wind_speeds = value.size @wind_directions.validator def wind_directions_validator(self, instance: attrs.Attribute, value: NDArrayFloat) -> None: @@ -93,7 +97,10 @@ def initialize_velocity_field(self, grid: Grid) -> None: # here to do broadcasting from left to right (transposed), and then transpose back. # The result is an array the wind speed and wind direction dimensions on the left side # of the shape and the grid.template array on the right - self.u_initial_sorted = (self.wind_speeds[None, :].T * wind_profile_plane.T).T * speed_ups + if self.time_series: + self.u_initial_sorted = (self.wind_speeds[:].T * wind_profile_plane.T).T * speed_ups + else: + self.u_initial_sorted = (self.wind_speeds[None, :].T * wind_profile_plane.T).T * speed_ups self.v_initial_sorted = np.zeros(np.shape(self.u_initial_sorted), dtype=self.u_initial_sorted.dtype) self.w_initial_sorted = np.zeros(np.shape(self.u_initial_sorted), dtype=self.u_initial_sorted.dtype) diff --git a/floris/simulation/grid.py b/floris/simulation/grid.py index bf79692f0..2592ae9dd 100644 --- a/floris/simulation/grid.py +++ b/floris/simulation/grid.py @@ -61,6 +61,7 @@ class Grid(ABC): grid_resolution: int | Iterable = field() wind_directions: NDArrayFloat = field(converter=floris_array_converter) wind_speeds: NDArrayFloat = field(converter=floris_array_converter) + time_series: bool = field() n_turbines: int = field(init=False) n_wind_speeds: int = field(init=False) @@ -88,7 +89,10 @@ def check_coordinates(self, instance: attrs.Attribute, value: list[Vec3]) -> Non @wind_speeds.validator def wind_speeds_validator(self, instance: attrs.Attribute, value: NDArrayFloat) -> None: """Using the validator method to keep the `n_wind_speeds` attribute up to date.""" - self.n_wind_speeds = value.size + if self.time_series: + self.n_wind_speeds = 1 + else: + self.n_wind_speeds = value.size @wind_directions.validator def wind_directions_validator(self, instance: attrs.Attribute, value: NDArrayFloat) -> None: diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index d25d18755..6889d2038 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -232,6 +232,7 @@ def full_flow_sequential_solver(farm: Farm, flow_field: FlowField, flow_field_gr wind_directions=turbine_grid_flow_field.wind_directions, wind_speeds=turbine_grid_flow_field.wind_speeds, grid_resolution=3, + time_series=turbine_grid_flow_field.time_series, ) turbine_grid_farm.expand_farm_properties( turbine_grid_flow_field.n_wind_directions, turbine_grid_flow_field.n_wind_speeds, turbine_grid.sorted_coord_indices diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index 4f3b33723..ef2e4d5f1 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -170,7 +170,8 @@ def reinitialize( # turbine_id: list[str] | None = None, # wtg_id: list[str] | None = None, # with_resolution: float | None = None, - solver_settings: dict | None = None + solver_settings: dict | None = None, + time_series: bool | None = False ): # Export the floris object recursively as a dictionary floris_dict = self.floris.as_dict() @@ -202,6 +203,11 @@ def reinitialize( if turbine_type is not None: farm_dict["turbine_type"] = turbine_type + if time_series: + flow_field_dict["time_series"] = True + else: + flow_field_dict["time_series"] = False + ## Wake # if wake is not None: # self.floris.wake = wake diff --git a/tests/conftest.py b/tests/conftest.py index 610eb6755..95807ebf0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -90,6 +90,7 @@ def print_test_values(average_velocities: list, thrusts: list, powers: list, axi N_TURBINES = len(X_COORDS) ROTOR_DIAMETER = 126.0 TURBINE_GRID_RESOLUTION = 2 +TIME_SERIES = False ## Unit test fixtures @@ -116,7 +117,8 @@ def turbine_grid_fixture(sample_inputs_fixture) -> TurbineGrid: reference_turbine_diameter=rotor_diameters, wind_directions=np.array(WIND_DIRECTIONS), wind_speeds=np.array(WIND_SPEEDS), - grid_resolution=TURBINE_GRID_RESOLUTION + grid_resolution=TURBINE_GRID_RESOLUTION, + time_series=TIME_SERIES ) @pytest.fixture From ce5245e5adc299792f1bfceb3afa236638ed2d09 Mon Sep 17 00:00:00 2001 From: bayc Date: Wed, 29 Jun 2022 14:11:47 -0600 Subject: [PATCH 06/22] Add method for returning turbine turbulence intensities (#452) --- floris/tools/floris_interface.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index ef2e4d5f1..6fdb30597 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -589,6 +589,9 @@ def get_turbine_average_velocities(self) -> NDArrayFloat: ) return turbine_avg_vels + def get_turbine_TIs(self) -> NDArrayFloat: + return self.floris.flow_field.turbulence_intensity_field + def get_farm_power( self, use_turbulence_correction=False, From a34c6c8ee19ec19f1df2afa30e5800324625b1b1 Mon Sep 17 00:00:00 2001 From: paulf81 Date: Mon, 18 Jul 2022 10:49:34 -0600 Subject: [PATCH 07/22] Add example of getting wind speeds at turbines (#423) --- examples/18_get_wind_speed_at_turbines.py | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 examples/18_get_wind_speed_at_turbines.py diff --git a/examples/18_get_wind_speed_at_turbines.py b/examples/18_get_wind_speed_at_turbines.py new file mode 100644 index 000000000..f2f078e51 --- /dev/null +++ b/examples/18_get_wind_speed_at_turbines.py @@ -0,0 +1,47 @@ +# Copyright 2021 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import matplotlib.pyplot as plt +import numpy as np + +from floris.tools import FlorisInterface + +# Initialize FLORIS with the given input file via FlorisInterface. +# For basic usage, FlorisInterface provides a simplified and expressive +# entry point to the simulation routines. +fi = FlorisInterface("inputs/gch.yaml") + +# Create a 4-turbine layouts +fi.reinitialize( layout=( [0, 0., 500., 500.], [0., 300., 0., 300.] ) ) + +# Calculate wake +fi.calculate_wake() + +# Collect the wind speed at all the turbine points +u_points = fi.floris.flow_field.u + +print('U points is 1 wd x 1 ws x 4 turbines x 3 x 3 points (turbine_grid_points=3)') +print(u_points.shape) + +# Collect the average wind speeds from each turbine +avg_vel = fi.get_turbine_average_velocities() + +print('Avg vel is 1 wd x 1 ws x 4 turbines') +print(avg_vel.shape) + +# Show that one is equivalent to the other following averaging +print('Avg Vel is determined by taking the cube root of mean of the cubed value across the points') +print('Average velocity: ', avg_vel) +print('Recomputed: ', np.cbrt(np.mean(u_points**3, axis=(3,4)))) From a9d024fdac2ae6b37f88a061c77fd181bc3bb3ea Mon Sep 17 00:00:00 2001 From: paulf81 Date: Wed, 27 Jul 2022 14:15:34 -0600 Subject: [PATCH 08/22] bugfix: pass in het map when copying fi (#456) --- floris/tools/floris_interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index 6fdb30597..fdac03767 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -84,7 +84,7 @@ def assign_hub_height_to_ref_height(self): def copy(self): """Create an independent copy of the current FlorisInterface object""" - return FlorisInterface(self.floris.as_dict()) + return FlorisInterface(self.floris.as_dict(), het_map=self.het_map) def calculate_wake( self, From cb1f54f62c8e5131a3f3c2ff8a2e5155192ceaa7 Mon Sep 17 00:00:00 2001 From: Rob Hammond <13874373+RHammond2@users.noreply.github.com> Date: Wed, 27 Jul 2022 14:24:29 -0600 Subject: [PATCH 09/22] Bugfix: Convert `layout` to `layout_x` and `layout_y` in `FlorisInterface.reinitalize` (#470) * split layout into x and y components * update the uncertainty inferace to match the new layout input * update examples to use layout_x and layout_y * update notebook example to get QA checks passing * bring pre-commit settings up to date * add layout back but map to x,y inputs with deprecation warning * swtich to logger warning --- .pre-commit-config.yaml | 5 +- examples/00_getting_started.ipynb | 59 +++++------ examples/01_opening_floris_computing_power.py | 2 +- examples/03_making_adjustments.py | 2 +- examples/04_sweep_wind_directions.py | 2 +- examples/05_sweep_wind_speeds.py | 2 +- examples/06_sweep_wind_conditions.py | 2 +- examples/07_calc_aep_from_rose.py | 3 +- examples/08_opt_yaw_single_ws.py | 3 +- examples/09_opt_yaw_multiple_ws.py | 3 +- examples/10_optimize_yaw.py | 2 +- examples/11_optimize_layout.py | 2 +- examples/12_compare_yaw_optimizers.py | 3 +- examples/15_check_turbine.py | 2 +- examples/16_streamlit_demo.py | 16 ++- ...7_calculate_farm_power_with_uncertainty.py | 4 +- examples/18_demo_time_series.py | 2 +- examples/18_get_wind_speed_at_turbines.py | 2 +- floris/tools/floris_interface.py | 95 +++++++++--------- .../tools/optimization/pyoptsparse/layout.py | 2 +- floris/tools/uncertainty_interface.py | 98 ++++++++----------- 21 files changed, 159 insertions(+), 152 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e849037e6..eaa1d829f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: stages: [commit] - repo: https://github.com/psf/black - rev: 21.9b0 + rev: 22.6.0 hooks: - id: black name: black @@ -23,7 +23,7 @@ repos: # args: [--no-strict-optional, --ignore-missing-imports] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.0.1 + rev: v4.3.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -40,3 +40,4 @@ repos: rev: '4.0.1' hooks: - id: flake8 + args: [--max-line-length=120] diff --git a/examples/00_getting_started.ipynb b/examples/00_getting_started.ipynb index 6351cba90..8b9d4629a 100644 --- a/examples/00_getting_started.ipynb +++ b/examples/00_getting_started.ipynb @@ -112,7 +112,7 @@ "source": [ "x_2x2 = [0, 0, 800, 800]\n", "y_2x2 = [0, 400, 0, 400]\n", - "fi.reinitialize( layout=(x_2x2, y_2x2) )\n", + "fi.reinitialize(layout_x=x_2x2, layout_y=y_2x2)\n", "\n", "x, y = fi.get_turbine_layout()\n", "\n", @@ -210,7 +210,7 @@ }, { "data": { - "image/png": "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yfEr0LFarThw4ACrekuBxdoUzMQbKeHDIhiGwYkTJ/D000/jr3/9K15++WUolUp861vfwmc+8xk8+uij6O/vR4iHd1yvx2g0gsfj4dJLL0VVVRXMZrNfgY7NZsMXv/hF3HjjjbjtttuScn0pfIo1saJzMTY2hl27dqGrqwtlZWUwGAwAFleX7OxsGAwGXHPNNXjggQewc+dOAIuh7k9/+tNkFVZWBFqtFi+//DJefPFFzM7OevXUJ2qln5qaglqtRnNz87KmE2omqVKp8MMf/hAMw+Bzn/scHnzwwXWxbx0hUis6FynhQ2AolUrccccdOHbsGP73f/8XGzduxL/+679i586deOihh3DmzBl4PJ64nU+lUgUkOQDWrnnHjh3Iz89Hfn4+3n77bdx0000xnff2229HXl4eaxEGADqdDldccQVqa2txxRVXQK/XA1h8+N9zzz2oqalBU1MTTp8+HdO51zLWDNGDCR8ArBvhQziQy+W45ZZb8PLLL+Pdd99FW1sbfvazn+Hiiy/Ggw8+iJMnT8ZE+nPnzmF2djYgySlcLhfuvPNObN++HS+++CL+8pe/4Omnn476vADwpS99Ca+//rrXa4888gguu+wyDA4O4rLLLmM73V577TUMDg5icHAQ//3f/4277rorpnOvZawJohNCcMcdd6Curg7f+ta32Nf37t2LZ555BgDwzDPPYN++fezrv/vd70AIwYcffoisrKzzQq8cDTIyMnDo0CG88MILOHHiBC6++GL86le/wkUXXYT7778fH3zwAdxud9jHo4XRUCR3u9246667UF9fj+9+97tstBXrdNpdu3YtExOtt1pNVCCEBPtvVeC9994jAEhjYyNpbm4mzc3N5NixY2Rubo7s3r2b1NTUkMsuu4xotVpCCCEej4d87WtfI1VVVaShoYGcPHlyhd/B6oPVaiWvvvoqueWWW0hDQwP58pe/TF577TUyPz9PzGaz3/+GhobIu+++SxYWFgL+jNlsJgsLC+RLX/oSeeCBB4jH44n7tY+OjpLNmzezX2dlZbH/9ng87NdXX301ee+999jv7d69e7XeC6F4GPN/a6KpZefOnQEryW+99day1xiGwS9+8YtEX9aahkQiwZ49e7Bnzx44HA785S9/wZEjR3Dfffdhx44d2L9/Py655BK2p35mZoa1iA62kns8Hnz7299GdnY2Hn744aTXTdZ7rSYQ1gTRkw23242tW7eiuLgYR48eTcbY3BWFSCTCVVddhauuugoulwvvvvsuXnjhBXz3u99FW1sb8vPzYTQa8eijjwY1sPB4PHjggQcgEonw2GOPJc2fbj02qUSKNZGjJxtPPPEE6urq2K/vv/9+fPOb38TQ0BCys7Px1FNPAQCeeuopZGdnY2hoCN/85jdx//33r9Qlxw0CgQC7d+/Gk08+ibNnz2LDhg149tln8dFHH+ErX/kKXn31VVgslmW/5/F48IMf/AAOhwP/8R//kVQTylStJgyEiO3XHSYnJ8nu3bvJW2+9Ra6++mri8XiIUqkkTqeTEELIBx98QD772c8SQgj57Gc/Sz744ANCCCFOp5MolcqE5KQrBafTSW677TZiMBiI2+0mJ06cIN/61rdIU1MTuf7668nvf/97Mjs7S0wmE7n//vvJrbfeSlwuV0Kv6dChQ6SgoIAIBAJSXFxMfv3rX58PtZqE5+gpovvg+uuvJ5988gl5++23ydVXX000Gg2prq5mvz8xMcEWgjZv3kwmJyfZ71VVVRGNRpP0a0423G43+eSTT8j9999PWlpaSH19Pdm/f3/CSX4eI1WMSyaOHj2KvLw8bNmyBe+8885KX86qBY/Hw5YtW7Blyxb8+Mc/xtGjR7F79+7z3ZJ5TSNFdA7ef/99vPrqqzh+/DhsNhsWFhZw7733nhdjcxMFHo+HvXv3rvRlpBACqWIcBz/5yU8wNTWFsbExPPvss9i9ezf+8Ic/4DOf+QwOHz4MYHmxhxaBDh8+jN27d6e2dlJYlUgRPQz89Kc/xeOPP46amhpotVrccccdAIA77rgDWq0WNTU1ePzxx6MaMpBCCsnAmuteS2F94Hye9OMHqe618xkGgwE33HADNm3ahLq6Opw4cSLViYVFwdLXv/51vPbaa+jp6cGf/vQn9PT0rPRlrWmkiL6CuPfee3HVVVehr68PZ8+eRV1dXaoTC+tr0k+ykCL6CmF+fh7vvvsum++LRCLI5fJUJxYCT0xJIXqkiL5CGB0dRW5uLm677Ta0trbizjvvhNlsjnhcUAophIMU0VcILpcLp0+fxl133YX29nakp6cvq9qv106sVDNK/JEi+gqhpKQEJSUl2LFjBwDghhtuwOnTp1OuOQC2bduGwcFBjI6OwuFw4Nlnn02JcmJEiugrhIKCApSWlqK/vx/AYl99fX19qhMLix10//Vf/4Urr7wSdXV1OHDgQGqcV4xI7aOvIM6cOYM777wTDocDVVVVePrpp+HxeFbbuKAUEo/UAIcUUlgHSDjRQzW1rL9K0HkKhmG+CeBOLD68OwHcBqAQwLMAlABOAbiZEOJgGEYM4HcAtgDQAjhICBlbietOIT5I5ejrAAzDFAO4B8BWQkgDAD6AQwB+CuBnhJAaAHoAdyz9yh0A9Euv/2zp51JYw0gRff1AACCNYRgBACmAaQC7ARxe+v4zAPYv/Xvf0tdY+v5lzHrc5zuPkCL6OgAhRAXgMQATWCT4PBZDdQMhxLX0Y1MA6H5dMYDJpd91Lf38+mq0P8+QIvo6AMMw2VhcpSsBFAFIB3DVil5UCklFiujrA5cDGCWEaAghTgAvArgYgHwplAeAEgBUU6sCUAoAS9/PwmJRLoU1ihTR1wcmAFzAMIx0Kde+DEAPgLcB3LD0M7cCoC1iry59jaXv/4WE2IdNYXUj1D56CucJGIb5EYCDAFwA2rG41VaMxe01xdJr/x8hxM4wjATA7wG0AtABOEQIGVmRC08hLkgRPYUU1gFSoXsKKawDpIieQgrrACmip5DCOkCK6CmksA6QInoKKawDpIieQgrrACmip5DCOkCK6CmksA7w/wPWhJu78Lh/JAAAAABJRU5ErkJggg==", + "image/png": "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yfEr0LFarThw4ACrekuBxdoUzMQbKeHDIhiGwYkTJ/D000/jr3/9K15++WUolUp861vfwmc+8xk8+uij6O/vR4iHd1yvx2g0gsfj4dJLL0VVVRXMZrNfgY7NZsMXv/hF3HjjjbjtttuScn0pfIo1saJzMTY2hl27dqGrqwtlZWUwGAwAFleX7OxsGAwGXHPNNXjggQewc+dOAIuh7k9/+tNkFVZWBFqtFi+//DJefPFFzM7OevXUJ2qln5qaglqtRnNz87KmE2omqVKp8MMf/hAMw+Bzn/scHnzwwXWxbx0hUis6FynhQ2AolUrccccdOHbsGP73f/8XGzduxL/+679i586deOihh3DmzBl4PJ64nU+lUgUkOQDWrnnHjh3Iz89Hfn4+3n77bdx0000xnff2229HXl4eaxEGADqdDldccQVqa2txxRVXQK/XA1h8+N9zzz2oqalBU1MTTp8+HdO51zLWDNGDCR8ArBvhQziQy+W45ZZb8PLLL+Pdd99FW1sbfvazn+Hiiy/Ggw8+iJMnT8ZE+nPnzmF2djYgySlcLhfuvPNObN++HS+++CL+8pe/4Omnn476vADwpS99Ca+//rrXa4888gguu+wyDA4O4rLLLmM73V577TUMDg5icHAQ//3f/4277rorpnOvZawJohNCcMcdd6Curg7f+ta32Nf37t2LZ555BgDwzDPPYN++fezrv/vd70AIwYcffoisrKzzQq8cDTIyMnDo0CG88MILOHHiBC6++GL86le/wkUXXYT7778fH3zwAdxud9jHo4XRUCR3u9246667UF9fj+9+97tstBXrdNpdu3YtExOtt1pNVCCEBPtvVeC9994jAEhjYyNpbm4mzc3N5NixY2Rubo7s3r2b1NTUkMsuu4xotVpCCCEej4d87WtfI1VVVaShoYGcPHlyhd/B6oPVaiWvvvoqueWWW0hDQwP58pe/TF577TUyPz9PzGaz3/+GhobIu+++SxYWFgL+jNlsJgsLC+RLX/oSeeCBB4jH44n7tY+OjpLNmzezX2dlZbH/9ng87NdXX301ee+999jv7d69e7XeC6F4GPN/a6KpZefOnQEryW+99day1xiGwS9+8YtEX9aahkQiwZ49e7Bnzx44HA785S9/wZEjR3Dfffdhx44d2L9/Py655BK2p35mZoa1iA62kns8Hnz7299GdnY2Hn744aTXTdZ7rSYQ1gTRkw23242tW7eiuLgYR48eTcbY3BWFSCTCVVddhauuugoulwvvvvsuXnjhBXz3u99FW1sb8vPzYTQa8eijjwY1sPB4PHjggQcgEonw2GOPJc2fbj02qUSKNZGjJxtPPPEE6urq2K/vv/9+fPOb38TQ0BCys7Px1FNPAQCeeuopZGdnY2hoCN/85jdx//33r9Qlxw0CgQC7d+/Gk08+ibNnz2LDhg149tln8dFHH+ErX/kKXn31VVgslmW/5/F48IMf/AAOhwP/8R//kVQTylStJgyEiO3XHSYnJ8nu3bvJW2+9Ra6++mri8XiIUqkkTqeTEELIBx98QD772c8SQgj57Gc/Sz744ANCCCFOp5MolcqE5KQrBafTSW677TZiMBiI2+0mJ06cIN/61rdIU1MTuf7668nvf/97Mjs7S0wmE7n//vvJrbfeSlwuV0Kv6dChQ6SgoIAIBAJSXFxMfv3rX58PtZqE5+gpovvg+uuvJ5988gl5++23ydVXX000Gg2prq5mvz8xMcEWgjZv3kwmJyfZ71VVVRGNRpP0a0423G43+eSTT8j9999PWlpaSH19Pdm/f3/CSX4eI1WMSyaOHj2KvLw8bNmyBe+8885KX86qBY/Hw5YtW7Blyxb8+Mc/xtGjR7F79+7z3ZJ5TSNFdA7ef/99vPrqqzh+/DhsNhsWFhZw7733nhdjcxMFHo+HvXv3rvRlpBACqWIcBz/5yU8wNTWFsbExPPvss9i9ezf+8Ic/4DOf+QwOHz4MYHmxhxaBDh8+jN27d6e2dlJYlUgRPQz89Kc/xeOPP46amhpotVrccccdAIA77rgDWq0WNTU1ePzxx6MaMpBCCsnAmuteS2F94Hye9OMHqe618xkGgwE33HADNm3ahLq6Opw4cSLViYVFwdLXv/51vPbaa+jp6cGf/vQn9PT0rPRlrWmkiL6CuPfee3HVVVehr68PZ8+eRV1dXaoTC+tr0k+ykCL6CmF+fh7vvvsum++LRCLI5fJUJxYCT0xJIXqkiL5CGB0dRW5uLm677Ta0trbizjvvhNlsjnhcUAophIMU0VcILpcLp0+fxl133YX29nakp6cvq9qv106sVDNK/JEi+gqhpKQEJSUl2LFjBwDghhtuwOnTp1OuOQC2bduGwcFBjI6OwuFw4Nlnn02JcmJEiugrhIKCApSWlqK/vx/AYl99fX19qhMLix10//Vf/4Urr7wSdXV1OHDgQGqcV4xI7aOvIM6cOYM777wTDocDVVVVePrpp+HxeFbbuKAUEo/UAIcUUlgHSDjRQzW1rL9K0HkKhmG+CeBOLD68OwHcBqAQwLMAlABOAbiZEOJgGEYM4HcAtgDQAjhICBlbietOIT5I5ejrAAzDFAO4B8BWQkgDAD6AQwB+CuBnhJAaAHoAdyz9yh0A9Euv/2zp51JYw0gRff1AACCNYRgBACmAaQC7ARxe+v4zAPYv/Xvf0tdY+v5lzHrc5zuPkCL6OgAhRAXgMQATWCT4PBZDdQMhxLX0Y1MA6H5dMYDJpd91Lf38+mq0P8+QIvo6AMMw2VhcpSsBFAFIB3DVil5UCklFiujrA5cDGCWEaAghTgAvArgYgHwplAeAEgBUU6sCUAoAS9/PwmJRLoU1ihTR1wcmAFzAMIx0Kde+DEAPgLcB3LD0M7cCoC1iry59jaXv/4WE2IdNYXUj1D56CucJGIb5EYCDAFwA2rG41VaMxe01xdJr/x8hxM4wjATA7wG0AtABOEQIGVmRC08hLkgRPYUU1gFSoXsKKawDpIieQgrrACmip5DCOkCK6CmksA6QInoKKawDpIieQgrrACmip5DCOkCK6CmksA7w/wPWhJu78Lh/JAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -386,7 +386,7 @@ "yaw_angles[:, :, 0] = 25\n", "print(yaw_angles)\n", "\n", - "fi.calculate_wake( yaw_angles=yaw_angles )" + "fi.calculate_wake(yaw_angles=yaw_angles)" ] }, { @@ -438,7 +438,8 @@ "\n", "# Pass the new data to FlorisInterface\n", "fi.reinitialize(\n", - " layout=(x, y),\n", + " layout_x=x,\n", + " layout_y=y,\n", " wind_directions=wind_directions,\n", " wind_speeds=wind_speeds\n", ")\n", @@ -459,7 +460,7 @@ "yaw_angles[1, :, 1] = 10 # At 265 degrees, yaw the second turbine -25 degrees\n", "\n", "# 6. Calculate the velocities at each turbine for all atmospheric conditions with the new yaw settings\n", - "fi.calculate_wake( yaw_angles=yaw_angles )\n", + "fi.calculate_wake(yaw_angles=yaw_angles)\n", "\n", "# 7. Get the total farm power\n", "turbine_powers = fi.get_turbine_powers() / 1000.0\n", @@ -505,7 +506,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -514,7 +515,7 @@ }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA34AAAG5CAYAAADRW+YxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOz9e7A123YXhv3GnN291n58j3PuOffqPnX1uGCQCWDJYIeKIaYCRoaIJDYmpkA4EFEVwCF2EsCVKjspk0Aq2OCyjS1QjESpiigSKQgmtikSbEiMeRshCYSkq6t7rs6559zz/L6916N7zpE/xpizZ8/VvR57r/36vvmr853e3T17dq9+zDF+4zWJmVFQUFBQUFBQUFBQUFDw4sLc9QUUFBQUFBQUFBQUFBQU3CwK8SsoKCgoKCgoKCgoKHjBUYhfQUFBQUFBQUFBQUHBC45C/AoKCgoKCgoKCgoKCl5wFOJXUFBQUFBQUFBQUFDwgqMQv4KCgoKCgoKCgoKCghcchfgVFDwgENFfJqLfrn//JiL6L+7gGj5PRExE1W2fu6CgoKCg4D6BiH4FEb1x19dRULAPCvEreKlBRDMi+h4i+hIRPSOiv0tEvybZ/5uI6Hny71JJz7fqfiKiP0RE7+q/P0REdM1rIiL6KSL60W3tmPn7mflXXedcBQUFBQUF++C+yEvt578ion8z2/5biOgniej0+r+2oODFRCF+BS87KgBfBvDLATwB8L8D8ANE9Hkgkqvz8A/A/wLATwH423r8dwH49QB+IYD/DoBfB+B3XPOa/hkAHwfwjUT0T16zr4KCgoKCgmPgXshLZmYAvx3A/4qIvgUAiOh1AH8YwG9n5sur/sCCghcdhfgVvNRg5gtm/reY+aeZ2TPznwfwRQDfOnHIdwL4PhU8Yf0PM/MbzPwViOD5rde8rO8E8GcB/AX9exRE9FuJ6K8m67+KiP4hEX1IRP8hEf2XSVjobyWiv0pE/xciep+IvphZap+oJfdNIvoKEf3bRGR1n9XjvkZEPwXgn7/m7ysoKCgoeGC4T/KSmX8cwB8A8D1EZAD8ewB+CMDfJaI/T0TvqKz780T0GQAgov8+Ef1w6IOI/iIR/Y1k/a8Q0a/Xvz9FRD+k/XyRiP7VpN0JEf1J7f9HARQDbcGDQSF+BQUJiOgTAH4OgB8Z2ff1EG/c9yWbvwXAf5us/7e67arnPwXwLwD4fv33G4mo2eO41wD8IIDfD+BjAP4hgP9u1uyX6vbXAPyfIQIzhNn8SQAdgG8G8IsB/CqIRRUA/ucAfq1u/za9voKCgoKClxh3LS8B/DsACCL7fhmA/w1Er/1PAHw9gM8BWAD497X9XwPwBSJ6jYhqiNfxU0T0iIhOIPLtryiR/H/q9X0awK8E8HuI6FdrP/8mgG/Sf78aWwy0BQX3DYX4FRQoVBB8P4DvZeZ/MNLktwD4K8z8xWTbOYAPk/UPAZxfI8/vfwxgBeC/APCfAqixn4ft2wH8CDP/GWbuINbPt7I2X2LmP87MDsD3AvgkgE+o8P52AL9HLbpvA/h3AfxGPe43APgjzPxlZn4PwP/pir+toKCgoOAFwH2QlyrL/mcA/kcAfjczP2Pmd5n5h5j5kpmfQbyCv1zbLwD8DQgh/VYIsfv/QkjjPwXgHzHzuxAP3uvM/H9g5jUz/xSAP46hTPwDzPweM38ZIm8LCh4ESlW+ggIAauH7UwDWAH7XRLPfAuD/mG17DuBxsv4YwPMktCU9x/8LwH9PV38HM3//yDm+E8APKHnriOiHdNv/Y8dP+BQk9wKA5EDQZpWxt5L9lyprzwG8CiGYbyby1yT9DfoG8KUd11JQUFBQ8ILiHslLMPOPqNz6ET3uFGK4/OcAvKLNHhGRVaL4XwL4FQDe0L/fhxDDla4D4i38FBF9kJzKAvgr+neRiQUPFoX4Fbz0UGvj9wD4BIBvZ+Z2pM0vgwz2P5jt+hFIovpf1/VfiJGwFwBg5l8ztj05x2cA/LMAfgkR/U908ymAORG9xsxf23L4mwA+k/2mz0w3H+DLEKH3mhLOsb4/m6x/bs9+CwoKCgpeINwXebkF/zqAnwvglzLzW0T0iwD8HUhIKCDk7g8D+BkAfxBC/P44RAb+B9rmywC+yMxfmDhHkInh2otMLHgwKKGeBQXAHwPw8wD8Og0FGcN3AvghDR1J8X0A/jUi+jQRfQoidP7kFa/jNwP4cYjQ+kX67+dALJP/0x3H/qcAfgER/XqS+fV+J4Cv2+ekzPwmJLT0DxPRYyIyRPRNRPTLtckPAPhXiegzRPQKgN932M8qKCgoKHhBcF/k5RQeQfL6PiCiVyH5eCn+fxAZ+0sA/HVm/hGIh++XAvivtM1fB/CMiH6vFnKxRPSPJ1W2fwDA7yeiV9Rg+7uP/BsKCm4MhfgVvNTQBPTfASFZb1E//9BvStrMITH93zvSxX8MSQL/YQB/H0LA/uMrXs53AvgPmfmt9B+A/wg7ksfVG/gvQoq2vAvg5wP4mxAr5j74LQAaAD8KsYD+ICQHEBBr6H8OyYf42wD+zCE/qqCgoKDg4eOeycsp/BEAJwC+Binm8p+lO5n5AiLHfoSZ17r5v4bkwL+tbRykoNkvglQt/RqAPwGZwgIA/veQ8M4vQoymf+rIv6Gg4MZAI6HVBQUFDxyag/EGgN/EzP+fu76egoKCgoKCgoKCu0Xx+BUUvCAgol9NRE+JaAbg34DkNPy1O76sgoKCgoKCgoKCe4BC/AoKXhz80wB+EhKW8usA/PotORgFBQUFBQUFBQUvEUqoZ0FBQUFBQUFBQUFBwQuO4vErKCgoKCgoKCgoKCh4wVGIX0FBQUFBQUFBQUFBwQuOBzGB+xOy/HHUd30ZBQUFBQW3gJ/A6mvM/PpdX8dDQZGRBQUFBS8HrisfHwTx+zhq/JHq6+/6MgoKCgoKbgG/tvvxL931NTwkFBlZUFBQ8HLguvLxKKGeWkL+B4noHxDRjxHRP01ErxLRXySif6TLV7QtEdG/R0Q/QUR/j4j+iWNcQ0FBQUFBwX1EkZEFBQUFBfcBx8rx+6MA/jNm/scA/EIAPwbg9wH4S8z8BQB/SdcB4NcA+IL++y4Af+xI11BQUFBQUHAfUWRkQUFBQcGd49rEj4ieAPhnAHwPADDzmpk/APAdAL5Xm30vgF+vf38HgO9jwV8D8JSIPnnd6ygoKCgoKLhvKDKyoKCgoOC+4Bgev28A8A6A/4SI/g4R/QkiOgPwCWZ+U9u8BeAT+venAXw5Of4N3TYAEX0XEf1NIvqbH8Id4TILCgoKCgpuHUVGFhQUFBTcCxyD+FUA/gkAf4yZfzGAC/QhKwAAllniD5opnpm/m5m/jZm/7QnsES6zoKCgoOA+gGra+u8FQ5GRBQUFBQX3Ascgfm8AeIOZ/xtd/0GIkPtqCE/R5du6/ysAPpsc/xndVlBQUFBwT7CLnF3n30uGIiMLCgoKCu4Frk38mPktAF8mop+rm34lgB8F8OcAfKdu+04Af1b//nMAfotWLvunAHyYhLsUFBQUFNwQCjm7fRQZWVBQUFBwX3Csefx+N4DvJ6IGwE8B+FcgpPIHiOi3AfgSgN+gbf8CgG8H8BMALrVtQUFBQcEVUEjag0CRkQUFBQUFd46jED9m/rsAvm1k168cacsAfucxzltQUFDwEPAikTNTvTi/5bZQZGRBQUFBwX3AsTx+BQUFBS88XiQCBxQSV1BQUFBQ8DKhEL+CgoKXGi8KmbuvJI7qY9QQKygoKCgoeLlBNQHd9fooxK+goODeoZCxm8Fdk7D7dj8KCgoKCgpuAvdVjynEr6Cg4EZxXwe/Q3FfSMtdkbf78vsLCgoKCgpuGy+KLlOIX0FBwd54yAPffSIut03e7vK3P+R3pqCgoKDgxcXLKJ8K8SsoeKB46APWXROx2yRft/Vbb/OduOvnV1BQUFDw8uAh6zz3SV4W4ldQcId4yAMZcPeD2YtA3m7jHbiL5/TQ3+2CgoKCgpvDQ5URd633XBeF+BUUHAkPZRC7b4PWTZO3m/y9N/nMH+p1b8N9e/cKCgoKCo6Pog9dDzepFxXiV/BS4C4GofsyoLyIxUCO+TyPeZ038Z7d6H20d/uOmjs+f0FBQcHLivtKzu6D7nTXFbCncIx7U4hfwUG4rwPFXeK4xOHFLfrxIpO1m7iPN0nK7gvhInM/rqOgoOBmMTXOcsu3fCUvNu6bjnZXJO4+ELf7QGDHUIjfDeC+fXgF07jvpO22B477Hrp4X0jaMUnZTZKw+0KsyN69EC4oKLh/eCj60m0T1Pt4X25fH7l9uXHfyNpNvAeF+N0A7tuL86LjvnjJ9vlAH6qHbReu87uuQ6KuQ5qOQYqOSWju0gt3XwhiwcuBMDYVb8/LA3tiAQDc+ju+knH4bvu7eF+I2O3qEA83/z7HXT+/+8QLCvG7AdwHF/PLirvMK7MnRyQBt1X+/xbIxlUIzVWJyHWI2Oh1EgFEIF2OrZMxfVtjQCC5r1PHggCj6yBdhP3SF8X9AJEB0jaQPski/i374kVn5+y3S39933GZ/31X8B7Pf/jv3fVVFNwSto2phRS+WIgyrRICuItoHQOHkMz7pJgfEzeljz6UHP59cd+e/03eg0L8bgDHJAC3gfv2wt8GbiJksD6rr93nMXFXHqQBaTOmJxrG9ERICRJM+BswtRXiQ4HsUE+AyGi/oR9to/tNZYdEKz1XerwSp8nrzcCeATDgPcAAJ38DDGYGQhtmsFdFg2UdlPzN2j7s91670f3wADs5pwPA4TwAs9c24VQs1xL7Tq4n9qmNdZ2T48P1xrb3CHZWxNKLjn28P9fxCxXSeP9QPbaj26/yrPYmjVt0sbt4Rw4huzeSN/7Aio8FlCrUx0WRsDeA+tHtWbTuCi/aB3HdcEOqKjz+lp8DM5slivyhF0HT6xuXl3hvRttPeK9wm2F9QoqYWUgMkZKmhDCx1/1KhDKSROj/lu0O7DrdpmSMPbznnhwpEWM9F5GSoJQ8HQl3GSI5dubJq9nku8mG+/MtC9EueNER5IfHtGJudlC/bfJ1l6JYiOHtoz5Vvchl934mC863jyA8c3sgERh93gfqMMfQ56auO1zfQyBmL+q8sznuuuL1TaIQvxuAbYwu7/hCCiZxzPwuqmucf8u3AM/fQfu1n0VUpA85xahMyTYqaeGcvPDIStrmnnh0rnPPYzjl2L5sOdgx2Dnso+S1HQfHJGv0sIIlCq6IoDzaLbl+U6QweAm3KYfXzdcqxPD4qOaibm4QPwW7caKfji+5TjXV1wYOIJex7+wdOoRsHvz+XCdH/gGQxTHcNbG6L5Wt7wKF+N0Anvxjn8PsM58DnAMwoqjvAm+GdsVdsa89FPvJ7WObbkDQHfK7bzi/iECjeVK68+AQwKwhlj/9RZw/BvCxk63CKIYC3iBeRq/JbZG4+3hvb+qabqLf23j/C+4/5h+TsPh0rAxKea5w50q078zW/QBAE8Rv35yvEmZ6fJy9fgagH1fysSAfb3I5mu6fGkemiN12mbz9ee0il1OE9ZBz3DTuNDKlVHS+dyjE7wZw/o2fx+LHfxTcdQD2GDimBoWNAgzTnqRAYuKAOEmk9hgAXkRDSJLXNJrrdASvWPOp1zdPu2PAP0QRPrbwuC1h9CIr+zdxD/e2Ym/BMe75dX/b2PFkxvN8Cl4u1KdC/MI74h1HBTrdBgBcDd+jnNTl+33H057EHYVFijfx5jB7NAPN5uCuA3cOHAzjO4jgwDiQjSm7yGPA2Jg61fZQUgnYq+t4Gbb18yJ7qEr0TY/b0MsK8TsyqsfnsMahnlcIt3dyINnjAR/+EvTWlbuwMt1/JX802ekomD05G6wPLZSHCZldx12lr+v03R909XfqJt6NY77j17m+61xHfqzZc1Tefr2ZV+QK13dVAhquax9hfteW8IK7wQbxax28M8NtgfhlhDCE+20jhpFchVzCibC9DW/ilpzDfUjh2Lly7BOa9yKSw7Ov/wyq178OfrUCWQsOclh/qu9awHn4rgO8g287sPPgrgU7J2TRe9nXOckJd7KUY/zBXsSxNofqa94xcnPWVeU9cFg4asELiFsg+IX4HRn1x57i9EmN+ec/LoUsEmwOMNMDznU9RXspVAco8ddV2q+nGB+PMBxTQc9x/ot+EahqVDh5Cdd1Tu6zd0i9i+xCKG9Yd3qS4JXU/QwAoR/0x2y7Ht5fcO28t7vew5FzbZznQEG67Zp2hk2PHLv7W7r6t3aj3+mO37qXEnEEj/N179++59m3r4KHjyeffQUggluuAQC+86LMA3Bt5vnT7ZHoZR4itx73FAKbpHEjfHCP8NK4TytETpGyvvDI+G/eJ8w09HHXc47dBJ78gp8P99Uvw/MS6HrZweH5epZqzJUBjAXmFmQaMJ3IOgwYku/NMNIW0H1ayTmrVMwqe9k5IZGui4QxymkllHFfRi7Bss2vu8Hv2aavHaLrbWuX4jqRIDc5rt6Fsf+25MQxom/2xW3KvkL8jozq0Rma8znoyeck1NPrgMNe1kOFQ2Ygiw1PleibUJ6vojTve76rtpO2N++pummibB4/hX31dfDzDzSm3UJIHTTslgHQcD3kFRLJs6F0v4bvctIOSI4ZueaJ65Pfzv1+n+aPcv9ORmIKIJmqgCNBDefgpI+w3ffn6Zy8y0FoOhcreOoFZde3RShOvd87+uiP358ITgrjsft68Pd4BZK745ix3In8GAqm6Ml31175OvLr2Xb8VIjnxvWWdJCXAo9/8beKJ0fHRLdcwi0W4PUa3eUCfrWEWyzBbRvJW04Aw3o1k/WeMPqe0O3yIlola1u8iPuElgLbC9UAx/Em5ud8KKC6RvX0KexJA79eA64D2rUQsPVa9KR2rcQrPCMxlrJ3AHeAZ/hgIPVDQh/GIE5lHKDy1AAgGDJg6tdhDVBbYCbTCDF0TlYystS/41REWbRQJK6uN/TGv5U8BoLJnZN1JZu+7Xri6XvdkL3b+G1TOIZBrm97OHnr+7/6oH0sYnVTkT/2miGoB13Xnp6+Y9yzQvyODHsyR/3JTwNVDawWOqDonGOsSn4oJsLAIOxwrNx8Wv4eLC9SVKBZC8j0Sr0ItESBZ594jxJFHbzZVvex7xDmCovtfdpHuNbkGHZb78vWD+CI3oCdSuiUAnwQQdjcXn/mc2BLwOMnsajP4HlGQZQ8u2Q7JQRqUGfH8/C49JiN6p7Zb9BjwxvGgXyG/M9weCSY2toQ2HsJ1TNJERwM/8aAmPZ9se4jpoHw5NAsXOaAbPZCE8HyGkgjB6Lpga4bksqu6+fRG7kHWwsC5IRzH0/pnoRvbxJ5pffOZtuvT24DiRzPy9tBQHeQujEyd0g4aMGLhea1V2CNg3v/Z8GtelG8KObUzFDNHoGa18DGgupGDacMd7kEtyu4ywX8eg2/WoHXa7jlEsDQU7jLS9gTw+H+sfDSfUJLAWyElwbsQwy3kUI5Zvjd3ody94eg+dhjmCevgi8syF4AxmqhZSvjrrEyhBszJD7eRQM6ula9cA4IRvWu7YlTkB3sR573MJ9QCJcD/OaYmJPHvq9hn317FeeBHOrctXFctEb+mTqSSibSeWht4rlUkhkGzJFht/dMBkLs9e8gKwPp5Ph3DIsNumMgpsxg1xPQMePgTaQjpe13pTVcj5BeDd4d/m1NnXMfQ+ahv/G6ZBQoxO/oMHUN+oafB//sXZB7BAAgL8ItKOqUEgMgIQE0vi0IBcJQ0SYSJXqwXatXhhcxbcucVLJMjo1eJz/sIxDTjf4pGSQCkZgiVPn2ZJ0D0QzkVff7lGDK3zJZtQ5W6f2JpECPTYkpkBDWoUVOQid7T9SGpRAjH/MEqaDZCcxJjYtv/CcBIlh2Mgedd/HZy2TdDJNaMcGg4CXzQnAokKHkugHI9vD+THjOKP8N+b3I27Gf3Ef5YDRFMtPtQZn3qVWWAS/hXORGnk08sRE+UxHA9cAyS6lnFIgCligRmAm9BaAWVA+4IOCDwHTy7L3L1pP8kClFINm377vRr0+Tzp3ey50h4yPEbw+COd7XmPA/1Lu5PxG9L1ONFNwemk+8hvmnPg76+CvwywXQdfCXF+LxAeDbDkAH3y6AFhJiRwRvAZo34CevgKoaHgZU1+LWJhIi2K7hg/ewbcV7uF7Dr/qQUqB/R/Ow0rHth5LFgG3hpbsqlwbkYaa72m/DXXoJq1ceYf3pbwK3a5huJeNuuwLYg3SJtpV11wJQOUIk+hJJGKcBC3li7rVqYxAjZRi6XZ+FGrdDLiB3rZIfB3RKlLo2hn9GOcE+7g9jewhJHSWGPP4eRYTt7AC4fjx0HnDD48Z0kdh3NKwGnVDJojXiMSILmBqkDoeBt1JJJUWCGshn4pxIz9WvRXIY59BNvZV632J6S/Bqxvs53B8j30awi7Rdp2L6MaPV9u9rH1IXom5u7/ssxO/YsAbrRx8Dzp7CuFYJgL7oLg/1lAGGdHAh9XQA2FDaKVfi8+0B6fEjyjmnbUz+UgbypQ3za0nPH8+3XQHeUDjzvojCVOT9uVXR58BMQxsiwAAk2n/StiehsbppTpBTT5cOcGRsHAz7Sp/9xOBx0O+C16nbGOjAHjQ/BZjxzD7Bat3CQsiegYc18hutESFmKi+n1Osy3ol1MKyH50osvye5Vybe26FgiKRQCWwgjxQJsz5XDuSSEcmness2yFq4o1d430Jfwz4hwja0BeT9T9eTvih6st3gXdz4DqJAHa5DFYTgfYQxMNYAtU7oFJ59zA/JvFaRKHYiqFywNLdg78Btq8aDIVkM7xEl/cjlTn8nk0QubLd28BspO46CB3Cb0cJOhHRm3rwNwg+APWXrel6Tt9PrM7lHknsj9kb/NH69BS8s6iePYD/+afDlh6j8U4mOCQSLPXixAHdr8HIB7lr4xUK+u0AM12ugW8O3LbAAnHoNyavhlSzM2QmoeYKZqUBN0w8xq1a8hgshhN3lArxewS1WvVcEGHgMw98bRO+qXkS724u400s4UbRmG3ZNHn6TqB6dYnXyKta0gOELoDao6hYgAwsHIiPyjQwM6/N0ncizQNZcG//2QXfqWpUXrciJGAqqyyBjgifOAqAKYAs00PMpiSQoiaSMTCYyhgHoNQzIUDQeBs+jhnUGD2TIF/RbyCPQ5x4CG7It9VYO1uWH6/fTv4c0Ig/YDyfu8vsYFYMXMuhRiWeSjInkkaqq916GbUZlsP4NMiArMncjwibxTvZhsSE/0yXEPNxrkcPsnRDoPdM/dldg3U3W9g2z3VbFet80h5vIoTwa8SMiC+BvAvgKM/9aIvoGAH8awMcA/C0Av5mZ10Q0A/B9AL4VwLsA/iVm/uljXcddw56eYDl/Fe1qCcJKPUBCYAw8iEhTlFWJpZiyLBHkGVkjyMcsS46eIYwp+9n22FaV/9jGZQr4No9Qtn/DqxSwj0coPy7/8LO2e3udQEOFH3q/kGya8oLloZSe4zPgMPAn4RdEBqa2ANVxAGQQqGrwYXsm5I28Rk46EByYAaNWPhOeJwkZC+smfc5ATwD19xh28boovj/pe5WSRe5JJJG+Z7K9TzeU7YNjENTwfj0lxP3N5P7ZJB5KCsLQyWBsgkU3CuGhp3srQczfs7xNbhiJFtQhmSQNhRFB3QEueeYBUbAmfZN62lVgkbXgqgHmJyBrhWxZm4SvspzbqSexWwOuhV+3gOvEqJNcf+qRo0yQk5K0KUHW5/gl5wbkeibIYX+ucRIX15Ow3UhiM4GUf5e5kBsTaNtIYXqO+18V+OooMlJQv/IEfP4YqCx4dan5XktgvYQY7zxoPgPmM8BWMuTYug9lU2Io3sIWfnEJtPqtAfDOwa9XwHKh3kMk3hoCNQ0qW4GenKN58liIoanES+K9eAoXSyGElwu4xVK9hkuIt0Pe2TSnUJYT2yfyDWVbRgp1X04MpyYgn5qvEDiA0B0QNnpVr2Hz2hMs6RHW9SlM/RgAYCHEzngxkFu3BrOPBnOrqTG2khw8Aw/jRYci9mLMy2RckBMUvHbp0jPgeo8fqYeR1cMoepPTcRzTepIP8hRKJiuIOzojj2GdDKCGyJ51Jc+dxfvIrhPjhhOZ4VdrlSdtb2hG8v5MeRnHCOPEmL2RGxkw2Z4RvKnsWrlPWZt+fQ8ilp5XczCJjBgqlSRGcjmrRX7EEFor69aATFIltj+hhIm3bSTh7FyU0dx1snSu3+c9glNh7HrD97iLpI2lMGzKxQlDzEa7cZl5HRzT4/e/BPBjAB7r+h8C8O8y858mov8IwG8D8Md0+T4zfzMR/UZt9y8d8TruFGbW4J3u43jeMog8vGdR/j3E+wPAknwthkTZt6TKPjyM6f9Ol4EQWFIiEJxX+rr37ZSnhLAIkB5L0dNEcTvHPgAkynb4mhPCqKGKITSRWPMOg0cmeJbCwBsJQVhPXtac3E4QwM3tfrMvAKPx6TmZ9RnpyAb1AfnIz7NBPtKBV0M6X/kk3nj/Eb72DDidyfOpK8asZhgCKsNSsMxuPj/PgCFWsuiVcIbB2CtxZNmHQPD6dyGSQ32P+v1hEJpoZ3jjHcjft3gsD9uRYX2fepIZDBuWPcgYWEhoMWkuAvkO7J1Yab0DupW+X0MCKCGy272Gu54ntj3PPNTaZ+/bKLkUzz13a6DbPIa913wNC7IVaDYD7BmMrnMYvFmUD9YCB9yuwOuV5KxkhpbcwhuwNRToiiGnW8NNDww13acYznSI6Qs9z1+RkUSwp3MsPv5NaJcLVNyBjEHlOyEA3sOsL8HOgdqlGE1WCzl0vQRQgWY1YCtU7IUYepalRsz41RJYLQHXwi0WQLcGL5YAWDz1QCSEvl0DvIZfhDl3HVDVqOcW9OgM/tVzIYV1I982EXwnCnooPhOK0rilrG94CLN11/Zh5Vf1IgaMVTDNsa+ieJWiEftOPTB7/RHeWTzCe88B5z2cF/nEDMwaB0PAzIoBs6k8DBFqqzoQOeH+6ECaRmHYiT4S1+X5WS/P17CLRnbS9AsAcV30I6+EcjieGlZPYwxrVO9iMEi6xMuoeYgbek6W3rMhc3SdrI+VTMnMAMiUUGSskEc7kvvoOpEdnRBEhOku2lA0pwPAgyiYWDU8J3oTZDI+3xFSOSkrJqJb9iGX4/IgeFN1Yzvy/o9GqGgbIsCKQYesEnSjpNI0QiqtlTbWSk7xINy1J4iRLLatzkPZRVIe5qUcw0FpD+E3HcEjuQtHIX5E9BkA/zyAPwDgXyOJt/tnAfzL2uR7AfxbEKH2Hfo3APwggH+fiIh3lpx8GDB1hUVX44OlKOCWgJkOZFaVfiYPD8CzKPsOXoxIkmksA1kkBGHwG3p7UrKYbk/b9cq8DjKBKGRKvOGUrEG8GTHskEDE0dNPJli7uLe8EUEdR3F79CoNPEkZmdNQxD7PLVvq/aEQogiNf0+VfkYMlQ19ptjwoIYBeYr4pR6qqRDFgbcLYv45OcM77zl8cAl8aA06BzQ1UGnRjEq/NJ0/OBLASouH1ZUQ+LoSe5NVYlVZIY6WWIxg1Bd/ooQsega8rjM4kkW5ZK/UP5DI/vj8vYqkMbxXGbkcLMP7ybIevJYWHeCByq8BsHq8gQoGZCrYZgYYI+cgI8I7CaNEuwS59eC55EvOCB/bLYI3F7pmKsd2G8GHejXzbZtt0K0T8ubVLsJ9+6pSYVODzh4Bj55KuBtIDCyt5CrRainCvFuPn5Myi6FhIPPoaVx0T35zr1x4GcJx0euYkMHsmCgb/XifvbcxEexmaCIdeOTRWz9f1JDPIiMFpqlhTua4NI+wquawvIL3HhUvUasnpa4NaGZQeQcyFgYdAAJ1ayWCSgzXl+K56daAbyUEDyQyqqlA9gTm/ImQwpAj3K4lfFS9hbxYiPK2uBR5o2OFlO5v4bueyPm204h5D6obWBhg1qA6eQpqlBhWjZBH9koMJb+Q1yt0F5dCFJerDVI4Sfz2JIbSZtwNsW/Im0mmoZgikRt92/1eyfrJOS5WwJvvAkwWtQXO5haVBTxbOA90joUQGiGGhjy8rhMBs6pGpX/XKhcr8iAjhlVJlxDdwamuYNhp0JOQoahL+E70Hgasygqjn5fxouwYYxEisigayhPdJxg9kwgYDhFYsciMpvf4xOMYyGIgj0Avr4L3aczzmMolayVGrK7FyBg8Xka3h5oNXnMYW/UedmshU22rXi6NRBkpfiO/Zwup29Pj2DfP5OzYsWH7NuPmxPq4h1F1ww7g9XKw329E/mTrRODgdbQVUAmJNPO5/G1rCW8NilnopgsEMZDCVvKY1+u4PT1Xft158ZaptI3r4Fgevz8C4H8L4JGufwzAB8wcAqzfAPBp/fvTAL4MAMzcEdGH2v5rR7qWOwXNGlwuDb7yNUQNqFZtPyj7dSVKfaODV50sKyuDSmUC2QrKVlDiWQijLoPST8w9ecS4Um+zdZMr91MeJPhpz08MUeSehKX78/YbbTTEFQYECY0gm5JHaUkpiQzbdABOP4th4RK12rCHUW+T71rAd5OEAux7Uphb8bIQxTgo2UqKDLgW7YJxdmpxUgFVZUCG0HYAd7JcEaFzfSh8pSzO6Mde6xcZ9tu45GQbb+5LSGIQglbJehVSGSF92OgBVPIIGWhTg4NT0ijJ5pvEcMzLGMhiRfLZV6pJWArWWF2yEEPrGYATKy0ZWFOBqhns7CQKLyGDHdAuwF2XFMtJLKaDZxLCSvu8OMqIXr/Ow2MiodeBdSzUZ4zoYfMdGQshTte5W4v3cMnJeRkgE6sZ4uQM5vErQN2IUrpeivBaLsSjEX5HgCrO0lVO0obEqp/mYZy8sffocweHx0wSwozMDcp851bKmLeYGWo2+nhh8EdQZKSU9T8/xQon+KirMbMzmIpAjQNIPC3OLeE9w7oF2HtU+ppXsKCqhrUNyFhY34mlXiv/0nohCvR6AVouVMFdAX4tii8AdB3IVrBNDZycAI8ei9GFIUUuWvGg+JWGkS4X8JeX8nfmLRQr/xp+dQGsAN+JkYc7J0ZPsjB1Azu3oEdP0bz+mnzXZOGdB7yDW64kjHSxgG/bvkDNag3wHtVJPcd9/SedK8cTnsCM+A2IYJ0Vk7mm17A6P8N61cF4RuctProEProwWLXQYiPA2YkYQk9mFpUBZg1LMUzNf2yZ0TkhgwQPx6LDeO6jqSpd1sarTPRqLBVdoU7WobJLDKVD72EozsYaqQL0BnLjhTDG9ZD7ByWPRCBYkKlgqI5jMhHBkO7nfqzWGwyZ0mIFWq/ArgO1CzE2BvnUKUnM9BMJuWx78pZ6FcmAADDJ1BWmOQdsJaqVrfprCB6t9Uq9hkpcWi3Ek8ivvclhHrkSf+qm93CqoNku7+Ewl348RDOPJtkVgjqcTsoDnZLnFUQOT7UNsJUagSpQVYPqCpjNYJ881fVaiTnkvqsxittWv30ZA7hVz/INpEFcm/gR0a8F8DYz/y0i+hXXvqK+3+8C8F0A8PoDqkFjmhne/2AFrBiLzmKxZjgvA9xsFrw/8ro2mmwdlP+q6pX54BkyiZIvYRCBJEq4oE1IYyjupDVQYIj1+2EtlKlkUUkiQjipfj2T3h/ijW15W5Pv30IqR71HGJJWYIw05qSyJ52b++RGkJGPrIITQUwiaEhYDeBkLiF0qzjImiz0cBi+io0wQ2Nr8OwcP/2T7+FHfmKFZi4JGrN5jZPTCnVFODu1qGvC6YlFUwFVE8gFYa3GwHUHOE9onZBGeScoPn9jw9+0sQ/oDUFhPYzpYd2MEEYixPcpCEQJSdX3K3gew3tFyk+Cd5HlHWPyADOcA2orgrJWYlIZXQ8EMNseiuHYJFwn5DhaNjDVCWx9otZ/Cb3h9QrctTDBUho9fLvDRnvBs2fYaCpIcy/hRNhobyTI2mc5iTxFJrsV0C7BS10HAVUN08yBpx8DmplULF0twMsLIYPcC2jKBaq+HJQL67wwTPj2rJ0U3LlXMXyvnOcsJMdN5RZueAePYM28bygysgdZAzuf4WvP53jzA8QomJl1aCoJ+ZtX57AGmFWi+NdGqyRzB+8ZhiUXzLIowpUVUtc0LYgMLDtUcICSQwCgbgU4B1ovwN5J2GjwFgIgJYYEAPMT2LO5hpOKQRNVrQUkAF4LqeSYY6jew/UKAHqv4YAgOvh2qQRRC1UYg4oq4KwGzh8DdQ2GGYaVOp2yYC2KeAwnVe+BW61j+OowD2uLNyXzIubbtx2TY4ro5e2bxyd4/uEl/tbfusAHyxqnM8IrrzQ4mREenQsRebayWK4ZHqIv1Uo+m0aWJzPCvBEv4bwRORaWVdRpxGsIksdFuh4IYZCBleF+G/k+HYMIlXXR+G4MwdahNkPf3msKDKseIbn8gTxKeCqQ5OoHXSGSxeF+ww6whKpyqOYuyjoYIzmPoQqq6yQEOpFrMWw0rYaabId3fY65cwC3ov/49bCNqUBNBZi5GN41RUHCTsVA6ddL9R7q+x7CTYEkj3bC2DlGGKfesx3exNh+TEZdI+R0eM79v4fN/R2w7gZexvy8IT2E6loIoa1hTk5QPX6SEMSQd7yO/9yzD3FdHENa/DIA/0Mi+nYAc0j+wh8F8JSIKrVofgbAV7T9VwB8FsAbRFQBeAJJYB+Amb8bwHcDwBdovp+56R7AVAa+6/DFL3dYs8XpnPDkkcWTOYEs43LJaFuD5RpY5QSwoqj3THmCliZT9sNAZgPBQtxviGOuWSCHVslhZUm8iwACMfTMcF6IYecQlcBtxC8NG0y3b3iIQhgFRsILJ9pO7h/JP9tKDgE4hlrpPACvXiaCJYKpZzD1XD5CL1Yu367jQGpMPzgCiPlakUjUM3Dd4GtffY7n7y8xPz8BAHRtg/VavF4fNfIAbS3HNkr8ZnOLWQWcngohPJ8b1JWEBa9boPPAqgUWaxPfhej5s/17E565bNdl1t5k744xlJBEHhwTvYI0PCbc18pQ9B7Ku0WoK6nHYEBYrBnMwfuky/Auh7C+8PbRcD+DIglkFs+vdR2Cd5CMha0amPkZyDv4dgVeax6QlwuN9moyYu0EYvw+KQGNpCNsD88zWx8QHdaeN3LlQvxtEFw5CQrtw80PBNCAQ3VdH6rNahfhmPAAg5cwCBAywPwUdPYI9OongNUS7vkHwPKi7yvz7DHCb8sElZ4j9bhxvJ5xT15/fRR/y7BZ0lc2T1k4Tx8+mvX5YqHISAUZA5o1MMZiVots6hzgQVh2Fq0DFurFbzR8uzbitZjXFtYATdXAEMVxueMO3nt0vIb3jMqvJMzcA5UqtpYrUNWgskKqJMzcinfH+5hPiNVSIkLWkhOIWGxj3XtcvJc83rNTUdaYJI9XLGHg1VLCR1dL9Rou5dtd9cRQQkmhE5JLCB7cIk5Qzp3rvYdVDTDBVBXMvAHOT6NHAbbuo8YY4K6Db9cabiZLt1oPws/8Og81m1Z0t+UUAvt7Ge3JHNy2+LonDs8vHd56y+HDZ3MAwPy0AQF4/KTCvCE8Oa9wdkpoasayBTrnsVgBy6VBXec6k/RfWalhcDqjASGUPHtJuRD7mRgnO89oY2hpkH1hKb/KZjpNFWQjUTSGBuNoiMgJnkWiYPATcsgaeuo5kEb1Kga5qwaKyq9R+VZl3hoxIsZY2GoGas5gTh8LGXNt9Gqz6yT0GdiMWHItyFWDbZHwVX64rtMbxefpuj5VwUhUFlsLqk9Bp4/6FAVm8Q52LbDWFIVWcvjjuxDP0etmORnso0q0zS4vospdsn2/0QCZvZOURb0EpAXNACBUuh5WRd0efrl7v1ojkn2xiJsSOkBsTGMykOoGsDWoaeS7vyau3QMz/34Avx8A1Jr5v2bm30RE/3cA/wKkatl3Avizesif0/X/Wvf/v1+E3AUA6jKx6NYOz5+vcNlW+ADA1z6Q23x6UuFsTnjlCfD0FBLucAk4VZiqjlCrEt/qOxEIX+eCd1DWc+U+7E+9OkFZX7swYG2SQ9nek0ErEQFSUI1kYOw8o229RsME8mWyPofbpwqQEHFP7PJ8sklPYH6OTYLYtxn3GgYLWyQUgWz4Dui8hG9oX5WtpBw4e7jVAr5d6T4dZMJk9aqhe1uDbIXnz5ZYXgoBAQDvvIT06N8AUHVW1+XBdp3HBYCPnqsXTIlhVRvMauB0bjCvCR9/DJAhPLtkPF/qs1bi13X6fKNHELofg/UxQhi2GcpIZVDmiYd9BA7is3bgaHw4nxmczQieCcv1lk87cIG8iQG2RQ0CmhvTiXfW1g3soznccgFuxcIWaRa7nuBNXEZ4R8L+KLMj2U1PrM8+y1nr92cEL2hGgc3F8uI9AQyEaW8CGM/BQvIWz0VgVA3s2RPg6etw770lVRJjPuCQxEUiFgRuJN/99j7vLl6I9hHuyDgBjIJdzynhtpnQHSGag/vyAqHIyAQkJGnVAl96WxT4ygJnc4OzGeNsJuPsugOWnUHngUYHqZUqjqHoR1DEZ5URD6FpYCoCGw9PDt57ONaCMd0SzCxKNYBKc4it92IAtDOgPkE1OwOMjdUigyIbK4/6DrSUfEB0LRheFXBIgSaoIbKqgOoUsDUMAxTCScGx+EyYqoJdC14uAediOCknBBAIuYAuFpdKcwQH+YJWQgxDaX06aVCdzrWwhRWmpEUs+jzBLhJDt26FdLbrfnvXClF13ZYwurAevmc72GdPZvC+w9tvX8C4Gp973eDN95ZYtwynsrFzEinzTiO/eT6vMJ8BT84qPJoDJyeMzhOeXQIX7TAiptb8RC3smkRR9TKRCJjr+zarGU0lBLGyGhHlxQjROsnRN4H4JV5CIKmvENd7Y3ZY2mAwDSQxpPBovQSr3kWDMC9xh845OF/BhXdUZzePKRJuDXjWAjYtjJOwZVPPQPMz0PkrAFiIV9cC64WM2Z3tc+DzKJdAxmxYz6ZYcnnag867GOZeBIYypmpA8xNQyK0lo8RmBV5e9qQwHLcrNSIoq2HaoZToYUgIN8ggZe/mnoSwNwjTSMrEUAZOV7TeJtfyfROEMB3yteIrLy9wDNxkfMjvBfCniejfBvB3AHyPbv8eAH+KiH4CwHsAfuMNXsOtg8DwrsN62WI1Uk75cgF8eOFhDPDzv77CBx95rML7WhF8IIGZgSauBx1rBxH0Bgi53lFZj94bFRTqlehCDmAWEmjQh1M8Oqvw/nOGC+Vs9aNyGA6Ofe6XXu+IBzD3EsY2GSHcCCPdstxGCtP7wqrNh+pfYTAwOpJY36LTkr/EjGp+DjYG3LVROY5epRBWaCuwMfjU6wZf/vIa62VmQUL/UbtA/MK6Cj2nhC/cX+cMVkvg4lLfh/cMmsrg1ceE1x8bvPEOb4R+bngAhzwiGgeiZdP279FGeGhuWKDhek4IiQguGaier4DXH1l4MNpdTpyMAEqSum7zyba0Lfr9vnPouhbV/FwFQJ/75n3PlyYJYPQSZ/tzr10o4Q0MB+WsDYBeUGYevjjkRgFH0UtIQbbuIoC5YAjCqFvDf/BVoKphP/ZJ+Hffip7QiMyLt+GJC8pgUkVuXwIYwBgKbyLTF+OZIID5uV4SvHwyUqfHWa8Zy1U/Jl0uCR+ECJgKmNXA+ZwxrwDHBpcrgPXbqaIiLu9MTwRV6TYetXEwBphZhjWEuvFaJEsrbXMrnhcvnpcKqmx7JYRqIKywhq1OpUoxhxA8D1AfghdC79AKeYtho50aDJUQBo+haSxQnwFVLaGkQUE2FmG+UB/C6ZbqPQyVf4NnIITVhfnNgL566IA0OjFu8hp+7YA14rcWJ7NXMs7GopobkJ2D6VTJo+1zwcLUGpCxKC2Jj07K4ftWC1m0baw+6dsO9ekc7brDsw8X+ImvXODJowqf/ewj/KOfXiahp/o8NTqma2s8fwZ88KHcv6axeHRu8fSc8NqZwVvvMxZLGT+CwXwsRSJdv9Dh1xqKOpU1BENSjK22wEnDqDXtRuyLLOkY+grbTPYZw8m2oP9Mk0Qg1ZNk/6yqUVvCvD5Dhw5t28GQPOvKyntjq94rCCSEUD2ExoVUihp0cgp7+kTzVlfA6hLcrRPilxW5m6p5MDYv4kSag/Tl5TsI3wQAkAXVM9CjJ0DzCanO4Drw8iKSwbyS9mShmC3ho9fJNRycI+7nLWGgEx7K0HDEY36tXEOg1y2OgKMSP2b+ywD+sv79UwB+yUibJYB/8ZjnvU+QCaMNrLWwgSDY4B0jnMyAV58anM0J7z4DPEycRofUOiR/6zIq2sPt/aCjy/w46rcFmMzjNyyW0ivzRj2As0pC+CoLLNeaAL2pC4+CNtXr5Bje2ebY4FyJ3+8o/Td+bD5vzBtvLrFugVkdlOt+QnmKXrZsmSR+p+3SZWWBR6eEJ+eE+Yzw3jMePN90ztRtyN+hMUw5sm4bMTw0sh433J8/E9YJ6TXkijBsP4pwI27iNQw30u1xHfGYoWFhJwGcQteCLz4CzU/FMotNobbf9UyEtdKQAE4fP25hfZlRZCQAzSNOxxrm/jVpnfxbrOX9OZsDZzP5TD+8BHysOSQdOB0rKu2wMh5O/25t8MBA98l5G2uEEFYe1hAIkj/Yah4hqXJdmbYngU7CR62XdAHjvYadz4UQzs5Bxka5xu0qEkP2Tj2FXkLvupAXlYeRakEOz+K9Oz/XMFII8QrQcvK+XYm3sGvFk5hMdM+jRLAfCzibZsK7ThLjXKrg8iD8bKD4Wiuar610rtMK5mQGsqeyvZIy+TCVzkYgpH8+t/jkJ+Z4dum3GnpyJ7dnxsXC42IBfPxVwideIXz5nWAolTaU6ThBdocoDoSAi4qjNTMaRrVNiKiprPw7bWSKptoCFytgFZxi4Qwe8Po7gvEzELywPVQM7bJIqCD/ufNYdsCqFU9kUzWobYXVukWYOjHPoe4TdfR6w3YN13SBGBJg52cw1SvA+lILF0UFUxbZbxrePQyVh/5myzKXcbkiwqzzdF4Clx9KOLOtgGoG8+gpqDmRPNblBfjyIzGexN+oBGtSJvYGTMoNo5mXMK9w3RtlMWwXjZIeUwXMNjx8U6kTmadwiBEr9kH7r46HkRH+UMAMOIeT0wavfMzgjC3mM8KjU4uTGdDUBssWWDnCuwsJR3j0KLVWDa1Qsi2sy3Ks2uNwe2+N6r1dso9Czl8yp5xUvqIYq64/BM6LV6pz8o/AmFUJwRyp6ghs5vyN5QZOFYTZO8QzWw637RfqOajQla6zQ2UMqKphALjVArReyECUJWj3VjELcg6PXn2CRxczzE4ld6GZN6hnEoMSQjiDNTMN6QSAujKoK+BEc/xO5hLq2dSkVkfCoiV89JF49k5PN3P98lDPMP71xoJAOhGXUwaE6PWlfP9QsKa5f32op5dQTy9e0zrm6mg4qxZ1qdTFZZWk2bje9duSeZmA/nnZpJgLWYu6PgFr8jkh8fgOpvrw/TaMWDd93o431/OCLwFTU0METFQDRSgylLSZtm5OnGNgJSXQ+RPQ6WP4t9+Y7GsDY4JpimBO9DE1R+BW7FlEouAFgffgtsPJjPCxJ71iqY5AEGTsCYXKRD7JvzY4GPQV6UKIVni1QwSLJ1jVuFofxjENmwuheHFO3eA9lBzqxsq4WddyDS07tNzBOQ82+Xg1Uq04Xa8b8RSesM5rKvObknMyXY16CWXOQgmdM6G8f9cX6mBA5j4FEi+KA2YWpjkFzs/EK8cAbB9SKlPBdODVpVR+XK2UGGbhpOkyhn8OSeEGacy3ew9grV4Sfc4JeaTPfj3sqzW+8ZtfxZNPGLz5zhprV+H8SROLodUzlY0axlTPNA++MZg1wPlJhbMTwqwGWm/w1gccPXlVPR79kkeyHOI0cR46zQQBC/EEfuwcWDyjWNgMECNuLHQcSZr2oe9knhLj47o09OmYKnVBsLaMk9kcrjPy/k3lxIeQegoOhnawDq8VadsWlgBz/irgWvjFs14Gxrz2fHqHTEay7atix3fRxH3psVEByT2DIQelWwLrBRgfgI0Bzc9gXpPCxv7Z++DF8425lGnCI4jRImm6vme46EY0SpK3t6uA2VTxskGUjhnKtjx/cWNapMzQuxlOenUU4ndk+M7D1BU+/5kKa2/EU0YGHy4B02ooS014dDZMTAbk3Yihm1nY5RjR6ytRaZXPEDtuZKAJgjNVzj0DrEvSKp/MjLVDlKDpIFUpgdyWs7dtfYzcHUrsdpG6QZtMad+sppWuk84DZGGokiU7qRi5eAbvOiERExUjw/0i3wG+w6sfO8PbH1WYnc4AAE1TRWE2m0vxlvm8kuVMiN6skfyUMO2DhywdEz64RBy0JB+PMJ9PE7y8eMsm8dtc3wzZDPsygpcQvjSx3Zi+cFCt76+Bx2IteQ+17QlfrOZJYRkskj3hk6XbIHw2L6lNgKlqWDsHewe/vAC7rs/VTInhlqk7APTkY59JeDeqemY5ERNVPEcJX9h+VcKXom5A83PQ/Ax8+RzurS8NhWGGQyaH3zW57wYmKq9tPabgpQAzw7cdjPV4/Un/Sss+4SypfcWzEL7LtXzzTaKxTEWspMp9/7qFjUEZ1nOaoKCRRKmFXOxICAl1VcMaQmOluiO4g3OsRWUYNpBKNWiZQCp1DBubvsYwS7n/5jwJH7Vg7uTbc2v1FsrStMtoWAaSsUzL+DN78e63i2ERjUrmeTP2HHhs+qkrmKU6aSjG0WlYaStzr2LDSzgkemEsCOGl+RiWhsmxZ5hZBU8VvvIu4b0LC1QnODsXo2jTVKgqSMXrGjg7sagrEtlIomyv1lKg7bIlvH8JGEuwFU0SPTMhI1PjZ25ED+9NkGNNxaisrNdWXpkPF0EfGhpL8xSXAIPDx7tA8BwTLlcO57MKnWsTD9+Q6PXRMVmUTLoeCKdr4S+fwVY1zNlT8PP3pU0oWLfBYAN5Sn5Hvi8Sqmz/Ru535mFjRl/kzAOXz+CffSAe5LPHME8+BvfuW/Jeb6QE6G9PPILbvIHxHMAgj13aBcI3PA7o82A3onHy1IU8Z34kDz7m0cf7pufbKHRG2Xrfx7Dvq6MQvyPDr1eomwoftfoBW6CuCfWsJ3WNJiIHYtbUOkm3DjakXrmoYCuhCxZRQIQcc0/mwIjz+nFYdzLXTfDq59U0ofl2BjJtT+69GxRkOaKX7tDpGwLidu8n26UTxlNcJ622ZWCNgUwaLuXqyXmw03lTvFMvlVev0RTRG5ILQwB1a3zdJ8+wwBznpxVkmqgKs6YP922dyMfOSX7l0gGLpQkFswCo95cAWxFO6qHgGvPYAbu9dqlgC/P9xb8N1LqeTNuAntBVRm5k/t71ChrrQMZgz1h0QvQsAY0dErs6evp6gif7Ny3nA8JHJJZKa2FMLSHR3Qq+W8JfLuMzIYx4Y/V5Dp9blr8wMU3H6LQO+fQNOVHaMvn7Rl/a7koevqoGNSfA/BSoGqka+PwjuPffxiBuLmCipHbcfQ3Ct6vU9tgxxdP3ksI5+FWLxkpRkviKJaH4KRk0kHGtNmIUk23j70pK+NK0BSCReRnCeX3cL4NliAj0HnCaq7+QsA9UxsBaQmMsmsqAyME5j84rEdRxzYXqkLoeqpBa3w4NWR4wIXyUnYx3sEDVwFQnIKMlQIjEA+i1yIt3QLcGrbS8fy2es+gdDEaprgWH0v1r9GGlMJLHNz+FqeqYphKK2nAXKpOuNYx0HQvYRKU0kszME+jcYFww1sDMGnzucwavLKWi6+mJVQJm0TkxkLcdC+FpgYtOZGMgdcaoXKx2Gz9NlHXyc+qqj3Cx1BvZg2FcDOmBvErYp/eyXLSM56v+/YpTbSXvWG50yD18+XvYt9vUuXoSyTiZVei6dRbdNBGJMQFGkpseyGK7hJmdbHwVPWkM1zUklYN6KVNu1I31oJjodbu0XWCButEQwA780XtgG3LVf7YvCHMF5ORsigDm1ysEcEi6pghgxGTOek8ij0UAr4NC/I4MXrd4/SmjbsR9H+YjkspOXufXk7ZE/eTY8g54mEDcwjK2GZIdS14V8mniZbJjrkO4NqZJyMhXbDvwtJGSRkoGq34QCpazyCyEo8VJUGN7StsHFhIOGJ63NxcHdqLz67hOY99FYG56f8Lv6oYeHqAnAlOeoNUSZGqcvfIIP+eRDJJtF6yKvTfX4hCPriwjMVMPbkrShMyGdVIBJAKDkr560qZEDQBDJmsHh3evn8gdzOBgWNBbufGuEMtjSwRcqM5qc48eMqKXWsKRhG+G4gkkwpmMlTAa9lIZbN2BOrF8k3cyJE+QukH45j6evKSvaTLnR4nbYH1iXr8NchfAfkcIJ4FtJUpdNQM1c3mZuhZ+eQl+/x2Zwy89Jw4jeIP2I33sCuEcTYoftJ8mgBsJ7i9I8cqCcfjOwV9e4rX5Mzx+zUmBMRbvhmMaGJUcGzUsUbRlMPoQz4Do8QgekSvkc+cVAFO51pNDDR91jNYBKyWCUkG7QlPVqGopXLFq3Yb8jZUfrYfR8PfQZiMFYSwVgdWZYmqYZgYyRsZKAFJsZqVz/sm8giFsNBDBMJcbZeGkcE48J94BbQgpZZlL7OwUZJ+IwTSEkXoH7lZAGya6X8s0GOi/Zwkb7UmgmdV49PgUr7bAmRP5CJLnTJZQQ2TgmdHCo9QTs944iThvcZR1MappSLQI4fQcVQJdjVFPCG28TPEQU8E0JaaqgGbkndioiRD1mOn3aJP4DXWuPuS4w7xi1JVBZYD1egVwi4p6OVpxFg2Thxj74Xx+ht0gEoaqGvbkMfzyeaLb5MtEn0rXU9z0WO0k7w/NSSxqtM3zN5UHuDsXfZx4Sf+bnrsUlJHaqaJlg2s9EgG8DgrxOzL8usV5oyWkqZOqgjqHC1x44EFBVkGQTAxK4J7Qke6jabIWPRzKmqKwSciikQbhf703bED4AjnryVo4hpQq9H/36Kc4yD4uJjBYCWJGyuKg4iI5i/sRpntg/Y97xVuP3TxXsp6FeMZfzZyFbU6QO9+H8+1NDMDAySN87KnBOx9JOJIx4r2tKy8WR4tIxsS7y7FqKiWCyyQCJCVkYvNN7gmnyknqdQNAakmPRrQxqyLGPbl5HPoBHt04xx+GxC6GbUK8rhUciAzE+WpggqLmOIY3UbcSqzGHCdqdPr+RMFtgwzuXeu82c/jC8xvP7cPUcx+Un5724MnmPb14oU1ViRevqoXoVTVgKmkXSmAvnsN/9G6vnG2bvDYXyiNVxgbXHVdHyN41iF6+fyfRO4I1s+D+gtsO3fML1N0z+Itn8CQuGUsWrOXrmSyIAK+TmDNMXAIAKJgSddxgGXk8IIo9APa6LXzqLCwjkEpGIJlhTEW/zLAh87Kxj1nmmvNOJvw+m1tYa3G5FGU1yGSfzA+TzKAry1gEZBhy108EPpKqwIBxDiYJiyfboJpXIFsDvgN3a/DqQib+jkRQz2El9CgSQecQ5wBKqjiy7/qx0HWQCqQSNmrOH0kJf02Y8usV0K1kcvv1SucedTDWYjYz+PirogYF+Qj0Rs4QvWRIn5s+r97E2z8/Cs/SAx33RVOmPGvps7M0JGtTzzVgyms81j6tdZDatIOh1MR2oW+d5kGrz1oiwHfo3BptK6kmu3JJ++iYTcIHAMZ1MESguoGxp2DXwj//YNQAPpXvPtCPpuRlvh4wafRM5OkI6OwJaH4KfvbeZJuHAjJ0cFTLJuEbrl8HhfgdGX61xqm5gLEt4FvAUl/EIg4KGkoYPn6W+F/ikEtHcYCPlqTcK5eQqZ5gAcHCFb10wYMT16XNMJHCxWPBALEmlLOP2yJJi17B7GMPSD56in1M7N9G4NJzBEwWm0jaTfWxUeBjC6mbGti2KfvLBZ5+osPHHkE9a0K8SUlYnK8HXkkoxzayKYg2vW7yvcCAPs903kPCKPkaLCf2x3uTkLVt+ZPpscOpNagXbPruEkiKGFC/NNwnjrNvxZLnvZZD9+KFhbx3gdxN5eNtI3iD9fRZXYXgDdaT9ocSPACwMtGyVL+TKngyAbNOvuy9FGHQCdr95YVY0TOCF7DVm7eHJ2+wPa5vevWuQ/BG+0T/nu/bR8GLBe46+FWHk9VHmFOn1nkJ72MvA6cjC2aGh9GlfsahEIaSjEg2QggXjMpLmwhOmfzdk1EjZT9mSZsQbUIJEQimsX59iOF6P7YzvAdW6w6d8xvjbbwHyfHh2qM4132x2mPM49LfHomfphCQhQkhpW4t4lqrOhrXinfn9IkUf1kvpPiVkUq/wSMYw/iMi16Ifr7SUKgjEL+kYEfXAk6iDWIREFMJETx9BD5/CqprNWxZ1LWDbYXoScqDyrNgxA7eskDOKOTSpYZKxPtDScSTUWLVPxNkMjIcl7RJCR31bYIO1rebGpOGuk66PTUKhN/UP2OOxFXaMOA8utaDyWlxsyRCxu3Id8/WCZBqs2RBVSV6VrcCt0v4C3lek4RvIv1hLIJmUi/aN+0h2RdlDVWgU81VX17AffVnMl11eK40nHjvQmY5thgbjyWPjtHPMWVjIX5Hhrtc4GMXPy0vpmt1qXOfsEMIUwsK6cAr5lz/kgevl+6bJlpbyFL+Qk9ZYqb2j/Uz9THtc+y+x0xWHtzy4u/6yPf10KTnCUo8M2LuQ1xKiFKcpPrtr+DT3/A22s4lHlzXE/isyExOxszAo0qSZ5gKoxEhI2SL+t8UBHgk54jbKe0jkWub5Lo3KPSN0RsRwrbwfoYmHEJ7vOSHsJcQo5Ecu525dcyHhV+m+8cG/0O9cwFjXjrvxSoe5t2yFmQsWOKQRBm1ieIZfku71smQdXLdrhVruvMb38jOcMzs+tL9txmWuXG9I32MnuOAvgtePLQffIT6zZ8Av/+WfksENHNw3ch3VdUgMuCqkX1VDZABV5ocbyzALOZT9kIE2asXj8FEShp9JE6BLIZlv91k67ofPfHaqKYYQ0v1GP1doZ0F4vQRuzBJDsO5MFzGqpDBMwju56SN1yn7wty0ruuAzsGSgTl7FUQMt7yIc3xSpbmBro1/x/D44CXcmM8tWx+Myx7oFnLMQq4M6wu8/oWP8PoJAJVtMVcz95xNyBniPhOTkqxM2RcmQs/vJ49sg8qFkXGJ0Z9v4tnk2DBgb2s70Wfow/puI9w39+CRF8+sAcfUCFnXd9e1kgPargDXSohvqFuQz9sXZU0WCZXL2XT7Ltnr9pPNzB4gCzRzUDOTaR3aNXjxHP6Dd3p5m/Sxc36/5Dy5gXRnFMwB8nRfOXqdaJebNIIW4ndsOI/q2bvwH30txtTvVGJHQhUPJm07lMJhn5Qsonuq3x6QKq+D3dSfL92WHMea45fvihsIvcTc0g+QkhMabE//jnkdg/iNZJtBJGuBuFG0+BoM2NDAgygEPSrwwevjPZgl0Z7mZ+CLD/GULuCtk4ptCKGzPl6C/Jb0HdC+uN/OSrAG3tbooR1uG0wvgGSQSj27mTd4YD1LryfHVbyv+3rhJi2GGcFK2+zjjRtpx6mAj1ZFeeYMqOIp81CJmVkJXSgCZCzUdNyfwzkpj+6ckLm2UxKnOaSu66vfZfdr22B/He9c3HcHXrrpvsYI3+0Jt4L7ie7Dj8DPPgLVZ4Ahmc6g8yC3kHGVSAxGBDW0hGILqthqOWxbCVE0ukQtE6GzrcXDHhLAiMChcAe8kkUliSyBhE69jYE8pN7Fvlw+xW3SV+aVy/0+2XxmG3OPbkMUr8PvI8+1H5w/u868uqP3Dn51CeMd7OkjkQ7duh/XTK8OxivNI1Hy64zzlXb5HsSiHk4mnj+hS6xWK6mczUmaQSA0uczJo4u2tNk49R5kbDRv7Qo4tNjKKJgBItgg1438DTKgSgyNYUoSSUiUf0MjYh8hMiB5wdmg+9LlaAGzcI5B+0RWT0bKbJHFJLnqqBoJMa5nMMZoKPIS/vmHwOqtaaIXsCXSZpJ87TKkHpDucBXCl/d1KOG7CSNpIX5Hhm9b4GtvSvjFulWF0Q9JB8RrJKWkKX704pdJhthIoEYw6WHbMphFshE3DPbxIB8va8PJ9kgU++2c9uUZMZo9sdJtktd0Penf8/DaBufnYft4Tj/czmkbqTgZf6P3So4CmesHs8FHua/HpW5gX/8U6nd+SoSd5glGzy5GBFEecnoA0d8QWDu8wJPHbSFvm9v3eA+vEiI7WE/asZd7yVCSxuplUxIGyf9BFb4T9EoIGfHEGjOqaoX5qsgJcZc5pzzYt4hhl973AtZ1iO9Q/lvjbdhPAGwjdcf01k212buYyhbP3759bzv+kLYFLxbadz9A9+Yb4I/ek6qS1gLNDGY2lwm/60ZCoZsZYBrJdwWkHSt9CoVIvAfTQtaVMMJYsJZ55JDHlpJGMiDbSN6grQFDaGytMlmMQGHibRhA0gN1HjVmePj4LfYhqck8azkhzL13CSE8iAwmSAlPTpx2ERoG4L2X8M9unVglgxEUCCX5OXoW+2PT9Y253Gx6pmD80imN1h+hVoMZSOsRaIpLjEoJBmhC3I5kP0KUS3In9EKzX5kVwBi9J/ve+11jkp3Yvn//MaLGO0m1ab1GjHmNGOuLgKV1CgiYLkKXGl6nZHAkcXtOS7Qtz13Krooh1VZga/XbNXJMuwLaNfziGfDh1+Sc1yB6gzvoeX/PXn/Q6PaxKtWTsvcAQ+p9IHwBhfgdGW6xxOJHfwTUNKJgDjxFEofM0Wqi21xiRRmQMx5V5vbBbStQDyVUa6+qgTt+y9i9regEZ299CVhebA6IclDWSfgjxHMGz6Uf91oy93/n3tGNY9J++3be+8G5+qbUtwrCNu9r47ARgTvwxA5DYmUZiFsFgOJ8rxHpLfJd/GbAvv9GfCfPMIZPeyVuSuBCaGe0ivZGhENImKyPvAc7yNhUX/t4yfYOpdzS5z5et63n2jJuHHzMlm+tEL+XF8s338HiWYv2Z98VAuM6GKueDQBGSdvoOhkYmcwUpplJeHUzA1mrFW8rUA0pUsUAkYwDBFGqY7GwYKALQ1acD0Dz5RKyyRoBwFZCTiVXV9dDtUv1aNCA1BklimL85WTpKXgYVQeYII0RG2Nyf46Ynz0WEghIoTdr9V8tlZJbmauW0nZJYbPRaKQxZERxYy43AIEAzr72RZj5eSQxxH3KSxzLB+u5ch30ob7vSZK767oPCM88KvLnGjBG2neRtV2G1th3Sta2GFtHrgeQCBg2JMYYU8m7aK1+B5XIJ/aS4qHeXb+4EE+kpntIl1sI1a5olz3SIY45/dDGcQdGyuwV2bNnX1PtroNC/I6M7tkF2ssV/JtvHszYj/lgHwoRewjY57m0P/WTOPumzwPzx8kANObpSEIAx7yYg1j1ZH8q92MV1LCBEtKUD2Y98RmQIE7aDg7Jt/H49kwAD0NSVZnxrhcKAwOIHwj2XYRstE3cPvGej+ZvHDig7kGsdl3HdUjbdc69u68rCJeJ33Kdca2MUy8fuG1x+VNfhH30GGY+U++AAVkLdh2chrARe1k68XoQ63x1StJMIIa1evWqUK3S9qRxNhMvRCCHdaPksAaZBjSbAdAQ76iEdlphWKpZBg8jEeQbsKI2BS9iII1hEuw4GbbmAptKvIqiNBuwrXqSmISVS0hqCBs1gFbZFoOxjN0yzAaiyOBA8ggydRAZAEaqJUMOF8NYB7Qr8PoSvhtWfxzkYGfh+JM5YBueoBGimI0XZvEcWDyPFZp7wjIcA7ZGwewbAbVrXLkr4rcL24hfbDNOXAbPIjW8JoWOQsRMeDeZdHsSJRPPySz5gk6jXryTOY81tDT+i6ffQahGrndneGZ+L+KhmyTvkJSI9LqOOv3QXgbeqxG94vG7x2jf+xAdV2g/vNh8SW7Amn2VPsmMWw9fBFz3t13nGa3+wQ+HTg7u70YU4DvynkyGJ4f9+1zXkYwk2+7rTu/vtmOvSNL2uq4bPHabF+5Or+vAdgUPGxdfegNAT97IkPxtK1SnM1Bdw87noKqGaWrQ/BRmpiRRSZpXYhiW1Gn4J1Z99eGEDA7OF8iiTfaTATVKDJtGtjUzUDUDbC2kkUi9goGcJF4r54UgmuBNTBRuYEAQAzmM0ycEhTusk04IYEx/TiIYStZBei/0t+q1sJcQOp9XbtTcrw3vUkL2RsME0zY54ZvKBXOp91C2mdXleB9THqyAMSK4K90hIB9PQjhriJKJef7p30Ag3HrQMFImLmjY73URzp/2R5r+E94HAsAZodsgH0KQpV6A18gX+TukObBfyngdvLxd16fAJH0ekk++02sX242Qu33Taib2y285wIO3zzmx+fuvWpBla5GXI0bl7ItC/I6M7sNnWDxzuHjzIyn68IBwG4TQ7Fvu7Jq4id+ya+LM6ktvDjfsE1Z6kziGMHoRcMTncF2CfsigfZVzHSoUbuJ6DunTu0L0XkY8e+s5AMA2oXCLiWN2kBFxPYZ8JtuNEWJY17BzIYpmJuvVyQxUSw4fWQJ3neZNtcBKloQFoNvBHM81Fl66EXpaS6j6kCRWgK6bkKNY1wBIikZp7jCck+kfiPv8uEASQ14z0IeehjFcvYxTZHIUB+SNx/37kq998rXzNs8+HO97qk9A7wtFz2jwUBFM7ykN5JjE0wkt3LNx/dk/jjn4PJK7FtoBkeSnkTmsqRP9CTbv1TbksjkSZt9H6aTXi+R6kxSI4X2cOO8+ETSHRKwcSNKm2m2bK7Y//2Hkbed5Bn1fpa+rk7RjpUqU4i73FM9/8qcx/+afD79ub/AsiTVqsI5ksOg3czp4ZfsA7j+CONilB7NamtLj+n2DY0eW6QfGg8EMMXQFUKNnfsxgyYNN6aCYXvfgHOFaCTHUUXIsIQPUHoN0T/jc1nbrZ5c7+7oJ7CKkt3MNhWTug+PM53P1gf86578qSSvhnAU5uqUYRV2r89FZ2iR+keiFOeKy/Rc6H11GDE1lE9JoxGs4a0B1A3si5NA0J6CzGnbWSBEoDTNl76XSoHoR0TmYthOPYnTKbclBROJFTNeNiWGmppkpabRA1QB2puGgtvf8AUoMlYx5rQ1gqCcm3gGDgnBXRCoDd5GJsdywdJqj4KU0dYg/jd5K8k5ywFAlJM1I/lgSojrwZLGPzyVUspR7sZZlKBASvFWppxEjY882j9XUb964X7vHs2uN8weOl1eJXNkdGbI/Sdk33WLsfh+SZjHWfq8q1BN97lu0bOo82/s44LceQvCIECvYXwOF+N0ALn/mZ3H55TfjAz1EYTrYIzYICeiXNLY/mwaBsv1kw0S4WTGPLFac8v5iv8kkuNkxUVinIRWxnWx3HojVuOLx0AiH7HyU/FZr+kpf2e9Nr5XIyHHG9H9TsDjvd9855Ml5DRVRIbx++6tYPVvu1cch57sK7nvfxySqt+VBvinctMfrmKTrOKS1ePgKgG6pZM7272fu6QvyaMMDuAcxTENIgdWAFA7aVr3HEdaiOpXwUvEiNjBNDZzMhbRpwRcGaw6iTOfiWXMSnRDEMLptI4bx7yDDqmG+ICkRpLruSaMxMuVCqJZYz5RUhnDRibEwGmozI3H8FPMxIpGhnod6w4QnLRbVSsmZFvpgJwTWaPEdIWsdJAfcJ4W4krDEkXNt8xBNhh32B2eruz1Zfd+HkZOd59l90IHNd59jpxzYFca/5ZoOJW/bjrvJXPn7Vugs9qHFcqiqQbaSb7uq+221RhSo86V9+63J69oXhfjdABbvre7s3Ka6pVDKW1S4j6ncX4W4BAVEVqifJiD8bS1OPvdZ4PEn4C77PAZKQ07SEJNsHcl0E9AwkuC1JErWE89mmO8v9WoOPZ3cT0+Yho3cwv3a7GM/oneVcx3j3SjeyuuhkLmCQ7F+b5gGQXX/DQYZlm5Lt8djbEYEM8I4tm+TNEpbWw8NgGE7GUr2KRGtK1BTwzTiRaxO5qCm0fUzmEYnRCcCt2sQPLhdS5hp18mk2kk10+G1D3MRgwcwkEdk4a/iOaNB22gEHYy7pL+ZEoPuSJhoOCTKjbgyjq3FoIbKcZgbcW9v0j7enH0V8D28TYcUCpNruYIn7QBD3FXH1SulCByiGxwp5P8YhPU6hcOukw8/2betJHqAjJA4a4Gq0r916hpjYxSAdAYpotN1QNfCr1vwcgluW3DXauRBWkTn+vK2EL8bgFvcfmhTEIquvV0lLBfON4EQYHkTpHYvAtvK89xGMp79/R9D88ojye8Aeo8kpRPFq1IS5mzM26QhM0Q6A0IQ5gZUUe/5NNJnfxz6dWOG66E/e0VPG/tIPkOuOWNIMlPSGacr8ZKvQNjchlDRK07VIOvMHob69v28i+Pvtb8Kkb+B0NhCHvdDIYkFAOC77D3oeEOGUTf8pjgnfip7cvlwmBdR2vp2nBCSIbh11odpASwmyWL0IloJM61OTzQHUYiiOTmVvMCq7j19WsmUvXoR4XXic6c5iksx5mWeQlP1CmS8jhiTmt2vrF2yI/lzz3Fsagy9yTD061R7vqEqz1vbj13HxjUcn3BtXsPhY+5N5qIfxUO5T1973lsGxICvodZhCWv1b9t75UwFWG1jbfzWOOhITvJ42XWxGio7B7+8kG1dJ/MEZyHJO3/LoF3J8buX6D66WlEXqq+ukG7PPjs+Iglb3PKJR3BM8nkVchkVkPWHu9te0UN1p56thDwaG6rKJdbllFwGL6jmapAxoggZ0+/TstJxoK20rbVakMHG0uQU5w8av/a4fZR0esBzXIIScurcsH3yd2wfySnrIE2yjTmpnMbxfLfyLAoKXgC4xabEyoldLlum5OOGJ3DEezi2b3T/hBdR9u0bempG9w8qmGZ9hEI1pmlAVQUza4BK8wGrM9i5FqsxRsefvsQ+OiWHxKJUehcL2kjkxzjhy7cP9mfEbjhp+mYf++CqY96NFKDao2jJIddxnYrH+xx/SF/HOs94B1chkQdeL5GcJqbkBGM29VNOqD5BJinyg+SY0Ca2Dbmm6XWFaCw1PnsXq57CO7B38Gsn+aRO1uFCzqlW8d0gb8f36N5EOkghfvcI3D6cIggeVyepR0duPcbVvYOpx3RvQqnn31BcxvoYudZtiFbwa3z8kWxeo4+gqLgr1Cs6VOBfxTNpLA3I5ZBoZoTT2lgZMBBXCvkzhobtCUI81ctqqlQYqdc1VpXb/3f2IbyBqPaTOcP7Phw4lL6OXs8k9DfJhYkENIRn6bZ4SUn4MAYhw8m6tpNw5M1tiMWVOJ53tBDUoE22P2kzuV7wUmLDC6gIY+CUfNyQRSPew4CreBHj+JlFfkx5EcPRm8RQ58IzZsNb2K0mjhkJPQWRzF1YVTBNjWo+A1WhuugcZl4LeaxDEZXkN7pOlNVOC9m4DsRaMTKZmoLbDnBeQlLT+zNBHnNsG/Nvwuh1E9WMj+F1uolKyNciX1lkUW647WshhMiimLGKvniPGmUHfSE5LpkvkDLZGGTqjt/HcfqJ3JDbRwKFdW67vk1S6Md3oRCQvtduu3vkpqtoH0rgbrIoWiF+N4ApAXZfcRWSdF9JarAKH+UZaB/73p/RO7LjOnb1vU/o7k6CesC9mLqeQ4jnhldzz2ODsjOY5H7XuUwgxsAuv/dVQ11vxNuah/gGiyaQ/E1RgG4IaYTco7At8b4iIbNysp7QEvpw4aRIUl/QKdmux9JAcCfbQvt43OAH6ubk3MNdw+PDDu/x/O//vUNubcEDBI+Ma1Pj2K6x3IyMvMFAteElzMb0GFYazp2dKyWGoc0GWbTjqQDbwku3hZYOftskAVzH/eupUNNsO8jI9BRNLVEVtRSQMbUUkjD1HFRVgDEwGspmKp26Irku1vn+ouIdlG3fzx3HsfLoZgQGOvmbwlx5e1bXvincRKji4PekhkJKjJMJGYoRMpE4JR6u9FhjpOvkmFhrIIz9o5eTFMyJhsIQ2cJZzYAsmiWJamHfR8tsRL2kx/n+ueZ9s7u+7njbXs/brGh9G+kQhfjdAMaE2n1EEGQPjahuRXdY0Os+pG5fLxd1hxOLqas9iIzvGW67jwfz0JDhY+Rd5lb2mzt/qCR49Wu+Lgm8kfklr5q7uSceeuXUgoeBq8rNrapVJg96wpe1mwgrTY/eFTa6q126PR+DthWoGdufbt8VYrpBAMM1jLSbajM4LxnxJmphM1lWfVidMTC1jX+TtQDV8psSAgNro3eIkjzDfTxCkmueFEpLK5VG0pVHHYyDBufMDVn9OsXtiSEMeyjqMeUgkK2eEHHXz83XE2gH5jZplxznUyIl6z7ki12xgNtev+EA3ERo4n2rTn3Mvu4i770Qv5cYd0VQb6MgzL64CumdIhvX8YLmluljkvE+VOr4z/sow/GBntUUGxb7A84XcMh5pzyfe5PJLULxqgRrzEN6TIK5I0KmP+cNE9CCgjEc1Xu4Jax0LKQ0PSZgyos45j0MmPIixuuaIH5kzR4hpvt7FXeRw7h9tc7abfa9My87O3YKG+NiUiwt/E02jSoYErODESptD8LV+/D4QWj8kXBfiddNhhveFOG5iX5vps+7i5orxK/g1nEXhPOYZPMQUrYvqThG6OxU8YObIJEBx3iWR/E8H4E85tdzW+eP15EJ7GtNmTIh/G/Se5cT0FLApuCusGtcOoQY7soxPDSsFMDeuYaT+5O8w22kEBiGmKYI230yJuwbcpq3nyKdw7bbj51q5ya2bztmH9xEdeer4qZJwG14lV6cc9zMs7hPFa0L8St4KXAbZHNMmbjVMFoNa7rJuRz3CXs9uDrtEb2u15nOZCrP5xDcxNQjxzRa3OTUKFO4zTk/Cwr2wSHyYG81cN+wUiCGlo6FlKbH5hgbC/atXDoVXhqP21LBdKzN6P4RErnvsVPtpvrb1nbXOQ7p4yq4SVJ5l56ifXBfCM5NhJzui/tyD6ZwbeJHRJ8F8H0APgFxhH83M/9RInoVwP8NwOcB/DSA38DM75P44/8ogG8HcAngtzLz377udRQU3DUOUSZuMtz1OmTzGITgut7LfYjjTfzG6xgH8ud5DMJ/EyG6t5nXG6//DgXwfUCRkQ8bx/QeBhxcqTRgJLJgKrR0soCNYtKLCMCo4uqDN3PCmxhIbSRYg/YTRW+CpzGb9Wp3hdDN+Rmn2+Kgc+zT12HYPffvfcJdkqSr4L4Sq/tOygOO4fHrAPzrzPy3iegRgL9FRH8RwG8F8JeY+Q8S0e8D8PsA/F4AvwbAF/TfLwXwx3RZUPDS4FBl/rbyIu+aNALHzZUcw30njQHHJI8BN+H5vsnrf0FQZOQLjKlvatuYfdWpK+LxY8TwGhVL8+vdRgqBnhjG9m4ktHMvcphiO1lKryEQusOnk9hNHvfvazfY359w0oeAh0KcctxXIjqFaxM/Zn4TwJv69zMi+jEAnwbwHQB+hTb7XgB/GSLUvgPA97Fkzv41InpKRJ/UfgoKCkZw06GqxyCWd6HobxKbmxUck/k818E1p/zYhn1DX6/1/G8g5/VFQpGRLyeuMmZfNawU2F2xNB+zNsK+k8qmh1YsHW+X5e5NEK1DQj6nCkgdGja67ZjNc+4/Zm0S0cNrVZfc6IeDh0b4Ao6a40dEnwfwiwH8NwA+kQiqtyBhLoAIvC8nh72h24pQKyi4I1yVWN51hdZjVmU9BFclmFchjLfxG2/CYzmGl90LWGRkwTZcNawU2Py29jWKjXkPp0apjR4mzjkoZDPhcYxtp4paZduNpckCUlOVh7dVGma/fdyKBGyPMMg4B+2+JZDDOUZIJR/Jdnmfite86HhonsqjET8iOgfwQwB+DzN/lE7Yy8xMRAdJfCL6LgDfBQCvlxo0BQX3Evclr/EQHEo+jumlugphvC2yCFztt16FNN6Xd+E2UWRkwXVxjKkr9iGEh+QYDo/b/5jJqXim2icEbIocBkQiNjLVDSCkbidZ3EH4Uo+h2+H5mfTiHUAqD8WhJDRFKch1HNzX/PajSAsiqiEC7fuZ+c/o5q+G8BQi+iSAt3X7VwB8Njn8M7ptAGb+bgDfDQBfoPn9vHsFBQV74yaKlNwGbnI6jH1wk1N95Lit33pXc4jeFYqMLLgpHPot7TWa7KgQnYeTxvFly/iR5w1GxFDUjOhlzfYZO0MfU5Rnrz7sfuPtIYTsStNNZDmSV8WViOM1zzmGEsJ6f3CMqp4E4HsA/Bgz/zvJrj8H4DsB/EFd/tlk++8ioj8NSVj/sOQuFBQUHIKrFFS4D9gVjnVTyMnjUXMUJ5D+1pcxty+gyMiC+4R87LxOEZq+z2myFMaaXUalXSOSa3nn+L5PH3JNW/rZc07W4IHcyzumbQ8hYceaF3XM8bctBPbGMBK6W3A3OIbH75cB+M0AfpiI/q5u+zcgwuwHiOi3AfgSgN+g+/4CpEz1T0BKVf8rR7iGgoKCgoI9ERS12yCABUVGFtxfHBI+GrCTxCWkaVfEwt7EsKKd3s19YyP2GfX2IokA0PHehq3JfMa9Dj6cPE4hkMq79MJNhhMX3DiOUdXzrwKYent+5Uh7BvA7r3vegoKCFxf33XO3C3ft4boLQnfXv/m+osjIgoeG6043dFDI+I6w0oCxkMeNcW5PQrpPteOpojSj15b1fygOkXfXPdfo+W/B+5YT1qn8y4eAhx62WjLCCwoKbhUPldTdNbG5bTJ3F7/3ob4bBQUvM67iNcyxb1jp8Lz7eRN3nWPsfFcpXHbVwmE3OvXHPue/gSIkOZm8L5PEH8djej9+y1VRiF9BQcGDV7hfJlJ227/1ob8bBQUFt4/reg0DrlNwylyBHk0WrtmGK5BWOdf0b9snxHRfTBfpucGKzHdcFG0KebjtMfDQqqAW4ldQ8ILgoSvohbwdH7f5Ttz18ysoKHi4uM4chlPYRhr3Ha8O9Srue/5d13LMuXWPOb3PXVTnvsn5X48yr+898Wbui0L8CgruIR4iibsPiv9tkbfb+K238Q68iAS0oKDgxcMxwklTHFKgZhv2mW5nl1w6hNjsuq5jzqt6LW/rHvfvPkzxdN9J5U2gEL+CggNx35TY+zK4vCges5t4vjdxvTf9Ht6X96qgoKBgDMcKJx3DMQhBn8N3jIw8wY1Uw9xzCotDkIeR3ri8utHet+MmiPNNohC/gpcad0Xi7otS/aJUf7zvZO2+X982PLT8hYKCgoIxHNtruAvH8iqm2JdEXkW2H1L85lDsQ9Jv0oMbcBNy86Z/27FRiF/BreI+vfzHxs16oe7GnvXQQhrvK1l7aKW3gTLBbkFBQcFN4hg5iFPYRhCvo09cpfrqvpgiUMeUxTd5/dtwG79tXxTidwN4kcnNbeK+eMWmkA+eL3K1xfvmpbvO9RyDOB2TFN3GnEBkH8ZkuYVsFhS8mCh60WHICcoxZXBOCo9hWL7Z65W+X4R36D78hkL8bgD3nbC8zLhJz9mDDue7wcHoLknadYjEMQjZTRKu+0qSHvrktgUFBcfHXepF9zXXahseWgTRfY22yfHQophuAoX4vcC4q/DAh4CbGKTG+nzoXrkp3LXX7Crk4hgkzFgCqP9HAGBMv57uI71G3U8ggJDsN3IfY1/D/QDpgqa3IZwz/MhsO9D3GRpR34cxoX04dnDHkj6SHTRotLl+HXiP5z/8947XX8G9xLZx8ZiV/gruD25CH9k33+1lMsbfd1IXcGzd6KEVfNsXN/G7CvG7AVSPy229Du56kL7qR96c3+5zv8vwvSuTtoQUUWV7gmQMiIwQj0CU4nYlJ8bAVoFkSVsio+31byLAKInKtlM1PEf8mw68j+zlPMyAZzBY/tZ/nPwtzX38e7QNMzjZJ21ZF2HdQ07DyrNCW9kGpP3L0oOz8yK2Y073xR/Wtw1ttuzf+PtIsLMyfr7o2DbGX7f+YSGO9xPNq/Jd7/t89vLSnWwfu2/rXbgNj+J9J1/3/fqmcNf6ZsBtFlErEvYGYHcMRgW3jxsPNzQG5z/3m2CaJlGUBTyhHNOUp4QGjSZ29PtorH3w5gy2jZ/kpr06A+8cBwLje+LEHvBebltGkiJpSsmS9wlx6kS4s/RDRMO+wdqnntMrqdJtYL+TvNy3kMpDVIxJz6jfowrZxh9j6/fr3hQ8DIx5JYL3ZtdYvUvJLt7E+wk702c+k8WuSa/pADI1+VwPkPvXIW924p07xvv2UFJIHnp4ZsDLUMW6EL8bQBzgCm4dN6Gk7wwrtBaP/vFvgWmfo3v/bT0oIVYg8ISizZsscfOcAw/L8Oi+SeaF2TjdhDdn0M2EJ+eaXp3bDOnMrzQ92hjTT/YT+7VXvLKbx9Rvn3qXDuv72l0UFFwZwTg6UIwr+RanFPBjEMNdymkhhjeHaj5UN9mN+3bD+Gab4Xa/jSjuSSYH/WXvyRR5m8Je78o98CY9qJDKOyRd983Ae5MoxO8G8OQLn8LJN3wjfNtle0bCs9KQMMcDJXvoKcrDrmKjjfNvepj2GKCOJe9uIPTrKDlEJP8beLdGtqU5V4P8qTRHKu/aGix/5mfQzFo0571G3Svo2+7JsE8elYVTv//lGah24b4WFDkGSTsGbvI62B9vcuKClwPN05wE8IYinivWvjNb9weMeYr2zQW7zptcSON2nH/8DEA/XoQxKSd0k0bSZJyZInhT5HDb+LeVUKZ9TBDVfc9zlXOmuAticl/k6kOpSv1QUIjfDeDsm78Rix//h+B2PdyhBEOIGWn+UVJcIRZfGLYnUELm8hC87OQ7SdL0/snQw0NwzHFiYmy8yqAZ8rCMpel8p7AthhX269pw6zlmr31s87w7BMExFPLbULzvC4G577jKu7kvjvmcj/PeBe/04V7T8j693GjOagD998LObxABrobvSE7owv4xz80GacSuXLDd3sTrhJjKOV7ud745a0BVDd91Eq6fjWf7EMGpYwIOIX5T4+k0qZx+h3aNZ/l1mXpr83uHl8kb9jKgEL8jw56foaoYzZyAucQfXF/5Twc+d91L3In7rpRtM0LtVLxzJyy01sdgYJv27m3D7Mk5gMwyufPZb1fmD3oW1/C2XpdU3PQ781DIrblGH7t/4w7l9QrnvpIRRa/zEGtwfm33xZJccDeoT5X4tSLPvDObxM8NPUMh9C8nhsHsEIgZtxxD7MK2PIzvEGJYcg+Pg7PPfhL1Jz8D33YgYwaeP3YdfOvA3oHbVpeyDu/BzoE7p6TRybvhdd31OtEuIriNRO7qIzdvbRtvDyWVBQUBN2k8DijE78hoXnsFZ48rnHz+43Fg2GWlGhskJgeVPZX7fRTlqyiKx1DAj00SjtnfdX7fo1/wLUDdiCBitWg6h7xIiaw7/VsLj2T7+3/TQm3va546bjyudOu5+j4PP3ZSGG57p69JjK8inI/Zx17v5o5v+jauc58+Dmmz7znvu5Gp4Gbw6OseAQB853Xp4NosBLALpJAH28N75dbTIYM5aezJZB4+uiu8lGPlyCly1pPL8d+6T5jpyxAs/eQXfAvc22/Ad0sAAOvzZe8BY8EGoMqAGwOYmSQiGwOECs0gcKzonFSCNibaxtP0CvYeHLyLzsm6c9HbyF033KZLr9t7wjm0Fm/qb7xl33bdL2AfZf+hRAdNn/tux/rbIFRTOOS334Y3uBC/I6N6dIbmpAFOP6WWKw/2XV+tkPuQllyp3SccYVJJvoIivu/+sevY3X7/F/2qg9GVBpI9iPNVfqs5f4zqE58GX3wARi35guFUpKG6aUgvo88l1KkBKAg1oG8f2g1+QnZ9g9VAJhnDEFWW+5VMFwAGEAiotktzTzlvC+6tq4N9fd/MDLhOrsF7ed9d/p7n1z/y3vN+AnPqvT8otOeI39RVyPmuY6byGza8aKlJeuM3De3V1yGs+x47FgK66fnb2lXBC4on3/ptAInHj10Ht1iiu1yA1yv45RJ+vYZbLFURHxLAsF7NZL0njLp0HMPyrupFDEjDS/N9uTdxkhjegjfxvoOqCtWrT2DnFrxeA64Dt2shVuu1yBUvBEueL/frzgEOStiG5D+O3WFMivsZ0PGHjAGYZAkIUbRGjLTWADDigQxtjdFje8KZBgBxeg6VcSF8NZLKhGDCO7hW17uu92JqhepANsNvOFZ6yPg4vT0s/zrk7JjE6iZIIpnjk969r/OAUNni8XuAsCcz1F/3SdD8BLxeJQNHUlQkPNfcOhRLz6eeIT9UwtkN9suBPlPqIQNqNr8YQpu8qIx3icIv/cmOVKn3SPPiIo7g8djbG7GPt/OK13NdRbf53OfB5IDTU1AUQi5eTySBg3uL/naG7bF9dj0JEaIgeDYIYHJMmGdOC9jEdYR1/TOdwBtGzhuniUgJqhzX56dS1nc4rQETeo1+TLNP3tFIPL2PAhEsoT9BqKYW27gt7A95mtssrXt6PDfegQM88dcx0ByLRB5CdgOZnDoHmW3fw/Zqo6OPfEd46F1bgwtuD/WrT1FVjO7NnwGvO8BYGGPRNBXo7ByMJ6CmAZMFWQvXefB6BbdYgNdr+NVKiOHlJXi9HvUUTnkJg8cv3z9FDMlOEz9KQ0uBjfDSgG3E8Bi5h1O4T2SxfvoI1dNXwfMZ/OVzkLWRnBEgHr+ozjgZ1nWM564FnBgIuG0l1LPTqJqu1aWTNuqdC2N7bmSXdQf2rRIvbIzJA2KH5N3JZYzKSoaR32BlXlpjjPyWygJsAFuhVs8kgyK5JF2XATN4MGl0zOYY3hrIpBpVg2HEB13RR1LJXRfbDGUsyzHBOLsFB3mqbjGC7GppDVdPL5iWk4f0sd9vtTvSII4hKwvxOzKormG/8PPgP3oXppvLRp94SQAZ0NL18EJEImB6hRtIlPigvJM0DJUmCf3+0N6HDpOqlD7rs9fW0Sv1ochLWmiGhv0P8t9yhXvspWQgen0C4dH529LiKYM2SjrjfeLkPiXkCazCPCXCCYGGkOYw4AmB9UAY+MauOxcacfME0WrmsGczLL7p20DGglwLgEGui8SG2Mkt9J3sU9IShZx66Sgl9gCI+99MG+9LT/xTUL5dl5Tvj/do8COz9eE5aVu7AWnlxDs4JLX9OVksrkxAZcAhhIdD4SOxwvbvuYyyZEwSBhROEd6hRKCptz0oCXCqNIR9mi/SW4szK3KAH3lPdpDGXV5Nnnr3svON7p84xyjZ3LuvHdd/wHVsbX+ksNaCh4vZJz6G+SdeBb16Dr+8BLpWvHxaBdu3LYAWfp14fKoafGpATx7B4zGobgBTgeoa7ESW+MUC3LZwywW6iyV4vUJ3uQBcF0NKY5hoRha3bd+XLAYcEl46GlqaYkeY6egxiqnQ07tA89pjdJ/+ZvB6CWqX8N7DdCswC6mHd6BuBQAwIbSSaxnjvdelyBUio/qIeq+CXhLbII4zQn6cGBlDNEpCJsWo2Ml4HMhk26r80FDUTAbmMoAD6QJ6j+NAhxCyCfSyhrvhe5eeYzSUNJBJ6okjE0lobBXCX2uQoUgmJQxWZaeGxTI4k5/j9QzCXLg5yQy5lek+7lxGOtWLGe4jp2SVh79rAru8XleJoLlKu0NJ1nb5Za/UZ8AxPYGF+B0ZZC26R6+DT5+CXAtmLwSAWde5JwMxJC4QFz+ttO9S+vP9Nt/H+t4FUgTkShjlyvwIGdqwEO3qI7aLLcDCQPsqooGQRpLpYwgkBdIKI54GSo4LHDgSA5JrTj1RSPab4MFK8wbCz0gG7uh56r1NYlXseoLjNRHdM8yjJ2DPeD57Bev1GhYViAim8jDsJR1BibNFIFBy8SbcCyXyweNm4n0MBDAltkIWicWyR9ABNQ3xjN5hJNt7MhzakA9hNa4/T4oNshYuy2+2D9uCoSMQv7CeE3c3NIhQ+gzUOLLxPeTezo1BlIFIGI0KSpKww7pKrK52GNITJ37X6/VqQXZOCKNz4K7tvZRtOyB/GyFH8ZbsJoqHkMT0WAphO2PENKxnYcJBV8pJIm1c94gyMEn8aLRdag3tf+N42/767u+8igXHQf30MepPfz344iMYZlBVS1XPrgW6Dry8BLdr+OVCvrnLS4C9EsFOFEp3CRemS+ociAjEBqZuYOYN6rMTUN2ATQWqKiGHzsEtxWsYwkrd5RK+XYPbNMywV7J85zaJ3DW9iLZJ9u2qXJp5EwNSsrcr1PQ+oHp0gvXZx7CmCxhzASIDy05kosp7o0uK+pGOsSG6w3VAu1KdqpVxsmtVznnRI8ZkDhlRASzJeE81CDORLRoGKsSK+/BQJUkAeoN0IDGuG+oFzimJlHBVVjIkBuaubxP6wDh5BCAkaqu3socU+tNoLcak7IlLyDvLI2369aQPIjD3nkiYIE9Nb4QlAzQWMHXczkR97mWSo0l6/Ma5VScO9y2Ex/Z5l7rNJcV9dJ2DnL4nJHJbhettETH7XM8uT+AhKMTvyLCnc7x7/nms2g7kWxABlkQwqWM/KvsW6YAHmCR0zcTQyl5pZwAmKuo+WUIHOu4JAveWGSEGQCgUskkuM8V7jMyNKfrA4d6nbW0OJZVjx21tE8hTIHWISnZPOuTZRCJaEcC1Dmg60DF60piEa/z0848DDBgSL6MhDwOvlyD9W435NORHl5bkWVF4DwJRJI5tKLxH8dieNBLR4FgCyfMHgYhlXUNA1c+LQDxVfRg8k9AXgnc2MVLIdcrvI+7zFky3AnsP41vpI5BKl63nhDDdHt63jBz2bTISGb3G4R1PiOHg2Tr5ba4Fuow8xneHhCEZAtUGqGeiEJiQD2J1vTdAcLeO5FCWa1EQWlFmgeE5BgJlh6dxQ/hMEMFt4a2HhrVuI6bbPKLTfUyRxh3XVfDCoXrlCdrXPw1+9BS0uhBvT7uGWQMwc9D5KWArVMyArdSYZ0Txd130EvJqKd7CywsZe1oZX3yr5BBLVcohpFELiOBxAzw5AWoNJ63qfnhZryV8dLkAt2u4xQJ+uZK/V9p/N/wup4rQbCtOs4ssBuSkMWBYyGb8m7lKqOdNkcfZJ57iXXwci5phayHZhkRht2jBDBiIYdxwB2aGhehNFXcAESr4hCw6EBkZ5xNDaSSNGspJXvoSEskx/5xcl2wbRqaQdyIVg3yKZWMBkAVRA4DiuaERUUS9TiBkUg3R0cBMCHpASLuJ9R+C3GjXMg1YlCWdLMMxyXXG92kPUpl7JAOmSGbcPyJbZPxPI2WgKlVOIjMDSbY9glTLMCJbSeUsjAFqAzKznjjqfo6eT5HFEiKbfhNhypC+Smww5HLb6X5dd53u20YAd8u4FNvI5u7UoeNX785RiN+RYWYzXLgzPF97EDp4ZlSQgSQo6hXJhxqU+qjAwyfbepImpNEBIBjLutT1oKhHRR6xr+A96gM0tYBIGhKZKPzBg9R7jIR0UvQe9dugIZvEXnMTU4W8X49IyeUUoTuUEKZ5bxPEc4OwZiRjgzymoX+DPlly6wIJ9v0xxAx6/bNYrht8cAHMaoYxwKxi1JZhCLCWNYpRB0NiMXSpXZHAelu9CkHN60yIIGWkMRK8+P6M78/bpdv7v/t3cNAmhonS4BzRiSoXK0SUPYgIdnYmQjBE4PhWLXQS+kHdCuzdJBEk7+LfPEYK0+c6QQwH3sWMFObew17gjzx374deRh/Cj4PA1GOMAUwl1mVbgWpRXkFWl3oz2hbsWhHu3VqU1XYtym8uhEOuZe6ly71x+l6QtePEcuSY8C5FQmiGYShk+ntI+T6E26PHZl66GDIe5Jf3MbdvU2gNhVwp9vKCgwj2dI7u/DW4+gz2XBR441twtwKcA7ULWS4vAd+BnIQAol2LktfUwPwE5vwxYCuISCRRkl0HXlzCLxcxhBTdGrySPvpw0gWwWsTKksF7SEziNawt6PQc/vFjwFrxHqrYc6sVuG3hVyGcdClkcbFQZX5I/MJ6WoRmfy/ieJGaUPmPnQfC39m3lReu2QV2vOFZ3Be7SGb1+AyXbYP3ngPeV+gcUFdyf2bVDIaAxvq4JCLJmQfgSLxaBk5TJhgGQuiMa8GeYdSobVmu31IFGII16g1WI7tNDJ0hCoeiQdwPyFggjX1euXggKSnkInqBevoQ9AyvegT0OCQyKEnziTn0RobBqgHNGhiGyBIgjssAEvKiKQpKEL0aHRHzH8M5ElkwElIa9+VtkcrdTaJ4CEkcnDNgxKDZX0fw4G32zYP1LQbD4Lm1kiMcyCLIgCoLmjXq+ZX8SwrtYmE9H72N7Dqg63TakE6K83SBKLbw63bU8DlWSCZeYyYv8+8zl4H5bz3GVEiF+B0ZpqmwcjUuWwCopZhPxRq5KA+4o+AF4jigeQ5KteaCBQ9R4vEB0Fu2cmVeP65ecVcSyWNK/HBdBk0Cwaj1LBBGRoiQjF6j8DtJBtCAGLoYWaYwg95Ll5DNgbeS4YOiGLyZg1BFjveJ0uMyArnVWxn7xqZ3KQ6ESWhhThCmSGNYJwLmJ3jrXcYHF/2HW1cGtX5hlQ1LjkshhHJ/KyPrleSHw4Z1I2TdGoYxQyInd5Xh4nvEeusCmdRQUA5yZvguEXiDNKb7ZPvmMYNl2peR+1L5FmDAqsfPegaRhSXxoJnmVEJ94MVY6qTSGXVimaN2GUkhBu8GNEeyJ3xstzxHoM/5A4AQVjWZYztFEJNvbII0Rs+i7wC37gfr/By2AmwNYy0wPwWfWZCpAWtF4HQJKVytgHbVX28uOCLpTN75QPAo+w5y4mWy9qFdchxnx6RETtYnchZyoZyEVG/2MUUIC15EmKaGPZljUT/C0jew3RLsPWrPqNiDqhkqU4OMFVJobO/FWS/EQLJaiEK2EmKIdi2dd60ock0Fa88lxBMUQ0kBgFcr8cavhBi65QJoW1QrmWKgzysURY/WbfSohH2AhpRaC3p8jubpUw0rlcGbnddQ1RV8u9Kw0jXcYqWVLDcrlU4VEtmXGKZtAnKSGNtNeTbqw7/DOMfdjqqF9SuPcbEyeO8joGOD2gKnVMEaoPUe3gPLjuEYqODgWGSP50AEgdp6NErkqrCtUZKo8ohJ9CfHnQ69ShC9ptsomTPsYlRVGD6tRvsQVyBDMKbuDedk+lDUNLKGaGBE5hCtot7E8O6i0zSfxOMYjchIDJiuE+LpkvkJ09QJ0kIyxgJ1DZrNQHSuMoFApupDVBOCwq16D9cr6X8tJHHDULgHQZwMDx3Nb0xfljHCl50va9u3y8+5STI3310POA9uVwPS6DciaEZ+D5lIHKkSAy7ZCmY+B6pKyKSSxpTIcSseWu66vhhR18K38gy4a5P7oDp+RuQ2fscOongVFOJ3ZNCswdvvEf7BG4DX2ztr5MHWOgA3kmqEpmJYiqlHqG3vIaqs0KpQXY884Jk1jU00+UAQvZiawNyHEqZKfdyWK/UZEYgk02y2n/IibS4DmZzyHLEQECIlMmKNIw1FhMYgUkoyQ/4bdHcceNGfQz9ejp5Ip6SHY6hHIBdg3xOIYO1LBu8NkjFBCPpQkAp0eo6PvvIcHz7zeHRegwhorUFLBusOYBBaBzAROgdUKihrtbAarbIYiKLRwSAQRmu18jTSpXgWq0AeA5nUnO5+Ke9NIJ39festaaTvE4PVCOEjz/CchpUm9xzDdyi8Z5WR+1brsrKytFBiiEAIdQkDsgbWMowxkooRyKxbaXiGFgDQe27y57bhNdwk8hvewgljwFain3mWQ4XVnEwSjwtDWfcilLsVQnhsRCVKLzUz4PQcVM/EJ+878HIJrFfwqwtRchU0IpSjKMkE62YuXy4Ee+FMMRk9UxSz39R7AMO5D889xJYqogUvDqiqUJ2f4kP3Cj5YecwrB1MTmrmDRQfvGQYtvGdYXoGZUbMQu7qWib9r7gBjULMowiZ4YtoF2HuY9aInie1axrdWPH5Uz0H2XDyKtkIFEu+Kjie8WgOujcTQLxfghfSVhpIC6AlhuwT8ErxWD1XnxMAzs6DzM/Crj6UIjaliWCm3LXy7hl8upSDNYgluV/ArCfVzSjLzPK3ci+gdjyrBaZuAnETmGCjRO5TL3XlTw/2zp2f4ygcLfPge42JtcLkCyFos10DdWFgDnJ0YVBY4mVWoLDDX2RYqG2SQRL10XuSP872OUlu59kplXW38QCbWGnFTqxHeECdRVZquoEZ3aCE2QxomGgzkIVJrYDAHjHH9395rhJbqOIDqLl5N670uI3mpgfgF/WQNapdg14FaMUaQevB6edXF7SwPQ7Y7iSZJJ7SHtSBTgeqqT1GwYaoK2xvW236KjRhe2rXAei37E3K3kV9/BfKYvyNT5LHfP9FXfvzIeTf6mFwfa++Bbt2fd+LYqBcYCR2HMaCqgmlq0Olct1VC1oNn0SUksZXoH27XMgYEL+7I9ZojsLY7I35E9M8B+KOQCOo/wcx/8K6u5ZgwdY31ssOJZay9wXINPFsbdA5o6kAAVamvhsp9XVH8O3h3Uk+RDGBDJT8uVckPx5kQSsiA5z7PTBwTotznhLD3/mBje+7hyT2Rk0RwJDyxPybrg/PlNHkEeGN/fyzFsFYhlARTibvfxDw9Lc6iBTuoW0WLYE8GK10GgheUZ1XyA6Go50A1wwfvXeJHfmKFZi4xNvOTGmenFrOacHpWoa4IpzODqgGa2sB5oPOEtmNwR1h3wAoGnvt3I5A8Y2mDFAZLUTAIhXWTEcT4zBLCGI6z1L9PlLxHQsJkfz14r8LYzFojqJ9qpGOx3DZKar1eiNeBzqrgjOvqMQqE0PoWcIDlDtYHskggO4OtGpCxMOzgXQe/VuFIvfCVzoNiZOOzi8WAQjnnMEjHnIxA4nQ9enJduOH99ih8M89aYMQ5EYzv9rA967q8i4kF0HViHV7LHGbxzTYWqBvQfA57/hioagkbXV3CL54B6xXgTT+XX+hTv+ZI+PRliUQQubALlVPT7cPYE0Z2v2KzrK/kuPw8eZ9TeYIvK15U+UiVhZnP8GxZ4asfAU0I97MGM2tgDHBSVzCG0FQnYugkSZlw3MF7D+uFEFZeCGHlPUAVmkqKStjZmXhvjIENOV6t5PuZTseN1UK3rwDf9t+r68SQd3IqFn7Ip0TW9nlBy6XIjVB8ZrVUpVkNWYEYdg5SnfQSWPekTbwwDFM14sGZNbBzqVRK1koFUwbgWXIVuxZOCaJfrcBdK+GlbavT3AwJ3dT0A1PEr1d47eQxOaZK949WA3YMezKDa1v8+E8u8eGywumc8MorDc4awsnMwzlGt7a4WAPvk0HbpQZziSQ6mRHmM0JlgJmSwkaJnCULxwArMVy7nhgyA5XpiSEgufRWx/U+2ka9iFqDpCIPsiR59yCxviPoUwwPL8Z4dkmhNc1fzMnhIJw03a/X4wEyNWxdwVYzMf4pSQwh0Nyu5N3tlqKrbCGE+vB0KXKLuRM5AWxGtYDkva/E6Mik61QhRuV0nZCg9UoIZruWYkzR2KrvV5ZnHw2CuREyXFvSZirkNMq1Ca8iwW72ZTPDZWZc3FXQLM2N3Eh3MKFNcv9ki0T8tAyseqKYehXjMSTkkOpGCGFdw5ycoKpnoFq8zfL8O/B6Lc+/XcM9e4br4k6IHxFZAP8BgP8BgDcA/A0i+nPM/KN3cT3HhKkqdK7Dm1/t0MHiZEZ4cl6hPgEcExYrYLEQpT8o94EIiucvkMGhUh/XM+Xd5Mp80GVJvYcGqA2pMm+FPKqH0RADDHhV4sESdtnmxDD1+AUiF37vSPjgYJ37gTbs3+015Ik+J4jiCAnM1w07wLEWxwGs75QIVqDZDGZ+Jh9a139gRJqDZoYeI44Tw+qgXtfgusHbb13g2ftLzE9lGo923WC5kE+snumykWVVi5JzOjdoasLpzKKpgNMThjWAB2GlhcsWa6BbUfJOZMvwDkSjQb49I5HJ/p4Uhm3hXg+PCffRqlAMoai1YZARwthUjKoWhX+xZnhW4hcFrCpEOkgGAsgqLGNoIZu+jeZTChHsJI/QVqhmZzC2Atwafr0WqzsQ/cSR7OngqQ9s+BxjVVk32A9SARo+riAkUy9VrCwbrIthX7DS6dAaraND4pcSwQEJTI7hwTlYcpJWi3hOJguan8I+fg1oZuDlJfzzD4D1EsgJXC64gpBMwjCBnqClCeahj17ohec2FJxTRJA9D8kzsBHiGfssBPCFlo9kDExTw5DB6UzGndYBrbdovaQ8XGguXK3ja2NFfs2qCtYQZtUcxkgOmNecLM8erV/De4/Kr1FjJeOGAwCDyjRAZWFnp4CxsJqPHDwktF7EqpHwSgyBvpJkC/HSGwsyDDqZAyfzfs4EW0n1R+/gl5eirC0WEma3XIo3JngMO9d7DTsH+KVMWbFGzDmMS4hyaMmCThrg7ES8h2TEewgNLWUW5bDr4FZrVRZX4K6TgjVd15fXV2wLl4shnNn2vt34dzpWmMI7hj07AbcdHs9avPveGm+84/HueyInZ6cNKgs8eVxj3gCPzy0enxGsNViuGZ0zuFgBl0sTdaZGb3uMnKlFNs1rgrWSZ29DwUkDGDJanJPhHOCIASWHIRLGxIiV4OGTpY0yUp5JrVUurfEwuhR5SPJuQOSljNpODfAhAinMmayF0HSsD9EvlW/FoOEg4akArJeQZ9OcCCHUyubRu9eKAYI6MYSwHcmd3wgbHRqvoxzrWjD6itWxcAwYZCt5H5sGZM/Em1jV8m54ed/EaLnSb2at5x+StdEIlYnIlClCuBGN4jnqDxsRKBNVpyejThIZNVWxul8f3z9GDOO+oKhp6C+7DljqJmx+W0wWVNegZgaqG9j5DNfFXXn8fgmAn2DmnwIAIvrTAL4DwMMWbBJPh9XlGl97e4mLVh5wM5dR6vGjCmdzwqtPKhAB7z8HLldAXatiXNNICGBPCoFNb0+l222m7BvDiccntNkkh0DvRawrOWZWiZeHiNE5oHMeoXJ2JHBRrw7EbrunL/UibvMGStsJ4hdJ3eb+SeKZFS2xJljkegIIBxjuPUy2OYE5fSIKxWohVi4gksY8TBT1DGRrvPfO+/joawusTk8AAM3JDI1+pPVM3oGqHhLA57XV7bqs5E7NZhazBjg7tTidEV45NfBE+PCC8dFl9g7UuQdw01uYrodxR4TXuNewf2eQrQ8NDuEdEu+g/P3khHA6I7TOYdUCjQ2hn3KQUxISiGDvEVQPIFWwVu6P5WGbIChd1wKdE4/l/Azm5AxutRDFDcmzom6DuG9UFWX98TnBi55BvSfM6Yg+bBMEaUZwNkjlCBHc6g1MjuHsush7YPkcvHgGgMDNDPaV1wFj4d/9qpY+H3oicyLYx/MOiWBa3CV6ATNv4pQnMICS4zjzQMY2uzyBLydeTPkIqIxs8HxB+IdviJxrKuD8BDidSchf5xmrTpRA53svTQjn65dO0qsrr0o+w1aEyjisycF5hmEJGzVeQj7zMPOKWlBtUM3EEGjhJb8weGi6FajVYlQhfHQdQvBUsY1h1x6oDEwtOVfEEEIYls6LsrtagJcLwIXiM60Wn+FIDoPCHcNJAxF0Mschtw5oZTs7J56BUKG0MkB1CtAjUdaTIhbyYavBt21jHhK7DrzWXCTnetLYaiXVvNroZMgdj/49Oz9Fu1ji3a9+gNrV+MQ54Y13lugcMDsVGfnh+xIpE/Sl+bzCyYzw9InoTU1l0HqDjy4ZH2r0Rt2o7pTpTTGaKubYGzFONmKknDei50iOvbxna69T+YHRupTwSR8xCssMCaExvFGt2yYkMvUiSnqGpLkYIhit99D5Fp3zINOiqvTd5EAG5T0LUTCVX4vXEBZUz2DrE5C1ojcxy7jv1sBqCUBSV0zImc/THrKc+ck5p6MXj+XvzgErDTXVYipkLTCbgU5OJTqFKnnfWyGCfrUQj2P4Xnh6/sMrh5GOHLN3RdOAW85F3CjeYs2gHQGSM3q5Rnb2K+OuiN+nAXw5WX8DwC+9o2s5KiTfzMM5B6eDk9dk6sulx+US+PBSQjh/7ucq/OTPejhVAo0DvCp3ff61PGoXrRNhgNF2wzDgwZWEtmHgcn7YRwhPa3VQb/V6L4JyD7nOk4bwdE547zkjKGbRA6Q9hssIZ+grIAfvQP8Sa3pyJGM+65Mzj94kEUw9fpMhpzQ41uuVBY9gIBRxnR3QOrh2DQPAzs/AK0hIT+45ivfRgo3BN3ymwc++eSnWWwC+8/HZhxLgLoQm2qBg03Cp51i3HusWWKwDMfM4mRm8+pjw6ITws+/2Q4DZ+g4AfcDB0DoVcixHj6Sp9WGf4Z54Rnzoly3hsgU+/ojQud7zF4hB780bhoLG500+9huIi1fW0b8jeqx38KsVPDtUJ2cSvuvd4FnF50TD96v3vgUyFIgWD663J2AuuRHJNj2PICMyWThp8MT1xVU8Dh7NwzXkXrT1Ev5rPwvUDcxrn4R/901gtdC2gQBmBDQgEL4RATdVgOUqXrvNIjPjnsCXHC+sfATJvJrMEmXSdoS2A1Yt8JFqI/OGMK+B05ko6R0DyzWwbOVd6VSOheW6C8RQc4gJaAw0XNTCGMKsmcEQgeHgPcMrIWxZDEUDpdpJ6B0AVGxgq7mQweZMPC+avxXzjtulKMxrCfkMhBBdK4q164BO15V4UVOD7AnM+dOenYCEgLkuTlUhBKyFXUuRp4GnENBQz6F3hrUCYQwtDeNZnh/IAFmpRGysBWrxiEoxCyGLoYjFQEl2HXwoeqPX63XaGt/2hS38uovKvWlqOPZ4/myNn/jKEk8fV/jcZx/jH31pCdfKdXXVUDauiLBaAZdLfb61xePHFk9OCedPDN75kLHUyEWvRM/r+Bb0p6DzOMtYAVgq56gsDaKprAFmtRjBmxqY17K9dYDzjHUHdJ2+dzEapjd6m/i3GijDuu9lWmgLpEZv0VDmdYXKGsyrBsRrtJ2LBje2QU6qUSAYStV44XwH+E7WiSRnvjmHnZ/LO7VeSl64a6MRtPf8hTChCSKY6TzQAjd68YgvEiDvd9f275u2FY/VDObsKegVIfncrsDLS2BxIcba6G2bMoLy+DnjtXBCwuygj1zmxPDNoAtmFa5jekRi/Oz1Xgz62JU6EUDGYsobOFkkbSMNY7TrK+HeFnchou8C8F0A8Pr9vcwNhDndJIxwqMwbIjQ18MpjgyfnhA8vZGBS54+68If95YpQvv8QBO/MPrBGhGddAU0lA+AhCMo9bdFq92lzLETPR1inoeIe1qU4TBCQYk2lMCF43mdGmr74MxdYrTzm9ZDUpTATii1tebBEwMkMeHxGOJ0TPrq83v3KjVYpsvFsup32MVbMLUaNeH2fg/GOh2RugnNK+FJomz2ntM1wHfDOicW7ZRD2eGE3hNr2YzgpKLTRR448THTrdQzJYfCUcUYWN8NHJtCuwR++Czp9FHM68mT5vZB7L/Pr3dVnLqQLjoqHKiPzirOAjBlBWV+18u/5Ut6f87mSQAt8cCEpE0Cv1IdQvUAEa+vRsQEcUHUh0kP6lnxl8R5ZQzB2rt+0g/cerZc8Qkq8LSHqoMIa8ND5diXlm2wDQ1YI4al4C6H5XqZdiqdwtRA50kqYNoX52QCJJmnXvRekbbVaoAGaU+AkTAtDstQCU7xaqZdupSF2kvcsVYGHxWci4QuKbagoOtjugW6VzFE47jVhhngzKZTKF9Jo1OtEtlLCSOLq1+repq4i16gs4ZUnNRbL8Ym34zlVkLhQnbRiPLvweHYBPDoFPvcJg596KxjG9dWKxCrvNcieeJbeqKjvXSjamqbV1BY4aYB5JYRwJY4XDd/UN4cYVjv2sfr68LpMjGrRCKRYoVtJncqepWXMK4OmqlHVNVbrrpeFefXHQEBjikIgOEL83boFQBIVc/pYns1qAb+67KdSyvPfN9IizGAd3iV/ZzIuXF/0HoZIGQ+sF4B7LqGM7GXqinoOPH1NCpi1K2B5AVw8k3NchQhGY/GQhOURKxtEENNEcEACgQ0iGHEgERztY2f0y/GY311Ji68A+Gyy/hndFsHM3w3guwHgCzR/GJoDi9WhmdV4+hSoW83xe1Rh3gBnpwbrFlh7wnuXgDEGjx6lYQl9cZeN3L4YiifLvIDHWM7fWH6W9NlPFSBVIRmWKFaHJEhZZecZzjMul2LRmlV9X9uqOwLD0M60XT4RubSd8OjtyvnLlsNt2fVksfSDUM9k3bCTEIyqhrUGvl2DV5cSt59VlOzD9hzIe5y98ghnz2vMQ6jnvElCPOUB9jl+w9DOqrYgAk5PDGY14WQmU0Gcnaj10xHWLfDVD2Tgms/7kM74zPfM/QvPzphkX+ZE6td5Yj9vtA8hWfPa42wmuQ/OM2Y2KF9usNxrPsuN5HgersMDZFDXM5AhuMVCnlVaICiGZfp+G9BrAdm0DQH53JCUMuapPiYqim0cl073sLUCaH/M5BQROeanoCcfg3/nZzf7msJYX7t+wy4UwndV7JSPwAOVkd6DO4dZQ3h81m82UVYlecRWq17b8CoROt+PPV2MHBh6Ylpn+iIeSbEzIMnfWvvBuuRpkYSLGorhpA7i1fLeA7E68bBKcaxOHNIFfAcQUM1mYgA+Y1mGatRO8rFk6hopr09tVrAjm+NUiKGTfwTQzIJMA9CZRLWE0G1bQaqceCGCrgNWS8k1XCykGIfLiGEyAXjcFsaiCdI4JIQdmFvxaq57wpi2MZ/7LOiVGp//plfxytcZvP1uiw8uDE4fV7EYWtMM8+FT2Vhb4PzM4uzU4HRGMJbw1Q+4L4KWyb40xXsMofAd0NshxoZV54F1F+Qs4+kpcD4jvH+RKPdEAxII9AEeUX4GXSfI4LA/RCLFqBgxei5ayW09mc3hO4PO9VEwMWdejRMhGsbHVAnVcSh4klpQ2wJtK8aOx69JbvziOcgN6xXkheti4ZY0XSJPYzCZPhTXedBXUDbEm8jA+gK0DA9B8tXN170i0QDP3gcWzzfmXw7rG+Gb7Pt0hh1FZTby7WPOXR5WSptFZSaMmSGPcGOu2/QFHMkhHByzo4DMtGfwcNwV8fsbAL5ARN8AEWi/EcC/fEfXclRw52DrCl/4hgorJ8VcPAwuW+DyuVokK8LJfCwOPQ0/kGUeXz5WmTEW2SDZLwVdWIkdwZggUMMgo8VcKBR18fAOWPkwRUSv7BMkd2JfYjdV7CUld1cldrlnMCV3adgn0H/8OVHoyy4H0sEw1mr1yEqus1vBt0u4Sy0BvmsKAWsB1+GVV87w1Q8s5pqzIMQvCDErJarnRqp7nljUFWE+kxLWdUXwLFbsdSfKzKIDnn9EYBaBZgzQzPYneBv5edk7Fd6X9N5P5fTl0R2WkiqgRtrJhPWEyjIWa4+uc6gNYjXPKoa76P3M1qMihS4qUf1zy4g7vJBzI0oDry/hu3Y0D5PyvIWYI5eFtcTtQ0E2ED5TUz5Mre8iXonA2kn4phByD08fwZw8EmvvV3+mz8/Iz4dp4bGRw7Ct7b4FHxKiuHPOv0IWgRdZPjKD1x2sZXzqVd022K//dEXGRPG0XKx6UgiMGR+H/QBJeoOOa50Pnpdw7kAejRSZUWJjqZfVta1hrZBCAsDs4BzDhyqjOlFeJISau9xmeeRx7PJewvGqCtbOAGMkBJCMFIHRatMySfdS8wqHsoiSnC0OynjwGnbi6SEpDw06Fa8hPzUatikGal6n4aRrCS8NEQKR8A0JYBg/YhjpRJVF7pIQVGZQXcOhwpe/ynjvkgA0OH0k961uKhCAszMbZWNTEU5OxPhZVQZtJ0VeWge8+ywo1IS6CV7f7QQwl5FW9SJg04hu9B2rjehhs5ol8skCrQOeLTGsGUabusm+yIdbZorvpGPgYunw+KRC69q4PXihYpRSjI7JomTS9UAwuxa+ewZb1bDnr8A/e09PrONwjD7J2HDwgpme1MR9kdAgW4/sVtfDdSVesxjl4oDFMylOZmuYs0egJ6/Bvf9VSVfYSAkYpo+QNyMRMlnoZp7HjkwW0vA4wPQyLaTixFSNTG5h2GePPv0heFenC6oFwpcTwmEKxYOdwJ2ZOyL6XQD+c0hA7v+VmX/kLq7l2PCrFarG4u2L/mWYNYTTemz6Blk2GhlhLaPRqI4474wSu4252AgAy0coXm4pq88qLInEpNV1ug/94JTGmZNul8Eu2z9G1rYQOln3G8em2F7VMyONE2Qu7QuQD3q6jVjkDDyIJLyHjIUlvfldC6/z5/Cqg3edTAGAEaKXzf8Wlx2B3Bof/7ozfNQ2OD9vUFfA+VmF+VwKFlSVhXMM1nn9PIsQuWwJ7bK3bqbeu6oBZgm5m67aqb81F3ITJM6o0Kq06muYN9IAOlcSku2hXLbczHTICUYCr+8dg7Fsgdo5zQ8NRV3kPtVaLTMSvUAIQ8EF9AS7n/w9HCMDoK1mMnGya0WILS8A9jD6zMbmZ8yJ396Eb2yev5zg5W2mCF8+aXyyf2/Cl56bDNCcgGYnwEw8zHzxDO6dN4aEbypJPu7PrKHJ9m1z/A03Z9eZE9kt553c/xLjRZaPcA5uvUZlHNqO4TdC8Hqk4fnWbBqpckRCCN4oPpYjnDfs7gOy1aoe8s87oAuhhqEYmpGKk7U1qGsDgof3DOdbOOdhSImgCWOXGrECQUynq2Ep3SxjjZNKjsbAmgpUzWC0CimFfKkwpYTmF6JdSago+95LGMr5KxFkLYSFMO+b6wCSqS9Q16DqDLBPVPiIZs/tWo5bSyiqXy2l4rX2HcJdcw/hgBgm44CpDExV4+s+eY7zdYWmBs7OKjQ1oarEuAmSaa9kiiPgYk1oLxGLk1WVVMKutxg/N42cpNNcYVjR3CS6le3DOgOJi2lrXgwPlyvgeTAiKyFMDQ/5u5m+i3LM0DjR60f5ccP3ddZYdGMGvAPASFIUAllsl0AzlwtgTshiIEFBFxuSysHlTblVN/OVZBnIEqckLpCgJFyUO/BH74HtR7CvfBz+o/fAi+cH/ebh6YeE+TACOCRdOQHcSKGYzFnvSWS8p5E4j1/HTVa+vrPEAGb+CwD+wl2d/6bg1y0+/jEDqgCGhFTOaj+YRLRKkoIBAErawkTk8j70BIq1nDszQGmYJKXhcZvEzOREaocnbRvxmiRdmVdkbG69uJ9kwlIjDRCYBHEgoKGxhkMQp1sBSM5Y7AuMkEPQXx8PFmBV1p2WsnadhNYkoTQWGCj/Oydujwq4tlvXMLbB048/xi94iijAYOR6PQPeyOBbW6DBpvdtm2eX0Asn8dz66K2TffKeBYVHPLzieRPiuymMhKjJjQrWdVZDAkMGNPmZ+j5mlVQHHl9CH8Jrk4nbA9ELnryw7seXhh3IGFSqlpGxsOFGdGuxOoe5jFie2+QE7il5y59fTvDyktbhXcrnOlJLeXq+nFjtIoBjJG93CCeJq7dqQLUsAcj0DYsL8PvvyPV4vhLBG23Pm8RviuDF/TvOPbZvo3T1tgTUlwgvqnxk5+EXS7x+eoFHlYNjLfTCMn8pA/CeYg4Vs6QdMACXTRUQPR3Ra3f49eTG81xuMffZwqzVf73mD/YpC4TKGtSVRdUIEWw7h1YV9j7Vog9tN6GQycR8b2MpCCLuDKgyMPVpDB+VScEtDGvBlbWU9zfrSzn/1vDRsPQqI8P4CVBdAc0ZyD6VOe9srcLBa7XrVsJIQ54i+2FoaEIK7XyG86en+MznT7HsZJ4+htQO8El6SwPgVKfvqENqY4wq6T2+VQgHTiKd0mVqeA4e5Di8cj/OpBGDochdKidNuC6byL4J8hbOF45N921GRiFblwupjUNTOdTWYF4R2q6Fd2tU1MvRvDLtRhRTZug0Os+gPgyADMz8TJ5bLi/H0hr2Rcxr99m6G28/OFZvSNrUdfAffg109qQnfls8f1O58VOpCbkHboMAYkjcZF+mB2ekdnvRssxzt4MATsPs2L8bDygj/GGA2w7zqsWr54CBzEtkSJSoULqXwocRSFsMefM9octz1HJP2h5kzQzaEigo1GHQ4XAuDNupdZGUnMVQSoJafEgJaN+mJ1qIvQ2ukxPPBvsoQERay8gcY7PjCC2x4GKh4bh9mKPFgw97Y8DKcq9GiQEwUOg3iN1kWF8YYJfg+TmePKrw9oeSBD5DKIzTe2qjl009bOJJ640BY541azgSMKgQo0jaoGQtTPStEk7JmnfD0N1gaOBECKVeXyAliUMBFu/vFiNCfI+TkE0gyX1xUnWsYi/eO8MgrShHRCAmGRS7DtSFkCcNceLg0csI3g4SR95tEr6cvG0835z4JSTuCERPFhmZDFX0qhpU1UDdAEaq6sE58HoJXi/gL58DSynTHTFGuK5A9PLtxyB6O/uMfRXC9zLAr1u4Zxeo3XO49aXMT0cEDyPV/0AyHQERmI04JMiIzyJWEA7KnoADeVQ55LnP+wtFc4OocNHQNSQDU0hVrHzsS9E5yYcHPCwx5o1UaVyuu759WBDF3xBzmVXpM4FcanJRVOpNptyz02mIvI5rHYzvQLaS8v7zxyC8ImPo+lLmpQ1znQYiqHMQUpUQwJH53qRYSL8evYVVA5yfg2wt+UdkpPp1uwLWK/ilTK9DXQdjDepZhcePgFPfe9iC502M2L3s8Sq3Qs0OWZcH5pPbSQhDqPhoQxG6KeIVc9WjJ26kzQihS/fnzz/URdjWNvXkUTxGthtDqAzDWsLMyg/quharlRYYyiJipuoU2CzaJY1YIvagqkE1Ey8fL54L8cvSHzbkWtSXUhmYy7wp/Wi7/Ni5z1YwT17rw1HvE6Zy/SYqYN83FOJ3ZPjlGmfVUixuvgVIPDSwpBWd+qUhJ2GISrQMeyVnvTcrkLBRcgYgSJOU8In30KM3dQlxChKPgveQM0U4bpf2FEgZ0Cf5BoEQyFpunZiyGHEIrsGGtM29ibv3Z1aXMem9MeiMDGAYIQOcEMno8cvC9MaU/fUSr7zq8epjya+Up8QDIcbMGlnBMNR7dqMA8wDT8Lk635O20XBb2hQyhxTLuUo+ZXofU4u50XfXogORUYJHej0EwxLuQN6BvVay817nwWLAS7mGNC/vIIKX7k+fa07Uc4I34dkdJXlXJXjGQubSmsnSWFG8Qs4Ne2At4VW8WoMvnks4jh8hmwirmwI2n99oo+1UH3E9+x3pb5s4ZvdcRiPXl+MI4SsF9x/cdXDLFU7bZ5hTK1O5MMOBtBQ/o4vbkiWQTOkSpGEggEbL4ksIhOVEm6+UPAYjJQuBjOFvG9U/8vVUHA09jP34imwpY33IF4z9RM+k2Qjp672X6iULJDcngDQ0XBr2kRQGQuB9B3QtbLcGjIWtZqD5I7muroVfPge6Ns7txiYU+LCb3sBQqMMG4pfMeeraWAqTo15AoKoBqhrmyVz+thZUWTS1x6wBZiSfu1HZ2CYyLr2vgRxZSCilIR6E8YY2QQYGAyYRDeRSGvWSrtNEm97jl+wnGiFz+nsHfefj28Q6B+KqBm12cB1j3XWwECNnlUfIZHnv0SscPX09ISRjxSNsK1Azh+FOnv3lRxodksvXifSHMSP4FEncZQzdVtgsRTMHzc9A1Qzug7clx29C95qao28fXMvYeM+J3S4U4ndkdJcLvLb4El6LlhEP6jTcUMMOybte2WMNowyW//B3aBs/NO7bAJumyjHCdShhmqzit6XPsTZb+xrZvusD3Oe6tvUP7O+pSdpuVkQUMg4KFmmIyZABevtn8anPfg1t5/viJUl1ynwi+Y1Q2YRwRQ9cIP4Q8pR7ZANi2EhC/pG4DXuPb/gdwxDb5H+bJDszLMhryMm7E4wLrn93XSt/d7KMEx1PkbcRUj5KyJO2k+Rt7Lm6ib7iTzyAxIVjiYTMkZEcHFMDpgIbo9ZvKwqPno91jiPftcDyQnJ1ulamXtgwUlzNW5fu29dblx+Xn2ts395euy19HNp3wYuD7qPnaN78cfAHb4vXyBhwPQPbWkK36gbRA04GXDX9uAsoWfQy/yuzzH0b1z1cDNJjeDP0oHkakkjO1wO5i2FYhFhMY4PiCXy2HiA50+P3YKoYSDjXxiicEcFUboS/rRF1LhACr+tOEhVhnEwVYc9eAdkKfnUBXi3imGpc24+7YcLuPDx0xCM4uj0UpFlfAt6Bmzle+6bneO2UwCwGvhDtQgM5lRHouOyNlGkUC+uG0DbeX07XOVlsyrf82HCSKC2DAR3TZGHf4i6b8lUwqCoenmfm2dsoMgcGkZV3zFiYyih5J5nfcb0CawVZhLoFE1Evk1FOY+kOU4bwK6Q/MHv5zpsZaHYCqmYy7+CzD/o5aEf6GJ34/dB89h3G0dFIlX3l6B457FedDP4YKMTv2HAO9fN34T/62oZVZYOcjX0QuwhUruhOtRtrs4sUbRwf2iexh2nbUWtpQi6SRVxhn2wbBMdn10Eb7SSYYyP+IrvmdK416ttQIG1JYCNFc6GEsIYEuYD8vrhA4ANR7+S+z07gn72PV+0FHDolaVpQJiNdfdjPcJChPGyVPeBFUHDwrqZtAtlK+go5oroR8GkIaELW0n4Sr+7gtm7xwtLo/n59ktDtI1SA3gAyaLMpNIbrVyHyEKUTUDIvVtJI6JTcEZGEXaZwkjvIrtVJlx2wvpQ5tNTiHgUhtgiE1JiTt+03jO7fRu6u66Ub63+XoJrqa5++t7UteLHQffgMuLgA2blucKBuAZhFomA5Nar5vox5JaGJJkw6Xs80+UvWfdVICKKtNEw6CYI3kgPLWszCscgiJhPDRGWpJC8hmf0crzTYN70+lEn5HLL7YKMozZSIRk+I85xHzj2lRuYXxEpCPk1Vwzx+Dfz8fcA7eKRpH9lps0qRNDHv22But5i3JQT91Fxi3XYwcBr9wgMjYpwmKV4Db8iazdoBfuOYbdgnd22KnO2Dq1b3TD24xF69lpIKQQDIGJBUOBPjMUNCcL2TuSC9EyMi+zhOU4yg4ZvJc5+MlJkmerA1uO5z1Y2xYN+BFxdDsrenZ28g0+854btPRs1C/I4M33XgL/6YDJzLRUY21H4VSAaFoE59OSQmJSEzgfykhAqxvwFGhUu2zR8igBiABZgzhY8HCyDJQdsgNTz8Ox6SkJONbSPr8eNPz5FfDw83B09U2BdzvTgOEswsCnvqbfWchK0oprwV4eNv5rCvfR3OvvS3hSi4FtFr6xPP7aDPHd6nsfuQHzt1zLZjx47f55hd5wIOsvTJ5gniwn44SCYEHYw+MSNW3zL6TQXSpt+WsfIKGCP7Bj+NxXLJWpDAa/lxL5Mrwzkhzr7T/d1Q6MXbsR9J69ePR9bG2u1dLGWvvibe+wNJ21j7SYJ3nfCbggeB9bsfYPGjPwz/0Xsw8xOZsLyZgZpG8npmjUw2XWuYYJhSxsjUBSZ8u6Qxg5Dx3RghGFIJS+c0U7IIY+VfVYuxR0kiW1lHVel6BYBiwQcGCZHzXv5mrYDIXkhhohDnXsSYk5htlz6zQjU5WZzwIm5D8BRt5P/n40rwZq4XEvnazGVSb6IY9hmQE8CN9TgBY0b8lGCn+56s3kG3vOi9iBrVotQGCIZdIjG2sXoEQ3+A9Jncq6FdOVkTtyDoCvfxTsEO5FoZt10nOoTKoligLnr+Mrk65VgYq0a9T6QMMC7Tt8lzIki0Sw2qwvdWxTnLuG2BdgV/+Uxy1TUaaC9il54z7E8I13Xy2QfXEI/ng2XylFF2cG17GF33ur5roBC/I8MvlmjffANmdgrvlEw41yuzgQwFiw2HlyIQFd3v0g8xJTt6bGYdOwR3YlW/J9aOXb9928c1qUQvVsD5q5g9/wBYL4cD48SAtTN8daAIpJ7SZHvIfE/bJYvR693oN2+Te2qjqzdbH+kvvfZAwgZe194IEgR79KxpXk/fV2rJU2tesFyyj98TOw9w2xP3SNj0m3NeCbjfe8DdRt52hVD2t+JwErcvcTqEzO0bLnIIOdslgEaPm7jm+2QFLbgdrN58Gx3N0H60gHl2KQp+ZWGUrBmdyDtMrGx0/iOqRYmk+TySRRgLahqQaUAxRNSASDwJRNAxwYHdGrCSN0saEREnb7bhnKoShcmmbZ2Qw7onh2koqlXSGEmTjG0eUKIoirfYLeU7cNqG0/ExQT9XW7Y9I4wpeq/RRGhgiMAAw1QNzGwudOviwz6lZF/DS5xdOtNDUg9g2BeqdD97B/OTc5BtALCEuzNrflnIdev/kaa7cBIJRXG8yAzK3vVsNNWXxozMOa7h4TsYU88vJW2swcP7RIil6zmpi33zYcRurF2Q56YCk8x5DFJjijUgU0V9h52kNUi+us4NGYzhyMb8bdE4yfn3qlJ9BKI3uJYt553afx3Ct3dKxRH090L8jozu+SXajxbwz96cdC0HbHuAN0nOirI1javcd/Ye7U/8OE6/8fNAdSobx0JjpfWO8yYGACAZgBkDwcYAbEqU+j/iwEXJ8XnDeA7qBWRiZOiP8tklJ+9Ofp2pIEq9qSq4+3WOxK0nx+MD5L7kbKr96Lu+J1kb7fMI3i4510j7g/ve3H4lUjZx3M5v4Qpk7jqGl4IXA361xvLL/3/2/jz4li07CwO/tTPznN9w731D1atXc6kQhYRkWiAUQIcByWYWGOFuGiugjQB1y0QjDDbYSKajm+7GtLDbTAEBLSwGYWEhBgcKN5MAIyDCEiCQhKRCqFRSTapXr1694d77G87JzL36j7X2zp07M8/8G+/64t13Tmbu3LlPnvPbX35r2p+Ee/h2YD6PYs2zlwdGeHBTS5h7XYOWsn5czGVWIRiEYtyuOsFIZal1+GcgV8LNj2S7Eq8iVTNQVUTBhyAQGSJYQrQGLSUNwPu4xk4MPQ3XD2HgQfgVEnXgiqoTiE6FIeki6q6USAVyOgW7bhzMOiWzhvmHB1KWdIeEE3wyB4e0AqeeNLGniQgmKhCKgaEND+VnYiBLUlImq13zxOsg+mT679udvwmcvzkUcWE7FzrRg4nedq9NwDZ1AEb6uzUYiSqZFHjpOWm7MeHjWdNYSKvm6BoZLvyexVPHBM1ZD1Ey2lfbQKpsS+VXWeexEa9kvex7FeNlN/TiJWPfaxmiHVIieuPJzkuvM3pspO9t8tw3NvRegRYw4Xdg1K+/hadvLrH8+Gcm29zlhxty0xbH60ZY2PW24Ox7/6m86YWmboe7/NuYwk7Vs3a8D9vc803bbvKdHKKvjce+wf3cVQAeuo9DXctwv/C5H/hRAJ03zxUEdzSXvLP5DFRVKI6OQFUFN5+DqgcogifQkQhD78H1EjgXIQPfikCE7/otVazl3sPwGvbP5xpmGryIuj1TT2JRdotXOwbaFoQ6eg/Zt+pFTPKdgjcxFYSACsH+vugtJFkZnF2FuPI4nIyTnISghpzjGEXh0GWDsIa96cM+t/Jw7rUKJ1Z7kHLRFcXXVA7YWFhh2M7aFk/eGD8n7ytgLB1ijWdocG6OsblzlQCMaQZIgl7yVBx93ztvcmPFdSBCP609ENIbQi4nEUStddsSOJMcT8NiA3pRZxoZo1W1Wf9uxAjg5Tts2t59WSXWus013rEtRNG6vq8yv32XKtSbGGc39eBdR/67Cb8Do37jLXiqsDxfTk4+vj28gs9xU6KIpsqYXcm1rlaEbvtZFm8+Hey7qw+0V3lvb/qe7DWB7piDts1n3nZ8V9H3dgL6cMLY8GygvlARossFkCO4uE9DAxNRmG5T4UQYHh+ByiAMZyiPT0FlBTqax8IizD4RhepFbGq4ZQNulrFvKi7610iEoctEIpUi3Gg+l5C3kJs4mwOFCsVQ3Tdk8Adh2LaSM0z68E16LIjCUDylyLyIYX/IPYz73SAcFEBX1CPFIARwIpRQblz/nF1yxPIwwno53RZYnxaRC8CYUuAApi6XO3BX2I5CyqmY6udgdh95xJMWxHQaEaP7OB/ToP5A8lmmpr9UsIdrhAiYUP09OSZ1CZqubS8Nwnc5r6s+F7BWOE/O16tE0Q6pFNsIOrnm9lE5O6dQ3FDqxHXkv5vwuwKcffynUL3/Z0gia2KBiYaYDR6C4kKQvUmEMbKzt687xMNzepdNirbkYYS6L4ajJ8e7Pw4eHw9n/aZjT0JWAL0fSdtQvbLfrxaPScIQ43ja9Lz+ZyCiZBzoJsctsK3wWz4536r9TeM6RfomuG5v8nUI0EMInn362PUzbnPNXQxZNy3+DTeL5ZmuQRaEl6NEhIV9nShM24oQW4DeOhvZr32pp088dioSqxmKozmoPAbmM1BZATMp/sLei9eDVSCCwfUSrq4BllC2SW9hLgyzENRYpKaaSxjqbC5FL4oSVEooaggjjQVrWD0vTPq30vZEV/APxbC8XTAVUggMBV2+f0Vhrnhe2pYoVhPt9RmrJyeizTkVZ/KeQ3VllxToCukCLGKH26bL426kOFc4Fj1c4Rkg5ntv5mlZt2bblBhZiW3m9DX9r52rx0TIhp6sldfYUCxukhe/kaDbcHy7LDe08poT+8audZUFzqy4yy3Hm//6I3DzT6CXrHwIpCLSBTE5nhzeic3seG/VUho/Hut7aB9lMThvXd+UFvPI92sYgys0RCU5n8KKrEA8RlkffTEtlVHTfohIY9S1vca2U/LZptATQ8n3Jwnmso8DabD8MRIxlq++iievPF7d+RY4pMf2KgTePiJtl/FcpUi9LQL4Jr1iV5tTfHOfy3A7cfnaAgBAVRBtCUcEIZfNgZHzVCSlorG3XVCcn4rK9c91/e14vKpAVYWy50WsUBwfS+ipK+S67CXEtKmBWryG8Atw00gxkrbtCVAAozmJeX5iJxpdl4NYSOEaOMlNlJL+lYaiVsJ3HP4lQi0aVMOzR3I89VrJUocJ0o1gpc7CGgN/R57mxPOmYYkx9DQ11LLmU6YGYwAsYYUcCnDVLdAuRIhr6CGHapZtO/TmTAnQ2GDFg/k2+der2m8giqZw6MiKHjYJsd9HVB4wn7wbz3b3ftW1DlmcbOfwy5HPs9H1idQwJPMSlZXMB9UM/un+z5km/K4A7dKjXV6sb3hDoGsMA72OkNN9HtzDQ8T4wSTOntSKnApR5+R9UeD4/R9AUXr48/P+5JWKx3QbQVCiT9Isk7HX91KhvH8cUPE58j41NBxS0AyF3uZVZbcdxza/mdsmau8qrtsDZ2Lw2YZv9PvX1xad+AtiMMwwqSgEACrkt5oLv3QuD8eaEVEofYrQapehDwkzXbonAPqCMcwHMv87uCPxFpYnx6BqBjerQMencEdzfViTZZDQ1uC6Vm/iEp5ZhOJiIWuxYVwU9j9T2HbZdnI8GDbL4DVTQ20h25SEO8qapCOGVNBwLuX4P9lMjdiB00JRj9SbNpWHF/rfMHxvlYjbJBQxjnnF8dG+NvU+xf0bhFLm52zhJdx6rryS0P8NwvnXOTj2Kvq17vgWHrUV52x8/rZeubA2cFlKReKy1LkibGvl4BDyzZA1gmvNX65r+IsL8JPH8JeXK8e9CUz4XQHaC/nyI7llyInsphGI9iqQy4Pr+uwbi9u6/4e6SnRMSR1yhOVrb+DoHS+KhTZ4HlMraSReqLdTydkR4npDUWiiI2vd7jyWgeDV0+loSOpr3JqjYolzgdmJ0J7g1GOkxt4x4RmWLYnLl3gfPaNxvz4gsOesGIFH23RtN8VhPZBXJ4JuW0GiHNeRf2wwBI4McCWhrdVg1fT/RjgXfhPCMAhCYFoUdvsz8Rj3S7tm0QnG3FtYXIi3cpnlInbtZE4uNbw0LVaD+UMUR3Px4Ol8zU2tFU0bzUVcglrW4hvLXg5gFIDJNQfHYvnT/pwY92dzJaUi8CaMXusewFMe2NbzsoGI2zbEc0y0bSpENz5vtO12vLRVUbUbyhPf9DPttQzXvkXTiMBQA1BRSO5u+loUYK3WK9tlVxU1dN3U4LYFt02shspNA395oeKu0VzkA3yODWDC7wpQP1ntDdl9Bb6rwbMkRAN2+czrxtXWr+06nL0EwcE8nkloLgFxofReSG/qBdU2lIXtUqw8px5R52Sf5m5Q6UBVksvhHJyjZFtCh8TavuKzcV80BnHJcX+wQOdiVNuHV6AToRrSmwpRDgn34X3o90Dfwaa47aLRYNgU7UWfBXviLguWoWpcjAw8gcn8vOrY6PEsvDT9e94ktFT252GkZ6P7XUE9sUhV1eUixkqmM1B5It7Foujm6VQgtg2wbAB0lTu5baRYi/eT4a2rBGBuQBvMa2uE4XWFzW/8ELzDg/RaT9CYQNhT4F1l5ePrqi6+9XW2EKYbjccNC/2Qc0DluhzR8BwSXwsRdUXWpndxFW4abszhn2/By1pCk1vJK/VNE98fKlfPlnO4I+B6tz/Qm4JWeZ4k2GvHNXhKg3U5x0pxt2Zc7Q6eonjuHp6WfUJ33QEnlW1Jf2WYbYZR0RNEJSCWtkRkykSeCM/4mgpLXXxWjxUxlFfaBK9rJ2RDSFRWNnvtZ+dOaKqIjAWJvNeqfypMe9XaZDssdj92rB86nIZjpV7bLFQ4L4iUFE7q+kTcF68Vd2UhXwbDnhiLjglz4xSfemTzh/aReg8DdvciUowK2dSLGNBOhJeKF7HRcxyAJcidj15j4E2sJDzMzeagskIxDzlAM7jjmRyrqqRAitwpaPGT+MDa6lqFbQuEaqPpEhVrBODkfDciDHsexWvCRt6ug3mbpo8fakmcTfrap+/upB3O0RxPziKVYhXVbKmJlIM5iWSKQi2p1tqFJrveb3pYgRVdFdQYTaSFf5pGc0a9VNT1yxiFBN/2X1v5G9n4dl1hte6rjL4x4XcFmArxvG5sK5Ruq2ANgvQ67usu0ncqRKnX78R3MSVAxzApSre8L+lYdhWco2Jzw77Cww379RNseMDYYi6W87YQlfm4trrOJmI3yxXteVIDEVKXQySVx0OVP92ORIoeUSKQrYb9hgJGaehw9MTm+zQviLJxxrbSJBO5WZGkUOzhUPAeT3/oBw/Xn+FWgnNhNjK3rZvv3YShra1HjJiJKJQ23L9udq1UGIY2A7GY5RrG/RuEl055CQficlDZNCx58TSen3vyck+fqzT8bFaBChWGRQFXVaBChCOck+2yRFigXjohjZBIiq2EB+tQLTM8/MaHaHmQFgNRkvsX788tMTArrkJQHSqEURppm7SIDrmMB1KBpYZL5kRwBVGFrn3CRbEfZMdp/XcVDJocfguhGnua6pHkgXYROS1C4TxuMtEWo2zaJDrHTwrTW+vVVGwj4q4j396E3xUgJ7WbAFV0awTo3mgOFxy7TgwH7+c2iA8ZK+731CfYSpxvWC9obUjq5lc8qJc1t6pvg+3HoQ9M+3hDbyj8Nvaxg3jdFBY2arhN2IUzVz4eZZzRCb6s3URYaXr2urDRde2mwkqB1QVqxo7n4aVybJ14XH087WdURJIuIF84OF3DsKgknymEy1EV8poqWWdxXnbHin74HMfr6fV74oC1IGgiGjmJlsj/BWEa+smWduI0OiFFum9sms29lEnefiiUimhI6953xjw1iLnU4ObA4M4r1hNwbq39jNtwD/yIqOrEUbx3HlGgx3MzEdaLRIkpEP173xvDAUTJIUMXD+EVu+nPdBOFzkz43VPctPi8jjy9XbCLGF4nOrbxlOaW6EOK8y406nB9Dizj+yCzuu8yjoCNx7MihGztNUdIZWMhOUFI2wiudR7RfcTlJh7UqxSeBsO+mJrndvIerggrXRVSmmLKizgVVjp6LPMi+pCGsUIY5iGm63IPNxF+k17MiRDQVaGgUx6+eI0glopiGBaYhP5RrFKaRCBkQks+c3oc/bZx5yZIw9m5e9tbUN3rdn9/HorPbdvPD+d+6P9UEZreaA7oCbpt4ivHbf2st7WvbWHCz3AluCnheRWCc1NxtomgOEQ47VQu5lWIyIBDfp+HmNL3kSR7idnsHm8rYvcSk4PORkTtAT15U8Lztqx7aDCMYdVcNfU3v6oC99ScPZkbPxFWGseQpARsmmsYjxdDkTcQXWtyD6eF4XRV1Nh3Xjk0a9+1mxZ+MXx/pO1UH1N9TeFZiGi47YJr2PfVPRNeRd+H7vO6l0xaBRN+hnuF6xSc+UPEtYXWToQxHRKbhrzuVBBoi/t0iNzIHFN5Pbsgf3DbB4cwWtzE8inXuS6owbAPtuWHjR7VNg0rDbgYDylNz82xSXjpVOXS/O9zXU7iqjaD/YN2bnDOuj7Hzl3VbqyvVW3H223PW/fB4HUb1k99FtaMve3LIpnwMxh2xDYPEVcZ+rqP4NxXGFylBxM4jJi+Cu9l+D4POb6rMFpcJcXGcd9ykjMYdsUhvYcBq7yIg7DSgBXhpbkha7KAjWIYXqrbtZ8MMe3a9r2JGLQbFrwJ/fum/5GGnsD1a+qG66zra+q8DsP7f9M53XcFt0E85rhpoXUb78kqmPAzGK4B1+GJ3EVc3mQBoHXl2g+F3PJ+kGVLNswZ2gS7ei83+r6v0Ciwj9c1x23NCTYYprDtnL6RsWiikNlKL+JF6H8/L+Iq7+FUX+u8icC0eBz0vcYjONX/2Di6Pqbn+k3F2pVVe94Tt606asBtCmk8NO6awJuCCT+D4Z5gF3F5kw/cV1FoZxPsIzQ3FY3X4YU9pOdyDFeZM5rjpotRGQxXjV28hwGr/ha3Xu8wnJdtj3kP82tstQxGEEyZN2Zq7Vhu1wtE9hP3acJDOeaBzLEuVD14FzcRWvH6e3igNhWamyyHZNgPN+1JvCqY8DMYnmHsarW+KdyUWAzYVTRu42W8ivDWKVy1eAy4N0vLGAxXgG0qlOZYVZhG+t5cEE7NUusE36gwnGqTPUxvIxBzcdj14Ub7iOdNCUYANNFnHEdYd3aDUsi75junorI9sFfpWQpDPQTui1dvFfYSfkT03wL4DwAsAfw4gN/KzG/qsW8E8LWQyIP/lJn/ru7/lQD+OIACwH/PzN+0zxgMBsP14bo8M4cUmNcpOqYE11WHs+aYzBW6CuxZ6fQ+wzjSsA/2ieJYO++NFKWZKkizbq3aQZGrZH3Edeu3blvQZvycfu9TAmwTb9o6obTNMjebh4l24z+UULtPlU0PWUDMctL39/h9F4BvZOaGiP4wgG8E8PuI6IsAfDWALwbwbgB/n4h+hp7zpwD8MgCfBPDPieg7mflH9hyHwWC4R7hrnsiAm/ZIBlyHZ3IK5t3rwTjScK3Y1Xs49ne7aR72KkPTuhllsucV676uXZJnqhhO8tA/KSZyz2PWbizEckqsTTkJV4rHA6wBC2zmObwz3sArFGv5fb2v4Z0p9hJ+zPz3ks3vAfDr9f1XAfh2Zl4A+Aki+giAn6fHPsLMHwUAIvp2bWukZjAYdsZdy29MsatQuk2CEThQ0Zx7BuNIw23BLoJwXRhp1/dw3gjzwdoqpyuPrqlMvEIcAmsE4oaRCpOhqb1Gq8Vijlw8biLAdhKRazs9jMi8zVh3b++a0DtEKOohc/x+G4C/ou/fAyG5gE/qPgD4RLb/5x9wDAaDwbARrjJs9TpE5VV71rYVltcdznoHYRxpuHXYZB7cac1aDSVdXx146pqrw0vTvtdWGI6VT6fHEnTVtvPeWJ/bhrWu7H+dCFsz7+4i4vyKdXxvo5dwFw/qs4y1wo+I/j6Ad44c+v3M/De1ze8H0AD4tkMNjIi+DsDXAcBLVoPGYDDcIdyWNR73wW3yRN5mGEca7juuovhMwC550Zt6E/NrbDIvb2u+2sbftotpbN84ikOb425DXEcuPrk1o+M2WMsWzPxLVx0not8C4NcA+CXMHP6qPgXgfUmz9+o+rNifX/ebAXwzAHyIjkyyGwyGe4m7ms84hduS53hdMI40PKvYRxAG7CIM10UX5GHnmyyH0fW92Z/SxkV00mtt3LLDvpLm0ELtOiXWlLfyWai8eZXYt6rnrwTwXwL4cmY+Tw59J4C/TER/BJK4/iEA/wwAAfgQEX0QQmZfDeA37jMGg8FgeJZw10NUx3BfC8IYRxqeRRwy53onQ9IW8mRtqOkUVhTDmb7W6s+ySS7iOgwK2uzBF4cYzxQ2Mfbl+ZVXiUNWDr3t2Dc+5E8CmAP4LiICgO9h5t/OzD9MRN8BSUhvAPwOZm4BgIi+HsDfhZSq/nPM/MN7jsFgMBgMB8B9CFG9ZTCONBg2wCG8hwG7hpf2x7OdV3GT664bxyEE8yEjLq5ynddbl6N+R3IBDyFQqYs8ub34EB3xHys/cNPDMBgMBsOW2OXB7Vdf/Oj3MfOXXcFw7iWMIw3PIq7C+HTIsPNDVDo+7Hiuzlh3neH6t93oeNX34iv+zQ/sxY+WEW4wGAyGK8NVhqYaDIZnF7vOLbssYbENNl3/cBOEUNSDLJez4fIcu2AqpPRKRNoWOZs3gU3Ca29SvJrwMxgMBoPBYDA8ExgTjId8ED9EqGmObUXkNkJxqwI1Wy/zc+AcwzW4ihDSq1kz9+YMoib8DAaDwWAwGAzPLNY9iF+nMAT2FxubCMVdvIjXuczPVeYYboPrKD52nZ5KE34Gg8FgMBgMBsME7rLnape1Eg+FbddcPDRuw7qDq7DLsiB7X/MuFHchos8C+NhNj2NDvB3Aazc9iHsEu5+Hg93Lw8Lu5+GQ38sPMPNLNzWYuwbjyGcWdi8PC7ufh4Pdy8MivZ978eOdEH53CUT0L6wa3eFg9/NwsHt5WNj9PBzsXj47sO/6cLB7eVjY/Twc7F4eFoe8n7fdC2owGAwGg8FgMBgMhj1hws9gMBgMBoPBYDAY7jlM+B0e33zTA7hnsPt5ONi9PCzsfh4Odi+fHdh3fTjYvTws7H4eDnYvD4uD3U/L8TMYDAaDwWAwGAyGew7z+BkMBoPBYDAYDAbDPYcJvwOCiH4lEf0oEX2EiL7hpsdzF0BEP0lE/5qIvp+I/oXue5GIvouIfkxfX9D9RER/Qu/vDxLRl97s6G8eRPTniOhVIvqhZN/W94+Ivkbb/xgRfc1NfJabxsS9/ANE9Cn9fX4/EX1lcuwb9V7+KBH9imT/Mz8PENH7iOh/IaIfIaIfJqLfpfvtt/kMw/42todx5O4wfjwsjCMPhxvlSGa2fwf4B6AA8OMAfhqAGYAfAPBFNz2u2/4PwE8CeHu2778B8A36/hsA/GF9/5UA/jYAAvALAHzvTY//pv8B+MUAvhTAD+16/wC8COCj+vqCvn/hpj/bLbmXfwDA7x1p+0X6Nz4H8EH92y9sHoj3510AvlTfPwTwb/We2W/zGf1nfxs73zfjyN3vnfHj1d9P48jd7uWNcaR5/A6HnwfgI8z8UWZeAvh2AF91w2O6q/gqAH9R3/9FAL8u2f+tLPgeAM8T0btuYHy3Bsz8jwG8nu3e9v79CgDfxcyvM/MbAL4LwK+88sHfMkzcyyl8FYBvZ+YFM/8EgI9A5gCbBwAw86eZ+V/q+ycAPgzgPbDf5rMM+9s4HIwjN4Dx42FhHHk43CRHmvA7HN4D4BPJ9id1n2E1GMDfI6LvI6Kv030vM/On9f0rAF7W93aPN8O298/u62p8vYZW/LkQdgG7lxuDiD4PwM8B8L2w3+azDPsud4Nx5GFhc9DhYRy5B66bI034GW4av5CZvxTArwLwO4joF6cHWXzZVnp2R9j92xt/GsDnA/jZAD4N4L+70dHcMRDRAwB/HcDvZubH6TH7bRoMG8E48opg9+4gMI7cAzfBkSb8DodPAXhfsv1e3WdYAWb+lL6+CuB/goQBfCaEp+jrq9rc7vFm2Pb+2X2dADN/hplbZvYA/izk9wnYvVwLIqoghPZtzPw3dLf9Np9d2He5A4wjDw6bgw4I48jdcVMcacLvcPjnAD5ERB8kohmArwbwnTc8plsNIjoloofhPYBfDuCHIPctVCb6GgB/U99/J4DfrNWNfgGAtxKXuKHDtvfv7wL45UT0goZp/HLd98wjy4/5DyG/T0Du5VcT0ZyIPgjgQwD+GWweACAVyAB8C4APM/MfSQ7Zb/PZhf1tbAnjyCuBzUEHhHHkbrhRjtynKo39G1Tp+UpIZZ4fB/D7b3o8t/0fpKrTD+i/Hw73DMDbAPwDAD8G4O8DeFH3E4A/pff3XwP4spv+DDf9D8D/CAmvqCGx3V+7y/0D8NsgydcfAfBbb/pz3aJ7+Zf0Xv2gTrzvStr/fr2XPwrgVyX7n/l5AMAvhISo/CCA79d/X2m/zWf7n/1tbH2/jCP3u3/Gj1d/P40jd7uXN8aRpCcZDAaDwWAwGAwGg+GewkI9DQaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwWAwGAwGg8FgMNxzmPAzGAwGg8FgMBgMhnsOE34Gg8FgMBgMBoPBcM9hws9gMBgMBoPBYDAY7jlM+BkMBoPBYDAYDAbDPYcJP4PBYDAYDAaDwWC45zDhZzAYDAaDwWAwGAz3HCb8DAaDwWAwGAwGg+Gew4SfwXCHQER/gYj+oL7/RUT0ozc0Diain34T1zYYDAaD4baAiD5PObG86bEYDOtgws/wTIOI5kT0LUT0MSJ6QkTfT0S/KmvzG4jow3r8R4jo12XH/zMieoWIHhPRnyOi+QHG9Y+I6I1VfTHzP2HmL9j3WgaDwWAwrMNt4ksi+h+I6M9n+76ciD5HRO/apU+D4VmACT/Ds44SwCcAfDmA5wD8XwF8BxF9HgAQ0XsA/A8A/nMAjwD8FwD+MhG9Q4//CgDfAOCXAPgAgJ8G4P+xz4D02r8IAAP4tfv0ZTAYDAbDgXCb+PJ3AfhVRPTLtO8jAH8WwO9h5k/v2KfBcO9hws/wTIOZz5j5DzDzTzKzZ+b/GcBPAPi52uS9AN5k5r/Ngv8fgDMAn6/HvwbAtzDzDzPzGwD+XwB+y57D+s0AvgfAX9D+R0FEX0FEn0y2v5SI/pVaWv8qEf2VJCz0K4jok0T0e4joVSL6NBH91uTcORH9f4jo40T0GSL6M0R0nBz/L/ScnyKi37bn5zMYDAbDHcNt4ktm/hyA3wngm4noFMD/HcCPM/NfUP57hYjeIqJ/TERfDABE9EEiepOInG7/WSJ6NfRJRH+JiH63vn9OvZufJqJPEdEfJKJCjxXKl68R0UcB/OpdPoPBcBMw4WcwJCCilwH8DAA/rLv+BYAPE9Gv1cn+1wFYAPhBPf7FAH4g6eIHALxMRG/bYxi/GcC36b9foWNaN+4ZgP8JIhZfBPA/AvgPs2bvhFhp3wPgawH8KSJ6QY99E+Rz/2wAP13b/N+0718J4PcC+GUAPgTgl+78yQwGg8FwL3DTfMnMfxXAv4Tw3dfpPwD42xCueoce/zZt/xMAHgP4OdruFwN4SkQ/U7e/HMB36/u/AKCB8OHPAfDLAfyf9Nj/GcCv0f1fBuDX7zJ+g+EmYMLPYFAQUQUhiL/IzP8GAJi5BfCtAP4yhMD+MoD/hJnP9LQHAN5KugnvH+44hl8ICYH5Dmb+PgA/DuA3bnDqL4CE4fwJZq6Z+W8A+GdZmxrA/1OP/y0ATwF8ARERhDD/M2Z+nZmfAPhDAL5az/sNAP48M/+Qfu4/sMtnMxgMBsP9wG3gS8X/BcC/D+G2T+g4/hwzP2HmBYSvvoSIntP23w3gy4nonbr913T7g5Dw1B9QQfuVAH63ejlfBfBH0efEP8bMn2Dm1wH8v/cYv8FwrTDhZzAA0NCPvwRgCeDrk/2/FMB/A+ArAMwgFsH/noh+tjZ5CiGLgPD+ycg1/gwRPdV//9XEUL4GwN9j5td0+y9jRbhngncD+BQzc7LvE1mbzzFzk2yfQ4j4JQAnAL5Pw2DeBPB3dH/oO+3rYxuMx2AwGAz3ELeIL8HMnwHwGtTrqJ7GbyKiHyeixwB+Upu+XV+/W8f3iwH8YwD/SMf55QD+CTN7iPG1AvDphBP/vxAPImCcaLjDsNKzhmce6vH6FgAvA/hKZq6Twz8bwD9m5n+h2/+ciL4XEu74/RCy+RIA36HHvwTAZzT/oAdm/u0AfvuKcRxDLIkFEb2iu+cAnieiL2HmH5g6F8CnAbyHiCgRf++DeAzX4TUAFwC+mJk/NdH3+5Lt92/Qp8FgMBjuGW4LX67AbwTwVXrNn4SkN7wBgPT4dwP4bwF8Ut//UwB/BsAlujDPT0A8lm/PjKUBxomGOwvz+BkMwJ8G8DMB/AfMfJEd++cAflGwWBLRz4FU3Aw5C98K4GuJ6IuI6HlIlbO/sOM4fh2AFsAXQQj0Z+u4/gkk728V/lc99+uJqCSirwLw8za5qFo4/yyAP5pUX3uPVmADhKR/i37GE0gSvcFgMBiePdwWvpzCQ4ho+xwkkuUPpQeZ+ccghs7/I4DvZubHAD4D4H8PFX5aFfTvAfjviOgRETki+nwi+nLt5jsA/KdE9F7Nk/+GA38Gg+HKYMLP8EyDiD4A4D+BiKxXktCS3wQAzPzdkByBv0ZETwD8dQB/iJn/nh7/O5DQlv8FwMchIR+7CqOvgeTSfZyZXwn/APxJAL+JViwOy8xLAP87SNGWNyGk9j9DCHAT/D4AHwHwPRoe8/cBfIH2/bcB/DEA/1Db/MPtP5rBYDAY7jJuGV9O4Vu1308B+BFIhewc3w1JffhEsk2QQjABvxkSrvojEI/hXwMQ1gf8swD+LqQ4zb8E8DcO+xEMhqsD9VOCDAbDfYGG2PwZZv7zaxsbDAaDwWAwGO41zONnMNwTENGXE9E7NdTzawD8byBFWgwGg8FgMBgMzzisuIvBcH/wBZDcg1MAHwXw6zVXwWAwGAwGg8HwjMNCPQ0Gg8FgMBgMBoPhnsNCPQ0Gg8FgMBgMBoPhnsOEn8FgMBgMBoPBYDDcc9yJHL/nqOB3oLrpYRgMBoPhGvARLF5j5pduehx3BcaRBoPB8GxgX368E8LvHajwx8oP3PQwDAaDwXAN+DXNv/3YTY/hLsE40mAwGJ4N7MuPFuppMBgMBoPBYDAYDPccJvwMBoPBYDAYDAaD4Z7DhJ/BYDAYDAaDwWAw3HOY8DMYDAaDwWAwGAyGew4TfgaDwWAwGAwGg8Fwz2HCz2AwGAwGg8FgMBjuOUz4GQwGg8FgMBgMBsM9hwk/g8FgMBgMBoPBYLjnuBMLuBsMBoPhboAq2r+TZv8uDAaDwWAw9HEQjx8RPU9Ef42I/g0RfZiI/rdE9CIRfRcR/Zi+vqBtiYj+BBF9hIh+kIi+9BBjMBgMBsPhQRVt9c8whHGkwWAwGG4DDhXq+ccB/B1m/kIAXwLgwwC+AcA/YOYPAfgHug0AvwrAh/Tf1wH40wcag8FgMBhWYFsRZ0LuYDCONBgMBsNOOCQn7x3qSUTPAfjFAH4LADDzEsCSiL4KwFdos78I4B8B+H0AvgrAtzIzA/getYS+i5k/ve9YDAaD4VnDXRJnrrw7Yz0UjCMNBoPh2cZt4ulD5Ph9EMBnAfx5IvoSAN8H4HcBeDkhqlcAvKzv3wPgE8n5n9R9RmoGg+GZxW0ihlV4FsXbnjCONBgMhjuOu8LR63AI4VcC+FIAv5OZv5eI/ji6kBUAADMzEfE2nRLR10HCXPCS1aAxGAw3jNs66d+0EKPKikOvgXGkwWAwHBi3lZNX4ab5GjiM8PskgE8y8/fq9l+DkNpnQngKEb0LwKt6/FMA3pec/17d1wMzfzOAbwaAD9HRVoRoMBgM63BbSOMmieCmRNttIL9rhHGkwWAwZLgtHLwp7gtv7S38mPkVIvoEEX0BM/8ogF8C4Ef039cA+CZ9/Zt6yncC+Hoi+nYAPx/AW5a7YDAYDoGbIpKbIITrEm33hexuCsaRBoPhvuKuiLfbwmO3IULmUPEhvxPAtxHRDMBHAfxWSMXQ7yCirwXwMQC/Qdv+LQBfCeAjAM61rcFgMAxwE6RyHQRx1ZP/dZLcXSH+G4ZxpMFguNW4rXP5TYu22yDWDnkPDiL8mPn7AXzZyKFfMtKWAfyOQ1zXYDDcDG4rQeS4KsK4CiK4SnK7zu/rpkn6NsI40mAwXAduGzdfNx/chEi7a5xnGeEGw5a4bRPrdeC2TWyHmNwP+ZkO8Zu4intsgs9gMFw3nkWOvC246nn4OoSVGUGvFib8DIYtcVv/mG8brpIg9vkObpNIOyQJXdfvkgr7/RsMhmkYR94u3JUIlasUZdeTwnE3fvcm/AyGLXEb4r1vC65NbOwxoe46xtskEIGrFVzOxJzBYDgQjCNvD25bZEuK2zy2MdxoBe4DcrQJP4NhS9x2a+ZdsTpNYZv7u8tn3ctbeKDJ9yqEFrnb8b1TYQ99BsOzjNvOkfcRty165LaNJ8d1R67cJuOqCT+DYUvMX6puegj3CttMiLuIm32FyCEn7Nsizm4TCRkMhvuFXTiSW1uK8pA4hLA5BE9cBefdlHHxvvCmCT+DYUvMTvuk5o2wDoKrFoC7XGftOG45EZC7Oe8be39j1zYYDDeHlCMPyY/c2pxyCBxCOF2lCLoNBtL7IvLGYMLPYNgSswczAAD71YRmD7774xDC5TpJ5D6TRY51D3TkimsaicFguE2YPZhN8uM+vHjbvYK31Qh8pSLtFnDeTRo47yJM+BkMW+Lo0RzAUPhtM+mvE41XgbsoRG/DhH7T1seb+K1sApexx138fRkMhsPj6NF8a37cZp475FxzE/PrsygQDbcHJvwMhi3x4PM/D+Xb3wFuW9nBANjDNx7MDLCP+8AMZhaiYu79Y7C2Y+mEWUgoHkfXPiA9N15b3ss1ws5kP2ckE/tM+kjbh3El+8L4uj6QjCEZN7Lz8msbNsZ1CKnDPvSISL+tDzUGg+EaQITnfu6XAqQiIvJjm/CbcqX3HY96L5zihZu47fhzijs7XtULhfZAn+eUJ33gyIRzI5dNcG3cvONi81nDXeGhm/gtmPAzGLbEC1/yxWg+8REwC2GxZyG5AgCRcAWR/AvHiAA44SciAAQQABCISEQiKJJl7CNpH3lUOtFjYVTpuaxdZ9a7uC3X7jiNescp6TOS6GhfafvQNhtXes0pbCIOJ9pwT8COCdGO9DtB2xE+2HcPD2Dtonv46D1seAb3RL2eP9Le60MLvI/9dUaB/R4oNiGKbUlvmzFsS1TbWfLvBlkbDIZxHL37HXjw0inaz34aQOBHB5Ss/ChcRUQAOTBrVAe5yIkgdBwTaIX0fcKdOU9SwoFpO7jQV9jf5zzpe+RYwnsr56aNDJyJATg9r2ck5RjOOspXyNsD7NuOt4COi9Jx9Tgs4cWRvocG6b7A5nwMoZ3vcyy37WCsm2IfHthX8O0VirzHuK+T+0z4GQxboHrxeRQPjlH8tM8H17U8+DetPNC3jWyHh/626SbnMPFlk0r3x+7CjonjExMSQyf6kUM8PoGtnGDWTHp7nbtu8h85fzpPJNmfknNO+D1iT9uHhwsHsAdpWwKAEF4aiV9Ee2yf9C1v02PhgYZ6RoC4z4U2buXnk99RG63iYsn23XsffmetEK738tvxImTDb5J92NfKuYPfX9gehtRuSkSbEO2mZGrCz2C425i/+x2onn8O1YMTmXuaWuehFvDtgB8HvKBzBacCRnZE+2GYJybnlWweyblwdJ6Z6Cu0zU2XY9dex3HUM6R2RlKx+wZDqhp6kejRHqeF12RELrHklqlh2fU4kTJO7PElkR4fu2Yytp4RuOO63nFKjcYuCvLB/Zqc77n7bTALf0WD64QX2Hs1+HbG1sibaTv2wpmtcGbsK3BlYqCN3ugNsQ1/XaVxdh1M+BkMW6B68TkUL78bOHsLaNsoHHoigdXCCQZYJ0+eIKJAbm2L1PoWJqs44YGB1idtsgktHkcyybXdpJbs74Wd+nZg8ZOmE5PSGnLMdq68l/k5vYltW+KeFNRTE2Z44OgeJmIf2Vw/9tlWjZ1XtFs1poGYTcQiqaiEWskp7HMknuayjPtFuKrIjO30vR4bGAXaFqxGDG6DSGzjAxu3Htw08ntstU3bgn0LFx/Upr9v9is8vgnuSniOwWAYR/XoIYp3v184koqOH8OcBOVH75U/+16hODcFrxMrR7V+wHnRq5SmOUTe7IxmUSz4jmc549OOCxMOHsMKrkl2rm+DiTlzY0NuEL/ruXol1/aukYncLY2xY0dW88KK+5JyYDC0ZgbV8I/I6Vsnt8URqCT5/fXaETgx+lLCqSACOQIjNeD2DaK974Ah3JgaZ5VHeyIyGl/l1bfqKEj29Yyz0ZOb37fD1Tsw4WcwbIHy4QP4t70MnD4E1ONHzVIsR77V7aYjkrZW0gr5gIk4A3RiTcIjScJSiCETEwfLIHdho0BidUsmxECwifUQRJqLN2Gp02NdiEw3nN44A/KJmvuEG4Vlj1BDCEhfhDLrRNf6bCJswE2jx5reGNZ6TjfxmO4hKrcl0LE+Rq+xsm8GECyeq8mS4/uJh4EJQc+ACsMivnIUkgVoPgMdH3VtilKJ0gFFv3onB2HYNCoiWxGNbQuuaz3edMeDZxJAcQvKeBsMht3g5jMUD07gX3gHcPJQ+FA5kJslwAwK0Qlt8Kw00xyZpksUiLwYiIpmVecWS9tCvU9hf8yTUI9WyolBREQe5L7HKmCSCzkL9U/SB9KH+FSw5hyZi9DQT0/kdikJvXaxbzXAjXDkJvwYxzn6GcMtmObCjQRxdo1NDcz9vrr7Lh6+6f7zPvKr8Yr2w+umB5LfFQUDa4jo6Ywb0UBbOjAKkHMocoMsOVDhwFA+HfOOMqvh1aN943OT490UJvwMhi0wf8eLqE/fjiU9RVFdAkRw3oOIQNzKw7BOCiGso8vhS0I9oNshF61tNFdMCIBibliY1DvvHQWrZ/AS9sIThuF8HSmN7A/emrBvQHbjYqnfVxJmEsIf0zyNogulBFw3aaLqJrngpSINTUnCIeNEmoyb27orDODb+AqdHNHWGloknio5LyPG2F8aWjT1GZU4NiTGfTyS60TjWB/r+pw+R3+HcYd68uqlbK4a19S1VCwKoZVAUYCKUh7S5nNQUQBlKfsKEZoxdKtpsPyJfzt6HYPBcLvhjo9QPvcQlw9fAhePZZ8XXnQ6rzv4Hk8ihNrrbENxPvEqFIPwaaNXLnJg8Aaq54WCITL1xORevZCH1gsflCsy0HFZGMcmnBg/S8L5kQMhlaEjj+XRQckrEiEaBUByTAUpJdtBZMTrpYKUWYxsbTCsKj+G5wSN7uCQphIMrmkbZHP/DkZX2Z7mzn0iekb7zsc80sd0X0OeW8+n+htq20F7TtqOMuiU+E2vTSQGWOfWptRsAhN+BsMWKB8+wGeL9+FJ6VHO5A+wdCrWIIU+HCTZ2nEb95HGnZMKOKfCz2mBmODo6PazRMYEsmSvxwgUvXRKMvp/0mnFJRYxIBGbnEzQkSQDMYZ9WRGSgRWy7W1TEjozELf5BJVevzeuIILlXlAIhQB0IvXZNsnaQWUJorKzADv1kAarmSsQ8hy66ycPEG0jDwh1reKxkf6bugv7QTKJh+Iu+j4de/yIvv/Z14rMEQvqIcTlOmLcxiO5tq9Jy66ISLRZf/2B9E9yBcqj2Wh/BoPhdqOYz1A9/wifdh9Ec9TAEaFwynHwkfs48CUDDo0wWuRIbUd6HgfDqnAgAT0uJOVHAF1KmoqjwKfQo4EjKV6ve418lxpdwcpTqYjUh/yUCyNf9PmSYpvNuZHyOTGOLzceo99X2O/0tW1VdDqgKiSSKI0aCnwZc9SjSu08Wb7t+o71C0KkThCLfSMsAo/6oQiS8SrPaa7d2GfNebS7TRP7eyJ8nB+38WYOzt9SeG4iOjcRnGN9S27HfjDhZzBsgeLhKZ4uZnj1qZBP40X4eQ8UhfzhzooWREDpGKVjfe/F+RU0Ccl+UmIqYvBJJxRF83G0ZBKCGEsIlLkjM+6LyXx/FIZexROxEmcIoUEnKtXKSCpAg7h0kO1glYzezWBFRfeZAlLi5MSbyV5yNqiV3DFSwUW+iZYzisTTF4eDsKAQMshecvTCxJuKyJRMNKQRzkkYoysAFEDhuhDHwMVtIx7ZpgaaWrbrWryKTRM/i4wvIbVke5VAnMqrWGdJHSMyTh+AkrYUyGKCwDgPL3EdCdHgHMq2pwiLJtt0Y8/78uOhLgaD4daDqhLFw1O8cT7D+bJC4wFHHp6BgiQUvXQMR0BViKArnYdLOLFwUpVaDKoERx1/OQrzpVRgjmIRGuauoowocGPHlaEPQI2yOS9G3pT/OZdyH/pcCRKeU5HpKOxL57nAo+EcDAxdFK7JOn7fdl7LNEe/JyLVcxSjg4LXUyJbKC6PEfpOjqW8CIDhAXigWZWKEvoKaSdQ4yoAV4LKqltvtygghdCSkEVm1cu15ocrvwdODQbCIBrRN7ZKF31eyw2vYyJtn8ie3hjS64U2B6g5QEXoa5z/O6wpBLcDTPgZDFugeHCCJ5fAx14BqrJA4YCTI3mdV6FqtPyBLlsRVi0LqXkW8vAJGTp9wC5Iya4Qi2bhhBSd7i8cS5tAkK6rUF2A1WCnE1sgRfJqhOwshtGyqgKyCzntCAiYFo2BlILQc74jy86CCt2XkkgIAdXYdhCoBECEgj1ATkSlK+DAoLaWybVZiueoXgopNhKC2CekZPxBGKbHI9k1yXgQiRNto6GjHZkw0InLQHDkgLIAzecyaxdlVyzFt1EYoqnB9ULeh5DJPL8wEaNdmGWfmGiCwGiFMMxJK5BLJNA8h25CGPaIaoUoTMeTj0HEtGyHqN04LldMnAODwXBH4eZzFCfHeP0x41NvEMoCOJmXKArhx8JBlnUA0DLHlDzPEqkiKVvCX468cqUKM8fRgFqmIpHkXCKg0OjHgjzgCAUJj3rto0AwdAXvHSAishOP0eiqkTtBPHZG2EwoEk/yZvREZsKl48qQWwh9ddKHCxWjEb2Xvbyy4O0MfapHNITOSipIiGSpYyGuUI8gisMgOiJvZgIx49mYUxj3eQ0h1WM1hobWwLtpLlxRAMUcdHQU0wLgii69A5Cw1LpWD2KjBtelbE8YXGWImxtde/vjvRiJnNk0jDXs17z3VLBuaoSN5w5SKEz4GQw3guL0BPWihqsZngssGuD8nLBsADiHugGqStrOK4f5TMhuVoqRbFYyCgdUpewPwo+IJQxfqvODEYSij6QY2oZQzlQ0AuhZRsViKtbGKBgdg0AonBCEI47W1UFNjWBZZVYPZOd5ZA13iVUxoeQ05WHkKVEZPo8cL7wQlfONEBE5FDQDKoeiOlZikIEKmQkRcFuDmoX0OUZokcw0hDCziHahMr5/vOTh/roG6kXsP61AR0UJhhML6PwIKKqu8Em9lOIGi0vwcgGqF9p1Gu5S9K/n+/czEkMoXpBZDKVKnp5T9PvKSScSJmUEFn4ICbHRhIcvElMkuUy8RZFHo2Kwj2EojMFguFtwRzMUx0fwyxrUOPgWeFIT6oQfoVUZy5LgHHBUkXBk1efKshBPWrARORIuaj3QIDiSlCejiOTYFlABiIRn0XGmI9+LvimDE6snJjUyJhhYO5efxuhw98riwUvFIxCMr6FU9JQg7Ob6aaPrCmMsNC0keABBcKS51cVcI3UcCvmAGmnixUipgpB9C6ove9cai7wZGFcj/0zwac677OV++AZofO+cyGUsUTkEJ4XEylINro/6BtdYKGypHFsLt6owlK6mja4pBjyLEeNr7q0LvLYB325qhO2uvVlkzS4w4WcwbAoiFPMZLs6W+Fc/dAEuKlQl8NxzFWYV4dFpidMKqEohON8QzmrCZY34sF7pX1xZyHZZdvsLB8yKvkAsi0JfRaSl80/LQoKsr0QdqQFDYTg4Tr5HhGkbR9QjPyFDQgH1RBYhhwKxXXT1KemxisM2iEQNXYm5ifphChZhVvhaX5soFlsVbY4ZaD1cW8dzqSjg5idCbprkzvVCPG+LCwgJNqC21GEpibksfDQTiyhGvIaAPIFkhNiRiIbdcAPUDXCpoTThOJVANQMdHYMePi9k5hm8vAAuzsGL884yGib88IDB1PtuUIwLRPkiMnLI+oqfORNgXZGXIl4rjj1rG2vuaN/5OldjgnBMDPb7nBKEBoPhrsBVJdy8wqdfOcO//Ih4rR48LDGvCA9OS8wr4OTYaaS9w7JhXDYOixpomeC5z4lAnyurYigOC01hCzwJqLZhmXtCDZPWIwrHYPQEOpE4xo/yit52zpmOGC5E6KBELO6obUJ0jhbszuDVw5kurJ4YXUNePTAIV50SgIFPQzRO4RsNEw1G2FZ4VPkbrkJxNOsqUhKJmPKJYVUNlT1vYRpKCqz3FpYj+3PxOJZDzw1Qe/EmxrzBRHwXpYjBsgIdnej7UrpsaylUVi/AlxdAvUwEXi4AR3jVhSQX9K47EIDxM2dG2chvI2kPmbCbNMIGmPAzGPYDVdvnEVFRwB3PUF9c4IXqMT72CvD4aYv5yRwAcKSvs6MKsxJ48KDEwwcljueE06MCTcu4XBCeXCA+PZc6jkBuxYggBIQkS61VMlNH0qwUK+W8klenwrDxwLIRYdi0iOuRB6IqXOiTJ72HIbovWEwpI78xMuz65xim6jQcxxFJREeIVGEA7NG0Htwu9bMrURUNitQLiFQc9knN+RpoGY4biGwpQUfHcCfPAQD88hy4PJMxToSFcibidg8bRWL17JOx5DDUwGIBLM4QY5yqGejkAdwLL0l3l2fwT9/sLWNBGTmuDBudCEnZ1HKZWiw39Q4O8glXWCq3DRs1GAx3CK5AUc1whHMcN0t8/KcW+GypvHgsnp/ZkYTEHB2VmM8ID08LHM1FGBYO8I3D+SXjSSuCMHBhURDKUnkz7FMuS9sAgHMER1146awCSuXMIlTc1zSMxoutrvFQvsx4Mgo83R4xqG7LmzEahjS/MRhWkwidMM4gGsNiPUEkEjy8F6HYeo7XiMV0Ct1G04lB7sRgf7uWqJU2iEwGuRnc0RwUQzAZ1CzAywsxrk7xZW5QXSUQx0JJgekonEwg9sI524X8CzmQ7NU7WILmx+DTR6BqBniIgfjyDFicy2dJ+k75Ng+3zHP4kRk9p9I15JzhvrTt1uGke8CEn+FasIvQunXQdcu4bfHRj76Fd7zzEch7PL4U4eISC80SwKJmPD6TP9LZrEBRAC88KvHiA0JVenzqNUbrhV18GQSfJvJm0RNl2c2FrQ/kJtvBAVQ48dIdVUJwRxVQHsl5jy+6YLqwRnbhu3XTwqTsM2+hV2XQWUWVYEe2vfbRcEdqAOBCaZiBJZUxKwscHR1jsWzRes3fS38q0VOUbecIx7kFmiVc24iHtizhHr0dfnEBXpyNntolVasXauo40H0hhU6dQQC6fGCB9MKX1L9GOE7LBXhxAT57Qy58/ADF298Nbhv41z8j1wt9R2+Z/kZifqZuO99dL4zdKRHpjYsCMBtvyMdkPT+cpx+ud714Trhu9CKG+5ePNw31DInq4cFIz4kV6SzJz2C4qyBH4NLhyeMFPvbxM3zee4/w2ccN3nzcDtqyZ1ycA2cXMpdWWiX7+Njh9Ijw4nMlZo+AN58Cj8+FG1slr7btC8A2BBlEISivoWZJ4OYi4czCUfQeVqWIxNO5GFEXDXCxBOo2NZTquXqtJnCfYzRR8HH/WORJp9t9QRj3RwGRRMQMonF0HAQ4csL3jlAWjFkl3F83LRrNgy8oFHChaKQrAseFbabYRvoOHrUGMYe/baOoK5yDm52ATiqgWcIvLiSXEABT4Jj+dx3n/JgzH9IJ2vg+FofJ23DGB5lnrYtkoS4UJXAydOmD9hJcX0qEDZSvqiPQ7Aj04HmAAD5/Aj5/LCGwSVEaSt7LfepzbnQSRiGY8Wea574h93b3LTeCjvPwLjDhdwO4FyLojsOVO3j8SoJWMcFi0eCVz17ixecqvHWuIilag4JnhuMDr2eGb4DXH7d48wnwM95f4dEJ8PginEuxHZDOf2E/QEH4ZaIrGsEkOgSXtfw7W8jx508Zb3sAfPZJX+S1oGg9CgIwTtlRaAUZpMSgW6FdkWwX0fUTuogxgdoV9fYzs5Br0+DBcYXLS7VCwkfxECa5QCqcEVWYpONxvbgPiSHLBXhxjuL0OXjNC+RYfSa89gVVvKEh1DI9HguthBDOTJnmfbg+IQzOc74TUPDA5VP48yfA/ATFO94H/+rHO0vfBgKQ4/UmrIIuE4B54ZgYgukGFshctMX98buZFoDD0M41AtBgMNw96DquzIzHj5d49bPA8y+e4o03G/gsxC7lSQDwqt6WS8JyyXhy0eJkDvz091Z4fNaibTnOI0EADotBKccNno37PBbQevl3sUyEnSPMK+BtDxlvngHLpk9sHAWf7k3EYZjyAm1yIg7lM0uDmK+ftXPkO0NpuF7wDgYuZEKLLj0uzrbkMa8cZrM5LhZB/EgD4i6Ev3+3Ak/pjtCntouPAUFThSJmy4UI0OOH4PoSvLzowvWRIXj4goU6OO9c9z1FDsvaxBFMGVojF7mOa5G1Rce1gIq2ZinjPnsTYAKdPIR76f3wT14HnT+WMXm/lnOjxy9wYM73CScOjK+ZsbMTgOH5Y9hH7/PsARN+B4QJut0E1W0CVdN/VFQ6XSfV4Qs+9BwumxIf+dglqqNjAEBRqndMWcAVTsJTCuDBqcPJEeH5hyUIwJtnwFvnNAxRof52t79PTEBqNexeywKYqwXzqGIUhcxZn3vaee0CQgiJnMujfcbPnk3nDhMEsmZf77hec14VUTRfCUKM6a6ighKG33ssmWVzCssLbV8Mqn/tglx4TY5r5FqT544Ugpns20I4DdiNI7k2Y8CdATPgGQ9OK/ysL3qExZLxqVcbFGWBogj8OORJQDx6IfTz9Ihweiq58j/5GQ8QxfBNYMiXMcQy2BpHuFHad9spx4Vw0KoAjmfCo8ta/iHnwjXbm92mzGMV9oOi8beg8XNiVE7sozu3boF59gzGsdxbEmrP3bH0NZ4T7ms4HvPMKR7zvoVfnKM6PkVbL4b8GG9+ZqBMx5Ard848fsi4d8rQOsanY+IQ6AtAHRdfPAafP4Z7+QPwKvxGkXkocwHYXTtwY1+8pePaVQAeAib8DojieP+FFe8bbrsQ3OZBhEoxUbnZEd5cnuKsqfDCux7gSHMXTk8lif30pMCsAh6cFJjPnSSWM3BRA08bgvdANSO8OEtzE+QaZcxRQH+/6wrAVAXD6bbs5zjPhGIvTSthKotGrI3Hs5H8PddV4pyqGNrlIkBffW9/DN9Mj2WhKi7k+FGXxxCELBGB2yXqusVMw0wKamIOwlRuQsj9C2ElsXJozP1rQOUMxfEJ4Fv4J2/Eyp9dLP+KdY+AYbL6YGF5jGxn8fp5SeuR4718ASLQ8QPQg+fhH7+uuRR53kOwlPevka8tlGKqhHXE1BpHE/t6n20dTPQZFDvxwcQ5vrndgvBZFKzsPXxdY3l6gic8xxKMt71HcvqqWQlHwOlpgVlJODkWnjw+clJRs3BY1sqVC+DNSyHB41PgGEBVElwwiI6kOQBD3gxFXyotmpYWg6lKFYBa8IUhoaGN8qYjxvF8mNvnMM2juSE1L5qW8+mARynGyQzOSbdjDmDgUiJUBYGZsVwuNFdQORMtCmQFXzJedRmPuiwHMF3uiXwLKkoU8yNQUcGfPdbq2Vn17qmcv1idlLtjW1cKHeGzQc571pYn+NKz5No/eB588QQrkXPvFCby9gZj3mT/AQVfwMGEHxEVAP4FgE8x868hog8C+HYAbwPwfQD+Y2ZeEtEcwLcC+LkAPgfgP2LmnzzUOG4St1XkPIueyH2+i6n7RaUDuMHsaIZ3vucRiipUKyvEe6ZVyhgOdQucNYQLtZRVJVBWwNGRbuuaf7NSXssybOvitrodQkSIhJi8CjuZV4Swlktd/D0hosLpcg5YLeqmiGlY4UyXfUjIhgCQLhFRkpeCYKAuHxAapsJB3IQqZZKU7lup/lmgQQV0BV3aejIJfYqQHHtQUaCoKlBRAb4FN0v4p2+CmmV/ncGJReBXFnUBMFzDCENyGa32idXkQ1KQBrNjUClE6l/9RFLlc0PBlwqxvDT1xJpFqxa1nV50PWu6bjHbkX15X89CiKdx5NA4uot441pDx6+Abw8pJq+Dd69bXK77TEQevqnx8LljvOvdmjd3UmJWEWYzMXqCxDPl4dA0wHnTr+ZZOODouMvTK9TTV5YdL3ZCTvlTl34o8wJiJFU9PWSqCyKv9UCb86Zy3KxkzJAaO3Mj51DkFStEWv9c7TMuo9RfMsIh8HNqKJXteD0gFngJ1T89M+qlcE+JFrKMU+BKHw2lkUfjEhD9ImrjhlSCcwWoKLTCt1b9XJzDN8vEkBrOGV8sPvJsYlhduV5guj8XfAOe5S05l4DqGDQ/Bs2PwE0D/+QNYHGOiJTvpwqrxabZ/jFOXMPBvbZTfRwIh/T4/S4AHwbwSLf/MIA/yszfTkR/BsDXAvjT+voGM/90IvpqbfcfHXAcN4bi+G4VJngWBOFOuXx5jEXYXzpws0Qxq/DyO0rUXGDZAOdtWI9IwkXmui7RvOqIKhBTUXSEEJ/JVcR5LwThGYB67dp0gXcdVkkeoGmvXBGOq2WwJMi29kEq2gL5pGsZOWjkSEJcwp+ciDgg1BiL6xWxB1ohoJCTQDG0o7PwkfZZoBNikXySMtRFJI+MmMAgV8hyE0UBR5V8gGYpZHR5Dt80kXxcSi4jaxL1tteRz6ry0+2EEMxJxzmgmoOKGTCbw7kCXC/Bi3PwG6/KekRTZBMwJfhGxNpgfaR8/4jgy/evJbvYbv011gq+++0dNI5UjgwCqxjhoLViptxfPA6veXViMuAqPJS3jcPbZQ1e1jg+meNd75RQTXKEyxZoW+XFOaFKxNusQhRtwegZOAmQ18CRSo2RP0MEfzCG1k1flBWJ0TOkNpQOurA7tO2QR4UffRRnAOISDdHoGbmUe2It9qHtwvXlImGuDnyKWIGS9TMSOk6VyFnl2on0CoJHAVnUHhhWvi64GXr0BobTFiCnBmxZP094VsfRLMHNpSyLoMVjEPh8C6HX3/b7Cb3etl/NueVMDMLVHK6cAWDh3MU5/JuflXNGIms25t6AEf4MfW7Lwd3mxHPAHjiI8COi9wL41QD+awD/OUkQ778P4Ddqk78I4A9ASO2r9D0A/DUAf5KIiO+Bybd8YKGe+8BNCK6rRLq+yloUBNQLnJ6UePfLmjoGEXWy5IuUh3a66DqRhICECd0zQJqUXhSMgsQrl5JMGSuIcU+cOVLvWyTE1LPWkZtYMNM1geTa/W0hErH6qTk0tvF9ekmIipJrrVp4tjs1b9M/N97WQAjwIHJwYPH+OSeJ7q6Ag66h19ZSHaxZgNWrBwiBEca9eetCTibDN8dIZ5NwElcArgTKmcQclRXIBYG6AOoF/OIcePI60NR7WxV7xHEAodcbQ3K9TYXe2PFnXPAZRyqC8ItFbkfEEJebfcxV4jH2talH7ArFZMBVicrbFPLqLxdozs7x4vMVinnnlQPUqOnVKxhEm++EXWr09IxYhIscR09Y8Mq5ojNaEjQfjqBr03b7KfAn0HnWwvGMP4FuW4ya3f4gvGQZhY7TRYVyNIySD2bPpA06ViX0fxNxPJyPZcif6/ZPhm2yF352TpdpcCCWCuUEcZE638r83tbgulYDZAtuu6UOgsjbSeBpH7KdGEmnQjenUibGeNc55dwCVFTgogCKSovNkC7uvgAvL6Vy53LRu2+b8O9GHr20r3jecP9OHJyNZ18cyuP3xwD8lwAe6vbbALzJzKGszicBvEffvwfAJwCAmRsiekvbv3agsdwYZqfV6H7fHu4Lu0+4CaGXYzvhVwDNEsfzRmP/vVoqZfHWynm1KHaiLVjh0hh+FlYBWIlARRlDRGPwqKHXrh1MOqs8arI9FGdj2/19QnGhbycHYyvZT921YnJ6jK1JLJFAqPKWjjPNhidQV3HMM9i3oLYGWvV8qQcsVoz0jVw3zxdY5cXbcY2gUbIhJ78DJ4spEpVAUYBdIUTD8hlQL4Gmhj9/qsSzzK49YsXb1po4RjIHXCNoH6HX6zOMbcW5k9e4P/hjMI5EedQXWGPf9xRfcrZ/lXiM52wpImPfu3gic1yBmOzG0v393KoUE9/An5/heN6i8SJ3qkJ50mkEii523hkygwdNOSdJFYCWJgnyKYQ5UjBipjwahBi6/YFHRYMFgSZ8R5kYS3k0xRhf5vs3E2cZN6Z96Ki68VBsl3+7JB84aEqlUxG1UgQHIHJd3RjPUiWTw6LsrRgc2cd0Ak5z+IDJKJiN8vIGhtOJNW+TvsbWpBUxp6KuJK34WSj/OqRFT0SsLsD1Ev58IZ8vrM+Xc802BtZtBV7AmKF1U0/etpE1O2Bv4UdEvwbAq8z8fUT0FXuPqOv36wB8HQC8dEdq0Dx698Pe9tQXdAgheI8fkG4tqCpRFg1enn8Wb3+hAbVLMDOcb7pXD1DrwWC4tulIRWPlKcTrBwEV+mYOSgnd//vE0Omv8K4jCxBpHxr7QmnvGdKJJJ2wGDG0MrJlEgIhFs3s3FRUhX+ZtVPadKQsfaT9jxDJmHUwHfs2FsJVbVwBFhMyoOEtwXqIspAy0nHdIU48jjWwWMK3DdDU4HqpoaCZeAvYJfY/nrtdSIi835NMVlgoN87PW2Xl3LDv+wDjyA4P3yUcOfgNeY68uPb3pu1yHt1ERHI7/vvahqtzATo4ZwOBt6mInOxrRVrJTRaVcSXDX17gfSefBleymDb5RvmwjV4xgEFt04k2UXQI3EhBJBElgqtTOylf9sRRFH56LORzobc7a9vn3NByXVXqiLHiG5Fr4g4dd8JtUZFKH0HeRp6MfJq2DXzRbXO6P4g59qtz6aZE2iY8u4kXLux3DmAHOK0GSoFjVbg5KPdSV5En9NWqx7FpZRkm/Ye2EaGXRuAgE2wpVoRf9ppt4Z2bOr6Kdw9pSN0Xh2CLfxfAryWirwRwBMlf+OMAnieiUi2a7wXwKW3/KQDvA/BJIioBPAdJYO+Bmb8ZwDcDwIfo6E6onOO3P0L59pflwZA9uGnB6QOx/vNN2+VFAcMH5uA10PdxduDw40wmCI4HemO5KWF4nwUpzWZwvsbJxevw9QLU1hI+grDQpxJXECsaHy9QsovfqxBAyJuj8L22OqkD/d8NQrx5IqDY979/7hNCJIj8c6S/lclKUiPnIf08q9vTyr7HLXBbk4sSSSzlRg6Abhek+zXZwinhkMssei3QNOL1C2sUtQ241TDStqtW1qvAGbBpIvaaEMzRc26QZMb630TgTfc1Jfzun9AbgXGk4uj5E1BRwC/FA95Zvbt8mm5dt3FOy9sFjAnHKdGYn5NfY2WbNeKxmI0e7vczHx9PDtpFRB7AA7ird5LRoH78GA8uXwctLzqDJDAy7/sev1HKb4Ebgb6xMfBnNCqmfXacF8RQd+1MQKVLD8Q2LTq65P51MPQE9rBuHtsgSnslv67oI37bq0Rbfu6AX5VPGUjiZAGwvBKB9JWhbUBRwIVj0lW4PtQY2srfYdvI+3oR93FIdWiajmfTPuJn24BnN+DYwTlr+jyYN24LQ2rX9+rPsQ/2Fn7M/I0AvhEA1Jr5e5n5NxHRXwXw6yFVy74GwN/UU75Tt/9XPf4P70PuAgCc/rQPAs7Bn59L/EL8IxKLBzy0Akf6hxWsUMl+SFle+WOLLTrLVbIITWf46nxEU1hV7n1TbCzs0okW2duRY1Hw9jxQI9caTORjx3nQPO6Pbv7+du+E6OHq73NHx0BzieqtV+Avz0ChopVvkHq/aGzCnRA7g0k7Hh+2H3yzW4i2lX0D8ttMFyQaLE4U+qRk0Nnv0vuJ4+F/PHKeWluJNGkyJRcRbuQ6UonfTfDkBVIJ220LqDUwkA03TRfymVkJY1/ApKWw25wWzPuQzbax/VN/xyvHt6HwGp2KtwzL3EREruvjPsE4ssPzX/alOs8DwnP6sNa08Esp0ORrMcS0S7Hu+7oWa38tf8teDTVTfzep97A71heN+f5VAnBb8TjWx1S7bUXk6LU2FJFTGBN5q/ImV4GoAZoLlJ/9GPD0zc4LBchrXE81vMYTtV2aMhCO6f/S7yHjg5xrOg/gyDk5QsLh+CcaOyE5uuY+9bhxg/4nu6Peo1S/XfjsCU/2RFwQcFkfQMenYaki5o5bWfmU5fmGe3zL4n1jLx65JLJmUrTFa64wdu4q3rJ+x9rswqvrDKYbXwubC7lteHVXXGV8yO8D8O1E9AcB/CsA36L7vwXAXyKijwB4HcBXX+EYrhXH73sfmk/+ODATURFJzXM3V3hMh25hwwexBDQ5oQz7HzzKb/FD2soyn0yi3SKUE8I0EwmUnhvj5DOBMXm99FwVzun++ELJBBlOSPpKj0Vx4gC/hH/jddD5E7jXX+mHOcYVYgvpy7luPxHg1Ss4EFfUtcnEf287FWZjoZ6rsOo3lHoNtW2Uvb398r/e7yAX8IFgAmLbfh/59dBKYnlY6kEWVZJ/3DSRkKTPNZP1DiTT9bV+Yt7WK9ftXzNODD/LJtbDqfYbWxFX9LktAe0i7p4Rj98UnimOLB89wOxkhuanPgYf8mqbYOV3IGY4V6IgAmYFqvkMKE7kcFGKZyGEXhdF97ti+dvhptF/rYjFpoVvaqBt4WsNFWsacCtrzclDbV8QjgnBVQIzxTrvYS/nNbYtRs+d6mPqWtLnbsaVKQ/lqnFNgpdAu4Q7ewpm1+cE5RoOnNOLUPHd/enNUaxzZT7vDhSMvIzeAx55u+ZzTRqdc/4ZPXnF5vr7ubGNZ+weMKuIY6DHp3osX2R9Fz7bgTdH+9pAaE3ywxWKtlXX3oY/p/o+JH/uioMKP2b+RwD+kb7/KICfN9LmEsD/4ZDXvQ0oTo5Rve0FVC9+mVhCAHAMEQNkAkv/ILnzVCR/qNx7DZYXjpNOnNxTD5a2jWGlcnH5wWT7wJCJYWwCWvWAtqG3cO2PdIsHvU1/8ON/MH1BxDmZ5OMZ0U9jFtRi5oDXPws6epjcV0YsQOJbSPhgq99x8t0mJMa97w/dbyP01wtNyf7F/f3PsvFD9DaCfxcv8bYT1SaTdux7Q8PIFkJm1AM60n70/k5N4hv2KX3sT0hyzc37Xn+NMcLata/NjVP3Hc8yR85ffjuq5x6ievTF4Hoh4dTLpXj1lsvufaP82dSAr+X30wTeSn4zQaQ1bTSSuaIAk0NBDjgqADqSPF4A5OQYqYhE4QY06BsJTfNLua6vl+JpbFsVja2Mw7fwdauicqlz/WZCsCcA9xCPQM5R4yJym7+x/Fw3Xq9uJVzBWP7oD4CDqN9jzt4W1zGfbFUQ7gax8l5sw0+94/tz4Mpr7Sh+thJpe1xr15SFQ/LpIXA3MsLvAMrnHgKf94VoL56A6gt5QF9qcnMMJWvVC8WIoQ6pSz5alNJjLE4f3d0RVRZSF5OYqR9OQcmxNKRhzO2fpRONlAAApX5JREFUlRruLwidWLtiuF0nZOL+6J3pCxNOBWx+fBAamR7TCWQghNAJ6/Sc7DrsQ9G87DNtUK1pypLVvvZT4tFrsmpVsa+k7209VF0nI7t2I8yVE+ChJp8NBOJ+Qj7DOiJYMZ6NP9MegmXtpH5F38m+uXT7eOdWP2jsd78Mdx/VC49QfuHPgn/yOanK65xErLgiCRN33e9fjWGhcJIIwRZYLiFLuYScIS2sFAVjOxCJwdjJvgagBZra5LiKFAZkbp9r9UDMwXysuUxJOHrIHw4eSHLdb1wNflw3cZxBOAbByM1SjLi+7URl04rwxIjAi6Kx/7qq7aYCcPShec38tsoT6OozPH31CP7N19de5y6BQi75Qfu8GyJyF+wjXPb5rWx93S2i6Nl7DakFutxH6uaHJBdSUlaSVBWdN0J7Iop1B+IizKFNmt6Sof7sZ7b7fCMw4XcgFCdHWDz3Mtqj50HNJUAODlK2OK+o5BAKfEiRFwpVD70HcVL4hSFVFlNBFV69H91PqfCKyk77ioIKnUgChj/8PDk4Gbsgxh52YYmZUM3DLymWtk7OBTIBqjmNaehkGGtom74i2Z+eE8V0CDNJ8glSj2gSZhgX505i3WMIYqs5fE0LFCXci2+XUKNGclBi0rImMlNdd/3FisNeP6HehzA5FWFYuSDMSIb9gCTiBBcIadvJ8gBesVXnrZ28N5igd7IaDq5zGHG70nO1o3Vxm3HsIzYP8hk3NgLsLh4N9xezt7+I+tE7wKcvwjWXMqfUC5nballrC74FaU4R+Ubm8pIANwf5Utbq8qyh9JDXuN3xrISIt1L9z/tONDYqxnSO5hDyqUbEMcEoBsbg6RsaCTuh1Xm4RCQ4OFdINUNXADOnQrHzQMqDnlQ5lHL1lF0/iMc2EY9eKxyqYFSBKTmROt62jX9rQ6/h9PaUiMyxSvjx49dBz30hyM1BVZkI5f0xNZ7bIqAoPHPElAmgH6mD5H36PNYt6N4d4/gWYPmMSV+8oq/BvmCA7/XZP7ZSAG0hjkYxmUOJwbNi2EXp/tTJQSS/A33O7KfuJOkxyXsKYi1Lren5UjZBfDbvovPAXow4HPIju/1pZJ+E4NYIy0T4Vp8RfZJXGSPH/OQ9PwSHmvA7EMqHpzgrn0fNHlTVkLVmEgJjBjmp8ul8CyZ5hSM4Jz9ix2E9mFDSGMm2CJtQxjh4AF36R46uBHHv70zb5NW1wg+XQjWrQTWoUIbfxxLMQVRyqD7Z8+CpIEUiQHXS6gmHkLs34lHrz0cTgjQ/norYvG1oky/O7fUmhQkmPES4sptQuLPSgLQccdsA9SWwaEAQ0uaiAFUzmVycWIpl8dBEuIQ/ahWJoYpVIGlZu66NYcLdIlXhHhQDEdStoaeYEIZxb07qKRkHYTolLmkoRHfGVXrrbspLt8H1143hOsTZITx/XaP9r/WshXo+yygenOD85O24vDhD4eYgAFUl4q7gFgU3IHJwGqESFqKWNT0ZaIJIlDBMamvdXkDWKAt5g1op0DlQ5QAqQTyTbebOYu8KsRcG8QgghuY3jRj96mUUiWiT0E7v9ToqxtAXi7Id5v7w0K0CsrlMPHcJFwOJt7PjNnJF4lUogNKByxJUzDuPQlECIFDhwCT806sxoH13nkgVwyoUuZUHU79sEuGowjIYRDH995rvv/zIvxF+bRr4Zb0RX9wro9CYaOkJkUzs5EbtrBYAZdtAMBxk10qPp+3HjOXdRqq5kiYj11wl4FZgMtWmtzkiQOPzYxC7rI+TyTNn2oZDm6Sv8HzqE3Gd1jbYgNev4rd5k9xnwu9AKB89xHl7ijcvvKztBcDpgt4VycKlRVjgOyzmHRb6jmLNw2n+V1zYm4I4E1FEvpVX3XY+rI0j68BQIqryRUQDkcZiKSoeCWU0hESvm/YRTCJh3bnu8b8TqMnJalQRyxTF+ST13vleDwCiWAx/pFGIIsl1TP6wo6jU8wZLZoDloSDkUCbXzRf+jsdTYRhDWUO+XtaWAJSlkrOXcCVfd58xCNg4dv2wrpB749SdX87Fyqv7KViHw7m+CwVCXGYgLD3QSIhTDLcFglqMRXFy8ZhbRdOJJ5vQw0Qd9d7AEtwXglQk9yei3yZOnqvGAbHOHaICbXfdKxR8e3oTD1H45MrCM2Oj/QXp2us5B3f6EO74BM2rn97oeoa7AypLlI8e4Jwe4aI4RVW1IAJqUq70NRzXYM/xteAFmD0KKkEVwZXHKhIl3MpxCyKCg2zHZXTaFq5dyO8xFIdqFhrRUXeijT3ArVT2Dwa3VtZbBRhUOBCVQFWqaATgnPw5xDnb9UUbQ9Ye87KoNKdGvroTil34at8g6WNeXOCgoXgDvOYi6tyUe/Y867Ntfz+DYogqFQWcK4DCRa9cf501OQYVljww/IVrh7L8TfRWuONTFLPu0TKOq21UYDYqoDtjJ6v3g5PIGx+4bgX2eXg+xHrK9wWuuB0e09uG6/yNXKfhw4TfgVCcHONiWeHxBVD7GQoHzEoRdmXBGomor/CSbgevz1Ty6sjDkXz5ZRCF6tornOwv4n41WlasRh9tR6xiriv/HxcR57BI6Ig1JAouTsQPx+1UUIa+pO/+tvSr7bi7dud1nDhHewNcrH7p0v0xBDQIUl24NatwKZ5RJyKYnBIqKSnrgqAajsncWXEp5AJyJxYnRWJunZ3cnwg/n35mFqHoa6Du+uaknTRWL6PTinZlCZrPuwIFruyWDUnWoIsiMbzWy94Yuu/JJyGnRbcPnVQfVmVVuKwv7xGFZ/isQXiGPl3/eBxGnlsKgPJQ13jdNaFII2GvwYs5HSbk9Ph1is2rEWsH8+gd0Ao6ed+rGYrnX4R7+BwAoH36BO350/tl+TcAAKgsUJwc43x5hNfPGYXzaD3DUYvWA/OiwazwcA6YOQ8qgWoWDKXye3BoxCjq5bVolyI0WomwKViMb0QOReFAJcFVfZEY+CEs7B2qYpNXz1Yj3jxqE69ik4SLglUkeqBpdc7uBCeAKBCpBOBmYK507iP1MnJsE7yPoWhbFxGiHrfgbdQx+CgYG63W2C1rEYXeoAhOJgCjl1E8kKESJnsetslEZEAvEsR1i3ITAP/mqz2fjuRFyWenogBDwlqpKEFlATo60UW8odEyLsulTDvT/pLomSgaByLS948HUeml8N06sXOIh/67MpdNFIQ1bIm7EsFiwu9AKB+c4HOvL/DJzzAeXxZY1PJAuWwAOBEpR0cFCgfMKzGmzSoSotPn91kFhFQ4RxxrscjcIduOwrM6x7oqwiHygyvUm1g4VtEYRKF4GkVTced5pE5EFs6nOavJ/nBeItriq4pX0oFw5+3qKlcCIK8OTN8J0aSPdJxRXE4IxHw/Ydq76aCvrpUHgFJuagEWLwOgDwLhvAbsJdyFmmV8TWPrg0iMoapZGGm0PLMf5Hf2loBI90+Ix154rmfAN/JZm/RcjtZnuBKYzUHFKbiQECAifejwIgZ5uQCapTzI1IvOu5heH+GyebhSXxiOFcsZK5Qj54bvFePHV/UVz+mT9cCrGc5LvIpRiOZackDKE2JzLBcy3Kf8wWRdyGwY9xoxemhch9Db5LOw9yiefxHliy+BmdG++Trqn/yxrlCS4V6CigLlowf45OcIP/AThJOTElUBnBwRqgI4motjzXsAxGg9UJBH64XbPAOl82pQ9XAEzAuNqCkZjoCqUOModbnyhEaMqmjgmeFY0i0KqKdRy9tLmKl4E4MXkTQElSBL8bhgeAx/4yo4JZUj8SLq+mbCGx7U9gUi+S6nMM4XIZjElwDp+gphwkq8jfJhinBTASTGu5jf13TiULe51SI4rS6gnUSKBKEoHjvdl3kiBxVJV3kkHzw3es6wWJoW2lnmnJNdK9sfi2YUIjadVmtF5UDzuQjMGFkjQjJtPzRAcpc/GXKxwnp13nfCsQlhsCoiQw2Aejh3dWNfndu4as7cVnhep+HyqnHT198Ud2WcOUz4HQjFyRz1osFHPnqB188djmaER49mmFfA6UkJR4CDw3IJnC8JyxrwRKhboNCHwKoklKW8L1UMVoWIw7IkFCSi0TkRiM4JWYpI636AngEGo9Xnec+MYHSTPHgVOUEkZaIxOHcK8nE7iLLYJoanahgreX0VkeuckiV5MdzJBdXAyQAoXh/qCeUgIrnvCSW0UTRydm0ZS+LdCWG0SkiFhmAGgu/tb8P+Noo1By8E70q4WdmRCJGE2foW3CwkFEUFIRXB0puJu2BlRCLgctGYC67sgaAnCPO2mTdRxGED+CW47trFsEkm+WEVJej4BOTKWNqcmxrcLIHlpTwYLBd6P/XHEDx8mfAChWt0+2Pu4VRIZ/gcRQhNzb/Hbo2uXb2GPY/hlJcw8w5OibUxj2C4L4OHmYlCO1NCjxyN7Du8B3IfHGIc7D3cw+cwe+d74J8+xuLjH5UH5UG7u0mkhtWgwsHNK7RNgzl51BcFniwZn3NiJJ3NHKqKULhODB7PC5QFcDQDChIDpPfAZS3C8ClxFIrMwCwIP+dRFSIOZ2q0rIJIdCz6iTqR6JnRctsThqSvjhrhCBZxCE7EIgjklOOIQDM1KnILCsZER5ofr+eFYmHqYaSwCLaGh1IQj6lIRGJwa31MAQDQFSMDoCoZehNAxTzLa6TOkxYsysxaYbQF6mUsVuaXKhIbrZg6IhJlXP05PTXebSUWE6wUjIO2QaRNGCwR7NErjnvuF9jRtIvgxXQa6pt6LaO31nX5/PGzMZDmSUbRGARlK8aBKCLDEibJupIAQG71vDuYK4titN02ApInuHCzcw83d1+3YfS6ryXXuzl+N+F3IFBZwddLPCwX+MwZ47OvtJgfzwEAsyNZDOf4uMS8IpwcF5hVwMlJgdM5oSoJdQO0ILSNw+USMVCzE4LyWoR5Xf/GSw1XcFE8SpuqFPIsnISaFg6oim7+EgeWEChDOGPRimW1iIbGTiDG90EHZN7EXERGz5s+uYcQVrGehnMo9iGiESoWnb5y75XAcERJUZNk3cNorWR4ZpB6+gqdlJ0Kg4JFeLVOfvqFD/mYKvx8KyGv+h6+6USh9xKiQiVofgR38kgm/3oBbmv4xYVYePWa5FuA9YsKhBlIIhB3mNwjsWdCa0z4RXEYkzG1Tdh2/XNDO83JoLYGlheAZ/joXXNANQdVc9DJI1BZAb6FvzwDX54Diwv9rpK+9LR4jUDYkbD6FUwjkWXijUaEICEn+CyncECKWT5hagzIw0ZzIZhbZTPyywWg7AtGkcMIwG1wE6S4CmvDWl2B2fs+CPYei5/4MRN8zyKIQFWFy4saP/DD5zh9OMPxnPD8cxWemwGzWYEWDpcLxltLEYNVJb/zmb5WGiFzOicUBXCkkTNHM5aUNCrQeKBhhm+E2wjiNSwLNVzq334ZXslHb6E6jSQaphAxV5GHV+5itDHnnFlzEXVOBTpuiVEmkDy8EH1SeA9QCeccnKuA6EUUIyjFEFTXzX9evErUBqFYy9wbchVDaD848hRlxkMORdraRlMM+qGpoYAMKvlH7lSYuSgBOC0U053DbSMiUUNR2TeQB5hG1mIE94TfJiIx3c6FYgCP9BmPTXkJcwNr1j5/j7CQfJKzn89NfkVfHS+GIm8hbFUicqgogGoG0FFXBE5fJQw2Q9tGUdgJxzbmSYont0lCXDvxGO5FsULEHVY8bi9k1s376wToXeGN22LEDTDhdyBQVQLc4K03z0CNwwdeKvDqmws8Pfdoapk064Xc7mqur5oAPZsVqErgwUmBk2OHh3PgaOZwvgCeXhKWDVAUmQCM23L9INaWIVTUUSIS+6IxiL95STEXUQg0nMOoW6Bu5dou8ShG4TfhNQzP1JTv14dr8U76Xl+5By8eD/c2evYQ+wjbjkg+KzlZk1e9jqVjNG2LupFeCiXjEALoVJAFge3Y6bWLaNGN3joK5ybE2jRw0SsGUFGheHgk7S7PxYqaFhxQMRYtuJmA6vb32/VE21RlrkhuWwpBYqlcCiBUzeP6QpuqFXQ2h3v4PPDCy+CLp+Anb0g/eUiqc1Fs5UtWRCE4Id5y4UXe9yuOAtNCMHoCx0Uae9/90MIxvR88ce6UJzAlmdwrt60A7H22SW/g7fL87YLixZdQvPh21J/+JPyTtwbH7wpxG/YEEVxV4fJyiTffOMflQua3Vz8nRtGjeYmHj0oczwmPHng8OCUwHM4XjLMzh9Z3QvCs7IQg0HHirAJKB8xnlIhCh1kl3kIxcjLaFqhbltV5lJ+CEHTZdpnk3VdFAUeSb++IUDoRi6VG3TC8ZtCL95BUqBBCSGiIOmmTCJTEyBi8idzZ/cgDoBKFE3Kj6qjzJhJpJBEDIIT1boMXTERAEI3Bo9eC2qX2rRwTDDFBWCDkvkuoKodjAOBZPV4ElDPQbKZiIax7qPkhzFIZNck1R13rtnoWJ8JJVwrFLURir8+AXHQmfUyt29u1y72G42KzOxa8s013jYm+xkLthbtCPr++FoV8/1UJOjrS/fpjD7n/6WOC9yIcw1qSrYT++rqO77lJisbx+GdKxePknJ2JxqsQi1MpE9ucM4Wxvg7FT+TcreJxE34HBLceb75xjh//uMd8RvhZX/Qi/vVrl9Grwl5i92Mcvf6ofOtxCeBy4VE+lT+eqnJ4cAy85+0lPvppj0Z/lG2rQqYI230hGMVdgYF3MPzxhmfREJoe9gcdURWEWQk8PGbMCuCNs75oBACn4iEKwiD48pDQ4MxJPIHhwXvQNgq8IML0Wom3MG0XhaHnEfHImJUl5rMCF4smCrwo9HTC6YRgZ7UNYYudKAwCS+9TXjbZh8l0AZBDOT8Bqhn48qy7qbmwo37IZ5xecrGWtvPZsTwsdBchmLWJQjCEcC4vwMsLsQofP4R7+f3wr30yljBPc9xyb2AUgkGk5WsW6v7ce8dwnRcw7JsQgpt4AgfVRPcQgOvE2aQAzHBrvHYrxjlFVGs9fMwonnsB5UvvRPvkLSx+7MPDhzvDM4UQLl9ftlicL+LvoG3kd9HULRZLmc/KSiaKBycFHhwT3vZ8gboFXn1T/nSrmXKkCr5QpCNEv+QpEwBQOCdCcC6OrXmlETAEtAxcNixOK5bol04QcuS+XBwG3srFYuUk57Ao5LXU7bJCLMRGGloqOfLiNQzbQMdP8ZX6qQohraAvInWfeisdexEJJJzrwCDnpBI4M0hTFqhZiDBslnCtFsjJC9ZErlE+ikIwCzlNOYlZi7hUgBPBGitb6/ITCLnnQZg2Igy5qWORsjTFYSpsNM8130ZEBuwjJleFkvaun5wzdu2x/qUvBljuyVYeSL3XYckPVxSgsoSrjvW7KYBSUz4K/WMJt1JFoTzbhO+mjvt5WXdrHI/AreMJ75FH6kzdgxybiMpNw1ZXXWtdrv76MQyNxevPuXqBaMLvgCAiVLMKb3uR8J6X53j9MaOsSpSVhhXqa6kVXJwySlkGMedwNCcczwkPTxxOjghvncvCnVHYTb1GwddtTwm+bn8Yt7xWhYSKHlWMqpA8wrPLrrgLMPTSxe2BiOvvT9cXzMND8zb5NXIMPYE8vI7aXik7HpB7kKauBSApsLLBH72SH9FI2MahcKilDraZYJjBF09Bpw81VDNLaL9F1qzrxK6T9D4CaOrcacvzLtfY4XOVFYoX3obiuRfQPn6rF9a5T5VTwz0BAa4EiqqI4q4og5GPYrpCmP+XDfD6E8Zl4/Hutzs8OiG8ecbxoa+NHCNvgg2r9YhL8HgOYlA8fHXb58uQS39UibHzZC5eQwZwsZT2jf42m5A2kBRQAzrOq5Vgl5kgLLJIloJETDqS0FLntBibrukrRdS8rgMtgrD1vpfC0EXN+KFYzLyJpAXWCi/KtmwbAARHJaiao5gdgVwhYaesa/zVSxFk9QLw7UAQ8iaCMBY/kyqoHDyLg6JoLA8l6j51VSXbrlShKG1kTcWliB8VhqQhp7mnijJhSGPCMBOF8RF/TShqwJhA3NjTGNIawnijUZQH4whPPFMex66a9pQA1OU2mmVa030097H3jFOoICw7j6M7OZH9pVQVpzIIeP3sdQ2va19y8j1xXUveaC+HsZic9zvb9DgPFRsYTv3awjrrheG2HsZt2q+rMj5sf7hnLBN+BwJ7D48C7//AQ/Ac+KnXaqAscPygwOxIPH0hxHM2K1FVwMPTUnL9jguxQFYOzBQJ55U3JWRzPh+GeHbEFfbLdiDPVPiFipwzzf8Lr5Xm/pVhbgVQt4BnxmUDnOkqAFUxFH6ToZ65MMzapcIvtBl6/DLvHTB63MX1Ebvw1YJIw3AITeuxWCzhMGJBnSBJx21XETQS59DKCqCXU0FFCTc/lty45QX85VPN8euLxnxZjLyIS6+KZ95uymq4ajmJ9HhGZKva9Cyp1Rz04BR0dAr/1mtSFXQME2Ei3eFxS2o8PrJ/naU0OXltX5PjmTpnh4l24/Guum7cf4ViesKIsa14dCcPQA8eonjwHLit0b7xOSw+8uHe5151vgm+ZwPMDK5rzOcznD487oygKgDn8xJHc8KsIhwfF5iVhOMjh6oQL9zjM8b5QgygORdSZsAcQxcUEea3EDEDtJAp6XwJPLmUdlVBOJkDL5wynl4SLuvubztwbBCVbRCCetzHAmPZdojaAcfUgmUmCmMEDZx4CQvlM+Xg0kGiKdnDhxxtbuFDaGGvrxApI68lifDK89uL1svah14L2ZBD4QpQOYebPxDx5SWXj+sFuG1AtaY55EVoUkEYxaA+ZuYVrcPaiakQ9LXMyw2S8NIQsaE5c1WpIaaV7isB9uC2FmEYBeJShGFyjVQYrhSFQIw62VQYpvsGojDmr2fXiGkRI32sWUJpEBWTFV7rexHHjw2WZ+z16UX463cde8u4I56jS06hrEBVBXIl3MkpqJqBykrFokTgyFqWUlCO6xp+cSnb6lmMn3GimFs6xims86+tE4br+gf2E3pTbbcVhLvAhN+BwIslXFXh02+UeOOywPGjOR48nGFeER4+6ASeeNwL1A2j9Q7LhlF7h7MzwJUUw1WKknBSjhd16VX7TKp7xgIuJEaaMoRXErRqZlivRfIdWgaWNUB1106uxSi1L0CEWRdCCX3NxVm/j1V5fIOKoHpeWKOQ1BoalpOgUCFU73V4ZSAm24t1VKx4DTPaSHYawhkWCs7EW1f1MwmdiZU4MwEYK39C1yCqRPBBK7UtLsDnbwGsy2L4rlroQMitWAKi1y4t6DIhFrcWfGm7XPABIvTKOTAXSzA3S/inbwFvvLpCfDIGomEqHCdgVejMxHWGFsrV4k0S9bN9Wwq+UUG6ZSjP9Pg26PsQHr413uqN+nIF3Mmp/Dt9CBQF/PkZ2sdvyqLrU9/RJuMz3G94D162ODmZ4Yu/8BFK5bqy1BrPJHl8dQN4SLGzty4ITdt59OZHfcHXRbD0PYWuoGFqQuZNzKNfAt8Ib0ooaLIGudTFCqH+QdDpsfD41oaH61jwSs/V8YcYEA+OfMmRR7VNSAXQ43UMIdfxJjws4asOpSvgKkJJOn9zi9YzWt/qWonSh1e3UuFU8CknFokQDHzofQN4huMGQA3X1sJ15RFoXspDq2dJBWiWoFoUM7nE49fqQ3vR57jIdUUmCF2fA7vthL9CAZOUd8KxIqx3W4HmxyJAVDj45QJoFqDlIlatptxQOeDJvrE299b1hGEUP3pOti5uLvRWCsMVojDtaxthuEoUpuPJhda4MOx72yjN7fMtsGjAWgyOB+cqNLSUqhmomqF8+AhUzTpvIlEUgrxcwF9egusl/OJyC2G4WrStFYYtr/W+beMB3FToXUdBGxN+B0K7WGA2n+Fn/ozn8f6a0HiAqMCyARiybMPjxoEZKBtJyp7PCMczYDajuI5fT9DpPkcpgUGXZmAVO9DF4GX5BkAEnW8Yauvq8usS8ihdJ9qmwjNTb54j1jX9dBzEIBCcrv0nnj1ZciKKNVBnwQxW2TzYQMceKnLKJK7bnsFgcCuVOn3uEUymlbBgPYFRYJgTUbTjyzr0kushYk/WcNLcCFfAaWUzgnrdvFbQujyX+Pe4REMn+OTj+clF4DcVhD1RdwihF/aXFUCSLI6yAhUzsZ62aoW7PAc/fWNolc366k3mewg9OY8H+7pTh9bVsb6mxGdvXBPnrk/mT4j0CoXeqrZj7VcSwRaevdgXEWg2h5sfwR0dwx2fgmYzscxenMOfP0X92qsHDeO8TYnvhsODPUuoV1liCYe6dWjrJDWhoI6fCkJZAHON4nCOENaVhXq9wjJt6X6p+KwFvrr1wCN/Bv4K2ymvEmSq8FrpuvXA00tolWuWqJjIj/LqJranEJ/xCZ3HUY+FR+ew3XXVF4Jh3imIpGophfV6O4NqWRCcc6gKh6NKim4t6xaNPvzHfPeQjxxynUGdSA37gicv5Lv7FvBL4S8iWb7p+CHo9DlZluDyDGhrMXq6vtBjX/T67IRgUpgA6IRgEIYpB+VtMl4gXY4CfKa7E2FVzkBHJ6CHL4CKUitiXoIWFyJU1Du4qSDs5YyPiUEAgzx7xWSOt0+rlutlB4XLtI91Yi4VhnE5pr5g6frsF2ZZJQzzcQzn7vHP1hNR7CX0dHk5mhLDnkUEzmYSjnx0BHr0HFDNRBgywPVCPIWLBfz5uVRV741lvc9vFVadvU8Y6f6evzUTzQYw4XcgtGcXeO5tx3ihBU5arShWsYq3kOwtbQtddwgknioX16vjKOiI9dVJ23z9vOhRUy9Z8I6F8EchBGhbFmLUscpC7aTeN/0zTY5jTGCpZY1YxJj8F5LTIa/hOHPy2vfejC22Pr1Ae/YHkp2X7h+2HfHWaflsIgeEhHd1Mco9I7UqSkI560K4qBeQZR10nLm3Lk7yI2v05aJslbBLt0fX6JtoE6AP7Uwa50uFxOhXktgd13DyWg66qYHLS3D9WD9ju95rl+0fC3OZWrh9rSdtVchMft3Y93ZibqzNLt67TQTdWN+r2m9dTGWqEtyGfVA1A83moPkRUFZw8yMJoWKAlwu0F+doz85Qv/bZ0fDe9YJvvZgzD+CzAW5bNGfneOdLBX7hcTEQUZLX1jcI6rv+/2WKyyPo++24awttG6cmoTLlsTQEVF4dyTQ5KxnHs25figH/5Mczw2neLo16CZiqcD281sjffCzIJS9Ny0DLqIkBtFrMpsLlonezUnWpgwCYOxEo41IvYSxalVW6ZqlwHdIdipPnASL48zdFhAFRpHVCr29MHOQL5sbR1DM4FgmTbpfjfEveyxIYzRJYnAlvMImX6egE9NzbJC+/vgSfPwEuzwZ8S9n2WNho561DbxxTxWZiu7FoiS1yC6XPce/iqrD7Ke7LxzWWZ7h5jiGy/Um7ifhscmLMgIaa+vPsXKLIX25+jOLBI9DRkVTPrJfwFxfw50/hz88kfHRkXOvELrlpDlubY6gP+2NFaNblL3bt1lxjD5jwOxDa8ws8nDd4+UWpVOZZvE7sRWgxQshkF9JYRK+YV8sly6LpcV2fhJByLxel7Ma9xc27ddAyK0841oQJLJuEJgRZz7M20bY7nomhsD/GvSDOKrEv9R7qxkAIAqJqKSQ+h2qasS+C1r3uxu5Iw2fkJ06e5LO3NZi1lLRaneC9kFEI2Yg5fn0SyddHGgiwsVDMfb1zYLVyOrArxCtH8gpdI4h0MdkQJkKtVtuqa3B9AfZSzhm64PyqpPRtvXTd+byVsBs7vtJ7mGEbb91aYbdBH6v2jV7jpsMzXaHWUvmHsgRp+XUqS/GmhzCa5QL+yWM0r31G1+HacHwrxrHN+cA4QRruD7hp0T49x3G1xFHZRh4Ys5szMBQleZupP5mJjX1+XasKf/XajYiysfPH2uX3IW1DCBypr4H/VCwHb2YwXsp7jb4hwHvGsm6SCqEZz8eqz0Mj7DbgtkFbL9RDcwp//lj7z1V+EJe+d5zj+rfaX+KNjYhhoRMel0yooFh13APNAlheAmdvSb5kdQQ6OgU99xL44gn4yevdovWDKs/d54giizLeyipXc/Tg9scTqlanRed4oup1FGF5gbrQPquenS6XlBe1G/zych5bs6zSyr4GSzCFZzO3ts1AEPLIuU0tIbxPH2djLuGOT+COT1C+7SVQNQPXS7SP30L79DFweTExrqEHddtQz5zrQkQDMOS4vO8pHt23sugYTPgdCM3jM5yUlyhPOFq0HPmBVwzcbTs0PS+ZixYtjqJhVIQRRREk6/mESVxFE8n8Q/DqxVKWHQiuZDsaDQmBlfuCDx27xB0jpJaTZCpgGN3nA4AQOhn2p8cYgK5p1O1L2kSSCou4++4aYLHOhZwAAPBtvF8ErBZzq4Tc6P4VYo6hhJHEFTkn4o0KcKnHtdQ1Qdk6WkObzhMX3jcXcQ2emPPAfq0lcEzUbSToxvZv4K3rtvfw2u0oqFaFja7va834txjHuvarxN2gL02eZ1eAygouJNGXlQi7atad27axCh7XNfzTJ+ClFj0IfxObjG/FZ9qmj02FnYV83k9wXaN58hQvlmeYnTYIc3r+qxD2mQh9isvpAKB+oP+wl3xzQknyxH6FX6dAD4TcO8iDd8n9SqJuhP+6V9b0CM8cCpvGNIhufVx5Hct7n0qFyCtbE/rbAVTN4WbH4MvHA+PvQRDdJdkcFi3kejyf48J5Mf/SdxsuPAs4CT98cgl+8jnQ0UO4d3wA/tWPoWcwHRGA+bwVlwrK1rCNAjAa6HR/JgCBTmRNL1mUCQf0eZ6o//mkTT72POQzePYyUc7JeCfPHe+rw5DLB9ebEjlrhGB6/8k34LPHaJJ1Y6mawT14hOrl94DmR/BnT9C+8Tn486cr1tHtrjkVtjr43leItFQEAocTgrvAhN+B0Dx+ihN+jKq5lCRiXUcHCBMtae5YJ8TC/jTEZbB0QPSwJaWZPXfE4NOJOQhG6YtVKFEuWJI23XZCMD7xFjInfev1cjGWYsJi2COBKatiHvK5oWdm5Tg2EW95WThO3svKvPK9ka7US65PNEz9iSn57lgT0WW9GxWiYUHdGE7qs6T13bxy3eaEWFsRwriXd25qnFN9byCOdvXSjfd1GJF2UG8dSJLiizKupQQnobmhhDYVWbls30rCe9uIoGsa8MV5LJ3tF8vJv619vHabWhi3WVvJ8OyhPbvAaf0mjuvLjj70GFO3wTrnhhbpGqxR/rC2A4M52R/bURRJ0mf+kJw9oE0cL8J40mMTYpHX5f2sEJFDU8zmoOw17s88i3nee169eqyidXgN97GXOuEKrf5ZxrA5qi/hz16XMM9BPnvfQDp81snmhrG5bJ1H8oDzC188BT14TkJNw1IUE0i9fzKOibmQJgRgOEw04Lp1wmRYhIt6Y6AQDdRrs4cAXHvu1HiHIm9KJOZCcPAZszWD0/NHRWRbo33jNbRvvCYf//Qhyre/AzR/P+qf+gT82ZOVom3dZ8qvve48oBOCU7w5JS4PARN+B0J7foHjp69hvjgHtbpeiYYPUtsIfYWcL247QRbEFICet0mRl/ePCJ6+4M2Dvqx8SAs/bN8/Z3BK+KPy4+f0+uL+vp7nEMMH4DRBIx1DfENyXaLseuFSBFCRHco/BHXeyXBORO6VE3HM3Mo+38r3E5JB2Iv3RHPsOHgSmSV8MuTeJWJ5pWiLwxj/XleJpG0Wgd2k77HQysnxbjK+bQXWDrl0u1zr4N65GGJbgGayCC4DIuBcCSpct2guFUBYKDf5HcqCyQ28LlLMTSOCbqmCrqnh61oXRt7uHmzyGbfp45DeOsvpe3ZRv/4W5m/9FPzZW5nQUsNZGgo4ss2BE8j1wgejMHSFOvec9E8i6KKfMPH8dQVN+uCMFxkdX/mwL/JKIjQTw6kIQD3G6JyKoZ+kz3jdvHxiPp4tMNXXYJmiTMw536qXSSKHyDmtGeD0njs4VMqrXqJo2hq8PNc8Ko6RNWDucvqisVUfyPcpeLbOkJtjVSrFmCGVCJgdg44fgMoj+CevrxV9twWbCIWBENlBAPa8fyvPnRY9k+PZtl0mADeFP3siYq+aoXrv56F+5VPwZ08G19xYbK/BWF8BNyEATfgdCM3jpyg+9sMomxq8uOyTVi+xrfP4dVjvneh5AJMfue9567SvQEpxkswsa8iOx2Pc/VEPjmVjDZZUz8k1MXwfX6b6QyJ8++dwPsaxc9PPG8cT2vlOwPlxm+o6sTTaJu6f9np1w91SXBygGEh37c2vsWtlxl08RXuJkU3z3sLDo3MycToHQF/DPi2CE99re+cKoJAHHSSlqlNPKvsWaFvxwrXdP395GT263GhobtvGh5dDiqNt8uIOEa55XW0N9xPL198EPvYRWdYgrjGk/AGgZ8AL6QfsQdEdqCGOwTgY24Vt6s4LyEMAQ0GHWM4z5Wl9JejfPWnoXTAkamnPnjClrE/S0tcqVIk05K4TnhzKkSKLHkkx8EDGA+DkHnVUyyL40sidRICm9yqmiwA9AU1OxBCrgEPDYrzWvHdWoZeKpuF6tJ3QGhit1wi/jUTdrrnyWTtmL99bOQPNKq0WKaHyvDiHf/ymFHhJkfV51RWtNzXkbpNKsU1u/FjfG1XevmGsC8PsRQPVS/izJ3AnpwPhd8hrT10/xXUKQBN+B0Lz+Cnaz70O//or8kDIDG5aIIROJp6+vmjqY+MvdYc/sikRcpW48cngAA+8OwusLcaxq/Dqt9n9GgcRBuEhLHs4onwfODvuutrswUIfRFsiyECJiGPWKqUTY1HvLIcwWmYRYJzs9x7cLMCN5lDGXMq2E3c9j+btFm3bXH/X9rtdw8I7DUD92huof+pT8J97RR+CVDSFeaDQv/WiiH/r0fhCGhpN4RynxhnSgldO1kkgB3JlPCcWAkvD+VUcMntJVWeGFEtTYyEzwEsws55OWZtOiMY5L/QNRNFGE+KSUqEXHubGBGiyP0bQBK9m2rcLHtFunwxb5sewn7zvjKlpRFKW5x48djKATOAF5GJuSgD22m4g7Mb6SMXUIHJmoi3r76iodE2PQl9LkCtFPjdhAfEl+PJMirwwj38GJPPYmLDaR+ilnyM9Z490iziuiXOvQ/Dtkit/nZWt6fgE5dvfCQCoP/HR8f4PiHW8eZ0Fzkz4HRCLV16Bf/oY/uIsEoy4xtFZ+BBe1PU7rAU96JeSp9v9xNv2YSPJhVcf3uacbdzyk23ziXbzLnunrXuITcKDsp36lvoTTf51xu985E+Nkt9A0e2LHcXnCf3t5A8Z1B8HoGthRWuy9MN6nsvPC9ZtdAIt/lZT0bbidzP4PSpxhvzSLpTWg9vwUCWvrETOzEAbwmhZclhjeC1Hsdb17RNjyoTVcwW2FS5XJdJ2Gcv1nrOfYLtxo4/hVmHx6udQ10C7AERgeYAXgPddVL73CMsHBeEUc2+y7a54hW6nx2ni3DCflSoui+D5L3viklwZRWgnOEPEQKisrNEDRfDoZQIQ6AvGIDLBqh113gsCsxdtI+27/dnfUvzsrj+f99pk3s6Aqb/rMbE2dmysj028c3nbKY+WV+9tuOcI9x6Aq9Q4KIKfg4EwRHPEa8uSRayh9KiX8j5sp+Of4pApITUy7rteJG2XnPphH1MCcL1QvBbB5xzc6UMUDx7BnT6Ev7xA89lX4M+fbnztfXLl94WFet5SnP3YR1C99/OAkyNED0NSZAVA8sCbTvLI5vV0As5/aG760A4YizLZvfFYyMrILkfTfW0yoMk2ewjbHja4sZuI2jQUJ30XHgCYgSI9JfldgGM6YkcGrE2SBwFOzkveh4Xvx47JS0LKoT/frxYHr8Vp9vyh7SMA9rWC7TJZ7jPemzpXzt+dGA4h0g5hsTSxeI/BjKc/8iNwpw/hSl1ntJwBJWlRI/Xql+LB40xIEWQ+IgDctioQE2OS5l9Tq+uq+c5zT9omLoUwJSbDQtwbi8hhH1GAqQczFZEiFMOyPJ13M0ZEhMiG6LGUFehjjnC8ZuA6DeeMobHJPdF7jsAD6CqAjn8/WDHX62cKVcPDmgFhPJ57RkQwA2VigOx9l6FNsj+MNbxy+A71eww59k0D+BocojN8UhwttO99pvWi7rbl3x967dqVfcc+1wj70b52F3pTY9m2WNpkH2UFd3QMOjqGOz6Fmx+B2cOfP0Xz1hvwP/XxQZ+rI6I2v/6mfd5kpWsTfgfE6//2U8C//dTadts83ByidOu+mFrLZP9+r+6z5aVzt8F13POruqe3Ebcl1O86RcV1hG1c9ee5ju/NhN6zhc/9yMcBDOdncjSYE8M8HNs6JwWVKimcRKVUxKVS83R1TVMqC7hSwj3ldS7HiwKuzEQbUU9YwLPm47Lm8HpZI1dz1mI1Zu+lEIr3A8/kcDvjE+cSAbqHV1PeqJBU4ZjkLad5zCJAkwiP/o3u7kWOgbcueE/QGQgBoE29e9wZN9PQ0t52CI/kgQgaDGHVHLGpkFnRfpM8/1XjWFUkrRvPZmJok/FtLN5G+ryVxdJ26Yt0Afe5LOIe16ydHQGONHz3Av7yEss3PwnO1u7baHwrxrHJuSlWPQ9cRf79Ouwt/IjofQC+FcDLkFngm5n5jxPRiwD+CoDPA/CTAH4DM79BMuP9cQBfCeAcwG9h5n+57zhuA5ZPh4sfA9s9BO4jWHYFXeE1r1Lg7CPQdrnP+1xveB/2KeC97bVv3nhwaNw1wfAsit9VeJYWbDeO7BA4Mp+T0vk456OB2Bk5Jz2ezrW5eMz7IPXCuaqU17KMXrkgMqOIrEoRmaUcQ6FCNObbhV45hqaLtzHkFLfRUxlyjBEKqYCB1oM0LHRKBI95HdeJx9hHHgqaHx/h6rXcMVFB9CDYIq1lrxC8deduIwS3FD+jwmpdhM3W1xjuP8RSRuvOWZseNPrZIevSzuegUtaoDWvVUjWTkGxHEo1UL6QK9nKB9uwp/MUFeLlY4R3c/TdyVwXeFA7h8WsA/B5m/pdE9BDA9xHRdwH4LQD+ATN/ExF9A4BvAPD7APwqAB/Sfz8fwJ/W1zuP5dl42d+pL/KmHsglJ+Fq0ZHy4QTOIe5XGNcmo9pWEK8WuZvdh9vqBTXcHO6jSLotAvSaYBypaC6b0f3pvJfz05TAmzyeish1XsRs/1j7dW1XiUnxSJZdeKcKSFcWQDHTENckBLTUR7JCClgRORFASZ6zeB1bzZnu/lHD6ols9JW7XGiMiMd4AxOhPJFGMcVtK/nqJqNariDne6Uw2DQdYluv2Jpjq8Z1ZZ6sTcIuQ36sC8sZlbHATn+tWtmOPTJ3a9U2tby/OIdfLOL2eH7f+vt/15c2ulUeP2b+NIBP6/snRPRhAO8B8FUAvkKb/UUA/whCal8F4FtZ/lK+h4ieJ6J3aT93Gs2lPNz7ZrsvyJXX/UCu6+tcgxC4SrGxlwduC/G7+WfQ+3rNnsgcU9+rH3/m2u9az1DIqsGwC4wjO9Tn4wawPgeu5qd1QjCd2/cRjdJ+2nuY799GZK7z6PXGSSQej6KAq4rojYSKSvFWalhr1XkkOfFcpn1yyHfk4Jns1qfteSPTPPAQ3kqIx+Katt6PCsZNefCmI1L2z63eX3Qcsq+NPk8qnpL80q5qdmfA6CrraiEjF9audTGEmkIRnm4Q8E0j4dKtrFEb3+tatb6uAV2/dlcvXdfuar1121xvl2tv23ZfHDTHj4g+D8DPAfC9AF5OiOoVSJgLIIT3ieS0T+q+HqkR0dcB+DoAeOmOpCLWT3bzbm1z1vWLRAFVu113lztyFZ9x8BBRT//h5kTt16zfugtxTQnPdsW1NhaFG643exjCXT8B3kdP43UYTQz3D886R7YX4/NFi/XzfuCgnFOG57WDv8+pOWiVaMzP21U0rgxr3Vg0LibbT3nypvp2BXXhrckDP5UayqoVS0O+pFTXLEGliwVqoiDQqqJUFH3xlwvBtJpzKCCmoa7MXWgswpL1sd1YjqCGX4Ycw6woTHd9vc5YMbTQPh1i4h2VVps9iKdV1/PPHbsLaz3GNqT/kQov6D5CXPaZnDZNKrhCQnbjfqJulei4JFLI50y3C/2MI58pEfFxmaO28yoze1maTIvqhKJJvtY2vlundhWuWyAHXEURldu4bNI2OBhbENEDAH8dwO9m5sfpJMDMTERbfQpm/mYA3wwAH6KjOxEX1Dy+ApdKBqruhoflpgRqwK5CdZ9xb3LNrv/tJfGhxMZVCLGrttpeR3hywEb3Z0NxvQlu2uK9Ke6jgL9OGEduxpHbctyqOXvdnDx17qrz8nN29UzKuVcf1pqfOxSIm3s1N73WYF9cp9EhVkolSI5kqFiqazumx0FOxpKvB5v0Sfo+Ch0E8USAS8RVGPfUElpblTjv0PvDy6u19/Zz8la2eUS0slbU7oSuirLBEklyrAv5TQR0OBYKFm2YL3nT1Z1vojL1TVbilj6uP///IMKPiCoIoX0bM/8N3f2ZEJ5CRO8C8Kru/xSA9yWnv1f33XlsG+K5CXKS4RWeqtuEKc/VtQnXie9inbBr6+nvcK2wG7lmfr2p/jcSqjt+phztiol5Z3G5os9DCAb240L5kKIpPIQdMqduk8++L3lcl3Dc9L6YQBzCOFKwCUe6DaIIUgSuGeWWNXPm5HzcTP+G+WCeSYCK/mfdxTM5lU+/qWgcE36T5+wgADcRwGN9rWu/7tgmx7cZx33G1a4/d/jn4kP2edi+Dncfb7XHTyuQfQuADzPzH0kOfSeArwHwTfr6N5P9X09E3w5JWH/rPuQuXBWuQkxeJdaJkJsWrh57TOr6XWwltDZsyysEZ45cJO7zGxkYFg4genLxeJVC6pBLo3C7+re5i9dx6rMfUhyFe3DdnkMTeJvBOHI77DqfbSMYV4pFoCcYtzbeTYx/lWDcRiwCfcG4fxjrMDc9L4I2ZRBcJfymCqlNi8fVwrU/5nFsnle4eSG2q5hXbzrK47YX17qJ8V215+023fNDePz+XQD/MYB/TUTfr/v+KwiZfQcRfS2AjwH4DXrsb0HKVH8EUqr6tx5gDLcC2zy8Hxq7hjYeGrdNqF6Fx3Qb8Visb7ISt+V73QZBPF5FHlwQUtuIjn1JdhfBd0hRZJVe7zyMIxW7cOSmc+A23BN4YRM+WCsSA7LrbyIY9xGL4fxdxCJwqFDU8fvnCtpYNOZ9rJqT/FoP3+rvqPuMm+f4b4ObEHS33UN5W5Yy2ge3SbQdwpB+iKqe/xTIVwSN+CUj7RnA79j3uoY+blJ0rsJNC5dDesMCthGPxXG18/WvGjdVoOSmRdG2Qu6mHwSuU5xZ0ZrDwzhyP2zLbZtwzi68cNAQ1IAdxKL0OS0Yp8Rifl+CMBsPQdV9ynVhDsoLnU15FdNUj2mPpPRdzPr3h/30/Vo/n/bHu0s/efXrXYTVVQjAqc80lQZhuB+4iuWc7kYpMMOdxW0VpKsQCPIQ3suTtx31tu/jmmw3gV3E0L6i5pCW1ZsO9TEY7iuuinOCCNvamNmsfzDvcg437POie5sLy3VXO0RBm73OyebhBy+fAljvVdlmzlzLsy1vzCG75JdvsfZ81uc0x7RX4HW6Dh6yqJL9cBX3z4SfwZBh1weHMRKcPZj1+95y8jahuB8OPWmaYDMYnm3cFg8kIOJq2/SFyVSFLfIa14WoupI2Pqecb/4YehVhg7c1VPI2cM11ibbb8FmfJZjwMxgOhLEHgqPnjkGzuVRm9q2UYPahBPM02e9CcDcRh34XhKlZHLfHXfheDYa7gH0Kd63DVeU1rs1jX1PorK15+Fkmxjp/7hhufqRrxHn4ps3W7uuwe8n+u59ndltxW4WzYRom/AyGK8TJu96O2Qc+H/7srFvslkiWqU3XDZrgszHCCuv5CAkGgkT3HpysFRT2Ix7zbUKoa9t3/UqbsJ5QMuicoMPiu6FJ1k/6WeMivUgriubj639uDPrm5LSRe5L1c5O4bnG+6/XcCma4ioeo25Q8bzDcFK7CmxiwTiSmIm5TL+JKgbhhFexHP+uLQeRE+OlafORcWMq9w8jw07korGsX532v69ql/NZbCJ6V6uS9b3zoqNeGe9zaPx76TRegz/uN5/TOTcc8wWmRz+SAGIuTG3FLOM2wHreN30z4GQxXiNPP/2lo3/oc6OwJgGQCyCaC/GE6nyji8WSxWVJiZGbEhWsJIOhit2l72QAIcKnoZK/7qSs/QYT+orYEUoJnLrRdcjxsh0VydT97n1xf2yXb3dCysRIp4Wl/6WfIxtX12e9PTg9tw/W2s6aPim59kEgfLhAW4k1J3Iv4jZ7d5KGEw8NJWHQ3HPdhW453lm8vv4feey/ttxj7Zp95E4Iaf9jbhdy6pSi2PtVgeOZxSG/iRmss7lAle5U4dPMZ5m97Hs3HPxLns004cpQfI29Rx4nKkwM+jPyhvEEO7NI+oOe6yDFClX2+C1wXzkm5mAY8mXMyyZyeHlvBaeHagbJ34bSxe9nb3xOmCc8lhtRem0Skhu3+8eQ63gvttT47p4t+GvQd3nuvQjodD3fX0zahv3yx+1QkX2c0S7jPty2U1YSfwXCFOP3CLwDXS3Db6MN9KxNd2ybbDG6zV92POEmmbXVfQC4ac0vgGlGpO9e3wQpBMWjfCTeeyHRfKRTSc5Jm+TqDKwksjm2760cxMtJnJHokJOyoE9PhwUM/PxEBLjlGBFCht4eihbt7iAgPGp13uGujoyJS77HrEf/gYSiIQ/bgtu2s0t7L+3DMe3AjYVbM8pq28U0T943fr/UPf+tEoYWWGgxXi32K3uxV8CwrbpOKx+rlF3DygfcAH3gv0NQyHzW18IlP5iKdw7q5KfBjxqP5XBTE5ApOHMxNa7hweI3EYyctBpw3Of9FD+UGbaeuH/av8gBuyoFRwAKdaNX/JcbcvpBOBWknXPM2nTG27AvXtP9g8A1G5NB/FE6JKE/4tsevUXxDeBIYcOX0PciMuOzVc9x2BtdggGU1/PYMuD6m8nT8q7/LxGDL3G1vazA9RMSNCT+D4YrgjubA294BujwDnrwhD/Ds9ZXjJEVEnRAAIJNbJ5xkPwOcWQ3HwkgikvCT3GqW7ud+GyHU0FcmPBkiDIKlLbW8ed+dl7QBWMRaGs4SsA2B5dbg2Hh8f29yHBNEvbabC+WBZ3YwVv2caTseCtbJa2fX4Ik2Y2MZ9BdEo3MdSToHcg5ELh5zZQEuC8nVCO011IpcIeRZFHIOsvsXjBW+FYOEb8FNo0TXyrG2FeJsW3DdyG8sPLApQmip5eIYDLcP60TjriGnxekD0EvvAb/1WaCU+YpCyKcXrozGtjC3RXpMoj5Cm+hFGuPGxEsUBCRUPOZchsTAmu5P0ivYtx0HppEd6IQoeiGn6U1YwSObirQNDaqjc+rOnFhM8xFNfKb+Y8no55s0tq4QRcKNazhw7Lw1HCPa06nYpB53yiCFT6NR1pF49KgAo1BR6jq+TQy1aR8IPDy4vj5L+TaKx2io9R7tk7dWjn8TmPAzGK4I5YMTNI/eATxsQC+8U0ReWyuJqAewDX/cbUcuYRsMart2naBKchGAXohDbz/QEWbUiwQ47qxj3iVWMkj4aDxHrW6hn7TP8MrdvnjVhJSJIksn1sSJiTcnvx6RioWNW/U+qfWXfZNMjG3cj7ZBtKZNkeyUwJsgwRsTkxs+CEz32YlubrJFqsJRDcOZHL8MbLhP81UpiEMViiIiC9B8nhwrgcKBijLxjnZ9c9uCl0ssP/ETo5/XYDDcTmziTRwTh+Xzj9A89xLw4HkRfMw6d7MsGsgMapqOE1N+ZAZFHm3Ug5LN4QOODNzHAHH3UJ4aW5W/IqMFLks9SaF99DLJPg77QihoLlBjSGM2p6cCNeO+Lr0gEa2pV2rQPjW8IikklwhSjTziRvte4xnt8cFOHtH0o67wtm4SnTRyjVXG4uG52xphw2+onWybn+l3EKSD57YoHEUkih518pvfEyb8DIYrgjuaY/HwJdSLSxDOJVSQ5I+24AYggmMNnWAvVqRAOtzG/SEMMNJmRmoUrZkywVMMQ+hC+7rJnUE+xMAnRKrx8+Q9ABVWogg0rH6MqFIROhxX2N0j3V4fEwQR9vcEKKmVjYHSAWWBGBbpHMDBqqZWOIT93PUbvVDqdWrauC2eqlYEeRCW3OpwhkIxF4+bhgutIsVAiNuS4aDAwRbnbtTnGvLVIDCxerf1sK8RUh7cByKgKACIB9JgMNwvjInD6tEjXD54CYuLcxTNAswM5xrRZRDuc1Bu9B5OxVfkR0C3WQNjxoUfRQ5U717TRr4MBlWKETGJgVX3Bw9fPAf5tRI+SLiwM4aOCNDezdH9Cd8FYUkhf1FDHinwXBSTafNOdKoWRSpmQx9y25y2SaKH0nBENaQy+3i/uK2799HYqkbWfL3KZ0BMbi8iN2sb23MwdCTPfwcoFGPCz2C4Irj5DK+2L+OsYdS+hSOgmjMcAYWGRRQuPDyLGCOI0CrQinGSW53XvbaRfQDgSF910gvi0XELEUqSk+bgZVt8M9GSSeFcgu7TY9RZN6N9M06sndhkZmkXyVOJMoTCJEI0JdLB/tSiGa4VP1NGmGp1o2B9C+3aNjke+vKdZzWMvXCgwoGoBKDhFsBQPDrXsXYgubbRfy24qUUwqmhEXfceCuIkHwQf97cj0hj/bYgy+eyjnr4JYrxKT+TmHsg1ZDevRo8ZDIb7heL0FK8078Qbl4yy8CACZjN5LZ0YIwvyqlvayIFODZIOjQariGgjFWGBrwjy6vS10FcioAjcp6KxE5U+GmWpx4XcE1iU8G4kCw3TSzmPE66jmEOmYjPhz5AzRpwJzyhiM04MyMXkWLuRPhhIwlzD8VZvDkBUAb7s5ZmLuA7bkFeG8mYYT+AzzSuPuZm1CMomhPuH3PEWaBqkzwDreGxgJAYGPNqdM7F/TYRPbxwBe0T6rBOzkzmaG3LnNjDhZzBcEcoHp7hYlDi7BJZtidYDRIzWAwWxRmB6eAbKQgRh6TrSI6K4XRCjcB7kCAUpUVEQcB25CUd5dcgxAO6JSnXBqYD0IKdCSicdx+Lpo+ABjATquuNJe9IQUUcliILAFITxQXvQRSw0WiYJpYnVy0SYppW9wpjjZ2hqsG9BzUJfRXBFIdhmgtC33bFMPAavHqtFLRJn1od8Ueo9dCoW53M4dyL7Y+iitmHWAgUNuF4CbfeKukZOcJSJQ8oIaZD/kAlEGiOXLT2O8dpJe0LRv15OXHmyvOsf74+r33aKBMmZt89geFZQPvcAF4sSTy8Bcoy2BZwTjnSBI4nhPVAVjErFYVV4ECRIgAioSERa4ZL9kHMBwCknNvrqoiFV52sADq1Gt4g4k3M63nSRi4QbOy70kcviPoRovc6gSkTK1dQzxvZeiTOja8KTmacxCsQYBtoJxd4yEdFzlAjOnDc3NKxKvw16uXqBayJvJoZWcgBcF9FRVXCzeWdgVeNrl3rCqkPVoBq8jpH360lDK02IspxP4/EthOImIjGMo4eEXyk7J+fXqT4lEibhyANQpAk/g+GKQEdzLC5bvPIa8MpjEU4nRw6lA47mQOGAeVWgcDLZtDL3w7fAkmSbIKRHxHDoiBDohFXwHjongrBUYVjodkFBPCKKyJB7XFAgIunLk4/kF71mgFouIdsMkHokQzgkEfc8jwAiYU1tD9sDwVobhWW8PgByKF0JFDO46hjknPThtGiO90C7BLctqFkqUSwHonBAahOicbDNrGJRPIncorMAtk3XJohAzXmj6gR88gAoKhDpk4pvJOR0uQDqJbhZgpaLLswIyUQ/4TWkTBhK28xrGEglGAmURIaiMiOXRLRzqKiWERKtE3OpMHT98YTy1t1yDib4DIZnDcXpMc7OGvzoxwDWQi4nx4SiAI5mDgUBR7MuAKNlEQYtB15UuxxkTT1WkRi4pnQdN8q2GB8L5/W9ikXqtEdJDHIEp2LSKb+G2S2IyDYxSgIhAiYsO5AKMgZRZjAdcGF3nILXMImuSdtGw6oX4RQNrqqjgnB0QOfBDO81DDSkmAQxi1a9ca0KKxVYIZ+sx5EZbw7EY+SefL8XQ2vbAi06sQoMPXgMIBQWi4ZWTe8I+6OhFeC2BjdqXNVoHKrrLkoHQ1G2jlflnKFxVc6Z2L+HF3HM+Nof7zBHdleY8DMYrgjFvMJy0cAvPah2mJUANQXOa8b5uUPdyMNx0wKVJr6XJcE5YF6SCMOZCLZZBVQloyARjFBhJykFYiGlFiIew7YSR+GmhWJBfSJypBZTF7yKKhCdB4HgNCE+kGIRLJqxopcQoOwN4rATjdHCyhxDVcfIcIoYGyUixy3gAedFjBW+ViIrgCoIw0IEjJeqkqiXkoNWL3rWTg4Cr1xDaL4FyhGhBwBtX1DFQgN+CW6XUURySmxFJeJwNgedPACKEuQKKXLSLEDLhYz18kLGOxUGk14zF2kq9IaCUO3JcdhBgPUFWa8t9YmI87WJMgtqEHPiPdRzpryEE/kPBoPhnsI5FMdHaOoGzUWD+bxEWRB87bC4AM5AWDYAg1C3wGzmMNMo8FnpUDhgNhM+nEndKJSF8GVZchexzwBUEC5beYVGmGzKk0DSjjrxGDiycBKx4yjhTQCu0HSLkI4X51CvulAMrW0iHNOIHE7CMEO46jqD6mA7eBHRRfSIHu7CSAsGyJUgkurOEsXZVVTt8uCXPaMqMG04nUzHSIVh7jUci7rxHrIubtIuF5nOSVRSUQKzOag4EXIrSsRq1E0twrZeijisl0CdGIYRLplyeMa1ioHRNfPG5YZXKhKO3dT4GmyhQRgecC1AE34GwxXBzWdo6ho/+clL/PhPyR/t8WmFoxnw8LTCrAIenhQ4ncsku6gZvnY4XwKP9VE5CMKqBMpC3oeKwFVJkjdYBvJjFK7brgqdUCisyiBE10CXVqJO+E2RXnhOD1bPKBSTEBoAcHDd+0h+Red5hHocNbLDUedl7MSij0Ix5Dx0BUTktXS1jIO1SI4KwZZnui3HnRZpId/C+RZwBYqiBM2OQCfPgYjAzVJCMhfnKgRVzKVhLUgFYNPlTbhM6Lkpb2FfgMX9WkSHmhbgS2CBSG7sPVDNQUUJevAc8NxLgCPw4hJYXgDnT0V4RtGkXxIxmPuCLhJWLghjhdUg+EL7rq9I2ImAAxJiiqEq4RrhXvTbk0Mi7LLy1WF/CGeZynMwGAz3CuQc3NEc50+X+KEPP4GrZA4/OqkwrwgPH5SYV8CDkwKnc0JREpgIyxq4qB0ulkBRdAZTQI2iyXapIZ9VpYbUSqbCqlBDaqgTRl1oqXgUgdazrtIg+wP3BSGYbgcuGxOJQMeTkTdRJNE4FKN1ChIBGVYTCEZY6RMIXkQG4JO8vLCGXORPdJyZCr84Lt/nUaccV3gJ4yQt/NYLZyUHV1QoypnM8eoi5VY9a/VCPG0qCHOPHxd9Q2+PT/PomikD60Q+I3RJISk80z8WeYtIjK2uAM1PQKcPQeVMElBU1KJeAstL+de2k8bWSZ7NhWLgfe8HqRA9rk2QL/beiUsTfgbDQbHNOkSbwh3PsDxf4IXZJfhsidfeaDA/mQMA5sdCcrMjMWHOj0oczQiPHhQ4OSI8PC5QN8DTp8CTc6CsHGaVsFpOdinJyXF9VYVYlbJvHgRipcRXCNnVLXBZyz+KQlA/QyYMgxDMBSOBI+mtI8GhaAxeRUShWBDDOYIrVbMwo209ls1Cr6tE5VQAIhDXUBiGfY1XL2EgOwbc7ATu6AFABL+8AC8vBh6/9HUr7yCQWDCVwMoRostIQyyjHmgu5V84Xlag2THo4QsgKsAXT8Bnb0lYjl6LMmJc6R3EiOUy8RCOWS17ba8hXNRgMNxTEMGVBai+wLtPn+InXgEeP20xOw4C8AgAUM3kMXU2L3F6WmI+Izx6UOJkDswKJ0LwKfD4HCiUuMpSX0MkjXJmyp2B41K+jFE26kUsC31Vg6X3IgiXDVC3YlAtHEdjbMdxoc+c+/r7KeNKl/DoNG+y5jWqYNV6AEVYKi6ErSJN2/DwXgqr+STaJvJo0efRIPiiITV4Bn3d1QFQDnMgUHkEVx6LsZKgeXgSsUKt8lPOp2ty83vbUwIx5dc14rArAFfLv2XiRSQnyw1VM9DRC6BqLt9AvQAWF/DnT3rXiKw1wbeDMNJk36a5+915GUcfACb8DFvhKgTSfYErKdt2ALc4O6vx8IRxcdHiYqnCRFWaU/YhIiwXwOVC/rirOWNWAS89X+D9LxE+8ZqH2tFQcYzyz0YQvDiyxQXH/XUD6KUTogNKRygL4HjOeHQMFI7w+tNu8nGu32cgLtZLd/sJBYJlTV697xMXZzkLhXbmidXKGoQgIfc0EhhV6XB6dISLRRMoLYoNiuRYxPZxfyBlvRvR+cQNfFOrtZNQlCXcw7fBnz+WnIcRxG84RIeEz+ay4wGBwAqdaoMAjB5AdJ4ynw00XCNUfm1qCVE5exNMBJqfwr39veDFGfit14R0whNIDLfUMJdg/dVrcHZNchm5ONcRzqDPEA46fm5+TXiO4TbxsyoY430bDIb7DdIYSPYeH/mJp3jf+x/h4nyBtpYJsF7U2k69K45wdk44Owcen8lcM5sVmFfAC88VeN9LhDeeeDy56K4RPDOsQjB9Tvcua1Mwmhao2773MOVLEYSEWQmczkUYeg88vQQa3/UZp0ztu80Mpa3uj6KOO66kyKnKo5nwC9zWTOxPRWYIMy0KB6fisHKEglpcLkXA6clyD3Q+LiIBh3vUhUOykp2Lc3cNtF7ahJx65+CogDt5TmoTqFE1DgzouDHZF4vIKF/EdIws/y16v1KRFPPZ9VgbCVReAq8GLopG0DCeBlg0wKU+XXgGFyVofgz3tneBihJ8LsZWDsbWCb6Nj2axbx5ybhhPEIIInznjSO0z1js4AEz43SBMRN0e5KLtkKgKQlU6tC3BxZi69QjOICmh3EXrTbcPD+39hnH32DlQy+WlREk8fyrJ9IvOiSSvYWIG984PtaoKLTwjbQJCcEqfXSgKwcg2vW1PDBfIOLQhYNkwCnhUZYGmbnrjiuQd4vnjNiX9hwlUCYGo10dbL4CmRnX8AO3TN0buVnIfsnNpcJ/CRw4k005sE7pvpp9rEAkMmWjSxHg+fwI+fyIewEcvgt98bXTMY4h5D+sEYPpZM5LrGmwgAMO++P1kfUz1bXhmEfhxk8XBDXcU+tUeHzk45+K8vSk8My6WwPyScTwnzCvC4zNG5jRJvCjKMZ5RKE9G3oq6oR/Ol+oJ30r7yxp4cin7nz8hvP0R45U3OqE3JN2wX16iANT9MQrQdafkrBDahKmyjZfIubkvkhyTFMWJbRhVwTg5qrBc6LJRGa+HKt6UlZDscvm796yh/eE+xam8reHbGsQebnaM4vQI7flbA2Mp0N171stFAeiK/vHcwJp+OfHCeiwaUDMBmBtao0jzg3bUNkAQe8HY+tJ7wU/eAJ8/7iJqcv7iIQcOja7hh5fxZ24MXce/O8CE3zOMqxQ79wFUbS7SRlHKYqtUFHjljRpLLnF00g/xDGEsx0cFjmaEhw9LHM8JJ0cOjQfOF4RPfg6oZtSFr4R8hsn8Bui2kkpiuXTUhbDMK2BecQxjWdTA43NGkziOgoZcF/JJSb5gd6yfJ9iFquh26pVLjyfvA4LH72jmcLFs4sQ/6CPmnw0fFqcsZpSEb7j5sSR9T2CwhtINIIonJGEvm1bFnAi5vCmMFpMxGBIc0kBqIvL2QCIQGS0c3vmuh/jIJ2u0VOLoKHCkvFZzIbRqVmI2LyT/77TA8ZxweuLgHFA3hDefMpYtoawoSYPop0f08uOLPm92nr0hbxIkNSKEgpYFcFRB8+cZn30MgDqe7CJW5LUrnta/Bw799mnbHHldrOHxbX7bQRw7MLrc8GHIyooeohEvCJhg/cwMmCD45QLu9KGImvBckAw3evg4E1LRA7iJgXVCEA0E04ShdR0SY6t7+f3g88fJRwxf+LgATDE0umbPOoETMSH03J7PpTDhd6O4S8JrbxF0B7Hv9yMLwZZ487yALwqcPgIePprhaEY4PakwnwEPH5RwJBPfsma07PB0ATxedMQ1n4u4y3P6UsJKK4HG4i7Jq6MuRyFUAW09cFlrZbNEyAWCAzoyyRPbc0EYlptI2+Rkl4ZthnMI3ZqFsSiMQ7f0hJOwT2KH1ntcXi51PCG/IOQkaJhoWNw+vIbiLkCchGPCum8BcqCygqvmcPDwC83zS9r3cgVyi16eRzB2DjCsXhaQlrTOMegjWKL1Czs+hXvwAnh5CX7z1fE+cozkHtwkTPAZprBu/vXN9r+dq4yyMVG5JVjWO2Uq8bHPANXxCapj4PTBDLOKcHpayetJiVkFzCQpHcsGaD3hcsk4e8vJOriluMqO54EbVxtHi0Ly/kJxNEdAVQnvFEWX4xd4Ewz4hDebFnirFoelIw6rDgx4MW5n+e9TuX7d2n/D3L6cT3OjZy9nHl3uXxifFI8hFE4Kqy2WNYhbOIxzM5AYUpOKof2F6zuDKo1wChUlXFFIEZWLJyD4UePp4Nx86YU8723MALupUXYf7qtmoIcvgi/Pd7v2LYEJvxtE+ej+3f67JGansO/DQbgH5Qnj5LkT/Dv/zjHe/UE1JzrJtwMJgXkQWhYv3dGRkNELJAVYXCAfF4qxsMbry74yEWHy/Ozjmn8yb3KohKzLK0gVMwKjctioGllOOgMhqOLNab9BuBEQcwxKx2INTfaFPlnXOwprH3XLPXgRBU2YpD0KALOQlL6qKhkgVckgIs9pvh55DyoKOEdCSFTJdZaX4MsnUqoaCaGNrf+XH5sq5pLvX1mNbOJYLtIKLe4yOwKVFfz5E7SvfUoqkYVrTFYhy4m1f62xxWzHFrLttZ1Yq2hsnaL8+gPBZyGehgzF8WovdszZ3UEABnB9wN9dxn37jOsmsEq4XoVgpgLgusbzb3uIf+/fO41hceQc6hZxGQfWZR2aklCVwBySe/4AnTgrE550JB454UrubXeRLMI7UsVTvF8eYfpU3oSmWnDHdU6LpAGJEEt4NI9u2cT4CXQ+KCKOnEq6zmDYBlGsPop0aSXo4vDJNeVjhCqfDOhSSp4ZvmYQWszQFUdLi7fI9rhBtfB15L6wrzOocsKvFYggy0AszsBPXwdYP9dYcZd8Afmk8md/ewXfrloSAhgpcLYB7zIBsyNZcunoBNw04Kdvgi+eDq+fbK/kwJz7VnCwdDm+fx/cP+Vxh1A97BPbbSWK+yDmNgUVu39Wl59LjGpeoXFA7cQbdzIHTlxXVnqm6w1VMTzTR7KJ8xRLX6RE5VTYhbh9n4ixgpRcij7ZEEEJAvFfEUmGlGQyiyVJ7l5oDySEBUSxJhDRIUP1kXhkkSJdroFbOZ4ltMfbpRl9Y+v4dWWok3X80BFVj4ycQ8Gs6/gRXDGHFCtpZdH0ZglenMPXCz1XQkfzdYZGF3pfV7VzqrLYgISS4znhgIFyBqoqoJrDlVKC2i8vwYsL8Buf0QV2V5DNxOK0kwvLjlUUm6omNrJwfO/6+f6RBXHza0weNzyzKB9pldgJQRL4slghStZ64crDc3AQk1fBm1f5jHDdNQfYezQXl6iOSrSFhLhJ1WnCkesbP4mksmZV9r1bIERxEzQOsxo/WQMZdV/jgSJwpvIaoCkJ1On2MdFG6CJUAp+Gf+Ix486omYR8pueCAFlAPXj+kiWN0mtyf826IEYRwzOVV5PlG9JZtOPokGrRcXb4/B1/9vnUZaKuFx0DEYIE4VZHBVAUKESlAm0D9rqsw+VTICzrEAVfJuJGFoMfRM6sM6ymYm9foeecePTcTNcCngG+BS8v4S/OgLc+N23IRehywuCa8toEf05V9Zzk4T1gwu8GUR4NLZrP0oPPXangRyE+ZNvzwDiaA+98G/Di88EbJ68uEpOPydUEEVolAa6Q9X3KmFvnRZSpYAuEE0gmkov2IQMIvyUGUsJQAqFkrTYhG1nvhyHeMaEmLesfg+u7PnvesSQEJP38yNrIdib4JhaeTdt24SQs6z+xl1eC5lEKCxM7sPegRhdqb5bgppHPGUhuE4EHjJPOpp68nHQGZagJKEpwWUgZ6bICFSXgCvkOmgV4cSnLNSwv5TprlmroedWmPHrx+BYks07oZddc6d1bI/QGfRqeWRRznXfn/f3chnmujzFRxOVw36pz9hKRASomDykiA67SCLvNeA81Dr68wINjwue/JxFrpMZP5anIlboeHRFQoFs8XZYw0PXwVGg5zZ8aGjJ12wkXEyhGqiAxagJdWGb3/5xPlUfFV9g7llawZjBI12ilsFZtbN0XZ+lyAWN8iA32x+2MV8N4gKHQI5a0hwIecE4+u3Mo4OQGo5RnDd9IZWlfA20NXuj6d0FdIzGkThg9U77dSeD19ic8t07okYZLUSkVOotCeDcUsNF1/Hh5CT5/C1guupu5bpkkhMPThtZtPXqbGlx3gQm/G8TstBrs8+3+X6rhMBh48LZE4Tzm1QKlA5qm1bV3OLMIhlw1Hz174OA1SyZTCTyR9+z7nqJEFEnbKcE13B6SBcQyyUqKuXdOTZpCwJQUTBEfoNg0fWgYQz5jH2msZ7woJeGfhF65r4QIRXi1IuDaWj5/28gkHBeN7UiHAFmE1eeiS+9Dvsj6QMz9/9t7l1hZkvQ87PsjMqvOuefe26+ZaQ6HreFQGi1oGJZpguJClhe2qBFhYyxAi4EWpiUBAwMibC8MmwQ3Wko2LFiGCQNjmYBsyB4bsA3NQgZFGga8okhJoCgOpRF7HpzuZvdMT/d9nkdVZsbvxf9HZGRUZlVmPU7VvSc+4JyszIyMjIrKjD+++F89wiaUWSNkrC5R2wKAESFjDGALdewmwNUSElpzHfH1c6BajCJ4bdccQMis0c6N0ej1XdcxH91A9HIC9wwPLx9TmchN/+JA/GyFawZIo8cYc9FA+Cb6HO6TRA7dYxsMmbcew7KnfvocF7MlXr9gWON9vqV9q+4GDkQiJ70mT+Qlt3IoyCkvO2NCFS1sNow0CEkq6zYRqc4C5SbSFYKTcCT+WvlJKjv99/TnO9dQfJ7aItGtJQJ4dA+ibt1hMZhEfvvmOW4XNhuVr86JjOJIhqq7Q5+FzGjtXSxvpxA7YFXWMdS50oqDpjFC5IwFGwuytn0EXAPUNVAv4aoF+FKieAdrnXTRkXkr2Su7q3J2tCZvrAvFDjga8SOiLwD4W5Cx928z818/VluOhdn92eC5fWr+MpncD6YSQVsA94pL2KYG01JWB1XrVFA7KBKpLX0wC2lt61tCxPpHAJSUKZFqhYsnXjFJi+oIA8rqCmAwy6R0YG3NN0WgtGRUTruOUPUroQBakuSFdDK4U3Qt4vMRKCVrI1YRgUQordj+bzDLjAd1Hy3TGABK3oKnvJVjcURN51TAVELuqiXczVUrTJtVTeFGzdnYlT/nBoVLe+kGQRX2V7WH2/rpxeU2Er2s8QOQ5SPQysehiU9K4ryc6yWACVLyOCRvXcMbyaPHWJ9DrngyiQz36CGTk4PK7FEjuSuaxQ3Oi0twcQNysjjqt8bLCa/FYxcRJeiWI+1YK/tIVIahVOpT5+tFuBYrxwP8uJfI01C+My4yIp6l1/bI2+SerRxN5HSnmIv2ud3E92BOLGpi2RuRYPWJi/3tAKxau/RZxexijpnWzU40igyVoypzybRy1liE4AH+cyBWDbhpWvla1WiqK2lLU69P7O57aILlTHvNAImbYEEzVNfQfCCc75knTcVRiB+JbvWXAfwZAO8C+C0i+hoz/94x2nMsvPlv/iRofiZCyDl5gMFgp5NBrz4Pk2M9F6nVO6ta4qks/lSuvaYzWHRWwXwVHO7bmbhzXK49tvJwc1IegKujwSs6x3FbVu7Rc3wkTtFE7Oy1C7z++G35XYJ9uxIo10g/uqb7O3MT/WY6QMdbQAfYtgz5c/6apitsAlZ+t54+G+r3Tf27bjDa9Fuuq3uozZvMOow3UQH8qiADIkw4ESK6UijMm9B5np0TB/W6gSSqbcCugauVxNV1+xuiZ1AeIzg2CI3eazbUOVV49E58tzTLHEPmhibad8nUfQhZPgpe+9FPwL76GtyyAtcVmqVM5NxyGWQhgJ6tC59XtIUJiUyftz7yOJZwpvdIEZcbo7Vcd4917Vm5diTBO0ZUUmqu8MZH/wJvsJjnA077hpESCorIEVyjFjGQsn7hUuc4HYIVz19i2Zgu9A3JqSkT7akWC9vMW3aZ+A+NzZs0a0E2Ilj9hFVqbh0eiQy4c9y0RI5kn+P+Zr2Ht9xxTuSsc/Ie15Ueb+SvrnUOuka+bXBvaLtigrzdI1nbZsG09x474Fgav58C8DYzfwsAiOirAL4I4M4ItuLhfcxffxX1H35HcpKQaV+EyHOYGWrIrtbo3lwOJnoB5XgwmKNoS6QPTPSiQtbA/PXyAsQmeEk9gL60flKcLn3F9xuoI33JaPUe3X0xRYixz0nhqFWTQZKqFvxhwh6Vi4isuf8A9uMP1IzvpluH09TnQ0Knx+yg/TzQ9tA/7W+bfBE93fZxZ2DvnPPH0t+buqc765/xfbrPQmyq0mal9+VsT93yOaQu8IIHkHdFhUy4c9wnwSRUBURTBzNNrsTfjz2hC0LFCbmLvsM6x+x293DCZege64TM0HO9D+1ce49xiwN97+sw4Tu9hZsj4s7LRwC4+GM/BipncDc3EraRjProGJlgehLX1OCmEYLYNOC6gqtkYSaQxaoCNzWc7veRxRgxcRx6/4ZIY1pHep20eXfyKPU4IPEYSa+1iWHRIImcbyaR+4ZbXME8+QH4+SOxkuhYrOi4r3OOFbNJoB370nmHLzc07+hD0Oyt6PQ2fIuRlkBxsdDusfEDUrm7S3M07qf2LwWShpX+Yk+ovXbOW7SE/VbWgh2YRYHBqlEU09Hos5YJmKhRa9u1xeLijuRN7jtiwbSnPf2ycMN3GqhrHzgW8fsMgHei/XcB/MkjteUoOPvMmyjPC5R/5C0RUl7j518q1fi1Qsb/+D6pY7Sihf4JX6vBi4oyRq8wdM+tf/hG++ZMeIinEL1tSeG67xXqpFVCEhOblXIkYqp59D74858GnV2AF4uEsHgi480ZZMtaD3WIcY8AA3qOdVc3g9a45zzHq6BSuEt0w/lYAwbA+x+EFev4XFxf9zP33SOc7ruuW2/4Ll6geGEypGnzmELawjVrBuSx7862JA7oFTjSjulaurVle+7f+x5vMV4MnR8kk1nTF+POy0cAOH/rLdTvvg1GDdQA16L5cXU3zQoYIFuIlbqxQGHgbAGyZ6Lh9z63Rnx/yNrwnAeCt1zKhLWqRaO/rIMJmSeNXCnBrGvR/DepbEa3zg3axviYR5/Gsfceoe7WzHxb8tjWuUoiV8rs+T3l6hrNu98GlbPWLM9bIKXauaCd0n+xrOtbQI1dErp37f04cGC13q2wxfVb3lLmF5vG5sTSaNBKaAeZswdytva+SN6LkXJzU53rfNJ779u513jytq3Vyz4WSU82uAsRfRnAlwHgk6fbzK1Rvv4qZp/9o+DLp6rFExU4gUTDx+hdnWp9dKKtV313BkeOTNC0jHfghTcX7SuHtq6OyVujp+PjTgVQty1xXcF0se87DGDjg72OoI40gxg76V9XdvPLb8GPPgQequkRV6J1ctHv5UMa+37zxCb63dbdS9o8TkKM6pttBfsO5ieTJhPbLEBMJRsTBMXg77LpGR9aqOmta/f2bFyYObBgug1hdtfwMstIe+8c5euvonzt39CF0UYi7jU13GIJuBq8WMp4Wst5t1hCCEOjJLER+dQALvGtZe+K4FywpjHGgklyfPKMQHYGpjM5bwswGYnwTEomgxiUujwhbKoaqGvdryX3l3MtqayqQCK5rjvfexNpbPdXtY5TNI4AerR7dmM8gG2I37o63eVzNM8v4X7w9rhFscGKtpBbtxhV3Oco3G+d+2v/2N91l3nIuvnHxvtvkvtTZHNozzR5O3SfMedHKRgGz788Gr/3ALwV7f+IHgtg5q8A+AoAfJ7OXrrl4Nnrr2L5mT8GrhYgVykJqNX3y4EaMUmjmCAAkb17S74QokNFEZy8j5/XGElhdMz3fB3Unqf4fMdMMzX1dN26O0TV14G2TMcUL+2NNSr22LzSOyh7whqbIXT839pjoinSm3bIcnucYwIWmSiwP+ZXdrfw3+KqAn/0wcr32cqBd8fVsd7J/ZbmBWsHq13Jd6fMyEFvTF0b2jVK+O3SLxj3fbYhaePvv337DnltW/ClG+q3wUb5CLzcMrJ45QHwo38c7tkj4OY5QEZCzxsD65xoNXxgCEDMxSP/LzRivs31EmgcuNaIuVUFdg24Wsr5atmWR/ucst+vfa4xJ369gIw1dQ+ZhAEKC7YsmkWSRHRMFmSMEEdjEMJ0GQsOfsj+vmJ+7io1UVUfYk8aw7aRNru6UvN1jrSF/fIo3bbnN5PItK7V49MXe+QeN7h+ssDyvY8AsJjwApF5PxDMEWN3gHUmmysNidvBnY2c5p7jrP7g3Dnm62sPRYvcnXtxO91aacM47ErsDkE2bwv7JDtba6m3+M067Q4uW97SizrHZMpMgDUajbQtG/aNmLWTad+L5unj7b5PhGMRv98C8Hki+hxEoH0JwF88UltuHWZWwtyb4+r+p7C8uYZFAwLBcqPRHSlEe1yJWpWaNOjAY1Sz5jVJFMiNbBlIIjZxIJXtNa5brwabEfttH6FR7et9yP0wmY7N+IA0V1tvRKV0Ih75v0U1Sd2x35ofUAldO/44ApTuU3wO0DaS7kY+Yx1fMnRf2nRQ91pWDW3MOsnwoY5j8kj37oNmZ/AOyqyCnBoV6P46n5BbI06SmvB0B5KUHCaCQQc4n5ZmhZAiEQTOrfpR+u+YCo0xA/GWxOpQq4jr7tm9x+517MUUemdSuYd2HrqOTOzG4E7LRwCwF+dYPHwTfO8NmEbyaRnNF0b1QhZHayFvsm0kHQoziCvJS2YMUFpgPgPxTHwDHctxRrLVZ9r7J9U+nP0S8K4YweRTNZCNLNh6E1TuJY8NJOcZwljmvLyIynoSScyALWBBgLUwxoAKC54XShRbwkghQJXpyEHWRUvRNKpfs2vERLZpggbV+0Zy3QT/xyHSOH5/PAH05HLxzndRvPkWQnCPprVAYl3Y7VgahYpHjCVDBLGzSN3ut8V7CGY8r4iOUVyXJ6o+oWA4vj2JG0UAOfxr5yfhHGsbuwS1GxwnIbg9JrNda6/OjeUehpJzKzvj5CD8FIzaZ2f079geX4l5ET5Hczz9TP438vNCHzejE1dgVNNbsJors6bqiqzyOJmjBysw5wDHEtTGL175cq4NeLMrjkL8mLkmop8H8KsQI/VfYeavH6Mtx4CZz1C++iquzGtYlK+ggA761MCgATPgE2cTRwk2AZCrRVbp1oc3NmgAo4QRBINGw/0LX5Dn3DMm2ZpODplA6Vb2A/EKmsX2Gj8QUKxhCwNJNChwEx7+FYIZEdRV89K4Lh2cOBKSHisksrufhh7urtg5IM4D5P3X1ibppjBpIDA0iyxABVo/Pn2Bnz6X64wBeUFdlCAzl8A+/piu7rTfgcGNRrVSoigTHBHo5NMDOD/h8O32307Jo/ZFIIT+vLWr/TbkVG19Xfp7m+Q8AHYDK4z+/ioY0omAX5mcssq3E+HbgbjsTPDGaPx2IHhj+3Avmsk9aPGyiecq7rp8BIDi/gWuZ69hwRUI12BmWCsEsDDnICJYdiBDsFwDZCTcPxHI1TDecqbWfJ/1QrZK4qgR8iOkEV2LGjKAYaCwoOIcmJ+12p84vQtDynqZ4hfz6hohB1qsXfS+gdVSohOqWSqQksV0LG+EGDZYIYzsJ4ZAS0Bd205ji0AWTUmgsxmYzgNpJGPbLOix+aqPjFg3kaZRFymdi8ijU1LpzVwb+BD7qRmrRzpu1I8+Qv3oo55ye7Ag2AM2mb/umu93b0gIKFnT3U+DpPlrkv1ufAF0runUGZXp9MBQ4L5d0UNGgXQuF88rkxJ6rEtg07nlACEetK46nPw65DN+NMcAZv77AP7+se5/TFBZonhwgaeLMzx6zjDk4Biw5GBD8lIRYoWR6I/WaL43TXJqCg7HAUloCgDk88OpRq9rxtBq+hhot64llW05dJKQhqSm0bHOvj8PbkcB083FE84zI2g1w8k40WhUl2rnKK7Eo4/4sc87102LEFJgcJO81BqRKoQLrlpz2nW54ZJ7Aujkh2Poqq4hYH6WXKPaPxfV4QV6WjeULBojArwogWIuiUmJNEl4tLroGGh0tUiTk7LPaVO36QgC/ARiHTmM25MORvFvYgZIY9BecvceKTk33XIAwANmwB2CHLW/raufZEo7fYCkPZqTnKh55m3WMWYFPhO9cbjL8hEQU89rd4GnlQPhHoiA2ayBoTYHqkENZoZBJdtGNYK8hEUFEKEoKhARzOwCFMxFCcY5kF+0A0J6HVMvhTBqAmtUSxlP/UJb0Ejp+Aq0C4SN08U9BqwFFdFiXtAuWn1NRAaGd6ZWwuRNUf1Cn5qiunBeTFfbxT4eIItd8iaaRxbDnFTWRGQyDUDDkIVJAkTmQL6LmVmQKeV7Bk2kAUP9IOEXNJNxg9UH02s9rYU9P+uMHZ5somkJpDdtZR/2v/F+k0Ls2f8uCaZMnrfNd9x33Ys2zh3DLPRkCPMInEIu7JchncOdBlkDe/8ePr4q8M5HwPlMzHznJWNWsgg3IwTKMKsGkCWfNBiOGaB4v9X8WTUHNORQKEkkI1pATyq9FYIxEkzGWCWTJbdWjvAaQgRz00CWIMRKKFZXeLQEoSVNHXLpTUwRk8cNpNJP9lMSoLcmdivX6DfUj6rdNIRW6ckt4TQkxJlMZFarL5oX8CzmPxyTw15/S3RNaodIYtpfQ6Qy8iOkxgXzom4/RGWJVIso4c9pNpOJh43DoeuAW9diylQLKeSmku+mJkKd+2OAAEbE0A/jg+YZK8QwMTONiWHQEiZkMFgYJ0RvSNto1pgeDZizpqY18eRhSDvpV0lHR7e9JZyCX95etYcZdwL23jmuqxluGqB2Do2TxdDGMaxp0DigNEIEZ9bBEFDaBmQIs7IJC6I1GiWDShJdDWanJNHBNELejLouGGuFKJay8GqcgyG/UBn5FoKECLLT3GI+x5iO0c5rGyPNl2sgzoH1is9+SxoBKizANkR6hjGwPvcogNifMRCeiDQi1jw2DZz6OXq5tU672CWL7XvZkkUhkWKSBvCSw7Wyda01YXqtyieRQwYEA3YN6mjBVH6EKMeqRmElK9FaaX4eUnoECxrTmr325hiOzFwDoVSNbDCncw2sc519rrx/53r0kYJNROrUNEWdxeA12GdAmYFUli8lTk2+ZeJ3BJC1MPfO8PijK3z4hw1sWWBZIwxmyxrBH6ssjZDCGcEYYF4KSZwVsl9Yvw8hit4CUUmb09VFp9aJjYtIZNDIS9lAGk13n0iELhBSCipplHsTIk0kiV20bPU8+fYQiDgyJRW1OgV7dIeuut2nHXBh668D0DFVDSaovs2JAFghk8m+ZRE+xjXiLwnAUAOYuRBjEnJIxsq1Rv1FwNEEYKkrk7JPUWJvr00d0hquaBeDFjE6PkQak7IUkzNuIInHF6smq0QgsoAtQLMLwBZgY0FF0f4O1UJIYbWQQETVsjvRj+r0wiyIhlSbOBCcJhC+tE60RIo2+J6kArqt0/aQtO61QVvYo3EE0GvWitRfsqftnXus8ZlcRzTj81OEx64avl389DLRy9gV9uIcP3jk8NvfZFzVBqUFLu6VKC1w74xQWuBsLmUNAbUTGVQ33jpGZEZhZCF1Vgg5nBdOXP8Mi/ycybNaGKcLrKr54waOWV0mvGZRxlfrt061iuqjbyDE0HKji42ymOitcYR0MqipQaw5ROulkkUN5lZHsgNox/SwENeVIzKmFgDNQDxvSaExaiVj4LV0/nhgZs4HwPGazEo+e3PUoGFUDSTQjulpYJvE3FS0cF3it6KJdF15Nhh0hhlCmJ2YuzYxqUwXExM5wBANpabykJziVnw/Z3M1d22JZkwkvYls2x6R98FfXzWvQiC9FY+awta1BBVyMeF0bb8NYJeFOE9Ax6QG3AfxPMYY/qLIjVNvZyZ+RwDNShRnc3z86Aa/+U+e4/6DM8xKwoOHJR7cLzErgXvnNpg3LipgeUNYVoCDQd0ARSGTwXTrTbBnMxGO1gBlQbLVRcRCx73CuyuQECwHHVtZiGIFvyrDgSSaxLS0jyTKNj3e7gfSRRw0j4YAgyIyZ23JY0s2faAbhDa0hFHMOV2HNOpAzd17AljZt1DiZ5qWBHoC6LygF+Hj/S1N5GsoPhTnwNzAgJQYNkoGa7h6IVFbbb8ZaarxC2TJtOV6yWB0TfA/maBFFPPWBhwSzOuKrdceGiv+iGfnoIuHIFsCZERTuLyBW1wDyxv5bkMaPq/ZGwhOE4hYRMACcRvpY5j6F1JH05eYhSaa4xVtYaIl7NMQptrn0N6xGsGYCO4ohPvuuQ1ZvA3ktA4ZY2DPz+DqCq+cMYqFQVUDV5cGN0uAycAxMCvlub93RigscD5vt2czWTAtrMiyZcOoHfB8wapck+ewMJ74iWyZlapFVMJYWIdS3SzacUFkSqMkccmyDQTRRPKCWzlh9d03ZGCpBFmCKRxAJHIyBHUzkbWLROz0i4vsCaKaOlKzBFUVEFvjBDNQTxJ9cJlEHjTiGxkIoS1BZdmSHTXVhLGtzPABYSpJqdGJktrUQFVrO1tt2QrB6yGJcbmhiNcckclxZDGuwwGopbyrBq/lzv5Ae4zXxqqfpGovyUofwtoQnCf4Ulq9JpVFLBpbH4gnkETvR+nJo9MUJa4JeZ9TUI91S/pdAqztLTfNpHG7sXoXmbRpkfRQOA7JPZwszMTvCDBWtCqWl3g4u8HTxw2qmvH4yRzzM8mgWs7lp5mfWZzNCPfOLeYl8OCeRWmFDd0sgaoBrhcIE0mrdtPFggIJDKQw+KV3SaK14kc3K4DCSHlrgJmVv7LgsGDonAhQx7LKynWX8HkTm7DfR/zCOdcpu0IWB8haSjINGbEOiUmiWpT4Y1YqANRUltjBqWlL3Tg06nhmqYHTzx3NHwDnHeZdl/gFAtjIql7Ydw0MEWBK2PMZyBQiFOsl3PI6pO8AADaFXqPC2gvHJoqe6gW3d6hONYDkBak3CUoir6blfSCDuExC0ogbecgW11IM/hYGKOcw5/eBV94AkYG7uQLfXAI3l/5hkTrCg9cVpIFweb7qo5Q6boVYooVb0fzpc7+OCK4KxO2J4AoJTMxDUwLYXuef9R6T0A11td9jf2Rum4A6m7APs1H76htoHq8Gesi4W6BZiapyePvb1/j+U4NZCbzysMT5nPDwfgFrgIYNrhaM58/FSqZUIjgrCWXZLohao+TQAOdzXQy13g3ComlksbNxwKIp0DQIbhGF5faz35JTdwwHY0jqUpJoiNqxkxqVNZ4YurBv2JuYelIYkUQGjL4vhsVkxmr+QKtEkaBWKKyLUNRG/G7JYQV2EWn0C5e1ugv0+LJTXevCn7oyeE1fvNhorIy3xQyYzUWbBiCNMMqNBrNRX3MhjTV4udT8hmo9Ei9EIiJcqVbRcSungG7ZTVpFj44/Y6odHC7bd091mAQve+RDqGKDpQrELIpUI+n9I8lY2FmphFGIo+SR1H1ju37twUy1CalA2GtqGxd+C1epeav/XUO71PJpwJSzd/xOyONY0thOOcbLniH5Mcb0dD/y8nALqcdY7MzE7xgwagPpajx5dIXPfvYhvvPuDa4vXQjrXNdCAOuqwCWApzP5qcq5vGyzmcH5DHh4UeD1+wRjHD56yriu5AEtC0JRyBtWKTkLpFB/9Zb4ybbSa01y3BoKJp1lIauq84Ixt8DsjNA4YFkzrhdA7UmlCr+aPMn0+6vngjYxHO/XKnri13hu4s+TC2aEIebUGvJoCDDGwBiCJaCcG8BVWFQNmFqPRqMjlNUtK6GyqDr7fmuQ7JPprtZhAXINqCxhzu7LYH59KQIwIXUrJK9pQs6nQBb9wJ9G1opMOWVfe8UP9jEpCdo236nriWAwRXUOWFwL0YMOiLM5zPkF8MonwNfPwM8eoY2ahYjYaD8NEC42DhjQ4KUpKShd4fVEELEw7n6nIZIWBmD/QCaBZFijCMbXjiVtKcb4BE4lgGTMqqZxnwLrgP6LdHYP5Q+/heb50/a5zbizMNbC1TWePV3g8hnhEsDVlYx7M10cfeW+xfkZ4eF9i1fOCJVjPL1iPFsYzGbyXvpFz6sbLxel/kJl4Wwm1i9nJcFa4KxkzEqgsEZctMFodLHz2omFSbGiLZRt0CIGtwijZqZKDI2QtcI69bsHoNG7a/iw7Z4kasAaHbPSRcZ46w0r/JbYAGRhC4kwbZgh/uuiTQw+izpWuFiL6GXRUi1UYq0h0OObWAetVfe4+gEaseIRM6MzGFOESNakWjOv4QoEURPfO20Da9oORMRvSIu4QtYGCCD7+jCOJK5ci2Ts3kDwNqW98No+H7k1LLD2tatvHCY1TY2IorEFMCuDhlKsdVQTaYtowoAkkE7dRqDVz1zVEmFcg+z0fZdJpBEArJ2gYdyeJI71SxwjI4fq2k2Luf9F2E3IxO9IICI0NeP9969wdm+GB/cIHz5pUHtTQD+B9ZN6090CwHIJXN7UIAJ++BMFHp4D33si52SYVqExED2JrZ98+n2/ypgebz83LJVfedJmGKUF3nhAqBvgRuWD5xqeXPo0gNZEHMOTQu+PGDSBeo2ed4HU6UAdiKCWgw3aLxdIo373kJSiJX6OVVvW+OMNLuYGhSU0Da/4gK3uD7yg/jsHwUBBY+WiItw4cHUFkEFx7wLumkHdgKrtqnGou9Wgsda50oxgWhnfLbo7JfvGrJb12i1Pllb827rlOmRtuQAvJWw63X8NeO1N8McfRKrZlCT1Ey5yRuoD2tVgT3pNIoz9ezJAADsCmXYngDxw7VgN4NrB/QDRRk8B64Qi3btA8clPA67B8rvfkucnIwOiLakWFaqFlzVdOfbYMR4/BX7wRPzNX31o8doDg1nJ+OCxkLRSiV9d6yJocI2QOpYqr4LLhG0JoiHgfEYoS5FxZzM/JIgv4bIRTWNhPRHUBVbvDqFjeFF7ItgSRf/ZkgERUBqXkEPW76tyTc1KHWtwFjUrFe3hEClMSKMTbSJpdO9gmQIAZGGsgTEFyBiYe2KpweoyYaob0RrVatK5FNcASrWGMQFMtYWu1milXqMXBXUhArGQEi4taD6HvbjfBiXzvolBa7hQ01LxS+RqoVrKAcLXQxCH/MSHtIihWB9R3Mr0NC7HvZ877dhwnsDSx3UVh93zjV5bpxDDotUqWtE2mpkG0wlBdooQIE7MZpUsKlnnuoZbqq9orW3xQY967p2SxXUkERirVZwmP1sZvb32cNO140hlv3PmIQhhJn7HAEvY5LPzGf7Ev/YGqJjjnfcXmN+bY3Y2AwDMgoZPtl57V84LlAVw/9xgPiPcPzcoC+B6Sfj4OQdzF2spMvHsmnaaSLgBrUA1yfy81fi113rfwFnBovmTxVcsa0bVxH6DfstJ3RylnvD1p9o56FYFaWIu2mr6EPYp3McTPvRe07dfWEJhCYumCcfjMmF/IMJXm9Ji9fzacz4Vw9QXe0SksV74H/ZWwmmx+jesaqFuG/vSenFHeK0X5FthZB1D32NK8uSh36S3/ICmb5sAMewcaDaHffV12Fdeg7u+QvX+O+Cb67XtzbhbYHaw1uL8YoZ57cmaCJeiVLN86+WWWKQwAzdLh/N5AdcI8WtTHat2S1cdGzUbaTwxjBYmAWCpcux6Qa1rhB6bFYRZIdG4z0uADON6CVzeyGTby7PYhx7RcUu84hu/sh+Iob9WI5cqB7JG5Lg1kg5K3NnFfQEamMZr31qZGBEEtC4MMUH0ZLBolnJfrgEQbFmA5lb87o1t5Wu9ALsaVC3ATQOqZeGGXDM6QE3qe0gxYQzJ3KN6rAXNCsBofsWiAMjqIqsskAoxrMDLpUSr9j6IPcHIUs3fFPLoMaRhXOevGCO9R+dY2J9OItP9TSQScKp9ld+RB8tBCbv0P9kCMAbGFjD3zkDFfVBRgIoCbIo2/RI7JYoV3HKh2sSlBJCrK7hFEjwuub8ZYCzd75W6WayXKevI5JAFzVD7hkCGJsu2IbeRfSATvyOAHYMbh6uK8OGzAigKzO8XmJ2Vwcfv/NxiXhLOzy1mJXBxZlEW4ruwFLNtLCrg2cKguhIhOJt3g7yYhPClAWA8wSrU73hWeP8H2S+tRj4zKvQYcGD1iZA2PL9hv2An10UED1g115RUEtxbJiV8qz59/STODJzr+Pyp64El0TRaAkijjNaNw1IHHEOujdrmA74kPn1xBND4eOzb5/fDiqh2kjEGVJQw9p4MdJePRVuVrJy2zv2Rn0NIe9EVMp0yQKSqTfbTsNlRnRgQeoN19gnL2Rx0dgGa3wPfPIf76H30mXoOmgwOCMXOfVeu2Xw8Fcorx8N+v5DeBhtXbUeYTW4yFxqqe2rZwfL7InxkQOf3YB88hLl4CK4rNE8eYfGtb4TJXCZ8GTHYMWxR4MEr57hsZG4/n0l0z7Mzi6IgnJ8ZXYQ0qB2wqIHrBeO9j4AiWgCNt34OlS52pjmn+6yN/etQSzysYN1SGMKDc+BTrzA+eAw0IU2Nl3OJBY2hVQuVZJ+Cm4EnZbK/XFn8ZFgiibBtCZYMrLXixqCpoUi1dsyN+LU7pxFLE0JIDGtERjQkU0Mv6zwRNGqWaZS8WTDIzGDOJLcscUsceHkDbqpA5FqzUambBwKd+fNItYiF6wYsc5WkXFgAHXnl/QyLEmZ+BtgHYJ8SggnsaqAS6xSuK/Ffr+vWRzLV9CUyr3WpaEleanES9kdqFeP8ucGqJFzi72vb7xjX7QOfJXWFtnSuGadhW1euHf/1uVbSBmCtllEu0ZWLogAVJcgUMPcu5HM5k4jialnjSaH8VeBqCbdYhEiz3WrtGhmyXl6to1Vu7dmoz0do/KZqBfeZOiNFJn5HgETFqnBx/xyffJPw8JU5ZiVw/6LA2bxVmUkUT0JVA9dMeHYD2KXX1hGoAM4LwjlU+w4hd4ZEm+fNVfzWEzzNKxtWIona6J1eGdTofL1qRJuXBm0xYBQEmLIldMA4UrcpeIv4IChJg5I2PU6kKSF8ygjoWALfLviGBDMVn7yd1ZE8+FRE97Rwes86rIBa13XA7zWdAVajfLoGMAaWDEwhJhRkjKx2LRfgxRWcRtFcIXhB+K1G5ByV8iG+JhCtoeO8em06qR8ifLYAyjmomIFmZ3Lq5gru+jnw6PvdQT8hfBtXQeMBcJP/xRiH/LGEb8Ckp/e6jSunSd2hzvWrtf3tG1n3gIat/9oBIbmGkI6ti8oZzMV9mPMLmHsXMke7fIbm+VNU3/vDfjOrjIwI7mYBO7P43GfP8alPEWrHYDaoGpnG1Q1w0xCqRTtBIgPAAuclBaIXrErS/UAAkRxPr0MIFuZTJ/ltaX0wNHmWHz3v1pUiePUxBxeEML/2r1ZiYe8/eXcHToOlgUS7h9ZFg7xPf2R1I8FohBAWJVBogBjnHJgbNJ4Q+vspe/Db4PfuFz/9cR+5tBHTPqOpLCwszNkFyJaStqmuwMtrcF2BrCeCPX6BAOAjWXuiWERyziaLnOl+nH+2qcG8BKrr1m9OZTOMmDLS/D7w4DXxfwOD66UQ1moJ3FwBddUGWluRE1EUbU/O0hRFK3LKdo/3LEqukMI0GrZ/RpPytI6shYlbMlYPyJA0f24ckCVOcZHeJ253IIad8yy/wbIBL278kZ5rIas9RiPNzmYw84coXp+BijK8uFxVMqdaLuBubkSLuFx05OpKLuAVDBPDTbq2fRDDsaam+5SZmfgdAbys0Fxd4+xihj/yWXmIlxWwgMWyErOVeUEoz4C5+hXEefsMqc8uxSuYMmfzPmwMGTCccCgZl5jbaJxNJDwicxOvJRMjxOh4ROCEjLV5/AAlZaDgtB78GwiQ/IIMn9vIJ5Q3YUCLV9Ik9YKMk2KuQz7FALcpGvQLgQG4mqPEDgmphE8Bkajsk3x/QaC5eoXY9Wr0yGgIbgNDBDJGcuKRpHHwobaxFFMYjsxdCAMaPaDV/K1o7dxgDsDeaJ3x/jqt3qCWEOJfUZSgohSiV8zkOzID9QJYLuAunwjR05XgDgYFpj/dfxzcQwymEL34e/Scm2x+k9xrXZnbJHp95W+V6BUFzPwM5uwc5uyepPwwRgTw9SXqJx/Dvf/OKKKXiWBGjOb6BvNZgYqBK0e6qClyb8V1IfYnV/llDXVSAXm51Ua2ThYVTUvwgFTzx50h1rEslDoGriqEJOaki6xttGmtI1n8FLndvzC6Ce3rqsQRLJFEAbgQZEze2yZcIzYsTYdIiJy1hlBaC1sYFAZYLpdo/KQhhu9jTqJBBs2k12p6DX4NUtWocQ3IlrCzc5iLV8Ssb3kN5/0Evf+27wQfvc0TjCjQGbEeC7Jw034i13yUbFdLvt3ljcgbQGR0UQK2hJnfAy5eEdlXV+DlDbC8Bm6ueyxnCN4nfyVFkT5wKSFESsRi0ubnJkP+bwnB8/filDhE5qND5IfTB28jMaTo8yoplP1h0tjFqvljx6zROcAtgHoBdzlAzqxqCmdz2Pv3UczeAJUz6fdaAgTx4gbu5hru+koiyq5gvc6vD8H0dCB+RptTcbXubc1H96kBzMTvCOCmQXN1jc/80AzlPeCsFMdua0Qb5ljs8p0nPyzExW8dI+Swa8mbaKwK1ZZ580cRZi6YNQopk3GdorLwx9AKJYoImf/sCVhYp1FH8XafAfbkTUJYMyt5U62iMM8ot14y4W6PbzofreokE9hA9NLjwYwiHeBkpdJ4Exgyol00Ruo24oQvoaodwJXkv3MNqF6KoGsk51KsRWtTLnTTNAwSrnXau23NMj08wQkJayUsNKwFkyZuD36HGoa7WoKvr9UOfxmE3qB/RF+74HeT7+6P95CjdUSuU1fY7/+uK23ruXazj0REIgfNVMdqAFePj9Hc9ZVbW35PZppUzoT8z+a66nomGl5Dstq6uEFzdYXm+ffhrq9GEdsp7cm4m3CXV3j9Fca/WgJV0y7yxQj54PRfCGLshx/9x51rVo+HRcZ1aw9KHtfNEVPNjIdJZU08x08DhyVlU/KYXtfxSY9cH9a1J0bjJL2RaRrMCgNbWNTLJpDIto7CN8R/KQAt0fMIka5hYLyHJREAhqsb0QoSwZw9AJ3dh7t6GogdOyVJNl0U9dsC7BdGTVdOtvuecKWLn7qNy6UmnMb7Flbyd+OXkY2MfxcPQK99Sp6dxRX48glQV103jCHrlgGZSMnx2Gy07dNu3ZvMR9vDqwuraWCa1Hy0vbZLXGMz0o4Jaeda0702rQvdunq/S9p2j0E1egMsr2UhIb3GSJAgKuew9x+i/MSboNkMcA7u5gbN1XO4q+fiXx69/HGbhrSblIwDaXvXBq0ZGahmm7QXY5GJ3xHg6gb1s0ucFws8nDcoNKJXaVxIUh4cxIOzt5I4P9B3Uh5w9OD6z56QKdnxJAyRBs0TMX8+ImtAl4BtIl+biZcwS2LXDhgEIaTsui826zl/rY8gmtxBvoA3e+iWDbUZCppEpbW6cphO/mVQJOfUCbwR8uMayXsUa7QibR3pPsV9EGvepphdxuf7SF3aZna6KqpBVHzCWCixMyTkzoomkv3vrDl+UFdthDT/uVp27+9vtUY7J5vo+BCx20RwttDSrbSv7/oJxK633QP19Ne1PWmbrK0LBTaTyd66CjWjKWeyLWaixStlC+auKc3lJeqPP5bV7wFBOdjEqX6BGXca9eU1zssb4EzyrPZhiKiFfKB+f+Uc95/n7rW91XeI5EA9aytYX8QvzqboED9qpV5M7kz0mSI56K1w/LolSYHgG8iQsc6xQ72sYIAQECYNBJMuxg4GPFtjPsdNjeb6OezZBVDOwcvrTpvDGrKf+Ya2oJ0Np6Q2jWi9Ekm6r1wSydpPh0OOuygK9PIauLkC47E07+we6NU3QURwj78P1jy3g5GrQ2AdT7SUGCZRtMk4DKYs6klVJM3rRryOOqVzb6lLywY/QK17ZXbVX1f83YYiaG/WTMX36pfNq5qyARkezRtXc+c24Osr8PUVgEetBhwEmp/BnF+g/OQPwZzdA7ND8+wp3PMncJfPI+KezGsHCN1Q3t6+64a0hUNEcFPd2yATvyOAlxXqp8/xavkcZxc1iGsAQq5klYtBdQMGwzjZhgFXTRcNuw45IiU2BCcDKOs1QUjAj5wt0WIEUtSW8aQoIVZJ0vT2yyQvRg854SAtlaTqdenqWGvKidAfXV+x9tX19TGiVTawOityp86goQxtQIdk+HYTALh6s1ZuCpkbInIMEWKUbjUCVmGErBF0lCb5XYlaksMs2jFPVDVaFtTUFHEC3cgPwYN7ju2ipVu5JqlzFy3dYN1bkLoxhK73XiPrH7p2sD1bmGEO1mWsOMrbAlSWaqqrjvSF5nTS2R43Vddp/uo6ONPHzvNjSdkuCdzH53PKuAuonzzDPX4G667F9LAHvDI5DOqxVRM2FkHYneDSyueV66IyHGRhUnVCND2xWm11l1Sumx4Pvg28+pFUtsU60XboiDSZLC4RXuvZ+LlDRKJsEgHUEz6rFiujUkbovSiS9UA0V7EFaHYGQ0BTLSO3hnQuscMEN6hLmuR4RAiTACEBK2l1ugSRHAsJvH4OtiXMa2/CPf4+sLxpx8BNqYtCc/R4RAA3piwaTB0UEdXoOBBF1h7IUYuBe/alJ6KV/kG3XR491w7VNeQLlxKrteUSlf8QYSIwsLiGW1zDPf6BXGsszMV9FK++AfPDnwUvF6g+/hDu2ZPOczlEBNearKL7uw9dsy0R3AaZ+B0Bzc0CzbPnuF89glveqNZOCFm7kuZz7Ogo7U0qPZHxpEhJjTepRFSeUkLCTVRXdFzz+wRRskJ42vN9xK4XsRlmdLhz/dBEcXApd2L5tfdIjoe+iFeSWAQI69bvAwAZyTtE3mwyPk/tIES61poQUVazUPZ+dq4R0qoJcSXBrGs1j7UPRc2DPmmjtHFJn0wNDT1IDLGeyPW1d5AMrCGR+9TObT4+pY6J2rp1vnUsgkhMbyV3EtkCrLmWyBYhhLbX5vo2cKN5kzR/Ei+XcNdXcMul5Lzy5shj27nmu4251mMsscumnxkA0Fxe4ezqY5zVy1USFPzJuhqiMMwSBXLDRP3PO5OQID3Pfvz21/nhmvxSK6+aiCb2Xqmubt35TddSKDdMD1fORAR0k86lrxBRK9+H/dy7RI/S/bi8jmPWWone6B0umyoEOJPF1oFI1n2BziKf98429AH3H0/P72uccTXYNeoiMQEJAevDIKnwz/9Q3tfefLUJ8Ry4/5j8tINkLLyXm8njprqG2rOu3IoWMF1IWHsPB/fsiRA9AHR2juK1T4B+6DOoPngP7unj/v4ZaGcK6klrNejDqfBE8BCLopn4HQPOoXp6ifnH74iNe62TsSj8P4IGT9cGg8M1hRV7rQztCE7hOglrrMeY2yLRqmjHWoKQkJ51WDWXWbmO01WJIMraQybxGwjX9qyHdurmpI197R05sK+QItWWMUemmqyatQZgTUbqA5CwPx6VVzInx7sav7Fkrd0dJsq3Sdrae44gb1v6rPX6z03WqPWRmt21cuvKy0kv7MRnktSPkjSXCPkkuP681RC7kSluVFmI/MtqlsuauNgtFkGLy1W9FZFb9x2n1HEIMpdNPjMAoH5+hfLJB+CrJ5Kc2y++Ma+SIb/YZnSRzZh2UmzEWoI1xH+wmkiv8SkAwp/R6yiqX7dAWw4xOfP7SiIBaW8gjokWkFk1kJ5wRmXVIgd6ZatV1LJeoxhrIwbkdr/xaD9S//p+gqeL1NqfZCT5OhkDQhvBmoLliQY5q5etnIzqbP3jBvzg44BnQ0HRNlnl9JWf6ivvZTgAzM9AswvQ7Az87GPw5dO1/bqCExvnguZxFy3rNvcdSexWrxtRbisCKG3hm2tU778DFAVmb/0YKuZACvvaven4lO+W4hAEMBO/I6F69Bj83W+CIm0QBzKhg1IwfWyXIdlrffzyY+z7FerRa/SYT2fQIro+bKKlTBeZQESml6vXtB84KR++x4ptSryfEhOOC669X2d/j4PVFOKwafDuG0THaLl2ble4//R7TdWKjWnLIa+dZA7pJ3HGyAocU/jstbY+6XwcLpfIANbC+HL+GupJytqIX6hsNRdR0wC1JsVVv1EfGEj8KutRz/A+NWttnfu577blM9HL6EP9+Cmab/9LoKrakJtWTd6THAydlfNokZMdq+FGJB+Jo4m+7sfnTVAbyjtJiKw8IjPBeJ/MwHHbXh+1n9X3WsajpExKQH1wifheoRzAoZ6oD9LIE53jsebSv3vpQq7sE3n/eNGIaCeBmYV4ecsUduI3zo0ERXEa1GyAQPVFrO4cT8ekuPwUN4v4/Dqf+aEgaOw0yudczOSLElTOxSpneQP3/JHkAOz7rr7pzq3W2XOvuA0b3StGLvBuY40zxZVim9y0KcZa9BwNdQ337AnM2XmH+G3CJg3gNtfskwBm4nckLD98hOUf/AHck486g8GmF2+w3ASc3Mt1Qpg0eB1p0jz297vtuoLQ6/FdJH/cm2ToSnFn0kQkCyHGSFXGiIGKMeFa6kyM/LXy2WvXBtvufSK9b6NrIlNbB1frflXDm9q2Wwnuw3UVjm0inaP7TXFKGrRDk7c8BmWsg1tWqB49Qf3ed1Ym5iFvX/z+A2ExxmvXYQyoLMKCjl/AARlQ4ccU3bdGy0m0Y1gdb2yUn0HzR5A3/0c0kWcnMUiYAfixoemch/e9B5RbRYupk0mlb0s75vVrQtstq9sBqeaS0nsai0AAYyuWGHFwNiAknk+Pg904Ihfvr5TrOT/kajKktRu8J8TiyFow+d/ZAj7nrrFo8w8uwNVCtHrVorfuSblp43aE3dU+2IXoyX503VS3i10I38g567j5ydBC9AirogH5PNaix1zch339kwAD1bvf3tjWje3Z8Zqs8XsJcPPe91BhhqYp5MUJK3wy+Q0vk0+Eh3aDeIhd9TTvPz4Vmya1UwjSimkm0F1hHKiTB3eiS6a0c139e0T8Vdfdo8dctXsoMSEKv21yoziSabT6G/bTCD/sy+l+7I/oV3kpeu7Qs1I5BEZYmWWnfqfsOsfbv/Y46z47BldKtOK6IhNaOPWNjIgcN81ByFiMKQPvNsTmNkjabtdsT9ayZi9jKq6+9R3Y1z8Jd3OlxELGFGJE/s4SDK1zXgYOIVlBK6hEyWsHk/1eEunPU9+1FMhiIJNl2ZJI40mkP0+tSbe1SkLF1DssaElD2i07BM1j8O9HSy6da8kee+1mqvHinunDBlIZY9N4OkTW+q4dImPptUMkyV8fZJouAhoj0TrJE1oTzOiZoCQuWRR0DVxVQfL5NRrUSveXy97vMSoY2RZ+9nI9r5yb4qoxun0D195GSqNd3DAOmcoo1GEL2PsPYO4/hLl3gebyEvWH34O7ej7uvmuOr7v/MZCJ35HAVYXn3/gXMLO5THZdMrhFA3ccrcvVKtRCRX0P/rS2rCShHMsZe8nluLqo5wRZExcYUXdaqOeiXiLVnthnUkwAa/o+HcTX/Eip6e7KNZyU6x4TwpWW6dt6QqXXp59HYJ8T+n2saO1jcN1Nm36ca9s6dvv++2hDjtCZsQ88//Z3Qe9/KATKGNhStXiF+NBSUcrWdo/Dn1MrAQBKkFjHxwbELUnkphGy6BrJeu4cPLEiH5XaE0rm3UikfGjLxhnlkzLBPLRDIoVsmkI1keozHD6T9ofudy0kuguFQesItItxqUvHpslEkuesH8nCY6zhjBcifdsGfLNa4uvErNT5xUOnwc8YYDWh9+mX/LZOzOmjujdq65Lj0YXRxwnEru/8OpPPoXYOtOvgqY121OhtlcdvQ/m++cq6Omg215QO92DOL0CzGbiu4S6fof7oQ7h3v5M8I+vfg6nfY0ydh5SjmfgdEZff/eDYTdgaeydMvfcY8FXYS937a/9t9MXLjNvSBh3yPvtczTtEO/cpRA7RvlNaDc04Ddw8uQaeXId9v0CZjrcpsYrPU0K+TCnBlMgKYTJFqduIYBkjKVBsCSoLPWclt6UP+OLrVh+3dhsHEZF9qoVsynHxjSMtswt5DPv+HPXXhbSuxLw+mNnbIglgg/ZzKovXWrUMLXIqcQuWGemiY6up7V4XVTXR334jeZNKk90NmspQ93hCtfEe4fh488zBukaYQY72zxtV1/bkba/RsOO6jAWdnYPKGVCUMLMzSeZezKTscoHm5gru+gr1xz+QXMYj2nDIeAW3Gfk6E78j4tkHXRXyuh9+RSt3CzgUodn3d6E91jeFbE7pn31852MQzEOS71PHi0ZGjm1OmTV9GftEKh/TMTQdD+PzqUxYIU4b6uwr30s8jWnJYykE0RSeVBZtNF9rQWUJMjOYsmy1lsHMUutTf2Ly5utg9bfzpJJD4CjZV9NXdisGMIOEOCGKvX0z0F+h7jSAzBrZdAoyZNRYPnL8nBS0LdQ9nuDsO2jbPsja+romkrdQYIvvTlbz0hZtwJ2iFDNrK8cBAE0Dpzlp3c0NmsuPwIuF5Kid0M59xUAYIxv3kTZpLDLxOyKWl9Wt3u+Q5PGQpKRjAronDPfFalLXqd+tr+6BVLE7kdbb0Yi+WOQnYzscmzRmZKSoVD4OjZHriGAqM6aQxvSem0gjma62YHN5Whm7AzkrCzVjLYJWkoyFKYVc2rIAbAmayXGf61OC2fQQ08YHsGqEMDgnKWBCkCsHapRsAoA3edVJ6NB3WZGJPbKIel1BpsutQ8wtDh0cb3SQuB00RIfQPu1EPqZE2PY5aHXLmtbIJLlrURQgY9uoo00jOWqrSgLv1DXczTXcYiE+mk09rc1puwbLHJ7Yjb3XPpCJ3xFRPx+iA+NB5fhBcfe7Aaa4BRPPVNBX+yMfISTuBM49VfBMIarbkPF9kbJDLQTsUwObcTfAWVuYkaC57h/fvMxL5VlXNmnuN7ue4IU6U2ITjeHbksYhchdfs8lsdah8XHeq0ev4ElqrZNLCzMpg5krWhEk3FXOpT8lmm96m1eyR0YBzProxgJDz1vkAXJHZa1+qKTWHZa4AxyCfSiMhDIeyutkXbiui+tj77DUlT0refGoj8lFxEfxoO6mQkrRIkrNWy2gak7i9svjQCJFrNMBO04AXN5ICSXPUsp7b5vvsQ4N2zEjbhySAmfgdEUOCbRLUBWIKAdwF64Xt7WCX77qJ/E75PoMEp4eoDk04hgjoLgJtLPFs1pDfnUjhBlJ9qj6RxzCnfpmQTT0z9olB+Tgg8/zYvm4MH5Id6TVkN4/h68jipvLrNIxSdrxp6hDB3GTGunp8jW+kpeAP2Amoo1vj/QM1bQapXySF9Bo+XQZJWV9XlJZnrVxIozureauci3IVx36C/riWETIa+RYS2s9pwDT/uS/AjEEn4J40z1/f0/b4axm0ge3iIDtx4YG0HETR+Th6N2lqDv2TKPGaQsn7cWo/S0DU6BjWzRU06KDXFHvC1rRpkCRXbQO4ZTA/5qo1RfY5bXtrn5QyaH/k9hDRuQ+Z/ugQBHAn4kdE/xWAfw/AEsA3AfwlZn6s534RwF+BjMf/MTP/qh7/AoC/BcAC+NvM/Nd3acOLDInQuSfssa4p5Kep9v9QbiR2++w3hf/OU77PFALKWxLkrbRnSjx3ITKekB6CpB3CdHcdxvZDk80dM/aMLCO3R3OtWrtyYLxI5MCYMZzq/rFg3fg8TsPYTxaBaSapY66Jz/eZpG68ZkDLGJ+bShpXyw23K23PUF3huI9SGnK1KtnVPLFt9NaW/HgiJOk4KJT1ZeRjRLKCz6Km6YgD3IT0SNF3QnscbenNSBO8x4ST26Od3IAhnYSQXg7lu0S3Q35j4ssO3LjomCdz3JLnTc3eM0nbpX7gsKmVDp0eaTrx27+7za4av18D8IvMXBPR3wDwiwD+CyL6cQBfAvCvAPhhAL9ORH9cr/llAH8GwLsAfouIvsbMv7djO15IeMF2ahizcnpQXG8usgmDk4UBTPklQr9s0c59aGZ3/V32qR3eri3re/u2TEVfFA3fqWpIM0Yhy8gtERZG63Gj8yi5NTBmT5EXm8a8TeNr3/VjNZGhfM/YNZ5IDWsm92HGuqnO9vj4OqbWNfa6Tef2UX4qdvXdP3ZQsn1qqE6lrpctTdJOxI+Z/0G0+xsA/oJ+/iKArzLzAsC3iehtAD+l595m5m8BABF9VcveOaEGALxuZfKWTDfXYa8ayQNgnQDmPfoFpnBrzSM2YGCVegrSFe3Jz8qa33Vqe9aurm/7DI947vaxKNFMHEiP5ru4xYD/opDalx1ZRm6PIfm4aVzZRm6ZCf7S3kR+qiayvX61fUOayE1kNu6LjWX9mJDIxnUkbZgkNr3l/fmYqg+ZsQ7V0deuoXJpXevKrqu7D2MJ3j6CrHXv9WIHVLvNQGGHILmnl5v4xEw9E/xlAP+bfv4MRMh5vKvHAOCd5Pif3GMbXhqsI4WngLtETFNBug9S6ScNe/kOWsdeyJA+d3v5ffdAcocwRDgP+lz2/FZH04pvwBCpzYF3joosI/eAKbJx7HgwZRz27/xYObCRKAKTyWL4Xj3t3uRWMMU3MjVf3UaruHrNOJNY16vxS/twPXkcqrsZcc14QtdsrQW87QW6U4uQehu4Dd/zFyVHsMdG4kdEvw7gh3pO/RIz/z0t80sAagB/d18NI6IvA/gyAHwyx6A5OZwSMT00Cd2WnB1aI5lOJPZJhA/hhbdXUjmEPZLgMdhZ+3rLOH5GrZcPWUaeLqbKqTHv79RxdipRBKZpFcdoFKWuYbII9BPGsSSxLxL3UATtIa1iGmys39RzHGlM2+VWo/yPMA8d93tNIW/pd+9r1/C1efS+bRzDbPYk0jkw87+z7jwR/YcA/l0A/za3yUveA/BWVOxH9BjWHE/v+xUAXwGAz9PZ6bCMjJPDKZFQoBWWB9dIbvB92YX8rIv4OYTRfjK3EIjoEEGHgBETwyOaR4/5vQ/VL3cZWUa+PDiELNlpwWuEf+PowGGJf2M6XvfdaRd/xjHmqZPuNcKvceWadb59G4KMjSV0Y7Rok8jhjlrA28nvmzEFp6YV3TWq5xcA/OcA/i1mvopOfQ3A/0JEfxPiuP55AL8JCX70eSL6HESYfQnAX9ylDRkZp4ZtJg+H0BTtQjy3IY379KscSyIPQa7Xa2pvfwA/hLnabeBUzWBvE1lGZngcwkQVOKwGcqzmse9dHyS8E6Ox7mTWuoZEmU2JvZuRxG9ElGp2E4jfyPsOwdj9yYG0/0YGAc04cexqH/LfAZgD+DWS0La/wcz/ETN/nYj+d4hDeg3grzJzAwBE9PMAfhUSqvpXmPnrO7YhI+OFx6mQRY99kIhdJv7HIJEehyRQ2xHq0yWb63BqRPRIyDIyYzIORRKBce/lVL/2tQHPNpjfbzSXP4BZqyloY3CvsZq3TQQSGE8i5b7baexCYJ0dtEsrGr0D+MflwGPHB3GaoPIE8Xk64/+m+Oyxm5GR8VLg1P3QgNPVFk0lkcfCqfbfWPzM97/+j5n5J4/djhcFWUZmjMWx0vmMHTun1TmSnI3I0zgWY9o31VxzGzK0jdnlPnPongKBu6umpz/9G7+5k3zMHuEZGXcMp6Zd7MO+tEX7JkCHSBNyCDJ5G9q2F51cZmTcRYwZ//dhXr5tNOwp6ZJGx91c52c5Mfr0qIBeazSNvXX2aNY2kscN2rg+YsZuXE7MMYSqmZiGep+ks23EDu4sJ0Bcj4VM/DIyMjbits0N90U0T83csE/wHzLn5CGxUz7LjIyMk8Wu4z2VtP3YOxDQpt+PcGx7dKwa0aZN+RBXEAXN2SS3hrjSLotoQ/ccw8v2uXi3kajuIOcOQdLSaLNT8KJrGjPxy8jIODlsO/E4dTPWY/tO7hMvKmHNyMg4LPapVfTYxjexbc/msWqX9EhtwJztxvddRtJdlt8Okbf3EPIp1YgePR+ttudF1Rpm4peRkfHSYJeV6lMnjR57zdd4IiQyIyPjbmHTWL3NeDx2bNyH5UVMFHfN9buL3NrH8ts+bTduI1/vsW1NQn7IW0gOfwhk4peRkZGBu0EaU9x2OoyMjIyMMVg3Hu863u6iPfSYQhSH/Li3GX9XfSd3l1uHWEw8hHvIreVITrDS5y8o4fPIxC8jIyNjR9xF0jiEU/OrzMjIeLkwdrzdZWzdxtRzCNuYxe+TLHrskzR6pH18SIuU24g10PfMvGwyLRO/jIyMjCPiGHn6PF420pmRkZHhsc+xdd1YeRDLib0YcXYxFAxnp8jSO5jXbsJQnsZ12Fmm3QFXikz8MjIyMu4osqYyIyMjYzMOEbBmHaaSyV1Ixj41kkO4rcBmhzQxnYpT1RRm4peRkZGRMRmHMBPKyMjIeFFxGyaoQ9iHv+AU7BrVeRst47GiYh/LxPRQyMQvIyMjI+MoOKaZa0ZGRsYxcNvawyHcplYxxS7EcRfT1FONin2bsjATv4yMjIyMjIyMjIwTwSmZLHrcluniIYLl7BOeeJ6qKecmZOKXkZGRkZGRkZGR8RJjKpk8lin+PiOXHgL7JJ47BdbZEpn4ZWRkZGRkZGRkZGQEnIpJ6hRsSxqPFYHzGNrLTPwyMjIyMjIyMjIyMibhRdEibsKpaxn3CWI+fRtVIvoQwB8cux1b4hMAfnDsRrzgyH24H+R+3B25D/eDTf34WWb+5G015kXHCywj8/u0H+R+3B25D/eD3I+746Dy8YUgfi8yiOgfMfNPHrsdLzJyH+4HuR93R+7D/SD3YwaQn4N9Iffj7sh9uB/kftwdh+7D2/cqzMjIyMjIyMjIyMjIyLhVZOKXkZGRkZGRkZGRkZHxkiMTv8PjK8duwEuA3If7Qe7H3ZH7cD/I/ZgB5OdgX8j9uDtyH+4HuR93x0H7MPv4ZWRkZGRkZGRkZGRkvOTIGr+MjIyMjIyMjIyMjIyXHJn4HQhE9AUi+gYRvU1Ev3Ds9pw6iOg7RPTPiOi3iegf6bHXiejXiOj3dfuaHici+m+1b3+HiH7iuK0/DojoV4jo+0T0u9GxyX1GRD+n5X+fiH7uGN/lmBjox79GRO/p8/jbRPSz0blf1H78BhH92ej4nX3niegtIvp/iej3iOjrRPSf6PH8PGb04i6/L1OR5eN2yDJyd2T5uB+clIxk5vy35z8AFsA3AfwYgBmAfwrgx4/drlP+A/AdAJ9Ijv2XAH5BP/8CgL+hn38WwP8NgAD8NIB/eOz2H6nP/jSAnwDwu9v2GYDXAXxLt6/p59eO/d1OoB//GoD/rKfsj+v7PAfwOX3P7V1/5wF8GsBP6OcHAP6l9lV+HvNf3/Nyp9+XLfory8ft+i3LyMP0YZaP0/vxZGRk1vgdBj8F4G1m/hYzLwF8FcAXj9ymFxFfBPB39PPfAfDvR8f/Jxb8BoBXiejTR2jfUcHM/x+Aj5PDU/vszwL4NWb+mJkfAfg1AF84eONPCAP9OIQvAvgqMy+Y+dsA3oa873f6nWfm95n5n+jnZwD+OYDPID+PGf240+/LnpDl4wZkGbk7snzcD05JRmbidxh8BsA70f67eixjGAzgHxDRPyaiL+uxN5n5ff38AYA39XPu32FM7bPcl8P4eTWx+BVvfoHcjxtBRD8K4F8H8A+Rn8eMfuTfeRqyfNwf8pi0H2T5uCWOLSMz8cs4FfwpZv4JAH8OwF8loj8dn2TRcecQtBOQ+2wn/PcA/iiAPwHgfQD/9VFb84KAiO4D+D8A/KfM/DQ+l5/HjIytkeXjAZD7bWtk+bglTkFGZuJ3GLwH4K1o/0f0WMYAmPk93X4fwP8FMQ34njdR0e33tXju32FM7bPclz1g5u8xc8PMDsD/AHkegdyPgyCiEiLQ/i4z/596OD+PGX3Iv/MEZPm4V+QxaUdk+bgdTkVGZuJ3GPwWgM8T0eeIaAbgSwC+duQ2nSyI6IKIHvjPAH4GwO9C+sxHLPo5AH9PP38NwH+gUY9+GsCTSFV+1zG1z34VwM8Q0WtqrvEzeuxOI/GJ+fOQ5xGQfvwSEc2J6HMAPg/gN3HH33kiIgD/I4B/zsx/MzqVn8eMPtzp92UKsnzcO/KYtCOyfJyOk5KRUyLB5L9JEXx+FhK155sAfunY7TnlP0ikp3+qf1/3/QXgDQD/D4DfB/DrAF7X4wTgl7Vv/xmAnzz2dzhSv/2vEDOLCmLn/Ve26TMAfxnihP02gL907O91Iv34P2s//Y4OwJ+Oyv+S9uM3APy56PidfecB/CmIicrvAPht/fvZ/DzmvzXPzJ19Xyb2U5aP2/ddlpGH6cMsH6f348nISNJKMjIyMjIyMjIyMjIyMl5SZFPPjIyMjIyMjIyMjIyMlxyZ+GVkZGRkZGRkZGRkZLzkyMQvIyMjIyMjIyMjIyPjJUcmfhkZGRkZGRkZGRkZGS85MvHLyMjIyMjIyMjIyMh4yZGJX0ZGRkZGRkZGRkZGxkuOTPwyMjIyMjIyMjIyMjJecmTil5GRkZGRkZGRkZGR8ZLj/wfoMywMRBG1lgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -530,16 +531,16 @@ "\n", "fig, axarr = plt.subplots(2, 2, figsize=(15,8))\n", "\n", - "horizontal_plane = fi.calculate_horizontal_plane( wd=[wind_directions[0]], height=90.0 )\n", + "horizontal_plane = fi.calculate_horizontal_plane(wd=[wind_directions[0]], height=90.0)\n", "visualize_cut_plane(horizontal_plane, ax=axarr[0,0], title=\"270 - Aligned\")\n", "\n", - "horizontal_plane = fi.calculate_horizontal_plane( wd=[wind_directions[0]], yaw_angles=yaw_angles[0:1,0:1] , height=90.0 )\n", + "horizontal_plane = fi.calculate_horizontal_plane(wd=[wind_directions[0]], yaw_angles=yaw_angles[0:1,0:1] , height=90.0)\n", "visualize_cut_plane(horizontal_plane, ax=axarr[0,1], title=\"270 - Yawed\")\n", "\n", - "horizontal_plane = fi.calculate_horizontal_plane( wd=[wind_directions[1]], height=90.0 )\n", + "horizontal_plane = fi.calculate_horizontal_plane(wd=[wind_directions[1]], height=90.0)\n", "visualize_cut_plane(horizontal_plane, ax=axarr[1,0], title=\"280 - Aligned\")\n", "\n", - "horizontal_plane = fi.calculate_horizontal_plane( wd=[wind_directions[1]], yaw_angles=yaw_angles[1:2,0:1] , height=90.0 )\n", + "horizontal_plane = fi.calculate_horizontal_plane(wd=[wind_directions[1]], yaw_angles=yaw_angles[1:2,0:1] , height=90.0)\n", "visualize_cut_plane(horizontal_plane, ax=axarr[1,1], title=\"280 - Yawed\")" ] }, @@ -572,7 +573,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -584,7 +585,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWYAAADgCAYAAAAwuMxnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAASnklEQVR4nO3de5RlZX3m8e/T1TQ00DYI6ggT2ltA0aUmYjB4SSKobSbquDIxBDXeEhOTtRI15uIkEYVxzTKaZCaahOkZo1EJ42VwBcegMIly0xDxbus0lygNtAGaVhoaRKn65Y99KhzKrsspqjzvqf39rLWXdfbl3W9ti+e8/du3VBWSpHasG3cHJEn3ZjBLUmMMZklqjMEsSY0xmCWpMQazJDXGYO65JE9NsuM+bF9JHrHEdd+Y5H2Dn49JcnuSqeXue6mSvDDJBau9H2mlGMxrTJLXJzl/zryr5pl3alVdUlXH/WB7CVW1s6oOrarplWw3yUMGXxbrh/Z1dlU9cyX3M9jXk5JcmGRPkpuTfDDJg4eWH5jkrCQ3Dtb5SJKjh5bfP8mHk+xLcm2S01a6j5pMBvPaczFw0uxIdBAUBwA/MmfeIwbrNiedSfjbPBzYBjwE2ALcBrxraPlvAj8OPBY4CvgW8Pah5X8OfBd4EPBC4C+TPHrVe63mTcIfv0bzGbogfvzg81OBTwA75sy7pqp2JfnJJNfPbpzkG0lel+RLSW5N8v4kBw0t/+0k30yyK8nLF+pIkocmuSjJbUkuBI4cWnavkW2STyZ5c5LLgDuAhyV55NCIdEeSFwxtvzHJHw9GmrcmuTTJRu75svn2oFTy40lemuTSoW1PSvKZwXafSXLS0LJPJjkzyWWDfl+Q5N/6Payqzq+qD1bV3qq6A3gH8OShVR4KfLyqbqyq7wDvBx492M8hwM8Cf1hVt1fVpcB5wIsXOqbqB4N5jamq7wKXA08bzHoacAlw6Zx5C42WXwBspQuWxwIvBUiyFXgd8Azgh4FTFunO3wCfpQvkM4GXLLL+i4FXApuAm4ELB208EDgV+Iskxw/WfRvwBOAk4P7A7wAzQ7/jYYNSyaeHd5Dk/sBHgT8DjgD+BPhokiOGVjsNeNlgvxsGv/NSPA3YPvT5ncCTkxyV5GC6UfFsSelY4O6qunJo/S8yCG71m8G8Nl3EPQH1VLpgvmTOvIsW2P7PqmpXVe0BPsI9I+0XAO+qqq9U1T7gjfM1kOQY4Il0I8K7quriQVsLeXdVba+qu+m+GL5RVe+qqrur6vPA/wF+blDmeDnwm1V1Q1VNV9WnququRdoH+A/AVVX13kG75wD/H3jO0Drvqqorq+pO4ANDv/+8kjwWeAPw20OzrwKuA24A9gKPAs4YLDt0MG/YrXRfSuo5g3ltuhh4ymB0+ICqugr4FF3t+f7AY1h4xPwvQz/fQRci0NVJrxtadu0CbRwFfGsQ4EtZnzltbwFOTPLt2YluxPnv6EbgBwHXLNLefP2a249rgaOHPs/3++/X4KqU8+m+KC4ZWvTnwIF0I/NDgHO5Z8R8O3C/OU3dj65OrZ4zmNemTwObgV8GLgOoqr3ArsG8XVX19WW0+03gh4Y+H7PIuocPaqlLWR9g+FGH1wEXVdVhQ9OhVfUqYDfwHeDhi7SxP7voQn/YMXSj2pEl2QL8P+DMqnrvnMWPp/tXwJ7BaP7twI8NatZXAuuT/PDQ+o/j3qUQ9ZTBvAYN/gl+BfBauhLGrEsH85Z7NcYHgJcmOX5QMz19gT5cO+jDm5JsSPIU7l0uWMz/BY5N8uIkBwymJyZ5VFXNAH8F/Mmgfjs1OMl3IF1tegZ42Dzt/t2g3dOSrE/y88Dxg/2NZHDp2z8A76iqs/azymeAX0yyOckBwK/RfSnuHvxL4lzgjCSHJHky8DxgbrirhwzmtesiupNXlw7Nu2Qwb1nBXFXnA/+NLoyuHvzvQk4DTgT20IX4e0bY123AM+lO+u2iKy+8ha40AN0JuS/Thd+ewbJ1g6sj3gxcNiiBPGlOu7cAPwP8FnAL3UnDn6mq3Uvt25BfovsCeOPgCpDbk9w+tPx1dCP7q+i+MH4aeP7Q8l8DNgI3AecAr6oqR8wiPihfktriiFmSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMYYzJLUGINZkhpjMEtSYwxmSWqMwSxJjTGYJakxBrMkNcZglqTGGMyS1BiDWZIaYzBLUmMMZklqjMEsSY0xmCWpMQazJDXGYJakxhjMktQYg1mSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMYYzJLUGINZkhpjMEtSYwxmSWqMwSxJjTGYJakxBrMkNcZglqTGGMyS1BiDWZIaYzBLUmMMZklqjMEsSY0xmCWpMQazJDXGYJakxhjMktQYg1mSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMasH3cHJOkH4QlTh9Temh5pm6vrro9X1dZV6tK8DGZJvXBbZnjHYQ8faZute7565Cp1Z0EGs6R+CKxbn3H3YkkMZkm9kHVhauNknFYzmCX1wzoMZklqSQJTGwxmSWpIyDprzJLUjG7EPDXubiyJwSypHxKmDrCUIUnNSGDdAY6YJakdjpglqS0JnvyTpKYE1q2fjFLGZIzrJek+yqCUMcq0xHZfk2R7kq8kOSfJQXOWvzbJV5N8KcnfJ9myWJsGs6R+GIyYR5kWbTI5GvgN4ISqegwwBZw6Z7XPD5Y/FvgQ8EeLtWswS+qJ7gaTUaYlWg9sTLIeOBjYNbywqj5RVXcMPv4j8O+X0qAkrXlZXo35yCRXDH3eVlXbZj9U1Q1J3gbsBO4ELqiqCxZo7xXA+Yvt1GCW1A/Lu1xud1WdMH+TORx4HvBQ4NvAB5O8qKret591XwScAPzEYjs1mCX1wjJHzIs5Bfh6Vd3c7SPnAicB9wrmJKcAvw/8RFXdtVijBrOknshqBPNO4ElJDqYrZZwMDJc+SPIjwP8AtlbVTUtp1GCW1A+rcINJVV2e5EPA54C76a7A2JbkDOCKqjoPeCtwKF2ZA2BnVT13oXYNZkk9ETK18jeYVNXpwOlzZr9haPkpo7ZpMEvqhVWqMa8Kg1lSP2RVasyrwmCW1BuT8hCjpu78S3L70DST5M6hzy8crPOaJP+SZG+Sv0py4Lj7PS6LHa8kj0ny8SS7k9S4+ztuSzheL0ny2cHf1vVJ/mhwN1cvLeF4nZpkR5Jbk9yU5K+T3G/c/Z5PErJ+aqRpXJoK5qo6dHaiuwzlOUPzzk7yLOD36C5J2QI8DHjTGLs8VosdL+B7wAfo7jbqvSUcr4OBVwNHAifS/Z29bmwdHrMlHK/LgCdX1Wa6/xbXA/9ljF1eWGDd1NRI07hM2mjgJcA7q2o7QJIzgbPpwlpzVNUOYEeSR4y7L5Ogqv5y6OMNSc4Gfmpc/WldVV03Z9Y00O7f2mDEPAkmLZgfDfzt0OcvAg9KckRV3TKmPmntehqwfdydaFmSpwAfBe4H3AE8f7w9ml/IWEfBo5i0YD4UuHXo8+zPmwCDWSsmycvpnmvwS+PuS8uq6lJg8+Dxl78MfGO8PVpAgAk5+TdpwXw73TfzrNmfbxtDX7RGJfmPwH8FTqmq3WPuzkQYPGXtY8D/Bn503P2Zz6RcLtfUyb8l2A48bujz44AbLWNopSTZCvxPuhNdXx53fybMeuDh4+7EvNLd+TfKNC6TFszvAV6R5PgkhwF/ALx7rD1qWDoHARsGnw/q8+WFi0nydLqTyT9bVf807v60bnDJ3DGDn7cAbwb+fry9ml8M5tVRVR+jey3LJ+gu37mW779HXffYQvfEq9kTWHcCO8bXneb9IbAZ+Luh63UXfah5jx0PfCrJPrpL53bQ1ZnbtW7daNOYpKr39x1I6oEf3fLguvh3XzLSNpt+/S2fXehB+atl0k7+SdKyjbM8MQqDWVI/eIOJJDUmgCNmSWpJuocyT4CRgnlzpuqBHLBafWnaTXyPW2t6pP9XPV7jP17rNqzOf4gHbt64ou1df9s+9tx515o9XgcdtrLH67q9ox8vApmajLHoSL18IAfwp1NbVqsvTXvN9LUjb+PxGs1qHK+ND96wou3NOu45j1zR9n76/aNf/jtJx+tRz3/0irb37L+5YORtskqvlloNk/H1IUn3VWKNWZKasxZrzJI0sRJYizVmSZpoljIkqSHWmCWpQesMZklqRzLWJ8aNYjJ6KUkrYd3UaNMSJHlNku1JvpLknMEz0IeXH5jk/UmuTnJ5kocs2s3l/XaSNGFma8yjTIs2maOB3wBOqKrHAFPAqXNWewXwrap6BPCnwFsWa9dgltQLRah1UyNNS7Qe2JhkPXAwsGvO8ucBfz34+UPAycnCF1QbzJL6I+tGmxZRVTcAb6N7o9I3gVurau794kcD1w3Wvxu4FThioXYNZkn9kGWNmI9McsXQ9Mp7N5nD6UbEDwWOAg5J8qL72lWvypDUH6Nfx7x7kVdLnQJ8vapuBkhyLnAS8L6hdW4Afgi4flDu2AzcstBOHTFL6ofljZgXsxN4UpKDB3Xjk4GvzVnnPGD2ZYP/CfiHWuRlq46YJfVERjmhtyRVdXmSDwGfA+4GPg9sS3IGcEVVnQe8E3hvkquBPXz/VRvfx2CW1Bu1hBN6I7dZdTpw+pzZbxha/h3g50Zp02CW1A+Jt2RLUksKVryUsVoMZkk9EWayBoN507FH8fRtb1qtvjRt0yv/8+jbeLxG2+a4o3n6tjNWtB/TGw5e0fZmfeOIJ65oe9OffNbI26zK8TrwkBVtb9Y1h5+4ou1978JnLG/DVagxrwZHzJJ6oRJmLGVIUlusMUtSU9ZojVmSJlZCGcyS1I6iqzNPAoNZUm9YypCkpnhVhiQ1peLJP0lqTmGNWZKa4ohZkhpSXscsSe2ZmZCXNhnMknqhCDM4YpakpnjyT5KaEksZktSSAmbKYJakpjhilqSmhCprzJLUjAKmHTFLUkPKGrMkNaXI2gzm6/dt5rcuH/1tvmvB9fvesoxtPF6juO72Tbz208t8+/E87vrO91a0vVlXf/6qFW1v53V3jbzNJB2vK6/46oq2t/P6O5e13bQ1Zklqy6Sc/JuMcb0k3UezpYxRpsUkOS7JF4amvUlePWedzUk+kuSLSbYnedli7TpiltQPtfKljKraATweIMkUcAPw4Tmr/Trw1ap6TpIHADuSnF1V352vXYNZUi/8AO78Oxm4pqqu3c+uNyUJcCiwB7h7oYYMZkm9UTXyJkcmuWLo87aq2jbPuqcC5+xn/juA84BdwCbg56tqZqGdGsySeqEI06OPmHdX1QmLrZRkA/Bc4PX7Wfws4AvA04GHAxcmuaSq9s7Xnif/JPXGTGWkaQTPBj5XVTfuZ9nLgHOrczXwdeCRCzXmiFlSL1TB9MyqXS73C+y/jAGwk67+fEmSBwHHAf+8UGMGs6TeWI0bTJIcAjwD+JWheb8KUFVnAWcC707yZSDA71bV7oXaNJgl9cYyTv4toc3aBxwxZ95ZQz/vAp45SpsGs6ReqMpqljJWlMEsqTdGPKE3NgazpF4oYHrBq4fbYTBL6o3VqDGvBoNZUi+s8uVyK8pgltQbljIkqSFVMOOIWZLa4ck/SWqQJ/8kqSU1OSPm1AhfIUluBuY+BLovtlTVA0bZwOPl8RqBx2s0Ix+vLceeUK9/+xWLrzjkVVvz2aU89nOljTRiHvVA9J3HazQer9F4vEZTEzRitpQhqTdGqRCMk8EsqTemp8fdg6UxmCX1gqUMSWrQzLSlDElqhiNmSWrQzIwjZklqRvesjHH3YmkMZkk9UUxbY5akdlRhMEtSa7zBRJIa4ohZkhpkMEtSQ6rKG0wkqTXTE3K93Lpxd0CSfhC665hrpGkxSY5L8oWhaW+SV+9nvZ8cLN+e5KLF2nXELKk3VrqUUVU7gMcDJJkCbgA+PLxOksOAvwC2VtXOJA9crF2DWVIvVBXTq/uwjJOBa6pq7ltlTgPOraqdg37ctFhDBrOkflje5XJHJhl+H9W2qto2z7qnAufsZ/6xwAFJPglsAv57Vb1noZ0azJJ6oYAa/SFGu5fyzr8kG4DnAq/fz+L1wBPoRtQbgU8n+cequnK+9gxmSf2wuqWMZwOfq6ob97PseuCWqtoH7EtyMfA4YN5g9qoMSb1QwMz0zEjTCH6B/ZcxAP4WeEqS9UkOBk4EvrZQY46YJfXDKo2YkxwCPAP4laF5v9rtss6qqq8l+RjwJWAG+F9V9ZWF2jSYJfXC7Ih5xdvtShRHzJl31pzPbwXeutQ2DWZJ/VC+wUSSGlOrMmJeDQazpF6ogum7p8fdjSUxmCX1QzlilqSmLPMGk7EwmCX1Q8H0tKUMSWpGefJPkhrjyT9Jakv3aimDWZKa4sk/SWpI96B8R8yS1I6CGWvMktSOwhGzJLWloGa8XE6SGuJVGZLUlKqamBpzqibj8hFJui8GbxE5csTNdlfV1tXoz0IMZklqjC9jlaTGGMyS1BiDWZIaYzBLUmMMZklqzL8CZgZ48mTZeHEAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWYAAADgCAYAAAAwuMxnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAASnklEQVR4nO3de5RlZX3m8e/T1TQ00DYI6ggT2ltA0aUmYjB4SSKobSbquDIxBDXeEhOTtRI15uIkEYVxzTKaZCaahOkZo1EJ42VwBcegMIly0xDxbus0lygNtAGaVhoaRKn65Y99KhzKrsspqjzvqf39rLWXdfbl3W9ti+e8/du3VBWSpHasG3cHJEn3ZjBLUmMMZklqjMEsSY0xmCWpMQazJDXGYO65JE9NsuM+bF9JHrHEdd+Y5H2Dn49JcnuSqeXue6mSvDDJBau9H2mlGMxrTJLXJzl/zryr5pl3alVdUlXH/WB7CVW1s6oOrarplWw3yUMGXxbrh/Z1dlU9cyX3M9jXk5JcmGRPkpuTfDDJg4eWH5jkrCQ3Dtb5SJKjh5bfP8mHk+xLcm2S01a6j5pMBvPaczFw0uxIdBAUBwA/MmfeIwbrNiedSfjbPBzYBjwE2ALcBrxraPlvAj8OPBY4CvgW8Pah5X8OfBd4EPBC4C+TPHrVe63mTcIfv0bzGbogfvzg81OBTwA75sy7pqp2JfnJJNfPbpzkG0lel+RLSW5N8v4kBw0t/+0k30yyK8nLF+pIkocmuSjJbUkuBI4cWnavkW2STyZ5c5LLgDuAhyV55NCIdEeSFwxtvzHJHw9GmrcmuTTJRu75svn2oFTy40lemuTSoW1PSvKZwXafSXLS0LJPJjkzyWWDfl+Q5N/6Payqzq+qD1bV3qq6A3gH8OShVR4KfLyqbqyq7wDvBx492M8hwM8Cf1hVt1fVpcB5wIsXOqbqB4N5jamq7wKXA08bzHoacAlw6Zx5C42WXwBspQuWxwIvBUiyFXgd8Azgh4FTFunO3wCfpQvkM4GXLLL+i4FXApuAm4ELB208EDgV+Iskxw/WfRvwBOAk4P7A7wAzQ7/jYYNSyaeHd5Dk/sBHgT8DjgD+BPhokiOGVjsNeNlgvxsGv/NSPA3YPvT5ncCTkxyV5GC6UfFsSelY4O6qunJo/S8yCG71m8G8Nl3EPQH1VLpgvmTOvIsW2P7PqmpXVe0BPsI9I+0XAO+qqq9U1T7gjfM1kOQY4Il0I8K7quriQVsLeXdVba+qu+m+GL5RVe+qqrur6vPA/wF+blDmeDnwm1V1Q1VNV9WnququRdoH+A/AVVX13kG75wD/H3jO0Drvqqorq+pO4ANDv/+8kjwWeAPw20OzrwKuA24A9gKPAs4YLDt0MG/YrXRfSuo5g3ltuhh4ymB0+ICqugr4FF3t+f7AY1h4xPwvQz/fQRci0NVJrxtadu0CbRwFfGsQ4EtZnzltbwFOTPLt2YluxPnv6EbgBwHXLNLefP2a249rgaOHPs/3++/X4KqU8+m+KC4ZWvTnwIF0I/NDgHO5Z8R8O3C/OU3dj65OrZ4zmNemTwObgV8GLgOoqr3ArsG8XVX19WW0+03gh4Y+H7PIuocPaqlLWR9g+FGH1wEXVdVhQ9OhVfUqYDfwHeDhi7SxP7voQn/YMXSj2pEl2QL8P+DMqnrvnMWPp/tXwJ7BaP7twI8NatZXAuuT/PDQ+o/j3qUQ9ZTBvAYN/gl+BfBauhLGrEsH85Z7NcYHgJcmOX5QMz19gT5cO+jDm5JsSPIU7l0uWMz/BY5N8uIkBwymJyZ5VFXNAH8F/Mmgfjs1OMl3IF1tegZ42Dzt/t2g3dOSrE/y88Dxg/2NZHDp2z8A76iqs/azymeAX0yyOckBwK/RfSnuHvxL4lzgjCSHJHky8DxgbrirhwzmtesiupNXlw7Nu2Qwb1nBXFXnA/+NLoyuHvzvQk4DTgT20IX4e0bY123AM+lO+u2iKy+8ha40AN0JuS/Thd+ewbJ1g6sj3gxcNiiBPGlOu7cAPwP8FnAL3UnDn6mq3Uvt25BfovsCeOPgCpDbk9w+tPx1dCP7q+i+MH4aeP7Q8l8DNgI3AecAr6oqR8wiPihfktriiFmSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMYYzJLUGINZkhpjMEtSYwxmSWqMwSxJjTGYJakxBrMkNcZglqTGGMyS1BiDWZIaYzBLUmMMZklqjMEsSY0xmCWpMQazJDXGYJakxhjMktQYg1mSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMYYzJLUGINZkhpjMEtSYwxmSWqMwSxJjTGYJakxBrMkNcZglqTGGMyS1BiDWZIaYzBLUmMMZklqjMEsSY0xmCWpMQazJDXGYJakxhjMktQYg1mSGmMwS1JjDGZJaozBLEmNMZglqTEGsyQ1xmCWpMasH3cHJOkH4QlTh9Temh5pm6vrro9X1dZV6tK8DGZJvXBbZnjHYQ8faZute7565Cp1Z0EGs6R+CKxbn3H3YkkMZkm9kHVhauNknFYzmCX1wzoMZklqSQJTGwxmSWpIyDprzJLUjG7EPDXubiyJwSypHxKmDrCUIUnNSGDdAY6YJakdjpglqS0JnvyTpKYE1q2fjFLGZIzrJek+yqCUMcq0xHZfk2R7kq8kOSfJQXOWvzbJV5N8KcnfJ9myWJsGs6R+GIyYR5kWbTI5GvgN4ISqegwwBZw6Z7XPD5Y/FvgQ8EeLtWswS+qJ7gaTUaYlWg9sTLIeOBjYNbywqj5RVXcMPv4j8O+X0qAkrXlZXo35yCRXDH3eVlXbZj9U1Q1J3gbsBO4ELqiqCxZo7xXA+Yvt1GCW1A/Lu1xud1WdMH+TORx4HvBQ4NvAB5O8qKret591XwScAPzEYjs1mCX1wjJHzIs5Bfh6Vd3c7SPnAicB9wrmJKcAvw/8RFXdtVijBrOknshqBPNO4ElJDqYrZZwMDJc+SPIjwP8AtlbVTUtp1GCW1A+rcINJVV2e5EPA54C76a7A2JbkDOCKqjoPeCtwKF2ZA2BnVT13oXYNZkk9ETK18jeYVNXpwOlzZr9haPkpo7ZpMEvqhVWqMa8Kg1lSP2RVasyrwmCW1BuT8hCjpu78S3L70DST5M6hzy8crPOaJP+SZG+Sv0py4Lj7PS6LHa8kj0ny8SS7k9S4+ztuSzheL0ny2cHf1vVJ/mhwN1cvLeF4nZpkR5Jbk9yU5K+T3G/c/Z5PErJ+aqRpXJoK5qo6dHaiuwzlOUPzzk7yLOD36C5J2QI8DHjTGLs8VosdL+B7wAfo7jbqvSUcr4OBVwNHAifS/Z29bmwdHrMlHK/LgCdX1Wa6/xbXA/9ljF1eWGDd1NRI07hM2mjgJcA7q2o7QJIzgbPpwlpzVNUOYEeSR4y7L5Ogqv5y6OMNSc4Gfmpc/WldVV03Z9Y00O7f2mDEPAkmLZgfDfzt0OcvAg9KckRV3TKmPmntehqwfdydaFmSpwAfBe4H3AE8f7w9ml/IWEfBo5i0YD4UuHXo8+zPmwCDWSsmycvpnmvwS+PuS8uq6lJg8+Dxl78MfGO8PVpAgAk5+TdpwXw73TfzrNmfbxtDX7RGJfmPwH8FTqmq3WPuzkQYPGXtY8D/Bn503P2Zz6RcLtfUyb8l2A48bujz44AbLWNopSTZCvxPuhNdXx53fybMeuDh4+7EvNLd+TfKNC6TFszvAV6R5PgkhwF/ALx7rD1qWDoHARsGnw/q8+WFi0nydLqTyT9bVf807v60bnDJ3DGDn7cAbwb+fry9ml8M5tVRVR+jey3LJ+gu37mW779HXffYQvfEq9kTWHcCO8bXneb9IbAZ+Luh63UXfah5jx0PfCrJPrpL53bQ1ZnbtW7daNOYpKr39x1I6oEf3fLguvh3XzLSNpt+/S2fXehB+atl0k7+SdKyjbM8MQqDWVI/eIOJJDUmgCNmSWpJuocyT4CRgnlzpuqBHLBafWnaTXyPW2t6pP9XPV7jP17rNqzOf4gHbt64ou1df9s+9tx515o9XgcdtrLH67q9ox8vApmajLHoSL18IAfwp1NbVqsvTXvN9LUjb+PxGs1qHK+ND96wou3NOu45j1zR9n76/aNf/jtJx+tRz3/0irb37L+5YORtskqvlloNk/H1IUn3VWKNWZKasxZrzJI0sRJYizVmSZpoljIkqSHWmCWpQesMZklqRzLWJ8aNYjJ6KUkrYd3UaNMSJHlNku1JvpLknMEz0IeXH5jk/UmuTnJ5kocs2s3l/XaSNGFma8yjTIs2maOB3wBOqKrHAFPAqXNWewXwrap6BPCnwFsWa9dgltQLRah1UyNNS7Qe2JhkPXAwsGvO8ucBfz34+UPAycnCF1QbzJL6I+tGmxZRVTcAb6N7o9I3gVurau794kcD1w3Wvxu4FThioXYNZkn9kGWNmI9McsXQ9Mp7N5nD6UbEDwWOAg5J8qL72lWvypDUH6Nfx7x7kVdLnQJ8vapuBkhyLnAS8L6hdW4Afgi4flDu2AzcstBOHTFL6ofljZgXsxN4UpKDB3Xjk4GvzVnnPGD2ZYP/CfiHWuRlq46YJfVERjmhtyRVdXmSDwGfA+4GPg9sS3IGcEVVnQe8E3hvkquBPXz/VRvfx2CW1Bu1hBN6I7dZdTpw+pzZbxha/h3g50Zp02CW1A+Jt2RLUksKVryUsVoMZkk9EWayBoN507FH8fRtb1qtvjRt0yv/8+jbeLxG2+a4o3n6tjNWtB/TGw5e0fZmfeOIJ65oe9OffNbI26zK8TrwkBVtb9Y1h5+4ou1978JnLG/DVagxrwZHzJJ6oRJmLGVIUlusMUtSU9ZojVmSJlZCGcyS1I6iqzNPAoNZUm9YypCkpnhVhiQ1peLJP0lqTmGNWZKa4ohZkhpSXscsSe2ZmZCXNhnMknqhCDM4YpakpnjyT5KaEksZktSSAmbKYJakpjhilqSmhCprzJLUjAKmHTFLUkPKGrMkNaXI2gzm6/dt5rcuH/1tvmvB9fvesoxtPF6juO72Tbz208t8+/E87vrO91a0vVlXf/6qFW1v53V3jbzNJB2vK6/46oq2t/P6O5e13bQ1Zklqy6Sc/JuMcb0k3UezpYxRpsUkOS7JF4amvUlePWedzUk+kuSLSbYnedli7TpiltQPtfKljKraATweIMkUcAPw4Tmr/Trw1ap6TpIHADuSnF1V352vXYNZUi/8AO78Oxm4pqqu3c+uNyUJcCiwB7h7oYYMZkm9UTXyJkcmuWLo87aq2jbPuqcC5+xn/juA84BdwCbg56tqZqGdGsySeqEI06OPmHdX1QmLrZRkA/Bc4PX7Wfws4AvA04GHAxcmuaSq9s7Xnif/JPXGTGWkaQTPBj5XVTfuZ9nLgHOrczXwdeCRCzXmiFlSL1TB9MyqXS73C+y/jAGwk67+fEmSBwHHAf+8UGMGs6TeWI0bTJIcAjwD+JWheb8KUFVnAWcC707yZSDA71bV7oXaNJgl9cYyTv4toc3aBxwxZ95ZQz/vAp45SpsGs6ReqMpqljJWlMEsqTdGPKE3NgazpF4oYHrBq4fbYTBL6o3VqDGvBoNZUi+s8uVyK8pgltQbljIkqSFVMOOIWZLa4ck/SWqQJ/8kqSU1OSPm1AhfIUluBuY+BLovtlTVA0bZwOPl8RqBx2s0Ix+vLceeUK9/+xWLrzjkVVvz2aU89nOljTRiHvVA9J3HazQer9F4vEZTEzRitpQhqTdGqRCMk8EsqTemp8fdg6UxmCX1gqUMSWrQzLSlDElqhiNmSWrQzIwjZklqRvesjHH3YmkMZkk9UUxbY5akdlRhMEtSa7zBRJIa4ohZkhpkMEtSQ6rKG0wkqTXTE3K93Lpxd0CSfhC665hrpGkxSY5L8oWhaW+SV+9nvZ8cLN+e5KLF2nXELKk3VrqUUVU7gMcDJJkCbgA+PLxOksOAvwC2VtXOJA9crF2DWVIvVBXTq/uwjJOBa6pq7ltlTgPOraqdg37ctFhDBrOkflje5XJHJhl+H9W2qto2z7qnAufsZ/6xwAFJPglsAv57Vb1noZ0azJJ6oYAa/SFGu5fyzr8kG4DnAq/fz+L1wBPoRtQbgU8n+cequnK+9gxmSf2wuqWMZwOfq6ob97PseuCWqtoH7EtyMfA4YN5g9qoMSb1QwMz0zEjTCH6B/ZcxAP4WeEqS9UkOBk4EvrZQY46YJfXDKo2YkxwCPAP4laF5v9rtss6qqq8l+RjwJWAG+F9V9ZWF2jSYJfXC7Ih5xdvtShRHzJl31pzPbwXeutQ2DWZJ/VC+wUSSGlOrMmJeDQazpF6ogum7p8fdjSUxmCX1QzlilqSmLPMGk7EwmCX1Q8H0tKUMSWpGefJPkhrjyT9Jakv3aimDWZKa4sk/SWpI96B8R8yS1I6CGWvMktSOwhGzJLWloGa8XE6SGuJVGZLUlKqamBpzqibj8hFJui8GbxE5csTNdlfV1tXoz0IMZklqjC9jlaTGGMyS1BiDWZIaYzBLUmMMZklqzL8CZgZ48mTZeHEAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -656,7 +657,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -731,9 +732,9 @@ "Calculating AEP for 1440 wind direction and speed combinations...\n", "Number of turbines = 25\n", "Model AEP (GWh) Compute Time (s)\n", - "Jensen 843.233 3.977 \n", - "GCH 843.909 6.434 \n", - "CC 839.267 10.937\n" + "Jensen 843.233 3.353 \n", + "GCH 843.909 5.335 \n", + "CC 839.267 9.463 \n" ] } ], @@ -765,9 +766,9 @@ "fi_cc = FlorisInterface(\"inputs/cc.yaml\")\n", "\n", "# Assign the layouts, wind speeds and directions\n", - "fi_jensen.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds)\n", - "fi_gch.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds)\n", - "fi_cc.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds)\n", + "fi_jensen.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds)\n", + "fi_gch.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds)\n", + "fi_cc.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds)\n", "\n", "def time_model_calculation(model_fi: FlorisInterface) -> Tuple[float, float]:\n", " \"\"\"\n", @@ -828,7 +829,7 @@ "Y = np.zeros_like(X)\n", "wind_speeds = [8.]\n", "wind_directions = np.arange(0., 360., 2.)\n", - "fi_gch.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds)" + "fi_gch.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds)" ] }, { @@ -875,7 +876,7 @@ "[Serial Refine] Processing pass=1, turbine_depth=4 (78.6 %)\n", "[Serial Refine] Processing pass=1, turbine_depth=5 (85.7 %)\n", "[Serial Refine] Processing pass=1, turbine_depth=6 (92.9 %)\n", - "Optimization wall time: 2.130 s\n" + "Optimization wall time: 2.718 s\n" ] } ], @@ -917,7 +918,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAJNCAYAAADgY3uzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAACE0ElEQVR4nOzde3yU9Zn//9dFCAmQgBgwclATlaPahoPg2aDiqdZzPSuxbul2e5D91rb2a7fSdrt1d7v9ud3WftfdCnhk1drq2lprlahURUFQOYhQBI2CYhBzgEAI1++PmWDEuSeTydz3ZDLv5+Mxj8zc99z3fc3FPeHK5/O5P7e5OyIiIiISvj7ZDkBEREQkX6jwEhEREYmICi8RERGRiKjwEhEREYmICi8RERGRiKjwEhEREYlI32wHkIqhQ4d6RUVFqMdobm5m4MCBoR4jVyk3wZSbYMpNMOUmMeUlmHITrCfmZunSpR+4+7BE63Ki8KqoqGDJkiWhHqO2tpbq6upQj5GrlJtgyk0w5SaYcpOY8hJMuQnWE3NjZhuD1qmrUURE8tJDDz0U+h/1IvtS4SUiInlnz549XHLJJUybNo1vf/vbtLS0ZDskyRMqvEREJO/s2LGDtrY2Kisr+dd//Veqqqp45513sh2W5IGcGOMlIiKSSU1NTQB885vf5NBDD+XMM8/k3nvv5Vvf+laWI8s/ra2t1NXVpd3qOHjwYFavXp3hqFJTXFzMqFGjKCwsTHkbFV4iIpJ32guvkpISzjjjDCorK1m8eHGWo8pPdXV1lJaWUlFRgZl1efvGxkZKS0tDiCw5d6e+vp66ujoqKytT3k5djSIikncaGxuBWOEFMG3aNBVeWdLS0kJZWVlaRVc2mRllZWVdbqlT4SUiInmnY4sXxAqvuro63n333WyGlbdyrehql07cKRVeZjbEzI4ws0PNTMWaiIjktESFF6BWrzxTX19PVVUVVVVVHHjggYwcOXLv60ceeYSxY8dy+OGHc8stt2TsmIFjvMxsMPBV4HKgH7AFKAbKzewF4DZ3X5ixSERERCKyb+E1ceJECgsLWbx4MRdccEE2Q5MIlZWVsXz5cgDmzJlDSUkJN9xwA21tbYwZM4YnnniCUaNGcfTRR3PuuecyYcKEbh8zWevVg8DbwInuPtbdT3D3Ke5+EHALcJ6ZXRe0sZkdZGYLzWyVma00s+vjy/c3syfMbG3855BufwoREZEu2LfwKi4upqqqSi1eAsCLL77I4YcfzqGHHkq/fv247LLLePjhhzOy78DCy91nuPtd7r4twbql7j7b3X+dZN+7gW+6+wTgGOCrZjYBuBF40t1HA0/GX4uIiERm38ILYt2NS5Ysoa2tLVthSQ/xzjvvcNBBB+19PWrUqIzN89bpdBJmNinB4o+Aje6+O2g7d98EbIo/bzSz1cBI4DygOv62+UAt8J0uRS0iItINQYXXL37xC1atWsVRRx2VrdDy2uzZs/d2/aWqra2NgoKCwPVVVVXceuut3Qssg1IZKH8b8AJwO/BfwPPAA8AaMzs9lYOYWQUwEVgMlMeLMoDNQHkXYxYREemWpqYm+vTpQ3Fx8d5lGmAv7UaOHMnbb7+993VdXR0jR47MyL5TmUD1XeA6d18JEO8u/CHwbeAh4E/JNjazEuA3wGx3b+h46aW7u5l5wHazgFkA5eXl1NbWphBq+pqamkI/Rq5SboIpN8GUm2DKTWJR5uX111+nf//+PP3003uXuTuDBg3id7/7HYcffngkcaSqN58zgwcP3juv2o9+9KMub99Zixd8PG9bMjt37qSwsJDGxkbGjRvHG2+8wWuvvcaIESO49957+fWvf51wPy0tLV36t0ml8BrTXnQBuPsqMxvn7us7m7/CzAqJFV33uPtD8cXvmdlwd99kZsOB9xNt6+63E2tlY8qUKV5dXZ1CqOmrra0l7GPkKuUmmHITTLkJptwkFmVe7r77bgYPHvyp4x133HG89dZbPe7fpzefM6tXr+7WzPOZmrm+qKiIoqKivfv65S9/yUUXXURbWxtf/OIXmTp1asLtiouLmThxYsrHSaXwWmlmvwIWxF9fCqwysyKgNWgji1VlvwZWu/vPOqx6BJhJ7MrImUBmLhMQERFJUVNT0yfGd7WbNm0aP/rRjwLXS+81Z86cT7w+++yzOfvsszN+nFTGeNUA64DZ8cf6+LJWYHqS7Y4HrgZOMbPl8cfZxAquGWa2Fjgt/lpERCQyQYXVsccey549e3jhhReyEJXkg05bvNx9h5ndBjzq7mv2Wd2UZLtFQFBf5KmphygiIpJZQYXXcccdR0FBAbW1tZx22mlZiEx6u05bvMzsXGA58Mf46yozeyTkuEREREITVHiVlpYyZcqUXjuQXbIvla7Gm4GpwDYAd18OVIYXkoiISLiSjeGqrq7mxRdfpLm5OeKo8pd7wgkOerx04k6l8Gp194/2PVaXjyQiItJDdFZ4tba28vzzz0ccVX4qLi6mvr4+54ovd6e+vv4Tc8GlItWrGq8ACsxsNPAN4Lk0YhQREekRkhVeJ5xwAgUFBSxcuFDjvCIwatQo6urq2LJlS1rbt7S0dLn4yZTi4mJGjRrVpW1SKby+DtwE7ATuAx4Huj7DmYiISA/g7jQ1NQXO/VRSUsLRRx+tcV4RKSwspLIy/RFMtbW1XZpHK9s67Wp09+3ufpO7H+3uU+LPW6IITkREJNN27txJW1tb0nm6NM5LwpK08DKzmWb2spk1xx9LzOyaqIITERHJtEQ3yN5XdXU1u3fv5rnnNLJGMiuw8DKzmcQmTP0mMAIYSez+jNeb2dWRRCciIpJhqRRexx9//N75vEQyKVmL11eAC9x9obt/5O7b3P0p4CLgq9GEJyIiklmpFF7t47wWLlwYVViSJ5IVXoPcfcO+C+PLBoUVkIiISJhSKbwApk+fzksvvUR9fX0UYUmeSFZ47UhznYiISI+VauF16aWXsnv3bhYsWBBFWJInkhVe483s1QSP14BxUQUoIiKSSY2NjUDnhddnP/tZqqqqmDdvXgRRSb5INo/X+MiiEBERiUiqLV4ANTU1zJ49mxUrVnDkkUeGHZrkgWQtXm+5+8agB4CZWURxioiIZERXCq8rrriCvn37Mn/+/LDDkjyRrPBaaGZfN7ODOy40s35mdoqZzQdmhhueiIhIZnWl8Bo2bBjnnHMOd911F62trWGHJnkgWeF1JtAG3Gdm75rZKjNbD6wFLgdudfd5QRub2R1m9r6ZreiwbH8ze8LM1sZ/DsnQ5xAREUlJe+E1YMCAlN5/7bXX8t577/H444+HGZbkicDCy91b3P02dz8eOAQ4FZjk7oe4+5fcfVkn+55HrHjr6EbgSXcfDTwZfy0iIhKZpqYmBg4cSJ8+nd41D4CzzjqLYcOGMXfu3JAjk3yQ0lnn7q3uvsndt6W6Y3d/Bti6z+LzgPaO8vnA+anuT0REJBOamppS6mZsV1hYyLnnnsvTTz8dYlSSL1Ir9zOn3N03xZ9vBsojPr6IiOS5rhZeAOPHj6e+vl6TqUq3JZtOIlTu7mbmQevNbBYwC6C8vDz0+2U1NTXpnlwBlJtgyk0w5SaYcpNYVHnZsGEDQJeOtWvXLgAWLFjAEUccEUJUyemcCZZruem08DKz64Bn3H1tBo73npkNd/dNZjYceD/oje5+O3A7wJQpU7y6ujoDhw9WW1tL2MfIVcpNMOUmmHITTLlJLKq8FBcXc+CBB3bpWCNGjOD//t//S0lJSVb+7XTOBMu13KTS1Xgw8J9mtt7MHohPMVGV5vEe4eMpKGYCD6e5HxERkbSk09VYWVlJ3759WbNmTUhRSb7otPBy95vd/RTgCOBZ4FvA0s62M7P7gOeBsWZWF285uwWYYWZrgdPir0VERCKTTuFVWFjIoYceyhtvvBFSVJIvUulq/B5wPFACLANuIFaAJeXulwesOrUrAYqIiGRSOoUXwNixY9XiJd2WSlfjhUAZ8GfgIeDhDlcmioiI5JR0C68xY8awdu1a9uzZE0JUki9S6WqcRKxb8EVgBvCamS0KOzAREZEwdKfFa+fOnbz11lshRCX5IpWuxiOBE4GTgSnA26TQ1SgiItLT7Nq1i127dlFaWtrlbceMGQPAG2+8QUVFRYYjk3yRSlfjLcAg4OfAeHef7u7fDzcsERGRzGtubgZSu0H2vsaOHQugcV7SLZ22eLn7OVEEIiIiErb2G2SnU3iVl5dTWlqqKxulW1LpahwN/ASYABS3L3f3Q0OMS0REJOO6U3iZma5slG5LpatxLvArYDcwHbgTuDvMoERERMLQncILYuO81OIl3ZFK4dXf3Z8EzN03uvsc4HPhhiUiIpJ53S28xo4dy1tvvcWOHTsyGZbkkcDCy8z+YGaVwE4z6wOsNbOvmdkFxCZTFRERySmZaPFyd9atW5fJsCSPJGvxmgs8DjwGDAS+AUwGrgKuCT80ERGRzMpEixfoykZJX2Dh5e4PAJOItW4tAi4DVgDPEbuFkIiISE7pbuE1evRoAI3zkrR1dlXjLqAZKAJKAd0nQUREclZ3C6+SkhJGjhzJ6tWrMxmW5JHAwsvMzgR+BjwCTHL37ZFFJSIiEoLGxkYABg4cmPY+TjjhBP7whz+wc+dOioqKMhWa5IlkY7xuAr7g7jeq6BIRkd6gqamJ4uJi+vbtdBrLQDU1NWzdupVHH300g5FJvkg2xutEd18ZZTAiIiJhSvcG2R3NmDGDESNGMG/evMwEJXkllXm8Ms7MzjSzNWa2zsxuzEYMIiKSfzJReBUUFHD11Vfz2GOPsXnz5gxFJvki8sLLzAqAXwJnEbsN0eVmNiHqOEREJP9kovCCWHdjW1sbd9+tG7lI12SjxWsqsM7d17v7LmABcF4W4hARkTyTqcJr3LhxHHPMMcybNw93z0Bkki/SH12YvpHA2x1e1wHTshDHXmvWrGHJkiW0trZmM4we65VXXlFuAig3wZSbYMpNYlHk5Z133mHEiBEZ2de1117Ll7/8ZebOnctBBx2UkX0G0TkTrKu5mTp1KoMHDw4xouSyUXilxMxmAbMAysvLqa2tDe1Yv/jFL/jNb34T2v5FRKTnGDlyZEb+TxkxYgTFxcVcd9113Q9KInPbbbcxfvz4rB0/G4XXO0DHPw1GxZd9grvfDtwOMGXKFK+urg4toIMPPpiTTz6ZSZMmhXaMXPbyyy8rNwGUm2DKTTDlJrGo8nLUUUcxaNCgjOxr1apVvPvuuxnZVzI6Z4J1NTef+cxnKC0tDTGi5LJReL0EjI7fgPsdYrciuiILcex16KGHctRRR3H88boTUiKtra3KTQDlJphyE0y5SSwX81JZWUllZWXox8nF3EQl13Jj2RgUaGZnA7cCBcAd7v7jTt6/BdgYclhDgQ9CPkauUm6CKTfBlJtgyk1iyksw5SZYT8zNIe4+LNGKrBRePZGZLXH3KdmOoydSboIpN8GUm2DKTWLKSzDlJliu5SYrE6iKiIiI5CMVXiIiIiIRUeH1sduzHUAPptwEU26CKTfBlJvElJdgyk2wnMqNxniJiIiIREQtXiIiIiIRUeElIiIiEhEVXiIiIiIRUeElIiIiEhEVXiIiIiIRUeElIiIiEhEVXiIiIiIRUeElIiIiEpG+2Q4gFUOHDvWKiopQj9Hc3MzAgQNDPUauUm6CKTfBlJtgyk1iyksw5SZYT8zN0qVLP3D3YYnW5UThVVFRwZIlS0I9Rm1tLdXV1aEeI1cpN8GUm2DKTTDlJjHlJZhyE6wn5sbMNgatU1ejiIjkpWnTpvGrX/0q22FInlHhJSIieWfXrl28+OKLfO9736OxsTHb4UgeUeElIiJ5p7m5GYCtW7fyH//xH1mORvJJTozxEhERyaSmpiYAioqK+Ld/+ze+9rWvMWjQoCxHlX9aW1upq6ujpaUl7X0MHjyY1atXZzCq1BUXFzNq1CgKCwtT3kaFl4iI5J32wuvrX/86P/3pT/mP//gPbrrppixHlX/q6uooLS2loqICM0trH42NjZSWlmY4ss65O/X19dTV1VFZWZnydupqFBGRvNNeeFVXV3POOefwb//2bzQ0NGQ5qvzT0tJCWVlZ2kVXNpkZZWVlXW6tU+ElIiJ5p73wKikp4R/+4R/48MMPefDBB7McVX7KxaKrXTqxp9TVaGZDgBHADmCDu+/p8pFERER6iI6F16RJkxgyZAgvvPACX/ziF7McmUSpvr6eU089FYDNmzdTUFDAsGGxeU8nTZrEo48+ygEHHMCKFSsydszAwsvMBgNfBS4H+gFbgGKg3MxeAG5z94UZi0RERCQiHQsvM2Pq1KksXrw4y1FJ1MrKyli+fDkAc+bMoaSkhBtuuAGAZ555hq997Wtcc801GT1msq7GB4G3gRPdfay7n+DuU9z9IOAW4Dwzuy5oYzM7yMwWmtkqM1tpZtfHl+9vZk+Y2dr4zyEZ/UQiIiKd6Fh4QWwy1RUrVuxdLnLSSSex//77Z3y/gS1e7j4jybqlwNJO9r0b+Ka7v2xmpcBSM3sCqAGedPdbzOxG4EbgO12OXEREJE2JCq89e/awdOlSTj755GyGlrdmz569t/WpK9ra2igoKEi4rqqqiltvvbV7gWVYp4PrzWxSgsdhZpZ0fJi7b3L3l+PPG4HVwEjgPGB+/G3zgfO79QlERES6qL3war+58tSpUwHU3SihS2Vw/W3AJOBVwIAjgZXAYDP7irv/qbMdmFkFMBFYDJS7+6b4qs1AeRpxi4iIpK2pqYni4mL69o39Nzh06FAOO+wwFV5ZlG7LVLbm8UpXKoXXu8B17r4SwMwmAD8Evg08BCQtvMysBPgNMNvdGzpeeunubmYesN0sYBZAeXk5tbW1KYSavqamptCPkauUm2DKTTDlJphyk1iUeVmzZg1FRUWfOF5FRQXPPPNMj/y36a3nzODBg7t9r8y2traM3G9z586dFBYWfmJfTU1N7NmzJ+n+W1pauvRvk0rhNaa96AJw91VmNs7d13c2f4WZFRIruu5x94fii98zs+HuvsnMhgPvJ9rW3W8HbgeYMmWKV1dXpxBq+mprawn7GLlKuQmm3ARTboIpN4lFmZe5c+cyZMiQTxzv1Vdf5cknn2T06NGMHDkykjhS1VvPmdWrV3e7tSpTLV5FRUUUFRXt3dfll19ObW0tH3zwAePHj+cHP/gB11336WsKi4uLmThxYsrHSaXwWmlmvwIWxF9fCqwysyKgNWgji1VlvwZWu/vPOqx6BJhJ7MrImcDDKUcrIiKSAU1NTXsH1rebNm0aEBvndeGFF2YjLMmiOXPmfOL1fffdF8pxUpm5vgZYB8yOP9bHl7UC05NsdzxwNXCKmS2PP84mVnDNMLO1wGnx1yIiIpFJVHhVVVXRr18/jfOSUHXa4uXuO8zsNuBRd1+zz+rACU/cfRGxwfiJnJp6iCIiIpmVqPAqKiqiqqpKhZeEKpXpJM4FlgN/jL+uMrNHQo5LREQkNIkKL4h1Ny5ZsoS2trYsRCX5IJWuxpuBqcA2AHdfDlSGF5KIiEi4GhsbExZexxxzDM3NzSxd2tkc4ZIp7gknN8gJ6cSeSuHV6u4f7XusLh9JRESkhwhq8Tr77LMpKirirrvuykJU+ae4uJj6+vqcLL7cnfr6eoqLi7u0XapXNV4BFJjZaOAbwHNpxCgiItIjBBVe++23HxdccAH33nsvP/3pTykqKspCdPlj1KhR1NXVsWXLlrT30dLS0uXiJ1OKi4sZNWpUl7ZJpfD6OnATsBO4D3gc+FGXoxMREekB2tra2LFjR8LCC6CmpoYFCxbwv//7v1x88cURR5dfCgsLqazs3uil2traLs2jlW2ddjW6+3Z3v8ndj3b3KfHnLVEEJyIikmnNzc0AgYXXaaedxsiRI5k3b16EUUm+SFp4mdlMM3vZzJrjjyVmdk1UwYmIiGRa+w2ygwqvgoICrrnmGv74xz+yadOmhO8RSVdg4WVmM4lNmPpNYAQwktj9Ga83s6sjiU5ERCTDOiu8INbd2NbWxt133x1VWJInko3x+gpwgbtv6LDsKTO7iNjtg3TJh/QqO3bs4Lvf/S4NDQ0AlJWV8U//9E8UFhZmOTIRyaRUCq8xY8Zw3HHHMW/ePG644QY6uzexSKqSFV6D9im6AHD3DWY2KLyQRLLjscce49///d8ZPnw4AJs2beKYY47hoosuynJkIpJJqRReEGv1mjVrFkuWLOHoo4+OIjTJA8nGeO1Ic51ITqqtrWXAgAFs2LCBt99+mxEjRmhwrUgvlGrhdckll9C/f3/9HpCMSlZ4jTezVxM8XgPGRRWgSFRqa2s5/vjj6devHwUFBVx99dU89thjbN68OduhiUgGpVp4DR48mAsvvJB7772XlhZdzC+ZkbTwAj6f4HEOMCH80ESi88EHH/Daa69RXV29d1n74Np77rkne4GJSMa1F16lpaWdvrempoZt27bxyCO6RbFkRrLC6y133xj0ADCNNpRe4umnnwZg+vTpe5eNGzeOY445hrlz5+bk7SxEJLFUW7wg9jvhoIMOUnejZEyywmuhmX3dzA7uuNDM+pnZKWY2H5gZbngi0Wgf3zVlypRPLK+pqWHlypW6Ya5IL9KVwqt9Tq/HH3+cd955J+zQJA8kK7zOBNqA+8zsXTNbZWbrgbXA5cCt7j4vaGMzu8PM3jezFR2W7W9mT5jZ2vjPIRn6HCLdUltbywknnPCpqSMuvfRSiouL9deuSC/S1NREYWEh/fr1S+n9NTU17NmzR3N6SUYEFl7u3uLut7n78cAhwKnAJHc/xN2/5O7LOtn3PGLFW0c3Ak+6+2jgyfhrkazasmULK1as+MT4rnbtN8y97777aGtriz44Ecm4oBtkBzn88MM5/vjjue+++0KMSvJFp/dqBHD3Vnff5O7bUt2xuz8DbN1n8XnA/Pjz+cD5qe5PJCzPPPMMQMLCC+Dzn/88W7duZfny5dEFJSKh6WrhBXDCCSewatUqdu/eHVJUki9SKrwyqNzd2298tRkoj/j4Ip9SW1vLwIEDPzW+q93JJ5+8930ikvvSKbzGjh1La2srGzZsCCcoyRvJZq4Plbu7mQVeKmZms4BZAOXl5aH/p9fU1KT/WAP09tz8/ve/Z8KECfzlL38JfM9BBx3Eb37zGyZPnvyJ5b09N92h3ARTbhKLKi9vvfUW7t6lY7UPyH/wwQc55phjQoos+fF1ziSWc7lx96QP4DpgdGfvC9i2AljR4fUaYHj8+XBgTSr7mTx5sodt4cKFoR8jV/Xm3DQ0NDjgP/rRj5K+b9asWT5o0CBvbW39xPLenJvuUm6CKTeJRZWXE0880adPn96lbbZs2eKA/+xnPwspquR0zgTribkBlnhATZNKV+PBwH+a2XozeyA+xURVmnXeI3w8BcVM4OE09yOSEe3dBmPGjEn6vurqahoaGjTOS6QXSKersaysjCFDhvDGG2+EFJXki04LL3e/2d1PAY4AngW+BXQ6qZGZ3Qc8D4w1szozuw64BZhhZmuB0+KvRbKmvfCqqKhI+r72gfc51ZwtIgmlU3iZGWPHjmXNmjUhRSX5otPCy8y+Z2aPAX8CDgduAEZ1tp27X+7uw9290N1Hufuv3b3e3U9199Hufpq773vVo0ikUi28hg8fztixY1V4ifQC6RReEGsZV4uXdFcqXY0XAmXAn4GHgIf94ysTRXLahg0bGDBgAMOGDev0vdXV1Tz77LO6nFwkx6VbeI0dO5Z33nln70B7kXSk0tU4iVi34IvADOA1M1sUdmAiUdiwYQMVFRWkctvR9nFey5Z1NnewiPRU7t6tFi+AtWvXZjosySOpdDUeCVxJbDD8pcA7wFMhxyUSiTfffLPTbsZ2ms9LJPdt374dd0+7xQvQOC/pllS6Gm8BBgE/B8a7+3R3/364YYlEo73FKxUa5yWS+7pyg+x9HX744ZiZxnlJt3Q6gaq7nxNFICJR++ijj/jwww9TLrwAjjvuOB599FHcPaXuSRHpWbpTePXv35+DDz5YLV7SLal0NY42swfNbFV8Lq/1ZrY+iuBEwrRx40ag8ysaO5o4cSJbtmxh0yZdXyKSi7pTeIGubJTuS6WrcS7wK2A3MB24E7g7zKBEopDqVBIdVVVVAWgiVZEc1d3Cq30ur9jk5CJdl0rh1d/dnwTM3Te6+xzgc+GGJRK+dAqvz3zmM4AKL5FclYkWr8bGRt57771MhiV5JLDwMrM/mFklsNPM+gBrzexrZnYBkN4ZK9KDtM/hNXTo0JS3GTx4MIceeqimlBDJUZlo8QJd2SjpS9biNRd4HHgMGAh8A5gMXAVcE35oIuHqyhxeHVVVVanFSyRHZaLFC9A4L0lbYOHl7g8Ak4i1bi0CLgNWAM8Bx0cSnUiI3nzzTSorK7u83cSJE1m3bh2NjY0hRCUiYepu4XXwwQdTVFSkFi9JW2djvHYBzUARUEqsCCuJPxfJaV2Zw6uj9gH2r776amYDEpHQdbfw6tOnD+PGjWPJkiWZDEvySLIxXmcCy4EBwCR3v9ndf9D+iCpAkTBs27aNbdu2davwUnejSO5pamrCzOjfv3/a+7jwwgt5+umn916gI9IVyVq8bgK+4O43uvv2qAISiUI6c3i1GzlyJGVlZSq8RHJQ+30auzMB8syZMwG48847MxWW5JFkY7xOdPeVUQYjEpV0ppJoZ2ZUVVXpykaRHNTU1ERpafdGyxxyyCGccsopzJs3jz179mQoMskXqczjlXFmdqaZrTGzdWZ2YzZikPzWncILYgPsV6xYwe7duzMXlIiErr3Fq7uuvfZa3nzzTZ599tkMRCX5JPLCy8wKgF8CZwETgMvNbELUcUh+27BhAwMHDqSsrCyt7auqqti5cydvv/12hiMTkTBlqvC64IILKC0tZd68ed0PSvJKNlq8pgLr3H29u+8CFgDnZSEOyWPpzuHVrn2A/bp16zIYlYiELVOF18CBA7nkkkt44IEH9l4pKZKKvlk45kigYzNBHTAtC3Hs9f/+3//jjjvuYP/9989mGD3W1q1be11uFi9ezPHHpz8d3dixYykqKmL+/PksXbo0g5H1Hr3xvMkU5SaxKPKybNmybn33O7r22mv59a9/zSmnnBJ63DpngnU1N//+7/++9w4E2ZCNwislZjYLmAVQXl5ObW1taMd67bXXaGho0F8tAfbs2dPrcjN8+HAmTZrUrfPqoosuYunSpbz11luZC6wX6Y3nTaYoN4lFkZcRI0Zw1FFHZeT/FHfn9NNP5+233w49bp0zwbqam+eee45NmzaFGFFyFvUd1s3sWGCOu58Rf/1dAHf/SdA2U6ZM8bAnq6utraW6ujrUY+Qq5SaYchNMuQmm3CSmvARTboL1xNyY2VJ3n5JoXTbGeL0EjDazSjPrR+xWRI9kIQ4RERGRSEXe4gVgZmcDtwIFwB3u/uNO3r8F2BhyWEOBD0I+Rq5SboIpN8GUm2DKTWLKSzDlJlhPzM0h7j4s0YqsFF49kZktCWoWzHfKTTDlJphyE0y5SUx5CabcBMu13GRlAlURERGRfKTCS0RERCQiKrw+dnu2A+jBlJtgyk0w5SaYcpOY8hJMuQmWU7nRGC8RERGRiKjFS0RERCQiKrxEREREIqLCS0RERCQiKrxEREREIqLCS0RERCQiKrxEREREIqLCS0RERCQifbMdQCqGDh3qFRUVoR6jubmZgQMHhnqMXKXcBFNugik3wZSbxJSXYMpNsJ6Ym6VLl34QdJPsnCi8KioqWLJkSajHqK2tpbq6OtRj5CrlJphyE0y5CabcJKa8BFNugvXE3JjZxqB16moUERERiYgKLxEREZGIqPASERERiUhOjPESERGR3qe1tZW6ujpaWlrS3sfgwYNZvXp1BqNKXXFxMaNGjaKwsDDlbVR4iYiISFbU1dVRWlpKRUUFZpbWPhobGyktLc1wZJ1zd+rr66mrq6OysjLl7dTVKCIiIlnR0tJCWVlZ2kVXNpkZZWVlXW6tU+ElIiJ56e/+7u/405/+lO0w8l4uFl3t0ok9pa5GMxsCjAB2ABvcfU+XjyQiItJD7N69m1/96lf86U9/4vXXX6dvX428yUf19fWceuqpAGzevJmCggKGDRtGY2MjBx98MO+99x5mxqxZs7j++uszcszAM83MBgNfBS4H+gFbgGKg3MxeAG5z94UZiUJERCRCjY2NAPz1r3/l7rvvpqamJrsBSVaUlZWxfPlyAObMmUNJSQk33HADmzZtYtOmTUyaNInGxkYmT57MjBkzmDBhQrePmayr8UHgbeBEdx/r7ie4+xR3Pwi4BTjPzK4L2tjMDjKzhWa2ysxWmtn18eX7m9kTZrY2/nNItz+FiIhIF7QXXgD/+I//yO7du7MYjfQ0w4cPZ9KkSQCUlpYyfvx43nnnnYzsO7DwcvcZ7n6Xu29LsG6pu892918n2fdu4JvuPgE4BviqmU0AbgSedPfRwJPx1yIiIpFpL7yuuuoq/vrXv3LXXXdlOSLpqTZs2MCyZcuYNm1aRvbXaae2mU1KsPgjYKO7B/6J4O6bgE3x541mthoYCZwHVMffNh+oBb7TpahFRES6oaGhAYDLL7+c1atX84//+I9cddVVXZqPSTJr9uzZe7v9uqKtrY2CgoKE66qqqrj11lvTjqmpqYmLLrqIW2+9lUGDBqW9n45SuarxNuAF4Hbgv4DngQeANWZ2eioHMbMKYCKwGCiPF2UAm4HyLsYsIiLSLe0tXoMGDWLOnDmsX7+e+++/P8tRSU/S2trKRRddxJVXXsmFF16Ysf2mchnHu8B17r4SIN5d+EPg28BDQNJrcc2sBPgNMNvdGzpeeunubmYesN0sYBZAeXk5tbW1KYSavqamptCPkauUm2DKTTDlJphyk1iUeXn++ecBWLNmDZWVlQwfPpyf/exnjBw5MpLjd1VvPWcGDx68twj+0Y9+lNY+krV4wSfH8yWzc+dOCgsLaWxsxN358pe/zGGHHcaXvvSlpPtoaWnp0r9NKoXXmPaiC8DdV5nZOHdf39n8FWZWSKzousfdH4ovfs/Mhrv7JjMbDryfaFt3v51YKxtTpkzx6urqFEJNX21tLWEfI1cpN8GUm2DKTTDlJrEo87JhwwYATjnlFCorK/nbv/1b5syZQ2VlJYccckgkMXRFbz1nVq9e3e1Z5zM1c31RURFFRUWUlpayaNEiFixYwFFHHcWJJ54IwD/90z9x9tlnf2q74uJiJk6cmPJxUim8VprZr4AF8deXAqvMrAhoDdrIYlXZr4HV7v6zDqseAWYSuzJyJvBwytGKiIhkQPsYr/b/sK+55hpuvvlm7rzzTv7hH/4hm6FJlsyZM2fv8xNOOAH3hB1y3ZbKGK8aYB0wO/5YH1/WCkxPst3xwNXAKWa2PP44m1jBNcPM1gKnxV+LiIhEpr3rqL3wqqioYPr06cybNy+0/3BFIIUWL3ffYWa3AY+6+5p9Vjcl2W4RENQXeWrqIYqIiGRWY2Mj/fr1o6ioaO+ya6+9lmuuuYZFixbt7V4SybROW7zM7FxgOfDH+OsqM3sk5LhERERC09DQ8KlxQRdeeCElJSXMmzcvO0FJXkhljNfNwFRi823h7svNrDLMoESidMstt7B+/XoASkpKuPHGGznggAOyHJWIhCnRgOyBAwdyySWXcP/99/Pzn/+cgQMHZim6/OLuOXuj7HS6pVMpvFrd/aN9kqIOcOkVPvroI7773e8yaNAgBg4cyJYtW1i+fDlPPPFE0suTRSS3NTY2JpwQ84orruCOO+5g4cKFnHPOOVmILL8UFxdTX19PWVlZzhVf7k59fT3FxcVd2i7VqxqvAArMbDTwDeC5NGIU6XG2bt0KwM9//nNmzpzJvHnzuPbaa/nhD3/ID37wgyxHJyJhCZqC4Pjjj6eoqIja2loVXhEYNWoUdXV1bNmyJe19tLS0dLn4yZTi4mJGjRrVpW1SKby+DtwE7ATuAx4H0pvlTKSHaS+8hgyJ3au9pqaG2tpafvSjH3HCCScwY8aMbIYnIiFpaGhg6NChn1peXFzMMccc0ysnK+2JCgsLqazs3uil2traLs2jlW2dDq539+3ufpO7H+3uU+LPW6IITiRsH374IQD777//3mW//OUvGT9+PFdeeSXbtm3LUmQiEqagrkaA6upqli1bpu+/hCJp4WVmM83sZTNrjj+WmNk1UQUnErZ9W7wgNsD2jjvuYMuWLfzP//xPtkITkRAlm+28urqaPXv28Oyzz0YcleSDwMLLzGYSmzD1m8AIYCSx+zNeb2ZXRxKdSMgStXgBTJ06lSOPPFKXlYv0Uommk2h3zDHH7B3nJZJpyVq8vgJc4O4L3f0jd9/m7k8BFwFfjSY8kXAlavECMDNqamp44YUXWL16dTZCE5GQ7Nmzh6ampsCuxuLiYo499lgVXhKKZIXXIHffsO/C+LLEZ6tIjvnwww/p379/witirrzySgoKCpg/f34WIhORsDQ3NwMkvbGyxnlJWJIVXjvSXCeSM7Zu3fqp1q52Bx54IGeffTZ33XUXbW1tEUcmImHZ9z6NiVRXV+PuPPPMM1GFJXkiWeE13sxeTfB4DRgXVYAiYdq6deunxnd1VFNTw7vvvsuf/vSnCKMSkTA1NDQAyQuvadOmaZyXhCLZPF7jI4tCJEs+/PDDwBYvgHPOOYeysjLmzZvHWWedFWFkIhKW9havoDFeEBvnddxxx6nwkoxL1uL1lrtvDHoAWK7N7y+yj85avPr168fll1/Oww8/zI4d6mEX6Q1S6WoEOOWUU1i+fDnvvPNOFGFJnkhWeC00s6+b2cEdF5pZPzM7xczmAzPDDU8kXJ21eAGceeaZ7Ny5kxdeeCGiqEQkTKl0NQJcdtlluDt33313FGFJnkhWeJ0JtAH3mdm7ZrbKzNYDa4HLgVvdfV7QxmZ2h5m9b2YrOizb38yeMLO18Z/J/8cTCVlnLV4AJ5xwAn369FGXg0gvkUpXI8Dhhx/OiSeeyLx583D3KEKTPBBYeLl7i7vf5u7HA4cApwKT3P0Qd/+Suy/rZN/ziBVvHd0IPOnuo4En469FsmLXrl00Nzd32uI1ePBgJk2apMJLpJdItasRYhfYvP766yxevDjssCRPdHqvRgB3b3X3Te6+LdUdu/szwNZ9Fp8HtE+KNB84P9X9iWRa0Kz1iVRXV/PCCy9onJdIL9CVwusLX/gCAwYM0F0sJGNSKrwyqNzdN8WfbwbKIz6+yF7thVdnLV4QK7x27drF888/H3ZYIhKyhoYG+vTpQ//+/Tt9b2lpKRdddBELFizQH16SEcmmkwiVu7uZBXaam9ksYBZAeXl56N08TU1N6koK0Ftzs2JFbPjh22+/ndLn69OnD/PmzaNPn4//XumtuckE5SaYcpNYVHlZvXo1AwYM4Omnn07p/VVVVdx111385Cc/4ZRTTgk5usR0zgTLudy4e9IHcB0wurP3BWxbAazo8HoNMDz+fDiwJpX9TJ482cO2cOHC0I+Rq3prbh599FEHfPHixSm9/+ijj/YTTzzxE8t6a24yQbkJptwkFlVeampq/KCDDkr5/W1tbX7IIYf4GWecEWJUyemcCdYTcwMs8YCaJpWuxoOB/zSz9Wb2QHyKiao067xH+HgKipnAw2nuR6Tb2m+QncoYL4h1Ny5evJjt27eHGZaIhKyhoSGl8V3t+vTpw3nnnceiRYt0+zDptk4LL3e/2d1PAY4AngW+BSztbDszuw94HhhrZnVmdh1wCzDDzNYCp8Vfi2RFV8Z4wcfjvDSfl0hua2xs7HQqiX1NnDiR5uZm/vrXv4YUleSLTsd4mdn3gOOBEmAZcAOxAiwpd788YNWpXQlQJCztLV777bdfSu9vn89r4cKFWRvnISLd19jY2KUWL4iN8wJYtmwZY8aMCSEqyRepdDVeCJQBfwYeAh72j69MFMlZH374IYMHD6agoCCl9w8aNIjJkyfn1iBOEfmUdAqvCRMmUFhYyPLly8MJSvJGKl2Nk4h1C74IzABeM7NFYQcmErZUZq3f1/Tp0zXOSyTHdXWMF8Tu2zphwgQVXtJtnRZeZnYkcCWxwfCXAu8AT4Ucl0joUrlP476qq6tpbW3VfF4iOSydMV4QG+elwku6K5WuxluAQcDPgfHuPt3dvx9uWCLhS6fF6/jjj6egoEDdjSI5yt3T6mqE2DivzZs3s3nz5hAik3yRSlfjOe7+z+7+nLu3RhGUSBS2bt3a5RYvjfMSyW0tLS20tbWlXXgBavWSbkmlq3G0mT1oZqvic3mtN7P1UQQnEqYPP/ywyy1eoPm8RHJZQ0MDQFpdjZ/97GcBFV7SPal0Nc4FfgXsBqYDdwJ3hxmUSNjcPa0WL4gNsG9tbeW5554LITIRCVNXbpC9r/3224+KigoVXtItqRRe/d39ScDcfaO7zwE+F25YIuFqbm5m9+7dabV4aZyXSO7qTuEFGmAv3RdYeJnZH8ysEthpZn2AtWb2NTO7gNhkqiI5q33y1HRavEpLS5kyZYoKL5Ec1N7VmG7hVVVVxRtvvEFzc3Mmw5I8kqzFay7wOPAYMBD4BjAZuAq4JvzQRMLTfrugdFq8IDbO68UXX2THjh2ZDEtEQtbe4pXOGC+IFV7uzquvvprJsCSPBBZe7v4AMIlY69Yi4DJgBfAcsVsIieSs7rR4wcfzea1cuTKTYYlIyLrb1agrG6W7OrtX4y6gGSgCSoE9oUckEoHutnidcMIJFBQUsGzZskyGJSIh627hddBBBzFkyBB99yVtgYWXmZ0J/Ax4BJjk7rp2XnqN7rZ4lZSUcNJJJ/H000/j7phZJsMTkZB0ZzoJADPjxBNP5NFHH2X37t307dtZ+4XIJyUb43UT8AV3v1FFl/Q23W3xApg5cybvvPOOppUQySHtLV4DBw5Mex8zZ85k06ZNPPHEE5kKS/JIsjFeJ7q7BrBIr7R161b69u3brV++F110EcXFxcybNy9zgYlIqBobGykpKaFPn1RmU0rsnHPOoaysTN99SUv6Z55IDmuftb47XYQlJSVUV1fzP//zP7q0XCRHNDQ0pD2+q12/fv244oor+N3vfrd32IJIqrJSeJnZmWa2xszWmdmN2YhB8lu6s9bv64wzzqCxsZHf/va3GYhKRMLW2NiY9viujq699lp27drFggULMhCV5JPICy8zKwB+CZwFTAAuN7MJUcch+S3d+zTu6zOf+QyHHnqouhxEckRjY2O3W7wgNq3EZz7zGX33pcuycTnGVGCdu68HMLMFwHnAqizEAsCmTZt48803GTZsWLZC6NF6Y242bdrEIYcc0u399OnTh5kzZzJnzhyefvpphg4dmoHoeofeeN5kinKTWBR5ef/99zPS4mVm1NTU8H/+z//hscce4+CDD85AdMF0zgTram4qKysZMGBAiBF1wt0jfQAXA//d4fXVwC+SbTN58mQP0/XXX++AHnn2+OIXv9jtc2fhwoX+5ptvupll/fPooYceqT0uueSSDPzP4f7ee+95YWFh1j+PHl17LF68OCP//skASzygprHY+uiY2cXAme7+N/HXVwPT3P1r+7xvFjALoLy8fHKY/ejr1q1j3bp1FBcXh3aMXNbS0tIrc/PZz3622+O8mpqaKCkpYeXKlWzZsiVDkfUOvfW8yQTlJrGo8nLkkUdmrHX69ddfZ/PmzRnZVzI6Z4J1NTeTJk3KSKtnMtOnT1/q7lMSrctG4XUsMMfdz4i//i6Au/8kaJspU6b4kiVLQo2rtraW6urqUI+Rq5SbYMpNMOUmmHKTmPISTLkJ1hNzY2aBhVc2rmp8CRhtZpVm1o/YPSAfyUIcIiIiIpGKvMULwMzOBm4FCoA73P3Hnbx/C7Ax5LCGAh+EfIxcpdwEU26CKTfBlJvElJdgyk2wnpibQ9w94Yj/rBRePZGZLQlqFsx3yk0w5SaYchNMuUlMeQmm3ATLtdxo5noRERGRiKjwEhEREYmICq+P3Z7tAHow5SaYchNMuQmm3CSmvARTboLlVG40xktEREQkImrxEhEREYmICi8RERGRiKjwEhEREYmICi8RERGRiKjwEhEREYmICi8RERGRiKjwEhEREYlI32wHkIqhQ4d6RUVFqMdobm5m4MCBoR4jVyk3wZSbYMpNMOUmMeUlmHITrCfmZunSpR8E3SQ7JwqviooKlixZEuoxamtrqa6uDvUYuUq5CabcBFNugik3iSkvwZSbYD0xN2a2MWiduhpFREREIqLCS0RERCQiKrxEREREIpITY7xERESkd2ptbaWuro6Wlpa0th88eDCrV6/OcFSpKS4uZtSoURQWFqa8jQovERERyZq6ujpKS0upqKjAzLq8fWNjI6WlpSFElpy7U19fT11dHZWVlSlvp65GERERyZqWlhbKysrSKrqyycwoKyvrckudCi8RERHJqlwrutqlE3dKXY1mNgQYAewANrj7ni4fSaSHeumllzjyyCPp379/tkMRkQgtW7aMww8/PCvdVNIz1NfXc+qppwKwefNmCgoKGDZsGC0tLQwYMIC2tjZ2797NxRdfzA9+8IOMHDOw8DKzwcBXgcuBfsAWoBgoN7MXgNvcfWFGohDJkh07dnD88cfz9a9/nX/7t3/LdjgiEhF354QTTuDKK6/k9ttvz3Y4kiVlZWUsX74cgDlz5lBSUsINN9yAu9Pc3ExJSQmtra2ccMIJnHXWWRxzzDHdPmayrsYHgbeBE919rLuf4O5T3P0g4BbgPDO7LmhjMzvIzBaa2SozW2lm18eX729mT5jZ2vjPId3+FCJp2rZtG62trdx11120trZmOxwRicj27dvZvn07CxYsYPv27dkOR3oYM6OkpASIXXXZ2tqase7QwBYvd5+RZN1SYGkn+94NfNPdXzazUmCpmT0B1ABPuvstZnYjcCPwnS5HLpIBDQ0NAGzZsoXHHnuMc889N8sRiUgU2r/7jY2N/Pa3v+XKK6/MckQCMHv27L0tUKlqa2ujoKAgcH1VVRW33nprl2Npa2tj8uTJrFu3jq9+9atMmzaty/tIpNPB9WY2KcHjMDNLOj7M3Te5+8vx543AamAkcB4wP/62+cD53foEIt3Q/ssXYO7cuVmMRESipO++dKagoIDly5dTV1fHiy++yIoVKzKy31QG198GTAJeBQw4ElgJDDazr7j7nzrbgZlVABOBxUC5u2+Kr9oMlKcRt0hGtP/ynTJlCo8++ihb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y81sQtRxSH7LRFcjwOTJkxkxYoS6HERyRLr3adzXcccdx+jRo/Xdly7rm4VjTgXWuft6ADNbAJwHrMpCLABs376dxsbGvX3/8km9MTfbtm3j0EMP7fZ+CgoKuPrqq/npT3/K2rVrGTp0aAai6x1643mTKcpNYlHkZcuWLd0a39XOzKipqeGmm27ilVde4eCDD85AdMF0zgTram5KS0vp2zcb5U+cu0f6AC4G/rvD66uBXyTbZvLkyR6m66+/3gE98uwxc+bMbp87Cxcu9NWrV2f9s+ihhx6pP84777xuf/fd3d966y03s6x/Hj269li8eHFG/v2TAZZ4QE2TxZIvOTObBcwCKC8vD/WmpBUVFXzpS1+iX79+oR0jl+3atatX5ubYY4/t9nnV1NTE5s2b+eEPf8h7772XmcB6id563mSCcpNYVHmZOnVqxv5P+fGPf8w777yTkX0lo3MmWFdzU1dXx/bt2ZuswTziyR/N7FhgjrufEX/9XQB3/0nQNlOmTPElS5aEGldtbS3V1dWhHiNXKTfBlJtgyk0w5SYx5SWYchOsJ+bGzJa6+5RE67JxVeNLwGgzqzSzfsRuRfRIFuIQERERiVTkLV4AZnY2cCtQANzh7j/u5P1bgI0hhzUU+CDkY+Qq5SaYchNMuQmm3CSmvARTboL1xNwc4u7DEq3ISuHVE5nZkqBmwXyn3ARTboIpN8GUm8SUl2DKTbBcy01WJlAVERERyUcqvEREREQiosLrY7dnO4AeTLkJptwEU26CKTeJKS/BlJtgOZUbjfESERERiYhavEREREQiosJLREREJCIqvEREREQiosJLREREJCIqvEREREQiosJLREREJCIqvEREREQi0jfbAaRi6NChXlFREeoxmpubGThwYKjHyFXKTTDlJphyE0y5SUx5CabcBOuJuVm6dOkHQTfJzonCq6KigiVLloR6jNraWqqrq0M9Rq5SboIpN8GUm2DKTWLKSzDlJlhPzI2ZbQxap65GyWvuzhe/+EWeffbZbIciIiJ5ICdavETC8tFHHzF37lyWLl3KsmXL6NNHf4uIiEh49L+M5LWmpiYAXn31VX73u99lNxgREen11OIlea298AKYM2cO559/vlq9REQi0traSl1dHS0tLWnvY/DgwaxevTqDUaWuuLiYUaNGUVhYmPI2Krwkr7UXXpdddhkLFizg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xIm8+OKL2Q5HRER6ORVektc++ugjGhoaWL16Ncceeyw33ngjbW1t2Q5LRER6KRVekteampoAuPXWW5k5cyb//M//zO9+97vsBiUiIr1WTozxEglLe+E1cuRI/vZv/5Z7772X5557josuuijLkYmI9H6tra3U1dXR0tKS9j4GDx7M6tWrMxhV6oqLixk1ahSFhYUpb6PCS/Jae+FVUlJCv379mDRpEosXL85yVCIi+aGuro7S0lIqKiows7T20djYSGlpaYYj65y7U19fT11dHZWVlSlvp65GyWsdCy+AadOmsXTpUlpbW7MZlohIXmhpaaGsrCztoiubzIyysrIut9ap8JK8lqjwamlp4bXXXstmWCIieSMXi6526cSeUuFlZkPM7AgzO9TMVKxJr5Go8ALU3Sgikgfq6+upqqqiqqqKAw88kJEjR+59/f7773PxxRczbtw4xo8fz/PPP5+RYwaO8TKzwcBXgcuBfsAWoBgoN7MXgNvcfWFGohDJkn0Lr4qKCg444AAWL17MV77ylWyGJiIiISsrK2P58uUAzJkzh5KSEm644QYAZs6cyZlnnsmDDz7Irl272L59e0aOmWxw/YPAncCJ7r6t4wozmwxcbWaHuvuvE21sZgfFty8HHLjd3f/dzPYH/geoADYAl7j7h938HCJp2bfwMjOmTZumFi8RkTz20Ucf8cwzzzBv3jwA+vXrl9bdTRIJLLzcfUaSdUuBpZ3sezfwTXd/2cxKgaVm9gRQAzzp7reY2Y3AjcB3uhy5SAY0NTVhZvTv33/vsmnTpvG///u/bNu2jf322y97wYmI5JHZs2fvbX3qira2NgoKChKuq6qq4tZbb+3yPt98802GDRvGtddeyyuvvMLkyZP593//94zcE7LT8VpmNinB4zAzSzoVhbtvcveX488bgdXASOA8YH78bfOB87v1CUS6oampiYEDB9Knz8dfhfZxXi+99FK2whIRkSzavXs3L7/8Ml/5yldYtmwZAwcO5JZbbsnIvlOZx+s2YBLwKmDAkcBKYLCZfcXd/9TZDsysApgILAbK3X1TfNVmYl2RIlnR1NS0t5ux3dFHH42ZsXjxYmbMCGz4FRGRDEqnZQrCmcdr1KhRjBo1au8f4hdffHGkhde7wHXuvhLAzCYAPwS+DTwEJC28zKwE+A0w290bOl566e5uZh6w3SxgFkB5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", + "image/png": "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xktEREQkImrxEhEREYmICi8RERGRiKjwEhEREYmICi8RERGRiKjwEhEREYmICi8RERGRiKjwEhEREYlI32wHkIqhQ4d6RUVFqMdobm5m4MCBoR4jVyk3wZSbYMpNMOUmMeUlmHITrCfmZunSpR8E3SQ7JwqviooKlixZEuoxamtrqa6uDvUYuUq5CabcBFNugik3iSkvwZSbYD0xN2a2MWiduhpFREREIqLCS0RERCQiKrxEREREIpITY7xERESkd2ptbaWuro6Wlpa0th88eDCrV6/OcFSpKS4uZtSoURQWFqa8jQovERERyZq6ujpKS0upqKjAzLq8fWNjI6WlpSFElpy7U19fT11dHZWVlSlvp65GERERyZqWlhbKysrSKrqyycwoKyvrckudCi8RERHJqlwrutqlE3dKXY1mNgQYAewANrj7ni4fSaSHeumllzjyyCPp379/tkMRkQgtW7aMww8/PCvdVNIz1NfXc+qppwKwefNmCgoKGDZsGC0tLQwYMIC2tjZ2797NxRdfzA9+8IOMHDOw8DKzwcBXgcuBfsAWoBgoN7MXgNvcfWFGohDJkh07dnD88cfz9a9/nX/7t3/LdjgiEhF354QTTuDKK6/k9ttvz3Y4kiVlZWUsX74cgDlz5lBSUsINN9yAu9Pc3ExJSQmtra2ccMIJnHXWWRxzzDHdPmayrsYHgbeBE919rLuf4O5T3P0g4BbgPDO7LmhjMzvIzBaa2SozW2lm18eX729mT5jZ2vjPId3+FCJp2rZtG62trdx11120trZmOxwRicj27dvZvn07CxYsYPv27dkOR3oYM6OkpASIXXXZ2tqase7QwBYvd5+RZN1SYGkn+94NfNPdXzazUmCpmT0B1ABPuvstZnYjcCPwnS5HLpIBDQ0NAGzZsoXHHnuMc889N8sRiUgU2r/7jY2N/Pa3v+XKK6/MckQCMHv27L0tUKlqa2ujoKAgcH1VVRW33nprl2Npa2tj8uTJrFu3jq9+9atMmzaty/tIpNPB9WY2KcHjMDNLOj7M3Te5+8vx543AamAkcB4wP/62+cD53foEIt3Q/ssXYO7cuVmMRESipO++dKagoIDly5dTV1fHiy++yIoVKzKy31QG198GTAJeBQw4ElgJDDazr7j7nzrbgZlVABOBxUC5u2+Kr9oMlKcRt0hGtP/ynTJlCo8++ihb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y81sQtRxSH7LRFcjwOTJkxkxYoS6HERyRLr3adzXcccdx+jRo/Xdly7rm4VjTgXWuft6ADNbAJwHrMpCLABs376dxsbGvX3/8km9MTfbtm3j0EMP7fZ+CgoKuPrqq/npT3/K2rVrGTp0aAai6x1643mTKcpNYlHkZcuWLd0a39XOzKipqeGmm27ilVde4eCDD85AdMF0zgTram5KS0vp2zcb5U+cu0f6AC4G/rvD66uBXyTbZvLkyR6m66+/3gE98uwxc+bMbp87Cxcu9NWrV2f9s+ihhx6pP84777xuf/fd3d966y03s6x/Hj269li8eHFG/v2TAZZ4QE2TxZIvOTObBcwCKC8vD/WmpBUVFXzpS1+iX79+oR0jl+3atatX5ubYY4/t9nnV1NTE5s2b+eEPf8h7772XmcB6id563mSCcpNYVHmZOnVqxv5P+fGPf8w777yTkX0lo3MmWFdzU1dXx/bt2ZuswTziyR/N7FhgjrufEX/9XQB3/0nQNlOmTPElS5aEGldtbS3V1dWhHiNXKTfBlJtgyk0w5SYx5SWYchOsJ+bGzJa6+5RE67JxVeNLwGgzqzSzfsRuRfRIFuIQERERiVTkLV4AZnY2cCtQANzh7j/u5P1bgI0hhzUU+CDkY+Qq5SaYchNMuQmm3CSmvARTboL1xNwc4u7DEq3ISuHVE5nZkqBmwXyn3ARTboIpN8GUm8SUl2DKTbBcy01WJlAVERERyUcqvEREREQiosLrY7dnO4AeTLkJptwEU26CKTeJKS/BlJtgOZUbjfESERERiYhavEREREQiosJLREREJCIqvEREREQiosJLREREJCIqvEREREQiosJLREREJCIqvEREREQi0jfbAaRi6NChXlFREeoxmpubGThwYKjHyFXKTTDlJphyE0y5SUx5CabcBOuJuVm6dOkHQTfJzonCq6KigiVLloR6jNraWqqrq0M9Rq5SboIpN8GUm2DKTWLKSzDlJlhPzI2ZbQxap65GyWvuzhe/+EWeffbZbIciIiJ5ICdavETC8tFHHzF37lyWLl3KsmXL6NNHf4uIiEh49L+M5LWmpiYAXn31VX73u99lNxgREen11OIlea298AKYM2cO559/vlq9REQi0traSl1dHS0tLWnvY/DgwaxevTqDUaWuuLiYUaNGUVhYmPI2Krwkr7UXXpdddhkLFizg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xIm8+OKL2Q5HRER6ORVektc++ugjGhoaWL16Ncceeyw33ngjbW1t2Q5LRER6KRVekteampoAuPXWW5k5cyb//M//zO9+97vsBiUiIr1WTozxEglLe+E1cuRI/vZv/5Z7772X5557josuuijLkYmI9H6tra3U1dXR0tKS9j4GDx7M6tWrMxhV6oqLixk1ahSFhYUpb6PCS/Jae+FVUlJCv379mDRpEosXL85yVCIi+aGuro7S0lIqKiows7T20djYSGlpaYYj65y7U19fT11dHZWVlSlvp65GyWsdCy+AadOmsXTpUlpbW7MZlohIXmhpaaGsrCztoiubzIyysrIut9ap8JK8lqjwamlp4bXXXstmWCIieSMXi6526cSeUuFlZkPM7AgzO9TMVKxJr5Go8ALU3Sgikgfq6+upqqqiqqqKAw88kJEjR+59/f7773PxxRczbtw4xo8fz/PPP5+RYwaO8TKzwcBXgcuBfsAWoBgoN7MXgNvcfWFGohDJkn0Lr4qKCg444AAWL17MV77ylWyGJiIiISsrK2P58uUAzJkzh5KSEm644QYAZs6cyZlnnsmDDz7Irl272L59e0aOmWxw/YPAncCJ7r6t4wozmwxcbWaHuvuvE21sZgfFty8HHLjd3f/dzPYH/geoADYAl7j7h938HCJp2bfwMjOmTZumFi8RkTz20Ucf8cwzzzBv3jwA+vXrl9bdTRIJLLzcfUaSdUuBpZ3sezfwTXd/2cxKgaVm9gRQAzzp7reY2Y3AjcB3uhy5SAY0NTVhZvTv33/vsmnTpvG///u/bNu2jf322y97wYmI5JHZs2fvbX3qira2NgoKChKuq6qq4tZbb+3yPt98802GDRvGtddeyyuvvMLkyZP593//94zcE7LT8VpmNinB4zAzSzoVhbtvcveX488bgdXASOA8YH78bfOB87v1CUS6oampiYEDB9Knz8dfhfZxXi+99FK2whIRkSzavXs3L7/8Ml/5yldYtmwZAwcO5JZbbsnIvlOZx+s2YBLwKmDAkcBKYLCZfcXd/9TZDsysApgILAbK3X1TfNVmYl2RIlnR1NS0t5ux3dFHH42ZsXjxYmbMCGz4FRGRDEqnZQrCmcdr1KhRjBo1au8f4hdffHGkhde7wHXuvhLAzCYAPwS+DTwEJC28zKwE+A0w290bOl566e5uZh6w3SxgFkB5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", "text/plain": [ "
" ] @@ -942,9 +943,6 @@ } ], "metadata": { - "interpreter": { - "hash": "abb86f6b47589d310a8582323f08589acc6fd65b639f664d8b854acb0023e70a" - }, "jekyll": { "layout": "default", "nav_order": 1, @@ -952,7 +950,7 @@ "title": "Overview" }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3.10.4 ('floris')", "language": "python", "name": "python3" }, @@ -966,7 +964,12 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.2" + "version": "3.10.4" + }, + "vscode": { + "interpreter": { + "hash": "853a8652e3619d46ff0e51baac54f380b0862f9ec17aef8c5e0b66472a177ac0" + } } }, "nbformat": 4, diff --git a/examples/01_opening_floris_computing_power.py b/examples/01_opening_floris_computing_power.py index 5cbe863d7..f7c0871b8 100644 --- a/examples/01_opening_floris_computing_power.py +++ b/examples/01_opening_floris_computing_power.py @@ -33,7 +33,7 @@ fi = FlorisInterface("inputs/gch.yaml") # Convert to a simple two turbine layout -fi.reinitialize( layout=( [0, 500.], [0., 0.] ) ) +fi.reinitialize(layout_x=[0, 500.], layout_y=[0., 0.]) # Single wind speed and wind direction print('\n============================= Single Wind Direction and Wind Speed =============================') diff --git a/examples/03_making_adjustments.py b/examples/03_making_adjustments.py index d3eef7310..42c8b6f3b 100644 --- a/examples/03_making_adjustments.py +++ b/examples/03_making_adjustments.py @@ -58,7 +58,7 @@ 5.0 * fi.floris.farm.rotor_diameters[0][0][0] * np.arange(0, N, 1), 5.0 * fi.floris.farm.rotor_diameters[0][0][0] * np.arange(0, N, 1), ) -fi.reinitialize( layout=( X.flatten(), Y.flatten() ) ) +fi.reinitialize(layout_x=X.flatten(), layout_y=Y.flatten()) horizontal_plane = fi.calculate_horizontal_plane(height=90.0) visualize_cut_plane(horizontal_plane, ax=axarr[3], title="3x3 Farm", minSpeed=MIN_WS, maxSpeed=MAX_WS) diff --git a/examples/04_sweep_wind_directions.py b/examples/04_sweep_wind_directions.py index d2d32938d..338769c2b 100644 --- a/examples/04_sweep_wind_directions.py +++ b/examples/04_sweep_wind_directions.py @@ -40,7 +40,7 @@ D = 126. layout_x = np.array([0, D*6]) layout_y = [0, 0] -fi.reinitialize(layout = [layout_x, layout_y]) +fi.reinitialize(layout_x=layout_x, layout_y=layout_y) # Sweep wind speeds but keep wind direction fixed wd_array = np.arange(250,291,1.) diff --git a/examples/05_sweep_wind_speeds.py b/examples/05_sweep_wind_speeds.py index 70e353c7b..b23ef74b6 100644 --- a/examples/05_sweep_wind_speeds.py +++ b/examples/05_sweep_wind_speeds.py @@ -40,7 +40,7 @@ D = 126. layout_x = np.array([0, D*6]) layout_y = [0, 0] -fi.reinitialize(layout = [layout_x, layout_y]) +fi.reinitialize(layout_x=layout_x, layout_y=layout_y) # Sweep wind speeds but keep wind direction fixed ws_array = np.arange(5,25,0.5) diff --git a/examples/06_sweep_wind_conditions.py b/examples/06_sweep_wind_conditions.py index 975701d6a..ab2db3ba7 100644 --- a/examples/06_sweep_wind_conditions.py +++ b/examples/06_sweep_wind_conditions.py @@ -42,7 +42,7 @@ D = 126. layout_x = np.array([0, D*6, D*12, D*18,D*24]) layout_y = [0, 0, 0, 0, 0] -fi.reinitialize(layout = [layout_x, layout_y]) +fi.reinitialize(layout_x=layout_x, layout_y=layout_y) # Define a ws and wd to sweep # Note that all combinations will be computed diff --git a/examples/07_calc_aep_from_rose.py b/examples/07_calc_aep_from_rose.py index 416007115..8498b0d25 100644 --- a/examples/07_calc_aep_from_rose.py +++ b/examples/07_calc_aep_from_rose.py @@ -56,7 +56,8 @@ # floris object and assign the layout, wind speed and wind direction arrays. D = 126.0 # Rotor diameter for the NREL 5 MW fi.reinitialize( - layout=[[0.0, 5* D, 10 * D], [0.0, 0.0, 0.0]], + layout_x=[0.0, 5 * D, 10 * D], + layout_y=[0.0, 0.0, 0.0], wind_directions=wd_array, wind_speeds=ws_array, ) diff --git a/examples/08_opt_yaw_single_ws.py b/examples/08_opt_yaw_single_ws.py index cc29d0e26..8762d1e2e 100644 --- a/examples/08_opt_yaw_single_ws.py +++ b/examples/08_opt_yaw_single_ws.py @@ -32,7 +32,8 @@ # Reinitialize as a 3-turbine farm with range of WDs and 1 WS D = 126.0 # Rotor diameter for the NREL 5 MW fi.reinitialize( - layout=[[0.0, 5 * D, 10 * D], [0.0, 0.0, 0.0]], + layout_x=[0.0, 5 * D, 10 * D], + layout_y=[0.0, 0.0, 0.0], wind_directions=np.arange(0.0, 360.0, 3.0), wind_speeds=[8.0], ) diff --git a/examples/09_opt_yaw_multiple_ws.py b/examples/09_opt_yaw_multiple_ws.py index aa464ffb5..34b3bcf8d 100644 --- a/examples/09_opt_yaw_multiple_ws.py +++ b/examples/09_opt_yaw_multiple_ws.py @@ -32,7 +32,8 @@ # Reinitialize as a 3-turbine farm with range of WDs and 1 WS D = 126.0 # Rotor diameter for the NREL 5 MW fi.reinitialize( - layout=[[0.0, 5 * D, 10 * D], [0.0, 0.0, 0.0]], + layout_x=[0.0, 5 * D, 10 * D], + layout_y=[0.0, 0.0, 0.0], wind_directions=np.arange(0.0, 360.0, 3.0), wind_speeds=np.arange(2.0, 18.0, 1.0), ) diff --git a/examples/10_optimize_yaw.py b/examples/10_optimize_yaw.py index b1a521896..067f351ff 100644 --- a/examples/10_optimize_yaw.py +++ b/examples/10_optimize_yaw.py @@ -45,7 +45,7 @@ def load_floris(): 5.0 * fi.floris.farm.rotor_diameters_sorted[0][0][0] * np.arange(0, N, 1), 5.0 * fi.floris.farm.rotor_diameters_sorted[0][0][0] * np.arange(0, N, 1), ) - fi.reinitialize(layout=(X.flatten(), Y.flatten())) + fi.reinitialize(layout_x=X.flatten(), layout_y=Y.flatten()) return fi diff --git a/examples/11_optimize_layout.py b/examples/11_optimize_layout.py index b3eeed6dc..0a57166b5 100644 --- a/examples/11_optimize_layout.py +++ b/examples/11_optimize_layout.py @@ -48,7 +48,7 @@ D = 126.0 # rotor diameter for the NREL 5MW layout_x = [0, 0, 6 * D, 6 * D] layout_y = [0, 4 * D, 0, 4 * D] -fi.reinitialize(layout=(layout_x, layout_y)) +fi.reinitialize(layout_x=layout_x, layout_y=layout_y) fi.calculate_wake() # Setup the optimization problem diff --git a/examples/12_compare_yaw_optimizers.py b/examples/12_compare_yaw_optimizers.py index 41caf0306..9fb1fb8f2 100644 --- a/examples/12_compare_yaw_optimizers.py +++ b/examples/12_compare_yaw_optimizers.py @@ -37,7 +37,8 @@ # Reinitialize as a 3-turbine farm with range of WDs and 1 WS D = 126.0 # Rotor diameter for the NREL 5 MW fi.reinitialize( - layout=[[0.0, 5 * D, 10 * D], [0.0, 0.0, 0.0]], + layout_x=[0.0, 5 * D, 10 * D], + layout_y=[0.0, 0.0, 0.0], wind_directions=np.arange(0.0, 360.0, 3.0), wind_speeds=[8.0], ) diff --git a/examples/15_check_turbine.py b/examples/15_check_turbine.py index 64b984f33..aa135a757 100644 --- a/examples/15_check_turbine.py +++ b/examples/15_check_turbine.py @@ -32,7 +32,7 @@ fi = FlorisInterface("inputs/gch.yaml") # Make one turbine sim -fi.reinitialize(layout=[[0],[0]]) +fi.reinitialize(layout_x=[0], layout_y=[0]) # Apply wind speeds fi.reinitialize(wind_speeds=ws_array) diff --git a/examples/16_streamlit_demo.py b/examples/16_streamlit_demo.py index c86b09bd0..2fb5d5f0b 100644 --- a/examples/16_streamlit_demo.py +++ b/examples/16_streamlit_demo.py @@ -113,7 +113,13 @@ fi = FlorisInterface("inputs/%s.yaml" % fm) # Set the layout, wind direction and wind speed - fi.reinitialize( layout=( X, Y ), wind_speeds=[wind_speed], wind_directions=[wind_direction], turbulence_intensity=turbulence_intensity ) + fi.reinitialize( + layout_x=X, + layout_y=Y, + wind_speeds=[wind_speed], + wind_directions=[wind_direction], + turbulence_intensity=turbulence_intensity + ) fi.calculate_wake(yaw_angles=yaw_angles_base) turbine_powers = fi.get_turbine_powers() / 1000. @@ -139,7 +145,13 @@ fi = FlorisInterface("inputs/%s.yaml" % fm) # Set the layout, wind direction and wind speed - fi.reinitialize( layout=( X, Y ), wind_speeds=[wind_speed], wind_directions=[wind_direction], turbulence_intensity=turbulence_intensity ) + fi.reinitialize( + layout_x=X, + layout_y=Y, + wind_speeds=[wind_speed], + wind_directions=[wind_direction], + turbulence_intensity=turbulence_intensity + ) fi.calculate_wake(yaw_angles=yaw_angles_yaw) turbine_powers = fi.get_turbine_powers() / 1000. diff --git a/examples/17_calculate_farm_power_with_uncertainty.py b/examples/17_calculate_farm_power_with_uncertainty.py index cc9390f81..d118c8f7d 100644 --- a/examples/17_calculate_farm_power_with_uncertainty.py +++ b/examples/17_calculate_farm_power_with_uncertainty.py @@ -38,8 +38,8 @@ layout_x = np.array([0, D*6, D*12]) layout_y = [0, 0, 0] wd_array = np.arange(0.0, 360.0, 1.0) -fi.reinitialize(layout=[layout_x, layout_y], wind_directions=wd_array) -fi_unc.reinitialize(layout=[layout_x, layout_y], wind_directions=wd_array) +fi.reinitialize(layout_x=layout_x, layout_y=layout_y, wind_directions=wd_array) +fi_unc.reinitialize(layout_x=layout_x, layout_y=layout_y, wind_directions=wd_array) # Define a matrix of yaw angles to be all 0 # Note that yaw angles is now specified as a matrix whose dimesions are diff --git a/examples/18_demo_time_series.py b/examples/18_demo_time_series.py index 631105c4a..31ba6b6ee 100644 --- a/examples/18_demo_time_series.py +++ b/examples/18_demo_time_series.py @@ -41,7 +41,7 @@ fi = FlorisInterface("inputs/gch.yaml") # Convert to a simple two turbine layout -fi.reinitialize(layout=([0, 500.], [0., 0.])) +fi.reinitialize(layout_x=[0, 500.], layout_y=[0., 0.]) # Create a fake time history where wind speed steps in the middle while wind direction # Walks randomly diff --git a/examples/18_get_wind_speed_at_turbines.py b/examples/18_get_wind_speed_at_turbines.py index f2f078e51..b9f68f0ee 100644 --- a/examples/18_get_wind_speed_at_turbines.py +++ b/examples/18_get_wind_speed_at_turbines.py @@ -24,7 +24,7 @@ fi = FlorisInterface("inputs/gch.yaml") # Create a 4-turbine layouts -fi.reinitialize( layout=( [0, 0., 500., 500.], [0., 300., 0., 300.] ) ) +fi.reinitialize(layout_x=[0, 0., 500., 500.], layout_y=[0., 300., 0., 300.]) # Calculate wake fi.calculate_wake() diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index fdac03767..3d5dfd7b6 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -14,7 +14,6 @@ from __future__ import annotations -from typing import Tuple from pathlib import Path import numpy as np @@ -24,8 +23,8 @@ from floris.type_dec import NDArrayFloat from floris.simulation import Floris from floris.logging_manager import LoggerBase -from floris.simulation.turbine import Ct, power, axial_induction, average_velocity from floris.tools.cut_plane import CutPlane +from floris.simulation.turbine import Ct, power, axial_induction, average_velocity class FlorisInterface(LoggerBase): @@ -69,16 +68,20 @@ def __init__(self, configuration: dict | str | Path, het_map=None): # Make a check on reference height and provide a helpful warning unique_heights = np.unique(self.floris.farm.hub_heights) - if ((len(unique_heights) == 1) and (self.floris.flow_field.reference_wind_height!=unique_heights[0])): - err_msg = 'The only unique hub-height is not the equal to the specified reference wind height. If this was unintended use -1 as the reference hub height to indicate use of hub-height as reference wind height.' + if (len(unique_heights) == 1) and (self.floris.flow_field.reference_wind_height != unique_heights[0]): + err_msg = "The only unique hub-height is not the equal to the specified reference wind height. If this was unintended use -1 as the reference hub height to indicate use of hub-height as reference wind height." self.logger.warning(err_msg, stack_info=True) def assign_hub_height_to_ref_height(self): # Confirm can do this operation unique_heights = np.unique(self.floris.farm.hub_heights) - if (len(unique_heights) > 1): - raise ValueError("To assign hub heights to reference height, can not have more than one specified height. Current length is {}.".format(len(unique_heights))) + if len(unique_heights) > 1: + raise ValueError( + "To assign hub heights to reference height, can not have more than one specified height. Current length is {}.".format( + len(unique_heights) + ) + ) self.floris.flow_field.reference_wind_height = unique_heights[0] @@ -112,10 +115,12 @@ def calculate_wake( # ) # TODO decide where to handle this sign issue - if (yaw_angles is not None) and not (np.all(yaw_angles==0.)): + if (yaw_angles is not None) and not (np.all(yaw_angles == 0.0)): if self.floris.wake.model_strings["velocity_model"] == "turbopark": # TODO: Implement wake steering for the TurbOPark model - raise ValueError("Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented.") + raise ValueError( + "Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented." + ) self.floris.farm.yaw_angles = yaw_angles # Initialize solution space @@ -141,10 +146,12 @@ def calculate_no_wake( """ # TODO decide where to handle this sign issue - if (yaw_angles is not None) and not (np.all(yaw_angles==0.)): + if (yaw_angles is not None) and not (np.all(yaw_angles == 0.0)): if self.floris.wake.model_strings["velocity_model"] == "turbopark": # TODO: Implement wake steering for the TurbOPark model - raise ValueError("Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented.") + raise ValueError( + "Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented." + ) self.floris.farm.yaw_angles = yaw_angles # Initialize solution space @@ -165,13 +172,15 @@ def reinitialize( # turbulence_kinetic_energy=None, air_density: float | None = None, # wake: WakeModelManager = None, - layout: Tuple[list[float], list[float]] | Tuple[NDArrayFloat, NDArrayFloat] | None = None, + layout_x: list[float] | NDArrayFloat | None = None, + layout_y: list[float] | NDArrayFloat | None = None, turbine_type: list | None = None, # turbine_id: list[str] | None = None, # wtg_id: list[str] | None = None, # with_resolution: float | None = None, solver_settings: dict | None = None, - time_series: bool | None = False + time_series: bool | None = False, + layout: tuple[list[float], list[float]] | tuple[NDArrayFloat, NDArrayFloat] | None = None, ): # Export the floris object recursively as a dictionary floris_dict = self.floris.as_dict() @@ -198,8 +207,14 @@ def reinitialize( ## Farm if layout is not None: - farm_dict["layout_x"] = layout[0] - farm_dict["layout_y"] = layout[1] + msg = "Use the `layout_x` and `layout_y` parameters in place of `layout` because the `layout` parameter will be deprecated in 3.3." + self.logger.warning(msg) + layout_x = layout[0] + layout_y = layout[1] + if layout_x is not None: + farm_dict["layout_x"] = layout_x + if layout_y is not None: + farm_dict["layout_y"] = layout_y if turbine_type is not None: farm_dict["turbine_type"] = turbine_type @@ -291,7 +306,7 @@ def get_plane_of_points( # Subset to plane # TODO: Seems sloppy as need more than one plane in the z-direction for GCH if planar_coordinate is not None: - df = df[np.isclose(df.x3, planar_coordinate)] # , atol=0.1, rtol=0.0)] + df = df[np.isclose(df.x3, planar_coordinate)] # , atol=0.1, rtol=0.0)] # Drop duplicates # TODO is this still needed now that we setup a grid for just this plane? @@ -333,7 +348,7 @@ def calculate_horizontal_plane( :py:class:`~.tools.cut_plane.CutPlane`: containing values of x, y, u, v, w """ - #TODO update docstring + # TODO update docstring if wd is None: wd = self.floris.flow_field.wind_directions if ws is None: @@ -352,9 +367,7 @@ def calculate_horizontal_plane( "flow_field_grid_points": [x_resolution, y_resolution], "flow_field_bounds": [x_bounds, y_bounds], } - self.reinitialize( - wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings - ) + self.reinitialize(wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings) # TODO this has to be done here as it seems to be lost with reinitialize if yaw_angles is not None: @@ -432,9 +445,7 @@ def calculate_cross_plane( "flow_field_grid_points": [y_resolution, z_resolution], "flow_field_bounds": [y_bounds, z_bounds], } - self.reinitialize( - wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings - ) + self.reinitialize(wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings) # TODO this has to be done here as it seems to be lost with reinitialize if yaw_angles is not None: @@ -493,7 +504,7 @@ def calculate_y_plane( :py:class:`~.tools.cut_plane.CutPlane`: containing values of x, y, u, v, w """ - #TODO update docstring + # TODO update docstring if wd is None: wd = self.floris.flow_field.wind_directions if ws is None: @@ -512,9 +523,7 @@ def calculate_y_plane( "flow_field_grid_points": [x_resolution, z_resolution], "flow_field_bounds": [x_bounds, z_bounds], } - self.reinitialize( - wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings - ) + self.reinitialize(wind_directions=wd, wind_speeds=ws, solver_settings=solver_settings) # TODO this has to be done here as it seems to be lost with reinitialize if yaw_angles is not None: @@ -544,10 +553,14 @@ def calculate_y_plane( def check_wind_condition_for_viz(self, wd=None, ws=None): if len(wd) > 1 or len(wd) < 1: - raise ValueError("Wind direction input must be of length 1 for visualization. Current length is {}.".format(len(wd))) + raise ValueError( + "Wind direction input must be of length 1 for visualization. Current length is {}.".format(len(wd)) + ) if len(ws) > 1 or len(ws) < 1: - raise ValueError("Wind speed input must be of length 1 for visualization. Current length is {}.".format(len(ws))) + raise ValueError( + "Wind speed input must be of length 1 for visualization. Current length is {}.".format(len(ws)) + ) def get_turbine_powers(self) -> NDArrayFloat: """Calculates the power at each turbine in the windfarm. @@ -640,7 +653,7 @@ def get_farm_AEP( up to 1.0 and are used to weigh the wind farm power for every condition in calculating the wind farm's AEP. cut_in_wind_speed (float, optional): Wind speed in m/s below which - any calculations are ignored and the wind farm is known to + any calculations are ignored and the wind farm is known to produce 0.0 W of power. Note that to prevent problems with the wake models at negative / zero wind speeds, this variable must always have a positive value. Defaults to 0.001 [m/s]. @@ -658,7 +671,7 @@ def get_farm_AEP( in AEP due to wakes. Defaults to *False*. Returns: - float: + float: The Annual Energy Production (AEP) for the wind farm in watt-hours. """ @@ -670,30 +683,22 @@ def get_farm_AEP( & (len(np.shape(freq)) == 2) ): raise UserWarning( - "'freq' should be a two-dimensional array with dimensions" - + " (n_wind_directions, n_wind_speeds)." + "'freq' should be a two-dimensional array with dimensions" + " (n_wind_directions, n_wind_speeds)." ) # Check if frequency vector sums to 1.0. If not, raise a warning if np.abs(np.sum(freq) - 1.0) > 0.001: - self.logger.warning( - "WARNING: The frequency array provided to get_farm_AEP() " - + "does not sum to 1.0. " - ) + self.logger.warning("WARNING: The frequency array provided to get_farm_AEP() " + "does not sum to 1.0. ") # Copy the full wind speed array from the floris object and initialize # the the farm_power variable as an empty array. wind_speeds = np.array(self.floris.flow_field.wind_speeds, copy=True) - farm_power = np.zeros( - (self.floris.flow_field.n_wind_directions, len(wind_speeds)) - ) + farm_power = np.zeros((self.floris.flow_field.n_wind_directions, len(wind_speeds))) # Determine which wind speeds we must evaluate in floris - conditions_to_evaluate = (wind_speeds >= cut_in_wind_speed) + conditions_to_evaluate = wind_speeds >= cut_in_wind_speed if cut_out_wind_speed is not None: - conditions_to_evaluate = conditions_to_evaluate & ( - wind_speeds < cut_out_wind_speed - ) + conditions_to_evaluate = conditions_to_evaluate & (wind_speeds < cut_out_wind_speed) # Evaluate the conditions in floris if np.any(conditions_to_evaluate): @@ -736,7 +741,6 @@ def layout_y(self): """ return self.floris.farm.layout_y - def get_turbine_layout(self, z=False): """ Get turbine layout @@ -772,9 +776,6 @@ def generate_heterogeneous_wind_map(speed_ups, x, y, z=None): return [in_region, out_region] - - - ## Functionality removed in v3 def set_rotor_diameter(self, rotor_diameter): diff --git a/floris/tools/optimization/pyoptsparse/layout.py b/floris/tools/optimization/pyoptsparse/layout.py index aa2d6b0e5..7c6f32a2e 100644 --- a/floris/tools/optimization/pyoptsparse/layout.py +++ b/floris/tools/optimization/pyoptsparse/layout.py @@ -61,7 +61,7 @@ def obj_func(self, varDict): self.parse_opt_vars(varDict) # Update turbine map with turbince locations - self.fi.reinitialize(layout=[self.x, self.y]) + self.fi.reinitialize(layout_x=self.x, layout_y=self.y) self.fi.calculate_wake() # Compute the objective function diff --git a/floris/tools/uncertainty_interface.py b/floris/tools/uncertainty_interface.py index db0a7efdb..9dca4fc6a 100644 --- a/floris/tools/uncertainty_interface.py +++ b/floris/tools/uncertainty_interface.py @@ -13,16 +13,16 @@ import copy + import numpy as np from scipy.stats import norm from floris.tools import FlorisInterface -from floris.logging_manager import LoggerBase from floris.utilities import wrap_360 +from floris.logging_manager import LoggerBase class UncertaintyInterface(LoggerBase): - def __init__( self, configuration, @@ -77,7 +77,7 @@ def __init__( will essentially come down to a Gaussian smoothing of FLORIS solutions over the wind directions. This calculation can therefore be really fast, since it does not require additional calculations - compared to a non-uncertainty FLORIS evaluation. + compared to a non-uncertainty FLORIS evaluation. When fix_yaw_in_relative_frame=False, the yaw angles are fixed in the absolute (compass) reference frame, meaning that for each probablistic wind direction evaluation, our probablistic (relative) @@ -135,7 +135,9 @@ def _generate_pdfs_from_dict(self): # create normally distributed wd and yaw uncertaitny pmfs if appropriate unc_options = self.unc_options if unc_options["std_wd"] > 0: - wd_bnd = int(np.ceil(norm.ppf(unc_options["pdf_cutoff"], scale=unc_options["std_wd"]) / unc_options["pmf_res"])) + wd_bnd = int( + np.ceil(norm.ppf(unc_options["pdf_cutoff"], scale=unc_options["std_wd"]) / unc_options["pmf_res"]) + ) bound = wd_bnd * unc_options["pmf_res"] wd_unc = np.linspace(-1 * bound, bound, 2 * wd_bnd + 1) wd_unc_pmf = norm.pdf(wd_unc, scale=unc_options["std_wd"]) @@ -179,10 +181,7 @@ def _expand_wind_directions_and_yaw_angles(self): # Expand wind direction and yaw angle array into the direction # of uncertainty over the ambient wind direction. - wd_array_probablistic = np.vstack( - [np.expand_dims(wd_array_nominal, axis=0) + dy - for dy in unc_pmfs["wd_unc"]] - ) + wd_array_probablistic = np.vstack([np.expand_dims(wd_array_nominal, axis=0) + dy for dy in unc_pmfs["wd_unc"]]) if self.fix_yaw_in_relative_frame: # The relative yaw angle is fixed and always has the nominal @@ -193,8 +192,7 @@ def _expand_wind_directions_and_yaw_angles(self): # not require any additional calculations compared to the # non-uncertainty FLORIS evaluation. yaw_angles_probablistic = np.vstack( - [np.expand_dims(yaw_angles_nominal, axis=0) - for _ in unc_pmfs["wd_unc"]] + [np.expand_dims(yaw_angles_nominal, axis=0) for _ in unc_pmfs["wd_unc"]] ) else: # Fix yaw angles in the absolute (compass) reference frame, @@ -205,8 +203,7 @@ def _expand_wind_directions_and_yaw_angles(self): # it with a relative yaw angle that is 3 deg below its nominal # value. yaw_angles_probablistic = np.vstack( - [np.expand_dims(yaw_angles_nominal, axis=0) - dy - for dy in unc_pmfs["wd_unc"]] + [np.expand_dims(yaw_angles_nominal, axis=0) - dy for dy in unc_pmfs["wd_unc"]] ) self.wd_array_probablistic = wd_array_probablistic @@ -226,12 +223,7 @@ def copy(self): fi_unc_copy.fi = self.fi.copy() return fi_unc_copy - def reinitialize_uncertainty( - self, - unc_options=None, - unc_pmfs=None, - fix_yaw_in_relative_frame=None - ): + def reinitialize_uncertainty(self, unc_options=None, unc_pmfs=None, fix_yaw_in_relative_frame=None): """Reinitialize the wind direction and yaw angle probability distributions used in evaluating FLORIS. Must either specify 'unc_options', in which case distributions are calculated assuming @@ -284,7 +276,7 @@ def reinitialize_uncertainty( will essentially come down to a Gaussian smoothing of FLORIS solutions over the wind directions. This calculation can therefore be really fast, since it does not require additional calculations - compared to a non-uncertainty FLORIS evaluation. + compared to a non-uncertainty FLORIS evaluation. When fix_yaw_in_relative_frame=False, the yaw angles are fixed in the absolute (compass) reference frame, meaning that for each probablistic wind direction evaluation, our probablistic (relative) @@ -303,23 +295,21 @@ def reinitialize_uncertainty( often does not perfectly know the true wind direction, and that a turbine often does not perfectly achieve its desired yaw angle offset. Defaults to fix_yaw_in_relative_frame=False. - + """ # Check inputs - if ((unc_options is not None) and (unc_pmfs is not None)): - self.logger.error( - "Must specify either 'unc_options' or 'unc_pmfs', not both." - ) + if (unc_options is not None) and (unc_pmfs is not None): + self.logger.error("Must specify either 'unc_options' or 'unc_pmfs', not both.") # Assign uncertainty probability distributions if unc_options is not None: self.unc_options = unc_options self._generate_pdfs_from_dict() - + if unc_pmfs is not None: self.unc_pmfs = unc_pmfs - + if fix_yaw_in_relative_frame is not None: self.fix_yaw_in_relative_frame = bool(fix_yaw_in_relative_frame) @@ -333,6 +323,8 @@ def reinitialize( turbulence_intensity=None, air_density=None, layout=None, + layout_x=None, + layout_y=None, turbine_type=None, solver_settings=None, ): @@ -340,6 +332,12 @@ def reinitialize( to directly replace a FlorisInterface object with this UncertaintyInterface object, this function is required.""" + if layout is not None: + msg = "Use the `layout_x` and `layout_y` parameters in place of `layout` because the `layout` parameter will be deprecated in 3.3." + self.logger.warning(msg) + layout_x = layout[0] + layout_y = layout[1] + # Just passes arguments to the floris object self.fi.reinitialize( wind_speeds=wind_speeds, @@ -349,7 +347,8 @@ def reinitialize( reference_wind_height=reference_wind_height, turbulence_intensity=turbulence_intensity, air_density=air_density, - layout=layout, + layout_x=layout_x, + layout_y=layout_y, turbine_type=turbine_type, solver_settings=solver_settings, ) @@ -418,9 +417,7 @@ def get_turbine_powers(self): # Format into conventional floris format by reshaping wd_array_probablistic = np.reshape(self.wd_array_probablistic, -1) - yaw_angles_probablistic = np.reshape( - self.yaw_angles_probablistic, (-1, num_ws, num_turbines) - ) + yaw_angles_probablistic = np.reshape(self.yaw_angles_probablistic, (-1, num_ws, num_turbines)) # Wrap wind direction array around 360 deg wd_array_probablistic = wrap_360(wd_array_probablistic) @@ -428,10 +425,7 @@ def get_turbine_powers(self): # Find minimal set of solutions to evaluate wd_exp = np.tile(wd_array_probablistic, (1, num_ws, 1)).T _, id_unq, id_unq_rev = np.unique( - np.append(yaw_angles_probablistic, wd_exp, axis=2), - axis=0, - return_index=True, - return_inverse=True + np.append(yaw_angles_probablistic, wd_exp, axis=2), axis=0, return_index=True, return_inverse=True ) wd_array_probablistic_min = wd_array_probablistic[id_unq] yaw_angles_probablistic_min = yaw_angles_probablistic[id_unq, :, :] @@ -449,15 +443,15 @@ def get_turbine_powers(self): # Reshape solutions back to full set power_probablistic = turbine_powers[id_unq_rev, :] - power_probablistic = np.reshape( - power_probablistic, - (num_wd_unc, num_wd, num_ws, num_turbines) - ) + power_probablistic = np.reshape(power_probablistic, (num_wd_unc, num_wd, num_ws, num_turbines)) # Calculate probability weighing terms wd_weighing = ( - np.expand_dims(unc_pmfs["wd_unc_pmf"], axis=(1, 2, 3)) - ).repeat(num_wd, 1).repeat(num_ws, 2).repeat(num_turbines, 3) + (np.expand_dims(unc_pmfs["wd_unc_pmf"], axis=(1, 2, 3))) + .repeat(num_wd, 1) + .repeat(num_ws, 2) + .repeat(num_turbines, 3) + ) # Now apply probability distribution weighing to get turbine powers return np.sum(wd_weighing * power_probablistic, axis=0) @@ -499,7 +493,7 @@ def get_farm_AEP( up to 1.0 and are used to weigh the wind farm power for every condition in calculating the wind farm's AEP. cut_in_wind_speed (float, optional): Wind speed in m/s below which - any calculations are ignored and the wind farm is known to + any calculations are ignored and the wind farm is known to produce 0.0 W of power. Note that to prevent problems with the wake models at negative / zero wind speeds, this variable must always have a positive value. Defaults to 0.001 [m/s]. @@ -517,7 +511,7 @@ def get_farm_AEP( in AEP due to wakes. Defaults to *False*. Returns: - float: + float: The Annual Energy Production (AEP) for the wind farm in watt-hours. """ @@ -529,30 +523,22 @@ def get_farm_AEP( & (len(np.shape(freq)) == 2) ): raise UserWarning( - "'freq' should be a two-dimensional array with dimensions" - + " (n_wind_directions, n_wind_speeds)." + "'freq' should be a two-dimensional array with dimensions (n_wind_directions, n_wind_speeds)." ) # Check if frequency vector sums to 1.0. If not, raise a warning if np.abs(np.sum(freq) - 1.0) > 0.001: - self.logger.warning( - "WARNING: The frequency array provided to get_farm_AEP() " - + "does not sum to 1.0. " - ) + self.logger.warning("WARNING: The frequency array provided to get_farm_AEP() does not sum to 1.0. ") # Copy the full wind speed array from the floris object and initialize # the the farm_power variable as an empty array. wind_speeds = np.array(self.fi.floris.flow_field.wind_speeds, copy=True) - farm_power = np.zeros( - (self.fi.floris.flow_field.n_wind_directions, len(wind_speeds)) - ) + farm_power = np.zeros((self.fi.floris.flow_field.n_wind_directions, len(wind_speeds))) # Determine which wind speeds we must evaluate in floris - conditions_to_evaluate = (wind_speeds >= cut_in_wind_speed) + conditions_to_evaluate = wind_speeds >= cut_in_wind_speed if cut_out_wind_speed is not None: - conditions_to_evaluate = conditions_to_evaluate & ( - wind_speeds < cut_out_wind_speed - ) + conditions_to_evaluate = conditions_to_evaluate & (wind_speeds < cut_out_wind_speed) # Evaluate the conditions in floris if np.any(conditions_to_evaluate): @@ -583,7 +569,7 @@ def get_turbine_layout(self, z=False): def get_turbine_Cts(self): return self.fi.get_turbine_Cts() - + def get_turbine_ais(self): return self.fi.get_turbine_ais() From 3cca3356ee05cf370b1868df4ffd65bf86a91d4c Mon Sep 17 00:00:00 2001 From: paulf81 Date: Wed, 27 Jul 2022 14:36:30 -0600 Subject: [PATCH 10/22] Issue alert if calc wake needs to be run (#432) * first pass * switch to private and check on get_farm_power * bugfix * Check BaseClass state for flow control in FI * Remove failing example * FIx missing import * Reduce state-enum to three states Co-authored-by: Rafael M Mudafort --- floris/simulation/__init__.py | 2 +- floris/simulation/base.py | 10 ++++++++++ floris/simulation/farm.py | 4 +++- floris/simulation/floris.py | 7 +++++-- floris/tools/floris_interface.py | 12 ++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/floris/simulation/__init__.py b/floris/simulation/__init__.py index ae17a7dfb..3233b27cb 100644 --- a/floris/simulation/__init__.py +++ b/floris/simulation/__init__.py @@ -33,7 +33,7 @@ # that should be included in the simulation package. # Since some of these depend on each other, the order # that they are listed here does matter. -from .base import BaseClass, BaseModel +from .base import BaseClass, BaseModel, State from .turbine import Turbine, Ct, power, axial_induction, average_velocity from .farm import Farm from .grid import Grid, TurbineGrid, FlowFieldGrid, FlowFieldPlanarGrid diff --git a/floris/simulation/base.py b/floris/simulation/base.py index 433952f94..8967c3e58 100644 --- a/floris/simulation/base.py +++ b/floris/simulation/base.py @@ -18,6 +18,7 @@ """ from abc import ABC, abstractmethod +from enum import Enum from typing import Any, Dict, Final import attrs @@ -26,11 +27,20 @@ from floris.logging_manager import LoggerBase +class State(Enum): + UNINITIALIZED = 0 + INITIALIZED = 1 + USED = 2 + + class BaseClass(LoggerBase, FromDictMixin): """ BaseClass object class. This class does the logging and MixIn class inheritance. """ + state = State.UNINITIALIZED + + @classmethod def get_model_defaults(cls) -> Dict[str, Any]: """Produces a dictionary of the keyword arguments and their defaults. diff --git a/floris/simulation/farm.py b/floris/simulation/farm.py index 25f65bc11..33c981a25 100644 --- a/floris/simulation/farm.py +++ b/floris/simulation/farm.py @@ -25,7 +25,7 @@ NDArrayFloat ) from floris.utilities import Vec3, load_yaml -from floris.simulation import BaseClass +from floris.simulation import BaseClass, State from floris.simulation import Turbine @@ -93,6 +93,7 @@ def initialize(self, sorted_indices): sorted_indices[:, :, :, 0, 0], axis=2, ) + self.state = State.INITIALIZED def construct_hub_heights(self): self.hub_heights = np.array([turb['hub_height'] for turb in self.turbine_definitions]) @@ -148,6 +149,7 @@ def finalize(self, unsorted_indices): self.TSRs = np.take_along_axis(self.TSRs_sorted, unsorted_indices[:,:,:,0,0], axis=2) self.pPs = np.take_along_axis(self.pPs_sorted, unsorted_indices[:,:,:,0,0], axis=2) self.turbine_type_map = np.take_along_axis(self.turbine_type_map_sorted, unsorted_indices[:,:,:,0,0], axis=2) + self.state.USED @property def n_turbines(self): diff --git a/floris/simulation/floris.py b/floris/simulation/floris.py index 8c157cdbe..076699be7 100644 --- a/floris/simulation/floris.py +++ b/floris/simulation/floris.py @@ -20,8 +20,8 @@ from floris.utilities import load_yaml import floris.logging_manager as logging_manager -from floris.type_dec import FromDictMixin from floris.simulation import ( + BaseClass, Farm, WakeModelManager, FlowField, @@ -29,6 +29,7 @@ TurbineGrid, FlowFieldGrid, FlowFieldPlanarGrid, + State, sequential_solver, cc_solver, turbopark_solver, @@ -40,7 +41,7 @@ @define -class Floris(logging_manager.LoggerBase, FromDictMixin): +class Floris(BaseClass): """ Top-level class that describes a Floris model and initializes the simulation. Use the :py:class:`~.simulation.farm.Farm` attribute to @@ -138,6 +139,7 @@ def initialize_domain(self): # Initialize farm quantities self.farm.initialize(self.grid.sorted_indices) + self.state.INITIALIZED def steady_state_atmospheric_condition(self): """Perform the steady-state wind farm wake calculations. Note that @@ -198,6 +200,7 @@ def finalize(self): # the user-supplied order of things. self.flow_field.finalize(self.grid.unsorted_indices) self.farm.finalize(self.grid.unsorted_indices) + self.state = State.USED ## I/O diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index 3d5dfd7b6..8e87ecdbd 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -23,6 +23,9 @@ from floris.type_dec import NDArrayFloat from floris.simulation import Floris from floris.logging_manager import LoggerBase + +from floris.simulation import State + from floris.tools.cut_plane import CutPlane from floris.simulation.turbine import Ct, power, axial_induction, average_velocity @@ -568,6 +571,11 @@ def get_turbine_powers(self) -> NDArrayFloat: Returns: NDArrayFloat: [description] """ + + # Confirm calculate wake has been run + if self.floris.state is not State.USED: + raise RuntimeError(f"Can't run function `FlorisInterface.get_turbine_powers` without first running `FlorisInterface.calculate_wake`.") + turbine_powers = power( air_density=self.floris.flow_field.air_density, velocities=self.floris.flow_field.u, @@ -631,6 +639,10 @@ def get_farm_power( # for turbine in self.floris.farm.turbines: # turbine.use_turbulence_correction = use_turbulence_correction + # Confirm calculate wake has been run + if self.floris.state is not State.USED: + raise RuntimeError(f"Can't run function `FlorisInterface.get_turbine_powers` without running `FlorisInterface.calculate_wake`.") + turbine_powers = self.get_turbine_powers() return np.sum(turbine_powers, axis=2) From 27e769143e5c24cf5c99623c3ea555287cf71dc5 Mon Sep 17 00:00:00 2001 From: pjireland Date: Wed, 27 Jul 2022 16:43:15 -0400 Subject: [PATCH 11/22] Bugfix: update plot_turbines_with_fi API (#445) Co-authored-by: Rafael M Mudafort --- floris/tools/visualization.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/floris/tools/visualization.py b/floris/tools/visualization.py index 06c3a9259..95cf85098 100644 --- a/floris/tools/visualization.py +++ b/floris/tools/visualization.py @@ -67,8 +67,8 @@ def plot_turbines_with_fi(ax, fi, color=None): ax, fi.layout_x, fi.layout_y, - fi.get_yaw_angles()[0, 0], - fi.floris.farm.rotor_diameter[0, 0], + fi.floris.farm.yaw_angles[0, 0], + fi.floris.farm.rotor_diameters[0, 0], color=color, wind_direction=fi.floris.flow_field.wind_directions[0], ) From 1d73401a24d91ca4e8dcd4aa3a53258a0eece249 Mon Sep 17 00:00:00 2001 From: bayc Date: Wed, 27 Jul 2022 16:24:30 -0600 Subject: [PATCH 12/22] Add wake deflection to the TurbOPark wake deficit model (#439) * add deflection to the turbopark model * Add yawed reg test * Add warning when using wake deflection with the TurbOPark model * simplifying check for yaw angles in turbopark deflection Co-authored-by: Rafael M Mudafort --- floris/simulation/solver.py | 42 ++++++-- floris/simulation/wake_velocity/turbopark.py | 5 +- floris/tools/floris_interface.py | 14 +-- .../cumulative_curl_regression_test.py | 2 +- tests/reg_tests/turbopark_regression_test.py | 97 ++++++++++++++++++- 5 files changed, 135 insertions(+), 25 deletions(-) diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index 6889d2038..25bf8dce9 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -703,6 +703,7 @@ def turbopark_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, model w_wake = np.zeros_like(flow_field.w_initial_sorted) shape = (farm.n_turbines,) + np.shape(flow_field.u_initial_sorted) velocity_deficit = np.zeros(shape) + deflection_field = np.zeros_like(flow_field.u_initial_sorted) turbine_turbulence_intensity = flow_field.turbulence_intensity * np.ones((flow_field.n_wind_directions, flow_field.n_wind_speeds, farm.n_turbines, 1, 1)) ambient_turbulence_intensity = flow_field.turbulence_intensity @@ -769,15 +770,37 @@ def turbopark_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, model # Model calculations # NOTE: exponential - deflection_field = model_manager.deflection_model.function( - x_i, - y_i, - effective_yaw_i, - turbulence_intensity_i, - ct_i, - rotor_diameter_i, - **deflection_model_args - ) + if not np.all(farm.yaw_angles_sorted): + model_manager.deflection_model.logger.warning("WARNING: Deflection with the TurbOPark model has not been fully validated. This is an initial implementation, and we advise you use at your own risk and perform a thorough examination of the results.") + for ii in range(i): + x_ii = np.mean(grid.x_sorted[:, :, ii:ii+1], axis=(3, 4)) + x_ii = x_ii[:, :, :, None, None] + y_ii = np.mean(grid.y_sorted[:, :, ii:ii+1], axis=(3, 4)) + y_ii = y_ii[:, :, :, None, None] + + yaw_ii = farm.yaw_angles_sorted[:, :, ii:ii+1, None, None] + turbulence_intensity_ii = turbine_turbulence_intensity[:, :, ii:ii+1] + ct_ii = Ct( + velocities=flow_field.u_sorted, + yaw_angle=farm.yaw_angles_sorted, + fCt=farm.turbine_fCts, + turbine_type_map=farm.turbine_type_map_sorted, + ix_filter=[ii] + ) + ct_ii = ct_ii[:, :, 0:1, None, None] + rotor_diameter_ii = farm.rotor_diameters_sorted[: ,:, ii:ii+1, None, None] + + deflection_field_ii = model_manager.deflection_model.function( + x_ii, + y_ii, + yaw_ii, + turbulence_intensity_ii, + ct_ii, + rotor_diameter_ii, + **deflection_model_args + ) + + deflection_field[:,:,ii:ii+1,:,:] = deflection_field_ii[:,:,i:i+1,:,:] if model_manager.enable_transverse_velocities: v_wake, w_wake = calculate_transverse_velocity( @@ -816,6 +839,7 @@ def turbopark_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, model rotor_diameter_i, farm.rotor_diameters_sorted[:, :, :, None, None], i, + deflection_field, **deficit_model_args ) diff --git a/floris/simulation/wake_velocity/turbopark.py b/floris/simulation/wake_velocity/turbopark.py index 20bf8ffa2..d16382cdf 100644 --- a/floris/simulation/wake_velocity/turbopark.py +++ b/floris/simulation/wake_velocity/turbopark.py @@ -72,6 +72,7 @@ def function( rotor_diameter_i: np.ndarray, rotor_diameters: np.ndarray, i: int, + deflection_field: np.ndarray, # enforces the use of the below as keyword arguments and adherence to the # unpacking of the results from prepare_function() *, @@ -89,8 +90,8 @@ def function( x_dist = (x_i - x) * downstream_mask / rotor_diameters # Radial distance between turbine i and the centerlines of wakes from all real/image turbines - r_dist = np.sqrt((y_i - y) ** 2 + (z_i - z) ** 2) - r_dist_image = np.sqrt((y_i - y) ** 2 + (z_i - (-z)) ** 2) + r_dist = np.sqrt((y_i - (y + deflection_field)) ** 2 + (z_i - z) ** 2) + r_dist_image = np.sqrt((y_i - (y + deflection_field)) ** 2 + (z_i - (-z)) ** 2) Cts[:,:,i:,:,:] = 0.00001 diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index 8e87ecdbd..eff92a7f4 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -118,12 +118,7 @@ def calculate_wake( # ) # TODO decide where to handle this sign issue - if (yaw_angles is not None) and not (np.all(yaw_angles == 0.0)): - if self.floris.wake.model_strings["velocity_model"] == "turbopark": - # TODO: Implement wake steering for the TurbOPark model - raise ValueError( - "Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented." - ) + if (yaw_angles is not None) and not (np.all(yaw_angles==0.)): self.floris.farm.yaw_angles = yaw_angles # Initialize solution space @@ -149,12 +144,7 @@ def calculate_no_wake( """ # TODO decide where to handle this sign issue - if (yaw_angles is not None) and not (np.all(yaw_angles == 0.0)): - if self.floris.wake.model_strings["velocity_model"] == "turbopark": - # TODO: Implement wake steering for the TurbOPark model - raise ValueError( - "Non-zero yaw angles given and for TurbOPark model; wake steering with this model is not yet implemented." - ) + if (yaw_angles is not None) and not (np.all(yaw_angles==0.)): self.floris.farm.yaw_angles = yaw_angles # Initialize solution space diff --git a/tests/reg_tests/cumulative_curl_regression_test.py b/tests/reg_tests/cumulative_curl_regression_test.py index f74ab430d..036435a80 100644 --- a/tests/reg_tests/cumulative_curl_regression_test.py +++ b/tests/reg_tests/cumulative_curl_regression_test.py @@ -18,7 +18,7 @@ from floris.simulation import Ct, power, axial_induction, average_velocity from tests.conftest import N_TURBINES, N_WIND_DIRECTIONS, N_WIND_SPEEDS, print_test_values, assert_results_arrays -DEBUG = True +DEBUG = False VELOCITY_MODEL = "cc" DEFLECTION_MODEL = "gauss" diff --git a/tests/reg_tests/turbopark_regression_test.py b/tests/reg_tests/turbopark_regression_test.py index 273f230c6..e383145c8 100644 --- a/tests/reg_tests/turbopark_regression_test.py +++ b/tests/reg_tests/turbopark_regression_test.py @@ -18,7 +18,7 @@ from floris.simulation import Ct, power, axial_induction, average_velocity from tests.conftest import N_TURBINES, N_WIND_DIRECTIONS, N_WIND_SPEEDS, print_test_values, assert_results_arrays -DEBUG = True +DEBUG = False VELOCITY_MODEL = "turbopark" DEFLECTION_MODEL = "gauss" COMBINATION_MODEL = "fls" @@ -53,6 +53,35 @@ ) +yawed_baseline = np.array( + [ + # 8 m/s + [ + [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], + [5.9926862, 0.8357973, 704869.1763857, 0.2973903], + [5.3145419, 0.8725432, 479691.1339821, 0.3214945], + ], + # 9 m/s + [ + [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], + [6.7429885, 0.8025994, 1023094.6963579, 0.2778511], + [5.9836502, 0.8362597, 701734.6626599, 0.2976758], + ], + # 10 m/s + [ + [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], + [7.5085974, 0.7756254, 1412651.4697014, 0.2631590], + [6.6781823, 0.8052071, 992930.8979929, 0.2793232], + ], + # 11 m/s + [ + [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], + [8.3071319, 0.7620861, 1916104.8725891, 0.2561179], + [7.3875052, 0.7795398, 1347926.7384587, 0.2652341], + ], + ] +) + # Note: compare the yawed vs non-yawed results. The upstream turbine # power should be lower in the yawed case. The following turbine # powers should higher in the yawed case. @@ -199,6 +228,72 @@ def test_regression_rotation(sample_inputs_fixture): assert np.allclose(t3_270, t2_360) +def test_regression_yaw(sample_inputs_fixture): + """ + Tandem turbines with the upstream turbine yawed + """ + sample_inputs_fixture.floris["wake"]["model_strings"]["velocity_model"] = VELOCITY_MODEL + sample_inputs_fixture.floris["wake"]["model_strings"]["deflection_model"] = DEFLECTION_MODEL + + floris = Floris.from_dict(sample_inputs_fixture.floris) + + yaw_angles = np.zeros((N_WIND_DIRECTIONS, N_WIND_SPEEDS, N_TURBINES)) + yaw_angles[:,:,0] = 5.0 + floris.farm.yaw_angles = yaw_angles + + floris.initialize_domain() + floris.steady_state_atmospheric_condition() + + n_turbines = floris.farm.n_turbines + n_wind_speeds = floris.flow_field.n_wind_speeds + n_wind_directions = floris.flow_field.n_wind_directions + + velocities = floris.flow_field.u + yaw_angles = floris.farm.yaw_angles + test_results = np.zeros((n_wind_directions, n_wind_speeds, n_turbines, 4)) + + farm_avg_velocities = average_velocity( + velocities, + ) + farm_cts = Ct( + velocities, + yaw_angles, + floris.farm.turbine_fCts, + floris.farm.turbine_type_map, + ) + farm_powers = power( + floris.flow_field.air_density, + velocities, + yaw_angles, + floris.farm.pPs, + floris.farm.turbine_power_interps, + floris.farm.turbine_type_map, + ) + farm_axial_inductions = axial_induction( + velocities, + yaw_angles, + floris.farm.turbine_fCts, + floris.farm.turbine_type_map, + ) + for i in range(n_wind_directions): + for j in range(n_wind_speeds): + for k in range(n_turbines): + test_results[i, j, k, 0] = farm_avg_velocities[i, j, k] + test_results[i, j, k, 1] = farm_cts[i, j, k] + test_results[i, j, k, 2] = farm_powers[i, j, k] + test_results[i, j, k, 3] = farm_axial_inductions[i, j, k] + + if DEBUG: + print_test_values( + farm_avg_velocities, + farm_cts, + farm_powers, + farm_axial_inductions, + ) + + assert_results_arrays(test_results[0], yawed_baseline) + + def test_regression_small_grid_rotation(sample_inputs_fixture): """ Where wake models are masked based on the x-location of a turbine, numerical precision From 58fe45d1dceee35871ab49f1c423e2a3b92396ce Mon Sep 17 00:00:00 2001 From: paulf81 Date: Thu, 28 Jul 2022 16:29:51 -0600 Subject: [PATCH 13/22] Add a forced max of 3 to turbine grid points (#472) * Add a forced max of 3 to turbine grid points * Error when using more than 3 turbine grid points * Reduce turbine grid points in example input * Error bug fix Co-authored-by: Rafael M Mudafort Co-authored-by: Rafael M Mudafort --- examples/inputs/gch_multiple_turbine_types.yaml | 2 +- floris/tools/floris_interface.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/inputs/gch_multiple_turbine_types.yaml b/examples/inputs/gch_multiple_turbine_types.yaml index def970c63..ca2d86ea5 100644 --- a/examples/inputs/gch_multiple_turbine_types.yaml +++ b/examples/inputs/gch_multiple_turbine_types.yaml @@ -13,7 +13,7 @@ logging: solver: type: turbine_grid - turbine_grid_points: 5 + turbine_grid_points: 3 farm: layout_x: diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index eff92a7f4..30dd98c0e 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -75,6 +75,12 @@ def __init__(self, configuration: dict | str | Path, het_map=None): err_msg = "The only unique hub-height is not the equal to the specified reference wind height. If this was unintended use -1 as the reference hub height to indicate use of hub-height as reference wind height." self.logger.warning(err_msg, stack_info=True) + # Check the turbine_grid_points is reasonable + if self.floris.solver["type"] == "turbine_grid": + if self.floris.solver["turbine_grid_points"] > 3: + self.logger.error(f"turbine_grid_points value is {self.floris.solver['turbine_grid_points']} which is larger than the recommended value of less than or equal to 3. High amounts of turbine grid points reduce the computational performance but have a small change on accuracy.") + raise ValueError("turbine_grid_points must be less than or equal to 3.") + def assign_hub_height_to_ref_height(self): # Confirm can do this operation From c3bf314ffe4717f8bb13823844b1f5f58f6102c1 Mon Sep 17 00:00:00 2001 From: Rafael M Mudafort Date: Tue, 9 Aug 2022 12:45:09 -0500 Subject: [PATCH 14/22] Update profiling script API and problem size --- profiling/profiling.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/profiling/profiling.py b/profiling/profiling.py index 97ebfc97b..421dd2766 100644 --- a/profiling/profiling.py +++ b/profiling/profiling.py @@ -46,16 +46,19 @@ def run_floris(): sample_inputs.floris["wake"]["enable_yaw_added_recovery"] = True sample_inputs.floris["wake"]["enable_transverse_velocities"] = True - factor = 100 - TURBINE_DIAMETER = sample_inputs.floris["turbine"]["rotor_diameter"] - sample_inputs.floris["farm"]["layout_x"] = [5 * TURBINE_DIAMETER * i for i in range(factor)] - sample_inputs.floris["farm"]["layout_y"] = [0.0 for i in range(factor)] + N_TURBINES = 100 + N_WIND_DIRECTIONS = 72 + N_WIND_SPEEDS = 25 - factor = 10 - sample_inputs.floris["flow_field"]["wind_directions"] = factor * [270.0] - sample_inputs.floris["flow_field"]["wind_speeds"] = factor * [8.0] + TURBINE_DIAMETER = sample_inputs.floris["farm"]["turbine_type"][0]["rotor_diameter"] + sample_inputs.floris["farm"]["layout_x"] = [5 * TURBINE_DIAMETER * i for i in range(N_TURBINES)] + sample_inputs.floris["farm"]["layout_y"] = [0.0 for i in range(N_TURBINES)] - N = 5 + sample_inputs.floris["flow_field"]["wind_directions"] = N_WIND_DIRECTIONS * [270.0] + sample_inputs.floris["flow_field"]["wind_speeds"] = N_WIND_SPEEDS * [8.0] + + N = 1 for i in range(N): floris = Floris.from_dict(copy.deepcopy(sample_inputs.floris)) + floris.initialize_domain() floris.steady_state_atmospheric_condition() From 5f1ab65ea3c63d24b119bf96ab68f227d7d87692 Mon Sep 17 00:00:00 2001 From: bayc Date: Fri, 12 Aug 2022 13:46:19 -0600 Subject: [PATCH 15/22] calculate dudz_initial analytically to support using only 1 rotor grid point (#476) * calculate dudz_initial analytically to support using only 1 rotor grid point * Updating regression tests --- floris/simulation/flow_field.py | 4 + floris/simulation/solver.py | 5 + floris/simulation/wake_deflection/gauss.py | 4 +- .../cumulative_curl_regression_test.py | 16 ++-- tests/reg_tests/gauss_regression_test.py | 96 +++++++++---------- 5 files changed, 66 insertions(+), 59 deletions(-) diff --git a/floris/simulation/flow_field.py b/floris/simulation/flow_field.py index 0620738b7..869183614 100644 --- a/floris/simulation/flow_field.py +++ b/floris/simulation/flow_field.py @@ -50,6 +50,7 @@ class FlowField(FromDictMixin): v: NDArrayFloat = field(init=False, default=np.array([])) w: NDArrayFloat = field(init=False, default=np.array([])) het_map: list = field(init=False, default=None) + dudz_initial_sorted: NDArrayFloat = field(init=False, default=np.array([])) turbulence_intensity_field: NDArrayFloat = field(init=False, default=np.array([])) @@ -78,6 +79,7 @@ def initialize_velocity_field(self, grid: Grid) -> None: # for height, using it here to apply the shear law makes that dimension store the vertical # wind profile. wind_profile_plane = (grid.z_sorted / self.reference_wind_height) ** self.wind_shear + dwind_profile_plane = self.wind_shear * (1 / self.reference_wind_height) ** self.wind_shear * (grid.z_sorted) ** (self.wind_shear - 1) # If no hetergeneous inflow defined, then set all speeds ups to 1.0 if self.het_map is None: @@ -99,8 +101,10 @@ def initialize_velocity_field(self, grid: Grid) -> None: # of the shape and the grid.template array on the right if self.time_series: self.u_initial_sorted = (self.wind_speeds[:].T * wind_profile_plane.T).T * speed_ups + self.dudz_initial_sorted = (self.wind_speeds[:].T * dwind_profile_plane.T).T * speed_ups else: self.u_initial_sorted = (self.wind_speeds[None, :].T * wind_profile_plane.T).T * speed_ups + self.dudz_initial_sorted = (self.wind_speeds[None, :].T * dwind_profile_plane.T).T * speed_ups self.v_initial_sorted = np.zeros(np.shape(self.u_initial_sorted), dtype=self.u_initial_sorted.dtype) self.w_initial_sorted = np.zeros(np.shape(self.u_initial_sorted), dtype=self.u_initial_sorted.dtype) diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index 25bf8dce9..8d211af20 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -133,6 +133,7 @@ def sequential_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, mode v_wake, w_wake = calculate_transverse_velocity( u_i, flow_field.u_initial_sorted, + flow_field.dudz_initial_sorted, grid.x_sorted - x_i, grid.y_sorted - y_i, grid.z_sorted, @@ -321,6 +322,7 @@ def full_flow_sequential_solver(farm: Farm, flow_field: FlowField, flow_field_gr v_wake, w_wake = calculate_transverse_velocity( u_i, flow_field.u_initial_sorted, + flow_field.dudz_initial_sorted, flow_field_grid.x_sorted - x_i, flow_field_grid.y_sorted - y_i, flow_field_grid.z_sorted, @@ -465,6 +467,7 @@ def cc_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, model_manage v_wake, w_wake = calculate_transverse_velocity( u_i, flow_field.u_initial_sorted, + flow_field.dudz_initial_sorted, grid.x_sorted - x_i, grid.y_sorted - y_i, grid.z_sorted, @@ -653,6 +656,7 @@ def full_flow_cc_solver(farm: Farm, flow_field: FlowField, flow_field_grid: Flow v_wake, w_wake = calculate_transverse_velocity( u_i, flow_field.u_initial_sorted, + flow_field.dudz_initial_sorted, flow_field_grid.x_sorted - x_i, flow_field_grid.y_sorted - y_i, flow_field_grid.z_sorted, @@ -806,6 +810,7 @@ def turbopark_solver(farm: Farm, flow_field: FlowField, grid: TurbineGrid, model v_wake, w_wake = calculate_transverse_velocity( u_i, flow_field.u_initial_sorted, + flow_field.dudz_initial_sorted, grid.x_sorted - x_i, grid.y_sorted - y_i, grid.z_sorted, diff --git a/floris/simulation/wake_deflection/gauss.py b/floris/simulation/wake_deflection/gauss.py index 3e9c6f7fb..6e0257757 100644 --- a/floris/simulation/wake_deflection/gauss.py +++ b/floris/simulation/wake_deflection/gauss.py @@ -342,6 +342,7 @@ def wake_added_yaw( def calculate_transverse_velocity( u_i, u_initial, + dudz_initial, delta_x, delta_y, z, @@ -401,9 +402,6 @@ def calculate_transverse_velocity( lmda = D / 8 kappa = 0.41 lm = kappa * z / (1 + kappa * z / lmda) - # TODO: get this from the z input? - z_basis = np.linspace(np.min(z), np.max(z), np.shape(u_initial)[4]) - dudz_initial = np.gradient(u_initial, z_basis, axis=4) nu = lm ** 2 * np.abs(dudz_initial) decay = eps ** 2 / (4 * nu * delta_x / Uinf + eps ** 2) # This is the decay downstream diff --git a/tests/reg_tests/cumulative_curl_regression_test.py b/tests/reg_tests/cumulative_curl_regression_test.py index 036435a80..d37e1e94a 100644 --- a/tests/reg_tests/cumulative_curl_regression_test.py +++ b/tests/reg_tests/cumulative_curl_regression_test.py @@ -86,25 +86,25 @@ [ [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], [5.4219904, 0.8658607, 511133.7736997, 0.3168748], - [4.9902533, 0.8928102, 385309.6126320, 0.3363008], + [4.9901603, 0.8928170, 385287.3116696, 0.3363059], ], # 9 m/s [ [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], [6.1011855, 0.8307591, 748404.6404163, 0.2943055], - [5.6072171, 0.8555225, 571154.1495386, 0.3099490], + [5.6071092, 0.8555280, 571116.7279097, 0.3099527], ], # 10 m/s [ [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], [6.7984638, 0.8003672, 1048915.4794254, 0.2765986], - [6.2452220, 0.8241201, 806765.4479110, 0.2903098], + [6.2451030, 0.8241256, 806717.2493019, 0.2903131], ], # 11 m/s [ [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], [7.5339320, 0.7749706, 1427833.3888763, 0.2628137], - [6.8971848, 0.7963949, 1094864.8116422, 0.2743869], + [6.8970594, 0.7964000, 1094806.4414958, 0.2743897], ], ] ) @@ -115,25 +115,25 @@ [ [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], [5.4029709, 0.8670436, 505568.1176628, 0.3176840], - [4.9791408, 0.8936138, 382644.8719082, 0.3369155], + [4.9790760, 0.8936185, 382629.3354701, 0.3369191], ], # 9 m/s [ [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], [6.0798429, 0.8317428, 739757.0246720, 0.2949042], - [5.5938124, 0.8562085, 566504.2126629, 0.3104007], + [5.5937356, 0.8562124, 566477.5644593, 0.3104033], ], # 10 m/s [ [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], [6.7754458, 0.8012934, 1038201.8164555, 0.2771174], - [6.2302537, 0.8248100, 800700.5867580, 0.2907215], + [6.2301672, 0.8248140, 800665.5335362, 0.2907239], ], # 11 m/s [ [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], [7.5103959, 0.7755790, 1413729.2052485, 0.2631345], - [6.8817912, 0.7970143, 1087699.9040360, 0.2747304], + [6.8816977, 0.7970181, 1087656.4020125, 0.2747324], ], ] ) diff --git a/tests/reg_tests/gauss_regression_test.py b/tests/reg_tests/gauss_regression_test.py index d9b7731ca..f49f8ceb6 100644 --- a/tests/reg_tests/gauss_regression_test.py +++ b/tests/reg_tests/gauss_regression_test.py @@ -26,27 +26,27 @@ [ # 8 m/s [ - [7.9803783, 0.7634300, 1695368.6455473, 0.2568077], - [5.8384411, 0.8436903, 651362.9121753, 0.3023199], - [5.9388958, 0.8385498, 686209.4710003, 0.2990957], + [7.9803783, 0.7634300, 1695368.7987130, 0.2568077], + [5.8384411, 0.8436903, 651363.2435524, 0.3023199], + [5.9388958, 0.8385498, 686209.8630205, 0.2990957], ], # 9 m/s [ - [8.9779256, 0.7625731, 2413659.0651694, 0.2563676], - [6.5698070, 0.8095679, 942487.3932503, 0.2818073], - [6.7192788, 0.8035535, 1012058.4081816, 0.2783886], + [8.9779256, 0.7625731, 2413658.0981405, 0.2563676], + [6.5698070, 0.8095679, 942487.9831258, 0.2818073], + [6.7192788, 0.8035535, 1012059.0934624, 0.2783886], ], # 10 m/s [ - [9.9754729, 0.7527803, 3306006.9741814, 0.2513940], - [7.3198945, 0.7817588, 1312121.9341194, 0.2664185], - [7.4982017, 0.7759067, 1406546.0953528, 0.2633075], + [9.9754729, 0.7527803, 3306006.2306084, 0.2513940], + [7.3198945, 0.7817588, 1312122.9051486, 0.2664185], + [7.4982017, 0.7759067, 1406547.1257826, 0.2633075], ], # 11 m/s [ - [10.9730201, 0.7304328, 4373591.7174990, 0.2404007], - [ 8.1044931, 0.7626381, 1778225.5062060, 0.2564010], - [ 8.2645633, 0.7622021, 1887139.2890270, 0.2561774], + [10.9730201, 0.7304328, 4373596.1594956, 0.2404007], + [8.1044931, 0.7626381, 1778226.0596889, 0.2564010], + [8.2645633, 0.7622021, 1887140.5106744, 0.2561774], ] ] ) @@ -146,27 +146,27 @@ [ # 8 m/s [ - [7.9803783, 0.7605249, 1683956.3885389, 0.2548147], - [5.8919486, 0.8409522, 669924.0459695, 0.3005960], - [5.9689897, 0.8370099, 696648.6988779, 0.2981398], + [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], + [5.8919486, 0.8409522, 669924.4096484, 0.3005960], + [5.9686695, 0.8370262, 696538.0378027, 0.2981500], ], # 9 m/s [ - [8.9779256, 0.7596713, 2397237.3791443, 0.2543815], - [6.6298866, 0.8071504, 970451.1986814, 0.2804268], - [6.7526650, 0.8022101, 1027597.8734084, 0.2776321], + [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], + [6.6298866, 0.8071504, 970451.8269047, 0.2804268], + [6.7523126, 0.8022243, 1027434.5597156, 0.2776401], ], # 10 m/s [ - [9.9754729, 0.7499157, 3283592.6005045, 0.2494847], - [7.3851732, 0.7796164, 1346690.8243164, 0.2652748], - [7.5342846, 0.7749614, 1428043.6798542, 0.2628089], + [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], + [7.3851732, 0.7796164, 1346691.8170923, 0.2652748], + [7.5339044, 0.7749713, 1427816.8489148, 0.2628140], ], # 11 m/s [ - [10.9730201, 0.7276532, 4344217.6993801, 0.2386508], - [8.1726065, 0.7624526, 1824570.7248189, 0.2563058], - [8.2995738, 0.7621067, 1910960.9002259, 0.2561285], + [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], + [8.1726065, 0.7624526, 1824571.5626205, 0.2563058], + [8.2991708, 0.7621078, 1910688.0574225, 0.2561290], ], ] ) @@ -175,27 +175,27 @@ [ # 8 m/s [ - [7.9803783, 0.7605249, 1683956.3885389, 0.2548147], - [5.8919476, 0.8409523, 669923.6972896, 0.3005961], - [5.9632412, 0.8373040, 694654.5960227, 0.2983221], + [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], + [5.8919476, 0.8409523, 669924.0609678, 0.3005961], + [5.9630522, 0.8373137, 694589.4363406, 0.2983281], ], # 9 m/s [ - [8.9779256, 0.7596713, 2397237.3791443, 0.2543815], - [6.6298855, 0.8071504, 970450.6737564, 0.2804268], - [6.7462833, 0.8024669, 1024627.5360075, 0.2777765], + [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], + [6.6298855, 0.8071504, 970451.3019789, 0.2804268], + [6.7460763, 0.8024752, 1024531.8988965, 0.2777812], ], # 10 m/s [ - [9.9754729, 0.7499157, 3283592.6005045, 0.2494847], - [7.3851720, 0.7796164, 1346690.1809469, 0.2652748], - [7.5273470, 0.7751408, 1423886.2807889, 0.2629034], + [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], + [7.3851720, 0.7796164, 1346691.1737223, 0.2652748], + [7.5271249, 0.7751465, 1423754.1608641, 0.2629064], ], # 11 m/s [ - [10.9730201, 0.7276532, 4344217.6993801, 0.2386508], - [8.1726052, 0.7624526, 1824569.8797601, 0.2563058], - [8.2921752, 0.7621269, 1905926.7688633, 0.2561388], + [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], + [8.1726052, 0.7624526, 1824570.7175565, 0.2563058], + [8.2919410, 0.7621275, 1905768.7628771, 0.2561391], ], ] ) @@ -204,27 +204,27 @@ [ # 8 m/s [ - [7.9803783, 0.7605249, 1683956.3885389, 0.2548147], - [5.8728728, 0.8419284, 663306.8379666, 0.3012089], - [5.9488301, 0.8380415, 689655.5729586, 0.2987796], + [7.9803783, 0.7605249, 1683956.5765064, 0.2548147], + [5.8728728, 0.8419284, 663307.1901296, 0.3012089], + [5.9486952, 0.8380484, 689609.1551620, 0.2987839], ], # 9 m/s [ - [8.9779256, 0.7596713, 2397237.3791443, 0.2543815], - [6.6084827, 0.8080116, 960488.8358520, 0.2809176], - [6.7305702, 0.8030991, 1017313.9339292, 0.2781324], + [8.9779256, 0.7596713, 2397236.5542849, 0.2543815], + [6.6084827, 0.8080116, 960489.4504135, 0.2809176], + [6.7304206, 0.8031051, 1017245.0103229, 0.2781358], ], # 10 m/s [ - [9.9754729, 0.7499157, 3283592.6005045, 0.2494847], - [7.3621043, 0.7803735, 1334474.4719693, 0.2656784], - [7.5106603, 0.7755721, 1413886.6252099, 0.2631309], + [9.9754729, 0.7499157, 3283591.8023665, 0.2494847], + [7.3621043, 0.7803735, 1334475.4570600, 0.2656784], + [7.5104978, 0.7755763, 1413790.2904370, 0.2631331], ], # 11 m/s [ - [10.9730201, 0.7276532, 4344217.6993801, 0.2386508], - [8.1489900, 0.7625169, 1808501.7467836, 0.2563388], - [8.2759460, 0.7621711, 1894884.2411821, 0.2561615], + [10.9730201, 0.7276532, 4344222.0129382, 0.2386508], + [8.1489900, 0.7625169, 1808502.4860052, 0.2563388], + [8.2757728, 0.7621716, 1894767.6143032, 0.2561617], ], ] ) From 35899f250cbdaed643042ac2edadd8669e8ff589 Mon Sep 17 00:00:00 2001 From: Bart Doekemeijer Date: Fri, 12 Aug 2022 16:41:51 -0600 Subject: [PATCH 16/22] Add turbine_weights option in get_farm_power and get_farm_aep (#435) * Add turbine_weights option in get_farm_power and get_farm_aep * Reflect turbine_weights functionality in uncertainty_interface * Bug fix: add turbine_weights option in uncertainty_interface.get_farm_power * Preliminary example of yaw optimization with a neighboring farm * Add a smaller example to show syntax for t_weights * updating example numbering * update examples to be excluded from testing due to renumbering of examples Co-authored-by: Paul Co-authored-by: bayc --- .github/workflows/check-working-examples.yaml | 4 +- .../08_compare_farm_power_with_neighbor.py | 79 +++++ ...w_single_ws.py => 09_opt_yaw_single_ws.py} | 0 ...ltiple_ws.py => 10_opt_yaw_multiple_ws.py} | 0 ...{10_optimize_yaw.py => 11_optimize_yaw.py} | 0 .../12_optimize_yaw_with_neighboring_farm.py | 312 ++++++++++++++++++ ...mizers.py => 13_compare_yaw_optimizers.py} | 0 ...timize_layout.py => 14_optimize_layout.py} | 0 ...s_inflow.py => 15_heterogeneous_inflow.py} | 0 ..._types.py => 16_multiple_turbine_types.py} | 0 ...5_check_turbine.py => 17_check_turbine.py} | 0 ...streamlit_demo.py => 18_streamlit_demo.py} | 0 ..._calculate_farm_power_with_uncertainty.py} | 0 ..._time_series.py => 20_demo_time_series.py} | 0 ...es.py => 21_get_wind_speed_at_turbines.py} | 0 floris/tools/floris_interface.py | 55 ++- floris/tools/uncertainty_interface.py | 67 +++- 17 files changed, 502 insertions(+), 15 deletions(-) create mode 100644 examples/08_compare_farm_power_with_neighbor.py rename examples/{08_opt_yaw_single_ws.py => 09_opt_yaw_single_ws.py} (100%) rename examples/{09_opt_yaw_multiple_ws.py => 10_opt_yaw_multiple_ws.py} (100%) rename examples/{10_optimize_yaw.py => 11_optimize_yaw.py} (100%) create mode 100644 examples/12_optimize_yaw_with_neighboring_farm.py rename examples/{12_compare_yaw_optimizers.py => 13_compare_yaw_optimizers.py} (100%) rename examples/{11_optimize_layout.py => 14_optimize_layout.py} (100%) rename examples/{13_heterogeneous_inflow.py => 15_heterogeneous_inflow.py} (100%) rename examples/{14_multiple_turbine_types.py => 16_multiple_turbine_types.py} (100%) rename examples/{15_check_turbine.py => 17_check_turbine.py} (100%) rename examples/{16_streamlit_demo.py => 18_streamlit_demo.py} (100%) rename examples/{17_calculate_farm_power_with_uncertainty.py => 19_calculate_farm_power_with_uncertainty.py} (100%) rename examples/{18_demo_time_series.py => 20_demo_time_series.py} (100%) rename examples/{18_get_wind_speed_at_turbines.py => 21_get_wind_speed_at_turbines.py} (100%) diff --git a/.github/workflows/check-working-examples.yaml b/.github/workflows/check-working-examples.yaml index b303072ed..e8394317e 100644 --- a/.github/workflows/check-working-examples.yaml +++ b/.github/workflows/check-working-examples.yaml @@ -36,10 +36,10 @@ jobs: for i in *.py; do # Skip these examples since they have additional dependencies - if [[ $i == *11* ]]; then + if [[ $i == *14* ]]; then continue fi - if [[ $i == *16* ]]; then + if [[ $i == *18* ]]; then continue fi diff --git a/examples/08_compare_farm_power_with_neighbor.py b/examples/08_compare_farm_power_with_neighbor.py new file mode 100644 index 000000000..a4ee01ddf --- /dev/null +++ b/examples/08_compare_farm_power_with_neighbor.py @@ -0,0 +1,79 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import numpy as np +import pandas as pd +from floris.tools import FlorisInterface +import matplotlib.pyplot as plt + +""" +This example demonstrates how to use turbine_wieghts to define a set of turbines belonging to a neighboring farm which +impacts the power production of the farm under consideration via wake losses, but whose own power production is not +considered in farm power / aep production + +The use of neighboring farms in the context of wake steering design is considered in example examples/10_optimize_yaw_with_neighboring_farm.py +""" + + +# Instantiate FLORIS using either the GCH or CC model +fi = FlorisInterface("inputs/gch.yaml") # GCH model matched to the default "legacy_gauss" of V2 + +# Define a 4 turbine farm turbine farm +D = 126. +layout_x = np.array([0, D*6, 0, D*6]) +layout_y = [0, 0, D*3, D*3] +fi.reinitialize(layout = [layout_x, layout_y]) + +# Define a simple wind rose with just 1 wind speed +wd_array = np.arange(0,360,4.) +fi.reinitialize(wind_directions=wd_array, wind_speeds=[8.]) + + +# Calculate +fi.calculate_wake() + +# Collect the farm power +farm_power_base = fi.get_farm_power() / 1E3 # In kW + +# Add a neighbor to the east +layout_x = np.array([0, D*6, 0, D*6, D*12, D*15, D*12, D*15]) +layout_y = np.array([0, 0, D*3, D*3, 0, 0, D*3, D*3]) +fi.reinitialize(layout = [layout_x, layout_y]) + +# Define the weights to exclude the neighboring farm from calcuations of power +turbine_weights = np.zeros(len(layout_x), dtype=int) +turbine_weights[0:4] = 1.0 + +# Calculate +fi.calculate_wake() + +# Collect the farm power with the neightbor +farm_power_neighbor = fi.get_farm_power(turbine_weights=turbine_weights) / 1E3 # In kW + +# Show the farms +fig, ax = plt.subplots() +ax.scatter(layout_x[turbine_weights==1],layout_y[turbine_weights==1], color='k',label='Base Farm') +ax.scatter(layout_x[turbine_weights==0],layout_y[turbine_weights==0], color='r',label='Neighboring Farm') +ax.legend() + +# Plot the power difference +fig, ax = plt.subplots() +ax.plot(wd_array,farm_power_base,color='k',label='Farm Power (no neighbor)') +ax.plot(wd_array,farm_power_neighbor,color='r',label='Farm Power (neighboring farm due east)') +ax.grid(True) +ax.legend() +ax.set_xlabel('Wind Direction (deg)') +ax.set_ylabel('Power (kW)') +plt.show() diff --git a/examples/08_opt_yaw_single_ws.py b/examples/09_opt_yaw_single_ws.py similarity index 100% rename from examples/08_opt_yaw_single_ws.py rename to examples/09_opt_yaw_single_ws.py diff --git a/examples/09_opt_yaw_multiple_ws.py b/examples/10_opt_yaw_multiple_ws.py similarity index 100% rename from examples/09_opt_yaw_multiple_ws.py rename to examples/10_opt_yaw_multiple_ws.py diff --git a/examples/10_optimize_yaw.py b/examples/11_optimize_yaw.py similarity index 100% rename from examples/10_optimize_yaw.py rename to examples/11_optimize_yaw.py diff --git a/examples/12_optimize_yaw_with_neighboring_farm.py b/examples/12_optimize_yaw_with_neighboring_farm.py new file mode 100644 index 000000000..8f7bcb1aa --- /dev/null +++ b/examples/12_optimize_yaw_with_neighboring_farm.py @@ -0,0 +1,312 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +from floris.tools import FlorisInterface +from floris.tools.optimization.yaw_optimization.yaw_optimizer_sr import ( + YawOptimizationSR, +) +from scipy.interpolate import NearestNDInterpolator + + +""" +This example demonstrates how to perform a yaw optimization and evaluate the performance over a full wind rose. + +The beginning of the file contains the definition of several functions used in the main part of the script. + +Within the main part of the script, we first load the wind rose information. We then initialize our Floris Interface +object. We determine the baseline AEP using the wind rose information, and then perform the yaw optimization over 72 +wind directions with 1 wind speed per direction. The optimal yaw angles are then used to determine yaw angles across +all the wind speeds included in the wind rose. Lastly, the final AEP is calculated and analysis of the results are +shown in several plots. +""" + +def load_floris(): + # Load the default example floris object + fi = FlorisInterface("inputs/gch.yaml") # GCH model matched to the default "legacy_gauss" of V2 + # fi = FlorisInterface("inputs/cc.yaml") # New CumulativeCurl model + + # Specify the full wind farm layout: nominal and neighboring wind farms + X = np.array( + [ + 0., 756., 1512., 2268., 3024., 0., 756., 1512., + 2268., 3024., 0., 756., 1512., 2268., 3024., 0., + 756., 1512., 2268., 3024., 4500., 5264., 6028., 4878., + 0., 756., 1512., 2268., 3024., + ] + ) / 1.5 + Y = np.array( + [ + 0., 0., 0., 0., 0., 504., 504., 504., + 504., 504., 1008., 1008., 1008., 1008., 1008., 1512., + 1512., 1512., 1512., 1512., 4500., 4059., 3618., 5155., + -504., -504., -504., -504., -504., + ] + ) / 1.5 + + # Turbine weights: we want to only optimize for the first 10 turbines + turbine_weights = np.zeros(len(X), dtype=int) + turbine_weights[0:10] = 1.0 + + # Now reinitialize FLORIS layout + fi.reinitialize(layout_x = X, layout_y = Y) + + # And visualize the floris layout + fig, ax = plt.subplots() + ax.plot(X[turbine_weights == 0], Y[turbine_weights == 0], 'ro', label="Neighboring farms") + ax.plot(X[turbine_weights == 1], Y[turbine_weights == 1], 'go', label='Farm subset') + ax.grid(True) + ax.set_xlabel("x coordinate (m)") + ax.set_ylabel("y coordinate (m)") + ax.legend() + + return fi, turbine_weights + + +def load_windrose(): + # Load the wind rose information from an external file + df = pd.read_csv("inputs/wind_rose.csv") + df = df[(df["ws"] < 22)].reset_index(drop=True) # Reduce size + df["freq_val"] = df["freq_val"] / df["freq_val"].sum() # Normalize wind rose frequencies + + # Now put the wind rose information in FLORIS format + ws_windrose = df["ws"].unique() + wd_windrose = df["wd"].unique() + wd_grid, ws_grid = np.meshgrid(wd_windrose, ws_windrose, indexing="ij") + + # Use an interpolant to shape the 'freq_val' vector appropriately. You can + # also use np.reshape(), but NearestNDInterpolator is more fool-proof. + freq_interpolant = NearestNDInterpolator( + df[["ws", "wd"]], df["freq_val"] + ) + freq = freq_interpolant(wd_grid, ws_grid) + freq_windrose = freq / freq.sum() # Normalize to sum to 1.0 + + return ws_windrose, wd_windrose, freq_windrose + + +def optimize_yaw_angles(fi_opt): + # Specify turbines to optimize + turbs_to_opt = np.zeros(len(fi_opt.layout_x), dtype=bool) + turbs_to_opt[0:10] = True + + # Specify turbine weights + turbine_weights = np.zeros(len(fi_opt.layout_x)) + turbine_weights[turbs_to_opt] = 1.0 + + # Specify minimum and maximum allowable yaw angle limits + minimum_yaw_angle = np.zeros( + ( + fi_opt.floris.flow_field.n_wind_directions, + fi_opt.floris.flow_field.n_wind_speeds, + fi_opt.floris.farm.n_turbines + ) + ) + maximum_yaw_angle = np.zeros( + ( + fi_opt.floris.flow_field.n_wind_directions, + fi_opt.floris.flow_field.n_wind_speeds, + fi_opt.floris.farm.n_turbines + ) + ) + maximum_yaw_angle[:, :, turbs_to_opt] = 30.0 + + yaw_opt = YawOptimizationSR( + fi=fi_opt, + minimum_yaw_angle=minimum_yaw_angle, + maximum_yaw_angle=maximum_yaw_angle, + turbine_weights=turbine_weights, + Ny_passes=[5], + exclude_downstream_turbines=True, + ) + + df_opt = yaw_opt.optimize() + yaw_angles_opt = yaw_opt.yaw_angles_opt + print("Optimization finished.") + print(" ") + print(df_opt) + print(" ") + + # Now create an interpolant from the optimal yaw angles + def yaw_opt_interpolant(wd, ws): + # Format the wind directions and wind speeds accordingly + wd = np.array(wd, dtype=float) + ws = np.array(ws, dtype=float) + + # Interpolate optimal yaw angles + x = yaw_opt.fi.floris.flow_field.wind_directions + nturbs = fi_opt.floris.farm.n_turbines + y = np.stack( + [np.interp(wd, x, yaw_angles_opt[:, 0, ti]) for ti in range(nturbs)], + axis=np.ndim(wd) + ) + + # Now, we want to apply a ramp-up region near cut-in and ramp-down + # region near cut-out wind speed for the yaw offsets. + lim = np.ones(np.shape(wd), dtype=float) # Introduce a multiplication factor + + # Dont do wake steering under 4 m/s or above 14 m/s + lim[(ws <= 4.0) | (ws >= 14.0)] = 0.0 + + # Linear ramp up for the maximum yaw offset between 4.0 and 6.0 m/s + ids = (ws > 4.0) & (ws < 6.0) + lim[ids] = (ws[ids] - 4.0) / 2.0 + + # Linear ramp down for the maximum yaw offset between 12.0 and 14.0 m/s + ids = (ws > 12.0) & (ws < 14.0) + lim[ids] = (ws[ids] - 12.0) / 2.0 + + # Copy over multiplication factor to every turbine + lim = np.expand_dims(lim, axis=np.ndim(wd)).repeat(nturbs, axis=np.ndim(wd)) + lim = lim * 30.0 # These are the limits + + # Finally, Return clipped yaw offsets to the limits + return np.clip(a=y, a_min=0.0, a_max=lim) + + # Return the yaw interpolant + return yaw_opt_interpolant + + +if __name__ == "__main__": + # Load FLORIS: full farm including neighboring wind farms + fi, turbine_weights = load_floris() + nturbs = len(fi.layout_x) + + # Load a dataframe containing the wind rose information + ws_windrose, wd_windrose, freq_windrose = load_windrose() + ws_windrose = ws_windrose + 0.001 # Deal with 0.0 m/s discrepancy + + # Create a FLORIS object for AEP calculations + fi_AEP = fi.copy() + fi_AEP.reinitialize(wind_speeds=ws_windrose, wind_directions=wd_windrose) + + # And create a separate FLORIS object for optimization + fi_opt = fi.copy() + fi_opt.reinitialize( + wind_directions=np.arange(0.0, 360.0, 3.0), + wind_speeds=[8.0] + ) + + # First, get baseline AEP, without wake steering + print(" ") + print("===========================================================") + print("Calculating baseline annual energy production (AEP)...") + aep_bl_subset = 1.0e-9 * fi_AEP.get_farm_AEP( + freq=freq_windrose, + turbine_weights=turbine_weights + ) + print("Baseline AEP for subset farm: {:.3f} GWh.".format(aep_bl_subset)) + print("===========================================================") + print(" ") + + # Now optimize the yaw angles using the Serial Refine method. We first + # create a copy of the floris object for optimization purposes and assign + # it the atmospheric conditions for which we want to optimize. Typically, + # the optimal yaw angles are very insensitive to the actual wind speed, + # and hence we only optimize for a single wind speed of 8.0 m/s. We assume + # that the optimal yaw angles at 8.0 m/s are also optimal at other wind + # speeds between 4 and 12 m/s. + print("Now starting yaw optimization for the entire wind rose for farm subset...") + + # In this hypothetical case, we can only control the yaw angles of the + # turbines of the wind farm subset (i.e., the first 10 wind turbines). + # Hence, we constrain the yaw angles of the neighboring wind farms to 0.0. + turbs_to_opt = (turbine_weights > 0.0001) + + # Optimize yaw angles while including neighboring farm + yaw_opt_interpolant = optimize_yaw_angles(fi_opt=fi_opt) + + # Optimize yaw angles while ignoring neighboring farm + fi_opt_subset = fi_opt.copy() + fi_opt_subset.reinitialize(layout_x= fi.layout_x[turbs_to_opt], layout_y = fi.layout_y[turbs_to_opt]) + yaw_opt_interpolant_nonb = optimize_yaw_angles(fi_opt=fi_opt_subset) + + # Use interpolant to get optimal yaw angles for fi_AEP object + X, Y = np.meshgrid( + fi_AEP.floris.flow_field.wind_directions, + fi_AEP.floris.flow_field.wind_speeds, + indexing="ij" + ) + yaw_angles_opt_AEP = yaw_opt_interpolant(X, Y) + yaw_angles_opt_nonb_AEP = np.zeros_like(yaw_angles_opt_AEP) # nonb = no neighbor + yaw_angles_opt_nonb_AEP[:, :, turbs_to_opt] = yaw_opt_interpolant_nonb(X, Y) + + # Now get AEP with optimized yaw angles + print(" ") + print("===========================================================") + print("Calculating annual energy production with wake steering (AEP)...") + aep_opt_subset_nonb = 1.0e-9 * fi_AEP.get_farm_AEP( + freq=freq_windrose, + turbine_weights=turbine_weights, + yaw_angles=yaw_angles_opt_nonb_AEP, + ) + aep_opt_subset = 1.0e-9 * fi_AEP.get_farm_AEP( + freq=freq_windrose, + turbine_weights=turbine_weights, + yaw_angles=yaw_angles_opt_AEP, + ) + uplift_subset_nonb = 100.0 * (aep_opt_subset_nonb - aep_bl_subset) / aep_bl_subset + uplift_subset = 100.0 * (aep_opt_subset - aep_bl_subset) / aep_bl_subset + print("Optimized AEP for subset farm (including neighbor farms' wakes): {:.3f} GWh (+{:.2f}%).".format(aep_opt_subset_nonb, uplift_subset_nonb)) + print("Optimized AEP for subset farm (ignoring neighbor farms' wakes): {:.3f} GWh (+{:.2f}%).".format(aep_opt_subset, uplift_subset)) + print("===========================================================") + print(" ") + + # Plot power and AEP uplift across wind direction at wind_speed of 8 m/s + X, Y = np.meshgrid( + fi_opt.floris.flow_field.wind_directions, + fi_opt.floris.flow_field.wind_speeds, + indexing="ij", + ) + yaw_angles_opt = yaw_opt_interpolant(X, Y) + + yaw_angles_opt_nonb = np.zeros_like(yaw_angles_opt) # nonb = no neighbor + yaw_angles_opt_nonb[:, :, turbs_to_opt] = yaw_opt_interpolant_nonb(X, Y) + + fi_opt = fi_opt.copy() + fi_opt.calculate_wake(yaw_angles=np.zeros_like(yaw_angles_opt)) + farm_power_bl_subset = fi_opt.get_farm_power(turbine_weights).flatten() + + fi_opt = fi_opt.copy() + fi_opt.calculate_wake(yaw_angles=yaw_angles_opt) + farm_power_opt_subset = fi_opt.get_farm_power(turbine_weights).flatten() + + fi_opt = fi_opt.copy() + fi_opt.calculate_wake(yaw_angles=yaw_angles_opt_nonb) + farm_power_opt_subset_nonb = fi_opt.get_farm_power(turbine_weights).flatten() + + fig, ax = plt.subplots() + ax.bar( + x=fi_opt.floris.flow_field.wind_directions - 0.65, + height=100.0 * (farm_power_opt_subset / farm_power_bl_subset - 1.0), + edgecolor="black", + width=1.3, + label="Including wake effects of neighboring farms" + ) + ax.bar( + x=fi_opt.floris.flow_field.wind_directions + 0.65, + height=100.0 * (farm_power_opt_subset_nonb / farm_power_bl_subset - 1.0), + edgecolor="black", + width=1.3, + label="Ignoring neighboring farms" + ) + ax.set_ylabel("Power uplift \n at 8 m/s (%)") + ax.legend() + ax.grid(True) + ax.set_xlabel("Wind direction (deg)") + + plt.show() diff --git a/examples/12_compare_yaw_optimizers.py b/examples/13_compare_yaw_optimizers.py similarity index 100% rename from examples/12_compare_yaw_optimizers.py rename to examples/13_compare_yaw_optimizers.py diff --git a/examples/11_optimize_layout.py b/examples/14_optimize_layout.py similarity index 100% rename from examples/11_optimize_layout.py rename to examples/14_optimize_layout.py diff --git a/examples/13_heterogeneous_inflow.py b/examples/15_heterogeneous_inflow.py similarity index 100% rename from examples/13_heterogeneous_inflow.py rename to examples/15_heterogeneous_inflow.py diff --git a/examples/14_multiple_turbine_types.py b/examples/16_multiple_turbine_types.py similarity index 100% rename from examples/14_multiple_turbine_types.py rename to examples/16_multiple_turbine_types.py diff --git a/examples/15_check_turbine.py b/examples/17_check_turbine.py similarity index 100% rename from examples/15_check_turbine.py rename to examples/17_check_turbine.py diff --git a/examples/16_streamlit_demo.py b/examples/18_streamlit_demo.py similarity index 100% rename from examples/16_streamlit_demo.py rename to examples/18_streamlit_demo.py diff --git a/examples/17_calculate_farm_power_with_uncertainty.py b/examples/19_calculate_farm_power_with_uncertainty.py similarity index 100% rename from examples/17_calculate_farm_power_with_uncertainty.py rename to examples/19_calculate_farm_power_with_uncertainty.py diff --git a/examples/18_demo_time_series.py b/examples/20_demo_time_series.py similarity index 100% rename from examples/18_demo_time_series.py rename to examples/20_demo_time_series.py diff --git a/examples/18_get_wind_speed_at_turbines.py b/examples/21_get_wind_speed_at_turbines.py similarity index 100% rename from examples/18_get_wind_speed_at_turbines.py rename to examples/21_get_wind_speed_at_turbines.py diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index 30dd98c0e..efbddb296 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -611,6 +611,7 @@ def get_turbine_TIs(self) -> NDArrayFloat: def get_farm_power( self, + turbine_weights=None, use_turbulence_correction=False, ): """ @@ -621,6 +622,19 @@ def get_farm_power( original wind direction and yaw angles. Args: + turbine_weights (NDArrayFloat | list[float] | None, optional): + weighing terms that allow the user to emphasize power at + particular turbines and/or completely ignore the power + from other turbines. This is useful when, for example, you are + modeling multiple wind farms in a single floris object. If you + only want to calculate the power production for one of those + farms and include the wake effects of the neighboring farms, + you can set the turbine_weights for the neighboring farms' + turbines to 0.0. The array of turbine powers from floris + is multiplied with this array in the calculation of the + objective function. If None, this is an array with all values + 1.0 and with shape equal to (n_wind_directions, n_wind_speeds, + n_turbines). Defaults to None. use_turbulence_correction: (bool, optional): When *True* uses a turbulence parameter to adjust power output calculations. Defaults to *False*. @@ -639,7 +653,30 @@ def get_farm_power( if self.floris.state is not State.USED: raise RuntimeError(f"Can't run function `FlorisInterface.get_turbine_powers` without running `FlorisInterface.calculate_wake`.") + if turbine_weights is None: + # Default to equal weighing of all turbines when turbine_weights is None + turbine_weights = np.ones( + ( + self.floris.flow_field.n_wind_directions, + self.floris.flow_field.n_wind_speeds, + self.floris.farm.n_turbines + ) + ) + elif len(np.shape(turbine_weights)) == 1: + # Deal with situation when 1D array is provided + turbine_weights = np.tile( + turbine_weights, + ( + self.floris.flow_field.n_wind_directions, + self.floris.flow_field.n_wind_speeds, + 1 + ) + ) + + # Calculate all turbine powers and apply weights turbine_powers = self.get_turbine_powers() + turbine_powers = np.multiply(turbine_weights, turbine_powers) + return np.sum(turbine_powers, axis=2) def get_farm_AEP( @@ -648,6 +685,7 @@ def get_farm_AEP( cut_in_wind_speed=0.001, cut_out_wind_speed=None, yaw_angles=None, + turbine_weights=None, no_wake=False, ) -> float: """ @@ -673,6 +711,19 @@ def get_farm_AEP( The relative turbine yaw angles in degrees. If None is specified, will assume that the turbine yaw angles are all zero degrees for all conditions. Defaults to None. + turbine_weights (NDArrayFloat | list[float] | None, optional): + weighing terms that allow the user to emphasize power at + particular turbines and/or completely ignore the power + from other turbines. This is useful when, for example, you are + modeling multiple wind farms in a single floris object. If you + only want to calculate the power production for one of those + farms and include the wake effects of the neighboring farms, + you can set the turbine_weights for the neighboring farms' + turbines to 0.0. The array of turbine powers from floris + is multiplied with this array in the calculation of the + objective function. If None, this is an array with all values + 1.0 and with shape equal to (n_wind_directions, n_wind_speeds, + n_turbines). Defaults to None. no_wake: (bool, optional): When *True* updates the turbine quantities without calculating the wake or adding the wake to the flow field. This can be useful when quantifying the loss @@ -719,7 +770,9 @@ def get_farm_AEP( self.calculate_no_wake(yaw_angles=yaw_angles_subset) else: self.calculate_wake(yaw_angles=yaw_angles_subset) - farm_power[:, conditions_to_evaluate] = self.get_farm_power() + farm_power[:, conditions_to_evaluate] = ( + self.get_farm_power(turbine_weights=turbine_weights) + ) # Finally, calculate AEP in GWh aep = np.sum(np.multiply(freq, farm_power) * 365 * 24) diff --git a/floris/tools/uncertainty_interface.py b/floris/tools/uncertainty_interface.py index 9dca4fc6a..1d138c7b9 100644 --- a/floris/tools/uncertainty_interface.py +++ b/floris/tools/uncertainty_interface.py @@ -387,12 +387,6 @@ def get_turbine_powers(self): """Calculates the probability-weighted power production of each turbine in the wind farm. - Args: - no_wake (bool, optional): disable the wakes in the flow model. - This can be useful to determine the (probablistic) power - production of the farm in the artificial scenario where there - would never be any wake losses. Defaults to False. - Returns: NDArrayFloat: Power production of all turbines in the wind farm. This array has the shape (num_wind_directions, num_wind_speeds, @@ -456,22 +450,55 @@ def get_turbine_powers(self): # Now apply probability distribution weighing to get turbine powers return np.sum(wd_weighing * power_probablistic, axis=0) - def get_farm_power(self): + def get_farm_power(self, turbine_weights=None): """Calculates the probability-weighted power production of the collective of all turbines in the farm, for each wind direction and wind speed specified. Args: - no_wake (bool, optional): disable the wakes in the flow model. - This can be useful to determine the (probablistic) power - production of the farm in the artificial scenario where there - would never be any wake losses. Defaults to False. + turbine_weights (NDArrayFloat | list[float] | None, optional): + weighing terms that allow the user to emphasize power at + particular turbines and/or completely ignore the power + from other turbines. This is useful when, for example, you are + modeling multiple wind farms in a single floris object. If you + only want to calculate the power production for one of those + farms and include the wake effects of the neighboring farms, + you can set the turbine_weights for the neighboring farms' + turbines to 0.0. The array of turbine powers from floris + is multiplied with this array in the calculation of the + objective function. If None, this is an array with all values + 1.0 and with shape equal to (n_wind_directions, n_wind_speeds, + n_turbines). Defaults to None. Returns: NDArrayFloat: Expectation of power production of the wind farm. This array has the shape (num_wind_directions, num_wind_speeds). """ + + if turbine_weights is None: + # Default to equal weighing of all turbines when turbine_weights is None + turbine_weights = np.ones( + ( + self.floris.flow_field.n_wind_directions, + self.floris.flow_field.n_wind_speeds, + self.floris.farm.n_turbines + ) + ) + elif len(np.shape(turbine_weights)) == 1: + # Deal with situation when 1D array is provided + turbine_weights = np.tile( + turbine_weights, + ( + self.floris.flow_field.n_wind_directions, + self.floris.flow_field.n_wind_speeds, + 1 + ) + ) + + # Calculate all turbine powers and apply weights turbine_powers = self.get_turbine_powers() + turbine_powers = np.multiply(turbine_weights, turbine_powers) + return np.sum(turbine_powers, axis=2) def get_farm_AEP( @@ -480,6 +507,7 @@ def get_farm_AEP( cut_in_wind_speed=0.001, cut_out_wind_speed=None, yaw_angles=None, + turbine_weights=None, no_wake=False, ) -> float: """ @@ -505,6 +533,19 @@ def get_farm_AEP( The relative turbine yaw angles in degrees. If None is specified, will assume that the turbine yaw angles are all zero degrees for all conditions. Defaults to None. + turbine_weights (NDArrayFloat | list[float] | None, optional): + weighing terms that allow the user to emphasize power at + particular turbines and/or completely ignore the power + from other turbines. This is useful when, for example, you are + modeling multiple wind farms in a single floris object. If you + only want to calculate the power production for one of those + farms and include the wake effects of the neighboring farms, + you can set the turbine_weights for the neighboring farms' + turbines to 0.0. The array of turbine powers from floris + is multiplied with this array in the calculation of the + objective function. If None, this is an array with all values + 1.0 and with shape equal to (n_wind_directions, n_wind_speeds, + n_turbines). Defaults to None. no_wake: (bool, optional): When *True* updates the turbine quantities without calculating the wake or adding the wake to the flow field. This can be useful when quantifying the loss @@ -551,7 +592,9 @@ def get_farm_AEP( self.calculate_no_wake(yaw_angles=yaw_angles_subset) else: self.calculate_wake(yaw_angles=yaw_angles_subset) - farm_power[:, conditions_to_evaluate] = self.get_farm_power() + farm_power[:, conditions_to_evaluate] = ( + self.get_farm_power(turbine_weights=turbine_weights) + ) # Finally, calculate AEP in GWh aep = np.sum(np.multiply(freq, farm_power) * 365 * 24) From 3e2d0d22f68bd2ae147b0f0c50df7c4beb65ecf4 Mon Sep 17 00:00:00 2001 From: bayc Date: Sat, 13 Aug 2022 11:26:21 -0600 Subject: [PATCH 17/22] Layout optimization tools refactoring (#429) * add the base layout optimization class * add the scipy layout optimzation class * add the pyoptsparse layout optimization class * add boundary grid functions for layout optimization * removing print statements * adding check for second turbine * add the base layout optimization class * add the scipy layout optimzation class * add the pyoptsparse layout optimization class * add boundary grid functions for layout optimization * adding check for second turbine * making variables private; using fi.get_farm_AEP in obj functions; removing hard-coding of rho for space constraint * updating scipy layout optimization class * updating pyoptsparse layout optimization class * updating layout optimizaiton base class * updating layout optimization example * moving old optimization code into legacy folder * removing _reinitialize method from pyoptsparse layout optimization * add extra output to example Co-authored-by: Paul --- examples/14_optimize_layout.py | 35 +- floris/tools/optimization/__init__.py | 2 +- .../layout_optimization/__init__.py | 0 .../layout_optimization_base.py | 114 ++++ .../layout_optimization_boundary_grid.py | 628 ++++++++++++++++++ .../layout_optimization_pyoptsparse.py | 169 +++++ .../layout_optimization_scipy.py | 233 +++++++ floris/tools/optimization/legacy/__init__.py | 0 .../{ => legacy}/pyoptsparse/__init__.py | 0 .../{ => legacy}/pyoptsparse/layout.py | 0 .../{ => legacy}/pyoptsparse/optimization.py | 0 .../{ => legacy}/pyoptsparse/power_density.py | 0 .../{ => legacy}/pyoptsparse/yaw.py | 0 .../{ => legacy}/scipy/__init__.py | 0 .../{ => legacy}/scipy/base_COE.py | 0 .../{ => legacy}/scipy/cluster_turbines.py | 0 .../scipy/derive_downstream_turbines.py | 0 .../optimization/{ => legacy}/scipy/layout.py | 0 .../{ => legacy}/scipy/layout_height.py | 0 .../{ => legacy}/scipy/optimization.py | 0 .../{ => legacy}/scipy/power_density.py | 0 .../{ => legacy}/scipy/power_density_1D.py | 0 .../optimization/{ => legacy}/scipy/yaw.py | 0 .../{ => legacy}/scipy/yaw_clustered.py | 0 .../{ => legacy}/scipy/yaw_wind_rose.py | 0 .../scipy/yaw_wind_rose_clustered.py | 0 .../scipy/yaw_wind_rose_parallel.py | 0 .../scipy/yaw_wind_rose_parallel_clustered.py | 0 28 files changed, 1168 insertions(+), 13 deletions(-) create mode 100644 floris/tools/optimization/layout_optimization/__init__.py create mode 100644 floris/tools/optimization/layout_optimization/layout_optimization_base.py create mode 100644 floris/tools/optimization/layout_optimization/layout_optimization_boundary_grid.py create mode 100644 floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py create mode 100644 floris/tools/optimization/layout_optimization/layout_optimization_scipy.py create mode 100644 floris/tools/optimization/legacy/__init__.py rename floris/tools/optimization/{ => legacy}/pyoptsparse/__init__.py (100%) rename floris/tools/optimization/{ => legacy}/pyoptsparse/layout.py (100%) rename floris/tools/optimization/{ => legacy}/pyoptsparse/optimization.py (100%) rename floris/tools/optimization/{ => legacy}/pyoptsparse/power_density.py (100%) rename floris/tools/optimization/{ => legacy}/pyoptsparse/yaw.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/__init__.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/base_COE.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/cluster_turbines.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/derive_downstream_turbines.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/layout.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/layout_height.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/optimization.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/power_density.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/power_density_1D.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw_clustered.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw_wind_rose.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw_wind_rose_clustered.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw_wind_rose_parallel.py (100%) rename floris/tools/optimization/{ => legacy}/scipy/yaw_wind_rose_parallel_clustered.py (100%) diff --git a/examples/14_optimize_layout.py b/examples/14_optimize_layout.py index 0a57166b5..689e9e9ef 100644 --- a/examples/14_optimize_layout.py +++ b/examples/14_optimize_layout.py @@ -1,4 +1,4 @@ -# Copyright 2021 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -17,14 +17,15 @@ import numpy as np from floris.tools import FlorisInterface -import floris.tools.optimization.pyoptsparse as opt + +from floris.tools.optimization.layout_optimization.layout_optimization_scipy import LayoutOptimizationScipy """ -This example shows a simple layout optimization using the python module pyOptSparse. +This example shows a simple layout optimization using the python module Scipy. A 4 turbine array is optimized such that the layout of the turbine produces the highest annual energy production (AEP) based on the given wind resource. The turbines -are constrained to a square boundary and a randomw wind resource is supplied. The results +are constrained to a square boundary and a random wind resource is supplied. The results of the optimization show that the turbines are pushed to the outer corners of the boundary, which makes sense in order to maximize the energy production by minimizing wake interactions. """ @@ -37,8 +38,10 @@ wind_directions = np.arange(0, 360.0, 5.0) np.random.seed(1) wind_speeds = 8.0 + np.random.randn(1) * 0.5 -freq = np.abs(np.sort(np.random.randn(len(wind_directions)))) +# Shape frequency distribution to match number of wind directions and wind speeds +freq = np.abs(np.sort(np.random.randn(len(wind_directions)))).reshape((len(wind_directions), len(wind_speeds))) freq = freq / freq.sum() + fi.reinitialize(wind_directions=wind_directions, wind_speeds=wind_speeds) # The boundaries for the turbines, specified as vertices @@ -48,16 +51,24 @@ D = 126.0 # rotor diameter for the NREL 5MW layout_x = [0, 0, 6 * D, 6 * D] layout_y = [0, 4 * D, 0, 4 * D] -fi.reinitialize(layout_x=layout_x, layout_y=layout_y) -fi.calculate_wake() +fi.reinitialize(layout=(layout_x, layout_y)) # Setup the optimization problem -model = opt.layout.Layout(fi, boundaries, freq) -tmp = opt.optimization.Optimization(model=model, solver='SLSQP') +layout_opt = LayoutOptimizationScipy(fi, boundaries, freq=freq) # Run the optimization -sol = tmp.optimize() +sol = layout_opt.optimize() + +# Get the resulting improvement in AEP +print('... calcuating improvement in AEP') +fi.calculate_wake() +base_aep = fi.get_farm_AEP(freq=freq) / 1e6 +fi.reinitialize(layout=sol) +fi.calculate_wake() +opt_aep = fi.get_farm_AEP(freq=freq) / 1e6 +percent_gain = 100 * (opt_aep - base_aep) / base_aep # Print and plot the results -print(sol) -model.plot_layout_opt_results(sol) +print('Optimal layout: ', sol) +print('Optimal layout improves AEP by %.1f%% from %.1f MWh to %.1f MWh' % (percent_gain, base_aep, opt_aep)) +layout_opt.plot_layout_opt_results() \ No newline at end of file diff --git a/floris/tools/optimization/__init__.py b/floris/tools/optimization/__init__.py index f40bb816e..917eae2e7 100644 --- a/floris/tools/optimization/__init__.py +++ b/floris/tools/optimization/__init__.py @@ -1 +1 @@ -from . import other, scipy, pyoptsparse, yaw_optimization +from . import other, legacy, yaw_optimization, layout_optimization diff --git a/floris/tools/optimization/layout_optimization/__init__.py b/floris/tools/optimization/layout_optimization/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_base.py b/floris/tools/optimization/layout_optimization/layout_optimization_base.py new file mode 100644 index 000000000..db1480b7c --- /dev/null +++ b/floris/tools/optimization/layout_optimization/layout_optimization_base.py @@ -0,0 +1,114 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + +import numpy as np +import matplotlib.pyplot as plt +from shapely.geometry import Polygon, LineString + +from ....logging_manager import LoggerBase + +class LayoutOptimization(LoggerBase): + def __init__(self, fi, boundaries, min_dist=None, freq=None): + self.fi = fi.copy() + self.boundaries = boundaries + + self._boundary_polygon = Polygon(self.boundaries) + self._boundary_line = LineString(self.boundaries) + + self.xmin = np.min([tup[0] for tup in boundaries]) + self.xmax = np.max([tup[0] for tup in boundaries]) + self.ymin = np.min([tup[1] for tup in boundaries]) + self.ymax = np.max([tup[1] for tup in boundaries]) + + # If no minimum distance is provided, assume a value of 2 rotor diamters + if min_dist is None: + self.min_dist = 2 * self.rotor_diameter + else: + self.min_dist = min_dist + + # If freq is not provided, give equal weight to all wind conditions + if freq is None: + self.freq = np.ones((self.fi.floris.flow_field.n_wind_directions, self.fi.floris.flow_field.n_wind_speeds)) + self.freq = self.freq / self.freq.sum() + else: + self.freq = freq + + self.initial_AEP = fi.get_farm_AEP(self.freq) + + def __str__(self): + return "layout" + + def _norm(self, val, x1, x2): + return (val - x1) / (x2 - x1) + + def _unnorm(self, val, x1, x2): + return np.array(val) * (x2 - x1) + x1 + + # Public methods + + def optimize(self): + sol = self._optimize() + return sol + + def plot_layout_opt_results(self): + x_initial, y_initial, x_opt, y_opt = self._get_initial_and_final_locs() + + plt.figure(figsize=(9, 6)) + fontsize = 16 + plt.plot(x_initial, y_initial, "ob") + plt.plot(x_opt, y_opt, "or") + # plt.title('Layout Optimization Results', fontsize=fontsize) + plt.xlabel("x (m)", fontsize=fontsize) + plt.ylabel("y (m)", fontsize=fontsize) + plt.axis("equal") + plt.grid() + plt.tick_params(which="both", labelsize=fontsize) + plt.legend( + ["Old locations", "New locations"], + loc="lower center", + bbox_to_anchor=(0.5, 1.01), + ncol=2, + fontsize=fontsize, + ) + + verts = self.boundaries + for i in range(len(verts)): + if i == len(verts) - 1: + plt.plot([verts[i][0], verts[0][0]], [verts[i][1], verts[0][1]], "b") + else: + plt.plot( + [verts[i][0], verts[i + 1][0]], [verts[i][1], verts[i + 1][1]], "b" + ) + + plt.show() + + ########################################################################### + # Properties + ########################################################################### + + @property + def nturbs(self): + """ + This property returns the number of turbines in the FLORIS + object. + + Returns: + nturbs (int): The number of turbines in the FLORIS object. + """ + self._nturbs = self.fi.floris.farm.n_turbines + return self._nturbs + + @property + def rotor_diameter(self): + return self.fi.floris.farm.rotor_diameters_sorted[0][0][0] diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_boundary_grid.py b/floris/tools/optimization/layout_optimization/layout_optimization_boundary_grid.py new file mode 100644 index 000000000..a7dfadf79 --- /dev/null +++ b/floris/tools/optimization/layout_optimization/layout_optimization_boundary_grid.py @@ -0,0 +1,628 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import numpy as np +import matplotlib.pyplot as plt +from shapely.geometry import Point, Polygon, LineString +from scipy.spatial.distance import cdist + +from .layout_optimization_base import LayoutOptimization + +class LayoutOptimizationBoundaryGrid(LayoutOptimization): + def __init__( + self, + fi, + boundaries, + start, + x_spacing, + y_spacing, + shear, + rotation, + center_x, + center_y, + boundary_setback, + n_boundary_turbines=None, + boundary_spacing=None, + ): + self.fi = fi + + self.boundary_x = np.array([val[0] for val in boundaries]) + self.boundary_y = np.array([val[1] for val in boundaries]) + boundary = np.zeros((len(self.boundary_x), 2)) + boundary[:, 0] = self.boundary_x[:] + boundary[:, 1] = self.boundary_y[:] + self._boundary_polygon = Polygon(boundary) + + self.start = start + self.x_spacing = x_spacing + self.y_spacing = y_spacing + self.shear = shear + self.rotation = rotation + self.center_x = center_x + self.center_y = center_y + self.boundary_setback = boundary_setback + self.n_boundary_turbines = n_boundary_turbines + self.boundary_spacing = boundary_spacing + + def _discontinuous_grid( + self, + nrows, + ncols, + farm_width, + farm_height, + shear, + rotation, + center_x, + center_y, + shrink_boundary, + boundary_x, + boundary_y, + eps=1e-3, + ): + """ + Map from grid design variables to turbine x and y locations. Includes integer design variables and the formulation + results in a discontinous design space. + + TODO: shrink_boundary doesn't work well with concave boundaries, or with boundary angles less than 90 deg + + Args: + nrows (Int): number of rows in the grid. + ncols (Int): number of columns in the grid. + farm_width (Float): total grid width (before shear). + farm_height (Float): total grid height. + shear (Float): grid shear (rad). + rotation (Float): rotation about grid center (rad). + center_x (Float): location of grid x center. + center_y (Float): location of grid y center. + shrink_boundary (Float): how much to shrink the boundary that the grid can occupy. + boundary_x (Array(Float)): x boundary points. + boundary_y (Array(Float)): y boundary points. + + Returns: + grid_x (Array(Float)): turbine x locations. + grid_y (Array(Float)): turbine y locations. + """ + # create grid + nrows = int(nrows) + ncols = int(ncols) + xlocs = np.linspace(0.0, farm_width, ncols) + ylocs = np.linspace(0.0, farm_height, nrows) + y_spacing = ylocs[1] - ylocs[0] + nturbs = nrows * ncols + grid_x = np.zeros(nturbs) + grid_y = np.zeros(nturbs) + turb = 0 + for i in range(nrows): + for j in range(ncols): + grid_x[turb] = xlocs[j] + float(i) * y_spacing * np.tan(shear) + grid_y[turb] = ylocs[i] + turb += 1 + + # rotate + grid_x, grid_y = ( + np.cos(rotation) * grid_x - np.sin(rotation) * grid_y, + np.sin(rotation) * grid_x + np.cos(rotation) * grid_y, + ) + + # move center of grid + grid_x = (grid_x - np.mean(grid_x)) + center_x + grid_y = (grid_y - np.mean(grid_y)) + center_y + + # arrange the boundary + + # boundary = np.zeros((len(boundary_x),2)) + # boundary[:,0] = boundary_x[:] + # boundary[:,1] = boundary_y[:] + # poly = Polygon(boundary) + # centroid = poly.centroid + + # boundary[:,0] = (boundary_x[:]-centroid.x)*boundary_mult + centroid.x + # boundary[:,1] = (boundary_y[:]-centroid.y)*boundary_mult + centroid.y + # poly = Polygon(boundary) + + boundary = np.zeros((len(boundary_x), 2)) + boundary[:, 0] = boundary_x[:] + boundary[:, 1] = boundary_y[:] + poly = Polygon(boundary) + + if shrink_boundary != 0.0: + nBounds = len(boundary_x) + for i in range(nBounds): + point = Point(boundary_x[i] + eps, boundary_y[i]) + if poly.contains(point) is True or poly.touches(point) is True: + boundary[i, 0] = boundary_x[i] + shrink_boundary + else: + boundary[i, 0] = boundary_x[i] - shrink_boundary + + point = Point(boundary_x[i], boundary_y[i] + eps) + if poly.contains(point) is True or poly.touches(point) is True: + boundary[i, 1] = boundary_y[i] + shrink_boundary + else: + boundary[i, 1] = boundary_y[i] - shrink_boundary + + poly = Polygon(boundary) + + # get rid of points outside of boundary + index = 0 + for i in range(len(grid_x)): + point = Point(grid_x[index], grid_y[index]) + if poly.contains(point) is False and poly.touches(point) is False: + grid_x = np.delete(grid_x, index) + grid_y = np.delete(grid_y, index) + else: + index += 1 + + return grid_x, grid_y + + def _discrete_grid( + self, + x_spacing, + y_spacing, + shear, + rotation, + center_x, + center_y, + boundary_setback, + boundary_poly + ): + """ + returns grid turbine layout. Assumes the turbines fill the entire plant area + + Args: + x_spacing (Float): grid spacing in the unrotated x direction (m) + y_spacing (Float): grid spacing in the unrotated y direction (m) + shear (Float): grid shear (rad) + rotation (Float): grid rotation (rad) + center_x (Float): the x coordinate of the grid center (m) + center_y (Float): the y coordinate of the grid center (m) + boundary_poly (Polygon): a shapely Polygon of the wind plant boundary + + Returns + return_x (Array(Float)): turbine x locations + return_y (Array(Float)): turbine y locations + """ + + shrunk_poly = boundary_poly.buffer(-boundary_setback) + if shrunk_poly.area <= 0: + return np.array([]), np.array([]) + # create grid + minx, miny, maxx, maxy = shrunk_poly.bounds + width = maxx-minx + height = maxy-miny + + center_point = Point((center_x,center_y)) + poly_to_center = center_point.distance(shrunk_poly.centroid) + + width = np.max([width,poly_to_center]) + height = np.max([height,poly_to_center]) + nrows = int(np.max([width,height])/np.min([x_spacing,y_spacing]))*2 + 1 + ncols = nrows + + xlocs = np.arange(0,ncols)*x_spacing + ylocs = np.arange(0,nrows)*y_spacing + row_number = np.arange(0,nrows) + + d = np.array([i for x in xlocs for i in row_number]) + layout_x = np.array([x for x in xlocs for y in ylocs]) + d*y_spacing*np.tan(shear) + layout_y = np.array([y for x in xlocs for y in ylocs]) + + # rotate + rotate_x = np.cos(rotation)*layout_x - np.sin(rotation)*layout_y + rotate_y = np.sin(rotation)*layout_x + np.cos(rotation)*layout_y + + # move center of grid + rotate_x = (rotate_x - np.mean(rotate_x)) + center_x + rotate_y = (rotate_y - np.mean(rotate_y)) + center_y + + # get rid of points outside of boundary polygon + meets_constraints = np.zeros(len(rotate_x),dtype=bool) + for i in range(len(rotate_x)): + pt = Point(rotate_x[i],rotate_y[i]) + if shrunk_poly.contains(pt) or shrunk_poly.touches(pt): + meets_constraints[i] = True + + # arrange final x,y points + return_x = rotate_x[meets_constraints] + return_y = rotate_y[meets_constraints] + + return return_x, return_y + + def find_lengths(self, x, y, npoints): + length = np.zeros(len(x) - 1) + for i in range(npoints): + length[i] = np.sqrt((x[i + 1] - x[i]) ** 2 + (y[i + 1] - y[i]) ** 2) + return length + + # def _place_boundary_turbines(self, n_boundary_turbs, start, boundary_x, boundary_y): + # """ + # Place turbines equally spaced traversing the perimiter if the wind farm along the boundary + + # Args: + # n_boundary_turbs (Int): number of turbines to be placed on the boundary + # start (Float): where the first turbine should be placed + # boundary_x (Array(Float)): x boundary points + # boundary_y (Array(Float)): y boundary points + + # Returns + # layout_x (Array(Float)): turbine x locations + # layout_y (Array(Float)): turbine y locations + # """ + + # # check if the boundary is closed, correct if not + # if boundary_x[-1] != boundary_x[0] or boundary_y[-1] != boundary_y[0]: + # boundary_x = np.append(boundary_x, boundary_x[0]) + # boundary_y = np.append(boundary_y, boundary_y[0]) + + # # make the boundary + # boundary = np.zeros((len(boundary_x), 2)) + # boundary[:, 0] = boundary_x[:] + # boundary[:, 1] = boundary_y[:] + # poly = Polygon(boundary) + # perimeter = poly.length + + # # get the flattened turbine locations + # spacing = perimeter / float(n_boundary_turbs) + # flattened_locs = np.linspace(start, perimeter + start - spacing, n_boundary_turbs) + + # # set all of the flattened values between 0 and the perimeter + # for i in range(n_boundary_turbs): + # while flattened_locs[i] < 0.0: + # flattened_locs[i] += perimeter + # if flattened_locs[i] > perimeter: + # flattened_locs[i] = flattened_locs[i] % perimeter + + # # place the turbines around the perimeter + # nBounds = len(boundary_x) + # layout_x = np.zeros(n_boundary_turbs) + # layout_y = np.zeros(n_boundary_turbs) + + # lenBound = np.zeros(nBounds - 1) + # for i in range(nBounds - 1): + # lenBound[i] = Point(boundary[i]).distance(Point(boundary[i + 1])) + # for i in range(n_boundary_turbs): + # for j in range(nBounds - 1): + # if flattened_locs[i] < sum(lenBound[0 : j + 1]): + # layout_x[i] = ( + # boundary_x[j] + # + (boundary_x[j + 1] - boundary_x[j]) + # * (flattened_locs[i] - sum(lenBound[0:j])) + # / lenBound[j] + # ) + # layout_y[i] = ( + # boundary_y[j] + # + (boundary_y[j + 1] - boundary_y[j]) + # * (flattened_locs[i] - sum(lenBound[0:j])) + # / lenBound[j] + # ) + # break + + # return layout_x, layout_y + + def _place_boundary_turbines(self, start, boundary_poly, nturbs=None, spacing=None): + xBounds, yBounds = boundary_poly.boundary.coords.xy + + if xBounds[-1] != xBounds[0]: + xBounds = np.append(xBounds, xBounds[0]) + yBounds = np.append(yBounds, yBounds[0]) + + nBounds = len(xBounds) + lenBound = self.find_lengths(xBounds, yBounds, len(xBounds) - 1) + circumference = sum(lenBound) + + if nturbs is not None and spacing is None: + # When the number of boundary turbines is specified + nturbs = int(nturbs) + bound_loc = np.linspace( + start, start + circumference - circumference / float(nturbs), nturbs + ) + elif spacing is not None and nturbs is None: + # When the spacing of boundary turbines is specified + nturbs = int(np.floor(circumference / spacing)) + bound_loc = np.linspace( + start, start + circumference - circumference / float(nturbs), nturbs + ) + else: + raise ValueError("Please specify either nturbs or spacing.") + + x = np.zeros(nturbs) + y = np.zeros(nturbs) + + if spacing is None: + # When the number of boundary turbines is specified + for i in range(nturbs): + if bound_loc[i] > circumference: + bound_loc[i] = bound_loc[i] % circumference + while bound_loc[i] < 0.0: + bound_loc[i] += circumference + for i in range(nturbs): + done = False + for j in range(nBounds): + if done == False: + if bound_loc[i] < sum(lenBound[0:j+1]): + point_x = xBounds[j] + (xBounds[j+1]-xBounds[j])*(bound_loc[i]-sum(lenBound[0:j]))/lenBound[j] + point_y = yBounds[j] + (yBounds[j+1]-yBounds[j])*(bound_loc[i]-sum(lenBound[0:j]))/lenBound[j] + done = True + x[i] = point_x + y[i] = point_y + else: + # When the spacing of boundary turbines is specified + additional_space = 0.0 + end_loop = False + for i in range(nturbs): + done = False + for j in range(nBounds): + while done == False: + dist = start + i*spacing + additional_space + if dist < sum(lenBound[0:j+1]): + point_x = xBounds[j] + (xBounds[j+1]-xBounds[j])*(dist -sum(lenBound[0:j]))/lenBound[j] + point_y = yBounds[j] + (yBounds[j+1]-yBounds[j])*(dist -sum(lenBound[0:j]))/lenBound[j] + + # Check if turbine is too close to previous turbine + if i > 0: + # Check if turbine just placed is to close to first turbine + min_dist = cdist([(point_x, point_y)], [(x[0], y[0])]) + if min_dist < spacing: + # TODO: make this more robust; pass is needed if 2nd turbine is too close to the first + if i == 1: + pass + else: + end_loop = True + ii = i + break + + min_dist = cdist([(point_x, point_y)], [(x[i-1], y[i-1])]) + if min_dist < spacing: + additional_space += 1.0 + else: + done = True + x[i] = point_x + y[i] = point_y + elif i == 0: + # If first turbine, just add initial turbine point + done = True + x[i] = point_x + y[i] = point_y + else: + pass + else: + break + if end_loop == True: + break + if end_loop == True: + x = x[:ii] + y = y[:ii] + break + return x, y + + def _place_boundary_turbines_with_specified_spacing(self, spacing, start, boundary_x, boundary_y): + """ + Place turbines equally spaced traversing the perimiter if the wind farm along the boundary + + Args: + n_boundary_turbs (Int): number of turbines to be placed on the boundary + start (Float): where the first turbine should be placed + boundary_x (Array(Float)): x boundary points + boundary_y (Array(Float)): y boundary points + + Returns + layout_x (Array(Float)): turbine x locations + layout_y (Array(Float)): turbine y locations + """ + + # check if the boundary is closed, correct if not + if boundary_x[-1] != boundary_x[0] or boundary_y[-1] != boundary_y[0]: + boundary_x = np.append(boundary_x, boundary_x[0]) + boundary_y = np.append(boundary_y, boundary_y[0]) + + # make the boundary + boundary = np.zeros((len(boundary_x), 2)) + boundary[:, 0] = boundary_x[:] + boundary[:, 1] = boundary_y[:] + poly = Polygon(boundary) + perimeter = poly.length + + # get the flattened turbine locations + n_boundary_turbs = int(perimeter / float(spacing)) + flattened_locs = np.linspace(start, perimeter + start - spacing, n_boundary_turbs) + + # set all of the flattened values between 0 and the perimeter + for i in range(n_boundary_turbs): + while flattened_locs[i] < 0.0: + flattened_locs[i] += perimeter + if flattened_locs[i] > perimeter: + flattened_locs[i] = flattened_locs[i] % perimeter + + # place the turbines around the perimeter + nBounds = len(boundary_x) + layout_x = np.zeros(n_boundary_turbs) + layout_y = np.zeros(n_boundary_turbs) + + lenBound = np.zeros(nBounds - 1) + for i in range(nBounds - 1): + lenBound[i] = Point(boundary[i]).distance(Point(boundary[i + 1])) + for i in range(n_boundary_turbs): + for j in range(nBounds - 1): + if flattened_locs[i] < sum(lenBound[0 : j + 1]): + layout_x[i] = ( + boundary_x[j] + + (boundary_x[j + 1] - boundary_x[j]) + * (flattened_locs[i] - sum(lenBound[0:j])) + / lenBound[j] + ) + layout_y[i] = ( + boundary_y[j] + + (boundary_y[j + 1] - boundary_y[j]) + * (flattened_locs[i] - sum(lenBound[0:j])) + / lenBound[j] + ) + break + + return layout_x, layout_y + + def boundary_grid( + self, + start, + x_spacing, + y_spacing, + shear, + rotation, + center_x, + center_y, + boundary_setback, + n_boundary_turbines=None, + boundary_spacing=None, + ): + """ + Place turbines equally spaced traversing the perimiter if the wind farm along the boundary + + Args: + n_boundary_turbs,start: boundary variables + nrows,ncols,farm_width,farm_height,shear,rotation,center_x,center_y,shrink_boundary,eps: grid variables + boundary_x,boundary_y: boundary points + + Returns + layout_x (Array(Float)): turbine x locations + layout_y (Array(Float)): turbine y locations + """ + + boundary_turbines_x, boundary_turbines_y = self._place_boundary_turbines( + start, self._boundary_polygon, nturbs=n_boundary_turbines, spacing=boundary_spacing + ) + # boundary_turbines_x, boundary_turbines_y = self._place_boundary_turbines_with_specified_spacing( + # spacing, start, boundary_x, boundary_y + # ) + + # grid_turbines_x, grid_turbines_y = self._discontinuous_grid( + # nrows, + # ncols, + # farm_width, + # farm_height, + # shear, + # rotation, + # center_x, + # center_y, + # shrink_boundary, + # boundary_x, + # boundary_y, + # eps=eps, + # ) + + grid_turbines_x, grid_turbines_y = self._discrete_grid( + x_spacing, + y_spacing, + shear, + rotation, + center_x, + center_y, + boundary_setback, + self._boundary_polygon, + ) + + layout_x = np.append(boundary_turbines_x, grid_turbines_x) + layout_y = np.append(boundary_turbines_y, grid_turbines_y) + + return layout_x, layout_y + + def reinitialize_bg( + self, + n_boundary_turbines=None, + start=None, + x_spacing=None, + y_spacing=None, + shear=None, + rotation=None, + center_x=None, + center_y=None, + boundary_setback=None, + boundary_x=None, + boundary_y=None, + boundary_spacing=None, + ): + + if n_boundary_turbines is not None: + self.n_boundary_turbines = n_boundary_turbines + if start is not None: + self.start = start + if x_spacing is not None: + self.x_spacing = x_spacing + if y_spacing is not None: + self.y_spacing = y_spacing + if shear is not None: + self.shear = shear + if rotation is not None: + self.rotation = rotation + if center_x is not None: + self.center_x = center_x + if center_y is not None: + self.center_y = center_y + if boundary_setback is not None: + self.boundary_setback = boundary_setback + if boundary_x is not None: + self.boundary_x = boundary_x + if boundary_y is not None: + self.boundary_y = boundary_y + if boundary_spacing is not None: + self.boundary_spacing = boundary_spacing + + def reinitialize_xy(self): + layout_x, layout_y = self.boundary_grid( + self.start, + self.x_spacing, + self.y_spacing, + self.shear, + self.rotation, + self.center_x, + self.center_y, + self.boundary_setback, + self.n_boundary_turbines, + self.boundary_spacing, + ) + + self.fi.reinitialize(layout=(layout_x, layout_y)) + + def plot_layout(self): + plt.figure(figsize=(9, 6)) + fontsize = 16 + + plt.plot(self.fi.layout_x, self.fi.layout_y, "ob") + # plt.plot(locsx, locsy, "or") + + plt.xlabel("x (m)", fontsize=fontsize) + plt.ylabel("y (m)", fontsize=fontsize) + plt.axis("equal") + plt.grid() + plt.tick_params(which="both", labelsize=fontsize) + + plt.show() + + def space_constraint(self, x, y, min_dist, rho=500): + # Calculate distances between turbines + locs = np.vstack((x, y)).T + distances = cdist(locs, locs) + arange = np.arange(distances.shape[0]) + distances[arange, arange] = 1e10 + dist = np.min(distances, axis=0) + + g = 1 - np.array(dist) / min_dist + + # Following code copied from OpenMDAO KSComp(). + # Constraint is satisfied when KS_constraint <= 0 + g_max = np.max(np.atleast_2d(g), axis=-1)[:, np.newaxis] + g_diff = g - g_max + exponents = np.exp(rho * g_diff) + summation = np.sum(exponents, axis=-1)[:, np.newaxis] + KS_constraint = g_max + 1.0 / rho * np.log(summation) + + return KS_constraint[0][0], dist diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py new file mode 100644 index 000000000..0f4b04722 --- /dev/null +++ b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py @@ -0,0 +1,169 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import numpy as np +import matplotlib.pyplot as plt +from shapely.geometry import Point +from scipy.spatial.distance import cdist + +from .layout_optimization_base import LayoutOptimization + +class LayoutOptimizationPyOptSparse(LayoutOptimization): + def __init__( + self, + fi, + boundaries, + min_dist=None, + freq=None, + solver=None, + optOptions=None, + ): + super().__init__(fi, boundaries, min_dist=min_dist, freq=freq) + + self.x0 = self._norm(self.fi.layout_x, self.xmin, self.xmax) + self.y0 = self._norm(self.fi.layout_y, self.ymin, self.ymax) + + try: + import pyoptsparse + except ImportError: + err_msg = ( + "It appears you do not have pyOptSparse installed. " + + "Please refer to https://pyoptsparse.readthedocs.io/ for " + + "guidance on how to properly install the module." + ) + self.logger.error(err_msg, stack_info=True) + raise ImportError(err_msg) + + # Insantiate ptOptSparse optimization object with name and objective function + self.optProb = pyoptsparse.Optimization('layout', self._obj_func) + + self.optProb = self.add_var_group(self.optProb) + self.optProb = self.add_con_group(self.optProb) + self.optProb.addObj("obj") + + if solver is not None: + self.solver = solver + print("Setting up optimization with user's choice of solver: ", self.solver) + else: + self.solver = "SLSQP" + print("Setting up optimization with default solver: SLSQP.") + if optOptions is not None: + self.optOptions = optOptions + else: + if self.solver == "SNOPT": + self.optOptions = {"Major optimality tolerance": 1e-7} + else: + self.optOptions = {} + + exec("self.opt = pyoptsparse." + self.solver + "(options=self.optOptions)") + + def _optimize(self): + if hasattr(self, "_sens"): + self.sol = self.opt(self.optProb, sens=self._sens) + else: + self.sol = self.opt(self.optProb, sens="CDR", storeHistory='hist.hist') + return self.sol + + def _obj_func(self, varDict): + # Parse the variable dictionary + self.parse_opt_vars(varDict) + + # Update turbine map with turbince locations + self.fi.reinitialize(layout=[self.x, self.y]) + + # Compute the objective function + funcs = {} + funcs["obj"] = ( + -1 * self.fi.get_farm_AEP(self.freq) / self.initial_AEP + ) + + # Compute constraints, if any are defined for the optimization + funcs = self.compute_cons(funcs, self.x, self.y) + + fail = False + return funcs, fail + + # Optionally, the user can supply the optimization with gradients + # def _sens(self, varDict, funcs): + # funcsSens = {} + # fail = False + # return funcsSens, fail + + def parse_opt_vars(self, varDict): + self.x = self._unnorm(varDict["x"], self.xmin, self.xmax) + self.y = self._unnorm(varDict["y"], self.ymin, self.ymax) + + def parse_sol_vars(self, sol): + self.x = list(self._unnorm(sol.getDVs()["x"], self.xmin, self.xmax))[0] + self.y = list(self._unnorm(sol.getDVs()["y"], self.ymin, self.ymax))[1] + + def add_var_group(self, optProb): + optProb.addVarGroup( + "x", self.nturbs, varType="c", lower=0.0, upper=1.0, value=self.x0 + ) + optProb.addVarGroup( + "y", self.nturbs, varType="c", lower=0.0, upper=1.0, value=self.y0 + ) + + return optProb + + def add_con_group(self, optProb): + optProb.addConGroup("boundary_con", self.nturbs, upper=0.0) + optProb.addConGroup("spacing_con", 1, upper=0.0) + + return optProb + + def compute_cons(self, funcs, x, y): + funcs["boundary_con"] = self.distance_from_boundaries(x, y) + funcs["spacing_con"] = self.space_constraint(x, y) + + return funcs + + def space_constraint(self, x, y, rho=500): + # Calculate distances between turbines + locs = np.vstack((x, y)).T + distances = cdist(locs, locs) + arange = np.arange(distances.shape[0]) + distances[arange, arange] = 1e10 + dist = np.min(distances, axis=0) + + g = 1 - np.array(dist) / self.min_dist + + # Following code copied from OpenMDAO KSComp(). + # Constraint is satisfied when KS_constraint <= 0 + g_max = np.max(np.atleast_2d(g), axis=-1)[:, np.newaxis] + g_diff = g - g_max + exponents = np.exp(rho * g_diff) + summation = np.sum(exponents, axis=-1)[:, np.newaxis] + KS_constraint = g_max + 1.0 / rho * np.log(summation) + + return KS_constraint[0][0] + + def distance_from_boundaries(self, x, y): + boundary_con = np.zeros(self.nturbs) + for i in range(self.nturbs): + loc = Point(x[i], y[i]) + boundary_con[i] = loc.distance(self._boundary_line) + if self._boundary_polygon.contains(loc)==True: + boundary_con[i] *= -1.0 + + return boundary_con + + def _get_initial_and_final_locs(self): + x_initial = self._unnorm(self.x0, self.xmin, self.xmax) + y_initial = self._unnorm(self.y0, self.ymin, self.ymax) + x_opt = self._unnorm(self.sol.getDVs()["x"], self.xmin, self.xmax) + y_opt = self._unnorm(self.sol.getDVs()["y"], self.ymin, self.ymax) + return x_initial, y_initial, x_opt, y_opt diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py b/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py new file mode 100644 index 000000000..737f84c5d --- /dev/null +++ b/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py @@ -0,0 +1,233 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + +import numpy as np +import matplotlib.pyplot as plt +from scipy.optimize import minimize +from shapely.geometry import Point +from scipy.spatial.distance import cdist + +from .layout_optimization_base import LayoutOptimization + +class LayoutOptimizationScipy(LayoutOptimization): + def __init__( + self, + fi, + boundaries, + freq=None, + bnds=None, + min_dist=None, + solver='SLSQP', + optOptions=None, + ): + """ + _summary_ + + Args: + fi (_type_): _description_ + boundaries (iterable(float, float)): Pairs of x- and y-coordinates + that represent the boundary's vertices (m). + freq (np.array): An array of the frequencies of occurance + correponding to each pair of wind direction and wind speed + values. If None, equal weight is given to each pair of wind conditions + Defaults to None. + bnds (iterable, optional): Bounds for the optimization + variables (pairs of min/max values for each variable (m)). If + none are specified, they are set to 0 and 1. Defaults to None. + min_dist (float, optional): The minimum distance to be maintained + between turbines during the optimization (m). If not specified, + initializes to 2 rotor diameters. Defaults to None. + solver (str, optional): Sets the solver used by Scipy. Defaults to 'SLSQP'. + optOptions (dict, optional): Dicitonary for setting the + optimization options. Defaults to None. + """ + super().__init__(fi, boundaries, min_dist=min_dist, freq=freq) + + self.boundaries_norm = [ + [ + self._norm(val[0], self.xmin, self.xmax), + self._norm(val[1], self.ymin, self.ymax), + ] + for val in self.boundaries + ] + self.x0 = [ + self._norm(x, self.xmin, self.xmax) + for x in self.fi.layout_x + ] + [ + self._norm(y, self.ymin, self.ymax) + for y in self.fi.layout_y + ] + if bnds is not None: + self.bnds = bnds + else: + self._set_opt_bounds() + if solver is not None: + self.solver = solver + if optOptions is not None: + self.optOptions = optOptions + else: + self.optOptions = {"maxiter": 100, "disp": True, "iprint": 2, "ftol": 1e-9, "eps":0.01} + + self._generate_constraints() + + + # Private methods + + def _optimize(self): + self.residual_plant = minimize( + self._obj_func, + self.x0, + method=self.solver, + bounds=self.bnds, + constraints=self.cons, + options=self.optOptions, + ) + + return self.residual_plant.x + + def _obj_func(self, locs): + locs_unnorm = [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in locs[0 : self.nturbs] + ] + [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in locs[self.nturbs : 2 * self.nturbs] + ] + self._change_coordinates(locs_unnorm) + return -1 * self.fi.get_farm_AEP(self.freq) / self.initial_AEP + + def _change_coordinates(self, locs): + # Parse the layout coordinates + layout_x = locs[0 : self.nturbs] + layout_y = locs[self.nturbs : 2 * self.nturbs] + layout_array = (layout_x, layout_y) + + # Update the turbine map in floris + self.fi.reinitialize(layout=layout_array) + + def _generate_constraints(self): + tmp1 = { + "type": "ineq", + "fun": lambda x, *args: self._space_constraint(x), + } + tmp2 = { + "type": "ineq", + "fun": lambda x: self._distance_from_boundaries(x), + } + + self.cons = [tmp1, tmp2] + + def _set_opt_bounds(self): + self.bnds = [(0.0, 1.0) for _ in range(2 * self.nturbs)] + + def _space_constraint(self, x_in, rho=500): + x = [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in x_in[0 : self.nturbs] + ] + y = [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in x_in[self.nturbs : 2 * self.nturbs] + ] + + # Calculate distances between turbines + locs = np.vstack((x, y)).T + distances = cdist(locs, locs) + arange = np.arange(distances.shape[0]) + distances[arange, arange] = 1e10 + dist = np.min(distances, axis=0) + + g = 1 - np.array(dist) / self.min_dist + + # Following code copied from OpenMDAO KSComp(). + # Constraint is satisfied when KS_constraint <= 0 + g_max = np.max(np.atleast_2d(g), axis=-1)[:, np.newaxis] + g_diff = g - g_max + exponents = np.exp(rho * g_diff) + summation = np.sum(exponents, axis=-1)[:, np.newaxis] + KS_constraint = g_max + 1.0 / rho * np.log(summation) + + return -1*KS_constraint[0][0] + + def _distance_from_boundaries(self, x_in): + x = [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in x_in[0 : self.nturbs] + ] + y = [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in x_in[self.nturbs : 2 * self.nturbs] + ] + boundary_con = np.zeros(self.nturbs) + for i in range(self.nturbs): + loc = Point(x[i], y[i]) + boundary_con[i] = loc.distance(self._boundary_line) + if self._boundary_polygon.contains(loc)==True: + boundary_con[i] *= 1.0 + + return boundary_con + + def _get_initial_and_final_locs(self): + x_initial = [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in self.x0[0 : self.nturbs] + ] + y_initial = [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in self.x0[self.nturbs : 2 * self.nturbs] + ] + x_opt = [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in self.residual_plant.x[0 : self.nturbs] + ] + y_opt = [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in self.residual_plant.x[self.nturbs : 2 * self.nturbs] + ] + return x_initial, y_initial, x_opt, y_opt + + + # Public methods + + def optimize(self): + """ + This method finds the optimized layout of wind turbines for power + production given the provided frequencies of occurance of wind + conditions (wind speed, direction). + + Returns: + opt_locs (iterable): A list of the optimized locations of each + turbine (m). + """ + print("=====================================================") + print("Optimizing turbine layout...") + print("Number of parameters to optimize = ", len(self.x0)) + print("=====================================================") + + opt_locs_norm = self._optimize() + + print("Optimization complete.") + + opt_locs = [ + [ + self._unnorm(valx, self.xmin, self.xmax) + for valx in opt_locs_norm[0 : self.nturbs] + ], + [ + self._unnorm(valy, self.ymin, self.ymax) + for valy in opt_locs_norm[self.nturbs : 2 * self.nturbs] + ], + ] + + return opt_locs diff --git a/floris/tools/optimization/legacy/__init__.py b/floris/tools/optimization/legacy/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/floris/tools/optimization/pyoptsparse/__init__.py b/floris/tools/optimization/legacy/pyoptsparse/__init__.py similarity index 100% rename from floris/tools/optimization/pyoptsparse/__init__.py rename to floris/tools/optimization/legacy/pyoptsparse/__init__.py diff --git a/floris/tools/optimization/pyoptsparse/layout.py b/floris/tools/optimization/legacy/pyoptsparse/layout.py similarity index 100% rename from floris/tools/optimization/pyoptsparse/layout.py rename to floris/tools/optimization/legacy/pyoptsparse/layout.py diff --git a/floris/tools/optimization/pyoptsparse/optimization.py b/floris/tools/optimization/legacy/pyoptsparse/optimization.py similarity index 100% rename from floris/tools/optimization/pyoptsparse/optimization.py rename to floris/tools/optimization/legacy/pyoptsparse/optimization.py diff --git a/floris/tools/optimization/pyoptsparse/power_density.py b/floris/tools/optimization/legacy/pyoptsparse/power_density.py similarity index 100% rename from floris/tools/optimization/pyoptsparse/power_density.py rename to floris/tools/optimization/legacy/pyoptsparse/power_density.py diff --git a/floris/tools/optimization/pyoptsparse/yaw.py b/floris/tools/optimization/legacy/pyoptsparse/yaw.py similarity index 100% rename from floris/tools/optimization/pyoptsparse/yaw.py rename to floris/tools/optimization/legacy/pyoptsparse/yaw.py diff --git a/floris/tools/optimization/scipy/__init__.py b/floris/tools/optimization/legacy/scipy/__init__.py similarity index 100% rename from floris/tools/optimization/scipy/__init__.py rename to floris/tools/optimization/legacy/scipy/__init__.py diff --git a/floris/tools/optimization/scipy/base_COE.py b/floris/tools/optimization/legacy/scipy/base_COE.py similarity index 100% rename from floris/tools/optimization/scipy/base_COE.py rename to floris/tools/optimization/legacy/scipy/base_COE.py diff --git a/floris/tools/optimization/scipy/cluster_turbines.py b/floris/tools/optimization/legacy/scipy/cluster_turbines.py similarity index 100% rename from floris/tools/optimization/scipy/cluster_turbines.py rename to floris/tools/optimization/legacy/scipy/cluster_turbines.py diff --git a/floris/tools/optimization/scipy/derive_downstream_turbines.py b/floris/tools/optimization/legacy/scipy/derive_downstream_turbines.py similarity index 100% rename from floris/tools/optimization/scipy/derive_downstream_turbines.py rename to floris/tools/optimization/legacy/scipy/derive_downstream_turbines.py diff --git a/floris/tools/optimization/scipy/layout.py b/floris/tools/optimization/legacy/scipy/layout.py similarity index 100% rename from floris/tools/optimization/scipy/layout.py rename to floris/tools/optimization/legacy/scipy/layout.py diff --git a/floris/tools/optimization/scipy/layout_height.py b/floris/tools/optimization/legacy/scipy/layout_height.py similarity index 100% rename from floris/tools/optimization/scipy/layout_height.py rename to floris/tools/optimization/legacy/scipy/layout_height.py diff --git a/floris/tools/optimization/scipy/optimization.py b/floris/tools/optimization/legacy/scipy/optimization.py similarity index 100% rename from floris/tools/optimization/scipy/optimization.py rename to floris/tools/optimization/legacy/scipy/optimization.py diff --git a/floris/tools/optimization/scipy/power_density.py b/floris/tools/optimization/legacy/scipy/power_density.py similarity index 100% rename from floris/tools/optimization/scipy/power_density.py rename to floris/tools/optimization/legacy/scipy/power_density.py diff --git a/floris/tools/optimization/scipy/power_density_1D.py b/floris/tools/optimization/legacy/scipy/power_density_1D.py similarity index 100% rename from floris/tools/optimization/scipy/power_density_1D.py rename to floris/tools/optimization/legacy/scipy/power_density_1D.py diff --git a/floris/tools/optimization/scipy/yaw.py b/floris/tools/optimization/legacy/scipy/yaw.py similarity index 100% rename from floris/tools/optimization/scipy/yaw.py rename to floris/tools/optimization/legacy/scipy/yaw.py diff --git a/floris/tools/optimization/scipy/yaw_clustered.py b/floris/tools/optimization/legacy/scipy/yaw_clustered.py similarity index 100% rename from floris/tools/optimization/scipy/yaw_clustered.py rename to floris/tools/optimization/legacy/scipy/yaw_clustered.py diff --git a/floris/tools/optimization/scipy/yaw_wind_rose.py b/floris/tools/optimization/legacy/scipy/yaw_wind_rose.py similarity index 100% rename from floris/tools/optimization/scipy/yaw_wind_rose.py rename to floris/tools/optimization/legacy/scipy/yaw_wind_rose.py diff --git a/floris/tools/optimization/scipy/yaw_wind_rose_clustered.py b/floris/tools/optimization/legacy/scipy/yaw_wind_rose_clustered.py similarity index 100% rename from floris/tools/optimization/scipy/yaw_wind_rose_clustered.py rename to floris/tools/optimization/legacy/scipy/yaw_wind_rose_clustered.py diff --git a/floris/tools/optimization/scipy/yaw_wind_rose_parallel.py b/floris/tools/optimization/legacy/scipy/yaw_wind_rose_parallel.py similarity index 100% rename from floris/tools/optimization/scipy/yaw_wind_rose_parallel.py rename to floris/tools/optimization/legacy/scipy/yaw_wind_rose_parallel.py diff --git a/floris/tools/optimization/scipy/yaw_wind_rose_parallel_clustered.py b/floris/tools/optimization/legacy/scipy/yaw_wind_rose_parallel_clustered.py similarity index 100% rename from floris/tools/optimization/scipy/yaw_wind_rose_parallel_clustered.py rename to floris/tools/optimization/legacy/scipy/yaw_wind_rose_parallel_clustered.py From 9fa6c3876ac59a449c1b77740ddce45abab3c4e9 Mon Sep 17 00:00:00 2001 From: paulf81 Date: Thu, 8 Sep 2022 14:19:01 -0600 Subject: [PATCH 18/22] Feature/add ref density (#398) * add ref density term to yaml inputs * route ref_density_cp_ct through init codes * add ref_density to code * Add a clear error about reference air density * add ref density to unit test * Add ref density to regression tests * Issue a warn, apply the default 1.225 if not def Co-authored-by: bayc --- floris/simulation/farm.py | 15 +++++++++++++++ floris/simulation/floris.py | 1 + floris/simulation/solver.py | 2 ++ floris/simulation/turbine.py | 12 ++++++++++-- floris/tools/floris_interface.py | 1 + floris/turbine_library/iea_10MW.yaml | 1 + floris/turbine_library/iea_15MW.yaml | 1 + floris/turbine_library/nrel_5MW.yaml | 1 + floris/type_dec.py | 1 + tests/conftest.py | 1 + .../reg_tests/cumulative_curl_regression_test.py | 7 ++++++- tests/reg_tests/gauss_regression_test.py | 9 ++++++++- tests/reg_tests/jensen_jimenez_regression_test.py | 5 ++++- tests/reg_tests/none_regression_test.py | 4 +++- tests/reg_tests/turbopark_regression_test.py | 5 ++++- tests/turbine_unit_test.py | 1 + 16 files changed, 60 insertions(+), 7 deletions(-) diff --git a/floris/simulation/farm.py b/floris/simulation/farm.py index 33c981a25..1ba24366b 100644 --- a/floris/simulation/farm.py +++ b/floris/simulation/farm.py @@ -86,6 +86,18 @@ def check_turbine_type(self, instance: attrs.Attribute, value: Any) -> None: raise ValueError("User-selected turbine definition `{}` does not exist in pre-defined turbine library.".format(val)) self.turbine_definitions[i] = load_yaml(fname) + # This is a temporary block of code that catches that ref_density_cp_ct is not defined + # In the yaml file and forces it in + # A warning is issued letting the user know in future versions defining this value explicitly + # will be required + if not 'ref_density_cp_ct' in self.turbine_definitions[i]: + self.logger.warn("The value ref_density_cp_ct is not defined in the file: %s " % fname) + self.logger.warn("This value is not the simulated air density but is the density at which the cp/ct curves are defined") + self.logger.warn("In previous versions this was assumed to be 1.225") + self.logger.warn("Future versions of FLORIS will give an error if this value is not explicitly defined") + self.logger.warn("Currently this value is being set to the prior default value of 1.225") + self.turbine_definitions[i]['ref_density_cp_ct'] = 1.225 + def initialize(self, sorted_indices): # Sort yaw angles from most upstream to most downstream wind turbine self.yaw_angles_sorted = np.take_along_axis( @@ -107,6 +119,9 @@ def construct_turbine_TSRs(self): def construc_turbine_pPs(self): self.pPs = np.array([turb['pP'] for turb in self.turbine_definitions]) + def construc_turbine_ref_density_cp_cts(self): + self.ref_density_cp_cts = np.array([turb['ref_density_cp_ct'] for turb in self.turbine_definitions]) + def construct_turbine_map(self): self.turbine_map = [Turbine.from_dict(turb) for turb in self.turbine_definitions] diff --git a/floris/simulation/floris.py b/floris/simulation/floris.py index 076699be7..57f23af63 100644 --- a/floris/simulation/floris.py +++ b/floris/simulation/floris.py @@ -73,6 +73,7 @@ def __attrs_post_init__(self) -> None: self.farm.construct_rotor_diameters() self.farm.construct_turbine_TSRs() self.farm.construc_turbine_pPs() + self.farm.construc_turbine_ref_density_cp_cts() self.farm.construct_coordinates() self.farm.set_yaw_angles(self.flow_field.n_wind_directions, self.flow_field.n_wind_speeds) diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index 8d211af20..f8131c087 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -224,6 +224,7 @@ def full_flow_sequential_solver(farm: Farm, flow_field: FlowField, flow_field_gr turbine_grid_farm.construct_rotor_diameters() turbine_grid_farm.construct_turbine_TSRs() turbine_grid_farm.construc_turbine_pPs() + turbine_grid_farm.construc_turbine_ref_density_cp_cts() turbine_grid_farm.construct_coordinates() @@ -554,6 +555,7 @@ def full_flow_cc_solver(farm: Farm, flow_field: FlowField, flow_field_grid: Flow turbine_grid_farm.construct_rotor_diameters() turbine_grid_farm.construct_turbine_TSRs() turbine_grid_farm.construc_turbine_pPs() + turbine_grid_farm.construc_turbine_ref_density_cp_cts() turbine_grid_farm.construct_coordinates() turbine_grid = TurbineGrid( diff --git a/floris/simulation/turbine.py b/floris/simulation/turbine.py index ef52e281a..e0498ac31 100644 --- a/floris/simulation/turbine.py +++ b/floris/simulation/turbine.py @@ -79,6 +79,7 @@ def _filter_convert( def power( air_density: float, + ref_density_cp_ct: float, velocities: NDArrayFloat, yaw_angle: NDArrayFloat, pP: float, @@ -91,6 +92,7 @@ def power( Args: air_density (NDArrayFloat[wd, ws, turbines]): The air density value(s) at each turbine. + ref_density_cp_cts (NDArrayFloat[wd, ws, turbines]): The reference density for each turbine velocities (NDArrayFloat[wd, ws, turbines, grid1, grid2]): The velocity field at a turbine. pP (NDArrayFloat[wd, ws, turbines]): The pP value(s) of the cosine exponent relating the yaw misalignment angle to power for each turbine. @@ -134,7 +136,7 @@ def power( # Compute the yaw effective velocity pW = pP / 3.0 # Convert from pP to w - yaw_effective_velocity = ((air_density/1.225)**(1/3)) * average_velocity(velocities) * cosd(yaw_angle) ** pW + yaw_effective_velocity = ((air_density/ref_density_cp_ct)**(1/3)) * average_velocity(velocities) * cosd(yaw_angle) ** pW # Loop over each turbine type given to get thrust coefficient for all turbines p = np.zeros(np.shape(yaw_effective_velocity)) @@ -145,7 +147,7 @@ def power( # type to the main thrust coefficient array p += power_interp[turb_type](yaw_effective_velocity) * np.array(turbine_type_map == turb_type) - return p * 1.225 + return p * ref_density_cp_ct def Ct( @@ -317,6 +319,8 @@ class Turbine(BaseClass): tilt angle to power. generator_efficiency (:py:obj: float): The generator efficiency factor used to scale the power production. + ref_density_cp_ct (:py:obj: float): The density at which the provided + cp and ct is defined power_thrust_table (PowerThrustTable): A dictionary containing the following key-value pairs: @@ -343,8 +347,11 @@ class Turbine(BaseClass): pT: float TSR: float generator_efficiency: float + ref_density_cp_ct: float power_thrust_table: PowerThrustTable = field(converter=PowerThrustTable.from_dict) + + # rloc: float = float_attrib() # TODO: goes here or on the Grid? # use_points_on_perimeter: bool = bool_attrib() @@ -355,6 +362,7 @@ class Turbine(BaseClass): fCt_interp: interp1d = field(init=False) power_interp: interp1d = field(init=False) + # For the following parameters, use default values if not user-specified # self.rloc = float(input_dictionary["rloc"]) if "rloc" in input_dictionary else 0.5 # if "use_points_on_perimeter" in input_dictionary: diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index efbddb296..aa70f5c52 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -574,6 +574,7 @@ def get_turbine_powers(self) -> NDArrayFloat: turbine_powers = power( air_density=self.floris.flow_field.air_density, + ref_density_cp_ct=self.floris.farm.ref_density_cp_cts, velocities=self.floris.flow_field.u, yaw_angle=self.floris.farm.yaw_angles, pP=self.floris.farm.pPs, diff --git a/floris/turbine_library/iea_10MW.yaml b/floris/turbine_library/iea_10MW.yaml index e664974ee..bc40bb0fb 100644 --- a/floris/turbine_library/iea_10MW.yaml +++ b/floris/turbine_library/iea_10MW.yaml @@ -5,6 +5,7 @@ pP: 1.88 pT: 1.88 rotor_diameter: 198.0 TSR: 8.0 +ref_density_cp_ct: 1.225 power_thrust_table: power: - 0.000000 diff --git a/floris/turbine_library/iea_15MW.yaml b/floris/turbine_library/iea_15MW.yaml index 6f97283e2..c6bc7986a 100644 --- a/floris/turbine_library/iea_15MW.yaml +++ b/floris/turbine_library/iea_15MW.yaml @@ -5,6 +5,7 @@ pP: 1.88 pT: 1.88 rotor_diameter: 240.0 TSR: 8.0 +ref_density_cp_ct: 1.225 power_thrust_table: power: - 0.000000 diff --git a/floris/turbine_library/nrel_5MW.yaml b/floris/turbine_library/nrel_5MW.yaml index 10bc8ea8d..84da83168 100644 --- a/floris/turbine_library/nrel_5MW.yaml +++ b/floris/turbine_library/nrel_5MW.yaml @@ -5,6 +5,7 @@ pP: 1.88 pT: 1.88 rotor_diameter: 126.0 TSR: 8.0 +ref_density_cp_ct: 1.225 power_thrust_table: power: - 0.0 diff --git a/floris/type_dec.py b/floris/type_dec.py index e4dbce8c7..41c5b2451 100644 --- a/floris/type_dec.py +++ b/floris/type_dec.py @@ -108,6 +108,7 @@ def from_dict(cls, data: dict): # Map the inputs must be provided: 1) must be initialized, 2) no default value defined required_inputs = [a.name for a in cls.__attrs_attrs__ if a.init and a.default is attrs.NOTHING] undefined = sorted(set(required_inputs) - set(kwargs)) + if undefined: raise AttributeError(f"The class defintion for {cls.__name__} is missing the following inputs: {undefined}") return cls(**kwargs) diff --git a/tests/conftest.py b/tests/conftest.py index 95807ebf0..2643db942 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -156,6 +156,7 @@ def __init__(self): "pP": 1.88, "pT": 1.88, "generator_efficiency": 1.0, + "ref_density_cp_ct": 1.225, "power_thrust_table": { "power": [ 0.000000, diff --git a/tests/reg_tests/cumulative_curl_regression_test.py b/tests/reg_tests/cumulative_curl_regression_test.py index d37e1e94a..a2c449fd2 100644 --- a/tests/reg_tests/cumulative_curl_regression_test.py +++ b/tests/reg_tests/cumulative_curl_regression_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -174,6 +174,7 @@ def test_regression_tandem(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -318,6 +319,7 @@ def test_regression_yaw(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -390,6 +392,7 @@ def test_regression_yaw_added_recovery(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -461,6 +464,7 @@ def test_regression_secondary_steering(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -530,6 +534,7 @@ def test_regression_small_grid_rotation(sample_inputs_fixture): farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, diff --git a/tests/reg_tests/gauss_regression_test.py b/tests/reg_tests/gauss_regression_test.py index f49f8ceb6..72e8a63e4 100644 --- a/tests/reg_tests/gauss_regression_test.py +++ b/tests/reg_tests/gauss_regression_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -265,6 +265,7 @@ def test_regression_tandem(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -409,6 +410,7 @@ def test_regression_yaw(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -478,6 +480,7 @@ def test_regression_gch(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -542,6 +545,7 @@ def test_regression_gch(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -614,6 +618,7 @@ def test_regression_yaw_added_recovery(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -685,6 +690,7 @@ def test_regression_secondary_steering(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -754,6 +760,7 @@ def test_regression_small_grid_rotation(sample_inputs_fixture): farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, diff --git a/tests/reg_tests/jensen_jimenez_regression_test.py b/tests/reg_tests/jensen_jimenez_regression_test.py index d9274160a..a0be63048 100644 --- a/tests/reg_tests/jensen_jimenez_regression_test.py +++ b/tests/reg_tests/jensen_jimenez_regression_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -117,6 +117,7 @@ def test_regression_tandem(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -261,6 +262,7 @@ def test_regression_yaw(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -330,6 +332,7 @@ def test_regression_small_grid_rotation(sample_inputs_fixture): farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, diff --git a/tests/reg_tests/none_regression_test.py b/tests/reg_tests/none_regression_test.py index 444dffe5a..cb7784643 100644 --- a/tests/reg_tests/none_regression_test.py +++ b/tests/reg_tests/none_regression_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -118,6 +118,7 @@ def test_regression_tandem(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -283,6 +284,7 @@ def test_regression_small_grid_rotation(sample_inputs_fixture): farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, diff --git a/tests/reg_tests/turbopark_regression_test.py b/tests/reg_tests/turbopark_regression_test.py index e383145c8..8f9bcb6da 100644 --- a/tests/reg_tests/turbopark_regression_test.py +++ b/tests/reg_tests/turbopark_regression_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 NREL +# Copyright 2022 NREL # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of @@ -118,6 +118,7 @@ def test_regression_tandem(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -263,6 +264,7 @@ def test_regression_yaw(sample_inputs_fixture): ) farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, @@ -333,6 +335,7 @@ def test_regression_small_grid_rotation(sample_inputs_fixture): farm_powers = power( floris.flow_field.air_density, + floris.farm.ref_density_cp_cts, velocities, yaw_angles, floris.farm.pPs, diff --git a/tests/turbine_unit_test.py b/tests/turbine_unit_test.py index ec5796792..192ae5bc6 100644 --- a/tests/turbine_unit_test.py +++ b/tests/turbine_unit_test.py @@ -259,6 +259,7 @@ def test_power(): wind_speed = 10.0 p = power( air_density=AIR_DENSITY, + ref_density_cp_ct=AIR_DENSITY, velocities=wind_speed * np.ones((1, 1, 1, 3, 3)), yaw_angle=np.zeros((1, 1, 1)), pP=turbine.pP * np.ones((1, 1, 1)), From 647ed144b3ab01b78374e66e1e78b50b63be378b Mon Sep 17 00:00:00 2001 From: paulf81 Date: Thu, 8 Sep 2022 14:33:28 -0600 Subject: [PATCH 19/22] Update wind rose and power rose (#392) * Add function to read in wind rose as csv * add aep function which accepts wind rose object * add an example using wind rose object aep * update how no_wake is passed * Add label option * add x_20 turbine option * adding check for second turbine * add time limit and storeHistory options * add hotStart option * call get_farm_aep from within the wind rose ver * add deflection to the turbopark model * Add a simplified spreading optimization * changing 'layout' to 'layout_x/layout_y' * renumbering examples Co-authored-by: bayc --- .github/workflows/check-working-examples.yaml | 4 +- docs/_tutorials/index.md | 10 +- examples/08_calc_aep_from_rose_use_class.py | 74 ++++++ ...=> 09_compare_farm_power_with_neighbor.py} | 4 +- ...w_single_ws.py => 10_opt_yaw_single_ws.py} | 0 ...ltiple_ws.py => 11_opt_yaw_multiple_ws.py} | 0 ...{11_optimize_yaw.py => 12_optimize_yaw.py} | 0 ... 13_optimize_yaw_with_neighboring_farm.py} | 0 ...mizers.py => 14_compare_yaw_optimizers.py} | 0 ...timize_layout.py => 15_optimize_layout.py} | 0 ...s_inflow.py => 16_heterogeneous_inflow.py} | 0 ..._types.py => 17_multiple_turbine_types.py} | 0 ...7_check_turbine.py => 18_check_turbine.py} | 0 ...streamlit_demo.py => 19_streamlit_demo.py} | 0 ..._calculate_farm_power_with_uncertainty.py} | 0 ..._time_series.py => 21_demo_time_series.py} | 0 ...es.py => 22_get_wind_speed_at_turbines.py} | 0 floris/tools/floris_interface.py | 68 ++++++ .../layout_optimization_pyoptsparse.py | 20 +- .../layout_optimization_pyoptsparse_spread.py | 218 ++++++++++++++++++ .../layout_optimization_scipy.py | 3 +- floris/tools/wind_rose.py | 20 +- floris/turbine_library/x_20MW.yaml | 176 ++++++++++++++ 23 files changed, 581 insertions(+), 16 deletions(-) create mode 100644 examples/08_calc_aep_from_rose_use_class.py rename examples/{08_compare_farm_power_with_neighbor.py => 09_compare_farm_power_with_neighbor.py} (95%) rename examples/{09_opt_yaw_single_ws.py => 10_opt_yaw_single_ws.py} (100%) rename examples/{10_opt_yaw_multiple_ws.py => 11_opt_yaw_multiple_ws.py} (100%) rename examples/{11_optimize_yaw.py => 12_optimize_yaw.py} (100%) rename examples/{12_optimize_yaw_with_neighboring_farm.py => 13_optimize_yaw_with_neighboring_farm.py} (100%) rename examples/{13_compare_yaw_optimizers.py => 14_compare_yaw_optimizers.py} (100%) rename examples/{14_optimize_layout.py => 15_optimize_layout.py} (100%) rename examples/{15_heterogeneous_inflow.py => 16_heterogeneous_inflow.py} (100%) rename examples/{16_multiple_turbine_types.py => 17_multiple_turbine_types.py} (100%) rename examples/{17_check_turbine.py => 18_check_turbine.py} (100%) rename examples/{18_streamlit_demo.py => 19_streamlit_demo.py} (100%) rename examples/{19_calculate_farm_power_with_uncertainty.py => 20_calculate_farm_power_with_uncertainty.py} (100%) rename examples/{20_demo_time_series.py => 21_demo_time_series.py} (100%) rename examples/{21_get_wind_speed_at_turbines.py => 22_get_wind_speed_at_turbines.py} (100%) create mode 100644 floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse_spread.py create mode 100644 floris/turbine_library/x_20MW.yaml diff --git a/.github/workflows/check-working-examples.yaml b/.github/workflows/check-working-examples.yaml index e8394317e..4d6112841 100644 --- a/.github/workflows/check-working-examples.yaml +++ b/.github/workflows/check-working-examples.yaml @@ -36,10 +36,10 @@ jobs: for i in *.py; do # Skip these examples since they have additional dependencies - if [[ $i == *14* ]]; then + if [[ $i == *15* ]]; then continue fi - if [[ $i == *18* ]]; then + if [[ $i == *19* ]]; then continue fi diff --git a/docs/_tutorials/index.md b/docs/_tutorials/index.md index 775869548..ddbefaf62 100644 --- a/docs/_tutorials/index.md +++ b/docs/_tutorials/index.md @@ -69,7 +69,7 @@ initial 3x1 layout to a 2x2 rectangular layout. ```python x_2x2 = [0, 0, 800, 800] y_2x2 = [0, 400, 0, 400] -fi.reinitialize( layout=(x_2x2, y_2x2) ) +fi.reinitialize( layout_x=x_2x2, layout_y=y_2x2 ) x, y = fi.get_turbine_layout() @@ -483,9 +483,9 @@ fi_gch = FlorisInterface("inputs/gch.yaml") fi_cc = FlorisInterface("inputs/cc.yaml") # Assign the layouts, wind speeds and directions -fi_jensen.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds) -fi_gch.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds) -fi_cc.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds) +fi_jensen.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds) +fi_gch.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds) +fi_cc.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds) def time_model_calculation(model_fi: FlorisInterface) -> Tuple[float, float]: """ @@ -535,7 +535,7 @@ X = np.linspace(0, 6*7*D, 7) Y = np.zeros_like(X) wind_speeds = [8.] wind_directions = np.arange(0., 360., 2.) -fi_gch.reinitialize(layout=(X, Y), wind_directions=wind_directions, wind_speeds=wind_speeds) +fi_gch.reinitialize(layout_x=X, layout_y=Y, wind_directions=wind_directions, wind_speeds=wind_speeds) ``` ```python diff --git a/examples/08_calc_aep_from_rose_use_class.py b/examples/08_calc_aep_from_rose_use_class.py new file mode 100644 index 000000000..358fbc19e --- /dev/null +++ b/examples/08_calc_aep_from_rose_use_class.py @@ -0,0 +1,74 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from scipy.interpolate import NearestNDInterpolator +from floris.tools import FlorisInterface, WindRose, wind_rose + +""" +This example demonstrates how to calculate the Annual Energy Production (AEP) +of a wind farm using wind rose information stored in a .csv file. + +The wind rose information is first loaded, after which we initialize our Floris +Interface. A 3 turbine farm is generated, and then the turbine wakes and powers +are calculated across all the wind directions. Finally, the farm power is +converted to AEP and reported out. +""" + +# Read in the wind rose using the class +wind_rose = WindRose() +wind_rose.read_wind_rose_csv("inputs/wind_rose.csv") + +# Show the wind rose +wind_rose.plot_wind_rose() + +# Load the FLORIS object +fi = FlorisInterface("inputs/gch.yaml") # GCH model +# fi = FlorisInterface("inputs/cc.yaml") # CumulativeCurl model + +# Assume a three-turbine wind farm with 5D spacing. We reinitialize the +# floris object and assign the layout, wind speed and wind direction arrays. +D = 126.0 # Rotor diameter for the NREL 5 MW +fi.reinitialize( + layout=[[0.0, 5* D, 10 * D], [0.0, 0.0, 0.0]] +) + +# Compute the AEP using the default settings +aep = fi.get_farm_AEP_wind_rose_class(wind_rose=wind_rose) +print("Farm AEP (default options): {:.3f} GWh".format(aep / 1.0e9)) + +# Compute the AEP again while specifying a cut-in and cut-out wind speed. +# The wake calculations are skipped for any wind speed below respectively +# above the cut-in and cut-out wind speed. This can speed up computation and +# prevent unexpected behavior for zero/negative and very high wind speeds. +# In this example, the results should not change between this and the default +# call to 'get_farm_AEP()'. +aep = fi.get_farm_AEP_wind_rose_class( + wind_rose=wind_rose, + cut_in_wind_speed=3.0, # Wakes are not evaluated below this wind speed + cut_out_wind_speed=25.0, # Wakes are not evaluated above this wind speed +) +print("Farm AEP (with cut_in/out specified): {:.3f} GWh".format(aep / 1.0e9)) + +# Finally, we can also compute the AEP while ignoring all wake calculations. +# This can be useful to quantity the annual wake losses in the farm. Such +# calculations can be facilitated by enabling the 'no_wake' handle. +aep_no_wake = fi.get_farm_AEP_wind_rose_class(wind_rose=wind_rose, no_wake=True) +print("Farm AEP (no_wake=True): {:.3f} GWh".format(aep_no_wake / 1.0e9)) + + +plt.show() \ No newline at end of file diff --git a/examples/08_compare_farm_power_with_neighbor.py b/examples/09_compare_farm_power_with_neighbor.py similarity index 95% rename from examples/08_compare_farm_power_with_neighbor.py rename to examples/09_compare_farm_power_with_neighbor.py index a4ee01ddf..9dc0f845b 100644 --- a/examples/08_compare_farm_power_with_neighbor.py +++ b/examples/09_compare_farm_power_with_neighbor.py @@ -34,7 +34,7 @@ D = 126. layout_x = np.array([0, D*6, 0, D*6]) layout_y = [0, 0, D*3, D*3] -fi.reinitialize(layout = [layout_x, layout_y]) +fi.reinitialize(layout_x = layout_x, layout_y = layout_y) # Define a simple wind rose with just 1 wind speed wd_array = np.arange(0,360,4.) @@ -50,7 +50,7 @@ # Add a neighbor to the east layout_x = np.array([0, D*6, 0, D*6, D*12, D*15, D*12, D*15]) layout_y = np.array([0, 0, D*3, D*3, 0, 0, D*3, D*3]) -fi.reinitialize(layout = [layout_x, layout_y]) +fi.reinitialize(layout_x = layout_x, layout_y = layout_y) # Define the weights to exclude the neighboring farm from calcuations of power turbine_weights = np.zeros(len(layout_x), dtype=int) diff --git a/examples/09_opt_yaw_single_ws.py b/examples/10_opt_yaw_single_ws.py similarity index 100% rename from examples/09_opt_yaw_single_ws.py rename to examples/10_opt_yaw_single_ws.py diff --git a/examples/10_opt_yaw_multiple_ws.py b/examples/11_opt_yaw_multiple_ws.py similarity index 100% rename from examples/10_opt_yaw_multiple_ws.py rename to examples/11_opt_yaw_multiple_ws.py diff --git a/examples/11_optimize_yaw.py b/examples/12_optimize_yaw.py similarity index 100% rename from examples/11_optimize_yaw.py rename to examples/12_optimize_yaw.py diff --git a/examples/12_optimize_yaw_with_neighboring_farm.py b/examples/13_optimize_yaw_with_neighboring_farm.py similarity index 100% rename from examples/12_optimize_yaw_with_neighboring_farm.py rename to examples/13_optimize_yaw_with_neighboring_farm.py diff --git a/examples/13_compare_yaw_optimizers.py b/examples/14_compare_yaw_optimizers.py similarity index 100% rename from examples/13_compare_yaw_optimizers.py rename to examples/14_compare_yaw_optimizers.py diff --git a/examples/14_optimize_layout.py b/examples/15_optimize_layout.py similarity index 100% rename from examples/14_optimize_layout.py rename to examples/15_optimize_layout.py diff --git a/examples/15_heterogeneous_inflow.py b/examples/16_heterogeneous_inflow.py similarity index 100% rename from examples/15_heterogeneous_inflow.py rename to examples/16_heterogeneous_inflow.py diff --git a/examples/16_multiple_turbine_types.py b/examples/17_multiple_turbine_types.py similarity index 100% rename from examples/16_multiple_turbine_types.py rename to examples/17_multiple_turbine_types.py diff --git a/examples/17_check_turbine.py b/examples/18_check_turbine.py similarity index 100% rename from examples/17_check_turbine.py rename to examples/18_check_turbine.py diff --git a/examples/18_streamlit_demo.py b/examples/19_streamlit_demo.py similarity index 100% rename from examples/18_streamlit_demo.py rename to examples/19_streamlit_demo.py diff --git a/examples/19_calculate_farm_power_with_uncertainty.py b/examples/20_calculate_farm_power_with_uncertainty.py similarity index 100% rename from examples/19_calculate_farm_power_with_uncertainty.py rename to examples/20_calculate_farm_power_with_uncertainty.py diff --git a/examples/20_demo_time_series.py b/examples/21_demo_time_series.py similarity index 100% rename from examples/20_demo_time_series.py rename to examples/21_demo_time_series.py diff --git a/examples/21_get_wind_speed_at_turbines.py b/examples/22_get_wind_speed_at_turbines.py similarity index 100% rename from examples/21_get_wind_speed_at_turbines.py rename to examples/22_get_wind_speed_at_turbines.py diff --git a/floris/tools/floris_interface.py b/floris/tools/floris_interface.py index aa70f5c52..ae6d7bf97 100644 --- a/floris/tools/floris_interface.py +++ b/floris/tools/floris_interface.py @@ -783,6 +783,74 @@ def get_farm_AEP( return aep + def get_farm_AEP_wind_rose_class( + self, + wind_rose, + cut_in_wind_speed=0.001, + cut_out_wind_speed=None, + yaw_angles=None, + no_wake=False, + ) -> float: + """ + Estimate annual energy production (AEP) for distributions of wind speed, wind + direction, frequency of occurrence, and yaw offset. + + Args: + wind_rose (wind_rose): An object of the wind rose class + cut_in_wind_speed (float, optional): Wind speed in m/s below which + any calculations are ignored and the wind farm is known to + produce 0.0 W of power. Note that to prevent problems with the + wake models at negative / zero wind speeds, this variable must + always have a positive value. Defaults to 0.001 [m/s]. + cut_out_wind_speed (float, optional): Wind speed above which the + wind farm is known to produce 0.0 W of power. If None is + specified, will assume that the wind farm does not cut out + at high wind speeds. Defaults to None. + yaw_angles (NDArrayFloat | list[float] | None, optional): + The relative turbine yaw angles in degrees. If None is + specified, will assume that the turbine yaw angles are all + zero degrees for all conditions. Defaults to None. + no_wake: (bool, optional): When *True* updates the turbine + quantities without calculating the wake or adding the wake to + the flow field. This can be useful when quantifying the loss + in AEP due to wakes. Defaults to *False*. + + Returns: + float: + The Annual Energy Production (AEP) for the wind farm in + watt-hours. + """ + + # Hold the starting values of wind speed and direction + wind_speeds = np.array(self.floris.flow_field.wind_speeds, copy=True) + wind_directions = np.array(self.floris.flow_field.wind_directions, copy=True) + + # Now set FLORIS wind speed and wind direction + # over to those values in the wind rose class + wind_speeds_wind_rose = wind_rose.df.ws.unique() + wind_directions_wind_rose = wind_rose.df.wd.unique() + self.reinitialize(wind_speeds=wind_speeds_wind_rose, wind_directions=wind_directions_wind_rose) + + # Build the frequency matrix from wind rose + freq = wind_rose.df.set_index(['wd','ws']).unstack().values + + # Now compute aep + aep = self.get_farm_AEP( + freq, + cut_in_wind_speed=cut_in_wind_speed, + cut_out_wind_speed=cut_out_wind_speed, + yaw_angles=yaw_angles, + no_wake=no_wake) + + + # Reset the FLORIS object to the original wind speed and directions + self.reinitialize(wind_speeds=wind_speeds, wind_directions=wind_directions) + + + return aep + + + @property def layout_x(self): """ diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py index 0f4b04722..83aaa23ee 100644 --- a/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py +++ b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse.py @@ -29,12 +29,19 @@ def __init__( freq=None, solver=None, optOptions=None, + timeLimit=None, + storeHistory='hist.hist', + hotStart=None ): super().__init__(fi, boundaries, min_dist=min_dist, freq=freq) self.x0 = self._norm(self.fi.layout_x, self.xmin, self.xmax) self.y0 = self._norm(self.fi.layout_y, self.ymin, self.ymax) + self.storeHistory = storeHistory + self.timeLimit = timeLimit + self.hotStart = hotStart + try: import pyoptsparse except ImportError: @@ -73,7 +80,10 @@ def _optimize(self): if hasattr(self, "_sens"): self.sol = self.opt(self.optProb, sens=self._sens) else: - self.sol = self.opt(self.optProb, sens="CDR", storeHistory='hist.hist') + if self.timeLimit is not None: + self.sol = self.opt(self.optProb, sens="CDR", storeHistory=self.storeHistory, timeLimit=self.timeLimit, hotStart=self.hotStart) + else: + self.sol = self.opt(self.optProb, sens="CDR", storeHistory=self.storeHistory, hotStart=self.hotStart) return self.sol def _obj_func(self, varDict): @@ -81,7 +91,7 @@ def _obj_func(self, varDict): self.parse_opt_vars(varDict) # Update turbine map with turbince locations - self.fi.reinitialize(layout=[self.x, self.y]) + self.fi.reinitialize(layout_x = self.x, layout_y = self.y) # Compute the objective function funcs = {} @@ -164,6 +174,10 @@ def distance_from_boundaries(self, x, y): def _get_initial_and_final_locs(self): x_initial = self._unnorm(self.x0, self.xmin, self.xmax) y_initial = self._unnorm(self.y0, self.ymin, self.ymax) + x_opt, y_opt = self.get_optimized_locs() + return x_initial, y_initial, x_opt, y_opt + + def get_optimized_locs(self): x_opt = self._unnorm(self.sol.getDVs()["x"], self.xmin, self.xmax) y_opt = self._unnorm(self.sol.getDVs()["y"], self.ymin, self.ymax) - return x_initial, y_initial, x_opt, y_opt + return x_opt, y_opt diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse_spread.py b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse_spread.py new file mode 100644 index 000000000..772fa0fab --- /dev/null +++ b/floris/tools/optimization/layout_optimization/layout_optimization_pyoptsparse_spread.py @@ -0,0 +1,218 @@ +# Copyright 2022 NREL + +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# See https://floris.readthedocs.io for documentation + + +import numpy as np +import matplotlib.pyplot as plt +from shapely.geometry import Point +from scipy.spatial.distance import cdist + +from .layout_optimization_base import LayoutOptimization + +class LayoutOptimizationPyOptSparse(LayoutOptimization): + def __init__( + self, + fi, + boundaries, + min_dist=None, + freq=None, + solver=None, + optOptions=None, + timeLimit=None, + storeHistory='hist.hist', + hotStart=None + ): + super().__init__(fi, boundaries, min_dist=min_dist, freq=freq) + self._reinitialize(solver=solver, optOptions=optOptions) + + self.storeHistory = storeHistory + self.timeLimit = timeLimit + self.hotStart = hotStart + + def _reinitialize(self, solver=None, optOptions=None): + try: + import pyoptsparse + except ImportError: + err_msg = ( + "It appears you do not have pyOptSparse installed. " + + "Please refer to https://pyoptsparse.readthedocs.io/ for " + + "guidance on how to properly install the module." + ) + self.logger.error(err_msg, stack_info=True) + raise ImportError(err_msg) + + # Insantiate ptOptSparse optimization object with name and objective function + self.optProb = pyoptsparse.Optimization('layout', self._obj_func) + + self.optProb = self.add_var_group(self.optProb) + self.optProb = self.add_con_group(self.optProb) + self.optProb.addObj("obj") + + if solver is not None: + self.solver = solver + print("Setting up optimization with user's choice of solver: ", self.solver) + else: + self.solver = "SLSQP" + print("Setting up optimization with default solver: SLSQP.") + if optOptions is not None: + self.optOptions = optOptions + else: + if self.solver == "SNOPT": + self.optOptions = {"Major optimality tolerance": 1e-7} + else: + self.optOptions = {} + + exec("self.opt = pyoptsparse." + self.solver + "(options=self.optOptions)") + + def _optimize(self): + if hasattr(self, "_sens"): + self.sol = self.opt(self.optProb, sens=self._sens) + else: + if self.timeLimit is not None: + self.sol = self.opt(self.optProb, sens="CDR", storeHistory=self.storeHistory, timeLimit=self.timeLimit, hotStart=self.hotStart) + else: + self.sol = self.opt(self.optProb, sens="CDR", storeHistory=self.storeHistory, hotStart=self.hotStart) + return self.sol + + def _obj_func(self, varDict): + # Parse the variable dictionary + self.parse_opt_vars(varDict) + + # Update turbine map with turbince locations + # self.fi.reinitialize(layout=[self.x, self.y]) + # self.fi.calculate_wake() + + # Compute the objective function + funcs = {} + funcs["obj"] = ( + -1 * self.mean_distance(self.x, self.y) + # -1 * np.sum(self.fi.get_farm_power() * self.freq * 8760) / self.initial_AEP + ) + + # Compute constraints, if any are defined for the optimization + funcs = self.compute_cons(funcs, self.x, self.y) + + fail = False + return funcs, fail + + # Optionally, the user can supply the optimization with gradients + # def _sens(self, varDict, funcs): + # funcsSens = {} + # fail = False + # return funcsSens, fail + + def parse_opt_vars(self, varDict): + self.x = self._unnorm(varDict["x"], self.xmin, self.xmax) + self.y = self._unnorm(varDict["y"], self.ymin, self.ymax) + + def parse_sol_vars(self, sol): + self.x = list(self._unnorm(sol.getDVs()["x"], self.xmin, self.xmax))[0] + self.y = list(self._unnorm(sol.getDVs()["y"], self.ymin, self.ymax))[1] + + def add_var_group(self, optProb): + optProb.addVarGroup( + "x", self.nturbs, type="c", lower=0.0, upper=1.0, value=self.x0 + ) + optProb.addVarGroup( + "y", self.nturbs, type="c", lower=0.0, upper=1.0, value=self.y0 + ) + + return optProb + + def add_con_group(self, optProb): + optProb.addConGroup("boundary_con", self.nturbs, upper=0.0) + optProb.addConGroup("spacing_con", 1, upper=0.0) + + return optProb + + def compute_cons(self, funcs, x, y): + funcs["boundary_con"] = self.distance_from_boundaries(x, y) + funcs["spacing_con"] = self.space_constraint(x, y) + + return funcs + + def mean_distance(self, x, y): + + locs = np.vstack((x, y)).T + distances = cdist(locs, locs) + return np.mean(distances) + + + def space_constraint(self, x, y, rho=500): + # Calculate distances between turbines + locs = np.vstack((x, y)).T + distances = cdist(locs, locs) + arange = np.arange(distances.shape[0]) + distances[arange, arange] = 1e10 + dist = np.min(distances, axis=0) + + g = 1 - np.array(dist) / self.min_dist + + # Following code copied from OpenMDAO KSComp(). + # Constraint is satisfied when KS_constraint <= 0 + g_max = np.max(np.atleast_2d(g), axis=-1)[:, np.newaxis] + g_diff = g - g_max + exponents = np.exp(rho * g_diff) + summation = np.sum(exponents, axis=-1)[:, np.newaxis] + KS_constraint = g_max + 1.0 / rho * np.log(summation) + + return KS_constraint[0][0] + + def distance_from_boundaries(self, x, y): + boundary_con = np.zeros(self.nturbs) + for i in range(self.nturbs): + loc = Point(x[i], y[i]) + boundary_con[i] = loc.distance(self.boundary_line) + if self.boundary_polygon.contains(loc)==True: + boundary_con[i] *= -1.0 + + return boundary_con + + def plot_layout_opt_results(self): + """ + Method to plot the old and new locations of the layout opitimization. + """ + locsx = self._unnorm(self.sol.getDVs()["x"], self.xmin, self.xmax) + locsy = self._unnorm(self.sol.getDVs()["y"], self.ymin, self.ymax) + x0 = self._unnorm(self.x0, self.xmin, self.xmax) + y0 = self._unnorm(self.y0, self.ymin, self.ymax) + + plt.figure(figsize=(9, 6)) + fontsize = 16 + plt.plot(x0, y0, "ob") + plt.plot(locsx, locsy, "or") + # plt.title('Layout Optimization Results', fontsize=fontsize) + plt.xlabel("x (m)", fontsize=fontsize) + plt.ylabel("y (m)", fontsize=fontsize) + plt.axis("equal") + plt.grid() + plt.tick_params(which="both", labelsize=fontsize) + plt.legend( + ["Old locations", "New locations"], + loc="lower center", + bbox_to_anchor=(0.5, 1.01), + ncol=2, + fontsize=fontsize, + ) + + verts = self.boundaries + for i in range(len(verts)): + if i == len(verts) - 1: + plt.plot([verts[i][0], verts[0][0]], [verts[i][1], verts[0][1]], "b") + else: + plt.plot( + [verts[i][0], verts[i + 1][0]], [verts[i][1], verts[i + 1][1]], "b" + ) + + plt.show() diff --git a/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py b/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py index 737f84c5d..bd2501659 100644 --- a/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py +++ b/floris/tools/optimization/layout_optimization/layout_optimization_scipy.py @@ -111,10 +111,9 @@ def _change_coordinates(self, locs): # Parse the layout coordinates layout_x = locs[0 : self.nturbs] layout_y = locs[self.nturbs : 2 * self.nturbs] - layout_array = (layout_x, layout_y) # Update the turbine map in floris - self.fi.reinitialize(layout=layout_array) + self.fi.reinitialize(layout_x=layout_x, layout_y=layout_y) def _generate_constraints(self): tmp1 = { diff --git a/floris/tools/wind_rose.py b/floris/tools/wind_rose.py index 8f3afb56f..e1e1ebe37 100644 --- a/floris/tools/wind_rose.py +++ b/floris/tools/wind_rose.py @@ -634,6 +634,22 @@ def make_wind_rose_from_user_data( self.internal_resample_wind_direction(wd=wd) return self.df + + def read_wind_rose_csv( + self, + filename + ): + + #Read in the csv + self.df = pd.read_csv(filename) + + # Renormalize the frequency column + self.df["freq_val"] = self.df["freq_val"] / self.df["freq_val"].sum() + + # Call the resample function in order to set all the internal variables + self.internal_resample_wind_speed(ws=self.df.ws.unique()) + self.internal_resample_wind_direction(wd=self.df.wd.unique()) + def make_wind_rose_from_user_dist( self, @@ -1283,7 +1299,7 @@ def indices_for_coord(self, f, lat_index, lon_index): ij = [int(round(x / 2000)) for x in delta] return tuple(reversed(ij)) - def plot_wind_speed_all(self, ax=None): + def plot_wind_speed_all(self, ax=None, label=None): """ This method plots the wind speed frequency distribution of the WindRose object averaged across all wind directions. If no axis is provided, a @@ -1297,7 +1313,7 @@ def plot_wind_speed_all(self, ax=None): _, ax = plt.subplots() df_plot = self.df.groupby("ws").sum() - ax.plot(self.ws, df_plot.freq_val) + ax.plot(self.ws, df_plot.freq_val, label=label) def plot_wind_speed_by_direction(self, dirs, ax=None): """ diff --git a/floris/turbine_library/x_20MW.yaml b/floris/turbine_library/x_20MW.yaml new file mode 100644 index 000000000..436a83b52 --- /dev/null +++ b/floris/turbine_library/x_20MW.yaml @@ -0,0 +1,176 @@ +turbine_type: 'x_20MW' +generator_efficiency: 1.0 +hub_height: 165.0 +pP: 1.88 +pT: 1.88 +rotor_diameter: 252.0 +TSR: 8.0 +power_thrust_table: + power: + - 0.000000 + - 0.000000 + - 0.074000 + - 0.325100 + - 0.376200 + - 0.402700 + - 0.415600 + - 0.423000 + - 0.427400 + - 0.429300 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429800 + - 0.429603 + - 0.354604 + - 0.316305 + - 0.281478 + - 0.250068 + - 0.221924 + - 0.196845 + - 0.174592 + - 0.154919 + - 0.137570 + - 0.122300 + - 0.108881 + - 0.097094 + - 0.086747 + - 0.077664 + - 0.069686 + - 0.062677 + - 0.056511 + - 0.051083 + - 0.046299 + - 0.043182 + - 0.033935 + - 0.000000 + - 0.000000 + thrust: + - 0.000000 + - 0.000000 + - 0.770100 + - 0.770100 + - 0.776300 + - 0.782400 + - 0.782000 + - 0.780200 + - 0.777200 + - 0.771900 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.776800 + - 0.767500 + - 0.765100 + - 0.758700 + - 0.505600 + - 0.431000 + - 0.370800 + - 0.320900 + - 0.278800 + - 0.243200 + - 0.212800 + - 0.186800 + - 0.164500 + - 0.145400 + - 0.128900 + - 0.114700 + - 0.102400 + - 0.091800 + - 0.082500 + - 0.074500 + - 0.067500 + - 0.061300 + - 0.055900 + - 0.051200 + - 0.047000 + - 0.000000 + - 0.000000 + wind_speed: + - 0.000000 + - 2.900000 + - 3.000000 + - 4.000000 + - 4.514700 + - 5.000800 + - 5.457400 + - 5.883300 + - 6.277700 + - 6.639700 + - 6.968400 + - 7.263200 + - 7.523400 + - 7.748400 + - 7.937700 + - 8.090900 + - 8.207700 + - 8.287700 + - 8.330800 + - 8.337000 + - 8.367800 + - 8.435600 + - 8.540100 + - 8.681200 + - 8.858500 + - 9.071700 + - 9.320200 + - 9.603500 + - 9.921000 + - 10.272000 + - 10.655700 + - 11.507700 + - 12.267700 + - 12.744100 + - 13.249400 + - 13.782400 + - 14.342000 + - 14.926900 + - 15.535900 + - 16.167500 + - 16.820400 + - 17.493200 + - 18.184200 + - 18.892100 + - 19.615200 + - 20.351900 + - 21.100600 + - 21.859600 + - 22.627300 + - 23.401900 + - 24.181700 + - 24.750000 + - 25.010000 + - 25.020000 + - 50.000000 \ No newline at end of file From a7cf49c2b911324dfb4de451dbebc567165fdc81 Mon Sep 17 00:00:00 2001 From: paulf81 Date: Mon, 12 Sep 2022 11:40:38 -0600 Subject: [PATCH 20/22] add ref density to reader (#497) --- floris/tools/floris_interface_legacy_reader.py | 1 + 1 file changed, 1 insertion(+) diff --git a/floris/tools/floris_interface_legacy_reader.py b/floris/tools/floris_interface_legacy_reader.py index 093cbc5b4..ac9472dd1 100644 --- a/floris/tools/floris_interface_legacy_reader.py +++ b/floris/tools/floris_interface_legacy_reader.py @@ -188,6 +188,7 @@ def _convert_v24_dictionary_to_v3(dict_legacy): "rotor_diameter": tp["rotor_diameter"], "TSR": tp["TSR"], "power_thrust_table": tp["power_thrust_table"], + "ref_density_cp_ct": 1.225 # This was implicit in the former input file } return dict_floris, dict_turbine From ab65590849aefa3213193e9488a527fa45fec379 Mon Sep 17 00:00:00 2001 From: Rafael M Mudafort Date: Mon, 12 Sep 2022 14:31:49 -0500 Subject: [PATCH 21/22] Update version to v3.2 --- README.md | 6 +++--- docs/index.md | 6 +++--- floris/version.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 507305c58..ccf39cd6f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ FLORIS is a controls-focused wind farm simulation software incorporating steady-state engineering wake models into a performance-focused Python framework. It has been in active development at NREL since 2013 and the latest -release is [FLORIS v3.1.1](https://github.com/NREL/floris/releases/latest) +release is [FLORIS v3.2](https://github.com/NREL/floris/releases/latest) in March 2022. The software is in active development and engagement with the development team @@ -76,11 +76,11 @@ and importing FLORIS: DATA ROOT = PosixPath('/Users/rmudafor/Development/floris') - VERSION = '3.1.1' + VERSION = '3.2' version_file = <_io.TextIOWrapper name='/Users/rmudafor/Development/fl... VERSION - 3.1.1 + 3.2 FILE ~/floris/floris/__init__.py diff --git a/docs/index.md b/docs/index.md index 53f5ab851..b3d8498e6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,7 +12,7 @@ permalink: / FLORIS is a controls-focused wind farm simulation software incorporating steady-state engineering wake models into a performance-focused Python framework. It has been in active development at NREL since 2013 and the latest -release is [FLORIS v3.1.1](https://github.com/NREL/floris/releases/latest) +release is [FLORIS v3.2](https://github.com/NREL/floris/releases/latest) in March 2022. The software is in active development and engagement with the development team @@ -85,11 +85,11 @@ and importing FLORIS: DATA ROOT = PosixPath('/Users/rmudafor/Development/floris') - VERSION = '3.1.1' + VERSION = '3.2' version_file = <_io.TextIOWrapper name='/Users/rmudafor/Development/fl... VERSION - 3.1.1 + 3.2 FILE ~/floris/floris/__init__.py diff --git a/floris/version.py b/floris/version.py index 94ff29cc4..a3ec5a4bd 100644 --- a/floris/version.py +++ b/floris/version.py @@ -1 +1 @@ -3.1.1 +3.2 From 11eece0c54a5e00a15c194bc6647142bd7df1adb Mon Sep 17 00:00:00 2001 From: bayc Date: Thu, 15 Sep 2022 22:40:01 -0600 Subject: [PATCH 22/22] adding missing time_series flag to cc flow field solver call (#493) * adding missing time_series flag to cc flow field solver call * adding documentation for the time_series flag --- floris/simulation/grid.py | 5 ++++- floris/simulation/solver.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/floris/simulation/grid.py b/floris/simulation/grid.py index 2592ae9dd..a3617395f 100644 --- a/floris/simulation/grid.py +++ b/floris/simulation/grid.py @@ -54,7 +54,10 @@ class Grid(ABC): Args: turbine_coordinates (`list[Vec3]`): The collection of turbine coordinate (`Vec3`) objects. reference_turbine_diameter (:py:obj:`float`): The reference turbine's rotor diameter. - grid_resolution (:py:obj:`int` | :py:obj:`Iterable(int,)`): Grid resolution specific to each grid type + grid_resolution (:py:obj:`int` | :py:obj:`Iterable(int,)`): Grid resolution specific to each grid type. + wind_directions (:py:obj:`NDArrayFloat`): Wind directions supplied by the user. + wind_speeds (:py:obj:`NDArrayFloat`): Wind speeds supplied by the user. + time_series (:py:obj:`bool`): True/false flag to indicate whether the supplied wind data is a time series. """ turbine_coordinates: list[Vec3] = field() reference_turbine_diameter: float diff --git a/floris/simulation/solver.py b/floris/simulation/solver.py index f8131c087..255e49fcf 100644 --- a/floris/simulation/solver.py +++ b/floris/simulation/solver.py @@ -564,6 +564,7 @@ def full_flow_cc_solver(farm: Farm, flow_field: FlowField, flow_field_grid: Flow wind_directions=turbine_grid_flow_field.wind_directions, wind_speeds=turbine_grid_flow_field.wind_speeds, grid_resolution=3, + time_series=turbine_grid_flow_field.time_series, ) turbine_grid_farm.expand_farm_properties( turbine_grid_flow_field.n_wind_directions, turbine_grid_flow_field.n_wind_speeds, turbine_grid.sorted_coord_indices