From 97fc37aec1be392cb26a8a8cd4aae70bbb6338b8 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 12 Dec 2018 23:59:32 -0800 Subject: [PATCH 01/77] Added checks for the bitline voltage at sense amp enable 50%. --- compiler/characterizer/bitline_delay.py | 47 ++++++++++++++++++++++--- compiler/modules/control_logic.py | 2 +- technology/freepdk45/tech/tech.py | 4 +-- technology/scn4m_subm/tech/tech.py | 1 + 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/compiler/characterizer/bitline_delay.py b/compiler/characterizer/bitline_delay.py index e5a50c16..e4f992fc 100644 --- a/compiler/characterizer/bitline_delay.py +++ b/compiler/characterizer/bitline_delay.py @@ -89,6 +89,7 @@ class bitline_delay(delay): self.add_read("R data 0 address {} to check W0 worked".format(self.probe_address), self.probe_address,data_zeros,read_port) self.measure_cycles[read_port]["read0"] = len(self.cycle_times)-1 + def get_data_bit_column_number(self, probe_address, probe_data): """Calculates bitline column number of data bit under test using bit position and mux size""" if self.sram.col_addr_size>0: @@ -128,6 +129,44 @@ class bitline_delay(delay): # The delay is from the negative edge for our SRAM return (True,result) + def check_bitline_all_results(self, results): + """Checks the bitline values measured for each tested port""" + for port in self.targ_read_ports: + self.check_bitline_port_results(results[port]) + + def check_bitline_port_results(self, port_results) + """Performs three different checks for the bitline values: functionality, bitline swing from vdd, and differential bit swing""" + bl_volt, br_volt = port_results["bl_volt"], port_results["br_volt"] + self.check_functionality(bl_volt,br_volt) + self.check_swing_from_vdd(bl_volt,br_volt) + self.check_differential_swing(bl_volt,br_volt) + + def check_functionality(self, bl_volt, br_volt): + """Checks whether the read failed or not. Measured values are hardcoded with the intention of reading a 0.""" + if bl_volt > br_volt: + debug.error("Read failure. Value 1 was read instead of 0.",1) + + def check_swing_from_vdd(self, bl_volt, br_volt): + """Checks difference on discharging bitline from VDD to see if it is within margin of the RBL height parameter.""" + if bl_volt < br_volt: + discharge_volt = bl_volt + else: + discharge_volt = br_volt + desired_bl_volt = tech.parameter["rbl_height_percentage"]*self.vdd_voltage + debug.info(1, "Active bitline={:.3f}v, Desired bitline={:.3f}v".format(discharge_volt,desired_bl_volt)) + vdd_error_margin = .2 #20% of vdd margin for bitline, a little high for now. + if abs(discharge_volt - desired_bl_volt) > vdd_error_margin*self.vdd_voltage: + debug.warning("Bitline voltage is not within {}% Vdd margin. Delay chain/RBL could need resizing.".format(vdd_error_margin)) + + def check_differential_swing(self, bl_volt, br_volt): + """This check looks at the difference between the bitline voltages. This needs to be large enough to prevent + sensing errors.""" + bitline_swing = abs(bl_volt-br_volt) + debug.info(1,"Bitline swing={:.3f}v".format(bitline_swing)) + vdd_error_margin = .2 #20% of vdd margin for bitline, a little high for now. + if bitline_swing < vdd_error_margin*self.vdd_voltage: + debug.warning("Bitline swing less than {}% Vdd margin. Sensing errors more likely to occur.".format(vdd_error_margin)) + def analyze(self, probe_address, probe_data, slews, loads): """Measures the bitline swing of the differential bitlines (bl/br) at 50% s_en """ self.set_probe(probe_address, probe_data) @@ -141,10 +180,10 @@ class bitline_delay(delay): debug.info(1,"Bitline swing test: corner {}".format(self.corner)) (success, results)=self.run_delay_simulation() debug.check(success, "Bitline Failed: period {}".format(self.period)) - for mname in self.bitline_meas_names: - bitline_swings[mname] = results[read_port][mname] - debug.info(1,"Bitline values (bl/br): {}".format(bitline_swings)) - return bitline_swings + debug.info(1,"Bitline values (bl/br): {}".format(results[read_port])) + self.check_bitline_all_results(results) + + return results diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index c30d91a0..3f5ac905 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -111,7 +111,7 @@ class control_logic(design.design): replica_bitline = getattr(c, OPTS.replica_bitline) delay_stages_heuristic, delay_fanout_heuristic = self.get_heuristic_delay_chain_size() - bitcell_loads = int(math.ceil(self.num_rows / 2.0)) + bitcell_loads = int(math.ceil(self.num_rows * parameter["rbl_height_percentage"])) self.replica_bitline = replica_bitline([delay_fanout_heuristic]*delay_stages_heuristic, bitcell_loads, name="replica_bitline_"+self.port_type) if self.sram != None: diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index 14ce1953..83d9b280 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -328,13 +328,13 @@ spice["nand2_transition_prob"] = .1875 # Transition probability of 2-input na spice["nand3_transition_prob"] = .1094 # Transition probability of 3-input nand. spice["nor2_transition_prob"] = .1875 # Transition probability of 2-input nor. -#Logical Effort relative values for the Handmade cells +#Parameters related to sense amp enable timing and delay chain/RBL sizing parameter["dff_clk_cin"] = 30.6 #relative capacitance parameter["6tcell_wl_cin"] = 3 #relative capacitance parameter["min_inv_para_delay"] = .5 #Tau delay units parameter["sa_en_pmos_size"] = .72 #micro-meters parameter["sa_en_nmos_size"] = .27 #micro-meters - +parameter["rbl_height_percentage"] = .5 #Height of RBL compared to bitcell array ################################################### ##END Spice Simulation Parameters ################################################### diff --git a/technology/scn4m_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py index 3b7e2142..0b4789ae 100755 --- a/technology/scn4m_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -300,6 +300,7 @@ parameter["6tcell_wl_cin"] = 2 parameter["min_inv_para_delay"] = .5 parameter["sa_en_pmos_size"] = 24*_lambda_ parameter["sa_en_nmos_size"] = 9*_lambda_ +parameter["rbl_height_percentage"] = .5 #Height of RBL compared to bitcell array ################################################### ##END Spice Simulation Parameters From e4065929c296bb51ed85867c41f61667ee77823b Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 13 Dec 2018 22:21:30 -0800 Subject: [PATCH 02/77] Added bitline threshold delay checks to delay tests. --- compiler/characterizer/bitline_delay.py | 112 +++++++++++++++++------- compiler/tests/21_hspice_delay_test.py | 14 ++- 2 files changed, 92 insertions(+), 34 deletions(-) diff --git a/compiler/characterizer/bitline_delay.py b/compiler/characterizer/bitline_delay.py index e4f992fc..6368675c 100644 --- a/compiler/characterizer/bitline_delay.py +++ b/compiler/characterizer/bitline_delay.py @@ -22,11 +22,24 @@ class bitline_delay(delay): self.period = tech.spice["feasible_period"] self.is_bitline_measure = True + def create_signal_names(self): + delay.create_signal_names(self) + self.bl_signal_names = ["Xsram.Xbank0.bl", "Xsram.Xbank0.br"] + self.sen_name = "Xsram.s_en" + def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. - self.bitline_meas_names = ["bl_volt", "br_volt"] + self.bl_volt_meas_names = ["volt_bl", "volt_br"] + self.bl_delay_meas_names = ["delay_bl", "delay_br"] #only used in SPICE simulation + self.bl_delay_result_name = "delay_bl_vth" #Used in the return value + def set_probe(self,probe_address, probe_data): + """ Probe address and data can be set separately to utilize other + functions in this characterizer besides analyze.""" + delay.set_probe(self,probe_address, probe_data) + self.bitline_column = self.get_data_bit_column_number(probe_address, probe_data) + def write_delay_measures(self): """ Write the measure statements to quantify the bitline voltage at sense amp enable 50%. @@ -38,26 +51,52 @@ class bitline_delay(delay): self.sf.write("* {}\n".format(comment)) for read_port in self.targ_read_ports: - self.write_bitline_measures_read_port(read_port) + self.write_bitline_voltage_measures(read_port) + self.write_bitline_delay_measures(read_port) - def write_bitline_measures_read_port(self, port): + def write_bitline_voltage_measures(self, port): + """ + Add measurments to capture the bitline voltages at 50% Sense amp enable + """ + debug.info(2, "Measuring bitline column={}, port={}".format(self.bitline_column,port)) + if len(self.all_ports) == 1: #special naming case for single port sram bitlines + bitline_port = "" + else: + bitline_port = str(port) + + sen_port_name = "{}{}".format(self.sen_name,port) + for (measure_name, bl_signal_name) in zip(self.bl_volt_meas_names, self.bl_signal_names): + bl_port_name = "{}{}_{}".format(bl_signal_name, bitline_port, self.bitline_column) + measure_port_name = "{}{}".format(measure_name,port) + self.stim.gen_meas_find_voltage(measure_port_name, sen_port_name, bl_port_name, .5, "RISE", self.cycle_times[self.measure_cycles[port]["read0"]]) + + def write_bitline_delay_measures(self, port): """ Write the measure statements to quantify the delay and power results for a read port. """ # add measure statements for delays/slews - measure_bitline = self.get_data_bit_column_number(self.probe_address, self.probe_data) - debug.info(2, "Measuring bitline column={}".format(measure_bitline)) - for port in self.targ_read_ports: - if len(self.all_ports) == 1: #special naming case for single port sram bitlines - bitline_port = "" - else: - bitline_port = str(port) - - sen_name = "Xsram.s_en{}".format(port) - bl_name = "Xsram.Xbank0.bl{}_{}".format(bitline_port, measure_bitline) - br_name = "Xsram.Xbank0.br{}_{}".format(bitline_port, measure_bitline) - self.stim.gen_meas_find_voltage("bl_volt", sen_name, bl_name, .5, "RISE", self.cycle_times[self.measure_cycles[port]["read0"]]) - self.stim.gen_meas_find_voltage("br_volt", sen_name, br_name, .5, "RISE", self.cycle_times[self.measure_cycles[port]["read0"]]) + for (measure_name, bl_signal_name) in zip(self.bl_delay_meas_names, self.bl_signal_names): + meas_values = self.get_delay_meas_values(measure_name, bl_signal_name, port) + self.stim.gen_meas_delay(*meas_values) + + def get_delay_meas_values(self, delay_name, bitline_name, port): + """Get the values needed to generate a Spice measurement statement based on the name of the measurement.""" + if len(self.all_ports) == 1: #special naming case for single port sram bitlines + bitline_port = "" + else: + bitline_port = str(port) + + meas_name="{0}{1}".format(delay_name, port) + targ_name = "{0}{1}_{2}".format(bitline_name,bitline_port,self.bitline_column) + half_vdd = 0.5 * self.vdd_voltage + trig_val = half_vdd + targ_val = self.vdd_voltage-tech.spice["v_threshold_typical"] + trig_name = "clk{0}".format(port) + trig_dir="FALL" + targ_dir="FALL" + #Half period added to delay measurement to negative clock edge + trig_td = targ_td = self.cycle_times[self.measure_cycles[port]["read0"]] + self.period/2 + return (meas_name,trig_name,targ_name,trig_val,targ_val,trig_dir,targ_dir,trig_td,targ_td) def gen_test_cycles_one_port(self, read_port, write_port): """Sets a list of key time-points [ns] of the waveform (each rising edge) @@ -116,16 +155,29 @@ class bitline_delay(delay): self.stim.run_sim() #running sim prodoces spice output file. for port in self.targ_read_ports: - bitlines_meas_vals = {} - for mname in self.bitline_meas_names: - bitlines_meas_vals[mname] = parse_spice_list("timing", mname) - #Check that power parsing worked. - for name, val in bitlines_meas_vals.items(): - if type(val)!=float: - debug.error("Failed to Parse Bitline Values:\n\t\t{0}".format(bitlines_meas_vals),1) #Printing the entire dict looks bad. - result[port].update(bitlines_meas_vals) + #Parse and check the voltage measurements + bl_volt_meas_dict = {} + for mname in self.bl_volt_meas_names: + mname_port = "{}{}".format(mname,port) + volt_meas_val = parse_spice_list("timing", mname_port) + if type(volt_meas_val)!=float: + debug.error("Failed to Parse Bitline Voltage:\n\t\t{0}={1}".format(mname,volt_meas_val),1) + bl_volt_meas_dict[mname] = volt_meas_val + result[port].update(bl_volt_meas_dict) + + #Parse and check the delay measurements. Intended that one measurement will fail, save the delay that did not fail. + bl_delay_meas_dict = {} + values_added = 0 #For error checking + for mname in self.bl_delay_meas_names: #Parse + mname_port = "{}{}".format(mname,port) + delay_meas_val = parse_spice_list("timing", mname_port) + if type(delay_meas_val)==float: #Only add if value is float, do not error. + bl_delay_meas_dict[self.bl_delay_result_name] = delay_meas_val * 1e9 #convert to ns + values_added+=1 + debug.check(values_added>0, "Bitline delay measurements failed in SPICE simulation.") + debug.check(values_added<2, "Both bitlines experienced a Vth drop, check simulation results.") + result[port].update(bl_delay_meas_dict) - # The delay is from the negative edge for our SRAM return (True,result) @@ -134,9 +186,9 @@ class bitline_delay(delay): for port in self.targ_read_ports: self.check_bitline_port_results(results[port]) - def check_bitline_port_results(self, port_results) + def check_bitline_port_results(self, port_results): """Performs three different checks for the bitline values: functionality, bitline swing from vdd, and differential bit swing""" - bl_volt, br_volt = port_results["bl_volt"], port_results["br_volt"] + bl_volt, br_volt = port_results["volt_bl"], port_results["volt_br"] self.check_functionality(bl_volt,br_volt) self.check_swing_from_vdd(bl_volt,br_volt) self.check_differential_swing(bl_volt,br_volt) @@ -156,7 +208,7 @@ class bitline_delay(delay): debug.info(1, "Active bitline={:.3f}v, Desired bitline={:.3f}v".format(discharge_volt,desired_bl_volt)) vdd_error_margin = .2 #20% of vdd margin for bitline, a little high for now. if abs(discharge_volt - desired_bl_volt) > vdd_error_margin*self.vdd_voltage: - debug.warning("Bitline voltage is not within {}% Vdd margin. Delay chain/RBL could need resizing.".format(vdd_error_margin)) + debug.warning("Bitline voltage is not within {}% Vdd margin. Delay chain/RBL could need resizing.".format(vdd_error_margin*100)) def check_differential_swing(self, bl_volt, br_volt): """This check looks at the difference between the bitline voltages. This needs to be large enough to prevent @@ -166,7 +218,7 @@ class bitline_delay(delay): vdd_error_margin = .2 #20% of vdd margin for bitline, a little high for now. if bitline_swing < vdd_error_margin*self.vdd_voltage: debug.warning("Bitline swing less than {}% Vdd margin. Sensing errors more likely to occur.".format(vdd_error_margin)) - + def analyze(self, probe_address, probe_data, slews, loads): """Measures the bitline swing of the differential bitlines (bl/br) at 50% s_en """ self.set_probe(probe_address, probe_data) @@ -180,7 +232,7 @@ class bitline_delay(delay): debug.info(1,"Bitline swing test: corner {}".format(self.corner)) (success, results)=self.run_delay_simulation() debug.check(success, "Bitline Failed: period {}".format(self.period)) - debug.info(1,"Bitline values (bl/br): {}".format(results[read_port])) + debug.info(1,"Bitline values (voltages/delays):\n\t {}".format(results[read_port])) self.check_bitline_all_results(results) return results diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index edbd6a55..33f0ecc2 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -48,10 +48,10 @@ class timing_sram_test(openram_test): loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] data, port_data = d.analyze(probe_address, probe_data, slews, loads) - #bitline_swing = bl.analyze(probe_address, probe_data, slews, loads) + bitline_data = bl.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data data.update(port_data[0]) - + data.update(bitline_data[0]) if OPTS.tech_name == "freepdk45": golden_data = {'delay_hl': [0.2011], 'delay_lh': [0.2011], @@ -62,7 +62,10 @@ class timing_sram_test(openram_test): 'slew_hl': [0.10853], 'slew_lh': [0.10853], 'write0_power': [0.51742], - 'write1_power': [0.51095]} + 'write1_power': [0.51095], + 'volt_bl': 0.045626, + 'volt_br': 1.0709, + 'delay_bl_vth': 0.1813} elif OPTS.tech_name == "scn4m_subm": golden_data = {'delay_hl': [1.3911], 'delay_lh': [1.3911], @@ -73,7 +76,10 @@ class timing_sram_test(openram_test): 'slew_hl': [0.7397553], 'slew_lh': [0.7397553], 'write0_power': [19.4103], - 'write1_power': [20.1167]} + 'write1_power': [20.1167], + 'volt_bl': 1.8329, + 'volt_br': 5.081, + 'delay_bl_vth': 1.1141} else: self.assertTrue(False) # other techs fail # Check if no too many or too few results From dc20bf9e114780390aef6b65b34f02f374ed0a66 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 13 Dec 2018 22:31:08 -0800 Subject: [PATCH 03/77] Added bitline measurements to ngspice delay test. --- compiler/tests/21_hspice_delay_test.py | 1 + compiler/tests/21_ngspice_delay_test.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index 33f0ecc2..c847210b 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -52,6 +52,7 @@ class timing_sram_test(openram_test): #Combine info about port into all data data.update(port_data[0]) data.update(bitline_data[0]) + if OPTS.tech_name == "freepdk45": golden_data = {'delay_hl': [0.2011], 'delay_lh': [0.2011], diff --git a/compiler/tests/21_ngspice_delay_test.py b/compiler/tests/21_ngspice_delay_test.py index 20ba14cc..16c3fb3a 100755 --- a/compiler/tests/21_ngspice_delay_test.py +++ b/compiler/tests/21_ngspice_delay_test.py @@ -23,7 +23,7 @@ class timing_sram_test(openram_test): from importlib import reload import characterizer reload(characterizer) - from characterizer import delay + from characterizer import delay, bitline_delay from sram import sram from sram_config import sram_config c = sram_config(word_size=1, @@ -43,12 +43,15 @@ class timing_sram_test(openram_test): corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) d = delay(s.s, tempspice, corner) + bl = bitline_delay(s.s, tempspice, corner) import tech loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] data, port_data = d.analyze(probe_address, probe_data, slews, loads) + bitline_data = bl.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data data.update(port_data[0]) + data.update(bitline_data[0]) if OPTS.tech_name == "freepdk45": golden_data = {'delay_hl': [0.20443139999999999], @@ -60,7 +63,10 @@ class timing_sram_test(openram_test): 'slew_hl': [0.1138734], 'slew_lh': [0.1138734], 'write0_power': [0.5205761], - 'write1_power': [0.5213689]} + 'write1_power': [0.5213689], + 'volt_bl': 0.03667602, + 'volt_br': 1.056013, + 'delay_bl_vth': 0.184373} elif OPTS.tech_name == "scn4m_subm": golden_data = {'delay_hl': [1.610911], 'delay_lh': [1.610911], @@ -71,7 +77,10 @@ class timing_sram_test(openram_test): 'slew_hl': [0.7986348999999999], 'slew_lh': [0.7986348999999999], 'write0_power': [17.58272], - 'write1_power': [18.523419999999998]} + 'write1_power': [18.523419999999998], + 'volt_bl': 1.639692, + 'volt_br': 5.06107, + 'delay_bl_vth': 1.322235} else: self.assertTrue(False) # other techs fail From 51b1bd46dadd007ce07127bfcbc306fdf9b5d122 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Fri, 14 Dec 2018 18:02:19 -0800 Subject: [PATCH 04/77] Added option to use delay chain size defined in tech.py --- compiler/modules/control_logic.py | 47 ++++++++++++++++++++---------- compiler/options.py | 3 ++ technology/freepdk45/tech/tech.py | 3 ++ technology/scn4m_subm/tech/tech.py | 2 ++ 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 3f5ac905..8545480c 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -109,24 +109,41 @@ class control_logic(design.design): from importlib import reload c = reload(__import__(OPTS.replica_bitline)) replica_bitline = getattr(c, OPTS.replica_bitline) - - delay_stages_heuristic, delay_fanout_heuristic = self.get_heuristic_delay_chain_size() bitcell_loads = int(math.ceil(self.num_rows * parameter["rbl_height_percentage"])) - self.replica_bitline = replica_bitline([delay_fanout_heuristic]*delay_stages_heuristic, bitcell_loads, name="replica_bitline_"+self.port_type) - - if self.sram != None: - self.set_sen_wl_delays() - - if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #check condition based on resizing method - #This resizes to match fall and rise delays, can make the delay chain weird sizes. - # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) - # self.replica_bitline = replica_bitline(stage_list, bitcell_loads, name="replica_bitline_resized_"+self.port_type) + if OPTS.use_tech_delay_chain_size: #Use tech parameters if set. + delay_stages = parameter["static_delay_stages"] + delay_fanout = parameter["static_fanout_per_stage"] + debug.info(1, "Using tech parameters to size delay chain: stages={}, fanout={}".format(delay_stages,delay_fanout)) + self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, + bitcell_loads, + name="replica_bitline_"+self.port_type) - #This resizes based on total delay. - delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) - self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, bitcell_loads, name="replica_bitline_resized_"+self.port_type) + else: #Otherwise, use a heuristic and/or model based sizing. + #First use a heuristic + delay_stages_heuristic, delay_fanout_heuristic = self.get_heuristic_delay_chain_size() + self.replica_bitline = replica_bitline([delay_fanout_heuristic]*delay_stages_heuristic, + bitcell_loads, + name="replica_bitline_"+self.port_type) - self.sen_delay_rise,self.sen_delay_fall = self.get_delays_to_sen() #get the new timing + #Use a model to determine the delays with that heuristic + if self.sram != None: + self.set_sen_wl_delays() + + #Resize if necessary + if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #check condition based on resizing method + #This resizes to match fall and rise delays, can make the delay chain weird sizes. + # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) + # self.replica_bitline = replica_bitline(stage_list, + # bitcell_loads, + # name="replica_bitline_resized_"+self.port_type) + + #This resizes based on total delay. + delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) + self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, + bitcell_loads, + name="replica_bitline_resized_"+self.port_type) + + self.sen_delay_rise,self.sen_delay_fall = self.get_delays_to_sen() #get the new timing self.add_mod(self.replica_bitline) diff --git a/compiler/options.py b/compiler/options.py index bd4bf607..5293e053 100644 --- a/compiler/options.py +++ b/compiler/options.py @@ -71,6 +71,9 @@ class options(optparse.Values): # You can manually specify banks, but it is better to auto-detect it. num_banks = 1 + #Uses the delay chain size in the tech.py file rather automatic sizing. + use_tech_delay_chain_size = False + # These are the default modules that can be over-riden decoder = "hierarchical_decoder" dff_array = "dff_array" diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index 83d9b280..6b8f981c 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -329,12 +329,15 @@ spice["nand3_transition_prob"] = .1094 # Transition probability of 3-input na spice["nor2_transition_prob"] = .1875 # Transition probability of 2-input nor. #Parameters related to sense amp enable timing and delay chain/RBL sizing +parameter["static_delay_stages"] = 4 +parameter["static_fanout_per_stage"] = 3 parameter["dff_clk_cin"] = 30.6 #relative capacitance parameter["6tcell_wl_cin"] = 3 #relative capacitance parameter["min_inv_para_delay"] = .5 #Tau delay units parameter["sa_en_pmos_size"] = .72 #micro-meters parameter["sa_en_nmos_size"] = .27 #micro-meters parameter["rbl_height_percentage"] = .5 #Height of RBL compared to bitcell array + ################################################### ##END Spice Simulation Parameters ################################################### diff --git a/technology/scn4m_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py index 0b4789ae..fe2d686a 100755 --- a/technology/scn4m_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -295,6 +295,8 @@ spice["nand3_transition_prob"] = .1094 # Transition probability of 3-input na spice["nor2_transition_prob"] = .1875 # Transition probability of 2-input nor. #Logical Effort relative values for the Handmade cells +parameter["static_delay_stages"] = 4 +parameter["static_fanout_per_stage"] = 3 parameter["dff_clk_cin"] = 27.5 parameter["6tcell_wl_cin"] = 2 parameter["min_inv_para_delay"] = .5 From 8eb4812e166571db8892ac64652fc5bc7a3fa985 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Mon, 17 Dec 2018 23:32:02 -0800 Subject: [PATCH 05/77] Made parasitic delay parameter in Freepdk45 more accurate, added stage names to delay model. --- compiler/characterizer/logical_effort.py | 14 ++++++++++---- compiler/pgates/pinv.py | 2 +- compiler/pgates/pnand2.py | 2 +- compiler/pgates/pnand3.py | 3 ++- technology/freepdk45/tech/tech.py | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/compiler/characterizer/logical_effort.py b/compiler/characterizer/logical_effort.py index bf8c1585..bbb0bd77 100644 --- a/compiler/characterizer/logical_effort.py +++ b/compiler/characterizer/logical_effort.py @@ -10,7 +10,8 @@ class logical_effort(): min_inv_cin = 1+beta pinv=parameter["min_inv_para_delay"] - def __init__(self, size, cin, cout, parasitic, out_is_rise=True): + def __init__(self, name, size, cin, cout, parasitic, out_is_rise=True): + self.name = name self.cin = cin self.cout = cout self.logical_effort = (self.cin/size)/logical_effort.min_inv_cin @@ -19,8 +20,13 @@ class logical_effort(): self.is_rise = out_is_rise def __str__(self): - return "g=" + str(self.logical_effort) + ", h=" + str(self.eletrical_effort) + ", p=" + str(self.parasitic_scale)+"*pinv, rise_delay="+str(self.is_rise) - + return "Name={}, g={}, h={}, p={}*pinv, rise_delay={}".format(self.name, + self.logical_effort, + self.eletrical_effort, + self.parasitic_scale, + self.is_rise + ) + def get_stage_effort(self): return self.logical_effort*self.eletrical_effort @@ -40,7 +46,7 @@ def calculate_relative_rise_fall_delays(stage_effort_list, pinv=parameter["min_i debug.info(2, "Calculating rise/fall relative delays") total_rise_delay, total_fall_delay = 0,0 for stage in stage_effort_list: - debug.info(3, stage) + debug.info(2, stage) if stage.is_rise: total_rise_delay += stage.get_stage_delay(pinv) else: diff --git a/compiler/pgates/pinv.py b/compiler/pgates/pinv.py index 31682360..b1e1f033 100644 --- a/compiler/pgates/pinv.py +++ b/compiler/pgates/pinv.py @@ -293,4 +293,4 @@ class pinv(pgate.pgate): Optional is_rise refers to the input direction rise/fall. Input inverted by this stage. """ parasitic_delay = 1 - return logical_effort.logical_effort(self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) + return logical_effort.logical_effort(self.name, self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) diff --git a/compiler/pgates/pnand2.py b/compiler/pgates/pnand2.py index e767b87e..c9709864 100644 --- a/compiler/pgates/pnand2.py +++ b/compiler/pgates/pnand2.py @@ -260,4 +260,4 @@ class pnand2(pgate.pgate): Optional is_rise refers to the input direction rise/fall. Input inverted by this stage. """ parasitic_delay = 2 - return logical_effort.logical_effort(self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) \ No newline at end of file + return logical_effort.logical_effort(self.name, self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) \ No newline at end of file diff --git a/compiler/pgates/pnand3.py b/compiler/pgates/pnand3.py index 4dab5264..d159a27e 100644 --- a/compiler/pgates/pnand3.py +++ b/compiler/pgates/pnand3.py @@ -5,6 +5,7 @@ from tech import drc, parameter, spice from ptx import ptx from vector import vector from globals import OPTS +import logical_effort class pnand3(pgate.pgate): """ @@ -272,4 +273,4 @@ class pnand3(pgate.pgate): Optional is_rise refers to the input direction rise/fall. Input inverted by this stage. """ parasitic_delay = 3 - return logical_effort.logical_effort(self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) \ No newline at end of file + return logical_effort.logical_effort(self.name, self.size, self.get_cin(), cout, parasitic_delay, not inp_is_rise) \ No newline at end of file diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index 6b8f981c..ff9b5169 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -333,7 +333,7 @@ parameter["static_delay_stages"] = 4 parameter["static_fanout_per_stage"] = 3 parameter["dff_clk_cin"] = 30.6 #relative capacitance parameter["6tcell_wl_cin"] = 3 #relative capacitance -parameter["min_inv_para_delay"] = .5 #Tau delay units +parameter["min_inv_para_delay"] = 2.4 #Tau delay units parameter["sa_en_pmos_size"] = .72 #micro-meters parameter["sa_en_nmos_size"] = .27 #micro-meters parameter["rbl_height_percentage"] = .5 #Height of RBL compared to bitcell array From b10ef3fb7e5038a67c5ad9f187fe1099ec4ba11e Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 19 Dec 2018 18:33:06 -0800 Subject: [PATCH 06/77] Replaced delay measure statement with object implementation. --- compiler/characterizer/__init__.py | 1 + compiler/characterizer/delay.py | 31 ++++++++- compiler/characterizer/measurements.py | 92 ++++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 3 deletions(-) create mode 100644 compiler/characterizer/measurements.py diff --git a/compiler/characterizer/__init__.py b/compiler/characterizer/__init__.py index 4a2f161e..009459b3 100644 --- a/compiler/characterizer/__init__.py +++ b/compiler/characterizer/__init__.py @@ -9,6 +9,7 @@ from .functional import * from .worst_case import * from .simulation import * from .bitline_delay import * +from .measurements import * debug.info(1,"Initializing characterizer...") OPTS.spice_exe = "" diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 9e0543d1..d04ccf50 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -8,6 +8,7 @@ from .charutils import * import utils from globals import OPTS from .simulation import simulation +from .measurements import * class delay(simulation): """Functions to measure the delay and power of an SRAM at a given address and @@ -45,6 +46,16 @@ class delay(simulation): #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. self.delay_meas_names = ["delay_lh", "delay_hl", "slew_lh", "slew_hl"] self.power_meas_names = ["read0_power", "read1_power", "write0_power", "write1_power"] + + def create_measurement_objects(self): + self.meas_objs = [] + trig_delay_name = "clk{0}" + targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit + self.meas_objs.append(delay_measure("delay_lh{}", trig_delay_name, targ_name, "RISE", "RISE")) + self.meas_objs.append(delay_measure("delay_hl{}", trig_delay_name, targ_name, "FALL", "FALL")) + + self.meas_objs.append(slew_measure("slew_lh{}", targ_name, "RISE")) + self.meas_objs.append(slew_measure("slew_hl{}", targ_name, "FALL")) def create_signal_names(self): self.addr_name = "A" @@ -235,15 +246,28 @@ class delay(simulation): else: debug.error(1, "Measure command {0} not recognized".format(delay_name)) return (meas_name,trig_name,targ_name,trig_val,targ_val,trig_dir,targ_dir,trig_td,targ_td) + + def get_measure_variants(self, port, measure_obj): + """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" + #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port + #vdd is arguably constant as that is true for a single lib file. + if measure_obj.targ_dir_str == "FALL": + meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] + elif measure_obj.targ_dir_str == "RISE": + meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read1"]] + else: + debug.error("Unrecognised measurement direction={}".format(measure_obj.targ_dir_str),1) + + return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) def write_delay_measures_read_port(self, port): """ Write the measure statements to quantify the delay and power results for a read port. """ # add measure statements for delays/slews - for dname in self.delay_meas_names: - meas_values = self.get_delay_meas_values(dname, port) - self.stim.gen_meas_delay(*meas_values) + for measure in self.meas_objs: + measure_variant_tuple = self.get_measure_variants(port, measure) + measure.write_measure(self.stim, measure_variant_tuple) # add measure statements for power for pname in self.power_meas_names: @@ -645,6 +669,7 @@ class delay(simulation): char_sram_data = {} self.set_probe(probe_address, probe_data) + self.create_measurement_objects() self.load=max(loads) self.slew=max(slews) diff --git a/compiler/characterizer/measurements.py b/compiler/characterizer/measurements.py new file mode 100644 index 00000000..2822183c --- /dev/null +++ b/compiler/characterizer/measurements.py @@ -0,0 +1,92 @@ +import debug +from tech import drc, parameter, spice +from abc import ABC, abstractmethod +from .stimuli import * + +class spice_measurement(ABC): + """Base class for spice stimulus measurements.""" + def __init__(self, measure_name): + #Names must be unique for correct spice simulation, but not enforced here. + self.name = measure_name + + @abstractmethod + def get_measure_function(self): + return None + + @abstractmethod + def get_measure_values(self): + return None + + def write_measure(self, stim_obj, input_tuple): + measure_func = self.get_measure_function() + if measure_func == None: + debug.error("Did not set measure function",1) + measure_vals = self.get_measure_values(*input_tuple) + measure_func(stim_obj, *measure_vals) + + +class delay_measure(spice_measurement): + """Generates a spice measurement for the delay of 50%-to-50% points of two signals.""" + + def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, targ_dir_str): + spice_measurement.__init__(self, measure_name) + self.set_meas_constants(trig_name, targ_name, trig_dir_str, targ_dir_str) + + def get_measure_function(self): + return stimuli.gen_meas_delay + + def set_meas_constants(self, trig_name, targ_name, trig_dir_str, targ_dir_str): + """Set the values needed to generate a Spice measurement statement based on the name of the measurement.""" + self.trig_dir_str = trig_dir_str + self.targ_dir_str = targ_dir_str + + self.trig_val_of_vdd = 0.5 + self.targ_val_of_vdd = 0.5 + + self.trig_name_no_port = trig_name + self.targ_name_no_port = targ_name + + #Time delays and ports are variant and needed as inputs when writing the measurement + + def get_measure_values(self, trig_td, targ_td, vdd_voltage, port=None): + """Constructs inputs to stimulus measurement function. Variant values are inputs here.""" + trig_val = self.trig_val_of_vdd * vdd_voltage + targ_val = self.targ_val_of_vdd * vdd_voltage + + if port != None: + meas_name = self.name.format(port) + trig_name = self.trig_name_no_port.format(port) + targ_name = self.targ_name_no_port.format(port) + else: + meas_name = self.name + trig_name = self.trig_name_no_port + targ_name = self.targ_name_no_port + + return (meas_name,trig_name,targ_name,trig_val,targ_val,self.trig_dir_str,self.targ_dir_str,trig_td,targ_td) + + +class slew_measure(delay_measure): + + def __init__(self, measure_name, signal_name, slew_dir_str): + spice_measurement.__init__(self, measure_name) + self.set_meas_constants(signal_name, slew_dir_str) + + def set_meas_constants(self, signal_name, slew_dir_str): + """Set the values needed to generate a Spice measurement statement based on the name of the measurement.""" + self.trig_dir_str = slew_dir_str + self.targ_dir_str = slew_dir_str + + if slew_dir_str == "RISE": + self.trig_val_of_vdd = 0.1 + self.targ_val_of_vdd = 0.9 + elif slew_dir_str == "FALL": + self.trig_val_of_vdd = 0.9 + self.targ_val_of_vdd = 0.1 + else: + debug.error("Unrecognised slew measurement direction={}".format(slew_dir_str),1) + + self.trig_name_no_port = signal_name + self.targ_name_no_port = signal_name + + #Time delays and ports are variant and needed as inputs when writing the measurement + \ No newline at end of file From 66b2fcdc91401e553ac494853f0b50b3dfe0f36a Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 20 Dec 2018 15:54:56 -0800 Subject: [PATCH 07/77] Added data parsing to measurement objects and adding power measurements. --- compiler/characterizer/charutils.py | 7 + compiler/characterizer/delay.py | 190 +++++++++++-------------- compiler/characterizer/measurements.py | 52 +++++-- 3 files changed, 135 insertions(+), 114 deletions(-) diff --git a/compiler/characterizer/charutils.py b/compiler/characterizer/charutils.py index a2140e51..061972cf 100644 --- a/compiler/characterizer/charutils.py +++ b/compiler/characterizer/charutils.py @@ -80,3 +80,10 @@ def convert_to_float(number): debug.error("Invalid number: {0}".format(number),1) return float_value + +def check_dict_values_is_float(dict): + """Checks if all the values are floats. Useful for checking failed Spice measurements.""" + for key, value in dict.items(): + if type(value)!=float: + return False + return True \ No newline at end of file diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index d04ccf50..7f25348b 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -48,15 +48,31 @@ class delay(simulation): self.power_meas_names = ["read0_power", "read1_power", "write0_power", "write1_power"] def create_measurement_objects(self): - self.meas_objs = [] + """Create the measurements used for read and write ports""" + self.create_read_port_measurement_objects() + self.create_write_port_measurement_objects() + + def create_read_port_measurement_objects(self): + """Create the measurements used for read ports: delays, slews, powers""" + self.read_meas_objs = [] trig_delay_name = "clk{0}" targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit - self.meas_objs.append(delay_measure("delay_lh{}", trig_delay_name, targ_name, "RISE", "RISE")) - self.meas_objs.append(delay_measure("delay_hl{}", trig_delay_name, targ_name, "FALL", "FALL")) + self.read_meas_objs.append(delay_measure("delay_lh", trig_delay_name, targ_name, "RISE", "RISE", 1e9)) + self.read_meas_objs.append(delay_measure("delay_hl", trig_delay_name, targ_name, "FALL", "FALL", 1e9)) - self.meas_objs.append(slew_measure("slew_lh{}", targ_name, "RISE")) - self.meas_objs.append(slew_measure("slew_hl{}", targ_name, "FALL")) + self.read_meas_objs.append(slew_measure("slew_lh", targ_name, "RISE", 1e9)) + self.read_meas_objs.append(slew_measure("slew_hl", targ_name, "FALL", 1e9)) + self.read_meas_objs.append(power_measure("read1_power", "RISE", 1e3)) + self.read_meas_objs.append(power_measure("read0_power", "FALL", 1e3)) + + def create_write_port_measurement_objects(self): + """Create the measurements used for read ports: delays, slews, powers""" + self.write_meas_objs = [] + + self.write_meas_objs.append(power_measure("write1_power", "RISE", 1e3)) + self.write_meas_objs.append(power_measure("write0_power", "FALL", 1e3)) + def create_signal_names(self): self.addr_name = "A" self.din_name = "DIN" @@ -209,99 +225,68 @@ class delay(simulation): self.sf.close() - def get_delay_meas_values(self, delay_name, port): - """Get the values needed to generate a Spice measurement statement based on the name of the measurement.""" - debug.check('lh' in delay_name or 'hl' in delay_name, "Measure command {0} does not contain direction (lh/hl)") - trig_clk_name = "clk{0}".format(port) - meas_name="{0}{1}".format(delay_name, port) - targ_name = "{0}".format("{0}{1}_{2}".format(self.dout_name,port,self.probe_data)) - half_vdd = 0.5 * self.vdd_voltage - trig_slew_low = 0.1 * self.vdd_voltage - targ_slew_high = 0.9 * self.vdd_voltage - if 'delay' in delay_name: - trig_val = half_vdd - targ_val = half_vdd - trig_name = trig_clk_name - if 'lh' in delay_name: - trig_dir="RISE" - targ_dir="RISE" - trig_td = targ_td = self.cycle_times[self.measure_cycles[port]["read1"]] - else: - trig_dir="FALL" - targ_dir="FALL" - trig_td = targ_td = self.cycle_times[self.measure_cycles[port]["read0"]] - - elif 'slew' in delay_name: - trig_name = targ_name - if 'lh' in delay_name: - trig_val = trig_slew_low - targ_val = targ_slew_high - targ_dir = trig_dir = "RISE" - trig_td = targ_td = self.cycle_times[self.measure_cycles[port]["read1"]] - else: - trig_val = targ_slew_high - targ_val = trig_slew_low - targ_dir = trig_dir = "FALL" - trig_td = targ_td = self.cycle_times[self.measure_cycles[port]["read0"]] + def get_read_measure_variants(self, port, measure_obj): + """Checks the measurement object and calls respective function for related measurement inputs.""" + meas_type = type(measure_obj) + if meas_type is delay_measure or meas_type is slew_measure: + return self.get_delay_measure_variants(port, measure_obj) + elif meas_type is power_measure: + return self.get_power_measure_variants(port, measure_obj, "read") else: - debug.error(1, "Measure command {0} not recognized".format(delay_name)) - return (meas_name,trig_name,targ_name,trig_val,targ_val,trig_dir,targ_dir,trig_td,targ_td) - - def get_measure_variants(self, port, measure_obj): + debug.error("Input function not defined for measurement type={}".format(meas_type)) + + def get_delay_measure_variants(self, port, delay_obj): """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port #vdd is arguably constant as that is true for a single lib file. - if measure_obj.targ_dir_str == "FALL": + if delay_obj.targ_dir_str == "FALL": meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] - elif measure_obj.targ_dir_str == "RISE": + elif delay_obj.targ_dir_str == "RISE": meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read1"]] else: - debug.error("Unrecognised measurement direction={}".format(measure_obj.targ_dir_str),1) + debug.error("Unrecognised measurement direction={}".format(delay_obj.targ_dir_str),1) return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) - + + def get_power_measure_variants(self, port, power_obj, operation): + """Get the measurement values that can either vary port to port (time delays)""" + #Return value is intended to match the power measure format: t_initial, t_final, port + if power_obj.power_type == "FALL": + t_initial = self.cycle_times[self.measure_cycles[port]["{}0".format(operation)]] + t_final = self.cycle_times[self.measure_cycles[port]["{}0".format(operation)]+1] + elif power_obj.power_type == "RISE": + t_initial = self.cycle_times[self.measure_cycles[port]["{}1".format(operation)]] + t_final = self.cycle_times[self.measure_cycles[port]["{}1".format(operation)]+1] + else: + debug.error("Unrecognised power measurement type={}".format(power_obj.power_type),1) + + return (t_initial, t_final, port) + def write_delay_measures_read_port(self, port): """ Write the measure statements to quantify the delay and power results for a read port. """ # add measure statements for delays/slews - for measure in self.meas_objs: - measure_variant_tuple = self.get_measure_variants(port, measure) - measure.write_measure(self.stim, measure_variant_tuple) + for measure in self.read_meas_objs: + measure_variant_inp_tuple = self.get_read_measure_variants(port, measure) + measure.write_measure(self.stim, measure_variant_inp_tuple) + + def get_write_measure_variants(self, port, measure_obj): + """Checks the measurement object and calls respective function for related measurement inputs.""" + meas_type = type(measure_obj) + if meas_type is power_measure: + return self.get_power_measure_variants(port, measure_obj, "write") + else: + debug.error("Input function not defined for measurement type={}".format(meas_type)) - # add measure statements for power - for pname in self.power_meas_names: - if "read" not in pname: - continue - #Different naming schemes are used for the measure cycle dict and measurement names. - #TODO: make them the same so they can be indexed the same. - if '1' in pname: - t_initial = self.cycle_times[self.measure_cycles[port]["read1"]] - t_final = self.cycle_times[self.measure_cycles[port]["read1"]+1] - elif '0' in pname: - t_initial = self.cycle_times[self.measure_cycles[port]["read0"]] - t_final = self.cycle_times[self.measure_cycles[port]["read0"]+1] - self.stim.gen_meas_power(meas_name="{0}{1}".format(pname, port), - t_initial=t_initial, - t_final=t_final) - def write_delay_measures_write_port(self, port): """ Write the measure statements to quantify the power results for a write port. """ # add measure statements for power - for pname in self.power_meas_names: - if "write" not in pname: - continue - t_initial = self.cycle_times[self.measure_cycles[port]["write0"]] - t_final = self.cycle_times[self.measure_cycles[port]["write0"]+1] - if '1' in pname: - t_initial = self.cycle_times[self.measure_cycles[port]["write1"]] - t_final = self.cycle_times[self.measure_cycles[port]["write1"]+1] - - self.stim.gen_meas_power(meas_name="{0}{1}".format(pname, port), - t_initial=t_initial, - t_final=t_final) + for measure in self.write_meas_objs: + measure_variant_inp_tuple = self.get_read_measure_variants(port, measure) + measure.write_measure(self.stim, measure_variant_inp_tuple) def write_delay_measures(self): """ @@ -451,28 +436,27 @@ class delay(simulation): #Too much duplicate code here. Try reducing for port in self.targ_read_ports: debug.info(2, "Check delay values for port {}".format(port)) - delay_names = [mname for mname in self.delay_meas_names] - delays = self.parse_values(delay_names, port, 1e9) # scale delays to ns - if not self.check_valid_delays(delays): - return (False,{}) - result[port].update(delays) + read_port_dict = {} + #Get measurements from output file + for measure in self.read_meas_objs: + read_port_dict[measure.name] = measure.retrieve_measure(port=port) - power_names = [mname for mname in self.power_meas_names if 'read' in mname] - powers = self.parse_values(power_names, port, 1e3) # scale power to mw - #Check that power parsing worked. - for name, power in powers.items(): - if type(power)!=float: - debug.error("Failed to Parse Power Values:\n\t\t{0}".format(powers),1) #Printing the entire dict looks bad. - result[port].update(powers) - + #Check timing for read ports. Power is only checked if it was read correctly + if not self.check_valid_delays(read_port_dict): + return (False,{}) + if not check_dict_values_is_float(read_port_dict): + debug.error("Failed to Measure Read Port Values:\n\t\t{0}".format(read_port_dict),1) #Printing the entire dict looks bad. + + result[port].update(read_port_dict) + for port in self.targ_write_ports: - power_names = [mname for mname in self.power_meas_names if 'write' in mname] - powers = self.parse_values(power_names, port, 1e3) # scale power to mw - #Check that power parsing worked. - for name, power in powers.items(): - if type(power)!=float: - debug.error("Failed to Parse Power Values:\n\t\t{0}".format(powers),1) #Printing the entire dict looks bad. - result[port].update(powers) + write_port_dict = {} + for measure in self.read_meas_objs: + write_port_dict[measure.name] = measure.retrieve_measure(port=port) + + if not check_dict_values_is_float(write_port_dict): + debug.error("Failed to Measure Write Port Values:\n\t\t{0}".format(write_port_dict),1) #Printing the entire dict looks bad. + result[port].update(write_port_dict) # The delay is from the negative edge for our SRAM return (True,result) @@ -502,13 +486,13 @@ class delay(simulation): #key=raw_input("press return to continue") return (leakage_power*1e3, trim_leakage_power*1e3) - def check_valid_delays(self, delay_dict): + def check_valid_delays(self, result_dict): """ Check if the measurements are defined and if they are valid. """ #Hard coded names currently - delay_hl = delay_dict["delay_hl"] - delay_lh = delay_dict["delay_lh"] - slew_hl = delay_dict["slew_hl"] - slew_lh = delay_dict["slew_lh"] + delay_hl = result_dict["delay_hl"] + delay_lh = result_dict["delay_lh"] + slew_hl = result_dict["slew_hl"] + slew_lh = result_dict["slew_lh"] period_load_slew_str = "period {0} load {1} slew {2}".format(self.period,self.load, self.slew) # if it failed or the read was longer than a period diff --git a/compiler/characterizer/measurements.py b/compiler/characterizer/measurements.py index 2822183c..f065ac70 100644 --- a/compiler/characterizer/measurements.py +++ b/compiler/characterizer/measurements.py @@ -2,13 +2,15 @@ import debug from tech import drc, parameter, spice from abc import ABC, abstractmethod from .stimuli import * +from .charutils import * class spice_measurement(ABC): """Base class for spice stimulus measurements.""" - def __init__(self, measure_name): + def __init__(self, measure_name, measure_scale=None): #Names must be unique for correct spice simulation, but not enforced here. self.name = measure_name - + self.measure_scale = measure_scale + @abstractmethod def get_measure_function(self): return None @@ -23,13 +25,19 @@ class spice_measurement(ABC): debug.error("Did not set measure function",1) measure_vals = self.get_measure_values(*input_tuple) measure_func(stim_obj, *measure_vals) - + + def retrieve_measure(self, port=""): + value = parse_spice_list("timing", "{0}{1}".format(self.name.lower(), port)) + if type(value)!=float or self.measure_scale == None: + return value + else: + return value*self.measure_scale class delay_measure(spice_measurement): """Generates a spice measurement for the delay of 50%-to-50% points of two signals.""" - def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, targ_dir_str): - spice_measurement.__init__(self, measure_name) + def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, targ_dir_str, measure_scale=None): + spice_measurement.__init__(self, measure_name, measure_scale) self.set_meas_constants(trig_name, targ_name, trig_dir_str, targ_dir_str) def get_measure_function(self): @@ -54,7 +62,8 @@ class delay_measure(spice_measurement): targ_val = self.targ_val_of_vdd * vdd_voltage if port != None: - meas_name = self.name.format(port) + #For dictionary indexing reasons, the name is formatted differently than the signals + meas_name = "{}{}".format(self.name, port) trig_name = self.trig_name_no_port.format(port) targ_name = self.targ_name_no_port.format(port) else: @@ -63,12 +72,11 @@ class delay_measure(spice_measurement): targ_name = self.targ_name_no_port return (meas_name,trig_name,targ_name,trig_val,targ_val,self.trig_dir_str,self.targ_dir_str,trig_td,targ_td) - - + class slew_measure(delay_measure): - def __init__(self, measure_name, signal_name, slew_dir_str): - spice_measurement.__init__(self, measure_name) + def __init__(self, measure_name, signal_name, slew_dir_str, measure_scale=None): + spice_measurement.__init__(self, measure_name, measure_scale) self.set_meas_constants(signal_name, slew_dir_str) def set_meas_constants(self, signal_name, slew_dir_str): @@ -89,4 +97,26 @@ class slew_measure(delay_measure): self.targ_name_no_port = signal_name #Time delays and ports are variant and needed as inputs when writing the measurement - \ No newline at end of file + +class power_measure(spice_measurement): + """Generates a spice measurement for the delay of 50%-to-50% points of two signals.""" + + def __init__(self, measure_name, power_type="", measure_scale=None): + spice_measurement.__init__(self, measure_name, measure_scale) + self.set_meas_constants(power_type) + + def get_measure_function(self): + return stimuli.gen_meas_power + + def set_meas_constants(self, power_type): + """Sets values useful for power simulations. This value is only meta related to the lib file (rise/fall)""" + #Not needed for power simulation + self.power_type = power_type #Expected to be "RISE"/"FALL" + + def get_measure_values(self, t_initial, t_final, port=None): + """Constructs inputs to stimulus measurement function. Variant values are inputs here.""" + if port != None: + meas_name = "{}{}".format(self.name, port) + else: + meas_name = self.name + return (meas_name,t_initial,t_final) \ No newline at end of file From 272267358f16eac7ffc689718814251a32f6306f Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 3 Jan 2019 05:51:28 -0800 Subject: [PATCH 08/77] Moved all bitline delay measurements to delay class. Added measurements to check delay model. --- compiler/characterizer/__init__.py | 1 + compiler/characterizer/bitline_delay.py | 19 +++ compiler/characterizer/delay.py | 156 +++++++++++++------- compiler/characterizer/logical_effort.py | 4 + compiler/characterizer/measurements.py | 52 +++++-- compiler/characterizer/model_check.py | 174 +++++++++++++++++++++++ compiler/modules/control_logic.py | 22 ++- compiler/tests/21_hspice_delay_test.py | 29 ++-- compiler/tests/21_ngspice_delay_test.py | 39 +++-- compiler/tests/28_delay_model_test.py | 61 ++++++++ 10 files changed, 456 insertions(+), 101 deletions(-) create mode 100644 compiler/characterizer/model_check.py create mode 100755 compiler/tests/28_delay_model_test.py diff --git a/compiler/characterizer/__init__.py b/compiler/characterizer/__init__.py index 009459b3..cbcf0a1a 100644 --- a/compiler/characterizer/__init__.py +++ b/compiler/characterizer/__init__.py @@ -10,6 +10,7 @@ from .worst_case import * from .simulation import * from .bitline_delay import * from .measurements import * +from .model_check import * debug.info(1,"Initializing characterizer...") OPTS.spice_exe = "" diff --git a/compiler/characterizer/bitline_delay.py b/compiler/characterizer/bitline_delay.py index 6368675c..2af290f1 100644 --- a/compiler/characterizer/bitline_delay.py +++ b/compiler/characterizer/bitline_delay.py @@ -26,7 +26,26 @@ class bitline_delay(delay): delay.create_signal_names(self) self.bl_signal_names = ["Xsram.Xbank0.bl", "Xsram.Xbank0.br"] self.sen_name = "Xsram.s_en" + + def create_measurement_objects(self): + """Create the measurements used for read and write ports""" + self.meas_objs = [] + self.create_bitline_find_measurement_objects() + self.create_bitline_delay_measurement_objects() + + def create_bitline_delay_measurement_objects(self): + self.find_meas_objs = [] + trig_delay_name = "clk{0}" + targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit + self.read_meas_objs.append(delay_measure("delay_lh", trig_delay_name, targ_name, "RISE", "RISE", 1e9)) + self.read_meas_objs.append(delay_measure("delay_hl", trig_delay_name, targ_name, "FALL", "FALL", 1e9)) + self.read_meas_objs.append(slew_measure("slew_lh", targ_name, "RISE", 1e9)) + self.read_meas_objs.append(slew_measure("slew_hl", targ_name, "FALL", 1e9)) + + self.read_meas_objs.append(power_measure("read1_power", "RISE", 1e3)) + self.read_meas_objs.append(power_measure("read0_power", "FALL", 1e3)) + def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 7f25348b..a327c548 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -46,32 +46,77 @@ class delay(simulation): #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. self.delay_meas_names = ["delay_lh", "delay_hl", "slew_lh", "slew_hl"] self.power_meas_names = ["read0_power", "read1_power", "write0_power", "write1_power"] + self.voltage_when_names = ["volt_bl", "volt_br"] + self.bitline_delay_names = ["delay_bl", "delay_br"] def create_measurement_objects(self): """Create the measurements used for read and write ports""" self.create_read_port_measurement_objects() self.create_write_port_measurement_objects() - + def create_read_port_measurement_objects(self): """Create the measurements used for read ports: delays, slews, powers""" + self.read_meas_objs = [] trig_delay_name = "clk{0}" targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit - self.read_meas_objs.append(delay_measure("delay_lh", trig_delay_name, targ_name, "RISE", "RISE", 1e9)) - self.read_meas_objs.append(delay_measure("delay_hl", trig_delay_name, targ_name, "FALL", "FALL", 1e9)) + self.read_meas_objs.append(delay_measure("delay_lh", trig_delay_name, targ_name, "RISE", "RISE", measure_scale=1e9)) + self.read_meas_objs[-1].meta_str = "read1" #Used to index time delay values when measurements written to spice file. + self.read_meas_objs.append(delay_measure("delay_hl", trig_delay_name, targ_name, "FALL", "FALL", measure_scale=1e9)) + self.read_meas_objs[-1].meta_str = "read0" - self.read_meas_objs.append(slew_measure("slew_lh", targ_name, "RISE", 1e9)) - self.read_meas_objs.append(slew_measure("slew_hl", targ_name, "FALL", 1e9)) + self.read_meas_objs.append(slew_measure("slew_lh", targ_name, "RISE", measure_scale=1e9)) + self.read_meas_objs[-1].meta_str = "read1" + self.read_meas_objs.append(slew_measure("slew_hl", targ_name, "FALL", measure_scale=1e9)) + self.read_meas_objs[-1].meta_str = "read0" - self.read_meas_objs.append(power_measure("read1_power", "RISE", 1e3)) - self.read_meas_objs.append(power_measure("read0_power", "FALL", 1e3)) - + self.read_meas_objs.append(power_measure("read1_power", "RISE", measure_scale=1e3)) + self.read_meas_objs[-1].meta_str = "read1" + self.read_meas_objs.append(power_measure("read0_power", "FALL", measure_scale=1e3)) + self.read_meas_objs[-1].meta_str = "read0" + + trig_name = "Xsram.s_en{}" #Sense amp enable + if len(self.all_ports) == 1: #special naming case for single port sram bitlines which does not include the port in name + port_format = "" + else: + port_format = "{}" + + bl_name = "Xsram.Xbank0.bl{}_{}".format(port_format, self.bitline_column) + br_name = "Xsram.Xbank0.br{}_{}".format(port_format, self.bitline_column) + self.read_meas_objs.append(voltage_when_measure(self.voltage_when_names[0], trig_name, bl_name, "RISE", .5)) + self.read_meas_objs.append(voltage_when_measure(self.voltage_when_names[1], trig_name, br_name, "RISE", .5)) + + #These are read values but need to be separated for unique error checking. + self.create_bitline_delay_measurement_objects() + + def create_bitline_delay_measurement_objects(self): + """Create the measurements used for bitline delay values. Due to unique error checking, these are separated from other measurements. + These measurements are only associated with read values + """ + self.bitline_delay_objs = [] + trig_name = "clk{0}" + if len(self.all_ports) == 1: #special naming case for single port sram bitlines which does not include the port in name + port_format = "" + else: + port_format = "{}" + bl_name = "Xsram.Xbank0.bl{}_{}".format(port_format, self.bitline_column) + br_name = "Xsram.Xbank0.br{}_{}".format(port_format, self.bitline_column) + targ_val = (self.vdd_voltage - tech.spice["v_threshold_typical"])/self.vdd_voltage #Calculate as a percentage of vdd + + targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit + self.bitline_delay_objs.append(delay_measure(self.bitline_delay_names[0], trig_name, bl_name, "FALL", "FALL", targ_vdd=targ_val, measure_scale=1e9)) + self.bitline_delay_objs[-1].meta_str = "read0" + self.bitline_delay_objs.append(delay_measure(self.bitline_delay_names[1], trig_name, br_name, "FALL", "FALL", targ_vdd=targ_val, measure_scale=1e9)) + self.bitline_delay_objs[-1].meta_str = "read1" + def create_write_port_measurement_objects(self): """Create the measurements used for read ports: delays, slews, powers""" self.write_meas_objs = [] - self.write_meas_objs.append(power_measure("write1_power", "RISE", 1e3)) - self.write_meas_objs.append(power_measure("write0_power", "FALL", 1e3)) + self.write_meas_objs.append(power_measure("write1_power", "RISE", measure_scale=1e3)) + self.write_meas_objs[-1].meta_str = "read1" + self.write_meas_objs.append(power_measure("write0_power", "FALL", measure_scale=1e3)) + self.write_meas_objs[-1].meta_str = "write0" def create_signal_names(self): self.addr_name = "A" @@ -232,6 +277,8 @@ class delay(simulation): return self.get_delay_measure_variants(port, measure_obj) elif meas_type is power_measure: return self.get_power_measure_variants(port, measure_obj, "read") + elif meas_type is voltage_when_measure: + return self.get_volt_when_measure_variants(port, measure_obj) else: debug.error("Input function not defined for measurement type={}".format(meas_type)) @@ -239,35 +286,37 @@ class delay(simulation): """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port #vdd is arguably constant as that is true for a single lib file. - if delay_obj.targ_dir_str == "FALL": - meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] - elif delay_obj.targ_dir_str == "RISE": - meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read1"]] + if delay_obj.meta_str == "read0": + #Falling delay are measured starting from neg. clk edge. Delay adjusted to that. + meas_cycle_delay = self.cycle_times[self.measure_cycles[port][delay_obj.meta_str]] + self.period/2 + elif delay_obj.meta_str == "read1": + meas_cycle_delay = self.cycle_times[self.measure_cycles[port][delay_obj.meta_str]] else: - debug.error("Unrecognised measurement direction={}".format(delay_obj.targ_dir_str),1) + debug.error("Unrecognised delay Index={}".format(delay_obj.meta_str),1) return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) def get_power_measure_variants(self, port, power_obj, operation): """Get the measurement values that can either vary port to port (time delays)""" #Return value is intended to match the power measure format: t_initial, t_final, port - if power_obj.power_type == "FALL": - t_initial = self.cycle_times[self.measure_cycles[port]["{}0".format(operation)]] - t_final = self.cycle_times[self.measure_cycles[port]["{}0".format(operation)]+1] - elif power_obj.power_type == "RISE": - t_initial = self.cycle_times[self.measure_cycles[port]["{}1".format(operation)]] - t_final = self.cycle_times[self.measure_cycles[port]["{}1".format(operation)]+1] - else: - debug.error("Unrecognised power measurement type={}".format(power_obj.power_type),1) - + t_initial = self.cycle_times[self.measure_cycles[port][power_obj.meta_str]] + t_final = self.cycle_times[self.measure_cycles[port][power_obj.meta_str]+1] + return (t_initial, t_final, port) + def get_volt_when_measure_variants(self, port, power_obj): + """Get the measurement values that can either vary port to port (time delays)""" + #Only checking 0 value reads for now. + t_trig = meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] + + return (t_trig, self.vdd_voltage, port) + def write_delay_measures_read_port(self, port): """ Write the measure statements to quantify the delay and power results for a read port. """ # add measure statements for delays/slews - for measure in self.read_meas_objs: + for measure in self.read_meas_objs+self.bitline_delay_objs: measure_variant_inp_tuple = self.get_read_measure_variants(port, measure) measure.write_measure(self.stim, measure_variant_inp_tuple) @@ -285,7 +334,7 @@ class delay(simulation): """ # add measure statements for power for measure in self.write_meas_objs: - measure_variant_inp_tuple = self.get_read_measure_variants(port, measure) + measure_variant_inp_tuple = self.get_write_measure_variants(port, measure) measure.write_measure(self.stim, measure_variant_inp_tuple) def write_delay_measures(self): @@ -394,28 +443,7 @@ class delay(simulation): previous_period = self.period debug.info(1, "Found feasible_period: {0}ns".format(self.period)) return feasible_delays - - - def parse_values(self, values_names, port, mult = 1.0): - """Parse multiple values in the timing output file. Optional multiplier. - Return a dict of the input names and values. Port used for parsing file. - """ - values = [] - all_values_floats = True - for vname in values_names: - #ngspice converts all measure characters to lowercase, not tested on other sims - value = parse_spice_list("timing", "{0}{1}".format(vname.lower(), port)) - #Check if any of the values fail to parse - if type(value)!=float: - all_values_floats = False - values.append(value) - - #Apply Multiplier only if all values are floats. Let other check functions handle this error. - if all_values_floats: - return {values_names[i]:values[i]*mult for i in range(len(values))} - else: - return {values_names[i]:values[i] for i in range(len(values))} - + def run_delay_simulation(self): """ This tries to simulate a period and checks if the result works. If @@ -448,10 +476,13 @@ class delay(simulation): debug.error("Failed to Measure Read Port Values:\n\t\t{0}".format(read_port_dict),1) #Printing the entire dict looks bad. result[port].update(read_port_dict) - + + bitline_delay_dict = self.evaluate_bitline_delay(port) + result[port].update(bitline_delay_dict) + for port in self.targ_write_ports: write_port_dict = {} - for measure in self.read_meas_objs: + for measure in self.write_meas_objs: write_port_dict[measure.name] = measure.retrieve_measure(port=port) if not check_dict_values_is_float(write_port_dict): @@ -461,7 +492,17 @@ class delay(simulation): # The delay is from the negative edge for our SRAM return (True,result) - + def evaluate_bitline_delay(self, port): + """Parse and check the bitline delay. One of the measurements is expected to fail which warrants its own function.""" + bl_delay_meas_dict = {} + values_added = 0 #For error checking + for measure in self.bitline_delay_objs: + bl_delay_val = measure.retrieve_measure(port=port) + if type(bl_delay_val) != float or 0 > bl_delay_val or bl_delay_val > self.period/2: #Only add if value is valid, do not error. + debug.error("Bitline delay measurement failed: half-period={}, {}={}".format(self.period/2, measure.name, bl_delay_val),1) + bl_delay_meas_dict[measure.name] = bl_delay_val + return bl_delay_meas_dict + def run_power_simulation(self): """ This simulates a disabled SRAM to get the leakage power when it is off. @@ -618,9 +659,18 @@ class delay(simulation): functions in this characterizer besides analyze.""" self.probe_address = probe_address self.probe_data = probe_data - + self.bitline_column = self.get_data_bit_column_number(probe_address, probe_data) + self.prepare_netlist() + def get_data_bit_column_number(self, probe_address, probe_data): + """Calculates bitline column number of data bit under test using bit position and mux size""" + if self.sram.col_addr_size>0: + col_address = int(probe_address[0:self.sram.col_addr_size],2) + else: + col_address = 0 + bl_column = int(self.sram.words_per_row*probe_data + col_address) + return bl_column def prepare_netlist(self): """ Prepare a trimmed netlist and regular netlist. """ @@ -899,7 +949,7 @@ class delay(simulation): def get_empty_measure_data_dict(self): """Make a dict of lists for each type of delay and power measurement to append results to""" - measure_names = self.delay_meas_names + self.power_meas_names + measure_names = self.delay_meas_names + self.power_meas_names + self.voltage_when_names + self.bitline_delay_names #Create list of dicts. List lengths is # of ports. Each dict maps the measurement names to lists. measure_data = [{mname:[] for mname in measure_names} for i in self.all_ports] return measure_data diff --git a/compiler/characterizer/logical_effort.py b/compiler/characterizer/logical_effort.py index bbb0bd77..c80e69a2 100644 --- a/compiler/characterizer/logical_effort.py +++ b/compiler/characterizer/logical_effort.py @@ -35,6 +35,10 @@ class logical_effort(): def get_stage_delay(self, pinv): return self.get_stage_effort()+self.get_parasitic_delay(pinv) + +def calculate_delays(stage_effort_list, pinv): + """Convert stage effort objects to list of delay values""" + return [stage.get_stage_delay(pinv) for stage in stage_effort_list] def calculate_relative_delay(stage_effort_list, pinv=parameter["min_inv_para_delay"]): """Calculates the total delay of a given delay path made of a list of logical effort objects.""" diff --git a/compiler/characterizer/measurements.py b/compiler/characterizer/measurements.py index f065ac70..aec4d769 100644 --- a/compiler/characterizer/measurements.py +++ b/compiler/characterizer/measurements.py @@ -10,6 +10,7 @@ class spice_measurement(ABC): #Names must be unique for correct spice simulation, but not enforced here. self.name = measure_name self.measure_scale = measure_scale + self.meta_str = None #Some measurements set this, set here to be clear on existence @abstractmethod def get_measure_function(self): @@ -36,20 +37,20 @@ class spice_measurement(ABC): class delay_measure(spice_measurement): """Generates a spice measurement for the delay of 50%-to-50% points of two signals.""" - def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, targ_dir_str, measure_scale=None): + def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, targ_dir_str, trig_vdd=0.5, targ_vdd=0.5, measure_scale=None): spice_measurement.__init__(self, measure_name, measure_scale) - self.set_meas_constants(trig_name, targ_name, trig_dir_str, targ_dir_str) + self.set_meas_constants(trig_name, targ_name, trig_dir_str, targ_dir_str, trig_vdd, targ_vdd) def get_measure_function(self): return stimuli.gen_meas_delay - def set_meas_constants(self, trig_name, targ_name, trig_dir_str, targ_dir_str): - """Set the values needed to generate a Spice measurement statement based on the name of the measurement.""" + def set_meas_constants(self, trig_name, targ_name, trig_dir_str, targ_dir_str, trig_vdd, targ_vdd): + """Set the constants for this measurement: signal names, directions, and trigger scales""" self.trig_dir_str = trig_dir_str self.targ_dir_str = targ_dir_str - self.trig_val_of_vdd = 0.5 - self.targ_val_of_vdd = 0.5 + self.trig_val_of_vdd = trig_vdd + self.targ_val_of_vdd = targ_vdd self.trig_name_no_port = trig_name self.targ_name_no_port = targ_name @@ -99,7 +100,7 @@ class slew_measure(delay_measure): #Time delays and ports are variant and needed as inputs when writing the measurement class power_measure(spice_measurement): - """Generates a spice measurement for the delay of 50%-to-50% points of two signals.""" + """Generates a spice measurement for the average power between two time points.""" def __init__(self, measure_name, power_type="", measure_scale=None): spice_measurement.__init__(self, measure_name, measure_scale) @@ -119,4 +120,39 @@ class power_measure(spice_measurement): meas_name = "{}{}".format(self.name, port) else: meas_name = self.name - return (meas_name,t_initial,t_final) \ No newline at end of file + return (meas_name,t_initial,t_final) + +class voltage_when_measure(spice_measurement): + """Generates a spice measurement to measure the voltage of a signal based on the voltage of another.""" + + def __init__(self, measure_name, trig_name, targ_name, trig_dir_str, trig_vdd, measure_scale=None): + spice_measurement.__init__(self, measure_name, measure_scale) + self.set_meas_constants(trig_name, targ_name, trig_dir_str, trig_vdd) + + def get_measure_function(self): + return stimuli.gen_meas_find_voltage + + def set_meas_constants(self, trig_name, targ_name, trig_dir_str, trig_vdd): + """Sets values useful for power simulations. This value is only meta related to the lib file (rise/fall)""" + self.trig_dir_str = trig_dir_str + self.trig_val_of_vdd = trig_vdd + + self.trig_name_no_port = trig_name + self.targ_name_no_port = targ_name + + def get_measure_values(self, trig_td, vdd_voltage, port=None): + """Constructs inputs to stimulus measurement function. Variant values are inputs here.""" + + if port != None: + #For dictionary indexing reasons, the name is formatted differently than the signals + meas_name = "{}{}".format(self.name, port) + trig_name = self.trig_name_no_port.format(port) + targ_name = self.targ_name_no_port.format(port) + else: + meas_name = self.name + trig_name = self.trig_name_no_port + targ_name = self.targ_name_no_port + + trig_voltage = self.trig_val_of_vdd*vdd_voltage + + return (meas_name,trig_name,targ_name,trig_voltage,self.trig_dir_str,trig_td) \ No newline at end of file diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py new file mode 100644 index 00000000..7a06ab7a --- /dev/null +++ b/compiler/characterizer/model_check.py @@ -0,0 +1,174 @@ +import sys,re,shutil +import debug +import tech +import math +from .stimuli import * +from .trim_spice import * +from .charutils import * +import utils +from globals import OPTS +from .delay import delay +from .measurements import * + +class model_check(delay): + """Functions to test for the worst case delay in a target SRAM + + The current worst case determines a feasible period for the SRAM then tests + several bits and record the delay and differences between the bits. + + """ + + def __init__(self, sram, spfile, corner): + delay.__init__(self,sram,spfile,corner) + self.period = tech.spice["feasible_period"] + + def create_measurement_names(self): + """Create measurement names. The names themselves currently define the type of measurement""" + #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. + self.wl_delay_meas_names = ["delay_wl_en_bar", "delay_wl_en", "delay_dvr_en_bar", "delay_wl"] + self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in", "delay_delay_chain_stage_1", "delay_delay_chain_stage_2"] + self.sae_delay_meas_names = ["delay_pre_sen", "delay_sen_bar", "delay_sen"] + + def create_signal_names(self): + delay.create_signal_names(self) + #Signal names are all hardcoded, need to update to make it work for probe address and different configurations. + self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xbuf_wl_en.zb_int", "Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_15", "Xsram.Xbank0.wl_15"] + self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in", "Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1", "Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en", "Xsram.Xcontrol0.Xbuf_s_en.zb_int", "Xsram.s_en0"] + + def create_measurement_objects(self): + """Create the measurements used for read and write ports""" + self.create_wordline_measurement_objects() + self.create_sae_measurement_objects() + self.all_measures = self.wl_meas_objs+self.sae_meas_objs + + def create_wordline_measurement_objects(self): + """Create the measurements to measure the wordline path from the gated_clk_bar signal""" + self.wl_meas_objs = [] + trig_dir = "RISE" + targ_dir = "FALL" + + for i in range(1, len(self.wl_signal_names)): + self.wl_meas_objs.append(delay_measure(self.wl_delay_meas_names[i-1], self.wl_signal_names[i-1], self.wl_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + temp_dir = trig_dir + trig_dir = targ_dir + targ_dir = temp_dir + + def create_sae_measurement_objects(self): + """Create the measurements to measure the sense amp enable path from the gated_clk_bar signal. The RBL splits this path into two.""" + + self.sae_meas_objs = [] + trig_dir = "RISE" + targ_dir = "FALL" + #Add measurements from gated_clk_bar to RBL + for i in range(1, len(self.rbl_en_signal_names)): + self.sae_meas_objs.append(delay_measure(self.rbl_delay_meas_names[i-1], self.rbl_en_signal_names[i-1], self.rbl_en_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + temp_dir = trig_dir + trig_dir = targ_dir + targ_dir = temp_dir + + #Add measurements from rbl_out to sae. Trigger directions do not invert from previous stage due to RBL. + trig_dir = "FALL" + targ_dir = "RISE" + #Add measurements from gated_clk_bar to RBL + for i in range(1, len(self.sae_signal_names)): + self.sae_meas_objs.append(delay_measure(self.sae_delay_meas_names[i-1], self.sae_signal_names[i-1], self.sae_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + temp_dir = trig_dir + trig_dir = targ_dir + targ_dir = temp_dir + + def write_delay_measures(self): + """ + Write the measure statements to quantify the delay and power results for all targeted ports. + """ + self.sf.write("\n* Measure statements for delay and power\n") + + # Output some comments to aid where cycles start and what is happening + for comment in self.cycle_comments: + self.sf.write("* {}\n".format(comment)) + + for read_port in self.targ_read_ports: + self.write_measures_read_port(read_port) + + def get_delay_measure_variants(self, port, delay_obj): + """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" + #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port + #Assuming only read 0 for now + meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] + self.period/2 + return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) + + def write_measures_read_port(self, port): + """ + Write the measure statements for all nodes along the wordline path. + """ + # add measure statements for delays/slews + for measure in self.all_measures: + measure_variant_inp_tuple = self.get_delay_measure_variants(port, measure) + measure.write_measure(self.stim, measure_variant_inp_tuple) + + + def run_delay_simulation(self): + """ + This tries to simulate a period and checks if the result works. If + so, it returns True and the delays, slews, and powers. It + works on the trimmed netlist by default, so powers do not + include leakage of all cells. + """ + #Sanity Check + debug.check(self.period > 0, "Target simulation period non-positive") + + wl_result = [[] for i in self.all_ports] + sae_result = [[] for i in self.all_ports] + # Checking from not data_value to data_value + self.write_delay_stimulus() + + self.stim.run_sim() #running sim prodoces spice output file. + + for port in self.targ_read_ports: + #Parse and check the voltage measurements + wl_meas_list = [] + for measure in self.wl_meas_objs: + wl_meas_list.append(measure.retrieve_measure(port=port)) + if type(wl_meas_list[-1]) != float: + debug.error("Failed to Measure Value:\n\t\t{}={}".format(measure.name, wl_meas_list[-1]),1) #Printing the entire dict looks bad. + wl_result[port] = wl_meas_list + + sae_meas_list = [] + for measure in self.sae_meas_objs: + sae_meas_list.append(measure.retrieve_measure(port=port)) + if type(sae_meas_list[-1]) != float: + debug.error("Failed to Measure Value:\n\t\t{}={}".format(measure.name, sae_meas_list[-1]),1) #Printing the entire dict looks bad. + sae_result[port] = sae_meas_list + + # The delay is from the negative edge for our SRAM + return (True,wl_result, sae_result) + + def get_model_delays(self, port): + """Get model delays based on port. Currently assumes single RW port.""" + return self.sram.control_logic_rw.get_wl_sen_delays() + + def analyze(self, probe_address, probe_data, slews, loads): + """Measures entire delay path along the wordline and sense amp enable and compare it to the model delays.""" + self.set_probe(probe_address, probe_data) + self.load=max(loads) + self.slew=max(slews) + self.create_measurement_objects() + + read_port = self.read_ports[0] #only test the first read port + self.targ_read_ports = [read_port] + self.targ_write_ports = [self.write_ports[0]] + debug.info(1,"Bitline swing test: corner {}".format(self.corner)) + (success, wl_delays, sae_delays)=self.run_delay_simulation() + debug.check(success, "Model measurements Failed: period={}".format(self.period)) + wl_model_delays, sae_model_delays = self.get_model_delays(read_port) + + debug.info(1,"Measured Wordline delays (ns):\n\t {}".format(wl_delays[read_port])) + debug.info(1,"Wordline model delays:\n\t {}".format(wl_model_delays)) + debug.info(1,"Measured SAE delays (ns):\n\t {}".format(sae_delays[read_port])) + debug.info(1,"SAE model delays:\n\t {}".format(sae_model_delays)) + + return wl_delays, sae_delays + + + + \ No newline at end of file diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 8545480c..9a945383 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -37,6 +37,8 @@ class control_logic(design.design): #self.sram=None #disable re-sizing for debugging, FIXME: resizing is not working, needs to be adjusted for new control logic. self.wl_timing_tolerance = 1 #Determines how much larger the sen delay should be. Accounts for possible error in model. self.parasitic_inv_delay = parameter["min_inv_para_delay"] #Keeping 0 for now until further testing. + self.wl_stage_efforts = None + self.sen_stage_efforts = None if self.port_type == "rw": self.num_control_signals = 2 @@ -157,7 +159,7 @@ class control_logic(design.design): elif self.words_per_row == 2: delay_stages = 6 else: - delay_stages = 4 + delay_stages = 2 return (delay_stages, delay_fanout) @@ -808,8 +810,8 @@ class control_logic(design.design): def get_delays_to_wl(self): """Get the delay (in delay units) of the clk to a wordline in the bitcell array""" debug.check(self.sram.all_mods_except_control_done, "Cannot calculate sense amp enable delay unless all module have been added.") - stage_efforts = self.determine_wordline_stage_efforts() - clk_to_wl_rise,clk_to_wl_fall = logical_effort.calculate_relative_rise_fall_delays(stage_efforts, self.parasitic_inv_delay) + self.wl_stage_efforts = self.determine_wordline_stage_efforts() + clk_to_wl_rise,clk_to_wl_fall = logical_effort.calculate_relative_rise_fall_delays(self.wl_stage_efforts, self.parasitic_inv_delay) total_delay = clk_to_wl_rise + clk_to_wl_fall debug.info(1, "Clock to wl delay is rise={:.3f}, fall={:.3f}, total={:.3f} in delay units".format(clk_to_wl_rise, clk_to_wl_fall,total_delay)) return clk_to_wl_rise,clk_to_wl_fall @@ -838,8 +840,8 @@ class control_logic(design.design): This does not incorporate the delay of the replica bitline. """ debug.check(self.sram.all_mods_except_control_done, "Cannot calculate sense amp enable delay unless all module have been added.") - stage_efforts = self.determine_sa_enable_stage_efforts() - clk_to_sen_rise, clk_to_sen_fall = logical_effort.calculate_relative_rise_fall_delays(stage_efforts, self.parasitic_inv_delay) + self.sen_stage_efforts = self.determine_sa_enable_stage_efforts() + clk_to_sen_rise, clk_to_sen_fall = logical_effort.calculate_relative_rise_fall_delays(self.sen_stage_efforts, self.parasitic_inv_delay) total_delay = clk_to_sen_rise + clk_to_sen_fall debug.info(1, "Clock to s_en delay is rise={:.3f}, fall={:.3f}, total={:.3f} in delay units".format(clk_to_sen_rise, clk_to_sen_fall,total_delay)) return clk_to_sen_rise, clk_to_sen_fall @@ -870,4 +872,12 @@ class control_logic(design.design): last_stage_rise = stage_effort_list[-1].is_rise return stage_effort_list - \ No newline at end of file + + def get_wl_sen_delays(self): + """Gets a list of the stages and delays in order of their path.""" + if self.sen_stage_efforts == None or self.wl_stage_efforts == None: + debug.error("Model delays not calculated for SRAM.", 1) + wl_delays = logical_effort.calculate_delays(self.wl_stage_efforts, self.parasitic_inv_delay) + sen_delays = logical_effort.calculate_delays(self.sen_stage_efforts, self.parasitic_inv_delay) + return wl_delays, sen_delays + \ No newline at end of file diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index c847210b..26735870 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -23,7 +23,7 @@ class timing_sram_test(openram_test): from importlib import reload import characterizer reload(characterizer) - from characterizer import delay, bitline_delay + from characterizer import delay from sram import sram from sram_config import sram_config c = sram_config(word_size=1, @@ -43,15 +43,14 @@ class timing_sram_test(openram_test): corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) d = delay(s.s, tempspice, corner) - bl = bitline_delay(s.s, tempspice, corner) import tech loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] data, port_data = d.analyze(probe_address, probe_data, slews, loads) - bitline_data = bl.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data data.update(port_data[0]) - data.update(bitline_data[0]) + + print(data) if OPTS.tech_name == "freepdk45": golden_data = {'delay_hl': [0.2011], @@ -60,13 +59,14 @@ class timing_sram_test(openram_test): 'min_period': 0.41, 'read0_power': [0.63604], 'read1_power': [0.6120599999999999], - 'slew_hl': [0.10853], - 'slew_lh': [0.10853], + 'slew_hl': [0.07078999999999999], + 'slew_lh': [0.07078999999999999], 'write0_power': [0.51742], 'write1_power': [0.51095], - 'volt_bl': 0.045626, - 'volt_br': 1.0709, - 'delay_bl_vth': 0.1813} + 'volt_bl': [0.2017], + 'volt_br': [1.0765], + 'delay_bl': [0.18114999999999998], + 'delay_br': [0.17763]} elif OPTS.tech_name == "scn4m_subm": golden_data = {'delay_hl': [1.3911], 'delay_lh': [1.3911], @@ -74,13 +74,14 @@ class timing_sram_test(openram_test): 'min_period': 2.812, 'read0_power': [22.1183], 'read1_power': [21.4388], - 'slew_hl': [0.7397553], - 'slew_lh': [0.7397553], + 'slew_hl': [0.6], + 'slew_lh': [0.6], 'write0_power': [19.4103], 'write1_power': [20.1167], - 'volt_bl': 1.8329, - 'volt_br': 5.081, - 'delay_bl_vth': 1.1141} + 'volt_bl': [3.1763], + 'volt_br': [5.5731], + 'delay_bl': [1.1133000000000002], + 'delay_br': [0.9958395]} else: self.assertTrue(False) # other techs fail # Check if no too many or too few results diff --git a/compiler/tests/21_ngspice_delay_test.py b/compiler/tests/21_ngspice_delay_test.py index 16c3fb3a..98f01e53 100755 --- a/compiler/tests/21_ngspice_delay_test.py +++ b/compiler/tests/21_ngspice_delay_test.py @@ -23,7 +23,7 @@ class timing_sram_test(openram_test): from importlib import reload import characterizer reload(characterizer) - from characterizer import delay, bitline_delay + from characterizer import delay from sram import sram from sram_config import sram_config c = sram_config(word_size=1, @@ -43,30 +43,28 @@ class timing_sram_test(openram_test): corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) d = delay(s.s, tempspice, corner) - bl = bitline_delay(s.s, tempspice, corner) import tech loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] data, port_data = d.analyze(probe_address, probe_data, slews, loads) - bitline_data = bl.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data data.update(port_data[0]) - data.update(bitline_data[0]) if OPTS.tech_name == "freepdk45": - golden_data = {'delay_hl': [0.20443139999999999], - 'delay_lh': [0.20443139999999999], - 'leakage_power': 0.0017840640000000001, - 'min_period': 0.41, - 'read0_power': [0.6435831], - 'read1_power': [0.6233463], - 'slew_hl': [0.1138734], - 'slew_lh': [0.1138734], - 'write0_power': [0.5205761], - 'write1_power': [0.5213689], - 'volt_bl': 0.03667602, - 'volt_br': 1.056013, - 'delay_bl_vth': 0.184373} + golden_data = {'delay_bl': [0.1840938], + 'delay_br': [0.1804373], + 'delay_hl': [0.2130831], + 'delay_lh': [0.2130831], + 'leakage_power': 0.001595639, + 'min_period': 0.527, + 'read0_power': [0.4852456], + 'read1_power': [0.46341889999999997], + 'slew_hl': [0.07351041999999999], + 'slew_lh': [0.07351041999999999], + 'volt_bl': [0.1954744], + 'volt_br': [1.058266], + 'write0_power': [0.4065201], + 'write1_power': [0.46341889999999997]} elif OPTS.tech_name == "scn4m_subm": golden_data = {'delay_hl': [1.610911], 'delay_lh': [1.610911], @@ -78,9 +76,10 @@ class timing_sram_test(openram_test): 'slew_lh': [0.7986348999999999], 'write0_power': [17.58272], 'write1_power': [18.523419999999998], - 'volt_bl': 1.639692, - 'volt_br': 5.06107, - 'delay_bl_vth': 1.322235} + 'volt_bl': [3.1763], + 'volt_br': [5.5731], + 'delay_bl': [1.1133000000000002], + 'delay_br': [0.9958395]} else: self.assertTrue(False) # other techs fail diff --git a/compiler/tests/28_delay_model_test.py b/compiler/tests/28_delay_model_test.py new file mode 100755 index 00000000..74ad22f3 --- /dev/null +++ b/compiler/tests/28_delay_model_test.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +""" +Run a regression test on various srams +""" + +import unittest +from testutils import header,openram_test +import sys,os +sys.path.append(os.path.join(sys.path[0],"..")) +import globals +from globals import OPTS +import debug + +class delay_model_test(openram_test): + + def runTest(self): + globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + OPTS.spice_name="hspice" + OPTS.analytical_delay = False + OPTS.netlist_only = True + + # This is a hack to reload the characterizer __init__ with the spice version + from importlib import reload + import characterizer + reload(characterizer) + from characterizer import model_check + from sram import sram + from sram_config import sram_config + c = sram_config(word_size=1, + num_words=16, + num_banks=1) + c.words_per_row=1 + c.recompute_sizes() + debug.info(1, "Testing timing for sample 1bit, 16words SRAM with 1 bank") + s = sram(c, name="sram1") + + tempspice = OPTS.openram_temp + "temp.sp" + s.sp_write(tempspice) + + probe_address = "1" * s.s.addr_size + probe_data = s.s.word_size - 1 + debug.info(1, "Probe address {0} probe data bit {1}".format(probe_address, probe_data)) + + corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) + mc = model_check(s.s, tempspice, corner) + import tech + loads = [tech.spice["msflop_in_cap"]*4] + slews = [tech.spice["rise_time"]*2] + wl_data, sae_data = mc.analyze(probe_address, probe_data, slews, loads) + #Combine info about port into all data + + #debug.info(1,"Data:\n{}".format(wl_data)) + + globals.end_openram() + +# run the test from the command line +if __name__ == "__main__": + (OPTS, args) = globals.parse_args() + del sys.argv[1:] + header(__file__, OPTS.tech_name) + unittest.main() From 21663439ccc17456f566b7c8b5702241e22bd646 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 9 Jan 2019 22:42:34 -0800 Subject: [PATCH 09/77] Added slews measurements to the model checker. Removed unused code in bitline delay class. --- compiler/characterizer/bitline_delay.py | 21 +------- compiler/characterizer/model_check.py | 69 ++++++++++++++++--------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/compiler/characterizer/bitline_delay.py b/compiler/characterizer/bitline_delay.py index 2af290f1..c85f06bc 100644 --- a/compiler/characterizer/bitline_delay.py +++ b/compiler/characterizer/bitline_delay.py @@ -26,26 +26,7 @@ class bitline_delay(delay): delay.create_signal_names(self) self.bl_signal_names = ["Xsram.Xbank0.bl", "Xsram.Xbank0.br"] self.sen_name = "Xsram.s_en" - - def create_measurement_objects(self): - """Create the measurements used for read and write ports""" - self.meas_objs = [] - self.create_bitline_find_measurement_objects() - self.create_bitline_delay_measurement_objects() - - def create_bitline_delay_measurement_objects(self): - self.find_meas_objs = [] - trig_delay_name = "clk{0}" - targ_name = "{0}{1}_{2}".format(self.dout_name,"{}",self.probe_data) #Empty values are the port and probe data bit - self.read_meas_objs.append(delay_measure("delay_lh", trig_delay_name, targ_name, "RISE", "RISE", 1e9)) - self.read_meas_objs.append(delay_measure("delay_hl", trig_delay_name, targ_name, "FALL", "FALL", 1e9)) - - self.read_meas_objs.append(slew_measure("slew_lh", targ_name, "RISE", 1e9)) - self.read_meas_objs.append(slew_measure("slew_hl", targ_name, "FALL", 1e9)) - - self.read_meas_objs.append(power_measure("read1_power", "RISE", 1e3)) - self.read_meas_objs.append(power_measure("read0_power", "FALL", 1e3)) - + def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 7a06ab7a..a12117d3 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -26,8 +26,12 @@ class model_check(delay): """Create measurement names. The names themselves currently define the type of measurement""" #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. self.wl_delay_meas_names = ["delay_wl_en_bar", "delay_wl_en", "delay_dvr_en_bar", "delay_wl"] + self.wl_slew_meas_names = ["slew_wl_gated_clk_bar","slew_wl_en_bar", "slew_wl_en", "slew_drv_en_bar", "slew_wl"] + self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in", "delay_delay_chain_stage_1", "delay_delay_chain_stage_2"] + self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in", "slew_delay_chain_stage_1", "slew_delay_chain_stage_2"] self.sae_delay_meas_names = ["delay_pre_sen", "delay_sen_bar", "delay_sen"] + self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen", "slew_sen_bar", "slew_sen"] def create_signal_names(self): delay.create_signal_names(self) @@ -50,10 +54,12 @@ class model_check(delay): for i in range(1, len(self.wl_signal_names)): self.wl_meas_objs.append(delay_measure(self.wl_delay_meas_names[i-1], self.wl_signal_names[i-1], self.wl_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + self.wl_meas_objs.append(slew_measure(self.wl_slew_meas_names[i-1], self.wl_signal_names[i-1], trig_dir, measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir - + self.wl_meas_objs.append(slew_measure(self.wl_slew_meas_names[-1], self.wl_signal_names[-1], trig_dir, measure_scale=1e9)) + def create_sae_measurement_objects(self): """Create the measurements to measure the sense amp enable path from the gated_clk_bar signal. The RBL splits this path into two.""" @@ -63,20 +69,24 @@ class model_check(delay): #Add measurements from gated_clk_bar to RBL for i in range(1, len(self.rbl_en_signal_names)): self.sae_meas_objs.append(delay_measure(self.rbl_delay_meas_names[i-1], self.rbl_en_signal_names[i-1], self.rbl_en_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[i-1], self.rbl_en_signal_names[i-1], trig_dir, measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir - + self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[-1], self.rbl_en_signal_names[-1], trig_dir, measure_scale=1e9)) + #Add measurements from rbl_out to sae. Trigger directions do not invert from previous stage due to RBL. trig_dir = "FALL" targ_dir = "RISE" #Add measurements from gated_clk_bar to RBL for i in range(1, len(self.sae_signal_names)): self.sae_meas_objs.append(delay_measure(self.sae_delay_meas_names[i-1], self.sae_signal_names[i-1], self.sae_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[i-1], self.sae_signal_names[i-1], trig_dir, measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir - + self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[-1], self.sae_signal_names[-1], trig_dir, measure_scale=1e9)) + def write_delay_measures(self): """ Write the measure statements to quantify the delay and power results for all targeted ports. @@ -90,10 +100,12 @@ class model_check(delay): for read_port in self.targ_read_ports: self.write_measures_read_port(read_port) - def get_delay_measure_variants(self, port, delay_obj): + def get_delay_measure_variants(self, port, measure_obj): """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port #Assuming only read 0 for now + if not (type(measure_obj) is delay_measure or type(measure_obj) is slew_measure): + debug.error("Measurement not recognized by the model checker.",1) meas_cycle_delay = self.cycle_times[self.measure_cycles[port]["read0"]] + self.period/2 return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) @@ -106,7 +118,22 @@ class model_check(delay): measure_variant_inp_tuple = self.get_delay_measure_variants(port, measure) measure.write_measure(self.stim, measure_variant_inp_tuple) - + def get_measurement_values(self, meas_objs, port): + """Gets the delays and slews from a specified port from the spice output file and returns them as lists.""" + delay_meas_list = [] + slew_meas_list = [] + for measure in meas_objs: + measure_value = measure.retrieve_measure(port=port) + if type(measure_value) != float: + debug.error("Failed to Measure Value:\n\t\t{}={}".format(measure.name, measure_value),1) + if type(measure) is delay_measure: + delay_meas_list.append(measure_value) + elif type(measure)is slew_measure: + slew_meas_list.append(measure_value) + else: + debug.error("Measurement object not recognized.",1) + return delay_meas_list, slew_meas_list + def run_delay_simulation(self): """ This tries to simulate a period and checks if the result works. If @@ -117,31 +144,21 @@ class model_check(delay): #Sanity Check debug.check(self.period > 0, "Target simulation period non-positive") - wl_result = [[] for i in self.all_ports] - sae_result = [[] for i in self.all_ports] + wl_delay_result = [[] for i in self.all_ports] + wl_slew_result = [[] for i in self.all_ports] + sae_delay_result = [[] for i in self.all_ports] + sae_slew_result = [[] for i in self.all_ports] # Checking from not data_value to data_value self.write_delay_stimulus() self.stim.run_sim() #running sim prodoces spice output file. - + + #Retrieve the results from the output file for port in self.targ_read_ports: #Parse and check the voltage measurements - wl_meas_list = [] - for measure in self.wl_meas_objs: - wl_meas_list.append(measure.retrieve_measure(port=port)) - if type(wl_meas_list[-1]) != float: - debug.error("Failed to Measure Value:\n\t\t{}={}".format(measure.name, wl_meas_list[-1]),1) #Printing the entire dict looks bad. - wl_result[port] = wl_meas_list - - sae_meas_list = [] - for measure in self.sae_meas_objs: - sae_meas_list.append(measure.retrieve_measure(port=port)) - if type(sae_meas_list[-1]) != float: - debug.error("Failed to Measure Value:\n\t\t{}={}".format(measure.name, sae_meas_list[-1]),1) #Printing the entire dict looks bad. - sae_result[port] = sae_meas_list - - # The delay is from the negative edge for our SRAM - return (True,wl_result, sae_result) + wl_delay_result[port], wl_slew_result[port] = self.get_measurement_values(self.wl_meas_objs, port) + sae_delay_result[port], sae_slew_result[port] = self.get_measurement_values(self.sae_meas_objs, port) + return (True,wl_delay_result, sae_delay_result, wl_slew_result, sae_slew_result) def get_model_delays(self, port): """Get model delays based on port. Currently assumes single RW port.""" @@ -158,14 +175,16 @@ class model_check(delay): self.targ_read_ports = [read_port] self.targ_write_ports = [self.write_ports[0]] debug.info(1,"Bitline swing test: corner {}".format(self.corner)) - (success, wl_delays, sae_delays)=self.run_delay_simulation() + (success, wl_delays, sae_delays, wl_slews, sae_slews)=self.run_delay_simulation() debug.check(success, "Model measurements Failed: period={}".format(self.period)) wl_model_delays, sae_model_delays = self.get_model_delays(read_port) debug.info(1,"Measured Wordline delays (ns):\n\t {}".format(wl_delays[read_port])) debug.info(1,"Wordline model delays:\n\t {}".format(wl_model_delays)) + debug.info(1,"Measured Wordline slews:\n\t {}".format(wl_slews[read_port])) debug.info(1,"Measured SAE delays (ns):\n\t {}".format(sae_delays[read_port])) debug.info(1,"SAE model delays:\n\t {}".format(sae_model_delays)) + debug.info(1,"Measured SAE slews:\n\t {}".format(sae_slews[read_port])) return wl_delays, sae_delays From cc0be510c75cd534e1312caf785f7297af43effc Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 16 Jan 2019 00:46:24 -0800 Subject: [PATCH 10/77] Added some data scaling and error calculation in model check. --- compiler/characterizer/model_check.py | 37 ++++++++++++++++++++++++++ compiler/tests/21_hspice_delay_test.py | 4 +-- compiler/tests/28_delay_model_test.py | 2 ++ compiler/tests/testutils.py | 1 + 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index a12117d3..94b200bc 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -164,6 +164,36 @@ class model_check(delay): """Get model delays based on port. Currently assumes single RW port.""" return self.sram.control_logic_rw.get_wl_sen_delays() + def scale_delays(self, delay_list): + """Takes in a list of measured delays and convert it to simple units to easily compare to model values.""" + converted_values = [] + #Calculate average + total = 0 + for meas_value in delay_list: + total+=meas_value + average = total/len(delay_list) + + #Convert values + for meas_value in delay_list: + converted_values.append(meas_value/average) + return converted_values + + def min_max_normalization(self, value_list): + """Re-scales input values on a range from 0-1 where min(list)=0, max(list)=1""" + scaled_values = [] + min_val = min(value_list) + min_max_diff = max(value_list) - min_val + for value in value_list: + scaled_values.append((value-min_val)/(min_max_diff)) + return scaled_values + + def calculate_error_l2_norm(self, list_a, list_b): + """Calculates error between two lists using the l2 norm""" + error_list = [] + for val_a, val_b in zip(list_a, list_b): + error_list.append((val_a-val_b)**2) + return error_list + def analyze(self, probe_address, probe_data, slews, loads): """Measures entire delay path along the wordline and sense amp enable and compare it to the model delays.""" self.set_probe(probe_address, probe_data) @@ -186,6 +216,13 @@ class model_check(delay): debug.info(1,"SAE model delays:\n\t {}".format(sae_model_delays)) debug.info(1,"Measured SAE slews:\n\t {}".format(sae_slews[read_port])) + scaled_wl_meas = self.min_max_normalization(wl_delays[read_port]) + debug.info(1, "Scaled wordline delays:\n{}".format(scaled_wl_meas)) + scaled_wl_model = self.min_max_normalization(wl_model_delays) + debug.info(1, "Scaled wordline model:\n{}".format(scaled_wl_model)) + errors = self.calculate_error_l2_norm(scaled_wl_meas, scaled_wl_model) + debug.info(1, "Model errors:\n{}".format(errors)) + return wl_delays, sae_delays diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index 26735870..8be7152c 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -49,9 +49,7 @@ class timing_sram_test(openram_test): data, port_data = d.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data data.update(port_data[0]) - - print(data) - + if OPTS.tech_name == "freepdk45": golden_data = {'delay_hl': [0.2011], 'delay_lh': [0.2011], diff --git a/compiler/tests/28_delay_model_test.py b/compiler/tests/28_delay_model_test.py index 74ad22f3..8f9154e0 100755 --- a/compiler/tests/28_delay_model_test.py +++ b/compiler/tests/28_delay_model_test.py @@ -18,6 +18,8 @@ class delay_model_test(openram_test): OPTS.spice_name="hspice" OPTS.analytical_delay = False OPTS.netlist_only = True + OPTS.trim_netlist = False + debug.info(1, "Trimming disabled for this test. Simulation could be slow.") # This is a hack to reload the characterizer __init__ with the spice version from importlib import reload diff --git a/compiler/tests/testutils.py b/compiler/tests/testutils.py index 6b2a7dcf..74d97960 100755 --- a/compiler/tests/testutils.py +++ b/compiler/tests/testutils.py @@ -62,6 +62,7 @@ class openram_test(unittest.TestCase): delay_obj.set_load_slew(load, slew) delay_obj.set_probe(probe_address="1"*sram.addr_size, probe_data=(sram.word_size-1)) test_port = delay_obj.read_ports[0] #Only test one port, assumes other ports have similar period. + delay_obj.create_measurement_objects() delay_obj.find_feasible_period_one_port(test_port) return delay_obj.period From 5bbc43d0a0cb9d4911388dd81d8088eace5b90b0 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 17 Jan 2019 01:59:41 -0800 Subject: [PATCH 11/77] Added data collection of wordline and s_en measurements. --- compiler/characterizer/model_check.py | 49 +++++++++++++++++++++------ compiler/tests/28_delay_model_test.py | 5 +-- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 94b200bc..03d7982a 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -21,6 +21,11 @@ class model_check(delay): def __init__(self, sram, spfile, corner): delay.__init__(self,sram,spfile,corner) self.period = tech.spice["feasible_period"] + self.create_data_names() + + def create_data_names(self): + self.wl_meas_name, self.wl_model_name = "wl_measures", "wl_model" + self.sae_meas_name, self.sae_model_name = "sae_measures", "sae_model" def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" @@ -40,6 +45,16 @@ class model_check(delay): self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in", "Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1", "Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en", "Xsram.Xcontrol0.Xbuf_s_en.zb_int", "Xsram.s_en0"] + def get_all_signal_names(self): + """Returns all signals names as a dict indexed by hardcoded names. Useful for writing the head of the CSV.""" + name_dict = {} + #Signal names are more descriptive than the measurement names, first value trimmed to match size of measurements names. + name_dict[self.wl_meas_name] = self.wl_signal_names[1:] + name_dict[self.wl_model_name] = name_dict["wl_measures"] #model uses same names as measured. + name_dict[self.sae_meas_name] = self.rbl_en_signal_names[1:]+self.sae_signal_names[1:] + name_dict[self.sae_model_name] = name_dict["sae_measures"] + return name_dict + def create_measurement_objects(self): """Create the measurements used for read and write ports""" self.create_wordline_measurement_objects() @@ -181,10 +196,10 @@ class model_check(delay): def min_max_normalization(self, value_list): """Re-scales input values on a range from 0-1 where min(list)=0, max(list)=1""" scaled_values = [] - min_val = min(value_list) - min_max_diff = max(value_list) - min_val + min_max_diff = max(value_list) - min(value_list) + average = sum(value_list)/len(value_list) for value in value_list: - scaled_values.append((value-min_val)/(min_max_diff)) + scaled_values.append((value-average)/(min_max_diff)) return scaled_values def calculate_error_l2_norm(self, list_a, list_b): @@ -193,6 +208,15 @@ class model_check(delay): for val_a, val_b in zip(list_a, list_b): error_list.append((val_a-val_b)**2) return error_list + + def compare_measured_and_model(self, measured_vals, model_vals): + """First scales both inputs into similar ranges and then compares the error between both.""" + scaled_meas = self.min_max_normalization(measured_vals) + debug.info(1, "Scaled measurements:\n{}".format(scaled_meas)) + scaled_model = self.min_max_normalization(model_vals) + debug.info(1, "Scaled model:\n{}".format(scaled_model)) + errors = self.calculate_error_l2_norm(scaled_meas, scaled_model) + debug.info(1, "Errors:\n{}\n".format(errors)) def analyze(self, probe_address, probe_data, slews, loads): """Measures entire delay path along the wordline and sense amp enable and compare it to the model delays.""" @@ -200,6 +224,7 @@ class model_check(delay): self.load=max(loads) self.slew=max(slews) self.create_measurement_objects() + data_dict = {} read_port = self.read_ports[0] #only test the first read port self.targ_read_ports = [read_port] @@ -216,14 +241,18 @@ class model_check(delay): debug.info(1,"SAE model delays:\n\t {}".format(sae_model_delays)) debug.info(1,"Measured SAE slews:\n\t {}".format(sae_slews[read_port])) - scaled_wl_meas = self.min_max_normalization(wl_delays[read_port]) - debug.info(1, "Scaled wordline delays:\n{}".format(scaled_wl_meas)) - scaled_wl_model = self.min_max_normalization(wl_model_delays) - debug.info(1, "Scaled wordline model:\n{}".format(scaled_wl_model)) - errors = self.calculate_error_l2_norm(scaled_wl_meas, scaled_wl_model) - debug.info(1, "Model errors:\n{}".format(errors)) + data_dict[self.wl_meas_name] = wl_delays[read_port] + data_dict[self.wl_model_name] = wl_model_delays + data_dict[self.sae_meas_name] = sae_delays[read_port] + data_dict[self.sae_model_name] = sae_model_delays - return wl_delays, sae_delays + #Some evaluations of the model and measured values + debug.info(1, "Comparing wordline measurements and model.") + self.compare_measured_and_model(wl_delays[read_port], wl_model_delays) + debug.info(1, "Comparing SAE measurements and model") + self.compare_measured_and_model(sae_delays[read_port], sae_model_delays) + + return data_dict diff --git a/compiler/tests/28_delay_model_test.py b/compiler/tests/28_delay_model_test.py index 8f9154e0..a02a42e9 100755 --- a/compiler/tests/28_delay_model_test.py +++ b/compiler/tests/28_delay_model_test.py @@ -25,10 +25,11 @@ class delay_model_test(openram_test): from importlib import reload import characterizer reload(characterizer) + from characterizer import model_check from sram import sram from sram_config import sram_config - c = sram_config(word_size=1, + c = sram_config(word_size=4, num_words=16, num_banks=1) c.words_per_row=1 @@ -48,7 +49,7 @@ class delay_model_test(openram_test): import tech loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] - wl_data, sae_data = mc.analyze(probe_address, probe_data, slews, loads) + sram_data = mc.analyze(probe_address, probe_data, slews, loads) #Combine info about port into all data #debug.info(1,"Data:\n{}".format(wl_data)) From 4ced6be6bdf63985d4d9434a856700b4aafd1395 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 17 Jan 2019 09:54:34 -0800 Subject: [PATCH 12/77] Added data collection and some initial data --- compiler/tests/delay_data_collection.py | 137 ++++++++++++++++++ .../tests/model_data/data_sae_measures.csv | 3 + compiler/tests/model_data/data_sae_model.csv | 3 + .../tests/model_data/data_wl_measures.csv | 3 + compiler/tests/model_data/data_wl_model.csv | 3 + 5 files changed, 149 insertions(+) create mode 100644 compiler/tests/delay_data_collection.py create mode 100644 compiler/tests/model_data/data_sae_measures.csv create mode 100644 compiler/tests/model_data/data_sae_model.csv create mode 100644 compiler/tests/model_data/data_wl_measures.csv create mode 100644 compiler/tests/model_data/data_wl_model.csv diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py new file mode 100644 index 00000000..b5af25fc --- /dev/null +++ b/compiler/tests/delay_data_collection.py @@ -0,0 +1,137 @@ +#!/usr/bin/env python3 +""" +Run a regression test on various srams +""" + +import unittest +from testutils import header,openram_test +import sys,os +sys.path.append(os.path.join(sys.path[0],"..")) +import globals +from globals import OPTS +import debug +import csv +from sram import sram +from sram_config import sram_config + +MODEL_DIR = "model_data/" + +class data_collection(openram_test): + + def runTest(self): + self.init_data_gen() + + #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. + sram_data = self.get_sram_data(1,16,1) + self.initialize_csv_file(sram_data) + + self.add_sram_data_to_csv(sram_data, 1, 16, 1) + + #Run openRAM for several size configurations + #word_size_list, num_word_list, words_per_row_list = self.get_sram_configs() + word_size_list, num_word_list, words_per_row_list = [4], [16], [1] #for quick testing. + for word_size in word_size_list: + for num_word in num_word_list: + for words_per_row in words_per_row_list: + #Unfortunately, init needs to be called everytime + self.init_data_gen() + sram_data = self.get_sram_data(word_size, num_word, words_per_row) + self.add_sram_data_to_csv(sram_data, word_size, num_word, words_per_row) + + self.close_files() + debug.info(1,"Data Generated") + globals.end_openram() + + def init_data_gen(self): + """Initialization for the data test to run""" + globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + OPTS.spice_name="hspice" #Much faster than ngspice. + OPTS.trim_netlist = False + OPTS.netlist_only = True + OPTS.analytical_delay = False + # This is a hack to reload the characterizer __init__ with the spice version + from importlib import reload + import characterizer + reload(characterizer) + + def close_files(self): + """Closes all files stored in the file dict""" + for key,file in self.csv_files.items(): + file.close() + + def get_sram_configs(self): + """Generate lists of wordsizes, number of words, and column mux size (words per row) to be tested.""" + min_word_size = 1 + max_word_size = 16 + min_num_words_log2 = 4 + max_num_words_log2 = 8 + word_sizes = [i for i in range(min_word_size,max_word_size+1)] + num_words = [2**i for i in range(min_num_words_log2,max_num_words_log2+1)] + words_per_row = [1] + return word_sizes, num_words, words_per_row + + def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row): + """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" + sram_specs = [word_size,num_words,words_per_row] + for data_name, data_values in sram_data.items(): + self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]) + debug.info(2,"Data Added to CSV file.") + + def initialize_csv_file(self, sram_data): + """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" + #CSV File writing + header_dict = self.delay_obj.get_all_signal_names() + self.csv_files = {} + self.csv_writers = {} + for data_name, header_list in header_dict.items(): + self.csv_files[data_name] = open('{}data_{}.csv'.format(MODEL_DIR,data_name), 'w') + fields = ('word_size', 'num_words', 'words_per_row', *header_list) + self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') + self.csv_writers[data_name].writerow(fields) + + def get_sram_data(self, word_size, num_words, words_per_row): + """Generates the SRAM based on input configuration and returns the data.""" + from characterizer import model_check + c = sram_config(word_size=word_size, + num_words=num_words, + num_banks=1) + #minimum 16 rows. Most sizes below 16*16 will try to automatically use less rows unless enforced. + #if word_size*num_words < 256: + c.words_per_row=words_per_row #Force no column mux until incorporated into analytical delay. + + debug.info(1, "Getting data for {} bit, {} words SRAM with 1 bank".format(word_size, num_words)) + s = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) + + tempspice = OPTS.openram_temp + "temp.sp" + s.sp_write(tempspice) + + corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) + self.delay_obj = model_check(s.s, tempspice, corner) + + import tech + #Only 1 at a time + probe_address = "1" * s.s.addr_size + probe_data = s.s.word_size - 1 + loads = [tech.spice["msflop_in_cap"]*4] + slews = [tech.spice["rise_time"]*2] + + sram_data = self.delay_obj.analyze(probe_address,probe_data,slews,loads) + return sram_data + + def remove_lists_from_dict(self, dict): + """Check all the values in the dict and replaces the list items with its first value.""" + #This is useful because the tests performed here only generate 1 value but a list + #with 1 item makes writing it to a csv later harder. + for key in dict.keys(): + if type(dict[key]) is list: + if len(dict[key]) > 0: + dict[key] = dict[key][0] + else: + del dict[key] + +# instantiate a copdsay of the class to actually run the test +if __name__ == "__main__": + (OPTS, args) = globals.parse_args() + del sys.argv[1:] + header(__file__, OPTS.tech_name) + unittest.main() diff --git a/compiler/tests/model_data/data_sae_measures.csv b/compiler/tests/model_data/data_sae_measures.csv new file mode 100644 index 00000000..29b9ee07 --- /dev/null +++ b/compiler/tests/model_data/data_sae_measures.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +1,16,1,0.1073407,0.010667,0.1317698,0.0910598,0.04802989999999999,0.1304522,0.0164942 +4,16,1,0.10635089999999998,0.010598499999999999,0.1315219,0.0911604,0.048601,0.12349109999999999,0.05874360000000001 diff --git a/compiler/tests/model_data/data_sae_model.csv b/compiler/tests/model_data/data_sae_model.csv new file mode 100644 index 00000000..25a56d9e --- /dev/null +++ b/compiler/tests/model_data/data_sae_model.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +1,16,1,5.0,0.75,4.5,5.5,2.5,4.5,1.09375 +4,16,1,5.0,0.75,4.5,5.5,2.5,4.5,1.09375 diff --git a/compiler/tests/model_data/data_wl_measures.csv b/compiler/tests/model_data/data_wl_measures.csv new file mode 100644 index 00000000..95aa4044 --- /dev/null +++ b/compiler/tests/model_data/data_wl_measures.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +1,16,1,0.1257435,0.0364958,0.051171100000000004,0.020759299999999998 +4,16,1,0.124175,0.03654059999999999,0.0507837,0.0433494 diff --git a/compiler/tests/model_data/data_wl_model.csv b/compiler/tests/model_data/data_wl_model.csv new file mode 100644 index 00000000..ae601f49 --- /dev/null +++ b/compiler/tests/model_data/data_wl_model.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +1,16,1,1.5,21.833333333333332,2.0,1.1666666666666665 +4,16,1,2.5,11.166666666666666,2.0,3.1666666666666665 From 5885e3b635302d10e0d2f1bb527014cb99f44ec8 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Fri, 18 Jan 2019 00:23:50 -0800 Subject: [PATCH 13/77] Removed carriage returns, adjusted signal names generation for variable delay chain size. --- compiler/characterizer/model_check.py | 14 +- compiler/tests/delay_data_collection.py | 274 ++++++++++++------------ 2 files changed, 147 insertions(+), 141 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 03d7982a..059227e1 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -33,8 +33,10 @@ class model_check(delay): self.wl_delay_meas_names = ["delay_wl_en_bar", "delay_wl_en", "delay_dvr_en_bar", "delay_wl"] self.wl_slew_meas_names = ["slew_wl_gated_clk_bar","slew_wl_en_bar", "slew_wl_en", "slew_drv_en_bar", "slew_wl"] - self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in", "delay_delay_chain_stage_1", "delay_delay_chain_stage_2"] - self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in", "slew_delay_chain_stage_1", "slew_delay_chain_stage_2"] + dc_delay_names = ["delay_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] + self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in"]+dc_delay_names + dc_slew_names = ["slew_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] + self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in"]+dc_slew_names self.sae_delay_meas_names = ["delay_pre_sen", "delay_sen_bar", "delay_sen"] self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen", "slew_sen_bar", "slew_sen"] @@ -42,7 +44,8 @@ class model_check(delay): delay.create_signal_names(self) #Signal names are all hardcoded, need to update to make it work for probe address and different configurations. self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xbuf_wl_en.zb_int", "Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_15", "Xsram.Xbank0.wl_15"] - self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in", "Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1", "Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + delay_chain_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_{}".format(stage) for stage in range(1,self.get_num_delay_stages())] + ["Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"] + delay_chain_signal_names self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en", "Xsram.Xcontrol0.Xbuf_s_en.zb_int", "Xsram.s_en0"] def get_all_signal_names(self): @@ -178,7 +181,10 @@ class model_check(delay): def get_model_delays(self, port): """Get model delays based on port. Currently assumes single RW port.""" return self.sram.control_logic_rw.get_wl_sen_delays() - + + def get_num_delay_stages(self): + return len(self.sram.control_logic_rw.replica_bitline.delay_fanout_list) + def scale_delays(self, delay_list): """Takes in a list of measured delays and convert it to simple units to easily compare to model values.""" converted_values = [] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index b5af25fc..ac10b98c 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -1,137 +1,137 @@ -#!/usr/bin/env python3 -""" -Run a regression test on various srams -""" - -import unittest -from testutils import header,openram_test -import sys,os -sys.path.append(os.path.join(sys.path[0],"..")) -import globals -from globals import OPTS -import debug -import csv -from sram import sram -from sram_config import sram_config - -MODEL_DIR = "model_data/" - -class data_collection(openram_test): - - def runTest(self): - self.init_data_gen() - - #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. - sram_data = self.get_sram_data(1,16,1) - self.initialize_csv_file(sram_data) - - self.add_sram_data_to_csv(sram_data, 1, 16, 1) - - #Run openRAM for several size configurations - #word_size_list, num_word_list, words_per_row_list = self.get_sram_configs() - word_size_list, num_word_list, words_per_row_list = [4], [16], [1] #for quick testing. - for word_size in word_size_list: - for num_word in num_word_list: - for words_per_row in words_per_row_list: - #Unfortunately, init needs to be called everytime - self.init_data_gen() - sram_data = self.get_sram_data(word_size, num_word, words_per_row) - self.add_sram_data_to_csv(sram_data, word_size, num_word, words_per_row) - - self.close_files() - debug.info(1,"Data Generated") - globals.end_openram() - - def init_data_gen(self): - """Initialization for the data test to run""" - globals.init_openram("config_20_{0}".format(OPTS.tech_name)) - OPTS.spice_name="hspice" #Much faster than ngspice. - OPTS.trim_netlist = False - OPTS.netlist_only = True - OPTS.analytical_delay = False - # This is a hack to reload the characterizer __init__ with the spice version - from importlib import reload - import characterizer - reload(characterizer) - - def close_files(self): - """Closes all files stored in the file dict""" - for key,file in self.csv_files.items(): - file.close() - - def get_sram_configs(self): - """Generate lists of wordsizes, number of words, and column mux size (words per row) to be tested.""" - min_word_size = 1 - max_word_size = 16 - min_num_words_log2 = 4 - max_num_words_log2 = 8 - word_sizes = [i for i in range(min_word_size,max_word_size+1)] - num_words = [2**i for i in range(min_num_words_log2,max_num_words_log2+1)] - words_per_row = [1] - return word_sizes, num_words, words_per_row - - def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row): - """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" - sram_specs = [word_size,num_words,words_per_row] - for data_name, data_values in sram_data.items(): - self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]) - debug.info(2,"Data Added to CSV file.") - - def initialize_csv_file(self, sram_data): - """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" - #CSV File writing - header_dict = self.delay_obj.get_all_signal_names() - self.csv_files = {} - self.csv_writers = {} - for data_name, header_list in header_dict.items(): - self.csv_files[data_name] = open('{}data_{}.csv'.format(MODEL_DIR,data_name), 'w') - fields = ('word_size', 'num_words', 'words_per_row', *header_list) - self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') - self.csv_writers[data_name].writerow(fields) - - def get_sram_data(self, word_size, num_words, words_per_row): - """Generates the SRAM based on input configuration and returns the data.""" - from characterizer import model_check - c = sram_config(word_size=word_size, - num_words=num_words, - num_banks=1) - #minimum 16 rows. Most sizes below 16*16 will try to automatically use less rows unless enforced. - #if word_size*num_words < 256: - c.words_per_row=words_per_row #Force no column mux until incorporated into analytical delay. - - debug.info(1, "Getting data for {} bit, {} words SRAM with 1 bank".format(word_size, num_words)) - s = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) - - tempspice = OPTS.openram_temp + "temp.sp" - s.sp_write(tempspice) - - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - self.delay_obj = model_check(s.s, tempspice, corner) - - import tech - #Only 1 at a time - probe_address = "1" * s.s.addr_size - probe_data = s.s.word_size - 1 - loads = [tech.spice["msflop_in_cap"]*4] - slews = [tech.spice["rise_time"]*2] - - sram_data = self.delay_obj.analyze(probe_address,probe_data,slews,loads) - return sram_data - - def remove_lists_from_dict(self, dict): - """Check all the values in the dict and replaces the list items with its first value.""" - #This is useful because the tests performed here only generate 1 value but a list - #with 1 item makes writing it to a csv later harder. - for key in dict.keys(): - if type(dict[key]) is list: - if len(dict[key]) > 0: - dict[key] = dict[key][0] - else: - del dict[key] - -# instantiate a copdsay of the class to actually run the test -if __name__ == "__main__": - (OPTS, args) = globals.parse_args() - del sys.argv[1:] - header(__file__, OPTS.tech_name) - unittest.main() +#!/usr/bin/env python3 +""" +Run a regression test on various srams +""" + +import unittest +from testutils import header,openram_test +import sys,os +sys.path.append(os.path.join(sys.path[0],"..")) +import globals +from globals import OPTS +import debug +import csv +from sram import sram +from sram_config import sram_config + +MODEL_DIR = "model_data/" + +class data_collection(openram_test): + + def runTest(self): + self.init_data_gen() + + #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. + sram_data = self.get_sram_data(1,16,1) + self.initialize_csv_file(sram_data) + + self.add_sram_data_to_csv(sram_data, 1, 16, 1) + + #Run openRAM for several size configurations + #word_size_list, num_word_list, words_per_row_list = self.get_sram_configs() + word_size_list, num_word_list, words_per_row_list = [4], [16], [1] #for quick testing. + for word_size in word_size_list: + for num_word in num_word_list: + for words_per_row in words_per_row_list: + #Unfortunately, init needs to be called everytime + self.init_data_gen() + sram_data = self.get_sram_data(word_size, num_word, words_per_row) + self.add_sram_data_to_csv(sram_data, word_size, num_word, words_per_row) + + self.close_files() + debug.info(1,"Data Generated") + globals.end_openram() + + def init_data_gen(self): + """Initialization for the data test to run""" + globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + OPTS.spice_name="hspice" #Much faster than ngspice. + OPTS.trim_netlist = False + OPTS.netlist_only = True + OPTS.analytical_delay = False + # This is a hack to reload the characterizer __init__ with the spice version + from importlib import reload + import characterizer + reload(characterizer) + + def close_files(self): + """Closes all files stored in the file dict""" + for key,file in self.csv_files.items(): + file.close() + + def get_sram_configs(self): + """Generate lists of wordsizes, number of words, and column mux size (words per row) to be tested.""" + min_word_size = 1 + max_word_size = 16 + min_num_words_log2 = 4 + max_num_words_log2 = 8 + word_sizes = [i for i in range(min_word_size,max_word_size+1)] + num_words = [2**i for i in range(min_num_words_log2,max_num_words_log2+1)] + words_per_row = [1] + return word_sizes, num_words, words_per_row + + def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row): + """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" + sram_specs = [word_size,num_words,words_per_row] + for data_name, data_values in sram_data.items(): + self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]) + debug.info(2,"Data Added to CSV file.") + + def initialize_csv_file(self, sram_data): + """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" + #CSV File writing + header_dict = self.delay_obj.get_all_signal_names() + self.csv_files = {} + self.csv_writers = {} + for data_name, header_list in header_dict.items(): + self.csv_files[data_name] = open('{}data_{}.csv'.format(MODEL_DIR,data_name), 'w') + fields = ('word_size', 'num_words', 'words_per_row', *header_list) + self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') + self.csv_writers[data_name].writerow(fields) + + def get_sram_data(self, word_size, num_words, words_per_row): + """Generates the SRAM based on input configuration and returns the data.""" + from characterizer import model_check + c = sram_config(word_size=word_size, + num_words=num_words, + num_banks=1) + #minimum 16 rows. Most sizes below 16*16 will try to automatically use less rows unless enforced. + #if word_size*num_words < 256: + c.words_per_row=words_per_row #Force no column mux until incorporated into analytical delay. + + debug.info(1, "Getting data for {} bit, {} words SRAM with 1 bank".format(word_size, num_words)) + s = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) + + tempspice = OPTS.openram_temp + "temp.sp" + s.sp_write(tempspice) + + corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) + self.delay_obj = model_check(s.s, tempspice, corner) + + import tech + #Only 1 at a time + probe_address = "1" * s.s.addr_size + probe_data = s.s.word_size - 1 + loads = [tech.spice["msflop_in_cap"]*4] + slews = [tech.spice["rise_time"]*2] + + sram_data = self.delay_obj.analyze(probe_address,probe_data,slews,loads) + return sram_data + + def remove_lists_from_dict(self, dict): + """Check all the values in the dict and replaces the list items with its first value.""" + #This is useful because the tests performed here only generate 1 value but a list + #with 1 item makes writing it to a csv later harder. + for key in dict.keys(): + if type(dict[key]) is list: + if len(dict[key]) > 0: + dict[key] = dict[key][0] + else: + del dict[key] + +# instantiate a copdsay of the class to actually run the test +if __name__ == "__main__": + (OPTS, args) = globals.parse_args() + del sys.argv[1:] + header(__file__, OPTS.tech_name) + unittest.main() From 6d3884d60ddb6ac96c9ce57e11e87f538b138dda Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 22 Jan 2019 16:40:46 -0800 Subject: [PATCH 14/77] Added corner data collection. --- compiler/characterizer/model_check.py | 2 +- compiler/tests/config_data.py | 9 ++ compiler/tests/delay_data_collection.py | 92 +++++++++++-------- .../data_4b_16word_1way_sae_measures.csv | 3 + .../data_4b_16word_1way_sae_model.csv | 3 + .../data_4b_16word_1way_wl_measures.csv | 3 + .../data_4b_16word_1way_wl_model.csv | 3 + .../tests/model_data/data_sae_measures.csv | 3 - compiler/tests/model_data/data_sae_model.csv | 3 - .../tests/model_data/data_wl_measures.csv | 3 - compiler/tests/model_data/data_wl_model.csv | 3 - technology/freepdk45/tech/tech.py | 7 +- technology/scn4m_subm/tech/tech.py | 7 +- 13 files changed, 90 insertions(+), 51 deletions(-) create mode 100755 compiler/tests/config_data.py create mode 100644 compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_sae_model.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_wl_model.csv delete mode 100644 compiler/tests/model_data/data_sae_measures.csv delete mode 100644 compiler/tests/model_data/data_sae_model.csv delete mode 100644 compiler/tests/model_data/data_wl_measures.csv delete mode 100644 compiler/tests/model_data/data_wl_model.csv diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 059227e1..12174a4b 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -235,7 +235,7 @@ class model_check(delay): read_port = self.read_ports[0] #only test the first read port self.targ_read_ports = [read_port] self.targ_write_ports = [self.write_ports[0]] - debug.info(1,"Bitline swing test: corner {}".format(self.corner)) + debug.info(1,"Model test: corner {}".format(self.corner)) (success, wl_delays, sae_delays, wl_slews, sae_slews)=self.run_delay_simulation() debug.check(success, "Model measurements Failed: period={}".format(self.period)) wl_model_delays, sae_model_delays = self.get_model_delays(read_port) diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py new file mode 100755 index 00000000..31a28dfe --- /dev/null +++ b/compiler/tests/config_data.py @@ -0,0 +1,9 @@ +word_size = 1 +num_words = 16 + +tech_name = "freepdk45" +process_corners = ["TT", "FF"] +supply_voltages = [1.0] +temperatures = [25] + + diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index ac10b98c..d3906d39 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -21,30 +21,33 @@ class data_collection(openram_test): def runTest(self): self.init_data_gen() + word_size, num_words, words_per_row = 4, 16, 1 + self.evalulate_sram_on_corners(word_size, num_words, words_per_row) + globals.end_openram() + + def evalulate_sram_on_corners(self, word_size, num_words, words_per_row): + """Performs corner analysis on a single SRAM configuration""" + self.create_sram(word_size, num_words, words_per_row) #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. - sram_data = self.get_sram_data(1,16,1) - self.initialize_csv_file(sram_data) - - self.add_sram_data_to_csv(sram_data, 1, 16, 1) - - #Run openRAM for several size configurations - #word_size_list, num_word_list, words_per_row_list = self.get_sram_configs() - word_size_list, num_word_list, words_per_row_list = [4], [16], [1] #for quick testing. - for word_size in word_size_list: - for num_word in num_word_list: - for words_per_row in words_per_row_list: - #Unfortunately, init needs to be called everytime - self.init_data_gen() - sram_data = self.get_sram_data(word_size, num_word, words_per_row) - self.add_sram_data_to_csv(sram_data, word_size, num_word, words_per_row) + corner_gen = self.corner_combination_generator() + init_corner = next(corner_gen) + sram_data = self.get_sram_data(init_corner) + self.initialize_csv_file(sram_data, word_size, num_words, words_per_row) + self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, init_corner) + #Run openRAM for all corners + for corner in corner_gen: + sram_data = self.get_sram_data(corner) + self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, corner) + self.close_files() debug.info(1,"Data Generated") - globals.end_openram() def init_data_gen(self): """Initialization for the data test to run""" - globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + globals.init_openram("config_data") + if OPTS.tech_name == "scmos": + debug.warning("Device models not up to date with scn4m technology.") OPTS.spice_name="hspice" #Much faster than ngspice. OPTS.trim_netlist = False OPTS.netlist_only = True @@ -58,7 +61,18 @@ class data_collection(openram_test): """Closes all files stored in the file dict""" for key,file in self.csv_files.items(): file.close() - + + def corner_combination_generator(self): + """Generates corner using a combination of values from config file""" + processes = OPTS.process_corners + voltages = OPTS.supply_voltages + temperatures = OPTS.temperatures + for proc in processes: + for volt in voltages: + for temp in temperatures: + yield (proc, volt, temp) + + def get_sram_configs(self): """Generate lists of wordsizes, number of words, and column mux size (words per row) to be tested.""" min_word_size = 1 @@ -70,28 +84,32 @@ class data_collection(openram_test): words_per_row = [1] return word_sizes, num_words, words_per_row - def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row): + def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row, corner): """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" - sram_specs = [word_size,num_words,words_per_row] + sram_specs = [word_size,num_words,words_per_row,*corner] for data_name, data_values in sram_data.items(): self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]) debug.info(2,"Data Added to CSV file.") - def initialize_csv_file(self, sram_data): + def initialize_csv_file(self, sram_data, word_size, num_words, words_per_row): """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" #CSV File writing header_dict = self.delay_obj.get_all_signal_names() self.csv_files = {} self.csv_writers = {} for data_name, header_list in header_dict.items(): - self.csv_files[data_name] = open('{}data_{}.csv'.format(MODEL_DIR,data_name), 'w') - fields = ('word_size', 'num_words', 'words_per_row', *header_list) + file_name = '{}data_{}b_{}word_{}way_{}.csv'.format(MODEL_DIR, + word_size, + num_words, + words_per_row, + data_name) + self.csv_files[data_name] = open(file_name, 'w') + fields = ('word_size', 'num_words', 'words_per_row', 'process', 'voltage', 'temp', *header_list) self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') self.csv_writers[data_name].writerow(fields) - - def get_sram_data(self, word_size, num_words, words_per_row): - """Generates the SRAM based on input configuration and returns the data.""" - from characterizer import model_check + + def create_sram(self, word_size, num_words, words_per_row): + """Generates the SRAM based on input configuration.""" c = sram_config(word_size=word_size, num_words=num_words, num_banks=1) @@ -99,19 +117,21 @@ class data_collection(openram_test): #if word_size*num_words < 256: c.words_per_row=words_per_row #Force no column mux until incorporated into analytical delay. - debug.info(1, "Getting data for {} bit, {} words SRAM with 1 bank".format(word_size, num_words)) - s = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) + debug.info(1, "Creating SRAM: {} bit, {} words, with 1 bank".format(word_size, num_words)) + self.sram = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) - tempspice = OPTS.openram_temp + "temp.sp" - s.sp_write(tempspice) - - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - self.delay_obj = model_check(s.s, tempspice, corner) + self.sram_spice = OPTS.openram_temp + "temp.sp" + self.sram.sp_write(self.sram_spice) + + def get_sram_data(self, corner): + """Generates the delay object using the corner and runs a simulation for data.""" + from characterizer import model_check + self.delay_obj = model_check(self.sram.s, self.sram_spice, corner) import tech #Only 1 at a time - probe_address = "1" * s.s.addr_size - probe_data = s.s.word_size - 1 + probe_address = "1" * self.sram.s.addr_size + probe_data = self.sram.s.word_size - 1 loads = [tech.spice["msflop_in_cap"]*4] slews = [tech.spice["rise_time"]*2] diff --git a/compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv new file mode 100644 index 00000000..5b11f78a --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +4,16,1,TT,1.0,25,0.021103999999999998,0.0061908,0.018439,0.017329999999999998,0.0094258,0.018392000000000002,0.011755000000000002 +4,16,1,FF,1.0,25,0.019583,0.005128,0.017439,0.015281,0.008443599999999999,0.017213000000000003,0.010389 diff --git a/compiler/tests/model_data/data_4b_16word_1way_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_sae_model.csv new file mode 100644 index 00000000..ed1b6dfb --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_sae_model.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +4,16,1,TT,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 +4,16,1,FF,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 diff --git a/compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv new file mode 100644 index 00000000..64329d3a --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,0.018438,0.0092547,0.013922,0.008679300000000001 +4,16,1,FF,1.0,25,0.017261,0.008002500000000001,0.012757,0.0077545 diff --git a/compiler/tests/model_data/data_4b_16word_1way_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_wl_model.csv new file mode 100644 index 00000000..91363e48 --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_wl_model.csv @@ -0,0 +1,3 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,FF,1.0,25,4.4,12.4,5.8,5.4 diff --git a/compiler/tests/model_data/data_sae_measures.csv b/compiler/tests/model_data/data_sae_measures.csv deleted file mode 100644 index 29b9ee07..00000000 --- a/compiler/tests/model_data/data_sae_measures.csv +++ /dev/null @@ -1,3 +0,0 @@ -word_size,num_words,words_per_row,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -1,16,1,0.1073407,0.010667,0.1317698,0.0910598,0.04802989999999999,0.1304522,0.0164942 -4,16,1,0.10635089999999998,0.010598499999999999,0.1315219,0.0911604,0.048601,0.12349109999999999,0.05874360000000001 diff --git a/compiler/tests/model_data/data_sae_model.csv b/compiler/tests/model_data/data_sae_model.csv deleted file mode 100644 index 25a56d9e..00000000 --- a/compiler/tests/model_data/data_sae_model.csv +++ /dev/null @@ -1,3 +0,0 @@ -word_size,num_words,words_per_row,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -1,16,1,5.0,0.75,4.5,5.5,2.5,4.5,1.09375 -4,16,1,5.0,0.75,4.5,5.5,2.5,4.5,1.09375 diff --git a/compiler/tests/model_data/data_wl_measures.csv b/compiler/tests/model_data/data_wl_measures.csv deleted file mode 100644 index 95aa4044..00000000 --- a/compiler/tests/model_data/data_wl_measures.csv +++ /dev/null @@ -1,3 +0,0 @@ -word_size,num_words,words_per_row,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -1,16,1,0.1257435,0.0364958,0.051171100000000004,0.020759299999999998 -4,16,1,0.124175,0.03654059999999999,0.0507837,0.0433494 diff --git a/compiler/tests/model_data/data_wl_model.csv b/compiler/tests/model_data/data_wl_model.csv deleted file mode 100644 index ae601f49..00000000 --- a/compiler/tests/model_data/data_wl_model.csv +++ /dev/null @@ -1,3 +0,0 @@ -word_size,num_words,words_per_row,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -1,16,1,1.5,21.833333333333332,2.0,1.1666666666666665 -4,16,1,2.5,11.166666666666666,2.0,3.1666666666666665 diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index ff9b5169..a0ba8cbc 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -271,7 +271,12 @@ spice["fet_models"] = { "TT" : [SPICE_MODEL_DIR+"/models_nom/PMOS_VTG.inc",SPICE "FF" : [SPICE_MODEL_DIR+"/models_ff/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ff/NMOS_VTG.inc"], "SF" : [SPICE_MODEL_DIR+"/models_ss/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ff/NMOS_VTG.inc"], "FS" : [SPICE_MODEL_DIR+"/models_ff/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ss/NMOS_VTG.inc"], - "SS" : [SPICE_MODEL_DIR+"/models_ss/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ss/NMOS_VTG.inc"]} + "SS" : [SPICE_MODEL_DIR+"/models_ss/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ss/NMOS_VTG.inc"], + "ST" : [SPICE_MODEL_DIR+"/models_ss/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_nom/NMOS_VTG.inc"], + "TS" : [SPICE_MODEL_DIR+"/models_nom/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ss/NMOS_VTG.inc"], + "FT" : [SPICE_MODEL_DIR+"/models_ff/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_nom/NMOS_VTG.inc"], + "TF" : [SPICE_MODEL_DIR+"/models_nom/PMOS_VTG.inc",SPICE_MODEL_DIR+"/models_ff/NMOS_VTG.inc"], + } #spice stimulus related variables spice["feasible_period"] = 5 # estimated feasible period in ns diff --git a/technology/scn4m_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py index fe2d686a..1add9937 100755 --- a/technology/scn4m_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -236,7 +236,12 @@ spice["fet_models"] = { "TT" : [SPICE_MODEL_DIR+"/nom/pmos.sp",SPICE_MODEL_DIR+" "FF" : [SPICE_MODEL_DIR+"/ff/pmos.sp",SPICE_MODEL_DIR+"/ff/nmos.sp"], "FS" : [SPICE_MODEL_DIR+"/ff/pmos.sp",SPICE_MODEL_DIR+"/ss/nmos.sp"], "SF" : [SPICE_MODEL_DIR+"/ss/pmos.sp",SPICE_MODEL_DIR+"/ff/nmos.sp"], - "SS" : [SPICE_MODEL_DIR+"/ss/pmos.sp",SPICE_MODEL_DIR+"/ss/nmos.sp"] } + "SS" : [SPICE_MODEL_DIR+"/ss/pmos.sp",SPICE_MODEL_DIR+"/ss/nmos.sp"], + "ST" : [SPICE_MODEL_DIR+"/ss/pmos.sp",SPICE_MODEL_DIR+"/nom/nmos.sp"], + "TS" : [SPICE_MODEL_DIR+"/nom/pmos.sp",SPICE_MODEL_DIR+"/ss/nmos.sp"], + "FT" : [SPICE_MODEL_DIR+"/ff/pmos.sp",SPICE_MODEL_DIR+"/nom/nmos.sp"], + "TF" : [SPICE_MODEL_DIR+"/nom/pmos.sp",SPICE_MODEL_DIR+"/ff/nmos.sp"], + } #spice stimulus related variables From d527b7da62d3a85047632d8e7072d8be42ce724b Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 23 Jan 2019 13:19:35 -0800 Subject: [PATCH 15/77] Added delay error calculations --- compiler/tests/delay_data_collection.py | 43 +++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index d3906d39..6a8c9fa8 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -13,6 +13,7 @@ import debug import csv from sram import sram from sram_config import sram_config +import pandas as pd MODEL_DIR = "model_data/" @@ -22,10 +23,43 @@ class data_collection(openram_test): self.init_data_gen() word_size, num_words, words_per_row = 4, 16, 1 - self.evalulate_sram_on_corners(word_size, num_words, words_per_row) + #Get data and write to CSV + self.save_data_sram_corners(word_size, num_words, words_per_row) + + #Only care about the measured data for now, select from all file names. Names are defined in model_check + wl_dataframe, sae_dataframe = self.get_csv_data() + self.evaluate_data(wl_dataframe, sae_dataframe) + globals.end_openram() - def evalulate_sram_on_corners(self, word_size, num_words, words_per_row): + def get_csv_data(self): + """Hardcoded Hack to get the measurement data from the csv into lists. """ + wl_files_name = [file_name for file_name in self.file_names if "wl_measures" in file_name][0] + sae_files_name = [file_name for file_name in self.file_names if "sae_measures" in file_name][0] + wl_dataframe = pd.read_csv(wl_files_name,encoding='utf-8') + sae_dataframe = pd.read_csv(sae_files_name,encoding='utf-8') + return wl_dataframe,sae_dataframe + + def evaluate_data(self, wl_dataframe, sae_dataframe): + """Analyze the delay error and variation error""" + delay_error = self.calculate_delay_error(wl_dataframe, sae_dataframe) + debug.info(1, "Delay errors:\n{}".format(delay_error)) + + def calculate_delay_error(self, wl_dataframe, sae_dataframe): + """Calculates the percentage difference in delays between the wordline and sense amp enable""" + start_data_pos = len(self.config_fields) #items before this point are configuration related + error_list = [] + row_count = 0 + for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): + debug.info(1, "wl_row:\n{}".format(wl_row)) + wl_sum = sum(wl_row[start_data_pos+1:]) + debug.info(1, "wl_sum:\n{}".format(wl_sum)) + sae_sum = sum(sae_row[start_data_pos+1:]) + error_list.append(abs((wl_sum-sae_sum)/wl_sum)) + + return error_list + + def save_data_sram_corners(self, word_size, num_words, words_per_row): """Performs corner analysis on a single SRAM configuration""" self.create_sram(word_size, num_words, words_per_row) #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. @@ -97,14 +131,17 @@ class data_collection(openram_test): header_dict = self.delay_obj.get_all_signal_names() self.csv_files = {} self.csv_writers = {} + self.file_names = [] for data_name, header_list in header_dict.items(): file_name = '{}data_{}b_{}word_{}way_{}.csv'.format(MODEL_DIR, word_size, num_words, words_per_row, data_name) + self.file_names.append(file_name) self.csv_files[data_name] = open(file_name, 'w') - fields = ('word_size', 'num_words', 'words_per_row', 'process', 'voltage', 'temp', *header_list) + self.config_fields = ['word_size', 'num_words', 'words_per_row', 'process', 'voltage', 'temp'] + fields = (*self.config_fields, *header_list) self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') self.csv_writers[data_name].writerow(fields) From 65c5cc9fe72ab9028c7bab6a2fdba2e68aea62bf Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 24 Jan 2019 07:09:51 -0800 Subject: [PATCH 16/77] added support for more corner variations --- compiler/datasheet/datasheet_gen.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 6786c7bf..618629ff 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -21,12 +21,27 @@ def process_name(corner): """ Expands the names of the characterization corner types into something human friendly """ + if corner == "TS": + return "Typical - Slow" if corner == "TT": return "Typical - Typical" + if corner == "TF": + return "Typical - Fast" + if corner == "SS": return "Slow - Slow" + if corner == "ST": + return "Slow - Typical" + if corner == "SF": + return "Slow - Fast" + + if corner == "FS": + return "Fast - Slow" + if corner == "FT": + return "Fast - Typical" if corner == "FF": return "Fast - Fast" + else: return "custom" From ee03b4ecb80255f52a4f0c9a86b99810ea1ef8d6 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 24 Jan 2019 09:25:09 -0800 Subject: [PATCH 17/77] Added some data variation checking --- compiler/modules/control_logic.py | 12 ++-- compiler/tests/config_data.py | 2 +- compiler/tests/delay_data_collection.py | 68 +++++++++++++++---- ...ata_4b_16word_1way_dc2x3_sae_measures.csv} | 3 + ...> data_4b_16word_1way_dc2x3_sae_model.csv} | 3 + ...data_4b_16word_1way_dc2x3_wl_measures.csv} | 3 + ...=> data_4b_16word_1way_dc2x3_wl_model.csv} | 3 + ...data_4b_16word_1way_dc4x2_sae_measures.csv | 6 ++ .../data_4b_16word_1way_dc4x2_sae_model.csv | 6 ++ .../data_4b_16word_1way_dc4x2_wl_measures.csv | 6 ++ .../data_4b_16word_1way_dc4x2_wl_model.csv | 6 ++ 11 files changed, 96 insertions(+), 22 deletions(-) rename compiler/tests/model_data/{data_4b_16word_1way_sae_measures.csv => data_4b_16word_1way_dc2x3_sae_measures.csv} (63%) rename compiler/tests/model_data/{data_4b_16word_1way_sae_model.csv => data_4b_16word_1way_dc2x3_sae_model.csv} (71%) rename compiler/tests/model_data/{data_4b_16word_1way_wl_measures.csv => data_4b_16word_1way_dc2x3_wl_measures.csv} (59%) rename compiler/tests/model_data/{data_4b_16word_1way_wl_model.csv => data_4b_16word_1way_dc2x3_wl_model.csv} (69%) create mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv create mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 9a945383..fbea31fb 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -112,6 +112,7 @@ class control_logic(design.design): c = reload(__import__(OPTS.replica_bitline)) replica_bitline = getattr(c, OPTS.replica_bitline) bitcell_loads = int(math.ceil(self.num_rows * parameter["rbl_height_percentage"])) + #Use a model to determine the delays with that heuristic if OPTS.use_tech_delay_chain_size: #Use tech parameters if set. delay_stages = parameter["static_delay_stages"] delay_fanout = parameter["static_fanout_per_stage"] @@ -119,6 +120,8 @@ class control_logic(design.design): self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, bitcell_loads, name="replica_bitline_"+self.port_type) + if self.sram != None: #Calculate model value even for specified sizes + self.set_sen_wl_delays() else: #Otherwise, use a heuristic and/or model based sizing. #First use a heuristic @@ -126,13 +129,10 @@ class control_logic(design.design): self.replica_bitline = replica_bitline([delay_fanout_heuristic]*delay_stages_heuristic, bitcell_loads, name="replica_bitline_"+self.port_type) - - #Use a model to determine the delays with that heuristic - if self.sram != None: + if self.sram != None: #Calculate delays for potential re-sizing self.set_sen_wl_delays() - - #Resize if necessary - if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #check condition based on resizing method + #Resize if necessary, condition depends on resizing method + if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #This resizes to match fall and rise delays, can make the delay chain weird sizes. # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) # self.replica_bitline = replica_bitline(stage_list, diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index 31a28dfe..e605ee8c 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -2,7 +2,7 @@ word_size = 1 num_words = 16 tech_name = "freepdk45" -process_corners = ["TT", "FF"] +process_corners = ["TT", "FF", "SS", "SF", "FS"] supply_voltages = [1.0] temperatures = [25] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 6a8c9fa8..ff23a297 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -2,31 +2,35 @@ """ Run a regression test on various srams """ +import csv,sys,os +import pandas as pd import unittest from testutils import header,openram_test -import sys,os sys.path.append(os.path.join(sys.path[0],"..")) import globals from globals import OPTS import debug -import csv from sram import sram from sram_config import sram_config -import pandas as pd MODEL_DIR = "model_data/" class data_collection(openram_test): def runTest(self): - self.init_data_gen() - - word_size, num_words, words_per_row = 4, 16, 1 - #Get data and write to CSV - self.save_data_sram_corners(word_size, num_words, words_per_row) - #Only care about the measured data for now, select from all file names. Names are defined in model_check + word_size, num_words, words_per_row = 4, 16, 1 + self.init_data_gen() + self.set_delay_chain(2,3) + self.save_data_sram_corners(word_size, num_words, words_per_row) + wl_dataframe, sae_dataframe = self.get_csv_data() + self.evaluate_data(wl_dataframe, sae_dataframe) + + #Run again but with different delay chain sizes + self.init_data_gen() + self.set_delay_chain(4,2) + self.save_data_sram_corners(word_size, num_words, words_per_row) wl_dataframe, sae_dataframe = self.get_csv_data() self.evaluate_data(wl_dataframe, sae_dataframe) @@ -43,7 +47,9 @@ class data_collection(openram_test): def evaluate_data(self, wl_dataframe, sae_dataframe): """Analyze the delay error and variation error""" delay_error = self.calculate_delay_error(wl_dataframe, sae_dataframe) - debug.info(1, "Delay errors:\n{}".format(delay_error)) + debug.info(1, "Delay errors:{}".format(delay_error)) + variation_error = self.calculate_delay_variation_error(wl_dataframe, sae_dataframe) + debug.info(1, "Variation errors:{}".format(variation_error)) def calculate_delay_error(self, wl_dataframe, sae_dataframe): """Calculates the percentage difference in delays between the wordline and sense amp enable""" @@ -51,14 +57,36 @@ class data_collection(openram_test): error_list = [] row_count = 0 for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): - debug.info(1, "wl_row:\n{}".format(wl_row)) + debug.info(2, "wl_row:{}".format(wl_row)) wl_sum = sum(wl_row[start_data_pos+1:]) - debug.info(1, "wl_sum:\n{}".format(wl_sum)) + debug.info(2, "wl_sum:{}".format(wl_sum)) sae_sum = sum(sae_row[start_data_pos+1:]) error_list.append(abs((wl_sum-sae_sum)/wl_sum)) - return error_list + def calculate_delay_variation_error(self, wl_dataframe, sae_dataframe): + """Measures a base delay from the first corner then the variations from that base""" + start_data_pos = len(self.config_fields) + variation_error_list = [] + count = 0 + for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): + if count == 0: + #Create a base delay, variation is defined as the difference between this base + wl_base = sum(wl_row[start_data_pos+1:]) + debug.info(1, "wl_sum base:{}".format(wl_base)) + sae_base = sum(sae_row[start_data_pos+1:]) + variation_error_list.append(0.0) + else: + #Calculate the variation from the respective base and then difference between the variations + wl_sum = sum(wl_row[start_data_pos+1:]) + wl_base_diff = abs((wl_base-wl_sum)/wl_base) + sae_sum = sum(sae_row[start_data_pos+1:]) + sae_base_diff = abs((sae_base-sae_sum)/sae_base) + variation_diff = abs((wl_base_diff-sae_base_diff)/wl_base_diff) + variation_error_list.append(variation_diff) + count+=1 + return variation_error_list + def save_data_sram_corners(self, word_size, num_words, words_per_row): """Performs corner analysis on a single SRAM configuration""" self.create_sram(word_size, num_words, words_per_row) @@ -80,17 +108,25 @@ class data_collection(openram_test): def init_data_gen(self): """Initialization for the data test to run""" globals.init_openram("config_data") + from tech import parameter + global parameter if OPTS.tech_name == "scmos": debug.warning("Device models not up to date with scn4m technology.") OPTS.spice_name="hspice" #Much faster than ngspice. OPTS.trim_netlist = False OPTS.netlist_only = True OPTS.analytical_delay = False + OPTS.use_tech_delay_chain_size = True # This is a hack to reload the characterizer __init__ with the spice version from importlib import reload import characterizer reload(characterizer) + def set_delay_chain(self, stages, fanout): + """Force change the parameter in the tech file to specify a delay chain configuration""" + parameter["static_delay_stages"] = stages + parameter["static_fanout_per_stage"] = fanout + def close_files(self): """Closes all files stored in the file dict""" for key,file in self.csv_files.items(): @@ -133,10 +169,12 @@ class data_collection(openram_test): self.csv_writers = {} self.file_names = [] for data_name, header_list in header_dict.items(): - file_name = '{}data_{}b_{}word_{}way_{}.csv'.format(MODEL_DIR, + file_name = '{}data_{}b_{}word_{}way_dc{}x{}_{}.csv'.format(MODEL_DIR, word_size, num_words, - words_per_row, + words_per_row, + parameter["static_delay_stages"], + parameter["static_fanout_per_stage"], data_name) self.file_names.append(file_name) self.csv_files[data_name] = open(file_name, 'w') diff --git a/compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv similarity index 63% rename from compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv rename to compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv index 5b11f78a..696761c8 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_sae_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv @@ -1,3 +1,6 @@ word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 4,16,1,TT,1.0,25,0.021103999999999998,0.0061908,0.018439,0.017329999999999998,0.0094258,0.018392000000000002,0.011755000000000002 4,16,1,FF,1.0,25,0.019583,0.005128,0.017439,0.015281,0.008443599999999999,0.017213000000000003,0.010389 +4,16,1,SS,1.0,25,0.022932,0.0074386999999999995,0.019891000000000002,0.019466,0.010501,0.019849,0.013432 +4,16,1,SF,1.0,25,0.019301,0.007507700000000001,0.016878999999999998,0.018834,0.010293,0.017156,0.01299 +4,16,1,FS,1.0,25,0.023601,0.0045925,0.020515,0.015586,0.0085521,0.019967,0.010449 diff --git a/compiler/tests/model_data/data_4b_16word_1way_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv similarity index 71% rename from compiler/tests/model_data/data_4b_16word_1way_sae_model.csv rename to compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv index ed1b6dfb..01c2e0e4 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_sae_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv @@ -1,3 +1,6 @@ word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 4,16,1,TT,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 4,16,1,FF,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 +4,16,1,SS,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 +4,16,1,SF,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 +4,16,1,FS,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 diff --git a/compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv similarity index 59% rename from compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv rename to compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv index 64329d3a..b3b65af3 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_wl_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv @@ -1,3 +1,6 @@ word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 4,16,1,TT,1.0,25,0.018438,0.0092547,0.013922,0.008679300000000001 4,16,1,FF,1.0,25,0.017261,0.008002500000000001,0.012757,0.0077545 +4,16,1,SS,1.0,25,0.019962,0.010683,0.015394,0.009734999999999999 +4,16,1,SF,1.0,25,0.017044,0.010483999999999999,0.012825,0.0094333 +4,16,1,FS,1.0,25,0.020398,0.0078018,0.015243999999999999,0.0079892 diff --git a/compiler/tests/model_data/data_4b_16word_1way_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv similarity index 69% rename from compiler/tests/model_data/data_4b_16word_1way_wl_model.csv rename to compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv index 91363e48..696f9952 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_wl_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv @@ -1,3 +1,6 @@ word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 4,16,1,TT,1.0,25,4.4,12.4,5.8,5.4 4,16,1,FF,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,SS,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,SF,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,FS,1.0,25,4.4,12.4,5.8,5.4 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv new file mode 100644 index 00000000..66366afd --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv @@ -0,0 +1,6 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +4,16,1,TT,1.0,25,0.021141999999999998,0.006257400000000001,0.015622,0.014144,0.017741,0.013434,0.009287,0.018439999999999998,0.011276 +4,16,1,FF,1.0,25,0.019646,0.0052736,0.014601,0.012589,0.016537,0.011916999999999999,0.0083483,0.017246,0.0099574 +4,16,1,SS,1.0,25,0.022917,0.0074182,0.016901,0.015895,0.019267,0.015147,0.010306000000000001,0.01986,0.012834 +4,16,1,SF,1.0,25,0.019208,0.007500799999999999,0.014421999999999999,0.015359999999999999,0.016408,0.014695999999999999,0.010128,0.017086999999999998,0.012516000000000001 +4,16,1,FS,1.0,25,0.023644000000000002,0.0046118,0.017239,0.01283,0.019428,0.012081999999999999,0.0085141,0.020073,0.009944 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv new file mode 100644 index 00000000..c45a8df4 --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv @@ -0,0 +1,6 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 +4,16,1,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 +4,16,1,FF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 +4,16,1,SS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 +4,16,1,SF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 +4,16,1,FS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv new file mode 100644 index 00000000..e08c6fa5 --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv @@ -0,0 +1,6 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,0.018481,0.0093054,0.013848,0.008683999999999999 +4,16,1,FF,1.0,25,0.017331,0.0080465,0.012700999999999999,0.0077613000000000005 +4,16,1,SS,1.0,25,0.019895,0.010660000000000001,0.015356999999999999,0.009745 +4,16,1,SF,1.0,25,0.016984000000000003,0.010501,0.012796,0.009405700000000001 +4,16,1,FS,1.0,25,0.020445,0.007772300000000001,0.015284,0.0079428 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv new file mode 100644 index 00000000..696f9952 --- /dev/null +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv @@ -0,0 +1,6 @@ +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,FF,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,SS,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,SF,1.0,25,4.4,12.4,5.8,5.4 +4,16,1,FS,1.0,25,4.4,12.4,5.8,5.4 From ed901aba5f9f34fc4b6f3b98c255df584394ef8c Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Mon, 28 Jan 2019 10:29:27 -0800 Subject: [PATCH 18/77] changed datetime to date --- compiler/characterizer/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 156481ce..93592882 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -525,7 +525,7 @@ class lib: datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+') - current_time = datetime.datetime.now() + current_time = datetime.date.today() datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},".format( "sram_{0}_{1}_{2}".format(OPTS.word_size, OPTS.num_words, OPTS.tech_name), OPTS.num_words, From 242a63accba79707646e3a19394cdb339d5898e9 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 29 Jan 2019 16:43:30 -0800 Subject: [PATCH 19/77] Fixed issues introduced by pdriver additions in model unit test --- compiler/characterizer/delay.py | 3 +- compiler/characterizer/model_check.py | 50 ++++++++++++++++++--------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index a327c548..7bd36cd1 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -904,7 +904,8 @@ class delay(simulation): port_data[port][mname].append(bank_delay[port].slew/1e3) else: debug.error("Measurement name not recognized: {}".format(mname),1) - sram_data = { "min_period": 0, + period_margin = 0.1 + sram_data = { "min_period": bank_delay[0]*2*period_margin, "leakage_power": power.leakage} return (sram_data,port_data) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 12174a4b..e76f5427 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -22,41 +22,44 @@ class model_check(delay): delay.__init__(self,sram,spfile,corner) self.period = tech.spice["feasible_period"] self.create_data_names() - + def create_data_names(self): self.wl_meas_name, self.wl_model_name = "wl_measures", "wl_model" self.sae_meas_name, self.sae_model_name = "sae_measures", "sae_model" def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" - #Altering the names will crash the characterizer. TODO: object orientated approach to the measurements. - self.wl_delay_meas_names = ["delay_wl_en_bar", "delay_wl_en", "delay_dvr_en_bar", "delay_wl"] - self.wl_slew_meas_names = ["slew_wl_gated_clk_bar","slew_wl_en_bar", "slew_wl_en", "slew_drv_en_bar", "slew_wl"] + wl_en_driver_delay_names = ["delay_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_delay_names = ["delay_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_delay_names = ["delay_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + + wl_en_driver_slew_names = ["slew_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_slew_names = ["slew_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_slew_names = ["slew_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + + self.wl_delay_meas_names = wl_en_driver_delay_names+["delay_wl_en", "delay_wl_bar"]+wl_driver_delay_names+["delay_wl"] + self.wl_slew_meas_names = ["slew_wl_gated_clk_bar"]+wl_en_driver_slew_names+["slew_wl_en", "slew_wl_bar"]+wl_driver_slew_names+["slew_wl"] dc_delay_names = ["delay_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in"]+dc_delay_names dc_slew_names = ["slew_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in"]+dc_slew_names - self.sae_delay_meas_names = ["delay_pre_sen", "delay_sen_bar", "delay_sen"] - self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen", "slew_sen_bar", "slew_sen"] + self.sae_delay_meas_names = ["delay_pre_sen"]+sen_driver_delay_names+["delay_sen"] + self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen"]+sen_driver_slew_names+["slew_sen"] def create_signal_names(self): + """Creates list of the signal names used in the spice file along the wl and sen paths.""" delay.create_signal_names(self) #Signal names are all hardcoded, need to update to make it work for probe address and different configurations. - self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xbuf_wl_en.zb_int", "Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_15", "Xsram.Xbank0.wl_15"] + wl_en_driver_signals = ["Xsram.Xcontrol0.Xbuf_wl_en.Zb{}_int".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_signals = ["Xsram.Xbank0.Xwordline_driver0.Xwl_driver_inv0.Zb{}_int".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_signals = ["Xsram.Xcontrol0.Xbuf_s_en.Zb{}_int".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] delay_chain_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_{}".format(stage) for stage in range(1,self.get_num_delay_stages())] + ["Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + + self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar"]+wl_en_driver_signals+["Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_15"]+wl_driver_signals+["Xsram.Xbank0.wl_15"] self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"] + delay_chain_signal_names - self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en", "Xsram.Xcontrol0.Xbuf_s_en.zb_int", "Xsram.s_en0"] + self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en"]+sen_driver_signals+["Xsram.s_en0"] - def get_all_signal_names(self): - """Returns all signals names as a dict indexed by hardcoded names. Useful for writing the head of the CSV.""" - name_dict = {} - #Signal names are more descriptive than the measurement names, first value trimmed to match size of measurements names. - name_dict[self.wl_meas_name] = self.wl_signal_names[1:] - name_dict[self.wl_model_name] = name_dict["wl_measures"] #model uses same names as measured. - name_dict[self.sae_meas_name] = self.rbl_en_signal_names[1:]+self.sae_signal_names[1:] - name_dict[self.sae_model_name] = name_dict["sae_measures"] - return name_dict def create_measurement_objects(self): """Create the measurements used for read and write ports""" @@ -183,8 +186,21 @@ class model_check(delay): return self.sram.control_logic_rw.get_wl_sen_delays() def get_num_delay_stages(self): + """Gets the number of stages in the delay chain from the control logic""" return len(self.sram.control_logic_rw.replica_bitline.delay_fanout_list) + def get_num_wl_en_driver_stages(self): + """Gets the number of stages in the wl_en driver from the control logic""" + return self.sram.control_logic_rw.wl_en_driver.num_stages + + def get_num_sen_driver_stages(self): + """Gets the number of stages in the sen driver from the control logic""" + return self.sram.control_logic_rw.s_en_driver.num_stages + + def get_num_wl_driver_stages(self): + """Gets the number of stages in the wordline driver from the control logic""" + return self.sram.bank.wordline_driver.inv.num_stages + def scale_delays(self, delay_list): """Takes in a list of measured delays and convert it to simple units to easily compare to model values.""" converted_values = [] From c10c9e400940c7fe72f5665eb0e687c453b4870e Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 29 Jan 2019 23:02:28 -0800 Subject: [PATCH 20/77] Refactored some code and other additional improvements. --- compiler/characterizer/delay.py | 14 ++-- compiler/characterizer/model_check.py | 97 +++++++++++++++++++-------- 2 files changed, 77 insertions(+), 34 deletions(-) diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 7bd36cd1..14bdcd11 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -36,10 +36,6 @@ class delay(simulation): self.period = 0 self.set_load_slew(0,0) self.set_corner(corner) - self.create_signal_names() - - #Create global measure names. Should maybe be an input at some point. - self.create_measurement_names() def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" @@ -660,7 +656,7 @@ class delay(simulation): self.probe_address = probe_address self.probe_data = probe_data self.bitline_column = self.get_data_bit_column_number(probe_address, probe_data) - + self.wordline_row = self.get_address_row_number(probe_address) self.prepare_netlist() def get_data_bit_column_number(self, probe_address, probe_data): @@ -670,7 +666,11 @@ class delay(simulation): else: col_address = 0 bl_column = int(self.sram.words_per_row*probe_data + col_address) - return bl_column + return bl_column + + def get_address_row_number(self, probe_address): + """Calculates wordline row number of data bit under test using address and column mux size""" + return int(probe_address[self.sram.col_addr_size:],2) def prepare_netlist(self): """ Prepare a trimmed netlist and regular netlist. """ @@ -703,6 +703,8 @@ class delay(simulation): char_sram_data = {} self.set_probe(probe_address, probe_data) + self.create_signal_names() + self.create_measurement_names() self.create_measurement_objects() self.load=max(loads) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index e76f5427..2cf0d25d 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -29,22 +29,22 @@ class model_check(delay): def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" - wl_en_driver_delay_names = ["delay_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] - wl_driver_delay_names = ["delay_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] - sen_driver_delay_names = ["delay_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] - - wl_en_driver_slew_names = ["slew_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] - wl_driver_slew_names = ["slew_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] - sen_driver_slew_names = ["slew_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] - + #Create delay measurement names + wl_en_driver_delay_names = ["delay_wl_en_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_delay_names = ["delay_wl_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_delay_names = ["delay_sen_dvr{}_".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + dc_delay_names = ["delay_delay_chain_stage{}_".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.wl_delay_meas_names = wl_en_driver_delay_names+["delay_wl_en", "delay_wl_bar"]+wl_driver_delay_names+["delay_wl"] - self.wl_slew_meas_names = ["slew_wl_gated_clk_bar"]+wl_en_driver_slew_names+["slew_wl_en", "slew_wl_bar"]+wl_driver_slew_names+["slew_wl"] - - dc_delay_names = ["delay_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in"]+dc_delay_names - dc_slew_names = ["slew_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] - self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in"]+dc_slew_names self.sae_delay_meas_names = ["delay_pre_sen"]+sen_driver_delay_names+["delay_sen"] + + #Create slew measurement names + wl_en_driver_slew_names = ["slew_wl_en_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_slew_names = ["slew_wl_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_slew_names = ["slew_sen_dvr{}_".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + dc_slew_names = ["slew_delay_chain_stage{}_".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] + self.wl_slew_meas_names = ["slew_wl_gated_clk_bar"]+wl_en_driver_slew_names+["slew_wl_en", "slew_wl_bar"]+wl_driver_slew_names+["slew_wl"] + self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in"]+dc_slew_names self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen"]+sen_driver_slew_names+["slew_sen"] def create_signal_names(self): @@ -52,13 +52,21 @@ class model_check(delay): delay.create_signal_names(self) #Signal names are all hardcoded, need to update to make it work for probe address and different configurations. wl_en_driver_signals = ["Xsram.Xcontrol0.Xbuf_wl_en.Zb{}_int".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] - wl_driver_signals = ["Xsram.Xbank0.Xwordline_driver0.Xwl_driver_inv0.Zb{}_int".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + wl_driver_signals = ["Xsram.Xbank0.Xwordline_driver0.Xwl_driver_inv{}.Zb{}_int".format(self.wordline_row, stage) for stage in range(1,self.get_num_wl_driver_stages())] sen_driver_signals = ["Xsram.Xcontrol0.Xbuf_s_en.Zb{}_int".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] - delay_chain_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_{}".format(stage) for stage in range(1,self.get_num_delay_stages())] + ["Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + delay_chain_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_{}".format(stage) for stage in range(1,self.get_num_delay_stages())] - self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar"]+wl_en_driver_signals+["Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_15"]+wl_driver_signals+["Xsram.Xbank0.wl_15"] - self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"] + delay_chain_signal_names - self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en"]+sen_driver_signals+["Xsram.s_en0"] + self.wl_signal_names = ["Xsram.Xcontrol0.gated_clk_bar"]+\ + wl_en_driver_signals+\ + ["Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_{}".format(self.wordline_row)]+\ + wl_driver_signals+\ + ["Xsram.Xbank0.wl_{}".format(self.wordline_row)] + self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"]+\ + delay_chain_signal_names+\ + ["Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] + self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en"]+\ + sen_driver_signals+\ + ["Xsram.s_en0"] def create_measurement_objects(self): @@ -74,8 +82,16 @@ class model_check(delay): targ_dir = "FALL" for i in range(1, len(self.wl_signal_names)): - self.wl_meas_objs.append(delay_measure(self.wl_delay_meas_names[i-1], self.wl_signal_names[i-1], self.wl_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) - self.wl_meas_objs.append(slew_measure(self.wl_slew_meas_names[i-1], self.wl_signal_names[i-1], trig_dir, measure_scale=1e9)) + self.wl_meas_objs.append(delay_measure(self.wl_delay_meas_names[i-1], + self.wl_signal_names[i-1], + self.wl_signal_names[i], + trig_dir, + targ_dir, + measure_scale=1e9)) + self.wl_meas_objs.append(slew_measure(self.wl_slew_meas_names[i-1], + self.wl_signal_names[i-1], + trig_dir, + measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir @@ -89,24 +105,46 @@ class model_check(delay): targ_dir = "FALL" #Add measurements from gated_clk_bar to RBL for i in range(1, len(self.rbl_en_signal_names)): - self.sae_meas_objs.append(delay_measure(self.rbl_delay_meas_names[i-1], self.rbl_en_signal_names[i-1], self.rbl_en_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) - self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[i-1], self.rbl_en_signal_names[i-1], trig_dir, measure_scale=1e9)) + self.sae_meas_objs.append(delay_measure(self.rbl_delay_meas_names[i-1], + self.rbl_en_signal_names[i-1], + self.rbl_en_signal_names[i], + trig_dir, + targ_dir, + measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[i-1], + self.rbl_en_signal_names[i-1], + trig_dir, + measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir - self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[-1], self.rbl_en_signal_names[-1], trig_dir, measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.rbl_slew_meas_names[-1], + self.rbl_en_signal_names[-1], + trig_dir, + measure_scale=1e9)) #Add measurements from rbl_out to sae. Trigger directions do not invert from previous stage due to RBL. trig_dir = "FALL" targ_dir = "RISE" #Add measurements from gated_clk_bar to RBL for i in range(1, len(self.sae_signal_names)): - self.sae_meas_objs.append(delay_measure(self.sae_delay_meas_names[i-1], self.sae_signal_names[i-1], self.sae_signal_names[i], trig_dir, targ_dir, measure_scale=1e9)) - self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[i-1], self.sae_signal_names[i-1], trig_dir, measure_scale=1e9)) + self.sae_meas_objs.append(delay_measure(self.sae_delay_meas_names[i-1], + self.sae_signal_names[i-1], + self.sae_signal_names[i], + trig_dir, + targ_dir, + measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[i-1], + self.sae_signal_names[i-1], + trig_dir, + measure_scale=1e9)) temp_dir = trig_dir trig_dir = targ_dir targ_dir = temp_dir - self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[-1], self.sae_signal_names[-1], trig_dir, measure_scale=1e9)) + self.sae_meas_objs.append(slew_measure(self.sae_slew_meas_names[-1], + self.sae_signal_names[-1], + trig_dir, + measure_scale=1e9)) def write_delay_measures(self): """ @@ -122,7 +160,8 @@ class model_check(delay): self.write_measures_read_port(read_port) def get_delay_measure_variants(self, port, measure_obj): - """Get the measurement values that can either vary from simulation to simulation (vdd, address) or port to port (time delays)""" + """Get the measurement values that can either vary from simulation to simulation (vdd, address) + or port to port (time delays)""" #Return value is intended to match the delay measure format: trig_td, targ_td, vdd, port #Assuming only read 0 for now if not (type(measure_obj) is delay_measure or type(measure_obj) is slew_measure): @@ -242,9 +281,11 @@ class model_check(delay): def analyze(self, probe_address, probe_data, slews, loads): """Measures entire delay path along the wordline and sense amp enable and compare it to the model delays.""" - self.set_probe(probe_address, probe_data) self.load=max(loads) self.slew=max(slews) + self.set_probe(probe_address, probe_data) + self.create_signal_names() + self.create_measurement_names() self.create_measurement_objects() data_dict = {} From 45fceb1f4eeab794109c7b3b4852cd751af47298 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 30 Jan 2019 11:43:47 -0800 Subject: [PATCH 21/77] Added word per row to sram config with a default arguement to fix test. --- compiler/characterizer/model_check.py | 11 ++++++++++- compiler/modules/control_logic.py | 18 +++++++++--------- compiler/sram_config.py | 4 ++-- compiler/tests/delay_data_collection.py | 8 ++++---- .../data_4b_16word_1way_dc2x3_sae_measures.csv | 12 ++++++------ .../data_4b_16word_1way_dc2x3_sae_model.csv | 12 ++++++------ .../data_4b_16word_1way_dc2x3_wl_measures.csv | 12 ++++++------ .../data_4b_16word_1way_dc2x3_wl_model.csv | 12 ++++++------ .../data_4b_16word_1way_dc4x2_sae_measures.csv | 12 ++++++------ .../data_4b_16word_1way_dc4x2_sae_model.csv | 12 ++++++------ .../data_4b_16word_1way_dc4x2_wl_measures.csv | 12 ++++++------ .../data_4b_16word_1way_dc4x2_wl_model.csv | 12 ++++++------ 12 files changed, 73 insertions(+), 64 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 2cf0d25d..b3e8452f 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -317,6 +317,15 @@ class model_check(delay): return data_dict - + def get_all_signal_names(self): + """Returns all signals names as a dict indexed by hardcoded names. Useful for writing the head of the CSV.""" + name_dict = {} + #Signal names are more descriptive than the measurement names, first value trimmed to match size of measurements names. + name_dict[self.wl_meas_name] = self.wl_signal_names[1:] + name_dict[self.wl_model_name] = name_dict["wl_measures"] #model uses same names as measured. + name_dict[self.sae_meas_name] = self.rbl_en_signal_names[1:]+self.sae_signal_names[1:] + name_dict[self.sae_model_name] = name_dict["sae_measures"] + return name_dict + \ No newline at end of file diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 59aa25b9..948bf33a 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -141,9 +141,9 @@ class control_logic(design.design): delay_stages = parameter["static_delay_stages"] delay_fanout = parameter["static_fanout_per_stage"] debug.info(1, "Using tech parameters to size delay chain: stages={}, fanout={}".format(delay_stages,delay_fanout)) - self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, - bitcell_loads, - name="replica_bitline_"+self.port_type) + self.replica_bitline = replica_bitline("replica_bitline_"+self.port_type, + [delay_fanout]*delay_stages, + bitcell_loads) if self.sram != None: #Calculate model value even for specified sizes self.set_sen_wl_delays() @@ -159,15 +159,15 @@ class control_logic(design.design): if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #This resizes to match fall and rise delays, can make the delay chain weird sizes. # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) - # self.replica_bitline = replica_bitline(stage_list, - # bitcell_loads, - # name="replica_bitline_resized_"+self.port_type) + # self.replica_bitline = replica_bitline( "replica_bitline_resized_"+self.port_type + # stage_list, + # bitcell_loads) #This resizes based on total delay. delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) - self.replica_bitline = replica_bitline([delay_fanout]*delay_stages, - bitcell_loads, - name="replica_bitline_resized_"+self.port_type) + self.replica_bitline = replica_bitline("replica_bitline_resized_"+self.port_type, + [delay_fanout]*delay_stages, + bitcell_loads) self.sen_delay_rise,self.sen_delay_fall = self.get_delays_to_sen() #get the new timing diff --git a/compiler/sram_config.py b/compiler/sram_config.py index 24e3cbc9..5edf9282 100644 --- a/compiler/sram_config.py +++ b/compiler/sram_config.py @@ -7,13 +7,13 @@ from sram_factory import factory class sram_config: """ This is a structure that is used to hold the SRAM configuration options. """ - def __init__(self, word_size, num_words, num_banks=1): + def __init__(self, word_size, num_words, num_banks=1, words_per_row=None): self.word_size = word_size self.num_words = num_words self.num_banks = num_banks # This will get over-written when we determine the organization - self.words_per_row = None + self.words_per_row = words_per_row self.compute_sizes() diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index ff23a297..39f59141 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -187,10 +187,8 @@ class data_collection(openram_test): """Generates the SRAM based on input configuration.""" c = sram_config(word_size=word_size, num_words=num_words, - num_banks=1) - #minimum 16 rows. Most sizes below 16*16 will try to automatically use less rows unless enforced. - #if word_size*num_words < 256: - c.words_per_row=words_per_row #Force no column mux until incorporated into analytical delay. + num_banks=1, + words_per_row=words_per_row) debug.info(1, "Creating SRAM: {} bit, {} words, with 1 bank".format(word_size, num_words)) self.sram = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) @@ -198,6 +196,8 @@ class data_collection(openram_test): self.sram_spice = OPTS.openram_temp + "temp.sp" self.sram.sp_write(self.sram_spice) + debug.info(1, "SRAM column address size={}".format(self.sram.s.col_addr_size)) + def get_sram_data(self, corner): """Generates the delay object using the corner and runs a simulation for data.""" from characterizer import model_check diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv index 696761c8..25f5359d 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -4,16,1,TT,1.0,25,0.021103999999999998,0.0061908,0.018439,0.017329999999999998,0.0094258,0.018392000000000002,0.011755000000000002 -4,16,1,FF,1.0,25,0.019583,0.005128,0.017439,0.015281,0.008443599999999999,0.017213000000000003,0.010389 -4,16,1,SS,1.0,25,0.022932,0.0074386999999999995,0.019891000000000002,0.019466,0.010501,0.019849,0.013432 -4,16,1,SF,1.0,25,0.019301,0.007507700000000001,0.016878999999999998,0.018834,0.010293,0.017156,0.01299 -4,16,1,FS,1.0,25,0.023601,0.0045925,0.020515,0.015586,0.0085521,0.019967,0.010449 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 +4,16,1,TT,1.0,25,0.020618,0.0062215,0.018563000000000003,0.017233000000000002,0.007710799999999999,0.0099965,0.045221000000000004 +4,16,1,FF,1.0,25,0.019135,0.0052523000000000005,0.017398,0.015280000000000002,0.0067718,0.009288300000000001,0.042180999999999996 +4,16,1,SS,1.0,25,0.022393999999999997,0.0074892,0.019906,0.019521999999999998,0.0087409,0.010967000000000001,0.04836 +4,16,1,SF,1.0,25,0.01874,0.007554100000000001,0.016919,0.018821,0.0086205,0.0094092,0.049122 +4,16,1,FS,1.0,25,0.022926,0.0046388,0.02054,0.015555000000000001,0.0067794,0.010772,0.041583 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv index 01c2e0e4..b79d0fbf 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -4,16,1,TT,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 -4,16,1,FF,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 -4,16,1,SS,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 -4,16,1,SF,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 -4,16,1,FS,1.0,25,8.8,2.65,6.4,7.4,4.4,6.4,2.99375 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 +4,16,1,TT,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 +4,16,1,FF,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 +4,16,1,SS,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 +4,16,1,SF,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 +4,16,1,FS,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv index b3b65af3..043fc729 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,0.018438,0.0092547,0.013922,0.008679300000000001 -4,16,1,FF,1.0,25,0.017261,0.008002500000000001,0.012757,0.0077545 -4,16,1,SS,1.0,25,0.019962,0.010683,0.015394,0.009734999999999999 -4,16,1,SF,1.0,25,0.017044,0.010483999999999999,0.012825,0.0094333 -4,16,1,FS,1.0,25,0.020398,0.0078018,0.015243999999999999,0.0079892 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,0.010512,0.0089216,0.014109,0.013643,0.014564,0.0086745 +4,16,1,FF,1.0,25,0.0096952,0.008041900000000001,0.013129,0.012268999999999999,0.013255999999999999,0.007759599999999999 +4,16,1,SS,1.0,25,0.011505,0.009873400000000001,0.015371,0.015194000000000001,0.016210000000000002,0.0097529 +4,16,1,SF,1.0,25,0.0097161,0.0096343,0.013210000000000001,0.014750000000000001,0.013464,0.0094366 +4,16,1,FS,1.0,25,0.011368999999999999,0.0082136,0.015231000000000001,0.012545,0.015907,0.0079376 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv index 696f9952..c323597a 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,FF,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,SS,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,SF,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,FS,1.0,25,4.4,12.4,5.8,5.4 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,FF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,SS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,SF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,FS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv index 66366afd..efc32260 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -4,16,1,TT,1.0,25,0.021141999999999998,0.006257400000000001,0.015622,0.014144,0.017741,0.013434,0.009287,0.018439999999999998,0.011276 -4,16,1,FF,1.0,25,0.019646,0.0052736,0.014601,0.012589,0.016537,0.011916999999999999,0.0083483,0.017246,0.0099574 -4,16,1,SS,1.0,25,0.022917,0.0074182,0.016901,0.015895,0.019267,0.015147,0.010306000000000001,0.01986,0.012834 -4,16,1,SF,1.0,25,0.019208,0.007500799999999999,0.014421999999999999,0.015359999999999999,0.016408,0.014695999999999999,0.010128,0.017086999999999998,0.012516000000000001 -4,16,1,FS,1.0,25,0.023644000000000002,0.0046118,0.017239,0.01283,0.019428,0.012081999999999999,0.0085141,0.020073,0.009944 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 +4,16,1,TT,1.0,25,0.020572,0.006256,0.015678,0.014110000000000001,0.017755,0.013415,0.0076344,0.010162,0.04153 +4,16,1,FF,1.0,25,0.01907,0.0052328,0.014619000000000002,0.0126,0.016572,0.011862,0.0067348,0.0093334,0.03898 +4,16,1,SS,1.0,25,0.022189,0.0074532999999999995,0.016968,0.015854,0.019286,0.015139,0.0087264,0.011029,0.04439 +4,16,1,SF,1.0,25,0.018689,0.007557800000000001,0.014395999999999999,0.015354,0.016425000000000002,0.014665,0.0084936,0.009411300000000001,0.044714000000000004 +4,16,1,FS,1.0,25,0.022942,0.0046639,0.017356,0.012745999999999999,0.01949,0.012069,0.006808099999999999,0.010822,0.038710999999999995 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv index c45a8df4..12a0c9e8 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.zb_int,Xsram.s_en0 -4,16,1,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 -4,16,1,FF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 -4,16,1,SS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 -4,16,1,SF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 -4,16,1,FS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,4.4,6.4,2.99375 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 +4,16,1,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 +4,16,1,FF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 +4,16,1,SS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 +4,16,1,SF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 +4,16,1,FS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv index e08c6fa5..565bb307 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,0.018481,0.0093054,0.013848,0.008683999999999999 -4,16,1,FF,1.0,25,0.017331,0.0080465,0.012700999999999999,0.0077613000000000005 -4,16,1,SS,1.0,25,0.019895,0.010660000000000001,0.015356999999999999,0.009745 -4,16,1,SF,1.0,25,0.016984000000000003,0.010501,0.012796,0.009405700000000001 -4,16,1,FS,1.0,25,0.020445,0.007772300000000001,0.015284,0.0079428 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,0.010463,0.0089004,0.014107,0.013630000000000001,0.0146,0.0086902 +4,16,1,FF,1.0,25,0.0096519,0.008039899999999999,0.013115,0.012295,0.013235,0.0077621 +4,16,1,SS,1.0,25,0.011424,0.0098775,0.015351999999999998,0.015194000000000001,0.016227,0.0097375 +4,16,1,SF,1.0,25,0.009697500000000001,0.009592,0.013206,0.014738000000000001,0.013432,0.0094217 +4,16,1,FS,1.0,25,0.011432000000000001,0.0081985,0.015220000000000001,0.012544,0.015973,0.0079455 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv index 696f9952..c323597a 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv @@ -1,6 +1,6 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.zb_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,FF,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,SS,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,SF,1.0,25,4.4,12.4,5.8,5.4 -4,16,1,FS,1.0,25,4.4,12.4,5.8,5.4 +word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 +4,16,1,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,FF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,SS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,SF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +4,16,1,FS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 From 475db65d267fbf9c293ccf520949905051b70b64 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Wed, 30 Jan 2019 17:49:43 -0800 Subject: [PATCH 22/77] added units to AREA on datasheet --- compiler/datasheet/datasheet_gen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 618629ff..ad14801b 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -552,7 +552,7 @@ def parse_characterizer_csv(f, pages): new_sheet.io_table.add_row(['NUM_RW_PORTS', NUM_RW_PORTS]) new_sheet.io_table.add_row(['NUM_R_PORTS', NUM_R_PORTS]) new_sheet.io_table.add_row(['NUM_W_PORTS', NUM_W_PORTS]) - new_sheet.io_table.add_row(['Area', AREA]) + new_sheet.io_table.add_row(['Area (µm2)', AREA]) class datasheet_gen(): From 8d7823e4dd83b6039731ef139e79765ca7950bf2 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 31 Jan 2019 00:26:27 -0800 Subject: [PATCH 23/77] Added delay ratio comparisons between model and measurements --- compiler/modules/control_logic.py | 26 +++--- compiler/tests/config_data.py | 3 +- compiler/tests/delay_data_collection.py | 79 +++++++++++++++---- ...data_4b_16word_1way_dc2x3_sae_measures.csv | 8 +- .../data_4b_16word_1way_dc2x3_sae_model.csv | 8 +- .../data_4b_16word_1way_dc2x3_wl_measures.csv | 8 +- .../data_4b_16word_1way_dc2x3_wl_model.csv | 8 +- ...data_4b_16word_1way_dc4x2_sae_measures.csv | 8 +- .../data_4b_16word_1way_dc4x2_sae_model.csv | 8 +- .../data_4b_16word_1way_dc4x2_wl_measures.csv | 8 +- .../data_4b_16word_1way_dc4x2_wl_model.csv | 8 +- 11 files changed, 95 insertions(+), 77 deletions(-) diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 948bf33a..295bbca8 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -133,6 +133,7 @@ class control_logic(design.design): if (self.port_type == "rw") or (self.port_type == "r"): from importlib import reload + self.delay_chain_resized = False c = reload(__import__(OPTS.replica_bitline)) replica_bitline = getattr(c, OPTS.replica_bitline) bitcell_loads = int(math.ceil(self.num_rows * parameter["rbl_height_percentage"])) @@ -141,35 +142,36 @@ class control_logic(design.design): delay_stages = parameter["static_delay_stages"] delay_fanout = parameter["static_fanout_per_stage"] debug.info(1, "Using tech parameters to size delay chain: stages={}, fanout={}".format(delay_stages,delay_fanout)) - self.replica_bitline = replica_bitline("replica_bitline_"+self.port_type, - [delay_fanout]*delay_stages, - bitcell_loads) + self.replica_bitline = factory.create(module_type="replica_bitline", + delay_fanout_list=[delay_fanout]*delay_stages, + bitcell_loads=bitcell_loads) if self.sram != None: #Calculate model value even for specified sizes self.set_sen_wl_delays() else: #Otherwise, use a heuristic and/or model based sizing. #First use a heuristic delay_stages_heuristic, delay_fanout_heuristic = self.get_heuristic_delay_chain_size() - self.replica_bitline = replica_bitline("replica_bitline_"+self.port_type, - [delay_fanout_heuristic]*delay_stages_heuristic, - bitcell_loads) + self.replica_bitline = factory.create(module_type="replica_bitline", + delay_fanout_list=[delay_fanout_heuristic]*delay_stages_heuristic, + bitcell_loads=bitcell_loads) if self.sram != None: #Calculate delays for potential re-sizing self.set_sen_wl_delays() #Resize if necessary, condition depends on resizing method if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #This resizes to match fall and rise delays, can make the delay chain weird sizes. # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) - # self.replica_bitline = replica_bitline( "replica_bitline_resized_"+self.port_type - # stage_list, - # bitcell_loads) + # self.replica_bitline = factory.create(module_type="replica_bitline", + # delay_fanout_list=stage_list, + # bitcell_loads=bitcell_loads) #This resizes based on total delay. delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) - self.replica_bitline = replica_bitline("replica_bitline_resized_"+self.port_type, - [delay_fanout]*delay_stages, - bitcell_loads) + self.replica_bitline = factory.create(module_type="replica_bitline", + delay_fanout_list=[delay_fanout]*delay_stages, + bitcell_loads=bitcell_loads) self.sen_delay_rise,self.sen_delay_fall = self.get_delays_to_sen() #get the new timing + self.delay_chain_resized = True self.add_mod(self.replica_bitline) diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index e605ee8c..08168bc3 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -2,7 +2,8 @@ word_size = 1 num_words = 16 tech_name = "freepdk45" -process_corners = ["TT", "FF", "SS", "SF", "FS"] +#process_corners = ["TT", "FF", "SS", "SF", "FS"] +process_corners = ["TT"] supply_voltages = [1.0] temperatures = [25] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 39f59141..bd2a61f7 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -28,12 +28,16 @@ class data_collection(openram_test): self.evaluate_data(wl_dataframe, sae_dataframe) #Run again but with different delay chain sizes - self.init_data_gen() - self.set_delay_chain(4,2) - self.save_data_sram_corners(word_size, num_words, words_per_row) - wl_dataframe, sae_dataframe = self.get_csv_data() - self.evaluate_data(wl_dataframe, sae_dataframe) + # self.init_data_gen() + # self.set_delay_chain(4,2) + # self.save_data_sram_corners(word_size, num_words, words_per_row) + # wl_dataframe, sae_dataframe = self.get_csv_data() + # self.evaluate_data(wl_dataframe, sae_dataframe) + model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() + debug.info(1, "model_delay_ratios={}".format(model_delay_ratios)) + debug.info(1, "meas_delay_ratios={}".format(meas_delay_ratios)) + debug.info(1, "ratio_error={}".format(ratio_error)) globals.end_openram() def get_csv_data(self): @@ -50,7 +54,36 @@ class data_collection(openram_test): debug.info(1, "Delay errors:{}".format(delay_error)) variation_error = self.calculate_delay_variation_error(wl_dataframe, sae_dataframe) debug.info(1, "Variation errors:{}".format(variation_error)) + + def compare_model_to_measure(self): + """Uses the last 4 recent data sets (wl_meas, sen_meas, wl_model, sen_model) + and compare the wl-sen delay ratio between model and measured. + """ + model_delay_ratios = {} + meas_delay_ratios = {} + ratio_error = {} + #The full file name contains unrelated portions, separate them into the four that are needed + wl_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "wl_measures" in file_name][0] + sae_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "sae_measures" in file_name][0] + wl_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "wl_model" in file_name][0] + sae_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "sae_model" in file_name][0] + #Assume each csv has the same corners (and the same row order), use one of the dfs for corners + proc_pos, volt_pos, temp_pos = wl_meas_df.columns.get_loc('process'), wl_meas_df.columns.get_loc('voltage'), wl_meas_df.columns.get_loc('temp') + wl_sum_pos = wl_meas_df.columns.get_loc('sum') + sae_sum_pos = sae_meas_df.columns.get_loc('sum') + + df_zip = zip(wl_meas_df.itertuples(),sae_meas_df.itertuples(),wl_model_df.itertuples(),sae_model_df.itertuples()) + for wl_meas,sae_meas,wl_model,sae_model in df_zip: + #Use previously calculated position to index the df row. + corner = (wl_meas[proc_pos+1], wl_meas[volt_pos+1], wl_meas[temp_pos+1]) + meas_delay_ratios[corner] = wl_meas[wl_sum_pos+1]/sae_meas[sae_sum_pos+1] + model_delay_ratios[corner] = wl_model[wl_sum_pos+1]/sae_model[sae_sum_pos+1] + debug.info(1,"wl_model sum={}, sae_model_sum={}".format(wl_model[wl_sum_pos+1], sae_model[sae_sum_pos+1])) + ratio_error[corner] = 100*abs(model_delay_ratios[corner]-meas_delay_ratios[corner])/meas_delay_ratios[corner] + + return model_delay_ratios, meas_delay_ratios, ratio_error + def calculate_delay_error(self, wl_dataframe, sae_dataframe): """Calculates the percentage difference in delays between the wordline and sense amp enable""" start_data_pos = len(self.config_fields) #items before this point are configuration related @@ -94,13 +127,14 @@ class data_collection(openram_test): corner_gen = self.corner_combination_generator() init_corner = next(corner_gen) sram_data = self.get_sram_data(init_corner) - self.initialize_csv_file(sram_data, word_size, num_words, words_per_row) - self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, init_corner) + dc_resized = self.was_delay_chain_resized() + self.initialize_csv_file(word_size, num_words, words_per_row) + self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, dc_resized, init_corner) #Run openRAM for all corners for corner in corner_gen: sram_data = self.get_sram_data(corner) - self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, corner) + self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, dc_resized, corner) self.close_files() debug.info(1,"Data Generated") @@ -133,10 +167,10 @@ class data_collection(openram_test): file.close() def corner_combination_generator(self): - """Generates corner using a combination of values from config file""" processes = OPTS.process_corners voltages = OPTS.supply_voltages temperatures = OPTS.temperatures + """Generates corner using a combination of values from config file""" for proc in processes: for volt in voltages: for temp in temperatures: @@ -154,14 +188,21 @@ class data_collection(openram_test): words_per_row = [1] return word_sizes, num_words, words_per_row - def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row, corner): - """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" - sram_specs = [word_size,num_words,words_per_row,*corner] + def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row, dc_resized, corner): + """Writes data to its respective CSV file. There is a CSV for each measurement target + (wordline, sense amp enable, and models)""" + sram_specs = [word_size,num_words,words_per_row,dc_resized,*corner] for data_name, data_values in sram_data.items(): - self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]) + other_values = self.calculate_other_data_values(data_values) + self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]+other_values) debug.info(2,"Data Added to CSV file.") - def initialize_csv_file(self, sram_data, word_size, num_words, words_per_row): + def calculate_other_data_values(self, sram_data_list): + """A function to calculate extra values related to the data. Only does the sum for now""" + data_sum = sum(sram_data_list) + return [data_sum] + + def initialize_csv_file(self, word_size, num_words, words_per_row): """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" #CSV File writing header_dict = self.delay_obj.get_all_signal_names() @@ -178,8 +219,9 @@ class data_collection(openram_test): data_name) self.file_names.append(file_name) self.csv_files[data_name] = open(file_name, 'w') - self.config_fields = ['word_size', 'num_words', 'words_per_row', 'process', 'voltage', 'temp'] - fields = (*self.config_fields, *header_list) + self.config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_resized', 'process', 'voltage', 'temp'] + self.other_data_fields = ['sum'] + fields = (*self.config_fields, *header_list, *self.other_data_fields) self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') self.csv_writers[data_name].writerow(fields) @@ -223,6 +265,11 @@ class data_collection(openram_test): dict[key] = dict[key][0] else: del dict[key] + + def was_delay_chain_resized(self): + """Accesses the dc resize boolean in the control logic module.""" + #FIXME:assumes read/write port only + return self.sram.s.control_logic_rw.delay_chain_resized # instantiate a copdsay of the class to actually run the test if __name__ == "__main__": diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv index 25f5359d..e8016aa1 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 -4,16,1,TT,1.0,25,0.020618,0.0062215,0.018563000000000003,0.017233000000000002,0.007710799999999999,0.0099965,0.045221000000000004 -4,16,1,FF,1.0,25,0.019135,0.0052523000000000005,0.017398,0.015280000000000002,0.0067718,0.009288300000000001,0.042180999999999996 -4,16,1,SS,1.0,25,0.022393999999999997,0.0074892,0.019906,0.019521999999999998,0.0087409,0.010967000000000001,0.04836 -4,16,1,SF,1.0,25,0.01874,0.007554100000000001,0.016919,0.018821,0.0086205,0.0094092,0.049122 -4,16,1,FS,1.0,25,0.022926,0.0046388,0.02054,0.015555000000000001,0.0067794,0.010772,0.041583 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum +4,16,1,False,TT,1.0,25,0.020618,0.0062215,0.018563000000000003,0.017233000000000002,0.007710799999999999,0.0099965,0.045221000000000004,0.12556380000000003 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv index b79d0fbf..3ed42e60 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 -4,16,1,TT,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 -4,16,1,FF,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 -4,16,1,SS,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 -4,16,1,SF,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 -4,16,1,FS,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum +4,16,1,False,TT,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15,42.949999999999996 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv index 043fc729..4c0ca0f3 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,0.010512,0.0089216,0.014109,0.013643,0.014564,0.0086745 -4,16,1,FF,1.0,25,0.0096952,0.008041900000000001,0.013129,0.012268999999999999,0.013255999999999999,0.007759599999999999 -4,16,1,SS,1.0,25,0.011505,0.009873400000000001,0.015371,0.015194000000000001,0.016210000000000002,0.0097529 -4,16,1,SF,1.0,25,0.0097161,0.0096343,0.013210000000000001,0.014750000000000001,0.013464,0.0094366 -4,16,1,FS,1.0,25,0.011368999999999999,0.0082136,0.015231000000000001,0.012545,0.015907,0.0079376 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum +4,16,1,False,TT,1.0,25,0.010512,0.0089216,0.014109,0.013643,0.014564,0.0086745,0.0704241 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv index c323597a..e9faaeb9 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,FF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,SS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,SF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,FS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum +4,16,1,False,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4,32.13333333333334 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv index efc32260..fe82d4e4 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 -4,16,1,TT,1.0,25,0.020572,0.006256,0.015678,0.014110000000000001,0.017755,0.013415,0.0076344,0.010162,0.04153 -4,16,1,FF,1.0,25,0.01907,0.0052328,0.014619000000000002,0.0126,0.016572,0.011862,0.0067348,0.0093334,0.03898 -4,16,1,SS,1.0,25,0.022189,0.0074532999999999995,0.016968,0.015854,0.019286,0.015139,0.0087264,0.011029,0.04439 -4,16,1,SF,1.0,25,0.018689,0.007557800000000001,0.014395999999999999,0.015354,0.016425000000000002,0.014665,0.0084936,0.009411300000000001,0.044714000000000004 -4,16,1,FS,1.0,25,0.022942,0.0046639,0.017356,0.012745999999999999,0.01949,0.012069,0.006808099999999999,0.010822,0.038710999999999995 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum +4,16,1,False,TT,1.0,25,0.020572,0.006256,0.015678,0.014110000000000001,0.017755,0.013415,0.0076344,0.010162,0.04153,0.14711239999999998 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv index 12a0c9e8..7cac207f 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0 -4,16,1,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 -4,16,1,FF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 -4,16,1,SS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 -4,16,1,SF,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 -4,16,1,FS,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum +4,16,1,False,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15,51.74999999999999 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv index 565bb307..97844e6d 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,0.010463,0.0089004,0.014107,0.013630000000000001,0.0146,0.0086902 -4,16,1,FF,1.0,25,0.0096519,0.008039899999999999,0.013115,0.012295,0.013235,0.0077621 -4,16,1,SS,1.0,25,0.011424,0.0098775,0.015351999999999998,0.015194000000000001,0.016227,0.0097375 -4,16,1,SF,1.0,25,0.009697500000000001,0.009592,0.013206,0.014738000000000001,0.013432,0.0094217 -4,16,1,FS,1.0,25,0.011432000000000001,0.0081985,0.015220000000000001,0.012544,0.015973,0.0079455 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum +4,16,1,False,TT,1.0,25,0.010463,0.0089004,0.014107,0.013630000000000001,0.0146,0.0086902,0.0703906 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv index c323597a..e9faaeb9 100644 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv +++ b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv @@ -1,6 +1,2 @@ -word_size,num_words,words_per_row,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15 -4,16,1,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,FF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,SS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,SF,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 -4,16,1,FS,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4 +word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum +4,16,1,False,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4,32.13333333333334 From 21868e1b60cd8cd1f468f45ef7c6132e54f70563 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 31 Jan 2019 08:09:00 -0800 Subject: [PATCH 24/77] removed expanded process names from corners --- compiler/characterizer/lib.py | 2 +- compiler/datasheet/datasheet_gen.py | 67 ++- compiler/datasheet/wavedrom.py | 827 ---------------------------- 3 files changed, 34 insertions(+), 862 deletions(-) delete mode 100644 compiler/datasheet/wavedrom.py diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 93592882..a38ecd93 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -527,7 +527,7 @@ class lib: current_time = datetime.date.today() datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},".format( - "sram_{0}_{1}_{2}".format(OPTS.word_size, OPTS.num_words, OPTS.tech_name), + OPTS.output_name, OPTS.num_words, OPTS.num_banks, OPTS.num_rw_ports, diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index ad14801b..24bc3953 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -16,34 +16,34 @@ import csv import datasheet import table_gen - -def process_name(corner): - """ - Expands the names of the characterization corner types into something human friendly - """ - if corner == "TS": - return "Typical - Slow" - if corner == "TT": - return "Typical - Typical" - if corner == "TF": - return "Typical - Fast" - - if corner == "SS": - return "Slow - Slow" - if corner == "ST": - return "Slow - Typical" - if corner == "SF": - return "Slow - Fast" - - if corner == "FS": - return "Fast - Slow" - if corner == "FT": - return "Fast - Typical" - if corner == "FF": - return "Fast - Fast" - - else: - return "custom" +# def process_name(corner): +# """ +# Expands the names of the characterization corner types into something human friendly +# """ +# if corner == "TS": +# return "Typical - Slow" +# if corner == "TT": +# return "Typical - Typical" +# if corner == "TF": +# return "Typical - Fast" +# +# if corner == "SS": +# return "Slow - Slow" +# if corner == "ST": +# return "Slow - Typical" +# if corner == "SF": +# return "Slow - Fast" +# +# if corner == "FS": +# return "Fast - Slow" +# if corner == "FT": +# return "Fast - Typical" +# if corner == "FF": +# return "Fast - Fast" +# +# else: +# return "custom" +# def parse_characterizer_csv(f, pages): @@ -351,8 +351,7 @@ def parse_characterizer_csv(f, pages): sheet.description.append(str(element)) break - new_sheet.corners_table.add_row([PROC, process_name( - PROC), VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) + new_sheet.corners_table.add_row([PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) new_sheet.dlv_table.add_row( ['.lib', 'Synthesis models', '{1}'.format(LIB_NAME, LIB_NAME.replace(OUT_DIR, ''))]) @@ -371,9 +370,8 @@ def parse_characterizer_csv(f, pages): new_sheet.corners_table = table_gen.table_gen("corners") new_sheet.corners_table.add_row( - ['Corner Name', 'Process', 'Power Supply', 'Temperature', 'Library Name Suffix']) - new_sheet.corners_table.add_row([PROC, process_name( - PROC), VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) + ['Transistor Type', 'Power Supply', 'Temperature', 'Corner Name']) + new_sheet.corners_table.add_row([PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) new_sheet.operating_table = table_gen.table_gen( "operating_table") new_sheet.operating_table.add_row( @@ -552,7 +550,8 @@ def parse_characterizer_csv(f, pages): new_sheet.io_table.add_row(['NUM_RW_PORTS', NUM_RW_PORTS]) new_sheet.io_table.add_row(['NUM_R_PORTS', NUM_R_PORTS]) new_sheet.io_table.add_row(['NUM_W_PORTS', NUM_W_PORTS]) - new_sheet.io_table.add_row(['Area (µm2)', AREA]) + new_sheet.io_table.add_row( + ['Area (µm2)', AREA]) class datasheet_gen(): diff --git a/compiler/datasheet/wavedrom.py b/compiler/datasheet/wavedrom.py deleted file mode 100644 index e8c68c56..00000000 --- a/compiler/datasheet/wavedrom.py +++ /dev/null @@ -1,827 +0,0 @@ -#!/usr/bin/python -# The MIT License (MIT) -# -# Copyright (c) 2011-2016 Aliaksei Chapyzhenka -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# Translated to Python from original file: -# https://github.com/drom/wavedrom/blob/master/src/WaveDrom.js -# - -import sys -import json -import math -import waveskin - -font_width = 7 - -lane = { - "xs" : 20, # tmpgraphlane0.width - "ys" : 20, # tmpgraphlane0.height - "xg" : 120, # tmpgraphlane0.x - "yg" : 0, # head gap - "yh0" : 0, # head gap title - "yh1" : 0, # head gap - "yf0" : 0, # foot gap - "yf1" : 0, # foot gap - "y0" : 5, # tmpgraphlane0.y - "yo" : 30, # tmpgraphlane1.y - y0 - "tgo" : -10, # tmptextlane0.x - xg - "ym" : 15, # tmptextlane0.y - y0 - "xlabel" : 6, # tmptextlabel.x - xg - "xmax" : 1, - "scale" : 1, - "head" : {}, - "foot" : {} -} - -def genBrick (texts, extra, times) : - - R = [] - if len( texts ) == 4 : - for j in range( times ): - - R.append(texts[0]) - - for i in range ( extra ): - R.append(texts[1]) - - R.append(texts[2]) - for i in range ( extra ): - R.append(texts[3]) - - return R - - if len( texts ) == 1 : - texts.append(texts[0]) - - R.append(texts[0]) - for i in range (times * (2 * (extra + 1)) - 1) : - R.append(texts[1]) - return R - -def genFirstWaveBrick (text, extra, times) : - - pattern = { - 'p': ['pclk', '111', 'nclk', '000'], - 'n': ['nclk', '000', 'pclk', '111'], - 'P': ['Pclk', '111', 'nclk', '000'], - 'N': ['Nclk', '000', 'pclk', '111'], - 'l': ['000'], - 'L': ['000'], - '0': ['000'], - 'h': ['111'], - 'H': ['111'], - '1': ['111'], - '=': ['vvv-2'], - '2': ['vvv-2'], - '3': ['vvv-3'], - '4': ['vvv-4'], - '5': ['vvv-5'], - 'd': ['ddd'], - 'u': ['uuu'], - 'z': ['zzz'] - } - - return genBrick( pattern.get( text, ['xxx'] ) , extra, times ); - -def genWaveBrick (text, extra, times) : - - x1 = {'p':'pclk', 'n':'nclk', 'P':'Pclk', 'N':'Nclk', 'h':'pclk', 'l':'nclk', 'H':'Pclk', 'L':'Nclk'} - x2 = {'0':'0', '1':'1', 'x':'x', 'd':'d', 'u':'u', 'z':'z', '=':'v', '2':'v', '3':'v', '4':'v', '5':'v' } - x3 = {'0': '', '1': '', 'x': '', 'd': '', 'u': '', 'z': '', '=':'-2', '2':'-2', '3':'-3', '4':'-4', '5':'-5'} - y1 = { - 'p':'0', 'n':'1', - 'P':'0', 'N':'1', - 'h':'1', 'l':'0', - 'H':'1', 'L':'0', - '0':'0', '1':'1', 'x':'x', 'd':'d', 'u':'u', 'z':'z', '=':'v', '2':'v', '3':'v', '4':'v', '5':'v'} - - y2 = { - 'p': '', 'n': '', - 'P': '', 'N': '', - 'h': '', 'l': '', - 'H': '', 'L': '', - '0': '', '1': '', 'x': '', 'd': '', 'u': '', 'z': '', '=':'-2', '2':'-2', '3':'-3', '4':'-4', '5':'-5'} - - x4 = { - 'p': '111', 'n': '000', - 'P': '111', 'N': '000', - 'h': '111', 'l': '000', - 'H': '111', 'L': '000', - '0': '000', '1': '111', 'x': 'xxx', 'd': 'ddd', 'u': 'uuu', 'z': 'zzz', - '=': 'vvv-2', '2': 'vvv-2', '3': 'vvv-3', '4': 'vvv-4', '5': 'vvv-5'} - - x5 = {'p':'nclk', 'n':'pclk', 'P':'nclk', 'N':'pclk'} - x6 = {'p': '000', 'n': '111', 'P': '000', 'N': '111'} - xclude = {'hp':'111', 'Hp':'111', 'ln': '000', 'Ln': '000', 'nh':'111', 'Nh':'111', 'pl': '000', 'Pl':'000'} - - #atext = text.split() - atext = text - - tmp0 = x4.get(atext[1]) - tmp1 = x1.get(atext[1]) - if tmp1 == None : - tmp2 = x2.get(atext[1]) - if tmp2 == None : - # unknown - return genBrick(['xxx'], extra, times) - else : - tmp3 = y1.get(atext[0]) - if tmp3 == None : - # unknown - return genBrick(['xxx'], extra, times) - - # soft curves - return genBrick([tmp3 + 'm' + tmp2 + y2[atext[0]] + x3[atext[1]], tmp0], extra, times) - - else : - tmp4 = xclude.get(text) - if tmp4 != None : - tmp1 = tmp4 - - # sharp curves - tmp2 = x5.get(atext[1]) - if tmp2 == None : - # hlHL - return genBrick([tmp1, tmp0], extra, times) - else : - # pnPN - return genBrick([tmp1, tmp0, tmp2, x6[atext[1]]], extra, times) - -def parseWaveLane (text, extra) : - - R = [] - Stack = text - Next = Stack[0] - Stack = Stack[1:] - - Repeats = 1 - while len(Stack) and ( Stack[0] == '.' or Stack[0] == '|' ): # repeaters parser - Stack=Stack[1:] - Repeats += 1 - - R.extend(genFirstWaveBrick(Next, extra, Repeats)) - - while len(Stack) : - Top = Next - Next = Stack[0] - Stack = Stack[1:] - Repeats = 1 - while len(Stack) and ( Stack[0] == '.' or Stack[0] == '|' ) : # repeaters parser - Stack=Stack[1:] - Repeats += 1 - R.extend(genWaveBrick((Top + Next), extra, Repeats)) - - for i in range( lane['phase'] ): - R = R[1:] - return R - -def parseWaveLanes (sig) : - - def data_extract (e) : - tmp = e.get('data') - if tmp == None : return None - if is_type_str (tmp) : tmp=tmp.split() - return tmp - - content = [] - for sigx in sig : - lane['period'] = sigx.get('period',1) - lane['phase'] = int( sigx.get('phase',0 ) * 2 ) - sub_content=[] - sub_content.append( [sigx.get('name',' '), sigx.get('phase',0 ) ] ) - sub_content.append( parseWaveLane( sigx['wave'], int(lane['period'] * lane['hscale'] - 1 ) ) if sigx.get('wave') else None ) - sub_content.append( data_extract(sigx) ) - content.append(sub_content) - - return content - -def findLaneMarkers (lanetext) : - - lcount = 0 - gcount = 0 - ret = [] - for i in range( len( lanetext ) ) : - if lanetext[i] == 'vvv-2' or lanetext[i] == 'vvv-3' or lanetext[i] == 'vvv-4' or lanetext[i] == 'vvv-5' : - lcount += 1 - else : - if lcount !=0 : - ret.append(gcount - ((lcount + 1) / 2)) - lcount = 0 - - gcount += 1 - - if lcount != 0 : - ret.append(gcount - ((lcount + 1) / 2)) - - return ret - -def renderWaveLane (root, content, index) : - - xmax = 0 - xgmax = 0 - glengths = [] - svgns = 'http://www.w3.org/2000/svg' - xlinkns = 'http://www.w3.org/1999/xlink' - xmlns = 'http://www.w3.org/XML/1998/namespace' - for j in range( len(content) ): - name = content[j][0][0] - if name : # check name - g = [ - 'g', - { - 'id': 'wavelane_' + str(j) + '_' + str(index), - 'transform': 'translate(0,' + str(lane['y0'] + j * lane['yo']) + ')' - } - ] - root.append(g) - title = [ - 'text', - { - 'x': lane['tgo'], - 'y': lane['ym'], - 'class': 'info', - 'text-anchor': 'end', - 'xml:space': 'preserve' - }, - ['tspan', name] - ] - g.append(title) - - glengths.append( len(name) * font_width + font_width ) - - xoffset = content[j][0][1] - xoffset = math.ceil(2 * xoffset) - 2 * xoffset if xoffset > 0 else -2 * xoffset - gg = [ - 'g', - { - 'id': 'wavelane_draw_' + str(j) + '_' + str(index), - 'transform': 'translate(' + str( xoffset * lane['xs'] ) + ', 0)' - } - ] - g.append(gg) - - if content[j][1] : - for i in range( len(content[j][1]) ) : - b = [ - 'use', - { - #'id': 'use_' + str(i) + '_' + str(j) + '_' + str(index), - 'xmlns:xlink':xlinkns, - 'xlink:href': '#' + str( content[j][1][i] ), - 'transform': 'translate(' + str(i * lane['xs']) + ')' - } - ] - gg.append(b) - - if content[j][2] and len(content[j][2]) : - labels = findLaneMarkers(content[j][1]) - if len(labels) != 0 : - for k in range( len(labels) ) : - if content[j][2] and k < len(content[j][2]) : - title = [ - 'text', - { - 'x': int(labels[k]) * lane['xs'] + lane['xlabel'], - 'y': lane['ym'], - 'text-anchor': 'middle', - 'xml:space': 'preserve' - }, - ['tspan',content[j][2][k]] - ] - gg.append(title) - - - if len(content[j][1]) > xmax : - xmax = len(content[j][1]) - - lane['xmax'] = xmax - lane['xg'] = xgmax + 20 - return glengths - -def renderMarks (root, content, index) : - - def captext ( g, cxt, anchor, y ) : - - if cxt.get(anchor) and cxt[anchor].get('text') : - tmark = [ - 'text', - { - 'x': float( cxt['xmax'] ) * float( cxt['xs'] ) / 2, - 'y': y, - 'text-anchor': 'middle', - 'fill': '#000', - 'xml:space': 'preserve' - }, cxt[anchor]['text'] - ] - g.append(tmark) - - def ticktock ( g, cxt, ref1, ref2, x, dx, y, length ) : - L = [] - - if cxt.get(ref1) == None or cxt[ref1].get(ref2) == None : - return - - val = cxt[ref1][ref2] - if is_type_str( val ) : - val = val.split() - elif type( val ) is int : - offset = val - val = [] - for i in range ( length ) : - val.append(i + offset) - - if type( val ) is list : - if len( val ) == 0 : - return - elif len( val ) == 1 : - offset = val[0] - if is_type_str(offset) : - L = val - else : - for i in range ( length ) : - L[i] = i + offset - - elif len( val ) == 2: - offset = int(val[0]) - step = int(val[1]) - tmp = val[1].split('.') - if len( tmp ) == 2 : - dp = len( tmp[1] ) - - if is_type_str(offset) or is_type_str(step) : - L = val - else : - offset = step * offset - for i in range( length ) : - L[i] = "{0:.",dp,"f}".format(step * i + offset) - - else : - L = val - - else : - return - - for i in range( length ) : - tmp = L[i] - tmark = [ - 'text', - { - 'x': i * dx + x, - 'y': y, - 'text-anchor': 'middle', - 'class': 'muted', - 'xml:space': 'preserve' - }, str(tmp) - ] - g.append(tmark) - - mstep = 2 * int(lane['hscale']) - mmstep = mstep * lane['xs'] - marks = int( lane['xmax'] / mstep ) - gy = len( content ) * int(lane['yo']) - - g = ['g', {'id': 'gmarks_' + str(index)}] - root.insert(0,g) - - for i in range( marks + 1): - gg = [ - 'path', - { - 'id': 'gmark_' + str(i) + '_' + str(index), - 'd': 'm ' + str(i * mmstep) + ',' + '0' + ' 0,' + str(gy), - 'style': 'stroke:#888;stroke-width:0.5;stroke-dasharray:1,3' - } - ] - g.append( gg ) - - captext(g, lane, 'head', -33 if lane['yh0'] else -13 ) - captext(g, lane, 'foot', gy + ( 45 if lane['yf0'] else 25 ) ) - - ticktock( g, lane, 'head', 'tick', 0, mmstep, -5, marks + 1) - ticktock( g, lane, 'head', 'tock', mmstep / 2, mmstep, -5, marks) - ticktock( g, lane, 'foot', 'tick', 0, mmstep, gy + 15, marks + 1) - ticktock( g, lane, 'foot', 'tock', mmstep / 2, mmstep, gy + 15, marks) - -def renderArcs (root, source, index, top) : - - Stack = [] - Edge = {'words': [], 'frm': 0, 'shape': '', 'to': 0, 'label': ''} - Events = {} - svgns = 'http://www.w3.org/2000/svg' - xmlns = 'http://www.w3.org/XML/1998/namespace' - - if source : - for i in range (len (source) ) : - lane['period'] = source[i].get('period',1) - lane['phase'] = int( source[i].get('phase',0 ) * 2 ) - text = source[i].get('node') - if text: - Stack = text - pos = 0 - while len( Stack ) : - eventname = Stack[0] - Stack=Stack[1:] - if eventname != '.' : - Events[eventname] = { - 'x' : str( int( float( lane['xs'] ) * (2 * pos * lane['period'] * lane['hscale'] - lane['phase'] ) + float( lane['xlabel'] ) ) ), - 'y' : str( int( i * lane['yo'] + lane['y0'] + float( lane['ys'] ) * 0.5 ) ) - } - pos += 1 - - gg = [ 'g', { 'id' : 'wavearcs_' + str( index ) } ] - root.append(gg) - - if top.get('edge') : - for i in range( len ( top['edge'] ) ) : - Edge['words'] = top['edge'][i].split() - Edge['label'] = top['edge'][i][len(Edge['words'][0]):] - Edge['label'] = Edge['label'][1:] - Edge['frm'] = Edge['words'][0][0] - Edge['to'] = Edge['words'][0][-1] - Edge['shape'] = Edge['words'][0][1:-1] - frm = Events[Edge['frm']] - to = Events[Edge['to']] - gmark = [ - 'path', - { - 'id': 'gmark_' + Edge['frm'] + '_' + Edge['to'], - 'd': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + to['x'] + ',' + to['y'], - 'style': 'fill:none;stroke:#00F;stroke-width:1' - } - ] - gg.append(gmark) - dx = float( to['x'] ) - float( frm['x'] ) - dy = float( to['y'] ) - float( frm['y'] ) - lx = (float(frm['x']) + float(to['x'])) / 2 - ly = (float(frm['y']) + float(to['y'])) / 2 - pattern = { - '~' : {'d': 'M ' + frm['x'] + ',' + frm['y'] + ' c ' + str(0.7 * dx) + ', 0 ' + str(0.3 * dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy) }, - '-~' : {'d': 'M ' + frm['x'] + ',' + frm['y'] + ' c ' + str(0.7 * dx) + ', 0 ' + str(dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy) }, - '~-' : {'d': 'M ' + frm['x'] + ',' + frm['y'] + ' c ' + '0' + ', 0 ' + str(0.3 * dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy) }, - '-|' : {'d': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx) + ',0 0,' + str(dy)}, - '|-' : {'d': 'm ' + frm['x'] + ',' + frm['y'] + ' 0,' + str(dy) + ' ' + str(dx) + ',0'}, - '-|-' : {'d': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx / 2) + ',0 0,' + str(dy) + ' ' + str(dx / 2) + ',0'}, - '->' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none'}, - '~>' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + 'c ' + str(0.7 * dx) + ', 0 ' + str(0.3 * dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy)}, - '-~>' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + 'c ' + str(0.7 * dx) + ', 0 ' + str(dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy)}, - '~->' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + 'c ' + '0' + ', 0 ' + str(0.3 * dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy)}, - '-|>' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx) + ',0 0,' + str(dy)}, - '|->' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'm ' + frm['x'] + ',' + frm['y'] + ' 0,' + str(dy) + ' ' + str(dx) + ',0'}, - '-|->' : {'style': 'marker-end:url(#arrowhead);stroke:#0041c4;stroke-width:1;fill:none', 'd': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx / 2) + ',0 0,' + str(dy) + ' ' + str(dx / 2) + ',0'}, - '<->' : {'style': 'marker-end:url(#arrowhead);marker-start:url(#arrowtail);stroke:#0041c4;stroke-width:1;fill:none'}, - '<~>' : {'style': 'marker-end:url(#arrowhead);marker-start:url(#arrowtail);stroke:#0041c4;stroke-width:1;fill:none','d': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + 'c ' + str(0.7 * dx) + ', 0 ' + str(0.3 * dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy)}, - '<-~>' : {'style': 'marker-end:url(#arrowhead);marker-start:url(#arrowtail);stroke:#0041c4;stroke-width:1;fill:none','d': 'M ' + frm['x'] + ',' + frm['y'] + ' ' + 'c ' + str(0.7 * dx) + ', 0 ' + str(dx) + ', ' + str(dy) + ' ' + str(dx) + ', ' + str(dy)}, - '<-|>' : {'style': 'marker-end:url(#arrowhead);marker-start:url(#arrowtail);stroke:#0041c4;stroke-width:1;fill:none','d': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx) + ',0 0,' + str(dy)}, - '<-|->': {'style': 'marker-end:url(#arrowhead);marker-start:url(#arrowtail);stroke:#0041c4;stroke-width:1;fill:none','d': 'm ' + frm['x'] + ',' + frm['y'] + ' ' + str(dx / 2) + ',0 0,' + str(dy) + ' ' + str(dx / 2) + ',0'} - } - gmark[1].update( pattern.get( Edge['shape'], { 'style': 'fill:none;stroke:#00F;stroke-width:1' } ) ) - - if Edge['label']: - if Edge['shape'] == '-~' : - lx = float(frm['x']) + (float(to['x']) - float(frm['x'])) * 0.75 - if Edge['shape'] == '~-' : - lx = float(frm['x']) + (float(to['x']) - float(frm['x'])) * 0.25 - if Edge['shape'] == '-|' : - lx = float(to['x']) - if Edge['shape'] == '|-' : - lx = float(frm['x']) - if Edge['shape'] == '-~>': - lx = float(frm['x']) + (float(to['x']) - float(frm['x'])) * 0.75 - if Edge['shape'] == '~->': - lx = float(frm['x']) + (float(to['x']) - float(frm['x'])) * 0.25 - if Edge['shape'] == '-|>' : - lx = float(to['x']) - if Edge['shape'] == '|->' : - lx = float(frm['x']) - if Edge['shape'] == '<-~>': - lx = float(frm['x']) + (float(to['x']) - float(frm['x'])) * 0.75 - if Edge['shape'] =='<-|>' : - lx = float(to['x']) - - lwidth = len( Edge['label'] ) * font_width - label = [ - 'text', - { - 'style': 'font-size:10px;', - 'text-anchor': 'middle', - 'xml:space': 'preserve', - 'x': int( lx ), - 'y': int( ly + 3 ) - }, - [ 'tspan', Edge['label'] ] - ] - underlabel = [ - 'rect', - { - 'height': 9, - 'style': 'fill:#FFF;', - 'width': lwidth, - 'x': int( lx - lwidth / 2 ), - 'y': int( ly - 5 ) - } - ] - gg.append(underlabel) - gg.append(label) - - for k in Events: - if k.islower() : - if int( Events[k]['x'] ) > 0 : - lwidth = len( k ) * font_width - underlabel = [ - 'rect', - { - 'x': float( Events[k]['x'] ) - float(lwidth) / 2, - 'y': int( Events[k]['y'] ) - 4, - 'height': 8, - 'width': lwidth, - 'style': 'fill:#FFF;' - } - ] - gg.append(underlabel) - label = [ - 'text', - { - 'style': 'font-size:8px;', - 'x': int( Events[k]['x'] ), - 'y': int( Events[k]['y'] ) + 2, - 'width': lwidth, - 'text-anchor': 'middle' - }, - k - ] - gg.append(label) - -def parseConfig (source) : - - lane['hscale'] = 1 - if lane.get('hscale0') : - lane['hscale'] = lane['hscale0'] - - if source and source.get('config') and source.get('config').get('hscale'): - hscale = round(source.get('config').get('hscale')) - if hscale > 0 : - if hscale > 100 : hscale = 100 - lane['hscale'] = hscale - - lane['yh0'] = 0 - lane['yh1'] = 0 - if source and source.get('head') : - lane['head'] = source['head'] - if source.get('head').get('tick',0) == 0 : lane['yh0'] = 20 - if source.get('head').get('tock',0) == 0 : lane['yh0'] = 20 - if source.get('head').get('text') : lane['yh1'] = 46; lane['head']['text'] = source['head']['text'] - - lane['yf0'] = 0 - lane['yf1'] = 0 - if source and source.get('foot') : - lane['foot'] = source['foot'] - if source.get('foot').get('tick',0) == 0 : lane['yf0'] = 20 - if source.get('foot').get('tock',0) == 0 : lane['yf0'] = 20 - if source.get('foot').get('text') : lane['yf1'] = 46; lane['foot']['text'] = source['foot']['text'] - -def rec (tmp, state) : - - name = str( tmp[0] ) - delta_x = 25 - - state['x'] += delta_x - for i in range( len( tmp ) ) : - if type( tmp[i] ) is list : - old_y = state['y'] - rec( tmp[i], state ) - state['groups'].append( {'x':state['xx'], 'y':old_y, 'height':state['y'] - old_y, 'name': state['name'] } ) - elif type( tmp[i] ) is dict : - state['lanes'].append(tmp[i]) - state['width'].append(state['x']) - state['y'] += 1 - - state['xx'] = state['x'] - state['x'] -= delta_x - state['name'] = name - -def insertSVGTemplate (index, parent, source) : - - e = waveskin.WaveSkin['default'] - - if source.get('config') and source.get('config').get('skin') : - if waveskin.WaveSkin.get( source.get('config').get('skin') ) : - e = waveskin.WaveSkin[ source.get('config').get('skin') ] - - if index == 0 : - lane['xs'] = int( e[3][1][2][1]['width'] ) - lane['ys'] = int( e[3][1][2][1]['height'] ) - lane['xlabel'] = int( e[3][1][2][1]['x'] ) - lane['ym'] = int( e[3][1][2][1]['y'] ) - - else : - e = ['svg', {'id': 'svg', 'xmlns': 'http://www.w3.org/2000/svg', 'xmlns:xlink': 'http://www.w3.org/1999/xlink', 'height': '0'}, - ['g', {'id': 'waves'}, - ['g', {'id': 'lanes'}], - ['g', {'id': 'groups'}] - ] - ] - - e[-1][1]['id'] = 'waves_' + str(index) - e[-1][2][1]['id'] = 'lanes_' + str(index) - e[-1][3][1]['id'] = 'groups_' + str(index) - e[1]['id'] = 'svgcontent_' + str(index) - e[1]['height'] = 0 - - parent.extend(e) - -def renderWaveForm (index, source, output) : - - xmax = 0 - root = [] - groups = [] - - if source.get('signal'): - insertSVGTemplate(index, output, source) - parseConfig( source ) - ret = {'x':0, 'y':0, 'xmax':0, 'width':[], 'lanes':[], 'groups':[] } - rec( source['signal'], ret ) - content = parseWaveLanes(ret['lanes']) - glengths = renderWaveLane(root, content, index) - for i in range( len( glengths ) ): - xmax = max( xmax, ( glengths[i] + ret['width'][i] ) ) - renderMarks(root, content, index) - renderArcs(root, ret['lanes'], index, source) - renderGaps(root, ret['lanes'], index) - renderGroups(groups, ret['groups'], index) - lane['xg'] = int( math.ceil( float( xmax - lane['tgo'] ) / float(lane['xs'] ) ) ) * lane['xs'] - width = (lane['xg'] + lane['xs'] * (lane['xmax'] + 1) ) - height = len(content) * lane['yo'] + lane['yh0'] + lane['yh1'] + lane['yf0'] + lane['yf1'] - output[1]={ - 'id' :'svgcontent_' + str(index), - 'xmlns' :"http://www.w3.org/2000/svg", - 'xmlns:xlink':"http://www.w3.org/1999/xlink", - 'width' :str(width), - 'height' :str(height), - 'viewBox' :'0 0 ' + str(width) + ' ' + str(height), - 'overflow' :"hidden" - } - output[-1][2][1]['transform']='translate(' + str(lane['xg'] + 0.5) + ', ' + str((float(lane['yh0']) + float(lane['yh1'])) + 0.5) + ')' - - output[-1][2].extend(root) - output[-1][3].extend(groups) - -def renderGroups (root, groups, index) : - - svgns = 'http://www.w3.org/2000/svg', - xmlns = 'http://www.w3.org/XML/1998/namespace' - - for i in range( len( groups ) ) : - group = [ - 'path', - { - 'id': 'group_' + str(i) + '_' + str(index), - 'd': 'm ' + str( groups[i]['x'] + 0.5 ) + ',' + str( groups[i]['y']* lane['yo'] + 3.5 + lane['yh0'] + lane['yh1'] ) + ' c -3,0 -5,2 -5,5 l 0,' + str( int( groups[i]['height'] * lane['yo'] - 16 ) ) + ' c 0,3 2,5 5,5', - 'style': 'stroke:#0041c4;stroke-width:1;fill:none' - } - ] - root.append(group) - - name = groups[i]['name'] - x = str( int( groups[i]['x'] - 10 ) ) - y = str( int( lane['yo'] * (groups[i]['y'] + (float(groups[i]['height']) / 2)) + lane['yh0'] + lane['yh1'] ) ) - label = [ - ['g', - {'transform': 'translate(' + x + ',' + y + ')'}, - ['g', {'transform': 'rotate(270)'}, - 'text', - { - 'text-anchor': 'middle', - 'class': 'info', - 'xml:space' : 'preserve' - }, - ['tspan',name] - ] - ] - ] - root.append(label) - -def renderGaps (root, source, index) : - - Stack = [] - svgns = 'http://www.w3.org/2000/svg', - xlinkns = 'http://www.w3.org/1999/xlink' - - if source: - - gg = [ - 'g', - { 'id': 'wavegaps_' + str(index) } - ] - - for i in range( len( source )): - lane['period'] = source[i].get('period',1) - lane['phase'] = int( source[i].get('phase',0 ) * 2 ) - - g = [ - 'g', - { - 'id': 'wavegap_' + str(i) + '_' + str(index), - 'transform': 'translate(0,' + str(lane['y0'] + i * lane['yo']) + ')' - } - ] - gg.append(g) - - if source[i].get('wave'): - text = source[i]['wave'] - Stack = text - pos = 0 - while len( Stack ) : - c = Stack [0] - Stack = Stack[1:] - if c == '|' : - b = [ - 'use', - { - 'xmlns:xlink':xlinkns, - 'xlink:href':'#gap', - 'transform': 'translate(' + str(int(float(lane['xs']) * ((2 * pos + 1) * float(lane['period']) * float(lane['hscale']) - float(lane['phase'])))) + ')' - } - ] - g.append(b) - pos += 1 - - root.append( gg ) - -def is_type_str( var ) : - if sys.version_info[0] < 3: - return type( var ) is str or type( var ) is unicode - else: - return type( var ) is str - -def convert_to_svg( root ) : - - svg_output = '' - - if type( root ) is list: - if len(root) >= 2 and type( root[1] ) is dict: - if len( root ) == 2 : - svg_output += '<' + root[0] + convert_to_svg( root[1] ) + '/>\n' - elif len( root ) >= 3 : - svg_output += '<' + root[0] + convert_to_svg( root[1] ) + '>\n' - if len( root ) == 3: - svg_output += convert_to_svg( root[2] ) - else: - svg_output += convert_to_svg( root[2:] ) - svg_output += '\n' - elif type( root[0] ) is list: - for eleml in root: - svg_output += convert_to_svg( eleml ) - else: - svg_output += '<' + root[0] + '>\n' - for eleml in root[1:]: - svg_output += convert_to_svg( eleml ) - svg_output += '\n' - elif type( root ) is dict: - for elemd in root : - svg_output += ' ' + elemd + '="' + str(root[elemd]) + '"' - else: - svg_output += root - - return svg_output - -if __name__ == '__main__': - - if len( sys.argv ) != 5: - print ( 'Usage : ' + sys.argv[0] + ' source svg ' ) - exit(1) - - if sys.argv[3] != 'svg' : - print ( 'Error: only SVG format supported.' ) - exit(1) - - output=[] - inputfile = sys.argv[2] - outputfile = sys.argv[4] - - with open(inputfile,'r') as f: - jinput = json.load(f) - - renderWaveForm(0,jinput,output) - svg_output = convert_to_svg(output) - - with open(outputfile,'w') as f: - f.write( svg_output ) From c22025839c5b10b022030574a006e667c54931cd Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 31 Jan 2019 08:28:51 -0800 Subject: [PATCH 25/77] datasheet now indicates if analytical or characterizer is used --- compiler/characterizer/lib.py | 5 +++-- compiler/datasheet/datasheet.py | 6 ++++++ compiler/datasheet/datasheet_gen.py | 5 +++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index a38ecd93..a63c773c 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -526,7 +526,7 @@ class lib: datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+') current_time = datetime.date.today() - datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},".format( + datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},".format( OPTS.output_name, OPTS.num_words, OPTS.num_banks, @@ -542,7 +542,8 @@ class lib: lib_name, OPTS.word_size, git_id, - current_time + current_time, + OPTS.analytical_delay )) # information of checks diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index d15733d5..71d1f9dd 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -59,6 +59,12 @@ class datasheet(): self.html += self.operating_table.to_html() self.html += '

Timing and Current Data

' + model = '' + if self.ANALYTICAL_MODEL: + model = "analytical model: results may not be percise" + else: + model = "spice characterizer" + self.html += '

Using '+model+'

' # self.html += timing_and_current_data(self.timing,table_id='data').__html__() self.html += self.timing_table.to_html() diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 24bc3953..664f88c5 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -115,6 +115,10 @@ def parse_characterizer_csv(f, pages): AREA = row[col] col += 1 + + ANALYTICAL_MODEL = row[col] + col += 1 + for sheet in pages: if sheet.name == NAME: @@ -365,6 +369,7 @@ def parse_characterizer_csv(f, pages): new_sheet.time = DATETIME new_sheet.DRC = DRC new_sheet.LVS = LVS + new_sheet.ANALYTICAL_MODEL = ANALYTICAL_MODEL new_sheet.description = [NAME, NUM_WORDS, NUM_BANKS, NUM_RW_PORTS, NUM_W_PORTS, NUM_R_PORTS, TECH_NAME, MIN_PERIOD, WORD_SIZE, ORIGIN_ID, DATETIME] From 12723adb0cdf9f311054d5164d3086e02bf2f5eb Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Mon, 4 Feb 2019 23:38:26 -0800 Subject: [PATCH 26/77] Modified some testing and initial delay chain sizes. --- .gitignore | 1 + compiler/characterizer/model_check.py | 6 +- compiler/modules/control_logic.py | 40 ++++----- compiler/tests/delay_data_collection.py | 83 ++++++++++++++----- ...data_4b_16word_1way_dc2x3_sae_measures.csv | 2 - .../data_4b_16word_1way_dc2x3_sae_model.csv | 2 - .../data_4b_16word_1way_dc2x3_wl_measures.csv | 2 - .../data_4b_16word_1way_dc2x3_wl_model.csv | 2 - ...data_4b_16word_1way_dc4x2_sae_measures.csv | 2 - .../data_4b_16word_1way_dc4x2_sae_model.csv | 2 - .../data_4b_16word_1way_dc4x2_wl_measures.csv | 2 - .../data_4b_16word_1way_dc4x2_wl_model.csv | 2 - 12 files changed, 88 insertions(+), 58 deletions(-) delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv delete mode 100644 compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv diff --git a/.gitignore b/.gitignore index c4e15e9d..b16e3d0b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ *.out *.toc *.synctex.gz +**/model_data \ No newline at end of file diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index b3e8452f..b791e520 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -227,7 +227,11 @@ class model_check(delay): def get_num_delay_stages(self): """Gets the number of stages in the delay chain from the control logic""" return len(self.sram.control_logic_rw.replica_bitline.delay_fanout_list) - + + def get_num_delay_stage_fanout(self): + """Gets fanout in each stage in the delay chain. Assumes each stage is the same""" + return self.sram.control_logic_rw.replica_bitline.delay_fanout_list[0] + def get_num_wl_en_driver_stages(self): """Gets the number of stages in the wl_en driver from the control logic""" return self.sram.control_logic_rw.wl_en_driver.num_stages diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 295bbca8..e81e44ea 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -30,13 +30,13 @@ class control_logic(design.design): self.port_type = port_type self.num_cols = word_size*words_per_row - self.num_words = num_rows * words_per_row + self.num_words = num_rows*words_per_row - self.enable_delay_chain_resizing = False + self.enable_delay_chain_resizing = True - #self.sram=None #disable re-sizing for debugging, FIXME: resizing is not working, needs to be adjusted for new control logic. - self.wl_timing_tolerance = 1 #Determines how much larger the sen delay should be. Accounts for possible error in model. - self.parasitic_inv_delay = parameter["min_inv_para_delay"] #Keeping 0 for now until further testing. + #Determines how much larger the sen delay should be. Accounts for possible error in model. + self.wl_timing_tolerance = 1 + self.parasitic_inv_delay = parameter["min_inv_para_delay"] self.wl_stage_efforts = None self.sen_stage_efforts = None @@ -159,16 +159,16 @@ class control_logic(design.design): #Resize if necessary, condition depends on resizing method if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): #This resizes to match fall and rise delays, can make the delay chain weird sizes. - # stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) - # self.replica_bitline = factory.create(module_type="replica_bitline", - # delay_fanout_list=stage_list, - # bitcell_loads=bitcell_loads) + stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) + self.replica_bitline = factory.create(module_type="replica_bitline", + delay_fanout_list=stage_list, + bitcell_loads=bitcell_loads) #This resizes based on total delay. - delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) - self.replica_bitline = factory.create(module_type="replica_bitline", - delay_fanout_list=[delay_fanout]*delay_stages, - bitcell_loads=bitcell_loads) + # delay_stages, delay_fanout = self.get_dynamic_delay_chain_size(delay_stages_heuristic, delay_fanout_heuristic) + # self.replica_bitline = factory.create(module_type="replica_bitline", + # delay_fanout_list=[delay_fanout]*delay_stages, + # bitcell_loads=bitcell_loads) self.sen_delay_rise,self.sen_delay_fall = self.get_delays_to_sen() #get the new timing self.delay_chain_resized = True @@ -177,13 +177,10 @@ class control_logic(design.design): def get_heuristic_delay_chain_size(self): """Use a basic heuristic to determine the size of the delay chain used for the Sense Amp Enable """ - # FIXME: These should be tuned according to the additional size parameters - delay_fanout = 3 # This can be anything >=2 + delay_fanout = 2 # This can be anything >=2 # Delay stages Must be non-inverting - if self.words_per_row >= 4: - delay_stages = 8 - elif self.words_per_row == 2: - delay_stages = 6 + if self.words_per_row >= 2: + delay_stages = 4 else: delay_stages = 2 @@ -247,6 +244,8 @@ class control_logic(design.design): required_delay_rise = self.wl_delay_rise*self.wl_timing_tolerance - (self.sen_delay_rise-previous_delay_chain_delay/2) debug.info(2,"Required delays from chain: fall={}, rise={}".format(required_delay_fall,required_delay_rise)) + #If the fanout is different between rise/fall by this amount. Stage algorithm is made more pessimistic. + WARNING_FANOUT_DIFF = 5 #The stages need to be equal (or at least a even number of stages with matching rise/fall delays) while True: stages_fall = self.calculate_stages_with_fixed_fanout(required_delay_fall,fanout_fall) @@ -254,7 +253,8 @@ class control_logic(design.design): debug.info(1,"Fall stages={}, rise stages={}".format(stages_fall,stages_rise)) if stages_fall == stages_rise: break - elif abs(stages_fall-stages_rise) == 1: + elif abs(stages_fall-stages_rise) == 1 and WARNING_FANOUT_DIFF < abs(fanout_fall-fanout_rise): + debug.info(1, "Delay chain fanouts between stages are large. Making chain size larger for safety.") break #There should also be a condition to make sure the fanout does not get too large. #Otherwise, increase the fanout of delay with the most stages, calculate new stages diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index bd2a61f7..7c98bccf 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -4,6 +4,7 @@ Run a regression test on various srams """ import csv,sys,os import pandas as pd +import matplotlib.pyplot as plt import unittest from testutils import header,openram_test @@ -19,13 +20,14 @@ MODEL_DIR = "model_data/" class data_collection(openram_test): def runTest(self): - - word_size, num_words, words_per_row = 4, 16, 1 - self.init_data_gen() - self.set_delay_chain(2,3) - self.save_data_sram_corners(word_size, num_words, words_per_row) - wl_dataframe, sae_dataframe = self.get_csv_data() - self.evaluate_data(wl_dataframe, sae_dataframe) + ratio_data = self.calculate_delay_ratios_of_srams() + self.display_data(ratio_data) + # word_size, num_words, words_per_row = 4, 16, 1 + # self.init_data_gen() + # self.set_delay_chain(2,3) + # self.save_data_sram_corners(word_size, num_words, words_per_row) + # wl_dataframe, sae_dataframe = self.get_csv_data() + # self.evaluate_data(wl_dataframe, sae_dataframe) #Run again but with different delay chain sizes # self.init_data_gen() @@ -34,12 +36,27 @@ class data_collection(openram_test): # wl_dataframe, sae_dataframe = self.get_csv_data() # self.evaluate_data(wl_dataframe, sae_dataframe) - model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() - debug.info(1, "model_delay_ratios={}".format(model_delay_ratios)) - debug.info(1, "meas_delay_ratios={}".format(meas_delay_ratios)) - debug.info(1, "ratio_error={}".format(ratio_error)) - globals.end_openram() + # model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() + # debug.info(1, "model_delay_ratios={}".format(model_delay_ratios)) + # debug.info(1, "meas_delay_ratios={}".format(meas_delay_ratios)) + # debug.info(1, "ratio_error={}".format(ratio_error)) + # globals.end_openram() + def calculate_delay_ratios_of_srams(self): + """Runs delay measurements on several sram configurations. + Computes the delay ratio for each one.""" + delay_ratio_data = {} + config_tuple_list = [(32, 1024, None)] + #config_tuple_list = [(1, 16, 1),(4, 16, 1), (16, 16, 1), (32, 32, 1)] + for sram_config in config_tuple_list: + word_size, num_words, words_per_row = sram_config + self.init_data_gen() + self.save_data_sram_corners(word_size, num_words, words_per_row) + model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() + delay_ratio_data[sram_config] = ratio_error + debug.info(1, "Ratio percentage error={}".format(ratio_error)) + return delay_ratio_data + def get_csv_data(self): """Hardcoded Hack to get the measurement data from the csv into lists. """ wl_files_name = [file_name for file_name in self.file_names if "wl_measures" in file_name][0] @@ -79,11 +96,30 @@ class data_collection(openram_test): corner = (wl_meas[proc_pos+1], wl_meas[volt_pos+1], wl_meas[temp_pos+1]) meas_delay_ratios[corner] = wl_meas[wl_sum_pos+1]/sae_meas[sae_sum_pos+1] model_delay_ratios[corner] = wl_model[wl_sum_pos+1]/sae_model[sae_sum_pos+1] - debug.info(1,"wl_model sum={}, sae_model_sum={}".format(wl_model[wl_sum_pos+1], sae_model[sae_sum_pos+1])) - ratio_error[corner] = 100*abs(model_delay_ratios[corner]-meas_delay_ratios[corner])/meas_delay_ratios[corner] + #Not using absolute error, positive error means model was larger, negative error means it was smaller. + ratio_error[corner] = 100*(model_delay_ratios[corner]-meas_delay_ratios[corner])/meas_delay_ratios[corner] return model_delay_ratios, meas_delay_ratios, ratio_error - + + def display_data(self, data): + """Displays the ratio data using matplotlib (requires graphics)""" + config_data = [] + xticks = [] + #Organize data + #First key level if the sram configuration (wordsize, num words, words per row) + for config,corner_data_dict in data.items(): + #Second level is the corner data for that configuration. + for corner, corner_data in corner_data_dict.items(): + #Right now I am only testing with a single corner, will not work with more than 1 corner + config_data.append(corner_data) + xticks.append("{}b,{}w,{}wpr".format(*config)) + #plot data + data_range = [i+1 for i in range(len(data))] + shapes = ['ro', 'bo', 'go', 'co', 'mo'] + plt.xticks(data_range, xticks) + plt.plot(data_range, config_data, 'ro') + plt.show() + def calculate_delay_error(self, wl_dataframe, sae_dataframe): """Calculates the percentage difference in delays between the wordline and sense amp enable""" start_data_pos = len(self.config_fields) #items before this point are configuration related @@ -123,6 +159,9 @@ class data_collection(openram_test): def save_data_sram_corners(self, word_size, num_words, words_per_row): """Performs corner analysis on a single SRAM configuration""" self.create_sram(word_size, num_words, words_per_row) + #Setting to none forces SRAM to determine the value. Must be checked after sram creation + if not words_per_row: + words_per_row = self.sram.s.words_per_row #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. corner_gen = self.corner_combination_generator() init_corner = next(corner_gen) @@ -150,7 +189,7 @@ class data_collection(openram_test): OPTS.trim_netlist = False OPTS.netlist_only = True OPTS.analytical_delay = False - OPTS.use_tech_delay_chain_size = True + #OPTS.use_tech_delay_chain_size = True # This is a hack to reload the characterizer __init__ with the spice version from importlib import reload import characterizer @@ -209,13 +248,16 @@ class data_collection(openram_test): self.csv_files = {} self.csv_writers = {} self.file_names = [] + delay_stages = self.delay_obj.get_num_delay_stages() + delay_stage_fanout = self.delay_obj.get_num_delay_stage_fanout() + for data_name, header_list in header_dict.items(): file_name = '{}data_{}b_{}word_{}way_dc{}x{}_{}.csv'.format(MODEL_DIR, word_size, num_words, words_per_row, - parameter["static_delay_stages"], - parameter["static_fanout_per_stage"], + delay_stages, + delay_stage_fanout, data_name) self.file_names.append(file_name) self.csv_files[data_name] = open(file_name, 'w') @@ -238,13 +280,11 @@ class data_collection(openram_test): self.sram_spice = OPTS.openram_temp + "temp.sp" self.sram.sp_write(self.sram_spice) - debug.info(1, "SRAM column address size={}".format(self.sram.s.col_addr_size)) - def get_sram_data(self, corner): """Generates the delay object using the corner and runs a simulation for data.""" from characterizer import model_check self.delay_obj = model_check(self.sram.s, self.sram_spice, corner) - + import tech #Only 1 at a time probe_address = "1" * self.sram.s.addr_size @@ -253,6 +293,7 @@ class data_collection(openram_test): slews = [tech.spice["rise_time"]*2] sram_data = self.delay_obj.analyze(probe_address,probe_data,slews,loads) + return sram_data def remove_lists_from_dict(self, dict): diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv deleted file mode 100644 index e8016aa1..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_measures.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum -4,16,1,False,TT,1.0,25,0.020618,0.0062215,0.018563000000000003,0.017233000000000002,0.007710799999999999,0.0099965,0.045221000000000004,0.12556380000000003 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv deleted file mode 100644 index 3ed42e60..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_sae_model.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum -4,16,1,False,TT,1.0,25,8.8,2.65,6.4,7.4,3.4,7.15,7.15,42.949999999999996 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv deleted file mode 100644 index 4c0ca0f3..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_measures.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum -4,16,1,False,TT,1.0,25,0.010512,0.0089216,0.014109,0.013643,0.014564,0.0086745,0.0704241 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv deleted file mode 100644 index e9faaeb9..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc2x3_wl_model.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum -4,16,1,False,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4,32.13333333333334 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv deleted file mode 100644 index fe82d4e4..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_measures.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum -4,16,1,False,TT,1.0,25,0.020572,0.006256,0.015678,0.014110000000000001,0.017755,0.013415,0.0076344,0.010162,0.04153,0.14711239999999998 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv deleted file mode 100644 index 7cac207f..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_sae_model.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xand2_rbl_in.zb_int,Xsram.Xcontrol0.rbl_in,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_1,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_2,Xsram.Xcontrol0.Xreplica_bitline.Xdelay_chain.dout_3,Xsram.Xcontrol0.Xreplica_bitline.delayed_en,Xsram.Xcontrol0.pre_s_en,Xsram.Xcontrol0.Xbuf_s_en.Zb1_int,Xsram.s_en0,sum -4,16,1,False,TT,1.0,25,8.8,2.65,5.4,5.4,5.4,6.4,3.4,7.15,7.15,51.74999999999999 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv deleted file mode 100644 index 97844e6d..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_measures.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum -4,16,1,False,TT,1.0,25,0.010463,0.0089004,0.014107,0.013630000000000001,0.0146,0.0086902,0.0703906 diff --git a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv b/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv deleted file mode 100644 index e9faaeb9..00000000 --- a/compiler/tests/model_data/data_4b_16word_1way_dc4x2_wl_model.csv +++ /dev/null @@ -1,2 +0,0 @@ -word_size,num_words,words_per_row,dc_resized,process,voltage,temp,Xsram.Xcontrol0.Xbuf_wl_en.Zb1_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb2_int,Xsram.Xcontrol0.Xbuf_wl_en.Zb3_int,Xsram.wl_en0,Xsram.Xbank0.Xwordline_driver0.wl_bar_15,Xsram.Xbank0.wl_15,sum -4,16,1,False,TT,1.0,25,5.4,5.4,5.733333333333333,4.4,5.8,5.4,32.13333333333334 From e3d003d410137f48f01c68dae28b4210221d2c6f Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 5 Feb 2019 00:43:16 -0800 Subject: [PATCH 27/77] Adjusted test values to account for recent changes. --- compiler/tests/21_hspice_delay_test.py | 57 +++++++++++++------------ compiler/tests/21_ngspice_delay_test.py | 55 ++++++++++++------------ compiler/tests/config_data.py | 1 + compiler/tests/testutils.py | 2 + 4 files changed, 60 insertions(+), 55 deletions(-) diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index 8be7152c..a2c40a22 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -51,35 +51,36 @@ class timing_sram_test(openram_test): data.update(port_data[0]) if OPTS.tech_name == "freepdk45": - golden_data = {'delay_hl': [0.2011], - 'delay_lh': [0.2011], - 'leakage_power': 0.002, - 'min_period': 0.41, - 'read0_power': [0.63604], - 'read1_power': [0.6120599999999999], - 'slew_hl': [0.07078999999999999], - 'slew_lh': [0.07078999999999999], - 'write0_power': [0.51742], - 'write1_power': [0.51095], - 'volt_bl': [0.2017], - 'volt_br': [1.0765], - 'delay_bl': [0.18114999999999998], - 'delay_br': [0.17763]} + golden_data = {'delay_bl': [0.19683], + 'delay_br': [0.19474], + 'delay_hl': [0.20646], + 'delay_lh': [0.20646], + 'leakage_power': 0.0013155, + 'min_period': 0.43, + 'read0_power': [0.50758], + 'read1_power': [0.48225999999999997], + 'slew_hl': [0.045869], + 'slew_lh': [0.045869], + 'volt_bl': [0.6563], + 'volt_br': [1.117], + 'write0_power': [0.46124000000000004], + 'write1_power': [0.48225999999999997]} elif OPTS.tech_name == "scn4m_subm": - golden_data = {'delay_hl': [1.3911], - 'delay_lh': [1.3911], - 'leakage_power': 0.0278488, - 'min_period': 2.812, - 'read0_power': [22.1183], - 'read1_power': [21.4388], - 'slew_hl': [0.6], - 'slew_lh': [0.6], - 'write0_power': [19.4103], - 'write1_power': [20.1167], - 'volt_bl': [3.1763], - 'volt_br': [5.5731], - 'delay_bl': [1.1133000000000002], - 'delay_br': [0.9958395]} + golden_data = {'delay_bl': [1.1029], + 'delay_br': [0.9656455999999999], + 'delay_hl': [1.288], + 'delay_lh': [1.288], + 'leakage_power': 0.0273896, + 'min_period': 2.578, + 'read0_power': [16.9996], + 'read1_power': [16.2616], + 'slew_hl': [0.47891700000000004], + 'slew_lh': [0.47891700000000004], + 'volt_bl': [4.2155], + 'volt_br': [5.8142], + 'write0_power': [16.0656], + 'write1_power': [16.2616]} + else: self.assertTrue(False) # other techs fail # Check if no too many or too few results diff --git a/compiler/tests/21_ngspice_delay_test.py b/compiler/tests/21_ngspice_delay_test.py index 98f01e53..5af44e69 100755 --- a/compiler/tests/21_ngspice_delay_test.py +++ b/compiler/tests/21_ngspice_delay_test.py @@ -51,35 +51,36 @@ class timing_sram_test(openram_test): data.update(port_data[0]) if OPTS.tech_name == "freepdk45": - golden_data = {'delay_bl': [0.1840938], - 'delay_br': [0.1804373], - 'delay_hl': [0.2130831], - 'delay_lh': [0.2130831], - 'leakage_power': 0.001595639, - 'min_period': 0.527, - 'read0_power': [0.4852456], - 'read1_power': [0.46341889999999997], - 'slew_hl': [0.07351041999999999], - 'slew_lh': [0.07351041999999999], - 'volt_bl': [0.1954744], - 'volt_br': [1.058266], - 'write0_power': [0.4065201], - 'write1_power': [0.46341889999999997]} + golden_data = {'delay_bl': [0.2003652], + 'delay_br': [0.198698], + 'delay_hl': [0.2108836], + 'delay_lh': [0.2108836], + 'leakage_power': 0.001564799, + 'min_period': 0.508, + 'read0_power': [0.43916689999999997], + 'read1_power': [0.4198608], + 'slew_hl': [0.0455126], + 'slew_lh': [0.0455126], + 'volt_bl': [0.6472883], + 'volt_br': [1.114024], + 'write0_power': [0.40681890000000004], + 'write1_power': [0.4198608]} elif OPTS.tech_name == "scn4m_subm": - golden_data = {'delay_hl': [1.610911], - 'delay_lh': [1.610911], - 'leakage_power': 0.0023593859999999998, + golden_data = {'delay_bl': [1.3937359999999999], + 'delay_br': [1.2596429999999998], + 'delay_hl': [1.5747600000000002], + 'delay_lh': [1.5747600000000002], + 'leakage_power': 0.00195795, 'min_period': 3.281, - 'read0_power': [20.763569999999998], - 'read1_power': [20.32745], - 'slew_hl': [0.7986348999999999], - 'slew_lh': [0.7986348999999999], - 'write0_power': [17.58272], - 'write1_power': [18.523419999999998], - 'volt_bl': [3.1763], - 'volt_br': [5.5731], - 'delay_bl': [1.1133000000000002], - 'delay_br': [0.9958395]} + 'read0_power': [14.92874], + 'read1_power': [14.369810000000001], + 'slew_hl': [0.49631959999999997], + 'slew_lh': [0.49631959999999997], + 'volt_bl': [4.132618], + 'volt_br': [5.573099], + 'write0_power': [13.79953], + 'write1_power': [14.369810000000001]} + else: self.assertTrue(False) # other techs fail diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index 08168bc3..f81a2451 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -1,3 +1,4 @@ +#Config file used for collecting data. word_size = 1 num_words = 16 diff --git a/compiler/tests/testutils.py b/compiler/tests/testutils.py index 74d97960..ee7f1412 100755 --- a/compiler/tests/testutils.py +++ b/compiler/tests/testutils.py @@ -62,6 +62,8 @@ class openram_test(unittest.TestCase): delay_obj.set_load_slew(load, slew) delay_obj.set_probe(probe_address="1"*sram.addr_size, probe_data=(sram.word_size-1)) test_port = delay_obj.read_ports[0] #Only test one port, assumes other ports have similar period. + delay_obj.create_signal_names() + delay_obj.create_measurement_names() delay_obj.create_measurement_objects() delay_obj.find_feasible_period_one_port(test_port) return delay_obj.period From 5f01a52113de8a5d987ff58ec76c88e5e6fcdd92 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 5 Feb 2019 21:15:12 -0800 Subject: [PATCH 28/77] Fixed some delay model bugs. --- compiler/characterizer/delay.py | 6 ++++-- compiler/modules/control_logic.py | 15 +++++++++++---- compiler/modules/sense_amp.py | 1 + compiler/modules/sense_amp_array.py | 2 +- compiler/pgates/pdriver.py | 13 ++++++------- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 14bdcd11..9230be55 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -889,7 +889,8 @@ class delay(simulation): """ if OPTS.num_rw_ports > 1 or OPTS.num_w_ports > 0 and OPTS.num_r_ports > 0: debug.warning("Analytical characterization results are not supported for multiport.") - + self.create_signal_names() + self.create_measurement_names() power = self.analytical_power(slews, loads) port_data = self.get_empty_measure_data_dict() for slew in slews: @@ -907,7 +908,8 @@ class delay(simulation): else: debug.error("Measurement name not recognized: {}".format(mname),1) period_margin = 0.1 - sram_data = { "min_period": bank_delay[0]*2*period_margin, + risefall_delay = bank_delay[self.read_ports[0]].delay/1e3 + sram_data = { "min_period":risefall_delay*2*period_margin, "leakage_power": power.leakage} return (sram_data,port_data) diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index e81e44ea..9d022324 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -154,10 +154,8 @@ class control_logic(design.design): self.replica_bitline = factory.create(module_type="replica_bitline", delay_fanout_list=[delay_fanout_heuristic]*delay_stages_heuristic, bitcell_loads=bitcell_loads) - if self.sram != None: #Calculate delays for potential re-sizing - self.set_sen_wl_delays() #Resize if necessary, condition depends on resizing method - if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_total_timing_match(): + if self.sram != None and self.enable_delay_chain_resizing and not self.does_sen_rise_fall_timing_match(): #This resizes to match fall and rise delays, can make the delay chain weird sizes. stage_list = self.get_dynamic_delay_fanout_list(delay_stages_heuristic, delay_fanout_heuristic) self.replica_bitline = factory.create(module_type="replica_bitline", @@ -177,7 +175,8 @@ class control_logic(design.design): def get_heuristic_delay_chain_size(self): """Use a basic heuristic to determine the size of the delay chain used for the Sense Amp Enable """ - delay_fanout = 2 # This can be anything >=2 + #FIXME: The minimum was 2 fanout, now it will not pass DRC unless it is 3. Why? + delay_fanout = 3 # This can be anything >=3 # Delay stages Must be non-inverting if self.words_per_row >= 2: delay_stages = 4 @@ -246,15 +245,23 @@ class control_logic(design.design): #If the fanout is different between rise/fall by this amount. Stage algorithm is made more pessimistic. WARNING_FANOUT_DIFF = 5 + stages_close = False #The stages need to be equal (or at least a even number of stages with matching rise/fall delays) while True: stages_fall = self.calculate_stages_with_fixed_fanout(required_delay_fall,fanout_fall) stages_rise = self.calculate_stages_with_fixed_fanout(required_delay_rise,fanout_rise) debug.info(1,"Fall stages={}, rise stages={}".format(stages_fall,stages_rise)) + if abs(stages_fall-stages_rise) == 1 and not stages_close: + stages_close = True + safe_fanout_rise = fanout_rise + safe_fanout_fall = fanout_fall + if stages_fall == stages_rise: break elif abs(stages_fall-stages_rise) == 1 and WARNING_FANOUT_DIFF < abs(fanout_fall-fanout_rise): debug.info(1, "Delay chain fanouts between stages are large. Making chain size larger for safety.") + fanout_rise = safe_fanout_rise + fanout_fall = safe_fanout_fall break #There should also be a condition to make sure the fanout does not get too large. #Otherwise, increase the fanout of delay with the most stages, calculate new stages diff --git a/compiler/modules/sense_amp.py b/compiler/modules/sense_amp.py index 8553e42c..9601259c 100644 --- a/compiler/modules/sense_amp.py +++ b/compiler/modules/sense_amp.py @@ -48,4 +48,5 @@ class sense_amp(design.design): """Get the relative capacitance of sense amp enable gate cin""" pmos_cin = parameter["sa_en_pmos_size"]/drc("minwidth_tx") nmos_cin = parameter["sa_en_nmos_size"]/drc("minwidth_tx") + #sen is connected to 2 pmos isolation TX and 1 nmos per sense amp. return 2*pmos_cin + nmos_cin \ No newline at end of file diff --git a/compiler/modules/sense_amp_array.py b/compiler/modules/sense_amp_array.py index ebf95c95..dc80a13b 100644 --- a/compiler/modules/sense_amp_array.py +++ b/compiler/modules/sense_amp_array.py @@ -142,4 +142,4 @@ class sense_amp_array(design.design): def get_en_cin(self): """Get the relative capacitance of all the sense amp enable connections in the array""" sense_amp_en_cin = self.amp.get_en_cin() - return sense_amp_en_cin * self.words_per_row + return sense_amp_en_cin * self.word_size diff --git a/compiler/pgates/pdriver.py b/compiler/pgates/pdriver.py index 3a0e4e78..23f3f4f8 100644 --- a/compiler/pgates/pdriver.py +++ b/compiler/pgates/pdriver.py @@ -196,17 +196,16 @@ class pdriver(pgate.pgate): def get_stage_efforts(self, external_cout, inp_is_rise=False): """Get the stage efforts of the A -> Z path""" - - cout_list = {} + cout_list = [] for prev_inv,inv in zip(self.inv_list, self.inv_list[1:]): - cout_list[prev_inv]=inv.get_cin() - - cout_list[self.inv_list[-1]]=external_cout + cout_list.append(inv.get_cin()) + + cout_list.append(external_cout) stage_effort_list = [] last_inp_is_rise = inp_is_rise - for inv in self.inv_list: - stage = inv.get_stage_effort(cout_list[inv], last_inp_is_rise) + for inv,cout in zip(self.inv_list,cout_list): + stage = inv.get_stage_effort(cout, last_inp_is_rise) stage_effort_list.append(stage) last_inp_is_rise = stage.is_rise From 01c8405d12cd5a613005a57db6ed755c16e1e7db Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 6 Feb 2019 00:46:25 -0800 Subject: [PATCH 29/77] Fix bitline measurement delays and adjusted default delay chain for column mux srams --- compiler/characterizer/delay.py | 17 ++++++++++++++--- compiler/characterizer/measurements.py | 5 +++-- compiler/modules/control_logic.py | 4 ++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 9230be55..7aa9641d 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -70,6 +70,11 @@ class delay(simulation): self.read_meas_objs[-1].meta_str = "read1" self.read_meas_objs.append(power_measure("read0_power", "FALL", measure_scale=1e3)) self.read_meas_objs[-1].meta_str = "read0" + + #This will later add a half-period to the spice time delay. Only for reading 0. + for obj in self.read_meas_objs: + if obj.meta_str is "read0": + obj.meta_add_delay = True trig_name = "Xsram.s_en{}" #Sense amp enable if len(self.all_ports) == 1: #special naming case for single port sram bitlines which does not include the port in name @@ -104,13 +109,16 @@ class delay(simulation): self.bitline_delay_objs[-1].meta_str = "read0" self.bitline_delay_objs.append(delay_measure(self.bitline_delay_names[1], trig_name, br_name, "FALL", "FALL", targ_vdd=targ_val, measure_scale=1e9)) self.bitline_delay_objs[-1].meta_str = "read1" - + #Enforces the time delay on the bitline measurements for read0 or read1 + for obj in self.bitline_delay_objs: + obj.meta_add_delay = True + def create_write_port_measurement_objects(self): """Create the measurements used for read ports: delays, slews, powers""" self.write_meas_objs = [] self.write_meas_objs.append(power_measure("write1_power", "RISE", measure_scale=1e3)) - self.write_meas_objs[-1].meta_str = "read1" + self.write_meas_objs[-1].meta_str = "write1" self.write_meas_objs.append(power_measure("write0_power", "FALL", measure_scale=1e3)) self.write_meas_objs[-1].meta_str = "write0" @@ -284,12 +292,15 @@ class delay(simulation): #vdd is arguably constant as that is true for a single lib file. if delay_obj.meta_str == "read0": #Falling delay are measured starting from neg. clk edge. Delay adjusted to that. - meas_cycle_delay = self.cycle_times[self.measure_cycles[port][delay_obj.meta_str]] + self.period/2 + meas_cycle_delay = self.cycle_times[self.measure_cycles[port][delay_obj.meta_str]] elif delay_obj.meta_str == "read1": meas_cycle_delay = self.cycle_times[self.measure_cycles[port][delay_obj.meta_str]] else: debug.error("Unrecognised delay Index={}".format(delay_obj.meta_str),1) + if delay_obj.meta_add_delay: + meas_cycle_delay += self.period/2 + return (meas_cycle_delay, meas_cycle_delay, self.vdd_voltage, port) def get_power_measure_variants(self, port, power_obj, operation): diff --git a/compiler/characterizer/measurements.py b/compiler/characterizer/measurements.py index aec4d769..e3d16584 100644 --- a/compiler/characterizer/measurements.py +++ b/compiler/characterizer/measurements.py @@ -10,8 +10,9 @@ class spice_measurement(ABC): #Names must be unique for correct spice simulation, but not enforced here. self.name = measure_name self.measure_scale = measure_scale - self.meta_str = None #Some measurements set this, set here to be clear on existence - + #Some meta values used externally. variables are added here for consistency accross the objects + self.meta_str = None + self.meta_add_delay = False @abstractmethod def get_measure_function(self): return None diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 9d022324..d83cbd0d 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -177,9 +177,9 @@ class control_logic(design.design): """Use a basic heuristic to determine the size of the delay chain used for the Sense Amp Enable """ #FIXME: The minimum was 2 fanout, now it will not pass DRC unless it is 3. Why? delay_fanout = 3 # This can be anything >=3 - # Delay stages Must be non-inverting + # Model poorly captures delay of the column mux. Be pessismistic for column mux if self.words_per_row >= 2: - delay_stages = 4 + delay_stages = 8 else: delay_stages = 2 From 56e79c050b133014955b7b2d01730c3028cab5f8 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 6 Feb 2019 15:27:29 -0800 Subject: [PATCH 30/77] Changed test values to fix tests. --- compiler/modules/control_logic.py | 7 ++++++- compiler/tests/21_hspice_delay_test.py | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index d83cbd0d..57e578f5 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -182,7 +182,12 @@ class control_logic(design.design): delay_stages = 8 else: delay_stages = 2 - + + #Read ports have a shorter s_en delay. The model is not accurate enough to catch this difference + #on certain sram configs. + if self.port_type == "r": + delay_stages+=2 + return (delay_stages, delay_fanout) def set_sen_wl_delays(self): diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index a2c40a22..fa7fc35f 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -51,20 +51,20 @@ class timing_sram_test(openram_test): data.update(port_data[0]) if OPTS.tech_name == "freepdk45": - golden_data = {'delay_bl': [0.19683], - 'delay_br': [0.19474], - 'delay_hl': [0.20646], - 'delay_lh': [0.20646], - 'leakage_power': 0.0013155, + golden_data = {'delay_bl': [0.1980959], + 'delay_br': [0.1946091], + 'delay_hl': [0.2121267], + 'delay_lh': [0.2121267], + 'leakage_power': 0.0023761999999999998, 'min_period': 0.43, - 'read0_power': [0.50758], - 'read1_power': [0.48225999999999997], - 'slew_hl': [0.045869], - 'slew_lh': [0.045869], - 'volt_bl': [0.6563], - 'volt_br': [1.117], - 'write0_power': [0.46124000000000004], - 'write1_power': [0.48225999999999997]} + 'read0_power': [0.5139368], + 'read1_power': [0.48940979999999995], + 'slew_hl': [0.0516745], + 'slew_lh': [0.0516745], + 'volt_bl': [0.5374525], + 'volt_br': [1.1058], + 'write0_power': [0.46267169999999996], + 'write1_power': [0.4670826]} elif OPTS.tech_name == "scn4m_subm": golden_data = {'delay_bl': [1.1029], 'delay_br': [0.9656455999999999], From 690055174d8f9df37118031244f626ca7b060350 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 6 Feb 2019 20:09:01 -0800 Subject: [PATCH 31/77] Fixed bug in control logic test with port configs. --- compiler/tests/16_control_logic_test.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/tests/16_control_logic_test.py b/compiler/tests/16_control_logic_test.py index 91ad0500..e0545af4 100755 --- a/compiler/tests/16_control_logic_test.py +++ b/compiler/tests/16_control_logic_test.py @@ -36,17 +36,21 @@ class control_logic_test(openram_test): # Check port specific control logic OPTS.num_rw_ports = 1 - OPTS.num_w_ports = 1 - OPTS.num_r_ports = 1 + OPTS.num_w_ports = 0 + OPTS.num_r_ports = 0 debug.info(1, "Testing sample for control_logic for multiport, only write control logic") a = control_logic.control_logic(num_rows=128, words_per_row=1, word_size=8, port_type="rw") self.local_check(a) + OPTS.num_rw_ports = 0 + OPTS.num_w_ports = 1 debug.info(1, "Testing sample for control_logic for multiport, only write control logic") a = control_logic.control_logic(num_rows=128, words_per_row=1, word_size=8, port_type="w") self.local_check(a) + OPTS.num_w_ports = 0 + OPTS.num_r_ports = 1 debug.info(1, "Testing sample for control_logic for multiport, only read control logic") a = control_logic.control_logic(num_rows=128, words_per_row=1, word_size=8, port_type="r") self.local_check(a) From e131af2cc3bca7a8a3e957fd516379874ab0cdd2 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Wed, 6 Feb 2019 20:31:22 -0800 Subject: [PATCH 32/77] power added to datasheet (finally) --- compiler/characterizer/lib.py | 40 +++++- compiler/datasheet/datasheet.py | 5 +- compiler/datasheet/datasheet_gen.py | 131 +++++++++++++----- .../example_config_1rw_1r_scn4m_subm.py | 2 +- 4 files changed, 136 insertions(+), 42 deletions(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index a63c773c..76d8e3d8 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -507,7 +507,8 @@ class lib: def parse_info(self,corner,lib_name): """ Copies important characterization data to datasheet.info to be added to datasheet """ if OPTS.is_unit_test: - git_id = 'AAAAAAAAAAAAAAAAAAAA' + git_id = 'FFFFFFFFFFFFFFFFFFFF' + else: with open(os.devnull, 'wb') as devnull: proc = subprocess.Popen(['git','rev-parse','HEAD'], cwd=os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/', stdout=subprocess.PIPE) @@ -524,7 +525,7 @@ class lib: git_id = 'Failed to retruieve' datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+') - + current_time = datetime.date.today() datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},".format( OPTS.output_name, @@ -654,8 +655,41 @@ class lib: )) + for port in self.all_ports: + name = '' + read_write = '' + if port in self.read_ports: + web_name = " & !WEb{0}".format(port) + name = "!CSb{0} & clk{0}{1}".format(port, web_name) + read_write = 'Read' + datasheet.write("{0},{1},{2},{3},".format( + "power", + name, + read_write, + + np.mean(self.char_port_results[port]["read1_power"] + self.char_port_results[port]["read0_power"])/2 + )) + + if port in self.write_ports: + web_name = " & WEb{0}".format(port) + name = "!CSb{0} & !clk{0}{1}".format(port, web_name) + read_write = 'Write' + + datasheet.write("{0},{1},{2},{3},".format( + 'power', + name, + read_write, + np.mean(self.char_port_results[port]["write1_power"] + self.char_port_results[port]["write0_power"])/2 + + )) + + control_str = 'CSb0' + for i in range(1, self.total_port_num): + control_str += ' & CSb{0}'.format(i) + + datasheet.write("{0},{1},{2},".format('leak', control_str, self.char_sram_results["leakage_power"])) + datasheet.write("END\n") datasheet.close() - diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index 71d1f9dd..84a6eafc 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -58,7 +58,7 @@ class datasheet(): # self.html += operating_conditions(self.operating,table_id='data').__html__() self.html += self.operating_table.to_html() - self.html += '

Timing and Current Data

' + self.html += '

Timing Data

' model = '' if self.ANALYTICAL_MODEL: model = "analytical model: results may not be percise" @@ -68,6 +68,9 @@ class datasheet(): # self.html += timing_and_current_data(self.timing,table_id='data').__html__() self.html += self.timing_table.to_html() + self.html += '

Power Data

' + self.html += self.power_table.to_html() + self.html += '

Characterization Corners

' # self.html += characterization_corners(self.corners,table_id='data').__html__() self.html += self.corners_table.to_html() diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 664f88c5..51c636c8 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -166,31 +166,31 @@ def parse_characterizer_csv(f, pages): if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('setup falling'): + if item[0].endswith('setup falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold rising'): + if item[0].endswith('hold rising'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold falling'): + if item[0].endswith('hold falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 col += 1 @@ -205,31 +205,31 @@ def parse_characterizer_csv(f, pages): if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('cell fall'): + if item[0].endswith('cell fall'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('rise transition'): + if item[0].endswith('rise transition'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('fall transition'): + if item[0].endswith('fall transition'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 col += 1 @@ -244,31 +244,31 @@ def parse_characterizer_csv(f, pages): if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('setup falling'): + if item[0].endswith('setup falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold rising'): + if item[0].endswith('hold rising'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold falling'): + if item[0].endswith('hold falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 col += 1 @@ -283,31 +283,31 @@ def parse_characterizer_csv(f, pages): if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('setup falling'): + if item[0].endswith('setup falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold rising'): + if item[0].endswith('hold rising'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold falling'): + if item[0].endswith('hold falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 col += 1 @@ -322,31 +322,31 @@ def parse_characterizer_csv(f, pages): if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('setup falling'): + if item[0].endswith('setup falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold rising'): + if item[0].endswith('hold rising'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 - elif item[0].endswith('hold falling'): + if item[0].endswith('hold falling'): if float(row[col+1]) < float(item[1]): item[1] = row[col+1] if float(row[col+2]) > float(item[2]): item[2] = row[col+2] - col += 2 + col += 2 col += 1 @@ -354,8 +354,35 @@ def parse_characterizer_csv(f, pages): for element in row[col_start: col - 1]: sheet.description.append(str(element)) break + while(True): + col_start = col + if row[col] == 'power': + for item in sheet.power_table.rows: + if item[0].startswith(row[col+1]): + if item[2].startswith('{0} Rising'.format(row[col+2])): + if float(item[2]) < float(row[col+3]): + item[2] = row[col+3] + if item[2].startswith('{0} Falling'.format(row[col+2])): + if float(item[2]) < float(row[col+3]): + item[2] = row[col+3] + col += 4 + else: + break - new_sheet.corners_table.add_row([PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) + while(True): + col_start = col + if row[col] == 'leak': + for item in sheet.power_table.rows: + if item[0].startswith(row[col+1]): + if float(item[2]) < float(row[col+2]): + item[2] = row[col+2] + col += 3 + + else: + break + + new_sheet.corners_table.add_row( + [PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) new_sheet.dlv_table.add_row( ['.lib', 'Synthesis models', '{1}'.format(LIB_NAME, LIB_NAME.replace(OUT_DIR, ''))]) @@ -376,7 +403,8 @@ def parse_characterizer_csv(f, pages): new_sheet.corners_table = table_gen.table_gen("corners") new_sheet.corners_table.add_row( ['Transistor Type', 'Power Supply', 'Temperature', 'Corner Name']) - new_sheet.corners_table.add_row([PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) + new_sheet.corners_table.add_row( + [PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) new_sheet.operating_table = table_gen.table_gen( "operating_table") new_sheet.operating_table.add_row( @@ -393,6 +421,9 @@ def parse_characterizer_csv(f, pages): # failed to provide non-zero MIN_PERIOD new_sheet.operating_table.add_row( ['Operating Frequency (F)', '', '', "not available in netlist only", 'MHz']) + new_sheet.power_table = table_gen.table_gen("power") + new_sheet.power_table.add_row( + ['Pins', 'Mode', 'Power', 'Units']) new_sheet.timing_table = table_gen.table_gen("timing") new_sheet.timing_table.add_row( ['Parameter', 'Min', 'Max', 'Units']) @@ -523,6 +554,32 @@ def parse_characterizer_csv(f, pages): sheet.description.append(str(element)) break + while(True): + start = col + if(row[col].startswith('power')): + new_sheet.power_table.add_row([row[col+1], + '{0} Rising'.format( + row[col+2]), + row[col+3][0:6], + 'mW'] + ) + new_sheet.power_table.add_row([row[col+1], + '{0} Falling'.format( + row[col+2]), + row[col+3][0:6], + 'mW'] + ) + + col += 4 + + elif(row[col].startswith('leak')): + new_sheet.power_table.add_row( + [row[col+1], 'leakage', row[col+2], 'mW']) + col += 3 + + else: + break + new_sheet.dlv_table = table_gen.table_gen("dlv") new_sheet.dlv_table.add_row(['Type', 'Description', 'Link']) diff --git a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py index 4d09cfee..87c1304d 100644 --- a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py +++ b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py @@ -10,7 +10,7 @@ num_w_ports = 0 tech_name = "scn4m_subm" process_corners = ["TT"] supply_voltages = [5.0] -temperatures = [25] +temperatures = [25,50] output_path = "temp" output_name = "sram_1rw_1r_{0}_{1}_{2}".format(word_size,num_words,tech_name) From d0edda93adeed7e8fd5c23a09b0cee86ddfe5745 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 7 Feb 2019 02:27:22 -0800 Subject: [PATCH 33/77] Added more variance analysis for the delay data --- compiler/characterizer/model_check.py | 5 +- compiler/tests/config_data.py | 2 +- compiler/tests/delay_data_collection.py | 74 ++++++++++++++++++------- 3 files changed, 57 insertions(+), 24 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index b791e520..88e0b96a 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -38,6 +38,7 @@ class model_check(delay): self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in"]+dc_delay_names self.sae_delay_meas_names = ["delay_pre_sen"]+sen_driver_delay_names+["delay_sen"] + self.delay_chain_indices = (len(self.rbl_delay_meas_names)-len(dc_delay_names), len(self.rbl_delay_meas_names)) #Create slew measurement names wl_en_driver_slew_names = ["slew_wl_en_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] wl_driver_slew_names = ["slew_wl_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] @@ -61,14 +62,14 @@ class model_check(delay): ["Xsram.wl_en0", "Xsram.Xbank0.Xwordline_driver0.wl_bar_{}".format(self.wordline_row)]+\ wl_driver_signals+\ ["Xsram.Xbank0.wl_{}".format(self.wordline_row)] - self.rbl_en_signal_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"]+\ + pre_delay_chain_names = ["Xsram.Xcontrol0.gated_clk_bar", "Xsram.Xcontrol0.Xand2_rbl_in.zb_int", "Xsram.Xcontrol0.rbl_in"] + self.rbl_en_signal_names = pre_delay_chain_names+\ delay_chain_signal_names+\ ["Xsram.Xcontrol0.Xreplica_bitline.delayed_en"] self.sae_signal_names = ["Xsram.Xcontrol0.Xreplica_bitline.bl0_0", "Xsram.Xcontrol0.pre_s_en"]+\ sen_driver_signals+\ ["Xsram.s_en0"] - def create_measurement_objects(self): """Create the measurements used for read and write ports""" self.create_wordline_measurement_objects() diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index f81a2451..849d441d 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -4,7 +4,7 @@ num_words = 16 tech_name = "freepdk45" #process_corners = ["TT", "FF", "SS", "SF", "FS"] -process_corners = ["TT"] +process_corners = ["TT", "FF", "SS"] supply_voltages = [1.0] temperatures = [25] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 7c98bccf..3b1fe938 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -20,28 +20,60 @@ MODEL_DIR = "model_data/" class data_collection(openram_test): def runTest(self): - ratio_data = self.calculate_delay_ratios_of_srams() - self.display_data(ratio_data) - # word_size, num_words, words_per_row = 4, 16, 1 - # self.init_data_gen() - # self.set_delay_chain(2,3) - # self.save_data_sram_corners(word_size, num_words, words_per_row) - # wl_dataframe, sae_dataframe = self.get_csv_data() - # self.evaluate_data(wl_dataframe, sae_dataframe) - - #Run again but with different delay chain sizes - # self.init_data_gen() - # self.set_delay_chain(4,2) - # self.save_data_sram_corners(word_size, num_words, words_per_row) - # wl_dataframe, sae_dataframe = self.get_csv_data() - # self.evaluate_data(wl_dataframe, sae_dataframe) - - # model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() - # debug.info(1, "model_delay_ratios={}".format(model_delay_ratios)) - # debug.info(1, "meas_delay_ratios={}".format(meas_delay_ratios)) - # debug.info(1, "ratio_error={}".format(ratio_error)) - # globals.end_openram() + #Uncomment this for model evaluation + # ratio_data = self.calculate_delay_ratios_of_srams() + # self.display_data(ratio_data) + + self.run_delay_chain_variation_analysis() + + globals.end_openram() + + def run_delay_chain_variation_analysis(self): + """Generates sram with different delay chain configs over different corners and + analyzes delay variation.""" + OPTS.use_tech_delay_chain_size = True + #Constant sram config for this test + word_size, num_words, words_per_row = 1, 16, 1 + #Only change delay chain + dc_config_list = [(2,3), (3,3), (3,4), (4,2)] + dc_vars = [] + for stages,fanout in dc_config_list: + self.init_data_gen() + self.set_delay_chain(stages,fanout) + self.save_data_sram_corners(word_size, num_words, words_per_row) + wl_dataframe, sae_dataframe = self.get_csv_data() + var = self.calculate_delay_chain_variance(sae_dataframe) + dc_vars.append(var) + debug.info(1,"DC config={}, variance={}".format((stages,fanout), var)) + + self.plot_data(dc_config_list, dc_vars) + #display data + + def calculate_delay_chain_variance(self, sae_dataframe): + """Determines the delay variance of the delay chain over corners""" + (start_dc, end_dc) = self.delay_obj.delay_chain_indices + start_data_pos = len(self.config_fields)+1 #items before this point are configuration related + delay_sums = [] + row_count = 0 + #Get delay sums over different corners + for sae_row in sae_dataframe.itertuples(): + dc_delays = sae_row[start_data_pos+start_dc:start_data_pos+end_dc] + delay_sums.append(sum(dc_delays)) + + #calculate mean then variance + m = sum(delay_sums) / len(delay_sums) + delay_variance = sum((xi - m) ** 2 for xi in delay_sums) / len(delay_sums) + return delay_variance + + def plot_data(self, x_labels, y_values): + """Display a plot using matplot lib. + Assumes input x values are just labels and y values are actual data.""" + data_range = [i+1 for i in range(len(x_labels))] + plt.xticks(data_range, x_labels) + plt.plot(data_range, y_values, 'ro') + plt.show() + def calculate_delay_ratios_of_srams(self): """Runs delay measurements on several sram configurations. Computes the delay ratio for each one.""" From 6cde6beafa86f53ee64df4568679bb46f5d4924e Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 7 Feb 2019 06:33:39 -0800 Subject: [PATCH 34/77] added documetation to functions --- compiler/characterizer/lib.py | 10 ++++++++-- compiler/datasheet/datasheet.py | 21 ++++++++++----------- compiler/datasheet/datasheet_gen.py | 14 ++++++++------ compiler/datasheet/table_gen.py | 17 +++++++++++------ 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 76d8e3d8..60452d76 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -511,6 +511,7 @@ class lib: else: with open(os.devnull, 'wb') as devnull: + # parses the mose recent git commit id - requres git is installed proc = subprocess.Popen(['git','rev-parse','HEAD'], cwd=os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/', stdout=subprocess.PIPE) git_id = str(proc.stdout.read()) @@ -519,7 +520,7 @@ class lib: git_id = git_id[2:-3] except: pass - + # check if git id is valid if len(git_id) != 40: debug.warning("Failed to retrieve git id") git_id = 'Failed to retruieve' @@ -527,6 +528,7 @@ class lib: datasheet = open(OPTS.openram_temp +'/datasheet.info', 'a+') current_time = datetime.date.today() + # write static information to be parser later datasheet.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},".format( OPTS.output_name, OPTS.num_words, @@ -558,6 +560,7 @@ class lib: datasheet.write("{0},{1},".format(DRC, LVS)) datasheet.write(str(self.sram.width * self.sram.height)+',') + # write timing information for all ports for port in self.all_ports: #DIN timings if port in self.write_ports: @@ -654,10 +657,12 @@ class lib: )) - + # write power information for port in self.all_ports: name = '' read_write = '' + + # write dynamic power usage if port in self.read_ports: web_name = " & !WEb{0}".format(port) name = "!CSb{0} & clk{0}{1}".format(port, web_name) @@ -684,6 +689,7 @@ class lib: )) + # write leakage power control_str = 'CSb0' for i in range(1, self.total_port_num): control_str += ' & CSb{0}'.format(i) diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index 84a6eafc..4b5cb741 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -28,11 +28,12 @@ class datasheet(): # for item in self.description: # self.html += item + ',' self.html += '-->' - + # Add vlsida logo vlsi_logo = 0 with open(os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/vlsi_logo.png', "rb") as image_file: vlsi_logo = base64.b64encode(image_file.read()) + # Add openram logo openram_logo = 0 with open(os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/openram_logo_placeholder.png', "rb") as image_file: openram_logo = base64.b64encode(image_file.read()) @@ -49,32 +50,30 @@ class datasheet(): 'LVS errors: ' + str(self.LVS) + '

' self.html += '

' + \ 'Git commit id: ' + str(self.git_id) + '

' - + # print port table self.html += '

Ports and Configuration

' -# self.html += in_out(self.io,table_id='data').__html__().replace('<','<').replace('"','"').replace('>',">") self.html += self.io_table.to_html() - + + # print operating condidition information self.html += '

Operating Conditions

' -# self.html += operating_conditions(self.operating,table_id='data').__html__() self.html += self.operating_table.to_html() + # check if analytical model is being used self.html += '

Timing Data

' model = '' if self.ANALYTICAL_MODEL: model = "analytical model: results may not be percise" else: model = "spice characterizer" + # display timing data self.html += '

Using '+model+'

' -# self.html += timing_and_current_data(self.timing,table_id='data').__html__() self.html += self.timing_table.to_html() - + # display power data self.html += '

Power Data

' self.html += self.power_table.to_html() - + # display corner information self.html += '

Characterization Corners

' -# self.html += characterization_corners(self.corners,table_id='data').__html__() self.html += self.corners_table.to_html() - + # display deliverables table self.html += '

Deliverables

' -# self.html += deliverables(self.dlv,table_id='data').__html__().replace('<','<').replace('"','"').replace('>',">") self.html += self.dlv_table.to_html() diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 51c636c8..44db3f9b 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -4,7 +4,6 @@ This is a script to load data from the characterization and layout processes int a web friendly html datasheet. """ # TODO: -# include power # Diagram generation # Improve css @@ -152,7 +151,7 @@ def parse_characterizer_csv(f, pages): 1000/float(MIN_PERIOD))) except Exception: pass - + # check current .lib file produces the slowest timing results while(True): col_start = col if(row[col].startswith('DIN')): @@ -354,6 +353,8 @@ def parse_characterizer_csv(f, pages): for element in row[col_start: col - 1]: sheet.description.append(str(element)) break + + #check if new power is worse the previous while(True): col_start = col if row[col] == 'power': @@ -368,7 +369,7 @@ def parse_characterizer_csv(f, pages): col += 4 else: break - + # check if new leakge is worse the previous while(True): col_start = col if row[col] == 'leak': @@ -380,7 +381,7 @@ def parse_characterizer_csv(f, pages): else: break - + # add new corner information new_sheet.corners_table.add_row( [PROC, VOLT, TEMP, LIB_NAME.replace(OUT_DIR, '').replace(NAME, '')]) new_sheet.dlv_table.add_row( @@ -427,6 +428,7 @@ def parse_characterizer_csv(f, pages): new_sheet.timing_table = table_gen.table_gen("timing") new_sheet.timing_table.add_row( ['Parameter', 'Min', 'Max', 'Units']) + # parse initial timing information while(True): col_start = col if(row[col].startswith('DIN')): @@ -553,7 +555,7 @@ def parse_characterizer_csv(f, pages): for element in row[col_start:col-1]: sheet.description.append(str(element)) break - + # parse initial power and leakage information while(True): start = col if(row[col].startswith('power')): @@ -618,7 +620,7 @@ def parse_characterizer_csv(f, pages): class datasheet_gen(): def datasheet_write(name): - + """writes the datasheet to a file""" in_dir = OPTS.openram_temp if not (os.path.isdir(in_dir)): diff --git a/compiler/datasheet/table_gen.py b/compiler/datasheet/table_gen.py index 18590739..8f94e896 100644 --- a/compiler/datasheet/table_gen.py +++ b/compiler/datasheet/table_gen.py @@ -1,24 +1,29 @@ class table_gen: - def __init__(self,name): + """small library of functions to generate the html tables""" + + def __init__(self, name): self.name = name self.rows = [] self.table_id = 'data' - def add_row(self,row): + def add_row(self, row): + """add a row to table_gen object""" self.rows.append(row) def gen_table_head(self): + """generate html table header""" html = '' html += '' html += '' for col in self.rows[0]: - html += '' + str(col) + '' + html += '' + str(col) + '' html += '' html += '' return html def gen_table_body(self): + """generate html body (used after gen_table_head)""" html = '' html += '' @@ -31,13 +36,13 @@ class table_gen: html += '' html += '' return html - + def to_html(self): - + """writes table_gen object to inline html""" html = '' html += '' html += self.gen_table_head() html += self.gen_table_body() html += '
' - + return html From bfc20a9aa9958308adc431bc399046639a440164 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 7 Feb 2019 06:38:07 -0800 Subject: [PATCH 35/77] removes debug corners --- compiler/example_configs/example_config_1rw_1r_scn4m_subm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py index 87c1304d..4d09cfee 100644 --- a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py +++ b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py @@ -10,7 +10,7 @@ num_w_ports = 0 tech_name = "scn4m_subm" process_corners = ["TT"] supply_voltages = [5.0] -temperatures = [25,50] +temperatures = [25] output_path = "temp" output_name = "sram_1rw_1r_{0}_{1}_{2}".format(word_size,num_words,tech_name) From d9efb682dd662b874cd15fb00cb664f5efc26252 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 7 Feb 2019 11:08:34 -0800 Subject: [PATCH 36/77] Do not clean up if preserve temp in local_drc_check --- README.md | 2 +- compiler/tests/testutils.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f70a2d87..2141c480 100644 --- a/README.md +++ b/README.md @@ -216,7 +216,7 @@ If I forgot to add you, please let me know! [Github issues]: https://github.com/VLSIDA/PrivateRAM/issues [Github pull request]: https://github.com/VLSIDA/PrivateRAM/pulls -[Github projects]: https://github.com/VLSIDA/PrivateRAM/projects +[Github projects]: https://github.com/VLSIDA/PrivateRAM [email me]: mailto:mrg+openram@ucsc.edu [dev-group]: mailto:openram-dev-group@ucsc.edu diff --git a/compiler/tests/testutils.py b/compiler/tests/testutils.py index 6b2a7dcf..274577b5 100755 --- a/compiler/tests/testutils.py +++ b/compiler/tests/testutils.py @@ -21,7 +21,8 @@ class openram_test(unittest.TestCase): if result != 0: self.fail("DRC failed: {}".format(w.name)) - self.cleanup() + if OPTS.purge_temp: + self.cleanup() def local_check(self, a, final_verification=False): From ebf43298c05097122ac347ea36955778933de8f8 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 7 Feb 2019 14:21:23 -0800 Subject: [PATCH 37/77] Added mean/variance plotting --- compiler/tests/delay_data_collection.py | 60 +++++++++++++++++++------ 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 3b1fe938..ce173b45 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -25,33 +25,38 @@ class data_collection(openram_test): # ratio_data = self.calculate_delay_ratios_of_srams() # self.display_data(ratio_data) - self.run_delay_chain_variation_analysis() + self.run_delay_chain_analysis() globals.end_openram() - def run_delay_chain_variation_analysis(self): + def run_delay_chain_analysis(self): """Generates sram with different delay chain configs over different corners and - analyzes delay variation.""" + analyzes delay average and variation.""" OPTS.use_tech_delay_chain_size = True #Constant sram config for this test word_size, num_words, words_per_row = 1, 16, 1 #Only change delay chain dc_config_list = [(2,3), (3,3), (3,4), (4,2)] + #dc_config_list = [(2,3), (3,3)] + dc_avgs = [] dc_vars = [] for stages,fanout in dc_config_list: self.init_data_gen() self.set_delay_chain(stages,fanout) self.save_data_sram_corners(word_size, num_words, words_per_row) wl_dataframe, sae_dataframe = self.get_csv_data() - var = self.calculate_delay_chain_variance(sae_dataframe) - dc_vars.append(var) - debug.info(1,"DC config={}, variance={}".format((stages,fanout), var)) + delay_sums = self.get_delay_chain_sums(sae_dataframe) + dc_avgs.append(self.get_average(delay_sums)) + dc_vars.append(self.get_variance(delay_sums)) + debug.info(1,"DC config={}: avg={} variance={}".format((stages,fanout), dc_avgs[-1], dc_vars[-1])) - self.plot_data(dc_config_list, dc_vars) - #display data + #plot data + self.plot_two_data_sets(dc_config_list, dc_avgs, dc_vars) + #self.plot_data(dc_config_list, dc_avgs) + #self.plot_data(dc_config_list, dc_vars) - def calculate_delay_chain_variance(self, sae_dataframe): - """Determines the delay variance of the delay chain over corners""" + def get_delay_chain_sums(self, sae_dataframe): + """Calculate the total delay of the delay chain over different corners""" (start_dc, end_dc) = self.delay_obj.delay_chain_indices start_data_pos = len(self.config_fields)+1 #items before this point are configuration related delay_sums = [] @@ -60,11 +65,15 @@ class data_collection(openram_test): for sae_row in sae_dataframe.itertuples(): dc_delays = sae_row[start_data_pos+start_dc:start_data_pos+end_dc] delay_sums.append(sum(dc_delays)) + return delay_sums - #calculate mean then variance - m = sum(delay_sums) / len(delay_sums) - delay_variance = sum((xi - m) ** 2 for xi in delay_sums) / len(delay_sums) + def get_variance(self, nums): + avg = self.get_average(nums) + delay_variance = sum((xi - avg) ** 2 for xi in nums) / len(nums) return delay_variance + + def get_average(self,nums): + return sum(nums) / len(nums) def plot_data(self, x_labels, y_values): """Display a plot using matplot lib. @@ -73,7 +82,30 @@ class data_collection(openram_test): plt.xticks(data_range, x_labels) plt.plot(data_range, y_values, 'ro') plt.show() - + + def plot_two_data_sets(self, x_labels, y1_values, y2_values): + """Plots two data sets on the same x-axis.""" + data_range = [i for i in range(len(x_labels))] + fig, ax1 = plt.subplots() + + color = 'tab:red' + ax1.set_xlabel('DC (Stages,Fanout)') + ax1.set_ylabel('Average Delay (ns)', color=color) + ax1.plot(data_range, y1_values, marker='o', color=color) + ax1.tick_params(axis='y', labelcolor=color) + + ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis + + color = 'tab:blue' + #ax2.set_xticks(data_range, x_labels) + ax2.set_ylabel('Delay Variance (ns)', color=color) # we already handled the x-label with ax1 + ax2.plot(data_range, y2_values, marker='*', color=color) + ax2.tick_params(axis='y', labelcolor=color) + + fig.tight_layout() # otherwise the right y-label is slightly clipped + plt.xticks(data_range, x_labels) + plt.show() + def calculate_delay_ratios_of_srams(self): """Runs delay measurements on several sram configurations. Computes the delay ratio for each one.""" From 9e23e6584aede75d74a2778268985341db02b290 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Thu, 7 Feb 2019 15:30:47 -0800 Subject: [PATCH 38/77] Made variance plot look slightly better. --- compiler/tests/delay_data_collection.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index ce173b45..e893d8ec 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -36,7 +36,7 @@ class data_collection(openram_test): #Constant sram config for this test word_size, num_words, words_per_row = 1, 16, 1 #Only change delay chain - dc_config_list = [(2,3), (3,3), (3,4), (4,2)] + dc_config_list = [(2,3), (3,3), (3,4), (4,2), (4,3), (4,4), (2,4), (2,5)] #dc_config_list = [(2,3), (3,3)] dc_avgs = [] dc_vars = [] @@ -91,7 +91,7 @@ class data_collection(openram_test): color = 'tab:red' ax1.set_xlabel('DC (Stages,Fanout)') ax1.set_ylabel('Average Delay (ns)', color=color) - ax1.plot(data_range, y1_values, marker='o', color=color) + ax1.plot(data_range, y1_values, marker='o', color=color, linestyle='') ax1.tick_params(axis='y', labelcolor=color) ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis @@ -99,7 +99,7 @@ class data_collection(openram_test): color = 'tab:blue' #ax2.set_xticks(data_range, x_labels) ax2.set_ylabel('Delay Variance (ns)', color=color) # we already handled the x-label with ax1 - ax2.plot(data_range, y2_values, marker='*', color=color) + ax2.plot(data_range, y2_values, marker='*', color=color, linestyle='') ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() # otherwise the right y-label is slightly clipped From a4bb4816121528801bc27429a19e473ef530af0c Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 12 Feb 2019 16:28:13 -0800 Subject: [PATCH 39/77] Added tracking for available data. --- compiler/characterizer/model_check.py | 4 ++ compiler/characterizer/stimuli.py | 5 +- compiler/tests/config_data.py | 11 +++- compiler/tests/delay_data_collection.py | 86 +++++++++++++++++++++---- 4 files changed, 87 insertions(+), 19 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 88e0b96a..874bb2d0 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -229,6 +229,10 @@ class model_check(delay): """Gets the number of stages in the delay chain from the control logic""" return len(self.sram.control_logic_rw.replica_bitline.delay_fanout_list) + def get_num_delay_fanout_list(self): + """Gets the number of stages in the delay chain from the control logic""" + return self.sram.control_logic_rw.replica_bitline.delay_fanout_list + def get_num_delay_stage_fanout(self): """Gets fanout in each stage in the delay chain. Assumes each stage is the same""" return self.sram.control_logic_rw.replica_bitline.delay_fanout_list[0] diff --git a/compiler/characterizer/stimuli.py b/compiler/characterizer/stimuli.py index 8c6b059f..3b569b2a 100644 --- a/compiler/characterizer/stimuli.py +++ b/compiler/characterizer/stimuli.py @@ -258,14 +258,15 @@ class stimuli(): # UIC is needed for ngspice to converge self.sf.write(".TRAN {0}p {1}n UIC\n".format(timestep,end_time)) + self.sf.write(".TEMP {}\n".format(self.temperature)) if OPTS.spice_name == "ngspice": # ngspice sometimes has convergence problems if not using gear method # which is more accurate, but slower than the default trapezoid method # Do not remove this or it may not converge due to some "pa_00" nodes # unless you figure out what these are. - self.sf.write(".OPTIONS POST=1 RELTOL={0} PROBE method=gear TEMP={1}\n".format(reltol,self.temperature)) + self.sf.write(".OPTIONS POST=1 RELTOL={0} PROBE method=gear\n".format(reltol)) else: - self.sf.write(".OPTIONS POST=1 RUNLVL={0} PROBE TEMP={1}\n".format(runlvl,self.temperature)) + self.sf.write(".OPTIONS POST=1 RUNLVL={0} PROBE\n".format(runlvl)) # create plots for all signals self.sf.write("* probe is used for hspice/xa, while plot is used in ngspice\n") diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index 849d441d..9d89acd7 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -3,9 +3,14 @@ word_size = 1 num_words = 16 tech_name = "freepdk45" -#process_corners = ["TT", "FF", "SS", "SF", "FS"] -process_corners = ["TT", "FF", "SS"] +#Default corner +process_corners = ["TT"] supply_voltages = [1.0] -temperatures = [25] +#temperatures = [25] + +#Corner options +#process_corners = ["TT", "FF", "SS"] +#supply_voltages = [.9, 1.0, 1.1] +temperatures = [10,25,50] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index e893d8ec..3c5193ea 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -16,6 +16,7 @@ from sram import sram from sram_config import sram_config MODEL_DIR = "model_data/" +DATASET_CSV_NAME = MODEL_DIR+'datasets.csv' class data_collection(openram_test): @@ -24,11 +25,56 @@ class data_collection(openram_test): #Uncomment this for model evaluation # ratio_data = self.calculate_delay_ratios_of_srams() # self.display_data(ratio_data) - + + self.setup_files() + self.run_delay_chain_analysis() globals.end_openram() + def setup_files(self): + """Checks existence of files used for data collection""" + if not os.path.isdir(MODEL_DIR): + os.mkdir(MODEL_DIR) + + #File requires names from the delay measurement object. + #Initialization is delayed until one configuration simulation has occurred. + self.dataset_initialized=False + + + def init_dataset_csv(self, file_fields): + """Creates csv which holds files names of all available datasets.""" + debug.info(2,'Initializing dataset file and dataframe.') + self.file_fields = file_fields + self.file_fields.sort() + fields = ['word_size', 'num_words', 'words_per_row', 'dc_config'] + self.dataset_fields = fields+self.file_fields + + if not os.path.exists(DATASET_CSV_NAME): + debug.info(2,'No dataset file found. Creating dataset file.') + dataset_csv = open(DATASET_CSV_NAME, 'w') + csv_writer = csv.writer(dataset_csv, lineterminator = '\n') + csv_writer.writerow(self.dataset_fields) + dataset_csv.close() + self.dataset_initialized=True + self.datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') + + def add_dataset(self, word_size, num_words, words_per_row): + """Added filenames to DATASET_CSV_NAME""" + cur_len = len(self.datasets_df) + #list converted to str as lists as saved as str in the csv file. + #e.g. list=[2,2] -> csv entry = '[2,2]' + fanout_str = str(self.delay_obj.get_num_delay_fanout_list()) + file_names = [self.file_name_dict[fname] for fname in self.file_fields] + new_df_row = [word_size, num_words, words_per_row,fanout_str]+file_names + + df_bool = (self.datasets_df['word_size'] == word_size) & (self.datasets_df['num_words'] == num_words) & (self.datasets_df['words_per_row'] == words_per_row) & (self.datasets_df['dc_config'] == fanout_str) + if len(self.datasets_df.loc[df_bool]) == 0: + self.datasets_df = self.datasets_df.append(pd.Series(new_df_row, self.dataset_fields), ignore_index=True) + else: + self.datasets_df.loc[df_bool] = [new_df_row] + + def run_delay_chain_analysis(self): """Generates sram with different delay chain configs over different corners and analyzes delay average and variation.""" @@ -84,7 +130,7 @@ class data_collection(openram_test): plt.show() def plot_two_data_sets(self, x_labels, y1_values, y2_values): - """Plots two data sets on the same x-axis.""" + """Plots two data sets on the same x-axis. Uses hardcoded axis names.""" data_range = [i for i in range(len(x_labels))] fig, ax1 = plt.subplots() @@ -123,8 +169,9 @@ class data_collection(openram_test): def get_csv_data(self): """Hardcoded Hack to get the measurement data from the csv into lists. """ - wl_files_name = [file_name for file_name in self.file_names if "wl_measures" in file_name][0] - sae_files_name = [file_name for file_name in self.file_names if "sae_measures" in file_name][0] + file_list = self.file_name_dict.values() + wl_files_name = [file_name for file_name in file_list if "wl_measures" in file_name][0] + sae_files_name = [file_name for file_name in file_list if "sae_measures" in file_name][0] wl_dataframe = pd.read_csv(wl_files_name,encoding='utf-8') sae_dataframe = pd.read_csv(sae_files_name,encoding='utf-8') return wl_dataframe,sae_dataframe @@ -144,10 +191,11 @@ class data_collection(openram_test): meas_delay_ratios = {} ratio_error = {} #The full file name contains unrelated portions, separate them into the four that are needed - wl_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "wl_measures" in file_name][0] - sae_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "sae_measures" in file_name][0] - wl_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "wl_model" in file_name][0] - sae_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in self.file_names if "sae_model" in file_name][0] + file_list = self.file_name_dict.values() + wl_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "wl_measures" in file_name][0] + sae_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "sae_measures" in file_name][0] + wl_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "wl_model" in file_name][0] + sae_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "sae_model" in file_name][0] #Assume each csv has the same corners (and the same row order), use one of the dfs for corners proc_pos, volt_pos, temp_pos = wl_meas_df.columns.get_loc('process'), wl_meas_df.columns.get_loc('voltage'), wl_meas_df.columns.get_loc('temp') @@ -238,7 +286,12 @@ class data_collection(openram_test): for corner in corner_gen: sram_data = self.get_sram_data(corner) self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, dc_resized, corner) - + + #Save file names generated by this run + if not self.dataset_initialized: + self.init_dataset_csv(list(sram_data)) + self.add_dataset(word_size, num_words, words_per_row) + self.close_files() debug.info(1,"Data Generated") @@ -266,8 +319,12 @@ class data_collection(openram_test): def close_files(self): """Closes all files stored in the file dict""" + #Close the files holding data for key,file in self.csv_files.items(): file.close() + + #Write dataframe to the dataset csv + self.datasets_df.to_csv(DATASET_CSV_NAME, index=False) def corner_combination_generator(self): processes = OPTS.process_corners @@ -311,19 +368,20 @@ class data_collection(openram_test): header_dict = self.delay_obj.get_all_signal_names() self.csv_files = {} self.csv_writers = {} - self.file_names = [] + self.file_name_dict = {} + delay_fanout_list = self.delay_obj.get_num_delay_fanout_list() + fanout_str = '_'.join(str(fanout) for fanout in delay_fanout_list) delay_stages = self.delay_obj.get_num_delay_stages() delay_stage_fanout = self.delay_obj.get_num_delay_stage_fanout() for data_name, header_list in header_dict.items(): - file_name = '{}data_{}b_{}word_{}way_dc{}x{}_{}.csv'.format(MODEL_DIR, + file_name = '{}data_{}b_{}word_{}way_dc{}_{}.csv'.format(MODEL_DIR, word_size, num_words, words_per_row, - delay_stages, - delay_stage_fanout, + fanout_str, data_name) - self.file_names.append(file_name) + self.file_name_dict[data_name] = file_name self.csv_files[data_name] = open(file_name, 'w') self.config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_resized', 'process', 'voltage', 'temp'] self.other_data_fields = ['sum'] From 4faec524095ee156881eb0ff7f101977461e9a22 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 12 Feb 2019 20:58:50 -0800 Subject: [PATCH 40/77] Allowed data collection and analysis to run independently. --- compiler/tests/delay_data_collection.py | 60 +++++++++++++++++-------- 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 3c5193ea..d58d13b8 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -75,6 +75,26 @@ class data_collection(openram_test): self.datasets_df.loc[df_bool] = [new_df_row] + def get_filename_by_config(self, data_types, word_size, num_words, words_per_row, fanout_list): + """Searches the dataset csv for a config match. Extracts the filenames for the desired data.""" + #Names used in file are hardcoded here. There is a check that these names match in the csv. + start_fname_ind = 4 # four query items + + #data_types = ["wl_measures", "wl_model","sae_measures", "sae_model"] + fanout_str = str(fanout_list) + datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') + df_bool = (datasets_df['word_size'] == word_size) & (datasets_df['num_words'] == num_words) & (datasets_df['words_per_row'] == words_per_row) & (datasets_df['dc_config'] == fanout_str) + df_filtered = self.datasets_df.loc[df_bool] + if len(df_filtered) != 1: + debug.info(1,"Found two dataset entries with the same configuration. Using the first found") + df_row = df_filtered.iloc[0] + #Check csv header against expected + csv_data_types = list(df_filtered)[start_fname_ind+1:] + if set(data_types) != set(csv_data_types): + debug.error("Dataset csv header does not match expected.") + + return [df_row[dt] for dt in data_types] + def run_delay_chain_analysis(self): """Generates sram with different delay chain configs over different corners and analyzes delay average and variation.""" @@ -82,25 +102,33 @@ class data_collection(openram_test): #Constant sram config for this test word_size, num_words, words_per_row = 1, 16, 1 #Only change delay chain - dc_config_list = [(2,3), (3,3), (3,4), (4,2), (4,3), (4,4), (2,4), (2,5)] - #dc_config_list = [(2,3), (3,3)] - dc_avgs = [] - dc_vars = [] + #dc_config_list = [(2,3), (3,3), (3,4), (4,2), (4,3), (4,4), (2,4), (2,5)] + dc_config_list = [(2,3), (3,3)] + self.save_delay_chain_data(word_size, num_words, words_per_row, dc_config_list) + self.analyze_delay_chain_data(word_size, num_words, words_per_row, dc_config_list) + + def save_delay_chain_data(self, word_size, num_words, words_per_row, dc_config_list): + """Get the delay data by only varying the delay chain size.""" for stages,fanout in dc_config_list: self.init_data_gen() self.set_delay_chain(stages,fanout) self.save_data_sram_corners(word_size, num_words, words_per_row) - wl_dataframe, sae_dataframe = self.get_csv_data() + + def analyze_delay_chain_data(self, word_size, num_words, words_per_row, dc_config_list): + """Compare and graph delay chain variations over different configurations.""" + dc_avgs = [] + dc_vars = [] + for stages,fanout in dc_config_list: + data_types = ["wl_measures","sae_measures"] + filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, [fanout]*stages) + wl_dataframe, sae_dataframe = self.get_csv_data(filenames) + delay_sums = self.get_delay_chain_sums(sae_dataframe) dc_avgs.append(self.get_average(delay_sums)) dc_vars.append(self.get_variance(delay_sums)) debug.info(1,"DC config={}: avg={} variance={}".format((stages,fanout), dc_avgs[-1], dc_vars[-1])) - - #plot data self.plot_two_data_sets(dc_config_list, dc_avgs, dc_vars) - #self.plot_data(dc_config_list, dc_avgs) - #self.plot_data(dc_config_list, dc_vars) - + def get_delay_chain_sums(self, sae_dataframe): """Calculate the total delay of the delay chain over different corners""" (start_dc, end_dc) = self.delay_obj.delay_chain_indices @@ -167,14 +195,10 @@ class data_collection(openram_test): debug.info(1, "Ratio percentage error={}".format(ratio_error)) return delay_ratio_data - def get_csv_data(self): - """Hardcoded Hack to get the measurement data from the csv into lists. """ - file_list = self.file_name_dict.values() - wl_files_name = [file_name for file_name in file_list if "wl_measures" in file_name][0] - sae_files_name = [file_name for file_name in file_list if "sae_measures" in file_name][0] - wl_dataframe = pd.read_csv(wl_files_name,encoding='utf-8') - sae_dataframe = pd.read_csv(sae_files_name,encoding='utf-8') - return wl_dataframe,sae_dataframe + def get_csv_data(self, filenames): + """Returns a dataframe for each file name. Returns as tuple for convenience""" + dataframes = [pd.read_csv(fname,encoding='utf-8') for fname in filenames] + return tuple(dataframes) def evaluate_data(self, wl_dataframe, sae_dataframe): """Analyze the delay error and variation error""" From e890c0e188ee8cf03bdf887d40289bd236207251 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Wed, 13 Feb 2019 15:21:16 -0800 Subject: [PATCH 41/77] fixed -v logging --- compiler/debug.py | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/compiler/debug.py b/compiler/debug.py index e6c6a1bd..f25ff4b5 100644 --- a/compiler/debug.py +++ b/compiler/debug.py @@ -16,7 +16,7 @@ def check(check, str): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - log("ERROR: file {0}: line {1}: {2}\n".format( + logger.log("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) assert 0 @@ -27,7 +27,7 @@ def error(str, return_value=0): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - log("ERROR: file {0}: line {1}: {2}\n".format( + logger.log("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) assert return_value == 0 @@ -38,7 +38,7 @@ def warning(str): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("WARNING: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - log("WARNING: file {0}: line {1}: {2}\n".format( + logger.log("WARNING: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) @@ -48,17 +48,27 @@ def print_raw(str): def log(str): - if log.create_file: - compile_log = open(globals.OPTS.output_path + - globals.OPTS.output_name + '.log', "w") - log.create_file = 0 + if globals.OPTS.output_name != '': + if log.create_file: + compile_log = open(globals.OPTS.output_path + + globals.OPTS.output_name + '.log', "w+") + log.create_file = 0 + else: + compile_log = open(globals.OPTS.output_path + + globals.OPTS.output_name + '.log', "a") + + if len(log.setup_output) != 0: + for line in log.setup_output: + compile_log.write(line) + log.setup_output = [] + compile_log.write(str + '\n') else: - compile_log = open(globals.OPTS.output_path + - globals.OPTS.output_name + '.log', "a") - compile_log.write(str + '\n') -log.create_file = 1 + log.setup_output.append(str + "\n") +# use a static list of strings to store messages until the global paths are set up +log.setup_output = [] +log.create_file = 1 def info(lev, str): @@ -71,5 +81,5 @@ def info(lev, str): class_name = "" else: class_name = mod.__name__ - print_raw("[{0}/{1}]: {2}".format(class_name, frm[0].f_code.co_name, str)) - + print_raw("[{0}/{1}]: {2}".format(class_name, + frm[0].f_code.co_name, str)) From c359bbf42ab42907134853214da020a3a7ff7433 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Wed, 13 Feb 2019 17:01:26 -0800 Subject: [PATCH 42/77] Fix deprecation warnings in regex by converting to raw strings. Add error if unable to find DRC errors in Magic. --- compiler/verify/calibre.py | 10 +++++----- compiler/verify/magic.py | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/compiler/verify/calibre.py b/compiler/verify/calibre.py index a1bbbc3e..dde7ea5a 100644 --- a/compiler/verify/calibre.py +++ b/compiler/verify/calibre.py @@ -126,9 +126,9 @@ def run_drc(cell_name, gds_name, extract=False, final_verification=False): f.close() # those lines should be the last 3 results = results[-3:] - geometries = int(re.split("\W+", results[0])[5]) - rulechecks = int(re.split("\W+", results[1])[4]) - errors = int(re.split("\W+", results[2])[5]) + geometries = int(re.split(r'\W+', results[0])[5]) + rulechecks = int(re.split(r'\W+', results[1])[4]) +n errors = int(re.split(r'\W+', results[2])[5]) # always display this summary if errors > 0: @@ -227,7 +227,7 @@ def run_lvs(cell_name, gds_name, sp_name, final_verification=False): incorrect = list(filter(test.search, results)) # Errors begin with "Error:" - test = re.compile("\s+Error:") + test = re.compile(r'\s+Error:') errors = list(filter(test.search, results)) for e in errors: debug.error(e.strip("\n")) @@ -363,7 +363,7 @@ def correct_port(name, output_file_name, ref_file_name): pex_file.seek(match_index_start) rest_text = pex_file.read() # locate the end of circuit definition line - match = re.search("\* \n", rest_text) + match = re.search(r'\* \n', rest_text) match_index_end = match.start() # store the unchanged part of pex file in memory pex_file.seek(0) diff --git a/compiler/verify/magic.py b/compiler/verify/magic.py index 490a09a1..0af8e5ef 100644 --- a/compiler/verify/magic.py +++ b/compiler/verify/magic.py @@ -140,11 +140,15 @@ def run_drc(cell_name, gds_name, extract=True, final_verification=False): debug.error("Unable to retrieve DRC results file. Is magic set up?",1) results = f.readlines() f.close() + errors=1 # those lines should be the last 3 for line in results: if "Total DRC errors found:" in line: errors = int(re.split(": ", line)[1]) break + else: + debug.error("Unable to find the total error line in Magic output.",1) + # always display this summary if errors > 0: From d4c21cd26e848b7cdf503edbdcbbd4639d42237f Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Wed, 13 Feb 2019 17:41:33 -0800 Subject: [PATCH 43/77] Remove extraneous character. --- compiler/verify/calibre.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/verify/calibre.py b/compiler/verify/calibre.py index dde7ea5a..2de76386 100644 --- a/compiler/verify/calibre.py +++ b/compiler/verify/calibre.py @@ -128,7 +128,7 @@ def run_drc(cell_name, gds_name, extract=False, final_verification=False): results = results[-3:] geometries = int(re.split(r'\W+', results[0])[5]) rulechecks = int(re.split(r'\W+', results[1])[4]) -n errors = int(re.split(r'\W+', results[2])[5]) + errors = int(re.split(r'\W+', results[2])[5]) # always display this summary if errors > 0: From 8c1fe253d5656c85b4556c16a89de83ebe47f085 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Wed, 13 Feb 2019 22:24:58 -0800 Subject: [PATCH 44/77] Added variable fanouts to delay testing. --- compiler/modules/control_logic.py | 7 +- compiler/tests/config_data.py | 8 +- compiler/tests/delay_data_collection.py | 118 +++++++++++++++--------- technology/freepdk45/tech/tech.py | 1 + technology/scn4m_subm/tech/tech.py | 1 + 5 files changed, 81 insertions(+), 54 deletions(-) diff --git a/compiler/modules/control_logic.py b/compiler/modules/control_logic.py index 57e578f5..b8532ee9 100644 --- a/compiler/modules/control_logic.py +++ b/compiler/modules/control_logic.py @@ -139,11 +139,10 @@ class control_logic(design.design): bitcell_loads = int(math.ceil(self.num_rows * parameter["rbl_height_percentage"])) #Use a model to determine the delays with that heuristic if OPTS.use_tech_delay_chain_size: #Use tech parameters if set. - delay_stages = parameter["static_delay_stages"] - delay_fanout = parameter["static_fanout_per_stage"] - debug.info(1, "Using tech parameters to size delay chain: stages={}, fanout={}".format(delay_stages,delay_fanout)) + fanout_list = parameter["static_fanout_list"] + debug.info(1, "Using tech parameters to size delay chain: fanout_list={}".format(fanout_list)) self.replica_bitline = factory.create(module_type="replica_bitline", - delay_fanout_list=[delay_fanout]*delay_stages, + delay_fanout_list=fanout_list, bitcell_loads=bitcell_loads) if self.sram != None: #Calculate model value even for specified sizes self.set_sen_wl_delays() diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py index 9d89acd7..dd78ebcd 100755 --- a/compiler/tests/config_data.py +++ b/compiler/tests/config_data.py @@ -4,13 +4,13 @@ num_words = 16 tech_name = "freepdk45" #Default corner -process_corners = ["TT"] +#process_corners = ["TT"] supply_voltages = [1.0] -#temperatures = [25] +temperatures = [25] #Corner options -#process_corners = ["TT", "FF", "SS"] +process_corners = ["TT", "FF", "SS"] #supply_voltages = [.9, 1.0, 1.1] -temperatures = [10,25,50] +#temperatures = [10,25,50] diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index d58d13b8..3e56909f 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -26,29 +26,34 @@ class data_collection(openram_test): # ratio_data = self.calculate_delay_ratios_of_srams() # self.display_data(ratio_data) - self.setup_files() + self.run_setup() self.run_delay_chain_analysis() globals.end_openram() - def setup_files(self): - """Checks existence of files used for data collection""" + def run_setup(self): + """Checks file existence and sets some member variables""" if not os.path.isdir(MODEL_DIR): os.mkdir(MODEL_DIR) #File requires names from the delay measurement object. #Initialization is delayed until one configuration simulation has occurred. self.dataset_initialized=False + + #These help mark positions in the csv file for data collection and analysis + self.config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_resized', 'process', 'voltage', 'temp'] + self.sae_config_fields = ['dc_start_ind', 'dc_end_ind'] + self.other_data_fields = ['sum'] def init_dataset_csv(self, file_fields): """Creates csv which holds files names of all available datasets.""" debug.info(2,'Initializing dataset file and dataframe.') - self.file_fields = file_fields - self.file_fields.sort() - fields = ['word_size', 'num_words', 'words_per_row', 'dc_config'] - self.dataset_fields = fields+self.file_fields + self.dataset_file_fields = file_fields + self.dataset_file_fields.sort() + config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_config'] + self.dataset_fields = config_fields+self.dataset_file_fields if not os.path.exists(DATASET_CSV_NAME): debug.info(2,'No dataset file found. Creating dataset file.') @@ -65,7 +70,7 @@ class data_collection(openram_test): #list converted to str as lists as saved as str in the csv file. #e.g. list=[2,2] -> csv entry = '[2,2]' fanout_str = str(self.delay_obj.get_num_delay_fanout_list()) - file_names = [self.file_name_dict[fname] for fname in self.file_fields] + file_names = [self.file_name_dict[fname] for fname in self.dataset_file_fields] new_df_row = [word_size, num_words, words_per_row,fanout_str]+file_names df_bool = (self.datasets_df['word_size'] == word_size) & (self.datasets_df['num_words'] == num_words) & (self.datasets_df['words_per_row'] == words_per_row) & (self.datasets_df['dc_config'] == fanout_str) @@ -77,21 +82,26 @@ class data_collection(openram_test): def get_filename_by_config(self, data_types, word_size, num_words, words_per_row, fanout_list): """Searches the dataset csv for a config match. Extracts the filenames for the desired data.""" - #Names used in file are hardcoded here. There is a check that these names match in the csv. start_fname_ind = 4 # four query items - #data_types = ["wl_measures", "wl_model","sae_measures", "sae_model"] fanout_str = str(fanout_list) datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') df_bool = (datasets_df['word_size'] == word_size) & (datasets_df['num_words'] == num_words) & (datasets_df['words_per_row'] == words_per_row) & (datasets_df['dc_config'] == fanout_str) - df_filtered = self.datasets_df.loc[df_bool] - if len(df_filtered) != 1: - debug.info(1,"Found two dataset entries with the same configuration. Using the first found") + df_filtered = datasets_df.loc[df_bool] + if len(df_filtered) > 1: + debug.info(1,"Found more than 1 dataset entry with the same configuration. Using the first found") + elif len(df_filtered) == 0: + debug.error("Dataset for configuration not found:\n \ + word_size={}, num_words={}, words_per_row={}, fanout_list={}".format(word_size, + num_words, + words_per_row, + fanout_list), 1) df_row = df_filtered.iloc[0] #Check csv header against expected - csv_data_types = list(df_filtered)[start_fname_ind+1:] - if set(data_types) != set(csv_data_types): - debug.error("Dataset csv header does not match expected.") + csv_data_types = list(df_filtered)[start_fname_ind:] + if not set(data_types).issubset(set(csv_data_types)): + debug.error("Dataset csv header does not match expected:\nExpected={}\nCSV={}".format(data_types, + csv_data_types),1) return [df_row[dt] for dt in data_types] @@ -103,40 +113,46 @@ class data_collection(openram_test): word_size, num_words, words_per_row = 1, 16, 1 #Only change delay chain #dc_config_list = [(2,3), (3,3), (3,4), (4,2), (4,3), (4,4), (2,4), (2,5)] - dc_config_list = [(2,3), (3,3)] - self.save_delay_chain_data(word_size, num_words, words_per_row, dc_config_list) - self.analyze_delay_chain_data(word_size, num_words, words_per_row, dc_config_list) + #dc_config_list = [(2,3), (3,3)] + + #fanout_configs = [[3,3], [3,3,3]] + previous_dc_configs = [[4,4,4], [2,2,2,2], [3,3,3,3], [4,4],[4,4,4,4], [5,5]] + fanout_configs = [[3,3], [3,3,3], [2,3,2,3], [2,4,2,4], [3,3,3,3]]+previous_dc_configs + #self.save_delay_chain_data(word_size, num_words, words_per_row, fanout_configs) + self.analyze_delay_chain_data(word_size, num_words, words_per_row, fanout_configs) - def save_delay_chain_data(self, word_size, num_words, words_per_row, dc_config_list): + def save_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): """Get the delay data by only varying the delay chain size.""" - for stages,fanout in dc_config_list: + for fanouts in fanout_configs: self.init_data_gen() - self.set_delay_chain(stages,fanout) + self.set_delay_chain(fanouts) self.save_data_sram_corners(word_size, num_words, words_per_row) - def analyze_delay_chain_data(self, word_size, num_words, words_per_row, dc_config_list): + def analyze_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): """Compare and graph delay chain variations over different configurations.""" dc_avgs = [] dc_vars = [] - for stages,fanout in dc_config_list: + for fanouts in fanout_configs: data_types = ["wl_measures","sae_measures"] - filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, [fanout]*stages) + filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) wl_dataframe, sae_dataframe = self.get_csv_data(filenames) delay_sums = self.get_delay_chain_sums(sae_dataframe) dc_avgs.append(self.get_average(delay_sums)) dc_vars.append(self.get_variance(delay_sums)) - debug.info(1,"DC config={}: avg={} variance={}".format((stages,fanout), dc_avgs[-1], dc_vars[-1])) - self.plot_two_data_sets(dc_config_list, dc_avgs, dc_vars) + debug.info(1,"DC config={}: avg={} variance={}".format(fanouts, dc_avgs[-1], dc_vars[-1])) + self.plot_two_data_sets(fanout_configs, dc_avgs, dc_vars) def get_delay_chain_sums(self, sae_dataframe): """Calculate the total delay of the delay chain over different corners""" - (start_dc, end_dc) = self.delay_obj.delay_chain_indices - start_data_pos = len(self.config_fields)+1 #items before this point are configuration related + start_dc_pos = sae_dataframe.columns.get_loc('dc_start_ind') + end_dc_pos = sae_dataframe.columns.get_loc('dc_end_ind') + start_data_pos = len(self.config_fields)+len(self.sae_config_fields)+1 #items before this point are configuration related delay_sums = [] row_count = 0 #Get delay sums over different corners - for sae_row in sae_dataframe.itertuples(): + for sae_row in sae_dataframe.itertuples(): + start_dc, end_dc = sae_row[start_dc_pos+1], sae_row[end_dc_pos+1] dc_delays = sae_row[start_data_pos+start_dc:start_data_pos+end_dc] delay_sums.append(sum(dc_delays)) return delay_sums @@ -167,6 +183,7 @@ class data_collection(openram_test): ax1.set_ylabel('Average Delay (ns)', color=color) ax1.plot(data_range, y1_values, marker='o', color=color, linestyle='') ax1.tick_params(axis='y', labelcolor=color) + ax1.tick_params(axis='x', labelrotation=-90) ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis @@ -177,7 +194,7 @@ class data_collection(openram_test): ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() # otherwise the right y-label is slightly clipped - plt.xticks(data_range, x_labels) + plt.xticks(data_range, x_labels, rotation=90) plt.show() def calculate_delay_ratios_of_srams(self): @@ -258,34 +275,36 @@ class data_collection(openram_test): def calculate_delay_error(self, wl_dataframe, sae_dataframe): """Calculates the percentage difference in delays between the wordline and sense amp enable""" - start_data_pos = len(self.config_fields) #items before this point are configuration related + wl_start_data_pos = len(self.config_fields) + sae_start_data_pos = len(self.config_fields)+len(self.sae_config_fields) error_list = [] row_count = 0 for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): debug.info(2, "wl_row:{}".format(wl_row)) - wl_sum = sum(wl_row[start_data_pos+1:]) + wl_sum = sum(wl_row[wl_start_data_pos+1:]) debug.info(2, "wl_sum:{}".format(wl_sum)) - sae_sum = sum(sae_row[start_data_pos+1:]) + sae_sum = sum(sae_row[sae_start_data_pos+1:]) error_list.append(abs((wl_sum-sae_sum)/wl_sum)) return error_list def calculate_delay_variation_error(self, wl_dataframe, sae_dataframe): """Measures a base delay from the first corner then the variations from that base""" - start_data_pos = len(self.config_fields) + wl_start_data_pos = len(self.config_fields) + sae_start_data_pos = len(self.config_fields)+len(self.sae_config_fields) variation_error_list = [] count = 0 for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): if count == 0: #Create a base delay, variation is defined as the difference between this base - wl_base = sum(wl_row[start_data_pos+1:]) + wl_base = sum(wl_row[wl_start_data_pos+1:]) debug.info(1, "wl_sum base:{}".format(wl_base)) - sae_base = sum(sae_row[start_data_pos+1:]) + sae_base = sum(sae_row[sae_start_data_pos+1:]) variation_error_list.append(0.0) else: #Calculate the variation from the respective base and then difference between the variations - wl_sum = sum(wl_row[start_data_pos+1:]) + wl_sum = sum(wl_row[wl_start_data_pos+1:]) wl_base_diff = abs((wl_base-wl_sum)/wl_base) - sae_sum = sum(sae_row[start_data_pos+1:]) + sae_sum = sum(sae_row[sae_start_data_pos+1:]) sae_base_diff = abs((sae_base-sae_sum)/sae_base) variation_diff = abs((wl_base_diff-sae_base_diff)/wl_base_diff) variation_error_list.append(variation_diff) @@ -336,10 +355,9 @@ class data_collection(openram_test): import characterizer reload(characterizer) - def set_delay_chain(self, stages, fanout): + def set_delay_chain(self, fanout_list): """Force change the parameter in the tech file to specify a delay chain configuration""" - parameter["static_delay_stages"] = stages - parameter["static_fanout_per_stage"] = fanout + parameter["static_fanout_list"] = fanout_list def close_files(self): """Closes all files stored in the file dict""" @@ -375,10 +393,17 @@ class data_collection(openram_test): def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row, dc_resized, corner): """Writes data to its respective CSV file. There is a CSV for each measurement target (wordline, sense amp enable, and models)""" + dc_start_ind, dc_end_ind = self.delay_obj.delay_chain_indices sram_specs = [word_size,num_words,words_per_row,dc_resized,*corner] + sae_specs = [dc_start_ind, dc_end_ind] for data_name, data_values in sram_data.items(): + if 'sae' in data_name: + all_specs = sram_specs+sae_specs + else: + all_specs = sram_specs + other_values = self.calculate_other_data_values(data_values) - self.csv_writers[data_name].writerow(sram_specs+sram_data[data_name]+other_values) + self.csv_writers[data_name].writerow(all_specs+sram_data[data_name]+other_values) debug.info(2,"Data Added to CSV file.") def calculate_other_data_values(self, sram_data_list): @@ -407,9 +432,10 @@ class data_collection(openram_test): data_name) self.file_name_dict[data_name] = file_name self.csv_files[data_name] = open(file_name, 'w') - self.config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_resized', 'process', 'voltage', 'temp'] - self.other_data_fields = ['sum'] - fields = (*self.config_fields, *header_list, *self.other_data_fields) + if 'sae' in data_name: + fields = (*self.config_fields, *self.sae_config_fields, *header_list, *self.other_data_fields) + else: + fields = (*self.config_fields, *header_list, *self.other_data_fields) self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') self.csv_writers[data_name].writerow(fields) diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index a0ba8cbc..eccfd1c8 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -336,6 +336,7 @@ spice["nor2_transition_prob"] = .1875 # Transition probability of 2-input no #Parameters related to sense amp enable timing and delay chain/RBL sizing parameter["static_delay_stages"] = 4 parameter["static_fanout_per_stage"] = 3 +parameter["static_fanout_list"] = parameter["static_delay_stages"]*[parameter["static_fanout_per_stage"]] parameter["dff_clk_cin"] = 30.6 #relative capacitance parameter["6tcell_wl_cin"] = 3 #relative capacitance parameter["min_inv_para_delay"] = 2.4 #Tau delay units diff --git a/technology/scn4m_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py index 1add9937..8b6ee827 100755 --- a/technology/scn4m_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -302,6 +302,7 @@ spice["nor2_transition_prob"] = .1875 # Transition probability of 2-input no #Logical Effort relative values for the Handmade cells parameter["static_delay_stages"] = 4 parameter["static_fanout_per_stage"] = 3 +parameter["static_fanout_list"] = parameter["static_delay_stages"]*[parameter["static_fanout_per_stage"]] parameter["dff_clk_cin"] = 27.5 parameter["6tcell_wl_cin"] = 2 parameter["min_inv_para_delay"] = .5 From e3ff9b53e9bf21b190faa6171807c13b9861f69e Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Thu, 14 Feb 2019 07:01:35 -0800 Subject: [PATCH 45/77] fixed area not being found --- compiler/characterizer/lib.py | 1 + compiler/datasheet/datasheet_gen.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 60452d76..3b4f465b 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -559,6 +559,7 @@ class lib: LVS = str(total_lvs_errors) datasheet.write("{0},{1},".format(DRC, LVS)) + # write area datasheet.write(str(self.sram.width * self.sram.height)+',') # write timing information for all ports for port in self.all_ports: diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 44db3f9b..1644df5f 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -112,10 +112,10 @@ def parse_characterizer_csv(f, pages): LVS = row[col] col += 1 - AREA = row[col] + ANALYTICAL_MODEL = row[col] col += 1 - ANALYTICAL_MODEL = row[col] + AREA = row[col] col += 1 for sheet in pages: From d533a8ae2684068edd9c55a9806087600d430151 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Fri, 15 Feb 2019 21:45:05 -0800 Subject: [PATCH 46/77] fixed logger typo --- compiler/debug.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/debug.py b/compiler/debug.py index f25ff4b5..b7819bcc 100644 --- a/compiler/debug.py +++ b/compiler/debug.py @@ -16,7 +16,7 @@ def check(check, str): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - logger.log("ERROR: file {0}: line {1}: {2}\n".format( + log("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) assert 0 @@ -27,7 +27,7 @@ def error(str, return_value=0): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - logger.log("ERROR: file {0}: line {1}: {2}\n".format( + log("ERROR: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) assert return_value == 0 @@ -38,7 +38,7 @@ def warning(str): index) = inspect.getouterframes(inspect.currentframe())[1] sys.stderr.write("WARNING: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) - logger.log("WARNING: file {0}: line {1}: {2}\n".format( + log("WARNING: file {0}: line {1}: {2}\n".format( os.path.basename(filename), line_number, str)) @@ -48,7 +48,7 @@ def print_raw(str): def log(str): - if globals.OPTS.output_name != '': + if globals.OPTS.output_name != '': if log.create_file: compile_log = open(globals.OPTS.output_path + globals.OPTS.output_name + '.log', "w+") From 39bcdc8a584b4fad1eb41c9cbf617c0fe5af34e4 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 17 Feb 2019 10:35:56 -0800 Subject: [PATCH 47/77] Remove outdated docs. Add Docker info to README.md --- README.md | 13 + docs/Makefile | 6 - docs/control.tex | 4 - docs/debug.tex | 49 - docs/figs/2t1_single_level_column_mux.pdf | Bin 33644 -> 0 bytes docs/figs/2t4decoder.pdf | Bin 43903 -> 0 bytes docs/figs/4t16decoder.pdf | Bin 134359 -> 0 bytes docs/figs/4t1_single_level_column_mux.pdf | Bin 52409 -> 0 bytes docs/figs/Col_mux.svg | 1401 ------ docs/figs/Logic Diagram.svg | 747 --- docs/figs/ZBT.pdf | Bin 41365 -> 0 bytes docs/figs/bank.pdf | Bin 76490 -> 0 bytes docs/figs/bank2.pdf | Bin 34726 -> 0 bytes docs/figs/bank4.pdf | Bin 47186 -> 0 bytes docs/figs/cell_6t_schem.pdf | Bin 16855 -> 0 bytes docs/figs/cell_6t_schem.svg | 522 --- docs/figs/class_hierarchy.dot | 10 - docs/figs/class_hierarchy.pdf | Bin 15244 -> 0 bytes docs/figs/class_hierarchy.sh | 2 - docs/figs/column_tree_mux.pdf | Bin 11716 -> 0 bytes docs/figs/column_tree_mux.svg | 665 --- docs/figs/control_logic.pdf | Bin 90757 -> 0 bytes docs/figs/gds_file.pdf | Bin 13795 -> 0 bytes docs/figs/layout_view_1024_16_annotated.eps | 4512 ------------------- docs/figs/layout_view_1024_16_annotated.pdf | Bin 98968 -> 0 bytes docs/figs/methodology.eps | 866 ---- docs/figs/methodology.pdf | Bin 14709 -> 0 bytes docs/figs/methodology.svg | 1053 ----- docs/figs/ms_flop_schem.pdf | Bin 39479 -> 0 bytes docs/figs/ms_flop_schem.svg | 1562 ------- docs/figs/nand_decoder_schem.pdf | Bin 49650 -> 0 bytes docs/figs/nand_decoder_schem.svg | 909 ---- docs/figs/nor2.pdf | Bin 34601 -> 0 bytes docs/figs/overall_flow.pdf | Bin 35879 -> 0 bytes docs/figs/overview.dia | Bin 5079 -> 0 bytes docs/figs/overview.png | Bin 43911 -> 0 bytes docs/figs/pinv.pdf | Bin 103664 -> 0 bytes docs/figs/precharge_schem.pdf | Bin 6765 -> 0 bytes docs/figs/precharge_schem.svg | 311 -- docs/figs/ptx.pdf | Bin 75391 -> 0 bytes docs/figs/ptx.svg | 1557 ------- docs/figs/replica_bitline.pdf | Bin 60217 -> 0 bytes docs/figs/replica_cell.pdf | Bin 20121 -> 0 bytes docs/figs/sense_amp_schem.pdf | Bin 14383 -> 0 bytes docs/figs/sense_amp_schem.svg | 113 - docs/figs/sram_architecture.svg | 679 --- docs/figs/sram_overview.eps | 3128 ------------- docs/figs/sram_overview.pdf | Bin 21232 -> 0 bytes docs/figs/sram_overview.svg | 760 ---- docs/figs/timing_read.pdf | Bin 9066 -> 0 bytes docs/figs/timing_read.svg | 633 --- docs/figs/timing_write.pdf | Bin 13163 -> 0 bytes docs/figs/timing_write.svg | 811 ---- docs/figs/tree_column_mux_schem.pdf | Bin 48611 -> 0 bytes docs/figs/wordline_driver.pdf | Bin 45907 -> 0 bytes docs/figs/write_driver_schem.pdf | Bin 7324 -> 0 bytes docs/figs/write_driver_schem.svg | 643 --- docs/figs/xsram_block.svg | 199 - docs/gdsmill.tex | 33 - docs/implementation.tex | 389 -- docs/intro.tex | 272 -- docs/modules.tex | 601 --- docs/openram_manual.pdf | Bin 1260616 -> 0 bytes docs/openram_manual.tex | 108 - docs/overview.tex | 90 - docs/parameterized.tex | 258 -- docs/porting.tex | 47 - docs/timing.tex | 230 - docs/unittests.tex | 100 - 69 files changed, 13 insertions(+), 23270 deletions(-) delete mode 100644 docs/Makefile delete mode 100644 docs/control.tex delete mode 100644 docs/debug.tex delete mode 100644 docs/figs/2t1_single_level_column_mux.pdf delete mode 100644 docs/figs/2t4decoder.pdf delete mode 100644 docs/figs/4t16decoder.pdf delete mode 100644 docs/figs/4t1_single_level_column_mux.pdf delete mode 100644 docs/figs/Col_mux.svg delete mode 100644 docs/figs/Logic Diagram.svg delete mode 100644 docs/figs/ZBT.pdf delete mode 100644 docs/figs/bank.pdf delete mode 100644 docs/figs/bank2.pdf delete mode 100644 docs/figs/bank4.pdf delete mode 100644 docs/figs/cell_6t_schem.pdf delete mode 100644 docs/figs/cell_6t_schem.svg delete mode 100644 docs/figs/class_hierarchy.dot delete mode 100644 docs/figs/class_hierarchy.pdf delete mode 100644 docs/figs/class_hierarchy.sh delete mode 100644 docs/figs/column_tree_mux.pdf delete mode 100644 docs/figs/column_tree_mux.svg delete mode 100644 docs/figs/control_logic.pdf delete mode 100644 docs/figs/gds_file.pdf delete mode 100644 docs/figs/layout_view_1024_16_annotated.eps delete mode 100644 docs/figs/layout_view_1024_16_annotated.pdf delete mode 100644 docs/figs/methodology.eps delete mode 100644 docs/figs/methodology.pdf delete mode 100644 docs/figs/methodology.svg delete mode 100644 docs/figs/ms_flop_schem.pdf delete mode 100644 docs/figs/ms_flop_schem.svg delete mode 100644 docs/figs/nand_decoder_schem.pdf delete mode 100644 docs/figs/nand_decoder_schem.svg delete mode 100644 docs/figs/nor2.pdf delete mode 100644 docs/figs/overall_flow.pdf delete mode 100644 docs/figs/overview.dia delete mode 100644 docs/figs/overview.png delete mode 100644 docs/figs/pinv.pdf delete mode 100644 docs/figs/precharge_schem.pdf delete mode 100644 docs/figs/precharge_schem.svg delete mode 100644 docs/figs/ptx.pdf delete mode 100644 docs/figs/ptx.svg delete mode 100644 docs/figs/replica_bitline.pdf delete mode 100644 docs/figs/replica_cell.pdf delete mode 100644 docs/figs/sense_amp_schem.pdf delete mode 100644 docs/figs/sense_amp_schem.svg delete mode 100644 docs/figs/sram_architecture.svg delete mode 100644 docs/figs/sram_overview.eps delete mode 100644 docs/figs/sram_overview.pdf delete mode 100644 docs/figs/sram_overview.svg delete mode 100644 docs/figs/timing_read.pdf delete mode 100644 docs/figs/timing_read.svg delete mode 100644 docs/figs/timing_write.pdf delete mode 100644 docs/figs/timing_write.svg delete mode 100644 docs/figs/tree_column_mux_schem.pdf delete mode 100644 docs/figs/wordline_driver.pdf delete mode 100644 docs/figs/write_driver_schem.pdf delete mode 100644 docs/figs/write_driver_schem.svg delete mode 100644 docs/figs/xsram_block.svg delete mode 100644 docs/gdsmill.tex delete mode 100644 docs/implementation.tex delete mode 100644 docs/intro.tex delete mode 100644 docs/modules.tex delete mode 100644 docs/openram_manual.pdf delete mode 100644 docs/openram_manual.tex delete mode 100644 docs/overview.tex delete mode 100644 docs/parameterized.tex delete mode 100644 docs/porting.tex delete mode 100644 docs/timing.tex delete mode 100644 docs/unittests.tex diff --git a/README.md b/README.md index 2141c480..aa5a1705 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,17 @@ predictive and fabricable technologies. # Basic Setup +## Docker Image + +We have a pre-configured Ubuntu [Docker](https://www.docker.com/) image +available that has all tools installed for the [SCMOS] process. It is +available at [docker hub](https://hub.docker.com/r/vlsida/openram-ubuntu). +Please see +[our README.md](https://github.com/VLSIDA/openram-docker-images/blob/master/README.md) +for information on how to use this docker image. + +## Dependencies + The OpenRAM compiler has very few dependencies: + [Ngspice] 26 (or later) or HSpice I-2013.12-1 (or later) or CustomSim 2017 (or later) + Python 3.5 or higher @@ -40,6 +51,8 @@ You must set two environment variables: + OPENRAM\_HOME should point to the compiler source directory. + OPENERAM\_TECH should point to a root technology directory. +## Environment + For example add this to your .bashrc: ``` diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index b0d853fa..00000000 --- a/docs/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: openram_manual.tex - pdflatex openram_manual -bib: - bibtex openram_manual -clean: - rm -f openram_manual.pdf *.aux *.bbl *.blq *.dvi *.log *.lot *.toc *.lof *.blg diff --git a/docs/control.tex b/docs/control.tex deleted file mode 100644 index 472461d1..00000000 --- a/docs/control.tex +++ /dev/null @@ -1,4 +0,0 @@ -\section{Internal Control Signals} -\label{sec:control} - -This section not needed... All information is in Section~\ref{sec:timing} (Timing). diff --git a/docs/debug.tex b/docs/debug.tex deleted file mode 100644 index 98bab10d..00000000 --- a/docs/debug.tex +++ /dev/null @@ -1,49 +0,0 @@ -\section{Debug Framework} -\label{sec:debug} - -All output in OpenRAM should use the shared debug framework. This is -still under development but is in a usable state. It is going to be -replaced with the Python Logging framework which is quite simple. - -All of the debug framework is contained in debug.py and is based -around the concept of a ``debug level'' which is a single global -variable in this file. This level is, by default, 0 which will output -normal minimal output. The general guidelines for debug output are: -\begin{itemize} -\item 0 Normal output -\item 1 Verbose output -\item 2 Detailed output -\item 3+ Excessively detailed output -\end{itemize} - -The debug level can be adjusted on the command line when arguments are parsed using the ``-v'' flag. Adding more ``-v'' flags will increase the debug level as in the following examples: -\begin{verbatim} -python tests/01_library_drc_test.py -vv -python openram.py 4 16 -v -v -\end{verbatim} -which each put the program in debug level 2 (detailed output). - -Since every module may output a lot of information in the higher debug -levels, the output format is standardized to allow easy searching via -grep or other command-line tools. The standard output formatting is -used through three interface functions: -\begin{itemize} -\item debug.info(int, msg) -\item debug.warning(msg) -\item debug.error(msg) -\end{itemize} -The msg string in each case can be any string format including data or -other useful debug information. The string should also contain -information to make it human understandable. {\bf It should not just be - a number!} The warning and error messages are independent of debug -levels while the info message will only print the message if the -current debug level is above the parameter value. - -The output format of the debug info messages are: -\begin{verbatim} -[ module ]: msg -\end{verbatim} -where module is the calling module name and msg is the string -provided. This enables a grep command to get the relevant lines. The -warning and error messages include the file name and line number of -the warning/error. diff --git a/docs/figs/2t1_single_level_column_mux.pdf b/docs/figs/2t1_single_level_column_mux.pdf deleted file mode 100644 index 949173590f1e8bdeeb948a0c7bed8b006328ec94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33644 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 HwD5ld(g3<% diff --git a/docs/figs/2t4decoder.pdf b/docs/figs/2t4decoder.pdf deleted file mode 100644 index acd551d7789881bac1b6bd4badb23ae39ce6fc6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43903 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 XgqTc$@ZFRl;PE)TCK~PR;iCB;uwA%; diff --git a/docs/figs/4t16decoder.pdf b/docs/figs/4t16decoder.pdf deleted file mode 100644 index 0bc447185ff367b1c887909124e1b341784b3a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134359 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 Cp}pS# diff --git a/docs/figs/Col_mux.svg b/docs/figs/Col_mux.svg deleted file mode 100644 index 4fbf41be..00000000 --- a/docs/figs/Col_mux.svg +++ /dev/null @@ -1,1401 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bl Br - Bl Br - Bl Br - Bl Br - Col.Mux - - - - - - - - - Array - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select lines - - - - - Cell - Cell - Cell - Cell - Bl Br - Bl Br - Bl Br - Bl Br - Cell - Cell - Cell - Cell - Word lines - - - - - - - Write Driver - - - - Write Driver - - - - - - To Sense Amp - Enable - Clk - - - diff --git a/docs/figs/Logic Diagram.svg b/docs/figs/Logic Diagram.svg deleted file mode 100644 index 2a29e937..00000000 --- a/docs/figs/Logic Diagram.svg +++ /dev/null @@ -1,747 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - Precharge - Array - - - Sense Amp - Output Latch - - - - - - Out to System - In From System - Bit LinesBL0,BR0, BL1, BR1, ... BLj BRj - - Word Lines W0, W1, ..., Wlog(n) - - - - - A0, A1, ... An - A0, A1, ... Ak - Sclk - - clk - - Bit LinesBL0,BR0, BL1, BR1, ... BLj BRj - Bit LinesBL0,BR0, BL1, BR1, ... BLj/2^k BRj/2^k - - Pclk - DataD0, D1, ..., Dj/2^k - Data OutDo0, Do1, ..., Doj/2^k - - - Address Decoder - - - - Column Mux - - - - Write Driver - - - Enable, Data in - Bit LinesBL0 ,BR0, BL1, BR1, ... BLj/2^k BRj /2^k - - - - - - diff --git a/docs/figs/ZBT.pdf b/docs/figs/ZBT.pdf deleted file mode 100644 index a146850e387771a27cf8a13b31a311a0c1ffa912..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41365 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≺QngV`;KiMHbau%;GvNu-mP-JYDHt{ZP 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 N?~Z@I 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 mRT&vaDOV{quK)WcZ2!vqT* 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

qL/Ud9+0XqdPQ/ITo-G6]%Xq:"P(V@^qXU:M-^ - p:JfYj:7L9?P.ZGkO4F+r9#4e?/.n!q#(5Rr=S&9+tTsep(t1R:$h`*I]bhNb50#3OW@gB. - _,WO0dMO8Z$);IZot+HBTkWB"E]rU9lr`4)O%=r`,u_)X\E3CKg;ZZ/1n7_34*<:6s7@]5C - mA27kc*mHdo/Ha<'2"b4XSg8_E^(:=mebg:nZ$/_e1BdaqbhJ_Fr> - *hUgN]cSulpNk/`NI&;d+l`&U(b0L>e)a57%C$l4IlJe#UUdf - ps?oRno1&O6U$$"3BWKlEn*6O4tD+4N$#&?5[rLgpab6p?B&areFoGn"3;6&./>,/1"4"la - >bK.q<]6YIJS+d=pAd*HpqI#ATZ2T5D%,,:rZN7%Vo`CV-h,]o321+jkA)%@p#e8(!u - >"hFh'-nj!UQTT%6:1K8*FttJQ4g2e8a0"aj=G;90u@&7=@jtgUp?=bC0\]F9-pF9Y)s??> - YGHZ11je;M/rGj9W-lB)mL>;XA"eI2=h!?M]sIf7-:n/Wkd6a7kJe(lGL0Pg^%kX&V?F?]L - Er`fOWn`'>RO,3UY$M5@0+J]MTN\i3oj6:[tT9N6>3k(GD=4J4cFErkjpUO()6e%oRM1\Sr"%F: - '$ZOSZMRBp\p)ZX2C%T[&;$V2I.E)4`;m!XZpCc./H:VL%3gs(6ReNbO=Y4a'maerq9P['a - S+UrP3nA"=X0!/ZUR`H#VXlEF)S?WsH%F*B1`V,mI&8aFQ:Gnr0?eOQH=X6"Q#[ - $nF*l,d#l$]M5(G-]W?F&Zoi>I/Js^XNH0?Yl8TZ0sZL=m&"ZCdikj2+"O_R\ssR9c#XP'! - 4=/3-6`X]sY:\hV$'_E!o[XUnh1pgfjAd/B(M[QSRi$$\M#%/Xj5R1;2Lj:NgP?h0bE4B#t - g8-m4a$^!ZO'bIJbpVN^ql1'k*e2Anm8dNr'QDt - (-KLEqDmNYJVrOeo8E@X)IC'T1%H)*a14\LjLce%0Fg.^ESDMX/9;`8[&1rJB-HBLB:-!cN - lfsu,NF/+Og+gC`7\'-j@mm`nbu+nR@>>\%*P3FXr,DDlRYOh".uD*JC+-#0Z2SF>>(D=2C - A8"SB:8N+'t1=\k&80I5b!0l%LTEai0cal[UA]et;^5rS+b(2^_AKdJZZ]s"fm<>,(_)&&p(jjc)[.MQ*OguMhV$Z\"(^d - EJPtXH#i&WkEUJgU](TaM0Lb_YDOoOq(TY]/`;aN=c,%'ck3Uq/6Ybs^YI1f^qehml*Uc`" - ]m)`pi$UU9mN*Ih2h'gWgF$.n%LL*unj;&D1O!iq)oHm32V@*nIIV2HYfheFJK,2LE*cbLq - )YS:76?e+:1qJT"575>bDL2O=i<4j3TXLeT(Gd']=E[dl!4gSEp_c5qF9?%r7?k??5:C>f/ - ;W:"/kLf[F'=Ze`cnkQh.q>fK'ftm!A\goq%M`\ABf_]l17Hm_dTO#>3q0Q^;g]Ok`$*;=5EauPA&7r2@GH58DBPB+e?M?t3iaR$T(BP - N;O]78B"k1KQ`,uAj!VUPcbK5.j,%n1SaaqJcXL;1(_^ - Vfb/B^3;nren,_Mn7*246F2nN5!2$^TCO?[)-nM5[^2#1^cK8,aec]_:1/)6kD\D%79p"5_KcC6o%"i1I38#Mid! - bF%X=Y2]0au5"$X2]K./d-c2R:6KAnHbSNRDbJ.!)55ZjgnCg$&qQKtaMEBZXP3j\*M&epo - 00@n$agN#fG.Wr:^#IBsUJVlh;Q/=LVS#1148m"=n3\r%Sq?%+_T`O;7#gGs);r*)X7euH2 - @e3*WESl3_1T:%Vo@^u$liWagg%bh@@caoXlH4I<(F^'+"a5X/`GbO'!K)uBc,&U`iFM//1 - j/?f;j!bR)7/Yj;5`XnsTlV$#o(I!I`!Sm)N"m/<],8`*GRf;(NT;%-1O-S6`2!JF/bCg8\B8?XF2ON - Kh>mJX,MtZ'TXkmK/[U%8W7W2<37beAu\7saWjR%&s:<.508J1`Y&,;XJ3jPU)p+Lb64E;g - j?i<]#CA\9>dp3X?i3fA]Tgb-j7=U"?]?D\?>JA4aZ\39(\&tJgSj-7'YFYRFfC*nO3"DS? - #L9qN/3$dl&H+(kgI7>h;K)W@mPgX1ZrQ%&b2"P=WoO]2[KWA<*T&Yd\G8]9M'nCmi;5R]5 - %j9WW&%<5hS#FY8U.\=CUT*4N*k>Ioco#]uV/AATk(DPmn]W^OQkOp4Y>,e>8h9/M(Ago\b - !LbZKMCOOI"IJl!/Ea:cS?8smn?j2r?R:)r!7 - 9T%2]]2&Qh93h0['ZcWC"0NX'crCLu*;!$[od9%_R2hchqOl4M\PXX]:'CE\N2fY.N^c_I/ - :u\S1"FU/l;;+'cTIEig=O^DYL@V2;?Q;a'f*iuh,;c[d8]S_KO) - k42pmUL;4NcrXXQl5,K2eGaiqr09[+"#eu(?$`9^1B3r[(ieLgtu9altZJVHTlhT\r8eQC? - uSH@0?37B/l<"0&Zog2AI8l;SH;rhRkSOZ5!4jM8]:1Z'-XXgD7?HseEdq%dn"X?o^3Dn,BPM\ - k5[1b=,Z;/>1SLlkuXHX0!mI[4G<8GZMbBfEF1b71dr5IonPue"qLj]h(tq>u>G,`TZ"-NI - o1c6dQgA;Pc_+eE9B8`Ddj;8Te1gD.cusnB*V9ejQTB?$HsAOkI,_eToI4_qapNeWc_14h82sC.^;(gVdpW4 - PAF=W*+PrM\X[oN.Y:?bYEig?-JPhIGPA)e^Bt"b9_>a7H)t^[73;khEuQaD/d-'`M@NNnOBk?DK(,-0r]jf#k+C;HSb^J=H=" - !sfCdMB2:TroO.EN`>+Os9*6DOb\_[bMe4mrCd&S7Q*0>?3#_?e+[-XZ)c - ?3oH9UhaS15rU=+KpKd1]?hBH=?-;#Q!RR\LhOYA9L&TDXq-Q#U=K.Ou"rH1B(/9US@K`+X - [K'c9`8?"F@H@5*V7bhJlq>jmY>$"a>RKc@6fTQ[i4Ro(^*Ybu%_W#Cq` - &oAF1c`2?\5!d!^tf;\SiPE23l8B?=?$^%PohFjI62]HRg\B6#TkY<*`L0EdFL?>!?k`,#nD2;d&B%*VpB[2%?Q;?)g?G*ZgEA*6m=eg?et###JWkhG2n>P1lnrhH!h`8_8$>Q1AO$&CB96SfAZYlbFWRi - jO?W3A'=1X;sT_HWm!2^W^N1`ibSdhuot3AEk(1Zl!M;I6[V[-N#]V;jQ$RV$>M?u$OalNX - KW;_#+`%dVk(l`1h<)_Z";Yj;-9lXMb.?F+Gm68K+hlk;d%m`92;Ztm[nTba_Ff#=D5X6\' - @D!&RE(:*$G6[Pl#&on6n= - L!UV[N"'%.LG0nAc#Xeu`hoYNd1rC3@F("]8800AJ)5EBTCP-,no"(X7TU3o6%\lcD4u_*" - dBA2pIAo?BAOD!71PM2$RDS'F-kP;aj1nh$&3[ii8ZO)cPIEPo)q-RD,$>M/R`E^S7Eh^N8 - GO@FTH4:AcAc=1hLS+>mmErL4Q%>"(o.m0lQg8o1NG:N/Z001a0o7%j'O#"6>3P.b/EP*L. - 7mUWih.U^k9t)M@^Fr&'Emak^F?^dd(FA^;in8N23r?]hVE/gs4S0.IoZ&Or2a?rt)I_5a< - UW%k?U/V42t]('o2dhlZd!L!K5gnJF - u:QFmh,""f7,I=*Ae)p4loE(JXV$@CUL4LLKj/1j3FDR/(/&!*TR'9SU8]"r0A,rVp5*g]2JZhW3d"Z?`_rtch^qk>@pq6GHOtRc=tn7?MD - NL-dc1S)gS`4HWS>^rJZ(Fe4PdoqtIIGkJ7#A[X'OSq@Yt,jH57s's@5=3,Q5^g-a/-'JH - nm9%Pfk9"R;D:[/s&]!Z+;4SI5dE`kn@5'G$,!+9'A'F']LuAQqOCL3onGS7&SG1nqtA?X% - n[Ok>]T7RPQ^i=Qn8h"a8p5Vq>k8$G@e2IC@u[dV4@R-1MRlW#FmRC8(KSI_o_L]dB3C^akAE5(Sm)<$X$Z)jlTNB",h-T%s4Y0DlNn1cTn9`VP\4,3(5&"7tDZ&NgDbI2pfM$HTku2+9"@0+;h6f<.K94&`L$)\Uef1KacT(6Umnc>N"n_Gc[. - E37DDX]Z$!2U08Of1g)YDl5N%q".Sq>ut2u2M;"jk2[_-0Q6,iS:DQ?ql/V\jLW+7sIET= - J[e-0,nLmd'cFNl.gILZg2T<7BQR;0``>DSgV/)QA2/_E"SUYX%2eJO!mlC\2A5R,p6.sLA - K5lfVRr1"Ojdg;lYK_rQ*J`24rKh]CRN4FHHVKc@/_,g)hOCcqC](P$=,t*>)^&tD)+1*Adb,SG)L\^_j! - ,nHJY#fX6k4odWQ+_?T:9bODZ/$C3!BAS)Y\U(q@B@aK_6?qV,WB_m)'";$CaC@G41.o6Bg - 'TNn_R/YO/L(\%;OsU;1:MNV^P[K)Q\;qM;Ap\0iZ]'OAX2LC]XW^3Hsc@Up@%NtnTY'#_5 - O,"$sDQ38sr>61cP#Y$(cqj+T\?uV[J^A!H!,M[/gneNi:Lh<,%,"HV;47:/t&Gof/o0I&"q]Qd#; - 9:1u3lUBb[:;u,`DOUV;Ge>A)P$?J;V2";oW%[g$0=\WF<2lP72VUKYHA8a8T& - 83L1QPp1L^)Sn3Y*EHX7$Cb#;ik)2F+IUZ\Q<$$"cDrfqTiHuXe_6^"lfDlXFj@5@2$ZUP- - $$6=%RsQi,@@YD7RDY63*2^[Td>KqC3<3W0"L?Vdf1O&:^f"MrXjP@0`F0C;\^3;(#=o6*`jc0V4V^B^ - G3-d6^c1o,"*s,O0m==[A$GKV/rm4lSL2W(Y]=<%lT^28sE!@`.QV+;equ_lG7O5[WRgEN9 - 6\OpAQbh&[*9%BTIPI*W_O1?/hQ0;,DcT9H(oJM04AUtm-2b`KF!ouVQ[LUE!nuPe$l'QA;]M8V!fo'OH>?G3\=hbDrhBV9e+J - JPge\f\pI:(gHS9j/KPOONaT(;F=^%"7pW<4Ej5j"r,"j5sc4eM]jiY?0NW);eH86Z+4X[5 - ;n:Ptkh19Hl09ee0X3LHY7H==GVtAithKr%0k<6;\oc@>sHdbdXrXZO250r6cmuQo8#Klf` - )sVaAL[9Ic](t5bm*qZ(npSj>r);MAq7i'erbpWhIfJR/J%+m]GM<"&L\Lg5L%@FQq#8#%q - #0ZQrK#>+009+$XSNIV!)L!$O$4"Ro\$Y[IYg(BlKo!cUj9OE1U;M"WN6!Y? - X_n%At1@g2@dp[F4Fn;@26K)cI<$1NKJd&dNaP6S7l#4PIm:j!1#UC<6T$uf>I:q7#(VZ6- - "eH[`:&/%-F6OhE,$W,F^d(9=?lNkl+$rG[0%p8Mh>$hi;$P5B-E.n-#fa7.n!0Ff%Y_W'TjID& - S2<3Ba54f'eri*d;'E#>nXDj%+0V5n0&;sMZaW='N$Y&E2OL,Ii5I>'bR\WEMWMP6P3.g)f - ^-7&W%H(P8TKY(br-#0uXPu],`WJ((m;]Z&ogLFWOCC)0+gO&PF1-N?;$B(ibf]dK:K[!>A - bml3;T - MbTKeJ,Uu-ZMf`f(b-F\JD(?mGcG]%.0L"Jh-12W;`R<7qEpld(k#-M,Nsa^+J:rkl.:ebo - Y$sW?)'kAgn-ua.X4Z9GfdQ6Vc:8Z&P*mR$J6C$bh,:h):44Q>jR;J?.k?"r'%&3BeLU3HE - RMep&u=ngFXPV(-Z[fgZGPu=Lt%EIln[kkdb*tcY:]2.0Z*HuP4p[`;SJk7.SdB"0*WbHT>#S3KfLbdn)E\aZ+?RUlqA - s;lV.I)V`:B[:i[t%Il:(dS'!H0b&C\F)*7G`7Jn6GpDP!12up*=t#OjE2$TVPLsj'YT]5F - +I!s6'G!KO,]M6X6AGS-P8?Pq(I7UQ6F7:VF:U[E1I3At6Bj]%e5&CF=$ZnbE/[peoMIs)B - ggH:6r[qiPZUR8>r.^h7he6[oT_qrRmGPkZP96*FK - %d;01U+W6+"6r1i#``ZV/I@8@4"D1oF!2>=0+KckOAlP\iuKh(CP37b#OS<-q4O^IcqS:Gf - OP'\,sc_,,6'9Q^kcQh;KU)U<9I*n+[u% - ,;cO9+<2EOCM,Psd;Y9]^PuC]5>cP2!<]*lO[,4oiHWCk';RE&jo_VDU.9I=+8!KECQ&/(T - 79J'8Y7tJIFamFks&X>=*U[D2-X8WUKJ>$>SVl`[0obFd9BV==EVege - K[pk'3#^C??GF6$a7@K\W%CP?:7''j - Xeh(%idY(o=:E,,);Qh'.>P=o?)i6+$43KpsderI6IaKQ/FAgOp!B;Ykg.i-_MLf]fT/]e0f - %2!b(CP7a6n>`1TU/f$QYCPbNfnTtE].?LWrBYQm7Xc)4LVS(Ha;eP\ND7;P`f%VdpM. - QDFD:Z1>GCsN4olfULEHeBGQRR7t$$[6;FB=ZRQQV`@N(S0Fo]D3B7#`Fn@6SiD.b:dcD@C - [Yd:.=i,`*ZkV!2F0"_-`dF70?[[uY`nY")NbHZiD0N[X0\:Hs$7ATmBj2P59DaaFuG4NQ_ - O3%X7&0^d"dG&oH!=4;g/"anU6BUC"2mZuk`X^sGRKBPm\[c;rTodF_9Bbo_sf0a8-I4*Wr - LN_9g#K_R9'&D/^GVj7+:*4bIbBoUi/,/.](i+Bk4_P+6090%T"I//<)iIb=M,QQ`prZD-W - JGXu?Zqmnm@Gc:7q^IINHbhf(t46,dVLlLEB(jUZPA4(lWUg/Ll!,8(US58@.3M)\Rlpt:dSpPRWGJseQO/n8_mMi6Y,Nu6 - \m(pB16.lhi-5WCM^p@"=`3K(E-Put_.oG9?:8Ua"19K!9.oBfs&rBBDoQBiPO\&:U(9n64 - Rj+L6D)!'B&d?qt&&7jaZ\Vl2%aBY#\C\[3O74XKIAQ7=bO*NlR"[MC^D0>V`Pr\N.3)P/U - EL*$VI[D22q&=]a$\3nKPh@>B=ok0/5F%X*TB4=g#gIBMAMa/RUJ6l81=_fEr]lmhJl[l*, - 6=Ij.A"+&D`Ms6ZtPeOGBLErP%^FVq1ac%D2oI:U`+#O)04NcO/2RAM7.i'qL&prbEh?\OS - AiEH?5bteUtGPAX[FF\h\,gE\r!pVY\Dq]*YN@/U=oDSXP&5H;U>]\Qef:WbAB*3Erd - 'XEgSCT:5GE=RTaGZD4iqSD"L[.e0b&bC06#R<.;/mpObRj_(plm5+>aRe<.`s-oh'S@1!- - M46c"LPFHVZPu-0HA=!'g@:VEZ'adBfL_GL4fY!:XE*L&XbX+D,t<([B,ad[3]X> - ajo&[l6j(_ljt%PF=YS5!q7g,)U,Y0.quOF!mB - 3GV3]I_fH@r%urOb2?[+B#Wg:b;@^U9Q9_R`s_gDVJE+)b>?opco!qtb;:[,,%dT(t%'gIn - qYYH\aP]_e88qr)RB's%5s1E9&H;ij`/3GMaJUkQe)g?6Jg*F.AY`S;i]Gkma)B=]#_`I)U - 8UFT-O`P25U^\iM=!gh"=h7:/RaOrS\]T^8rBuG@a6ckWM/"0^I`dD.#qQI#jdCks5 - NT@(,Z8[5L=g2&,I_0I+9S]bEn'LrDQ',oaR'BnP]3S#*5]67-r*-%g`PXbsPFiqNe8'lWL`uSfjQ`J[X/^@X3]R9%gkoH;,o@)I`L0A8g>U - \u&2l5;"N>Z:Y]m[,p2nY;4c$aT)>i!NNgDJ(=5p='_fTrH$Ll42+qle%CCc'6&4UIG%l%[2dl4?/a')mGU3XLc=.9go&@:s/Fi - MC-DmHrN"R6DbAg&inX4Zju/7u-.\T'j1Y-?=G+[XjbFkSPs'\u*JNJ-QeQo$5/"ehSR%gK - fAROa,Af3>dfHj71e*N^Y7UalJVA1 - o=D+QV++ffo3XV24@8%F.'E#EBBdgBG8N&reEe6;`c7BY0X[*`$2CLgHh%_BjOnB9%-%gB\_n*l0/#71j-?LSeIFj?$NMoK - X[#c7hKMRVKKfi[qlhibQ\Z>j\m-NtO56M$M&:8:+ILu`Y]D/J#`DUmUPHHgonA$3O_F1_s - ZDgSMDm^N$t^6;@,d-gZl%Nd'f`oUg=>C*`)Vm>XW48eJiC8]kJGIk4i-\jGCol9^G:7&`Y - io0`MhS7+#oC2IbNQ\'o5ONmLVSA3;jT2ECe,o?Zb#Ar#5Rq#Y"hi"+@/@\lbT-IGn([dF6 - r:fD%mR_$]Nal9$@.U0f0MjQTE>h[$N - FA1;ahg:/fV-36-),%-l,["HPZAPJjX\d8M%F+j]f!rC'TuUm4O!1VC%7%+Bo%9ZhGsWCGA - nFXL2<<:UJk;fbYX:JZ+U5:];?SRX$A[2eWgc;i+X,Z?:bDbaD4*=l%JZE5E5ZrElg>tGc) - q,^a?D3%dm[B2M8;tM@4ADDlfG#oU@Nee.K8AI<7C.m-oSqme@+VLm,N1Uf`K/f]?'09'Lk4BC6Y0?c)3E%I).,>rCH(F<2fVdJFr.) - f,+M"ms`F'uhs=C-206UAb);eRNp9NjmS"<^?AL6cNo&Z$%d%>1uik,'Hd#V8%`4m@0Ui_RH(Hj"SEO0$\FHtEOFs0hH%Q=DQWm+.n)r6(_XE2OEJ - pf(a,"!UHX%0'qiI#;T`>BeUrsSi]cPQ!+45FE[ifQ`2>Zo=mLK_MJ6$W-ijo&Z`/Gt_>6, - N"UO+/^1C.+(VOs-j.fh%M@mEK7OY;!@QYKX&8=n[.'1FY1`q?(c8TJLqi[,]g<+Mro%hf%GOfJV_rf$I;@M*DdnS`"-^'joP) - O[g=sZ.".2EtHkDRLV?p^9EaJHP;RZSd@(FaPHAa=N.nD[208JaLd/6QU+Gk - \\d;Rr-"JQld/$jA35J;HV":E:k+5MMQV$9B"I;l9=AimJ".M-QM(c\&dCDJ"(u6F9%/*TJ - =)C>Ao@'R8%8bV*!>B2&Z]NUAU-\&P+)>]#XUX-P5aP28W`<5_PfATfkjpqe/:=M+;NK*.q - _>.2KriW2W?mGP)e_)%YAqjM8N8"%A3>^OY\'01HB1^mrKjd22M9MZ1M8);L96N.8'K-YBe - !t`WYH"peN3@qmAsN`Q+_(MqO_$XrK"Bc^6pDG2WrYcP"(B3Hmk4#bLYj:ETNhu:6 - a^/&BL$8c9`;$M=?d"4_@(mn$Y$2cLgM[W=e$W5d6QJm;H&".M1W(Zj"6<+!LTVrn_78A-h - eBbWYJ)p;(V3"4Ls!rG[Q2:Y:Dm`q;%I_#)RR#jRUg5KMm0'&L3YEp@JCo;1E@jPdK^?Gm! - WPfAm1K\EDA69iKJ=@K$>/4!o9=^P,Pf?c8b8Lk=buSnLa%0\jn8^*@[_N5+9NkX"7n.%2\ - 4t!f!#@a48A\TQ2(INUIVHeeGc];gO%r1NCA!gRse\I`#mpV5>eum^dqU2m[84 - n\8&6>CjN^k(DMp@h`hJdquG1;m?0-K^X=>PI1&Ih&/k.dtVYU\?6[qS)q5$XN@E;:Dr-h; - AS3'CVi(hDTFb_7rTMB_"C.rjrCRRAbp>dq#<)(HIIJhr`.#d-O\D9+.I=%@eG@Ni#>H=lGNTo![Y+3>!F0TlU75XkM8).B_7<.bK`qSpdaUPGHo?Q - 14HA?/!)gAks^0f^nQK7:+hnF9jrBe"P2XWVtZ!>n)3qg-F\rS'$D`SNqFs_$ggE-athL.@ - _SE!EE:SoN;YM4-!MLm`4aNtZpgou4K\^+L7HKJ`'TT?MS1047qY@$U(0*iI"FUm!b;BpQ!/KHCD&,jYtTa;!6Y_n#5&+;J#Zr#Oj^&TCi)fAud#;lei;Inc),BM - 6mNMI)"R`J$6ij53(Zf/,#?Gr1c(J^ao5`Mse>`UH]Fn[T!.=j8QheofA$/5cWa,;tRj]r] - ]*'^.\a#g]tV^q*;k%]3Fg@&Rn$O&O=P25I9jo_T]cIg;)bY^SCrpg&42ufKO*m6!P?pC?3 - .ApHa`94u=$>;u]*^%mhNU5@b_Lr$0'8'#(Fa/o0f:X:W4L+$YsW6.>m$HnE4b$,-G/_:0h - qZm`a1.7&&%_R(1HlnlOgkZ>62WpaUenc&%`G.g^A?2BbZ.%f:.-(.^PjtfN*Se5@QrgV4Hf<5Md - [Y_40H2f-Ss#WPL(J2bU[FV]b)kM$sYgJ?+:k5\)]KTiOh59MFRcK4&VY4C"fq@3@k;Y0V_ - ]&q\Vi>cH"FP4?JG?m!kN[E6&Xq\k6G80\eD4FYAh^UjV - t4?LDNUJ/9-Q,s]Y-gZi5m#K/VU.DAG88E7Po"2t"Kuik<0iXN3ZTbm-Tu`1Ea_T8Fr1V2( - VFV,Wa.ob-e9f>+PKB>ZaXi_"FJCZtMb57J8\$lQ>c+CbXN;`[8MmTm$3RgaHq@k(8$oDA$ - ^n(qX%S,B8edW6e'GYUKhKc&s]W?_JU@@:PT["+"$P3`g$n - 1n4i9q4NaUp5sO^Oco6Gf1,BGgk&%hT2237a2tPK_\cOd+%O=UNC#'?sM#&/#.,c>;`>m*j7=hiUb>:5$\_bjJ4 - /m##&k%`%^3o]-Seim,3m:>F[MAF`M!hG5-P:NY;d#l7>=qbN=@c]n=Oh"o@8p'oOJ:5niV - Pl2+Dj%r/8c=$q(AH5KU!DlJU:"9?l2$hNf!RH/m:fS!%K`[,Gnr@u&:9=cHTZ,4;s3DDO: - c-q"OY'D:b#%HHc3V85>hKF;&^[W3&%ra87*mS4d76Ph;$A%uh&Xd@*mm\':Rr_f%4'5hk> - ;MZ;*?4eXXd.p/5a@0d^]f`]b4/0&^]>9d\S?fo_$S-!6sUsB!dZkbMF[FTC4Aut*e,:O - kbqRW&1XhUP<:HDVI77,k2Ge6WF%Y>1%]<;1USg.GL&#Ilkgb - 1OEFc]?Q["AOi692?T`*)EAKVdP^XAbo:EKU9YDsD'mneQ9lH0eF'"a?f.CqYolJ_2H.S$nfA1i+*1E,rHOMcR=<2kB9mYEeOOm^af2[<%V0 - Q03Gut32V?MJ%NIod4M&m>H2mmSE4bVF@I+[8(=T"@b[=),)K38qF=QP(cD4"EOLY48?,"culPY1h]ig't,b'oCW"Y$%m19J(G?Fg9[AU=[)[g/YZ;AY@b*YM7=9=m_@(24rM1 - W7Q1">%O^<9s[tcUteDNfq#ub9u0n:WE]%T>W'=.D3S84]Nh:dgYK^#L!AE_X5$^dgh"l;Q - +]eTa]s8>>V3'\1pttIYhSQogVq@Z`R!3Hg=eF3h2TD0V8M%6QJK6qhAt3P?/o+Z\m%V]=X - DI%-.Q6="]nf,4^p:X - CLb06eC*VnNB1LGb$?^#ZS4o3rC2EXAi.](f3*1erts#IX'\kR*N*VNk;IGdbT?sB%,Cr('u%Q@,f2O(E&`Yhp5rQ17)b:BU&Xr-).pYusS@jWbcp+r"p#iQH/2HD4ueb!@!UuLM/j)_P8`YW,o>[j!Sj+]`KcYhP6UK_(4BYaBmA:hU:gbClr&cm>-+%2>*iu[J* - q&KNilMASJN[7&aZ&mC^rs(sTb)]jo((@BWtb@)cL7&YeC+TOn5?()@.[p0p[$0W;8beHC%;9?>X654U - ju.L\94heM>iVu+kQ-(p'T;.:\`bhUjnqebCi"Z6ETb&tX"j`jY"`S)JnX;)k<=P\Ao - hXoEG"X"kbF?K#+B6QSnP9DBOtl??1V`aNoj)nh8Yj1L8aaBt[XjCgA7I*62O**@;g - mlqXc,:%9KU7c]MKCGQje[#8Da1?qtom'Z[I/7D-)F$-=;3sJ3rY0h)mK4C0YD+$Ks$+?,M - BBQ$SmBY;H&a8VLJo*;RD>%6MgB&V6/*t_JT*F@k/"u/r);!a*m?XB4CH9fq&>O.+m3^fX` - p%BrT5(--BOr$e53D:qlY4d)D$"ft->)^#M+\'?4\k0Y?I*Jca_cb^*0A3X10SKCr%m"dDC - 3Zs[JT?=Wpf24me4`k0"c'[D!p]l/`tpY'N$Cd$>^4AB7C0U)Z"_L7"&&pqmJ]h\DZFP8(?3@#[FY`RNfhL0+n&*]EK9a2f*-"%#&c,VnXDnQ_\fC - 8/V"&AE]_A2hZ`P*(%;TCm`u2J7h,$r[.5-U1+m'WB/+D\0l[VGnt.DtJnH(k\mHLYad)AW - 2S[:%^="7Qn/",4Y/`EG4t`Hn]gj>*?%)0ik&>56CsNda,]gO%#>([&*ZH(H')1\JIIR+sF - (LSXQO<-@PiDXYFB;-K:JE-J/+Zt[h'p*Uf%.F57WKj6E'C5m5>Lli7I]07p.m:1f0=)DB6ACQOp>+_B1MSe=V\C\*2d$ - 8B3`,WJp$5hTgse17trd3@IB)[nlI76LKBG4/o\EuZ0-K"?VY_f)K39t4'q>SHRH)iX#b>5YB2F:eu(b0G0"in13X7%g)!5!%eK@cJ`X@YoUf"W-R - F%VEd:0cGSb\uO0&+@"SZi/T%A_n7t>fUM#%'ja!TX:baeN:%<':UpkQb4Q]QGFCj#Jnr1h!-]@p]omK?UrE"FD/^3sM]PjDqHG@r%[h!j>^i_TJF%=j\k4F#XFSt< - WrO8_QD1QfTDg]RRqS.B#(5r0fP5]sHr3)[]B;+g%O8^d)r4_NH:V(JL:AfUA1oIC"0@ooq - j`n8FrK]>>VrmspnM>[`)./s@"9&H*!!"-[pad$e$%p*g&6Lb!)$Gga@W - XfGMNPc;>GXP.m(lZA,ZFG9s,9W;n,4g&\atk`>9I=ctN5cMYSODV$q)nLR4-n'd2#9>GUI - C0jjcdeT5&2R=d&XN6>t0lHN`2d>]"E4(?_1?#E[dOHYt^#/C6TU4&sl(\;Ce#Ge^CL"TN< - eOBaqf*LkF,YL2,6#K,2M`0t09*#;_[OgM.VKAnoYTct6up]e4bL0>?;N0KLQ#%C3`cG+3o - OkA@fcDYMlMhOa[9Rnp9[8G/;sUW,t#&mO`upX&$XVd-9h>G&jPnZmOu?RiCR](2g[HW?d` - Ks9f%G"uqU0AO/5YEeRB".;=DFY1b#Bq*#KKX5+YlF - uS..-s&Zkq*.Wjaum*ChPdPH;'36Usl - T+]+"P0[?3Yr,$(;&/.2?SN8UlXsci7M?JL0"k.%u0(G)fF,hC>7%c\EnL\K=U:Em^'a - rqqgeUmTGSE]5X3&hoKdWI\j44]SA)Wke)reTPp<#rQjsQh_WDp]6<_bF<$o3e+J#7(XZrf - =#JCu>Gkubp3\f;_fo:.Hd[,o2gSj6%,qH)DQ?k:fZ0A)0q@QX=4B!@qm89YB0F/=F?`Se?uq%]JgXFjA - Z._IaE(nR5=N,b:A`Q5L\*4sUOEN/1la:T7.6s>*Q_DK7[IiTT;/WUKu1Int9o3N,[N046( - 3N2`9UeAjkneO^+#o=apI#!lHJkd#6$Y6WUblbI&t2QUa - L`ZCKQiY9Z:MG2=!urPW0\.J77p(R-KVV;P4JCYSBWt.&muJ.32ukQ"%YYeqH`\m;c+u7a*$%g3;eT+%J2[`)_Q9>jE[ZYgbSGfr - Go_l0V9Qp"loNHIYqG/O$K6?FO#^JuP`OU94.2(#)@6C?p"&Xqp87=kW=U/O^DXFqV7;HLj - SkNE!'G>&_fW@n!MioVnki\QT036"u=J\ec".dJG\C/q">"a(f9+=G7?ZN(]ZOd+-(Tbkd? - 1eM((PANpKt36])>ITPP3/M!X,W.O*Bf:Y_!Fd# - ?=o4>PEeL:,snNm;:psMgjkb6!&=*.:MRmOk&S.a-g]^A^"S9XNJH%Qp3H2bh.'i;?>#Z]- - `tnR@BJ=E1csKktgEL]/*'1B)&ZdB?WG91Wc3+Me]WZ>k(4%`Ym'YO#*b_\"E0lL - 3=b5eh3bMX]QfFubg>gji1H=McA!StV`7N^HeEEW[Z#jg>eV`YVPDooZT$0BFF%,NA30AeO - T(RQYQTrEHq_mofpI!R@Gi3;X^p#HpZF_±1Zfp<,JLfpb:om;95sp0c)A.mEII3NCZ]X - hraI8h5!DL9Y$nj;`)CES]#]2$r_6HN,C1c"K\YWWqQ)+[5J0C!1OoQ/m6s,P*`ZV"qaef_ - dkcg[9>aH1@caI!];*D2ZfO9t8pQqc.IhA$#03lKF\oS78V>@^a;rlWVK1F)Fe+3i6cS)DA - 13:=%43%kQJco9aB#PJZ_C/23Tp]((?`I:ibMfVdp*u#k:8HY4I_90@s$GR%:8[f>f^crX29nt8md - es`&3/k,o-CIjDlj&d!iu_uk`@,\"=3QB4S%JU4qF1Amo&b="H"J?;NI"7&5)g$Ws"Lib\f - DQCio?3'L/\[no$r$O(AIY^A(.$kqI4`j(csQI+PTD!"anhbjPi+2$Jit2aYIc&#ej@PjK# - 'o+$N_YADD)i7q,t=:gkf:qZYoM#n/p]C#n-/68F*/3E@1$15n:YZf+d0_=X)n?$0hiaOg+ - ]*/[Zq$NZ$XZj=8d*U.O#%FD;%>PF'(cG43c>`R2:gWX/R1dmYq/IbK:JUB*b2_ut%Ib.bc - OBk*Pk<4s'+>YV:\M\eqEV)s$8Eh0`(K@AK`+Tr(/YARKcpR2''ZLAg$U'BE,aU9TaMFX(o - ri(E;%@M2Wg(-^!5:(,:MCSJi?38^Wl+%0Bi@sb5Odgr/&FLC@)I#m%$ek"mO;k@hg$FlMa - FMjM_cS6n&o9lMp,jZ;LcHE0@o;MS(EDZ;<`ndA3bcUEL6C7^.4G"+^SJHEK"GY>Fa)WU1> - `3?nl:+\OB,E[p4SPorsGZ>ef.lFeJN[1Ja*74 - tX3-0diOWp3-<0/3h+\576$dfUgMHRt3%-o3k*N2%Mufe/IW/8H$8Ee*/U+!_2G,c`=PdIB - !_;%_8'.l1Bd;A1W[2Ys`j2:GJ_'7V\LCH%+u0lON?:`C@7k!!R6YA-,#EPg>5R5.-C:GX! - <";*\7fc9Td4+pZd0cMN.kl#(spCN5Wka[&t1s+dLndg>"n(](__Y=XR_9;@57:-]pHQZt; - *c(,Xo@"M8GlEp$(NVPjAc;Eu=f5qqGoB/FNIbSH%hc)ruY]g1k) - *N(#*O4&m/p0PR!5.pM4)^$A%s:#+koLG"78C<\bi9]N,=YRIos?57<.*oiK(m6G6W@hae: - 0`j1uD6:#gGM!1G)!&o0[IS*XugQFIc%R77hGZ//.sXFEoF@b2UpY6:A(FPa'*AVaShh9+W - :)/\t#<[`,W9_!rF.&DC7W9h"O*'oU*F<*FZcIn-lO6a1o3o+^(>!>&4f4"l"/oP0jP^A9\ - *4(\::o@l_l+K&2":ohn\2%`%DeP6i.*(f<\e,NB(aBT*>_,QmloL2Zc4$TcQ+u)>/Xk66d - ^5)jT2/W:S'NIaOnB7t<.'c-]^;Uc/tCeeD.5C$5VV;/FtI&:0j]#0A6(!bo$LsU3F0 - 'NAa$aM[LHe+G@YjbB*G8I<\%k - W*G/?K?hNYnFSB88"!Vo*B"!%;<^1@XKkH\^Blql\[]=3[ZY=U)@-P]T - kf;N2H8lpPtWmN.YhlNN$r<=-/e`Ng+aWGKBoP2dCH/C=/gFGXa-7kHT.a@\&i - nsc$APlHmt/@f=Q9O^O6pYHM=pbGNtD/_0't:Iokf_GI2Z4K6=.rIb1WK\(#6'fm>ZKGSf= - fQjB'="bPA+J%+luGSkT@*0%HNJ_-TJGJohM4b@oDJlkHlGW9e)",4dRJL8cu#j6ln#D@;W - HL'FfpJd=a]uZJJ\3;ki7Pf; - hA,&HMB@OGbou$]8Lo]R(1(ufN<+&\s0^ELc=jLR*U)gfn6d4N-FBDM!L"dViM\HO18DO\@ - 6XL",sb?FkH)A2j9'm_i#A6IJDT?)$YW$Mg`)iIT[8==Ug1SCQ-9dK/k$.p[aQ)NKI>tP?2 - +TR2;$1h1@WdOZ?Knppkb)6]O/sNd49Wpg]V80pJ)?ME'O0QVAKP2-8e,=>@`]n].%rk/\6 - +;RS+BLI1qT<@X)f/VS6=7/(5YP( - )IJMe3'#SZ)93S>b;tl@oNB:?=nPS\=e9Z9SuA-Mofo%5O\D2Q+#[8q0AE1B1S6]K;7[oi1 - ZZ<8]agAJTUHs"q@>,\-_M.sT@Em+n-u#$9:f;H9"*qfQ!I+C7AW%6U5pat3Y>B&m!TcATR - &=eE.t39?(^t.TA"4]e2YPcY7+R)UVm*WdYFVZ1Sf>T2VLm))R62rQ)>'_X.$#c\eV.>2Vh - Q';i]D()IK&'QpFn7*4fRLFR?"`W[D_p^#Kb')YY2YJK+/Y.'a"<[2k]/UHT=)Yd6,H;k]Z - -eN[$3\Q)bPKibI=_B=oUZJ`s->50\q_#+!dZQa%f].bBI8$cDkZs,@1HT\3134<$@-2UEB - gInpNC1)B<\_CDn>?!"T;7G:s\*q5E4%$@>e[J0b[KD'IJ;Z&Ut[_"W1Jj$L\6ag4$[ - bF0ZRsVVrlaZ7L\9hr">I1tHS%F$>[C`3'H`OfkJ[?BN[X7&BS#O#o+hQeO]K=0J>M["Tcb - rG1S+X>(YIn)c6(>N6+pqWQn\+ho^K[t[4-dC(rZljm;*5)oHlp/Z+Z$aN\jMUp4?L - H-Do0,a^`1em>W'9cRCo%PY5CO3gb$A_-,nXe\_C3)*Zj1i4b^q9ES>K+/a]>f5B`k6l - ?S6Ni-&]gJfaNM-,gm,_rVnZJp_7UN$>aN"VK?"p`\@bb_4-@^VD8lE7^YF%V>dG^2=hpQ< - bM8Z%*7r#Sagp3ObIiPGS*7PU0L/n!`16M?*;Rf`ftlJ4b+/"Hgi^rUHd03mb+*CgI+:+pU - XInTaF)mk4E8V/)pE^P`8*;s*Ab^+$dQBOaW2bPr0c%t(p@3CbC)b)4]fZdA&(3@eQff4*1 - sn`NR?PmclE;AI';,WJ(M@Oe=D#M9+RbgV]pFY+C\2n?'P]OmrpTE4L>InCs4n1\!&)OX"%NHccFN*-Cj/$I - l[#;D1n6dTW';(M1VFt3p);A41ZYt0'WmGCYG$(WPcQ';q0V7)rNS)+*(/N`&uUE)O$iI11O>rUrI]<*!HiDWV;S - iu/kARI]9Xf8kj*\CmGS[4c>45P\Q)[IhGP/G`^k^ITRn.!mUM;u;Hih!XI;Q]55ZeSOcl+ - >WD^>nQdE*o3]i-d-=^*W5rWP/;Wl+Q-AoP@QWg[:X8m`iH'WgDRJh&uPG@N696"oXgL]^E - L,5-qUi>u&$at1eFS)jH&]GHQT;X>jcO^a*pZYQM[6M8]7-$EC*c\ - PUqN:RkT7+4&K%>2!S`jB;D2&DggfG0TgE+RY9/$/PTQm3Vb;LGlCMfk+2-n[?f5dOiXRX4 - RoB,G]D"ANiEsjmona(HG748.mN%_o06?]V(]"15s*oPAJ-Zhr#mc/L=b^TP%Mo;(_I='i* - 'Q(oMah+E\3tKd'SOFM;&KL''cr:R,I5D7=uQVG8>O]/N07$QO2U"_q/l%/.@S?>:oV[5Be - #jsV18m=mUIE:9k:M4*6*OoQ-6$M7(jjo'"YiKcT*8Y/j;p&Ec=Zh@q)g9%r-rZT - 4j'P^,h">pHrSm:9[d5=ZNOFGJ1=oM]Q97pK0>HH#[ld@Oo4Ma/:Z`M=Csq!km9+Keh+lj] - VsNj:oH'>D]rK=qI!;$!RluYir9,+Oh`Jrto69U$M[C#nX$d"P!OhB*cK[1/F&Kff9XG"R_ - @K"6"$qcId(cZDPUqs#cjNCQXR)EcVSW>VZjAEaq#;EW2>cVp>E&&@eD`mV>VMn[Q]15g-)8PK$pj[d[MKgMT - B;TgRdE,=2G:_FK(/'j5M/L`ij"&B?S2(U+S:@Vko8_!::Vc^hF4_Xf)pkM/`7U6$;d+\Ig&VW)h$Y:#/3ES9Qgt-GE=q6 - =_i)']FS60_/.3(=Te&SOuYEnp3.f9e7C[O[ - GkQC(,=TB^"qN$\9nOB\,(Ij3S+#>%dh3BratoFH2N%?:#MFTTh]=Xf9&:6()sE'W9s/[a( - FF3bFj(`5tn#>'`F1f+*Zoln[8$fje+Ym-gh$$Y/\o7?$#R]m`FQjj+`.4=lg2bhY*U16%=YA5JQe\cPEl - I5GcVqWo>ea)f">FXVn"CL%I[X.n)nm=kKhLVSXFdOs6ui&flQA$)ih's#Ff]NlM8O3g$M65X&+?h8r!:X(T5"bRN:@O-FUV - //_Z4!3O28UJ]ro;IgGTV!KlO0-\T6J2"2ULHN5O-slWaE3+]`4CYXE_&/-9./+97#=@'LT1)gmfM@7^B2OV - #\c32UZ;DN%)=.MD!Cpfaq%W<2ldc=_.on(ZL-l'e&LgH>%JJ-g>d&@C$-QN/QoNC$&l(Ds - g72qRM7K?%@I2EUI(SOf=ZdQjW5\G]rSl@^2dhYSAcX`;Enm7>M=UcnGeL6qCSjtO"f+q-J - >?g1f0.gkf:?iQANA7/r`p"3Td+)AqnUuqA`&Us3AL([VVM:o3fim]a,ZkEUG1P9W3@gqMX - nCYeeqQ%h/)>NU($:8&)&luM/Tn0qqS:aa%:-#_Ej<&>``Y@q*p`K^Yr6(-=\Bgs/CfQ_[Q - ;];3SS359lmMH0%F,E:Le4@(U\FLd+W86CFuZo[h]V"fR$80/D[S?[SG0'X+>3V[A((:_Ur - +/EEt-'cF;8cg0EBnE:/X_\sI$lgj;n=/nM;tQZCd8HbXiArSjuh:?($?6#s/?ah;l3p>$, - 0HET3s\p%?RhgC7fG - YD+%0G[BlJS'bheQ2JDlK)OQlm>.h2"MVC<(L8R"NH&8F_0D-W7J&?ena8Loa+063/:cJq+ - U^KDq]V-NZ'/2U4iuA.i8gu!P"<;Wb*`2\AXp;nEo(-FR-BtZ0tFOm&4RX\1L*D*1e2P\duQW._5j59T<_UfK9P`6*DpBkEp$O7egiar;jAD&lc`MXJdEq\N.INL,g;-J.$U=*&8M - 8%5di5hu7EP\b3;]/8C4gO$h`mQL.l)ri2]\A,U70%nF<$V><>_6\@jOkr17H>Uq&` - AdMsiEA=!n"(oEF\`G&]H<%!mQJ()[drMW960T/n%X-+qW(n2QYp,]WQ;E\rdoj5L; - qN"qMB[m+ShY5`NWH8'CfY=$_:2bOfb#jEp`=n9r?pU30X&*o@RbVpEffs#8*s+ - $8IFHh.(+pZ),MW>U1=\+`+"aSu47nGdEOqVQr#c'h#u4dg=RX5H2urBA-u44F3n@)>/:lG - +A3-/s3ad8%Jn!'X#$5HF<<,RD%un@jf1ZWWV7mfUAQ)'Itln)XJOV_5sRKr$k;-./G?he%m@4,r?henL)")U+$ci-gF[14>/%%U;2)M]])mQP*3QMAY!'S_[;Jj4?,QQ3C*3\ - ."jZ2bWHmc1W,*'-hJZLA3[r<5f?!U6mOq61c.T5*Ps?c-<(74R>rX]AAW-ZUdRhhPURlb7 - )Jjp'(escOt*D&Q`6-^73jb0$p2CBTgR7=6f]dc;H^tt7REVK7#XI/$re?[;T7?T7)V%'r( - '9c0#`3D-$2&`S(#<'>==?^_b=[AJtGMc=e:9m.I8B@oP;8=Rm%6X.L^,^>]<%Ql8rCc4)h - tsJT*uH/A\o&+l!ro;QrYq-c+;\-F'#2>,]LC*hF@&_$jSgb]#ad&=Y]E7oXfJdW\/+B>hG - A7mo.$jD`+q-q%#dSA]#+UejUX;lQ3L5O'-+T[CcdNL*n1_ZX:7*'Br@AKE[i6hH52eI9X;eL[Rm!Rb,fSS]Xc14`CpE69GG.^<5$$lTutT5V_RDP>`?_YR)e!E9UotD1mZan*9!QGKQ:Hc?6%Z8a)s'AkIZm_tF5\"'Fnb_OI - @]1Wjg`mfmh1&fBbeg^O]^DQW<1rR#?\\e!03pWg."4B2p"g3d:"8:JoZC!`^sDqpb^AcOPm5OHP# - (H_;=)M(XVOSmo2*A8V>S\;<=2=*&lKGX5g2pK6(QBhmmr;#d0`^d*5E7,jZK4XY5L61bpiBuN19KMX66c?Q/69N<.P:=>Z:&rf2 - )e53j#eH8LQ@9,O!ebpF7V(u&IACNDfP-&NND,aQLB - K]p@uA=Y'G5I[ecf&APdo6I@oTj-=*2G^rH - Qr4qpf6Te]iYHojq.rD-05>dT(_I[:[tLa:VPDet$YZ7"e[%=4g5^f,]Cnm>"LPX4N&ebP` - I4?'&,>;:CLWS/$KU?&?M9Ct07haOGANaTIY_5S/oA&X@a?OLSHlJf[2>=u'BP]EKHA<8&2 - H468Se&[#'nJ/*/K)/AT4V4,%!'/5%UV(/=qdE/Q/%l"A<=^?9J,29?&#c;>[gHkQbMZBs/ - a]gp1>8nR9mAuhK]%,?6>9anfFgg$6[')P*gblcM%DH'l"L5YMgA3m9;EiHEgYIjkgK - !(`orq_%bZru:?*1G=?.iN^atQ_6?"Mc\S]4s3ii"0[g[3eNrQn-:0Xmt8]_VUah?Tn-3-0[-^i8!G8?e*-#ec+A - _!+4R`0(npG/a-Fcpg$&J?PV>Q;\.co"(+LFi3L0bV*E4lN_QT&Ugg?&Gp?&:D.-F(5UI0V - ]fZkeiOg%2VsJoFr#i]W='p%H=[e&'jg7=5""L/P&HmI4E\re'$"=nCRbe>ZNJu-=.,jS>: - EgBY4t,'/I:?M4e")!J"t[bh.70_piq3%4_6dZ*fOENf$r/V(r\Tj?-jcJ'W'2qF4tkPg=X - F=Tfk^C2ei[GR/&k%9A+_nB9=X"g-0'tF@\uNQeQ-/!3am2"ioWU5*Znkr5%4tij8:r55tg - $o9k2lQAJRC=rL)aVbM,3Y=S=i:mS)-Mo=T`-eO)V$S#tg.aM7Ln)<;>Fd$ - fA'2.:ejidb.AopKA]A-h'eLdr/m"`QCmN*%N@X&s=\'PBj!ThTem-] - >NlsB=$ob#U4_Jl[(@brL$53)*-!V#g[DjM,'7@`\MTOsL.k,,FBIZWk/M7WtT[YD"B$dl] - FoO4:TBRZg7^E)WHDX/pW\lU.lm^23`-0C5oC"A1+k,\%T3V$4Un\6Vq[j/;!0'ZAjEc,`. - m]:GhX_-0:lOL+1h^EPq.<9ViC2Z0):H)njRH^l\o,fr3ml<1J122M,Ep#].B.S+:4S0FWn - u!r/1H+O-0ka'4lCUQ;T.oKD5P(d2oZ'8i6RhYg1j$2focG1EcUp5g:?^k>ZR8?:hb*394e#dg!)>_g:$=,TakA$AVu[p,-YKhmTMg?p0;B:B4@`tVp4n5_AOJ:*u, - 't#^5-h,aMC+)prJFa!e2GF*> - ]el6hmH2!AJp[XMl(P,'Fg\[8Q\G44Nqko'$3u7FU9FB*P^0HjfnJM]_CGARQM@YXGn4kC+>oqU_bA-aJ#aP']-KG>ER1%O - cXiRX3;Eq8eJ?K7`l:T6ggG@V:i"s0MU#G^3A\q7i/A&%D>3Hi+,_Hl&Q):N1U2_u(V!pl8 - =$Dmt*iZ$_VElkboa\#K8u*rF6sqe+:R+0kWKb'MsrqK?0C/$8_n`HuO!r0;4![uUCDZMG% - XI?26jn'-.PeU@2=GfI3a0"Bt1H,5R(D(TMjKfAB(G's.kHf)=0^q"p/P>2YUqp0RNq+c3m - 3SI?5@C<"XghQOK'0Q)$AC&&7C!bQuiaM:h%OZ^am-T0"[ICHKJ!baNhr"J;%LWDl6=CG84 - ;JA7Kg;@%."k.m#`1g?OQ^dM)[_YE,Z2W.L,B[+`aEhcba)*OOA'2(R.SO..%3ciOf3):?Q - l(9W&%PGl=2<(b9bWZK[-,;P0d^G\igss4d4>EpD775do:.u)08$Uh?u]-E*VYJ"g$!G.$pAfm - #NOY94+;jpX1Pr`q-3b<[hH?`pU(qn-=]3Lk2a07SbKCmVVD8O0?Z - qnUEq)q9,;ZEccHbT,'YH!]T^sD'io;U$Z+P&hTS/2OI.'a+j%*GkVkb=2+nr0=3Z]bJ[n, - s<47^2bi*QKkG0"/B3XD#em8,QjerC!EZ7;9;c:9s"Aj'UI5J#R6t8;X/sT'"bL5bq6oO\= - M*9?e4G`X[8ehESeZX)9kg^6's&IM]1ucbEF&^M>?)Meg\I4]tIiFrdVm\J/&+E - _NoHk:b9:smkJog;05jXGc>Z+[\*f3 - ".*sDlT++:6L(XaI8Eg%2&d? - %RaO&07l#go?ca%/h6$/=(@/^(H/AG3f-mfp*q=UG)oKbF%j>@gpVI:bm0LZaFlCr\gKj.; - 8nfSf>#VD>B;khbXE.@teP]iQDN0e]A9eiNQ`11q,et[O.L#cJD"eDJ*22^$F^(k=a+u^#rI[HTW@iH> - /W:R^aGdidYiCY,[9F[N0/[FO)[D[-,6S+.MSHNl_;eEu+mVF:2lG;<#@m;X#-`ohjqP=>O - $+M-a>CJkZ[>-V,<`+VHJ*E/ff;!YYa0HdZX>;7aGQhVt-U\pKLKKL>GF%\'fcLTCP%3]M` - g(c(i?cI)Eh#(mF$Hffh'?(4'G1Ar6*nq#)CWBh;-nCf&]K$O>^5WFG[fit.r&R"&2L!3^@ - ;[\3IGot&i)#<'?]Q^Re%3?el"_6%uJPX]?W-ICs%AYh*-Io[\f4a"QX*RPPM'P[%&s'g&5OE.@$b/kkYP+7Mm&DfglLta(`PRW!-M;(Qm(qo%$-;Y8&>Kcg0fA^V[E< - _!U_7%MXV@m6l&XhT9a,(,\oM1WL1)\(Gmhk)QP`"nGCIX_re)>p,F3h8M`AK"X=p/u$eXhbh/j&7F$=Z[rPn1SUcj!iBV3M1KY%BjXaB'JCgq0(.`eVT - I.m7R8XJ2cd1V)bR$`2n:S'R*C_FV(*>!2S98 - /PmV7`DLB.6LoVmI)!_)Vaa-`%`WTld9UUDmK)D0rt)2U9rZ>@hZRV72a>B\Lg+-R%Fp$!B - s!hRggefP>Ve2V/[8>PQYkl(mF?1Er_I9(aIllf,I7(2)G"P@RAsgOli*p!=SG8Y&6K]S3B - !T6khQksP53eRH,.98ti1A`'\XL#]TT>gaJ\jJeBXj0MDOH]e9dNb]MT;G6;+Y8->Vn,!3d - V[%gSACA<&$L$'2,?jA#nYgY^Y[N?f^9HBBXUa4l?Pt#CWs/Sj(n%GR(=Po17JpURUGWG%ub^5WH]Y;:n?T9ri7@`l0.o2O^-"Vs8+-1e)T!pd1;/4LN1#7 - T2g$5BT<>T9&AY(#20LcCa=!qhuY]))H.^D'/Blt!ee!bQs,A04#d<`,I)Q^+-,Y&0'(&N& - sdI`P1#Xc"+.]IG-6=2:"@M[ONONccp7HA5]8V/h8g - @ag9BFqB&V@Cm.)Ctei'ngqDY3sA*mXk\CuTu^:S@qtIUB=K\9(-"AFNKQ/[\IR3fW*(c`D - KJF:G8@L:)c(e/l9Vc'IN?ftQE+ul\%$A6#iF%1Ds[s7]/T06>.arK*c7n!TJn/KG/&>L*Z - )jB(CoT4m5&Ya[D=i;1-aM`RI,GbLj)/ah,b\jm;@NKH03Nhf7T3(DI@ebcO&agK9Yg&gJe - ]e50#fdbAoIUemR42LKYX`^RG*B/:Y5IS?=S21+E.XZO=6,8[c19_8`H`P - Kj5_._9[g>kqr_;DlXPopNq[UAm`Fqr2oP%ML"\R2HKQ4@[s51bj&%t-P0-NnCDq[MrIq5W - qP>398R&.B7AJDibp'2GQg`Oq9_]\;i;>fuqiSq;pqJKAI,C:\A][,'59K'9_GBh'K8F/(= - 71K4TCBRUhtu;8l[=i1p:iQHqkj,[rm/r`5@?r;//C!:TFV:]gW8#6/WO!\acT,ZarL#m*pF!Dflq:b$)h$NY3'rQl2Zn3I'd#m-+6"V< - m$E&d)9-NXiOqlh"B:WiqR#`sH?n;@T,=UD; - o#LI`#0S9ZBm/E*$qp8sT:brGtSHH)r$LiNQn@8\kXTm.Y#8#8jOI6L'dfhGW$4tAe&Dmi! - 1C^SQ$BW(60Z+ASlNrZ>#uL9qOKf7VM%.i;$tNDe_kb`h3mgYgE_Aa,:NY*ICdcTeb:d=h& - Lc3!i=GGl'G#a'O\$6a9b]'2^$[&M3X2!r%OfPt)V@&MTLW?Q[I5f4@eM%_V9]k9*E8i[\cODT^_ - Vk0:`-u0?q$Mo3F.-XYH!COV/`l'*U%JKI@L&1X`0X1C5jX:Glfo2j8# - 9dZH-PV)AuP[gIgAZW/o)P;TZm,I;kPaA"9#HT?.S16*;1P49_PD'm_O/Ik?3;kZ16R5d"Q - .Pl91%4ju2eFh34'$kUZ=5-@T'Z4nFObZse>I3WF_6cd?9F'-\gF"O`,X/rP);Pur6d_lQ[@>p16C2 - D3)!2ZdE7dUQ/.@0R@,c'FV7VF'1 - ]m@_iBWV'E0LL\;)o])%RsCnL_9;aiccJtO^-"-\lF#O/'?3qaGpl@;G+]*jb6-'Nm:X9:N - Ui:b]pZ2[m)F5?IU9%0gAM-.p$gI7S\WLbHek1%818SM%u:Ue<)4.d-]=s6I_N@bp6OBq+d - _NX@aabeOmjP=MRrqS]+K>l`X%0LAr%g$/5JTTo3R[JO9unP24nM - P=^>i$9u<(`atTi]'joNWRFR:)Fcft;ohcH1f%-Hcoq>2S[q7+?;iE59Pl"o'92h(,Je]M! - Ej\Q<=&!JB8eunn'd$lL\:mU3`YO)>Q?cs#]4A=59,;9E@?%(7ObHIN0of$'Pk-WD - Wh0nU]4()@83$?:_o%)Ws`]S@r-'>LD8MZjg8S@9jHe+9h^5%YIi`")@PYBN=nrN=SS2"X-F@Q'-jQMGY^Y+6t.AJQ;(p/WVXMg;:]9BuIdMQM2ACsKIfIZ1" - petV/*__\8&+nWg*%t^Q7+b5f$CDQe/V!!;&l!mg6Y4s'?ZoM93?SU0EH>0.';Ac]a9mN"E - AC`&@$rJNW(9ps5d>QV(L4alqgO=rtM"fLq=:]:/B6nC%DR0.PWq/+cC=LCA?]8gRfRShq# - )lTHB,C(02+GfU07qa1JXC@S`h.hu?$-qtYO8/Ef@an1FbR?%KfELuZN#S,MW7>8Lpu6KQR - M'aT8g:CIMfDNF^J&S%`gI^!!t0;:K075;371Odj\?=nLE(uB3S),^Pc$7=(slro!P_K=iU - e`oupL)4b@TZKt-f$'d%^'nVNY7LR1E338D(S+,?o;HtsM!/PkmYN6=fb'?mhFUp@E7spP,&jPk;)3fIqoE - +b'-?=Er"p8m[KkD3`Z.C"^%Q\YGYifWgd&3Xd$Q']Y$Dr3Ei0Vb?C4g%1^M2i/`6FI2lH*#YacC_kZ$ - .C]2XQO8?_eQZO#_\3m0/,&S=S7YR["dI3`gtQFe;iGEV8:^H3'!u,EDOJPZi:%G;"a)AX, - 0?Fgo4:(LSe)RdFTS\-8%VDZ!V_*a3?$K-Wgc;h4I;)&#"F0dm[2<#JqEl\,hh11W>?c1(: - a:?LrYY@ge8\EkRPIP\?qj#V)M>6M"L#&"HN[GZ4B=/)cs>JLTg7t['';6]2543#I1$u9 - M[sa%)o_\=Q0#SZ#8mDhD)aV+u:r$:8\]W(egIK#38%r+sJ-3F!:&e`#guLNh]FR21)7- - VHO1fjF^kNiu]HajI-c%+h\\'WXHh4m[(U3L@_tiZ\e'l6\U,jeYa2JXQ2hP`p5=O'/IBi' - CETWlne4J8&e[]kl+VKr)jaV.#kj/Xub"$@6^\3*8FEq_H_M]k/29N/\f1P`^!HSlJ3 - 02`OrP'&i"9g-/%9eQf8'@/NU)44X_b.QK('^rj729UBl_Y[EF3s!P]hoVAUkZmZ'>i!PDb - H>*r/j.8&>bTJ,!RH0)3aB5?*>ctK-UHOadK?Vq'A^gcGh5'cdCfjj*8aoJ5L[0;hAilLSM - /*4>LQJ+c(,*erC^P3&^%Gfai!e\h$;CK7Fi7ac96U-*4rePn'kWuesjk54XJK=5JOm7g"i - .D?#+;io/]%!31WFe]r0UJ/#[`;e_KK4]sl^#YJhNs?h<1!<_q7o/_o.]ebn=XOuXNd]+qN - u#Z0[od+&5Hra!U`NifU"uSoa#@CZc7Bq;)Vo5 - 'c?Gjkh*_idQRld:MOH%I!=bkT6?-*`qTtO6D$Mkrqc'^7c9*VcZpS*qDXlCR2+T$-TZOmg$Uj^/6'^=D_%j7+ - 1Mk0U*erTku/!NWWNp%]G.S991')-bHn/=!iYCI,%E_ljaO8%0k0I$*AP>1LkhQb#N,kCiS - 3\#G/3Ok%'J-]2d%k`e\QpGE[f=WdBXgO?Mbp]#+*g9(.BKp$q2K3?ZGGB4fiRuVb=*\f$X - s)EH,DIMFo7(RtJ[*eTPm=';jCcU&C9^&.g - ;3XA[;\:[TOW88S$:q4?b>HS^42F\ht+g1S<$+PN^gTNsh](BN&)VY.7Mdf;UWBPn$AgR+( - BoH0krG(U;[@G&!";kq85rXqrUB6M#)a==lA1<)WB`X\^]1r#G8BGck*3e4T,.nR8D$VO,N - W7[KCYfPq_>--&$1^fp=%N/hO@PH!S!)>lAX$\Y(r/TY.1So(OUC:@-4j\m1pZf^_g%/-HA - XI?I(e,AY-D:7_ApUrc"CU)LWD7cA'7"V$LL\X%1T0KO&iq7YGEK9Lch79N+IhZaK$hLpk5 - Ko95ni[MR$MqIj'E\J%O@0BW^sHT8pcG^%)[/P>_n?)fn=1.&683dRn@k!c,ne-N"1J"m:u - jPL6STh=&4H%.@2h<@>[nO:n[qd-7T''K)TD7mLD<^Ib[Z(sAf8eMO1c4/Qd52S"5g)"/&Pl,#V#`)G<5b1n<#&t?.aZU\ - 2ce>5]kL$g<1S5'eoSfU;V&7p@o:k)';4mK9MuYi!#C!IaH-_?\@]INdfF5=[_qKJX6B[HX - #JVK_em/fICjLPW%Fuh+Vp6aEOJIIGAge]D6h]slFkSn?d/slh`FJ(6%D2#4)3Zh9==5@hb - BR_dU4Qu++)s+*[IiHf]+]?\BSdRcf;MF1PrD^2?/prQmO0@29Y\6Q/XfI1u%):?3,di=aK - B4B/kM+RcO:YAYV5pqa0>MYJ,RGkY=J?P\1muK($!)(+H9LH)@=A[(/r@Ug[HMB;]:/m_=2 - 7R>sh63kE=Ii9f3hTs\OBmb>)-\HT;Gu]^e/a)pmbQLHCUer-%n4Dn*h^`,Jjs]or&Z5-99Wh2aAFna6VAbV#H(= - kGaiZQ7i0*D1rrGkZicC"f_6CQi7W7gm`;qAoBcGH!aXK3d)T#C*^Z8'cqQs"M^,Ys&>bpK - Be%)e]0-GF*s]s(ZEI5:?C,i"Q/FM`ctaB7><%quqUi/cNQL!rsFl3Id,'#J`:g!$J?^IjF - ^j39VLi?i1mr:XnVnpa3nOX!8&jeQp$VnV^L/93-6KhP[iX@)b0Idu - *W/1]:N&lZ2p)1MAnIo>Y&;Lfd,+L'T&n7@kMfA)&6eJ^V,#hNs:hD5bfR4CjN+@jN0TJU. - ;[aii(lWHT1WL>l'r.jGN3Jm,`-B`Ej)e:]EU!j$'C?R2,^YDGJiGY:6R*f9ObN>b7)s!8+ - _*?(L[g*d79FIK+H0*ZdCq>(fg?[Q]UX_^IQko2:Ce]RSre!,7E2:t*+W$WM3>kC`eAp9#78=GWWu)N>fT'GmZ>eQQ/1t9p&7YSA#C=?If%d'kBB - p0l<`E)<3mlKh`9M,\W3l8u_Gcq.;Jg - hlWbf,sdot@*CqY:pFj6=WC7&Gs"e<(L]Yg'!T>gJ.V1OH+;uF;o7=DcB - ,6p5u'6ET@RAWgUL79_/GcQi>_/K4a;I"0@e@9a@f - &:F:DX^s$E",P61E2$\W4!m)G[CU'],+$J:.6Hh0"t^eLLY>?K=MjHr)=XXJ`ucpZaKNH)- - jS,n^\VR\R=N.XCkM;2$0uV`Hn!n1Lt;S*6Em*&*C?VOYWL>`L-)>k1kBIZE@$G=T^h=N4F - VHBg^16KlH0:j\p0e,:L)a0'GrJQnq3NaU[n>@grO(EX#=M2R?+f/NI4qK:L&0+"c4ECS14 - L*QjfE1-(<=dpt/Z^oGnhTHK_=C - ^O%I%kFJ`>>IIjO=5LqnP$>D!`W'fNCB6g!-`%gVJDOBQ60q;lU,+gGg:Mi'QbAlg2LWrqp - `!jVID`hNXuFq"o2oNTkH*NP[F,4qraPS(W-#2;de]6-E#jRnp4_JURN%"MXD,U0cN`<4Mh - 5CY>KQPf.GU=]ODR`uZuP7Wj&Q*-ESRYhns;,b)688Y^1Yc;io%`k';=q[*I'I8`P=F98*l - dnGdq)/hjil)lRng)[8*d=Gl(cVqRb4$0)O]khUUli1VJ*19[=`_ZfiuXUi'4scFj$Bp9)6 - VqX8=6RMR13mK?9=J0p**8f`?V-9( - `P&r22f1]%S[WH;=hW[Hqi!KK+.@^f:q_P'mmS0V - o^:6c$T$$l]:"^]XI")Yq+bpc:41^I(gZPRB^f2E6oh](?rWS+O@`*Pmq<5h"f - 1A'M.IPbC<#WBDYI28X5ccKOA/;V<,XGZF5`sp=93OUfEC)DB_5!sFZg0r:,!>bd - 0f.C;PLl_cl4*XE5pP,*9?kB&q)t\K^%-ZKWk\la'I@126kP(YH60cCr4l8j.h!o=TrU/C1 - (^K[0'ih[9J=4M#=!Sm_g>M&'LoYZ8&Eb03;cIeoD#i$'0*hd6?:2YUeAQe'gAEN5EiTGHh - t:s:r"&H4EO<1/6p,`?)cmk_djcV.q-0Pk!b4e`(UQX4/##0?q":m`b\pHKO-Z<)9#9R6DP - aA$kL5qAN3?15?oX*r('"B?T\U5nu3I8b?1IdmQ50Rt5>Tk2".7C7Y3n)Knlu0pL - O[uQ3[,dFKd7+f.%[BU\&.G$C=ZI4*;EWnM'TAQJ&R3AF"-n8,Q9:cRYsO`bU.NI1Q8)F$R - 9U@eUWORPPq8q-A?/=EUD?7k9$'_k;*@OV:QkpXb7(8`5rk2eU.Zq+'L\l7Pc79nS')r`b2 - g')e=fO*[EC\9ae>#+AQ%;%k`5Kk^^.MAB95Mcd"OP@4futmQ9r-Fb1qLp$3)+*obOjF[@6mN - hhFn'qbtQ@+4O?fMgeGH%:3=lUN6KD.k0=+TcA<^eXIdQ#h%b%^O*Lt&XOGK57S^&CcQr*X - 9_;+co?V7G:NZ;+I/-QsqG2eA:Rq=.XSblLrD2eXci!c="TM:-!`0m>:_a+0/HjE`"]0%?: - jiMoN<`:F#Z.'":ot.&V%$87%FE?0;#L1-LpTOd;C*ejodqNX/CObT;8Q;]9dP.;lr% - .]cg>!-DjL$<#n2$b$3?&2C3c*;O&6O'hKaS3`KBMe86AW4\/O`6dm>9eG;nh`A?$R+4C*\ - eEV2*'gL408^^U2e9+^?D-0e<3RpPdrPq^c`- - <(.VujsBRsBTO?jR/7)Xnn)kB2.KX^>o2N+]Z9nbupN`[O57Po!c$nPO$Ft&]?8PF!6Zt* - `@GQN(K"SgdS3``*Za8P?NAH6>HVL.s'?iN)=G9_qiYVm1W?DFM7Qq%/&)Qo;Gq[g=oVi>@ - kEM$^fXaQs+pYaSho:b`"8F[CAZ[2[.9)JKtpktnm!4,>M\:,Fm*1:c:8o/=EWq3j:]8 - `Jk(ghg-)[reV^sqBAW%N?iBWR25OL,p9i`Z>4n.fQ1\NiH!['4hQ2apN)F#S$:/h85c(hn - gel%F%U0tMh4.d/`TGq;&)6cLi9OaeCTCaCc:9sUiGHNd[KtgIr&nP+#o\3C5_IZf4'-RL_ - n2U>>Gjj5dCnqq`!^`J=KRn;M'$%Q=7uO1ec*R"p0b7m__)[pXl/--#2_l90/a`j7!)p#LZ - !mL@qI=FeYjLRjkkMG@:fZ!b<0/XAAAZGgcaG#%B;!2*941:A,?>d`UMj8/&K!fA$fD!IFm - CX',J"j?DG9q%Kp9pLLdPUW,o4sMLNGW`\eB2IhoWeOu@,8\7@VnOZ`egrHC[LOQ/=;DR[jk;>QD - -tkC4t^!c@t\R$niH;D;-:I)VL1ouP^N.]d/nSSTJ@FC0Zb> - t_Nh'jLDVt.iW,Scu?5mE-Qoq5WgfB%cNTtt3i6)H\-B;mH_ndtG.5f:WpoIr" - fEmsi(J;e3X?`+N9<,jem6$K6WHkdqODQ;l#]k,tT%Q&?H3u`Nh*rQ!b&(]R]P;3!*8WAaN - MramC?G6#X'X^P[_CiIC0T8WlF`9#%cWC!N8))(Tha!Q?=b>#lta>4@'8^ep?^flmA!/3lY - R>Rk2"+M\SD]EfA6OB-;/5C95bm3BW>]_T'tqcpRY^gC:<^$-LYa[p2;khD@Tc`QKI;cnn. - mef?X/oJu$l_[>_QNW(QM>AcQuA]eE3>8iLCkGK%744%E:2t0qd49 - ]qX>RCB"o1%L83Oqp#D)PY.ksEf*#u@"`P7`[D*9E/V=ugbJ"G0]o5"UMr1LcgG`nAd>l^9 - :Ffm,GiF,im-`isY-HXIOW>/t-CUX+]m_/bEE8?@-'FL6;0sX)7ae\W6n^Nm(367B6WE_[, - ]XBRD`M\5DV!o,o>8=c)/"$MEmt%QoO.Rg<*8b\6WHoAFAG&$dW!c#E7*rroG:3mRR'sj5? - 8t8oYd/?&pJHZ?R<_bFU)#?-V@=h3i=_aFHQ4fD`9"8_'4/:$bnr*hbs&q;t[n%n:+)P[8k - .(@s(RDF(\o_#A!M:8G57AorgkdT4W8MB67KoIr,?h>^5p/b0<5mC\JWWG(4r1(Mn6OJ+o*=O8<_f[ot.4I/"4u - (]T3`pJ5p]7J2^mp5b'-B8W#\>^4;GYal1s-m#l8:!Lnop9`rJaMjF0F9'MEfu'hh^ZOE;f]n_$nj4/_# - J80o6N0[UjA-n$q%t&YUl[O@TN;4pAE<6$"p^+H\WL&[j?BtLjQT'gib"82XGe2^7CV$k]I - Y)&&$strJjIlH[it]$C#o[`c0dDn`c*M8r%ap1L-3.l`\:tg6MPTfrq:q[%G87'ANH$j'NV - K]8=f0k#Nn&eGT'kSlYB/-eZ?Y^Z[7orQ!RgYLED-qYg,3Hl(T;(4^eI$@Xq]\JND.,s3YI:q#X?b(NuaO+)?$[tQJGL1_m^g-?V)b7bKW7_,7[V0k3Nhkc/"Q[l3S:@'t&u;*jh - tp*@'2FAuL]dV["+ibQ!!jhk$O_\TTb+/=7NE.s66OW'Hk%qLN^`!UB`rTH+-&dannB(]8L - 0G@jYA9<\m[1Wal?;Zm)jH.Sk3PbM8[D66_R@iFBPFaD_.F)B_;*0-=oH>:T2e.`EI+[O&Y - AOb(Xl40<.uaoX`;%X';c0X7iSgP2C;V:g'6HGA;*QlIE]&VdpTD0NS - Z1CK>fA+$k>SVJ4t]&Ia5X$1_&F3NZdR;<&%97EOG2;0"(Y?S$VB/:JI#$2t6gZS,Gqf_:, - \_ch[qb?dBNC:a+3-mbogBGg^dIqsjDa,V=l#/T:NeVnmFQ3'NrVi]fbLN>+3nf'rT7bhgH - +Nc6s.d!$Yqlg1g,A`,C^[cL2UBj4og'+(6M7A*,N.OT8>7f%6>.h_LdLUJ*t'5ES"fbo0# - Pd7^MjSQi'Ga)'bWs?@q,SR0H_10gLta&6\fTZU$ZW?F/4,bH_L1>H"bbVF7rn]akjP;1-3PhS%-;k+^^8?t?X)Tm#XkfQS - XPd&G-1](`I8CS(8(UnB9'1'n3`2u2IE\qK"au"Ke0N&Ob%80>n`'H^Z1AjF5c89(n<)Z`/ - 3C-Q.>`cZaaZX6t6_FP[>R]042F'X.EbSaU0\ek5fN'aT%+t7T2%u?a21f7][J>[=q#3::hDchGO5r:o/!/d&XuD,:fe+ - S(AU!Q\G36?$A"MVh"t?)(q=])AAN6i0T]"KA]81*f2?T7Z3X/$=C0H&eUL76--'rDY?@Sn - i>0ZrDle-0@G3^"5SRh&U7[]e3=batkC-+&_WbgA.bI-Au7^o133jtBcmb=oE]P\ZPKt$Rk - -+/Qu>[I6+E85pRDK/mI/$n7Tp.r-74+A3l?'rqmeF]7a4,S+WcIp:Zh.E_1oc4)_C2!Mlo - tg=ShdP&L]XM+Tn%K7Ah/GO?);8mi`p:N`SZbi#H5W?!iq]&J8aGQRQ_!#[^..SED;:aVl( - pTn3>HJLR*K+,Zfd)t_7[VZAJX"L/nU5r - L9l]>'&q'h6]g"G6(",8=$m!rmpY=r\4254_^Ai3^,JAZFWVisrb=%a+30-_$tBX_O0Td1` - OPoY+LF*P0ra-La-@!8HoI%*&kp@1!u.3J&s0Bd(q.ts'OdeCI^1^U8dKVY,)hAAKNZRBGs - *=He6Jf;CgE_&'dOY, - SbNf^F#3mF"3r?*)fS!(bq9R0hoQQ)*Go3,m$)8df`N-UF>k$lLoeqGC0*L+soKM?0-/a+a - DO&NbUcPcHZBB)Nf<'FF.=IhkAAA4#oieU>'^D<_PPFf-j<(0p..]F^'@FU$]anc/QLofs+ - PbOO:>$3+RD"FFoig@`C"LqsCoU/TXDNK!V9F/QI6?)bb;CG=1.RaZ'P6re_#X:K:Q!JdAL - $?T;"^#>7Zt7Nt*6$"0!1U@:I-WMS;$F3F+?VoFlUmngqX1o[A'q$V^9oO"oX*F9qI?r$0! - lLH[;5(sYNYh*=>kq:SAfBM((kX^9'3CZXJ15#%B.N2V.f)!jKc`7bUkenZ.>22Oq=FdauY - /[/Z"H&FP>_O9(1]kYJ9:HA - CI+YZ)%dD`+*HC'7kD&<^c-D5qB3ess0/]K:\),80CG0!1*La\Yc3)`mgNW'c - \UY@e7Fnn58hWll]lO(rfc$%(YZ:8!pX1\PbQ!:c%G\<-9*3ri/U8qEm^72Sf&*FqoW\QW^ - t7_WiQI*cod - p^"U((%WPu+.D"`dU8JNdQZ@u&a'A`an_qWf+EbKtF1e]8o(TWG5[cJFT.9$nK\29Iol#+B - 'pgqN@YIDsU>Gt[Hi_quKVd-t@Q>mhHP1Bj2[`Zj5,D"DCQ`LsrS7cZm,gJMR9K$>3;pZ;e - J3]%R8e$<%BA>jXHEn)blo*X#\l49oac8MHI?/b#7AY^`EjLa,%;sTj,)l.oEf!P$ElO8Of - opm(s>1tJXN1lm,,^,##MR_kUVf]?m^!h7.CtFZT:p^G.f@oggk5-I4G;e(/%9h];%*tlK* - m`2[mXOOC_^"oY^:.>,D-q'm^F)^+]A*?I:'X@=G&;5pPnR519a-b2hR'^pQI"o`j2U[cnD - a:>U/`5OW%Z1"h"93SE\:K\1e0!UqJ1$6?3Rkfh$_i(+$IMjGJuSFcK"hoS+%H=W+ImhSpE - &__[_I;ph*(BfG>5k]7 - );]W$2='$?>EJ0Y<.GZ^LlUB=+k=[-g`=KT^;Q,_#,h*j - nSPFgE-Z`=?T[0GPus\.:XNsk'AEC[mID\j9'^ZORWFJun2h,P_cq2GIQssc]e - =Kph7'n?YKtlZn%SJ^i/3G'hJ_cZ:;5ZTg>upGiU,:G:TF+!Y.?:]['*6VXcVaB8q$fsF06GucC;!GEh=+VGceepW9'Qn - k"74J?%[dPTHKY]pqlg^AE$X-ib64j)QS=g-DL.V0DV:+rY7,1Km+D:iY6L"fg/$#q%rCpb - ;ZcF]0l6Rk&;9F(kkblb$Ll@CcD:URR/sMQ!Uuu:%'YkSqTF^J_/P4RmhkPQ`g:MgB$&>u8 - 1O*\=Rp:fX:N&YE@DO&*t$>B"-Bg\cG\ja,c&Q0'5Qb4$oHn(Y0`7[M,"]tnF2o$*0CAcX" - 4,ED2T*F31R,snIK71s.N?nj,CBq*(!0?V[%Bu,eD&'5K - q"M(cCWl2M-P_$!R4([[t9%J:I`;&8TfXmP]TDrB18gC,]tq,+BQOjMkQE>u/G#Jsa%YPSY - [Eu?^s)/Bm,mEm"-5+BlT"&DbZnRDuEE:tdm"Hc\$&?*5S#%)@Y'liCPOFJ0gdas9?*cXmq - Xr@,`e3n - #`9#Yi-^%18^2^diqd=;;2,7>2;r8r3Cihcnck:HQ]Vkp939uEST^'oc_`+),Ap90q/i6*> - O`/,8(jT$;E*A#nP"1&-Mq#nJ[gqVX^hmUG!?*0+BIR"J@6WoPZ.ZL\ig4*j![#mUiXT0,d5Z9Bp0QSK-rBr23E;GF-/D\SMj;$>dC1ScT)L+brF+# - 3mqLu;DC7Rh!4Ih+&^93m1UD$dlB+_"]>X,dk;._!0Iu1Wq`Kl - TA'`!\CG$nS4b<5c+)42q-qU'<=DseG<+%%W1QK;cK=5>4o6,cOr/a;tE%eh#10l)Y2uTnf - 4h!8KEqg6W8+[Zi*3a6Ti>;.T>\^%sJJ(2_-X\-hGGD<'rj1;*^>s6SnBuduQuIY0li,8Fe - 2m;TVJ6O$^3h*`7O3j8R9.p@8enWild!C:md@'YN]!9bS+4b!bl5?rZ469LP1=kTj#:5#]E - p:?=!$,I1=F*`0fg9[r`2.j.:".TAc/<](CaeG;GkG!D6)23dH,V,^@"!E'XS;FH%,K\o^N - 'KDoZ;C&eNKX+=:iDRW<;C(m2[22fm+&UPW!oc&K_no[Y?.!_=`qM,[8g3aNEPp\-W - S8mV-dIb@o.FQ8`=)2.RIaA2ZY_<_Hth:LnWIACaal(0>(u>@nXRAl`8NG%5- - MDe@RAB!unr(3sOnHY=1EBNBOpQ@ikZLM57E0.;ZN')Q)qT1nbs@9*s%E@FV*,k5uDVm_^` - 2!7[llWs2>:5$Gi2.^:*l!-VpP7H(eY@+"l#2mK;HG)=e[AG#_ep8:<0oC;Q/Qa!j)?7)Eg>a-f/QWo6Z - TT&>r?tK[E!9R5?AWHDtcP>- - _;i)8^Cq:)t_XU8]V4a`*B(m"?,1LU]P%bc^qb(Y>$]pmhP&3gSDb:InGE6T(oLTtmE;V;G - 8^ESkOtV?i-T(J'+S2FYe5%F$&M&)fIInsWdCD0]PnA$O!7Xq8CS;pAQ%F5?L3-ih[$H45_ - a;uh#]s3.1#gs;P=jJ#2`%Fd?*$psRa]Q&P@I?#Q9@XEtM%!Ffdg@!B(pP@Bua%r2abCKJgP=ecVW - .hXQi/'>hjdbgBMl]pZ5,Ou4+(qeXjr0cu8#WW3T1t+[0:G]KKI/)B\fQECF3L6)\O;YTh\ - G7iRf0Q]*(pZ![0_q9<@$OB,]bH0mn%hE;M^_G^qUuC9);Q#;J"_it)u./V;e[QR99n1hV0 - UNSL#7i2I"Y@TTQ8F;1iF$EMk+!j3VgLbnopff/"j"-J9kRhQtqX`3qPC[Lq3DGo0!s@Fek - !%VHDBApY`-!$':;^TIrkA=]XQBiL`,RW-X;q08B)PCE,=%)"=B"9cXmn8"K6341$`'-XS6 - ``sboH5h]X0%qUo&]dXRWVXoECg5V6J".QXGS,'6NR:3,,,oX8g/$@ot:pI6.B;@;*XkNM8 - 3/+XjkFE*rIo6`@\p'0\H[]+GC)V_=DR(EGMSaS\RTHs0q3-0I1OHG=Rb3,a/gSQfLp(K09)!Q_C4!H7RZ<7d@GTRjVL=e7nT\H(Z=nepu@# - g]52f$[4OO]Os6\4")p6rf9qhF,$Rg>IPKo1pCd-@5:UUWD?UXFRtCjD_$caotm^=6X7E4r - LPE?(EQZh1N9kb#Y9Fdt(bZCAnK(iLl#kC=G`$"d8S]:G,>]&4IMGPHBt3b=q1j[dn-]eDU - ]qkj^=$aX^/]X(8Kg7al*(IhT-/G\8!HHO6gB*CCrX,^[6&YhTR&$MG^_,D`!&ORd)QSal- - a'6M)q.I;Xs$0]j+:K\\o@q<3eZgm#0XAC83e,>#$*_&ObPMl+HfLj1oq'p?`;JLXr.b0>U - U6I`Z(+eG2qe1SSXh!)hi=j6JUWbs=VS#[kSZ\"8e_8F2b1hKZ>g&`,6cqQ - Webj[nqYf%;[F3mCg3m8Y>]%B+>D/A!ps%.)?!H"[le"@_`uI1u>rUL-F3=?eJDKV+>//n\ - ]:bZ-SDD@OcaPpj^"m!&f"K&W(s+j$HUM.LVOUr6h07LV/Vot,hE=ro*YHgS[0KS:[h^UNj,S]5?n'#/A<3:N - PB0ZC`W0j\,>*Hkb"4>+$l8\!!%Mai,C(=!X/j]5l_>21bKpZ5XD)_BV[sH&V`V]n6#;CasEDPge - g$H.:so+/-rYdj],pV^8TK,a1d<*iT+;at,E^*.G(aRT^oCb<"jtX?7IO8-;Y2uqc>p]AV - Lt(e_2([%aq_F\j0m)b&'1#XRB6RCF:9Np0i+_l^/]LtHa05&I>$eV#4iQW'[BY*D1V_o3c - +@(_f.UX3OR4VWlc5JRn[S#cGV:k]k92JM#5C%aqs)`c&0`CHXNRYhs#Mb/Pi0AoX9-Bu.K - [?=YtmaHr[X$KD#_,MX7[/lbe+M-0T:YloXV2QqZaEI.hrE2%4_N!6?(]p*Cqfi6I@`s,Te - !eOirRI4cfKr%_jb5*;d^9,MaWZ:)dacX\sO>.)b\GY7*d7Cp*rRnP"]H`):\')7`T9f,_a - BMEq_H16`W1U%2`R5.'Yp[1F]b"Jmt)Z`BDm8P53eV50>Kk,qNuUm2nIo!L2.TS^WOWNVQY - o#7oXjBjPaPm()`bLL`'Z./Fs%9b0fKiEV'FbO1-W"j/\.b)umG>Zs,jc*)<(0,-Xf!T(!? - J+rLHC*;CAY!3qQCXh@g,7^$@G:9'JS3T#jiq#^[hYBM[e; - r\:Phe7bd2'1FlR&jl_XPh?+@T>LZ:?`231oX-:*SsR2u - Ha=Le>`BB30[fpLn<"q?N'FKSi2jS?55<9IC2CPq9jjkl?dG:%6`kLo8`TkSa'pQSjk - #6hYGq,Xc!?Q"`e>Duoi$(`* - 51K=cP.%K8IL*sH&J(P5FSrBL';"!=)#&;BWu.`IdA'VPA- - J<HQ*UEi'^mm8Kl32%*1S7@Kh.P!s?Bc:JdFal-?/k:/S&`_YKN3Vq,8!jT)U_Ia(Z - ,/fJGZPhor'$(f2FkbhM'QV:I=Q>B36(1t+egNVP0d*!4"$KejP3%LZ@Yq!R4AOe<1oNI3] - p$%m1#Y]85i']9>,T_.\d,=MDEIU`0k0aAMgfZ14DAZfo[L(<1&j?-:19qQSGA%Y)P.;4Da>i)"b2IFKbK-k5qQBJS38'L5&3TCPBOAk:VcIr" - KVt@ise(T%@)@Jd-eDHt,6>0"a'0k\cB;2bB6r8ac6DKeUTFgg)8]iVTBe:!oPGU4c3VPIH - 2&qMC[Zs`>kt*=X)5YiWR8Ol39keG+V=F\2;gO'A.,?>MPcf$T&ec]$U4'$OaK-h'F@Rg]) - QMt:i0CTM<6t]+91?*U]OiBh=J8;a`K=dXAqj)#7;bBR0d8[=>(r.QCmPX%qB_?@N/I:S=i - ak'UD/N.)a]WZFnmrJ"BM6oNJ+Q[)2T_%mp1l5:ilq;Yh(BLR9ZS?6fsclfddqI/5;X0m=i - %&7$aU=RUEHLil\,SLj(FL=L8C_d2:%uC>H"?[2/G^>0B]ND&o3ip6rgr]7js9ael8M(??c - FnSf0lGd3%Pg=rZbC2TSnG':CogWR=XmJY#8##tublbdc1h0H/Y8Nka;GC&ZLmBefP7:'#/ - H1,n3[ah\$hi#$S%kZHnpWhK">S1IaV.$n/2YgQ=.:a+*n[;P#]3MBkHS/=o^XkC@h7M-mD - O(aH74tJb1(.'%P:-\r%E\bG18ELilQ'`*4JGglfNp5t - 7jWpEboKViiNa9Zl$i/6(Dn\FMbXWnC#jjfGGKo/9[o\QGtFr474FI;[.%M^;o(Z(!P@C<\ - bTTk>"kRkf_=baE*"k?S:,1U^')fu#`0_rmSs[Y2mD7m7U!pgH!S@F'5J4Q`1TVR.+uc+6T - @l$S8_2"m$YqK#!f/Jjju*bNapB05C<4fR?TQR\Cf%FP<'E):7POcWD)V6e3 - SNiS9%^"C61JAKGIBrNP_:*_l^M9jDW4(!qeN/1pl>5:U0G]W#gG`,IbjV8`h,`:bZW_!iZ - +G.%]%U>SFD,Nn]/L5Dh:q"Vmi@h/pR^Ej>/,W)NEG;ro0-6sptm - CUI0Z!PIYkQm^HQNU"(QF)L!_n^2W_USKpRgDc$HhUi`s69nLd,RG?4Fl?&N$+9i'5`V_%3 - tj-Xq[g!KU[^[8XKUiB_+_`DERke6.HS'9d&4!ufOrHi^/r_;2FpKc-J&=m:i@>kj7Nk!\J - )PC>,Fg#O?`c^:JH4'YI<9aq)`%t$;oJPkbY=lBJK%Al_ahFoP?H2]_oD8ngm&rkoaF;g2H - ]0D*^"[18'l*7_R_,'&M3CMV:XH&DH!Au-^U]W9iAj\^J+,AN_\J*hqkC4d^9)2I+(H4;:Q - \k1^YZ^IS+`Z84,3.uaSc(Mb[@grr9Tp@YlQThX6mU4pV70g^[qCXHK^PY,JLJpYU^^/EnJ - ,?%6re^5E`Sd,Ps\Lf>*m4^bc>46g$`;qQXN056M1=OKE&e,a1fb#^)Q^ZK"aIf-l>V`66cS!>QV_u$SV\l - ^3hI)m,n"4OX1k/4 - _V6(;<\k_unr8_)TAt01!JJ63L'#;t`H2>1M%e&?m%$LSWPkRW1!rG/"Kn?dS\q]YPQ - \?V4"a%A0o147`!hm5_"u+TUTU\4Y`+g-m&ruC9ulQC9;IuoC];NPQ,h+J5a2AhFJm)Vd_$ - iXb5>C9C@Xu,h*j^(YWP%-A9,nIO\@=:b^=?J9[(\Aqa_]m`131.JI9E`L.U+<9dIiEK[*0 - uVbI$/9WT5P1n--A4A!cBa5Ggl]VW]nVSZ$>:$g=tbahJXeP"-/:+Y#;!a\?t^r4I2c;`?- - 1r.6:k/ap_9@W1HUt?: - JAjN9^j^jgqQc%cRf2or)6CmohE*_:NZc(K]GhVg!?GTckQ/u*7iI>PJC`)Pou5#'2]29;Ja`R"LufY%ST:Q6;6jooe/NE#11U"V8WNk;b^&A"Oe@I6!Z9 - ?od.id2+aSX:[JV?KTK#p?dhF:d-U_[D*6._hp;fmd_->nZl-Wl3)Y[gd(L^S7.!ig7E;49 - e9*Cmgsf2$,udT2cP8XcXWu;r9N%]@dcEF9btccYkL3.%eVb!`>@O;7*IQ`%=jX!%rXY=6,SYV')A9GfYNIP&" - aJ'AHUm<7dCOeR`cf]aE@Yi`6J`=EQ/sKlU7K%9V-scrZ3fe?lhaSVbjD&(?N/ffbqTQ!M^a - M-:X3fnEP]jZ6,TT@CQNeKqBHSJU#X`7dA=epPG1-*C7uRb%Fr>.n*Cb`LMCB%a!Y=+-RlP - E]7!X]g^mP4ao78R2_TLXEs>^`>MKumS"NSD^^>f - BUq*K\MdOkN7->#ddl"hWA[(,9!1-CRs_,)T[#/Z7l0,3eKm8`uu)S6b[tUXe5"$i?]nO'R - ?uVP9:1qJN6XKdiI5?:pqu3h[t8l<\caWWJQcHD95qKANo0UllL":$\dQJgRb]?KL;t*U+u - PJLIqs++hh#+8jt$"/2h-tVZ$c/PH-!o?76?QK@,`TZ0%&RZ@c?mZOp2=i25$f>g\-a!oY/cXc^$Xnbu? - L@UJVAWdlr*Nb;hlZ:=eJQX"HG`/kfA2BeV/'01\7/bi&Q+i]>W#`_.H7Z!iU/8TQ6>2[d>IhJQD,k%qD!!NEa;L-Wf\c_knk;e+ - >u^EBnl^*mJ:nXk$.H%U?]f>nf`^-.KXlcI[3=g>-3%9eY*s&DK@j:^*TLCF9NjgNp`V-O:iC;%1,lk/NBMTcg - @eK1bb1`kr,c>,!/_-MlFI.bpJZXR76&5ASGouc#AZ>/42lCH#]Y-;\JXD-8#C-Je9NQ,1W - [;$bf>Xc'drfV%[eA8$!CjjB6Y,uM8^hW;;8/BEEc-:&?`,!r'D#J#oIATup[VS+Fl[?b-r - -I,[]'G'.>hu_kST.h,QW"W^9AYrVTg(1nHf@5J@SAfA9+k+^*)Y95*PI%NgpK:[>OJQA&K - Kcrk0rWQmc]oID!no84P3psZt]63al_7$[di#dS*f@dCu2X;T"XSU(g1Cn50*tfQ8LM=5>Ca(o4arPod96LIl,pK*V+sfM'#IJ7cE[O\Hl85Ec.E#@VXc.ru5&FlunYZ\4#B`I9`:q#q - p4k3j-Z;5)G>7OI<87BGrA3nDL2f^qC>XZppAT;<=EcsKG]rS#kDb<7DU.p6of$R82f!SMM - "ro,F<'X_c]<;eQ10QtEFlG$2MOXJ3tQ$l6^2laIm=n=$q$)KZ/-n6m'6+E,As;A22%T>)X - +o%91Vo

k_D-#$\qfVh?K`)_-q5[6b^MnW$EIJ1Nqj"bla1-SZ$N?YLlb-7Y( - S?)1+FA5i]8bC^Ei1BrVmPi=F@EKQIcYYMk7qZ\5N#?t,Q%QGK>A]bQn1-9$\q$@:q/Id&q - G^)@I]`?)As>'O!"7ON1mnVI>oN"-,_0Z8eYGD)@\Lj`*;.8p`[m8#2;^XIoM#;(5B=!!6e'KN>#d)Z0XtI@o'+-YP7"kHl4^5DEo!#+h6V@Mc*##a^$%1RMl)B$ - 5/HE)142f+(E1<0YWBoB>7YYdf68/0L7\jFhrm#.)ugF?][PiJHlR8nM5JJK[X>eq]:7C7j - 7GJcrmQ;4KPpBeMskSZS?hh`otQ!gc"$B5oX#]gg[+2aO4q+_[]VuJX>\B$o^KPRoD\?UDc - =IEYOF(affLjNr9D%UMorb#&.B?^-;1EP"$Efp18_N6'O:LPlEgR.6>R8H'>j,N',JKI)kd - d&1(7d#XUu5:O1R/?V]8-F,:=BsYA@\F[;pqK&je<00d*9qCZ?1"dCc958b&$4.n?i)OYOs - l'T1;I$9Gc%Y)6sJOJ<:9B\Tg#j054QO[>C#c"Lq^40d#C!=l\^r)U#K%=GJ/8?V9-`_)K, - \P/hVRjSiu'',pZ[r1je]%"+c59``te*U%5$bKhI<](%^=k9tqF]_TWokRo6eP05a=ET$eV - HEN)P?Cr;/OpZ-[KVq"=0:#Cj4W^oKkB!2Q'k4rQHN3?g=BQ?D;5eISR&%87E]Dr[T1dX>Y - P+mom((nIE.?2)(&KogA*ouT]0,bH$Wr1^26n - aH!Rn;l.CGhWFf8(D4b.e`UTd:R\"N%C>("gKPT/YS$HV::1n>'cQ/"4m/##VMJ1`+[B+8V - Y1TcBRGMMR>W_qaW,J$R)3f(Y7WkqK=<@&-BmW>,`,^0J"0h9@^5K#PI)VEZ^s>VXT@,A+F - #Zt!#?O1>Z@dj",?0X0ejkdVES#Pi%4O4aGnJWV,S`2I;D - @-fe*D9='?8-&kQ9JUsV/a:*=`=h,t;gL,q+%)EH(ZH,sK$elb`CG%cUU3OE;/S*W.*E3r" - EJt\nBE=.]L>`paH7jgifhJ''-r6e5E\"T8?sLD,f,NmP"&&8fe4X^j@k^,8kmC+6RdoB:f - :0q4D)%n-a-Uj"@SA4t0BRAqR?L - 669?EkQk.K34P:Be\R<:;u"Mg1A,&YRA__fGfgmh;HDp>9/0;]_nScKWS2k025EZgN' - 3q7Sed[.^%hVKgFdcU$ZGq4)O>J5=:r-E$e.Tl_K&auON'B;H<4'FolFH5/\VSJIc:eooF) - R7A[M,GK:3Io4p"32ld&UXU'EaXU4_W0K<R_4<4NG*.C - +)="mLcW>okg9`IrIg - 3nU<]4&)e3AXO*Oc3d`Ue<';EuDQ&iZ19is,bP@QC>&WHr_R,_t"";S9:VW&LQdr8&Na,b6 - *5[57DBos(>HhQ.\*@l8QX]<*H0lH9r'-hR8KJ9cW=r#kOW>mPG6b2[:iS#6KEMZ\$4-km^ - 5dU'"DWS$\2MU>KX5nH-V7j5PK)Ah'gO516q7."Nf\F*dK:OUo[r98W37",*X'4e3/1*C$%=R5#, - bda#iHhs.Jq3NR&&e-A-^j`:Q67ds=5%+A(\iF[C#nHA>;[]kaV$:6_P8QVm$2B:TbIXRnS - 7<%WL\Z1YiSeiE$-;Uu5Yp.jAoHbW:6lAN(Bmbck^kjksIaS$\.i-^#@ - 4HMi-dr(<-H5Dt8`P]Ca@Y<`h8!37G`4bd6PMA8*J+F]haiB!)dl]jVn(s,Ap7CO4I@me5r - jU2LcZSY;^T?_7F3Aj$A`g'9Sa7D9jEdGHh0pG2oA;LlFO(iTrh#kSrenMfhehsKkK`sQH7 - 8Sr5OlEgg@=&6f1d@;h7k&E@(m<6rt!N6HH4Y1s0(_bT0/1WY!)LK6cD:STPle/H!Y;m=02DBu(B^lt":t5(%q`!1pfbW - &,;:U/M->;.6FZ8elqhg0..W`Y)O7N>ls_S&n'q]*%e%_$#VJMgn,WW/9#uZhj0"RG_uSn7 - [,oB=nrTO*b6&)_#kWnFj+:+s.tg3e6NA`)$RHMkB@RGf]S:>X%-4/I:C.JG5Z(/l%Igr+C - HUZS[/Q-/8M43Tn=&FBT)):]:6)"XK\$^O[1&.n&F]UI&E+42kn"">qW#+!;%+oC_Y152%o - G+s&@DWQ3rb=+,B01dd7-rCY3h=Lr_Eb4d7Uj/9+(-cN=\t#8'g(;m=(V0K0n\G.)9O'sVm#;.19G]_A2/!ioH4&]kH - $G#,?d]W[M3&IBAR@.NilJ$GI_nWH[eWu'fa$P@\\;%j*&0b'7ms%aRFY\6^_-nQs@;Q":E - Vd@WpI`U`C^@!blN,k3J?L/5Vkf!u=&,*=<)R<%D&r0FalrLO!'Mn8GZ4"7gCS8Oskn`A=^ - 'dt*ljY*ModkF.?$C9ZV+ - hbh0k^U.E_^L@\$SikePK.-/i/1sq!=;\Lf>pGOdP/$iM:0'P8Bb:rBgbtPqj'!V%!`@[6Y - -d6%Pn7n!Ra#&us2R@lgF-;m]!ka`-1_[PP;X!8AT]:"g1NU:FX5beU!4S/S4#>1(;gB,l; - )(r`1U>aSN\8DrcS0=5%FZslF#6aWAs+qi`DY!g;muZ>n8*E670l[S;GpJZZtgq..mku31)!FhVe7qDQUKU%&Y0]%VEV8?3>/_^%)"IWiCgP - /3E.:E;k!Q(JJo2tKCmPT<'*26UFrni4\qA6ZIMRSK#Y/*:ij`BFo0\%s,cE-j/#;gMf6WGF6"C4H]4\g-:=3"N>8@'@YQH[hX=7 - ]uV<'*'^O#&>b:pf[hdrtDl8PbKg3 - Ha1DLNu'c-b5)aP,t-BMEDQ$l3QX]26k=I&>JQ3fkMPui$2?51?PFRDp]4t4uJFQ.XN&91. - i"!^HJIhZfGdP3!QGt'W,joQQ7UL.W]7nndu=1,G?PP&4hqd&`a:%YJ?<7^Co$7$B:jn,0H - 4\FX;f,t9jZ2pb>Oo=024JA>[qXF+MfE9+Q4m@n$G)GuA - !JEJI3-a(G*\CJa<,TqH#],*=I00 - e('ASWlUuDf"?%o0'd#0<,?-Iu:=UilpM4ejVdS+.FuM,p[Ma?LYmH^@4O\"!oilST_gf.J - H5+7qFNfd=5p@QVA8l0n(/mWr/@.m\.882YbY]WF"I3qeKQ*30O?J9hDbKQj:mQGm3#-],2 - fb8HEYORJjP]a]-Yj?)FHt)Jom(B>om9Z\_:WaI'u`$HRolG>LDNf7o$L-m^H<2\JYZe&=F - 1%Sms.h$??c?n'et*AO'K('M08hNf=rg'qa`X*9/O,:'KLWFm:T3hKnT\cGJcSPVdUBY;O* - GsGZR"M8Q@E^L%s8#\D"Tnabn`j1"_D5CHXrNm="d>C)ELho+pjo93QRE3S=]i@sNotUHNg - @LioOXd#2WuOc3[:'nfCiMb"R5K(hH'pTIL,\^k3.mTD(-/oE34+$oG - ^5i;T"Fec.[da2(.1=g@74.3,0RoiG#)]C>m;h.K?Uqs(dgcYBdC'*7=#VTE%pic9k'4]!q - 20I3HJ#<\Q9=eU6[q72/RQ"'r-h?p0',E27K>VJ##n/m(+F;&tu-Tms)C)6-_remWL:k(>!H;:m0-_&Z'f5!Eq.!2)VC;JZLogWnMZu](H&`h5ql<6FqfC - qB)NEQ'Dn&#^Y0`3S$Y7'`)"es18kVRY_1e%B0,qXEt2KPE2pD[BdC26+[N!YPkh.@6q;`" - E5$Q1XQ&^0._84^UH:SXBQ@J>32egEs - WdGY5=ElgI%qZVmTa$"o'?4Qmj8i0*g,cAQ2jCQ<1_`;19-Qi(`7FXo5r&iP#-M]t<==S*. - Mtn\4nn^>&Iu48Zd>rP1Mr^jH*s]EQ++$,HHR_)rUO*$)kC+2PT5_L*ZH]Hb;k.Dm,W_`Tr - sHp,AP6,U?&_u)sA]Lg'>8&)V&cu?_EQ@#?WfXFE*r=XQ+\*^8_+dm6#bJhV)3Y - fR/#)8e.++JtK1ch5sVs]EcN;EQMsOdCbXqI%K;eS]XP`a:0QUHhGMjcc\p&b)2\2gkX&mU - WD61cjg`6>c-@pV9DYUW>s[8r0tqn^WVU/WgqD\mK:ctaP/iZi*;AsXf]p^i7cuIh[TD/SI - jJE_p.!Sgt[V!>f"]K,h$$Jd/>Q@*@&oNf\)f3c$^ba*C7uA7FOB]dsX7+r>X5a*guq-;nQ - =F\bSZ25K5ZD]Gt_==>=DK%qatWO=#D.M$FcX&Zt`nZdQ#rER>GCGGoj46o#'lE9j]r-)[c - d+4mtEA@]'j%1;E6LiCJE\(0/goZC2j++&4CO)GtZM('Igfj2q0<8HAW@GSVph>%3m*Tu/q - >X&hjSfQLa#ONAuK6i[EgA?N[@oqBt]&d5^gHH2m4eDiT^U65Bg7@[YSdXRH%A\mtd<^.76E - "C*iI>ba),Fp/+7^"H;5![h\dQ)ARq_;7MujoiA&UehrJU+$74ZL)-DLQGJ$;qsdgU>Bfh* - RGX9RKo*EAT"^&*89()$_&+#Qp"*!2Gp-\mUNNZ]XIkcC=eVFZSb?-EOM?#:3M#n.Z1\+AY - m)0Af&:q`YDSa%q/YZr?[.T5mGsB1J,$dH\DR3+ROg61n7Agn]BS#4Z]*3ACLo+5#XV?_pB)gbj)#nU!tF[Ln.^F8=)h_e/JR+6#*FSlZRW - 7^>25\`2]+bKkcquVU;<*.TK6_AtNf/Yuj%eb9&=@;mI3tp#cd3b"OFQ9SFiO - NQB^jfK9(=NC:e@[<'P\QVXj0>:]N=-Hc4!b?].lfbb5Mt8Pci1MJ?Us]ue[M`_kd7Q!qr7UM&2 - XlW5ql2B#!oI$>jo4A!k.I-c(m&X1_*]:dlQfqnFf'3oDHuscm)ZF]5ZO(d5pdN_X]?ngWm - o/:n(YR7kbW5&i\1U6PR1.,P_bfc@gM6_lT%YX2ti-N6fJf*'YGtZ81S[`sJ2fnAGUdEq7@ - JjPDVD`Yo45;R1CV;!7B9*X5"6.E - MabufH^uK35d8BhsYU]=a:m+Ebh4$2k9cU?B9s"Rl=$tP5+"l60b*cbEOa7s(4E - an,5fk`<_*_C*9ikM'c2D!W`A0"G;Gr_/1MkStXbh8Q[libS?]_jGK<[88#tr@+:(;]QJs:O01,S>,d$mrJGA^!FnE4$[b<\MumWMuJ-DdAnZY6m7e` - e'`OE1f@uNOG4%W(b)0$#?Zr,!2$.](Xb-G+q\991BZ^%)Bj-7;4+r7[c$/kb.*4GZ#i=o@ - gjQo=`pn#kG1%i`>\Y7H,iV!0W9C-hIJs6``>#CR,Y??'SM<]STr'(1EL(3.YFr+]0Ibj#a - :19O7%FQ_LoTN+DcB=cTrSa2ST88X2%g-SN7p[Y9RFr\RJ-V4[3Xn%+]eCE\A%O6oc80,_7 - _(&r%7ILHPs2)YAT!aM&QAu*2qQM7:.OB++D8]7V-H/a4C-k*?VZK(.Fl$CuWeZ!aFQ9 - 9=@PAPG8i85X[-X'(\Yc.mbpt,6qH/]5lYRS=^6OO?2>31R/klS[FUQfB=_Ea3jm$-/oD.F - ;BL5+5R\$qhOAm7!9ZB35WO]sPRD,P_a:$o@Aa44d='D*qT!bbXoa_K\LrB$mF;HE)EDQR3 - >X`g/iP06d9S@uR\BkiH*)hhmh"gCVMHH/"GA@aC)[T_5P'HR(=,pc/ - 8t6M - +9G;la]/`tT-IZc`R^$$p.-Z*g6F>R,TQVUW=FAf!(>b;(H?3"mbSdEuQD2j>]#3Z(f9s$E - Cs"fIqWe#0Irtr2ee-)&leQJjo)8+oAVkgJaX(!BQt=1hRf\&i8's=3E>b2fc*`TmB="/VWs:io9a - MM=37lm0'%D,N::^ugj$Rak8^g2DGB*;H2a,n1e2WYmQJk)*usN.6\4n_:2%,o+6Pch+)q* - K[CWPCleI5co_r@R2n'aH4En1)?Er1Umq?VsNYYUNn81_(C%#k"]Tpe;6$s$)n%KUS*U0:o - abPfCh<;rT3nrQiP'E59(J#VBl/=a;POP/*c$5%:]=Z+FoA4Q9ptn=#r>2='Sp.tr%oqK!h - lZP-QdU3[^B-(4.]CmldkanGZ)!qgXCc^.60;*ZN^YT:>F8:U]p<6g+7EX7e];^\ - [tSj*VrHoDW+Rpg9*4r(jlr^/s7_?AIP;n(%#ZLWB@c$hF=)dI)L.jStfAke@Ms^PhVH_rj - 86!Bs0J5GS:oZi7Y.!'\lr5We6r/-!A#"i'C#^q:"=bP4>5$UBXV5TC4uoEi:%d(j`05njk - pbP=BX'YGt1526ac`"bL1&AU+86)4HFHk&Ga*5F*/5qF*De/#dr)*mO460oIU/0D[O(rBf/ - ^dJ5i>Tc?Q(Vi\U(^T@^au2(AknDN4-n/(AZ1#%;_A0C@Q##6`8i8-:7'qg`ZtWJr4%VecW - [P-KWY0>>8slP4@[ETK6V9*`3RFek0WNNi,`8LcN'P%MRZJ_k`&'ra_42m!Ng(_P7*4c4ns - Q@38&G/I,6@k`]KJXq/g._n+52mrqBEq4/.<76FDA)QLch8OPsM6P9 - Mj<*UcM0asjT78.&6"AM7*@4!6pSGYsu4?KMdmR;4Z7G:h\_==9o>t.*T`U#q2A7.g$A=o$ - @7)WJ%RIit%;B\_A`,nVj*+D@$;`&;i,RRL#'PBq#F2lp*(T_dKdUC-pFN0Pia#%*>;1b$# - HUm^U+?XjiGHN#06S3'T4d(%e.`9GBf\d6-3Z8b+(9SCDZXLl[jb=W2e6B&gu`6#c - !`6A.Z9>%]+eAP%&^s(:Nbs]k$jMoFQ_bGg&9H;a14;kujeP%7>9>o`3>hI:HiQVKM9jH`& - Pf:eh`Bk:"^]`7`1u1m-jikC$cG\niUu"itl,%PU,'k^MU+">9obhR!$Yp#'iZL!t5dH"_% - C6GEK,:d!&1ca"*$L7q,l4VWK=nf_UcYnZ$sgs@M)rjG84kU.K`jqoKh89c-IXuM6u#<;?V - hXo8JH!\gP88;!lJK)d)8sU]S2Tn@F4XI`\IfrCg>&@#SGgX/fbWoe68oJD935$a-uY34W2 - :FB@17=7foMYoi)7r(&N@7`]1/scq;$3L0LpeRf3 - iqTpcshS42"MoQSKa%s,+U"cNEc`(?IcGee]hJGSR9q\-WS\$ed05pX^tNR>7$9me_#`/rG - #@ZCK8&`eu``q%9U/(B%@]/,+W[R]kCH[Bi[5df*uBCok`4pG#m7cIb>>9k,7 - C1YNT32n[>4%7%ICeA"f8A-]\:&jgNAb7h6GYhFP)#Cg[2"CmCD!]]%fG_gb - $'AKs00(TNZc_>]mj7or?dFY?U+J=08.Nc+Vo?\6P$8h#2kd=d@;oZd2?F8PN2AH8&:W1#7 - gZ`C=Jmm4@iSk/PSa^*[118Ze@SQ737IJ - /qn)G0B@%-QE2BlJY'a[hjMQ#;si3TcBq8@.i<7O7mNB8sQb>fN?eRdXgRj=CZ:K!`ghBN. - G$MHl=``'SCTB(TkL-K/6HfM(4jQb<+*^*kh39;E?A,]Ec@Sc)cjC:pS)obss<]8huG@_+d - AK:[+/U&4@KnLJG$&7o''<[oLnQA57(+P3t.BA`bn"kTj6jrd - *%b<1=Y:B'ggV*c5QhK4;e7B#t$cSc*1@=(nIjkUqTq[!(Q6Lh7tSjj&rM`fX6/*RlugAJP - eT[RK;$G%Kfa@Kq9pes7;1B]oH#I=2L?SVikcT;l`]<,%RcGL - @1Y(,WNTF\G&7f>g6qi'pnolonRUd^GBWCmGRd.n4h^T - KPQ0_iD-$*-9^\OG3PU&j_f5)<_mFPFlp]=C6io'VRblu^hRc$l.+JL%Y$,1+_[1?Cq3/RQ - ;DDSB'L/(D$*)g?F]@IK@7KFkml5-:3CDc_!NF)&Jj$`mYL8-`GN'-C!P>n,Kue:]B,?kje - enl*nP)F\)c]+mV]u%[[n,'hWIYklAgti?H6gKc=rSa_s - (]mmbCcQL!e4^[?j7kB:Y,VK2&nqX0sPkr/J%>lWdQETP]`arKOm=PK&G,_>Sqc&U6E1[2F - p=8UYf'lHBlmETfI`CbUkO99..bi0S7emo;lZ%[GDf6VY:>BP/476FOhPVdk%kMMYiG^>&D - &4bd7iUZa+)[,mn`L!oT)Whd1@5SYEi/)9H>9`Dn8Y&BD(c1c7lbWd3ceWen/d*tEA@&$05 - uBbF5JV:5:'tQ/?=NI/`.c_010hnMt:"(o8[JTG5u_d#3`LXdI^0(G*D%&2t??/n95oEs%N - %I:%^G?o/BYA#4C<4nap0mkBANMp47dR;;FGAfirrmEYpMSk4nW-gpf1RTS-.LlPE5bW - /Nt(f\%ass8RFV:P+)>j7^<+s-nLnjo[^7l#1uCeI-YeD.:3$\Ai9RheoU:a%2.?5ciTc0g - j\]r?P'V9=Jo;Dto/D'k;ObT@-;_)>p.']gcX$;WmTp>#/%5dt(PNH>LhoROB=EH0$Oi1.6 - =Wf?o=ggG08lW=L%E&_h9D..hh_'J67LkBpqM=I58chTJbQ?1dr1V!51Bs9P3VJCB*WPI(- - l'TIs4\8H%%5gQ_\jYp/IZXpO:e>P-"HAH?_Z$n]-O_D>.#da6g(4qEIgCn@B>P$]P'g$HP_q,J%b]a>'5^dHM;IW5>1lGIJan - YG&YSqh!<-_i'NY.bM8i9j;Z60\NGPYcJQd],hC2h`BWN#lLd^5V336FB)hc/)&a6$:%1\CfUf)G:P#3B\aJ?-;7#j,BQ;& - ND#rLd]%$JkFZT4!LFV]d.kHfIKif?3ea5s[c*Cb$$OAhkG8sL`m9UpVNL2'_'UFMMX.X#P - PqR]Lg>AD^!Q'Ssn\_:onS&L-R@\mE"f;o/I"b4AHE0u#2-OYjN@kh*@L-HuEb%,P'4LSlW - S'0u9=mY:#7A8.C1tk)VQVjg6CNV]:B#@oZg2-K;/]QC`\(ttHS,M4LIDXo]ptT1G':$W"n - oOL"jPC1WN'TKF?Gp7Qe=$"USY$-g^Z+L&Hes6"Vp,2.e\0er?Y@E'l2?%$c\rsLir/\Rb6 - .>1^[MX7YJ9QgoJ7X%1`6H_YWO!5_9e\g"[Ohq/F,WaH6W_`&H"[&__A/X&];u^2\a38>Yb - esOQ9[a5nT&U&Ohg];&-tK"MZJ3dde=r8^SgH2pIN8f/ZS^7*da9Yr'op:U@D]3R?oR - m6o53I01V<'NFrrb]Gu%5#N)rbqW%:[2VJ2FF?/DcBB6u-Ie:hY=qp&m8$SNPSIOiF7)POj7ZfYb[V?-*"*Lu6Mg7==0``ZL?gn8;NejgZPs!BdNV6'jgX%PKF - tmfl\RWL5YKOlq"I&@H0`KDh;!39G@JB:-tU!baG4EN!R)QB@6hqHPhRkZM@Ak\./cM3@/6 - /o:2pn$\td62O\GZ"(9b07IIoIR002>IICYDk#;OWTIDKY6=2s-?HXR7'Od - B;XPT/iPn*/5K$B6tu=^[O2>"it4:/iUlC\c3J2mk4>.ctPBC!RGW=s5@Z0Y>ecE8nJcCfiq`A17BQDm%oMcbT"f'hF+#uilLnP=ceOe6\@uK.on<7_"9o@6?f5%1XDuaQc?gbHQk"SbYRmblO94ZN4b)k$>'AgeP63] - !`(,1LLQ1'JRT#Ic(R`0kZWmISGA7jDNV,*^MJ7D\&E.j]S"P><5h6&9dA>T@C;EfN?#pYa - pS`4g6Y(/@4'K*gX]`^d=0A]SQT&=r0dRZ@@lbGbFs?f\GPP=ZY2\:lCV>D?iHg"aP)6RX; - R^m\39/C$/s%qH@bRPL%0b5!%rV8I).'5g36WI6HJ%"EQ)``k;LOUJ$cBog\/+jSd.4=G$! - T9E:g1T>F[h^g7F&f*N*3BKZ2`,_MLY'J6Yh[V&g$)12)oYel?9P$nqUFdCD[b0`pkR>b0F - GaX-[DO?U4:Z+iU4Z!^jT-VY7[Z)1`4NS4oNCGZUo4&7Sk.$uO'H"!e;f12W]:fk[/d(d7\ - gVs3>\(L@$FGN0qX5*,blUXCD->YeOj7L-)EJ-XdOC_l-?uB9kU::7NG0+T1J7(m]R02r^] - )R@:r#iL6b;U<%>F@>dZ2f<\C&e=f5NhZk]4;R_DcL_.MZ.Ha/k0DV=4[8n_d&Lc0F?dMlG - _k^?m8eG@)1WVoI=Pe;4+?JScm)c!I,ZFDaNiQ$6d2^>$pYYLM6c6k25/N(DQ(;A=$MLTNq - iVTr\p2=)kO'sI'-pDfWk[$?99.le!Z54jB;+jhOC%;@CpNj&M$QX6UNU"6%8kV/0STAYJ" - benDlZNhF^,7/H[fMR%4f#1du - iA]Q[R[+(4U/_MVX]L6K1-k[We=o`>^m`E:*b"jd,Ae>)-F!B1#,^jqX;Rs,-7"O`)QY5he - B`KQ7NO.:788jr2!EA'7BJ\>M="G#+0:XiU2ZmW7PQpP/4`;nR$,6E;EH\7B*THWX_2NZ?? - O'NR'RfVMJWI=76rjt#(F`bF`ZCkgNN%dN[r3K1YX,%:8cEE:d=j*`L8.HQ\K]B8J-.udr= - m,?dm_T)%MeI0o6r6%2(i_aD/_JfgeXh7/P[[lHt/%(f']YBAVhG;CrcNiRE_Ot0bSR_Ge8 - a!/Rg[^qn`GuJlhH%M;oj3^4lP7=nN!O/;B<]?mX%NUT%[K(qt3`I)$5Se - eo^pE)38qIO1"4`AgB._!*:%umhV2mr>mo9'"?bNo0,E;EpOl@'8gh7i@Ip7=A>r?'Gc^"9 - /f%smnehX;!+pP#L>O7rKi\lD2/q9MUg0*qW4)Z,T!!@TT!O9#EDeH)lCnZP"RO5g<'d.bm - :q^'JfO=^E-]VR8Hn1Y8LR_Zu(C#.VhF - NbC+r#V:j1;[Ag"=le#Z=;O - N9JefR(WK%-`l)8QuY.`:(tKgPV5hE(H!cmVG_\F&#'QYk[;)$P2aQ#Z0$oVWe!k&Ibgr&T - G>;#tY\b@et'ikV3e]d4FJk#d]X&&huliYl,7*!>2Bk6t1sl!c@W:$iE%l>' - 5F'o2oTYeLmVFJFs]%oIq3d:1rSJhN>G?C4#)j'k^=A - sVRoM:"pm4"9N;sLh\=J/)_=PqdEI!"R2;eL%.Rg9%IU^qUDo=B@+!./0uY.Ed24@^*`/eB - ,4%)ea=\g(.q7$P6Js8Dj!$gC/]-TmK%;QWZnj*;gJJI=1-FYgcmdu82j,X=dMgMC=!@-(- - ZUgs;G8RG0d:+S-"=&(128][E?p]W-=^[8&nNCF>Vu"o-_c)<@qd=]Cb0&C.2&$t;GSMm?7 - h=Y,r-8dZA0mWN@GQp,BB\1&htnh6R\*B-^)S#ZB$I*:cQnD.Pf7",:b2u[4Ob(/Wqb=P/S - s"Te/%R1fE?[P(P7Tq^XGL/lMKu'+$B+PqDR=0[e3!Eu$M$r@"sA1(rP"F!i;U.PUH?1"-. - TF"]>TO#'-41Qrb&;G/hZq)#Dg1D<,1;Ze`E\Lu?023V<(_RVL5)(r(`+u1?r&:4^9diWGI - %b$+;Y/mr('TA1c'J#>u0V2_BUCf69lS,DmMTZkbqS98i(NHVo8eBqGii@(F*saqiBYup;! - 86n-4clhL':TnOoT#onag'e@&\gK/[j3\t+-Ba:;pN!k'g.\cLND[bd)Mfh4F?ZR=)`j3^7MC\L;)pnB"$^eVjf1s?e*B'):0/IN$o"?hW=&T1k5ZGg^P - MWFEjY-4"+Z2>]Ea(F(4YF%>))no"R+-rA:pC=Y - iW,20i:[CGf#m<-;DHFb*KAD-1qa=1,/4o!_XE+^&re;g!LnQ'#<-,?FJo1XbMjok@R(#@) - E!-C*1_oeTl2/R.eh>I/HYeY=9&h-6/\?F@7FQ1J6\hd2LD@+ES023hTN$"9*O@.fLap*;R - SjsbHp03)X9((jhQ)e!612g$HR%B`+'HL2$_c`,H+EG1R(aF0%TAkj&C0$_d!HO:873jhXi - F\u,>53u%G?>^8_m];#kMI'f\54#r)et6ZbFW5/K#Cj+<>[_sNd]klgaE&RZ02Xt[Nb8 - i1LDg)q9(>E_n'6(CWm6XBZf+2m[[;bXR$F1mtj`f3;FZ>[u0UKMn'"OpQ^YS$"`k - (HYl236msQ1O)V+EOg+8=V$k.mW9E)Of.N,H+T9NK9dCI,T4ViH-5<\Xdp>.SQT$Pq-0)/)jWDTQ=pMm=RDB>EL0BqAB - M;TNYjlKN>:OREK>EJDRW[IReUMXVVncWn\ - 99mQ#%t\<09\D1&DiRAN+T>#cgD=Et]:Nga=N>%1HPb2N8lPnBbl=0 - rFf:QIWOUW\(p&SaaeojI5['k[C1;X\DX+MpVL#G1M![tphc.eVW[J1RD25&.Xd^2-,hc0b - HFZL+G)K)[j=P3aD5;;8:TgcP9,-?eR_J&#[71inW;>\K]*G:=gT4S]Fr?>^Q;E0Q%Bqm!X - :uJT],RTV,^M<%Xp;]SWiqGOV6dcXmMWX"';c^)YSp6=MUeqr$V@_4^UnE0qY^u;?*VN/ZI@L8>D! - A(LT:Nt\D%fp[_KE,eY^E#Y4hRpUT!J1B4o7!M7EXN=sXU2*D;:;U$T+Z]5aRFd5jYT_/O_ - d.bh[a'l"]*Ek=9@H7>h_F_r)dX8=N*Z^%>R'uJ_I\@_"9gbrKYMjJ\u_o=(B'NKc!O,uH" - [l\6@8GgA.hEDk,;?h9PW+hn$=2ql"`qt&"RaJ[X[7`6b[6!-b<>?&4W-)6eZoZORI$:[:T - !b]0*DqS@?"u];/]H)-k(n4HHcfZ,aGfbo>9:mU=*$J]aHuQhj'?g8 - iABZcF(U9`3Mg37#p!#KD/iW#TZ18:SZBX1/!k'D*lsq6R]eqj#Yc_Rslt]a6u/S]B"jaf3 - n;ql.!:4363tb4JubHLnb^(Vpo0A_a-,g1e.qg!3k(YhR^L4D@Yu%WbnhdiA8$*&G$Nc`^U - @ao(ZD.*^D89;u-H;-b3Y3tJZf>%8S,g'Bjq9LIBZ;*g^L[2\Y/P_P$@&3LjG^\eOs*!Jh, - LVUETU3upaLnhe]c/1W$hMAqk?%^ho]A)&nZ9@SLeKN_=Z+aCii#;XHm^]nl);JLXB7)_=- - ahp(S`/BdcFn_e<&r$j*ccZRe.K+BPSej4IFC3Mds>*&>s6IPRFU,=\6GZcI@Ik5W374uWE - XeMILkS2[Fp!lgc[)'^)t"9=h>Z!kWP3^3:#`KNP_-Vf,QI%h5e41S]5!0fH)p8I#Hu*Xm! - @reNPM&4pem,Ms=R%eR$/:SPS;fbNp9eVk,X+rYsr'NRId?NP7XDS]Bet@Hh'?k'M7453^< - UiU?apmX6D6h*]:iHgr,Elb7G&>lqOj"m0*QlTFFqITO4q-gdM)mGA06qp4WC[EkGTn(kJ2 - 5*NotXIH-K)o_M89lHSHp:Xo#HW33G>J)%J^)j?Bj44*8JZP?NS%Mhi5HXh>2l - +/Lj`hs:+oqXo!!!Q),SCOiKL'!B3,CJb%7!]Gc^nPqn"R]n-[)/nblNN$D/$_f\1s2'*;dHq?D6ul6@`pR/hsaX6V]:DS7OFJ![nuY(r1:29R\sII2*CkJ7<#hR[T[s2%rZlt> - icQ6O/AX)8F#,U.bd0^h2,1DNh_n4A4$=:^:94gZ7BNp>lbb3Y - UtNF;`*/6Z0Z6#W05*af+AWY=ogHOCSG)l^dAuq0^J0A^ZH):,+\#:'m/[1+nUn/?302k_e - C"[dI,\)PP)iVkoF"Xk<78]p<71B@1??Ibg?e^`ZrM*3cIK=f:!i@BHVi/YAW^KS;Oq#Z:m - GUEAl.!BGt?XGZ8YZbYiUd=d^E/,<[lU:^JnGm"h(74[Hr$#06]"Ysijo&lB2X&)[A[L. - ())O3>2@l.?oG@C*TMCA#s>^Z*h*pRG1KNGBmEb$Y%*bmiP.)CV#.^JX>V#Ym9/5$,>,0sP - q1&d*4nU3En%K1b<..-p%&fmY1>%c#=?RTP35KfFT#98eo`I"LXUBoGA#Cu4X7Af;gkQJfl - jJ.;;?=8s*NUIW-<'tGWn4pj*7-PnuQ!h[diar*H - #3o6n@1Z17ZS+2.DrI[@P9qk#P+SUDTtXaUf2qS3pHpYXI%Hdd;.:V8Lp%#V6:u79rQ$8i,a;&uf1PI;5U@d=k2[aLF3-%#-,dO='+B;+Ku - -A:aT@i7r,Io4[Q;O01FD2TSWjb-;+^RR-tO[%PgZF,b.1A",uh"4'#%L@l"M\[XL"5@k$1 - QiD_G\O^6b#^@8%Pq0IAWoR.D)(9Y$EEAk^O=PY]8L[(kVKEB)cg"S%.;^-(<@X*[aH'*[<@Wp6Jq6fLP>S?n8? - 4U?XjotGLU3!_AXZE!5Llc\\GGX:n?#-0R:!( - Do=IU1;/9QhcaLS)`6>kS@bB,6*_.fIjA>'RfifFPDo[F([*p3-KJ":YhWpb&n% - 3[gn%ljdSeA@=_NK=)/CZQ9cd2fc'a$e1BjnLC9]p]rPLWmJA>qLUdFeCH$16FhY=BnY]M? - CNE155tL5=d(L\oUTQc4\2S-1gW%$gY5u/B7Zu4[$dOiP9rU>n>[s"mP'G]G_'BO\[[Z9rgr$@Ko`Ws - ,RIbWc7;3W0:!P6quaBb==jRG,\bF(R4*m>XEZDL+(=a9GFI'nGZFimr*Eo,j.'9J+KN/P` - t!(XD_?"@5fS9cNp@N7`sX9@p\\gc$?KZ.7SY*LUs)b_ufg>DKkGK!2idcNZiF7Xsb]QqgZ - WsmIK(QNf/)=b)slpSqfVKBHHZ+4F^jdEC5LWA+++mWo-MRE\s+u[VNB!sXrD(]`Y-XQ%M* - E6B'Q.aF:jIQ0&4>?lKDUA]m - pWJ6prB*D/@F!I^_LFe/7?-A?B@HoprDb>2SRLb3qr%VRBJOm=Q5hk>j!.7IVe - `YEB=PJD+eTRE;nK5Rk'Y:Sh\-,2]HV':EUR)>ZSCgIPQ;;/7c)t\+OX4BY,!)D1-K@\$kS - Tg]ooZ]Xu:0p;Z7n2f/-cL!I=hID"]:2JmY>E(==qmq-0CK+qcc - WFO+`VY\AeD=96Cd("%>1.3WMT;l@:JZn^:U7Pj$Y!C:Z-3!qQ1Nk]Fn9O!LbTuIe6_aCq6 - QF=p0Y]%4IqB]&!-$s%ncG!BBGF2#P:.(23JD@7eSG2ffedfp\b1qC!XMg^C)jqHbZhs]h- - @,(Yn_/YELf(@DY/PniF,K4sT\`1Pn.[SZoHp4V;HnX7`aHW3'hi4i;ib4*Zi3d&qV`\W]u - We"OPr)aB7N\Qf7u$Q?32%2l5P03e.`6NOn'N\;>U^0Bt9di:M,iO8'HS&>NH4)qfHO?R1n - ^'kL_oC,"J+$nr1[tu6:Rg?L(kJAItQ`MF5j4Y/5$o*<,>G - drC^1`=;h12_u#,/[YCX?4RX%`C;f1K`afal6uBk9BYssH_0H[6$pV?*qRoj:6%iSa$o#&Y!']ua`QSWWFC^8& - =H.,c\"KffgRuU1(;PlD4L5YdoMS0u.M3YA5@f1.Cjn]EL.DF[_J=\9F.(!HF@'Ia`,'T]R - uabKLdrun`OmWhP^>ke\&""faF"E<9INJ;DO<8I8K,dmCe-cQB#N1k2nRF.b]QA/2+Tdna@ - U6]lj="B\A>tE]?3\m&SrE@!5u.J]P3g"[6uHt9"N8>$VW*cJ]gHfP:Sb0Z3m`47nE[C_"!9Dl]:!P,= - j>>.H&99bPN,fi.`_Fr:gR[gt"dCPXFd*'h8S*V*="O3;(b=s5obqZ!M[#%dO.AY/j5Y`Cn[,oi(fB9ae\c)%Y3@'%T3-eeM,Ft;5#]K@dQfulhm7CE?'NV^WA*Igi; - ^rPa!PAnt'TaK0miQGAXg$"_8NLs=GIT?Pi[g(g14=ZkE/W';75g#]5;D - 6#h='ir7qg3o[KlrR>t%oU>gg=\F>?)QF?W7LX<>:lBsFe;O=5eWGkg3'Q&FUV;^/4]ZLd2 - fMsID8EL'\faigN?iU\FWq$]j)S\>V-Ik4el6CbLs#4>>1UBV5[]7ZWq(K;l..^U@bE=URbM`nfb+>6T%Pjl"q - ]a^-:2?8]Z*-0j96hnGr<>SYt!4fg9)Z&d%%/$= - Rrm@GVj[mMi*&Y,V[EW=$,73]H#,>iH*FTp?e$/g@6s.O&aUimo!I/gfP+/7B#7@bqZ*lEB - 2fZmk\YVkPkS3jdo;LoYtZW6R,nmO7%?XlG$1Yt\--2/"Z..V4r%L#RH5bjj/uNs%N$L@9P(@JA+D!W[Uj!0/nFrojb@>X.\:1b. - k,@+T"\ZE*[0Z0C`b!@.m?hm2AYH[B&\P_A@a9C4G*QatP[sK&BkBNj^/LVl\;CDKC"493/?6l*>qnb,fP:p6p7MduXukm - I)J$-DNL3Q@auN0p@7#(J%I@4THdW%V?m))mV1GOmr)aD`=KGP/`K8VM+gRE9eqUNKb3*Ol - 1tG-t^qKF,?#sbX[q`@]CAMb`;-p46fc3+**J&&:1rMSnlL)#L(Au8DT%l6&Z401iBJW# - 73!^T/6Z3&Cp77-^3"&Lc6]VB>2P#Z=$ZN>@E/+VAmfsYI%$Kc^E3B@_VZZH:&FgafE:C"! - fS/g](\(9$-N;=sl^0aCEo#?(2L7rp=[EG&-kIm3H?6ufCrF[oR,=$C_U8Thd>oTod - TQTW08;KDe+F0@EBpKd=8@[b=dp.o+>Db>1s9;BO-p!7@G%q,(^2g.,rp%N'?hemNH:NG&2 - p48.pB4^fr:@oW@G7Qi\+'SB9>TF=jpJ$Y?m7R+kHh[hac6mH$=(Cu[C@mQcp2=U3VE\gGdhL5Vfd5CEd1*9E^rap:N:Q=F84(?Ei4e?GC - FTtHZnk7G5jJpR>5efGOY=HmtDig$cBlg^2LH\ZtVC5DVlu[Q,Nr6q!:r-%3B*^B5`6nDQ- - ?K8#MF0o2/^?f3Z"6rpOrXe^TQUec*[;(TVLT?>p,=(@?ZTVmFkVlo6F-qgEP_?bA`![VD_ - PhtOeN(?bS`_>F8Ldndf,%#(b3WU)P)lA*=FLJH:4^MY.)))&4A`q!s?c>`3CRO];Q\CjF?9X1NFT3:CR(pdG.Vj_<,>XHKHdm>Y?`b>$H0Br - G/795eCsS.%t)9%D0X6(+rbdDcnACGQ;Z+QY$\:'qfM]ASWdUS=P93k0n#]lV,VhKZY>WMh - lO)X2Fi1NeQ;Ish@;VUA>jE^'29NKVlo1MZb-3+%\mjeF1Y8?4O7T8gf#maC_'%HVmuCW0V - &,@6Z)0bqO&F3/).,IrNqsg:Fj$#VCjBRpUt=](r^Ka70>D - a4Fl+nY7sn[`=#'\c9nl]+!&9t6uOE@6&]WJ6\.D8BE,5a@Gb_$No0<<=`bVG,].S[1d - /N?*0)ui(B;fou@7ZJ.+1/4ld'-e\LSFm=^;_$#c8b9S?\#E'Fd,$1n.WHmt&mY<#[SbNSS - u4Ep1nE+C2*1,(cMANZ]T^RU,.4hIdnE3W%#E];&1hTT:R+nPnQ1i`(C8B'HmqE>'1Ie>`K - gZF;9[OB#l$t*RV,_HG$9p@g@b(2l,E;]m9SA)Hp6duDG6<93OHbr8'Y%<\OORT!aBP:=!` - HjagSLG"3XcRnLdVc9uD,3Qh.o4$CCtUPe\r`Y(^1CX6P26_%jYm*f@UHEHhUFSD - j.;!>;>gfS>.N4OmH:\@D6$t]($Ct9piT)U0X16!>3q]#V-trZm^6Y&q)-?oCcPLT&EB*h? - aOSf8:0V3**aCQ!:J)'b6.%.=PJqi'pdSG5O$*+*!Ng2Js>Qhu# - u!FRX`3*mQ(k9_QBrsViUM@$r>8.r9hdh(X)/XDh7g<(64:.6ecZtNW1s - BEo:g(Lc=(o3R1SB7on_(KR]]:2.o4F$uVmD.% - #p9!BC9$CI01P+5TZ`XPYhBT#pI<% - Ek5VFE7AY,S?H#FHt5^"@B+gE=n-DA(7l$.*g)q$93.7;*#Y*m?FbZYZHB=W1A$KX&IHn\S - !29-"]@XIp.o+in!''D*=lt(T#670f$M)_9[n;+BlrkV[8-_ieXPUJ"=Yo0)j*I<$fDfRoV - M/rfrFR!to<^fMk37m0.o71iuSkjXAXXJ!gU$uql7p4"s=r\3L;(WX4PD_okF3LEH;-:S(O - XR$5-&3*/MGQ0+'^5b&SL1(767Q%^BL>abVJ78N))2k:SE$9,rXVH=jWIBAq*26$##PY_/8 - 1RNP-Y#K;JK`^P#MFX<([p#WF$%um5(6>*=GB.RiW4'^k - k1XUCFD`D2BX_a@?+[@`/oh!)[uTb0qos6N[H+pnB(OjE_g$)Om(QPupthM!HLD%5\!Ohj? - ]30U01EIc=,Qh1gQ-J/Q3+e0rod`/EIdOb"h6KDmU83UKWo>1\C]U>?`XWh/PZVgpdYj'S3 - )OGL*FRGVX`V]:PLK^%`(4q$it^Y[Je)>Y9W,@"c" - h87_Y5d)WRoqNcG=laVb=&j6R#9nGX?JfbYuEC]frD(1>:1%g;#g\Wemf=j8sn/8!,@SMLa - =anZ;mkD\#Gh\[H*K;#qjoL_m4HCADsmBq.LbcdSHo.B)Of[[.^3C - )NR\Z>t(a#-E#BtVcIPl?)mRHXk"E:=_h;QXnAR$f%T:nCV>/![KaFt3r`W)?&>i[*m*'h. - qEJ0S[3Kobh?8cC$cq?[J%&^g:M9>D9]JtG6Lq!G2"N[rQUn;Id+k!UNQ!0'SNr=hq7bF4_ - lV)]!K,ia'!1*Deuns1$8#T]C1&Yh*]"6m_%EP-T^VN&Y(f2s4qp@LLr.6^p1?VhmXPWC(; - >X1'\l[>]4rSN^'(ZmW@JlUQTA`:V_%C>ig7SQKi?p\b7C,iB$FeE"6llH+rb0]ZZH.c;W+ - N-Pto*?_(ZoO4-(t"mLE8U@V-PeN-K(k^>g]oq&Y.qN!`!h,c[\IP]W$VTS/9K4f,9!b:j@ - R3d/"Ip(Ba3>Ki!,7b,471(\4[&_KS.qY!sKC;n.&XT%&VKP"i2aV=d,d9oW:3ic0,"Y?'OF5SnX&FHH++q\oc?/'kZ(rd - p\#C8!7e8!EOF2qlnoQSm^6qQHqJo`#(9Q#GRTqnIg3Dj9pU&sI7@VWnMd0CGpf<2Zc66gD>bDX=9V.\@7 - "oIl0pc[,X?J>T@>!6UZd-mJ>fcN13Rp[?%NcVg-l%f(&VYsN-rO!OF\&H#=mqaaV80;>EW - '_3]$#*7]=bpNH>jSO^A=R^M:&%;J`qO/mk;M7B&l1j[5LqYGTQk&E/.QjKJPc8QuVoPJ"0 - *H-)[1#KA:(YE9"]4`.B*:f7Vo^PZ$S)O&K!5fA#uK9UlSAUGMLM:!qWa`PcqOt)r;NY>%o - ?I#$GrF7MOVs6O6W=C%ot9d6A+dsoV]d5`n9mE,8(MBooUXm:giks4VJC`Og&Z';'N.sNrZ - A`Y4'AcagD:+.0h;(X%2#N:u;^p)%!L;#r)kqDdA56m86*K(pTb9I9iP*>G!(_B0!n[B6)]ae[<+ - /H^q.;aX0OkHI*43nP^P"R2npn*R?_jn:;k3g- - W$"pE^P%DlFh`Pm9rArbm-*b-I[3m*Ll,o]htZ-E`>*nHG%J!0Q4h;<8]//IepU'QIH6&s! - 7&^FHMC+_]CIdD6r[=!5qgD".lQn1>Y9P."7/&1D0?d.1Ag.h:i7(im(c;=sW]]+IL3(DBFpduIdVR5m!O0Tm8tnT,PR. - iU32UJ[^<1Mn\)E<5OA,D2/eALf^d-M\/G,Z(ZiNq"mQ:BSVN<=]6=10c94[\@B$HP0dRn` - M7A3h9r];DYE]&):c[J=Nk>(.hIt`;pP=f.D&?W[/6D'?r?g!C4t.)KNW#;^k"r_[[2c5u^ - 3%Zai#mfgPHTp!Z2dD[Ac%G#4c,72#\[FDP!a5;996/$sX`nP)?7C,f0 - q/^oD$ZqX"gUGVV/7tkY5FEG-/@mu;!75CH4<1?Mej"n'F8$DGVB$s?E\Opt.Kgl5?EfgW, - G>2&52A;2r1fmGZF!lY(8gW"Xds4-!^b2UY(=SaB'SB*/m4i_Q7Pt-1oU\@5rCBnM/(Ds=V - mK/TcPuML:%XK>[!nO1#>t,a9s_l,eK7a&*pqre-B/#NmKo\;pD](a - YFT9?KJorhP;Bh:1u<:uS_EMZ;W`EZEn?ErBnZQq^l`rZl,'NOC#Q2r(M9j]0R?ZjsgD_?) - GdpOn?6dn,*Q'kr8q&jhs@+.hXAtrfM]j.l%=]PK2e[%`1TjH;%@TBHq[GPW-M3oaO@_k@jQH>aBLV<`*S>BbIbV4 - SFJC('S;-\SDo>A$mUsQA9!/*C9Cq?5>P.[Uj4I,=/5Q$0$51d%iGX@9`4@2:gqrK-3GQoV - aVS/p@/GpA.idC3hHX,Smh:[F8,0A;;j8EN.;SYpN=(eLOIS!d?.+OS^Hjr[ToOXnODg0C* - W,f*SYHB@f4dG8c9+q/f[mFZ1X(QVL]t0llk?Fa$D:aO>8**eRN]F8($%O^/Qc@/[HP'1ZP - UQ[Oad\H1lm1k(QijlCNW]90d?R>-:N6D[#hK - S@fRE[UcJYP)LJ6J:Mg?;WB'.3YbG,-38j,*isj)l.qmfM%BDOe^rsm\$].sRIX:B?12KeM - c"F)GcH/i*`X[U=DF3L/?J^W\XfPU+qRY[h]rns+ko.phNmcoJp<21V`]E8$]%O9i7Bh*hl - gE'EHQ01AEpXePYthR-mO$"Yo];P;YZigIgBu7g3O67[ZTB>9:4]^2)XU`=`u>&dc2G$9]] - K^Y[9I"Cg>00KBAq(L\B:^r5:p6Bq]3?g\%5bn].Mb%D"Xk;JZMafR+(M&4$0`pA\WS+ZYjK - b)o'.W@D2QY^\b"F>HP1MYfU*6]3B7?*##AWTYT>&l.dYq41i=60#(WEiLBo2Rr,b72mD'@ - ZlDTC>Re4@:UiLl`7ta242ns>/$V3D^"ZVq]9TW@+2XOP_;#gm]Mlg3;oH;'`k31rS7T[PM - ne%U`*@9=S1Vh;Fi[ei`bk=`*.uAgPK,e\add4_]6h]UWQP^*seB)Jokq"'Ah6B"=m:2\hako03PTcrs - l+H0I^2oqo;`7(#0Q#i3lcD:;c8T,JlH*C!<46dm&FF`P^t2LdJC/Q3q$eTs$Ar6NgEV:>? - Q8"DnmSO@`d/('n@f:%QJh,W)J=kH^pfU[4WO>G<"-pmlbTtQqp]o1S_,MH-4eD71%4g%>] - \#90H:&R#C>#Ejm%GZBHUKu-o]fFa$$f!!6h49j2I9kWJjj9F_9&8eO]ueVALYEiA3r-bF4 - X8P/`ap1r9YLm#*ICPPiL$%<^>3HTqB+HqDqgi%d1o^hl"iJ+7rC6O,Cp[DJPC$N8jT%J2q - I[d\t.sVr\XUMjYl4>7P/SLq-#st?C%kC23+sRVs&/!m[A,[:Cn`,MUDEj,gQ10>jnPNIH] - OQl(3\^*hJR0Kq7)/31d28hQ?$kYO!9Nkj&E;KfA;dVsGJE0`J]JrmpSqh<[=plFttNI`lD - KTBlLDlTX"e*p;n?p[3L\lsBe^)M;k_POT^CnG`maU16ClX&iI?X`Q`"n*MonXjmorpT;?BI[@`p - AYTo'Q'L->P#UXn)#kp5?I7pMtd7$m%1cXIrY;AJa%ZNL - eElp&DGis#'Z1L\JR2n_`7&I\lL_S+^3unfQp8!!!-#"U'Cm@1[Z_)Ar^.THVZ@r&t>sMFA - ^dGdKdn*/VO@Ydjmg%3pMDit@1'ol&=b3.uqqeZ`1nRCD`MdkORn - 3Y$hs;:$D6fjZ6s*QrU%`g6FiB*2C`WEm"nA59I#\l4D*Tb]\= - 0NUrp8;IeP!u[?4>]P)30Mn[d@"m),7;Ln2mclA(.k4Tgc.EcoZr(7h+ - 2$uNL9!T]c6jP1W@<'G]b'cT:SQbnCkO"s"C^jh=Vp%1YU;Acm.VY5Nrjh^GCr"[eMmXo?R - Y&mMlGh^p!%""L36g5[n)'UFfbD'O#_==kIme%7AH\SK5b/\Q+-XNe(gYL^+ga'>Vrda-EeFD!'b0Wf - +=7e&Y59fSB6l#Y%1?0aEelfm;3cuP9Fc7_i2u=DQREP7X8kPHYls38 - W)s3^>Y+>E*cDRB%Y[qL0hI*Mh#ZW#-4E;pg4E?]pj,5_+o91Z-2E.c<\QEqZPZI:g[eE?^XO.=p/oi&q60?6S`AP*Nm4_RsHSNH@t;"_+FQ - r]C-6jYa?`Z;@oM\I#H>@D?n-9oSalX%M7F>"*/`:fr?j'6/F:4aNJaJ/WiHqK34VDl?ccO - sGdl@EpihSfl#j(5hH%k=:n[jeA - iHN=5^B`^onF,ID?I9u[sf3!1YkCn5]hSh3J^2Ye"k:66(/O@Z:c,:"gaQcb=j,ndC5*Lo0 - 9:t=1<-Zop[[*:j75%(t"ADSZ/"+KiIUIKIL&Yqen8?G'h8(\%E-Q?`fdY`+[\[N>cZr1]k - l?Gp(`@'iETlec?A^?Z^-7)>=QV9SL8GJ5k=;5S.F5e(Tf:OBs$o!s1VF/YNq`1(7+%U00_ - EjP1@2>mK:QS9#dct(T>`9PsoZ_DT-*\^=6(+WmXq[>G78Mhn+IM`Y6,hP>+eoJYGk=`N/S - WU1TBnb-oS.:fara.+SHNOY_NISO5ih+a)O45N=j_LJ1StF*:0N0hX#tC0^)#1YRu68#Zq7jb9e#1=3=L]h&>tbtDc@]PMI=C]WCr*X4@S+\W"ldoB%4WVHu4m9"uojHjLR0-%`<8q!0>--fN( - )@Nc*qR6hqc&[lC=ElGR@PGrjcrLKesT7'`a+O!)`lQZOu>d(#?`iCpnn@e)uj.s;7N*)*J - ODCRrW1&h!kN7jB#FJ`:^gG=3&M5N?c8h1Zkt<+&d]S&KoP[^e>nURgD-YWU9#Ssn06qYGP - VK&t!Oh\Ih,4*%oOkhdZ5XGGk^"U3am5WH)d[m?b7j?\)_[jo^5^ILY<(s+Vl]K-OC-7V6FGUhX7Q=. - :jZ8Km$Z>+Q`dUC]4O<6]h>_U*k/b"C8QuKn$i&jPJarg:$8(F\9*2Yi7M[8.35=bp+D]8F - mWf1h?1d^rnHH/[kKE553I23)q-3RT']i/XnCO_FaUZ`mSW/dGu!nXHb!ST7,,_,cGA?7:T - j@2]@-N4*LQY`P,PB2dWHWbft8]UfA<^`q$nY5ICE.XT!RL)Np$!qpV6E-6[a;g6gQPjfBH - Na^_1O!pH1[Uk:,!nC<6;/^m6mk<+-c0[J6C]JkX=1ru. - RM'(6Hh&Kgb2"D0LG+[_Yc,U/2BRT0uH[@6W>m0>W5#d3(%4:6[Uo3N&j>=4%%4Q_q[@Aj? - 5ls5XYH86hE]5$pqlP6UXU96sN*tCdga67RVVq6aR74F:B\i%_0t%7+2ke<"c>A(GQ=mNl2 - Jh0o&/e810oD_5p#CA6"ukZBF!/7?eRpoM`_^3lQ)u`O$LNKN^fl'ug)5`Y$0YjBY.FA&\X - TO#1"ZA7`aeg-enN`Je%j]LBg_W^\gY`Z/j8/8D&X8]J\`7YG_MjDr94(e59F`cPc]"Ed(Z - Bo.dT8!J0e1jPMUG=S`Wa#n1Xr--%@J&]jt7VmND*,!=i0uo6%a!?#Q"FWgGK?/Fq81]'W9 - Sl9pL<('^6SsKf*/MVIMoWbA`p>t3m#9$pM9.l78OS6R,_JD,NPb=<`Is8hAm#e8)V.MNB3)]-$f:GHCX0Hq&Xne8Wn*_OTr9%9puHbM`Qq\? - tQ\+q6`HAXon0boUf(&RsFI'GP,KM).247'>E_QYf3!6]2_[Z`JN1q>knZkbDnZUncPe@Ii - DY"SB"b65_IZ,2c:[QeiE&c##&a^m4n,eTXp--C2M_#@#km7XISZD>[f![#).:!4\\b;9"= - 3Cahf`@[kL9A;KBbgdHhefn)/c$LWX;("W(WgQ902!hNOe+4/fb*C@-9?baFeDX%>:6`!Yb - <3e.;R]?i@EgO37^6Z%M_I>*btJhlQh8/?D"*\=dC9&<:!DX]bg%Ga^.r4s5CCjOm&s)bW& - retbC[]//G[MX\B[e@9e=:1]`#7VnkI'_5cJ0fZVjHnd7\O0:)_R*>m8#(/PB'd9`4pn>m% - !^kYQs59aq0GpNeQT*)93]pu?RDm_/";AjMTF8QE`P=m."`ouM^6dE@FF/0<8- - 509a"Jf!7\<,;jqi0fuhn3L");W.V1A6>cLhq'":5%f0rHd;hih6AX\p?_b,FWJP[l - ohG/[3mHT$p-.899SFeVqPUKc - !H>,+QWYVnZl7.iC3s5@kHQ2:bi?3):!_/G1=D>?b? - ,c!3-J<>Cae1Ct=YoJjN*fF?t'$rY6=KXM&;;6:YWD&c0]+&UR==Ie7Vg4_5eV^bD4g<0"k - MCRH9p"erY)[eX-N7(Y,RC*BZZUL.d,GD5d$e3.P.b3M81?0D2.jgqA5koZn_,#h>fEjG+KJe3$Ei*,Yf3\LD;:qXGM>i)hcb4ZN!.r>i` - -/B;C"=Z@4#%iF5gH@_tI,rLQujXgc"Hgko&MmL(Pq:L1[^ghj(OeHi107hN_OXUZ.Yegb)3: - uCtJi"E>'%Js!ChnZY@3^pGQ.e(u8Qr]o??lgE@(-CTR_lBjfi>nBE*AQM9@-3b4gX\Kg0g - OcO=hU+Q:qa\U%R.2d'ttsF?Zj`V;p8^bHX2Lcji0IB-@Xi!!aR+Ciq=>Fr6sWUIUZm(:Ak - I4Q=++oD&Wsu?.Oh7mMlW>9.0^)@WeT_S_*(3+Qiq-f^9.0FcC!]hd`g-KB^QqGFuj?V - oMS^6@Erksj8O4dN!2S;\j"Yl_[$TV/uX - NV$/>>Mm6'#Cgd,hoo@?HY2,G@:idC$;6;bPQDq%9:ll3=R<:*9gnX?U];'W`g#:5R6 - ::]M-JY\md*lc%[PV0.G0s'U&'l;+:\NCWhT>!R$11%CCinYNp>;";=DS - 0J%bBg,KA4XGk.PJ?S[AmAjVIF5Aptu2Zg!UXRMWSE3@r3HggHL7.E>+O1tEd%e8[B!:4%D57oMS3l5Z\(#IZ-A - L9LqI>qf+`u(t;j^!O3<(uD]mN(.MQ[,Y&C#hNcc'3to5F`$EpD<>Brpmt%^i(fB]Cio,0( - IO1&'O"I%eaj4o^9IP^Q\#(?-g:/kAs][P69c.B.S,O?U,\l59DQKhK_,(5')3NFh_8Prt]^k;>%t541AVkB4L:@BD#d# - F>#McLG:jA@kuu2#D - 97`oZK.CIItJ02Th-&Qas;miB7WB6.P?%6numl1*-V*fIEDeQaS]C:gmUgYR>\Cm^LVg-\q4E?9f9^cqR!Ah#q4sA!+/8RLUWA4`qBV - #FQ_8Y8SU+)27n90I+-ZK7Wl"4oGhd\g#H2qrSANm[qDY>KbU.ZYVu!3\qN%]S-^I=WTDI` - GHT/3T=0h^1T6d-=qk(NI\#4Pm^A?HkqfJ,"pU8+4P57\eqH(Q/n#seK`P[Ja - a*`rmGZV]Xb`);d*fQ,h@MZB!GDgK``$Z=#bh/_["kA#0%nu*N3d'`YZOq5e.@4Zt`=%,AH - '9lq:eIT&Zn\:@$5"_>JRUJS\C-l`"h88U8U`IY.<";0NH`>J:/b1G*ms\1$GP[mWo\0]IH - C7f##lSek5HEUBFjH32T4V3qkPV-fN7P,rcJ.Snc-qlU_hqfobn)]""YLs!]OPk\CZYC?J&OtJ;VWS=%>C\@kYV1gHDPT)8 - ?^[h(4.9fen6JAH_r"9XhEG"p:U@Xqk__L1g:tib) - loBUF4:%R>,VA@MuhmH$l2(/k=1Mn^HcPY<6u"meV>0Oe89.M7Bk!9(e(^"9bG# - mPM6A_O^pg"7^5X,*^t#>HQp1dglV9.EX[R+ag!CN,!@WMI3ZlI9N2GA0[V[?*R1r1,(Ysc\o7Iu2q+AO]1G<=%?XOfd/oBdDV;)?.M2 - bl1e'g#2j4N0e9e;YhA]sN2H(t6q*X&)^%/NZU)P_=fbdnr824OXu!gJQJj%4+9heVtSKch - 1R22,nXFB402Q%>A:l[KU#>=-_3g_>J_W#UPl8F7"4YPgo?=@cKDf9@uTa3[q6D]0W]Vkdj[6d.&F+"WmJd - qG]#Ld2OMC!JRZ-$"`e,>h@5WYGRdF5A.C]!Noc7iHIf,k^/^RIpq)HNk4od8KP$UpNM#'R - $\s^S\mBjfkmj2>LgrJ(2k8rsDMau9n5cZZ\G8=dM/0[4Z'XGgDP*unHS__&CjUWSVjqFk0fd[m5jj,hJRb^J#IG%[kZ>*/m`hUFW7 - 6:O`EWM#1330NW!b-%\el"XOl_:E;2VFrUP-F^@$p7Ig<%:k1e/np,Ap]]^RgBd^nZ>9ESk - Grib\W#%B'k*fC_:O9Pa$-iX5ir!,d&J2,#VR!&,\2STbm'In1K/& - qpj"V3.qNfeJf8!pV),Re1Cd4RW#kk,^$1j=^0EYM!/<>_N">EPj&1cj9E-):AtNH-XC8Vo - MEjWl48;1;533=R@4>aLM7%T>_CW@MOZTU*hH8kV/V/#>XBNtTl37d2-/,ZJiCdT0aKa_rS - <]XjNZFP"JLF!)f'^Q29)?V$TI2W5pcR$/S(c+*@'-=k\gdQVBc\8*[/%(_sM(37BnX#_Ub - )4T%e=O"se,U.opRBbSOS@?.1+-Cp_JhU+eGEVYA/%]i?@=Go1`^?[f$#f:JVS=>K;V&s+3 - A,]:5mQu&@#M!IdE/Dn;kQH*WP3^0RAWrI&9K=#/htYVD)OFV+^PalV5Adp\;FtqLqQ#s[/ - r>;.AH^2UV!E)t0J?Iko8,V"@$N%\<@Roj9)S@^T - 2k2aH7H0rl%;I9!bR<,+7_NAZTj*Rn@pllh:^V^f()R[I;.FXXHd0"EcA:L1"i=g',d\lYp - O9e.\uh - *^s%VopXhqRrq-aiP2h0QJu!Zc"ZT73Mfb'XVa][nEY5JA!R2@==\H9/%pYIQ0k:#p7HRY[ - D&=BVVP1Oa]Z_[ZFWrRmaVL18+$9B\Fnjuh^Xge*$^EP2gX0'$Z1=ZIL!VecCj)gm7C'Jr- - Lnqn3/1EH0n<5I5lV+^9V<?Y6IbuB?Ua=oI`eF)Fhg.lH=WshGh?P3RQi1s.sir2pjRYc0J)(O - "Y*Xc_c%O>,k#iBf7cPfhC5ffaVfaX#S1Gb@bWbOUDO\V:#.o>\.MU&[m.!g,YVDArTrSEF - )>b=QZWqm/OFI<57(hUMCQL:M5S\eA(i9*,99e2s4^hP5`po - ic4+V0o>td3^o%)2&]rdJ/Ks?mS>Y*"l:tuAJ+%&Dj>aL0,qCk^U3E"n@pFT9#d!"=X,A2c-*crp'f#&qekZD`OiW,V!b$?.EgVRBHBRMrZt[3;-7T`]L@ra]o"&Bp51([n_/+*TZ#H9a@=NWrql3:>f`TQc - 6Xebk5m)bf+X!i4SKgnD8dIqFtqPFpE9LHYX#X%e&BT%g1B>A$PKn+7]$uZ1;)eAF=qonMY - T@XkOBCI/;UFZ7!mR?RDZ6^4#EsG?2ue"5eM[C&,D9P*.kJb4$s5LNP9&l`TmIc`I&)R`nN - ]Zmm'UMaX4s7`0'Gj=OF/UOL*Q)T7X1c_S)4N)JsJi4)@EZ\>jjKH*3eEj!L"d%'TCm.9].fh]ugbJo#BN$ - s7$cpj-YcSQ,V[ojemuN_EE@1t;![mFrD,@J1:ur@Oie!9op9@a7;,W/=9*3C`lVST9:9=g - Vo,$pBooRfbd>&C?JGcYnd77%D0/ERr;[8C;%PQcX0&%2eN>G:LdgeVu%Q#SQ'#P7tBhq_0 - ljX9d*>beBjY,u^AbcF!!p!)u*jJoM;=9eX$C>HHSEY]kZ23_Tr?.7+PNgeYalac:$CrW"+ - ;,D4Op`Dsp79VT+As!uBiq!!kp#[BS-^2Y.6/WY7j;t1S2*MX$-s]V&L11N,LTPW;CNqj3@ - -F+T/'O]E^qIU`1CuNNj!ZPY:EM/-rR<#P05D^9.FX!.8nZdP(oTLh^fD$.FOD0ZKj+u9eQ#$.LH, - .P63Jdf-^(M-*m+ql0Bo6h(]QL/5mWCdh=8f74GNV02i$)d^q9`,r.5q0iHs]14M,YpGCl<:"%7MB,d-(d+A=BSRH2q)n/'72\pIlLAb30TC_F-AT4P - rTME3RaHY':Cm[T/q%g3g6a.e$D*A[lY864&`aR'>HY.]f_Lr4L<'je'gGnf0&ZZ4]C0"PM - \Q&j$&[c51A[YoBSUSpHMUR5;W:,Oi9K4=#Qkd2Y7A8P@.G1H;m>39@IlG'@p/?+B0T::PE - RI1L=1;G=&R-:8O.AKr7:;-UD=/6tHN[<)#a0/l<_b&@m:K64GF - U^s-k=me<99cPOeDj?SUDuV\*/23K_k-tV+WX0L!iO3CZ0#pKb6'Kb$k>^*naBI89dKHS[HJ=]-1iEp$HNTic - H.=L1Y&op[VBV_Q_ab,<0?9A_gHr9" - JhAQJ8s/gQ]62*Y3@;No+q@@2rB1aK54N(G]s=,f)L0LYo;6KI5e!HpbR9e"RGKMF#LdalS - !oM]abjp'K5IU[iXn`HOohBKt'\j(h!6G@+4QdKlH:$3%]P[YeCruF#[fYGCbSd4G;6B8TQ - eD&D)f(W,S7@ucTPMK#8H\FYFK#Dh$-O4`iCfMR@LDWeP)hG:,1R$EVt5E6MkJ^;r"(9`2q - mcmpEOa(r1=VZ=d,uUN-4*=TafB\WDnUB"Q;fUK(=7/5;MZT7Ok$oOR0,V^^Dc>$aCp@o'N - XM$[]7N"&Q'f=Mq1FnkduEmsMmq#g3CVhD4"#k)4?152hH8,PLslC[=6=]_(/H^% - [p(3kCeGfof,3K4iiOr(a))(1i^S!)+.MAb01q;78OishFan%$Gf3\Pntm>s?WSo(s/g/FU - =&U@P!Uq&b@GZ0=-7IhuCU%I^Lj7q1$feNC/Xr.[UFZtfqULK6[B - 6M6Yo7>9We.XJ)]ACVZ^VH;gJOAS+1,6,LoS:nb29/NTsks;MYd@PHW@O:J#-b:Z4"FQ>@i - Ike$Ah(ZTAW'gLI$^o=)=j\[rlmqd6oacYo.OM`WE=RQ7tk`O*69[/6c+>A:\G>IOFP\Jnn - ]HW.Mfhn==`[G0KIeCd#/5^pY_3^06QM"9<0@;Ea4I\6+1MK%R+87ZC!rG49?%_KR9Z8;r)q&1pW@41`79s?l- - u4#TuK3UbXq>,Q,h)t]us[0bhUmn>YiFGOIt_g9io459\T=k - -Ieej5@Ya%*McLT<.r+jS?_9m3hd2`TEMZ"G?pWm+*R!fg<*:;-&U!RLB@iVVt.=9M9a'B] - ;aZWGFr3+Z,6cW5;@\!&88GkSa3W)IoeD_8[g0'j>nKp4HEaZ&Nu[9T+g,!q[W/"& - 822G\k#SO6#GKLah7\P0F9a\UG>)r^@G@79E8A6Gg8Wjs#L*!T]?Rc9a)g%K!ScB4`VkXP7 - j`QVob`YHe>Et_#7J_gjkl/0hoXE9g9d])pDog:VB,%=qr=^s?f$5.N?/\@D8kKTXl-a^h# - 93@gX3$lg3)+hQ3Lf]?7Prg%YgPgBKf;OSf>DualE\Li^^'3#1M[?4lZHFj"DV94rK=*Ols - EekO5P8Vh)"^:1kV&h[t6ThOWkM$Ht\^h;25hS]Tp%CTOIsgb98k':V7P'iF'W7'gA]-%8i - 8am=-q5]=oo91XV#a#LI8SM9;7+U:<,4d!DbkJ_n$NftT(#>ne*p?>n=KUH - o`S;aRT3]/=aqSm+"ckJku&Sun/i&.59rq[),BfC9gr(S5r81qW?D6s4X5p0UPf^Gkj.EV-WspP!2M'5.!7TNN@T4LGLk?]Xm;Mbu^*oq)e!?_@'W48 - I@/qB#t;T3"Yb5P[Npp*G5kT7&]+28H"#/$<2%eoedbY&oC<.,C7EAC/cMWc.m]X9&D%It. - M13#!,3$%p+QE*+@l!=4BIifM6_.N\tU`T*'Tgi=ndM+Ajg3?0qS.$)BAd4#c=9dGqC@aKB - ?AmZ77:1c1o,h>=JQ:bePM/<_e-^i:mP6s.DO\;7mk>WkC/tH+7d:tPl/GaiuYLr!f$S8I, - "KG9L<6Dn[D[4"'_D&2eiT>N*Z)slkiL9K?GeCu7Kjbg@e0G`unL>bqL? - _Or4c47[/`o6?2]KNQ3TXeD#>$@M5$*)M=o\/V;=(t[NlLkobj[VIlfjM7R^&FXDO54D)3b - nAoe]4:l3E+Y^;f,@lh>4cjL)/%L^0l5NhZXO]:[%7kSm<*q\_6Z(Enn@#T-s3;HTRj)ZbV - j@:>;67301t)n?._6VW"f(b&ITfYT"GE2D8Pb"L8LG/GCphHn_ofd$nY05k'F^f=_aV8GC$ - h44KTZDtA"s7*u(3`5N8RB[=#I4@5W-DBp4a^+PUV+@g+mQnq$gRN2bpP*D^h6'#i[-V=aK - ="DFL10lKU1Bb";bS)``/4ssL^GJU49NI1iD$/6I['M%(2bu4TXHLeJj+TZj1YgkR[PM1=5 - YG&Jog2CE`:$+<4^LX]&8!<=K=9e9 - -1$8_)@.AQr6CPt>6'[InH2;q(\r1>"K2O]g:Xc&Gh)Ffgj>=&t;>;UEu(Ve+EPjfMY=(@= - h2<#6k"@G4Xsc#$OJ]kK[[pQ`pDeQ7_$BNt4ZMf%/EapLTt.?FVIJ_'7A]I$ANm4JX&V5D>RZ>`c - %B>"j(et2_2u@*>][0,2=74aRf:&J&V&+O'B\GSF9P0E?'0Yf5<_6\8U`)*"B.irl'>l"[(i*].O2(>h2Q7OTR^7TZ]1SU@@lW2T.-R8Y3bKY3TrIG_H - 38LomT`0_gq=is).#%abTC'UVEQU[#hNUs`L-krFMa_YskHW3C)`aBZUN-6M#ZoIY/X%lf8 - roX>KS5R4E:"dcGg0nZc;YG9+H/(mP`:7be>&QM`mkU^Zl^j]Cd2.Q1k0/OQP*Q,BolWaLeG - r53Z6.M@K1`(agn`HjP+;>\39X?Z4`rbG+A,u_WZ=^$Po>\4)?iiHl-G]bTGmZ,3mE' - C)MYq9m"L]Wn%(X6q*\P!S;^4/16.g!"'EoIh^c+UZ.D?&PYW66XVE>+9;B$gD+d&X'5#cO - b&M-#eR1L0V"W!3@m?)sX?\,h)9f*?@LNZ"\/(Y6dP==4<:mbT(<1;`RtiJo%DKCfMWmCC1G[JiQ:8&Q`2Zgp*u0i^6f7!a1+^c%SN@)H,_Y=8dd2gXoKfqMn.rXc&jcIL_*.[FGddD7aKra/m5BsCDFDl#5s?K/;JnA7 - 2sGV8:-N*D#+IDNF5*"BL5d1RC7L1]P - UX<:N\YU-?`aV0R`k\Sdmc_d&MH1l;a/B7)OL6p"??ZMp#\\7 - ^6"l5[9q.u$@^ZCHg;)fY9B\j2%1lgA-r%AmN%@==U5&eVjf(JAmH*(QgS(AH,Cma'BTfG: - b8IdZMhV7G(p-0MJ=NclohHu99%+F/3s-I1o&]V*\k`!&:D=ReHU"pmb^=KcEEZNuL\pjG1 - Hg@R"/ouq,[V4rqRt?uEZ(%oQcGdbgq=!a&d^PQAb?\23mAa7:3PO/$*:$%$D"6*fk@Nn+U - Qf`7^"[a4B()6#BN`$FcK^^S./]n.Fkk0ZqmOh_>]Z>#4Yg.sg.d\D1kZ.N(b*"eTp!hr8B - FLRl,Zr%o[ZK$R!iVF9,Fi+gr^5hYG"1n7[@DdPZ`;?%Jr:fQ1po6=UqR6FipNkBG%Oa?At;[#Ej`&LDa^ABq+)`k;%j1J=7 - ^r-=6bQ#(O%^jLk["*Y@MlAT'hn!g:^haZCM'B\)cG9&@]W6]Hd"f$bN'IL/4=iV)K2oMl3'X1_^mh.6F/(r%X24-9`"X - (No4:="g`'2;M6"t1E_=$6c8>Du&f]E8@oB+#aXkW46.%^+il/SI\ - 3Q;W8`l('\49Ig\.R./@Y/F_+nFB&+pnp/#_N].4<$T4)"\,RF,+MlA$Sk!M`%6":a'<4Dn - D;(lAO/rL]UX&U4ER;37)oBm7hg0e]72YR*O<%_5m\#k/1sEA7OHUl#b6.K4DCqQ(<0%(_L - -u,FDa<:"3<"M8NLZXgc@sl>X5rg^U(DhoU3dh<(O);a!6('b^_YUT1?O%&VMo3*&EOiP;h - P'1!GYK'I-4[UU7D+Z)",&["^aWPXl4=+uD7$$iW[bCJ'PE8N_u*'U;5U?:);d/X+2dgC;; - h5Ke/5b-ZU;ZqE`:)+JYa7bJJ4jB4VZeAY?772[:>J[!@>fdqMJ_27?_P!LAq:<^Z$,m'@) - r3*q/%4tJ46Yb@F,329us/IU3/'PZLA*9mBPg*[=brf4T67403mBfL?3*afs4PH)6MTiB:S - QlCZCRD(hdPdT=aA\&BHE7fYkdK2a:'5FZZAgALVTn*CcEcu;]\L$0l:u[+)T$E`U]R_tC; - 0>t-M6e#=i2b9:sMGEcSWA9"Qn$@ld#An9q#b?F@"01dPup/:?;5r6@2Mh7a7b!cij3:1_A - "Zj#.>KX(:H#U!O,ds31u1.a7mm2!WFD9$J?[T2K,GSG^\)RkGK?c7JY58mG+g0rj%%:3@7 - J;o-$X^ragTdH'XD@WcJ.U0N7Tb:o!&o14uDZRPBYBJYL-O=cP7-iUCeOEegcpr - :-B1cW>DOn*D?;?:i.MXo`:g>/l8)l;Ne#Wb#m$?hp;fg_=\>c/M>Hq_D0`;XIN'L$XlJ.; - 33WR%GFD"Gnrh:=M8h!c[hT'd?t^-H'd&OQD&#[V+K0f:t30M)"gL#d<1kVG1=?u)1>7ZEH - N-JQrO;ge?)`=>uoKaN`=\BZDM6e:gfNV-[/5>F'D:eBL - rmR=gp@>7fn-ef@k[M1eo`@MZXg(N!;UeS/#X;cWp;/dVtord$QY$2XEgE - !NQ-*u>`[+d1?gI8PTS14t4Xjp9qA#;Ql>i"$YI6:6h"l6<4;b]@/L#Cb2hHh*&c?1D&>gqK!gEC[Eh-<$$ - jjW#lm6e#9T;CKk[G%3mOBr(X,Rr70e]6*k4'_a@hYK3;N:,Ml-!jUFUMNHH);$X - E)T?ck<7Sd43l[Dn4+i&X'YfbBp!!oU3m@7;*mo<.!-'-_#e\CMO*dPG7lgu28^+l32@jql - s4e6srKiQJT*ke?"]inlWobn\FXAfkFk-=IZ/;jH\..Jd8E["oa7gdRH$A5gu`^=e%1)oab - g@/JWHjWr'pj.soZXNkT]@Er32W#X7&3b=4_;ZlEQ9@nNmk8gZ^+KVl#\m2Ybi - j@%m9;O^7jEMH8p8'XQ7,]9bGo]1WA^NMu_XHpj&5e&q^2E"Db$UeON;e0uq8u=g-.FdFRR - q6^V_j4EI-;Dm8J'EqWb#Tm$hEkf>rl\>@c+)]7^/rV<$iVS6rY-/^ja-(4im]4i"KRj=H)16k/9rD+j" - \A\O:=4XeDc8EJEP9AY_Ak#l@EE$PQV2\a,-kc&&<_nOC/72DU\;#!Sl%^ed#j#]T_<^F-j - Vp%TLA(/7bc?&*UFMSZJ5(mOjj'q3X5&e]0*G:+plP?R8#*pC7QY8"Q^ID5?U - gCCQN+`]\B)X!b&Ud!8NCeHd**h-rJ@`$nm5E$WSrO9gFK3fSm1)YLT&==#k0#Bui#^#*qjq&Ahb_QU6Y'Kj*ga) - 6Jj*HD6UokPDLFojXiiWca?Ds1_r"fhRW!YVdai,Mk'Z"Mk'Nj,_'%AC%>TLOnFd6^+P2%,kC8OpA"j^f1+mgn8AJWSKL8!t0W,O'U$ - LT>2/NW(0"n?p\l0c/s9=r33mVf>>m11"/S+GfliD+:jb1#kJq`!c`+`]q:EFY_`2Y=JcG@ - YUB_rJ/ao_6[$jq4tADYF0PpB=i3g[b86bDeu.7%Np%j6=Q/*TjhN)#]Tqn[ht+S7ma!W8a!T]13HF"Ja`Jrt%mo[(6b=6CmLG" - 1lkT'FE:XRa_\p*O]0G!@D4MHhWPa(I - SZ1p6OBJbE/\Gomgj7oAgn(&,E=F9_];UH6j7R!-KMoL2sr&]m:G\R&mP%4Xln^1H9/"n=)IZG - VKSjpU#,BbmZHkN^/'57op-c^^Sg:eIRE:7]Opi[^/3gAIen7Mp#i^M<8maC:%n9ZUc3:.R - JYAhfVp'*b\Zk!(FX@)LWu-V0%-_IS3/@`br5`mIM,HU0@&Z:.]%6(;"",*MS%2O"T87[WY - OFecbK0(L$)0;K7A - caI_'Lm:k/NG&,6hK#lfQD?uRM>/fbCW6R#??<$iIfMaS^#\28(d"c]0!n+dYm,7fu,ij+s - 4N^k(M9O`!5%"_D+S4V_gWDp;`+.1+1dQ&l@D`X%UV%VGI^(Wf)80\h;4][OVWE*W;q1V-S - 9qG+[e;7H`G#BY)\C/;`:Jo8kf"+Dc]_ZI*HuJG!02ag),H@CL.h%hgo8RFt&DO346q=@TWd3QK5G"Z]j0H - Xq?4[)24Oh57u?`%7\c_',]o*BC]=Rj9[2Wea'PQ[.C?BlSDjk:a!'P],?*EX"Y4'1ZRm.@^m5lBL]B - IN*gDO^0mb&Fr$YJ/%lOH4V,+4iaSmTkhD[E:qaA(RYo.KM-qOqC.p_7204L3du%"-c.cjKq0Zn/[:;u`^C#0j# - fYe`gS_RaOM5>JHn#FZ8+oo@3"Su=ZgN!0H - +cD<<=bg&P))dLo0hb@gS&^!@aHPk6Dsb$T9MB^dCJR/->_V4e5h7N3[741%4@pXcAkd0=[ - hS._ktqPN7(<9:FCQ@UD2^R9r`V3.)eHHo9Gn:=fG))KRTkaeJZmtk:N[@=K#4PQIK!n"=, - 6QX=b]`c'k>/B3_jFFa?=$Wde18[4%^`,+R/_hbiU6G+&"9[+AL?679_MXOXUf:tj;dX8N: - &1K(nb.g&SHh,(@VqP`&(Dd)JoK<_fWZI160>HE7.Zh=I:@gDrE+-R%@q$%bQ=G"gQhFE7&M+0#.R1aK - D5K!!>/7Uf"D)/gPak:GRju@R>*Tg^dnLGYl7s0nKc=bENdjR0A6NsbjF?@"d"(XN8ST?\f - _iY`u.SR_o*dfc_q?ILCN73CMhM9&FNR[*lkG*)d2o8%^8S6TeUbT$/cMD0?Z;!C[T%93]H - @$oLSH5_HL8i`"?Qj-2lM7\C4b#Lo3,$CJM@J$"7bBq&CIgOI0SZCOHRg^9b](jC$pcs$nJ - gF8X-a/=p=i[,K\pXYIPH*\gY6@YDG0H/pAX70EK9o-^"\nJ=t\WXa)c/c.D#6`mbGFLHJa - _&]!qD1htt0.D?`8;[ncPQ>R,^rIMokD2Y,grgP'V7/4qlGGi3s&J8j?q`4.G/hcmFDnBM] - h\;o_3*#W[7^+I;a0+H`"O)XRe:WIaq0'7,DS9(h0a176hj]rC$oI`5L3QET(l>rQec?%#c - qY&j;B6\@/T?oVp=Q1?2X7^q$eG3T)lhq'eEfRQ-\K:#$]`3Y,:2.QA2dYj`bFeIAIF7qaG - Nt_P\8cEJbPR>gmqWH=pQ#@,4*QNUrTfjFr^#<8037J2S#H%06fC(MPOSO[^3SSSjLdE(ko - B.AW4s5$Gcuhl*e0>tDV+!\YF5(?CXm[51$a4j\`978fmBo8`Vm9Cn32W?q@2uK3`i'HSi> - a(++f.CkGdB$!MsTX2mFV:&(rXtB'da2pU4DLC7@S([Mm,lSQoN6n%M$Z0"lcn,.tY6Igi$K - uU?0R>?JEsU-!.km.n&.[;Z0b$Np$kR*'nBDFs8IfQ'rieNmKF\NiE-Y9*%e,]jORe.Qln< - Ns=Yg4#&Rg.9<)fcN*1))\[Uk - UWD)H"H";#qZMd<@p_?)6jDanmO%(mk%C*-kNX9dBn`#6S6a"-8M2#Z!@.1?q$s9(1OrmV`P[aF"q]r - (NG\kdV=Y8aK0"]J5M4]%J:oS5;El_)s4CY'&+d1.kV9/0G"[GOlI.ag_!VaC?g< - -kl]s,qVOP@4WX]-FXYD)0cbb[hh+q&ZkW5Z4-n&igU=&N)A-^scFEF.E1@YqBt4-W6%[o5 - -$5]+7I<3)G#OZbJ:OV`b\"+-Ub'Z8"B2]-5YT1@o3APD:iuZIoms4B%q8du-8NN^V;E&?TqFJ2j,m?Erc_,+\6[r.?,!.ZfsED - F$B5?3&HacFGi-.Db8Ai46u)nZQ;HQK/-65!O6UrdWX&8K.lcm`H+)W'29QI6:"5brJJ?3' - Uls^[37<_5'+8,M).[5[6:n'7F_9,-eCac),8K461bO\P[-^WR8PFh;%_[?[!,(4XXI)B;, - ^eRe=T,"bsKpB;q$4q'Mgr7i@r`g4S;K22*X`uKi1m,;)#s]<-p-8SPkU#;Ud?aP/U$N!CN - *83`MGIoXe/S7p.5J4g_+Jo`mi<'2Na(\(=jjQU'g#G - r;d36gH.BMNe2:N1O]<*t,uSS[EN<@6"]VnG?$4+U[G>1gh_-j,5LkZs1[S8noiMsR=B!AW - Q$"TW)`#t@("EajQ*F?=$!DDS2Di6)[)@alju)3h1#Wr]JPAG;Y>Ng#qNE^Hel-.$.i8E"( - f(?T2KKSY4MkaBXHj)r[G_:TB0WXl?*m?L1UGra#e%@4!lhZdoT+ - Xf"5sS@rg,[7J"E6Fu=F9pBIQ&oojMVdrT^R - 8O>@[Fn'H/%s%C0?=X$qGDK'sTgY+qDH-j,B%;0n+^Od4E]5L[<;h1:G;WHuE&S_W=,23). - sTMFGIFboQ6U=7Dg0YEEHb[%Mq56BWi^&8JEg[Db8.e7._LT`\]_a>.RL@A+L4t@Y%r?n9( - KFC1P/^IZR\qdlaF@6.)"r,]dl7!8caP0g9qh&]i["Ape8@.gP.["K30&!fMdNL7\;33LDX - r`Wh5'6*JUW,K=G9E.p%B`Lo<:lUWU3$fTh3DLPQeJLfe_T30B)cT8*^%"'LR:)YR/)`03K';NOdVW&RCT#Zq5'M4WL>iJRX - )$)3O,'!YFE)1S'']?=WWrt.uUHuX'$XX.F,HF?_"[@Y?4E-9Atf=(S021KU?2-fc[a!l&O - CnNOf"[)"E`VpPt.LQ5LWuRE(*+c&&rV[u.eZ$\+7A)j`SuU7*@9=t-1l/YDkaU"EG=\acF - T",rZ`TUJ<2H4cq)lEkfRMje"F>",'P8Y_YqO8;/&>#V0+AYSu2MqSQ7H?-/L"fE7TUO"em - \r3?[NjtO'V0\K(q'W%#%?d0XV3j3@\3Zl.LSQBhP/E-?'[)\0M3UePXN\@EFPC9R2NeZ(r - 1eaSj/3fS+tN)\(RF*0[AA7IV1)DH>$3uhf2m54R9u;oY;[.U3s0=9EI?=28+ih^pH`6\>& - ^g9E*%as=,U@nO0R:!3EIpdGO^'d"`VsmYa.MXbd"NUq`D9.Ea)>Gf>C*YF0F0bH^=?/pSi - =_a[Ni2LiO"h4=Z?/h>:FYqiH%)3]p+@pdNcKW=^6ZaHY - GLJkWF"TaIHJT]>)(,YJshL?(9#BQbggKO(e5#ag>!gqt%7$ah9Xn;k*m1gUG9S_@u@g>hRM0kKS@ - 3d(B0+I1Y+U"1W\fe+TWf22TTu^XTlj^jPI[gl]DM@bOctZ!;(LRpF:0;f`sBH.rAO4=t5> - o;mYmW_VF5:Y1m[7QrINS6Bh!K0:g4a<]c42bQ$0hG`uW"J4 - iPbFmCh<>f9[7jRkJ.)D9X"CIsi3jSRp/,J^dukc90S)^%9UA\^)9,hu-d)>tr$2A&g^0bh - ZFMI9k_NccSEZdMm\a>tO!\?c]q>HJT+^$sh2&Ze5p6Y^SgUoI85D[FTd0e,Bs=?9.#7V;3 - .XZokt_4u_C`(Z#$ehEFT&UW3YChhO>XrL0iT(C[^V]=/Y9Up;7 - 55jS=l.aX)++DJ]et"!l#La@&jc\64St"gSWQ^n`[soXmh<0#'8T&N0M#_82\h39@F1t - 6L+a="8YU0Kb\A(HO@Q#Xq!?!r"-c8%o4c^_B-N^=U[Y402KM*W;;lQj`@=eAVFY8sR%l@[ - 4-Iou[7ZY]!D8YQj0]a]cGLs#=JFA=Ks"KHTNC?!4*:bN@$t$ZQ.k%HMbKGoBNO[,C7BdRe - S):GNN1lBa&&oSCE;ij)OFqi)#Oi<'0"3GnbJ\m6:k4bk@V)l-At<^a_.rd%(;4"R]kN2)* - 1748%$b"Fn1uuj$16(nb;p.VP;>JbORO$*Aj[\VW2MS'_pil;'*1>\(Jt2:DHdeoD9T"mg" - !ko(040XgXRQeaNE`4H#PIgWc$K02'=]X)+hSs19rmPl`t(ZiJuK:h/;c]F[HKW'-,%@-PB - :F6;pX0.Zsl_iUoP&Aq>.]_"Rk"8;u<&JQYh7BVjZo/5sK=V88cHmI4U%9-I97M+'Kr'[\] - GoOhc]Q5>]D9Od^aO1Kh%mpi&R#f9`e8#U_0>+>'_U;DteAa9a&L#3>N40PEbp$oX9_/=T/ - kIbpM(H^:4HD=rMRt:=:Fa6lXfkDrN6e]peJ0VlY-["V-o!jjo/9F^`1G?ag*"6`F6s=AWQ - k;J&h>1_#?83Toi"o8PuUei\8(\=J_&A0LKmn\?$f:HQ+^)b=,T4W?Rka1F&uI%,B_h/B%j\1?WYn)mA!Q_Q9'/(gc$7E=P=MWB43&c`F!01(/;2K>E$8/0ig5ubBR9Xh<*8 - EeNNGB?2#ZOQ!5'"(P#IC`SH-tf8^)Yh"UcqYd??+R=er#(-?6D#[IXdA4n6gNFDQ5Obr,n - <\87ER9!7Mj4:YA+Q7RA_1Um[L3]2"H.@\:?KhYMI:q2mBio!cAsJB`G0VD,ijG()\*2I&T - p'+M(93d:]&#B6kr8%.OQ^ZGag'qH<-(i4gZ47/nBo(fYIK&O:SB#u7iT:@LsV- - WM!X+JBO&W1F#8@S%#;)?!+1AfX2O%1c?q5;.jR5Jq.f%MY^/L!_1t6ffg3;g_AsE6/g4BW - D;FJnBqFmJ4LF8Jg@0@5C`[1.I)!)5;duKofua-O;pGj30*6d0;-i\?d4:&cdr3]^s3(OIW - )qJWA.36:KNi*E3/]OYOEqaB6b"UP)s:;'mP:=Ho@#A:fBr5"J3=pCuXuR>UP9.)ZEV%4+E - EO\r8F_oZUC;p:8f1;5]j=]HH+9T(=gJlTr"B)Uf/TTZVr5ro/^80?i[RVDuJOa4,2k+p\! - 7=o9<@P]s@%,m[S@$AklRlAKKgkHJ?EmF=?-^tSgj32DeqTi!:r:22X^V::Nn;m - jocgLQd[sUpnR:bf=KkgQ]3*e];='9YVtN`ce-dF-lt(7@[T^^PgC7h0Ko!%!G.gqfX_7"^ - PI1$!eQ/^oC+XS)XnI(M=K?.8/Xob/F*?0iknQoEKfuf/VQj0KEG7!^_7"L]^e1O?$1d60C`]/#O?n>N*0h*Y0fVYNOliDe.7NTNn-O\r39BEY_NjpuTgSYY3)h?RPTt?cC)B]B4t_C - Z^uEe)8eMu]]5WjjAaEgf'1um.)7R.'ki96]ASo^Y^c'dajSSTnD-c\RH)DM@)uH#lmK:c1cSgh(j+HpJ - '?do0X69@AQZ;F>Ykg:/l5^+5Et.$R3M/@tS;KXR/o0!`h_4"qB;]e,dF.mj]AgLgX*.59Z - [%mHj*P-)G0Ym!3$2n%^"9&lPs:t-QA4n#(W1KI&`S1;I%D[0m%&7HNmF&T6%lf=lp_%XVG - E1M8TgAtl&da6ga;UV!86oEalq1$$1m_R>]KNPUa559o*'WIAE[O5Mo60+ns3hO04tC#2WX - NpMH<4KUZ^WV)tcct/LMWpCNsrURQd!7)R"Q%pI]:b&KT$2q*LB1P2c7?n'$qJS+f*B[5G6 - n3_Speq7X8Ur@o,>I`(jNjLc9%T1=6e_Gi`<2*Y=F'e1rQg]P=Wq%!l0V&TP%=QhpG!@AcR - T5lNs6ejl"@_D7;Qj]o<+uL\,mh(Z4--M@F$jW&Jd(jBW]t=r:>OXp5)a2rt)RJcqoAdZNd - Qsr?5VqoD0g\)Tn%'b9$:4m3e+,_^+eo_n\YK-j'GiF1OHp8X22GR2+(V,6Yn\DA&L>7VRr'Q3s7UP1PuR-\.CHn6,:"'.KGQ/DA@^%1h$ - =q;tH)u5==-$'c=BrgR&OKTK_-!'16M!TY!THr44pL6s-jU1][u`-G/LP6nCS<"@p#p:C1. - T+7)Qe8L-U76o7k1`Cs%F`'91OY($O@=P#7+qW$oIi[] - @(^!p]8U=0FAp,"B>u23`\L,F9/X[&83#+27\!dG]M_2:7O3q2$^6gpls.L2!fOSq`dpt*1 - e*\9D9#=ZMi0HWI!S4$50(<0`lktagk!N4Fca7;7@[]tKN:VtV8]fj7tc#]6ub?k7(k[;+\ - Z(\6qbU#:W/th`iOrX1kNchM)9lL8IUMFr/=/TEQ(m[a#&Xk[#N+*Qp*W%4LAZeb[:`&1CQ - Xf6VKG]4JYSCV*fmQ_E2_RgHpuGkt5qo4Q-'.KGu1Mg(]cp7;SS>jKHRt2S_GE$03+ee*K] - VI`Z,c9/I*UZ4t*[.hL?j`'k@4DroaM,=)bq-TLCqm]8)N8ce` - %7:mWd."&YY.[#bN,ghoHbf:&LH5Y,+Oikg3Z,3@#bYn8Gos5i;,mlGYPO)PiUl-Ut),rpI - t5/5((:34LIqS9Z`59bCUDP)s&MRf*G'^9JkPIbiL(.p!4lJb_&>WPNGQ6Ll`r#2]Et#0dsV5CPrU]I0h_t?:Xo)3/H1lEm*>i"dH(g8/@!Vd4&@+@`^N;Bm) - 79Jf@4nm:FmP7Pk7l__5AS<;b\"VbgoZa2:Uu$bQU2TV)V?mhl=p@1aO/;7.&GD!`J\mLf? - H8UuKbVf[RbJo2S49:NWnke/(pb0NF*Fd1k6]"_L*]s4&, - WdH(j4:o.1YN^&q#edY/NSRU&7?,ueQ;q/_-rGYHbGZ.S,ceQRDPsr='0@ga7e@TqRo`/#R - 0ND[Ed!]8&9hEeK=jM5==:K[PATq&>=&%IGe1G=T,mDp!78[WLeD1qjHh#8gLK@H2f,\!k[ - -P8^M_t*3eXAkTrK\^GPh4u5=DZqidna)a\t)PB6Tlm3?),0BUr,Utd^-rM2(dO(2d"Tgfu - l]bgi(7:gfU\78M-B(-&e$+9I4aVAV8I5hEEMd=05cXNBT.h,[5]3fIR0OotaU=6JO-T>>;e)_C&SrM:i'B,6`j+!aAJ - 9P[$AOgRWUgNCVGD0[hjb)j4O%P:MibV7>KUe7TpPj=nNZ_]k:ZZ_cWbj<+V60/`'*IfNAsOh - $*(C"\UYrh,Uiff@?>@p%CMToEjRdg;M"f.U_(CjYqVbe.$?>%GB8G,@.\l>33'I4ljOuB\ - $2@i(\)n4n7HInqm=ae%N@qA[pYe`DL4@d7+4Fc0sN<\R6pYg+ih?FetmG(o9tFb*9iuOVV - <\*2[P#>HA61D/IK3Qd?b][j=U@e^r[AQobHNge?GJ*YZ+gH=9]S>IEu8?7&ZI+P\9,[D^* - Ij]c2i,2;LYghnfT4@J!?Zq!PG?-XhQCs-(32W&[-hbB]_"8PkGjj6@qbq^MH]tIpP6=^!Q<;o0c[P?^Zb2dG;@hek$-$%C^5Z.M[_Nm8lmGD8fn3/I0>1H%%VI@L37p[>r]*2fn3_ - dS2;c356jl0mM9;:\7H-2m4PAIA@V5OHB%;E:N[%tD-+kfViN)`eFO"QPa%jN*Ye)&4djqU0*NpD - 9BW?6[@h7ep,ck=7kn]Ad)WGGR*AT,fkd)]lb:%'_O0GYSZC:HlY*`q0-*d`Al'!"LcBU+7 - /EuIPZM'`$:73_.b50ntj+L8;N#/h`frl>n"\Y,JRO-F3'10(,*Ap - 9(R,X6N0OY>ZNlXmW1VRj!7D6DW1^>*SNh/2$*D=']IeBto*9St:cZP%E>L5ATY_L0k2F``kjC/k-@28l&OmZk3B) - jZEIIY/f*_iHM$XZc0k#dYD2W57e(C,YjRP;me62>?F+PSXDYbdC6nTJ1)4M0o]p[oDe?#I - G5Q9Ek\hgJ0Fn/%f(^qK!cQrin*^)B7fdP2_sf;Rn7M'+?O-'B$uaFPE'FSH:7^n3$?#kPn - )(GNa.0qp$N]N6o[Zmp - +:2"P?,o!oS.D`)U))0UNFe;n2+'/%I;p%U>G!Aq!Q>"E:C;SS

kH1NC[pLdWP7riccH?^6-p?uYfS> - 5g6. - 4+rVu,0o"OLP>eT$#ncN - r=qqp873XJ=9R]8PNCG1TaLn*9-Bh$^;Q3oq@5].!7V@m`bk=1KS'U:sM58"@ - 7u(",<17AVTe<'=@2.u1:9>h5<\&5pXZgr9WEAAlX!L)L*3WKsZ8sk?AS[B3lZ[%0`oVNXf - Pc!!V4-L6\mB=kloi55Bte#NGWSoL(Pon0X;MGLB*3jkj)(2HmO!@Vb%ELI3>SLTX0ZQK]$ - 5E=@C+SQG$Ag\hfZKdDE$=`rj*[gM*h!Lh?L$Aa5HA3r16C(T@)9_q7R8\K:1*Jjng(sY@" - +_n9DOY:8\c5hXpGe^>D*^bM_]74b"!LUUTXer]SRpbk41rA-2eHDt:pI^p#@(mQU,Eo)uj - jF6*NkO5(TX^2PnT$Tp,u1CCu1X>(8H:t,@I_p6Ior5>jF:BSORHq+acZ)`ia7*XdlnOAYq - K-/&ee6qgcYN/P#8!6PO$-9BTp9+kM<7)Y:3'eiGQm+4eUZjeHT;3 - O^/.aE'7(I6J,[5gh-ofUc!<)OuY<)^.M.jJ(NNCQ!,o0!U0I(0%Y`F"l-E`E0TX2'3?3[^D#'>':&q"'P?:G;%=.I+*#V(0tWjc1X:0DU%o4YBVo7Q4n(H;U#_;fH+VSc":=?j0L+c#&:Os8@N.j4phY&#^HLar1-!+lYm - %S)U//iH.Vj]Pe*NBU"4-'.1j>7$37W5G6^,5ATVS`-\GD4bH#ndh>Mfq+1\XdO6gSKV*V3 - JZaVDM+k)qK@m\Xa69^T-r?)Dk_&/dW)(VR]aQ%kh?lpU>\]Ceu%dPp8tdh=[(6>lMG2h[q - Qe9X/RS\NqL"oqnhF,r*d!O?q`pu6@J]+lUD[if?gs7::4IX - ;B\Sq9#7&BFdpBe!F#kq>cn"$>N\+U35(!^D0LL/s/4.[hKDqr?Jf_'[LH*-hs+-4h>ITNe - ,G5TqA`d0fu=mE'Cmtp1OhKO,5G97&0M=PJt/,9*Hs-q7uSkn+akk^m9i-N\Vr42OVp=h*e - Ih2qb3X:+??:2&HYO/Y\2]VQubKGJIL&XG0'*VL."Ei#3eitNF#@Lae1CSA[_L_p2@:9OtY - JlYl(.AY"*&E>cR-LuE9b-.@8qF'`iOi7Ma'D@CCP3`Q3p-A?+9Y,c6mEO9Q=8W>OeC5n9#/Q:8.rHP>EgVKT.;rkQSRr1pt@P:tSI6ui_ - [AGc"6O.l>/kt;3>UmcK^`1'CZko-=E?^4JT0hY"c,hS'@O#$sWb?-Okj-0_/APQ\uq3`jI - 6j&iTMG?Rl/JcHEdJpK_npe0mo]ULcBHHqt?.D7LS6.OlEHV?GVCf@gU>kWO$N20+1GRPeTF?'(Zkifr*]'2WJ(2QdfnZr_"l - `bPFaX>=n*^:JShCfHJ&1pYNZ$=@#>7A$tX$ER635sX\^,IE`AgJhC&E+656Yh&5u=io]7X - uR#rG7N)'k4`78Fi1ah0#H>31Mq#hMn4'i^tDp\@4a$h\b&5Vg"Ldm,1Va`Yr_#QW?HM\j_ - CU1p5m277t'jfqP!O^D-jhqD'L(O[n]-LfLe/,j_PEsY^SjgHe/Pie7l]X#1d0Bd*aLfH\= - @Vn6iliG[;-uOqM[=gl+IGY/00DGAg"oC?P17./OXR/!lFK6(#\f-3UY`XX#UO - j=p\D`n[:[!Ctf`cHa/^:S!ClO4"B=h?N`&@1!9!Cs5IhKN\__AH3BE[j.&o*nnr'\R:dGt - b7SR]hBfXVXopi-Xbo[;Bt]o!(d2+3P+D#R_-(h1i-_M>DI,oS3BK4]N0^eo)h.4Lrp!qX)-U6md6)h93;TI,0>Nu*-Vm - T!QdG#H]lCF'AG"-6!R6!ED(]C0'DT:<([nFf^)9L#]?^;&7OB5uauca.h%h9]UqC183MT6H=ogcH6DS657 - ?K?kE>A2=2X$(mFaSUambl@aS>3[#(*+0m?SiuGHW+O4\pRuIRD;kT1:e&.gu"1:XSkX=2- - n:K_Kode+S8?3.6k)U-BI%li2LU^"9TX*r!?kMN@,M;XL47dje2u4;ZkB`2AoR(# - 6nm;=QID8eWI\4%<5I9JMs5>>SVkq!]@,Dm]L>qZCd`!DbEPO3%MY55*aVLAm9'#&^Xl@dmjo@gPu'.`uun$ZOY>m0R[3E_ - rti0VgEqXtpWZ.0T,nnAN'Q^b"uf1M0Vq_F"Z_)%E+,&Hr\t7hDo"&7Wfn:uN""$oIJmIdnKjd1$]j*>5U($?6P(EA1/X0,!ct&PY,Jk3R1YR2&;9[Na5%YRAJ@ud$h7OJ;4LDO\J,UE)aaKAiuK)d>9"6;((n_+1"@([cQ$Xh' - /A/J1!p?ukodD@91-6osCeU#6.Ac>\dN]4Ld$M]l.?Yi#&o(alFC8\J1=Fhedc+X)e6k$l - -P?k:`K`([o-70;,1@<3dg[jk:Fa5R.$G#nUK86%b:V0u>Z1STdY/$L5[SRX=VDqr0nP)+L - F6#,1,DQYnOkA6V),Gn%?gH#1?U$jfepX%1UD?HPC5;eJN/iV'_@G91=%rOKcnj*2[&G+1Q - +1JB-`YV3O>\G;lpfKUCQmn0f+eL;HGpn'0#H\2c8$c;+ipucRUfX4>JKL'?`/[a"NY24`d - Yde$q(fnNJY54;5@noB.Q$iBTeB5a.U#F8n@#k<1$84k!h+<$t"pi%Ym=<`:G$&?@q"#ZoJ - O?*kD5i\rL/X!m%I5r,2cPWqTJj$(np5*Rom`Ml9?77K&E6j8uCP.s8h>;M!A.^WP-'GWH( - 0N8a1/sJ"=;aX#BD(ekMl?%)=P;Z\;+$l"+6cCW67>4@`7QhHD8S.3OZ^idlV+XdW0p<2;A - Pl,8I7WuH9U!jp'Ji@7gC3_f/4@ZS1j)F_.o4[p$1unF&uSI2nJ`-g:"3HEEq<)3W?`,F7. - h]TFW38[-W3l%7'n$i2'4FBBi=So;NoX0PY4Z6hbGmb2jHR1Pqu#GLK&B5:R'U5oc7$i4&Z - l%7?nf%*jTlP8@r8\Y[VgKZUh,.6N;iaUIroh@cl?I>Dh - ebgW@,=WBY./!ro24k7W'b)kC?nr$/ibRo7f,BU.C9Q=FNmMa$j<@+FrnG&(ieX^j?+/XE"A'ttgaT.kAZAMZnoG.g - ]flYb-mGVlj8F_t*c_.=DT13J((ON1ukEC_qpB]h1KR:SOm@0)Vfl,>:A50)2fBh*4)pT7 - GEQlgf-O,b)0N1XA+o^d2-G%qO_)"EF;LWh2?e!mX*W8GB9W440VNabOa?S&GIP>!(MA+s_ - 0B&)/D"li':4,Kf2:+qH*^S!FEr;`fm\#pI^d!32t#uJZORa^2>@%W\,gL_>A=n)ep%>_GP - LIt]4\VEJf#_asR9i1U2JQ6 - !.X]pN>%tdt+%!W(+3,2mJ9(d - VVlp7"f=n,oTrjXL2i$h=f3g5TDAuN>)Hm;NkC-gK-S(.Qg:Wq)lYlmKXrb-OaEb4Y^cM]I - $1:$ORgWnAA/^" - &mk4DSS:?8'AHkaSBQ]o&DXXR&\rPG1>HI=18qr\;]A''A)oDj6b-g[XC.N9V#]%%V#'Sb? - #FhN0)l^PRgUl45R&42E47U"^\o]S%^UOB\qs'Nf&\o@91%_446;M/g?/5Jk&2`Om;->[>6cY]Y8Q^,tZ!(j - Eo';Q60D`a!r-8o)L1K>)#4NWp06&')>QJ\+%8OW2cb-f;L_HNLj\adfQH4J0_8X38gfbT+ - +9>IK;,Zc0RIb$<6[SC>VCfuk>Hc2>#U]]I?7GK_BYaEsK)>m;rrDIG3gXD%FOB?k?U\]'T - W\.7!8-mFr1V654e`uQ;/h'E-9/'%KcPC51%>h\edk%,pj!_>V\7WHpXkL<`jFH7pPgekDp - ("KWlebhne)q_jH'>rWZe=8nY43bhEF2Zm]f<>e)I58VGb2ci@_n8l_*LG8on?-&he#Uj%D - tVhTKTWpW34l_o]On.3He9>[V#1; - 'a5nnHgHPM@23Y'\^I_BO_]J(q[0i8"pVh54YpQsQp'B^GVd - bPl2^7jRo(%7^Zj1^r=*\kt_45E_?oDU2p>tedX0?p$/n6@<1*1QV.$fE*_i*SFp*dX.OJ& - XTDp>/s84`0q"8bh2([_.tc*gPU>7:NspnfG45SFsSq=kB6Hk8U\]r\NuWW\qN'V1+-KIu1 - mggN6]f^H\9q*tRSZ(2"k%r!N8Q*jPLLqnYIl]&%)orpfD@p"lDCbVMKAOB==\&IF.XiK2\ - o!X/i0!$C_jX:cs!MacZg"#P!@><"kZfpKX[8`5bWqA?AmV=qb8 - SJqj[GJB"ZHk-:RpD?)Dm\H"p_r8FnVOL'.C&d2ihM!g8?96]mDc8U`+$':*+\J!R']A!P\ - d4Kc\.50X]`=)^)`i2j6BXGQCCT(Y?WnCR1?i;_1_0N)bc:\EE:V$\!kOkl\3`C?#mC>pEH - f`b3F$EhQI$XiUM0jSmOFKd2IC5E"1A\?=!^hWKMf>.p'!;A9'CR4BgnL>.TdTG?NNs1FZ#N2Bj58" - *5t?=`Er)V`GZcGirPh'n_IL1Wp5Ek4Z]ahqNBkW - 30`5UgDNYRD_amjn!?VMa]hrgSY(Ih,3>+`j+;kff/GX(EG:#]*1\QF-9 - 2(!:s?*6a'UZ+$lOk9ti']>caL(]4'KcDo?KT`oE?DZ$0tMG4T'HEG/YQc;gNp3hYlm<'HSRFc*O%u]J`4VHq(?odYGo(D]fbP-&4IWo5] - \C5J,:Y;9qkF2C6PB_KA#lQerQM@"$VL&'9r%pDFbXCGUi!-8;W)\JYiMAlHor]X!ma)^?8ZN3P - u2[91lu+@K[Sd2!cCGiiO=HsgjY^,DjuUELk@=C[5'>-JRGb(iR#Ff5['Zk2DQu4;+_*].! - 3e0%9djM\k+sGlAq=^MN,umPe(>;'9j*'N7,hK7H/-_QBS%j:+C*RkcHS6e&Is.)#i$a8l2 - EaP^g35%bOY*S5B<.0 - sGg./]-5=-6V:-3fXa)QVlb+:5eMSpTL%AS\EBp]AR\*T,$X[CtLp.WVUITXpA#m!mNckW6 - d!I3>.j=>e(1O;aC-uX0`(70JQ>tTbcV`S"T/8<<\6:c;CS(d7J9.[qgIgQmW7@e6eILEdM - ,@O>l%?>:$Ah8U'iXMte#[VJXiQs59Iba^Q'WtPg;O4Yltj):pM.rR$d![41-d)RIN@4%_0 - 0a&d6CHUR`^@Uj0*jY\MrA#P)Ie=B`'BpYNl'lLq%MEH-O')pA/0bI=\N=Do('Ms'I`5J7. - 49]snj=7D'ps?To7>f>@YY.=Hsph@-V[1D!pZfmrJn/ZcGQ(#f'fJ?'_/]Jscsik,4PE1T; - 1\Ea"Ekt-j'Xpi2c$Q$?I+E$_P1rpO^&`2lDNUhLDa:4U9@U#OYZJJ?spb+&T/@euk-3q]c - h[=!HE=]@@*6gK0[c;a@QZITFb;XIeB:OU1Z:s2.BbT"fsuE8h.V5/Uiqd!g3O]Ql1]D4HQ_-J1mIS"LpAE(G'/N9d9>.i - 0L;R.-;/hKqPiZdLZs0.Pk2%?#2AVA1r,WKjN^$V?Y%?Mg52k^3:Qi35/_Sn]#P/88\9HOK - XLlrMnZE'1=NW]HljlL2mumjNLp,55'aa - A]13:6X'^S\couNCW]E?-k-LIFinNW1InMc8tUh0jV%FpSr_f/+W\F.;QX=0'gilA9-]V/& - A%-(NoMUS^dWD`cj5dT6V3?nJmdJps`a8.&TFn?=8EZ%lAS0nX\e`?WQSm`Tb`.T(P8b0^D - ?1kBrudp+lVkm,$4YqObKp=pLdK^ZYIN^s^OuF#Qg9^IcJCYBe2OR&\3;Y3n?nIlr)-t - pO&+WshhQGo.rV/c(9,kC^[kM+XiiXnjjQ;@Yja6*r&"U`rd9D](2)7s(_ZI9.K9_8?s9^(GA%PU/[*+i>266S!W'3R&242iBdQ0/P - ^Vkc)FUS&<0%6?G<,A2>1K4eHOS_IPPT"?Ss1Xgl#)NPmtJ#dhLTYJa=8ZReX4gd=I,/?8> - '3UB4lgd4Au0LZC.S.&1W'9>P'9Z88A6I\Q:\g,//eO$oH`@O8A9N\l:6:J7=7I3C\`$WGr - 42lkX`\]3c#k#VF,K6`k7<7ree2Y>8#=`Ms`Om<_`,(^7:+I"h(Q#l5]M:jen4*R\]0%*'" - BVUVF%9b]UI9)iUiJ<)H+r"aLbs?Em!2*2:I#U'8&DFKj8d!F$G[@*VVH^:g=&2!#,C73+i - I58<"M=uI]Z;!+hWUglY&hZJ]Ook)15aK,Rqgt^f_1\&Ag8mjsLV@ - ""2T2!'6pJ^iA[YQe8"j51S;YLjSk!UhO9D5M["KpIH:N(Pa^f6\KW'lXKIN^e87W>IS>7= - 0V*AJ"9!jaRI#l;nU+'oR/_mHpKX%sZS'#QRb6`^Aj)VsuMFW''Q`R^+>Ra31]uNf[92f]+ - P`ADe3W]#1(+oc5^` - FS?jOG#>5a@9`&d*eI#$@qFFeATfM` - Q/&RceQRhr@6*p-5Aqnc(oqi9X%5#!6lM,:aFCX<7*u`/l>mub[f>Ibi;C9/3fCbb5Bpeb- - =hZ5uY`:dQL%K4&s],(t>BS_t_b]^uX"h,LkCoe==c*C%2tH9TXBlQ&SSa78VL]GZ?%g',3 - i5bRE$-#$#'S[ImKpAQ9eb;Ur0Veb*/_,a5WufsZTA2H;M1oiW?L@b*\PecB/I'kZ!cCK<; - sdpYu%NFc-:C0$H3ep1WEF]R(_DH1sA/JmN - I7CmaeTF_jX8(N4qpJ+rc6h/86gq:g&Zbfn1HPbY,Kf\@U-/fgCue"ea8:j]T3[fu - oO]7@2^#O'2W4=dp_k;`?n(V:n"r=S8W2CP>reT0s@>fs@O/eYtu;PHFr'\bi4+P\E7.*SU - Ik>7HMFKsfUnUK]g<>Et12e[F/-Q)ec7>:k`f"\N!AZrm:7=UWZGjcqi#Qidon'F=uF`5Q.B3re6O*60o_XU - _kPkUb?_Nmg)\l#c,*Y4hH;_E?-Abp'qnk&ADFoq807pgO79._45>qA5m%,]#]hpF8fN7(VkqH - 4OfdY,_M,EgLb$"+c/cs?]JHIU:>A?Af6ODDAaSAn3kE_l%Xe89plSMX$S&(XDj8JOeG*CS - ipio*?>;u@>-h'CmC)q6*6hrNPNVA3G8X5T?a?Z#Do"\W2spg:`W=C!.YWJP!kktCF/k9Mr,[nrI94eYJ:24=JB]T.Si\jjbefj'Z&7M/Ik$) - Z\jR$MB;-/G^AWCeCr^c+a?rSu6B!+nl`8G8?kN'l#kE])[L43]GIq;)jkR#4A*A(o9.Oeg - "BM?BY?9RLiJRt-RjeadX;5WJF@FDlK2D,0q:1%TcM3P_1Bb$']:6HbP!Tni?Am?+BhJ(CR - Lm3C*ICeC>O+2O[09JFm\]8<<=M-uf+hIip7mg8Z3lo+lN - MRaf"#SQ\ngtQ` - +h*@AZG`ia%4DHKrceE)5251,Mldd&=K=2qW7(-pJHV-#Y27^fQn22$i&hH56a7]+jTk/(p - %[mNXFC_j,?Jjj!eNa0Qo>Q*gC)gU<]Zt'k2"Rb?A6MSFjo16T3Po,?'a_\ - F-k^;pKbf3>_Ueu?(kHpi,?@*Dp>1tmf$Q&U@95jm_8I$*M;$@Y4)r)DOo;2X=ituqd)br> - aFe`rsE)1"Rcffh_!FKjc/]3$uhgME.71n]u+gh!AgVB7@!3/?KgpD)A)>r7f>J0%ih?S6u - f87b%D]&[?R_`dgMcie#%Fr6='-?P\m[:bbbPIpp#ig"32qnAQ#/V%k2Me,3'Ii@S5rlD_5 - faP/uFs@XdAIKDFhA']\j?o04Yo?J:]WBCbdUg/?gJl21&;g0lo\*EO:.mal'geoSk_o*7D - B`adBeYk(-=2MmiA[WOn$j)]u,Eh=\T#=[eD+`k[YlTI<$-Ur4>Mf)lS8bXJ$pI=\F8lL;7g\i3l<+'3W(!S`qop:]j":N5/tEH$,H?@1p\T+ - ^kb[.-A-FcS'I:O`"%=Ecu4G)lNFQ$J9qnjES*:R`1V(;PS - 8oF5)s36CsERsI;d+'dfHpR6DHSp;uJiJ41S$4<.TVe8C*qOa%I&$C5k(])8XqVR/jO.,oH - YU9P@G^$X37n@aB)tc^kVT1Re2^`VNT;qXu$^W(ca-3Fl.e3/*nisr>7n`a*9_3J?-J-"S` - ;][Q^3G-';c/TFXg\:rH5n`E*,4L(Cc/<6LOGi9aY/_a()B`gR_I[Qc7@Q)4 - [4\-&fUjZMH].h_h=OC2,b'2NM.Be*Jkn*8G;8\".=)3a7Vc+W&Jl[lF?;^NhouB=GDM'rq - ;Q_t!?r9^b`kcg#U2HqcOIX..Z$]03P7aZm1(cZ;8lJ"Kn_tOI,c5WGtXV'lFs/*(PZB%GYl;])p;P]Q<8VrZck - "7::aXSg(\q66C;KHPTkDS"4FqI:dJZhrEFV0!Za6..8ojRkGAC(2sn:";)&b_f[gJl7g(__.k[4,Z$Pa>`0YJm`g9#DQ[I - 2@Q3d(fg@i@K6TgL>uC%-D"\Lp-i'C38Pm?j7rgV/`^uJ++e%UmST4F=Ul+2dogP9]H1$'GAU2"TQRLPI(OtZ6mZX=+qAu2okh:nBpcj&DX/Fq0Q5crAEF)eEdb#&[Z0 - [:3obD52?;HSuRqa+Um.aWCZ#4fHm"k*L7[:[J]+1OLU&5D"#O\)Lq3ga_F=hq,gh.YEi4P - +.c1@:)AA'Jd$Ge;>.QjubFPQ/&Joh[[o![=:.[*$hEn=5\C`T?3?7Q/G[@'#cdG$FK'KsE`L(Li_2._5Nm3u!.OBb5MJKM\a9k]>,UF%q'!`oTff_kQSFr[uNge,TF%U - /iR=J*4A%apQ3g0m0`k$(NcO$)?:kj!ifaC6@NCe*>DI0KgXZ>[c+e,@gWQ?%6-Rc& - (He".U:MIdPl\+2qPNJbkaPSin`Ec6f60so;mhonXHAh6`YZ@e(!b_1DU/d`1]?3?Hjc'hV - ;9k$ManJ>:FG"J;[Z3c!$UQ;]+G0:oCe78i-(_1,Q0.Z3?Djockg?ae+5uN)%NZhO9g!;]dpVi:KegnP$6N]o]98DE<=3WQ@/m6EeNoM1,_ - 3Dhm;`STbZZR2$=)198*+,Drr[P&$L7i56'/oC#$bdHr)V,4AVD1h%e60/tjB62q(N'>q=H - ?M$MbgEc5-qRVf&=*^UTSVP_908l05)A#Y]GhrZ#p[-BUhekoB*2bHJ^h\$C.tR-25k,ref - POSMKFE)r#Y1DVBt`R'tI,c+?&'mX9k]GD>X"R3!-/phL//b[m)EV>*Cemipa,qI;TYK5X3 - 49K2lcFV(Fka;CgN2;\^l0["lP*Zn*!926n*!u>WW/S-XhrSH=a%Ih&61GQ>1jH8&R6M__C - [I4Z&I't#/aYBp.U>Y0s]:2Zh@b>,@4*_`a^$nKU"%sl5],XUEFBP*>*=[\*YXTJ.^'DD3Y - 6a)m:(qTd8^KN:2WSnFXm_dJ^@a]-kWNj3E$!?UqbJDX]M#Et:>a\_Q[/$mh]!NsS_s5RJ8 - gL&nkR_N4`Wc=nPsG>pfu!*Rg4f>5#3E5f,nP/Ef+L9;oSQ60B!pX0!*nM[<^Y(kWJB$\To - *Cq&`Dn]XoP%fg!^4^L?H^^PHR4&(5a\>i^,MneSl>6,O/L.8O6$*YfD#$S - r;Yg4n"mC+9?aqB7*j2<9I7"9n&12SVZB!0/_>hJZRo" - qLh)*;YaX.n)-L&46&N\4agj"O#s'V],^`dflq`b4%O:cqaTP(BO#J#&fD)n0nX)KViYt>f - KbF$HW;470W1G!0Dg.OG5jA&6@Lt#7`H9C1H35O@\<6rso\C5j'L+OC2E"7h#\=BFsB=X-jO - h(i.MB&n[ICYeq"a,!Vj='.+A+OQR3&D%'8j%*'q.EBb%Sf+iou%aeoEnZ%qbCrciXdJ_J_i69^t%V;3;mh*tT#Q)N`hiYn7bVnIs;[*g,8!EQ'$iq\ - [^$'%.(-&BQ"L"!;OK+`ZroZ2kB:Nu/J:+481T1(`o;0d-"p3H:r?nOX,YPX+bc)of9'&VD - <)d3N``hJth%dK_";5_lXX,#W2&1$9j'CF&ET,Z0C4EN^drN=4"f<=Hm]X_Q1V\gkmnXm"d - cN#*&)_^]1\_X-G9"N)`_m44?b$HhB[&617/R*B0*/Bd8/P1(s[Y4C#>__;;Gc-T`OQS!7D - /YlZ(nrkW/GchL^0%0bL;Y)Cp#+SS\/h"aEZB$`H*(_C9iFlPR%JqkX8q?>&11tua;_9+b? - AK7OJb#nF9,`)>5V*=P/+ZCj1FXnRa#.p5jKhc9kfks51GohO0FZPk1Gq(2n>'!.26u$pK2 - FC&JhJo12,fDkdoe[E3B9fZ39X!q1MJm+D`[Kh2tO.3Z_ohTX#G+'2m^1Z8$=sDd5s-+4Yt - Um/=SR'8NRRR2M0f#r\])l%f'ne)\BQ!q*D@2`(J!e(fX6#=2; - [5R0o;1M&lcpiSD45nkD#F;+.d27Af00FI>^tatIX+Nol(N%I69cb;4$A0dk+2F - ;IR8gk[eIjAVaFcBNk?\9h2q1C/A]dipH-)`X$,lu%)C[*^u-eDBiN34.KtZ@+\;I8:)>:5 - >MnFDU8>'(pLrad;Pn-YiX&2k>GpsNFe?r3H(5?oXiRFbr9u0d#rCc - `H9Jnt#[6[FmChQa8/HB[o1G'egc - P04G2)lp?YUMI.?R4lAE][IS4=4)=NHP>2Fn9%?].Ohk? - "X%Bp!m7:S::jX.(.MZ=>Q8e2.]Wc@9tHY'5TnQ$6rLR9Wa?A6+=^F[K-84%tPfr>&TlQ('Sn`G%2`B5Hl(1ub - !)[ki]t>S^1Ha*M;47V*!b5aK!jm^0egi656`=LRE<.$\/:-!]bC-8r%uB`2lR6Fca>;H4* - CMU-7ZCMu*NmLJE"[Pr+,).6CNea\"1mn=N.J+q!'<$d"%),DI$EYs"R<[1YtUI82HE/?N3'[M^TWDb`'I_tQ#=$:U= - $\@K^i"ui5fH#HdXHU)8JX?FgP3\)d@>FVB8/GOjfOn<-nO5>>KNSVB3*0duO%AU>LY-[*F - 4=EH?'<)qP6K6/nGQh+KiD,FJlc&TAa!4HN[D]&LDP#DUt:j,O-S@WO]Rrr"CI?h++0eAPp - baSQd\1EZO%QedSO+%"X6Q5NDEWG@A/O,UqOQGX<%;tQ"!7q-4=IT\Ip6lD$:$YW - \8KHcnS6P#AZ[ss`_J&2+`K^Y92o70kNT3'E@2elAR\X>J5oTpk"oc'DG\QDhb3sO9@I.,U# - [r`oW'JR+*L"^'MopohRSkkeFV4(&8F:^NjUQTmC,5G"p/1$U@kqOS71WRt2MqsG;6)]*JN - 0Yo=\!-9AFi.EafALaSSU`]d4h6QEqR';SMhi;'Wd8HZ3BHOG_2 - 2@=O'*omRL"'TPuTe,TGB2SVi.Gk1U&oEB=c'cmqJ^;23B:%Z'JOf=ETQ`\Z4iIZ.`isENQ - #Pi*:F$+e3R"JmXDdJo5H+98C@LZU)6)-"8WL2/9qY4I*gc-)jOr:Z - 8N@%#P"PYkp[u7gM4)?C!S%.K]I_1i9lLV(d]5Z?eOZL?7gT=m'%rpu63X6%rg:t-Ck_iR! - ;\Ge3)[fdn)jE5?AGFKaHc`$!W8%))\u/c><5Z,26,-XYYRXCBe:E`>rO"+\Zu3^eZ4jV)a - 0lG<[]!3E<` - NV\ael\l_cPfVS86*B/]IX/``F\.*'(3KT5#;C\b?P[>FW6.O2r7.^",hi)9'_k4heBcb'A - ice$ZjoH*@+=aHhCopts6lUL]lm-G.aCOut:c5Wq1<[TqG!4O(Wg'9X:XaP3X[I,D7HEG5: - Ac%YQ%r)(P)q9TVbM7cS:>]k8Gn7*G2_S%5O0F_X,,ET?XOSH^G7@]UrOS]s*Vn8R]=\kC> - 4_:*]e(Q[kD'HHuY2'g%a2mGKI7BXT*GbUaWGNg,bJ5Q-gTA)%DSlA&m&PUmdtC(2])s!(R - qG([\\#P%NdNo`(_ATMT7Lb3cpp6q]'nAMA43n@f4X'1\5g4jZq$PCc5jUIq#fD6\]A"3h, - tWNgKL0M8tJ3!8UVuDI9F:;U"MT(Yo%8SRpF]p_,8o2g3+LKgR[7>]p)fCKJ$-;rXIfB+5o - ?T\%#pBR`VM[or\3D9FQ2KI9GTShrC:kf^k*\r_KYe9sWVWindPoghk.2X5VoJY$-&'MKR[ - V=6)86kB7m'g\0a>!MWX]kIg3?4sAj5H+2XsfUeRX44WS%JA(p)h7%T5rS^M#"f$MAloPnS - em0-I"F\`hm'-rbr/P_/kNq%M-PYJ*:grLu#)!W`7pbTM*p-($p$OQYEBa=$IeW6,mjd2oj - #`UrYoE3rc:.Nm+Tu*h=Vot:%k^Us>l("RlRI:%?o*r5c,EV5qerkDJ - ,+-6Cc\0)=W'FkBKJj82?GW[;d$@tQQnE?*3.2@b0it7[.DE/_u8)t:#'TPa2P=_J[Ln$4F - 'UDAMEdZPeMPLQI+jf$<8R04IeiSZtWMmWBm?..Weh[hPXAW8 - h0Juc!goHVq:;K3fM)!@^=T:eshn1f2B-1Cc?.#mQ#F!hC[?KrSI@(Xjf%+r)HB+Ku[CP[O - ]'6+c47s16W+LlReOJjn%.V7W001cePlfbpD[5OjiGJ[`e?Paem\Ap3,5_G@S,>Dtk:n(Cl - 9]K0qWh^]uBR#ibFE3kcT"M9"Xt]+V9%CRa)@FE!d2#?Q'(n+Smak`9XnihcH7*8a8]U$DI - NIFJd_?gHnH4` - p;b0rjWbR&@oF%0X7=NO93A1fRH[5>ecS%kpbcN#:8+X:i!1/G.(9Thr')4\O%AdX.e?*Q7- - &]/aIQ`l_*]N<$Sa9r1tce7pO'&jR[afoiVY`U1og*A8q - ta5)f/ch`Xq>=Kfb(m7fb\Qg\ka(U5pm - ';&7fEaJ^2nG=u$H/HQt(ZT3eT?l1%53D^2SEbK;Y(:@R#P.^(_mW7Z=jX\]QNCDk'7ucN0Ak![T>V9_^D/Z;IIi,e%\HCNSn>? - Q'&nG5KAlCSgq%4Yml].7tDT.'YB>WH)JY!5r,2\5!m\L<6@YnfZg`DKLo'X9PII3V'OKKO - O?qKl$j]/d`up=8op4DCCd-bjGRf^6GH[^3_bk1Rr@]r2V?5GB8X]m;T_U!WG_MVo\tubee - u[72lS$ - `NcFe(P.MDJdeMK(SW>QLn6oXhCr,?h)eb`.P9%r29tJTb-5Gq,s%n;0V.&LZOSWoZ&H,/';I(iFsc;^P0L_df(U+(Xn@RUFG? - 4A#pcicmE)_YEfn\'4[Im]p0F!l@6EjE88\m6_Y?Zl>.U8YE90^%LgoCNF:WD'*J(\E[hfn - YH[fs.'7$s.leVHFUs`!fV7M]V&Fo2.6,C=0R%?IJ^NDmBZSU6n;@dVQ+HnP4kZpqKaBF$GV"KW - $#^Fkfl"MiLg!:mH@Dbhh/W'f"R@dKhcF_7ar7E`Dt^3X[0H]FcL]gq(\?M)eq6Q]njA?I% - 5V-9L#)RP/t9cl6=#=1et?CINd*Vi!WM649.KNd,Eis$BR6lP9/"R(n![5%n(dV6iYi>[*s - AB^'NKGO?Bt]%9j6P]MX=G5pH)+'@)gJTLSikLCPRM\_j`EVIc`\^tJMD+\HZo`#HL>\YbG - aYgLa%F0X[6L&D,MmI\A-bVHGQssrEG31Z+XHd^bn@j(Tme7d`[?l-`*HTKOELnN1[P(WuD - 47MkKAQ.hcHs5m+87A"OIAo@0ckV5EW1%;RWBD#GnmIW04'2(O,%n]#DFu.,1bN#K^#X*KC - s_4^O32b2pP9qpqMINMoqUN,2#cbjY#%$bJ_U%H#)Oa5NZf%^st(cd;h`e1\_O)FSES_7E\6"sm*&mA-8_N7hO--r$'T`U:(b(IenGYoc - qB#+o\\()3-3'=rX[(@MaI/o8D$rDY^<1s4'EL6uDR1b"^cV,u'Es=U!]i*b1.jS_MOlOR$ - +f/5^p7;cC^iN%Ohg2d5\pM;HFk^I0YR7<5qq7_WO"(b*2EBf_/QD?J?V<7Xt_(T10b9F,T - R?sVDMN5^0D7"ll_;s+c-SJ[gX/f,6YU-+[:ll3pUlOoGYT9l3lAoMc;5]1]JjrYmEfZD%6+n_K7WGZo,5^&d\t*NUr+F!llk!/jKEW6b&2nOe=tN4[*[H#fJtmF@@e2-_;8 - S]E0au6pn]AogEeHP"\E`S+F=V6:A);`5*n9Mn[-ofpe4&,a6G+`(H%X:RdM-+EUSc@YbRP - WTi%Y"$L!84o>a`#,q!LC%4A7Je&br/-@N+Z\nJ][LuCW1HQGU;d - <-aU;C\E^$rX>fbEW$.DbXKS_tc:q%.!8UQg^qCY>X50--^8Fs>#UNaiM_acP;2l(=QN.X^ - gPR>kFa-;1tjJ'`.VnPQq8s$R)9&N6E%krs=b+,>"Mh)Uh4j#%Ob+fHg0m'b'X\*9&92'o[ - N4Ba(Y=c`gb6uE_A=#BJS![0f`KZHF\_Ga)m52>bF2q^!'H;b - S)d+C?\9*Qc\mD8X,Ob%%BiLccOD6Vu3aA4Ni[g_ap8s9.[PGN7,kL9M2sb9+94*1buY3[? - _eg:!B`^6Nt`AZV.sG5AZl`,i;>7cH87ob-^76+ER=Y! - :IQ$k%&hP/)Gj,jc^aUSXV]BDmnrDfcNN9&<2.]M*#>X!9t_^fCqr(O_9QTUdUVo),ecpV= - Ij3u9_Ba\7'+V_&[%ZU8nBH;ii1-j/PEb&Q'Cl<2()9b1f8*F:+Y'rbr3t2UVr]Nb_+PCK* - fb,aO3a7ZqIpXjZuP8Y*UEkc=k0bSDhbQ511/tdT!.\"\-oH4k*BVde))=>piMr+&qRC6u< - R`$^&Bh##Tdh\d?hrk#8-a.6[??"h^kCf[4lf!T3@m;11(E)u(7epV;agFH(M - Dc\6-<:tK(A,W2PdC3(d_-M9*dI=MH82$2+`IqqG>3"$^.32SPR8\)9kn6o4j&b:M)B(]!< - $^+-IFk+DmND4^9E>T-0,kQkcGWU[Y!PHJ1 - f7VY(*mlV+m,Y-8)2>)dRS?&mRFO0'_(gI6MANO^?VN7tC_PuY0E*-"t)'\RQ.\dc<>SP*0 - e^=os;[bZJf*72=2P;eI,m7KmZhsA"rAG>K)G'L#PU-khZKDh - G([f%:N+.k?@Q;>6PDP`Hg=BZX/@P=_1'-28?a,l\W$cgR[sZXh(i]i7ne58'>CDS\H8Wgt - 5W]?HCm(29+E6`8"(??N?g*XjC=lXBhYNa=YS?aWB5kSP5UWeD8eTAYWD9jBqRCfq]0fUG-$J)r:1i=oK> - 34i(KXZ/2>N?@Ei#]WpB)&`GMd@HJk/e\^,OTO2jjhbG_(P*=WI+CX+Pc:'&:%Or$U.pCL/ - b4[QT[PHfA#grnPRoPR*NQpKCb$6h6gjRE,Q3U\:0jl%=X0pPemPJ3"YHA?qj5pJ99=ELh4 - kDQ[ic..j%R]<#*9(shg(iHu*ZS@#ZJl2Dg0RM4SkBBM27ME(@K&?!oQ&s*),Op?iq=O&IL - ;&tp"DRsir'odU[)D]OQFHgim(q@>7]_2=5n[9>DpsAh>uN9XOTdG;'oUS7TeI]<8sK6>Ac - Sq/GA,k[btISi,3C:R)iZq3+59Jk'h)(("6d^/*>\Vh-A$3"qfPMADtnKAe7;pQ5%n[S2SY$C'JKe# - &7k,DI;Nji2+EXD@GT._;l(T>\9L=L"#4N2@Y$Xc_b14NcSjY;s3"h*hIao*9?4IQ/tbpl# - it0&Q!-^HYIAMBPf\>7M"_VM.QP*CXr.B`eicR[:iUTCPKT2NbE$-[-PHBksia0c=,_p[qn - 7KCeeO-=f's*_/.$?Al5Smen41nA)haA=GCbTA/=F4>!YUd)r:d0AoQPfW>jW%?oCDhSugW - UFibE9lAd3.IM8Alhs4T=lNqrH/p$>1T',5cmCqCo2G32?h/)H:CaN"sU>Tpsjm2o$l"5k9 - 4Fh=h=)S<.mhV*f^>SC?ID - 'h(11]%c.=32Q0C&I,=aC;n+mI^QC;D$MXYpCEroZe(@gkEilA*dF%7rkri>&kmdN8_o8^7 - tcTPiWeag1'o0*4s``?_pfGu%]X>`B1]h!5l'(e+NP".(mT,(OGH?+4"oFFIESj?I^#k:'B - FS>r@hbDF@(\&6hFU(KTAq718LNQ)unJcC]mM5AjPB$CcoSph1gR-P^9(_R:m70#+:GQs/? - ZWN[oG7E!*piO.2tY-ZE+[40T4W$9B6%&=o47fAG@pP5"^Y4#me:F=05>[nBD23gBieX606 - ,W/A7`ogfe5QFLI?:piV,8opV!QWFF2jO;&nbGE$Sicg"BSPghcW'7.5[TkCQnk.C=tM\_c - T`-\V/Xr:k`I_G>tjs+\`[RZ%l\qJO/@%r_a=iSCp.#f%qoh% - p%h7BHG+e(#CLk<_qXP;mWdT1??&r@TG=EFGQ3lg>`FQlTi4/G+SSteX4^hIAT`A+kp0u,k4J:9 - ?Pr^$[RC%V5!i^`IQIY$lXMELm9k!eJ!`4;RjdTq=bk+RRAIf`jS'%m4.W;_#4`;f>V6K8# - Xq#$uu71]%jP7rGDr;X%hL]dPT!.dAmYUCb,&IX:YU!WRf7O8_*7:OYH<"^&QN5m0)R0594 - #Ed);12-<;<=Ol0A^^C-5!'^H6=]Ss/>dJ9RS;n.ac-LY6^^ZHZZt"!9hCmBi3]Jc7\N5M< - FYRb2(#Y&Pt<4Ig>ue?>cV"Dd-DE%HXWGrX:pJV,0=K/<@p#,h88&eVGo'H3pkN&6+boj-ce.2HM&kc=_4OrDAG2Je8iS(jtD/Wcie)9*[S_c;O-fLi - D,$qH:PMu"dom&_RcbGJ0d87'FL'ggLl%&PJN,^aVZ,rAnqGAAL`q"(LRbY/EmPa/nWW" - [.\.F!A9%jGpR]d>W\S]rrB+'1t%8\Lu(RqM-098h'sU%)<"i`Q\KAM%r^*!imcm$:N,rZ" - e[P(Ud.^i4D?sUrbL>ck=_h5u['*3CL+"1HNc;,&\[NF@-@!dW0aV2F'fKIdL&*U0g>5c(- - XPb7sV7ZW'aH#shGW`;&Inoh)D\4`.$$9i_ah3p9V/XD6P0CILlC;=GT'?`6m<@YRf<)Jqd - n&VXk/791+eK\?$GnP*2+rN/oL1'Ibsf2h7m@*f\s.4!7SCsQ2:=.KdF?'c:;CYZCYcXU20 - N;%)DpN1\*=qG8+J5LP+fi?Vp/br=S(ffsMbG8P`;b6]'2'1e@k!(HUP[+ZQ:b"8"?HY6Bc - ]GAUF=i\eXH`)/f=214QULXm@2hp$R^.`\lB+Ef>\X% - DqF\YEa/[7@:^Ra'Ti-sH6PSnn[uP?d*MAUOjO)Eub&j-t/tU#+F2.Cm/SO$))]4hq,5?#=Elon4i??K=Vl2(Fu;=Zc&Ju]pHrDHH,j>DOLn.F,s? - uJW]^a"lrTDSnDn(Dlk\0P7NUI9^\@Lk4a3nW@q*H!QZb!*g`!hDtqIugSK^]q`^*/j!0CQ - ]Aq\7FjZo9+jr-1APqgA,#B5"X-&mmJKfVZ;!3^e.r@Gs - BSH:2*c>q`Ct-UjCe)WP@FDNKEl^_],l=%b'$.fM01BCPfI3q[hS[QMJfb\e8nG?WE!-,N" - pa^Dc!C5nX67lVi[+(Q.L$T^^A3)(],1ma@Up.\+LOVjaE,%>Ra&Y?O'"5F6=KlSTr[g>&D - +N.EAY`4;hq#)\pCcWb\h3/L.:;nBpQC#k%)9[kiMilN.PHu;c9U-g\QAg9P:r6m9W*(,U3 - Y[N-"`_::\FPW*hfLTa9=Y?5[q6o;Ojh$h:DoWHj3t\hdgg.fpld..h!9Sgl'tM*prqmS^6 - #\@:I1sW+W%57MGt$G8Wrj<-0#c717h<>3*enH`=S4EDIubW&O.6U"dLc"7m`KH9VH"5>&[ - L^b>k#kjp^%8bGprG<^Y-##n\?GoU^$9>#V:>i>n,hVXaXD7ChcUkJYW9dt0P - X\Fs^$Cf$rbH;DT'gHMO#AZXDDH9fWj="-7TX7#pXdn7RqlZE93#D.Y,PLVt^K1J%_.Z?:] - ].Dj9(TEA@rB6T/XXl=VUb\sG=BYoWX?/_6<OBV=S;.lbggn62BU - !.j[9D>9HaS%`c)IR_9\ruW]j6tIc@7B?jk`N?5AkeWTsTj)5g"jpDfmJ3[!B`"6CdGGQ,( - -Hb.UpSm5rj&8VhTUbLmcDgl2?RrImQX]rjl]Dp!V?3p/_\Lq*f7l$Z)SqgK-S#>kN\9Hgajs*- - hJ0#I/[dZe21k=.UtGMrb2Kpqq5mu7@sN'jqLF^G+D+3QF`I+a`EB5Di;'uY1,a*63$C<79 - Ga.s/o2[$DTku5.8KB>\^0i)(u<_rC8p>;MYP(>--URNna;1\(Gcrcb'OfkVEh]&Q#83Hl$ - 2joRAbBA.V_Y:VtAP=db:]YjnmcRZK@:kqVPNs=Jn3_IZN%tO#KL$C8U#\^WlW[r9#WKRPV - +f^^Njlk=oHP/eRlm>9bP/CeK;$IMoh'0n&2$!MXQT8'L]S%VUi!#^Jh,gSO9s^77G>W(/j1V/J]NG'Qb#XN-%cC=(i;2&V,rq)gijS[(]2'j"*\!q.)E"Pd - mrNKL*4e+a\`DP;l/GE_4nELHh.[pPbR3Ns2ZD-d>0]TSN;'ZJ(1s"^cXZSV\$S(904\9cF - E)2@/N2-pg>*P>B+IGD_>?dWeQLq%Z',KPU>JbA\XQK@t)sM]H^GZg^m5Fit\Z - S@-3-;aoR[8`Oq5(-n*9Zc19=`,*HcNGZ60(&00ISI#auj3Z3YFq&KEQX;5nrgT - 3]?U*]/#LE$#RpRis8E>2>'C=S0duqBYglf"gm9a(3r@`rP\`;:aD]dagX:Gh3WW0/qr+C!6'K:,\NN^?n8*!Y[1%]"si2QX(Er-n9bq`Xo - n__+V*<.1cHQR_0?AH^8YIVo(n'\l:Ep-92rD-0^M&Pt].^(?*pF`3A%qMpV(;B5I^2BnE0 - 866?.lE@eQ:N!,7JH?>\2%:CP&"Ae*`PpBAj`r3 - ,>[a.2*a!7e-erigeB&,QTIcLFZtr\0ZFK0KN7q#'RfqX=^ADtNR*eeiF@5ln1:&:b;B - [Ygi-=\Oqnl"="(GIdYM3#;;\AODbKp`qaO4q!b$jU^[Y"Ka4g"fFM$a0/!PARhZN5NUOsg - 0aQ_Km,JYUnL]XfOZG^bW9;0k!%kMbn-I`%o&ju6%<1bHmqUTRi;l_g%FD]qVT?%TD%Y,K[ - #N#[:cQ!7h@6n)j#U_0NT5JpC_D.#k9%q%cn[Mh#_06%rP#\.@h3Y2\ - kh,;,Z$%\tt>>2D#K*iWu4n\FBc?O-,Zhm!m - EOjN!'o&=WnlZ,9>;>2LLk6Am)*g2R(P(r(\g?$Ym#>uER&[_a\UsMu",L>#cE[r:gcRf5C - j\j*KDo2G`@-1lX3,VaoN&PFEJ?OIKD$W9V8n/3Q.D - U6\k#%]4K%eT'bgCFqg%o!gNMu^c\gF9;=+`fcbdm5AmPpu(NmE.9iZDfZ8RbfhonoJ(nmb - 9ENh(0-K1i\9('6,->\IDI4#qt*d1Q+6>p@;hL84]2R!e>-m@2*LiG"X5/U-gu"p94(#/ui - JDF.54b(HUY<4#85f-J#u]_CtMJ.W_3nd&+^%]/d`p4_ju$;]RntPrf%95',[FOD-i+krS* - u,STo8PC>\H$TfV#,kMC*F5&q(#%WqE2=q)(PKlFuh^^(p42e47<%C8?+">+?IT-qKPSZ^. - s"3UQ)l31!oG']E]02BE1fHD'PU%Uj)*:`K6Sm[]F@eYQ;)^;RlguDh@_k+TMQW165f9-Y' - R<'1HoKP>75KusNuBm.TOe3X3:sUOK"dUblOI`R9,,E>@rk;Masltt9[ikSoYruBcV>2*/] - 1F\.=4e]a\K56.CAP<'UFaB#>HG4:K73d<<5k#_bJYF:ph*9PljYO)c7=<:R)/_PjqLK,>h - Gg;3`Y/eA2t2,u@T/;cOc8PmpTJ4%f/l;q4H#_h-1soJ!1Jq/M=`p]@oX.IDXM7HD1JFuN[DuQqo1h1I< - XrPGeWEoK&PmQ8=O`%3eg4c@"(KgV16m&]eh9\)'hsbN>udY%Fq\DO:AAu%>*_Sa4aZU- - D;[j4lV8'de\I[U`GKKk - D)W2O2LTGNj\OGrFE\1:1mrI[3G]IXC[JlXG@r6;lpV^H4k=Igf4Aca;0OsI!qg8K(PQp3J - TnRb@[E3o=,hEI]lY']EjqrmQ`GGaYBq(lHWR\'Qb.Ur^O-j8Hrn@9L^\N\D1(AZI4'o!Y8 - r%$7t'DdINq4/@mPRQjaF%HIj^gtVMfq:?%8_qJ*/J8-b4c:rIF%ZJ7G4#j#qsg4+ZEPJg3 - 4+@j-H6-%T\DK-Q5)is143"bYh#KHfZ6@aB_;7>#g;JN*7UGPGoT>C[PsA/J6n(hnD#Cc%M - TI(4BUR!XV@Iu"qoLffFgR#?dQO,4^;M--+$R%&rbT8FJ\MHHd6R&c+sYDX7(McdHHR(J:/ - ^Pj#IN*+,ZR*1H@c]&djNEFelR+mVQhi8Q6N`bJ)R-TdbmuJ=WO').;R/;rss,\*#OBDgMR - 1#,0&!7_CO]`K_R2_:A+-IKdP$'/qR4FHR09[80P?Bi.R6-Vc5Em$QPZ^M@R7idt:R)erQ! - %1RR9Ps0?^;R>Q<@jdR;8,ADjM>_QW\O!R[HcO-plLR9>lER@BVtT:- - XmRTZPWRB)e0YF?E9Rp!4iRCesA^RQ1ZS6eB&"smTTir8+RN%\4F=Pue._6lV\gVqE/1>fuD"r"! - )EE9a@>1(ZA(j(pRRqt^9JcN%Fdc0Yg0(6J6%PJ1K,S0N>%rVXAV-@jK%b<$qGj:OH%Xh%K - GoPu)Jt137=cA>WE9V/B'#tY8ZDJZW[=FYRbOsuhl[mXY$1"kRd7-1n#mZ$Y?L\(Res;Bs0*FEYZh@:RgZIT&$[&eZ!/$LRiA - We+0lh1Z.:9=h4sk^L"]&2)G@fU?\WprV*!A)Hh_qlo - qf;%JfFV9S'WAW%D;TFVu-_1gZcFSA&6qE8j!Y/]I7^2'r--oV`Zi7Ho\+;0u1Fe-9Nh'Hq - 5Gd9tS&:`EZK`S6Ntf?cF'q`a!/rS86."DoWi=a'ZSf?YF+6"=dia+"lSh&MXH`J+W$,/.DrFskHA)n[oj?7MDI=9\Z+lp?nj8N'?5!.h - s:T")?Wh*Xtr`A4<9tWVL]Y8O)5%VEVIA/oN]fq"^^5;%PBnj?]`'0IGhOEcdTB[Jml<^CR - Su_/5YNm79lX%'dT"F=F^[*#Zls@a!T$-KWcg;e&m9\E3T%iYhhsMQGmU#)ET'Ph$n*_=hm - p>bWT)8!5s6q*4n6ZFiT*t/G&+L_TnR!+&T,[=X+7^Kunm;9kJ - D\$=8tMH*_#_XD=eoGk8mk#5%"!?=nKI9je#QHIq@dBC%hRJotOT&+*[Fn@=Xr3X'^R95=? - ^OGLJd9_S;AQrgCYg48L%oqHp/sT<%hGYPTEJqd6i0T=b!X^\f1kr*RMBT?I/ici"s7rEn1 - TTA0>%hu4_Xra4jfTBlL6n,FL$s'PO#TDSZ*!<7U8i/h%t*YA^46K+$YF?Ui[M+$?c=L;Bh - )3%,GOkB;T5p;@]jH.%\A=fk`jQ.kn[_-sTNm$:j5T$_8[>4%X1FhZgS\QnQh>IE>XH+dPQQe - V35!J/'pndduoRE]@8RG@Lc6(u\>oU9&DT2DTq"qY[5DRk\b4bPDIF%5ls1AmNr;/a?bO5p1s\!Q1K;sa9s - \s!3)28ok;lAE[-p+Q1Xu._:UB]n5Ys9P#=;7o2%N)P1fY>];7(Hf85_:0-V@:D[4b3P1t= - N[;mc3^:fK:e7oE3aZ[!f#hEB?Ul - Xj)-fQb#b:Uj))mJ##%26%Pg+/d6XX(erB_?!(ssLY^UBiJHDnXsF@fOG5[sA%9_XMr.WBa - cY;f2G]QK3EB4IA[utkQtA@EB:+D/.QPtQh+G$ - (UHN?Hf:r5$Z.YkbW[Z\sIEJ>@U-7cbhkFEaS)L'T.N.9?IS,gcq&(YXk+NiRNTm+mWXJ-c - T#uuYTO-m_n,)NcT9<_E=3ZJAIok7qID:!`pjPGokPBYB\*s6E5M,Z/J%tUTJ.Mnc5WB&N? - o/+>&1.QG\/>BVF:Ws77L;@?.0X+d(P<92%7.K`gB\&~>Q -Q q -0 g -4 w -0 J -0 j -[] 0.0 d -4 M q 1 0 0 -1 0 700 cm -2 23.609 m 64.223 23.609 l 64.223 595.379 l 2 595.379 l 2 23.609 l h -2 23.609 m S Q -q 1 0 0 -1 0 700 cm -91.895 80.117 m 771.305 80.117 l 771.305 583.871 l 91.895 583.871 l -91.895 80.117 l h -91.895 80.117 m S Q -q 1 0 0 -1 0 700 cm -84.645 640.48 m 774.199 640.48 l 774.199 698.547 l 84.645 698.547 l -84.645 640.48 l h -84.645 640.48 m S Q -q 1 0 0 -1 0 700 cm -87.551 586.77 m 769.844 586.77 l 769.844 602.738 l 87.551 602.738 l -87.551 586.77 l h -87.551 586.77 m S Q -q 1 0 0 -1 0 700 cm -83.195 605.641 m 772.75 605.641 l 772.75 640.48 l 83.195 640.48 l -83.195 605.641 l h -83.195 605.641 m S Q -q 1 0 0 -1 0 700 cm -64.324 78.676 m 91.906 78.676 l 91.906 598.383 l 64.324 598.383 l -64.324 78.676 l h -64.324 78.676 m S Q -2.798638 w -q 1 0 0 -1 0 700 cm -89.125 63.559 m 774.074 63.559 l 774.074 80.727 l 89.125 80.727 l -89.125 63.559 l h -89.125 63.559 m S Q -BT -40 0 0 40 359.016309 370.18186 Tm -/f-0-0 1 Tf -[<010202>41<01>78<03>]TJ --0.940084 -8.85691 Td -[<04>-2<05>1<0604>-2<05>1<070108>2<09>]TJ --0.689554 1.161355 Td -[<0a020b0c>-2<05>1<07>-1<0d>1<02>-1<0b0e>1<05>1<02>]TJ -0.149952 14.44435 Td -[<0902>-1<05>1<0f>-1<1001>1<02>-1<1105>]TJ -0 -40 40 0 98.934296 464.044189 Tm -[<0a12>1<07>-1<0d>1<02>-1<0b0e>1<05>1<02>]TJ --0.179075 -1.955155 Td -[<0d05>1<0f>-1<130d>1<05>1<02>]TJ -40 0 0 40 302.400244 123.393945 Tm -[<0f>-1<1312>49<1408>1<060708>1<1415>]TJ -ET -4 w -q 1 0 0 -1 0 700 cm -548.738 43.836 m 603.906 69.965 l S Q -589.445 636.883 m 578.789 633.078 l 607.52 628.324 l 585.641 647.539 l -589.445 636.883 l h -589.445 636.883 m f* -1.807476 w -q -1 0.473684 0.473684 1 0 700 cm --505.843 176.493 m -498.612 169.263 l -523.917 176.495 l -498.613 -183.724 l -505.843 176.493 l h --505.843 176.493 m S Q -4 w -q 1 0 0 -1 0 700 cm -107.426 463.375 m 78.391 531.605 l S Q -84.656 183.117 m 80.426 193.613 l 76.824 164.715 l 95.148 187.348 l -84.656 183.117 l h -84.656 183.117 m f* -1.840309 w -q 0.425532 1 1 -0.425532 0 700 cm --407.136 257.906 m -399.773 250.542 l -425.539 257.904 l -399.774 -265.265 l -407.136 257.906 l h --407.136 257.906 m S Q -4 w -q 1 0 0 -1 0 700 cm -580.676 560.637 m 647.457 595.477 l S Q -633.27 111.922 m 622.477 108.531 l 651 102.672 l 629.879 122.715 l -633.27 111.922 l h -633.27 111.922 m f* -1.77317 w -q -1 0.521739 0.521739 1 0 700 cm --738.944 -202.542 m -731.851 -209.634 l -756.674 -202.542 l -731.852 --195.449 l -738.944 -202.542 l h --738.944 -202.542 m S Q -Q -showpage -%%Trailer -count op_count sub {pop} repeat -countdictstack dict_count sub {end} repeat -cairo_eps_state restore -%%EOF diff --git a/docs/figs/layout_view_1024_16_annotated.pdf b/docs/figs/layout_view_1024_16_annotated.pdf deleted file mode 100644 index b7bad3d4fda552dabf8b375681288cf70b9fba05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98968 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 -] def -FontName currentdict end definefont pop -%%Page: 1 1 -%%BeginPageSetup -%%PageBoundingBox: 0 0 630 399 -%%EndPageSetup -q -0 g -1.005231 w -0 J -0 j -[] 0.0 d -4 M q 1 0 0 -1 0 398.268463 cm -220.387 54.336 m 351.496 54.336 l 351.496 88.773 l 220.387 88.773 l -220.387 54.336 l h -220.387 54.336 m S Q -BT -9.6 0 0 9.6 240.400003 325.596368 Tm -/f-0-0 1 Tf -[<01>1<02>2<03>2<0405>-1<060708>-1<0403>2<090a0b>1<02>2<05>]TJ -0 -1.25 Td -[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ -ET -1.60016 w -q 1 0 0 -1 0 398.268463 cm -175.582 163.477 m 175.582 168.566 160.82 172.695 142.613 172.695 c -124.402 172.695 109.645 168.566 109.645 163.477 c 109.645 158.383 -124.402 154.254 142.613 154.254 c 160.82 154.254 175.582 158.383 -175.582 163.477 c h -175.582 163.477 m S Q -q 1 0 0 -1 0 398.268463 cm -175.504 212.371 m 175.504 217.461 160.742 221.59 142.535 221.59 c -124.328 221.59 109.566 217.461 109.566 212.371 c 109.566 207.277 -124.328 203.148 142.535 203.148 c 160.742 203.148 175.504 207.277 -175.504 212.371 c h -175.504 212.371 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -175.023 163.754 m 175.023 212.371 l S Q -q 1 0 0 -1 0 398.268463 cm -109.645 163.477 m 109.645 212.09 l S Q -1.60016 w -q 1 0 0 -1 0 398.268463 cm -311.406 163.895 m 311.406 168.988 296.645 173.113 278.438 173.113 c -260.227 173.113 245.469 168.988 245.469 163.895 c 245.469 158.801 -260.227 154.676 278.438 154.676 c 296.645 154.676 311.406 158.801 -311.406 163.895 c h -311.406 163.895 m S Q -q 1 0 0 -1 0 398.268463 cm -311.328 212.789 m 311.328 217.879 296.566 222.008 278.359 222.008 c -260.152 222.008 245.391 217.879 245.391 212.789 c 245.391 207.695 -260.152 203.57 278.359 203.57 c 296.566 203.57 311.328 207.695 311.328 -212.789 c h -311.328 212.789 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -310.844 164.176 m 310.844 212.789 l S Q -q 1 0 0 -1 0 398.268463 cm -245.469 163.895 m 245.469 212.508 l S Q -1.60016 w -q 1 0 0 -1 0 398.268463 cm -439.926 166.688 m 439.926 171.781 425.164 175.91 406.957 175.91 c -388.75 175.91 373.988 171.781 373.988 166.688 c 373.988 161.598 388.75 -157.469 406.957 157.469 c 425.164 157.469 439.926 161.598 439.926 -166.688 c h -439.926 166.688 m S Q -q 1 0 0 -1 0 398.268463 cm -439.848 215.582 m 439.848 220.676 425.09 224.801 406.883 224.801 c -388.672 224.801 373.914 220.676 373.914 215.582 c 373.914 210.492 -388.672 206.363 406.883 206.363 c 425.09 206.363 439.848 210.492 -439.848 215.582 c h -439.848 215.582 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -439.367 166.969 m 439.367 215.582 l S Q -q 1 0 0 -1 0 398.268463 cm -373.988 166.688 m 373.988 215.305 l S Q -1.60016 w -q 1 0 0 -1 0 398.268463 cm -252.73 339.355 m 252.73 344.445 237.973 348.574 219.762 348.574 c -201.555 348.574 186.793 344.445 186.793 339.355 c 186.793 334.262 -201.555 330.133 219.762 330.133 c 237.973 330.133 252.73 334.262 252.73 -339.355 c h -252.73 339.355 m S Q -q 1 0 0 -1 0 398.268463 cm -252.656 388.25 m 252.656 393.34 237.895 397.469 219.688 397.469 c -201.48 397.469 186.719 393.34 186.719 388.25 c 186.719 383.156 201.48 -379.027 219.688 379.027 c 237.895 379.027 252.656 383.156 252.656 -388.25 c h -252.656 388.25 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -252.172 339.633 m 252.172 388.25 l S Q -q 1 0 0 -1 0 398.268463 cm -186.793 339.355 m 186.793 387.969 l S Q -BT -9.6 0 0 9.6 75.557163 243.454333 Tm -/f-0-0 1 Tf -[<12>18<04>1<130a14>1<15>-2<0b>]TJ -18.684519 -2.996216 Td -[<1216>1<17>1<18>-1<17>1<19>41<1a01>]TJ -0 -1.25 Td -[<1b1c1d>-2<1e1e>]TJ -12.805588 0.0276477 Td -[<120a>1<1f02>2<05>-1<0e>-1<06070c>-1<200b0a>1<1f11>]TJ --26.891736 1.133586 Td -[<1d>-2<090a>1<14>1<02>1<18>-1<12>110<21>1<1d>]TJ -0 -1.25 Td -[<21>79<02>2<05>-1<0a0b>1<0413>]TJ -8.43187 5.747114 Td -[<17>73<05>21<0410>-1<0e22>-1<16>1<10>-1<23>]TJ -0 -1.25 Td -[<0d0f>-1<0624>-1<0a>1<14>1<15>-3<0b>]TJ -25.203725 -0.0305608 Td -[<16>1<24>-1<0e0a03>2<15>-2<0e>-1<02>2<23>]TJ -0 -1.25 Td -[<25>29<0a03>2<0a10>-1<1318>-1<0d>35<042602>2<05>]TJ -ET -1.005231 w -q 1 0 0 -1 0 398.268463 cm -156.406 248.234 m 287.516 248.234 l 287.516 282.676 l 156.406 282.676 l -156.406 248.234 l h -156.406 248.234 m S Q -BT -9.6 0 0 9.6 168.816605 130.165637 Tm -/f-0-0 1 Tf -[<01>1<02>2<03>2<0405>-1<060708>-1<0f>-1<15>-2<05>-1<15>-3<14>1<0e02>2<05>-1<0a -27>]TJ -10.126953 0 Td -[<02>2<05>]TJ --10.126953 -1.25 Td -[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ -ET -0.921608 w -[ 5.529648 0.921608] 0 d -q 1 0 0 1 0 398.268463 cm -0.461 -281.039 m 116.008 -281.039 l 116.008 -248.191 l 0.461 -248.191 l -0.461 -281.039 l h -0.461 -281.039 m S Q -BT -9.6 0 0 9.6 4.795825 134.635925 Tm -/f-0-0 1 Tf -[<1d>-2<0a>1<03>1<28>-1<0b>1<15>-3<0e0405>]TJ -0 -1.25 Td -[<0c02>1<201320>-1<0710>-1<1324090a14>1<02>2<29>-1<0724>-1<0902>2<14>1<0e -05>]TJ -10.197266 0 Td -[<02>2<11>]TJ -ET -0.874385 w -[ 0.874385 1.748769] 0 d -q 1 0 0 -1 0 398.268463 cm -331.52 249.285 m 435.379 249.285 l 435.379 282.18 l 331.52 282.18 l -331.52 249.285 l h -331.52 249.285 m S Q -BT -9.6 0 0 9.6 345.902591 136.871082 Tm -/f-0-0 1 Tf -[<16>1<2a0e>-1<0515>-3<14>1<0e0405>]TJ -0 -1.25 Td -[<0c02>1<201320>-1<0708>-1<15>-2<0b0a>1<1f05>20<02>2<11>]TJ --23.853645 -9.999148 Td -[<1a1010>-1<040e15>-3<0e02>2<23>]TJ -0 -1.25 Td -[<25>29<0a03>2<0a10>-1<1318>-1<0d>35<042602>2<05>]TJ -7.661297 2.021848 Td -[<120a>1<1f02>2<05>-1<0e>-1<06070c>-1<200b0a>1<1f11>]TJ -0 -1.25 Td -[<1d>-2<090a>1<14>1<02>]TJ -ET -1.6 w -[] 0.0 d -q 1 0 0 -1 0 398.268463 cm -280.633 88.879 m 145.965 152.578 l S Q -151.75 248.425 m 153.273 252.686 l 144.52 245.007 l 156.012 246.901 l -151.75 248.425 l h -151.75 248.425 m f* -0.723173 w -q 1 0.473029 0.473029 -1 0 398.268463 cm -66.083 181.103 m 68.975 178.209 l 58.853 181.101 l 68.977 183.995 l -66.083 181.103 l h -66.083 181.103 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -280.074 89.438 m 280.074 153.695 l S Q -280.074 250.972 m 276.875 254.171 l 280.074 242.972 l 283.273 254.171 l -280.074 250.972 l h -280.074 250.972 m f* -0.8 w -q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm --147.297 280.074 m -144.098 276.875 l -155.297 280.074 l -144.098 -283.273 l -147.297 280.074 l h --147.297 280.074 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -285.27 89.043 m 340.207 121.863 l S Q -334.711 279.69 m 330.324 278.581 l 341.578 275.585 l 333.605 284.077 l -334.711 279.69 l h -334.711 279.69 m f* -0.686779 w -q -1 0.597406 0.597406 1 0 398.268463 cm --298.881 59.975 m -296.137 57.226 l -305.75 59.973 l -296.135 62.722 l --298.881 59.975 l h --298.881 59.975 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -155.465 265.453 m 116.348 265.453 l S Q -149.062 132.815 m 145.863 129.612 l 157.062 132.815 l 145.863 136.015 l -149.062 132.815 l h -149.062 132.815 m f* -0.8 w -q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm --149.062 -265.453 m -145.863 -268.656 l -157.062 -265.453 l -145.863 --262.254 l -149.062 -265.453 l h --149.062 -265.453 m S Q -122.75 132.815 m 125.949 136.015 l 114.75 132.815 l 125.949 129.612 l -122.75 132.815 l h -122.75 132.815 m f* -q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm -122.75 265.453 m 125.949 262.254 l 114.75 265.453 l 125.949 268.656 l -122.75 265.453 l h -122.75 265.453 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -252.395 219.602 m 218.934 247.098 l S Q -223.879 155.233 m 224.32 159.737 l 217.699 150.155 l 228.383 154.792 l -223.879 155.233 l h -223.879 155.233 m f* -0.618042 w -q 1 0.821886 0.821886 -1 0 398.268463 cm -14.403 254.873 m 16.876 252.401 l 8.224 254.872 l 16.874 257.345 l -14.403 254.873 l h -14.403 254.873 m S Q -1.005231 w -q 1 0 0 -1 0 398.268463 cm -341.922 104.066 m 473.031 104.066 l 473.031 138.508 l 341.922 138.508 l -341.922 104.066 l h -341.922 104.066 m S Q -BT -9.6 0 0 9.6 354.334622 274.333276 Tm -/f-0-0 1 Tf -[<01>1<02>2<03>2<0405>-1<060708>-1<0f>-1<15>-2<05>-1<15>-3<14>1<0e02>2<05>-1<0a -27>]TJ -10.126953 0 Td -[<02>2<05>]TJ --10.126953 -1.25 Td -[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ -ET -1.6 w -q 1 0 0 -1 0 398.268463 cm -408.594 137.887 m 408.594 156.578 l S Q -408.594 248.089 m 405.395 251.288 l 408.594 240.089 l 411.797 251.288 l -408.594 248.089 l h -408.594 248.089 m f* -0.8 w -q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm --150.18 408.594 m -146.98 405.395 l -158.18 408.594 l -146.98 411.797 l --150.18 408.594 l h --150.18 408.594 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -157.699 221.309 m 200.727 247.016 l S Q -195.23 154.538 m 190.844 153.429 l 202.098 150.433 l 194.125 158.925 l -195.23 154.538 l h -195.23 154.538 m f* -0.68678 w -q -1 0.597403 0.597403 1 0 398.268463 cm --251.189 -93.67 m -248.444 -96.418 l -258.057 -93.672 l -248.443 --90.923 l -251.189 -93.67 l h --251.189 -93.67 m S Q -2.4 w -[ 7.2 7.2] 0 d -q 1 0 0 -1 0 398.268463 cm -22.473 236.957 m 597.465 236.957 l S Q -BT -16 0 0 16 5.708505 64.082971 Tm -/f-0-0 1 Tf -[<2b15>-2<14>1<2c>1<22161023>]TJ -0 -1 Td -[<01>1<02>2<0e0f>-1<042304>1<0b04>1<1306>]TJ -0.674965 15.682794 Td -[<17>73<05>21<0410>-1<0e22>-1<16>1<10>-1<23>]TJ -0 -1 Td -[<01>1<02>2<0e0f>-1<042304>1<0b04>1<1306>]TJ -ET -0.921608 w -[ 5.529648 0.921608] 0 d -q 1 0 0 1 0 398.268463 cm -514.727 -138.27 m 630.273 -138.27 l 630.273 -105.422 l 514.727 -105.422 -l 514.727 -138.27 l h -514.727 -138.27 m S Q -BT -9.6 0 0 9.6 519.059866 277.406592 Tm -/f-0-0 1 Tf -[<1d>-2<0a>1<03>1<28>-1<0b>1<15>-3<0e0405>]TJ -0 -1.25 Td -[<0c02>1<201320>-1<0710>-1<1324090a14>1<02>2<29>-1<0724>-1<0902>2<14>1<0e -05>]TJ -10.197266 0 Td -[<02>2<11>]TJ -ET -1.6 w -[] 0.0 d -q 1 0 0 -1 0 398.268463 cm -513.824 122.125 m 474.711 122.125 l S Q -507.426 276.143 m 504.227 272.944 l 515.426 276.143 l 504.227 279.343 l -507.426 276.143 l h -507.426 276.143 m f* -0.8 w -q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm --507.426 -122.125 m -504.227 -125.324 l -515.426 -122.125 l -504.227 --118.926 l -507.426 -122.125 l h --507.426 -122.125 m S Q -481.109 276.143 m 484.312 279.343 l 473.109 276.143 l 484.312 272.944 l -481.109 276.143 l h -481.109 276.143 m f* -q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm -481.109 122.125 m 484.312 118.926 l 473.109 122.125 l 484.312 125.324 l -481.109 122.125 l h -481.109 122.125 m S Q -1.60016 w -q 1 0 0 -1 0 398.268463 cm -488.539 29.785 m 488.539 34.879 473.781 39.004 455.57 39.004 c 437.363 -39.004 422.602 34.879 422.602 29.785 c 422.602 24.691 437.363 20.566 -455.57 20.566 c 473.781 20.566 488.539 24.691 488.539 29.785 c h -488.539 29.785 m S Q -q 1 0 0 -1 0 398.268463 cm -488.465 78.68 m 488.465 83.77 473.703 87.898 455.496 87.898 c 437.289 -87.898 422.527 83.77 422.527 78.68 c 422.527 73.586 437.289 69.461 -455.496 69.461 c 473.703 69.461 488.465 73.586 488.465 78.68 c h -488.465 78.68 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -487.98 30.062 m 487.98 78.68 l S Q -q 1 0 0 -1 0 398.268463 cm -422.602 29.785 m 422.602 78.398 l S Q -BT -9.6 0 0 9.6 441.005374 347.123721 Tm -/f-0-0 1 Tf -[<25>167<02>2<14>1<0f>]TJ -0 -1.25 Td -[<120a>1<1f05>-1<15>-2<05>-1<06>]TJ -ET -q 1 0 0 -1 0 398.268463 cm -422.809 52.973 m 353.52 73.09 l S Q -359.664 326.964 m 361.848 330.929 l 351.984 324.733 l 363.629 324.784 l -359.664 326.964 l h -359.664 326.964 m f* -0.768277 w -q 1 0.290323 0.290323 -1 0 398.268463 cm -312.613 162.063 m 315.689 158.991 l 304.933 162.064 l 315.686 165.135 l -312.613 162.063 l h -312.613 162.063 m S Q -1.6 w -q 1 0 0 -1 0 398.268463 cm -282.879 22.918 m 282.32 51.973 l S Q -282.441 352.694 m 279.305 355.956 l 282.289 344.694 l 285.703 355.831 l -282.441 352.694 l h -282.441 352.694 m f* -0.799852 w -q 0.0192309 1 1 -0.0192309 0 398.268463 cm --40.128 283.213 m -36.928 280.015 l -48.128 283.215 l -36.93 286.413 l --40.128 283.213 l h --40.128 283.213 m S Q -BT -9.6 0 0 9.6 199.049588 390.974713 Tm -/f-0-0 1 Tf -[<2d24>-1<02>2<05>-1<071d>-2<0902>2<140a>1<2e>-1<0a14>1<15>-2<0e>-1<0a>1<04 -10>]TJ -0 -1.25 Td -[<0c26>-1<04>1<05>16<230724>-1<0a>1<27>-1<02>2<2907>-1<03>2<02>2<03>1<04 -050607>]TJ -10.234375 0 Td -[<240a2702>1<2907>-1<15>-2<240902>2<140e0705>-1<15>-3<0e0a04>1<29>-1<07 -02>2<0e>]TJ -10.169922 0 Td -<1420>Tj -ET -1.6 w -q 1 0 0 -1 0 398.268463 cm -327.57 265.453 m 288.457 265.453 l S Q -321.172 132.815 m 317.973 129.612 l 329.172 132.815 l 317.973 136.015 l -321.172 132.815 l h -321.172 132.815 m f* -0.8 w -q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm --321.172 -265.453 m -317.973 -268.656 l -329.172 -265.453 l -317.973 --262.254 l -321.172 -265.453 l h --321.172 -265.453 m S Q -294.855 132.815 m 298.055 136.015 l 286.855 132.815 l 298.055 129.612 l -294.855 132.815 l h -294.855 132.815 m f* -q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm -294.855 265.453 m 298.055 262.254 l 286.855 265.453 l 298.055 268.656 l -294.855 265.453 l h -294.855 265.453 m S Q -1.370434 w -q 1 0 0 -1 0 398.268463 cm -219.727 282.898 m 219.727 328.188 l S Q -219.727 75.561 m 216.984 78.304 l 219.727 68.71 l 222.465 78.304 l -219.727 75.561 l h -219.727 75.561 m f* -0.685217 w -q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm --322.707 219.727 m -319.965 216.984 l -329.559 219.727 l -319.965 -222.465 l -322.707 219.727 l h --322.707 219.727 m S Q -Q -showpage -%%Trailer -count op_count sub {pop} repeat -countdictstack dict_count sub {end} repeat -cairo_eps_state restore -%%EOF diff --git a/docs/figs/methodology.pdf b/docs/figs/methodology.pdf deleted file mode 100644 index 10292af0bfc3e9ceb30e451629122078f53f68d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14709 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - Memory Compiler(Python) - - - - - - - - - - - - - - - - - - - - - - - - - Logical - LEF/FRAMGDSII - Liberty (.lib) - Spice/LVSVerilog - Front-EndPhysical - EstimatedTiming/Power - - Memory Characterizer(Python) - - Simulator(e.g. ngspice, spectre) - - Extractor(e.g. Calibre) - AnnotatedTiming/Power - Liberty (.lib)Spice - - - - - - - Memory Characterizer(Python) - - - - Back-EndMethodology - Front-EndMethodology - - Simulator(e.g. ngspice, spectre) - - - - - - - - TechLibrary - - - User Specification(word size, memory size, aspect ratio, etc. - - - - diff --git a/docs/figs/ms_flop_schem.pdf b/docs/figs/ms_flop_schem.pdf deleted file mode 100644 index 94c63ccd9b633ead900c1edea8c9f7d126f40d3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39479 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 fZ2$8hZ2r1CXz$~D#xfEzGP1H)xVi5@HLm - - -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sheet.39 - - Sheet.36 - - Sheet.13 - - - - Sheet.23 - - - - Sheet.27 - - - - Sheet.30 - - - - Sheet.31 - - - - Sheet.32 - - - - - Sheet.37 - - - - Sheet.38 - - - - Sheet.40 - - Sheet.41 - - Sheet.42 - - - - Sheet.43 - - - - Sheet.44 - - - - Sheet.45 - - - - Sheet.46 - - - - Sheet.47 - - - - - Sheet.48 - - - - Sheet.49 - - - - Sheet.50 - - Sheet.51 - - Sheet.52 - - - - Sheet.53 - - - - Sheet.54 - - - - Sheet.55 - - - - Sheet.56 - - - - Sheet.57 - - - - - Sheet.58 - - - - Sheet.59 - - - - Sheet.35 - - Sheet.33 - - - - Sheet.34 - - - - Sheet.60 - - Sheet.61 - - - - Sheet.62 - - - - Sheet.64 - - Sheet.65 - - Sheet.66 - - - - Sheet.67 - - - - - Sheet.68 - - Sheet.69 - - - - Sheet.70 - - - - - Sheet.63 - - Sheet.71 - - - - Sheet.72 - - - - Sheet.73 - - Sheet.74 - - Sheet.75 - - - - Sheet.76 - - - - Sheet.77 - - - - Sheet.78 - - - - Sheet.79 - - - - Sheet.80 - - - - - Sheet.81 - - - - Sheet.82 - - - - Sheet.83 - - - Sheet.84 - - - Sheet.85 - - - Sheet.86 - - - Sheet.87 - - - Sheet.89 - - - Sheet.90 - - - Sheet.91 - - - Sheet.88 - - - Sheet.92 - - - Sheet.93 - - - Sheet.94 - - - Sheet.95 - - - Sheet.101 - - - Sheet.102 - - - Sheet.103 - - - Sheet.108 - Data - - - - Data - - Sheet.110 - Q - - - - Q - - Sheet.111 - Clk - - - - Clk - - Sheet.112 - Clk - - - - Clk - - Sheet.113 - Clk - - - - Clk - - Sheet.114 - Clk - - - - Clk - - Sheet.117 - - Sheet.115 - - - - Sheet.116 - Clk - - - - Clk - - - Sheet.118 - - Sheet.119 - - - - Sheet.120 - Clk - - - - Clk - - - Sheet.121 - - Sheet.122 - - - - Sheet.123 - Clk - - - - Clk - - - Sheet.124 - - Sheet.125 - - - - Sheet.126 - Clk - - - - Clk - - - \ No newline at end of file diff --git a/docs/figs/nand_decoder_schem.pdf b/docs/figs/nand_decoder_schem.pdf deleted file mode 100644 index f2e7eff5e2240f0967a76025740582dc62d8b5f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49650 zcmd43bzD?k+xI=FfMQ^b1rnklLmGsFgyN7=LyLfv(t~t^B8Y=@DTv58Lzi@8(IVXf zBHi8ftUXBRd3~-s-sirb*MH8F*?X@z*0Jh){MMqExg*Sag^h!j>@u2xAS%aoA24xT|aO$U={nbL$mz3o~6!W3tC& zTbXYbgirwR&ShF{V=_WD?x4wJ$sm*d{^GZBp@g8cuie-(H&i?57gbtz&}Ovk^13z_ zkR?D<2>~nr{*L?iTfkyFEd`lstDu`L_1l~fY`7KHXCBt*t8rD+Tr8`zhOU0C19 zLe~s5B)hPYriJbuU2U|EF4Ue%`Z}Ph+}xaG?4r8*kMt~PxvyV?n%M|#CTFUttxJ0a zsv$7kZG8)K8C^3Ww6Q7L1ZvsqAV*0}b3@uIo0ek#ZMPeQ_d$t&TfwGntf12HLThO9 z7!x{k!7N#EHO)KSl*wW>?J#E)Nx<2S+x8zCj8UJI)L$pU-4qL>liP+% z#-Fw-HLZ`f353&-$J?3lBxN!p^*Md96b~zvhuWj+hm76VtcRpGW+FC>7W*=F0u-h> z(d$((*o{Yz9w}PkoV}JMR8Vd>L9u(Izj{J-oI7+R>q4T3pW?gvg#(pLTMs&$f2q41 z1MkDA7BMq_@G8m_ZK=ky1{Z$yj_Hr6lC)=TCqfuJjri^5%Q7d*UnFz$K|lPM1oA8q zpFLm?%)be)qS9uUkdm4Mh3QthvT=_@=P1=XWaXM=wfR+TkDidlm>H@y$`;&JQN8#> z-;s0Fa!q8^qry`j7o&Y2Gx{>#!6BI91zxwp{#tTyI{iV?u<-nH9j3lVd8lW{h(0Qo z#l!DQB*etszpfT?O09HwBRBAAc|)^hFNwl>{Amxvn*wHJD4k|!G|PwdoZE#dA7U&e zJB2@I+TODXh~v^22s+nzYW}mKvEStM72`JymX7Ll(WLL%Gisi~`>ND}sZTnN6^>7- z$)uIe3^XjQIK6Bw;tXpbPy8I2jU-f&Is4wCZqd59!iF+avc)~u&mqkqcf4~|mT_H4 zxicO5`&fg~vwkn;I{*2#oB$&&;v6w9eb=e!j3VV_edm`M!sV#N8`ikc{-&X5V~MB; zLov+sGG_IO6uxynZzVVS1-w9~$*)typM`3)@{MKGNlV+M@|=|$}Z%s*hO~V81W2RKnJV^ zg=*%l_0x38U>rhPHLlRXT70Kk0(}RKkeG@_s-S|g zn@%~(>7N_owJO>L5+5JmXV%g8Mki+ZYbfWbi6;bTQyb_8;py|7rB3W zhP8fWe8f!wU&id_K*?szmFZE1XXM5fa$kf!i@tv&V3N1%v*T>tar3;nLrWCFG@n>3 z-?EC!_USs;(%Z?tR@Z;rPQgdJk(qy2BO_<7%|4~B&>@Q};ikSAhRNs2bnuYl!rW~k z#Pl$yQX%fsNCy!;S0LTX{jkhRY{jV}QWi#WdsKSNXi{wE@LkNQvu+1f)vrxfD}|!R zsv@Rt1d&$`)7%PHL6bLe&=|BN#io4X?xL^_t`L@FGqSaRMQyF2!Qn?I&@h85ywzl) zT=)Xs$4Ae7j`A?@H0$cm;tV`8#Za&M<*CmXj22SsU$^NAt4r{36!Qz{SDkJ2T-kR5 z<}RpP)N^$S*gq1zx+f2%TJONovs`Jm9*h5SEr}ave&f41N`A0rZ11XfX;0_?dss+Z z=l7iaKF4HEgkzI0wqJ;jy&!x-4YSr%O=-TVdS?UWu)nwjd+}2@lhF~c@ zi&VjCD3jAavo@BH$xg3+ah4z|JV%j+znTKO;@MaQvpA({v7S~ro!=@$0*g``3*aH~N>a#J8WR%@tfy(Og3o7N9sI3?kp+@1@4UIgQHH z5H0a0lL{)K_>`%YHpjKpOgQVXx2#y`HJ+-AztARzlO+xxjj6FjALAMbD$fL6ex5$DUyN2iJ1u>zKuK_u^Q^Yb$>}H-y3FI40hY)uHrW4xf&&c#-B@(4ZU} zswZo`;vOGpC%b8VO9-lCSCTyY+}PJ-yJXd z-rMQlb$vk6R;fTlbtq0*rP)uqF*Lbc@!n}0p^@92NC8>(*AA8PN9MCZ-R?gQ(<>K8 zrK2|9SG?wA;$Cc`ytfj}K3e!xcs>=>?gYZF+{CY<{hD!IXzRT!W+c1wxgV}2NLbA? z4w6bN;&UagwjJgCX4NroeNmY$w#y_y)6@)_Bnxx8jnzU&ZX(3jo#LV^cvWprHo4=x zTZRTuW4>uI=h71m+?)z=Yt8gu)lX;Y*gYDfY!8BGrS>^I=|}0PW}8_z_`{Om& zV&<}9d*LKng0#Kv0*}MtXkeAk@ z*S-fsv>m$}ot05aLrwinX!_GPFtv|_`Eq^=S$Lo2#5vkBUu||~FJVn3NS}66ML+bo zUYLS4%^dVwP_J4VD# zzH##=E^0sc$tu`+eI`N-vp(hHJX^p9Wm5124!(xv(;{IY4p{#eLO ze|p21tYra{PHDNw?IEy;}Pjt~*@Sgbsx_$e=1FZ`aho*`8 z!f)}vJ1#9Pt^Y_(U40%Z7xS(M^+OzE2@y`qu@ja=Fy*thk9^4)q0fQ{rI`LsOC!^H zws$WRsED9mFO*jPwK7uqJ%~LnHD$c64ua4ZG0ztG^NNZ6+Y2mFZD9C?4nZ+p7j z-F@rb3(M_#e;fo4P4zWa($cOyVQ4x4H3Y$|?|Hwl?MtYoR*D*wOgOP!TC(fFAZU}d z$w`?-IlF9zny)-NCUv2ZA1J0BAET^79!U~4k z_uHrxpa?bXM_zwf4CB8kYr8b7ocN9>s8PHsWE8et9?mzKr}sqlH$7xomqLY%jEqcw z7PEYqrm`Nj#%(LV?$^IN#j8+?r5D7XYb{S;8JdFP0z^;VT95tfos@$_GjWmfkJASa zD0vOPEbUpna({-N7q;ya^uQ+uy*$2Y`qQ!+98r7EGyjkuuJg}VzW@Akg7uzR?66Hc z4&-t6C`iGB;8pZcgG4ckJs%!11r~7`CwP$-RJ<_NW|{yAh0?qrPL0&P+vb9s19z}l z5qDe}plB595wz2WlH4(t-S-qjB4!mFPpq3&=b6|ge=3))<|nvx0uE(4dPYjpe>B;U zrIl#A;UG``C|(g@jmvE9>u>$Twou=CKp#|}AG#4p-t$Lxgr2kG6`Q^Ak3Y;0_(VZ6kVQV(^gTHa6xZvahl zFeZ>4fIx@UJ> z<|^lQO>ap^?-7p@-tMV-Lt=vE4clcSVdXoZ>_grO#>)hf?T;Yyr1(!1ZSZUDWW3pq z6J13$_Eldn++%7Vq3Ynpx zj4(YyD-oP85vn6BbbDfW5D(eirGI;fZ!s7aM;J(}{pqv+_>7)L!0B#mbQm=6afocq z1RuqLd(3B&f>x;6x9#D~V3397?t1BMLwLG$gY z$mk^SpLaJ1ZV%;`DK3Nvm5NSlHJXVK+VYLfN{bi39hYZ^1_#S{W2vaA`T6-xrp>qg zh0xIzV?(eEYYR%-<2=C)T9_p8gFk=%?Cm@u?HDr<7S$%%Xl?ijEDqbB^ zxYQrEn*XYLpxo2j$ESJa#RYrNezn@`kXu^48rJSjSbWDlgVbPc0 z$=SKf+5+Yhw5#?^cs;H#{6h8j?_`xLOR49hqoW-~NOw=ws`$dFK>&-~`qmwB7 z7_QDQESMv}92l|eeFT8q-)E(b&L%{wA|y&LBKW=S@UJ z`=0saqM6y*^m%qVP|4HVtp-(ceKuO)WZRyxi3xPe<3pf(XYcq4(;Uje+1c62>1}Rz zd(phzOgTSjKo3u7K-hFO6g$%RCBrk2?fso>|87Mx$XCwoysidM^G2bGf~l*LTc2j z;PF>t!cSs9pkeHP>yJZ6ndzh{Ol@plB^7izE~o|cd2u~#GO^^{7le(Ek7vlc5Om9Z ztb(C3A|hfT+=%nn@Fx>!xOm{Qh_oE}n(CR2(%DmAGM;udenKbym=d|wHE59DtJ4^Y z?dj1rz>pNjaUu^}({LisdxSxQWA;}|l06K+2*Z7c7rb@o%^_#5u(|LvFbiL3Dtt^B z*~f)3Y`~%CTf4f7a&l~)oW^;%VT`oU>a+)Zn$Z307oFa)39hVA0FB_L@G9wf+*M0N zdvn{{G5B#5=E#vFpd+ezd3$?D)$4ar!eH)CgI0)*mv3Y^mhM?*0ZcPq~9E$L_Z%c*`?SZjs zA`K|Rvriwxnp?9V4A8W0;iUgz3F)8%X94`8vMUOVcx7Q)p6<2{0sCqdlC z&>iQtWJd+2n6J*xHjq!$>ditsgL#;Xre6}dl~>}b;fY70@AtPAIf|$}S4PQ~AgyJ! zUohYwtzEfnO0fU9EatdX)Hy1u915@t5#ZySD^P&Bm(9$~*xW2EEOc6_7#ka7`yoP$ z6g`H5duPYmhhU$n4bQj>hlGT1aO^Qn5Cl}&ex_e?>A=$h{eh6l%csGc&){wsOopF` z)>e+FO*S?LX$+GeIWj&zuBW%p)ZRXfxu!ii-?q3*DUtIw#+MGqc;WT4dcu|vBaS4M-w=$V7fL2nArj_Vm23o_Uq@Q2y+v zBh#y^Z-$=+zl|J%r@5`D_l>#2&m%=;um6goj)K#JJ_@qG@0FC4^o&vp7MN35C}nv^ z@|4sZGAk>~F?lZd)^;gWFfW%J#%H4N?!xCuB8gkbVnbuPg+9!_ON_ilya(9a7i;=e zlFt+&4z_w0DiUC$2PS~|ln+m}!>({v6%-b#r{5j^6?kuk?cT$i)X}=DOd;!r5o-F5 z`65Bu%q8ZiOMJYlLoZt5Dxbr)lB2qfIUZ1cG12(f>@3Hi0#*c7CFC{P8(w(YSpC}T z+cQCU4ONDS3)wZEWbEQCR>~Q#W!he94G;r6pGS6kgz@;o3*@WF&CJb(gx>cDIx<9G zF8^$EGwFUpf?&M3pQHKmffWx8Ca?{zTNrG#Oc3$MPAl@+q&*cd)}xcz6kJ z*`U-P`_+M8KtNz2)t-Zbm8me&rCn4vXQ;|fuJs<`hLtWGbA22tUC*}2X*lDQx+{_s z$yr@S!OuSven!hf9yHNy%;#g=mUj^1Eso<;Qy=1MYinf#dAq2m>Qd@>{Nr09{CO2l zB_}B?(c94@rag6ZSGp-^+Bx$jWh2=v{FZRx?RPN2!E&zK_NG$899K-~pK%3K%Jb}{ zF+b#<9-&{~9$vGKp0-SwCi)?c(h<<<%oy|)!kFEcJBU^cmFB4&uI@`W_rnT0tgoI$ zkg+0*)|U-s_*$N2qh>>jR*Mzw8=ZvW>)yf(@=v95b937YU1+D`Xj1!%m0c&x5b`WJ zl;Gg(<=*5es?j)4bk>dIlZeW#%DigIq-Gl_JL*T5%5<*Y!njv=bf|S^Tx@*)e8eU% z4W$zucJl5LpFPih>)sc_*Ab~}mUecb6D)c1nMzf4ad7%k|5uk%g=EbtT&t$^FOa#3 z#_chqjJ3Fwe2dAb-B?UEz~8ai^kBi7_$^EwuYO+Rq0CADC0Clg=QC%Hi2JEU%w!S~ zYgKLJg`sr%1EectKI+6yoHPnohUUwOIVNH-Qni`BID%u;90>2Y+jp-MS5d|m9ia47 zQ6~AB00VQn6#L5)%0p7>Ve%$@fZkQ9fAH_PG#SUmx-D&o-62B( zcwkbs?o#U=44E6huzU&EO1psn1TV8t*pISaaxGu%`5x`X_Ji#?wt{)yOP4d}ow^L$ zJg5TcBI<7@no`$T#Wd6E3y65qA+4nFB5&r=Z5M2XMgS1${gBz5+0GEHjj*#VVCQ13 zHvD+ka$3g9EjIRDroe$_3VhOnt+7zwIn_R{YB8sZ&eRw1)(?JUcFrU^$@<4L)mC#Z zp*T!OkB^1Ct8lT>m1v%1V~-9?F+}MQ8{TUN!zB3iu|(hK(2#x?b32_ZuB^Ep&3dq) z`rEm-?89Q5hoG6T)OKvrT)(TbpY+4R8X~N~*4bIWu~~RX12O$M^l@UAL=lRk<0U}<9qTP;3+8!N*HZoIX5AD=BV^0=;I%eJZrztPsCznm#KBAQ?hzi)~PStzi8ILNyY}#ib`|QaB zH>YkhKM7g&j8wH{e{4webiogYL5=l3jZ+FD7wvy^b^F6+#4*#C9Q$0X#!1^Af0q)IRmTPIT|U8a zW`96A&NQcN;eq|}m9ea@dAW3lVwTT_PhL8&WI3y*S+sHsho9wP9)y4^SQQ&RX-I29GuS`))*=dVtVjqeMhNbOD_ z#CsG>ZgZ2zG0iBF{J2>w-pcKxVeZTAN0(P)oV`b*&|%2P^XyVk&efm&FUXW-Inyuc zZ47LzMtDoVnPY^%54vyV}!HiUO4X)MzzmZinsorj1`7nW5RMtS{bZ(yRtjgv6XYfciBI{>^Ao@^B zwst$*yb4)z?j5>I|0{#^LcU6^dSi`HA(j6}`6G$<7vtP10_<|fSYxCjoQ##*=dU1K z(bef;Od%j@Wwm0IW#;NA{9|W3Rop_12wi`Cr?hBo3_XOba#@;>PJd~Amy(uJ{bE7s zn)+B86HP-*|8*5HOukFf{m$p6Z-fU~JJ~bo9nD)kmj^_GP#07D2&4j9tiy#=G5s^P z{EWJxD_;zs7*IznMejKrUBuK`9ls8n#CU{Wt#alQi!P<`)qOSns zzBEPYtOrP2p{?$`*OSrBJS9wCcTy@F$V-%I=MX}eufI8W@fi=eBtrmju%)FNRnK9*Sp4>0mQi>DrK2<* z5OAV7vZtp9?7V@d;v=mfCYWxMte-de*x&OhDQorekSypcOMQL1oeqQD-H{VxM3-qn z)G!O(HDAyaPI$eC2e7idSGbh~hI-+atFhXm?L4(y1;C&M6XW9!nciTd5Ed3TXm=pR zvJM&59s2}6SHQOK{_||mdZu7S%2`xUpq87$8gR;+-&SS;CI2e1XLeS8PKUI`HwXu^ zB|_8*@jti^q0^z`4YwoM}62b^bxX zfR_GQuN&^Ue%OYIb+G<#YJf3oA|s{eHQDdlPs=8Z6|F1T7r16oLTSb3XXRildBimB=NNStn{bj&Rm|zoMn!1Od-jT zG9*?Hq#7F9(l$yE1?ipuCxgD6y|LX*0ZR8*5gxd{|iVIy?MFOV$^ zOv1_CgE?Z&%GPi^eQ|F&BJQncCocJSKx}%Gj=Tgz@$8gGUF2ZTn37^Y3o1M$*{rYB ze1<-cXq&v8h1%StP5q5L%N7V!6Eg_5CRnK-*uNmh za_x%Bdmep@_YB4uG6}1_VE6y{H?Rk>f_lB%OD@QuN>KEM%jM4=HSR7s-=mfcmmuiT zZC+=(KTQPnctw;Vl|3J|kDN9R4DAUYbhvk#2x@%hsd0U&w*B+i8qcCX>;_F?2|7IC zox#ctp}F0=O-h*EAilkWtr#Ifyjf;K>m1r{P{Mq8X4^`Hz}A&*yAp_&)}KWx-f3j0 z1{f&LvqQSz|1RURrd(l?Aybo+DHdn7`2lU|C*MhX=ujI`a#GTKX6gF+`n&x7+ZBKS zy$9f7hfY9k5;FjK?odw}SXl;!mOcXX>O5pA`f$zYJs1MJCV1dwlPzAp+5RPfmv7=@ zf>}OhZ^L>5{5zAi1?x8*9YQdhu%1x22S2u8{U+*rsk#O0H?0aGou@5UWm>#N+eg|>sT{KZ^=kI@&Jk` z3@DDUs;K(dwY(q=koNE4k5E(q?oqoN8E z5={FysimXkR+^KX7q6lq08 zKEN+`gK%*~Xw}1^wY0Rf&(l3qHfTzyD<0ckqY$vW#>Sk+!OF02EnwxfQl$Il?OPN8 z#Ca||v^zCDa?a-F{KBOGF}r#ey)g}(Z4mnDkr{r+?J`;e=4xNf0)x%No5Y7=N+e@gi2 zq6yTk{@4CEu7t^NXyMu03cqyek}>WtTK*W2Oze{rTk!nx3ua{f&}SB)%;^%X6 znot(>O+faj#y7O`qRQKxHr5sp558Cs$hE2$0Z~K4io|^c-2=MKp}m8!{MEPtyyCRu zB@!4F)b76r>O4PeWu=5Ool)|@jBQsAksuM|*w7&V;Be9Ev?p?Xz8$@y?iVy9j2T^- z2{zkY$~RCDeRSVhAP474ASk?q2L=XgFFh^Ssaqg{xqSR;Mxt7NJFOeIfLi|aNOF-$ ze59q1v43S^sese!t37R=i5%(Q56C|K+UVMGw*wEyCk0wH5m0t*&3;%DLomFxG1*If z*mJOOVHut1bxlUhgYEX?xd+^G*6hd^Q#Lm#yjEKZb8{&~xlyqF`v6Tnyb0-7{OP{1 z4EFaw1fa$^7i@@3_sYO5UW8w@;(qMtxHcaI1k=x-KQB~@d!!{MdscNUech8GNAI|4 z*@gIQ(l*Zu;?Tgi`b4U!6C5K)p|-H}0hIpQT1TF>$vXHD?Cu=VCtWl(i7Q%LTf?}~ z72K8cQQ;cAs+@J`t7u1v>rDpR~s1n;U@ef(>F(K+vy!-X`b|NelKP>;STqywBHC)!+(Y8O0My zN=i-|z!Xs2gYv*Tno$c;%UcrFH5QoG&yLAv&9q2%(b|+3P%y$y4;A>T>fzF%N)Zte zPbo&2CRqN0V?B!pUNt>E8>#zbC8}ac4+p|>4Ef@8u$<= zogpPwwGUJ}vXZh@*HZg^s@JE)yN+eScGc#KSZ$@DrY7Z&0n!hr=expldDY1$x(Z_6 zcK40Uge*sM#YzOS{(LWrmriW>+MG0*NnuYvDk1a!Sr&rnWm86(18S=64#wX^zX5T6 z$M`&0z>beUwzC^{i*;PmxvFoiU3{sv5^GkUTs?RC!|Y3j4SygTb}AcVuIkq9tygwf zn#NB^a_+AqLCmIVTtp7B7@D!MvqtZEvdg5|z%fsZfmn9s6xg6X3G13?RGRJuVw~CL zWum>6&T0yn`|)Jc+AB%w?N(j@fomGdi~B9yiCH+utU1Ns!O6e&B;#J z@3p-8FGYVkc4DUIXJ=Jd&y?TnCL3l=CPM{wicwbKvijrSzI|J#)sL*jm#r@K_m@OO zUIL^W#FUoRGa3ak^7yifcdIJGpDPevnGO;ME+MUKzcDMfB|X$v#i)zVxZ)}=WC-gT z7(8)^5iIf!O8%nWEWiE$2%+12kkp-~TAozrBMvu}XB9P1ur`Xat9RUV7558oURtds z27$l59sU=P{;1i-#lbHlL044#*~7HN{5mvQ+f=LuES;T;<}^kHK`0GZV88IarzNQV z$ag%=hqSrzllJGG6QV?vbf1Vdvsnk}F!Y&aPWJ#YXb8JT!n@=g7k1;rg@!FrHY+02 zUfLo?0h)QE{ADyB+=8(`Jia+Yk;{>d^@)x7^Sq2b`mt zmrfjJ20^bXs{gx&# z{m?|@czVnb+8hyA${v}=^;{{wW$KN9#t~Me)AuMX{Le$`YUlcHP@r&^kWSifm)CoV z#)9jk=NhOVv18ylpW4I%E7n$xQXSbh0^oA99PCfbTKAlDQ^2w4QI$k$9UOHx#I$m9HHUgQc3=sN$oakLl ze&5?>;*)#q5Juw-3l*87aKv;Niva(@M*$Ho?Z*9Wo*-mH?PPoS6%}Tv`(4lwe`5mG zYcQzJD2=*FtT$DeUWcy^&{KXcyReeMQxvGc#c0?17LM<~;#!bj3brnz6#QdHSBAQr zHyp=&R*wDZK?jC^s&9?p5!HE&dR~~pU6zR}OHvENDbGer)}6H~?+Avg-M^oH%rwtN z4R1YXd%nuL49ISj!c=~8&7?vB&UH}su+fmW0&vAS!0J_{)UBB4>bMuxL$1xk`k-Gb>y`*CJYc1#7RIrC>B7#nw)T2Yr zM_0+QEZ6rBMP*1fhl`Jt2z9*7C?%@o^^-i^;?2z=t{~)@n^<7PfLtGJ<(KLi=3Jca z^HgGdeMh0mxJiKDP#f<3-Gjf1l<0kW8U0W1qmH3I?(*Kws@H}y)?(3JD&EB^D?G2~ zMeWoxW0qzsn}zQTO^PNnm)=!Z#pGkOnfaQnjw)3wf1)&`xF^DHumi%iPvgokF8O0$ zomWepai=*?lr7)fA0gm8o@atSAC_)CEuzhykr}Xpx*DOcAh~FV>J`4Dk;XYm)>2S> z@{af2kkuUp4knTn3B(L&r8-^ z7VfiBrOfXsj+_y#A9*wPCxX9e7gia}_3 zaq$&58Q4O##)?z75NC2OsL&lwNddCvFQ(^_Uqm*Q&+rRacxwhF4;el zkX5In2K+lqsCQxc4>*A3Z$u>a0M*#|xHlP{3lLQAgaAY_V9~~}TDr7kTh*%zOW8jW z$!l&T=Kb>75KBy7mOR-RX9_E%#q>6_O?{(kQ|1ZntHll2vF^~)B9W~98fv# zv`D+H7Ct120rNJboOuqEGy8bTUqr2-Jn1Ag9Cf0Ibh1x{>#soPv80_b@w!n`K10welPx zC#RvIS?Q#P?WN;PH&LcwK-jI!6V|E(MhDdvQ|k#u8$c90=Lo))XSwq@%=Lnp?3dhn z4qH;xMfWXxEc<-MT~-C|CeCbU@z$wsRVwR3GEOCLvz#aOOvoPD5x*_7Msc zT;?m}4!wKLxDw~~zAMxcXl+x@larG_~!L}FJD}RPmDlPk8-f<&XYB z<+mmD{~Ff&to!{}VSN;d{!Qv4R?YGB^4%cV9b)U5Lj9N5qsXP@)%p1pnPa4MGf;o9 z^}`TbkIl(A>sb`g(6_vtn{SE=|NQLbd{?jRlE@zjy#i`*8Xrcmx+(GuRaT0VqEpzn z6#dsb;C#Thcz0BBE%wrV&bVtJ5>{&ZM+_l|5S5_2`dsX3ddv+Aui=)k97~QrSv1vdx~gb)NN-i&r62{3>!teFjWf5F%f zzL=a3TAr^4@q>~lvn8T`lxgmbX7e7!R8dRR!Lj@+e_9A~S7kB$aLbi9p%+^x2nm)NG|{~5ym7jfQ{!~eJOe!?eG z^r$^jkz~83gqAK}=yImvfFzzf0h1K}g^4cGf1v%IQlDD{z5kAWxEKZL|Nn1=6#nm4 z`0scI6;4V+tE;Isbi2r#I&Y|+yXEbQP#t$e@kU6$yIZ8rX^Dro=Jgzl5X2tnc|L;we4BxgOwWU>QMrT@{&5E6BAHlQ$e1-+1R@JLL>Q-83j@%+Wu+t z>~-L*-)8sSvp{=SXw zHHhM3UVQS?^h~utbVCE^1QsNl4BmK5u?^}Io09fTrxca7@TC*G z2T57D9Ci64(2j(_*ME)L=W%9G4HLoxv}~IR{u)>OjqNX)47DD`F`k0rLqIq$^`kEB zyr?V-WMGg7#ie2RN_R|tkHfH{2<7f#3P9I(&6hjZ{BV0oG4sLDxVgnyk?k{ zOXZ8zG_$sD?zNF{OVBJe_#%`(p`%JWZi3uV${)n(r6}jL)}3#&PGvo6odx1Nmjx9Q z5jc3HUyU93=?@KwLkRK5-ZZ z6Z%xK)}`26O5=RDIRM0M5|&#*kgMAf|%6XhXY?9iQ+6>m4 zAf(qg2sF`(kB-9h4&+G~#QK=i4`IM65__vV?>*(O`8%E&s^+;N*pTGZf})}buF!&% zjXDy_2c@?#6|_j8AT|(9=m@R%1nl%2LEbJv;RSXq%V0ZjnWb*-Q__bZXX9Uo6jQ&l zYJkW|4?|H5r)Yr79I5S{U*k>GfWVX1)zC<6!($YdXFe{NOWUaXBJZ{aw+HE^~PL{H`~j0dTK#Rm?E#Iv<}xfp~i9D6{9O z6v@z2F*{(cu|*q>^zcqOaFec zQJ)Se!QMmAzq=norCSYag0SClMel)a1^hvp11Zz1l6eTea1|V5?6TH`j~ccq7z@G` z&5|Ikx{^)kufNb3Q5oBP3I+G5ju0@Es7)?fr%0c@yV-)yOO+aA)@#N!kO;n02B__N z4|^F|UvAN+Uw27JJ;k_Iey2G8WyM$q$`$)LqRE#o&&6g1&!J5W4wGbAtv>`&H@SpP zbN`yQ16N<)^~H9ZTU&=%vx?1iU!_8i>7|cYIZ5O#@SL~Fc7Z&Y)Q!p)%x+7ydLb3_ zaVlU?f2MYP=8jd8n3QeG4bRyx?XO!70!=>`3pb;kiUj6|2dYYVnH^*%l3w^*5wFc= z_v^K(b4>E(a}>Oc$Y6RjrOd}8?t|Qpnd?h$h$HvXLC$#u%!ca8DA1?g9S#|U(7bY6 zRbZ+9bpa2xrwqw4iZTPZTmF>_huy?q=pg!-zE)tO=D-=CAM6)IYw4z2AA~zBc!4O0 zl%w_D6KWew!0B7)E7`Rk9vM=}oPy%@{GW?DKF$|}QWDQnTs9Yo7@Y=DiM{I3;rLK+ z@Ei1~qhN)yR%bxk35ns!E=*MG7N%QDOx(pBcU!u}(vPJ`$;-=gD3>qRL0bU^_A}a4 zll>Cw)G0*Jc<*5hS@Z@4O5W!3b9m!};$J`zUl}(R$iRJd$@L5cVm58MK74E^paqw6xbfdNe9)ZaJ+nO1XZCSON%o~gr|A39L!G== zA;tUtWjdvIsqj9zWRs9W++d%AWkuCIZdJ+l$uPvGi+-eKP~qj!F{>0ZAA`URCvh0PB+K zkg0|G^1_%~AROC3u~Zg(IQHyl8;H(=e`sT~DUs1;CB8Pper`}j{rn2a#Rw3}V5=Tq zb&9_FE__ifNjjd0IXtq`#VTWCy06k*17&`S+YehcW98t%_321Q6}J(0?+TU$X?)Hr zR?(Yjwnu`f2!y#3Hb zMu8qBn?JT8mCeFhVoBw4?_ObjKZ%c2=a)HXs?Pe9y73HzdcGWz>ng1G$S}kJHtzO) zv5zXGq80h&Mj2(&{Q-zr~h*n&EprL0xST*=}OB%AmW$?y7o3&$+pz2 zPd{wG{EzF}0a?ys)}k4*PvqTA#SswQmXeZ+p?XTCGg44JOE~mO*xtR26oU{i5c)8$ z0+@7{!4ZAY#Ywd121#!ka)1;M&(AUES!R91R zcV(+}Na&E@cp{qL!pTW$<~$6ihuGdkVrui?twF23yOIS)fm9hE&tJ`#58hO$vKI4iS#`b{5zV@Bon? zTn#~VuWxkp+xI}Q#Ai4doyKCha*Nyyu%ohTWy& zRzHL#uCZ!;^jcRG=%6{k2 zBE#zM>Q)~C<8!xyaC&c!@;zZ~??@9I<6ItS#%NB?kK)R*g8_~$2kYNDzztWDHyYI^ zevY|AgVf7$fH^}l-<^t&0*9Sp4~$0@KYy?0=#b znr~1hc2a~_`BpEXa)S_dH%u=L68n8a&8DsylH3ngC06cbiGFTKv3VKICJQ9H4jA

X5QzJD0J53OyJj>RS4vXgTw7mh4a_zQ)D6pf!xf4JpfgPoop`Vbl$XdRT% z925}yhg7`56xiZbsOo@gB)w$ZIWvJ+shqe=Rnfr$CVxWb9#DVBn^+6RWt)|tpc|g@ z1AX!Lm!^LFfr(3?Hdp5ie5ordDdjbMF>IP`^$#|^ic4x8&FrrP!H6irCFdDKL;A9&MuLe77k^ilQS%EDZa3 zcl6*DbZZYss0{xD*}kiu@|QU8UhP(~+^zAiK5NDLfF3-`sQDh@@rQ|ib8&@Ib+99C zI5Sik!Va#T*-_&Yw4vhp_Mrh>PYW1lf1&?@$C+PCMQ72U%7`+_-bMZi%pemKzZly|AyTDf0m6CF6P1boDZ6rQxt;5YxOw5nXCGthV{97 z?3oCkLDc!llGD&+UFh7&f3wY-pSoBUAFxW9Q6q0VTho zHhc$a<5A$g5*53R(b0sIRhyfg?Ie&Os`c;7XNCvI|#87ZsM0&6-G;NM0t5Hhx< zgn~80b;lVH3HVnx%=ApPbVb}{7?MnTH|LbpsCk|U*0$?J0YULz15)e_x(T?IA$czp zK-jrm4hkSFgIk90>mB5v@B$L^Hi75=d|`DdZEXlFU(|s}0Pqh0$k6}lHlM_J2&Hb_ zLigXePv|e$4h_5Z?LA=p*)W5=?l@#rFayuK*zX;vkCsL};E%|=`NuhmTzKqviFLrv zsaPKI&7s5mz?Dp_yT0~-H1E&dO%#{Hps*1=X7f!k`@!KTeBCe4)wAnwhp`*5QE?|N*Y za0lVqF^~%sCbA&xpYC8T67HxWNCp0Fx=@i92!rsJSRYbSfU@m`rgl}vgR;i6IPqGz z)XI?s=PRCuhzDKenb0k5HGGc=pMe`lDnT&>^?pI;CFMf8C??kyx}sgctsjSUPwT|UozXy^MV}|6=}Nt(q|rr)x|5s>8DkJ zvOWjUFlm3fw09xRYzF{kPZ9>#u()Kr=mTq@vFSoL>LD*NUGb2`@j()1pnAa@K7}_1 z0NwOWY9HYXU2{O~4HO!VXmXcZGn131R#x->hrPE9tEz3=Mac;QlMb0k2+}PRknZjj zL`p$gkS;--(nyC$O}axtS{mtY>6DU|jy)zmKF|BU>s!bE*4pdGKK8NsGngapan~5* zID;~1RtQ2KR>g?nMENV#`Uj#g97q#kd z@Bx?iM|AdD$B&eWoWH(?U*Y$VyYiSkxshqzg))oufk8HyJAR=r)jpyX%}WzVgly)= z(i#T>vJq#ifNbF&5R<(NM&+Ub6cUH0qO1b}53{}TrxBJhNOog^Dy2>YB5Xt&@EtSZ zNQ4kFNajeD$mS>jZRAq+oAF?w=AKTPs~aKR@p@e+i!hjJ0i74(0J^_i*RTpj;8g%D zT!BL08h$IS0!RvU$^Y2n{0X+{T-WE_;jRwN_6<-iCf4&rRpMN zT-rpJtO36h$T7To}LC+WFTX@pm}ug#N646GMC{K5 zgsyvf0@RNy@8^kQ)!b=pxKuQ8+*Ph@h`V=Aptv}|282kmF)IQV)5@*;c;Lrjc;#b< zqDU3k^%!)95`ayKA60!_C$j*tny*K6q3%9D{l2dzYGXL*c`G<#144T(vIEA&z7D%J zu+#kAFTj%V)h*$6QL!L^a@iTBgZ<)KmG`$*A+x8Zs>!icX}z;1wUh;fxS!L%Rx{ni zy4c0V71NXQyr)~100g#@zWj`w2848j$ntDR5E_-Yt$}N|3uI^O6T>ixfKm<~AK zI~D=&K zUeH(ldE{nQ@N^6CygWp#_g^7uz1qFGYW&szdRl^NaEJ0O=ysAK0^hB^h`l}^-NgIC zD07Fk?~gW8LEFH5_wY!dwCY7+&Z6QX79cvD9sSku?4#IE298MoA7Kq|ekxv+{;bR9 zy#oXDirikFzdPB!$c(NKZ}`P)sgZe}UQ1j=VwubkHzS z!3@kcs9wE>pT}E6Mr?5Lm9r2aHn6kn$|iHC&cBzM;5+YwMi1!Ed~dT|9pwU}*Z?%P zv=#-KdMUSTp|cI+$w#aT8a4S2e!m1yrNI6^{;#q-cP55EA_4&1x>L$88#tGkw{vq7 zB39pQfX0jRcjN4^5DSdrN1;PoZ@a$^JgH4Rq6JpHB&gT9d+M8no8=rGc&_f}zxavu zyyTH@yOH~Q{UWT*IHuD9rSbj_x{FUyX&a#|9+j*z6<=KEie%2bNEM>KR@c>C6te=N zbVtCV*lR#(&c+vJ48JU66KXYk`0CXr+xN;cis2TL>U)FppD4b*9B1KW*GmF)W#XO! z9}k;SgtT45x|(a#=%owu8S2az)Esm`W$`=aB=%XppqVB~?L=LCHdCY8)Y2})$huL8 zuy*ax-V-l2Al05=LA?P06J-3?3Q)b$CAbIuk%UIv(paxTpkVo;TBi=yUH zRpXW2*e*4u(UyTLs8l6H$p~8;cm45(9zy*ZPsj`iX(u@Hck3v*mz$Sk&=GKCFmF?Z z>d&(^56lWO_HB|;m|cn0vC83PK!8g zALsPNRZeE~IDRE=w~M)?wT7ar`%@0z|LuD)G&LeWRTmeBCY#vy>?~Tt;v@4d|gZ!jV$LcE{jGs49ruPG6 z^Q|p4s=kmxo}9c>C=xR+OgpfRx)l_3#cOb$47op2$Aj-6_3@FETEmA5kH zyk-*RI;i+y`omf##lMG!D`MWd+zG^vjVNN*WXkZ2wCCvo*I!OK$qtpT;@FC*ZVj2Q z2RXw#yEs610XON!S;h%=FR?Bw3b zDp_CqLZSA~ug0Dt!+#BHj|0NmTTG-wUx;{3En0~tZ%jnJII*VKJ6+-AO;}}kjzh|l zIpbRtt2WZ$HE}Q~(pJ^aKq9T0zKrxwB={YAW)?hyuN9g5FI6#h+F}9C5+hrFYm0jq*O@JD6m5D;O!XW zBO7@L@77M-C{Ep&3OCbc=upcu-iehj*f!H{y5qSYX}!27_ggQX0XYdC)Vs_49VX5K zxZ~Hv=DaO;T`C`9=|-9w5VbHwW(55eqOJHYJ_F#V>oo?uy1G<#4v>nvy+x_t%esyu zK5c+)^_LTv{;gtEmzpSb#%sGit}rC^rs+w#zr)$JX_FE0(?7~x?%lgLGdrsxfmTNN zk9(i~nZl5}aKFXYBQdek#CjYgQd531j8e=Q^;?4~?rq%ZpV6HEgrqCt=!b0cjsF$1K3H9aZYjU{%y&90 zdt_4KAD;*zEG`4E3xR-hgnkY>GCbh?RUpyJaQfNuRQGx${j3Dl;j z8JpuF^LO-o+`3W-5UT^&vQGntZ7E;d`PbJtc_5q5vc+^|5Rfd>`5mdA$Rn4^RR-+HcE17!JzE`Eko){Ol2;ai( z@`OBT3(XbwARyZ4CuaIvOt^q+!=#-|pRna|uAz2EfEbM6GY} z0RlVY%RmOB!hmEzJ{$%tj`@3HJo|uqp9Km3A0GuWk_pY_A{?@SrQmgSob@ zZp0O#(SuaG2!sZe`d)1TT1fM(!=#62-cSgz^s{7_#3~e!DMJRj{L{c$C+OvoJd;))`QM*k|hSQsT>c`XFAvFVigj8KC1pX_thXzW==8P{drMPM$`DK zm6&G($pTW-oyu6o;+*!A*Xb|<0SolVDM2VydKXPy*-|)hL&(ESAocp!gfY!V7=yoD z9qniFx$NX}iveJ%RSeNl=XTv-QxlSSc1M&SDs?VWnzx(fJzYXTHv!XP4LmLO;NkJC z0vZauL)kC$!^5mex}Y>+60?V>n9O7xPuF*MbMYH`v{x9TB;_%j?gqP^b%mNmu8Q-5 zX8{Ke@Gb1@#Eif#9tn04q#~%+aGxu?lCAjZART<%bF`rY?rYO?+sYL~?t&Y3@;J3M zX3e*iV~tRIG3QPvhh?5CVk$TpQjhd>i=tr%Z1}BrkeE3+B?Sd+>)>0C(fZx_Bdwa3 zJ?XF%{IC*q?P9`75&|{jdUwA;spPfyDy))>FH7XC-@wV-OW$z7MynRNSzkKSD1xW&qmd(jJsU_B(T0kOHdIt-izlc^NlC%w&X78d@P<12 z--gUQBpV!4D=Pn9TCrFb*hi5BX7a+D)?Uxa&1H=Xsk=i$!tT=hl&{Re@H@?jHJWAF zQ`Etq!I%tIHa0eJBL+677?R5J@)$#Q8Sb~8wScY>>RR|4+!v}Xy59~1COJRHf z#s>Oa>*W_;DTq%ZHsq2>jojF7`3YCnbAmBc%0ujRcf*PMI!C{L*|~lnzeAaiu2W&cAR0gD)`E>US{IRhnDn6WXv-vcLisTUWAj)0%&+} zavmC7k?-~A;A7xHwNifG<#n{K;a*W&8zLM?y#h6o3;yb|rQ5k6zfVf8*R~;38--Ky znFBcm_bEKH(OFm=<5{x^8id8~e0SJ?+SZ%^iAC***bMK}bSvGKG}&9_5f^ki?j>T$ ziO!8IhHOsR%Lf#84x$Y5feB#}0c~~o-tubsA3?ckii%~pCj3&7DQ(4FYPU(; z;9twi@Ks--S*OfOKdbdOr&ZR=eUpnVoQh0b;ID&iYBhcuhGKR9{CYTAOtoa0$`MKM zfG+ggw{MXe>?oA1#NMk@Zz`_i1H$9;F7`2tfTUz2KT71C>#YT%ocwSr_m#sf@P-|Q zkSY5@dp2`k+Bd$wkR9_>UgvGq-hwL`QGH4c(&jncSd1?tS6+89L*<49znl>s z!ohwyZSlv9ejl(X!V=sOkBX{ZfxLU0BDyn0R6Nl*rnAeq{+nl{yO>%QJA+o4gY``n z<^~cxZ^FTuvbiX=f>skHhCAcabS&_~v^V`)JKEi$kA=h0Ug4j}hY_%$&zPv2@VfGq z&x;o?e0-=@$aOcfVWWi4R+q906CS?jQap`2-kl%F&D0&E$lFA(+?Y`CQ=6eX8l#E( z=3Lt^O}T!J#x%Pwh$f|MuEU%zj5FvFt;m>gDAGzI1jq>p32i~m7Aymfvd;(gap`SLR+MU2GH2sBbu4B@B{hJd;MHWlh#-bp826XZ>^QRwt-3b$n-Y^LxO$Z3?ff zkA~G!e!7C7Tt%u?fXdyU6tI4q^98eraCHXy-oCz#r5QHoY1_?F6w-0eCvS0T0EwD| z14r6iQBK1Wt5*|~^tN_(c0dB1+@1hueavWf0)r=F&X7rP4o}4(O->l!dh3CxrkbZ$ z>wVNs-mou5(1xzZIM|MaXR%*w9US&{X6vvlfJ)Bp~M>{(06(CDWiLN!x%^^6GM zbDZ~iKbJ~<;ztIQ?q+@0>`sM)qvOL=Q4x{Xz(<9Fp_6AOPLci*5%ai>jA4S5uzkh_ zRe~eohR$f>=~^Gf6f<25Zj+p>Y`tGhviJ&pp`Y`j$ICV$7eD@;G!#_sFTi{Rqdda^$aLod+ZIFv9lX1BYow%2(-&jLRi6<(yU+^k6CDU!=NS25gF3 zZj&#>F-CcKc$Qw6MLM~aq%+_Qq#A0Wc5BPg{v8JgPI;;=0w@NuY|9@(IIOb0_~XB#MQ+%P2@rS`pikHVn+ z`ymsX%Ia!8;CW#q5+}n&MNK)W^1iti@uAf1(cIcL{aQGZ+480TaTW1uk4vW@OxJ`f zCzlVbmU=UF!*6P-*Xrg1Y1-i%FV*`RW=1^j`4^fd?wlRJ2yOM`r*NDl~$`dPEWq@UA1M67t+nXM2SGXFs z@_Z#{o3Zof!Z9619uwT%%)+k@=VRR29Npcm_~M~6CPuVqWH;n|j}I28Q0kItn`~%R z?4y_RENr5sMRM!uqeO`fgpriktmbxaDq(fl4K`0Hy(WJeGmf)f|Am2#6o>wa*7-tP z_?vzbzNdam@0(Q$W}Wo0xcja*P>+jo0FYCbD`*H4ezb`EX4}BO3QHt2PUK9T)c{+v z<0Z;szWUpMfPly+B?meKYHKp=n6s+sD769kZ%RzN14TRC>3IaW z{&4~POZxeLlB9G0N$37=r~b*qj>tg&-%6dXV*39qb^2d!2{}hokN-M<`X3L%ZMJ(v zlJ|d7rl+V`vKsjOu*vr)Gg2(Hq_4NedDaw4#k8Kz-M757p;C_zBja)Kcv3-TTAe@j zVFSYl{_XQcnj=KxjG% z@AH7Guv&+liT!ek$oksXUz3O51U1nG+ujAO2tyeUgpVhM54VxMx?>J5ClA#Iy7X|r z44DWUMR-R3k`?}HW&fkbUWDO$83&|DmmLL4N19>HG9l2&#(Sw(q=O(zq%9YV@Dx!Vqx z>_g*{n_-L3spyrsA1fXSpDdxowsP$5)}IcGVcw)Na-0)T^^pdrb>C!vGjiP+QbawL z-RSK*{N_3SAx21r;lxBDz>+5J3z3FnZ3&r}E*zO{uq*8KzUI~aZdFvy!bfFOzdUFS zGc#w>w9u_Gk@+9~r0t;~*Z)w{rJCA~r|c0hT>^>$==-v)Q|4v=Bs$UXp8-@WHb~eN zEu7VCPHHeI{&T~pPwZXJYeX7kr=tj#!_GrVEV)d_O!K3A@KVYc2DVzXI>^l$`Bs;j zvf03T*ARV2@^;5`{#PNqWkfDV-N6L`blHygPCG?I$-bsjj0!mMzCnNTNoM-tHSbb) z9~&!0aPG2A1(9(v4>q1p%Va5@oN3J1^N4RRRj&ZOt%*2xA5%j!OB&UW^6$+$lBo6k zA(JJ>hU8-^+Pr39_wdRq-<+Z6u%`FIU=u&1%g{U`qaL|eJ(FFX4qC5LDM=3x=qGzv zgxg#aNyCZ8P)>J+h&qn?eW%`@K+U0S@8FK;VXH*r z=wLp|Fksft+`<{>ycnDxCA>DVi35J&^CI=IKx3&G8@i{(y-%b;r$M4%!$q>oYaqsL z0246xNi@+?h86y#t>#dyVY{jAFiY#*v#fVcjG6bBwBgk`9w-$~<7VaI*_Zj%5E%P%b{}Q(yA`iYe{U+@%t>aJj zHe79T!NI8(c^tX`j@y38Uv}Spe{1>dac4^(qMgiq#DyVZm2)zT$3^UYW+6Al(1rLL#EdaW)0J3+@dM#5`80RPGelXBp8mcMx zHOAU8<=CXlaxc`V5*n0k@=0 zaa!nIJEU;?W=7xpAwwQaC|F|EG)&209dG&I@vyjAD=@{wV#d;Rii7WwmIq@|O+Ijx z5c%c%=51Xk&&D&M16G=4MYkw)AIhGX7P8f9g(V25`A!8Wn4yBv_?6NQZD6TG0b_w6 zIYc@7=iHFDro+7WjOVxas3JIoB;<`AOcBhAznmB$g(Yb}dpd~yU4w|Sa^zmw#D4Lb z_m_$z+D#g#c~xb?VDSYQ&Jk%h?NwvR}!U1UX$L zJ$L+P&*|xuVaA6kkHmJS)5t1iiQY2E-p}HdU&-{dRo*vTdF9YxAfmzBS&N!>x1WlS zzFHhn#=kT%9wsJ53-QJ0po*dCCFK*gl?hO)a;?TJ_E_U4a;{^pA5=3aOFVdU7~9>by*ui?`1tnHsS`#9d3%R^Iel*7?^l7U@v(nj_SJU32;MC zdqoe&OJ(wn*{Wp|`bC|79Nf9y5cYHsVi)S5M|X)q4gD6JOL(r5MHSz|Z~&Db&63Tq zj?6}GY(gtH#9K=zL_Y*G+%?SgPuya_SgbBN{Z;;hw$W*}t-Z_D@V?^y(-mf+u0_Uo zXVw)9a@a|6980sLFTc@q(ywa^DqC}55)yoJn1!tuAD-Wn+fH;ViQQBTE|AIrEghHf zyCutbPX!6J33J;B@m}Ec!Ct>e-E@t{3hYx$)R3qIJ(VZ>^bX z`B9f*7c{lfY2guNb))rFRMP{15NB#sop;<&@eu5`+` zL0y%?hXlQ!08*3YWCAy(@;s=WbcG;IJ{&|svNU1Z9f0$)#8jv$S{0ePO` zN%K#uqUxbS)>rF37+cW}igOM&$;17O;C@l!s9(iV>HI*Rb9mU_VT9 zcuT*+XdVS}_YRcl!58gKcwcH4ilxbeL3pHJ@Xo6fwqITk>1cV7{%m0FfyC z86j_Eio@3P1hHsg7IZ{g^N=_(Ni~WYyHB-@^cAV%P!KKAe#486D~v_atnrQdkiw=b zQ}eb(SYbiQr?{VE_h*m(DwE`CbWVx{Y!(%w?Z+FvY=xouEiF4j(GMhx0%p0t>rQ2U zNp8>a;IBQ_L@zE;2MmP%y0c2;zFf&&hmU`1@?Oll1^a~s!{2A)lXpE_Ua-Id8OlXu3FoK1y}|$LMmw_T3v5?22oto|Gm9OF@NggJ!6n_sx3iBa6cb#F4OJ&4fH;#`!r5q{>l}mP`fcK{r7&E?p#F72 zUSC2mN%3>Igqt7eOHI%0=0b=V7%Yeh%>zRxMc@*4xK6GTFwiVIgbDSwBpk~@L%83= z+Y7qoElo~7tGz{xZ!Ce$-m(R)r$C?J9mGshmo4&}@%?!F1gQsPHBbNA7>n*S68m$o zx$$r}y)i5ISIq5$Xx;|7l)Ps=vU_vR-Suniv9#E5ER{N?B|JM z0U*kEtFycL*u2`ro7fo*8S0z7)xC!B)o?`jb;>-#S60YN&rmncrwA`Hf~Dc7Lnpc6 zexHLZDgI+TQtimT*uedQfeI6_+8rYQ%i#PydKq?)&rS!Mq~U&RLI3+3e2$eGT2ASk zi5X2?b&qt|tSlVq|D3FMc#j^UOVNDOcJ!o4U@Hw5|r^Du_OhpG{pWXhT{T3aNkc zL#g30ynwz(94m=su*~ao4d}6s=2#glI|-uqwUESy_USL;TuMy1gja=S6V{GeeXv8x zqkVDOR1uCJvmL#~6s#kab|x1>@{TLXx^_8U94TXOUf&;3ewQ0F9O>0!BIsmjk-iWG zU?VPS04_TFCVg7nvCR5nr8|&AK(PgJBijtWvBpJ}cL7zrZb+Q^;ExZAEpZT4lZEVo zCq7_u=7xwV;yxcp^7rKw=InOT8YtIKJtECNv~wl&>T1pz=GoKyLZhZqj0v%2e}?O;hhia=Ep->RNh~$=iMh?dWY=``Pse-L%B4W{kNgi2?T7BR;sq?nh&x4Gk;y z41bWE_a3x3gmbORoNg8!220-4zw;hWT? z%;q62C_DU>T7V~5)u=_=kRKc+;RNP*Ea5m8a^R2;YR2F0c)k&}I5nldXkiw2e@NuP zjsd!AS#)!0x`m|!m+Mmjw}NkXWE0N2KFCH;Uw=}79O-H79qfzFbNuU0c6g{*lF(uR} z6@Ck3FQ`jl^r~Dqz$_Z{`WO{0 z9XH|q<0sn1&3A@g<8Qjlq(O45Q*t0>6Db%XGSnd)q}b;w+3wFUk9+dRp7UlUC`~t* zeHJUU7Pwdyk35vYb|Icq>a?LKtBtApv`;*xJ<-%pYXD>P?0r|^~C19@)-xdR2lVk zGH<8!&hBi*woc4qG0M0keq-kc3jA3>(HM{bsWgg}$ZIx?>)O_TXPi*fY_pcwSW3Lh zh2t^|mANM*ub>J0RxgvzF`cDI&aa!-EVbyN!&~O*les|M@^B$o7aRgJ((Q=r`CJiu zNNGdm8n|YyzNf5o8SmFdo8SC-gHzKGrYJ0%?)g4Ox|_H9y(DGvlXn{55=pGpi&h(T z255jTnGcY&kWQQ6%!zldrJo)bK7NtZcGoShxbqvgB;dsu-}OG9dwlXJy9 zMhls3xOy+6y9*yl)YFWXwQQuljz4oa`eY6c=TW;F0A81&Qk1J{zs^oCigY(w6FK5FFqRfit4W~`52F%Ox;o>_k&nW4`QUml|EUSbBz4t<#dlCG_+ z&rT*)M;)^ZDL;q%y%@Dxz^fA#i)E2H$taZsYejSHY!lvF9=1{`r1R z7T2M^nyC!ltSiYZ5eM3*&8;FH596fZe3jTN-+fl!Ko^ITpJV;#!giVTK`06~#Fjpm zkl2cb-Q#uVwRf4m?rRf&SWAr+w%dK`-es{7%7opgqGTSX_NRqPB9b<7S(e4AE2_i&svpw~0BR|}*eykCC%nf)QCO=L(7{Imnvyo) zwv^?g-plKav9S$Y&a)&PVh7c=L2)-G`ie2}AA;=PB9pD@My$W9(DtfpJV}=z`EG?D z&N9m*JVZuMBP`3p2Rf)s0lpLfc~u8IpZh@jtzG|+`HXu|oQEAcIZyJs!$w|B z67_3(?4Ta1uVb@O>27KtfyS0SI>a(39rTPhWa6t0vG&qZ#%oMVc!De>=u2?f$;cWo zBvu*CbGv9C_%D>nfzp2Q;?prwxw(Ik7C;w~u?CLk7y5}Mdk$0~9o4s8mXkv#pE1#o zj?hr4ex1m2ts<9#u>);n2lrR78QX~tHo?^u^V0n$cekyUlgOQsEX!uqyDs9kI)3FB zA#{4L(9nRHJo?qZkA+g-W@G_$O`esb7-#O)UYs=~ zD2nKUFIg}x7F2L76OI5>Rc_j4Q_o4jb5tt=@l8)2SWxuFl?I}LLlTujO_`^*K81j? zEE;=uxD>W)gf$we2%$_2p9rUgr!+04Ye4l@Mdl~VxQmJgGmo---pd1E>nWb*rw+p! zkX*#cUDcFlD+C@KjWD)KBCFTjil|`4$S3WJSj&!JaS+C#<y8UnxfHHYsXmc3sX3{$(p44|No==MXHq}}=tTsvNn&o^cYki=!J z{B<${tI^J3vh|)SM`)bq-Lo{I9fYIQ(**I!z2~`p=LTo^>vEQ+kLVaigW~ZIuRkP3 z3A128J^+?{QxMY}o=*Si%RiT5aVU)R!<%=I!3A7VCkx>Z8&WJOCT}fM^*bGj-+Tkf zefu$z|CEXVYM*|TP{yHxmC+!h-v&;X^W}EO!+%%VdO66hI;g(uPs{9VeMP2TjsLE? z--}zzwoe>ke}BAfBJ{QtOAw-JgE$Bf1}8@}NSx=^vi;W!#vWBZ@6T@hSv##Qi6|iM zRNkY=+7k&;4Q&+2Hs2r|qM5xOjv1Fhi3-@6n1}=a%bU@)+(DBcZ$MwpK#=WwgK$1E z7)S^Mn%75myZa;E?Y;lcY`SR)4RzdkZ(IEblS$tqs?R}#@HzwrKm`X#lcARe+#(d2 zcL?k;y2ctmUw#WiM%OspN@1+mQ0O`hP*r0|1epA#AWRSTruPyT(P>Ol!zO2QK8?LE>28M#0hQS2dFmUpeuM$O2n09*02-~g zMgQURwwluIR4y2i@M7ZhXO5n!?1&A_e`=@54el&sx!5;or3e1&q4@2=;%9 z$S8!|%tM53JH(n7uqf4y@qdx{57&tIQ2Ih3&iG#--q}o}kK6V0aRnb26H!wG`w)Qm z`z@;b1CzN2;TF>}KOwg>QD55ja0o!Te~(Ez0v>nMem^d20RR!u8+`y?|KHwJj4XtN z+N;kJ$cVF8 zAZ)uHRZWRY&M@zfKW5V{>wR9ioiKW+taRHMG-h9|&dw$XsFyAt=M5JXL?Flj03w~Y z_?%!s3D|lTQL0O}xXFco(W4-a#UtR8Y(?$d1w+fbPVmEH`eT`O2fz`c4)=sEy*3|> z?CnM^mlc*By*YY!M7a7cTSA*mQ8$Ex<4GebqCNf~-CgVUkC=}s>}hd?u}bSm8x2XW zMd<9Cs1I)ZO*npBgz}I;E8u9WwNK9Q3Ro4iOznnpOWOG*on}NpWH759;?q+WWqiT?-O`$|Y#Of;1 z^~XRi1K2gAhLxcaG(1uQ8?2ft;~DZ}B-UynqI7bbtuGI4&$7jbtkKJn^l3~C|n5sm}&=a4zay=bDb(m9=p=C-rGk!#Y%U0++O|6oupv#9B8! z@!z;VDRR+@VX$c73@dthD7=GCcDB$Q3))R)+Erq=8Do2ji{}gABhkdFad-!td+q)6 zOvYpT5gG=YK?~BE8+w9LnWt5!8Jf`Xg}3u}jD}mmB-aikPc;!9ga% zbnbPA&f&YKXucnFnuD28rJ3SUsXzK^F@LmnU>8k0eKGksPRzMB1Eialz+#`EyBimW zoqKi7JaVn0<3V#E*67DY`ragdugog4usN1*9NI}YywFzCbaui+rWQM ze;(^KC$&m%(2l>IkS0Thbqw~=j%_BTEmdokcWGJ-;{i%j5J~9Nye)J{dEKEEl<&`c-3GL8hO_RePr2KJ|`0s z3!nGu?F%g;=f-w}u0@3f>1&IOmD#PnDsU5m{ooOnEf=BNWzV5ns1`A#XjjtrW7C_Z z{09>CnLo>57(}|^u}XIp5l_A1Pbq5VIvib6jIxuXHW**1ex!}esF`PaZRNr$<6&&U zoM8-z^ilpuJ61ZM*d&(@D>>D7cb*&^2>sPmZ@|=hhH8ZWE=4X8(yQMtt#x=x$qFHb zWq~-pJnaO9@>}QpGzmd#z8Vn2jJW7y(*sXP4d}mSvL!Bm(VTomHdEI(_{I>fGl0

?|Je)%XVK>pn+5AFy3ex! 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 - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A0 - A0_bar - A1 - A1_bar - PCLK - VDD - VDD - VDD - VDD - WL3 - WL2 - WL1 - WL0 - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/figs/nor2.pdf b/docs/figs/nor2.pdf deleted file mode 100644 index 1895f236f385ceccda01e248cf71ead820de3af1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34601 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 diff --git a/docs/figs/overall_flow.pdf b/docs/figs/overall_flow.pdf deleted file mode 100644 index 340737ea4acf7ad4176485415ca5c5384b54db1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35879 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 HpYwhJVz@~E diff --git a/docs/figs/overview.dia b/docs/figs/overview.dia deleted file mode 100644 index a79e3138acf092b879be5d7ab4e4e2f1eb5a825d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5079 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 a^jAdKeka9L>U-p$$w@1nOp&^H^S=NHGR`;v diff --git a/docs/figs/pinv.pdf b/docs/figs/pinv.pdf deleted file mode 100644 index bd725e8a8567aac8f4617639f8751b4a6efe6800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103664 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

U@ak+iQ|BT)h1X?hn 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 DBg)6g diff --git a/docs/figs/precharge_schem.pdf b/docs/figs/precharge_schem.pdf deleted file mode 100644 index f79363a554d8d7e5185383f723cbf90fd2feab63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6765 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 diff --git a/docs/figs/precharge_schem.svg b/docs/figs/precharge_schem.svg deleted file mode 100644 index 1ad9f6d8..00000000 --- a/docs/figs/precharge_schem.svg +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bl - br - vdd - - - - - - en - M1 - M2 - M3 - - - - diff --git a/docs/figs/ptx.pdf b/docs/figs/ptx.pdf deleted file mode 100644 index f5ad721c5e0555753881ce8e25fba83921b46027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75391 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 P5{E{D6ch}tj6nYZaO7}P diff --git a/docs/figs/ptx.svg b/docs/figs/ptx.svg deleted file mode 100644 index 9bba115f..00000000 --- a/docs/figs/ptx.svg +++ /dev/null @@ -1,1557 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - Finger Number 3 - - - - - width = tech.drc["minwidth_tx"] - - diff --git a/docs/figs/replica_bitline.pdf b/docs/figs/replica_bitline.pdf deleted file mode 100644 index af396c4cc0afcaf23015a94ecf0f5d1c1790c624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60217 zcmeFZcT`j9_b(iEl(917*p;GEEFdUogi!2AR}evIHb6uOh7x*o&|yYL(L_N?hz#q0SwcdBF>pyDFbDpyM{_Oo6 z^+Wp(Xm8!3uR3q5s;(;b)VX;^M)PzIo%HeuP~8T<*v->966)`vs+#&*Lga7u|a-;s$0K%6?ybuUq#l%dBD)= zh3z~7utB)fuoGlYPPV7cd7KV}f2-=4`|7Ihlur-a(K&>}p0@W0RNe9I7i*6*-Y559 zLsXr0;WzyqJGU5YGl0L*Tl9AtAUncg{r^Xgv3`NDj{sGDWJaLC*&yFjs#_5X*?o5k zuezWTOVQbc`VM}|Kw>8)vd@0fpB}g0|O3u;PzsD{jq)sXLrJi)+YmeRJTr1 zN@tpG2J-Q+<7p~{w0!26o?p|P@*#YDad_Gl&x@N+MbaFHLmZvT&bd6_8-8U5Hm_vn z{foQz>b{+^_Q&O<4G(wC$Uhd7GH1<(L!Wll{V>PxQ_FVb(di=()9jZn< zg9`?<6p!Tc2x|0fzN67(#9P(GYEQgF^+SGkYLn)f-@RJwwpg+jS354vLE zheCar!&-+c#l%EO0U56T{xa>rkld1u+%x6f^Vf)6=i6 zxPCxEL4j7Lqr8-dZxFUx2-uTJC3~(_J{>P#VvBnv)~QXA43No=85wo+XQH%rBv>ue z@ObkFyJLBT5-ZX;O?&d=^Jpwnvcs`A$C)ZxwZk@;Br9 zHoT}PPu*$fmEMvZsyp(sypyq9!!OJxYUs)HTJhYG>@I9TSNFtn!n3gE^d5E5bw`tW2$It9tg-tVt)%H!wCaAh~Nty6$`v`P|X6a)%_boyLe)$LC7K zt%D&(zZ^Cw7q*xSLcQ1b6qE+^*hn>_#ZH2Th6Xx*pnHkV(2pcHb-eN4zV}w6#Cghl zb2B!ZKWjD$R8w4)q3 z3ySC-%}ouI7G2{t`B$H=tmfA2eXqBh`0BcF#@hL@;YV78=aw zx4)TvXK15j|Gk9fYE|Y5oQjG{dy$Q@X;iXfgb9se64}yx$|z#&aiyt}#9T1G)(_#C zt)`}CrPeCDM}fcBte!l{H%(D`PAu)N zn=pL1C52r}F?HV=ZFZ|Z@xAPKT?#uRBZKUFb)a-2x6*W*vAN*NUiO^g8TTl-ye%c= z;Q`XJD++P?)qiekcM5g5eZ?&D!Ntr@<}q4NX-oMm%NlY#MkSFLhKaq@G!X8ePJ42r z%f#_rn*WgOV3Qs#e&L1Hy>l)qzlmndw+--7-bWs&O*Tnr80K=%h%5iDPW@XiFG2ZH zt!=Vt#|3dE&JQ6?oTAw= z+K4ZTY}k#n z)gTq;XJ@TiFlXaqVG&-ko~6W41vh1>z%n*o{if#Cb?`HFX9NBHZ?Cf@b@C~?$wRtHikiyFb+pvwKcFu9 z@-%1}Ue}G4V-*)I8lqO4kENN&@eY#J z@mc(C_Qmnp{9$VrIjUIZV7wx#Sx$;!YcJSk(pvv!>bTv`XO*SbkXNY1R)R(E_rOlx zqKTL|WV0#U8;A?Os!2O-?uWYg$z0$Bj`v>3|CYzCPrYgpv$#6GPRK32=S=mx{;IP# zO{$43ab8iyq~u7ZhCE>Co4qB8&5Bk~{3~8e0sdTkLQYAMO4?1xya2fSB%=$IWHnUTXhiyx!GSX`d z3hS<`tNYDoEfA?Usb3x6*LS1|LW*hy;E`QWMxLH++%%ug>(It1vo#hK~+h(fhK zVQ@`$?)<>vSmW*5yY zr9aGPCdo}kVIsTvto|F8@tQ?F846W)xQsS8`ek*{6h`B29G*5sz+3-I2BxG^L)6jH z(J3{zL?o~`qf!H33ui@%yFZ!z86o1}>vl)pU@#cKp(jre4%G}#s`hK=JVHcS?|+Mc z{vVb8|2z5r0h987iTZzu`oGOT{eN4So-w#l8099B>B2eg!T5%zrlya~ZKz%C2L(>f z7J^s>1)fLyk;dUi)CNg}Wk*i&43wb;?X>TDn*EWUvM55}k#^gBvLDZ8)0f^mbACs! zx;`4eVo?l<_27lbaOchy5t7f<1N5{=zp(ggk8Hw@AAiujeq`tYhUZwnXG^%oV`Y|- z&uSLg0>kKj^;D4+Val-!m+2>Pzua*1z8C_Dxi|hXosRkCA@9~?$Tj+l$tTsKoEquU zCqX0S=;}NhH-3a^V~BW%wu5wswo_P?#8;S5rU5}}zq+W_i$4}hFjc(JqhjuNQ7Z$> ziL(Z$$}@`|m0CYeU^gac=e#T5qkR2dv9a) z9ElpWy^M;t6?FJJsbt-nH_GKckk*~hJ*b%ORPB*OdCRV=TH{2duw97V7gR?sylZ&M zIT|(C(ziZa=PsKUr951tX{Y&- z)mKl`_|Z-;y@o8i(%zUI)65)g5H?JtXLP-ADzuwV!Z1EpVH<5N^Ag;QbasU`Tw%E~ zPcRb4S>pq$yjxOvMLBD3IpbyqE6{aL|Dufka_Ucio{c_!oOgNpHaS#QR6?9$E{C^2&4Bs*X` zF1@8y2zTM5$|v_lj6_!wG3}IQ^)#%|wqc-#a+W53{AHHyvw4~VP*L@cT61=+4ktqYkHVs!+vaR?YEXLzTuLs7C zZzhZ;-9*ACnmT{B6;vh}y!GhkrV#kzx#P>@t&58o=Epx~-2{5vVvnyNMjT;fJTLpW zqpal0D_oC)S5}bp?DgX&jTb7oZuvLI4_yzNQSbg!jZ&9eh?raTv#P5GK3HkhtfP=V z73#m?7)9EJ&#H0`7N5ywFQJaC@3C1?^mxDU)`x5ohS^m0qrdS5yp(tK^y?mNO98uL zek{rxO>@m!90$=+Azn*_0JUNWv;HunQg+$ zo)3W^-7`9#8O4~loYc0G1lUqs?y|?N`O0kva5~O~!|A-ai?n8dj%H`rdYW2m&=>(h zN%5;s6yu0x2^E(0Tht>0#l)0hi7m z4g84ZNLoK%NfLo;x>jtCtGz54=1*Ss)Vh?(y-~>E+N4Q>jie#|x_WOVEHjm|(D-uJ zQrDQXCKeA&4jH`i4{#Gqri%HK1#OkY2~eicM$p5E#YOYn;Np(z1OL*q)zp}V7$sL++OQ7u7& zzt^K+FLA`ypU}I!)X@H0fUcIWaA59AR$n(+I7j$&c4Gby_gsmqcgAyXG(P`RJbP#?yfMaH5U5U9}gi=TC`VnSq)r;ds zQwf4<@l2G(e)`}L_maEIofW8i&i_QyQ&!X9@einbridk@n2Zm8 zEaQ<-sC@YE4b8dwe=kJ6HD)PgS6X&NtXP!lxE%G-5Uh>M7bSV#_&%l%i-UyFunq{;%xy;-ZqwECkrKd_JNs zPj7q62y}w1qT}SSoqy!i*h1~vt`R0actPMV`*E+%ZKk<9G}7x{d-$PFw83E0+S@+& zk~R=AN1a)q2Q~3Y$x)0YHl>PXOSdVU-4E2?4!; zWYHlxy|Gj#ohUfa9wD@Tr$J_}dwR)l4-n8-T?F#s+LDbuz?>1bSyS}<`R?Ig3%Un8 zUwL0g^6ZDR?;^0H^%CIDibnR?p?go$=A4?YJbAN*O zEJC8yUyiHpZGiMYgiXAi?ydQZN^N>S-_wB|VtEADvsNGr?WvJTdg~@MZKeFd3vG(h z$)Cv`rq+p=g;5MN%hTUw zP`^ms@S%>{IUN-f9eklK?Y<=<&culd|DD1RlgHM$Sp^Sm1lxmC9UQhRP~20zqnycq z94|R~(C;+>Y^iLNV~d70Mmbirn$kE8Fu9{M{a9pkKSWGHGsV$eozHhiK6!AOHly$) zDV=Pk5p+5uS9!sl%(5xKi8GI7y>r@d@GPpFW%Er#p}tl5~@OQ?8XCE#_leQgl+dzgfw#OUL6O z4Wki*YKX@G)T*eyJgKnfnx=dffV6C*pZ7>2mq#d^J^atOqwy@V&V+QF?~;c)zoo=G zyflQkdK*iras#^T&a$=wV|OFgLU09LPJS0RYyb0Hey|SfRw3Y}$Zo&_J35S<+&TG# zo`j{$iKc`--#KhrLTtaXeU)H0y6ov4| z`AjMQyI0y(l(en*rsQPqg#pM2dh_f^6Hl(;oBJRCDJOJ`8;-DIk(V;T-hsIK#C8^= zE!gS6)OtF!o(9AHMcKA9A8F8J-Zwn)^2u=z}eO=(n&~2oDfQ-d^f?*C~;~M zH^oZB%zZoF+^mQ8Im#aAMNIPNXyV01XKTWWsZ`OY7uRk$jvA`rM}v)Q`Xzq)i(664 z>vrQ}Uv+Zy0NCaE2>XYqn-2;`Kq7;Z*}PgQ)Ym4xUKf$F*SS@2=X|s)B(tG{!eebL z3^2;b<3%w}XRWGF*=lUEW>J!&TX2vXUV}Eb$pe>Bdv!R*ufx67K8BK#5?uIXzlJC& ztN3-bKe}vQtBt_u3FptA;cL8G<9MrDbDi*lW`hB_Oz^kS9NmLQ$Ht1D-q8lUF1d9% zEkW(46IXIHL}#`gb84DzE?5Q@At-?zt89Gy7CT8sD;;|S1=3{@QS@l`oZi^b6mj58 z-VX$=&MskGMLDvLlERPe@7YV& z8RJ^sVkdAlTt3cjpXFHi8cCLGlQqWAO}y$uE%9s>;(D&xxN&#O506+;OVSVNqo8HX zFP<+KUt9{j=iR|h4kcEO=xgZJ-j-7r%u-e5!nd1&r%UQXuM&rsZOl-Jet!KapQ#g( z&h@*-)qsek@hFZNHI8e3TzJ^;;aI?*rI@&4!!6`~j|H@YvP)Lh=;-KQ(c(2= zwCJykjY7WMliqQciJN$QsG|3of%F!=9KHSRxGjdijlWqL`znY6>h->LEyp&NtCH5^ zGU}l|ZS#BY@Dtb$4xG|ROwJgGj_;xFH6~J0>|Jr#b+omhMLo3?I83@}4U`pJCcZqj zK6(^4>+#!X)`Aj3#NekF<^6|Lo@}9=G*$u=l6stC>}pBK01M-q3wZL0`yaSbqo0o{ z`!33V`qX~;NLBE`*jmcb&b1*|B1PQN$gjzUV(ys`SKXd1%}q3V3{QdOiFS6V_Q1`#AM4oMHVM!J4ah>h%B_V@F3pZLf&y#O>aDr8h16d)3heo4I`? zC@R;c7+Vq+yz0CVKd_kwL7yAG==qG?WNRY5(zvB?xh-xleGd^6;ZbQLKs$_pqBoq- z6^4k*%wq{{?XdtgN&9xvpbU5Yzz7v=wV9WF$@{!yWpmpPXQ=A53}TWpq)x}J1V>uN z5kHWZP+uIS*4_rg)p01NhZBbdoR_bLq|zvHVHA0|Kg7t!JxM9*7%_YkjR)y-_6u&! za0U_>s zS;H`vggs=P)nApeka$o~JslJ7j2s%NjE7}RM?Ze@KsnmH{!^Wn&yOyK>R(v(WY8vB zt14|Sl+w9FXsrowLz1FhGtLdR@yFEP>=R|XUd(QS)UYHM|QVXO^fF%k`*dwQQau zCm+ozI_eUM>+gSjb1Ghdpm}bwFwOt3CdH3eZ?S!_F<0av8WJW;<|s&KxHuET|2153 zS$xS1r)aKQI7VwK2rLW~b6-VA4?h_=kV?@Y^*a1eWT7T%X+61CZW|Fxo0*l+phh;C z`*;qEF&gZ2P;QZ)-DOvL&ek_qEqh@uct)+*BM>gupGP`qdY+bg!L!+>#78^0bWs$7gT)&2DIw70V zgd1ig3fdUX_->?&2<%rUQB2d6bgIZgnwO4uCt>?0czJ7+O2R{tG!w~;V;&D3Il-#| zs4CMAg09oP*xTWr#Ih^xtN3#sa%ce=f-1zIR?lSCvm~FJpH}7`+{6`2`&+5#P!U9p z){w_GU7;3)KRfM#WJ;~^<(VqxqK5Sgfx4oL09bye$I-Hceq>s2V@9(a7mPojc+ ziXKxAc8XLYm_BFpFPgW3zQrp90`z9Pl7;)0cPkB-&pX zLqm(&N2^jdfG}kMs=KMbM6=rdc2Ð3YJNeF7}EW9td!IqrjwK^J|XzHj47?hEU7 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 -;{yg36}u3+Xr*h3MB`Q8 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 diff --git a/docs/figs/replica_cell.pdf b/docs/figs/replica_cell.pdf deleted file mode 100644 index 7ae362bf2264d533cb17f740520269d878d84467..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20121 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 bZbU3(VkWVu1e|0HElo`fxl~nM{oS|#KbA$Y diff --git a/docs/figs/sense_amp_schem.pdf b/docs/figs/sense_amp_schem.pdf deleted file mode 100644 index 01c202be11778eec809a20c757cde880310acdab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14383 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 diff --git a/docs/figs/sense_amp_schem.svg b/docs/figs/sense_amp_schem.svg deleted file mode 100644 index 946aac45..00000000 --- a/docs/figs/sense_amp_schem.svg +++ /dev/null @@ -1,113 +0,0 @@ - - - - Produced by OmniGraffle 7.6.1 - 2018-11-16 00:52:28 +0000 - - - - - - - - - - - - - - - - - - - - Canvas 1 - - - Layer 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vdd - - - DA - T - A - - - br - - - bl - - - en - - - en - - - en - - - - - - - - - - - - - - - - - - - - diff --git a/docs/figs/sram_architecture.svg b/docs/figs/sram_architecture.svg deleted file mode 100644 index f3b52a3a..00000000 --- a/docs/figs/sram_architecture.svg +++ /dev/null @@ -1,679 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - Precharge - Array - - Sense Amp - - - - - Address - Bit LinesBL0,BR0, BL1, BR1, ... BLj BRj - - Word Lines W0, W1, ..., Wlog(n) - - - - A0, A1, ... An - A0, A1, ... Ak - Sclk - - - Bit LinesBL0,BR0, BL1, BR1, ... BLj BRj - Bit LinesBL0,BR0, BL1, BR1, ... BLj/2^k BRj/2^k - - Pclk - D0, D1, ..., Dj/2^k - - - Address Decoder - - - - Column Mux - - - - Write Driver - - - Enable, Data in - Bit LinesBL0 ,BR0, BL1, BR1, ... BLj/2^k BRj /2^k - - - - - Data - - diff --git a/docs/figs/sram_overview.eps b/docs/figs/sram_overview.eps deleted file mode 100644 index 52e66eec..00000000 --- a/docs/figs/sram_overview.eps +++ /dev/null @@ -1,3128 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: cairo 1.8.8 (http://cairographics.org) -%%CreationDate: Mon Jul 26 11:00:08 2010 -%%Pages: 1 -%%BoundingBox: 0 0 944 450 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%EndComments -%%BeginProlog -/cairo_eps_state save def -/dict_count countdictstack def -/op_count count 1 sub def -userdict begin -/q { gsave } bind def -/Q { grestore } bind def -/cm { 6 array astore concat } bind def -/w { setlinewidth } bind def -/J { setlinecap } bind def -/j { setlinejoin } bind def -/M { setmiterlimit } bind def -/d { setdash } bind def -/m { moveto } bind def -/l { lineto } bind def -/c { curveto } bind def -/h { closepath } bind def -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto - 0 exch rlineto 0 rlineto closepath } bind def -/S { stroke } bind def -/f { fill } bind def -/f* { eofill } bind def -/B { fill stroke } bind def -/B* { eofill stroke } bind def -/n { newpath } bind def -/W { clip } bind def -/W* { eoclip } bind def -/BT { } bind def -/ET { } bind def -/pdfmark where { pop globaldict /?pdfmark /exec load put } - { globaldict begin /?pdfmark /pop load def /pdfmark - /cleartomark load def end } ifelse -/BDC { mark 3 1 roll /BDC pdfmark } bind def -/EMC { mark /EMC pdfmark } bind def -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def -/Tj { show currentpoint cairo_store_point } bind def -/TJ { - { - dup - type /stringtype eq - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse - } forall - currentpoint cairo_store_point -} bind def -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def -/Tf { pop /cairo_font exch def /cairo_font_matrix where - { pop cairo_selectfont } if } bind def -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point - /cairo_font where { pop cairo_selectfont } if } bind def -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def -/g { setgray } bind def -/rg { setrgbcolor } bind def -/d1 { setcachedevice } bind def -%%EndProlog -11 dict begin -/FontType 42 def -/FontName /f-0-0 def -/PaintType 0 def -/FontMatrix [ 1 0 0 1 0 0 ] def -/FontBBox [ 0 0 0 0 ] def -/Encoding 256 array def -0 1 255 { Encoding exch /.notdef put } for -Encoding 1 /uni0050 put -Encoding 2 /uni0072 put -Encoding 3 /uni0065 put -Encoding 4 /uni0063 put -Encoding 5 /uni0068 put -Encoding 6 /uni0061 put -Encoding 7 /uni0067 put -Encoding 8 /uni0044 put -Encoding 9 /uni006F put -Encoding 10 /uni0064 put -Encoding 11 /uni0043 put -Encoding 12 /uni006C put -Encoding 13 /uni0075 put -Encoding 14 /uni006D put -Encoding 15 /uni006E put -Encoding 16 /uni0020 put -Encoding 17 /uni004D put -Encoding 18 /uni0078 put -Encoding 19 /uni0057 put -Encoding 20 /uni004C put -Encoding 21 /uni0069 put -Encoding 22 /uni0076 put -Encoding 23 /uni0055 put -Encoding 24 /uni0070 put -Encoding 25 /uni0041 put -Encoding 26 /uni0073 put -Encoding 27 /uni0077 put -Encoding 28 /uni0074 put -Encoding 29 /uni0053 put -Encoding 30 /uni0036 put -Encoding 31 /uni0054 put -Encoding 32 /uni0049 put -Encoding 33 /uni002F put -Encoding 34 /uni004F put -/CharStrings 35 dict dup begin -/.notdef 0 def -/uni0050 1 def -/uni0072 2 def -/uni0065 3 def -/uni0063 4 def -/uni0068 5 def -/uni0061 6 def -/uni0067 7 def -/uni0044 8 def -/uni006F 9 def -/uni0064 10 def -/uni0043 11 def -/uni006C 12 def -/uni0075 13 def -/uni006D 14 def -/uni006E 15 def -/uni0020 16 def -/uni004D 17 def -/uni0078 18 def -/uni0057 19 def -/uni004C 20 def -/uni0069 21 def -/uni0076 22 def -/uni0055 23 def -/uni0070 24 def -/uni0041 25 def -/uni0073 26 def -/uni0077 27 def -/uni0074 28 def -/uni0053 29 def -/uni0036 30 def -/uni0054 31 def -/uni0049 32 def -/uni002F 33 def -/uni004F 34 def -end readonly def -/sfnts [ -<00010000000a008000030020636d61700156f213000019c40000008463767420ffd31d390000 -1a48000001fc6670676de7b4f1c400001c440000008b676c7966097c82ed000000ac00001918 -68656164dd84a2d000001cd000000036686865611045078600001d0800000024686d7478a954 -114500001d2c0000008c6c6f636166f86ce600001db8000000486d617870045e063a00001e00 -00000020707265703b07f10000001e200000056800020066fe96046605a400030007001a400c -04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303 -1bfce5fe96070ef8f2720629000200c90000048d05d500080013003a40180195100095098112 -100a0802040005190d3f11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f -153f155f15af1505015d011133323635342623252132041514042b0111230193fe8d9a9a8dfe -3801c8fb0101fefffbfeca052ffdcf92878692a6e3dbdde2fda8000100ba0000034a047b0011 -00304014060b0700110b03870eb809bc070a06080008461210fcc4ec3231002fe4f4ecc4d4cc -11123930b450139f1302015d012e012322061511231133153e0133321617034a1f492c9ca7b9 -b93aba85132e1c03b41211cbbefdb20460ae66630505000000020071ffe3047f047b0014001b -00704024001501098608880515a90105b90c01bb18b912b80c8c1c1b1502081508004b02120f -451c10fcecf4ecc4111239310010e4f4ece410ee10ee10f4ee1112393040293f1d701da01dd0 -1df01d053f003f013f023f153f1b052c072f082f092c0a6f006f016f026f156f1b095d71015d -0115211e0133323637150e01232000111000333200072e0123220607047ffcb20ccdb76ac762 -63d06bfef4fec70129fce20107b802a5889ab90e025e5abec73434ae2a2c0138010a01130143 -feddc497b4ae9e0000010071ffe303e7047b0019003f401b00860188040e860d880ab91104b9 -17b8118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee10f5ee30400b0f1b101b -801b901ba01b05015d01152e0123220615141633323637150e0123220011100021321603e74e -9d50b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cdcde32b2baa2424013e01 -0e0112013a230000000100ba000004640614001300344019030900030e0106870e11b80c970a -010208004e0d09080b461410fcec32f4ec31002f3cecf4c4ec1112173930b2601501015d0111 -231134262322061511231133113e013332160464b87c7c95acb9b942b375c1c602a4fd5c029e -9f9ebea4fd870614fd9e6564ef000002007bffe3042d047b000a002500bc4027191f0b17090e -00a91706b90e1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4 -ec323211393931002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f302030 -2130223f27401d401e401f402040214022501d501e501f50205021502250277027851d871e87 -1f8720872185229027a027f0271e301e301f30203021401e401f40204021501e501f50205021 -601e601f60206021701e701f70207021801e801f80208021185d015d0122061514163332363d -01371123350e01232226353436332135342623220607353e0133321602bedfac816f99b9b8b8 -3fbc88accbfdfb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0 -127f8b2e2eaa2727fc0000020071fe56045a047b000b0028004a4023190c1d0912861316b90f -03b92623b827bc09b90fbd1a1d261900080c4706121220452910fcc4ecf4ec323231002fc4e4 -ece4f4c4ec10fed5ee1112393930b6602a802aa02a03015d0134262322061514163332361710 -0221222627351e013332363d010e0123220211101233321617353303a2a59594a5a59495a5b8 -fefefa61ac51519e52b5b439b27ccefcfcce7cb239b8023dc8dcdcc8c7dcdcebfee2fee91d1e -b32c2abdbf5b6362013a01030104013a6263aa00000200c9000005b005d500080011002e4015 -009509810195100802100a0005190d32001c09041210fcecf4ec113939393931002fecf4ec30 -b2601301015d0111332000111000212521200011100029010193f40135011ffee1fecbfe4201 -9f01b20196fe68fe50fe61052ffb770118012e012c0117a6fe97fe80fe7efe96000000020071 -ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec -310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f -117b12a019f01911015d012206151416333236353426273200111000232200111000027394ac -ab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec70139 -011301140138000000020071ffe3045a06140010001c003840191ab9000e14b905088c0eb801 -970317040008024711120b451d10fcecf4ec323231002fece4f4c4ec10c4ee30b6601e801ea0 -1e03015d0111331123350e0123220211101233321601141633323635342623220603a2b8b83a -b17ccbffffcb7cb1fdc7a79292a8a89292a703b6025ef9eca86461014401080108014461fe15 -cbe7e7cbcbe7e70000010073ffe3052705f000190036401a0da10eae0a951101a100ae049517 -91118c1a07190d003014101a10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d -01152e0123200011100021323637150e01232000111000213216052766e782ff00fef0011001 -0082e7666aed84feadfe7a0186015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01 -670168019f470000000100c100000179061400030022b7009702010800460410fcec31002fec -30400d10054005500560057005f00506015d13331123c1b8b80614f9ec00000100aeffe30458 -0460001300364019030900030e0106870e118c0a01bc0c0d09080b4e020800461410fcecf4ec -3231002fe432f4c4ec1112173930b46015cf1502015d1311331114163332363511331123350e -01232226aeb87c7c95adb8b843b175c1c801ba02a6fd619f9fbea4027bfba0ac6663f0000001 -00ba0000071d047b0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f -0808065011080f501c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec321112 -17393040133024502470249024a024a024bf24df24ff2409015d013e01333216151123113426 -2322061511231134262322061511231133153e01333216042945c082afbeb972758fa6b97277 -8da6b9b93fb0797aab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae6762 -7c000000000100ba00000464047b001300364019030900030e0106870e11b80cbc0a01020800 -4e0d09080b461410fcec32f4ec31002f3ce4f4c4ec1112173930b46015cf1502015d01112311 -34262322061511231133153e013332160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9e -bea4fd870460ae6564ef000100c90000061f05d5000c00bf4034031107080702110102080807 -02110302090a0901110a0a09420a070203080300af080b050908030201050a061c043e0a1c00 -040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed071008ed071008ed0710 -05ed5922b2700e01015d405603070f080f09020a15021407130a260226072007260a200a3407 -350a69027c027b07790a80028207820a90021604010b0313011b0323012c032708280934013c -035608590965086a097608790981018d0395019b03145d005d13210901211123110123011123 -c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400fae100000001003b -000004790460000b015a40460511060706041103040707060411050401020103110202010b11 -0001000a11090a0101000a110b0a0708070911080807420a070401040800bf05020a07040104 -08000208060c10d4c4d4c411173931002f3cec321739304b5358071005ed071008ed071008ed -071005ed071005ed071008ed071008ed071005ed5922014bb00a544bb00f545b4bb010545b4b -b011545b58bd000cffc00001000c000c00403811373859014bb0145458bd000c00400001000c -000cffc0381137385940980a04040a1a04150a260a3d04310a55045707580a660a76017a0476 -07740a8d04820a99049f049707920a900aa601a904af04a507a30aa00a1c0a03040505090a0b -1a03150515091a0b2903260525092a0b200d3a013903370534073609390b300d490346054509 -4a0b400d590056015902590357055606590756085609590b500d6f0d78017f0d9b019407ab01 -a407b00dcf0ddf0dff0d2f5d005d09022309012309013309010464fe6b01aad9febafebad901 -b3fe72d9012901290460fddffdc101b8fe48024a0216fe71018f000000010044000007a605d5 -000c017b4049051a0605090a09041a0a09031a0a0b0a021a01020b0b0a061107080705110405 -080807021103020c000c011100000c420a050203060300af0b080c0b0a09080605040302010b -07000d10d4cc173931002f3cec32321739304b5358071005ed071008ed071008ed071005ed07 -1008ed071005ed0705ed071008ed5922b2000e01015d40f206020605020a000a000a120a2805 -240a200a3e023e05340a300a4c024d05420a400a59026a026b05670a600a7b027f027c057f05 -800a960295051d070009020803000406050005000601070408000807090009040a0a0c000e1a -0315041508190c100e200421052006200720082309240a250b200e200e3c023a033504330530 -083609390b3f0c300e460046014a0240044505400542064207420840084009440a4d0c400e40 -0e58025608590c500e66026703610462056006600760086409640a640b770076017b02780377 -0474057906790777087008780c7f0c7f0e860287038804890585098a0b8f0e97049f0eaf0e5b -5d005d1333090133090133012309012344cc013a0139e3013a0139cdfe89fefec5fec2fe05d5 -fb1204eefb1204eefa2b0510faf00000000100c90000046a05d500050025400c029500810401 -1c033a00040610fcecec31002fe4ec304009300750078003800404015d133311211521c9ca02 -d7fc5f05d5fad5aa000200c100000179061400030007002b400e06be04b100bc020501080400 -460810fc3cec3231002fe4fcec30400b1009400950096009700905015d1333112311331523c1 -b8b8b8b80460fba00614e9000001003d0000047f046000060112402703110405040211010205 -050402110302060006011100000642020300bf0506050302010504000710d4c4173931002fec -3239304b5358071005ed071008ed071008ed071005ed5922014bb00a5458bd0007ffc0000100 -07000700403811373859014bb014544bb015545b58bd00070040000100070007ffc038113738 -59408e48026a027b027f02860280029102a402080600060109030904150015011a031a042600 -2601290329042008350035013a033a0430084600460149034904460548064008560056015903 -590450086600660169036904670568066008750074017b037b0475057a068500850189038904 -890586069600960197029a03980498059706a805a706b008c008df08ff083e5d005d13330901 -3301233dc3015e015ec3fe5cfa0460fc5403acfba0000000000100b2ffe3052905d50011004b -40160802110b0005950e8c09008112081c0a38011c00411210fcecfcec310010e432f4ec1139 -39393930014bb0105458bd00120040000100120012ffc03811373859b61f138f139f13035d13 -3311141633323635113311100021200011b2cbaec3c2aecbfedffee6fee5fedf05d5fc75f0d3 -d3f0038bfc5cfedcfed6012a01240000000200bafe5604a4047b0010001c003e401b1ab9000e -14b90508b80e8c01bd03bc1d11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4 -ec10c4ee304009601e801ea01ee01e04015d2511231133153e01333212111002232226013426 -2322061514163332360173b9b93ab17bccffffcc7bb10238a79292a7a79292a7a8fdae060aaa -6461febcfef8fef8febc6101ebcbe7e7cbcbe7e7000200100000056805d50002000a00ba4041 -00110100040504021105050401110a030a0011020003030a0711050406110505040911030a08 -110a030a4200030795010381090509080706040302010009050a0b10d4c4173931002f3ce4d4 -ec1239304b5358071005ed0705ed071005ed0705ed071008ed071005ed071005ed071008ed59 -22b2200c01015d403a0f005800760070008c000507010802060309041601190256015802500c -67016802780176027c0372047707780887018802800c980299039604175d005d090121013301 -230321032302bcfeee0225fe7be50239d288fd5f88d5050efd1903aefa2b017ffe8100000001 -006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531e1f1e420a0b1e1f0415 -00860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e07081422452810fc -c4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b535807100eed111739 -070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c -0b200020012402280a280b2a132f142f152a16281e281f292029212427860a860b860c860d12 -000000010202060a060b030c030d030e030f03100319031a031b031c041d09272f293f295f29 -7f2980299029a029f029185d005d7101152e012322061514161f011e0115140623222627351e -013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7d85ac36c66c66182 -8c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be353559514b50250f24 -95829eac1e00000000010056000006350460000c0201404905550605090a0904550a0903550a -0b0a025501020b0b0a061107080705110405080807021103020c000c011100000c420a050203 -060300bf0b080c0b0a09080605040302010b07000d10d4cc173931002f3cec32321739304b53 -58071005ed071008ed071008ed071005ed071008ed071005ed0705ed071008ed5922014bb00a -544bb011545b4bb012545b4bb013545b4bb00b545b58bd000dffc00001000d000d0040381137 -3859014bb00c544bb00d545b4bb010545b58bd000d00400001000d000dffc0381137385940ff -050216021605220a350a49024905460a400a5b025b05550a500a6e026e05660a79027f027905 -7f05870299029805940abc02bc05ce02c703cf051d0502090306040b050a080b09040b050c15 -02190316041a051b081b09140b150c2500250123022703210425052206220725082709240a21 -0b230c390336043608390c300e460248034604400442054006400740084409440a440b400e40 -0e560056015602500451055206520750085309540a550b6300640165026a0365046a056a066a -076e09610b670c6f0e7500750179027d0378047d057a067f067a077f07780879097f097b0a76 -0b7d0c870288058f0e97009701940293039c049b05980698079908402f960c9f0ea600a601a4 -02a403ab04ab05a906a907ab08a40caf0eb502b103bd04bb05b809bf0ec402c303cc04ca0579 -5d005d13331b01331b013301230b012356b8e6e5d9e6e5b8fedbd9f1f2d90460fc96036afc96 -036afba00396fc6a000000010037000002f2059e0013003840190e05080f03a9001101bc0887 -0a0b08090204000810120e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af -1501015d01112115211114163b01152322263511233533110177017bfe854b73bdbdd5a28787 -059efec28ffda0894e9a9fd202608f013e00000000010087ffe304a205f00027007e403c0d0c -020e0b021e1f1e080902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591 -118c281e0a0b1f1b0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4 -e4ec10eef6ee10c6111739304b535807100eed11173907100eed1117395922b20f2901015db6 -1f292f294f29035d01152e012322061514161f011e0115140421222627351e01333236353426 -2f012e01353424333216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2 -ca0117f569da05a4c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e4 -26000002008fffe3049605f0000b0024005840241306000d860c00a01606a01c16a510a00c89 -22911c8c250c22091c191e131c03211f1b2510fcececf4ece4310010e4f4e4fce410ee10ee10 -ee111239304014cb00cb01cd02cd03cd04cb05cb0607a41eb21e025d015d0122061514163332 -3635342601152e01232202033e0133320015140023200011100021321602a4889f9f88889f9f -01094c9b4cc8d30f3bb26be10105fef0e2fefdfeee0150011b4c9b033bbaa2a1bbbba1a2ba02 -79b82426fef2feef575dfeefebe6feea018d0179016201a51e0000000001fffa000004e905d5 -0007004a400e0602950081040140031c0040050810d4e4fce431002ff4ec3230014bb00a5458 -bd00080040000100080008ffc03811373859401300091f00100110021f071009400970099f09 -095d03211521112311210604effdeecbfdee05d5aafad5052b00000100c90000019305d50003 -0039b700af02011c00040410fcec31002fec30014bb0105458bd0004ffc00001000400040040 -3811373859400d30054005500560058f059f05065d13331123c9caca05d5fa2b000000010000 -ff4202b205d50003002d4014001a010201021a03000342029f008104020001032fc439393100 -10f4ec304b5358071005ed071005ed5922013301230208aafdf8aa05d5f96d00000000020073 -ffe305d905f0000b00170023401306951200950c91128c1809190f33031915101810fcecfcec -310010e4f4ec10ee300122001110003332001110002720001110002120001110000327dcfefd -0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb80148011a01 -1b0148a4fe5bfe9efe9ffe5b01a40162016201a5000000000002000300000000001400010000 -000000340004002000000004000400010000f022ffff0000f000ffff10000001000000000006 -00500000000000230000000100020003000400050006000700080009000a000b000c000d000e -000f0010001100120013001400150016001700180019001a001b001c001d001e001f00200021 -0022013500b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b8 -00c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d90502 -00f4015400b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd0460 -0473013303a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444 -040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f -00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c1 -00cb00f600830354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe -022b00a400b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b8 -0614072301d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f -0139011401390360008f05d5019a0614072306660179046004600460047b009c000002770460 -01aa00e904600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b -01850389008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f -007b00ae00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f018d02f6 -00cd03440029006604ee007300001400b6060504030201002c2010b002254964b040515820c8 -59212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b05 -59b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508e1 -2d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0022545445921212d2c -45442d00000100000002000039b310185f0f3cf5001f080000000000bab9f0b800000000bac2 -6791fe89fe1d0a4c076d00000008000100000000000000010000076dfe1d00000abcfe89fe89 -0a4c00010000000000000000000000000000002304cd006604d300c9034a00ba04ec00710466 -0071051200ba04e7007b05140071062900c904e500710514007105960073023900c1051200ae -07cb00ba051200ba028b000006e700c904bc003b07e90044047500c9023900c104bc003d05db -00b2051400ba05790010042b006f068b005603230037051400870517008f04e3fffa025c00c9 -02b20000064c0073000000220062009a01040150018c0222028602c60318036403b003ce040a -046c04a804a8052605f406d206f4071c07ba0802085008ca097a0a980ad60b520bbe0bf60c20 -0c460c8c000100000023004d000700420004000200100040000700000415056800030001b802 -8040fffbfe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f025 -03ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e453 -05e59603e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe -03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d2 -1b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c6 -1c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103 -b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b525 -03b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab25 -03aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a164 -03a08a4105a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003 -990a0398fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa039190 -bb0591fe03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe03 -8b2e038a8625058a410389880b05891403880b03878625058764038685110586250385110384 -fe038382110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b54 -15057b25037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe03 -6ffe036efe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364fe03 -63fe0362fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a0357161905 -57320356fe035554150555420354150353011005531803521403514a130551fe03500b034ffe -034e4d10054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d03 -47fe0346960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e1403 -3d3c0f053d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa03373610053714 -0336350b05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e -2d09052e10032d09032c32032b2a25052b64032a2912052a2503291203282725052841032725 -0326250b05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e -64031d0d031c1142051cfe031bfa031a42031911420519fe031864031716190517fe03160110 -0516190315fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe030d0c -16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe0307140306640304011005 -04fe03401503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b1d00> -] def -FontName currentdict end definefont pop -%%Page: 1 1 -%%BeginPageSetup -%%PageBoundingBox: 0 0 944 450 -%%EndPageSetup -q -0 g -3.2 w -0 J -0 j -[] 0.0 d -4 M q 1 0 0 -1 0 449.799957 cm -205.586 33.855 m 621.078 33.855 l 621.078 277 l 205.586 277 l 205.586 -33.855 l h -205.586 33.855 m S Q -2.4 w -q 1 0 0 -1 0 449.799957 cm -134.273 33.414 m 134.273 277.441 l 96.422 239.59 l 96.422 61.602 l -134.273 33.414 l h -134.273 33.414 m S Q -1.6 w -q 1 0 0 -1 0 449.799957 cm -60.18 146.973 m 96.422 146.973 l S Q -90.02 302.827 m 86.82 299.628 l 98.02 302.827 l 86.82 306.027 l 90.02 -302.827 l h -90.02 302.827 m f* -0.8 w -q -1 0 0 1 0 449.799957 cm --90.02 -146.973 m -86.82 -150.172 l -98.02 -146.973 l -86.82 -143.773 l --90.02 -146.973 l h --90.02 -146.973 m S Q -1.6 w -q 1 0 0 -1 0 449.799957 cm -134.508 54.594 m 621.285 54.594 l S Q -q 1 0 0 -1 0 449.799957 cm -134.508 141.715 m 621.285 141.715 l S Q -q 1 0 0 -1 0 449.799957 cm -134.508 228.836 m 621.285 228.836 l S Q -q 1 0 0 -1 0 449.799957 cm -134.508 83.633 m 621.285 83.633 l S Q -q 1 0 0 -1 0 449.799957 cm -134.508 257.875 m 621.285 257.875 l S Q -2.4 w -q 1 0 0 -1 0 449.799957 cm -348.926 343.105 m 449.551 343.105 l 449.551 361.578 l 348.926 361.578 l -348.926 343.105 l h -348.926 343.105 m S Q -3.2 w -q 1 0 0 -1 0 449.799957 cm -206.719 291.098 m 618.336 291.098 l 547.359 327.414 l 263.613 327.414 l -206.719 291.098 l h -206.719 291.098 m S Q -q 1 0 0 -1 0 449.799957 cm -203.129 1.602 m 619.512 1.602 l 619.512 18.52 l 203.129 18.52 l 203.129 -1.602 l h -203.129 1.602 m S Q -1.55249 w -q 1 0 0 -1 0 449.799957 cm -216.395 18.453 m 216.395 290.867 l S Q -q 1 0 0 -1 0 449.799957 cm -229.27 18.078 m 229.27 290.492 l S Q -1.556427 w -q 1 0 0 -1 0 449.799957 cm -596.594 17.465 m 596.594 291.355 l S Q -q 1 0 0 -1 0 449.799957 cm -609.465 17.09 m 609.465 290.977 l S Q -1.55249 w -q 1 0 0 -1 0 449.799957 cm -408.098 17.027 m 408.098 289.441 l S Q -q 1 0 0 -1 0 449.799957 cm -420.977 16.648 m 420.977 289.066 l S Q -2.487167 w -q 1 0 0 -1 0 449.799957 cm -404.91 132.52 m 425.762 132.52 l 425.762 151.762 l 404.91 151.762 l -404.91 132.52 l h -404.91 132.52 m S Q -1.6 w -q 1 0 0 -1 0 449.799957 cm -359.969 329.41 m 359.969 344.691 l S Q -q 1 0 0 -1 0 449.799957 cm -374.078 329.387 m 374.078 344.668 l S Q -q 1 0 0 -1 0 449.799957 cm -427.621 328.605 m 427.621 343.887 l S Q -q 1 0 0 -1 0 449.799957 cm -441.73 328.582 m 441.73 343.863 l S Q -2.4 w -q 1 0 0 -1 0 449.799957 cm -158.434 32.609 m 179.375 32.609 l 179.375 276.637 l 158.434 276.637 l -158.434 32.609 l h -158.434 32.609 m S Q -BT -16 0 0 16 379.104615 434.102483 Tm -/f-0-0 1 Tf -[<01>17<02>21<03>2<04>1<05>-1<06>-3<02>17<0703>]TJ --20.371625 -1.429849 Td -[<0803>2<04>1<09>1<0a03>2<02>]TJ -ET -q 1 0 0 -1 0 449.799957 cm -348.121 376.93 m 448.746 376.93 l 448.746 395.406 l 348.121 395.406 l -348.121 376.93 l h -348.121 376.93 m S Q -1.6 w -q 1 0 0 -1 0 449.799957 cm -358.359 362.027 m 358.359 377.309 l S Q -q 1 0 0 -1 0 449.799957 cm -372.469 362.008 m 372.469 377.289 l S Q -q 1 0 0 -1 0 449.799957 cm -426.012 361.223 m 426.012 376.504 l S Q -q 1 0 0 -1 0 449.799957 cm -440.117 361.199 m 440.117 376.48 l S Q -BT -16 0 0 16 355.977417 136.594032 Tm -/f-0-0 1 Tf -<0b090c0d0e0f10110d12>Tj -ET -q 1 0 0 -1 0 449.799957 cm -196.895 310.461 m 233.137 310.461 l S Q -226.734 139.339 m 223.535 136.136 l 234.734 139.339 l 223.535 142.538 l -226.734 139.339 l h -226.734 139.339 m f* -0.8 w -q -1 0 0 1 0 449.799957 cm --226.734 -310.461 m -223.535 -313.664 l -234.734 -310.461 l -223.535 --307.262 l -226.734 -310.461 l h --226.734 -310.461 m S Q -BT -16 0 0 16 131.150171 437.189101 Tm -/f-0-0 1 Tf -<1314>Tj -0 -1 Td -[<0802151603>2<02>]TJ --8.204698 -7.355704 Td -[<17181803>1<02>]TJ -0 -1 Td -[<19>18<0a0a02>21<03>2<1a>-1<1a>]TJ -8.140788 -9.532159 Td -[<14>18<09>1<1b>-1<03>2<02>]TJ -0 -1 Td -[<19>18<0a0a02>21<03>2<1a>-1<1a>]TJ -13.840575 -1.667784 Td -[<13>45<02>-1<15>1<1c>-1<03>2<100802>-1<15>1<1603>2<02>]TJ -0.0468323 -2.214767 Td -[<1d>-2<03>2<0f>-1<1a03>1<10190e>2<18>]TJ -ET -0.8 w -q 1 0 0 -1 0 449.799957 cm -676.996 58.477 m 426.332 133.262 l 425.105 152.562 l 676.574 257.215 l S Q -3.2 w -q 1 0 0 -1 0 449.799957 cm -675.879 58.777 m 942.465 58.777 l 942.465 257.715 l 675.879 257.715 l -675.879 58.777 l h -675.879 58.777 m S Q -BT -16 0 0 16 709.534497 402.365834 Tm -/f-0-0 1 Tf -[<1e1f>-3<100b>-1<03>2<0c0c>]TJ -ET -1.6 w -q 1 0 0 -1 0 449.799957 cm -397.629 397.246 m 397.629 433.488 l S Q -397.629 46.155 m 400.828 42.956 l 397.629 54.155 l 394.43 42.956 l -397.629 46.155 l h -397.629 46.155 m f* -0.8 w -q 0.000000000000000061 -1 -1 -0.000000000000000061 0 449.799957 cm -403.645 -397.629 m 406.844 -400.828 l 395.645 -397.629 l 406.844 --394.43 l 403.645 -397.629 l h -403.645 -397.629 m S Q -397.629 22.714 m 394.43 25.913 l 397.629 14.714 l 400.828 25.913 l -397.629 22.714 l h -397.629 22.714 m f* -q -0.000000000000000061 1 1 0.000000000000000061 0 449.799957 cm --427.086 397.629 m -423.887 394.43 l -435.086 397.629 l -423.887 -400.828 l -427.086 397.629 l h --427.086 397.629 m S Q -BT -16 0 0 16 357.241675 1.484389 Tm -/f-0-0 1 Tf -[<0806>-2<1c06>-3<10200f>-1<21>-1<220d>-1<1c>]TJ -ET -1.55249 w -q 1 0 0 -1 0 449.799957 cm -565.953 18.199 m 565.953 290.617 l S Q -q 1 0 0 -1 0 449.799957 cm -578.832 17.824 m 578.832 290.242 l S Q -q 1 0 0 -1 0 449.799957 cm -243.004 19.812 m 243.004 292.227 l S Q -q 1 0 0 -1 0 449.799957 cm -255.879 19.438 m 255.879 291.852 l S Q -Q q -q 0 0 945 450 rectclip -% Fallback Image: x=680, y=61, w=259, h=186 res=300dpi size=2511000 -[ 0.24 0 0 0.24 680 202.799957 ] concat -/DeviceRGB setcolorspace -8 dict dup begin - /ImageType 1 def - /Width 1080 def - /Height 775 def - /BitsPerComponent 8 def - /Decode [ 0 1 0 1 0 1 ] def - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def - /ImageMatrix [ 1 0 0 -1 0 775 ] def -end -image -J3Vsg3$]7K#D>EP:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/mioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc - _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKfeXi0S^6MAH=;fBr>1IXb_>k - P+oS^^pnX!PjdJ%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bV]jIOR,+@`"`Y",ZIn#4SCjj>/e9$(.LU;GSa9RBOG0#GDN?cO-A2#::%$g,Y6@ - "SM2*A9YE5'oPAVt9%.$V8^`j*/PFP,br"q7EP_Aj*tpKE4<6:.a&AJ88Zc!]'l@2hecqCM - C"A$8Ci!/X"a"ifP6F61=;D=s:f/TseRP+M8[i9#2JL'Af7ueC*['#?qeOq$"Mnd)k7*kre - qTTnELQVR^L`mW8\/eFQYk)d?5EKYCfP)T`bO9dJYQ:I`hhj?)u'k;ES<4Ma[Vln9fIdbQu - 3q"iY[\$a4i?-l&3au3R*Q>[gA7ZQh^r)OlV519O-Z_el5r:L)+$,Af!bZREO0hZ('nN\`m - "_-MDjj)FcoD@VD$MAXZ.*XD)KCeF^GBSG,=AWL/"7<*^F)n(=C%:Uc@f\q]C!LX@!4Q\1/[h=%E%]U:DLk=S8*O(99TS`EcRLa - VJ#:cWG5CRK\nr=PJ%8ed?HdC8(3`o:>rpT\ad?qB,S@afuDJE]7"OMQZQ;QRs&1P?mbg@J - ^&LOD]DDKa+N99hJ$3WoVDjel'4H9SlYSSQ:]=:IdaREHl_0Oe4sj]jibaV(,J6E[$.@7p8F+h<]l>b;i5g`ed0rU - b=FMS=>Gi0S3)E#j4VQWK0G>X6.L@N),@\HEMbmA>#RJ'eUB$R<:q>kKO_G]efYD^sTq3RO - #92]VEK3oA3_*-RVjYtU@q1qbYBWD/T4j[FiYX[H;!T:Be;4_,/hTO/W$S,7BnU7BCaesAW - 0.KS=$qLL8_D_MJ7JOTl - ?Nh;'$p<33XW<*/b?diarEUSHRphNgN.P^K - aNTONfSh%AS4C7[`.H3]l)+K*-s&RnXe5j'uW#"%eu8_%WPFV;]]gm`NTc03.J'HJTPDk]Q - RMFLXjZ:>V-KX.^#,dlplUF]FY64T/Q(o7!3,jlE7>[11YZM!*38t'jZ+O$ep*CFs0R8V<8 - 8bq#QQU'Z28`;6r8rZ^577jIY/uBICYa1J.`D05R:5l*d/0oIfX$MWG:E\1D"2KVl7/K@@\Zi0XoiI]WP5.A(,D1?,G-;X$Q;j[g-0dV+T?RW8T`h;6L75r;71j%`L]uY1 - oLW@;V"\:VJ;U&a.ZdRDI*(g!K\1jt#Sql\49;[-Gr$ohDhpY1?e2?#/hY6VV:)I'A:JP25 - o<[oOn=gY236K/LKSU#%@,Lnust;cfV"ec[Aca!oIjUP"4;0V$H=J]Q`fJF>O3>)JNlpI#kFDbc0eG"""$Z\.2$WWW9M+>$tu8 - JS\O1*JoBKUAVTh#!90>nk@6$C30&*@)8"!E]1 - Bbp<%.V+fa$FVb;F(N[f=;MrX.cpb-or[g8].7VU+MXuNY>mjI6GER$j;3X-#Z*OE^!&WnN,$_"*/jP!*sMd[j4q>e - VfUfa>ldiJ[sK;67POTbMS.Ht(A+($e^;FCl`V.@D-Ve&qk1IdTdF^7h!/9kXi7E[PXWog$ - U,)a;>M$ElFB>a?,C?s/_B$Gb-p'/@c>7F0.L$Hc)&='-O;e?4sST+2Ld:AW8=>$[SPa94= - Yg'3($Q,H_XtBY])iPnW>pHnr7[4=,?1TlX@n-dPTM(+^H+'YTkj28[D@HWF5Z-^E/2L^Pm - ueJ[4FKrm!,I[9.^Q:;Ha,Pc&`R%kMK)Ss_CRS?M"Q9Ln_@hAK?edscXjOS[?f;[dT0O%p) - ^mAV2p7A0ac^[+7id`$@0YVh2ZQ#/Tj4hOnq=FZ0cnHXJkCE$fZgih.WWqa[R0N\T^hC;TK - fr+S+H;d;qc4[FNe+ppX\u?&u:7?HdLk!oIb\I_CHlh.K)Lf[!?rPu_mkh:J6s9?MOY1^;n - 6VCo@f*Y3Aqh[Rj+`lnd[lr5X=BU9Bi:.X\nTJiZ=0.#*=SX(/0C#js:?"8);ZVF#Hs%RKG - ^k1/T(3_^J2qU2VZ1_MMg3[1CB@R.e^+ZX#@NJtt3m@GhE.6n,9:4fS,+d>$GOQM&F#pZ9Wn@C"NT9iS.=j7iWEC<%eg[ - 8jhN4L^AYAXCp"TWKJ!3ck`jZm)YcBh4P`f4`]l1C&bb[cI>?Un?mAB\8YVAY<_M+OGR$u! - Q:U^,7;qZ'S!OAH:g<7_G$6L6ulH]>>P - ,pqVLae@MD3Bu.Y)OaEC'P+RnNdjD720`5'VZL=7FZuDd%SU&%E`S>C%RPNU4_\oD?ff7b7 - &UZfPV!ZKC"WM$tosPKEe];`rK`3TX*/ZW2c\OC'E6YNY3Lla^[P20TQ_S&D'Eg8R7^;K"I<8g_JIHmI#"kBB%[8tlEmEH8S#nDjCi1] - /sGLpf+D>Id:.uh*.$c+"(g1WlVejfFXM3T-aJ--jKs.\fRrF#\8JUmarI3K!gcZ\\I)<"l - ghb:ghho#r[?(5l`fcl]%is/#?&5c8X,''fNKa-s/lQK-e=VY\qDC%UBL'[KXa_ZC`m;`s/ - K%o9^iP9YRRW+Tua$W`o`hHJh&Ip=BS[U!(B:k<@Y`U88 - 0@KBMC2-Id0lmYrTga3UIcZV^/,HHSRfR7EugL'D"^\pGhFQ>DS/LdHiLN6I#qdp`TDC&kd - Noe0^r33.e-aejGVdh,#fJHWbs;].VPV)i[s3i#_J7Cm:bY))IWJoN34aeG0%*f\qE_Hq9LCmCmoobb.d[>31>Z-3e=C>gi-$$^)SHX,; - 3MmT_'lJIjNi'JVu)`CtBq9XN#+AKG5l=Cd7TK/(Qj9rnmMU&sg\qB9F+:3G10D]h0^`l?.DWr4Woooc%k/N5^Q\P3pA<+Jq/k]2?8-d\4OD)dZP28eVUf8!:?Iirnp#L9QS48. - P_ZYL&M#(@pqa-$b=s])=[Vok3LLGoqBF<%q#p,Ni`.Dd/d;9Z[$'c-[oU)V&^*WF%"WhCb - fVK*V`#tgklpAJSB*ftkJ^;]%VoYn,MAZd1eHU+i7=\Z58I7$S%27t`9L=hS5#oPB;2#u[; - kTmY"GH#A*sN9LL3-:'UgX\O7b-7-="pT6\4LEh?>"_c"dX]EoNHmY91\b].+3G+!e]d`?U - taepG6tDf'e?*jbEAL8(sC[\E"*6qD9&75iSt_MQo[Go1%+JKhHT?c>RXK&sO7'9(!)4i6c - 8'Las0uLT6R'c>5'4=%&*m%6.Gq8mMZYROi/'O/`GD6QAV;BGV'ujKqk0arfq]7`?EA95I3 - gaA2s(E(6O,,_Teu[=3=2J>p><7@J&5k:)1a>7U(D`JQaq\=cI>H79'd%"*cKm]b:2JCm!$ - V*%p-l>*N5g[LAXCcc*h*p-k4Dl^+78(N&X$R;egWIAF-q3RMb6sQds,L!/udp1ncYU\7g.?K2PUWi#u!(q - )p0_uNu^"hMr/8WLMFo;VT=S:s'rjkBlXc4u> - %f)X."n#)jX<7.bNMG*MIV:sH&lG[>;E)8JGkcCZJ6[CSi)%c?GmhE[=Aub$C::a=FBM=)Z - $m$kGTd=etM0.23IKo[@Tb3C7kG"N'pU,?N[AF.N`P,]U>m"iATFhHH-Ae]JS#Kr;WOginj - r.7?UNccm\=b.Xi'"V.37@!3X+RuW)SUeA_lS1-XR=oH.cmdZJ\,U\9#R$$7t,="7")4Gjt - \#iG#ATgR.Vi$KI:$T"HHTi:`mW9GNZ9b/jRF@)#?->=c>\qklPCL_Ft54^q:)$,fJ4:d2E - 4BI#sN+n3dJN-*0@CUW`ZD.THRu28af$TE`!/m/(9CFE:.PD@"[-7kUH/;8@j)]:<,7H\?L - QM7D<&\P\'kLJtb$\[i":X:)GQR`GJ4bQYT)M]1):>[PT$hFb`OGUIHAaZeJFMg,VZ]f@bQ - )FfYnOT22&:8Nh@Kc_80N?r8`M!ZhR/e[pLpFgWmMb"h*$Of^b9\opo980*En+saG`0'F?@ - Z.`&0^8iB?-mu&@Z%CV7$_1L89HA4EYSWe:iI3mu:HT[&#%"=0n)lZrDR0+!b4/C#MFR#Y3`eS`&4pJa^Fd0XMJhJ^p - =RoAlDg%Y\YZbRE[65"S-.1ZSKt#o'mA)i&XQ?t*8&i5<`r/iV4]f2j]uRa]a8;jW?8LVj4!'cYV8; - nG]p^$34de5^mE*.J"NXame7]:$A8%57.e`9B>0fj'Df&;p7.=FMKR)pF4:$]U#fMPjP'<$ - JVJV2"Y_oNdtaIBBSg - U#!6j7&ld@0Ufr%k&+*#mGlBT!4R"/bKR%_r;3jPYM/mMacYf=SqMR``Ql"Tgo7`i7*41I$(DsR - #>#_m4ePRHDb9&MF/CDKtHd?8bfh@Qm8YsmMoVrp0G?C9b-+4+3P#H%ggK[bemF*k9g>=l7 - %ZV5*1maiVMTHa1Q/>]a&Q-*AIdUHQ=+t/'/^$mdo:jU60P],tW,fRjU - euKVKt@.%1p!4Gja)F3AG%_J@?WCr0W)C12'_9]_5^$ERiu](I*n/;Cj-o:`'D.7QA@?l2i - $M*Dj,!KfYc<$^gEY;4eW2nR/<@2Uam*3Ccn-P?=g^_0TBfF"856Y%=#8>rP4EnMV>0!tcWJVko:?+qgH1AQa1fRqGmtJpU!WCa0@A_ - JqTgi>i.L]5?:YH@W`NcK(+$h"O7clb@%aqZ">T'F"k/T_&^@_'A:^<^EVEeUJm,S1=u10Z - _-@L/@(;%u%7o]+L11.=#aepnfR"-?O=A^:Xt%EGa-jipq*MB22'Ngdl7=^qL>F0:-8GL1? - W`H(m^q9$.:oO#U8[`k9a>[+K)+Fof%i7hQ_4^=]?ZZQ>XcTtd>_.P\W;C*s4lVqWU^LL_V - ?M>ZeGC'Jj'9=ca,TpeGogHlcW#3'-0qe;V/kRI7W]l/8FZbIG!#(XZhb0d3$l7>9r$,)?L - _!bO]Y9V/0I&AL<-HlW9IBTprhS$04Nr3_`$6o5I`iJF=Q?)q:>:86nF#eJO=/G;3?WZDrJ - )Di[#D1n/:)AZDpl6`XGlC)%bb(9W$R*B4.FUn-1c5`:kHXjo.s3B^O2uT2#K-(ZIjQUY\G - Xgl+hUuf%e;"\[oA-YW1/g]b0L]NnUGF-LEX@:)S$r`&mC'=k9ElTdgmT,:#m"?VYAkIg0m - 6uOB)`SQC.qIU#^X_,k4,#oZDsL/:6iO'1-q@$=Qde@jVZ^OLCOB9LDi"aa@m,aDB@0H8m; - XJT8!&N^TRG6\pDhfG^UCJ<1rZ5mSnD+R"]HS`1DP#\ablj?SN`+so_j7P@4$0LQt-k""`Z - E\mA>?,h28;aiBF`q1aRL-k6G"(BUf=%klBZmCYCp-2(C!?bneK92636V)HZdafmN;(6Y#[ - ^@eEdhou3.bRq%iJ;CV@teTr;/N(_R%kopUNOs(s#VWn]]*DpM9G<88jhnYh=O`V&RgD_VB - H`\A?_DZ`NY]ZZOIRYP?,eq?MpOiQ&kcHT5 - XPj.)=!F&%#.3bMAECaY=_7onKb<8h[/AsCjQdpOJ\TU2:&H@He9oWAqiO`X2AVFSb[6="m - 7M%ZM,`3nnE=3OHIZmb'0.&t+X]*aHI3\@Tb]1&\3.r6IrnKljG29!,7'LbP^#[1UXl&^4g - J^0_hg2J"1cuc1?GWgj$J0F1iPVNTi>t1d:GT.):WKfB><;N:fC6__tN6ST*jg,D[i5.)*[ - XJO&'3IXC@p]8nZQJ\g>#5*/%dW%>jR* - gWp/KP?AG`q@0=RpZ-89r6nHHuba5SYj^::,R!dfc^J'CAeo$@usD"oD - [GD3ZddVtF@TQG!i)eW@8+p>9*OJT,KA_j$$=jg=QAE`^YQVh*6IKtEumY)lMlJMQNoHa.^ - F?rFUf?LKSp`HXbXj#04rC<74!N(<8.\WbVlnH8l^)I>;G0U:q_BNa[ltMB@p0\;+MK)ZI` - L++N@e*lVNq6*aGh0(I@-;9VGW<`odiSYhJ-tiY-HL^q,6E7TOF^Lfaahtj".Z'/!gVdU`^ - s:37EFcaL+0hB!`Zd8,jlt->9^Q9`Cjj!8)?.7-R:tH1rZ\Uf%tJnRFaN5I.LD\V81!.:-KfomQ^-6)`O@YcSCa6OIWUtDr.Tgur$GA - A>"-):F2!>_WSQ0rLO;ZVqesTiKpN_=Lh?Yf34:<0o3qdVD=&m7rd2`e=F=uP-H^AgAS_(J - tIdu9Af6ctWpV1qP!T8>AKCGHK_g$YCid=gcnX_\[GlJrJI$^&fSla*\Ikg)5f:2B'GJs,[ - fI[iRZLj$55^ICil>FC-a]nZOks-ht^k]8R+>a9!E#n@jhc0`K:ItSa(MSIlB)$rcj&qDok - ^.9VoA;L:0c&XUN'ZOdK^4WZqrc#k*b=>M"#OB.*VE")9SSD^ge>n*qL;T4rL^RnIfJC)J! - ]d+T@`s@s6q0^+8ZU]?p4ZT!!8Yk!V?FIYS=S4IC.2O]sn5r9F!h1#!K$?J:Vu,Qkhrs+@+ - ,IJuCOllBqbOrP-Pg5I;%h//(<3'L>D-6!P0kC_oBb(dX)u6(AiZX;aI<*'qdh6/3MIllSO - k+@6J[66%19/0dJD,XP0N6 - cilcr"@Gj=J5`R;,CQrRJUn2PX["0aJ1n'A.g-hA6BjZ"36DT4;\b/+Oo+YT_s=B#0J!kl/ - 1WVBlMW8D2)"SgM1Gu"@VUjp2oNo@7,1O*lq^%I:dkdi73#2o/5nu"<(0>,ZBSBBiHm9B+N - !^q!B]2S>MIk7gn`Rk8]lsE36"2K:A^gg'LMc$d!)OH's7;+,=<+e[JBL[qp7\"3_XD: - ;/9=%%"&"PH8Pb9u*,.q,j"'&%[+9c[GYe - KU>:1cQ)LO/Fh$m%a>\p8;IGeFR7>$peQkE:Rq8WXSYf+r(kQ8:YbqFm/Kl[!)O+*:`TU6/ - H\g4"Aher:gF9%D$Nmc#Z-Ke:n7qiXU@t=$rG1X:u)UW_lPoC29#d!9&0%='_>0ao$K"jb+ - rE4>M?I/%ag76Z60fKgN8)=H6KZT$'a6s"-4uPO>tJA^AOB`%3::5Ju";,.>3e7*@Fa5-rQ - $R;Oo:8XXd;_/5j_E;V`s'm3e6OGQIat6LY^g/$QML#!dSK88PES,go<8(.I!`]$mXrM^:; - u%"\M);Y<4Pm6=PJ5ZA1Y<#n;)/ONK#6rZlL<*_smD+@QR85tR?<1QW\X\2X,9N982<8C;K - m8$^[:fRs%GFB - ;1Z=']uND0K'0GZTlM=.OXl_]2"m/MpQf/T<:4!tBgn$5\p^:@'g[V%UqI3P*C-\*R8'J/j - /HL]Z[p.F:"T[>S+_N*+>a=P]!>m>kBJOBE$T=WNZ./X'=#PZ^_G=^@=rD3nCRQs#E:=e2! - aXd`J,S6=+-=l#ZPm@RP[TNVeu=rj>@/Y-"J3S2'k"!sg"Ps!,4W5+nVd0s='`:?O>(;i5f - \(o3K]N@SV&&Qkm0u]nl/WIG'5R`iE)l[]*pm5$Fm*Z"'ZJ?\Tg[IrY[g>VLPY%Mpa]h.:^ - g%>b>TL[d/]1gV`*?$U>[>?S:rj&qe.jB+gmZJQ!&L`"-URF^^#Z.U]O4Z_!QE6a2qrf*c$ - umh.'#lr^V\2(7E:<\`ncX-?(K\TXkR-pgg/1\?/=@CmGD4Ji*HlO?6/$3/`U/#jBbRB?T/_=9Vn)+Z-VD2C%;Jm&:]SU408R(RMA+!C.hU]n@c4!7cV?D`( - j.V:&)L<;HXq+q>&7H%\@3-%i/e_YW'Oa`O@6tnO!Po+/_RNKXN<9]C-6#LXc+9rL^jN9,` - &5^_8ihqM8-7HH9lbniI1lluN)7J3!ZN;k(#k6&@\,&YXt*tq/7QmV@br_HmOr&K0OkSI@i - dC8/i.!$1h09<@pV''DDu'S3+It/A"G_kXug.-4CcZ"A)9CZmQY2^(6l&B*%Ab"G[/A39JW - CQJY#>)bfu4gX[VmQ7K_AOgXd7:G-:V**bpK#.0e+;! - =SV"/ChCt0B&7E;lp@e97u-$k$d+_CV:B"Y,%&>01m<@'I.BOJGs2$pJK,&KA(@Qo2RQ"A- - K?YZeo*$M=3]flc1Y;:Sm,)C03)Dac$Q_-Hn_LTJUAm-u$pgef1j/SFSVo33[?=`J)fI;\5 - go4;r[4B"jTZ5(LRNhU30ki09TsKl4hpVPb2K$3TjV:u#SMZskW: - ph8t?)dKPcBP3P32`iSL?]PGg+CYlcCG&R_<+-\Q"L"Oh@HR_aRe]>A%cQh%B*.T_.0Ip`+ - "FNI&&?Q_j&hD8AV<4],V7Ejb]#ftclGh)E6*QCNka`B@A2C%@4ae-RJjU],C)3=kKUmd>g - aAu8Ukth(g2F+Mdd@V(DB@eT0&mFV]EdscP3Fk9WD40IrtoPR!VA'A,WO6a+2bK*Vn$%^fs - R';K<[W#Uc-NVDHROJ#j&1*D&*KI)H^Ch@Z/p2S&mQp&c/+j_NM>R"TKMRr?o)?hoGun%4O1JZ,[pL_!+'%nm<_aD^TRQ - R\=H?LhS@J6BuKlFdQG)BCaRBef]n@uFkS8*i-gpJ6Xi - 8NOT-oPLN-N[.Gi+MlTs0I3_3fW'GGOd'ZIiu]?4tS5q!$@S"_utFB_Wrhd - P$7K@IP6bdbdQM!\]?sVG76:Unb,_H68l-0;EhQQPR\FpW&E#a*Ot5a:+b*&]^\krtDI*Q" - >_`q1jOkLRINO)LAC*q7tF(f8'$?8U:#)H3qB6(Una@\9j9i'$mEAa/4E3Vh'o-MP30=0=` - (#QYcO8m13*9J%qDLZ3;V^H0;PZMUZqO[Kadir1D,ZYKLm'\dHKT/GG;-%\\7%8:0QPI(>Y - m%lEYY2>[$"Df=&ALW'*tT)=)GMKbbBDqf]TgjRIcI)oXlfIqX@c`fp=$ST8Cd>E?1oD7c/ - gUEVpYN$E`f=O8GUjDf,"BKtX+#P47Bk - _$)'r,8uh#OD;Sp]&SM8S$7p7&Es7Q:kf;q'/4:Tpcs5`$rJoF<7"eB?/^-Z@q#-9ISD:74+9OGZ.^$oSl - 8V;]/S#?``3;76)YL"X]@H$nIo- - ,$9t;I%MV;D$ZSGn"*%=4>Fm;h8b25L96.!5MDN#m.oh4:q_4:g=kB_9dQHd@IBgHIJO=nd - H,^7*;4AcffXh/W0\#oOZiOH$PP8-CoF.hbYNjGtW4-&pJnOCqHM$L - ^iA)-iC:S[:S5>U?u.*>GXW@H'=]Wj$2;V\f8bL4T\$:P"Ui4%gcH%b0cWh_e^WsDh+g]:ki#:^2"9U,m'QQOcd&Wmm*JMp#k63kh2t=WDf$Efd - I41]r6fNNPA8h&]s2D.m-;^+kSB2\a:@2,ND\4\F*Rml+6<;^@;?j9h(OlC&&O@]^SKn - Y8>cpQ0T@XBYM;'fJ3(#+P?U!.$3go2E4X=p` - 9Y(6)mO![Nm6/I4MKL?F*i[bi:pV#M;n.N=EUV6IG]P5q#4Wmkd>\?n!V^:J$.2`AM7&K]n\fFfo+^!DhXXp`k; - ,8gZ`@SZ3_e84@be3*ol35Mllg;[25GWF9Wak(tF"Eee+6N`cYi2eXhh"+k&bJPd;WuYif&dmPosWFfaV*BigFh?L&HO)" - mmD)g\G@CRn7sUY?(NsAFCQqb]QdOl8Iq3e#Xc>?e^][DU(5=\&[]5g_"%8`MLNi(E?mhOeZs\n`#hpL0N) - 1@8s;@IB,^Ngl(]DG4$cc("[h7h@m[[0-JfXe]rE"lIf)@XK7_0Y1;DKjC7J7?^`\Bq5AU\ - #iHCCZh&4aaP)>s<(3^FOM_--QZZaBZ4`oWCBtl+YAqOt`tS5Q8R[_rL;\N]&t"&?iXn>0` - ?$<@=Iu[S43TQq]VrCS@b4JGmqp&:Gl*\ZtS<5E67FVXYR'iA^bd3XBlk[8a01b3We*q7H - X-,1@L<\/`,A7KF7Yo,80ln%fc5\Q*.3DgpU2 - @^Halm]0g$kqAg\?a6KO1FUiX$=%$gD8,1fZjM^8(Vr-+'fF<<%0"^7.';>`I##>@9r#fV@_;iIBYna+BRM;e)1>1Cg=h,g05+e@# - 3#!N5k0MDSo@W,(S9ouADU4B\")<_Ma\aSQ8H%t*^;op!_.>c]&)hOQCe1W,`&6)?p8C?g@ - #og,f%ca\EkYLZb,)[rn\km.4='k:^\#ikMu)6`;/_#(c*\S:/2oebGuI1QI"!phIY-K_.u - 2A+.O4K^k\JS194I"aSXB<_id[Acm'"./s$R:hl?9qfd^0FsZqS?DO8_DJK!d9I!QDdIXA\ - :Mn-Y7,#Oj>R0JX,W2ET3=6uG=UNPb[/6Lo^(6:6p>Y4rf/4U$C9oP>qf/o8qqpo\,Fd81n - i$./^3@g=7e!%uQd0F5H*%)>Uc#G_M(N6_e!Q_r<:*QZTQDnJ^//Y-3p)3>Ck\UD:_)1cd^sVF - 0hh!-2a\]+eT-&kj(X`'W4:K%o7[gb$MiM09tt@[2gCUVW3B%VY)<[)^!45>BSUDK6`c<0ZiRPNj#0P - (J.Frq;M.1K"GO/TCGsD'8?V+Yo!3nX1j>VF9aul7Qc!m-G75djpEZje25W;Sqri-S18Dd& - o^cUX[Yq@-#S7)aNjB5lic93Y8J/n'#YbCMoojfTU@4Td.N(8u1_sT]se-/:f/4;aAF - +OKF]g2TMLF/?:\h'elis0_1U#c[@`^+#1*W35_%Bcf!V2fK6nC3RY8oT`$oM1_:/t&2CcN - X0+H48sX5EU8g>pD]ZLN.-?N?\'crI;ps04_PFN!4i^&O0_mll#rf*jbHl`dN!DOV%61]g5 - Jo=ccVDG(O!_0t&9Fr\1:8Y'4uDak+qIHc.7QEl4Oe56d'PF;Cah_EO$+Y?*J9N`&FD^S7W - -]87#%f07GtLD%ffPpiUcR>mb:.hgHW&X7`-.HNKC@SSF=]%&i6LI_"Kq,haikR2^?-;$J: - UN0#_[o1_&e2laf1e;QlkFfb/Bed<.qN[V5;-97kVVY0f2nIk`a59B?m3Kpa+*)Q:u99_@0 - nNVoeP*mh%V-Esm/+Tt"DL^ie]%+D!_d5]"%oPrMG6_$.nG - /WhH44.I.F?2QW0$,RU]np)E'hqh#,?$Ic-1s7l:k^V=5t4kE-.PRjeZpIDf\"$_`G;X=NS - ,Yb3'GY:!hcM;T\BiAoZ4GOWT3d,Das3DmPcpek/6tnldi%nglq=+>?1Z+op]=j;-FTt>#\ - o9ZCbN693W/J@DXdb$7b]:*^Yi6*\ekmc__*.QXc.*:EsmJC->dreO-VrksRl%bB=ZEDE/t - 7_2B"l0!P?k+(g3m?rh"f2@CY5QW*MI&Ctf@eC%b<*g0:YBGQVnMOpHb7cr9%((OX\(8Dec - H4+ns/+MWGU\LiVDS%UVktM72bI6s+UnjuIPP/OR(6<<$2eMd7,Be0I1(@ENokhQ)@CGK+8 - RB([1-^a>]-Gr?2ZaH?#4R/?#<*,"p,b`"?Qs`O::l1&hWJ\$Hh%@Q&Y].8h-SpVg=]0UFjAfW\5_l.Qg*ka\*2@iUiG>mqj7@Q7>KpX'j^ - AXaQP=U_g>.\$hsPT"Quh?YN/La_:[q20H7_F4X-.-LZ%u@r@Y1DYO$-8S6kt`7ur,*K;C- - c;m-E0k7fktMY(m;CHSE>m>d%eD4.fq%j#-b*S[E;,"#t%iT&M - a%[F8,fSfEYh:H$-V-Mj5iZX;EtLe>*W61_T3cGiB"]joefO#.X(-f^g$ro$YiP\9:h6"/) - k-7nW2iXdHOAWDKA5!=b_WOjg9:0V^[s-Sn`n&haqUm/rKe0^*[Z]&V;CClk5?r1S?0r#tp - 2m2on7PnH)$cZpt&F0.6b!YHZi3`9_VcC?p1*hP0)1j?YTf9qTh(Q6m*N!AU,;A"kS9oRb\ - 9^+I#l:O(d-DRXj3`:PGs\<'lBM'q,:Z=8Dam,Oq - 2ZYg3-jh^)=qhjU^Hqo4+P;C&[?'niA6HWdVMh\$Df+Cd_2#C,KVi(0?kOn5G+UPT)%uQ&L - n+fXeV7;3gBR(E2(el2AH?Cl7)[9UVu'3A!tddR(##Ak389hSXF[dRCZTqBl>Sso"g2V-U] - C@nZW8PL'!g$"?MPIg66#sQ:(/HQBPdtlN(Rk-!s=!Pe%h[".\Mu/2pstX2$`s)T/X[^]V0 - kXP/[;+Ao7+?`fc[#/GSg(O$MM`]1,1l-J5T8u/R]fpG)eQEX#+HY=HQkDQVcJI<"c\heC&KDI9,)\l0A9cO)IdT1B/*P[VY`MLDiC$VoTb'I6um'D+ - P!DuHieY1Ys:JWHZQ7'O+S/B1QMCqN^I$[o6b:QAn""nX0P,=5!u,(!5"g'4/)bfVDmEb]% - OLoHI9!J9Egos6b=NIFjF>FZ4QGcd&R.08u+dQ[BI\5j=^CM@,88!*PR%1^;(>q!#`O:,JT - $R[bsfo(aoPQ@DJ8u#,?rLe#AOTOLZTRfa?76qb\hi6#O;&DHf\+f[$r&,t;muQ\"jr/(2B - g5JA7q`5"1J)n3Hu2,DZ76nR%R%7b\ec[TC#%"_'].s&71)7cIR\mQJh)[X=89F,R3aP;e> - _sO%k03p??cga!LX0V"G:9ajeQFl"oS)_50kQ+r"!rTb8SAI>>/U)T&qE0ooHC#Q'Yp8[Cj - uQ';:EH.O?,N0ZV?Ou:89EDopSGMRDEKXQ4&'i3f6't9)8,9.o%+lG5H@Djn'Es&I#YSq1' - jF$S,fsiE?c-YgS#,LWV_Unf/+c.EYnXs$ljQn40/M$[E+K4TQOp,DH@bqjuSiT%.70MdQ^ - PA?M"Y([W?1/*3RZciGa1Q!Pfl3!)M9Oi!6_!RhIF.gZ+b'bM%V6g47A,+P&Jm/i]s34bLO - 5=%gpQq8/HRcc4AZ's!7_2r&LH%#HmEMf(I00:oeb^qcAq)WsX9UtptY-39>k/(4opga#$S - eD4!1qdr1TMXSiLe)Wk/1:7K.#M)VKg>f+r&\>TV7kd7gfKl"ZS)pSqkQ0L>Xh_"!&@"+[f - [A"HQB7h(_foBHYts'R$q#1pj,US=Fks?UgpYhik0MjC$]Mb'EsSMJ&=)Fd7(Oi$n`/:QW*QJKZ.mGVZ91]S/-"NEC7R+R=kIU6 - #)V?83=W7cQ,ro):n9OVf?r)))7k/sR5aLrj]&@-O(Ak)NTN??"#W9G^NZ;EfVSTbcjF)DI - bE7AUs&OCYs)Te^`1,B(`22R&aS;[pY0n2e?.YnSaElS>oqgU033Pq,dNYg&7_ee_M0p@)P - )&hfEAE9@7J0h[Xe9J_#-<5i>:R+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ`]QAB+#6@5@J(&BJ1klNi@HUVIZUDdZgm&RIfH%toD[aM0TiUI5S1:U$pu_u2\&3ZoKNmT.)GQh*0DtJ'GiK$7i":AC7PD?Kp63+RF/:G*$PUhV", - Q3`.$(Bl^N(Q[dC*mq(RNXQ?>ctU$RUVERGhAR8UDX?'CH#ZIoW.n9bd@1AK6P&p#dU1`[6 - .*igB@MR6-ZP5;s!/3sWa-kGps>s:?IiU];Te.K_f6AEA:@8Sb9%7UcUEqgm`'U./e5"%gm - )4!bZ2\Auqofl8P2&/VZ<3@0BG.#ZWJ?Q=r:T$_B>h+qpg[3 - hZ)I-G(n`=[,tgF&O-m`XC-a]gE5WpAe!>>5:V5Zg`-@pD(_h<"KY@(r4%j&Hr6??o8/q:k - 8-D'f7ekHs\h_pO6JYoq+.h7s&idi2.P*>2_6QM2!W0[N9AH-T3>#a0L!bN(>An6BS(C3`; - 6>O`[iVcj.\QPU]0=5.Z-T(;MRp*qWKWdfYmNNkoKSW - ;FZ+-t#MNj:g^u9_5@!j*=>alg5/%Wq+^W/=m&2'6V\SNGs0cdVG2KfI2K_ks.(+>-=;DX.@p'RG\F4B@D5-X803d0)^,ZklKj5UA2pPd>4jsM4=)Hi>hKQ*jc - Lj>%=4VN-F$bA".q.n2*\qH[X0Dm$FfWbW78_d1SeRf\C.I`RN?.R23\X+X!*q53gro4Gp3 - NS>g\4ArBYnD7(j5=MNP)j>-^k(^ThX5dj.e.$5XV@T,RpKflWPB]TmIjj;h0tf$TE$I - V%3rqVm#7=9Rq1o3?b=9saJe1BX5r^9J)kjGn-I'1R!_f\P'!rn1dbnk<'RHP+DUm5nI1]DR_#q7#"Xe7GSd+;=UpnYj+'N]G$/,* - \a6I+U]YU(\OD4qRt8-/3S6UIU[&2Ze^$J*fdBXJYO'P,EZp?`'8F*X"Il;O2: - ;b!`BS<^5q'WbD;Z=.RWV!!J;_b#+_jn(R#%o%#l)L10e1rsc;.FQ.gm1QDc8#[4MV(^N*2 - I:3#8J:ub&L;fh%K$->$_1^,Zsk/Xn[Sn4KFQKk^^d+nAQjtjhbR[LS0u*9:6Xq=VmQ6K)N - aNn"\B^JJZaueFV>@1">nah^(J15LKe2!`A94V+(9RjZ5,pO5oMa3AK,rk7e0Lu$R]RfFX` - UD,*oaHR,`#QVP\-/ab(nF[asg&Qr]g3.S>1%h&Jmj<>!_b4*ba]otN9gnY8CZcHY#0">r1OPm^$=)AJcPtd*s@ZnT-0[ZF<$Oi;;!>Ae3#Q="!-(\.R0P)&L7C - $2`sgKGA,t%?)$S>PK$'oPYC - a`l^9Y6&1\mNZ"GDC/mqR3H-TW[U"l)&VO`Yc`6;JUt$-IgfSaX!4:&nPASP(Xfb:Ea!;[Y - k;/kn-;h3RUpZN/cCqFta@/GWHEBWu[=V - .l"rYCL"3SoIQq4WGps2*9]_H&W;g5#+EsGj86%lT4LGX6Y_oii29C4:=d0GX$\JnNXD.L> - fo]@1R>pH7@mO=P`Z=VdYRo*dHT%+aW@DSU=:l>h7Dn:Il2!dUD0V"?V"@CM6Tdb:Y?,T3*c2rGb_T8bM+-eg.a4YcqD7C_^p/2A*a`rGda:S)(_$sjHF - _bN1WqU]*\,$%.BIH#s)trdY"uA\VMasPDIdk8KY1CLGV5F"5#;KD7'tQu(l0:25iZ(IF+h - _*>a[LsfX2f0bi@:--8A]^_Ruq8J1T_R)lJ2hNZA!QL'9aPP^_0UHZLO<^2Ki^n:tr(0\>'0]:0!mQm&m?")gnQLp(pCcD8@bSIBde7r - U\il\09G)]cl_=hqi)(a(W(BUu2'a[F8AL:,+-6eK)ril9&@O^5(>;+(L2XrE]IhTAM'tT! - GGOX;V$ohDZh*VV%QIpUls[]`K;O$,>`lKo!eL%dC!=lc>VILp8Vk)O,h3\U10*+_q_U2RX - GR%EcM>9-j]$#cqNr3K\#+j-r6V%)C8?^%8BX_r.LF%C)D^ZssOoK7(C;&@`q:1uo6'Ms2] - )L9Z+B6)5F.HgRsY"[UOZW)sbMnot201acZOWsBcLYTL$r_S9U&RU^ICOVkF7@`"7_L9^b! - S,P2%3WMQ"Q6X3Gj7&&@+X^eE_E.'C0HmB>.R,UC]o^)aTMM?IBc&73R94G`oG^094I$TjZ - jX%GX$X_Q'1!kKZtm$496WZp9<#6k^3i2MU_l1p)*YDt7&3GZ6l[DUCk*L"J1OHG1f)!@"9 - ;t0]aD#pfF^P?*s#%X+,e7F!)gdeBe/aIR^h7N'J).q9gmV87H@6p0E];p"i_-`,]PMh"7V - 6?2hFZ.W/*^Od1lppA\t3XLC%od]Lt`4Cld(00PitTgheYH6*SP=YhM]-`'h4R7Oci+/c8. - !@o>:-;o`:]7L6`Jh/TrB,*.O^e80CUX9["l_eR#CS:_AQbrK4u$=1 - G;"k)bVufi>is/*gnj:-EMaF<"U_ptKV\:-]q,@sjWZEa/#`[c40q&4)-EjIq'VA>a.KnuLA>O=0sf!G`lqu - 6NKfaE1^=BJa9.p-"2cAtJj-^?.Rp-'QkB9c]YPl[HVfWj2]@1J&Fp/Ha?g"I>gC"N:S.cqZrU=9U-IMjp.\\=3^PMN8qZ)) - ;#IH7k);F,QEX39::j0VAm0`/8X4"Pf&koZSsc/2K:98LZ!Gq5PI*d*Mh@:Mfc\g-H?sg6V - j3_lFn#nSfMJ-cbb9:3_66r>h!tl9P3.^(i%EeEoXTEk><>WMC7jF;@c[R*Rk+7u]3ar>pj - 'I*O-t-Qsh-aM]@:dSRb.SZ1;j=FJ6n^f*(/)N`jS0a]q6hUE9+e0/NC3+9[c@_]]gUdLS+ - &8@&N)M_2JSe9Z%fR?_C`u:ZCMg6!@I7)L1:l9ro(d19u"#J"\3Ma2+28G8J@!aB)W!D]QT - n4oEoVE/s*u>(h9d)l&M2<(;E#POM#Ln6\[7o,E$dt6s;PXlT8nq8B'0Al%;WP+2oQ<,NB; - i3m`07i7d/ZsZ2$_:(T@I5(Z)A;3:I:c2+7XnXd6Jrl-ItV(_p%*FatTD#+'7!@fB%H"TrK - 3^r=XNO'EqtOjSqaVbTFN'#K44*m>'>BJ(Tn^-P_40V-]Rrnbp4b - hohR+!dT't)P'pe;D2o18A\.PHZo+3t*GEJ='?<7NYlmKZCU^F*RjGac7t_c6&H3P'*tjF2 - RY?q;[7-"C>e]K)cRBerEZ'Zcj]P!i;I* - /K<6P'mjF!8u"^fTM'f'kEWOUg=$D);Gg>(8S%d\kZDGjA,#@a$fG]FRiZt:"giWf(I+D<2 - 22b`PV.$O/1Mjc - hrXNXOO`0#$U4A?Sb_0Wl$)Nh;'(BQm.S_FS/1^E!=*UoX4FI&/e?iW:hT(FBGPq(XB+5BQ - X7l,ZujRC)mn^btSU1MHm:%f#1\4c??_P#bBo>I_=VAGcU4_pCAi&Y6Jfg]cQ"?<;-SO8Vr - JQP.n.m;?@rU=69$==dV?S&DdJS@m^[TmsJ6#Ig!'a[c28L:M - bB8[1$#:T+Q5X&!N9O81>M[ZiV`@)3sg3!nTY-P^o:N]IHR>7.cm&pk`YYnn1_!6#cZ.kEQfjr`/ - t80)jsda`)A4%`ZBFPg'(jUp,(Kehb'aCDV7R).T79>och-0W - ]E#C+!!B!Z'i[6BD?]-^B]bR$*KDXGi?#P&;s)SAO-UfG\S[Rm'Hf@J7PnUf*cRFtgT)lkR - lPeQM]YaVN8oGSR49Rb8+(:>qfqPe` - D4S7%ushd,1`M'/BcOkiRohp5eGBOQdH?_lRSbeC#AdO3r'f^g&!1>Z1XBR(Wb2BqdHbBF* - k=G3Oek6M+b46WjKLVG+n#9d(NHUhWd[O_Rpnl=QpYG,OV[W9T\JlDCTH[]A]5XQnB=lK58 - 7p93cdYj3(0lR&q'2RD^=[-Lc#lXmTk7Zt3j*GINiQTP'VF9a(#lpC85(MR>l#/>\6@KmO$r]2WO3k9Y[ksUZo.h<< - e,p`0RY2795tGC[ZeFdV6'/!*5S+-L>Oc$RB_/P_9,WAJQ4[jpS6e>@usbG5(H[q!XOEn## - sM[eoO5r9r58n)jW"RoIrn7MspG6dVm#jrK%4gsLB8Z,hj>%%U - k!h>0;2XnBiS,eC,7M#aaffF*dd"&kGlnUCb95k:ceaU,I,OYsCNsT`e1^3BYMg='WX6aZU - +4tOXD#7OOke1gSRVagrkTPTG<:s3D+ - >rGhr!kJ&0VlF_-c>B2\XE_b&`%b$*>e;kt1nqg]DRmk7ABgb,(?TocC9ul-uFrV#HifkB( - \@7X?e/+VY\Sm)p2hUlqK_SW&ph,9r7u*,;1WapIW**SL04MfSm7$YBJ1P&6f42YK'"n]`8 - ;8/+c\QgqLA=o9q.H#hGF/,\R/*):q59\W\"!36SGCd-q<+@FpRh9eT_]IuqBr$62l$4>V# - "/hqIc]$J!:^:AO7g"k8p2f,TUt@:u9faGie=92B;/IRj<'6'VR1HO/NQ'Vg5%Z$mLP/p4G - Ha+P:UNnfWa*!(Lf;SS]`#K23hK+"-g1^hn"8[8k6@^*\46_0=u5=/`/eS^ibH%Rj>MI&G- - b\'+]ibl$);r9)7;hdCti'&M0S>Qde"0EIK`?%"rdI3`-*ekPNVd%km2rMSBJ\(gl%h#5j\ - rTE&9pYYrTi;OPOr[6_)2rjm-jSi6Brb(BmGN\s\kl-q5rho&\\*J#4_3QF;F;KscBEEThe - 9sjgIh2#Ckk!44!9rHKUF]uIj[p?2iCj'#GVUo[n$>r0lY]fXR^B - J##-\KkO_2rIR#Jq%2(p4b\$nOBU!YdK%!^QB?-H$#Q6rl^3&dJ_3&PO>NULjio8>G2P65_ - H@-sDgmWC\"nQ\fG0'hArGKd"O#.V>,!PQ=X?`G#b$p):!?raV%R@-V=_DR&;D - @Q?T+g#UI''Bnfra=_\)jUd/[Q#-Frl)U>aml^I7G4DYrBn$2537a*@L)!G>7dQm-!Ck8r, - T'!7pCS'a@DO[X:mua0\+q"5Re\UUA%h5aYgeS[(nXOM_JY:[rh*7$Leo:584c - h&4g7FCau029pg*D]\copYUc_easlA2!Y.B5AT4'Bi3Wi>-1u6SQ:j%*!0%5V;#M5"i=)X? - pmBkDk"P$eOnhD]VFG"\5s9bQcJXn**%F\U-KcKB2kmcboDS5L9N:!^P+!1\#pdYO22H&A0 - e.Y#trsaVcl_Iddc:ZG^"kOcqI!8D+t-Uj.rn,S>W)9eE^"KM`(288(RlU*XuB"X*pr+4-! - l%cP//`dB3On>o^.d8p_7KJA3Xc5K&PD%5I@lkN)p.m9hY.Kku%Ca"*K/3nrd!CFs2k"#fL - 1DmJ-)UM;M5jPPV0FK)AGBr.t4iPf!(ZG!K.IcUC6\ru)j$[U@;6DfHf\IM,KQ3#Lc8nHtm - 2b6*H&khj5"F9(+63QUOAZQT86HBFj@"idZ'%RG+]9^6J;04QZ:ZHoU(-2$D0XuA\#ko8EB - kG&D?t8/2o%Ve6-)ui6+U)&M-MI*KT;1HW^TDL`%D6^\P!%!?8%[50?UW^?OrQR5)'(6Qm: - r&$mCD!R5c1XA+YXcMUD.="=ctdWM"R64.G[)KJI@( - O/ds$#1mFFGGtQ1fGgFf]^/sOaTM7+\%I+@YW'q#d<%`o%g)WQ#h%?AWFDT?(YVkX]4DI2s - Y_?gS%4MB%MTBbW-t%< - *G8Yl:":D3a('.sEG(G$-@T9I5#'8ZCGMMlL62c>=Jh")_'$`\,"T$b,m9qZ]L- - HFpr:,e5a@0Fd9q,J1B'Ub4kas$)Mf+IkH8N*-2KchES!EQ\2Rnt$T[/ES5-A3pbXebt?\? - sA-m6LR;#!H@gAi/R:fCl&cO0di&7ElEh#qhM)E7B:'gmG$7o7!3kY]["o.^-^foJU9h&W9 - _L66jdQST.H/2afQ\"e&`5"%ZKm=Jik"aZ4>W8eb?JDMDE:GiuErEL^-J@a<'@!cZp'7RkEMRJ`G%2&C^&@3*LN0Ag`6*H,P*;+3J'lZ9f(Q7Q<@mZ'GK\ - L+5`eR&`[LY8u[$LQV.$>3HL#/\7mH$JhHM_2@X>,W#dF$6G7TK**6=;4Nqq6-AR]d9_&dn - BLYtRrpB4ETHfE6.a\2A6KCa1NDd-[,0j&5>IiW?hR'A2UgZN5-k<2PRF$93o>>BXNp\ii. - H5'%p[Gadhg.5*C#S\dt*AOomiQ(N/Nsfr$VoJZ!c^gHt31X]7#/Gl0ZCOrdFhEs6p$h0E` - P0]O,Oj*MLXW.L[9A&8D5V&PsV-i5U%UQn62J%$3/NDX&!p0H0Er*7-s(V=mR/#18KRR&th - )lu&4BEg^]2[#BC$0M;U\LA:#?g!6DI%]]ecB)1b5qG+QsNkYg\Ldb+FT$*/kDU@1#MUtQN - +/SDr_=[bYnt:^=c(PcHi3^E(rWY'he&6@Z6$0C$WH6D?gkr-GTek(E_&)j>r0Zrt*mbs+3%Er;bltZc!K*AB3kmrC19ofku-n91PaQNQ28- - KX#0I'%jaq(02CoH[DXV6gj-SUS(Y0P6%]+jWR^qogV+nYs=be!mo!W`uCEHMY@7gm+A`+3 - u(@U-N.W#MZsN,0*9hAX&TeCk - D%!S\`*jZ1,^B$f_CJIm+Asp=1,U:cD]k0O4e\Vr.:*)P*/M - >\F@;Ws3Ekg+e3Y[o.YpDslc*`&*edE*HUU>#%HgFg;iOkh,+P0;1]m4sp@D:$MQneX'_Xa - q8)!4a8I7Rh("HN>2ZE":Ie)_*Vf/Fq1/d\abk!ZFo7'PiR3Z*4Z=Xk)Z\-.1LKQT*Q8h]d*,NN1hdW[bDaZQoRne1L3Z<8J=m5?^pV - /p5T-GkPeXZYf72j"t:dg%6VK+`7m#*XrM1QNq]SMBK/1,+JJn;02HSI'?n5tU)u,$-j8:G - alA$o>btZc>BH3CC/9bYutRE`G9%#`8+HZq[+p/J`:ZcXh@7s4gm5@qJ - C_Q%>PlP:#]eD1i0Tjs@obR)IbqYI13?dbk;#'D4g0,?VA3dT) - DpEueDAE?=V%9pP/$Q)R(#!b0]d>B7>UPVH1fR8t(2@J1jFIlZ0g=>W-G42MFSC - -VDrC=&q+YQ8`JecXYI39K#=Q(7<0d9ej"p?^$mbe9=jbVTT`f82e%MG&^(HFYm,68TjE:2 - UuYbqe3Dg9(nBWiH71rjhkJTS;b5dmq?ARq:)pIEO3gp1o-ZAUAR1He*[r - Qj&"X*IO/)?$FP-=9p*PeTj%EE1*Y?KHaUP6pcF.R8BJ@ND - ARePGXm=kpK2NKKW1f"Fn^?/!HiOYE0t$bGW1C%?\A'sB:!OW(jUp^LnD1QB_YMYQqN-ul# - \i4Lo84H=&3c.ZZ%h3Fh")pR!4H4,DXlf@@3[FR)P"t#Di-eDE&Ah314LtgPgpTMH&&N2*" - 0+&NUcaHoSTqiY@C&c\r\aO')LF-7b&,0mrbiNH[['3AeH"hpk".AteRc:<5Ga"A[I^;go2mtr)\(P[;3 - L^/(R5c^Wkoo5cqdKUGK#[md$%_SOS9[ - o,6mJJSQ)#8_Af>2GRS/]F:N>%)V`KBm\lk"Q&"gCbTD+J<=-]P,JjNqV@k1aY'9-Pt.A6L - eI_$2F)Ob;jJ:d1'#nnmo\&g^> - Xf$Kd-*t!Z(3=hiJ!R\1YF?,[HI\bb=/aj1GkL6ZRE;]Yc`Ze6Y;t@CK?LINh5n/fZWf_R3 - u!Rs1@RNORStVA]]Mib>ob/%F:J]1fW5WTgJRD=P]ZCQ&Jq8^)RBo2V5[3fO"HSQs/O$fU]h - u'HrtG&KCn@gaXM\$]CMc^RR7$2MJu9?*W(t5<6W<\J<%L/].#5_`C6*Jfhn?Zbu]P`qIO@L7##rgKhkTB=q.&]X:7Q3A8D-REDs0a&n,;S0u5pX2WH?` - Z"To_@=MPTurnEbk:GJ(jX;0=3Ud]bL"qd(idg;$-\cpbhVI/21<_OF3U2,cU&#b&D,35!$ - M4,Ln+"^]bO?`q1]mfZ@*K1r<3X9$.:sILj]rb4Z,m')kWVeW;H+a4B9`+$ds!`d_-IFpj( - =O2q>9he%.9PgT/:4J"Tu5clGgd]i!0_)Qm^83&n - >Q'/@Qa/<4g:kl5Fu4np\I+O5&=2*DD!"#"s6`M,0X9g^0Eg?V>O&'r5ZSKKBN+2Xnk95+: - jhQnd,5I5N*0@<%]$tLI:#SBClf2qhm_306kt"3;&=q,SCo`NTDIJ`u`X+]OEGhMEb\d(mI - @$24I>'':IA05$p`(=k%Wp4\.6.W>; - &>T7k6AL#Y*%nGWU!QR*)>+(\_Z^@GAb[Jo59QAQZcioL^RNEesLSo('i/]htqil;2H7<_W - Ce:n,^!!)c.c`CV]3YWbXn4ll,mDY7(&iVC@Z<_4liBnGSp)iR8<'k8Zgs*!Z%.!?5Xp;[/ - _h'O#Rsmg8"l,UlVnM^EA\EudbgdNo=A7u>h@*0MRK'?)[35`:ZVtoRfcA,1+KZ[7"eMCq((8OMn^8$a:bd#HQ5"^(SWZLAK=UAQr59lsh#K1 - 'J%233n,L/."*4o/%f#KBkX#1^<&M@lMXo;II3lHeS/+00@>H]J_pRCKgGKCuZFo5tL)IY$ - d.M!j7&1km:+Xo'7#ID6nFlpOW>5]Pf=GoY#0YhY=fs"]os+m39o"?u[/!AROXI&n,3[rYf - ,%jk_5=)#0f&Mb4Kg17$)RbjM[,=TeCA*HPae"I_>:S!=jOAeJQ[R%]OQk&/+-2]WQbJ@$O - ,V?*<%lr#,-k4)TNUDXt>?"IH@qo2oUjn>I%R8R;3.V&e82M+8no#-JX'+Dta)ckd*Ao.<0 - Oejoq@?Zoo1-rgg9JW?lPTpKpJ\=iXif9h6C20?=WbSQ;^$tqe)+gHBW]a"WX*Wd9Y,f/)] - s"L6"2seYk;o\F$t9IsJL^X)!'j2p5ER^7IUr_HMdp4bBpqXuFl.hp`E+cQ* - ]aBIAB_$>1F?q`RI`cbQZK93DS.[)k@=s$MmX@Z;E[Qr&9/`TaZ3ujkFE9`F\]Q'OYTqS]X - ,[rf&FaT+\H:po1M1/4:bi&@0e[bBOUJeg*j4:pmG@nkd - Tc)uF?4V-tt'4#0eqNgZ'c9s1a@1hA]S8e9Z+- - /J(Zoc)@;-e-^h)WZ=L+[uEi@&pfJ4S]=2)+JtZlSoT^Fb:7-YWh-=;VNfT'`s$5uQ-=>OZ - .WO*Ko8ZiI!f(W^_n]tAf"L3[N1V?Vc<5,,1cCG>Z*_+8JTc$ilt<#M;h2ke'TNaKV!KfJa - ,_9]"=@K93Fmn9@ipo,,\h$&!b[`L?e7ICX@g>O.]X9P`PJ<7'P"73^,eG_<+iT0cYK<]5=H@$(4r - 'K7dl^g/V()U[0a1`&)o0%%i+rf>'J7lW#@9CE'X3'$)4XEF`IB(5S#ZTur9+H$8 - [Y_$t$F:1Ld@DJ'KNGV - 3aN`1bqa3:nS)mNOQ,rN,Is(j1jK$+@XR1#;(2eh`m6L]QONrEV8dHXc;%kaTS\=:h^aMk; - 8)hOheqF&$?c(DeE!0^eFM@oIX_Y.HedSHOP6a3qJZt+d(D85Uf\rio;WKGPfiqIpi]=%-E - BD+>>?c"[$sn4aM<_0T]!@qXcaV66`?"3BrLQ-u.dX[5]?0t+DfDPe<'L$bJcC3+XoUXfR* - S1bZ&t_2i_GTS-6B,e.P+"e]PcHf%=D46=&A]D`$+6T8bO:,QaW:m$)]$sB2riN.SNta@r8 - XUf\S5;*4_A($irGZ"TED5_c>W[G>SL;ZlY_F7/J>8Pd:u:J=I6nr_KGV3ct:S\&7r=bS_n - sM1l`U`OdirE&jG`-fR=9-R`:>[Z/6u4aeaiAD5boPO"_:(pFH$^lbAoj,VgL?ppd=U&@3hsb6#D[&,KCOjACb?,gn>aCF`I9bZDAbCD0qROI];$=rO">5kat7sYFmghQj - 33.;>P3O\f)pM1'`F,3p6EVe$>8"mZXNjhQDC%YK$\5X%U!Joa/e`jBGH(iT\#Q-&c71TQ)5@Z)/=?9td2Y]oX[oZnMM30`hb=!q\9*(d5IA+IR5YP - >RI(aIS.&[18LB7B?Q)MBV_TfrQ9bZ,2rl$&I&o@3qCVn\ - C&:'dtCs\/7WT'u\`L`9Vk(YX#-jl5>FqVl;.!@%)n5PnF+[T6W:1ikI[%5WPV6!Vd\S]6o - 3m;Rc-[PrW7iOf=AX,DefVVpLergdW7@U7:aU,+D[YWqiC#qPr=]YIkMgHap%Q0r\V;WH'e - oJi'Hjcpk*W%3-7to4,VK_+,oD_:h,^HOZuQ66nC28#XAC/',0S,f(II0a&i($dB`NcD:o] - 8*I+4$(I5(=W)77XPD!=,J>PojMjY4+8?3$_*e'ZsMi8n];=Hi - sMuDi]d1NuRBs3K_#ERYcj-'7onD+`3q^#JOk28:VIK3#,([:4bG[bA:K3ED2d@_%@P75NJ - E#KF^Oo&4VTj7\mYqZtll3'ZSoC`q1%e$l@+b`>nZnUPljcgBX_D#c[\-WXQk&FE]F_Gd`i - _9YA[Y"FM]"'.UU..a&Q"oZsX=J"D#3V#/J39[np_[1IU2)ek-l];I]:ecOWp!K>nM%,Je\ - NAm86+7WJI@'g6VTa;V^aABn]/EeKtqE7Y)cE#Ru]M3r^Uk2!1Xg3YZH'T"8;\8#l9o;>qM - fpJID5B;/'r'!g<9f(6*`&.Ac`(u;r;8U#3\qU@W*;B8]sG.*[Gj#_:C%WOJL/*inf$QV9OE1gH@ - U0+WF_('';0Z!?r2DiN67*!%`2/BMLr-51fCtkPo3B>AGn.9s0W`SS!(WJ5^h5c$9:s,&j`n - 9e(^pJ9@)XW5?""FfhT**>80b6=OdA=M'tq$L"F\=&BY4h8Q;?L8goZJ$`;s1,9B?3Ya][!^_aKa1i?og((T=!f;"_2clT0eo4,`c!5<=g]Q$U>M? - _ole4uT>:p$4Q;M*o:k./,$40%F[&Rf<.a=7\]`Vs>Q17_bE$A@he:\E;)IX;C+Y\m8Pt"3 - gN(p+kh%Ep\lC@7?7a#)Wj'Kb&?cNoKbZ1agN#PHd*)SSs4@C:(?1Q1PZ94B"]VO%aM@/*B - EnbAOhV"$SEV:erX/suKcf4CH"m*81Do1I2Pj*;BdNGV)FpNug$%RmO_$m6@WMNenqWuL4_g!6W+nPhnFo:p-qqY)cC7('++&e)*Y.Wr]d6=-!T,g>4G - p(/kt"dO*cjL\[InCQA\YX-`HAHOgLJ7^eabpf[N_oXSBc:3<@Vc!q];&l*RiXGe#?m/4pa - m\Tiq(#IPMQ/+ifkM"nHJ^Fb:[O,Kuioa6;bYnRLBXompXGl=*,)&]t5&mJ503WBf:l.fb$ - \A]u4:ag&uR0,(U:Z5^sPBJQ?P;8`.$P##@*]2&>'r`PIRf<]kM%]^ofS5 - h:V6m$mJ-S[2\3cQ-&Ff'\OO[>>d3\&dN3:ZF,]g4e^(9Wk2c-&aHPN;8%cQ:"!R@Y2H&_) - N#ED4=)dR$!4XVW8Y@7?8tL!ljC<*E(/;=ZsC_+Gc$hafJb@d?ZbXP@Ag3%7@YTr\"je-u- - OFNC2Q*;X;;l!Qal5R73b%?3e'Y'2c6uL>qVT?1(JK'r(.P**ge";:f(P5+-9'^j@C#UMe_ - dCd*;J^BSLd-'Y0Z7`IE(I:(kQNc9o!Cp!?W[:Nk,f/@Fd?Zg#9%h:^>crRh(nOcH6fm5B+ - J6QVU?g[-H]7H3hlaYE'/B[N)nl)18l,[nX:jCM_ZN?EL8R:e_M6P47Ah=irM<2P`KX1fnBVk - Mb_orq/Bd]]gnoW;SQC.)U!-r$jkcD)NYCaa^kr72j&(qA[Zg&S%mK^13#5(r?5Hc3maka1 - 0UAW9R(f$5h-2Q[FT80t'99pNPhdkLe;=7m[?\%1,rjA:#B:VjGa4t$\FL:J8[jg"AM1N8a - ^kb./nn,@*g&[2MZ6IFk6Q=s8+dn%S<_!R2M-g,/P!"3&r+C/kN3e6$OMr@A"9Z`T0iV]BP`''9IL:2k&V=n.Y - [->3k*%X,R(?:I,2^8rW*,m<+ZI+H]m: - $##P9nLpURH:90G9;YQ.FS?55O&K*0;K['2Alsg - a=(9?RD2$)AW468o`3lE"CF*1Qp@:Abd;q_38+V - Zm%:eF@2]?:(!CG30CI_/=d9Ue0hm3mgA`A$s>EGC/0G#D^:YS3MDNpY4`Xp%CM]c4>N]jG - `pP^;H#I6hQffk7&q5/7H=aKF%-6co_mC_,+AS#,ppW6O8]+R"Ym!:q/XsM6PY0%[E.O\Ic - U)*(^d?clq>+(aP&B0ZCkm?i`__ChPH@`,'D!SWV]%*ll\+JKW$.8ZR-*nOI5$cQ!P%Ye(eWZ&f,+##T?W((r0LJJ:bVnaAN^lRS'3R8_lD - @Du/rI6a.+)0\E@7PU`-Z,Z%U7\4^Ke9i?;S'^aKXr70u[&5c@h%k,.1JkB0q?0(t=2E$.#8Z6c#Aeh)B;kgL:UoE;cd8XG2:9Hd'DBV9!1b.A'26sPO/Hb7\(7PbnX4=e<2 - kLpc)E0M&9@:L6*6u,YhIK$%,ueedDsf\OA"Q=6%j]qRr<\iO(XJ[4'([Ur"Go,RrFP.@Ab - brb6T=b%odX2O&W'R0Q*#3bT94mFio8U;5Z^`7$!4/I0\q3SV4?F1i - T<[^MlnL^*_t44!O7WH:cWUb*!B:ujbN6sKs6n - jO-ih)7u+7*RJ\;:Km2o3C05^IY5tN`'8j=GnMXZ?S5ThX[XEY]IL-@D>J,$un$rdmV_E:" - +jkVmn+JbM]6%[B6(*2L=dk3u20jA(jBfOej)tRoXl61n"#YdiF<[J5au%7*8K)hoVUYNRe - -#[oUI?/q(RNi$&(dhrm(LbGc,r'GaG"jLYe.AW$fsYuBnuG\S5b/hn-b_f/G'`Pa!U\0N< - WUZOHZATYW,2$VZ9nL?t(WtfdF[Y.$E(JpW9_NEFWc1pQ@Ye>H8i2I.$N&>1BW%\I$F6ert.](FqtF=(N@#rZ6ZTW`VQnT64t[_0[Q%NFB&fj>YISLcI/BG:GnoU$`J3.^4a.1N - 7"4R5!_)7;,V[Hct0Gh':*]7H-nZc<9oZ:>o.#3I6d1eVm_63Hd@Q?5,[36T;F!`EaX+,_eST)[WOpB;-!K,ip1,ETCQLU@_oRdAf,q,V^sp=_0/GTf$oZL!c - ^7S0Ik;;I,\!9MX7Z4+q#0O^l%dm6#X<'1=d6ACXe_/Pq:kbfiJJP+0fp8#@[ - +Y[Tq#Kk%7B]i"A^cU6H6O*In1)6t?^TS&i[7CJ[F>+J0pM&K#LXg\u=knU^0>Ci_::mo-< - MWgX7Y(Z-rQ&]"jm*uu6I(m21`;P=MbST - ^PluKi*Q(F:G50>CM-@"u,QI]jjt:M9Kf&/<[`?`Ti4'6TO,16O$T/AQ=;t5Ut]TPB2nX'r'A\%%O,q$a*f<3L`0Hm:&GKkoh? - GVb\rYP#Re4@b0;%,r%jLa%"A1)*='fm`^a=VD>1eh0s\; - \;u"))rVl0h%CqQmuXI+]aUu"d5n+4r(rRN,gbO(U1T%*ZJg`nQdJ07HP=!H@[%S(*l - CUHK!oPIl_l"d*DB`%U?tqR1C4@1AUZoR.-)+f(U'"r.quPF`93;giAeDXO$,k1\t77!Ca: - T@^as&]aJe"E.VE<)9IXQ$p*WuVNRQbWHKc?&%O4oq'&I#:jB - q'e$Pr>g?#aC6@&J7s;Ea:!9/n)$JZh+Q.+=]stO0lJ:fCNNqN]889/5GO2A`#Z>D4 - 8a/M"V&lCJj5iT'k8ogn8Qdr2$_P+&M)&9(X%H!hB]59)!%icfN<=Ups= - eeEAJ>ON2aX+EUYfi\NV1K+g5B(+O]D,XV0V6XRl6LC8bk#[Z$#bO-2qMHT:Aa+&9+Ct!)% - o[#^jR]>$d/^SO_V*rHEX`(oGnD55___A%*:][4]q3ODW@;*'5WrPmq: - P^6bcMR_6NU5`(Z4](uE)@@O^XTBLmft:7oJ=bc+!>Kpr';d-=?:%.1KSME%]Z^koqB<[]S - S+f;7#@X6tYi[Pj?9$H%+o'3:&Rtj=X`\N$=JeG!NSrdCl_R@4XZ<=%[Lrq7fE-=nCnG5p? - bUqltV:(urHm(iY5S.Bu7@&djNg_S6G\2Da7;@Sdnqp/M%Ig[78q^NIQ<:.<9'Q8J`N2L!N - +49cIg,7t8/Q4,P#`n0.$06[Y%VO#dgjSc2PWMkBu&\Xp0OSeM$4Z@WG%Mcg7,o(^.,-#OV - \Ul)@"+Sl:=H"0K)f^,4]R\nuWPqm2#:F)Rg9-'Ec#>iUC\2f(NM9BWOsiqdpL_!7j8%C.24C(/JQe-8ph,Alc3B^I@GI,AP*4S13 - WMBncI9YVp.b!`ZBH$'Om(+PN=k";V3'k)!bDir^E=IYOM)"7m0\;\q0?h?<1s$71(A.\@? - Pim=^jnquqa9(qjR5:=oD-uh`kXX_cf9%-EKOcNQYcau"I>*9J0p.\Gk9/tJ.>X:)i(X#A# - NGSA_;YZGm3!fI"i9GEHP.$3pf[DuC1R9G/U6uUlq[oq,;6]q[Zt\OBBCXdZ!.R(me-(sLC - EP&g5TMt;'0O4_l30e*0K*;FcFZTHY"db4A^W^Mb#0_I2Q+cmXnO%!#V>.'+XJIJAQDn[## - qGf,c[m3#]N#F[WEcoRV^-#VFWVDN*5?95Qo%+7II`VVI&ch"tfEmbO/r7CIGs,70#\D5[d - *F\-M?baDtP*AX7W6,+WeB[kIFsPNn]OISk-CA'=dLZEtg/<@Nd!D(2?="d9,/C;3=mgMD4 - +0X=AKg`t)-HDU[IkDE`dYbA&+JPG^M8q^S]^8^Y`.#c;]1#sma/m?5\!(>L/^cP;GWflKK - M%O'WB0KI1\k4)(:]M)(<.XfMRt1bAUFhH7#th)JPHt98 - P^,`D\Kg;h-l25VH9*%K[aj=o]"85QP&=='Eob"spLGc05.[#sJE^B(>Fi-[qqLchdo8mW]4>Hl<,F7Bgj4R&2lsP,9S]NJP4?jVP]OIVIf= - uJj]H0MQY"i('QTL@g(=%5^7%DY"X_sND,dOP:K_VAEQeM*q8AnkZVV6T#mif9uUjaju-\& - cDH?EXqk8qjd0BZ`k;pm^J(e0C>)Z;/78^3/>HgVL,,5Dgr=:9XNmjN.C*(9FMcGs#YjAc/ - ni,KFrP1fH/etOde8mCbut)a,lhuQ"mSNGR$Ngl0Q*n%F2S-FWG^;UDZBf#^_:Q5UqamN;6 - qhEpTnu9lV+\qE4& - b1FTf0SlX^r.M-"b^FYt[O%@]BdKfWq=Ee\FNeM_;fPQR27'Ou72&m - ]<^db;+(Vt_6d/geb!c^iRUku`_TuqM6@TC9BOsPGU;Fdd,9Bf40-\\E-'h]2,!Z:d5Qe74 - W[sTP^1;p-lsdQGD=XdOoV7TC5L$ng8q*PNXQdNs-:SKZWBC+r)hHW`J^Ya:M7>(tcX`AOF - uQ<@627(,R,3Zg")]N"jfgu_#3rJu]gaRs"EnW=Zo<\J=Jqogoh=lq+j@`of\o5 - #UU?u>V9;#=[S-GDs\?D@R&-?_N\aNUX7;C*N@[+m-?^+aBilE.u40A$NY]l.m+a0?+L(>P - 4!i#n?H,hD3u37h?"pMZehDrR[6-D%Atm;TBj;K"LH-,9[_)odl/EbCE59VF,tSV7$fW - .'5&+A&1KP'eosVb0nVEo9fMkgP6;hIDj>IKRecaOP;.o;COnMqR6$U$?+5$>+E;VWJTt1i - >'6lLk\"*D6!IuS>G:#%(SonHW$Y$=D'f-r_fSWd`]6T6IgXDNR#ifmPU"1kT8:4a"Kn``q - MBgLBBRMm`K$pOXD&H`AYM"ois&1H]-Yo!T]i2lUtLZ.%SA$h#C5)p)dqOB.`=>j]8@Dr/&P*hdu61E+6T$O%f'0D(3bE7u!bYSr&8^1^/ - p!,/3B%%g-AY_sSs<6FqXSV'X=GT^X)EW@gk7=>.)a4\>EpVUB\VBIou\=Qn8J').;R=%.X - J:]NBRqN_>SRd*;rM3uAM=NhJ(cj6#hNL'0q_GP6mZZ$'5;:@65'/^GE3>:*Nppg2XR/n$Y - ;"[m;XW$1]R2$LF;\p612S.rsq&pRK8JkN)Y?M&f\MlLoR5l!2YYV*[Dm+?7M3S7tPtMdU[ - @:"eLR'%`Gk[@3f9R=VRN6UD207bJH3ta]S0'`gWT)3K/,[]9csH9KVIV#jj0>KAi,'`:>f - AZR[_.4TL3)VW2J,@La$+`YY(Gi.@k"og[%tcSGYFTu7bG)^VH7UW?+SLu*/QfC7IHZP^oY - VQ_<#cVCkj-GP%bgA;XXU/p$-k8.c&LZ/NZjIs"lG?H1K$.B1V;)g3n3e(s&3'%' - idJ[RifaWW[PIC2GnBNS?+)Aq/fJbFKpVESAlth$!0&kPP5a7O#aIhCAU(5247AWpE,ZcQa - 2mKQ5>IF=-8f8Q'U$iQPZ2sgI#3KZ;VBf+&'k1V-ZdkO>-0/<-EjFA,L3oIQu*N0P'*=H@" - _E3Z_mS`!`r@4@FL-QqQQB[r?M8AjgL9)^&qX*!nb*dif\A'nGFJ&TQ/$#>bH7H[,,P$'P$ - 9ZM]5E\A(XcMhViJNtbWl2Q?3Oc"5MRq1$)Qe9\C]")=3-&`$l*R3fqM9obnn`nkil%VL2M - e&&/n[=<*U(41kZTlS! - eEn\6Rj - 1k%UGY*kk!!f5]WlNXLq4mru37,RN:ZsGI)NCG"pf>N - +%+a;#`;HG]H;(7c&+`4L=^7^3,uJX\A@d!2rJ/WG[2C>j0C>jdq_[GLG!]jC/og9c#!qnYt_ - \6++"_22B*d?rAu4E6JhAB25Z:0fH>@HQDag\-+_U![QGRU%hD;5pY(22WDoa'_6e"L`mKY - r?WMh((FDc1\2h_;T>hY6GLX,KVY1`a$k,4Bp2co[1?Pk?ZcoiV*/>hY2N9iU/QcMGGtYcp - dU2I=\SA/)Y^K.Xm]Ga,BK`rI4d5Y0#>^Q]A$`l&2^#>3CE2BOp4`/kI6p67seb\ZmLa(0` - Mh@id?[+i$)L!q?gH&cn+K%2:4a>ZN=CU\%kk`[6p^ElP"^DW788dfb)rXsqI8)Y+K,+rBf - )G9du&;/mpM"g"=B(Ig6YSJl,`Yqj2Me!thJ1u;0FUAM)&4@ - 6>`98X1e,REcF2iIQUsMs)Cc#!W!)N7"EY_Q8ao-T_$n?qe$r!/e7CtO]aI>h0-hdhWO7=m - 7TSIg-E-ID'%XMr(hu_\&>b/?+^Yg[LojqaW*%!Io%-?Y/K;nSX=rX\7+_SCMZhOtYZ3*cO - oXQ,d&^eEW0Su6qm[>;V,+B4SB++jDfq.h7m][!L4n'#I1ZK/N+O"9<;OTIXE[(4YkJAkFG - Fg-@5C+3)'_ecA0PtlI56OTg6l_0(dd(R2AjUL7=)^s&>`g10r1ZV/5o3A.Ou+`Yndr1;_[ - PXQB!D-gaTn4,D9&O#1ZB13p26iL;Q.10ILQcuChkbb-3_V[W/b-d=>`2*h)k!V9n - *ZksDUk4(kB'8.4J0Te@lCE0CVuOjn!&4%6_gaSM&Rn+@+(oK$NATp@J=B[.L\2 - bRk-03_3,f:*FcD,%RO2eM^>dgC>*?UW"(;<-43DNF9Z-WKbQFg/Wb - ;3L7+0`=n<N!SgObaZ$;=,NUb5j[Snp>D - @B;2IF^s2F(3a@9]7f;o,kRHSNNjO)]?'@RI@qp"'t,QJq^F*i?'qBEW5^5>g6jYT@-tPYb - -Cfph)0*fX\%X9sCS>3AAr)@L=Dsoo2aG376?XFUG_?c?2] - ;b&0F5W/,Q_G^&lE8^%sS@"*b-mlNC, - [6@UDjFS^8_L5o\&QDc@mpd%N/OS0Q.Lig%Hl[i4;^Mj'muhX]gAfNkH>qfB[+OOfjj>3RF - pFO$T13lbN/o59')'lKF$RV;/(Zb`OM&tM.5"&iq/_0NEo)*J=a(LEY'*L\o]Bt@_OcTP,2 - YDT>DC978H`gkQtUld=.uNqja#E5M`.[FEOki5Y)>h?r_9!Q/2`QHM%D2?%*jAk - oEAeNsM/P5M?+lBhg?k$T>4:gAm.KD*eFAUa$Hc$oF2%X"b#d`LSK_gj\/o,Cna!PZ!G[s. - Aqh_9OSdZXsOq(Tl45R_s#NV\OifU0:2kf*C7DY`qTRm\UoUp3Vo^W69Q(Yi![BQuS#j7Iu - D(2-1k^>H;oXIG?r/JM5kab]Y:t.=i1q1JqmH^=il>S4l)55Pu=gE/kEXpUMI),OMQSBf%E - t@s#!79H`u3C"%7@-[]b.#3)in2nH3q5p-E7'Nc"Lh=LgP]nO3W<&B=@Z(O>P@60/BfZiQn - DseXd\2o/bh,eo"^A1<6[jL=pS&SRR,q=S&LBBmNVI1Q",)EbO-KHSRG]K7FOEimPS,'C`c - C3oXkF,64kto:KhG_gJ26ih1e%BnN!T?t>=Rj'MNm[\k0YI7<$XT)g(QVYLqnIB)2"7;fmt - RgU8u`q>6gFE\-D'MF^4E\G@b+PC>#o(iosMaa6e^t;JJ\n!?sRo+U&)F<$Mag[KG6+48[L - R5@>D^=-2nF7]OLSeeX>:@#OZJXa6&_FUCVdD./5_5M.f$ - L3Ee;McB6MB%e;"[h?9gbbRSb:VI/4M_E+;:6mJe%G!1.9l)T<'8(F]0.r:]h4cGC#PX5S\ - s.64c5oGR\>6Dkc-=+St`%!/4d^@S3?c-WfRR[)=jC\X0Ybs`:;'c@ok/_kE&X+OE9ZYdm# - _%beCpoX)\9BJcmTc!%XeU/&DOGP.dp]$*3iL^JT#9@'r4?p]2o@$5<7C9D]60r'/S*^Znu - epkHQiO2)_u1O6&/R7S%59JDY)Q5O`_$6uh&;[!#=Y3PJDHLR0)n\k?K`$h(9ZN['q3MK,G-A,8+WU/USk\[T8G.u*uh-!"FgIU*Zc;AK_e@mg`VG)+i5_J_F,o34=.9i- - Gk#G]@4J\UVFmc!(+j]1A!2j6SPhd0f(W+]SoV+FI8(.2@%*\6[@'JCHO%+e>Z$j_n;C0"> - rR2h5RC2_ur@_>bIZbcCSQ74etNRX%U.M84lj]^#Ven"&V6,;Ecp49!kd^oMCVp;340/&7a - r9KBbY-<\q)K`Htq1P@);(@)]`e59sOL4C6#%Ak!%g7N;,`F8;]VqPNl][Y/8-i9S/J90`K - F7\\YTb1qph!=9-b#\l#^;)Y3&!2Cu=SRN0JWPk-L,d:E%LA@oD"Oss^^^4`C+3@lRX!&Vu - 1iCB7lG$7X!>iSI)Sg`[qu/o"9Id(_mZ,si_C68XVB(nsRJ.*1Bo_LSaTP - J4?0kfG?l6JF089>n^M1-B>.__a2E<:lu3c7B*f$q.NkPat1;SilY;4Tnb\<;a*+TtNf\]j - !ogCdLqEmmK-+SodCh@nSu'jNnnOZWsRR"A?\Vik@Lr:j!/(]Wj>AZGeB$`B:NH9KXgn3&@ - Z2^=67Kj'P"J>;dF0^FNg5j(,nq_S94)5ALeL,\$hMA,o;7!3Bc>C]27tECPb-`gD-CX::D - &X+tp0`0d+me,iU,E - 3[ClmiI^_`^VCCZ^nSGfr"(=9Y3I1+_GW%tK#j$r8>PE>YnbQ?U<]:oKoG>r""D*V.`/5:a - MdMZ/1s%InA>&W4BjSY,;_bN$WAo\ae\Yp]XG_I4\=s'd1oR0JsT9oU:jJn`#D0GLt'd'"1 - 4QO]t?il`E^t,NDP8d7)Mm?gJ^[t@FehF:t2d.N=RNk&Be>l4Ogh_)stB+=iIH2^DpLe1Lq - 2Z)FalL7MQn:!"DU5#L":kbVT1F$ti75BM;rN9Q_USKJaHOWN[R"&co,+iM`*K+=-OGR,QR - BQm]^()S1/A=E$E*J[mFj[oR@'T3WcM#tc.GqiJ26)VO.&1,0`5L]c*NRE-)".hR>",F3@, - Kb?*aK"[6@JtuMpc<+@ID!0;J7=YP2R+..O"HTj`^I#:XeAUgt6/'F\:X:SY1JNd(]i2&p< - 6pKJ:S^'J]iWpAXdu"cZo"O76pSFqf37+ZHF;U7e@eLbFJFU - eG+]oXf-\gfA,NPO;lD?O=:O&J`gnq*54`/H"(=D.>Xd-55=A - j[,ed>:^K3g4bRA"**+[8EA^!;^bXc&6=EI5MH,(/B_aqQdM1$)Rq]^(HPS(-U3*"XP3??S - EVPkH(Hl-0PH_"V/R^Kb6Ja8P.R`<.!VFk#'_^<5W*4b&6%&?]/>[Zih8n+Gi27-BV[FPg#iGeD0O2m+jqqedS()^i@LQTZk*QhPkfG)fj;s=HC`P,?rYu%`T8G - Kjp]Mt$n`L[6#;FGs,aIf,8(]PH!(5`aMo?sJL4$[N@b6@#GFaE$K2@'r9t*]S(Z%Sheerf - oI"":T\lf`g)TM%(^&lahH3@\-^atoAmFHK?012mfl9s,j(SP!T&=H_>HUB4Q3jmh$WU1%< - FksVG%>3Hi*cK_?(i-"KC-nD!)qgiJamIUor9LEm7?!`?VU;mGieaH/ - t/9OFDQ>`dHt#IHTaAkOsDgac&a'LB<#;;nrqb1T<)_"_Ebt_3N5AA^/E+E)D%';4]LD/i$ - Kl1L2k\>t&pB1h>jqB!#eu)n:+f!c?@+`-R,`9H%S^^tF - g'+0LSYB)j/"fY/0aJf.l.lp%J8;$nlaFFga_+k-"^+d'Ahe^EA,XH(p"L= - kmZg$PZjmC(d:MkliLJ4:]Q_6KZsDCmoX/mQqFh!GqObo'dkN*R3Y>pbS/eK.T\+DEEQ?%m - T1Q$Zf4a59QQMOCk!);Ir[AR'Q$K"cga-mUiU+HZ6PC#]i23tu")B\mGPhL:4FI3$c[+uuTYD=pY9Ytfu9lS_c/7Jk1@N&mZP\p;%4-n]KT - gi4\SnM_-KNJ*ijhB*W.li%.>*G+]_fBagkai7rZ7VHU>)=cXDlucLd'`_Gbr+r248rX"sV - ]PD0c;m'0ekT`G<"841dM`F`T,\QGT`al;/b8'Wo(Og/#;G`c/m25-_-#E)?7e45X#eG+k_ - :_RT&]%Cjl7C;dEU.fh:0j>e^=?Hm]G*sNS3-jm__mn,pH,oGX[oqS$A>%=C(>UI\(;RSXh - \rRNA*d%\`HS9o@))(GZK]Oi;lQ;8GioRH^B%0.N)-a2(PKJPhotO^=A0AT3p)E2Kp[[J3; - Kq,De=:!$VMrf9i+/9^f`CH*QBUd>V`a'_usEZ!O#8+]G+"+ls]#n=;s_*`MAX>u%;(<.M&FcX? - 'D,kuWf]!n;Xa/o-hXnWBN0rQF%-[L'EO7qZ0G4bV)#&*lTc$(cOpHB46:(t!fVfF\6m(Xh - C?GUiF\`[$BHcseH.PVeIN+NQ.HoJt@8&Y=,`VaAgr--3ZA\EYIVk*p[f%:(G;\en3kP1#P - bIu4pe^4*)ddE/ZDP'.-2XBTsm-.Rg3F8[f&d'Vkc@/$W=I:'Ep+*ujsq!O:,ck,/sj; - IpZZo\02>)/'/sH@q^]IJ;p5O^%fn3hXs7fsd`!\"muEOmp+lj_%r^G-p@aN"AS`S8NuPFF - \gqp&A[us)8o!/MEn#./JGR1]OcCAZGJ'`7iQ7Cfl3E+A*Io`XG1e"JJ-F@5]*RLasZDaJ8 - _d(Q:gn;7P\14WfbVA5YE5Q;&`k80/DP%(.<50[*!b0GN#@2_NBQZaJlefft_JBN.#=(6(h - [;JB+AAN$)QC/e/t1TaW78B8JQHa'L>&@YT-8mgYeJo8@/bQRB"O=UhC_%99T"eAJ(SHk - HWMpP*-:oiskY:jE5=Mp5GSHbWWA3aEgKN(X_MeqTXc,Gf]>o&)jLnbiL0s!?:]LN#sBubo - IHoae",_Y',OaN,4J6VPiWmNe#=3HN)Rf;4b=@2HU!KH$moE0NEjq"d1f:i7F=X>+CMMfc'$$k@I(df+lPQ?).gaW2Z#BEipUrmH - YDY/1!p.Cfcp>SS-0M"&BQS$!?h%.Zq6Sc[l;0b0R8EV`T89I\V^N.*d+b*JEA7h'f^,i\OI&6AeXnYf_kb,=JK#_ - m]?oN"M:^DUF:12jhhGj%Fek[%3/CY]:WG_@qt4&g#HcI8B,35p*I;NDs#2,7T!n:+=EW-W - q_ZjKkhL:9IARfg%YL2-HtP1kEegihVg5Q;\-):+>J:k9ZA"GcIn+WqV[XhHI@hp!1,kM1V - sD)T6s;Bk+iAPkOFFJZqc78BEkB-0HZrSEn=?:5#H1!lK>Ri[@nVL'%I0CJ - +(-'eV%#0Qs#A?ZlA?;>d_E/![g\k%]fjX3KZHmlI)mn7.8H5(@n2+G`%E9XWR - ',N30gt<*!m@DY976[LokoAoe@,S$8):V65<@8epQ?CW1l/#Xg8*)Fu;D-p#];7:O'^NKGl - ADs]78iZ@CWKO0-seE.kC;t)GC#P>@_H`FZ6%H<^_e^/'O(rE/4AVTo:j77)]o(_o)W6<+b - N%\04nkIRpm'(MGO+7``V&mA'eqO*;`ZLi<]4S(cN@C>]"b'XBMF.k1qsG;f?.Q34K*S1<+ - M5)Var*!B2::gp&ST7Qo);q+gP;>*U?_CSm8]G"g#g4"&#eYKE8nU>DBk.W9.(^%/W,b5B> - K0<1qPEo-afWoKT?`>HBjj^R.a&RY$.H-fXm#N`Ok%P1>4SL-hH)9<#sm#E$jPL]o`Ja1,i - Fe"%cQjPQq;*`DqV6ok>]<5@VE]a3m*EF50YE - L#K - MG?7];9-,-p^@ef0f'E'80C6@8h+^^`IFDNgm)["+;m&7mj`bpI(W)[$G42IT - L1cbC_mA*Jfno+2rrGS=p^/VEZWH]du!R6,",cDjd,;DK=F2d4J3'KTKi]PM)GdH$k^htWQ:6 - MAjdWc*;Esjq[]WA`_K85&3LJn9s;REceAQ+4B`,mq8:"YjP]k]VY`%m*UkI<`8J2g7%;#+ - &C=qq&825DCu_Z\j9erX.U:';@e%`=nh*i2DH?>2>6FAV5gM:!%li^RR-*e-Wm&>mLLasag - :?EBCsT1`U"K,c)Zg3Nq^,(KmujEl3%W*5"@KD%&54,uVYZ+J$\Ej)-Hq/*&Gsg02=NNmcF - W[$K%gf>kcg3pY@?a4kip=Xl7L#N7,!=UC0G7$LEWa5+f^L"QA-QS6cFFn`MSNI&H!uSr.: - 5G:V:6%W(]be7jfjL,2sO&I1h@!*&2"*_9>r`[OpsZ5Yo8C&'VhMd*M14&93A"n(to3'].( - MrbfmXXWF&a,bArFi!:1JlSO2%8:k^m!$d@&EO];iG#\PT*$i1#W6/2h,o*8BM'f5Aklr-t - h$bs8FE$[b:RN&>m2k?1%52gbcZgaIC.q0p*GCWOW<.HegE#2aoj`mf#pDAKPIIRBYY&R(&]bmtul-u+MGif>E - r@TKG';om*KdbktK*#K>33Pg,!CnOYEQS#!uMNQsWYFR1[)],X+lRgi;1<25H\JVI4_G8&+ - nW^oX+RKc4m8*BnD?e$Tr8@&Ee)1HMJ0pH@?nUCB?o$Y&JWL_tNA88,VdY9>CnQN6RZ+PJ4 - Ar,LUu;'t9fhmM.?D?Vk=/LWg`5n=M'[R1bb6cmJN3oON3X-:,]Zc%ZkU=M4sZd(oB@H[%j - K=7,7[8r;E0T;:utSCo$ap1@SI/GOYmY7k7:&F7t+19ZB0'0CfAOoZm]c\_(Ph(IR[ue/>- - (a7/Jb@0N1(^jq*E4+@$*Y'*fp';iDR2rBc']3Ra'Wd99$o+Cq@o3j3TmDI"cpY0B\Hc*OZ - +XhN)aC?eDH\b!QNZs'HF;+]l"2Pu3BV7&^&F$gUsOhL8BM(XuM$VF8VGn1cHjhdh:)a-@[04ij#)f8)3+AJmJ@e2- - LGY"mEqlN0s'<\YjRSU;LiU_@'`e.1hU5_4N!^Vo'f->(_rt0/n&q$Af25:/;cn(FD.dQQ" - a9n57sXHA>Q/NE@!WoO?(-i=>\YF<7O?JO&`'?ap@>DeX8>em,RA1\+B/9;DQiXIb/Z>#ZL - fcQ#0a"2aGek$.<"hm(Wm%U2uBd!Ya0<'K0R@pbo);>@B0kF[1CSOVP)D98!IAc^@:TMIbe - d;ok:c'O`W4DA@=+=9X7M6_-3!-q?).(<#:Ek^okoN=;m/`PR+r1Cge+kI"EIq6 - lt7VN'7^Ve>XG+US,jB>&+&/!"N<9'KWM$#?*`;;'W?d&I+%^=cL[p.G!,o$kH:ZYG,m88r7;=eDX;6&)@rl"+jSH - *;?EZe"?mLqMK@)P'-AUofbS;tRP"qp#dAUIG(3f((3Cc<(oO.:SBUjR/26;o$p'o%b"R;# - +mBXHegFQ6\9/e/[_0dd/.Fe8n=V$F:_jNNk1P!JT)'6//1>RkH=bdgu=EqH8A4:%bs'idE - \2HEjZ&=8)^_#HS@p0@\/NmoakM$IZ:nOp+Y9k'K$6WYk9Wi'qm;h]`8QadZp]TQtVBiYc[ - B%8L;QXUQ^MNWZ7[Ob;@]_+tHoo.PrdnO?"%ebpUp<&;(K>_S(m:cSCJ2`U8Q'`'!j:/oLJ - MukDJK\--N`4GHC1Q6b&U#H-3$5?@9r8JZ7B8Pe?%_m]'8.]bG+WAJOB,>Y<:jTZ`B95m5W - *_kB<2nbN!eBZdd'U.Fr52-pP4"?kh%P@,@5J'V`eW0/lmmDp1]Fr9kAPN&beF - f(q`0^!YDmB%!_s]3=#`_%R0ikEY9Z4n@Z:AkMj8hY@7[,rjKOK\H=P^Cl9]7cN\HpH<5Xo - 7Y*0D2#H$B%1WfP%7B3q^)naY.7'R2(TM'I]ecuC[E[uRsu2AW5]C1BU;IQa,=XY4]alY#q - I2:&e*Gi>B!t;db@O>(Al4D4&<`jd'6XsW>2jsHt4Ui),W@0ODT\^6?D"_e6%skF%Re9 - IJX2[-AN<3l0eK:n"fVrD@JQXd25ol`+&AK\k"h?+P,DsSDsqN3Vf00pI7G547En%BKmb!4NB("blfq - +qQ*$q`e+$MtN;(Q:\&eO=MV!S/M;2.d%7J@m3l - Ql/'Z?rt93q_L,OdlW:gn&4R0$M!mPca$rT4gW&Mah\/#A)N=^m:H@oa#AfQ=,^SJh83Xn$ - =&7J?rP.QH*%ShX`^U-Fg"$@iEKLI>F\PAHLBHZ\W^*36$I9kr2ek)c7Ks]d1#O - )Lg`HAd^,!6.m*A2rjX`6D[i)eKYn9Os(8E+j!XOrtPiJtq&e_it&"=+:I99K<,R`F:AcsH - 0;i$C1`rZNA,h'2`e%-pu^/NP@2R@t*i/uZgrPA3pAU0V:PW(Ra>8E=e27[ZJHXb-ekD%B8 - :gBo&]CUgTp?^,o2DLu&QJ#0%h)?,.!(HBJJ3i"f>R+QnblEgL',/T==LN+AoEkMYS7$ - 5+^jY(L$<5a^7AuMNe%TAjl>skYAEHKX;VGgUhdq64%:q4c#qCoP!"cV%?o%+&NB?W:V9`(Ef@)mC`'Y3-"(5Zi!)CW@Qq\T#&c/,AM:!BFCIr_BW4)m - r^Vb)<7t<%!cR=m'FOY;GniUL(5@ZVEr.N-6sNI#<;45Q1k'4Eh7IL,l(f/O;;+N<0 - DUGE#4?`%!+ke/^_\q^H3?HpaIlJr7>J^U;3biWi#[sdjX%!YC6JP\4d`Zp8HYClLRLS7iP - 0%'CSj2ubX;aBZa1W`pnODR=0U*u-n."R:-@h&dnr])![8)p^3&roM)P7])A8Q8#Z$j=bo1D<1$0fTqc/'ph\DK[D<5&_3#:'ZAW4T>**M5$!UZu;D+e*c - G8GtYVffUOheqc/MYP`:12mWF&pjp#5a_'SJfp[&/B8BD#&KG5.%na9Et`^[q5\m_>i$2sm - 1&lfHYM=4QU\/@g".hL(A+l`BN3^p[f`b[96b70AIrS$'ObIdj"pK?hG^bKGga>`:[XQEmF - CNFq\6JoD+!,=pW-YPQ]+)h-Mc!%Q"R50mHj`L+!6au5f*=CIg."Gi+)oh"gA!=!>2O\"C= - *DA*4"Z8'DnT/*u0N#3^/Z - %$p,8"HT(Wc6But,Y"??P7EOOB;?^D\mcYV@mj/<@!H"qZ#"b6bHiH''(Dup'eTSQX@jb]Z - lofZHFAebQ:0)9l>lD41Y4ppE_9p-5Jn%;6qB'=ggF""0u7K>,7GQboudu<_q%jReN'#jRt - koKd3reM"+Hdjq6/=iV-dCpFo/kZ,Vaj45T&3LnCBu$G6)pF)'0"aEVO1-MnXH54j?sZcNo - 3oJkmdWo80]l2:)(>a0PQUn&tF[5JS%]!=Q+T)ZrAIbk8B7?Y;Q7rUFfXGk)eY5_;E/&5On]U+-=_PCUNq$qY_!-=kVqPEL)b8bk - Y#AJCo'a;L'JUumt51CkOh$6nOV9K - \!ZFe+dUt.^JM^ms=([#oD[8Wf2FMZAJ5?7mKf4)b_1^ilJ9Gu73RFn^\L_G_!Q-Q[?9F6h<-H+i59,[grBGCUtXe`$5U:=9\dXY.d&OR>"lJ:4:E\ - Z+U=M7Kc..2:ZCJFFXYG&lT9+Erm`G*`RD@*"iGVfZJJL7mRoKFj'W)$9)q8Egm-C(i:A$5 - b8BG#00H0TU9B&uR?j[o?FL>97liWt`U=GE2da4GTXGJKfPq$2f/]M#j - 8J"SsVl;IF:NeI?RVC^%>GYE52ALC4(uX:S(0L@?Wo+M8Vo:j0+,/4nLi+tp$\@=eXSl.L- - S.i2US1P6Ih-j4uJ<"`biCDi_2V$J119i>h'Np<6Cm%`[Jp0'3_`%,e[J?=._L'l - ]),^3#YL&J?f6`M)Z.iQjX)6+05H]^/UD - g,<$XnE;Kg^Y7YC`4b$fa6PXu7NCM=".p\p/3A4rM>,[hiNO@>ld7Ih-eTQ%qJ@P='ab%'e - S=fKbiaA/Hu@M74NrZn*Q"]N,YJ1d5IF!7#M9K*9k,%-;`+4pZQ'$8"#X%L/LqaXm)jNE[t - lRJ,6Fkf:-aQT&OSi*C"Mqe^2YKbamNT^Gek/VU^E;*j/@ken$`/!.s_Qur9p\;&Cui&TAd - oFo)rP@d+#Xu/35;XFk+(MfI>0N(,I/@qQ]aj-JkG]ebZK$:>j_:q^$`rM5gJ:6H9]8dnN` - 1_'g\92=Y]ZRbV.eD/k!jV(WbhlR(7;Ar[r;bFCc!4"Ua=)q'c*[_o0P#<>80Sd\8=2H3+9 - [P#0oKr'`;scZEpb1kLs[+gMEG:1S^?n1'1]SH#_LNgOD2,7]@UH3U([E4@@GL%0UH`_&D8LrpV]`429Mif2?CC0;3=BX)^c>[16>>uJZM^8huki`8p - M>@(l]!Vt5a!l1"l+3WW=>2b4'ile)C;3ld/EJ@#")F9")TPf>2-O7sT@lksjO>MkUYhaN, - FoK50HP^2YSX6[+IaQhR<7ck0%aFOHiS7$-!J6jZ=_,o*Zb'"[n"'3fGQ.W<_Lp;DIMLNeB - :IF4O>ZQggVs=q/#0_qpI3+>?pgsA!0SCcS2h,s`umRLEmYB?RP@l.RL/94n=@P6KTJ$k9>NA!!;C;UQ_jbBd1\OY0nr5E\FTca - ;j%Y*+s>R:m@H%>:bY\jBC*i_$i"rK`YG!P-r)K.;F,T;"q'Y>OMs!"_Pg8joaR7(c2]bY: - L\:.4GE7/TkLlpIH25:!4N6F9]H.=\Gg@]9.!SWlsiN*/T>>",Mr]`I?#;C%P6%A&D$SYG@ - %p`7?m`!eC=+L0Cg9?SNd%[/>T4=DM?1,>GJd>3U8Vf4niC3YU[H*\Bg-a3q@)qZ(fY:&gd - `CtAD8VOk+KEnKc-sJgNbM\kb5+BGSL)I\)Z*g=JNs:HX5?QSg>%E:Wi%fO@0LJ>r._mdfE - Z%7TU!nRMpq-mund"CAQjM)td,HJN7KbK3Rc>J'CghnL+0Me;inrs_6KN^T2*"]BTUo[BM'I/ - *ugCBV_cNrhsOfM0puYo;Y_>sW>)>2_rt8sM(k99"?25*MS,JjN$YuY,,)= - "'6GXrjLi\V_AH6'/lRh6C*tWZUH'O_U80N<]'H*=m"^8+LYJ05@dlCH1G9]:!.$LiW0bK^ - T":]5&fF?J8O+DlJ!X)$Zr*fja[7`Xp-bR+!5Pt"8g^9HkKWAN:&NpE%,jr$i_D&b:-@SYH - ![4j>GGR-T)i&^JS$0d_+ZEG+peAl+nD^"(Ja/ocM.H:$_78W"j\S%:H[K/9_D1dp.oN!:% - [8+ADDu,=iK?lY@GltWjO1b8=\nj(to?;e*&p@`&*F8SYC3+S8*jid\hH@`n7!)ld`1p<_$3e7b5jYA+*2gr:A>["l)Op)`;u.J - "<3Z1@$c)"eI'O$_T_b[N"pH]o/^1.*n@be2/S@PG]A3)&s)9`pmc(khrV-,a$.N)<3C9TH - i.6^iRg+dA"[!SK,Ia-g1"PV]9f.CuD`rfSZQN)at$9m'NCG#rO)=+,Z.+N`K=8@KoaXPNh_+s21:A=gaEEJd+6*GuffR8QXNJUc.G+NID3hheKO[C!ipCH9` - R9KD"/@\?8#fU58%?h[,nKjc@gDTdncrm0a].VHOe4/KK4_/M%'ar&,28A7'=oD7G"$8[4G - TnZqW-inT*.'k"5Us=P^H85`8]+(:5rDY*$*'&[1leP<]@=>BVOEd472DOgN$uPD(]/ieRK - T/H%uqfP6g3G]g;HI3X[[n1W`\7!JVau%WYc_4g&X?7r@l#%1,^Xmg]<)W9V3hP2Sb5b&53 - E\U!MCH'gHDN+"TUOEt5&R<0S#\Or7sr&u:MN6ej\"O?h,*R26:ZEAZZJV@(\B.[?!gX`9N.'?r%Q?K?;-S=\PneHj-W2K - 1!J]JNcn:PMQ8Pj&E^(:5(=GiU'.\JY$/8#h@l0)c'Hq?5\jWaTWKSq6?iC%5% - KTrY!amV_?p4^$1:8k4tDE2d(h=`lg$A$)kl8f#J - .Sg"Y1CUiYJ..S!4,;&,h.9bLW('3\po5!"94(pB8N].uuob'F_"im>NA))Y@WQK#dqC.,I - -8t66I(`ERZfPP-OF"-*R"q^qO!rKXGr(nLjZ3//+Okeuk!u%6^(jU[pX\rW,q-4S@di8ES - 1n[0a?W(l.Yqr0'D9kKqk#AaU9[GPqYS1q!>^4)=#$jCl:U*hD$]HPX - P(CU,>Kc<6`k>10`;d9i]Wf/fc5Q$YLqM>0[CIG[A^n(Ni#PXp#3%6-VOc>cN0k, - r"Q_W8\QoZ"cNP-1qQ\:p\'Pe"aNJs)?FK>FOc(ib>-;?XQu&*>"YAh_%@+TjoLDO\3$S[EN2ZW - .\?cfUn%k-3:r`jQAc91b^K8[_?1=U!mXB&sGo[Z$pA/,knEAI^P/-JRdW/>Wh"OUU4DUi_ - 5mo;NU1n]9sX/%Fi:=jOZH6_oSi%O0LB&^IsToqV&hR=b,PP8uJY&!q7u%4LG#QIuQCD;Hm - `9FNB=?MQb(Em.:#?B00bSR&coajSFAB<>V*`F?B[A'G8[cNjSekQN/HgRa?mPVd%q)]]>A - AesBEYCW;1aiP5Be<$q#*$LF\+`eV1"S",YEBb.W:DIkV(3+7/EISbj.7"RdOjHjh'7B(`N - qr4tOD0gY:?:i8#-=m]!>bj6EJGf[:F1$g-?2oj*9mnRMaOTTJYYrT,T.i>H.cBlC72<[*) - ^_.@1XY5of:u;cQ99@&Z+0W#RV:Q=i3#\0rsV/%-!TpF1U>rFEb(1UIUR^^*DZR_M]6KFZ: - Be]>8)(ofa6t,P!QSl#8I>(G+7bYj319 - dQsCU!VEWja6JU"EMu",)R<($;G0BVik(jU9<1BIPAE[R12;q;E>Y$JM<=N^3K!WV(\ptc"#uJOd+(d\EO\.$c>`O'p$qN@nc0IJ!S],'8iLtcdGd9*1BZ.d>m\ON39#&g!(j: - qjUF"UgA.YU+pU8HKQsi[/p%8oWj,D@r]d+)V3L>.H/(C\kBbgB/GId7Y=2Zq2 - olFdW^YbGGX?MG9)*5ngG<&k<3&4IMKu!U2'?S@R6muQkZN5#Q^ - q.FFkK?`csdq'NKl#iPbMBZ6Y9a.AG$G_h'`-N]SK3.0JEprK9D+dWn6X<@aA.A^^C-`ap` - :9iSH?XQ5:$$Vs,gnkB8Y6W?oe'R?5rPtRuQC"3!57\s%`b4!jW5N - `Z%62eA/LT/_,c5`g6J44YG%W_l!(d^,,6$/-8lUGet6c`-aj<'NrEmZ,XG0&En#S)03^?_ - +um[c4BNa4TLs>):AUD^^Wc23j&^WRZ3g"Aa6O&kgHMhEGYaM[%[Y9YU7C'f]4^DBQ]X;G'Uqs - &QPQWUl!5-j&Xbd#Q#X?U*15..EbV#Jq/mgD1)TC&Tn94S,e(W7,W7>EXA3(gB.Nj/b0ml^ - BM2096A#al'Yk#K5kN,Ebereo<_ZBs\L^J(I,LAV7L\KOcHAJj,_er7";]>#m/X=%ZAQ%Ld - )oS8URMG[(fF5LfL=Y*)[Oer1[_(8ZA[b)PsQu-aH(8R8c'GN?h1oJ9a=OEF=?"H'Z[kD#c2IH(4"SNVU4"4m,2` - Gp8:!Ao9Q5"'FNVOW$B,#F?(NTQFntiS&PA=L%ItTA%!T?d]5\:^JRk-)$@r,5mkB8K?Q4:;7RcqH2lI*r=DL)N_4dV\s/6#F4 - V6WBD^Ac.)55o%/fS,Sg/r*R5Ui0o@0k((=*(lIM'NlEm?ID]po$)f,[K%(NW$^!)(`A!P5 - j;hOn0eOd5^_!%\A-:&h1^DY=Riq>T:+=FKVfL.UPN%#pXMmIR69P^:dYTC;@:#o6'HQ0XG - !N%R@#^P1$[JO'VP69oVs1sW2C-gCaS_OP>^o;]SCYfu3c!YVE>/tI - \WA@tS5[.H6KZp%9)/g3%EPlAP1Ei1I.8X5FLi!XSm@,Fj[sHj]K`Z)-KnscLef?;#/)q"BPR(PCX$pPU<)`"SJo29g!.eJ-HTi+.rZi)lbti.!:kT*4&LJ43R8Z.\9kXa - Jfb.d'"q#Md.H26]88ShDoK""Y8>no;(8FiTOH%go>`,TI`Q)bZt/)V">[:p&_ - /"7QpLi\$)b%E>I&i[8dJ$tRdWmd9P'%_3tNaZ#!/>M!Fh7;ISL9p8nTASSA>o2cA'4tgDH - l[fWQ9)P,UR_lY`<5N3^ck_VL^#9t[f_mc'*+2\4;`*,?HL(n9H+*3&1*JDq`e^@r;8d1-V.7j/uddW([F$mI7Y3qd/72r+NM1LE8DIhi_mgPC"6aH)A3KW?)`#;Foop,\P#84*g4@kG@0aP_qY:$ - Pjl91A(:e$C6ME#5XiS6YR@Y;9P0im-\QY,X+-,sRC.d=TN>EEkEbBbFcpq;hkpFldSC)L= - K@4X!bhg%aT,r+;B$tTXJZpQ@?K-Fi](0\gk:m'dZ]RC_pU8tr1AY%ho=5q&(X=,(c[,C"[ - $ql]qXBQf%N9P.Ek'$:oZe4eS4NGEr+93bNh.PJfdJSlPSm4aB7gr!/-q*tiW!KQqaHWmfE - <=)PnL@b_=5H>)-%\o-RLN;4$8/U8;QSaABlgVX!)pmM?uk\+j1_ESPL+UlKqL7;69Ns:H= - !&"U2!'HWD@-'G52qQ`oH!W>#^)%.7"RhHPV$^'B!HaGTN#0/I.6IYV[/!1Yq3('<,tE>+V - >6S&2O!..sE;?0L^EHSNA/[;$+NS2q!a'PcfToFanDqY5!nr?%JIqC;u?lpf.&5Y;\VM]=5 - jBC_+CW.m_2g?UTM+M*=[\;+q6rWnlXTs!/o84+]I[ON!Hi\[;RVEY6-PJ[e:D\1Oe)JGf% - KdB-q0)eboSuh78M%>+RKkQp+P_"_CGDmSTTVVk;:AATU5c]c2Y^6W%Ig?U<#RAjRMZduJ\ - GsETis]8+MnJ).^uN89#r&7aLPFlL&<]U5P0#E>?i];f3p#Tmjrqm^$hRnGCqm,l'J=K;X9 - 8W!#j:>DAEQJfYj)T-mZ,N(\>R\V!G^l^&lQdV\;13rm\Uq3`=W@-M2.8d::A.0]#JI:Clk - J#Ypu8=batuaDCgBWM=b]MpciZ9^ObYjd7W&Bc8Nu767<[C.*@K&:e)c"Pq?g3%(p5s!X,\ - D25=L&B3M,VDXqOEG!P87MINGY2"Q[scZ(NSOd\?b8>m]sH&kdIb)1L@>1&C=dEt:AO5OKg - *cU>[eOFr:6jdnofOE%nN^Ea;hI?@,Bag-1:],AI^fa - AFGM\_!3)MLg*9sRZA:]RfbB)lK>!3cqLNOm.@i;L[tf#9=YLRrL]Sq/2$mYV)\kg2Sp0R$ - @]$Ok+CX(H"c;L.Qq[49I]#u_#kd".9\7HhU8$&T9`K*.*.BJJY-.q6Zlh_#Q%/lLhr#LOc - +Cn!1n,g_heV7d27#79M<$8V9.P6tVnW6k!7$S0qole`)S^0pHI^T-SX#$D - ,Du!VV^\mf+ZAcp.dll".hWPT_rd@*(V,QOu@lF0L$+pI89,e`gBZE)Hkuo4Ag2X%ik-PI\ - gl?o$$86b"3HXCj2mu3YR32PNjIaTQs=-$L_$C8s0W2Y^9<7G]J?5.C0us#)jnq;F^#3,Ol - cV`[aqFTh!&0D14#DFFOB8,!7hn=0`F4=UV - nP"@]/D$B#TN2R"IVRV0#]W@q\X_*fS&7.l+XKY(b2Y-MeDs\jSnCaq9-<'8H12P[_pAg"e - gI2>J$U2U)OSqb`@Zj;2AJe=c`.]SCX_?*2@d&5s;QX_DB>c]pVrgRJJkO63_C-%9m;242e - H`Cu.u9cuY54lF,f-TX_5&uu8UF=b+&Wgu;Fu1pa*XYbTPDp5neAt=?'Fr3W!pFRBr]`` - W'_A,hdO6HH)GQ7UYY7OSa9]WCNWg1#4GQcMNulQ)gaOf5(ibH)%-j^N2a.a85'=nTP%d,i - #5$lid*\qnkG^\q!;8.WH^);fXAEAYb&F6g[4.^BD9>?;=LEe],`@mfkBQc<)OI=98ZQGrd - `d%G;RiNKE27fF0>^WoU_`2[bDDOEaa.UFqEja..nROGM?n/P7S76JE9&Xp`<>%S4C#f<"> - StM8h`j#%'=&HPpZoeOd@@NRS3,;s"\!9&nb[MY=d5_9+lA?:^l*!HN>YAA:GuO$.bLVht)%2^4$e8Lr - Q"*j6bnOsl1J@g*M-j>EI5CBR!+nRmbSj;KT'jPM=mkNrD2?,>Zu@n$0#f0TU?KQ+.eF;n2 - f)o,Q+Y,E6[Cp!5W,L@)($j>KPS./=RmW,`D/?MstH`oK9!%mYK#[;PZ\<+>kns+9))L9u:HsA3?M$-/5>r/(O',u=>sI]qJObO<1rXF.k_Y>dE9@kB..$ - E$#lHSi*lIX$bbRmgQJPG)Ig1[LME5a[qOp>k2TOI=b3&UOcHIOPn#A(%`e'Du,(:7\;hMY - Aj7IbYS5#)S<"-K-?&5e9LDT>l%j=^]2+teVD9VHm!6I_4?h#o*I:DiLt9Xt\1L - mok"aiDnf">55KY&;@JF2iUWju@Gn'Ej8'!1B1AR@BVtT:-Xg4?uY4l6qUol$+Ce>EG7OZN - @co.?Z^/):t>:dYAK"8L@o$"`ZhoLn5oXu;P=*$=iUk6Dh2"H'EA%*O`1I*a - G9TL%M3_)>6uMIp*`>D=Au"#]Kijc2SjG'45O/GScrj2!*3SOt<(n?mad,SYUf`dN4/OPZ: - 9%$BLhTKLPLYCZAG(T>E!0Q-YZ62TB;Tc9GHhNsMT0bH-PCC]$9Yj3rf*+Z1nSZ&SH!O)VS - fg)CGTme3D5\>9?RX:kE;;jTP;lN=NHST/0^L#L:0('>*Y[>k5nA9O(ecDHNrh9:$@VYgjD - OA;[mPX$q=)i_Mk=7DTIL*Lf9TDMIn!P>e[-r$.BiOg,I]MB)3bcYj - l"e-[7Rs4UOPs(W62nfeiS$YR*@K@itV - Kc(eN0W.^/Xasa3ME2g-*[@WX2d: - l!@ZJ1b6q-Jl5KRh+iI8WQLW#gp'i2*N\6#%[/g9MjA=RYsFY&!NrMt%u`k6705V5M7:bSn - tZV?g]oG*)!,?sh:(DFn\4NoW-XkTkT[H>kqk)@/]%c']mT0p13J`oEo%Z?)2[rNn>-T@X= - '_=g!pa!*s/"ls!?NrF=fm+t7(;TA5#UW,MsUf`=aXQnBE-Fd,lm`U;8IL$eAb6;&L=lD2'o1Q"^YB$@[NmIl4[g6tKTI^r0Gf^Ip]8ilh - W/oqa1%TI:/\e@>/!hLST?.e]D6e2F.Up+T/XR$g^IF*r&H3u_/U('V)cBNn\R.T_KYdp=r - fQU+l46u_fLlE3"nP[,K*!&`.5>8d<3D=,K4t3K[\P,'A]NZnV*:bj$%(;*-8#Y2r8dqd;N - C5-I(&#(ncgW2U-''.uLHF][]S9[V@LH`1ki80I-e!!NV7'9%OUU/5)$&bCt8!n5reOSB92 - 7I0D0ipH3Gn0QSaVIV0RG"^mTK`h8Nk66olW/?VfIb\+uYba@iK9n!H+r^c/[!0LE@Fgb2W(f\=jktBDSBd:4Zeh4GAmH(Oe.&RVQ).dduoRE\,A\_#\e&GUS8hHF-aJShAUCF6sjWQP9dJ^pihj]T>X")W+0te6?X7oBoJPsu@[XG4XTBHG1YcD)-"IeGP0UlD2F8Wf-H(lRi63rD/SN(b%]#%Ij#L?-r:c*MNKM`5RZK+F+pGet=o.Tcfhc - _Be*lPGcuJp'lt]7T"6N]H`ZdB%W]F&FO)V\I&qCT'rbA75^<89*#8$c?KQ7SVC9jX0&Zmm - U,seYbQ:ERlK8AoC_V=h&@pPBP=giIFAup0;[O,1Oh6% - Js.6o`,JMRQW)dG:_rGjP[)kD(V2c5ob=,.OIo/&9]k,]fITh0W!W?@'*hmV1&J4OZ_;YOL - b2@kIL3*$iJ2!mkO9g`cBE"6?M^+K]O+D*M6A#hr=(!5I3a?LC71WX8M\Q)gU[qE-UijAO9f#O")0#GPRuW.1U0Z"YLM(RKEcJK57Wd*T8sB!.b4aT5%_,cNh&Q - )1I+A#sLY2UA`X1aDqa.,sf\(JedZ@lp\9KMpXn448TN5>):tBk.Vo"op6K'&G%Keh^(5Y: - J?'^T]gEdr*:3WtnA`VEH$7o=Xf^cu^\*K&X-tP=g+/bu7`r2@Yj`gG]SiXbJe,98c93/IB - n_=,q9/i"Ng:*T@X%0_aX$Ycce)_53KiBDO8]:ViYG\e*&B6aot(q(jnfD+eNs.4dd417^82nJr9g%3X4fXKi$Or$ZIdl`]+*e<$ - :gm%*=isAKGMpEj - YL\dGg/9M:XZ`Vj1(HWA>dnPZBTSB8]EOVS.L@O5r6$PJ5A0WgD.O9R'S;QJ$?8ll78_c7p - fcQJ!FdU6RE:c(%,r7(F=tLK8Zla7-/&51/Ikau(o%pXN.h\:'W.-^fUb:_0r-YFeVCCG=q - 2!t&2mqi"JF56hH4>@MC(KS,#QH>T1HAB+r[:$fA?Ws*D['.6n;7oB\eoYlks_J1_3.,bN" - ]YNT9$%W;+q]g5GnK25QN[ObCO)Z9N3S/pp2m[,M]h;aRl?6S;nIpE$mG>fV(C=>5/3A1Rq - ;XH5s)ZbRq,fWVR^ilP6=SL0L/;[Un`#2-FMZ\1c>@Il[JV1[_8&[XqZ[lKfO_c&(&fO03sknR^Qm)%BqW$TmY0X=9Ve'!@<[7IUNXFLKBq$AljA(4a[Q>EAf2`(oJ*X]NL - /4Ft^iPZ5"gAIpKmF2j,:k$0/S3!jV4ua:f_YV"p=ucQpi*,uun0'1XpW_`;@GoTV0-_)Qr - a7\$fUVC3nC5fbMD*tjnN-Mc`S0Vju*m=[UJ[`Op.G&K/n"CAOj#i')LFJ00#KcA7oe`^t` - Dsdgd;?GKTMh,oD"+eIO3]Q1%,p1Ks9E[:.Z)(4e"-5F^9kh:$Vf^Y%W/S"24.Q2IFYP_L[ - (L^rM/uB;j0#9i^bjN\B:g#F[^YE>d&?]Aaq+(G&t9*=*UB"5+C[0Un$GH>%@AbkF!tU^X[ - h2g5:J5If=OX=3i_uC9GSbm3Wd_,ZF - V'2iZ,\9cgr,+fGk14E%8l6WB4C]!1C79Jf?4k5p\D.?t9HIIA@R#YT;J1(&.uLLc]fDiDKGSr - _@Cu@NmY7pZ?e$e=<>+i@.c\)E&B<;SdrshZ`%fE>`sP7/&^=+#?$gQh)82c$@&akC!#ro; - sSdhcND\-K[AkF+XAk]d*VAG!_TiP%IDM^S*^KuZqRY`)G,d"F/= - *+]Y6M^XRG]A:GU)*d+B_h@MK_ukl&9+6Sk$MD=eMC2`Btg7Kl!QWF%mR)BoO\+_d[^*'h$ - F1.J4sNt.D"a\iG($,?%(\@O3o&Xtod!l-Vp^dJ8X3>@XurgcFK^k3.T8;&!ER#OD^KOK]p - Jt/gnf`iDf(f9+hBgnT6o+3TnT/cibZ\*rE%'NEqb+S]Xfi)lbs"CRrQ=% - l*CBl!=o&USUUkKV@E/,/#Q&6lZ$/Sg)1a;!/SPhEnGgX((^_l5QOD'7m5H'p@cEe(?%J`G - f=k!s=.h+Lc2Yd:f0nHn9<7mf#!PZ*=j[NE\O]:=,dP^1a2EAGe:#BLF - TXXd7WGpRgh"0'8L?7Q4bFqAP9Ur; - $LK0L^A2M9G.i3Nmt]Hmd=HL;]'J\MRS58o0,$+h.nKuo_(5?`jEftfmtZbM@8Zp7 - ``@Z;@H;5ia#J>;kE!!7]+WjgA%Jhm1toR9EnY0-C?b3O`l._0me/l/)P0!\7n6O6`:DeIV(,?US_\4NJ1dtV``Fs_B3/`eG - 8"E!Z%oK6iiiE=]cG^Cn`U$rc>[YPbKfWA](U9m'8O=q<3eYUNb/,'JAD*s)6\9SFU[eU5d - 4V*W'+h]!K)8/l_8IT;9:L#()VG_@KX;#D4i?P&\JcD==rf226;Ct:6od=s8g:CM7RV@[WE - S^_d*@l#h2bG"_)i;P#\sXGp6:t:a'n>&@.Zb3IR3&:Lri&qbdE5-+:'/Q$`apY61`&FiY' - BrUWW2<&Ik&9*LZ_@V=D&Y/7Z3#AV4,(*^Dm(&\kD]@iWm#^jPI(KQ'%/%CPonMP9%:7Ae>OnId3,N,c@ - u(le)aDn9XR-e[_TI[5g#Op]FIT1]/?jocP5o/%2XeVQ7='G:JdDnjS">-HPo-;'(7IL[Ld9`-Rk[X1Un^BLOuK5TLh5 - j&1CUh7E0GN!aU'&?mlm,0`oH8)Hua8,8!l8k;`t76i3$7'^CG7;&e$OXfUqY=sQ+a7]kAk - 2)GoQd"EWI:RRBJfYTHtW-hCC@u9!RbLF62g7X57Mk`Sf*C07"F[4)1Monu - pLs,\00kh8S08a;$8E!CdW%*rXFA&OVNHcp4D82/6EaSQ3(] - >!W"tSFfD!g*p..HJ$;b%n2K1m5#(I=H3sP,(W6/R?sr0PRT40h`uITPA.Uac]/:eX(3Ie\ - V\"(*4o;e&o'_)MArHC+su4XhuY.&b&&)=A=mS*9H[W+j]YaNd^]B36hEW=S3bdZiL!Vu:> - ;,fA4F+o8(`P(+mE@2@3:(j'!]Sh-5HR]mJDI3(9dVBJfYPV65uF]bTbt(%^AYRZ'J>MUR0 - f5;+,HPhO[;s- - uH+\,Dnr`?".,c*?m[JQMGFH5Qb4b-4;hq4c,?C@jG9e3(T!b - j.qRmZen[+>N=c'ga+UF"YaHpk%#dWi\j2V/N-k"7_[+^kiT++VFa@n8j=gh5<\4DhG)-36 - ,.irb"bc=:/P;/;Oj69(AJI,dsWSn]'5Nqlit8l(6p/Y8CA\i@Wl#`#UD.I@Nc9pl)DT4XULlfp8bj-&o#9SMT2],NbG, - 5YaqRDX2I,#b&0E7LlRN"k)]Z0,EpetU*;mbh$fTEqX:lin&G:of)>("rpRB9+>t)]-5@m0 - @M\<_RO0oW'tNTV2rfjR>LoV)juclI4YjC*C6c[lmQo;JO'HS)C?7BjDY.oqoSO94;m&]u^ - 9cV_c"gja8hRVQ/^q(+VDMf\5LcX=,cRKs,4E)Qf.rkI-RGW:`<&fSCA - oDs/q3/FkseHqsAFcNcb"G3&'q*8R$E@?`[c'\=*m%b^0rh:`_i1aEV - &d;JrA;(E#E)oU,s`U]?aDa*i4B(lX>-%R4fa7L^tlD+$M>4o@/ouC>1f3S(4>9M#U34u>" - \Y#k4@QeMYl2"r317-,d:.0_/@1-rB_lWsNsp]l?E(P27cGS',%+sNNIG:7AgEo - J`%m$tQ8="REj0)0Ce*CO_._=uo@*4O?_TLum`AC2`7(*L03)mUHV9$C^uDY'hG'Z<)(jp% - ""#OU&lcB`]_Vi-E+6J,=di8o_ST:Q\17M1Xu1!3p;"eLktTe)>M&fG=rWa@i@i#n-\*mPh - jY41ELN*9g:qBk7q:nlrP52arL(.h.0EU3L7[ek9XqhM]YQb!!k[lNY`,t\DDZa^e(UFEh* - b+Ai#SLEN@.H?[Cl;g!f`/S9_/o$:r5#ssmk,`)YO/JT>E=PHLn$)01F55;.jM&k$Vfpl<) - !(D#h*?p)<`.[fM3dRK)fpR!'l#=IU&X\Y - J>*dN3ZS9af;/^L+up3qLib)^Ll.cRbsMYoHL#;AGk+ - @chK_u[,.$t-7Y<6-/e8pmC,/EP):o2dl'gH>A[4`jBB,)8l04;5+h?"F^,'\EN]5b4PYD* - nYkpI:/%97:5T34M_D,I`X'j?>S"mUb.Dcfe>@D+-*YIW_g`4?eK5*.h*[I5R!_BeME4PDf_r: - 6VcRj;qom*4&lX0TiJJ=#if!B>G-W5=^@M^m8IBE%XU0CfSb#!riKUmo!=%N.(] - 5a%t0(Eg5mn4DGc+M'5aO4!,lf&6"#=bMUs9.F-%24NEhH%BWH@.+qsA\87F:-HdPf4I*.$Aj81HqdVlISg9W>ld9Q)0C0&N_Q`B" - (<3WGM^HTPm)q;tZcBC;IC)MF87kl(6W>EjJLb"@2F)XrgAl*.FnKd$P7h^]#36,k)j - W=t@rK$9$dWZekM@>C1]BW(XL?lHHe[K3RZ]oQ - aXWUd=jI.nMXjkZL+mB0W;$fK(aUQJQr+H;sg4C\,RpM&g+REI-q(&k6/G)[\1[)`TG(reT - 6";HO8QU7raP'1;_T0)d`,iEIf;P1 - pF.me3K[^8]5'q3'*:+#sKa@#bi#BOA^sGY_Va$-9&pm=Gn>7/Hr)](?47WS(h[g-1$dA;Z - I:Al%B-#(^QLZ(h/"N&jd+JaTpiS.GgNk1IJ7h1KJD==kc(a%/lj+1Lb1FWOF9m/Z,$._UM - bYf#FP?pc4%F7aUm&UIi`(r%;Jgolj5a=sMfUI%e[qI[YWO2k+)gQN_73PVk"r+ - :6V)2-(Pa=oe)U-uLoOQ#-T6pCj.:?&M7'ob9TYD\gN@D@N(JZF.V=@]4_+%t22&J&%,pXo - ;f-?;`BY:AjPc%`%WVd5'\#fed9&=hNe@C_9#4XWQk'6h,R]11@ZhA&+u!%S'Nml$Aj - M$gZqC9CVF/k$M@:PIk[RIVp(Ki:sAFYYD`cbA_,?ld[beRp_->$m - aq4TWWPgd[Z%;4k_ZhAatC[)l'CTX5Vib]LNbP0(_e7jBUBas*/^<'![]0lEi_3HM.P*$_G?O,g9=F - YbHl*Tp[kCA"pF;mpEO`3c*@Fl@9%OiRg?bmQlgCBqkhm*EK(rWLln^/M?)`3un;#6"*0_R - f_5&LsqjZgO=N'gMp`PC^St5GuiT>I__a%Do]F=jEO0@9'W60*q![V,!!gBEnQOo!VU6KjH - :r2\5.9.4qSI$S9`L#"@Vi`:V;Q%XOj)Kl/nh'De;.!#i!r.MZ*jKNbYcQpV4;2NK:ug.>E4-s^0/M!a^D - 5aj:b17Z8>^rS.BXV)poNPB#D;7"Z[n'-J39MFFXp^I.Ep:cA]9$kLjMABeL?CIoNHAbt7W - hd4,u!,XX#>U9]<'O9%hmi[>p-B+=-uG5J:Y2Nn/[3:%#G;26%(YLI!5\RF)KU,0DC#!'lJ - >RLe8(CK&mIf!7;&q!*-f/!%Hhs6QcK2*Ki'DrbuZ[8.C"g[SX)s?Ph/c2,&8]S;qM^^ksaM;dZhA_"e]ND@g1"hED+V!T0ISmX7LB2XhO\3,@r6 - Y1AcOqFaaoC:i>ne,"hsl4GC$f30C9s51c - 1In_X;QU8p^ - ekWSnnr5f2ddAfHdEF&5@IM!]`D2r#Ib/C[SpsgkpQIdkXirg'O>:4i=ST;M*GNk38l4Kl$ - K0E]L>#S/K%-B8iH9k'YbFZ`7dbC,4XN\R:7I2>T"o#h*5+9oX6-#0GP9ZKl>mZ'RWp-+gd - kR\tcugAcrur\;`BNa]j(f!s<2=6VmS0Dq`,MGp>WT15>i0CBf5jT.%M!G?^7K^`TUf"7r\ - B&h`OiL9o1oQm3;;*lB9KZ^"6D?\rg"Cs,Oi'RY:;"Q0MIY7JXk6;Uh@*-^:)pi7o&(9HR5 - ,4rfismnsN(j0s,3.dFj=4118m:;L)Q!Pg#RGnD`NC'iTM/*c'Ldt.5mDeaO:9>UW5f6l%X - 8KB$OeR9&rqJY0[+0?56f!9CBNG.$\WU*+V$3f%WLYBYjDqinII>H%h6ZD$m>-!Ac`PI77F - opkMQ^oEs;Y0%riI!YoOGH+US733b1EhY*00L0^aK1@d`[Q.b)]1N++?hXpj#p^c79DaGe3 - eNDC,U9),U9*3]W`1^:0'0l1e\b6+X$aT/.RVLD)]ZPT:1J7eJ"Fc - #U=2G5BOhQ`H:[B0Nl"mWg$=RQsW-C@7ph$aJD+[rF;8lWd - 0>mW,Z$$++1AFNrdM!Us0,=Vg,"[isilN=EA&B0UB%Y3;"?r@.")00V0EjR?mn/J\K&k0+] - Xgp1X+Yki"134m"ZRms(0f$lL&FI1;!)595b\418?7kY-o.r5p;)L.02/^DIct&lOn7ON1P - ArGnMU'G)bjTJ'Mba2Pmf=-&jV7(?'h[nt0+uS!(sbhRNl+-H.V`U.71i.]$HdHl/=$fC^8 - FCPa!"WAJ[[`1*'"QQG7Z&Y@U0m>Y\[18p]e1AZob\BTFDNI^n?Kch!2FKLXI&dk%Faq##$5:Ctr7]*[a+H>NS20;D - XZq@='pH"#V="JSmb)D8J7KdDG"VbX`7G\BLh$VY+7s'#HX3DrA-=LKX3bkOhB5F%#k%ZXk - )DmhYnu&D3:QRD4LHuQ)n3-0j.qf#8W!N]$5:e9Q#P9uJP0F8qd - 0UAL9r?EU$o21DY..C7LP6j]:c0JQ+=+dBkXj9:B1W;Y]Z-^,9ObSJZ>(9+!*IA@;cP8E[4 - P;L0iKqe;ft*![5T@K$M,WG!>S-+ - 3G1>b>"1$BQX$_#L?"9Ql.72O`8K:[seQ(6K-EtLnoGYpF9MU.G[JaIoZDQrA-crPX;=_6! - HId*4fMVY#Ooi2d./YnQfh8:ANLN:6gKpdiCJ4.^-!MiJ^K*6]A9LHSllejb$?;4u]gh;Z. - )Z.0?o?GI"VD)JZu9K@EG%1O,>6D?V"l2dE2H+3CCukIXD7gra\h8HE$lcZG+E@2(H[SG3! - ad`CP=k/[\g"c:Bk`2MDn5s/As'6SLX'n&:N]3$Jp'[]a[ - Yu]//m&t6pYHJkjQ(2VX[+_DW-eA?%p9>t8*'BOl!9U/r-?<_a\ou*$)=u`je'nH=a9a:K@ - lJCUU8;/Ek8Xe$??+(mCV".*WrBC;4I>kn\,C7YHp.251_pMOO06"b*;`Bo@>T`kVUF,j,e - A"*@aYh"2r&2HCiklO$m>u8!,I5]@tZg1KQLl1pe2TQ@ - WNaS_03+"of2k`72X^(:.bA!lJN'[`=EB/bF,9>7N>:'3()NNW\I_$8b`[1sZhMtuZ*0Ae: - aT9&)q4&#FaoZ%m'oil@2KM@WF94R\RD\TJas$C<[sN'0pMKA@OH"0o33Wde7cAnR9ZN:'HP?!nOqW'[#"=]!M)]X;GnlMXpR>%A<5F#q - NeC3^X3XMPaGEu2E@5"q=3HKb[*rGXU+I4I.H%B7)5Zg%)!r7kHfoe6rl_cddVg<*Fb3GeT&Juc) - C7eXFlVAlX)Rg0o/3L/3I]:upB=:H?tDm@^gV%b;_GU5]m0>!^p4hESXRm"7Xn\7/4[(B,4 - Hfibg=_p-]S'o?lib>iEgFYI_^s#T`0Z/p75JLGL_Kri(-+AuJLV\Vp\CGj`3F9s6fiVDkP - 1g_T=-HcgR5n,S3J$qB6?0URdsZNq`R5L5q-.015K8;W][?D')q0@Bfjc[>LjNUUn""2d7B3SZW=g',MD\?3[2Hc43[i%`XR:]\6T!<"< - 1-,W4:l:IH3\s8i5@U[7o8]G"te'E*TfB($la4,]ZYtns5_t2FW?p?S:i2KZnlWgpJU4LpEA4j4hl;2^2S,o?RZUId?[F(bM1i=]3RjWh>H(l9tWVdU]*G(DMWjV*6A=+Fad - KTVcO$/N-+QdB6eZ9\07]<.mlD[jJ&SrcA7sa8II=9hYrAq^5_@UOm,&pl"/jDDL<>-<' - 9VHp7gR-g^Bqjk4VIW9F="puI^82UiU/nkmXFEg^?hGn - b>:]#)1K4JrW0PJda_sXrk6/cE2K5'S:r9K]gU0'E_6NJKRUlT:f;3L/&G('0UeRtj)rhVr - qb+C6XDS9d2tOuG-K*FT-PQ*1VY%)^KpC"$>qH\hGfj\-F)/>,KRADaSn?pU2FaC%\6"TgP - anUhi7F2Onh5,q1"h.WXM(3358($pW98s[*riYa6O_MlWMJM):A;:QC@:R;hV0#tr:&/:(7,r!Hh16r'Fi@Tu2jq*kQc':.e:!qFRI-e=*/'l@[&q(1T73g4( - eeKZRqgbUEsc5-'7XAb-e,]72ho?Dd?"N=fAd8(22F"EJ[eiN - 5[ef"2^+c1A?f?B8^SS3Wf+K!Dp@Hdq@JGV:"RqWYr`=7dX/Kkms" - [N*uC![jn!cr*hQN;g$SN\rZ8HHc"6QXIG6uTT1A_Us$,uS&njOA$jnu0iY3"36"'='-Gea - /,+FjPj=:5InA>=-Qn[Mt8?rOMAB#ln,l; - (RoB=;-&6<4*B,B-PD]'WsdrK34DGkAqULf^uL@d+[KM#)@o-nCa)'[EP;mA1JljfPf*kZ - 7ZbR968oY>Gt(^a\nC[[I]I,BYF0!JVJDZ5q8RKHB6iWdT4e!)K:ut)->/]Wfk+6\<7:%kO - !G#E8+;HYg-#BmG&_hJItY>?L5Q9n=l#lV(?HUEig&Y!6u;&;'&cV69oX7f1XRk6e> - 4.F_,JpA+fTqASS\I4gT"[Xs2nFnIB1hha7-N?'o<>-]@#0r^W16GoAgjV"akDU9S,D>DnVe01+9hJWN2*6&7N,+X1gD@f&fG08u*h(.=!Mq^"[!Ai7VRnK)2iHW"e0qZY - Kde:EcnC81dOX-NnO+Mc0_L3QkBo<^&;KTf5A\I#\&<%]HDpDD%XECo`$hFG+Z*t(f164!A - /@2Ph>8o[Wd:m.cJjJeH*C)EtlAuj^W2DQmg6T'.(n&hTeR#.nX[E0X?-NKd`J8kn - =PpR0IjiR&2^fNoF9( - +TccinPAj_KJMb'd*rF-PZu75IC'gr%=#@4reArMGNjJI\]2!*$JMW0D1p<-gJ,U1-&%'fH - $#af=_;jOeYaIGIWO@gaaQ>H=$4Y:<]!oqN`DN6G - YnQnns!YMD`K$\`9+_3XDAl*KYY,%sd(]+0!K7X*=&]nQTR-@Hm]t;Er[aH%%e#u>\5U9t,=ID - 2l`LQT""<3l=!"`FXC;\8GRCDd+;/EIASII1FH*G]+>WTCqci5D]Oe-qug/Ns/(e1p44SOt - oo/eCq#_AP'$6j?PVO:"%0i$=_9X^knkGRHS/tQ$#*pZLqDXbR/kRF"]%[a_BXK0nsVkR2ot^B - G/;Ar``Fe"`YVQY'+l1`Y1*6uB-5T-M=D^_Gp]9uK=&fL*D`m%'KLG - (.imHWP"MS[Z(Oro)XZQZMScf=Q6Un_=fQL$soI".Y`,f/X0sZ>tl&&7,)t01?(p:\0BeHM - ,)42(dapP*pS&mD?)6K6"UgfQiA)`:4RBMY]PrGm7O0BR&Wk$gk)_::UEobA7cMQp5eeEUJ - 8,]D%okhg>BSg&8.4pju`12X)^m"k=Dme:=Rk+$j!?,\"aaVQrt.br]]12#8IJV9`J;YToq - /ql6(af[][Js&SJ$0J#kQJ)T&f87j]0=`(.anc"$iqu<;_s$-D]5R[ZY*!/AV"$esO5YM>H - >QKgJp[bh>UDdR-UN2/6B!?[S,GZE0> - b7[SJXU,TnPPU:(CJP1Lq@;US9rY(r"02_\e"iqRXh+t7mq_q7#X]*S4Z2N916Ed7*J.2#Sk;A+2mq(719H - S6&Qk%+RCU!q - 1SNI7u;Z->&$MM/Ait%^;B0Lgj;Cu*5d*ka0@3VnOp^g[h]NCQs_L:=<^:M8Bd&agl=qlO%B218IU_Q*0NlEP=[m$8PG0F*0q<6(eK!iK&i=%S=0RcRft(-3?[ - "0Zrst6%kIOsX:uMm&opFIat49Z7T?*0*#?Ns(VKC6b$&c(1D.!0'1'QJP.T8QCNl7iRflu - b".Y'sclbt0'MCCj92(UD>dd:A[nD+Y98pDSS;^*3#6?*_!Sk?iN4q[+1VL-h2PQoM8ruQE - W=[:$27"/Q[!mjGXs8!o^B?J[)S4-Q$qMMHa=sL47"n0BLC@.D05clL - RBM%"836^58Re9Em!Me`7]WC-c<>2.WjZMRY;)K,abih@"ks`h]9%&L;i_<&;RnhamcKt#G - %1:N8,>pZM8Mp(_be;3d4\pl,c^_itr52C!kKh@.a5$[3N;pX%!6>U"%ZLP:4TpCs"jH`X9 - aoFt9f>pe2c;L@MgUla&*B%9&f,9q;as>h_ukSl=__;tO/ - 6";&P;CfTa@<&><=X`,H>7RdbPe/`S'D+R@+MnH_CLYV2"FR0/Fm8WHqeGSf9%;&]/IolQ, - eNEP$FSJjHq,MP5;Pa1k=Na^?I6'IX:\;[Eo!Zc$2S+"Q2C4(d!m6O+XsCr!OGQ&O81N:@+ - PA^i=\&s(>gV/@QW\a(=cJhPHpIb*#[+Y@fuO9Kgt%EqSU`knJ63'1*(&>LUKTgV>"ths?) - CeBQc(JLJ:4)@26%'qf%Kg&>0WOeKpp_XeSPd>^ZNg(;kPA3Dep<3[sDj./1S9NtIJ=WI03AG'.)b?8f - BR"W'O:!N_jcV55X>n,'Z8-[lu#i.HIh+c)K?.N:uf3)t?J?@:NNRE>j"C8^fJ0`Otn,e,? - hb151%Lq%Do^t\X*!0^4!sRd#e)CL-B*AB][VU7l?,@!2LJQ\^`[+mB`Eg]ilAO'iQhtBW9 - HZK`k*,Qt?VI_V,d#=*sAn!b7OINFE6a@BH15Z>di9i%$Gtq[ - "'k4Z_im"FH*SQD9]@h#\p*\$,%1LiU*?ZCi%Xu6;E2\c4lJ7-B#hCO3D:4Z^2(>^n+ - jsU)BgKGgut*^VkB$R!9.6P^`$%I;5CIU:Q]T+ZG%["$`R7>o:u/=@Hf$rf5B9FfuV) - [#j<4?R1-;e8-lAPQ6:<)Lt\*G'Wk?*0dX#SCB",eopNjj%.ChHjd]?Y04EAN=<(+c9b8)Z - ]kJ>ofkp2J->F*lSC7?V!%d%VfQO5%_HNTPShh"F,X,Rt_f6-As'12AQO+036lbe.*O1\`i - "RUuE/5*f_6t,T'8\Gb4mVe>9i>Od@0c.C*HFk5K85@KW>JAcrlakY>&C-oqqpD:=nk$t/" - U-8E[]3TsM&B[2TNhGTQ)/ElnbA%gOGEEIf^P8!1TB]a&C31PYCfaZ\N&PU$_fj6jh%qiDU - A8F(rAk3/[a5i_eJUA`"fJfNOX6VsVCJM9Q?FFWe[iu+b]qIK>A`No(P_!F+h2XAoXce:8CkSt,COX*7Z: - _Y`RlS>T,%DrK"!SiaI-3,'iH7Cdm,.(Wp1JM9CpEHlSO[+SboQe2dCt%?8X:Y6WjYKKZ=5 - -mgf,5C>bmCrm>e/V+Aq2056Dr]hoHDSBo-3%5/"C$D3j-u*o_&iW.aU"B"1#:0HP+L3o/^ - ,mYqE[ENou0j(oBQ,h%"/HY1CPW.sgkW,&&?^<_VDSPn!B_]A-Z(%0`*nqa!+(7G^fS]%!pBL - #Z?s0*'f4")ec9F(baW$h6Fe1Eso1j!$MQWpcU+V%LD*QH1k6oAPD7>TWX0rh_C1KE!MfW=hpC2ZYldEsY(#Ef+nH1NP - c;F&)^.*-]"<=*9p`E]nWr:L"/s]#?u@mC4&-*7jGgfh2/a1*Sfg96\HHO+PY-JQ;_^2CE;@9&"4up - $%``4^2$J/nBp^C(9TG*Ue1!NHCA-FJ\\Q^!u\q[.N"Vo]peppt#*Ie+Fe\Rl=9/O)kS6?_RL-j7cu5T46JLA')2jWX!+8De> - :OBD.C#it#nk#Aaa^LmZe3?Hc\n>q`dMQ^BFJ"]'8_Yda8?[Iht=FQ,FTnRltIZLnuDGK^;@$H(T%j"Nbj.!IO?AH-`&U?jcXI3qn/>GE?J3TK%/"# - ku-boeAc*8$MaeF`kI;'&TbW+4-eOXkWlYf1()b08V0B7EVaMop;utY@%fh@1KRG'8rB7B1O)4SH7MLSr]<5JUfZ_/r^L=Kc^_B6%p7jc`3R$_L&hB?,CTaaC#0I)% - +WcrYVXXShe7GRpg'\Li4M(4Ta0G^%^jR#6P`-99=7#-$K` - >6XT?XKLR7$MFD"%Gf42O)id@X&bX(r'-f'M78e(]UhqV;b>PY>,fT"(Nm21bH,Sif4.]5\ - e+s4PKg06J<&AZU,_\kt;a](*D++8"<`N@hH6$V*>HV%?0+.jd`0%>BCr7bg$IgZ9(N%7JK - (A!h\lZ&dHc>.?HbNir%@dKt"F7isYedD+!jiB;`Z$*jJ]"]S2>hnn-^DlejI1s4L,eLX,)* - V\JC,aPKKQ7rc&W)c`T-N7I*iC\pXQZ)HUZfifZ3*g8:>`!%POIIqu2(\`iK1('Vi#@,='P - Y/.B?id#pLWcLFa#)\;Qi$GslHis_;Ofd.,eE;4&WTO8ZF(*MVr&k/L*g)>*#mQs*Z,UL;s - 7&6R":),&t10,>?UFKSBVC!L!H:@BeOX.\6.A3H#.S/QqLe;>+Vh<-JR]2@JWE?3jP#T6f\ - >p3ni4&+>G20OnX(L#.1OS.@Y=nu&_%eT_$mdtD:b(`k9S#at:/%E8Bl#>ET='4TY'Xh/W0\#oOZqnFuD;,l(:Z^h+X:8AHf6&t"L#uu,]EE#(S>2] - +4cZi^i^2#Oi86!b9F(Es&$ik%X:a#--#gbsR%)J$EnQNR`?+EqP-]Brl6_or10uPIQ#_O9 - +;Ab0nWVg6D`j*0t*QPG_K-A=FIJJ?)Z=KLS8lDIe/5&n%]mjH]`5]'`X#e\:XfHd-\ZWGK - 0oWE%V!U8ulq8,6Z0[ArN@-P7%n+feD')IL8-MF_V#7-G31[T_8D8ddp(mNfr=)nUaaX-]lP+8gi@K=M,YqWbY(pN@YE.'`-7.0<'d - i_GfLcVI<"R]QALit7&fr53kV&d.7KFi^k1NRO)):QH8NtLiuG_D5d;p7;)+RHcD](D^:9h - "MV?FZuHW]l?7Obl#j4l9u)c(,"b]rn!Wh7ns - 403&Hti"f?j.J;+-<)0;Aa*UU&A\I>t9'N$.RSeA%X_6*"e[78H;f4HO2sB(mK6_ - rFRJos:r>jf!H%8c[!_:sm<63#J8hpj-_"J?aC8#gC1[YZ3[lYk.m9Qg3;M'[go0M=tSTSn - Rf21+*6fE]pL/OT]8sjHufC]r(oP.LUa_+,CSU@ZkNMFp7Se>&!fW`ntQGk;9pL;+&XRt=^ - bsp#Sf$05\bAs7.8\3_&F*E*DL,qQLlQ-k\"(-5#Y17+h"'@C8@5bopebCd%>i_$1E-g;>3 - n%9k1TH-aISeWF7pTefGbT?Ki2`=F7U?OUB=8T>dn:9EBg%E$1BQpl>9`cMS(ih*?BUZUiS3*q`m_RR]7m6:q8$Po.7;8-gnYGT - dQ>126aNKWCL%Vfq%fG%,Nf9ksoRH2`4YN`AOX>M]JW^WN88'.j+I5tOGW&'#$3,\LoYSJn - CCF80O$^!AL7uho(p`C&b]>7P`2r+:]K6F\1T\()Y<*S'gZ>&=^,Dh^T,l*l#plkS?^eIES(HY=hl4_I.R\EYF/l-5b+kco?<3YCApWR`84@S(&"hKHJEjYhRHnG(_c/7uk3 - D-"/%0K%3R_+SD!ro07G#kT"qV=4Q*SDqbtnGiBNUb8[KSkF)V\V1m(JMmoJPa-)![N*ICB - 7NcH7&PSNn2GgS<,'GMV"Q;seS,\OZAR4Si*P:&9]+W\ihZPp[qYbb7u+Pu?JnPB)WM'Zs, - *Zc`Y_5&h09`5^CDhO;Vgef"@'E/eD$(B]<.4_\nTc,cTIlK."$mtbc2+_HGU:J0tJF`Z+` - jj,#[O5>$)a6,T(4T&(K*M=DS-UlA_,GZoB:"%U246LuuS%O`mAEf.5l7S!bo\o\n8*8&7> - m+$CC3.f)7d^cb/5pZI[F@7JXPXiNdaVLphQQAKe//FBp=FHAl5,6D6Nl"qp!?hDJb"MuBF\rsV_CdMl4X=t=U!)mgJDuBDn - <<4^pM5'[1,1)9V.ej>fq#V#Ao^uY^6Ik3#PQ4'L*:'kmj%oCtH%HRml>kcU4fhW - eC-6/XNG5tB!o!#WEO:IrkhZ64Z!KD?7Y#so\phS*o/'tm?:OX)$2D&35:)hBpe^tTh?dOChN*0A_XA - %:A!Ri%9HkHS",YQEj'.0,L3CXE.R;$>J]3opl9f<7O&Z03h1(sald&b5p'/p8;A&foC9*: - b!f&fsf!B-K`A>bH9b^aC?,0-``1,Cn)b_&jp'D^8(-)aV@e`*sbX;BF7ekAguWct$47N3Z - 68lEUdD`E)/B973K]#dOYWD0EPbs,Ck.Md[qcc+!a-j,a(h@1/T> - q=Q`S"-IJ.:9TogBQPp81$OoH2:(8_-DX3Gu*jU#1dbYr6i^,q>/qFTe^qhZ(EA'R#08$K$ - 5h.Ol`^O=F0S.1s_:(+@M\cu\_NEd#9jm#pdUlACf$6t@/f=\n5e5301.$a=9o>6r`A==Jh - N31,F&#BT4;[Tj/qICi,bPJX@KmKY07Y0;L!C$hEp.%d,!fg7KU<_-Ji58h0p>('EE_,e@5 - LoA9G:&$P>3->;W1PT(\:g8A=s8cZSl3"2R@9h+K%=8FsZ*Y4G:dPZ[s.FL@s#R3J&>'bqT - QBqU:H'e'%aKD+)0\g.gu!(kc*IJ[YO9Ql"6V(%_hFe.2uGgeoGK!ONb@J87IOX[5e,'(d\ - 5V8F!fiZ%H6)"$WDYjQQ$o"iU/1%%0JPOr4g.-.J^jRY);bWsHg.7FSGjp#Ya9^sqJp@U7S - 6LF"b105k8`Yh[/(6@Ggdd.PVjpg7P8WoMF[%7;_U&ic@"SA]kA8`9;;G#<75U"0@d>6YCf - gg]E3=QPT1j;W(.7_[+-W7';@5g"LbnKcP@6a$Xf(YnaD$G"3Fo - 2M\\5m3H*F5K8VuQhd/ZgDH?">V5nMW+)bNpDmK3o(B=SlJLM>H&@Yk`&3Y#OZ"(35+;R6" - FVu`(Rf&*F;D[obK9^:L>TL;/;^%7h"XXUYP[US82kP!G0hPgn!10a!J.>Gb,BX0@. - CJ)'Tj)mS]dHkund@$aETH0SIqo,fFK3j-nH-sR3GXcOCXEY^/"qAX,A`J_Ed.(3NL(EagD - H)r0`f^-27D^lDb8kZ".0um'5LkV7s^g7>n^s=(`EL@WW_DS<$dG]XlVoL2(0*>.b+iYfM@ - 2<;h\=TKpZ(ufO'@M@tn)uL6ub2fPcN^F,*kAL1H\.%hh&*Vc@,&2e5QJ5cbLkP"rocLR=Q - ffUn$1S\,'q8!60_g_Tq=9J_MDP0E3V9>$1#XDQPV4(Vbg0^]q - A#j(I'13lJ.m!-Oo&&k+h\Hl<&Cq - ?Nn/Z`@9=X.$Ysma60N$XO?\N-Q-h'BNbi*G!blJRtZ&^s3Mfi^+QsY+"[Zg@)3`o:n?b5e - ;$76!F*9$k7Og?.YBG\qr).C&rO]2g?]U(ICoMZ%GIh3^GX/`5sCEMdVZe=#QeWfoZf-kF3 - a7RCD2fB+GQaUB0sHRlRRh12XC-o]qWY>N93@`$J>lC(2,*8lgI."WODkGXQ%b7sNFQGUtn - oF"+H$$7(()"LM'RU,9BD\sob3gTS4.Zb'GN]:6FEgV:B?_n93o]UR*WgX!PPe%Ju*3^nF" - bI_*dZ=VP,F.19F - >eQ,(Ig?1La>-B6+`3[`,f0+Hb#W96//*L)lLL,;oN!C`LL/G"gM:M(i'5YLp\%]Ra[D?lp - Q"@2l-"'j13.aK?.;QaIJ10gWRDQ'ImUg2ru9`ptu:nWPZ$;Sie\Y==9\#k";-)N+,8-DFjNX+1WoHl7sX-#(T(BKTPGN66'cG$jK[2T6e#C3e=B7^h+uQA;q5/T - eX]pph-\_RA(Fpuet$U-d#82mF*Y3FH@+iU2a`oU$`WR9f%l8:h2g50PM'6.fq"Vch*KNGU - ?n3N#EuW>(SbWnd.>BtFi2\AUY5Uth4<\\9%.S-e) - =h;)ojFo2f;SR16>9piS\#Ii1:>7h@J1cUXRSL.3%6)Hf_M7dG&j=gUlZ;GH\8Q6RbGG'>& - Ds)>Y+46NB9]=Y:WONTa0 - /\s6M.G3+\6o4QjZDe""Gh'J%G$$:PS!Ml[@(*i,dZg1r,l^k`ShS8Cu_sC^Mm%2DehTtR1 - e*UJnm@N)"hR$J!-Zh5nFFAO,HPJHN+u(.rn"0FFhZ*'e"7TY&n=L(o9%["OkJHreJpW:$? - %(u81[70%>hl\8^9@%`1\4s4o:J,5WnB;B'M!T?`mVaBpN3B`lm4jc0:qeh4=F,I&]2'F\0^65J8mA0i_X$dA'HjZM1XX^,\*+m2 - 7Wjn)\2r9j[6r=M&hk7i'bhmP&lGXFZC/hQ-$^Ye7BPN^_P#6*_&3u."1$hted2gUPc@K6R - _![*$70Kp$]Ka"0$G]Z+m&W&p8O]\ts0c>s?j,r!dIR,->8E>q:1d2`l#g0uhcqM.V"TZd/ - 1@RuE)A8T5AFnLHrddA/;!=-I1cePr#sn[N\o\Jp"K;CdPu&3%B3D?;C>^SDI2o*)r?CdVd2kSL^om6S.hflioJ8G/65?#n`Q20'eK"o_ - ar]7h@,R/!KYD`tp3Y)2*M7krM;*_3KaMLD(:'?G48VY#m]8M@&@6V4GmAdlg3:`V"d;R9I-/ - #qmP/1M::'V#7=&4\JZdkGo$5N4)P2GKo6h`+@ePik)&ZaB0`:G^Mp5#8NWs$0C;'aI'%Zo - &+4d35V-'N(OZ*h4`9TH"G>ThR-Y;^*MH6drF85>Y<:'h;/$[5@,+c*Z,Z*7_<-79C`!,&G - YWl&)LD.e;V&01s\%a"klhBQH%21M'?m=Z09HAm)I(,W$*6O]cEj-?O/J>:spODAec1rPd8;HVID&g<#(OBHl42mQ?.er:\fW[fR$C=''':d'D:"$R2`i?a3p!h+lC - *ckdgIj+JU!6?&kf$]36Or=,%=l+dN - i]F$/&5c?$Ym5L=L8(Iunq]f/a:FZif-eoeZM?eBK'O(Kte[tIqLX"t;@(\b74\_ms((LuH - L^,M,6Gs5;rk'<`R/j/]rOR_9>6N=28HSu^:mK0!NR9?Bm'XbfcWHu\)Jf2<@`s7!ECWR'X - Q_Bgmhm`(PIm;QX);GBl_LM`/!=q^,g/uci*b/pg*A_^c"G@;8E(1."3%5#=ZhA\U:!,OOi - ekTX*sW@1'#HDgp]rTN-7Nc1'`r>PLjES7@3uirk\)7#YdfGt9QS+XaDf1]pP8qF+[B^sJl - q8^A*2='Q#p2ed7PcKOVTB732k",H0e%"#WM7#fiNO$S!q&a*_66Dub5qu7&&!l/A2rfEnaKm!8")O#mX4Ru[&2O!1U6?q - DQiY(@>(k!j93>V#;+!V(,%WI'Pn3]j$Fs:iT60"E]]^3?O@e*$59WOYZHj8SG'6U3*8t;S$"(Blr@.@]fYU[$NNNn[B'\VO]QjBhr - 972gm$,>/Hp"eGeQ3jCArfru%2$mZeqln3-8I9e'A5, - %X-KQie?DFDKX::(ImXp4/m@?[F`#,B'ik-]JCGcRL3,M`Y - Hj%H"@Od&%A?5?Ep2NDVacq(WQ8X46_03[J.D[:>f@BI0,/P65@!6KS[%/&[4)GW@Zi%8Wp - #SD/5"PQGMun1?]YD\;n$VltKhMHZ1SM*PWGH&RmjoM/bDk*-e:!%]"#CA-J2\%Bc_+H8UR - M*[euFk8e'FH&lmWqLD[eD;XZjs/7>WaU>sW@$CJ>aa$l5-A83W[[+T-A`jSLA5QpL8ht.C - mt_)&5nB32+=srTO4AP%SVk>cU2)"dYsFT9N9Qm97;`hkadP##jq1bF4D3@"kLZSh?Q)XfN - =@p+2(7.NZucMW&^J?c>8Z!;_d]nWj%&@I3+6X1J8K!$)prYi.?'X1LVglf=CX^QqNGtnuUeq":61KeJ#Vfju=08GWqm'K]p!qKq,`H2sa1Tpo!KR0pc,Ah - /.57k4/`CB"VAa3\sWWW<+h&NfrD8g^gtN;CeeN8ngO)>H,9*lHAb;b53M^T2*'oOd#jX.ThQ2.@p;prrC$DE'NLsVG - *S*HL-4^lV:T4$/g&euMnjnEfgWYg'0W6ELU]JPheq``;GgbNU\C%)kB@6GjQj2C3T"O1f^ - K`iQLaIWiF?cJfnY2mD%3>L%Be::)Jd692Ug;?&H(mcS$[@1-m'%,U@%i]\I_)DIeD$2#G' - p&L(@GE47s>+^'[+9gs>(F\$u)Qk@AjT]Z&:4)A^'j9Dg\Z\cUVC=DfkLYQC@Y&SOB)!C,f - Q0<$g^#bUu"T&3EU"7:Nbg#bUiOCm;*=aA=TquaoB65I&A]6(5qCm&&9,Ln'u=:-60p2?j=\=>"@,id#GU3;J7G(Y=KM9lWP](A&1N - f.*B=K4J:Y]eQlq")4.`Ec"AtmT3*WlUAqqWsXNW64e1ZnFn@op2WuIP7K/kGM6UZKa^L

/.hh_),t!\s*.TZ9'UZ*Q8^lO#+!r)\oLGm^?5(RYXJQTqaf5-_9H; - MI<7mK(+ASl@bC0XiOkh+_r!`ne)'@`DgE/A/N.PB9P-k_8F=0e#l/NCQ:e`,SX<3lrZ/KW - 4&t+!ebQEKQ;rY$'Bga!fUMV#Zo&g@KlZoR[L[@>\(BmCe)Eka4&j+!g"hYs#1N'YR"9l9F - AI1(5]ksWTY6e3LpP^9#EZoRM+U>EOEecI?-3Q.h"j&Ej@2OSMQdp8J(J]Rm!g9pTsG%ZjX - %Tg+tQQqm9<"Zt$%+)f8"e(,Vfe['Qkk_udT9R`YWE)d5QfE?^/eWJ7dU_`C^!9BlTn2iBY - [NLM0q-q6h5>"ZWBXs(?O3^PQKTZ[IN4B*4gN#Olu0YE'S9*Cn[)2cQc,8*,7L:!eR1oDF/ - Z^J>VK-\.QYXV7#>"b*^R#J28XKTfP_otNeZ%9=#&Fr3pEZ1FQL9,s(@qQU>)iA)s)F8%*T - LZoa]"i&$LH7f&XGb;!`A77M3LV88lpa2q30+c"9g%+0B_j6,8h5gn8OK4&Z_KSRQGi*dZs - (;jUH6Gh'4UOS$6cXgp4^]s< - @2>F7/kbJnZ!4G/[$o)f9"H"-7*DOS"%0Y1Qo]>WdH[jP,8I1?^P:[':QijuADnP`qJ4<-\Mo?45Y0s_2i&\.B\&9LTo:W*V[<>AB],uR - E_NAtr#.]Y>EYrX.d$74)bM:_*:8p;Ue%E!4@qj>[$ - eM&b=1'V^D21,mbE<"s\<6R9:kg6h3)_du=@!#@h'Sd=Y(i2F>lL - )+rT@sIAg'[8lOf?L^DDM`1cR"JLH^QIU+[<"4 - 9]gD.\c$`7GRMX)cV1d*"t>YPs;=ad3]eSN!@0%TBS`78f`/TF"\^ePkGgS(Y%)'Blh\&6\ - T1:1aB@geD]HNFe>aZJ)QKSfDCF!=QtoS=(gC\F@p(-S"6BTOFH(;rS+]CgVcc[oTi_AV,nYq8X/4B3K;c69;E8s?>s+@@oZc=ZN6 - ':Ns5J1ecK-7+lKED3s,p0jcU/Pm1"s+Ss9rm4LnSV'Y9SmL/3_3dj&2/mVI[F"+Q23 - 8_dUO,3H/]l@@e@c!s1>KJBHR$mM]NAd$mmjZO.d6EfEDiE0tGserj+l9F52b^;EW$Wc1[B - :,^!a>_MHpd^a-G,;5i=UoM,)i_DYsi9*0)r7;7h!Yo%/,LnpAMA[:p#28cX3pd>```Jl:)dqBOiWPe->A$uo7HMsX<.KDS(1f - NhaYtN1ieAmjOih9'^`'0p,U4tIWt_c/;HAo+]1>Vo-pm+*H`=lP2qEE?k'ht%S0qo+RYh( - L'Y,r%+!`%l8%#4+p4hdMJ(,rj+Qbt#+:gV5oRlF1Xp(^P"#%ePi*p).RiXGZM5IHnX.^@C - d2D5`(e`;kOKJ_],Wd^DH_+dHD9_1U;C5:Gp/=BVrFr5B1C?Ll1>ae8=G4,YT]Hd$ck6]O= - "7VYj&kQ5D5.r+0<#/K\40j`2IQY>(]`";juD/Y:9?K6TpFi8XmVsm?C'k[&*ZWfW`]_%Ni - @rVWfZMEWg9aP1P4cl;eHaGB-J37Q?.es*i&fZ/D7JL(8;EjWL.GgL*k$)4MR_>Eash[m*J - L;G'W=gLS;0'KUSAPoFi/^m`Uh!eEOGtMTkDSfA]P]VT+I^k)/B6o]X^(>8/W^p+O_eZ)u; - /]]g0.E_-W'dlg(Y*7fDUE*()66DRB-A6.>>(7W_]][@aodOi5ur?Z?WN;_`6o+rL>&)l0eF0C>`"Tp98piHM-io42^/I&BrJ!m0&#sF.^'+E2N_.5&P8Q+3JQ.fQX#kAX&f2fmUBrA@rMXXB1GZH - a$?TP%dnDRMTDY5>A+J8eOl]cRHDVG,9' - qu\bD7:F/Ddbp/1G+^@U0$;GIRDaM?OJ[FrT>"rX!]`4^dId1)RY-hsPGaU,Fm>c)M - d5R\P1o#@59_rKRFp0\b*t[G'_Ikf:Om8sVFNH>q_R=AlC^c]rO(ic;)io2"W@a%+%R&1W:)+7r2(8ZU^iLd8+Z0>#dI<lF^^pnX!PjdJ%0OEX9GI`IODGpB_@VYP$,Ve*/I.T'aVt\oUF:O$Vr4d0 - &W!\?lP#MF9DiNa;/8"$`X=4\3(AK&D"E6$e8uhRK1pZK&gbJM$cnJ^N?cOX9U,uSDr^Ec^ - ?)_t9$33NkkBfea>kij0u+SY]O3P4!5%/Nap'b3Opha^@-DGdMURH?4>kbP;(Onm - ),XckHom6-ti>@7.UO8AdlO<,8oK`$+Lo%[!!W10RM]br&5EPjLUX8[$pA-lOk'D(61(Zek - D1;V3u$K(AQLn]Z&)\d$RMaq,+FU"cG!;)C:@k*kRLkiA>YM=Q)JLs0.;g(o[EBr+W-ZCR# - tk`$.c.N"@0W9$@/Cc)LSb^V8nEh[H>[qU25Q+)ZT:m3i;+a]=faT6gNpZX>\Y[qjT@pNka - lXa4Sg?WAr\4`-5STp"1M6Ef*iuZGiIA3;bLj92WAUFh3Eua\XR:KNY8gmpj(bpi[7m"WSAa7X=e9%G\diTP3^FIJT - D7>!pk^S'3i^9#Yh_H_>ppONdHa87RgIMk#$%9a[a&5S*p6in/MrB_=3sJ%E%]U:DLk=S8T - Fgnf3]:`=Z@RfurS&Il/36@&usE`8dps;FPn,@2KmPP\<$nZ+qg?eUiQe2ti?d)p.gpcZS( - >n9is[gQqZ#LF&?Z3]n`u7''Z*C0nr60CD3Fe:Po0>."rM6'V - e";a71#l/>R?ZEHr/81eD$56->"\k4ll85SA'19gr*=0B0hD*3jAt/B/Gp(GQs`X!"g2!Rh - q,*,/lYS6^umgrTWiEIra23]\+X-DJ;j04U.u`$iM3j91$q;@Z#a=U_Z?_6,[#aP%SCE,LZ - o^6%nZRB38,\k752@Uk7GUEK@[dth%)MSVftYSAVFdGY(GXY@1oc9VG_>Q\BB=s"qTQ74G',l8XLZ]F?<@f)tYB1X4 - iEeq-m^$hWkPe(T4Gl30JP;c8(jpLum+)BYWXb(P?!'YUY>p*Q=4&*sd^.#%@KG4RF!<'_ - \AGLE>]3`lfji;YI>A#NN3&lc)/OQaO(/C>$2Zk5_rJmT96`C!?:O]2 - r8lVH1r?:<`,/Gqm[a'r/1`Fm&AM==LF;1V%EK*4H]E?dl'a%^C - Ott$[b?8a9A_Zm761\9k(o3haZ3?.j-82u16AXS\?9p9I"f%*3NEj)Y2JtXFN3+l?BAEE". - p["I!*O3WYjf/()4t0agl!kOQ(?>7\5'$I/87qiV;$fIJdq;#3ebUobc'f8jjkPEnijUBWl - f%6)0Cgc>eIu*YmQrFkVgf6Xm>bC<6MB'Y_]q\[5NNe>7Y1Z?&Z/X`O_1^8Y<@*LEp%ea-( - 6Wbf5db`D="OgIVHQ9sPH?-%`V#M3dJ)4j8.jL?Z]c&MW0)BR*tAn_RKrH>d*V^%]PBhcoP - uDr(B,p]giX>RuF*?4FaFZ=hs*IHk;N%d5T>UqqCKR:,)g3e@Dm`Xbt(b&qX>3`Y%g - ?;8O$<2[TILG`tNf=C^31?H:YmN+OIa,]U9k?RJIF5D>kq?K=CFZ]fp8gDN^^E!>HT:pA`S - ^[Fj;J5S=sNVMo&q->;A^!'\7\Yj&emfTdQ;i,na];?)':)LS$^pJp8 - U6=S?Qc"VNA76PW`/*m![U?ebO7Z1_MMMJS[rcX^fVOl>u-1iI(:ejAVZA!M20![KBu6c]S - k0+7ohE;nSs7_9V3(f9P$oe-1L_R(APA$@5-nbunA - qL;l3eu@;/o_tZ#qsmW:+fnun=qHc$dbqPE"gD89L42j-E2&8n]')1;jOX44?O(Oq#I&U]n: - :Mb-q@)bHS@,RX02VC?JNi;!9V(HACAV]Q3kQQ<=L-;"kNH[dTI+Z$a#0O-*km7$EbrjmfP - OS`Y(8mN:K9o>p5C@ij(8s!e`hM#;GLWJC+lSk4Jab!!20ljpYsVMID,o@4+lnAEIPTCroN - ;n3r">YlZNZiaFPJ$dgO=nM(\(@eRfbfkm2PDgJoJ1hItn%>LU.Po4S0)6o_MnY$jUV&F?Q)R6C_n - Za#f[2X+r)mR'p@*'BB#S;b\ADr9,ECM2T-l_,r*Md5MBltBbjW8F+*jP)RnaR\UN?<.u(f - (JDL]&$^7)H+,blA*E`5`YUaVQ5J6n?3V.;YJnq&&Yn,-idEnhD@E2'[,q#kC*L!-$]Rf"u - %C4"Qd0^iEZ-3@/]K-*gf&nmNJX-Qd>^(_QoeV`Q$((i5?H4>3o]7aO&(6@[6l$A@OTZB5k - jerOF<%>0]^18'el^oboGm`OV<,;pbkNt:41ZQ[RDl]3'[JK#Y>+4?o* - OF`B84`4B#pBF(@#b`Xo%7s!bD!^hQq^*iZ$P_JRIQi!@TFb*E2P]M_"d6`2Qpml_g'4Q-f - 5Zk5S\'gZpZ6*qXu-?R\/Ya3U'"Kn,=+AY?MGR,[]dki.6oKbl%77;5h3:mYFPLah/90MXC - VUO\$1[;Qo,(jCFC^FMQUia^J6jlpU.koft1GW\nb$`,F13AIh&uQ.1i9ommmisYAV2V`/p - )A+P5D/6]ju9qYohoQNH=s"GV`0OaV'O' - bHMohT]*$aUccbBhk-JD)jV3!/A)jp`hpdQ\mV;6p&u1/L]@ekIF89WFtaP\rm(%\TZ26`< - P^_*1i9l9;PHV-8#9dPXKDj\4DpC(o..%R`?g!0I#OZGNW1U602CKYLG. - .\Pu&RrIp-'@pK479]@V86)Wqp$lBHoj;k;?aZb@:h5^*%"OaZoH^K1pF-,(O"66uU+VB=nhUHn=\gq^A?B)CA:M - Xb*-CAG.EjmW@pG$_J203t%F14;RpH`m[7VU>D8Z,U$%2f[Fj*>]nT[srca`I)mOI(.@JpO'53KhLFBD5TEh@#'1[G` - LnkI2D:"p[N_lom_0QGTkU^@\7nN^IR:iGp]dA"a6R5S3+X)E-J+)-TY8U"I?jJJu7[.p?p - P;-J.5P9_RFtj#q"ShX7KSd2$g[",cXMg93fX5DBC;k=1;OQ%G[Q$T; - GAX-@@Qpse+,J]>4l_-XB`aC,CBn_fE\3"GM6&KodMPb8KM%p]4f+[ItpPkl(f&@ok(a"JF - P@8luiAZ`Ak8:L$UEEgS7+P&m`bYfe+B[GG(i0OJY[^V%9k&Qk)GXcN1PCmbZria - ,&_Z?.HX6n/[Nee*SbSX(.<,u#2=DYP;nf/kuH7/6A;Bk`d+e!&h/9_h)IfgnuFMj4S'O"! - #QPg,:MH^eJ5KMnk(Yfnn5MJ=Jso6AOs`J%d`k@m9r%9+X.Ns)]S>Su[\1\f".K&U5!-5dR - Odj;Y$Wj;]Rq[\F@:=c+r3F/,C'qopj,PKX0;^%(L#GIl(o)\\?WAB?,pf/(@oVR8*Zn_dN - .SOCpH.#Q'i0aO$"H$V7?oK!8.#!qr4eeBZVQhqDqCXD2JiL>eVn.;SqLPS+KrB^lBr;fg1GtD)1S@qZ>+9P06DW%'B02n8H>"aLefaTb&GYj8*Mtj&>l&<2R:I[*BLKCI7p - 0g&flaCm(TEgQ+.A`VHD)oi"Jr\,,mTr;jMo'J6^50l;0EPQ%oDk31T[%1Y$$+@eo-5'afZ - jH=\g$_oR?T!9GJuDJdXgQ]0QBD/e*QtYG"rdkq`b-2E7g>.B(DZf@>j(2G1uAUsSI0k3#r - A)B72I@90/)],eCCKk=L11%@Pfqh?DC/6sSPX:Y1BP5DV$3,:rf`X33t:I'B6a0nnGLLH!D - GZBkFPIu7`cak]kJbJQLmV/0D]t<+6qr,7Njh?*+^,RrP61_RsPFGdAOQ&'M7E<$grf6!L& - 81;#%$Wh)@"\[>UOpB:[[@Y\#%FN4]N`REqU-(hed/k@"'XOl4"8&A_3#]9nf.aeErWRQ$c - )$24phh:A@?8Y*$Nc-'p/3l"tEn@/]:csZ4P&JP-?`2P_bD$X;:@BB(A,o/5[`bB1+f0,_0 - 8^K^lr?.miZ4pf*G:=Z\.'R+Q88e2DcOJGAi1K:)b64F,16eFji>D3>YsV?Xeg*e:@*". - 5Y;\"%Ll&Or>>MoO$>k57L-r-JZZUh$99P*bNM_*ddCgN3=V8=_l5o'r=PYRWr@uba2:Ht6 - e%IonAdhfX_CkVU0S0&Dj"cDoNAE-SLe.-DDZiG@"K'CNqo,sKkaH1I<.u+UP9padSKD_h1 - W+T%_u)mS3'l(]RY[M==?TuDdqhCT&(ZZHf"udc#:aDM`Rg?Rf>?:p*Kb0nI:j,78Y\7)o. - iOn`*bZ;8/#i5,ciOT&]m=MhPa9#,<.O(V9>.m]4J^;^Kf(pcB3A,53' - .nF.(j^)0D6iE<]:R7`)QK![d3Q(1Vd5%HNl%m[M`*k`C5X"J$`XeR(`V\s'pZk,ql[eBfh - UUCJE/)`WB&%lK3Hd1\NfRd*4!h`o@46Y*,AP>r - XGN8"rX"%:rb>@`dLl]<9CqYQG#?.T;#Sr$sT`g`[jqt%P2Bi\,PYNYBMacYN*_\K4;4^]/_MQqpP'1VnXN3#i$%3#_ - 9f[%jsJ;#8iuO/[>g*PHQE=Vn98F/CRf_b0M__$>gDC8:&`&2$D`4K33`W=OaF#PqCHlgMQ - [(S_!7T^#*c'*$,n+9$lTHGm>Bf$^_Ri#J(hJC%nR-lSgmF:=jE6/Upab2"t(3pq0+BbPmW - bY(?]jHfq64=3YaXF+*q@Gc!!L@d'P]:<+`UiK%?#r^(4-E6X5R0UYC/Q - ">5Q>F/psL1?IuB`gqIMs-kZe0XXHFk[]pOreZ`ofKE$<])I=?kl/M.%(N4Ve@t@5j`jD,t-gi - 4hnGGY%7kBQRd">6']&>KKMTVDpSF#49@WQNTAl3X1^I)O3Q@SB]FR:dS96Fg4>8N^SMR7_ - RB+J`hp@9@uh%Dm4!EB]&!t7F*Sg=Bh?cDapGPQV^S*,(rLSEa4DG-;X\aGAUGMY9NV7=.h - `,9b]L&S3*#%'h,TA]Qn1>6N9#JKq^J#DUN.I_';jdkn#5>WMgald[?k4FN56hVqTp.>WNJ - Xqf2U7^p;J-Ll[E:j-JINb/h^.F45rXPjh[0]aDs*].,C!VJ@LQ1ac7Dkm"XKoP@1#pEpoP - 7ZBJs?3ac)01S-kH"-Q97m&4q[7`q:H"j,tC*j#,JSQ8ge_d)(j+SC.]DpE3cRKoh-/-q>F - -.-+:CB>Z;-NT;-CihVd$P#b3uGGr&YZKZ]D[I"u5Y'+?f'RskT5DC%Q$D1-HD]s76-m`p_ - jcm*;P15>QdH)u\a`neg4Vj@r&MQR?_[-tk50S;711jM/R?KOA9_jh\AsC7@!GZC2E7h6Zo - RAb-/_@?WAj).M\PPpCRqB\C8O7/50bA#ni+gGNN9pr@8@$97aSFN52H!Hq@OAS@9HN - h[fFgYr=o-`o5@ZahF39&I(bB&h!9t76gol@_*X2mYdO]2W1#=q4Y,?_jJAd9a`/#cGl)2? - M?%iSj.Os7mZ9>6RVT]W9nYaq\DY+IDX2DPZ/6C]kfUJuQ%,p^Xq>mmWT0'PX6V%lQrb]n@ - @)R/Z5N9c`t"[,K.!-qZ-<32@NZR3XQ9F$FeBMmu1N&on-(/TKgi9IoTqXIm-b3ZXarD1_U7:9>G - uOq0K`DGp::dg2WjQKJM0=0%=mDCTZY=8jU5HkcCN**"r+cW@JP\rJ.O4ntA(M(N+A*X6<1 - ArC;0IAQP+MHN.,\&,9acnl(0k,NQXpJZe-8?J*#&Ng]Boo"PhY+j8pO4H2o/7gdqMGYIJ^ - 'Ei:r')!D#U!j/9brnl!JXd%;!o\bJ)g@.Xn+jPD#hV+.gC>6tr[F;-T>81.TnQ']hp>4TBR - s.%De\BCtoWMLe6#hc6aGFQ4FkjXiF*%&5.lTmfd0Cg2.&*1]./pV"-0A`mMCiI6OXNa3pF - sKRl*JUd:TPkDm7.ON*.#"2UaIdVV;jnSE^&p(LsEB.S.\hb+OLO,M'H1++WKf([5;_)uUh - tGuS^=/J^"2Y=4]KlK,Pak."2B'Uq6R);SZ3(8C3Tfh[P7.'PrO9p6kW - 2f3ujS3aei,%?\]NKB/U-\SdF%&ejQR60ohQ9:::Z7k-q\jT%D^#X3S8Qdn^VupU7(f>%@f - CjJY4tD1$b837Z687s:YgAtD;Wm;9&Or0p+FO"\%(A2p1MmX3dV.J@s%2'W3t.%#Xaq6oY&q2TY"QsTNIW0+qtXM,N)uO5p@<6Pm)6W$ - QIPDigMoteI@)#"tU6'&mcC6Wu0clMOX<*//'(O_)?nCV#/%ZPA7onP<;bS4DSgh$X>WB-601]T1&/4.H[_Q`,E;fe2f.Z'*C6tBar.5&G/:,[u*0XMV"`+')6) - *D:\Wp@^1'HB%/*B+C>`nYGAiZX2:E5F$"^.EU@H1DO,0*MEZ/Fq+OoD]\jPp@J=[IDQ\>* - _&inLIIs'^Ona)s>+skeinSZZJ8mZog0EDQn4H3HI>J"8PJ[iC"eX`%lqO-lBMU76b%50Pj - 6'e4?aL8e(o//K#$ZRL0]>`#tc4*WSMXnRO,ueKDHM"S>kBqTg2o`&.Ys32)fq/6p!NYqF_ - (47%sL/>EarA2'fj[[\.+3/U1_XhgcM`k-1^FK8$DOUgn'MJ@*tiVf:X8!/ZiSCh9h_r20d - 1W;FS93I`US@:'O1o[9S3gj[s0MROZ[?/V<*I,,`&R:sM"2fdP6_o<$]KF?RZ:J1^3IC55" - H^hoW^rA3/kU:O<.hp'a==!G\fo/5S+)F5#eGR%YU]1"c.XbHdQZ]NQs,XVuS4/" - Diq,QB1hdu0(._\!]OR+aJZ+..Fabfo'A.#uGC_EhVu.\*D/K5Jbu0"d9P4J_"4XJ\:V"i% - 9c68MZ#RQA5m@2FcF^kiOW!M)I0rOs!=:KoM-+]:3/n+u?i6neSQ@-[>ef'S+C - PP!5g8`*DUV>fAnn5IlaTVsMM^*(.J/b/hfMcru.Igdk-+"V(;+[NSk?'E]/0i&b'O5VrR= - Ha^ULWMB9e^[hIQdF=M0s!.B/4.HS;.aa0B)Pi="$(2m-KaL]TlHVe/4=oU1I--gf%RHV!] - Q;.hN#^-5*RY*?6kLN.iUINn8"@c*PS=Ci,eB6pfF["-7FFZ)@QL'*f9WbG]1BY/3=X@k77 - DR)P(Goa+fma;VG7uq:[gia#kl0;_am3FV4@_+o9_oT6)>S+\\sB?4H%-P!`Vchd'H9]Pmi - ZBr/cg'SB==$%8Tt"TZ,<4^&`7;;U7jr2BEHS[/t1_6*!GJE_gs)7FLV3;>lmBF,FZ1,*b` - "m"Ee$'ujf/b/EI8PT)OQWn$cR4Lh;hZ-0^uYr_+Xc[<>?64+>]du`TE*6V>>@oiuI+]?,_ - SB9Bcr$N8U;lKQo/E2kVK_MZ`buTNC_\/+ - Om1]9_=+"iVX7%WupPp^.VHYgL;FU19(`@%>$tm@_&A`GG(^-/")V7K;lODfM1)$(:0nRb^ - C)HF,G>X=@JZEj^:!1$dN:Xeh&2aXD5Sb-Uu''7b*s].rc9fnMO/\XVgW5.LW?J81us@4]) - \<@A[&GRa)=M=8dm._>.1R#Ln0S=3\K%XbB=CpoXVuNq>t4_$6>OTG8$JW;4r-^r.6d:e=L$)*pM56CJ]8 - [@4s%_^WdLb*X9p&W(qQh-7YI]VX<+,?`hJ2U&,Qm-%3/l3")'+>lQ$%)#qF>n$^i*2)#mfnJQnC)82 - S6?g$%2?L_]rPL/j0It[DQ3[m - 3XVR.)3nU7-@Rmje6C]([L[^3/C.Os/bHBQlUH)9X\DN!i89Mm]!OuLDb$WEej"\%#l_@Fi!h5j3?k@^XaifU5V@2GjMi5$cRL>FEO-Z![0 - ,b4n9*13tdDIE1+509'@%#bm2Iq^.i>grf/?<2B-:YD9ekSeIl7'RMR$%1MQEe`=)@Bqm2& - *t.4]Aeq!V.J9j+bt)T?44p(lL=,]2$`ZQ+Prh;g\[,+m'.\!P3hPPkVQ8R*jjj;=NN'jFQ - '^5g75D)YPm^:&j@DMW7*_8B*=F_M3s\`\`'5e?"a=R0$q(3KMQ_RNc'LMbOdtneMnHMi;c - &=]8%/=iI*CUH+%>lnXQpX!E^9LXo".p4Fc*8lc^#;ECl7V!$;kW^b9dkaCVs5rf7>)TC16 - ULP3p'.\ZX?_.l[o=M#A\.[2$e,>5;O)@h - )9?lOAMGadft9RFRtOqWIE(&<3$3VLe"JX6[o"kY.jCG(rmgBjjJ*@9'%;f#&>mHt^$<'^G - (M&SYS*C*?WK!jU7sS-BT=0'_ng-9[0-'<1!]QB9`_&tm,k - >eK>!PjS%lk2>\'qUScO]%`5*G@I>Se&mk>3MI+bH*6Fu.L`Tt - &Ftq,>r9rSSA,@8^#ri8!Uf\Lobh]=4^m;-o$US2<^qpg-W^cml(21##4WP7jm7i[mG@%T\ - 0`X;0mJtp8;_8d?ACTL\F2=!cG/lDJU_8J@(*/tRC_iIFS?pD^tnM!HVbJqom$N.rV:=aD@ - YPilE1#/#lsTmh&*"6&:Pl>lKsq.17ZIk1sp(s)3CB!U2gK"#MFn,2h)NK;eTIiBQ!ETI@p - 1DU%eS@$N3YZ)e)j*1-QD?R6h3rRtY2&5JT"Y-OesCd&S?/8$`5\4deGaRVF:lB_.&cYCC< - VZfc'Jk\M=5D27*8c'+asuZVB!,b - V;U&L(F+],Mjc#o@`Pr4K+U?23Mjt'pA(gQ`(\;#G3)N4:8k.W,+SY;9r0Ng\n&kI8h@6s - @E5qB&(SBWh:LF+:[t49sPTpOS,&"pC'?(gt605RJ2WL)4:>fRiZ>m#"$e - dM8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8".FPiZGkKE,l\qH]M5nYRq6 - -b^+VEp.gqLX$h]rF"@caq'Fq-/5J?Bt8EL"g*Nfi;'p*Msf^)d>`hnt!_pF&Lgsf6=pjYk - tQ;+1M"<#&tlF4!I>=Ji;3h(;bSuJX&9T^rebpfK@/d24Mm(F4p?#;akh,STMeU5[.2+ee3 - ,GSV!VIf\1!sgO7*)Fh=%"C5^k=H\=$2@tm*lE^Q+V?tGoKcA+ode*:OK]mV'YZpsIuK#+& - `\<;+-Cm>r/a&ggWp3V5Es+eYVoD3lG/J#^RoPsjA^VH'6%mWHt#X6&CA.Yd\O0fc/U@*%) - @&V4h+NH3p>8"iXY]Ml8_pJYn\E:GF^BOjSK:5s%HW>d(qD8'.a-3r]eN - 3Qm^]@a]5Hq6n,kaG3VeD\TVSsV4?GWV1VHXbO"OQ,kZ - WG/W9RQXTikE][;fJRQ1]]:=IQ'DA3s(jCb]T>OP[g^mG!*JP-Cgtk[JGKIdg*N7"4 - o!n'Qsc^s>lLGZF7Q0+`*m9Bp8-QpGt=,b<;LfSi76MG)k0^_'dH<5]pFH8eX@]J):J0#KT(g%BgO^[VfM(/,lla,_Sd`-YadelOY[@"W4 - G8dK_E!C/f.X5Y%)@c2n[3&%aVJjA?P#X]POW=207VJQb_N8CrKq:*aOVH,gckN - ZT:`];1GhQThA[,,e7Ms)]c_KE!YDHMu7=+cq$g9lrOS-?-aOu(V(Ko`T%4s!e*ol=0,O9& - n%#G*=A0O)L@Tl/:OU35e#^\!dbW/6.&se5Er>ZGUHGMB=[ZU(8)3TAQaqDuLK^>N`aQ,[f - :t[>9Cor5>.+&ImU&\@h;X'[7uP-q:ODD - U)4F4&UhkO3Hjq9VSmrBaTSH]m,Mpk9T/Zdg@lgLW6LS._gAs%J7qe5obQ8'NpRKpqJ`=*i - G8$T?XnZNp/VQ`agZaO9Do91H50s@D@0BhJl>_5pE;AT0SBMa - FU!WnTa="Z)(@]WP>;(^G-\V?:6a2;l5lt4/ATCi&B9L__DJ?jZ$1FYZ?$C"%-K[P, - 6->P`THW'.&)4RXTDoJPBoqLhFWjR;[[--a!P4SVrGD`ZV-ChqM>kRrd*qk&LSNq)6-h4)B.cB2NV/+@O+HVI-:['>8c@Zf:coG[ - 1nRLI;(>#E+c-Z"&[9InDG$nE#@/4G;Y@C#],45VT-AYpAj54g39hePnb\okHtNa+Zf0Q"C - JW0J8F4cDV>0Y9G@5)1dV(ji2UfK!!#8QZ"Tj29+;(Q/*dn)OfaUC\ZhJh6tKij0S;n - 9sYsQS3Nj4RJ)L7!tqI;1Tm4T!?f9s"CQ-uLNHt - a?=?h.>U_lTHbiZ";`@R_Z4EB7jR$*U*]+Y1sZD'9Fl0r4HM[ER?7=JcNeM",W/S2GIClJ7 - /umVY(sQ(K.(NJ3IhVF@+[,@YL18XjQfl[fSmCVd9EDrhh&gW;d:LB,Z1ecd.HMo9&-lP_^ - _`"6r6NlbESd(JH'gYU[pFB?Nc8CQ&nF@sn_n/*-"PiSC4'ErjIC1un:XZ+,b^=c0VBSXdf - D+MR>N*_Lq`q\^;*5$c9hIZ-a2N]B9pjM!\m759)p84haVcD!5=@fiW6sE$NS3[WHcKoCmV - ?RhrBo?#I[I%,-36MnT5*aRZ5/rRXT+(A%QT!EFi-5C^fkFq_#UH?j=]W6[*$-s4oG:_71jS - =,'OduE%CQ+$7IqcbVA@bO4VYInH65T>r=IELa=EbjHd)])koJjT#,:[WOg'7L_<'=@W+r? - /X$*F#bhH37[n6tk4sYaJakq6EY9D9>mmVPi`c5KaHh@<54R(CcW7I!.[!KE'T,2i!C_RaUIP;5 - ]YgB!R!0Z!A%9/pc4%=Y6,+l`/%acqE7O__T`_2/65-6Lo(WcoIT..OAcg.XXUabh[%_cbi;[&OR70 - 7T`=UoYI@5/MRU:B[eJo[rA5R7\L&]:q0=ir2Kg[.0T[)BbYQ5Kl"K,NR/TkL0m_Yq4k0?. - ^8a%WA+G!tVWmEHl:\;FXd1`\,(6PIqotYs:WXLe`gju,(h'L)kmWj@;@_q0&( - 06'.S?LH&nd^D`O]_<+OQB97*/7l;Cf&Y5<8qk-?VsRPW=3(<2(":KUo_<1M?r& - -3'jd?X&58GE_e)]L/BY/l3r"(Ck!Bii>[U8lOUeam^FU-VMpJl?>f,CL&r!.[\N0G+".35 - V_3KSo"FG''(WID@hQ$L@Y""$7O&PZkmV""65OQ-*:;Uq_Y2SL`*uLhQObXF%ktG1GXI&40 - [6um.R$h6a"`bs1".'O:_kbFd*8grA;Q2]cX=['>oBrH>1-=C10H;lWsp^K=@ROto,fha`k - ^k/1lMLlE+23JI-C$o()&hi'66C%N>g-N.8="SWntAQjYp+qM!W@Y,LFdC>&OFJYE%VJchQ - kUR[,WCZOcL7M`hPD\q&lF8eC4g0G]h0fRL/$??$r<0d'"Rq]S>-+d"D);[2h]*2X*;^gpn - '^mRDcpHOl=5AD8OCA:G_+Yq"*L\!;+X[OMaN**DOjpuZ"DlBiN!cmK79&R*Ae2'NO7QY[eWUcc)kqU:n!]r.,g-sQ]OQ\Uc - R>l%g"?"4@:8e']VqZ8dc?)1lgq8e-^C6&J_TE2Y;5o1`[l[@hVY]95_ucDV,CEEDBLP+TQ - R]"JcG4:fpRj'i[_&Z')WbN7[Qpp6>YX'ga8^?Mc=<)`21VP\R>)]f9rN<)m7A`59t+Le,d - jodX@T:#p7I@b*:703jdc>h./*V`Y6##dXd48C[;tm6N":D(%8L;&'6M[*nlSY^qriK]&j^i - )8pW"3!@%8#e\?)!<0beB7%L;D(TJe0Uk`/)kTGWM&G>>sP@;as'K'Nd - eS=26n4!!-h8VeVNuC1(Ic!5E;H#664U?5#&";`@M&5@fF;?P%Juc`6ML%7@qp@).R"QK)` - 2kA!6qDUfj7-U>B5l!^`O@J!>Cp*E"JbA`dT+8.Ds:U^^t3?,)hlS$31(CbCSJkRBbei$@K - Y>S;Yd-`87%`42:@hP'l7h1[HZn_"Ma^XVWqXJ@J>>R(*m4hek3teT"B_9\d6lB]l&S]/iC - &g>5Q\#2QYQblM$hh(Y(;1tL/uWhJp/,15QR5(ccM(3Zr3k0HG2$m-iW>I#C:>=I]hkPDlR%[JFCbNn%;&FB - NSbe<dVCtm*H5!N4sfsn3sB4/B.asc-[6mhc`Q#c*aQ%Er>L8b - ek&8D)R`62gL(#I>#+WCA+uLB)-5<95F9k5r1NXGd,%o-o^=HeFHUH2fj`?+)R6*HZnM4fR - Hd8`Y002*r"!!plRu^Q#M!pQ-rHbohAq=;e*4:7hVR:=^RLa22al>dPY\c=MYFuf(!ZFn0^ - bm/-c2l^9\/2!H-o439G6,N:I^^9DJ+AFg6,B3GB;26.^8pQ[/tIIur6\Kc(L8q%b"()RgI - E5udlNC1\KS.Z%t9#C!50n#(pXF`&'_LUfil3.lUGLO@W+BWPQ[3E_pkj.VQSQ8E)Npn`F? - 4`SoD*',%6"cJ_Ara+^Z95V&N9.X1;,g*/B/I*phUa$T>,WXPXbdd-aR.X.W5>:kN?Wk.*3 - Q$r(a,mjTSG/),=-Jc5QU'-;jUt.>)DXJ.Bi'nlT6WSTH2WEM!L0!HPo,Ki)-8`JUT%G.l^ - Ao*KIt_!,,QttTNN0Z#TN4hZZJ.##0,?iMdbu)O[b$q<\6jP!A$$uLWK\Q1WO+< - pi*T+GgD_lU)_P'Kf(C8Y6t/`ep>)`-]9G5BP^3Lt\d=Vt%9$FB2Q_P;RnL:dV5tKl.<:oP - R`e^?,Ir0$:1VAq4'5&[+?]m=ph9l<`$./'qPDE/Z:Y5&U%&a=q)u0EK37q'=?X&O5T?(Y& - %G2U)\mUC&Z?SrW*.[s6M=b`c@;lHR;BXS*"nL9,gXd&PI98>pg&1>e[iXa[/%A(7IL[?:4 - oK._-B4@.7Q#Znq%P],eJ,]qg"h2I@q_1Ld@)XKK4GkTt)-n`m'4J[hX?Qa*r1tQQ0qb"@b - &GbW4=kZ:3nA7JtmCmhG<;h/LdrUkq6#oe1[G3d-LeH>SjM%Au9"Vn!8ARY-ph/!. - Y-/.-*&'^Wu^uY]olM.$5;Q'F=W>e@K,B:TrnsQ[(gB.reBi3.2#L0?^&Bi`@jg6;g;7Cho - WgeR>gPLa`NI&1m>PEBQd@ETnbgB2dl:0)"J_>Qrg"i:S*MYi1Cnp2th0eOq'` - "&2`[q9,8nOB_18S+Emi_nY! - I^]HhnNp+1CZ:]Xn!WHC+*b4>=BBF_/k/D_^8LYYXZ)G2R:V)bKUG:OD[[9%i0]tl&6QtT` - Qg'e;$N?W^&.4"0(Z'CXhRIj?\&5]Q?(cRRZe#)U(BM&F!U)_iXBl:/4qFB5D2Og\e6^Df$ - .%Wkqr<+BfA8aE)ti9_MBkTG[)tSH_V,40&+H"1>bI/J"D4As3TlY$Ccj)nhVoi1LTnLN0Z - [F_rQYdY=7_u7"CF>"5=6X_iiaE%)L4ER?1$%qo?nZRdTWuN3k+$3-2*2)m29QJ*nfL2mIn - ;@RGR,@4aKr,EeYF'f+?J.M/"amf@lnO/rQ)PJO&.T=>V'2$&(_) - OP"Y=+VBQ!ifLX&?%X"c`lp0bP^EWX(CZIs?6@540Dk*&rThJkQH:?Rhoo - _sD-Thss:=^/10]T]+$V:c]o63<4,US\m^7=eU"]I:+`jaC9?51muc;!jbRBsh.3QD'#F^M - ud!f@O)HhB)=&0lMnQnXBM:_#a%kgbkl\M'M$*f[VlCX-'RGnrpMZ>t^SHk/b*[[X9s+,j< - Q8m&b^p=p\@P>AuhnJs`F:G>_pe$]=+K:d.Yi0aY`/W=i35!=1h'#G - ">o4-;J\Q/F<:cT0U*pl6EmgM$ol7[2Gh;dN'8CQ+I#>+7&q`)Z&bpl=Ke3Ub[22;BZYk,W - iDM^Vl?\"P,$#/oR@uS1),Kf8?t%1UT#_HR]!/8R]@rB%j'J\@g - UNc.dQ)\)`4.1iBCg/ff2J>IS$pHYh+r!KQ7%j0J'ZG'/ - [<8`.I>XNrLiq1\H:8e&:n(1X-"idPT3;V3pGVnoI8:Xg<@0-%<>AM:=&p&uVXY@=+R&D&O$G.O=#Jf\?e@7WMTFH:D3JPHXW= - $I_7FOQ]Pfm_pV&!*jh5V<=!c+5/9b",^=u_:Bm>Rk^$$6P=1NStnN=96b]>nsfn$+o4ID8 - 22'AmH76,@[e/Q)&=4VN-G@0!G4dTg8F`SELg^Th$LYc1&U=1a,ni3ZTB-a,YiZrn\9STilNJ`_KTN3aK+UHb7obIm'u[VM'4Q - &ZM@i<,76$b("J]=GJP[7R[`7dO"2SI2M2\phQt_]XR6K.bqpcYUC6-V>^K"V=aFj;(XaRFmeP+)94J,b- - LdOcm>nnYBVj.ml-Dh@3.meWe"nKS:b;_32i6i!GOt'a1\Toi/e0A2eQ#XZ`cO*o6.rc3t$ - ,ZETj1l9f?G\Q@0:A(_B!g0Z#Z;bTp'aL-%,V.#L00'"qA1M5Eh*6rF\]L#4(i[(SeK+h:H - @Z#_bBe3;reuqYY.2GFT79HJM8g3aMs$O*+R3DOYTC"aqKCY:/&>^9p-eC,I990aoOdaWGq - U1V&q+k!(Np[,,EpZQ"`_pL=-,@,8uL0<3OC/5=JcSQ&GE4`W<.Num/=Rf*DRJ*.(++H^ai:>")^_SEdLFqmaa%e]40-g:_:C - #7=]'>)-hX@E_^?SfVNa$R(Zt['[eX4b"aZ[1quWp\)hC87#6MC]!FWPXK5buE_AGcL@6>J - 4J=V+g5V81)^^"ILoO3!/(ktkBO[A).%V8MK3)MbMC=D8]UJGbk?d&1\A/-G>&gH#`j[2]c - oTEu(fr`AbG:+&HHb`89It6Y&KedgIar*\T@;IYtJ2UIY2hnA+S8"=1p0X0MEY9uC^u6Uq. - [_*f0G@+@$t5WfRPR\YB"[B!F0\,+UCTKoSG4&0o=P?:DaA&"$))H!LX@"f7;0@PUNAo_!u - P5gX,mXaE:^r>NtsL`Gg>ki9?W<52U]tij*-ODgRSaEQ0NZ/\`F$r\ - 9?7^Yu5eN/2Enc*-F^QlSm)7dOM"G'PRUUG?lg)EOpPr[&),oDA:d'Hd?]t(UKFm7,6%^=/ - \a-nZ)hHe'.GZLp%I<1DCh&FC[D_cc(\$Fd(qrS0?i7l"D56'O\#D$hX$,LjF#N6X?ECI*F - $+P/?ZOZtc4?1@NW(^luO"i6+g*%ElNTSac_E>lNa1Wp6YGAH:PK7K:PjM5Ta4CKqlcY/QY - !0Y33tCB-`Q/N\65mBn/(],,BC+[1[5tRPgI6=)'&CJjpHIitHae4f*Tt+[^A6Z5pNbYiZmti4,S-^G-a1 - *g&91u7`UrmBe3%YHn`rul%)^Z8mp_7H4(4I;7(hUshc]O(=)Ui,m`2UsR)p7Z,jDCqVXe& - `af#!S0G7OIJMZ*d5Bn7JpODr[#N:%pJg3H5V"k)\jZemZo6gSaqAc!*k$-MA3p4lUo/j3X - rlaq_pYX5*kOErIer*"9k84/p=+7p;qgWhYrZB2VIm<2qQ2#S'!FPd\9T6qMRnU'uKs;jtY - qo3260GX#(+k`3][I_"HW@2+n0@8G[>Na"@bj%cdhM,t28dtPe(1f4fJ4B+4fV89+;@+._^ - DrNPlOh#F8E_+(r;FS_28JO_-i#)*4gZ@#FljNPTRaDr]Zfk1Ga'A4#K3[m(3V64!M2O$n& - oDZ\RlrLVt[OY^$R8F2H:D6KBc9oIn)b0Z+SZ_^%"T1c*#_VZm`?Zg]mm#s^UNc*7W%0cJC - u_\9-s'Y*HDX[?#L\iQs'<3_XM_MT,EUDtl/*At1PUheJ_"4f(B2B4lb7`m0;>n]K<_Vk\ - 20XY7O2H_0U`WRL]clm(n%BgqT^qGca;]Y[//1X'Kn$(;R(%&W4W>Ij9Rm?A";=A\PjKUX- - ^b6Qb?<>_#p,oUROZX@)(pu)_h#IM#!+1qo9D!a5h]*<*ME,1Vu6C7H6>1ZT1PJKZI,A7S$ - Pm\VUsJM(I,5/F/3K.a^6&of2#K^f&[t@b.qc)9>t(a!4_I>?WW5*QLe0[E2?)gXik!ferZ - \2A*6UCjQohHkmEE8K=>DoH;3WEOsYN^ANSlFC7X-T?:-0^4_6^GUATt367n/_lRRi]E:OF - "?`Js5[81p$dGepOu6dI)q:%d[$3hu\iGFd\WYpW'43L?GsoI4a/NB8\R7qL@S7u[bN!n@$ - mN[5ZU.<-*+O.R"CAgt-H7%>b[e`"[&4b"W((S&8=TZIU]Eiha2>i2b1&U;Yro\:<(d@U`$ - EAF#aLCCTd1"J6pqF$<-1C\7_nA67#V]!N(V3^9=`Pu8\DZ,be-O&]hL?Bc6E3[qs(cJ_*5 - fS+b[bS1O$hQim*eQXdmI%>_l":b=JuA8AiNie&fi)o#U_p5^\\hTm]QidD3ZJb>abFFI&, - 4Qc,C+\\o,EFLmr0SJti*cfG))AE1YHlV:Dbc=1D&>[P5+-VsC=csg;+Zt;jfB2#C?5R<'/ - *,7Th"0kdccP3QFb`G44Z-[3#cV0P9,2Q+3fZ-r]_#2p,FS\S)H-<#?cckk^?lq=2'\^k#L:8E0`3pnA8+/J!lhRg7`5GIltsuM5Z%CL9,%Z[5ss$NF% - K%od8ZDsoTr'aQoV+"\\/j'R-@Db]:2ck;Z/Z*Z+\QGJPl'6dK96iI&&]T44G!2RI):oPmG - U1-H_kdLeS9"]d_8*.a$P,X/tj9*>$Zl64t"e`(Y6fdATu#g,Y]]7t!9cMk%no>tMl>bKWa - ]F]XoH4Mis=^@\0hoRkX&=B3mWPYFM;N@$L$$;A,@9[,"WaQ^e%.noc-;Vb!l/CN)-%+O@i - <:psU"S^A-psVq4bCgL"WE`;s3E9p0f-PI#'j43=,YhHd&Y/"3'a.31F'"WPOMtR#R8ZS&3 - R6Fh9\h0lm1)MV/B7&g%4[)qWFjouXcqMF3"ddnmY1L'L=2bKte&KJAC=YB/<_Z06]WTm$YJ>95`sn - DqNG6R(p+)Z@d:G.3F])(ih,R%Qf+j>"265HHT%?C3=&f<)9Z#Ig>L%pHg;_;fc'Xp@CDU5G'cb4;BrAi.<]NeIULjcDN9s2/- - >>.a8:fYM?[EF@H[+5>uaK:t-jdf0>A5k_?b86$[J=LE'EP - rN#+N`!L??00(2FJ;d;5.>C6W"7j]"r^ftAe:bm_b>kt: - #t;"_Chr:=:2S_iICh0m#nN>C?@MTs+uc`o(NNPj?h"Q7gUhgL^F%J`gW`)7SNi8,*u-2gu - Kk$)-S>A_a?jjDqU\P3O^bpA!N0UlHULYh[V?NpdC'fCeY2VOFTg859^[N"3p=5`FN>`I]; - Fd?*h,iY(U@6lhRbpUZ9.*h(70X)R,n1\>P6fS_Yiur;M2DaA_1uhUoj(:40FuSH939-;bj - /+aI>AKDuklJV@?G6POR$^Gr'ELOu'A-&j1Hbp`3oj=1jCUmBG":V-0nd84K8*!M<_Iub9\ - ]N'>RfEB*SZN:$f0>oA,]BS2C6]k-K,+NhkdU5Y#Anc"lcL5ikMG'E,(Gis?F".jhO(b4Rp60-hU@K;,A(%YV"Zs8n/ - e]re\FQmA(ojt5)9Z3u*e`[Xu"_c;)$CPFt(bHcZOQdOCkpDSX2O!ApPj)56l"67GG*hHJP - \Bl'MO?$Zcin%<)eaJO^nSNN>/5\]$3BBk""p>4Nhbl/V!;!Wl=QkUi%_6T0*0P>YdSu-ID - Jj)oA.CXg9'2qhQP.@KMh_KgC;9`-Eq8R^1`>ekab0K77V%)8.M,!0K9?=qnnj^*UD:ilfP - qIp:oqu_!DiQlmBU92T+lN`9^O?RQH9*1I8HB@qj1]lUZ]nl>M2bbaD%%$@Y-S?I/!Cd-VU - rm3^3u+]:>i&2mjalF!R*`Za+iY$s;mCp)L6m]fn`G2Wlpfl#P]oUfo$l"b-Ee88[Sfi'EU - %PSQ+7+#9-G3A:JkjFc$m\]:;[d3A$m-`HlmcNh'dpk'F%P-DXg+M9=(<_46W3iK)2DLD5m - e?1)q!XOEn##rHaceCoonnd\h51M7[5[1Vguocsml(N&FV`mN - &`ONOK2\Y^O'_,6>nRiX-G8Kcl+7YJU'*qf^Y]"O%#`' - mQn_ml/ru[PO-up+@E[N(%2^@l`,k>"Klu@(a9"sVR/^K^h?R?+b-4=c-)e^T>Eo`lr'!K. - tjB`#bn5cjYAc$N:1r9J(P3&0B`erd+crEY&!EV>JgYDp>;01>PoB/=/pHS9T5kGjYoHuut - 2ad4-7.^,6PlOeUEF=P\8Foe%LRC8EYZkY*99^MeFQZEkpJ:Ge;"YVgJtGr-&Yjmf<45R$E - hu]A/W=P,,39mJF&uPZNs'MMQ!PNB_ - Id,p8;[![qk]XD"cItp?->epM]bf?fN80j?WtTDfbMHHZr;*pL%TWG>"7rE-IXopSW?3[sR - kiBt@D3)&GCBRn.[6:@ImPn,U@;(BO4/KY7=i='m`Uh_X"7Km8f-FpPO"*a@KN.#^0,!O%N - 8a,dq'4m!nBq'V@$2j=&-PkeCGq.H#hGF/,\R/*):q*8D7Y\VE - #$7PpVka)YV#"/hqIc]$5B2qm?\:ACm8&8i+'3Kk:j=oMhd;6:oBC;logfNpi:gL2#D_edZ - hj^0[dT*3?]3pgs4?K-&/.;TBK,!+:)4,;qrb]jpV6V2_#,"br$TAZ2oGP``;E]UquD!>EK - 1eVT81oFL[R)*pWLO+IDVq171$b[XO$5J+\RJD3n - E&BA9l`L0F>,@X[6Qn(`?pa-_709T]*V)V:P$X]O#MX]B/bb,H3UO$HdA^Qq\(M@+`,"_]3%),P"LoUUr*$H=g - 9i['"MqT,VH/qE/AS0;g&[:>3*6[B$LGlulSrVUo[oghq=6LK=(j^I<*7HnetE9?.#<\O@Q - K#Fr'_3''r,T2eD53d+&bYbu]-#DBtQYkX/QGN\UEI9s[$\)$NJH0>\E&r)3^UCaC*.StI% - _Q[hairQ1&al':g.d8.\N%50EZ%,Iq>-j-f8K,"'MeUiG6]gXt&&]%g71mIpUB899X?.%)] - Bj;SaKfW_/s%k:UGcSfUoQ[81a01p"3%2`:(+HR4'"F#V))Fm`3O3M-d!'\V"?UD;gr"3,Z - BFL\=m/ZK/l42QmfM`$_UV57g#^U3tB`Lmn;k0&qpQ=@*jZB#_A"m*qGj"5L:)R"[ULsqr[ - ahn&tG(^Zp->WR/!D%0SsnA/tqB:o#ZO6WB%.:Xg*g78_Qk4AMhD.V)U6TWE*?a:%?s*m,; - CZ/!PZ9]J7^1ef71+iprOP9n_e/WF8n(.rWtb4+8"sO;6XHdV@dSYUiEkbd8rp@blIk(etg"iKmP>_ - CqH_Tc#DQU6'gT - u=G+O3o]m6"0Ck#nJD)GZQo[Ps-3H,!F]rHjU0%3_T,2s_3-_70muJ\noJ1P>!40$U`i)bN - t_eLX0;B]@EnB,Ob?V/mVXETMNi=7&IK,\5>8e\UaF/f0jI)2,Pg=uiD#RnXd;7@dX`jh5V - 5RL@(r]T_*p_fQn07FBq;FVB'cQ`uqZ;e_d,/3dpRUc$-uG?2E_-04o*.CGTSo5SP - "#eAGZmDWW-2fUW]2,S"9[7CXQ9NniJaFa7i[k:u_*hbk\K=DqLo7Tdn'?L*JP%tu`%26>k - q$^>:a?1oJo1q=Uck&\_?1WS/H+4k$d;,'VO[9$QT#jb#Yc$bh:21m<%`n<\YcCbPh2*p.$$ - L4[hk^bhh-ti@SkcA8'T9?K^l<^3QIr0[&XJA=2 - P!GFS#VR6o.:Keh0')\/U&oK;CfXiOUr1f3+Q8-O>McK&Y<2[,SbVXM - j4!P!26OAZ.W6IS%#:2Ap-qHK%4!H@H*:(/UWlu+7&jN,,ICWM:!#a]Wgr"B[I2%:dS!X$> - d99mXuF5]is[6HFfa*,?:VUJBC,g/Xn1sI`$p7C-le5>dQW?<)dR7(M#=\KlIlc,Cd"o;27 - HWShHS`_DsdeF\5s0uN>mg*/jOWk5q;!tbFKt2!u\=2El(fN1FSpOhkQBk0"#+Puer45>FAmI;3@cJi28m="HBp)^^14qF.\54ARO^fPja?rH6&iWT4Ach8O - +K!`:e4T^Hs(+%=d%>F;f4MV'cGN$rkLW7=W)7YW6@U)WanO=tH=K`KLgg,j.L+K+iD^//u&uYg,h9(P5aaR:TId[:-BUY$<4dIL@pH:Wl&M/dZp<0 - (T9%bZTu^AmE>21IF2Bq5l.$JaJW,L2eOW,%BKAGJ`5neR;X8S?rKO,Ur5&BMk=o`Q - j=N!g*Y"h&W9_L69nf:J,>,/Yrk(@admb/-B:TAPDVo - M(_+7!0J#BejE!Os+Na7F&_d>P8!Y1BYcSI;knXs%>T0!i\]f.#9>=G-ZUGliE\%JS4>ht6 - A\!m9?X.0?_*!q7Dk^g7/J3:ELue)2FM.B - LRm`8IYai9LgT:=-6sNrQ=gHV^*C9k:Q/g8o#F80f;YOEBMj5mO&_#N0;%0JNiPM$U>F![K - &[i(!X[1'-m7p$e@I!0[:GnGRo7rQnmZ.R_taL]Y0].d@S9T]ag - -ua-781V^bN[UIAdS'%2!tddkTR@Mb`XIu(&+NL30i\s-n-\\j#]X6P`)]W0UAZarrN&@!Z - #lLT\D&Yhk=kO2OM[EE/JiDcQgi<1,U>\YqUa,"$K\ef@3?4\W>`%D)Y('O0sqs?\Jqfe)P - IHW,jYhWaTFp)&ShHtMl>.P;PPIuUN%Rsn`4Ht/k*$#ibQctY3\gL^Bm/T+7;N)OJkZ(^EB - fk+S$*`!ZeuZ6j - ?6H*U,-!cP+(aCT'Z&_&i4An<.mk#!]77gmW8g(Y\p;ZFH6ejX[CK%ZlV)H,=5co$<$O`oS - 6(P7m$/jrmXL='+54J;+m.tD%p+^<*TE&?n:j+4sId?#QmP-R@0f[bm2bC$rVBa\i[3%_/ - FZVE3,4mTk25FZg0dFdf,RT#!(Lj42>O - rq9J7V1n,=Zci4Z%(7Q.\@<3ko+gd,CKd+T5kgJ-s`A"k$Oc2J"1bH"O@>fO5U4Q?4'hH", - ?P0/G'uUi+jo3BD]V2'AAM/Q.&aUs$nqU,R\E1'1bahLbPZ6&2t2@ - 2\ZWq&e,urETE9PlolDTj)Ulq*]Gf7+f#lt3(G6TEHa]g5iHfn*H[uZFRj1\@Fo8CJO('WX - YgkQFp&<)X'i<<6FP!>2_B5aVen9,D0@,L[68`#Le61\@obU"e]VJ1ec/5W\/Mfh=`ks5'X`?k(dqGR0MZeZ<[DV8)hOkGGkBZg[Dc,C%,@Q=c.B!P(t"FS3l"&Z_g(I]GPdGH)37kq7\ojA1G - =7MQWUbsCK6R6[&8)5$&_l'@/"`(R7&tN_aJahgXmluGt4-/rJao:NL,ukf:$Qbq0FQdA=6 - Se,tgMT>AFqDP847ape,3>*@l[sBLK=:AW(e%_Tj+Nh - sS)ja=R&,tt?We8!JCul>3K8s-_4@=(R;tMjGf`(Pa.:oM-Q/n/2XuFnop^+nS$QInq?033 - `KI!Y?dofu'H*9?&U)\N@2@%ZH6ah_iEH'=Po.]5)CM:h>G!h@H!!4TQpI%)TLH>dQPql\, - N5<$]8CmW6$/lqQGJ,46(%LKVW(IIW?kae1S20tVrBq9fr_%fZ\0b\Rug:'>(NY_c_Zn`T_ - /tA(:SHjAXJp#Mj>$UR^=;cFHS\1Ss7F!HGh"rKpEWD4TW0s/XdFfj:HK=-%Hr;3p!Mjl)m - 9oY4IGXi@1s@&Y%LpYN#7ICh=CKfFMI&&Gk^t3o^[S?jLXL%H0CS+d93VT8NKGSQN@!GBL, - .a/c0OX8/BcgGu2NbCc294SXLJ0,dkZG@mLn$!UiH4(L&=N@a$N:KpW%HZUmH8ZcD3\+8_j - ^h^H,A[noB9;&8p,77"#;/eNOSJd3h)*b/?,I_ucZcN6T'ZkbBXee*PReq+a=!r^RmLs,k9 - Po3k44V#c,Rb:%&:mco/4LMemN,TE^>e7V+hAI/q6+3UZ0jokHj%Ilnjd+)_"uZ=@AprWo= - =W,VKs86=kUP.J\)3f]2c6aHmtdo^Sle7*;i&t>6YYo84RQ_`;EKO+Q^RN-,m>Q(1q]Mgc* - 5^IC1nD5-bq8"_#A4Gi(cka7@@`,k02)F#9C)_:d;$\_!lEBqp&,O5)I!Ho9$Vh8?es4X@( - >*++(gO:PD3bP]3#+UcM(lY9?iADF0/,&MZ'-5ea;'r2RXgr%EU&e3X`^u6&#/5:tP]m@>R - \ic7a3[(hWeY$0=O1_6>SI;)qXd]FBPM.+C4bKDU%ZL?"Q!O-S*?2X9F+:A8-D[iLG)>1,)<%8piT(P_:1>3tS1;u - A:RCs$=0>7N+2:/FB7[K1?:E2,YB=(8E'8X)!cl1ph7f_%9"[D/pTNF^a0e&)nb4Dd+j`SX - qpcl:_4@'YIKCkL%<+Do6XF910-AN35A-QU)dE!tKW7;Uq;jbhj_OomR/H07`Gk&"EP'Q6X^dhIGg@C0$qfo)CH95;DVbN#F>kBKZ2BbVh`C-87A9c(t%$N(lcQBL` - "`LDY)nh7M:F0A$>?OMpoZhZ'uIT@+mbF&l.d_3Kj&onM@PjHccY50br0pqqSunY0;F)#`q - $q8$Ek:IK,UJVWoN.Jm.Cl1_B2X>fi]q:ko&-?fQAUoWX1"8BfXL=fTGAG(d@k"0%bEdl4_ - 3;o!jC&-c`+:gFFQ3c)p18,)s;VDutLI9ZJ(-G<\n@`F`Zs;`c"S$eQI%FrKU`-FJtKS<*g;XNI0dOZWk/1GH[J3pHJQg\*NqU - ;>G5Q5Fo]@.b'+h7O/%B5\Q!p=hs-@&m.G2e/Df4lKOu#)b;-pkFG/chKhP,CZp7+0a'iU6 - uaJEU:EeQgD)qlM1l`]Ob9r@XefH))\g]97ib(<9H%2$n=2+Y88iM?p`FKD4K9I.@uPQ#14 - fpMR?F?e@_/E6Hs4^5PK$Xi'*3kC):KdSC`IL`noVQXF-.W<&!TJ/c>^nM4$=qVqVY.diMA - aXF90KL77V0]HHB#>8sLEsM0[0tpd^8C7 - 207=IWi?*O]GQA>+&sshBK - 0X#:\75DYItl%/ms3fk[r.p]2-sqIBQ*4Sn*1Z8VT&Y!u&R=LjPB*'3HrX?G:kO - Ujh-/1tc;k"k"=];5bt9`F+>oB?$].1uS:;n@NeLrk)*A8jeRcN7=^m!UN2#=/&,8J3NEC1 - BC.Z11@0T[8FGJcZGfW'D@H&8m/Y@+DJi<6rjJ?#Qd_XIQS\qVdTR:C!E.1"B/KU!lLfn8L - `#8:]F4WS`!#=PXErp76soKQ"!T#cZu$93bqgEQV;&.@2;<,(*UQO`iBHp`/Hs;kI(8KipG - oD!=FM?tR]`?TQ!>Y[)K*=H:J@R(1fjA(5jdOnD,Sd[=,p>AD1k$CHIW - pOlM0HD1<(LG7+&6KFUFP'.p0oErHiS4ZAm]gF&CKSPVO7ldWhY)V[S!8_Ii1ZB`c8NCcCA - ]+X65"HIaq[aOdA'.kb)#T9kAK2gS5o5lc_pcKZBd$ - eMpOCo_9/r!Tq*F^;r$4(9G-GD+1[p'V_CFe - EUK/P!n0Q+=[=\d%R5b!;m`(&5g5 - nmfN]O&/d0$i=hS:g^A2KPb/jh:rN_9-M*=R:qPa[aRXfc/3jrT&YTYYQIrt2&GM4^.;/4- - iYqEMeW+JT^A-9DUiSM;:HJiT9btfAd+O5,YX$9\%jOfq^Kb+:)f-`N7A$s:E\7qL6cV'uR - e3-`Z>)..iSQ9l]YRVMe3(&oIdf*1'O,3a"^t0G,-U^X(f(#:*V(sPm1` - >84aBeT*?EnoY0(Lm>n08ED+&3gFTt/`rKPSf_ARi)Vqn#]*<,gb'E:m?% - tE*ZSbsQ0gR86D\ - $"@V%[h^!*gRjr\p2m5q![<3#Y(R,sbag'QRt8nW^Kp.2,Rs$1T7"Gm]Y%$FMmXYsWfM373 - ;I+[IM)1'2ik3@lq"1D$OQZ_Qm#j,c(Gi$cMP_Q57S\>6i"1:/MeY/3#udZd)6P!41OZuY[ - cME;iS0gf2(6YMNEg7Gk_6TQCN0=*nWGr6/#s/XP-QdAC,JuJgq5s'$0'XU.-b;(jB4.9tM - 5`iVm=UU'I)$f]4);tn1Ob=A;UTKH-'SFqeA&s5rd&W"tSnS.g=p'N^$5-l.7;3Di^r7Iql - 'OaS/%QffGgM\[82:kSTb'7D3'jl9m[G'MU/Fqs*(c0)-PO@<($U^TU.W1ie$jQ=^gi+N]O - )+Nn//`6'>^7M6mk1:-mGDH,-p;S_WF1\=%?M=5&;f'ZnA^J0Ks#j_]nS;4%R7gG/rBe3Rg - #6,G?/'U:V@/W]<-T>>r,u?Q(s('Q\AJ`/$2`"#22]`UH&^\pTc:&.j_3ZD&3I\:G,4hNll - H2K>UZ>,hWdPmo`E4aP1!@>#phN[/+jr(4Bn3N>?%W_i#H8a)CXe@dsXJ[6O%!&$tRMhC#/_#WDR'7C;J6UqOM`u@.]1 - HicOP"EU'9<1\*H^6io6q?$Z6Sh8#9(P]__+Yd>8,E!JS+"EC58pkV%I&N_l=q5_VQ^(k.[ - 5f?PL?k33#,ZoKA#]3#lg!cGKPa;#h[ahM=A+@kFRR@K1slb44^fi)jQm8-,CWSd-.sdQkp - =rbTu'QZ=b:O7@@9r2KE+Ob&G9sb_(;dT%qPtTiI=sVjQ^!&)?#tm*\TW6UaX^0R:+,Er[\ - QW]`<^:Fqb448HNM?PVf3T,BKqH$IMBlUu4SNr;9@5_b7p#3G^@ZI!/0KRP]BU6UR?M - Pl4EQ"Xr`T6^%7=9KP'+6Q[<9XhhH7GgE5&VS#"Cb8`r9HQY7>W?o>Yd48.U,gh[KdYQZfL - N4W&`=dkcV^m\RNCYPH\Outb*As!QV;bkoM3j6J%&GrX:gG:Q0d;^Y#`M1hV<&,]RhQt(a; - ([J,eBs2,BV7.nCW]j;XReOeJP8XN`nUL]YKC`^ - .3bp)MXTPZV"%^eK6?&NA/.^I_O+DP[aGc4jrMMBTQaqK<@LtJf0bgu!0H_dZHScU68.Ko' - )X5/#Kh#07OJ&"--SuARB[9l4nd;Gf'cQAQdO[9)du_U3Ok*Na.Cm-T)Uo"KEXjf3P>RnuI> - B";SeFsY&ANiUEM;r=1I>h+@?[b'I)Jt - ZJt9)KrDCK&*tF,<(PrQtGl;S$[!gcK$QX^od/Yl>O - k)L[#*bjfB60P0(U:2Q>Sp8T*m8Cs;GWdJ*R+XoqB\BFWr1=l/OG_j260=R"?OZa(5Vos%` - RGTU;Pp]:,o'mU;`KQOS\WL#6BsaTNJcGt"P@hOph=[ZL*Y0aNd)YWDjAOG - XCC1('ii.3"ZQe"HWFG_%2._7/onR^"ap;M,UDrjr?s)P,oP,Hr@Tl4(XZ)/nk-Aa\UjH$5Vj)dT\c-BWt;jp3sErl)6p6i+$fm]RN,^8/,4[u0bnJGV - QsSBQ5Z)u2rVZ6_\LnKKIP*9*FkNiS*;dD^tt6Z/.=fGLhj/j"0S52#EUPi&8;3MG_VVWL5 - \E`T*fWMkr]NV652+OBoSNP*u4(sA9a!RR"Ak:-;T_uhk^9O1qm - >>2rECGcl@F,"7"pD?"M[4?mNZDUr>.S^71OUOl4d5)J_6N)@SuI&bBWMXK[[b7%NsoDaQ3qu,TMX - &`Ng5M-d%N?pC&M5A`9U$'V8A6OlJ3&*m/`..N\[&/[c5O80\&r8kd@C1:Qm5FQ@*8\(42S - S*bV&5\9kGu.fV\uq1l'.,m.hIO#VKo?*Y#^GMcSQUne0K - <9"eat?Q=[0dg*Hl9L:h:JNOLEYR-=[]($PuYPaZsIf;&QN3EEEe+W*OYkr-4JYi_#".hSL^'Z1VCEaTNb - $'"0f)JfL:O<2&J&XAkT'h]mZ\@WEk=VBFq/%G#'BqLCMK.G?DeK%utG3i!Q*C)Aq#]3UKg - ih_+5$/lXmjZDD-HqQt?oKZQ+OYYM3_IR69!!Ud-d$3GM\I?+_lSL.WcDhnBeM/c.m!l5PU - %0(5pE%%YS+l*HBsXEUOuhru2oGK+9%3RGc@"H5;^:"7J/q%*lRNp:jS - (^^(PSP/-O`ZpbE![[N>XU/9^?62kJUe,dK`gA9I%@bh_E=d(#6P4N=&kj=N'h'+l]Y^*"/ - >IiofQqgmN(>5:"D$?,LK+bGLNEen,6ZSc6-JeH5R+c=&pbPP;&p0Vl^j2Z;_$Z2IYZFC"W - a`T&k7!(p;'-[//%XB\\13J%N]0S.5lpM3o$\3mj9L6&'2g,8d/Auc+XMe@nfWN2Gg71d+p - Z]N.CSbB[(18`AJT8P&=VE9lD>`__]Rn=6rLN-q^s@rs:ER_&6h55[nLQ - a&H't7eTp92MEbD8*eroTDNETRV"L6JqfU?Ou)erbI8[+C5H&[9['gB#M*k"Rn=3KBFnKqF - 0]YDfUI0hVB%,nb&CAsSX)#3!KGjg]YSWr9&PG@= - ]XFf$H,M_np7=RhtNUQ[Ut;-A$2AVlnlXu"6A!in_adU1MX"cE%RaOW3@d^H11A=)!k2T:Z - klZ?(^*d>`o!uHXUi`l35IRbcNbN>"e^%9aFP3MtFa_=r7Fe!*MQU>R44mcoGG9]LF^pnerk9+Oq:(lmP*8_Yc)0_ - bZqk35a'N/I<`$)>b&K;&]^T),XWae1Ti31Dm/\B`f97dCBc-Z"/,7*g@94;]r_M=d6gn7p - M.(a\IMW-DsRk?G2B91oLdS^s'#.b>#51b`rCN_'_oT*6Bt[dlc#7bu7ehGg48;igd6+c,,[SgfQU,(;6T$fc[q5\&FI+Rh*3V%k[''n')(AQ - `>BQK?eK@-:lM<+gNk=-_`g4&>FtR-2Uqid%\=b6&Qa,[@/dbL]mL,A8G'T`>ld`WRQ%_7m - -%CJVB$5Y%Wd@BdQoH:mNsbqlVedHtA(Bl2+7VV)a=r;o.=U'C*b)mabhj92;k\d-]!4reo$8O(B.QFOHQCmTS<,-+K=Z#_WS0#%Y!1a5NqP@Q - [jp45`loce( - Xp4YWP*8'fmW]15m&[D@A(i\rh`[*HHd0#=2inGCsu`GKjM7Kt(+>)tDKA_k_WH'hGn8N`\-/,e*aA_ - 'E@sX%s'm3j>t_E.0'2$(Q_@Yjj^EP$#c9B;UUGMXc/&K2obQTKI?2eT5Y)ar+QOf%OO>1< - 8=:285m3/OP!/UEkp3J8PY)MtfsqOU2#p,s.?(Q]:eDTo.*HZf.j]#7Q1Ddob:.'U,ed/9- - A'Uu.r?EJHhj;,=5+R42p]50\l/,R)CP:LmSf&*OC2[k*[?LQH&\qo5$_>q7/U"2" - t8e@gM[SNIW"3fdgp4]e1eCu%FZrIkMt8Hn4[oE6 - [OG/o0TRUj'&7BI"rl7#O'_,_rkP"cAG?JSoV.(@TG%U9h."n!KI\C('WglN\"mU-R9f.uPp]9@ - @)V:>W+7d+,3-[+o3'EYamiW4!QGehkk\0,fEaP56kmq(kh!-\--TJq,2_sY-E:+b:;Z#_O - f>J%@l$Jl`dGsKpC]eVG?;cft6"$R03W9kD:<#o1u4J&r_?OUA51i]?G]OnIF(:/j"(g5Xt - /U2+geojb>74\fYLN#>GVbD6';P\@9R5p3Tp7Q*W6h?>ou(mF:A7W1>!TQa)7RZ`_`` - 2-Uqb7pLELm`Glg!9k=[3_]0MO`c3<@WdK'Z[@fXRSQ"Wqr_V/+Op=nERBu9Mq>OUnO?sH6 - >7Y[>Zh[VE`<7TYmR]BnRO]@nUR%Z).\+:@o4)c1pWDK01atQ8qfC.G8DoCp&FI!l8\egc+ - GJNScNg)t#E-1'/6o_^JR9dsNBmSR`)8V(Vu0_d$8NLT]Y5RS/WgnBj<"SPD=8W1b+'56p9 - J%*S@sRm1S'*McUa:)$7FN+TH7:n^b@Hsf`FE]8O&_e5RN&2-9@cUc5TRN1 - O?&f1%B3FodpQN?KI/D-1`h4dMJ"COJG(tk/&U_o"*ubFe!D#LbsUi34$j'-[k$[oKTHqlDBO@7Gi[.gfR3Y]_)+n!G='#JH]CCOff?\pmB9RbF - ,#I\I5%LK+Q5f;o)AFqFN+)Pq@[/m0mZV<1EX9?g$P6%QJYE46kXhET(GgcL;.lSk):adl& - _JBrV"<)ng\<@n&K>tm(1=-`,D5]mg@T/LI2-CTNL5/H/7B+.G&KgFAP]ZAf9MYH!+7:VKQ - Si7#Y;c+](f+D;+>d6YNS#8(off980rJH3IMb0kG5JW1WT(B^Hn.snF9N>)DK3@:;HA-U:` - BW`SbrE5qMfMC/GClZ"C]$oX"I,AC/o0NS:9#B1&-hmH:mkmJP)fT,aXmCa:*hG>;Y`b7@mG#@9=jRAoWMcS_M\JMAP@j%$6P$ - SECXPRKoAI_^1cU$:SbLPB2H`%.,m[sZm`6>b=IQ79Fn1#N,WZRN]rFQ?K=agjG;U"Lu>_Y - IT6aQgBQ`6jb-OmqULC$$Yi^k9jhAEK+c*Z#N0k@:@b9Y[-qg\'EF"u`O->oJu5eFGD%r"c - n=eo\uXc=>6MHOXU>o,CDO_jG77lW9SUTd^B;N$mr:tg0ed"^32L?c$F(`hb._'`G\a(eH, - U,4ar2%mR+hh"PD[Z_d.J??],SVcnnCqkWDijeEg<=BB8L%9ieI(/<(*[$/P7?D0H*Gnl@N - J;,qiA-Kpp.;PXf;h@n3C[`WVHXUlrs%FMoH!-pF@NLcWHOC/>g:$8.Kqge(),:8Akb6ACA - 2FN3JX2@7NVW",Tb5Xo8o4A7*(dC1-:>6_@e*QW'Q-";Z9%YAL<0kQ_WDr;[Ge;)%56k!Ir - .D!?gcDO+8+_iWT`4S3*'K-2,Ysf@@K@G"eWfkOLG=;:(BF[Rh?A`@QFUVMNi6rAL?us:DY - (Q()`\eVD\F4=\#HWY^7ne)&;'j)+"_=L/a53d#k,D0f)\VTn;[5"/O=a"J*!^".-H9uD^/ - /Ps;X@f26jPj&&6/m1h'1AF8-4Rf%Tl0U'0pfXNqTA=5VOTn$Xr[-$T]U\>Y,'W8;"iB#Ae - \*NnbniG7,E0MB[cDhAQ[(>;52tMb8p9:5hKL0W%h\JKg(Mra'RG[UC)_V=Z.s<6Ye)D?Ht - f.AE;*>Yf5SeV2eO0CT?CHH7cm;cCbDVDMdOlOjlP;b$Be-/@Hk35u0tP0Zsm@n_"WWB\l3 - )MO,8j?SNrD&)62Y)`TI;3:qF!m#aIVF'*4k)C.%nr9sAL$3CKTY$cPqsLijb*lN*kJ:Ll`d6;oTDb[2`/)Mth>MKGal"\?fa($BOOk/ - L7h1p[B[[jZbh7o4-F-I[XY($>:ra22^&cmWLXc"1?M_lRB[$M;5a606mG#Ac(A'_/P;:(/ - p*#]*KFK-l4/JENFuA$h[UEq)cMXQ38A7r4plLf`)e8C:bEV/SL#Qt4-)8B57<6e"l,?:5* - _DQ7eOLR^40E`oFEgB1,FEKKGSU^%#^Y))M/b9/HP\p)T\m7_hQUJ0DLdnV(d0/-T`OC'Zf - @S?3'@$\-78tSND;T(4@o.eV1eSe2qN/!,3El:j0,eQ3/\k`Q-D3T?RLibNX,XCLP=-cSk - NYsB\VIN%I6j8OD.%Z;0&;2>HA7J<$DbsP(p5\N"49u9_1gDF1e?]F.L_6T7ATZDAWhlA(F - 9Us&Jk@p,D/4>jP_E+4KTpl,cLFGU,c!\PVb041/PkZ/BI&ONM5"Ma/g4d&(%#,+QLn\h8t - 7)4k^67fYXB"!J0>gme+0\VU+dijjTCuZOQBiuLCUYK - %eGa2,Fr5hrF$A3@8R1h;$f:8TZmXLD3W15p#L[@3.%KHNobM4WX*:u[.OQF7X.sj7>+-K: - i#0KDoCpma?GfG",#TTd - *e%FMD(tW2PEJn1rge:W]ln?5W_YE=A?Y#!_S7ON*5@\Z^*eH)M]MPjE@2R\rQLVTS,Qea22\LI"P*AYih"Hqa\#Kq2fU:C[oQcCeF;=eKq^iF[qDH - 3bfY51c>QjDF@f4%E!*Q#Fk/s1Ep1F_oP'_:dF2[b,?X`Be6O8PfG"Vc"T1kKD9Q,nC*/4@ - q3$3MKO6$&pu*T?TSgDe^,Xs=Mfi(C.A+_f(>Uh4R-_-^/-t27f8u@TH[@CaSBS'c$DFW8l@plQ8Eb\(`E[>]@M!fS.0-]CC)MgRj10>n/bd.G. - =N_\Yl3KJiG#nm^5j-!TLc%iZY;bt23&k[5&FBuAOi]q\X=I_8()MdM)i15[XR64Hb]5QG, - #8E'H`6BaAU$;[*-B*J5K"g08&AeTPb[;_CSe8VAM-ari#1W_I*drsQ-`N$/;%,H.gQW.`G - epKlJ[EmTS^&O81^KP9ZH:`A3.XSC/Loe!_Sn.7PH>,74U&__lRtg*Pf*Y>6p>[6gW?Xl;%Q - J[jYV70Y+iC'_C_q;+F;MB^VNG\?=,/IETMB#q/W^la0rej8tYp)e7VJPcX+/BPaD-e-&%T - 5a')=n6,_%a-K$1nuX7n@80^qo7bE@\9Q&KIU%f+c(3oZlgDZ^c" - \IAM3f!2\aRFQA:o9WK.d2`mUU-S4[W'IWL&o)&E`PBV-d>7u"V`5YE)P - l1=@@=Jp66\R*hkG%=n@&$$V,s&!J`Q:d,+1=SJ+$;a^LX^g5;bkMC+jg`,rtS:hR@8WOc/ - i+>2^(LWUrrj;bWZ'PWXI:j2LE&PA]C]$s)*`pg>r?"G>rY"f7MK$gMR`kIj)@'XNhTS82c - .5\nq?7edtI,*EK?g%E?T@rj:[<,W\h6,YuNIaCrpjkJ6NJKA3&@R9A@>T5L1*D.)*MS;0Z - 'I(oN@,s/M"=A,mu]`.Nla)G:uITsV2\W"JYpe^1T$,AZR0Y8SP5Ic#/'oD6"eR)bCpBG(J - -YcbV\$nJtQJM<6NfjX^*/SBhlj_ - 9Q1\X1m+\"4ZRp=1<:83se9:cs_*%53gf#:7pW6'Kem-dE4p^D!FPYbS5@)1[TXNS1fn2f2 - M4HFQ]6YD[@GP]l)bj+N]m?RO,Q=2hac#[bW7:*4;XiQD.3r%l!Z7"S<,a+d/OS>_n816Nh`+635i'W+@[(X;2#c)Z#[k67PU-?)DXm(WsYSRY`0\*dI - 8q7#r3(^,"4pg*?*$T<0nq'Z?2]e8huX/.S@"RBTsL]]I$_nZLIN@5SF^c_N#3^jYSDrUc: - T$;foZEPS90\3YZY@*)"6Vd/c*uYk[WN:a@Ut'G>LEN*]@1iQ4PY%*HU,)mNh*!Yk/m9`$d - p+X'T51,3Q@(pt%4C)h@Q'e?Pgif6jR_A-A`<\*Ar-J#5bqGpZLWOZ![[Io!nSe_oj@Oi^] - S/GHP'p]WgU@"OAg,)BGP9#dZlYJU>gWj6^V5:n'>VtC_2@[,Or;05%j2UDTm]"uahBtbT# - !41@D_>3=B[_D9\*ub8IAiZ/iRV'+4X(gHlGe7RA[TE]DL.ZTI?tct\iL=O4lWK"O$Q^ - *_*,J6*3tuQ-*B$^b/jcKF);FN>P/X$4o@g+6cNRcjNfK5BpNpLqg:)piF`+@AlKm,AF\)Z - PQ-!/r&oL86r!YoA%Oc<@QPM&jU9>UgnhUtW,?.,]`QW/]SkaiJD.;(4oJZMZX,UCBr$(>J - 7orit+J9J%!^2Wrg,PjI4kr'[CDWgk^%[$7GV#Uh`TbGZ(O;PUQ^7DEYe_VK^^-OFg(m%ga+!6F_:O@Iud?&I'BsAh#P[13=7J>n[g#b5HrS+^fl(.7(m=+!S" - Z:oYEG.s/pR_]/^bc9s1e7g@MmOJ"V.a^PYlcseEQ""!Y - ViCDQee5/d=[uK7_-%T)C(jUZIogV"8M^"#)V-[b=\CJ^/HqrEg"mO2:fS922nAcTVgFp+IX]tT]0A[l%fa[1HQ0^-8`a*2(cujSfb%*M4 - hoCm\D%5&N>]o`$$6=Jc+:R5;=VV]nD4)"X&*Xb+Q/*;OA9c&>f/VF"\-(bhohR\^&-R&iQ7 - #c\OL#6X7j#:MC>GE_Hss?,'\I/2sKEbB23 - c8oB(1PZ^/+jsY/%mL5'hC'\1E.(RL&/Q.%niFFOa=iXSYdf'Kk";KD,%")^)#Eajf6dgl3 - p#1f"5-rd^PnX)#4MIGABe0%#$Q]Ur(OsNhM+]L61+/6_Y$+XnBH=(C&hKetV&=>mOhsm&* - 7k#mV%tJ!KQpKJ0#(F\rMiZ6;!j"RETcK-]5Sb#J-Ne($H_CC`4#AHs0:F=-Hs[m.f52C?J - 9Kh/?uFFg>(676:D]8*b.-6%Ip\u71u-o;2P@rB^'7`D74Jb7k@MO7 - ICh&U55ZlclALf2^&W#"_BfqQ#a<71UF`#:DS2]B;3M>_FAoKXK[k&q#"ReUp7RreDFb0B2 - /gPI3G9tBU%$\Y(F@1*la71B\e%XN(1SG3\oE]4&K'k-J"*d:tTb3C/=$G_5hqHL+a-W-4_ - IF;5P:nkjf!WEhlTsILfp?,YgUP!:Llp4&t`# - Z(S919'Glge^f>3]n9URp)5j.!DmG\$ehfp9Z+3A?KVrYj/[e0Jr?.mmMMe+b"QCCkM/bFY] - q\hF:Mk9B"c!Hj'E!5H$]R,=&N,?O(.`3$83j&NSJ)Sj\'BiH<`CFtHCdfM1GiY85rQT9?j - %AVd_3HENOVb+CJes`B)`;K!/Xen"-JJn\]G6l`@_?'(c#?nZlC;;_X8,%`0hN(VP6a'l_C - k5+`Z3`Ukqn_X,Ul_'UF.S`7CsU6/0Kq7)rsP+f7%#SH3`]AttucEN[d1Z+*9`'-1mW#C^, - jI7M6Ti7Cj?Y/iE"H+uB&I.C.X=`Seh\a!*s,=YdAI*\7V=CTuuAR4WU_UrVJ]W=Ll8B=k0 - 3]?i6(omthj6LFH9rMkS]5;rZ0^ZKOnJZNb'?LEtCrUU#Sp'(L)ujJnm2q!sZkXX-2s3W'; - s5ITq`>(UU_Wm?SZD%Uk,RT.XST-brDAo_/Uk4]Q<)MSAZ2btRP_@m^SsQMR]C]Y>#H0A[6 - =nPN*Gbb,**RdKptrMP0,]iiCTRX8uS5B5*=VSnQ$i$7?+hES!hMGEkE_r6"'NL!W%KBC,V(SS(gHkLPCkh](q[Bo4SqDtoIq]c^P,4RN - 5\NDHJAVF&FWXtnjR\:FrPR[IQ-$kB2gQaK;$`GhS/$XF\(sA:L;E'_XT]5>?@^lmc^oTkm - &9.go9El>LV7L>"\p?f1UT#!G"-qpp-TeCjcnN&j9`]#9V!2VU&K.'8":Rir,!p+8$hC5^4 - f72RS,(5PEf?B4j,"?2RYaouaV5q?oR\;fJG:8+`#C4g8e6J(NJ%NE47A/;\[D8Y,rl=<6s - Z/-$^5!n-o+_[8Tr$oBuZr`ZEqoDM4MBS5f_N - aN/=,NfaQs>KIqImsSc4!l^$OP'A6+WDf#7ikc84!I#;.<()DQC$?,B;e7dEN95U8XM^O7FVQC - NC8LOslb,P>[\d8V&o(&M-9HYO%OJ@$`$V*On]Z\69i]Bd:Jo\4bnsbOLuFEqUF[-Ec8S6c - /:P6+-NW^L[R!L\=O"Dhp1o?p+l0YKMp]hJMa)2G07U^7XDNeuh`Be5Fh"s5jLS - C"OJoR75_>po5M8,6s?;7IRTYGWhJd;`)%WJ[9=\/SD>^@[;]nB)+VUQ11X%q01kgA+13V? - #\?23:S@TZ0eS-+K,":m->G8Y_TR$^[9)d)_F_@-F)2"[u8>1`4W\,M.p3j,46K%]T&_b&Y - mH(X\(/(MRWQ3a7SpKT?uXQ+AXMFZb6R4fjJO^FUu]6#i)fe:PkG*EX!WNC9Z'"-'lYdU:- - _&f8`kgql,/#/s*^`D"e.ba$lpKt1\ZZ5=a:mkH!gVnr(kM0i*^H'YFeOE'(jSPL\#4=q3n - Rd'b_1$>PJQrJ%K-+NQG5tqmZ*7c;5!gtnZJlAMEka-]M-j0:.[+__lW'j6J3h/Z=fpU+dA - 'P_n7&3IN40Y$U)4,XBS*N2I+ajqj(R&o$+VPA,(p:`,KVc8r#spQ];Of1%!AB\SJUN$?d6 - FMM^6YlSN.Am6CAaZ;!]DL.fPj=sd+.O'Q5cAE*1pi;[` - QQ(jmE?,UIa6!4o)9@.kT[]njR.(_S/OU$X-L[ZFC"#S[$4a_I0H - oaSM+,A7nY - Ma.\k:n+ID,pCG[.LN9igEQi+!X^85Z+l.W?Asc'*745`&r<:b<2=:VPJLt"Z%SKIPbruO? - XU4h&@&1V>Ft?g#pm&2fR4WGh*Rolp]_,Wo471>odh=/T=u])B5'204@m?Z>LX'4l - bO'O;!ci2,?`!^9:rt7RHhjI*<`7_5#L!'[mRL=S35)pPc>qRYn^%8r8bb4fCZIPCeE"2;A - MC?'g!ujYg&A^eXqd7-`s)ePlcYot>&4sEtG%+LfZXkY2UmU52nELCX/^WL]nUT;8:l%Z.r^5)@U$X6nlc7P?ubo/UP+$D+a\SBNjYcgMO3bC091u(gUCL^AkB->W4Hq - @'Qik#%\hVf8Q>$[uK0$3$+e/^i,BKE^tEGSgS\LjpT>.mO3eOs^Z - ea6p%AXmgQW-s_*4K(QKefYs?L3O%tTc\(TkIsOnq1Oi=>.+L=1hc!U+YoJ>7\-mV\!$[Q< - nH_qUUC2(*$&N,mYVZEM5S:!2O&U1UnMJc`l]`bQs#*i8D2BmEf`RmQ.`+.3OLgebit,3c- - *'MUu#s%c=tKoc6KMS"AE)m(nO:gP2ooB_J]NK[_]6Z*O.hm@s\tHM4=p+-K5LBF<&-&DDS - '/Pc[_1_HN:B3/k+t_Lcd0=qMd\4ZQI3W%l&j@pfgGFbqIDn[BI#L:^e6]MNLUn\^55!]Mp - W2HjG(.\$1i]T_6tRdpD)dTMg^q*_+%4c47[6c,T+a;nMSIt<%R[=Qgp_>k1qYbaO/bmdD0 - k0rJd%a3`WF*?-f4nf=5Pa*EZ+LqGZIM;hJmh%k5Q/)*%(>oUBZ5#'\-Q8ZsWTU&8'+/aY, - LO;t),b5QQSV'p(ODSr3;XfXompGkZ>5U;R-<>2O,T&GLV5+%'>':@]T&ppV'8eIfnu8P+6 - dl6`'4(LWrlj:hXc!5Dsj1c#+nX^(mep=U-X2@&?1P-0-XjQ(a1UG$>pO2d3si,S1@NO,[( - `K*>]S<'UZh2Bo8Brfo3IsP`'Do@hKtpq%^G[\XB_#)"Wd@G2U,ApU>L.^E$lu*a_,RGJaT - "n^$P&NK[s[(^-!TP9_Z`Pe_sGp]$#`Tp3EFb9BE^&Ge%%_nZ:KNM2F?q":<](`IZ6=ulEg - 0d@>>GkO1"1i4Iim5!Ijr-gs&u8VNub,V^Pak+EYtg+O%)$'^ASW<&d2JFehQ^ - SisZ\PbRO"[Wa+aOK_P-+sorg4-%%\XVl:'D_S-=0R9XZ1RlpV]#+&2HcG@(/UuTP0!h;@$ - htaGd"sFP_ePRmeV(?RJ#.#GQ2%$pA`r,T%=JR&YTD!MUeB3TK(T%.r-K%),2o\X.0R=W%k - N_U0!Nj_O9-RE8_7FnH*\1KFi.anK>uAGjVkB,TIdDU1/!V)%*`ULCWQq)kO9ZYMA_nI5:c - lna9M-d]TFW\]S$,$qn8>K:kHl1_f5r0.bN\"QGO`2>0_'?kO&<"N6mC47::X-h(Uc%'tFQU6;p^e` - &+M*)FR(M1@/!C(K3e+0t08fbo`$<*3qRLAka4TY,+b$@WG_9Qm1Z`=eYh2H(5mf8Eo-.I) - ;O7kYGA,k)Ao-4)%Rt"Z<,P=B&phj(22T"';*WbFBUg - SQVFC-C3<^nB")'LfP4_32@e;GOYH2m>Hen8>JH&^;7nk\n_(t8l5Z>&+#b+35]fZT17)'_ - @5rFBa7Ok(4l9+]<;o#6ZD+R,qJ7YM$Ag;%7/TiQ3RQ@LpHO+'J$_`=)#og3$#K^2E%7;q* - mdP\IDLapZo1KmN+EmHOf - WC=`t?O<*QOeHHD]k#!PR038p+SS-XlNMU@COfYp>+1BE;D4cU&]VQXL<4lhuOTI::;lZeK- - f'q^Dg.)jNI3fS7'm/&)>DDJ\Ja!BRn=Q[.@/\T-(YQeP;l577OEd;%u8W6r.bap"XYd*@i - ,=Y_rHNI$?+u0VF6Xp7FGF9;sq/NQ%[h(J![YuR.uB!=M\sgk8DQeA(DJAM[1*i&S4WNV1+ - D*(7DQ^&1&2+WK8(^SAEgo#LPhg4r9M6f^)$G+%PI1`R#CqA=CeU>gH:Yo?62Iq>cu%V<$RM?c/Q\cJ'YsR - 60?_KVq#m_(/VMLI)PRP'ESmBKtI-hsCIGaf@%u&uhdKG6^aK>B&,tWrJm - jNFPO/:`;lW%@('f$i9/c1,i]SM;n&&\^#J2b[]I1e5botnS5c1ge)'>@7Q]g$O_H@O96rV - rMVW4#4^pDjeS&esl3c5cVoBFPe[ShX!."T.dlJs>i5+`dhA])YLH"Xkt3r7TWM'4,GS,:j - rgYlMqd#qI01/BC$`iIiq?:sDGE"h'$ggSJD5OD@57E6Xuj[r4Qa,!FkG$mIqoM*XHT/uL% - C@(d<[9#kgYD-3(qSE50SP"jqSojs&*P,(2:6n - jT=m\B8`;*7`(ke\DP*+#TbVpt.-_!-h60LV,J-gLp,V[V5g>#4'&bHO[Q,k)MOVRVqgMb7,tk3db7u"l%,j5*" - 6BJH.W;t4Pt`omfq^1dQRqqE*USM2YO<))g3W2fPQLFVpt+b\)u'P[$2G#kl]%a2('V1ZZ7/Rjbpkkk[Q>YPmOa6R<$t<59!#O]-<,HFXim8!ikg0E'#p96.>]#I`7PVmWliL$00 - eA%>R)IYg,%O[n[He5$a[>`=ADE]`nm4r1),DJ%R\D6>*E7^b=r#S>I1*?`@E_l6i@T2]=V - g\p>RK^g5r==E?[-1On>I@?>!r`HP:HoYk-rprkng4]@X^5Vqmhg?Tu.q.^L;(9B\$^ki*h - +#l3<`R"JFt8,6!IoG>9jEmMk..@#9G$F=+e581U>c]AWH3C=FtI"*4"a>0V>b>s=\Z87^= - C@Va4hAAo?E]@]daStL:GDp21O'J3mu[FW(EAK\'j\WQgFgR]6dFKYkM`p0(0Y)@=frg>>= - MJIsT%lZtO@BX*g<2M[%E00uRoe@R3G+;/KM9f,#Nbcpn0Rgq[%U`BAe#dq`TAr2:i#4526 - ECoFf=aUp;JN'i=9+Xbe2C2>NEWs*R%WNiRS[ni*-$D+an\FU6'V!TaB,%P=o\Q.fqL[/KH?eRn[@:/:p\N\Uk$Xf39N`);5^9ol+XL\DR\'"l-[q28:gc7dJYB$OFk=7`AHA6,][/[c-M+6R,A - C%270Sp^UR#;l%::W9hU;ASJd34NaE0^O@%0t'\.LgehMu"4(`MS"7/&F)VP.`Itm9_&Xeeu1"n$*Fmf[TL#;C9%Y,84:Wlo:_bHA-RDRTjiN"SuKD86cQEG;$0Ab*]i] - TPDIQ$qE?jL+%(S`-)LA@B.n_.iNud%1r%@Z)GnV,udfUjufT:B*g,"!_>iemWWGsCCb=9b - D`tBHO0imp`jbQDi3:bW"GohgZ)?69UOjN(oXtN3B1i&0qZ) - 3HJ.0dH#rI+sb]`N0:a?OLi^S+Sm\u=7+#3Den1mOr2P:29jrhO6JUn^op?SQXP6H&Gj2uB - M>9WP\+sUuHVJKVVe@dUJ,;M,$C(CQBm"C0gKa:Y3NjK`<3@+/lL(;(Tj;:^)^g'4]?ct,_ - V=$J6&p'npBS`Zd`5#ab"Lg_]0#I$M"pj_WI+U`.B$ucA"TCfHDKJ_;jC4('6OmVg6=aO`D - WmgQ"3Om4+EO@PK#fW;b:tQRbd.F;DWNH!#&IW+MH1*//]-!kV80qKm/i>_'2+)S$]=[ONn - Q(_,p]<$8QtnK[+g^>]#!#VdT71)E`StUMZUW\9C`<$/Hoc64_f:u%%pfV_DCF5LPU7W#(V - 9D2N1DpkGcr+q#:aNoj1P[Y_XZGUh+0#7Wn3%n3B-=9I3t>5"MJds=SlQKM4YtVOCG9,:2E>Qs - Ss.,WF6Plb)'dQplI&/Fd"s$sm6C4CaR#e*6l;+\b``?p0QW\)k+$2*r*P6gW.K[fim8ZSe - 1F7NR)YdeK0))h]fDku,QrX>7s>r,CGUYeJ-os=,*\tae3ns0=%[oo7KfY6`gC4/1T?R.FE - pBP8>rmX/^u$bA.BlA0YGFp!!U%Ud5&4+ReJD,pPkuZ4n:O[AY0%b87Na1X)fUZ)8>D^G4^?>BQQA9@I&i;d%)Q>BT%6Fm335nO14d70 - 32+1HmXMXY3YG0=7Ia07?t*?V9^i\gsZQo+Kg-\282-WJtDnc&s0#kP_TXpId1a"Bp0tWAp+VQ8BU#=,//V - _S9FUgBf;2$$&g[<:,"!d?e$tcUqnL3`\Y"b*d'bVf""ou9'+D[+>^VPOpu38c#!+$D(_G_ - &:[eYKijYkDDpTo@p*12S@FQMpN?j\L=.u::-CeI2cF[uXD - h)\F?tXMQWH.%a?D`6pl?ZN$S8#kB[mQ$9B[#t"3fDTd5GoiKAnXH]``F04^E,eT\PdWC@PZFUb0WL" - ;`pRM0BYUOHeY&F["I4O4%Lm%tF/Ta#`@O!SOCYT6>io]LBB!Mo`%19^AqQ]a7L4O]e:-TK - :a]!a&s,n!DK$hPCLXRQ$Uj4F'T:!mBc(uJG^+dpY]H`cArk#0c0[@0U - 5dLnmd:$?UZMACBBG`7XKZoKT/["8;oUloJYfqJ]K0ZUY7`o!j-14Ak+W*j0gFUaCp3aH:" - 6MJ^IA+:8jm`BEpT1An7@:Bs,UECDOCm2c(\XAkrSVd-T#SZqO3Vkcj88 - o@l=6nkA;32e/RB(W4sEeK<@"I_0t0kf'SHL?JOUcLr?B/!:9'Ukf#J`F2NBI8TeFV8,s0W - $jVq6?fs]9r7e"8,Tig3KU-I8kKeD:d7*\ppZiN1UuqIQ=qloVF6$fH(7KNVE$QG70q+bFI - *.G9].]&B&,B->u?&e0iui]#Y0KEgim-MpD)\mg->>3%AK#i!*^uAO^_e3e@P'?c<(#X3-F - bmUM#j+_7,%,rWN@kftW[Zjg)68(p#k@=uY?Z9'A<6ajF4FB!K+5,c,tiANi2mSEGC/B!(& - >%sr49U,Bn"1Pt$gJ>5h?+'/jW&N*gRYeHlD78VUWAXis3gjo3^Q#A!Wd2QlYEK8qb`bHsC - !/2D7ikGOLC3)0<+SO2764bMg-'&(:Mpi.,K@!dk--SU@Z)('O'40s]`J=38dFeF6rL\>P$ - `no4Kli,e$8+#ZZ/hLgjF`^H5H&rNI8J]Q* - %6e`!f>pk7!0=&qQ"pf,;N+Af9MZ_96;N/(T:+X^0*cU:HZcIZ,3bl\HMC+#8.iYgW_$4Ss - J]J[7nr_//c-5`M1V[b=o?[@9cmO[f\Yj+"isXdtNt)HP8d^jFITbdH+6!=[j?(dJHN#VkDd22piu:YIhKVLq_ea_tR=9MHI - Ym9`;r(L3N'<6cHq3$3QdOI;dMefto*aF,q;36]lT?KVqcD,#[Hmh.gYS(1oo&0#c*[J@?s - 1*j\(BKDZg.6)m/H+F^:D,8=mgb/mlVo_HYLD>p$_^Im6)E-*o#+%!OuDa`SU^dH&M+#WMb - 4`ninFhrqW"SrUPFmID5rF3h,Cn_YbPqS0H8 - E]Np.g&%DX5/3BMI381?S[^nZhZ'MO5M7_tYOWdir]fMQ,Xd;^I=1rUn%R!EJ,(19`ZPE5l - j[)$DF*1LQrG[U%>R=1&K$a-.2@b0it7[.DC4k60OtJ-&V`h3P5qE\fhlopNL):F%`srUBf - 2ASk7a95mWgsf:ZrK2'b6'hUJ^7iRT1tc13Q>-P2pG`].+T=!)d6iOM`85YUgCLKegb]ZWZ - Z2RoQWED7X<&[2:P&8)8?_]CN>N)O4(GfO=b)'"r<.@&(fmd1G - 2LH';"&@;Hi&:6rBdm26`-:r.$k!jjWR^1 - PH3!34&`#6jY]#o1X]XLb]P@61'OrOees;;O+)XH=E;YnDlYA6h(:G[^c]sPa4=d6_'<#$O - T$/7Ic%@)+JVACE#49$c_bMmn;7*^$gmB)p!%FM^(d[lhpfK:a?JQ5ts^Gek$?&,2'hC$Z- - 7TXirP,2j0uS0hcX6b+P;H6^!crBiCIa3U%3OGKt7dlT7l5`:H,fC$DT]7n`^\_6C"&'#bd - ]7/98KFCcBh8PJG6d'RX?:Bi[qFWA%dc(la*2Xn5fh*X\D2,dKI78h0ueR_p,N,l=dBefE - Em]6b(rq,%4))(OA.:U_6%RuZdY)UZiN)s_&D.IGEr&T?h<*iB-4&6$?T\;c4WS)Ff;iTX& - [N^8)e+J.]6[!*Pm89Gih)KA*sM)J`+'^ph8aM(/d2)@P1k+Y_#>Rns%h&_ieLFFbc&kH00 - GYh%F9H"4FDZhb7?:npu*"/Z^ILe285\IVCj?X/e3_'qLL0HK!2R(E3AiYmYn$=gKUZNm]T - JA9Q\*9a>"7IHL@M=f^uf`q-lX3mJ%`mRPk2F:N[F=sE(dc=/%]Y8s9MmTZPCSSrnR/'BL_ - "k=u6P)\GDVOCh\:WmeGohol07oRqcq&]R=E$s&XfbXO['AI>ThTQaP)ckOh(OcD6iH?2q$ - \@u"8!E%[E=H-Sp&#-dko'Jo60iKBR#13M!^F;3%^qKjBmaR>bLghtT:,A#ISVa#kYcib.8 - rH?)pm'a"M&p;FYE(\5PF[>Qn,CgUZ?d;EQ8,LX:#UO1bCueFB/Eq'.Sql7Bhnpf7uHn*q0 - p(O2o]L+VZ/SOHd)U2WXsIi:VeV1)C8\@"q*WlmZq$spf'h10LU`%(02\#=9H'R`UUDS?Pq4#U@_*uF9E6::aD$S?kc*" - SK)(bRZ<.l`sp\jm"[?;*Us=c8,30.@acSD;AJ.#OhW)@nCAJ_1f[*:#p_k0P6V_#!s(tI% - cl(N&FspDamkoM:RL+*MS+'B3DgB!'W[LUQ6ea#3>8$\,)Ro).Q&'H.qR5B7VdO!bOND&?D - ,VG_YR&cfZkehHk-TMnn/!VTN2(%dg,JDWX$YN*Y8HA17"Y;Y"m(H-j=X"9i - 2nTgT?0NBCTN[2j\/stg'EC7oRIj!HJk/EH_DKP - L$-0LT*\=i_bl?$!+.,mZ"-ZW2f*NPPq\n2THU0:u - @&h#omFbbPuPi)Om)c-elrEnX^sD4YqZd7'( - gK\!H[Cfbk)>>]@$ZJkk>nTW)sGTJa91Rca]uTE4JB$+c5R$j(d[%Be+A$MS[[#B;>?7CD/ - <2+H@f)h!$N;+%PW1&3inTL[@m9RdP7rOR@-IW*UqDlf4UR`X^H6uZeSJHH!Zi(OCF5iGd"g-D2l$I$bVS<\k7W!kLnG[@CI>59A3q4]O5LG[,E=c^FMlBDhk(F;'[nF+/&"l%_ - C>VMg43e1$Z^TEfFJ(!(nZ")3*VFFZMc!P%V*T"GaBma*l6f7%8=!HAJY,Y'&=-f:)G@C]/ggFr&!JRhoRNI?CgY6IF3`;F>X-0kRCR:%;*L+L>Ii-;qF`CAu>K9e_$G,fr/QOBJ&PD;iiG^72F'@C8di![7%32&3,5'4#'naQLu>?G7WJnL9DUVi?V7k8*W[& - 6A*[PGCX(uEX2Rra$uc?\#'kFD5e+9V];\e(MJr>#c>&EFUQ-70u"5#N8=*YUe9an00c/ - >35mnEPiK1O.6[p`FX-YWajK-9`M7iPY89J'n+B=6ogW\+b@Oc5ZeMoDW11q_9$r&&6T)aT - -5a1ogqi\-"ZVdkUn)1t/LU;bfJ+8?E.63b#LKMf/\2qZCp95eHeVbRHhm%RB@k5l;0Z$kY - cF&j\&^5s,iI9GKiu(-uaQ6$sM8N#=pO)F:GD6+e1'bT0")*^>;c^SD4=Lb(k0o7<\^1/JR - E1NG5A#QR5kMSQ;SS0kN4XKg[r_Ri[8;l'Q:2+$XO^RQ@])GYrH*[<.YV]5(l8Ud.\7?*I? - KZ#hQlo@5==KSWk%[n#u+L+)hLBbmtL3).)'C:dLk_C?G3&EK\8S"53q59U`31)UbC]-Yk8 - joaR7(c2]bY:L\:''q3Ja61<]!.6"#;DWA3h-9Z_UAk1"$dPIYaa(MF:?7_EP,b\0EB:TI#,)b: - gK^_=)5,="pL^_<]_,1A!YF?5pn0S:H+@0@g"'Lr4!!SgmKe7+<.5f`/C0niYn=K0iZf9XfHL\a82toOU*-'gK#fL((+GD6qApg.T!rc5aZPeZ9U/1S - Q:YnZ8UQc-oM[B,FLO@\#t/pXbah1-S&Jk[Z4fqdRib4TU.Qu38j&nA9Vk?dVFk[&8pmR0N - 2]F>W_0@n9"_5tbcOLmY"J&a9)Pnd%'`GFZ:caT904=f1C-5[<6=Ks8_gg)`1FG+MloLot>9R-#o+iaakaoiF%-=h'^]Zj.*c:m - TN9`373%+.chc)jeR2fg34.dB'b<'W5^2al:W4P*1"!l,KQ[os]blO6K5hG*@o:&NpE%,jr - $i_D&b:-@T49]]#Sk"]aU:428#EjN!d"@)2V1,C.3o1ooQ9;KGj5O2._7-Mr:nkUh.:H\8F - 9_D1dp.oN!:%T\fMX(g09#j?N!%\4HN;W_r"&HE.[*qb]1@#K>nP=Pq*)Q_`e3KLVaA?^Y: - jiU(6%R*T@_3T3"9F=aFU_1'%T)O';#Lr&%1Y0W&lC4n-e(qt@iR6[9#+(+a#cr*RnZ=tl: - N!>%nn6="A-8F'2dsD;&(3O%3\Ui,#U!;;EZ:'9dN\C-;n\.;LKrkN@@br.T3AZ/k@H';8Y - ek;6jT1$F/Cf>qnCu'gQ^WdlXEH6fb4p<`O!<1=1Xac([(9Icd9nc\TL0/;J=FH!*ASQleBnSVWK3a - F5,GnBN'tSY;4Y'9!P6oX:Z*tt+]$_OTYl[6//4>07";ETCRX8.rDhR5A3*9<6UHD)d;H`C - Z=oG!:+]bK[h@H+<"oY5V]qnn(*>QMi4QD$mJ7[Rc+R?;^0C!>>Q)?B%Dc9i_H\\1>Wp#19 - uU:>H&io%XNDOc*Q\ZKOc#jf6J]`c)=OK/D'hEbh#5T*%FJH%dTnHR>s6\C:"9F$QBUQ6s2dV52"AL<`(?h8n$oG[>E-1!Bis1s]e-5(0bC6*/YLskl<^ - UY*3$Im%#bQ.JHokd?N'A#%ImdGnm=!?)hGLF1..sS%7gNhd(3gP<9gbUlS:7'[j)6h@.gm - cdmiqkXN:1Napf_56_u[4'1MM#:'G$3#%2)V$IqA]]m>:/pUKumVCRUuq\%q'qP"=9^0k,TMAQ - KeHWt?RfG\Q.j#07B!%D?s--et$?8n8r?\aS)iH-g,"b$L]D`q!hf]**)&`#qZ;9-8:>?ZX - _G$PXNN&%]7jUP[1%Uiri:b$am(b.[>!b7,Y*C-!l=^srb@.p^N/4/*RfEHMPbDN1T=>Lk= - jn-RT+j8qe;IkMR+biV@IS6_j9]Xo&jQTe-qN9qQc`DtSaM^9;.0*Ref]I.=13GcC_ou'@Q - 3sJ4Yj-Q=*edc_?f?o(0eRG.VMSuXMJ0%(XGuY/R`bmV>m5;5"Nh*VD1Uiklp.Qk1M$sEd& - C0P:.(dmiJK8OL,?C]V3c!SC`E&KGiFTZ*F0E:N"X - A>W*nNu6D_@uIC^U8J>NS!JlsL=L-Ieno-p*JB@ql9hYGeg`3:[`UA/(gA=:g:kYtaAU/+3 - ^,$P6u?qWlk:g``khjJ_ZUanACdDdI\CD7U1^(X)S(En$?=qf%62Ou*-3jK(h+^>1:G@\W[ - jGrb')Y-.O#APm_8I7NqmU]O!#2t9I]P*j!kCX6HE!mVA_n0_qk`BN$8T>+sNh$Tr[THAaW - T@CbBjH5'Ca;kj2X?lu)+TIg$anq]#Y#Ss")_KL1Z+n>'/G!d=F+6.]XuG4Zl!E#'$??S,U3;E5YpteYj - nCa%pEeue-LPLPmWT!*LFMYX.dj2bm^GHZ="U"gIA.*!,N6-TdLC9UO)QQ4A6/p+O&:$A;K - XDRBWEi1F.a'0?%+),njC3HPf/cl'D$3K]Oo(<(>ori-IQX"E7k3d];ChC_3$&t8V8o_]LLX.g - AP7r.AH?ZQ>GJAMS2f\NBEqE.Kn@s)>c[g<_Jp8r$GX$ieQ[SKZIeEGboPY.[IgpWuMKl=_ - Ge]2^cJs.USa#R7oNquNLOf0OP'J^EGs@O=9i6/u-[>A7FpCN\(R99Nj*kq0IXgR1M&MkL - r?Xco$?cONcg?2=mXFWnIb#(%V@eM?&r7SBN'ZpD6hBBa(_sd'oO849tn"T)eoC;CJ= - 6Y4lrdXD:#Qt&0"+igHd!.r*'aoa`@F4e&7O8_*7:OYh`+CkGN^mU,poF*Voo_CIc<3MX<7 - R9l-.;UB`aprp9kMjDCuok&<)6E@oGn(p6T7k:P]KPEcV$%B:)*=P75\"FeQA)^]k4ZVXu. - .UpD&D4@sM3aM&9fR-.9'oU(AES12 - D7jXAAATHIO`b./u\3Ddq%0Me^f?uGHbPad%3q$d[;\oSQ - __6"&S9!4,aicd;;-`bV7]NZFom5GC_Y&oCBm3e;pKrXCj3DpthLA%nea)pUIGY!Za5uphI - =C('a63-mrdTFDquHf'BAn;AlAVS8pXS,f!;_R3p&(I%_ - t2;Oj^9b0mr-/B^rH\Lu(Rr4t(]90)X/*2\D9SX4;P,;t\UI,R'1;k3)5cI9GkkE/.(pn<^ - "r*h!L6<+::d)%pW,>gcR)*nRh8@9=p"19QgOH[X<9[cto*_t2'PsAj/7cd0ceC,.0<7OuS - =]X)'I:67/h;Zco3RpZqmKuLQ5hqW%i.8pAD(!hR:b.'IA&kn@dU-0MKCP8+ - 'V%u\/nkje\E0[6,gr_#Ljl\.c!i:^nZmTL#I:5=.&8?hU'qB?!g0Kh1!t"rW.Q-=<7d#i7 - L4*K]-$>)2@,&HI@1M9)5eN3[EY\N/RJ`[uTM$r]uY,=WU.tjDg!LP_g8[JX5)B^gWUaq3Y - HVKt4]rS:u7F@Mi?9aG$:DH5og4AD050V!15"SiBIKDP1TV:c9JslIrtWXQs'H\ZY8PrkYi - *>8uAfT(4>-=D^HM>Ft)jmb>JG]A2*7B>3NeBMlQu>TX4_nA,>@&+Nn3#Scg^ - QsL^%6/O-(o%^u7b_Q>H3K0#q#=,>WLHeA9FPT/YeFd*S=k<9%Ipq"'?(1&A*kIK$;KkLkH - #%&$=A@`K?6>$`pte5tjS7[eRDT.MpRhul5f]f1HJZ.Zm/(,9-1:X/TJ-k'>ZaMeq-QA6o_ - h'6JftSQGpiC3;E;eOIc%p1r;U-]q>UE?rW#2#"C+hqoN3O&9WmL$"CPUFJ^?Rd5o:mNi1q - *>cs-`?O:qi66lc9sHil\P70qit-%k+s%Y0?n!as(VK(-Jk6Ps>8h>/iU+r"1tOhhOc*'K) - (rZFTGKb35h7>T>4,T1fBBnfgd3MG8!5#=]R@\d"]d9\@mR'd^hjB[\kIP=5.`>IV\=E8rY - hh^LG/n8-j.pgXdG?uUR.ROc0\2<%g->sI"L2WI!!LJpF,,KV3KE"<(`QY.ck3C+c2@@7*'C"`8%au_?O7j`K%Adp?ibRC+s8jP?q]5lD7L\eR#=WRTqp%*D*+>( - 8B;8#X6?ArMR&pZrWXG>3fa:Xjt*5VFV%cLM\R^2;JBEVU4`8/U\Gcra+c[2/=Tgr"5#El0*d^":!n?Q8*Sn"o]kfA?F4S*G"1j6mFclMr/L&gf:X - S\3BuA2-I]=RQ.t_:UsX@2pSHn=mIf_f#rkMju3"i/PXt*'>2P`1qml-&Pfs'OmS4MXb:1` - RqpB@iSh#6!upsb?@SoA830)n;Y>;MSRn8ksY$D7EF.(,\3F1P4E%FX(IH/f`?_H"^/B3Jb - pF?m'V[9ZrMeTIkYIS`L-6DA^&i"1hN9'pHXffc-(&IKe2;\ZFRM,G"Nd8$AXgdk'bS/s$1 - 6<"eTEK(`RWj=kp':,1-_9$d2oqBbqS]oVRo%g0[NfSMd;:k+0t=";F=N%u?ICG#)0ho/hn - cYB1hfe_7c?CE6ufkZ(29j*JipWL>;2a[$JH^L/eX&/!]``RroeA8Ig%ZM%nTg"S`)CrOXB - _[b3,>?sl@O]AjUpqAhb898Y_afRKKjkSU_FDdZ!rb7%'g[h4Lb:uN"k#d,i`=t7<^mi(4k - 5F2ls+#&0"i0m\"lS/XJM^3D_S_uTf?4sPgEC9<7P7N4)io.3Si+O_k8iUjS[&INm@q]LY)"Tp^m+05D;GN5pXns?AIho3&9aYqgA>N"mG5OeG95S#n_[pEIG@! - /QImE9+IM"pN9R4@&U<>Y(:r8k0&0*d - 4l/=LV=`W:e9[`elMX3G&*d@"7\LjL8sl(9m6F^n!GlKSrWm?DW,C&+@H%-6`VA=4jF!SbT - W"J,*d)u.mDsHo0GleJa?Oh[Bi<9;00*;bA"&L - oYO?3Qk56MNMa/NeeA/t>'ID[-hoPcDm-C*mc>N\%1 - ]Y(R4i8*J^n@-_DW:IoC1OIHR'T*c.)$;dW-OIZ3$,-W5U$Vle[MD2#ekc;SCJ>UOaO,4*< - cOCH7%8bXcLkr.4=Ie?E9h0:>O(8h6mgg!$%oE!2OS]R8rt#bE%hM9&+_%`ODY_Z6&Q'>VO - W+n[*e0$`ZNYs'O$#f^nIlKj'2^\%OZO6(584\dL@7#p93P<2it;r&'iA$IO]rR?$ES--!W - dOTm_WJQXVVRj(K#AmOa@nlIi&c>h[a8`@@\7W`te-.),Z_^FU#8/5jL=9$4J0d+b[GkV$L!P1qS:h_ - #Q%/lLjbP2*T@SI7`JS>ZfHP5?o\s"G)f]4uel%S4smlJ;nW0iJlCP8c7*+#4KS1/f&D/&n - n&kfAqk1K-4gP<1SCBWS#NCr^@h'2(12:Giea2,dR6P?Tn:^n>EhS1nS3o4p85D`8>N2cFo - ZPC#7;IlJ*o3)bSlPD_ELO#[l;3E)8)PFFS]T/mX\3`Dq;PH-anY<*E(4&`UMPIip*^H<1I - 4B'9_PKQ);cTMrj4]BrqPM87Lh`__65#^W.PNtE]mlqKW5?%;@PP[Sns$.8#5Z@tRPRBb+% - m^mC5u\XdPT)p<+$pYd6;#ZK+9~>Q -Q -showpage -%%Trailer -count op_count sub {pop} repeat -countdictstack dict_count sub {end} repeat -cairo_eps_state restore -%%EOF diff --git a/docs/figs/sram_overview.pdf b/docs/figs/sram_overview.pdf deleted file mode 100644 index 4a533d27cd6af344cf8e9e7773cc644686987646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21232 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 U!_^2wVs8PF0GA9B3X(Yg2TSH#X8-^I diff --git a/docs/figs/sram_overview.svg b/docs/figs/sram_overview.svg deleted file mode 100644 index f80583c7..00000000 --- a/docs/figs/sram_overview.svg +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Precharge - Decoder - - - - - - Column Mux - - WLDriver - LowerAddress - UpperAddress - Write Driver - Sense Amp - - - 6T Cell - - Data In/Out - - - - - - - - - - - - - diff --git a/docs/figs/timing_read.pdf b/docs/figs/timing_read.pdf deleted file mode 100644 index 6f859889a09bbdc188541b2049d95bed131cd163..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9066 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 diff --git a/docs/figs/timing_read.svg b/docs/figs/timing_read.svg deleted file mode 100644 index 16fafe00..00000000 --- a/docs/figs/timing_read.svg +++ /dev/null @@ -1,633 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - CLK - ADDR - CSb - OEb - WEb - DATA OUT - A0 - A1 - - - - - D0 - D1 - - - - - Setup - Hold - Setup - Hold - - Read Delay - Setup - - - SCLK - - - - - - diff --git a/docs/figs/timing_write.pdf b/docs/figs/timing_write.pdf deleted file mode 100644 index 810ec2bbe116199b3ee70b99e4791eebe8ea4bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13163 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 diff --git a/docs/figs/timing_write.svg b/docs/figs/timing_write.svg deleted file mode 100644 index 6bbfdcb5..00000000 --- a/docs/figs/timing_write.svg +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - CLK - ADDR - CSb - OEb - WEb - DATA IN - A0 - A1 - - - - - - - D0 - D1 - - - - - Setup - Hold - Setup - Hold - Setup - - - - - Setup - - Hold - - - - - - - - D0 - D1 - XMem Cell - - Write Delay - - - diff --git a/docs/figs/tree_column_mux_schem.pdf b/docs/figs/tree_column_mux_schem.pdf deleted file mode 100644 index 7a4e505d3faa1632ab527f711dee3f69eb38a553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48611 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 epLb#Xj{*nw-oAe?88|`?robdBs$rCno(r{ diff --git a/docs/figs/write_driver_schem.pdf b/docs/figs/write_driver_schem.pdf deleted file mode 100644 index e943ee80ef5e003f3ac5311ac11f4e425d2696b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7324 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 UU~xy;g-Jps0NmV4I?90m09{XOjQ{`u diff --git a/docs/figs/write_driver_schem.svg b/docs/figs/write_driver_schem.svg deleted file mode 100644 index 3882dffc..00000000 --- a/docs/figs/write_driver_schem.svg +++ /dev/null @@ -1,643 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - vdd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - en - - - - - - - - - - - - - - - - - - DATA - - - - - - bl - br - - diff --git a/docs/figs/xsram_block.svg b/docs/figs/xsram_block.svg deleted file mode 100644 index 1d0d465d..00000000 --- a/docs/figs/xsram_block.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - Block Diagram of XSRAM Topmost Instance Datapath - - - XSRAM.XPRECHARGE - XSRAM.XARRAY - XSRAM.XCOLMUX - XSRAM.XSENSE_AMP - - XSRAM.XWRITE_DRIVER - - diff --git a/docs/gdsmill.tex b/docs/gdsmill.tex deleted file mode 100644 index 32cf68dd..00000000 --- a/docs/gdsmill.tex +++ /dev/null @@ -1,33 +0,0 @@ -\section*{GDSMill} -\label{sec:gdsMill_permission} - -OpenRAM uses gdsMill, a GDS library written by Michael Wieckowski at -the University of Michigan. Michael gave us complete permission to use -the code. Since then, we have made several bug and performance -enhancements to gdsMill. In addition, gdsMill is no longer available -on the web, so we distribute it along with OpenRAM. - - -\begin{verbatim} -From: Michael Wieckowski -Date: Thu, Oct 14, 2010 at 12:49 PM -Subject: Re: GDS Mill -To: Matthew Guthaus - -Hi Matt, - -Feel free to use / modify / distribute the code as you like. - --Mike - -On Oct 14, 2010, at 3:07 PM, Matthew Guthaus wrote: -> Hi Michael (& Dennis), -> -> A student and I were looking at your GDS tools, but -> we noticed that there is no license. What is the license? -> -> Thanks, -> -> Matt - -\end{verbatim} diff --git a/docs/implementation.tex b/docs/implementation.tex deleted file mode 100644 index 187bcd48..00000000 --- a/docs/implementation.tex +++ /dev/null @@ -1,389 +0,0 @@ -\section{Software Implementation} -\label{sec:implementation} - -OpenRAM is implemented using object-oriented data structures in the -Python programming language. The top-level executable is -\verb|openram.py| which parses input arguments, creates the memory and -saves the output. - - -\subsection{Design Hierarchy} -\label{sec:design} - -All modules in OpenRAM are derived from the \verb|design| class in -\verb|design.py|. The design class is a data structure that consists -of a spice netlist, a layout, and a name. The spice netlist -capabilities are inherited from the \verb|hierarchy_spice| class while -the layout capabilities are inherited from the \verb|hierarchy_layout| -class. The only additional function in design.py is \verb|DRC_LVS()|, -which performs a DRC/LVS check on the module. - - -\begin{figure}[htb] -\centering -\includegraphics[width=10cm]{./figs/class_hierarchy.pdf} -\caption{Class hierarchy} -\label{fig:class_hierarchy} -\end{figure} - -\subsubsection{Spice Hierarchy} - -The spice hierarchy is stored in the \verb|spice| class in -\verb|hierarchy_spice.py|. When the design class is initialized for a -module, a data structure for the spice hierarchy is created. The -spice data stucture name becomes the name of the top-level subcircuit -definition for the module. The list of pins for the module are added -to the subcircuit definition by using the \verb|add_pin()| function. -The \verb|add_mod()| function adds an instance of a -module/library\_cell/parameterized\_cell as a subcircuit to the -top-level structure. Each time a sub-module has been added to the -hierarchy, the pins of the sub-module must be connected using the -\verb|connect_pins()| function. It is important to note that the pins -must be listed in the same order as they were added to the submodule. -Also, an assertion error will occur if there is a mismatch in the -number of net connections. The \verb|spice| class also contains -functions for reading or writing spice files: -\begin{itemize} -\item \verb|sp_read():| this function is used to read in spice - netlists and parse the inputs defined by the ``subckt'' definition. -\item \verb|sp_write():| this function creates an empty spice file in - write mode and calls \verb|sp_write_file()|. -\item \verb|sp_write_file():| this function recursively writes the - modules and sub-modules from the data structure into the spice file - created by \verb|sp_write()|. -\end{itemize} - -\subsubsection{Layout Hierarchy} - -The layout hierarchy is stroed in the \verb|layout| class in -\verb|hierarchy_layout.py|. When the design class is initialized for -a module, a data structure for the layout hierarchy is created. The -layout data structure has two main components: a structure for the -instances of sub-modules contained in the layout, and a structure for -the objects (such as shapes, labels, etc...) contained in the layout. -The functions included in the \verb|layout| class are: -\begin{itemize} -\item \verb|def add_inst(self,name,mod,offset,mirror):| adds an - instance of a physical layout (library cell, module, or - parameterized cell) to the module. The input parameters are : - \begin{description} - \item[name] - name for the instance. - \item[mod] - the associated spice module. - \item[offset] - the x-y coordinates, in microns, where the instance - should be placed in the layout. - \item[mirror] - mirror or rotate the instance before it is added to - the layout. Accepted values for mirror are: - \verb|"R0", "R90", "R180", "R270"| $^\ast$Currently, only ``R0'' works.\\ - \verb|"MX" or "x", "MY" or "y", "XY" or "xy"| (``xy'' is - equivalent to ``R180'') - \end{description} -\item \verb|add_rect(self,layerNumber,offset,width,height):| adds a - rectangle to the module's layout. The inputs are: - \begin{description} - \item[layernumber] - the layer that the rectangle is to be drawn in. - \item[offset] - the x-y coordinates, in microns, where the - rectangle's origin will be placed in the layout. - \item[width] - the width of the rectangle, can be positive or - negative value. - \item[height] - the height of the rectangle, can be positive or - negative value. - \end{description} -\item \verb|add_label(self,text,layerNumber,offset,zoom):| adds a - label to the layout. The inputs are: - \begin{description} - \item[text] - the text for the label - \item[layernumber] - the layer that the label is to be drawn in . - \item[offset] - the x-y coordinates, in microns, where the label - will be placed in the layout. - \item[zoom] - magnification of the label (ex: ``1e9''). - \end{description} -\item \verb|add_path(self,layerNumber,coordinates,width):| this - function is under construction... -\item \verb|gds_read():| reads in a GDSII file and creates a - \verb|VlsiLayout()| class for it. -\item \verb|gds_write():| writes the entire GDS of the object to a - file by gdsMill \verb|vlsiLayout()| class and calling the - \verb|gds2writer()| (see Sections~\ref{sec:vlsilayout} - and~\ref{sec:gdsmill}. -\item \verb|gds_write_file():| recursively the instances and objects - in layout data structure to the gds file. -\item \verb|pdf_write():| this function is under construction... -\end{itemize} - - -\subsection{Creating a New Design Module} -\label{sec:new_design} - -Each module in the SRAM is its own Python class, which contains a -design class, or data structure, for the layout and spice. The -\verb|design| class (\verb|design.py|) is initialized within the -module class, subsequently creating separate data structurse to hold -the layout (\verb|hierarchy_layout|) and spice -(\verb|hierarchy_spice|) information. By having a class for each -module, it is very easy to instatiate instances of the modules in any -level of the hierarchy. Follow these guidelines when creating a new -module: - - -\begin{itemize} -\item Derive your class from the design module: -\begin{verbatim} -class bitcell_array(design.design): -\end{verbatim} -\item Always use the python constructor \verb|__init__| method so that - your class is initialized when an object of the module is - instatiated. The module parameters should also be declared: -\begin{verbatim} -def __init__(self, cols, rows): -\end{verbatim} -\item In the constructor, call the base class constructor with the - name such as: -\begin{verbatim} -design.design.__init__(self,"bitcell_array") -\end{verbatim} -\item Add the pins that will be used in the spice netlist for your - module using the \verb|add_pin()| function from the - \verb|hierarchy_spice| class. -\begin{verbatim} -self.add_pin("vdd") -\end{verbatim} -\item Create an instance of the module/library\_cell/parameterized - cell that you want to add to your module: -\begin{verbatim} -cell=bitcell.bitcell(cell_6t) -\end{verbatim} -\item Add the subckt/submodule instance to the spice hierarchy using - the \verb|add_mod()| function from the \verb|hierarchy_spice| class: -\begin{verbatim} -self.add_mod(cell) -\end{verbatim} -\item Add layout instance into your module's layout hierarchy using - the \verb|add_instance|() function, which takes a name, mod, offset, - and mirror as inputs: -\begin{verbatim} -self.add_inst(name=name,mod=cell,offset=[x_off,y_off],mirror=x) -\end{verbatim} -\item Connect the pins of the instance that was just added by using - the \verb|connect_pins| function from the \verb|hierarchy_spice| - class: -\begin{verbatim} -self.connect_inst([BL[%d]%col, BR[%d]%col, WL[%d]%row, gnd, vdd]). -\end{verbatim} - The pins must be listed in the same order as they were added to the - submodule. Also, an assertion error will occur if there is a - mismatch in the number of net connections. -\item Do whatever else needs to be done. Add rectangles for - power/ground rails or routing, add labels, etc... -\item Every module needs to have ``self'' height and width variable - that can be accessed from outside of the module class. These - paramaters are commonly used for placing instances modules in a - layout. For library cells, the \verb|self.width| and - \verb|self.height| variables are automatically parsed from the GDSII - layout using the \verb|cell_size()| function in \verb|vlsi_layout|. - Users must define the width and height of dynamically generated - designs. -\item Add a call to the \verb|DRC_LVS()| function. -\end{itemize} - -\subsection{GDSII Files and GdsMill)} -\label{sec:gds} - -GDSII is the standard file used in indusrty to store the layout -information of an integrated circuit. The GDSII file is a stream file -that consists of records and data types that hold the data for the -various instances, shapes, labels, etc.. in the layout. In OpenRAM, we -utlize a nifty tool, called gdsMill, to read, write, and manipulate -GDSII files. GdsMill was developed by Michael Wieckowski at the -University of Michigan. - -\subsubsection{GDSII File Format} -\label{sec:format} - -The format of gds file contains several parts, as it could be shown in -Figure~\ref{fig:gds_file}. - -\begin{figure}[htb] -\centering -\includegraphics[width=10cm]{./figs/gds_file} -\caption{example of a GDSII file} -\label{fig:gds_file} -\end{figure} - -The first part is the gds file header, which the contains GDSII -version number, date modified, date last accessed, library, user -units, and database units. - -The second part is the list of structures. These structures contain -geometries or references to other structures of the layout in -heirarchical form. Within a structure there are several kinds of -records: - -\begin{itemize} -\item Rectangle - basic geometry unit in a design, represent one layer - of material in a circuit(i.e. a metal pin). Five coordinates and - layer number are stored in rectangle record. -\item Structure Reference - a structure that is used in this - structure. The information about this reference will be used store - as a structure in the same gds file. -\item Text - a text record used for labels. -\item Path - used to represent a wire. -\item Boundary - defines a filled polygon. -\item Array Reference - specifies an array of structure instances -\item Node - Electrical nets may be specified with the NODE record -\end{itemize} - -The last part is the tail of the GDSII file which ends the GDS -Library. - -\fixme{Provide a link to the complete GDSII specification.} - -\subsubsection{GdsMill} -\label{sec:gdsmill} - -As previously stated, GdsMill is a set of scripts that can be used to read, write, and manipulate GDSII files. - -\paragraph{The gds2\_reader and gds2\_writer:} - -In GdsMill, the \verb|gds2_reader| and \verb|gds2_writer| classes contain the various functions used to convert data between GDSII files and the \verb|vlsilayout| class. These classes process the data by iterating through every record in the GDS structures and check or write every data record. The record type (see Section~\ref{sec:format}),is tracked and identified using flags. - -\fixme{Do we need more information of these classes, or should we just point to the GdsMill documentation?} - -\paragraph{The VlsiLayout Class:} -\label{sec:vlsilayout} - -After the \verb|gds2_reader| class reads in the records, the data has to be stored in a -way that can be easily used by our code. Thus, the -\verb|VlsiLayout| class is made to represent the layout. -\verb|VlsiLayout| contains the same information as GDSII file but in a -different way. \verb|VlsiLayout| stores records in data structures, which -are defined in \verb|gdsPrimitives.py|. Each record type has a corresponding class defined in \verb|gdsPrimitives|. Thus, a vlsilayout should at least -contains following member data: -\begin{itemize} -\item \verb|self.rootStructureName| - name of the top design. -\item \verb|self.structures| -list of structure that are used in the class. -\item \verb|self.xyTree| - contains a list of all structure names that appeared in the design. -\end{itemize} - -The \verb|VlsiLayout| class also contains many functions for adding -structures and records to a layout class, but the important and most -useful functions have been aggregated into a wrapper file. This -wrapper is called \verb|geometry.py| and is located in the -\verb|compiler| directory. - -\subsubsection{OpenRAM-GdsMill Interface} -\label{sec:wrapper} - -Dynamically generated cells and arrays each need to build a -\verb|VlsiLayout| data structure to represent the hierarchical layout. -This is performed using various functions from the \verb|VlsiLayout| -class in GdsMill, but the GdsMill file is very large and can be -difficult to understand. To make things easier, OpenRAM has its own -wrapper class called \verb|geometry| in \verb|geometry.py|. This -wrapper class initializes data structures for the -instances and objects that will be added to the \verb|VlsiLayout| -class. The functions \verb|add_inst()|, \verb|add_rect()|, -\verb|add_label()| in \verb|hierarchy_layout|, add the structures to -the \verb|geometry| class, which is then written out to a GDSII file -using \verb|VlsiLayout| and the \verb|gds2_writer|. - -User included library cells, which should be in gds files, can be used -as dynamically generated cells by using GDSMill. -Cell information such as cell size and pin location can be obtained by using -built in functions in the \verb|VlsiLayout| class. - -Cell size can be finded by using the \verb|readLayoutBorder| function of the \verb|VlsiLayout| class. -A boundary layer should be drawn in each library cell to indicate the cell area. -The \verb|readLayoutBorder| function will return the width and height of the boundary. -If a boundary layer do not exist in the layout, then \verb|measureSize| can find the physical -size cell. -The first method is used as primary method in \verb|auto_Measure_libcell| the lib\_utility.py, -while the second method is used as a back up one. -Each technolgy setup will import this utility function and read the library cell. - -Pin location can be find by using the \verb|readPin| function of the \verb|VlsiLayout| class. -The \verb|readPin| function will return the biggest boundary which covers the label and -is at the same layer as the label is. - - -\subsection{Technology Directory} -\label{sec:techdir} - -The aim of creating technology directory is to make OpenRAM portable -to different technologies. This directory contains all the information -related to the specific process/technology that is being used. In -OpenRAM, the default technology is FreePDK45, which has it own -technolony directory in the trunk. The technology-specific directory -should consist of the following: -\begin{itemize} -\item Technology Setup FIle - In \verb|/techdir/setup_scripts|, there - should be a Python file that sets up the PDK and defines anything - necessary for a given technology. This file should be named - \verb|setup_openram_.py| where techname is the name used - to identify it in configuration scripts. -\item Technology-Specific Parameters - These parameters should include - layer numbers and any design rules that may be needed for generating - dynamic designs (DRC rules). The parameters should be added in - \verb|techname/tech/tech.py| and optinally in a \verb|techname/layer.map| for - DRC/LVS streaming. -\item Library Cells - The library cells and corresponding spice - netlists should be added to the \verb|techname/gds_lib| and - \verb|techname/sp_lib| directories. -\item Spice Models - If models are not supplied in the PDK, they can be - placed in the technology directory as done in SCMOS. -\end{itemize} - -The height and width of library cells is determined by the bounding -box of all geometries. Sometimes this is not desired, for example, -when a rail must be shared. In this case, the boundary layer in the -technology file is used to define the height and width of the cell. - -Pins are recognized in library cells by the largest rectangle that -encloses the pin label text. Multiple pins with the same name are -supported. Pins with the same name such as gnd are assumed to be -``must connect'' which requires that they later be connected. - -For more information regarding the technology directory and how to set -one up for a new technology, refer to Section~\ref{sec:porting} - -\subsection{DRC/LVS Interface} -\label{sec:drclvs} - -Each design class contains a function \verb|DRC_LVS()| that performs both -DRC and LVS on the current design module. This enables bottom-up -correct-by-construction design and easy identification of where errors -occur. It does incur some run-time overhead and can be disabled on -the command line. The \verb|DRC_LVS()| function saves a GDSII file and a Spice -file into a temporary directory and then calls two functions to -perform DRC and LVS that are tool-dependent. - -Wrapper implementation for DRC and LVS functions are provided for the -open-source tools Magic+Netgen and the commercial tool, Cadence -Calibre. Each of these functions generates a batch-mode script or runset -file which contains the options to correctly run DRC and LVS. The -functions then parse the batch mode output for any potential errors -and returns the number of errors encountered. - -The function \verb|run_drc()| requires a cell name and a GDSII -file. The cell name corresponds to the top level cell in the GDSII -file. For Calibre, it also uses the layer map file for the technology -to correctly import the GDSII file into the Cadence database to -perform DRC. The function returns the number of DRC violations. - -The function \verb|run_lvs()| requires a cell name, a GDSII file, and -a Spice file. Magic or Calibre will extract an extracted Spice netlist -from the GDSII file and will then compare this netlist with the -OpenRAM Spice netlist. The function returns the number of errors -encountered if there is an LVS mismatch. - - -For both DRC and LVS, the summary file and other report files are left -in the OpenRAM temporary directory after DRC/LVS is run. These report -files can be examined to further understand why errors were -encountered. In addition, by increasing the debug level with one or -more ``-v'' command-line parametres, the command to re-create the -DRC/LVS check can be obtained and run manually. - - - - - diff --git a/docs/intro.tex b/docs/intro.tex deleted file mode 100644 index a83065b9..00000000 --- a/docs/intro.tex +++ /dev/null @@ -1,272 +0,0 @@ -\section{Introduction} -\label{sec:intro} - -The OpenRAM project aims to provide a free, open-source memory -compiler development framework for Random-Access Memories (RAMs). -Most academic Integrated Circuit (IC) design methodologies are -inhibited by the availability of memories. Many standard-cell process -design kits (PDKs) are available from foundries and vendors, but these -PDKs do not come with memory arrays or compilers. Some PDKs have -options to request ``black box'' memory models, but these are not -modifiable, have limited available configurations, and do not have -full details available to academics. These restrictions make -comparison and experimentation with real memory systems impossible. -OpenRAM, however, is user-modifiable and portable through -technology libraries to enable experimentation with real-world -memories at a variety of performance points and costs. - -The specific features of OpenRAM are: -\begin{itemize} - -\item \textbf{Memory Array Generation} - - Currently, OpenRAM includes features such as automatic word-line - driver sizing, efficient decoder sizing, multiple-word column - support, and self-timing with replica bitlines. - -\item \textbf{Portability and Extensibility} - - OpenRAM is a Python program. Python enables portability to numerous - platforms and enables the program to be extended by anyone. In - general, it works on Linux, MacOS, and Windows platforms. - - User-readable technology files enable migration to a variety of - process technologies. Currently, an implementation in a - non-fabricale 45nm technology (FreePDK45) is provided and the MOSIS - Scalable CMOS (SCN3ME\_SUBM.30) is provided. The compiler has also - been extended to several technologies. We hope to work with vendors - to distribute the technology information of others commercial - technologies soon. - - OpenRAM makes calls to both open-source or commercial circuit - simulators and DRC/LVS tools in an abstracted way for circuit - simulation and verification. This enables adaptation to other design - methodologies. It supports a completely open-source - platform for older SCMOS technologies. - -\item \textbf{Timing and Power Characterization} - - OpenRAM provides a basic framework for analysis of timing and power. - This includes both analytical estimates, un-annotated spice - simulations, or back-annotated simulations. The timing and power - views are provided in the Liberty open format for use with the most - common logic synthesis and timing analysis tools. - -\item \textbf{Commercial Tool Independence and Interoperability} - - To keep OpenRAM portable and maximize its usefulness, it it - independent from any specific commercial tool suite or - language. OpenRAM interfaces to both open-source (e.g., NGSpice) and - commercial circuit simulators through the standard Spice3 circuit - format. The physical layout is directly generated in the GDSII - layout stream format which can be imported into any academic or - commercial layout tools. We provide a Library Exchange Format (LEF) - file for interfacing with commercial Placement and Routing tools. - We provide a Verilog behavioral model for simulation. - -\item \textbf{Silicon Verification} - TBD - -\end{itemize} - -\subsection{Requirements} - -Development is done on Ubuntu or MacOS systems with Python 2.7. It -requires a few common Python libraries such as numpy, scipy (soon, for -optimization) along with standard Python libraries (os, sys, etc.). - - -\subsubsection{Timing Verification Tools} - -For peformance reasons, OpenRAM uses analytical delay models by -default. If you wish to enable simulation-based timing -characterization, you must enable this on the command line with the -``-c'' command line argument. - -% Not complete yet -%If you wish to perform back-annotated characterization, you must -%further enable this with the ``-b'' command line argument. - -OpenRAM can use the following circuit simulators and possibly others -if they support the Spice3 file format: -\begin{itemize} - \item HSpice I-2013.12-1 or later - \item ngspice 26 \url{http://ngspice.sourceforge.net/} - \item CustomSim (xa) M-2017.03-SP5 or later -\end{itemize} - -\subsubsection{Physical Verification Tools} - -By default, OpenRAM will perform DRC and LVS on each level of -hierarchy. To do this, you must have a valid DRC and LVS tool and the -corresponding rule files for the technology. OpenRAM can, however, -run without DRC and LVS verification using the ``-n'' command line -argument. It is not recommended to use this if you make any changes, -however. - -DRC can be done with: -\begin{itemize} -\item Calibre 2012.3\_15.13 or later (SCMOS or FreePDK45) -\item Magic \url{http://opencircuitdesign.com/magic/} (SCMOS only) -\end{itemize} - -LVS can be done with: -\begin{itemize} -\item Calibre 2012.3\_15.13 or later (SCMOS or FreePDK45) -\item Netgen \url{http://opencircuitdesign.com/netgen/} (SCMOS only) -\end{itemize} - -\subsubsection{Technology Files} - -To work with FreePDK45, you must install the FreePDK baseline kit from:\\ -\url{https://www.eda.ncsu.edu/wiki/FreePDK45:Contents} - -We have included an example Calibre DRC deck for MOSIS SCMOS design -rules, but DRC with Magic relies on the MOSIS scalable design -rules:\\ -\url{https://www.mosis.com/files/scmos/scmos.pdf}.\\ -We require the format 32 or later to enable stacked vias which is -included with Qflow: -\begin{verbatim} -git clone http://opencircuitdesign.com/qflow -cp tech/osu050/SCN3ME_SUBM.30.tech -\end{verbatim} - -You can over-ride the location of the DRC and LVS rules with the -DRCLVS\_HOME environment variable. - -\subsubsection{Spice Models} - -FreePDK45 comes with a spice device model. Once this is installed and -the PDK\_DIR environment variable for FreePDK45 is set, these spice -models are used. - -SCMOS, however, does not come with a device spice model. This must be -obtained from MOSIS or another vendor. We use the ON Semiconductor -0.5um device models, but are unable to distribute them. We have included our -own generic spice models for simulation of SCMOS, but we recommend that -you replace these with more accurate foundry models. - -You can over-ride the location of the spice models with the -SPICE\_MODEL\_DIR environment variable to ensure that they do not -``creep'' into the OpenRAM git repository. - - - -\subsection{Environment Variables} - -In order to make OpenRAM flexible, it uses two environment variables -to make it relocatable in a variety of user scenarios. Specifically, -the user may want technology directories that are separate from -OpenRAM. Or, the user may want to have several versions of -OpenRAM. This is done with the folowing required environment -variables: -\begin{itemize} -\item OPENRAM\_HOME defines the location of the compiler source directory. -\item OPENRAM\_TECH defines the location of the OpenRAM technology - files. This is discussed later in Section~\ref{sec:tech}. -\end{itemize} - -Other environmental variables and additional required paths for -specific technologies are dynamically added during runtime by sourcing -a technology setup script. These are mostly PDK-specific. These are located in the -"\$OPENRAM\_TECH/setup\_scripts" directory. Example scripts for SCMOS and -FreePDK45 are included with the distribution. - - -%\subsection{Design Flow} - -%% % high-level org - -%% The memory compiler framework is divided into several modules: the -%% compiler, the router, the characterizer, verify, and gdsMill. -%% Figure~\ref{fig:methodology} shows an overview of the methodology. The -%% compiler input is the memory organization with which it generates the -%% logical and layout views. The compiler then uses these views while -%% calling the characterization tool to ensure functionality and measure -%% timing/power. The characterization tool indirectly calls a spice -%% simulator for timing/power analysis. - -%% % front-end - -%% The ``front-end'' methodology can be run with no verification tools (spice, DRC, or LVS). -%% only a spice simulator -%% and will produce Spice models (eventually Verilog), layout/GDSII -%% (eventually LEF), and a timing/power model based on estimated -%% parasitics. It is intended that this mode be easily run on any -%% platform so that designers and architects can get timing, power and -%% area estimates quickly. - -%% % back-end - -%% The ``back-end'' methodology uses the spice netlist and detailed layout -%% generated by the front-end to perform back-annotated characterization -%% and generate annotated timing and power models. The back-end uses -%% layout directly in the GDSII stream format which is supported in both -%% commercial and academic back-end flows. The back-end mode is to be used -%% prior to fabrication and by designers who want detailed timing/power -%% values. - -%% In both the front-end and back-end flows, the designs are Design Rule -%% Checked (DRC) and Layout Verses Schematic (LVS) checked at each level -%% of design hierarchy. - -\subsection{Usage} - -The OpenRAM compiler requires a single argument of a configuration -file. The configuration file specifies, at a minimum, the memory size -parameters in terms of the number of words, word size (in bits), and -number of banks. By default, OpenRAM will chose the number of columns -to make the memory reasonably square. Other common configuration -parameters are the output path and base filename, characterization -corners (including the supply voltage), number of ports, technology -node, etc. - -The configuration file can be used to over-ride any option in the -options.py file. Many of these can also be controlled by the command-line -which over-ride the configuration file. - -The one exception is the technology name. The technology name of a -config file will over-ride a command-line option. The unit tests use -the command line to read a configuration file, so it is a chicken and -egg situation. - -Lastly, the configuration file can over-ride any of the different -circuit implementations for each module. For example, you can replace -the default address decoder or bitcell with a new one by specifying a -new python module that implements a new one. - -An entire example configuration file looks like: -\begin{verbatim} -word_size = 16 -num_words = 32 -num_banks = 1 - -tech_name = "freepdk45" - -output_path = "/tmp/outputdir" -output_name = "mysram" - -bitcell = "custom_bitcell" -\end{verbatim} -In this example, the user has specified a custom bitcell that will be -used when creating the bitcell\_array and other modules. - -OpenRAM has many command line arguments. Other useful command line arguments are: -\begin{itemize} -\item -h : To get help for the command-line options -\item -v : To increase the verbosity (may be used multiple times) -\end{itemize} - -\begin{figure}[tb] -\centering -\includegraphics[width=14cm]{./figs/methodology.pdf} -\caption{Overall Compilation and Characterization Methodology -\label{fig:methodology}} -\end{figure} - - - - - - diff --git a/docs/modules.tex b/docs/modules.tex deleted file mode 100644 index a232cd1f..00000000 --- a/docs/modules.tex +++ /dev/null @@ -1,601 +0,0 @@ -\section{Modules} -\label{sec:modules} - -This section provides an overview of the main modules that are used in -an SRAM. For each module, we will provide both an architectural -description and an explanation of how that design is generated and -used in OpenRAM. The modules described below are provided in the -first release of OpenRAM, but by no means is this an exhaustive list -of the possible circuits that can be adapted into a SRAM architecture; -refer to Section~\ref{sec:implementation} for more information on -adding different module designs to the compiler. - -Data structures for schematic and layout are provided in the -\verb|base| directory. These implement a generic design object and -have many auxiliary functions for routing, pin access, placement, -DRC/LVS, etc. These are discussed further in -Section~\ref{sec:implementation}. - -Each module has a corresponding Python class in the -\verb|compiler/modules| directory. These classes are used to generate -both the GDSII layout and spice netlists. A module can consist of -hard library cells (Section~\ref{sec:techdir}), paramterized -cells (Section~\ref{sec:parameterized}) or other modules. - -When combining modules at any level of hierarchy, DRC rules for -minimum spacing of metals, wells, etc. must be followed and DRC and -LVS are run by default after each hierarchical module's creation. A -module is responsible for creating its own pins to enable routing -at the next level up in the hierarchy. A module must also define its -height and width assuming a (0,0) offset for the lower-left coordinate -to aid with placement. - - -\subsection{The Bitcell and Bitcell Array} -\label{sec:bitcellarray} - -OpenRAM can work with any cell as the bitcell. This could be a foundry -created one or a user design rule cell for experiments. In addition, -it could be a common 6T cell or it could be replaced with an 8T, 10T -or other cell, depending on needs. - -By default, OpenRAM uses a standard 6T cell as shown in -Figure~\ref{fig:6t_cell}. The cross coupled inverters hold a single -data bit that can either be driven into, or read from the cell by the -bitlines. The access transistors are used to isolate the cell from -the bitlines so that data is not corrupted while a cell is not being -accessed. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.9]{figs/cell_6t_schem.pdf} -\caption{Standard 6T cell.} -\label{fig:6t_cell} -\end{figure} - -% tiling memory cells -The 6T cells are tiled together in both the horizontal and vertical -directions to make up the memory array. - -% keeping it square -It is common practice to keep the aspect ratio of a memory array -roughly ``square'' to ensure that the bitlines and wordlines do not -become too long. If the bitlines are too long, this can increase the -bitline capacitance, slow down the operation and lead to bitline -leakage problems. To make an array ``more square'', multiple words -can share rows by interleaving the bits of each word. The column mux -in Section~\ref{sec:column_mux} is responsbile for selecting a subset -of bitcells in a row to extract a word during read and write -operations. - -% memory cell is a library cell -In OpenRAM, we provide a library cell for the 6T cell that can be -swapped with a fab memory cell, if available. The transitors in the -cell are sized appropriately considering read and write noise margins. - -% bitcell and bitcell_array classes -The bitcell class in \verb|modules/bitcell.py| is a single -memory cell and is usually a pre-made library cell. - -% bitcell_array -The bitcell\_array class in \verb|modules/bitcell_array.py| dynamically -implements the memory cell array by instantiating a the bitcell class -in rows and columns. - -% abutment connections -During the tiling process, bitcells are abutted so that all bitlines -and word lines are connected in the vertical and horizontal directions -respectively. This is done by using the boundary layer to define the -height and width of the cell. If this is not specified, OpenRAM will -use the bounding box of all shapes as the boundary. The boundary layer -should be offset at (0,0) in the lower left coordinate. - -% flipping -In order to share supply rails, bitcells are flipped in alternating -rows. - - - -\subsection{Precharge Circuitry} -\label{sec:precharge} - -The precharge circuit is depicted in Figure~\ref{fig:precharge} and is -implemented by three PMOS transistors. The input signal to the cell, -clk, enables all three transistors during the first half of a read or -write cycle (i.e. while the clock signal is low). M1 and M2 charge bl -and br to vdd while M3 equalizes the voltages seen between the bitlines. - -\begin{figure}[h!] -\centering -\includegraphics[width=5cm]{./figs/precharge_schem.pdf} -\caption{Schematic of a precharge circuit.} -\label{fig:precharge} -\end{figure} - -In OpenRAM, the precharge citcuitry is dynamically generated using the -parameterized transistor class ptx which is further discussed in -Section~\ref{sec:ptx}. The offsets of the bitlines and the width of -the precharge cell are equal to the bitcell so that the bitlines are -correctly connected by abutment. The precharge class in -\verb|modules/precharge.py| dynamically generates a single precharge -cell. - -\verb|modules/precharge_array.py| creates a row of precharge cells at -the top of a bitcell array. - - - - -\subsection{Address Decoders} -\label{sec:address_decoder} - -The address decoder deodes the binary-encoded row address bits from the -address bus as inputs, and asserts a one-hot wordline in the row that -data is to be read or written. OpenRAM provides a hierarchical address -decoder as the default, but will soon have other options. - -The address decoders are created using parameterized gates (pnand2, -pnand3, pinv) and transistors (ptx). This means that the decoders do -not rely on any hard library cells. - -\subsubsection{Hierarchical Decoder} -\label{sec:hierdecoder} - - -A simple 2:4 decoder is shown in Figure~\ref{fig:2:4decoder}. This -decoder computes all of the possible decode values using a single -level of nand gates along with the inverted and non-inverted inputs. -As the decoder size increases the size of the nand gates required for -decoding would increase proportional to the bits to be decoded. This -would not be practical for large decoders. - - -\begin{figure}[h!] -\centering -\includegraphics[scale=.6]{./figs/2t4decoder.pdf} -\caption{Schematic of 2-4 simple decoder.} -\label{fig:2:4decoder} -\end{figure} - -A hierarchical decoder uses two-levels of decoding hierarchy to -perform an address decode. The first stage computes predecoded values -while the second stage computes the final decoded values. -Figure~\ref{fig:4 to 16 decoder} shows a 4:16 heirarchical -decoder. The decoder uses two 2:4 decoders for -predecoding and 2-input nand gates and inverters for final decoding to -form the 4:16 decoder. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.6]{./figs/4t16decoder.pdf} -\caption{Schematic of 4:16 hierarchical decoder.} -\label{fig:4 to 16 decoder} -\end{figure} - -The predecoder generates a total of 8 intermediate signals from the -address bits and their complements. These intermediate signals are in -two groups of 4 from each decoder. The enumeration of all 4 x 4 -predecoded values are used by the final decode to produce the 16 -decoded results. As an example, Table~\ref{table:4-16 hierarchical_decoder} -gives the detailed input and output siganls for the 4:16 hierarchical -decoder. - - - \begin{table}[h!] - \begin{center} - \begin{tabular}{| c | c | c | c |} - \hline - A[3:0] & predecoder1 & predecoder2 & Selected WL\\ \hline - 0000 & 1000 & 1000 & 0\\ \hline - 0001 & 1000 & 0100 & 1\\ \hline - 0010 & 1000 & 0010 & 2\\ \hline - 0011 & 1000 & 0001 & 3\\ \hline - 0100 & 0100 & 1000 & 4\\ \hline - 0101 & 0100 & 0100 & 5\\ \hline - 0110 & 0100 & 0010 & 6\\ \hline - 0111 & 0100 & 0001 & 7\\ \hline - 1000 & 0010 & 1000 & 8\\ \hline - 1001 & 0010 & 0100 & 9\\ \hline - 1010 & 0010 & 0010 & 10\\ \hline - 1011 & 0010 & 0001 & 11\\ \hline - 1100 & 0001 & 1000 & 12\\ \hline - 1101 & 0001 & 0100 & 13\\ \hline - 1110 & 0001 & 0010 & 14\\ \hline - 1111 & 0001 & 0001 & 15\\ \hline - \end{tabular} - \end{center} - \caption{Truth table for 4:16 hierarchical decoder.} - \label{table:4-16 hierarchical_decoder} - \end{table} - - -As the address size increases, additional sizes of pre- and final -decoders can be used. In OpenRAM, there are implementations for -\verb|modules/hierarchical\_predecode2x4.py| and -\verb|modules/hierarchical\_predecode3x8.py| to produce 2:4 and 3:8 -predecodes, respectively. These same decoders are used to generate the -column mux select bits as well. - -For the final decode, we can use either pnand2 or pnand3 gates. This -allows a maximum size of three 3:8 predocers along with a final pnand3 decode -stage, or, 512 word lines. To extend beyond this, a pnand4 or -a 4:16 predecoder would be needed. - - -\subsection{Wordline Driver} -\label{sec:wldriver} - -The word line driver buffers the address decoder to drive the wordline and -gates the signal until the decode has stabilized. Without waiting, an -incorrectly asserted wordline could erase memory contents. -The word line driver is sized according to the bitcell array width so -that wordlines in larger memory arrays can be appropriately driven. - -% gating for first half decode, second half read/write -The first half of the clock cycle is used for address decoding in -OpenRAM. Therefore, the wordline driver is enabled in the second half -of the clock cycle in OpenRAM. The buffered clock signal drives each -wordline driver row and is logically ANDed with the decoder output. - -% bank clock gating for wordline driver -In multi-bank structures the clock buffer is also anded with the bank -select signal to prevent the read/writing of an entire bank. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.6]{./figs/wordline_driver.pdf} -\caption{Diagram of word line driver.} -\label{fig:wordline_driver} -\end{figure} - -Figure~\ref{fig:wordline_driver} illustrates the wordline driver and -its inputs/outputs. This is implemented in the -\verb|modules/wordline_driver.py| module and matches the number of -rows in the bitcell array of a bank. - -OpenRAM creates the wordline drivers using the parameterized pinv and -pnand2 classes. This enables the wordline driver to be matched to the -bitcell height and to sized to drive the wordline load. - - - -\subsection{Column Mux} -\label{sec:column_mux} -The column mux is an optional module in an SRAM bank. Without a column -mux, the bank is assumed to have a single word in each row. A column -mux enables more more than one word to be stored in each row and -read/written individually. The column mux is used for both the read -and write operations by connecting the bitlines of a bank to -both the sense amplifier and the write driver. - -In OpenRAM, the column mux uses the {\bf high address bits} to select -the appropriate word in each row. If n-bits are used, there are $2^n$ -words in each row. OpenRAM currently allows 2, 4, or 8 words per row, -but the 8 words are not fully debugged (as of 2/12/18). - -%% OpenRAM provides several options for column mux, but the default -%% is a single-level column mux which is sized for optimal speed. - -%% \subsubsection{Tree\_Decoding Column Mux} -%% \label{sec:tree_decoding_column_mux} - -%% The schematic for a 4-1 tree -%% multiplexer is shown in Figure~\ref{fig:colmux}. - -%% \begin{figure}[h!] -%% \centering -%% \includegraphics[scale=.9]{./figs/tree_column_mux_schem.pdf} -%% \caption{Schematic of 4-1 tree column mux that passes both of the bitlines.} -%% \label{fig:colmux} -%% \end{figure} - -%% \fixme{Shading/opacity is different on different platforms. Make this a box in the image. It doesn't work on OSX.} - -%% This tree mux selects pairs of bitlines (both BL and BL\_B) as inputs -%% and outputs. This 4-1 tree mux illustrates the process of choosing -%% the correct bitlines if there are 4 words per row in the memory array. -%% Each bitline pair represents a single bit from each word. A binary -%% reduction pattern, shown in Table~\ref{table:colmux}, is used to -%% select the appropriate bitlines. As the number of words per row in -%% the memory array increases, the depth of the column mux grows. The -%% depth of the column mux is equal to the number of bits in the column -%% address bus. The 4-1 tree mux has a depth of 2. In level 1, the -%% least significant bit from the column address bus selects either the -%% first and second words or the third and fourth words. In level 2, the -%% most signifant column address bit selects one of the words passed down -%% from the previous level. Relative to other column mux designs, the -%% tree mus uses significantly less devices. But, this type of design -%% can provide poor performance if a large decoder with many levels are -%% needed. The delay of of a tree mux quadratically increases with each -%% level. Due to this fact, other types of column -%% decoders should be considered for larger arrays. - -%% \begin{table}[h!] -%% \begin{center} -%% \begin{tabular}{| c | c | c | c |} -%% \hline -%% Selected BL & Inp1 & Inp2 & Binary\\ \hline -%% BL0 & SEL0\_bar & SEL1\_bar & 00\\ \hline -%% BL1 & SEL0 & SEL1\_bar & 01\\ \hline -%% BL2 & SEL0\_bar & SEL1 & 10\\ \hline -%% BL3 & SEL0 & SEL1 & 11\\ -%% \hline -%% \end{tabular} -%% \end{center} -%% \caption{Binary reduction pattern for 4-1 tree column mux.} -%% \label{table:colmux} -%% \end{table} - -%% In OpenRAM, the tree column mux is a dynamically generated design. The -%% \verb|tree_mux_array| is made up of two dynamically generated cells: \verb|muxa| -%% and \verb|mux_abar|. The only diffference between these cells is that input -%% select signal is either hooked up to the \textbf{SEL} or -%% \textbf{SEL\_bar} signals (see highlighted boxes in -%% Figure~\ref{fig:colmux}). These cells are initialized the the -%% \verb|column_muxa| and \verb|column_muxabar| classes in \verb|columm_mux.py|. Instances -%% of \verb|ptx| PMOS transistors are added to the design and the necessary -%% routing is performed using the \verb|add_rect()| function. A horizontal rail -%% is added in metal2 for both the SEL and Sel\_bar signals. Underneath -%% those input rails, horizontal straps are added. These straps are used -%% to connect the BL and BL\_B outputs from \verb|muxa| to the BL and BL\_B -%% outputs of \verb|mux_abar|. Vertical conenctors in metal3 are added at the -%% bottom of the cell so that connections can be made down to the sense -%% amp. Vertical connectors are also added in metal1 so that the cells -%% can connect down to other mux cells when the depth of the tree mux is -%% more than one level. - -%% The \verb|tree_mux_array| class is used to generate the tree mux. -%% Instances of both the \verb|muxa| and \verb|mux_abar| cells are instantiated and -%% are tiled row by row. The offset of the cell in a row is determined -%% by the depth of that row in the tree mux. The pattern used to -%% determine the offset of the mux cells is -%% $muxa.width*(i)*(2*row\_depth)$ where is the column number. As the -%% depth increases, the mux cells become further apart. A separate -%% ``for'' loop is invoked if the $depth>1$, which extends the -%% power/ground and select rails across the entire width of the array. -%% Similarly, if the $depth>1$, spice net names are created for the -%% intermediate connection made at the various levels. This is necessary -%% to ensure that a correct spice netlist is generated and that the -%% input/output pins of the column mux match the pins in the modules that -%% it is connected to. - - -\subsubsection{Single-Level Column Mux} -\label{sec:single_level_column_mux} - -OpenRAM includes a single-level pass-gate mux implemtation for the -column mux. A single level of NMOS devices is driven by either the -input address (and it's complement) or decoded input addresses using a -2:4 predecoder (Section~\ref{sec:hierdecoder}). - -Figure~\ref{fig:2t1_single_level_column_mux} shows the schematic of a -2:1 single-level column mux. In this column mux, the {\bf MSB of the - address bus} and it's complement drive the pass transistors. - -Figure~\ref{fig:4t1_single_level_column_mux} shows the schematic of a -4:1 single-level column mux. The select bits are decoded from the {\bf - 2 MSB of the address bus} using a 2:4 decoder. The 2:4 decoder -provides one-hot select signals to select one column. - -In OpenRAM, one mux, single\_level\_mux, is dynamically generated in -\verb|modules/single_level_column_mux.py| and multiple of these muxes -are tiled together in \verb|modules/single_level_column_mux_array.py|. - -single\_level\_mux uses the parameterized ptx (Section~\ref{sec:ptx} -to generate 2 or 4 NMOS transistors for each the bl and br -bitlines. Horizontal rails are added for the $sel$ signals. The -bitlines are automatically pitch-matched to the bitcell array. - - -\begin{figure}[h!] -\centering -\includegraphics[scale=.5]{./figs/2t1_single_level_column_mux.pdf} -\caption{Schematic of a 2:1 single level column mux. \fixme{Signals names are wrong.}} -\label{fig:2t1_single_level_column_mux} -\end{figure} - - - -\begin{figure}[h!] -\centering -\includegraphics[scale=.5]{./figs/4t1_single_level_column_mux.pdf} -\caption{Schematic of a 4:1 single level column mux. \fixme{Signals names are wrong.}} -\label{fig:4t1_single_level_column_mux} -\end{figure} - - -\subsection{Sense Amplifier} -\label{sec:senseamp} -The sense amplifier is used to sense the difference between the -bitline and bitline bar while a read operation is performed. -The sense amplifier also includes two PMOS transistors for bitline -isolation to speed-up read operations. The schematic for the sense amp is shown in -Figure~\ref{fig:sense_amp}. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.8]{./figs/sense_amp_schem.pdf} -\caption{Schematic of a single sense amplifier cell.} -\label{fig:sense_amp} -\end{figure} - -During address decoding (while the wordline is not asserted), the sense -amplifier is disabled and the bitlines are precharged to vdd by the -precharge unit. The two PMOS transistors also connect the bitlines to the sense amplifier. - -The en signal comes from the control logic (Section~\ref{sec:control}) -including the timing and replica bitline (Section~\ref{sec:RBL}). It -is only enabled after sufficient swing is seen on the bitlines so that -the value can be accurately sensed. - -The sense amplifier is enabled by the en signal, which initiates the -read operation, and also isolates the sense amplifier from the -bitlines. This allows the sense amplifier to drive a smaller -capacitance rather than the whole bitline. At this time, the footer -transistor is also enabled which allows the sense amplifier to use -feedback to sense the bitline differential voltage. - -When the sense amp is enabled, one of the bitlines experiences a -voltage drop based on the value stored in the memory cell. If a zero -is stored, the bitline voltage drops. If a one is stored, the bitline -bar voltage drops. The output signal is then -taken to a true logic level and latched for output to the data bus. - -In OpenRAM, the sense amplifier is a libray cell. The associated -layout and spice netlist can be found in the \verb|gds_lib| and -\verb|sp_lib| in the technology directory. The sense\_amp class in -\verb|modules/sense_amp.py| is a single instance of the sense amp -library cell. - - -The sense\_amp\_array class in \verb|modules/sense_amp_array.py| -handles the tiling of the sense amps cells. One sense amp cell is -needed per data bit and the sense amp cells need to be appropriately -spaced so that they can hook up to the column mux bitline pairs. The -spacing is determined based on the number of words per row in the -memory array. - -The sense amp is a library cell so that custom -amplifier designs could be swapped into the memory as needed. The two -major things that need to be considered while designing the sense -amplifier cell are the size of the cell and the bitline/input pitches. -Optimally, the cell should be no wider than the 6T cell so that it -abuts to the column mux and no extra routing or space is needed. -Also, the bitline inputs of the sense amp need to line up with the -outputs of the write driver. In the current version of OpenRAM, the -write driver is situated under the sense amp, which had bitlines -spaning the entire height of the cell. In this case, the sense -amplifier is disabled during a write operation but the bitlines still -connect the write driver to the column mux without any extra routing. - - -\subsection{Write Driver} -\label{sec:writedriver} - -The write driver is used to drive the input signal into the memory -cell during a write operation. It can be seen in -Figure~\ref{fig:write_driver} that the write driver consists of two -tristate buffers, one inverting and one non-inverting. It takes in a -data bit, from the data bus, and outputs that value on the bitline, -and its complement on bitline bar. The bitlines need to be -complements so that the data value can be correctly stored in the 6T -cell. Both tristates are enabled by the EN signal. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.8]{./figs/write_driver_schem.pdf} -\caption{Schematic of a write driver cell, which consists of 2 tristates (non-inverting and inverting) to drive the bitlines.} -\label{fig:write_driver} -\end{figure} - -Currently, in OpenRAM, the write driver is a library cell. The -associated layout and spice netlist can be found in the \verb|gds_lib| and -\verb|sp_lib| in the FreePDK45 directory. Similar to the \verb|sense_amp_array|, -the \verb|write_driver_array| class tiles the write driver cells. One -driver cell is needed per data bit and Vdd, Gnd, and EN signals must -be extended to span the entire width of the cell. It is not optimal to -have the write driver as a library cell because the driver needs to be -sized based on the capacitance of the bitlines. A large memory array -needs a stronger driver to drive the data values into the memory -cells. We are working on creating a parameterized tristate class, -which will dynamically generate write driver cells of different -sizes/strengths. - -\subsection{Flip-Flop Array} - -In a synchronous SRAM it is necessary to synchronize the inputs and -outputs with a clock signal by using flip-flops. In FreePDK45 we -provide a library cell for a simple master-slave flip-flop, see -schematic in Figure~\ref{fig:ms_flop}. In our library cell we provide -both Q and Q\_bar as outputs of the flop because inverted signals are -used in various modules. The \verb|ms_flop| class in \verb|ms_flop.py| -instatitates a single master-slave flop, and the \verb|ms_flop_array| class -generates an array of flip-flops. Arrays of flops are necessary for -the data bus (an array for both the inputs and outputs) as well as the -address bus (an array for row and column inputs). The \verb|ms_flop_array| -takes the number of flops and the type of array as inputs. Currently, -the type of the array must be either ``data\_in'', ``data\_out'', -``addr\_row'', or ``addr\_col'' verbatim. The array type input is -used to look up that associated pin names for each of the flop arrays. -This was implemented very quickly and should be improved in the near -future... - -\begin{figure}[h!] -\centering -\includegraphics[scale=.7]{./figs/ms_flop_schem.pdf} -\caption{Schematic of a master-slave flip-flop provided in FreePDK45 library} -\label{fig:ms_flop} -\end{figure} - -\subsection{Control Logic} - -The details of the control logic architecture are outlined in -Section~\ref{sec:control}. The control logic module, -\verb|control_logic.py|, instantiates a \verb|control_logic| class that arranges -all of the flip-flops and logic associated with the control signals -into a single module. Flip-flops are instantiated for each control -signal input and library NAND and NOR gates are used for the logic. A -delay chain, of variable length, is also generted using parameterized -inverters. The associated layouts and spice netlists can be found in -the \verb|gds_lib| and \verb|sp_lib| in the FreePDK45 directory. - -\section{Bank and SRAM} -\label{sec:bank} - -The overall memory architecture is shown in figure~\ref{fig:bank}. -As shown in this figure one Bank contains different modules including -precharge-array which is positioned above the bitcell-array, -column-mux-array which is located below the bitcell-array, -sense-amp-array, write-driver-array, data-in-ms-flop-array -to synchronize the input data with negative edge of the clock, -tri-gata-array to share the bidirectional data-bus between input -and output data, hierarchical decoder which is placed on the right side -of the bitcell-array (predecoder + decoder), wordline-driver which drives -the wordlines horizontally across the bitcell-array and address-ms-flops -to synchronize the input address with positive edge of the clock. - -In bitcell-array each memory cell is mirrored vertically and horizontally inorder to share VDD and GND rails with adjacent cells and form the array. -Data-bus is connected to tri-gate, address-bus is connected to address-ms-flops and bank-select -signal will enable the bank when it goes high. To complete the SRAM design, bank is connected to control-logic as shown in figure~\ref{fig:bank}. -Control-logic controls the timing -of modules inside the bank. CSb, OEb, Web and clk are inputs to the control logic and output of -control logic will ANDed with bank-select signal and send to the corresponding modules. - - -\begin{figure}[h!] -\centering -\includegraphics[scale=1]{./figs/bank.pdf} -\caption{Overal bank and SRAM architecture.} -\label{fig:bank} -\end{figure} - - -In order to reduce the delay and power, divided wordline strategy have been used in this compiler. Part of the address bits -are used to define the global wordline (bank-select) and rest of address bits are connected to hierarchical -decoder inside each bank to generate local wordlines that actually drive the bitcell access transistors. - -As shown in figure~\ref{fig:bank2} SRAM is divided to two banks which share data-bus, address-bus, control-bus and control-logic. -In this case one bit of address (most significant bit) goes to an ms-flop and outputs of ms-flop (address-out and address-out-bar) -are connected to banks as bank-select signals. Control logic is shared between two banks and based on which bank is selected, -control signals will activate modules inside the selected bank. In this architecture, the total cell capacitance is reduced by up -to a factor of two. Therefore the power will be reduced greatly and the delay among the wordlines is also reduced. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.9]{./figs/bank2.pdf} -\caption{SRAM is divided to two banks which share the control-logic.} -\label{fig:bank2} -\end{figure} - -In figure~\ref{fig:bank4}, four banks are connected together. In this case a 2:4 decoder is added to select one of the banks using two -most significant bits of input address. Control signals are connected to all banks but will turn on only the selected bank. - - -\begin{figure}[h!] -\centering -\includegraphics[scale=.9]{./figs/bank4.pdf} -\caption{SRAM is divided to 4 banks wich are controlled by the control-logic and a 2:4 decoder.} -\label{fig:bank4} -\end{figure} - - diff --git a/docs/openram_manual.pdf b/docs/openram_manual.pdf deleted file mode 100644 index 08d4b4614ee28860d855660ed842cec546daf9bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260616 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 m*(yi+Wr6w*C-p- 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 aao83p{oyYZx&Om>7R2A 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 z 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�>_k;lq%QBPgH~sUY?7wva(K)S2r~D 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ΚE(|_8({Vl% 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 jz4zY@Q(|(SjMius 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

iyp1&G{ES6F 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%0A?_nkD88UHty!qY%TR%E#om;M8}f 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ͭKHyH9i9W^Ch%Xcjp05j{O#NAYFz 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�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

|QIkNRx`>wV5#GN?8};`m`8?Jh$qWW+FR| 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

@s;^hy#ex(OQaWGz@Xrw$B&7-oc?v-g6))j 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

bqWKjyx&47$jv{A@Qe= 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

  • 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

    +J_R{K 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

    gt0A94d0U6zfQJwJt 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�%}(|HIm=w7FlIH!tG9hS#F1&;I_&) zf}PL_D=|d;Zvs+z$_mVpx4z!Umrwtzv)On0dEwS(0U_+bYQT$IusBM94@f}C{N1J5 z#*u$_TPE&mX_fxxfbB*n%4&B5+3r>=yN;_&6h7Tt`P4K*Y7bRsSG!gfoblgsEhT3! zww8{1o7=pAjl~V!wySuHj6d?}>mOZ`8$=6b4MHZ(W%XUe8)OSl=Xo$2sOl_+OR_F_ z)YURJOC;piiEDY(8>kw*hK5`0b@+@9N`R%>u!HgS@^4^oz%|ognp2$^UpJB17#C+LN^O%b3*eUob2dmVoGRlU}R-r zWV-$V@AhB&&o*8#7@N^W#Zvx=V#gCngo$>$4MA^~6-rmIc2X`A-JDI>R$SaGe(~G)T zTN@hK+Wz2iN@a5kC&HiWe~gEgP}RiI>8EQ#7J4RDrXSxN6dM(xmA!$pxs!Go{8!|(B8z>*v`-r2Efkw|HB-xvj0!wfCcdX z5eG~hENuU`#6hrzjNK+XV%NLczg4=}^uvEfP+-6TVBq1+7IQI5aRcOQ*suUs{hElU z9XEW5u|i=giW>Y77CZb9A<5$0#vd9`cD$aMi25S2NmrvU3``-hky*7Z7mda)-;r8f z5w{73NymXTd~BjYB~0UMoK{G}7mzk0;OlOZ87P4mGCUSjDs4=|PilU*PXq%@VvyQ2 zh_DyF28BW5J2>qbHY`0ZN;6E0yO+I2Gp{Nrj>(KPtl+*u$*&$KWuJ-)&L9*IS=XSJ z8R>}aZM>>Mk%>Y@M46qCARK3LH}23|ncFE_8#bPRGIO`fD>0jxh!F2NulXu|Ol?uX zqeZCtN_v<;j@D=|t7$A0AmQ~dIxKKikK~Gob+o5|i8&yOjdZ)Tt5BBlyV&!1q z>^dJ{@8b*j3?v&zxRL$VRfap-d%qtz5V@n4Z2N;uz%aj5p=QIF9(YE- zde}Wk?cb5cF2iDjIXyWz`pfjqqj*aqR*OT&H%WFZ=I!H>I62J_>)MDdPFg*I^`08D zg?Ek}w+i1q?TF3ukW3CYIA;i+8>UH6t{fwn+)yJ=(poX}P5j<4)uHgROY7ThWTr&y zafQR~hQIse)6u&X*ZBQ-?L32kzGP-6Ef9vP$&XJQZylZKcc}<1;tDYs>Ae?2StfrD zLqu)E);n1X^X^Y*4tn0$RbpVM7ICooIWvLruhdwuLE5q@1+xk!rowWqKj^P zV=D#RHLJk%Z;YSb+)phGKp%;slt3f%W@)8j>BDj(4T*4&Qsm(@pmkY@lR8p8>57om z=)_2rZ__i*jV}ZgjUH|F=g8l78m=*#({hA`JN6Y$*BRR>of0X~&-TONtUqV|h=kk6 zKqnwRqR%*+)3vzg2MK8cM3dUUsZcd9hZ;(oRvGHhZq*qsgJ3e~1p0F8Hi;z>YcNE} z<8K~Oj~n%=2E*QsgE;8Cp>51QAcjoGTGV**wlB6{9XrQxh6;bh4i#Hupn_$Ly`#qk z7sqM_#s1#R{i~8asX96CH+onMuZ0+6tP>F`KJBVNG7n7$5+*o;Mm3^RlU6XTYGjE1 zHaJYc9w=oaZ4KTA-5feJT#Qa+eUXeoJ>J21Xo4^!iqkmDC0OyxQtvvQE}*%us+gSv z-WJK(Pu4Bbp3`Ny@jst&f!H}*7Dh0Ku}V9L-atzNnzz4cACdh>iHPSdl;BQqam_L? zwG^cl7HLjteVhVfUSVj=P!qdNelxy~9^rJ{xd4^v<5t z{f~YEqgG;_0{XJm`W0Zko!S-M8H(Fb%HDw0&xAeVqKkCOLk3a$iF@! zP#!=ax;Xp#2_*JSpdgx4032b2O;knm>#Kb10jMXu%V6(2L^XpC3D=8*^q*G5@aqD z<0KfUDd#bq%dE8KZORA)4bhZV59VtZ?4E{rd`XsA?-|%HtI@@{A9cOFY_?)A88NF> z;7+%m9Z`*UCF`4ZZNJYrwhfgMJzB6@-N?Qlr4XaQ;Uj!1CN#Fjy^TFY$Nq9_9)01l z3afS*($Ev{PPw%9?U8V)*CNuLMrp$gHiT29u zCw1-&ObvCNrL=`g+7naVKXq?b!8sUnB4^mw#NOt4@FqL)I6d=dIpFYovASE(d&s}| zTK9GI)^Zqlb8}R)=9Q+`)vSE;$QyLQ*{i*_%+1-okkaGuzGP(onBJ*Y{fL%+(UpBc z6>#%<#BimT&W>#v6;FNQ3E|+Qw)^Hg8rHME*Nooci!Jk*o^#H|v82{eXkn+Irn{4k zKSY_d#q?+6^JYRqr-xHFy5*VUrPPZgX(G>e@$2Z!(W`r6^dX5Oh5d_8fgfZi)3^KE zx&7<@mKAHFk)fnxg;S_)Ynq_y8}bgT+x>sH>;U|i-=?~vi75<&gsriOJE0aMAtxiJ z4h(~mg{R4Xk}wQvgj!65EQCxyg^G4|&Oe3hKTRn9r-rHBPwqeKnE&L23AK3GIYn7G zgaGUu9HN4Z?4p9gqU@sVY-|F8%p3wD>;M2C;s4p>rypq(TeF{a4l^^y|25H1ma1iq zx`H=+!f)F3wA%5szDonK6IB|JM%m##q&_w?9ISHo6Ed=vioa~EY3q8XB$(Oj~TdhQ-Vjr<(S$QJ4Ws$ zn6Q^SqC^VK->}ok-8&-(^%$Q>} zrUl0iDGi+0ozC4X7P41>hj#(onBjEbVt_m95;El9+wE~2s6L|HjNLCzu)nv{yIF$x z5Mux6_os-(dMURdw&5J%aECSqGeq%058Mw~y^uM9$(?i)L)<_-aHaQb1~LT8_eis| zliE-7S=@`<6U4V>sd%O`e$-ed5AX(X#Lfk1cP%>G*?0#n9pkAH-cv(P8pH4HHCrfuSghCY@lea|cha1$=)By6sp>AaKl7;mT+blqYkthEc z*Dg@=1Y02M45KDOlkJS}IWro6UkpjwXV#-L3L+!ljc4Bb4VojiG=ANh@F>?v9cSy3 z*MX)x&EGhsEPo7zw(0K&PL!`8E)R^}r+VJ1J84hBua5a|T|9Vmad5%B1RzgYzoo9) zygZI8&R4*n{E6=EItlGo@7}%(&lv$QZ<9SwCLTXCY8QjO;^vCu`^d|Z*Z3>YOaeiPZKCn*!Sq_2^zoj;KSmL4Sdf))Td zt+oFJJafnJE%~WRm*x{gZE9&Gb46CGAJzxq($))TOmZb&DSfD%R^L}oYp2!RUzRFQ z?qyCPZf2^B8WXK_w^QF|ka=qcIV>jodKB@op12d+SR_mZ-*MMgq0drdy>-Yw`u-$Q zF=m$abCjCyq>r&58cM$GB$6OEBE~KODvOY!{lYGVXIp>3$tfYyiiFr+ucT4#^~M&dVF&>r5s@ zX3)K^YTaqlV(lmvIf30qztg?$Hg^i?_mJ`X>MB0RHysYRk$P1UwwIj)5zgEq(NwAk zA0W|qQx%xbJye&5B7}>sB(a1Ey`k` zChXS-iAx!1RPI>7x6P;(C_MVdeY7zP$x58;Nsn%9)4ooeri<*Nfwaz(`oF%FMSGxA z<2756Wm>tA#b2`)L$8l_?Y(?7vfV^$@Z>-gEptY@0LIeiF&q#s zIsE3uC{+(G$!PWSqZKlj@WYoMkrG)TS)YQ1WX}Q-9l*aR`T#1aE_O;g^h^lcGf}lZ z@LGsuT9=d1w=Bqsf55Xl3`{;w*!}g*sGi9Cn$yxqVVn@WZB9;&`pX?XE zBCDPFN+1a-H6N|`vuH&>KjA?NVm<{vGh`Z)MaGIX4#n_`N!qvohA88Zjc(I}8{qr&W z^8AX(aTVtC^J+dGBXmADyegi1g!XZcwfbaz8J6n6W|gG8v~A{OcKlVA(6m}-Lw09b z(OblZGhx$OXX7R=ZD0?ogB>c3mPJ-QN(10DJ}1xR^Z{%Wk>BcS3Yg8bPPO8ScHFPM z4U>aHGvii#ih&x(jz!dD3U+csgte0kR+f|?o@|mD$7?&IQi061pvJWK9~5qSzue7c zRMn5c^>oQfK{{K_tomf-As;qcF;1Hr@mbZ6JyZBL%+qpq)Rv6XdbU)StW92XRF(`) zWccNmEKNvul$T6RX0{ZYM#itZ^ULwz{0;0eaqI4)X{!u~pn!znv3yfOBAE}5XpLVC zAQ(?$75;YS1;g!_N`L8{_#6>7!_+_Fva=PR<67&h9@P5DXJD8-VdA+$tHF Jh@2?Qe*-_&9}WNj diff --git a/docs/openram_manual.tex b/docs/openram_manual.tex deleted file mode 100644 index 32dfc3be..00000000 --- a/docs/openram_manual.tex +++ /dev/null @@ -1,108 +0,0 @@ -% The % is a comment. This file is an Example LaTeX document for GP111 -\documentclass[11pt]{article} -\usepackage{times} % LaTeX 2e -\usepackage{graphicx} -\usepackage{epstopdf} -%\usepackage{subfigure} -\usepackage[colorlinks=true]{hyperref} -%\usepackage[doublespacing]{setspace} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Generic Shared across papers Keywords - -\newcommand{\fixme}[1]{{\Large FIXME:} {\bf #1}} -\newcommand{\note}[1]{{\bf Note:} \{\uline{#1}\}\\} - -% create some additional spacing between paragraphs. -\setlength{\parskip}{7pt} -% Default margins are too wide all the way around. I reset them here. -\setlength{\topmargin}{-.5in} -\setlength{\textheight}{9in} -\setlength{\oddsidemargin}{.125in} -\setlength{\textwidth}{6.25in} - -\begin{document} - -\title{OpenRAM Manual} -\author{Matthew R. Guthaus - mrg@ucsc.edu\\ - and many others -} -%\renewcommand{\today}{October 14, 2010} -\maketitle -\newpage -\section{License} - -\begin{verbatim} - Copyright 2018 Regents of the University of California and The Board - of Regents for the Oklahoma Agricultural and Mechanical College - (acting for and on behalf of Oklahoma State University) - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -\end{verbatim} - - -\newpage -\setcounter{tocdepth}{2} -\tableofcontents - -\newpage - -% Each chapter description -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{intro} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{overview} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{modules} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{implementation} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{parameterized} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{porting} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{timing} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{unittests} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\input{debug} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\input{conclusions} -\input{gdsmill} - - -\end{document} diff --git a/docs/overview.tex b/docs/overview.tex deleted file mode 100644 index 89378c80..00000000 --- a/docs/overview.tex +++ /dev/null @@ -1,90 +0,0 @@ -\section{Overview of the SRAM Structure} -\label{sec:overview} - - -% address decode and mem array -The baseline SRAMs generated by OpenRAM have 1 read/write port as -shown in Figure~\ref{fig:sram_architecture}. The address is decoded -(Section~\ref{sec:addressdecoder}) into a one-hot set of word lines -(WL) which are driven by word line drivers -(Section~\ref{sec:wldriver}) over the bit-cell array -(Section~\ref{sec:bitcellarray}). To facilitate reads, the precharge -circuitry (Section~\ref{sec:precharge}) precharges the bitlines so -that the column mux (Section~\ref{sec:column_mux}) can select the -appropriate word which is then sensed by the sense amplifiers -(Section~\ref{sec:senseamp}). Write drivers -(Section~\ref{sec:writedriver}) use the bidirectional nature of the -column mux to write the appropriate columns in a given memory row. - -A representative layout of such a memory closely resembles the logical -representation and is shown in Figure~\ref{fig:layout_view}. The -address and data flip-flops and control circuitry are not shown but -are detailed in Section~\ref{sec:control}. - - -\begin{figure}[htb] -\centering -\includegraphics[width=10cm]{./figs/sram_overview.pdf} -\caption{Single Port SRAM Architecture} -\label{fig:sram_architecture} -\end{figure} - - -\begin{figure}[htb] -\centering -\includegraphics[width=6cm]{./figs/layout_view_1024_16_annotated.pdf} -\caption{1k SRAM with Two Columns and 16-bit Data} -\label{fig:layout_view} -\end{figure} - - - -\subsection{Inputs/Outputs} -\label{sec:io} - -The inputs to the SRAM are: -\begin{itemize} -\setlength{\itemsep}{0pt} -\item clk - External Clock -\item CSb - Active-low Chip Select -\item WEb - Active-low Write Enable -\item OEb - Active-low Output Enable -\item ADDR[\#] - Address Bus input (LSB is 0) -\item DATA[\#] - Bi-directional Data bus (LBS is 0) -\end{itemize} -If multiple ports are used, the ADDR and DATA buses are appended with -integers to extend them. - -The outputs to the SRAM are: -\begin{itemize} -\setlength{\itemsep}{0pt} -\item DATA\# - correspond to the bi-directional Data bus. -\end{itemize} - -The supply voltages to the SRAM are: -\begin{itemize} -\item vdd - Supply voltage -\item gnd - Ground supply voltage -\end{itemize} - -\subsection{Top-Level SRAM Module} -\label{sec:sram} - -The sram class in \verb|sram.py| is the top-level SRAM module. This -class handles the overall organization of the memory, instantiates the -contorl logic, instantiates a number of banks, and creates decoded -enable signals for multiple banks. All of the top level routing is -performed in the sram class. - - -The sram class instantiates identical copies of the bank module from -\verb|bank.py|. All other sub-modules access the value of sizes from -bank. The bank module includes an address decoder, (optional) column -address decoder, (optional) column mux, sense amplifiers, precharge -circuitry, write drivers, etc. A single bank organization is depicted -in Figure~\ref{fig:sram_architecture}. - -Discussion of the design data structure is discussed in -Section~\ref{sec:design} and the modules contained in the top-level -SRAM are detailed in Section~\ref{sec:modules}. - diff --git a/docs/parameterized.tex b/docs/parameterized.tex deleted file mode 100644 index e85670bb..00000000 --- a/docs/parameterized.tex +++ /dev/null @@ -1,258 +0,0 @@ -\section{Custom Layout Design Functions in Software} -\label{sec:parameterized} - -OpenRAM provides classes that can be used to generated parameterized -cells for the most common cells: transistors, inverters, nand2, nand3, etc... -There are many advantages to having parameterized cells. -The main advantage is that it makes it easier to dynamically generate designs and cuts -down the necessary code to be written. -We also need parameterized cells because some designs, such as the wordline drivers, need to be -dynamically sized based on the size of the memory. -Lastly, there may be certain physical dimension requirements that need to be met for a -cell, while still maintaing the expected operation/performance. -In OpenRAM we currently provide five parameterized cells: parameterized -transistor (\verb|ptx|), parameterized inverter (\verb|pinv|), parameterized nand2 (\verb|nand_2|), -parameterized nand3 (\verb|nand_3|) and parameterized nor2 (\verb|nor_2|). - - -\subsection{Parameterized Transistor} -\label{sec:ptx} - -The parameterized transistor class generates a transistor of specified -width and number of mults. -The \verb|ptx| is constructed as follows: -\begin{verbatim} -def __init__(self,name,width,mults,tx_type) -\end{verbatim} - -An explanation of the \verb|ptx| parameters is shown in -Table~\ref{table:ptx_params}. A layout of ptx, generated by the -following instatiation, is depicted in Figure~\ref{fig:ptx_example}. -\begin{verbatim} -fet = ptx.ptx(name = "nmos_1_finger", width = tech.drc["minwidth_tx"], -mults = 1, tx_type = "nmos"). -\end{verbatim} - -\begin{table}[h!] - \begin{center} - \begin{tabular}{| l | c |} - \hline - Parameter & Explanation \\ \hline - \verb|width| & active\_height \\ \hline - \verb|mults| & mult number of the transistor \\ \hline - \verb|tx_type| & type of transistor,”nmos” and “pmos” \\ \hline - \hline - \end{tabular} - \end{center} - \caption{Parameter Explanation of ptx} - \label{table:ptx_params} -\end{table} - - -\begin{figure}[h!] -\centering -\includegraphics[width=10cm]{./figs/ptx.pdf} -\caption{An example of Parameterized Transistor (ptx)} -\label{fig:ptx_example} -\end{figure} - - - -\subsection{Parameterized Inverter} -\label{sec:pinv} - -The parameterized inverter (\verb|pinv|) class generated an inverter -of a specified size/strength and height. The \verb|pinv| is -constructed as follows: -\begin{verbatim} -def __init__(self, cell_name, size, beta=tech.[pinv.beta], -cell_size=tech.cell[height]) -\end{verbatim} - -The parameterized inverter can provide significant drive strength -while adhering to physical cell size limitations. That is achieved by -having many small transistors connected in parallel, thus the height -of the inverter cell can be manipulated without the affecting the -drive strength. The NMOS size is an input parameter, and the PMOS size -will be determined by $beta*NMOS\_size$, where beta is the ratio of -the PMOS channel width to the NMOS channel width. The following code -instatiates the \verb|pinv| instance seen in Figure~\ref{fig:pinv}. -\begin{verbatim} -a=pinv.pinv(cell_name="pinv",size=tech.drc["minwidth_tx"]*8) -\end{verbatim} -\begin{figure}[h!] -\centering -\includegraphics[width=10cm]{./figs/pinv.pdf} -\caption{An example of Parameterized Inverter(pinv)} -\label{fig:pinv} -\end{figure} - - -The \verb|pinv| parameters are explained in Table~\ref{table:pinv_params}. -\begin{table}[h!] - \begin{center} - \begin{tabular}{| l | c |} - \hline - Parameter & Explanation \\ \hline - \verb|size| & The logic size of the transistor of the nmos in the pinv \\ \hline - \verb|beta| = tech.[pinv.beta] & Ratio of pmos channel width to nmos channel width. \\ \hline - \verb|cell_size| = tech.cell[height] & physical dimension of cell height. \\ - \hline - \end{tabular} - \end{center} - \caption{Parameter Explanation of pinv} - \label{table:pinv_params} -\end{table} - - - -\subsection{Parameterized NAND2} -\label{sec:nand2} - -The parameterized nand2 (\verb|nand_2|) class generated a 2-input nand gate -of a specified size/strength and height. The \verb|nand_2| is -constructed as follows: -\begin{verbatim} -def __init__(self, name, nmos_width, height=tech.cell_6t[height]) -\end{verbatim} - -The NMOS size is an input parameter, and the PMOS size -will be equal to NMOS to have the equal rising and falling for output. -The following code instatiates the \verb|nand_2| instance seen in Figure~\ref{fig:nand2}. -\begin{verbatim} -a=nand_2.nand_2(name="nand2", nmos_width=2*tech.drc["minwidth_tx"], -height=tech.cell_6t["height"]) -\end{verbatim} - -\begin{figure}[h!] -\centering -%\includegraphics[width=10cm]{./figs/nand2.pdf} -\caption{An example of Parameterized NAND2(nand\_2)} -\label{fig:nand2} -\end{figure} - - -The \verb|nand_2| parameters are explained in Table~\ref{table:nand2_params}. -\begin{table}[h!] - \begin{center} - \begin{tabular}{| l | c |} - \hline - Parameter & Explanation \\ \hline - \verb|nmos_width| & The logic size of the transistor of the nmos in the nand2 \\ \hline - \verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\ - \hline - \end{tabular} - \end{center} - \caption{Parameter Explanation of nand2} - \label{table:nand2_params} -\end{table} - - - -\subsection{Parameterized NAND3} -\label{sec:nand3} - -The parameterized nand3 (\verb|nand_3|) class generated a 3-input nand gate -of a specified size/strength and height. The \verb|nand_3| is -constructed as follows: -\begin{verbatim} -def __init__(self, name, nmos_width, height=tech.cell_6t[height]) -\end{verbatim} -The NMOS size is an input parameter, and the PMOS size -will be equal to $2/3$ NMOS size to have the equal rising and falling for output. -The following code instatiates the \verb|nand_3| instance seen in Figure~\ref{fig:nand3}. -\begin{verbatim} -a=nand_3.nand_3(name="nand3", nmos_width=3*tech.drc["minwidth_tx"], -height=tech.cell_6t["height"]) -\end{verbatim} - - -\begin{figure}[h!] -\centering -%\includegraphics[width=10cm]{./figs/nand3.pdf} -\caption{An example of Parameterized NAND3(nand\_3)} -\label{fig:nand3} -\end{figure} - -The \verb|nand_3| parameters are explained in Table~\ref{table:nand3_params}. -\begin{table}[h!] - \begin{center} - \begin{tabular}{| l | c |} - \hline - Parameter & Explanation \\ \hline - \verb|nmos_width| & The logic size of the transistor of the nmos in the nand3 \\ \hline - \verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\ - \hline - \end{tabular} - \end{center} - \caption{Parameter Explanation of nand3} - \label{table:nand3_params} -\end{table} - - -\subsection{Parameterized NOR2} -\label{sec:nor2} - -The parameterized nor2 (\verb|nor_2|) class generated a 2-input nor gate -of a specified size/strength and height. The \verb|nor_2| is -constructed as follows: -\begin{verbatim} -def __init__(self, name, nmos_width, height=tech.cell_6t[height]) -\end{verbatim} -The NMOS size is an input parameter, and the PMOS size -will be equal to $2$ NMOS size to have the equal rising and falling for output. -The following code instatiates the \verb|nor_2| instance seen in Figure~\ref{fig:nor2}. -\begin{verbatim} -a=nor_2.nor_2(name="nor2", nmos_width=2*tech.drc["minwidth_tx"], -height=tech.cell_6t["height"]) -\end{verbatim} - - -\begin{figure}[h!] -\centering -\includegraphics[width=10cm]{./figs/nor2.pdf} -\caption{An example of Parameterized NOR2(nor\_2)} -\label{fig:nor2} -\end{figure} - -The \verb|nor_2| parameters are explained in Table~\ref{table:nor2_params}. -\begin{table}[h!] - \begin{center} - \begin{tabular}{| l | c |} - \hline - Parameter & Explanation \\ \hline - \verb|nmos_width| & The logic size of the transistor of the nmos in the nor2 \\ \hline - \verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\ - \hline - \end{tabular} - \end{center} - \caption{Parameter Explanation of nor2} - \label{table:nor2_params} -\end{table} - - - -\subsection{Path and Wire} -\label{sec:path and wire} -OpenRam provides two routing classes in custom layout design. -Both Path and wire class will take a set of coordinates connect those points -with rectilinear metal connection. - -The difference is that path only use the same layers for both vertical and -horizontal connection while wire will use two different adjacent metal layers. -The this example will construct a metal1 layer path -\begin{verbatim} -layer_stack = ("metal1") -position_list = [(0,0), (0,3), (1,3), (1,1), (4,3)] -w=path.path(layer_stack,position_list) -\end{verbatim} -and This exmaple will construct a wire using metal1 for vertical connection and metal2 for -horizontal connection: -\begin{verbatim} -layer_stack = ("metal1","via1","metal2") -position_list = [(0,0), (0,3), (1,3), (1,1), (4,3)] -w=wire.wire(layer_stack,position_list) -\end{verbatim} - - - diff --git a/docs/porting.tex b/docs/porting.tex deleted file mode 100644 index 94085f06..00000000 --- a/docs/porting.tex +++ /dev/null @@ -1,47 +0,0 @@ -\section{Porting to a new Technologies} -\label{sec:porting} - -The folllowing sub-directories and files should be added to your new technology directory: -\begin{itemize} -\item \verb|/sp_lib| - spice netlists for library cells -\item \verb|/gds_lib| - GDSII files for the library cell -\item \verb|layers.map| - layer/purpose pair map from the technology -\item \verb|/tech| - contains tech parameters, layers, and portation functions. -\end{itemize} - -\subsection{The GDS and Spice Libraries} - -The GDS and Spice libraries , \verb|\gds_lib| and \verb|\sp_lib|, should contain the GDSII layouts and spice netlists for each of the library cells in your SRAM design. For the FreePDK45 technology, library cells for the 6T Cell, Sense Amp, Write Driver, Flip-Flops, and Control Logic are provided. To reiterate: all layouts must be exported in the GDSII file format. The following commands can be used to stream GDSII files into or out of Cadence Virtuoso: -\begin{verbatim} -To stream out of Cadence: - - strmout -layerMap ../sram_lib/layers.map - -library sram -topCell $i -view layout - -strmFile ../sram_lib/$i.gds - -To stream a layout back into Cadence: - - strmin -layerMap ../sram_lib/layers.map - -attachTechFileOfLib NCSU_TechLib_FreePDK45 - -library sram_4_32 -strmFile sram_4_32.gds -\end{verbatim} -When you import a gds file, make sure to attach the correct tech lib or you will get incorrect layers in the resulting library. - - - -\subsection{Technology Directory} -\label{sec:tech} - -Inside of the \verb|/tech| directory should be the Python classes for \verb|tech.py|, -\verb|ptx_port.py|, and any other portation functions. The \verb|tech.py| file is very important and should contain the following: -\begin{itemize} -\item Layer Number/Name - GDSII files only contain layer numbers and it can be difficult to keep track of which layer corresponds to what number. In OpenRAM code, layers are referred to by name and \verb|tech.py| maps the layer names that we use to the layer numbers in the \verb|layer.map| This will associate the layer name used in OpenRAM program with the number used in the layer.map, thus the code in complier won’t need to be changed for each technology. -\item Tech Parameters - important rules from the DRC rule deck(such as layer spacing and minimum sizes) should be included here. Please refer to the rules that are included in \verb|tech.py| to get a better idea as to what is important. -\item Cell Sizes and Pin Offsets - The \verb|cell_size()| and \verb|pin_finder()| functions should be used to populate this class with the various cell sizes and pin locations in your library cells. These functions are relatively slow because they must traverse the every shape in the entire hierarchy of a design. Due to this fact, these function are not invoked each time the compiler is run, it should be run one time or if any changes have been made to library cells. This sizes and pin locations gathered are needed to generate the dynamic cells and perform routing at the various levels of the hierarchy. It is suggested that boundary boxes on a specific layer should be added to define the cell size. -\end{itemize} - - - - - - diff --git a/docs/timing.tex b/docs/timing.tex deleted file mode 100644 index 7cf0f6d2..00000000 --- a/docs/timing.tex +++ /dev/null @@ -1,230 +0,0 @@ -\section{Timing and Control Logic} -\label{timing} - -This section outlines the necessary signals, timing considerations, and control circuitry for a synchronous SRAM. - -\subsection{Signals} -\label{signals} -Top-Level Signals: -\begin{itemize} -\setlength{\itemsep}{0pt} -\item ADDR - address bus. -\item DATA - bi-directional data bus. -\item clk - the global clock. -\item OEb - active low output enable. -\item CSb - active low chip select. -\item WEb - active low write enable. -\end{itemize} - -Internal Signals: -\begin{itemize} -\setlength{\itemsep}{0pt} -\item clk\_bar - enables the precharge unit. -\item s\_en - enables the sense amp during a read operation. -\item w\_en - enable the write driver during a write operation. -\item tri\_en and tri\_en\_bar - enable the data input tri-gate during a read operation. -\end{itemize} - -\subsection{Timing Considerations} -\label{timing_params} - -The main timing considerations for an SRAM are: -\begin{itemize} -\setlength{\itemsep}{0pt} -\item Setup Time - time an input needs to be stable before the positive/negative clock edge. -\item Hold Time - time an input needs to stay valid after the positive/negative clock edge. -\item Minimun Cycle Time - time inbetween subsequent memory operations. -\item Memory Read Time - time from negative clock edge until valid data appears on the data bus. -\item Memory Write Time - time from negative clock edge until data has been driven into a memory cell. -\end{itemize} - -\subsection{SRAM Operation} -\label{operation} - -\begin{figure}[tb] -\centering -\includegraphics[scale=.85]{./figs/timing_read.pdf} -\caption{Timing diagram for read operation showing the setup, hold, and read times.} -\label{fig:read} -\end{figure} - -Read Operation: -\begin{enumerate} -\setlength{\itemsep}{0pt} - \item Before the clock transition (low to high) that initiates the read operation: - \begin{enumerate} - \item The chip must be selected (CSb low). - \item The WEb must be high (read). - \item The row and column addresses must be applied to the address input pins (ADDR). - \item OEb should be selected (OEb low). - \end{enumerate} - \item On the rising edge of the clock (CLK): - \begin{enumerate} - \item The control signals and address are latched into flip-flops and the read cycle begins. - \item The precharging of the bit lines starts. - \item The address bits become available for the decoder and column mux, which select the row and columns that we want to read from. - \end{enumerate} - \item On the falling edge of the clock (CLK): - \begin{enumerate} - \item Word line is driven onto the bitlines, the value stored in the memory cells pulls down one of the bitlines (bl if a 0 is stored, br if a 1 is stored). - \item s\_en enables the sense amplifier which senses the voltage difference of the bit lines, produces the output and keeps the value in its latch circuitry. - \item Tri-gate drives (tri\_en and tri\_en\_bar) the output data on data bus. Data remains valid on the data bus for a complete clock cycle. - \end{enumerate} -\end{enumerate} - - -\begin{figure}[tb] -\centering -\includegraphics[scale=.9]{./figs/timing_write.pdf} -\caption{Timing diagram for write operation showing the setup, hold, and write times.} -\label{fig:write} -\end{figure} - - - -Write Operation: -\begin{enumerate} -\setlength{\itemsep}{0pt} - \item Before the clock transition (low to high) that initiates the write operation: - \begin{enumerate} - \item The chip must be selected (CSb low). - \item The WEb must be low to enable the data input tristates. - \item The row and column addresses must be applied to the address input pins (ADDR). - \item OEb must be high (no output is available and sense amp disabled) - \end{enumerate} - \item On the rising edge of the clock (CLK): - \begin{enumerate} - \item OEb stays high (no output is available and sense amp disabled) - \item The inputs addresses are latched into flip-flops, precharging starts, and the write operation begins. - \item The address bits become available for the decoder and column mux, which select the row and columns that we want to write to. - \end{enumerate} - \item On the falling edge of the clock (CLK): - \begin{enumerate} - \item The data to be written must be applied to DATA and latched into flip-flops. - \item w\_en enables the write driver, which drives the data input through the column mux and into the selected memory cells. The write delay is the time from the negative clock edge until the data value is stored in the memory cell on node X. - \end{enumerate} -\end{enumerate} - - -\subsection{Zero Bus Turnaround (ZBT)} -\label{sec:ZBT} - -In timing of SRAM, during a read operation, data should be available after the clock edge while -during a write, data should be set up before the clock edge. Due to this issue a wait state (dead cycle) is neccessary when SRAM switches -from read mode to write mode. -To avoide dead cycles in SRAM timing which slow down the operation and degrade the performance of SRAM, Zero Bus turnaround (ZBT) technique is used. -Using ZBT, during a write, data is set up after positive clock edge and before negative clock edge and input data is latched in negative edge flip-flops. -Using ZBT, we will get a higher memory throughput and there is no waite states. -Figure~\ref{fig:write} shows the correct timing for input signals during the write opertion to avoide the wait states. -Figure~\ref{fig:ZBT} shows how a write cycle is followed by a read cycle with no wait state through using ZBT. -Input address bits should be ready before positive edge to be loaded to positive edge flip-flops. Output data is ready to be loaded to data-bus during seconde half of cycle (after negative edge of clock) and -input data should be ready before negative edge of clock to be loaded in negative edge flip-flops. - -\begin{figure}[h!] -\centering -\includegraphics[scale=0.9]{./figs/ZBT.pdf} -\caption{(a) Zero Bus Turnaround timing.} -\label{fig:ZBT} -\end{figure} - - -\subsection{Control Logic} -\label{sec:control} - - - -The control circuitry ensures that the SRAM operates as intended during a read or write cycle by enabling the necessary structures in the SRAM. -As shown in Figure~\ref{fig:control}, the control logic takes three active low signals as inputs: chip select bar ($CSb$), -output enable bar ($OEb$), and write enable bar ($WEb$). $CSb$ enables the entire SRAM chip. -When $CSb$ is low, the appropriate control signals are generated and sent to the architecture blocks. -Conversely, if $CSb$ is high then no control signals are generated and SRAM is turned off or disabled. -The $OEb$ signal signifies a read operation; while it is low the value seen on the data bus will be an output from the memory. -Similarly, the $WEb$ signal signifies a write operation. All of the input control signals are latched with master-slave flip-flops, -ensuring that the control signal stays valid for the entire operation cycle. The control signal flip-flops use the normal clock to generate -local signals used to enable or disable structures based on the operation. Address flip-flops are combined with global clock as well. -In a standard write SRAM, switching from a read to a write operation results in a dead cycle. To avoid this dead cycle, Data flip-flops are -latched with $clk\_bar$ in order to have a Zero Bus Turnaround (ZBT) memory. More details on ZBT timing are outlined in Section~\ref{sec:ZBT}. -After all control signals are latched, they are ANDED with the $clk\_bar$ because the read/write circuitries should only be enabled after the precharging of -the bitlines had ended on the negative edge of the clock. The $w\_en$ signal enables the write driver during a write to the memory .The $s\_en$ signal -is generated using a Replica Bitline ($RBL$) to enable the sense amplifier during a read operation. Details on $RBL$ architecture are outlined in section~\ref{sec:RBL}. -$tri\_en$ and $tri\_en\_bar$ enable the tristates during read in order to drive the outputs onto the data bus. -Table~\ref{table:control} shows the truth table for the control logic. The $s\_en$ signal to enable the sense amplifier is -true when $(CS . OE . Clk\_bar)$ is true. Similarly, write driver enable signal, $w\_en$, is true when $(CS . WE . clk\_bar)$ is true. -$tri\_en$ and $tri\_en\_bar$ are true when $\neg(OEb\_bar | clk)$ and $\neg(OEb . clk\_bar)$ are true, respectively. -\begin{figure}[h!] -\centering -\includegraphics[scale=1]{./figs/control_logic.pdf} -\caption{(a) Control Logic diagram and (b) Replica Bitline Schematic.} -\label{fig:control} -\end{figure} - - - -\begin{table}[h!] - \begin{center} - \begin{tabular}{| c | c | c | c | c | c | c |} - \hline - Operation & \multicolumn{3}{|c|}{Inputs} & \multicolumn{3}{|c|}{Outputs}\\ \hline - & CSb & OEb & WEb & s\_en & w\_en & tri\_en\\ \hline - READ & 0 & 0 & 1 & 1 & 0 & 1\\ \hline - WRITE & 0 & 1 & 0 & 0 & 1 & 0\\ \hline - \end{tabular} - \end{center} - \caption{Generation of control signals.} - \label{table:control} -\end{table} - - -\subsection{Replica Bitline Delay} -\label{sec:RBL} - - - -In SRAM read operation, discharging the bitline is the most time consuming procedure. -Generally, sense amplifier amplifies the small voltage difference on the bitlines at the proper sense timing, -to realize high-speed operation. Therefore, the timing for sense amplifier ($s\_en$) is extremely important for the high speed and low power SRAM. -If the $s\_en$ arrives early before the bitline difference reaches the sense amplifier input transistors offset voltage, -a read functional failure may occur. Contrarily, a late-arrived $s\_en$ would consume more unnecessary time, thereby wasting the power. -The conventional way of generating $s\_en$ signal is to use a replica bitline ($RBL$). $RBL$ as shown in ~\ref{fig:RBL} consists of a column of SRAM cells (dummy cells), -which track the random process variation in array. $RBL$ is presented for matching the delay of the activation of the -sense amplifier with the delay of the propagation of the required voltage swing at the bitlines. -In $RBL$ technique, delay driven memory cell in control path is same as read path. Therefore the -delay shift of control path according to the Process, Voltage and Temperature (PVT) variation is same ratio as that of read path. -The $RBL$ technique attains self-timed tracking with optimal $s\_en$ timing according to PVT variation. -Using replica circuits, the variation on the delay of the sense amp activation and bitline swing is minimized. - -\begin{figure}[h!] -\centering -\includegraphics[scale=.9]{./figs/replica_bitline.pdf} -\caption{Replica Bitline Schematic} -\label{fig:RBL} -\end{figure} - -$RBL$ technique uses a Replica Cell ($RC$) driving a short bitline signal. The short bitline\'s capacitance is set to be a -fraction of the main bitline capacitance (e.g. one tenth). This fraction is determined by the required bitline swing -(bitline voltages larger than offset voltage at input transistors of sense amplifier) for proper sensing. So in SRAM, an -extra column block is converted into the replica column whose capacitance is the desired fraction of the main bitline. -Therefore, its capacitance ratio to the main bitlines is set purely by the ratio of the geometric lengths (e.g. one tenth). -The $RC$ is hard wired to store a zero such that it will discharge the $RBL$ once it is accessed. -Because of its similarity with the actual memory cell (in terms of design and fabrication) the delay of $RBL$ tracks the delay of -real bitlines very well and can be made roughly equal. Figure ~\ref{fig:RC} shows the schematic of the 6T replica cell. -The timing for $s\_en$ is generated as follows. At first, the $RBL$ and the normal bitlines are precharged to VDD. -Next, selected memory cells and $RC$ are activated. $RC$ draws the current from the $RBL$ and normal bitlines are -also discharged through the accessed cell. Discharged swing on $RBL$ is inverted and then buffered to generate the signal to enable the sense amplifier. - - -\begin{figure}[h!] -\centering -\includegraphics[scale=1]{./figs/replica_cell.pdf} -\caption{Replica Bitline Schematic} -\label{fig:RC} -\end{figure} - - - - -\subsection{Timing and Power Characterizer} -\label{characterizer} - -The section will provide an explanantion of the characterizer that will generete spice stimuli for the top-level SRAM and perform spice timing simulations to determine the memory setup\&hold times, the write delay, and read delay. It will also provide a spice power estimate. - diff --git a/docs/unittests.tex b/docs/unittests.tex deleted file mode 100644 index 180e9b6a..00000000 --- a/docs/unittests.tex +++ /dev/null @@ -1,100 +0,0 @@ -\section{Unit Tests} -\label{sec:unittests} - -OpenRAM comes with a unit testing framework based on the Python -unittest framework. Since OpenRAM is technology independent, these -unit tests can be run in any technology to verify that the technology -is properly ported. By default, FreePDK45 is supported. - -The unit tests consist of the following tests that test each module/sub-block of OpenRAM: -\begin{itemize} -\item \verb|00_code_format_check__test.py| - Checks the format of the codes. returns error if finds $TAB$ in codes. -\item \verb|01_library_drc_test.py| - DRC of library cells in technology \verb|gds_lib| -\item \verb|02_library_lvs_test.py| - LVS of library cells in technology \verb|gds_lib| and \verb|sp_lib| %(names must correspond with different extensions) -\item \verb|03_contact_test.py| - Test contacts/vias of different layers -\item \verb|03_path_test.py| - Test different types of paths based off of the wire module -\item \verb|03_ptx_test.py| - Test various sizes/fingers of PMOS and NMOS parameterized transistors -\item \verb|03_wire_test.py| - Test different types of wires with different layers -\item \verb|04_pinv_test.py| - Test various sizes of parameterized inverter -\item \verb|04_nand_2_test.py| - Test various sizes of parameterized nand2 -\item \verb|04_nand_3_test.py| - Test various sizes of parameterized nand3 -\item \verb|04_nor_2_test.py| - Test various sizes of parameterized nor2 -\item \verb|04_wordline_driver_test.py| - Test a wordline\_driver array. -\item \verb|05_array_test.py| - Test a small bit-cell array -\item \verb|06_nand_decoder_test.py| - Test a dynamic NAND address decoder -\item \verb|06_hierarchical_decoder_test.py| - Test a dynamic hierarchical address decoder -\item \verb|07_tree_column_mux_test.py| - Test a small tree column mux. -\item \verb|07_single_level_column_mux_test.py| - Test a small single level column mux. -\item \verb|08_precharge_test.py| - Test a dynamically generated precharge array -\item \verb|09_sense_amp_test.py| - Test a sense amplifier array -\item \verb|10_write_driver_test.py| - Test a write driver array -\item \verb|11_ms_flop_array_test.py| - Test a MS\_FF array -\item \verb|13_control_logic_test.py| - Test the control logic module -\item \verb|14_delay_chain_test.py| - Test a delay chain array -\item \verb|15_tri_gate_array_test.py| - Test a tri-gate array -\item \verb|16_replica_bitline_test.py| - Test a replica bitline -\item \verb|19_bank_test.py| - Test a bank -\item \verb|20_sram_test.py| - Test a complete small SRAM -\item \verb|21_timing_sram_test.py| - Test timing of SRAM -\item \verb|22_sram_func_test.py| - Test functionality of SRAM -\end {itemize} - -Each unit test instantiates a small component and performs DRC/LVS. Automatic DRC/LVS inside OpenRAM is disabled so that Python unittest assertions can be used to track failures, errors, and successful tests as follows: -\begin{verbatim} - self.assertFalse(calibre.run_drc(a.cell_name,tempgds)) - self.assertFalse(calibre.run_lvs(a.cell_name,tempgds,tempspice)) -\end{verbatim} -Each of these assertions will trigger a test failure. If there are -problems with interpreting modified code due to syntax errors, the -unit test framework will not capture this and it will result in an -Error. - -\subsection{Usage} - -A regression script is provided to check all of the unit tests by running: -\begin{verbatim} -python tests/regress.py -\end{verbatim} -from the compiler directory located at: "OpenRAM/trunk/compiler/". Each individual test can be run by running: -\begin{verbatim} -python tests/{unit-test file} -e.g. python tests/05_array_test.py -\end{verbatim} -from the compiler directory located at: "openram/trunk/compiler/". As an example, the unit tests all -complete and provide the following output except for the final -\verb|20_sram_test| which has 2 DRC violations: -\begin{verbatim} -[trunk/compiler]$ python tests/regress.py -runTest (01_library_drc_test.library_drc_test) ... ok -runTest (02_library_lvs_test.library_lvs_test) ... ok -runTest (03_contact_test.contact_test) ... ok -runTest (03_path_test.path_test) ... ok -runTest (03_ptx_test.ptx_test) ... ok -runTest (03_wire_test.wire_test) ... ok -runTest (04_pinv_test.pinv_test) ... ok -runTest (04_nand_2_test.nand_2_test) ... ok -runTest (04_nand_3_test.nand_3_test) ... ok -runTest (04_nor_2_test.nor_2_test) ... ok -runTest (04_wordline_driver_test.wordline_driver_test) ... ok -runTest (05_array_test.array_test) ... ok -runTest (06_hierdecoder_test.hierdecoder_test) ... ok -runTest (07_single_level_column_mux_test.single_level_column_mux_test) ... ok -runTest (08_precharge_test.precharge_test) ... ok -runTest (09_sense_amp_test.sense_amp_test) ... ok -runTest (10_write_driver_test.write_driver_test) ... ok -runTest (11_ms_flop_array_test.ms_flop_test) ... ok -runTest (13_control_logic_test.control_logic_test) ... ok -runTest (14_delay_chain_test.delay_chain_test) ... ok -runTest (15_tri_gate_array_test.tri_gate_array_test) ... ok -runTest (19_bank_test.bank_test) ... ok -runTest (20_sram_test.sram_test) ... ok -\end{verbatim} - -If there are any DRC/LVS violations during the test, all the summary,output,and error files -will be generated in the technology directory's "openram\_temp" folder. One would view those -files to determine the cause of the DRC/LVS violations. - -More information on the Python unittest framework is available at\\ -\begin{center} -\url{http://docs.python.org/2/library/unittest.html}. -\end{center} From 6d3a29328c348bf0caa54b3461c396e00e501464 Mon Sep 17 00:00:00 2001 From: Jennifer Eve Sowash Date: Wed, 20 Feb 2019 12:59:40 -0800 Subject: [PATCH 48/77] Fixed a bug with corner_name in lib.py remaining static. --- compiler/characterizer/lib.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 156481ce..ae6a2e52 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -83,9 +83,11 @@ class lib: (self.process, self.voltage, self.temperature) = self.corner self.lib = open(lib_name, "w") debug.info(1,"Writing to {0}".format(lib_name)) + self.corner_name = lib_name.replace(self.out_dir,"").replace(".lib","") self.characterize() self.lib.close() self.parse_info(self.corner,lib_name) + def characterize(self): """ Characterize the current corner. """ From bb408d0a4559d7437f7b005d266af4b833ffd261 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 21 Feb 2019 10:23:30 -0800 Subject: [PATCH 49/77] Add missing / in output path for log --- compiler/debug.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/debug.py b/compiler/debug.py index b7819bcc..9ce1bf3f 100644 --- a/compiler/debug.py +++ b/compiler/debug.py @@ -50,6 +50,14 @@ def print_raw(str): def log(str): if globals.OPTS.output_name != '': if log.create_file: + # We may have not yet read the config, so we need to ensure + # it ends with a / + # This is also done in read_config if we change the path + # FIXME: There's actually a bug here. The first few lines + # could be in one log file and after read_config it could be + # in another log file if the path or name changes. + if not globals.OPTS.output_path.endswith('/'): + globals.OPTS.output_path += "/" compile_log = open(globals.OPTS.output_path + globals.OPTS.output_name + '.log', "w+") log.create_file = 0 From d043c7227736109792ef3a4b378fe758dd196849 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 21 Feb 2019 11:16:21 -0800 Subject: [PATCH 50/77] Fix temp name error in openram.py --- compiler/base/hierarchy_design.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/base/hierarchy_design.py b/compiler/base/hierarchy_design.py index 7f30fb1c..75f50f9f 100644 --- a/compiler/base/hierarchy_design.py +++ b/compiler/base/hierarchy_design.py @@ -73,8 +73,8 @@ class hierarchy_design(hierarchy_spice.spice, hierarchy_layout.layout): global total_drc_errors global total_lvs_errors - tempspice = OPTS.openram_temp + "/temp.sp" - tempgds = OPTS.openram_temp + "/temp.gds" + tempspice = "{0}/{1}.sp".format(OPTS.openram_temp,self.name) + tempgds = "{0}/{1}.gds".format(OPTS.openram_temp,self.name) self.sp_write(tempspice) self.gds_write(tempgds) From b4f1d53a1b19b744d2372e70960310a0c84025ef Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Fri, 22 Feb 2019 06:46:28 -0800 Subject: [PATCH 51/77] fixed DRC datasheet error --- compiler/datasheet/datasheet.py | 2 +- compiler/datasheet/datasheet_gen.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index 4b5cb741..c5e45ffb 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -62,7 +62,7 @@ class datasheet(): self.html += '

    Timing Data

    ' model = '' if self.ANALYTICAL_MODEL: - model = "analytical model: results may not be percise" + model = "analytical model: results may not be precise" else: model = "spice characterizer" # display timing data diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index 1644df5f..d510bfa5 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -105,16 +105,16 @@ def parse_characterizer_csv(f, pages): DATETIME = row[col] col += 1 + + ANALYTICAL_MODEL = row[col] + col += 1 DRC = row[col] col += 1 LVS = row[col] col += 1 - - ANALYTICAL_MODEL = row[col] - col += 1 - + AREA = row[col] col += 1 From 0cabee060d8625c10357c474d5c0078b6d45fefa Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Fri, 22 Feb 2019 06:57:54 -0800 Subject: [PATCH 52/77] fixed area rounding --- compiler/datasheet/datasheet_gen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/datasheet/datasheet_gen.py b/compiler/datasheet/datasheet_gen.py index d510bfa5..3b4fe2ac 100644 --- a/compiler/datasheet/datasheet_gen.py +++ b/compiler/datasheet/datasheet_gen.py @@ -615,7 +615,7 @@ def parse_characterizer_csv(f, pages): new_sheet.io_table.add_row(['NUM_R_PORTS', NUM_R_PORTS]) new_sheet.io_table.add_row(['NUM_W_PORTS', NUM_W_PORTS]) new_sheet.io_table.add_row( - ['Area (µm2)', AREA]) + ['Area (µm2)', str(round(float(AREA)))]) class datasheet_gen(): From ff0925459052ad11e2a51d60259eaa936c20f196 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Fri, 22 Feb 2019 08:19:54 -0800 Subject: [PATCH 53/77] fixed analytical flag --- compiler/datasheet/datasheet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index c5e45ffb..2847b2fe 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -61,7 +61,7 @@ class datasheet(): # check if analytical model is being used self.html += '

    Timing Data

    ' model = '' - if self.ANALYTICAL_MODEL: + if self.ANALYTICAL_MODEL == 'True': model = "analytical model: results may not be precise" else: model = "spice characterizer" From 9459839c066cafda356fddeb1248da2aebffe34f Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Fri, 22 Feb 2019 14:38:00 -0800 Subject: [PATCH 54/77] Clean up output file names for lvs. Update lvs script in magic. --- README.md | 4 +++- compiler/base/hierarchy_design.py | 4 ++-- compiler/tests/04_pbitcell_test.py | 2 +- compiler/tests/testutils.py | 11 +++++----- compiler/verify/magic.py | 35 ++++++++++++++++++++++++------ 5 files changed, 40 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index aa5a1705..d97356a4 100644 --- a/README.md +++ b/README.md @@ -42,10 +42,12 @@ The OpenRAM compiler has very few dependencies: + [Ngspice] 26 (or later) or HSpice I-2013.12-1 (or later) or CustomSim 2017 (or later) + Python 3.5 or higher + Python numpy (pip3 install numpy to install) ++ Python scipy (pip3 install scipy to install) If you want to perform DRC and LVS, you will need either: + Calibre (for [FreePDK45]) -+ [Magic] + [Netgen] (for [SCMOS]) ++ [Magic] 8.2.79 or higher (for [SCMOS]) ++ [Netgen] 1.5 (for [SCMOS]) You must set two environment variables: + OPENRAM\_HOME should point to the compiler source directory. diff --git a/compiler/base/hierarchy_design.py b/compiler/base/hierarchy_design.py index 7f30fb1c..fab5ea28 100644 --- a/compiler/base/hierarchy_design.py +++ b/compiler/base/hierarchy_design.py @@ -73,8 +73,8 @@ class hierarchy_design(hierarchy_spice.spice, hierarchy_layout.layout): global total_drc_errors global total_lvs_errors - tempspice = OPTS.openram_temp + "/temp.sp" - tempgds = OPTS.openram_temp + "/temp.gds" + tempspice = OPTS.openram_temp + "/{}.sp".format(self.name) + tempgds = OPTS.openram_temp + "/{}.gds".format(self.name) self.sp_write(tempspice) self.gds_write(tempgds) diff --git a/compiler/tests/04_pbitcell_test.py b/compiler/tests/04_pbitcell_test.py index 96e6bba8..c78b3284 100755 --- a/compiler/tests/04_pbitcell_test.py +++ b/compiler/tests/04_pbitcell_test.py @@ -26,7 +26,7 @@ class pbitcell_test(openram_test): debug.info(2, "Bitcell with 1 of each port: read/write, write, and read") tx = pbitcell(name="pbc") self.local_check(tx) - + OPTS.num_rw_ports=0 OPTS.num_w_ports=1 OPTS.num_r_ports=1 diff --git a/compiler/tests/testutils.py b/compiler/tests/testutils.py index 4340bce6..799c223e 100755 --- a/compiler/tests/testutils.py +++ b/compiler/tests/testutils.py @@ -13,7 +13,7 @@ class openram_test(unittest.TestCase): self.reset() - tempgds = OPTS.openram_temp + "temp.gds" + tempgds = "{0}{1}.gds".format(OPTS.openram_temp,w.name) w.gds_write(tempgds) import verify @@ -28,8 +28,8 @@ class openram_test(unittest.TestCase): self.reset() - tempspice = OPTS.openram_temp + "temp.sp" - tempgds = OPTS.openram_temp + "temp.gds" + tempspice = "{0}{1}.sp".format(OPTS.openram_temp,a.name) + tempgds = "{0}{1}.gds".format(OPTS.openram_temp,a.name) a.sp_write(tempspice) # cannot write gds in netlist_only mode @@ -37,7 +37,7 @@ class openram_test(unittest.TestCase): a.gds_write(tempgds) import verify - result=verify.run_drc(a.name, tempgds) + result=verify.run_drc(a.name, tempgds, extract=True, final_verification=final_verification) if result != 0: #zip_file = "/tmp/{0}_{1}".format(a.name,os.getpid()) #debug.info(0,"Archiving failed files to {}.zip".format(zip_file)) @@ -45,7 +45,7 @@ class openram_test(unittest.TestCase): self.fail("DRC failed: {}".format(a.name)) - result=verify.run_lvs(a.name, tempgds, tempspice, final_verification) + result=verify.run_lvs(a.name, tempgds, tempspice, final_verification=final_verification) if result != 0: #zip_file = "/tmp/{0}_{1}".format(a.name,os.getpid()) #debug.info(0,"Archiving failed files to {}.zip".format(zip_file)) @@ -54,6 +54,7 @@ class openram_test(unittest.TestCase): if OPTS.purge_temp: self.cleanup() + def find_feasible_test_period(self, delay_obj, sram, load, slew): """Creates a delay simulation to determine a feasible period for the functional tests to run. diff --git a/compiler/verify/magic.py b/compiler/verify/magic.py index 0af8e5ef..5b4e8e3f 100644 --- a/compiler/verify/magic.py +++ b/compiler/verify/magic.py @@ -45,7 +45,10 @@ def write_magic_script(cell_name, gds_name, extract=False, final_verification=Fa #f.write("load {}_new\n".format(cell_name)) #f.write("cellname rename {0}_new {0}\n".format(cell_name)) #f.write("load {}\n".format(cell_name)) + f.write("cellname delete \(UNNAMED\)\n") f.write("writeall force\n") + f.write("select top cell\n") + f.write("expand\n") f.write("drc check\n") f.write("drc catchup\n") f.write("drc count total\n") @@ -55,14 +58,27 @@ def write_magic_script(cell_name, gds_name, extract=False, final_verification=Fa else: pre = "" if final_verification: - f.write(pre+"extract unique\n") - f.write(pre+"extract\n") - f.write(pre+"ext2spice hierarchy on\n") + f.write(pre+"extract unique\n".format(cell_name)) + else: + f.write(pre+"extract\n".format(cell_name)) + #f.write(pre+"ext2spice hierarchy on\n") + #f.write(pre+"ext2spice scale off\n") + # lvs exists in 8.2.79, but be backword compatible for now + #f.write(pre+"ext2spice lvs\n") + f.write(pre+"ext2spice hierarchy on\n") + f.write(pre+"ext2spice format ngspice\n") + f.write(pre+"ext2spice cthresh infinite\n") + f.write(pre+"ext2spice rthresh infinite\n") + f.write(pre+"ext2spice renumber off\n") f.write(pre+"ext2spice scale off\n") + f.write(pre+"ext2spice blackbox on\n") + f.write(pre+"ext2spice subcircuit top auto\n") + f.write(pre+"ext2spice global off\n") + # Can choose hspice, ngspice, or spice3, # but they all seem compatible enough. #f.write(pre+"ext2spice format ngspice\n") - f.write(pre+"ext2spice\n") + f.write(pre+"ext2spice {}\n".format(cell_name)) f.write("quit -noprompt\n") f.write("EOF\n") @@ -136,8 +152,9 @@ def run_drc(cell_name, gds_name, extract=True, final_verification=False): # etc. try: f = open(outfile, "r") - except: - debug.error("Unable to retrieve DRC results file. Is magic set up?",1) + except FileNotFoundError: + debug.error("Unable to load DRC results file from {}. Is magic set up?".format(outfile),1) + results = f.readlines() f.close() errors=1 @@ -189,7 +206,11 @@ def run_lvs(cell_name, gds_name, sp_name, final_verification=False): total_errors = 0 # check the result for these lines in the summary: - f = open(resultsfile, "r") + try: + f = open(resultsfile, "r") + except FileNotFoundError: + debug.error("Unable to load LVS results from {}".format(resultsfile),1) + results = f.readlines() f.close() # Look for the results after the final "Subcircuit summary:" From 583dc4410b7bae2c9b563214850bfb5423838e78 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Fri, 22 Feb 2019 16:22:27 -0800 Subject: [PATCH 55/77] Revert bus bits back into pins --- compiler/characterizer/lib.py | 6 +++--- compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C.lib | 6 +++--- .../tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C.lib | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 9c4e0cf0..00b39af5 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -327,7 +327,7 @@ class lib: self.lib.write(" }\n") - self.lib.write(" pin(DOUT{}){{\n".format(read_port)) + self.lib.write(" pin(DOUT{0}[{1}:0]){{\n".format(read_port,self.sram.word_size-1)) self.lib.write(" timing(){ \n") self.lib.write(" timing_sense : non_unate; \n") self.lib.write(" related_pin : \"clk{0}\"; \n".format(read_port)) @@ -360,7 +360,7 @@ class lib: self.lib.write(" address : ADDR{0}; \n".format(write_port)) self.lib.write(" clocked_on : clk{0}; \n".format(write_port)) self.lib.write(" }\n") - self.lib.write(" pin(DIN{}){{\n".format(write_port)) + self.lib.write(" pin(DIN{0}[{1}:0]){{\n".format(write_port,self.sram.word_size-1)) self.write_FF_setuphold(write_port) self.lib.write(" }\n") # pin self.lib.write(" }\n") #bus @@ -380,7 +380,7 @@ class lib: self.lib.write(" direction : input; \n") self.lib.write(" capacitance : {0}; \n".format(tech.spice["dff_in_cap"])) self.lib.write(" max_transition : {0};\n".format(self.slews[-1])) - self.lib.write(" pin(ADDR{})".format(port)) + self.lib.write(" pin(ADDR{0}[{1}:0])".format(port,self.sram.addr_size-1)) self.lib.write("{\n") self.write_FF_setuphold(port) diff --git a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C.lib b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C.lib index fc8d2be3..0939b4bb 100644 --- a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C.lib +++ b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_freepdk45){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_freepdk45){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_freepdk45){ direction : input; capacitance : 0.2091; max_transition : 0.04; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; diff --git a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C.lib b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C.lib index d6fc30aa..f8a337d3 100644 --- a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C.lib +++ b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_scn4m_subm){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_scn4m_subm){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_scn4m_subm){ direction : input; capacitance : 9.8242; max_transition : 0.4; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; From 599e5457a00ebc54ba6693f79b7cde2477b5841f Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Fri, 22 Feb 2019 17:40:49 -0800 Subject: [PATCH 56/77] Fix all libs to have pin indices --- .../golden/sram_2_16_1_freepdk45_TT_1p0V_25C_analytical.lib | 6 +++--- .../golden/sram_2_16_1_freepdk45_TT_1p0V_25C_pruned.lib | 6 +++--- .../sram_2_16_1_scn4m_subm_TT_5p0V_25C_analytical.lib | 6 +++--- .../golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_pruned.lib | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_analytical.lib index afb22057..a06ff5b5 100644 --- a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_analytical.lib +++ b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_analytical.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_freepdk45){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_freepdk45){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_freepdk45){ direction : input; capacitance : 0.2091; max_transition : 0.04; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; diff --git a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_pruned.lib b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_pruned.lib index b20f10be..d7d7de7e 100644 --- a/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_pruned.lib +++ b/compiler/tests/golden/sram_2_16_1_freepdk45_TT_1p0V_25C_pruned.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_freepdk45){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_freepdk45){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_freepdk45){ direction : input; capacitance : 0.2091; max_transition : 0.04; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; diff --git a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_analytical.lib index 5c56ab1e..72a106ac 100644 --- a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_analytical.lib +++ b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_analytical.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_scn4m_subm){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_scn4m_subm){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_scn4m_subm){ direction : input; capacitance : 9.8242; max_transition : 0.4; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; diff --git a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_pruned.lib b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_pruned.lib index 64340a5b..124f80ff 100644 --- a/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_pruned.lib +++ b/compiler/tests/golden/sram_2_16_1_scn4m_subm_TT_5p0V_25C_pruned.lib @@ -93,7 +93,7 @@ cell (sram_2_16_1_scn4m_subm){ address : ADDR0; clocked_on : clk0; } - pin(DIN0){ + pin(DIN0[1:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; @@ -132,7 +132,7 @@ cell (sram_2_16_1_scn4m_subm){ memory_read(){ address : ADDR0; } - pin(DOUT0){ + pin(DOUT0[1:0]){ timing(){ timing_sense : non_unate; related_pin : "clk0"; @@ -166,7 +166,7 @@ cell (sram_2_16_1_scn4m_subm){ direction : input; capacitance : 9.8242; max_transition : 0.4; - pin(ADDR0){ + pin(ADDR0[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk0"; From 6c9ae1c6595659f68ad3b15332ac4fb4dfb486f4 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 07:26:21 -0800 Subject: [PATCH 57/77] Remove temp names in DRC/LVS. Extract unique doesn't actually extract. --- compiler/base/hierarchy_design.py | 6 +++--- compiler/verify/magic.py | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/compiler/base/hierarchy_design.py b/compiler/base/hierarchy_design.py index 75f50f9f..1dc052e3 100644 --- a/compiler/base/hierarchy_design.py +++ b/compiler/base/hierarchy_design.py @@ -95,7 +95,7 @@ class hierarchy_design(hierarchy_spice.spice, hierarchy_layout.layout): if (not OPTS.is_unit_test and OPTS.check_lvsdrc and (OPTS.inline_lvsdrc or final_verification)): global total_drc_errors - tempgds = OPTS.openram_temp + "/temp.gds" + tempgds = "{0}/{1}.gds".format(OPTS.openram_temp,self.name) self.gds_write(tempgds) num_errors = verify.run_drc(self.name, tempgds, final_verification) total_drc_errors += num_errors @@ -110,8 +110,8 @@ class hierarchy_design(hierarchy_spice.spice, hierarchy_layout.layout): if (not OPTS.is_unit_test and OPTS.check_lvsdrc and (OPTS.inline_lvsdrc or final_verification)): global total_lvs_errors - tempspice = OPTS.openram_temp + "/temp.sp" - tempgds = OPTS.openram_temp + "/temp.gds" + tempspice = "{0}/{1}.sp".format(OPTS.openram_temp,self.name) + tempgds = "{0}/{1}.gds".format(OPTS.openram_temp,self.name) self.sp_write(tempspice) self.gds_write(tempgds) num_errors = verify.run_lvs(self.name, tempgds, tempspice, final_verification) diff --git a/compiler/verify/magic.py b/compiler/verify/magic.py index 5b4e8e3f..6fe1edf0 100644 --- a/compiler/verify/magic.py +++ b/compiler/verify/magic.py @@ -58,9 +58,8 @@ def write_magic_script(cell_name, gds_name, extract=False, final_verification=Fa else: pre = "" if final_verification: - f.write(pre+"extract unique\n".format(cell_name)) - else: - f.write(pre+"extract\n".format(cell_name)) + f.write(pre+"extract unique all\n".format(cell_name)) + f.write(pre+"extract\n".format(cell_name)) #f.write(pre+"ext2spice hierarchy on\n") #f.write(pre+"ext2spice scale off\n") # lvs exists in 8.2.79, but be backword compatible for now From 6cdc870091d07f3e6bd633837087684968f2f678 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 09:54:45 -0800 Subject: [PATCH 58/77] Copy 1rw/1r cell to 1w/1r. --- compiler/bitcells/bitcell_1w_1r.py | 106 ++++++++++++++++++ compiler/bitcells/replica_bitcell_1w_1r.py | 32 ++++++ .../tests/20_sram_1bank_2mux_1w_1r_test.py | 51 +++++++++ technology/freepdk45/gds_lib/cell_1w_1r.gds | Bin 0 -> 16384 bytes .../freepdk45/gds_lib/replica_cell_1w_1r.gds | Bin 0 -> 16384 bytes technology/freepdk45/sp_lib/cell_1w_1r.sp | 14 +++ technology/scn4m_subm/gds_lib/cell_1w_1r.gds | Bin 0 -> 8192 bytes .../scn4m_subm/gds_lib/replica_cell_1w_1r.gds | Bin 0 -> 8192 bytes technology/scn4m_subm/mag_lib/cell_6t.ext | 41 +++++++ technology/scn4m_subm/mag_lib/cell_6t.spice | 15 +++ .../scn4m_subm/mag_lib/replica_cell_6t.ext | 35 ++++++ .../scn4m_subm/mag_lib/replica_cell_6t.spice | 16 +++ technology/scn4m_subm/sp_lib/cell_1w_1r.sp | 14 +++ technology/scn4m_subm/sp_lib/cell_6t.st0 | 38 +++++++ .../scn4m_subm/sp_lib/replica_cell_1w_1r.sp | 14 +++ 15 files changed, 376 insertions(+) create mode 100644 compiler/bitcells/bitcell_1w_1r.py create mode 100644 compiler/bitcells/replica_bitcell_1w_1r.py create mode 100755 compiler/tests/20_sram_1bank_2mux_1w_1r_test.py create mode 100644 technology/freepdk45/gds_lib/cell_1w_1r.gds create mode 100644 technology/freepdk45/gds_lib/replica_cell_1w_1r.gds create mode 100644 technology/freepdk45/sp_lib/cell_1w_1r.sp create mode 100644 technology/scn4m_subm/gds_lib/cell_1w_1r.gds create mode 100644 technology/scn4m_subm/gds_lib/replica_cell_1w_1r.gds create mode 100644 technology/scn4m_subm/mag_lib/cell_6t.ext create mode 100644 technology/scn4m_subm/mag_lib/cell_6t.spice create mode 100644 technology/scn4m_subm/mag_lib/replica_cell_6t.ext create mode 100644 technology/scn4m_subm/mag_lib/replica_cell_6t.spice create mode 100644 technology/scn4m_subm/sp_lib/cell_1w_1r.sp create mode 100644 technology/scn4m_subm/sp_lib/cell_6t.st0 create mode 100644 technology/scn4m_subm/sp_lib/replica_cell_1w_1r.sp diff --git a/compiler/bitcells/bitcell_1w_1r.py b/compiler/bitcells/bitcell_1w_1r.py new file mode 100644 index 00000000..4df9e813 --- /dev/null +++ b/compiler/bitcells/bitcell_1w_1r.py @@ -0,0 +1,106 @@ +import design +import debug +import utils +from tech import GDS,layer,parameter,drc + +class bitcell_1w_1r(design.design): + """ + A single bit cell (6T, 8T, etc.) This module implements the + single memory cell used in the design. It is a hand-made cell, so + the layout and netlist should be available in the technology + library. + """ + + pin_names = ["bl0", "br0", "bl1", "br1", "wl0", "wl1", "vdd", "gnd"] + (width,height) = utils.get_libcell_size("cell_1w_1r", GDS["unit"], layer["boundary"]) + pin_map = utils.get_libcell_pins(pin_names, "cell_1w_1r", GDS["unit"]) + + def __init__(self, name=""): + # Ignore the name argument + design.design.__init__(self, "cell_1w_1r") + debug.info(2, "Create bitcell with 1W and 1R Port") + + self.width = bitcell_1w_1r.width + self.height = bitcell_1w_1r.height + self.pin_map = bitcell_1w_1r.pin_map + + def analytical_delay(self, slew, load=0, swing = 0.5): + # delay of bit cell is not like a driver(from WL) + # so the slew used should be 0 + # it should not be slew dependent? + # because the value is there + # the delay is only over half transsmission gate + from tech import spice + r = spice["min_tx_r"]*3 + c_para = spice["min_tx_drain_c"] + result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = swing) + return result + + + def list_bitcell_pins(self, col, row): + """ Creates a list of connections in the bitcell, indexed by column and row, for instance use in bitcell_array """ + bitcell_pins = ["bl0_{0}".format(col), + "br0_{0}".format(col), + "bl1_{0}".format(col), + "br1_{0}".format(col), + "wl0_{0}".format(row), + "wl1_{0}".format(row), + "vdd", + "gnd"] + return bitcell_pins + + def list_all_wl_names(self): + """ Creates a list of all wordline pin names """ + row_pins = ["wl0", "wl1"] + return row_pins + + def list_all_bitline_names(self): + """ Creates a list of all bitline pin names (both bl and br) """ + column_pins = ["bl0", "br0", "bl1", "br1"] + return column_pins + + def list_all_bl_names(self): + """ Creates a list of all bl pins names """ + column_pins = ["bl0", "bl1"] + return column_pins + + def list_all_br_names(self): + """ Creates a list of all br pins names """ + column_pins = ["br0", "br1"] + return column_pins + + def list_read_bl_names(self): + """ Creates a list of bl pin names associated with read ports """ + column_pins = ["bl0", "bl1"] + return column_pins + + def list_read_br_names(self): + """ Creates a list of br pin names associated with read ports """ + column_pins = ["br0", "br1"] + return column_pins + + def list_write_bl_names(self): + """ Creates a list of bl pin names associated with write ports """ + column_pins = ["bl0"] + return column_pins + + def list_write_br_names(self): + """ Creates a list of br pin names asscociated with write ports""" + column_pins = ["br0"] + return column_pins + + def analytical_power(self, proc, vdd, temp, load): + """Bitcell power in nW. Only characterizes leakage.""" + from tech import spice + leakage = spice["bitcell_leakage"] + dynamic = 0 #temporary + total_power = self.return_power(dynamic, leakage) + return total_power + + def get_wl_cin(self): + """Return the relative capacitance of the access transistor gates""" + #This is a handmade cell so the value must be entered in the tech.py file or estimated. + #Calculated in the tech file by summing the widths of all the related gates and dividing by the minimum width. + #FIXME: sizing is not accurate with the handmade cell. Change once cell widths are fixed. + access_tx_cin = parameter["6T_access_size"]/drc["minwidth_tx"] + return 2*access_tx_cin diff --git a/compiler/bitcells/replica_bitcell_1w_1r.py b/compiler/bitcells/replica_bitcell_1w_1r.py new file mode 100644 index 00000000..6f59adec --- /dev/null +++ b/compiler/bitcells/replica_bitcell_1w_1r.py @@ -0,0 +1,32 @@ +import design +import debug +import utils +from tech import GDS,layer,drc,parameter + +class replica_bitcell_1w_1r(design.design): + """ + A single bit cell which is forced to store a 0. + This module implements the single memory cell used in the design. It + is a hand-made cell, so the layout and netlist should be available in + the technology library. """ + + pin_names = ["bl0", "br0", "bl1", "br1", "wl0", "wl1", "vdd", "gnd"] + (width,height) = utils.get_libcell_size("replica_cell_1w_1r", GDS["unit"], layer["boundary"]) + pin_map = utils.get_libcell_pins(pin_names, "replica_cell_1w_1r", GDS["unit"]) + + def __init__(self, name=""): + # Ignore the name argument + design.design.__init__(self, "replica_cell_1w_1r") + debug.info(2, "Create replica bitcell 1w+1r object") + + self.width = replica_bitcell_1w_1r.width + self.height = replica_bitcell_1w_1r.height + self.pin_map = replica_bitcell_1w_1r.pin_map + + def get_wl_cin(self): + """Return the relative capacitance of the access transistor gates""" + #This is a handmade cell so the value must be entered in the tech.py file or estimated. + #Calculated in the tech file by summing the widths of all the related gates and dividing by the minimum width. + #FIXME: sizing is not accurate with the handmade cell. Change once cell widths are fixed. + access_tx_cin = parameter["6T_access_size"]/drc["minwidth_tx"] + return 2*access_tx_cin diff --git a/compiler/tests/20_sram_1bank_2mux_1w_1r_test.py b/compiler/tests/20_sram_1bank_2mux_1w_1r_test.py new file mode 100755 index 00000000..2954ffbc --- /dev/null +++ b/compiler/tests/20_sram_1bank_2mux_1w_1r_test.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +""" +Run a regression test on a 1 bank SRAM +""" + +import unittest +from testutils import header,openram_test +import sys,os +sys.path.append(os.path.join(sys.path[0],"..")) +import globals +from globals import OPTS +import debug + +#@unittest.skip("SKIPPING 20_psram_1bank_2mux_1w_1r_test, odd supply routing error") +class psram_1bank_2mux_1w_1r_test(openram_test): + + def runTest(self): + globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + from sram import sram + from sram_config import sram_config + OPTS.bitcell = "bitcell_1w_1r" + OPTS.replica_bitcell="replica_bitcell_1w_1r" + + OPTS.num_rw_ports = 0 + OPTS.num_w_ports = 1 + OPTS.num_r_ports = 1 + + c = sram_config(word_size=4, + num_words=32, + num_banks=1) + c.num_words=32 + c.words_per_row=2 + c.recompute_sizes() + debug.info(1, "Layout test for {}rw,{}r,{}w psram with {} bit words, {} words, {} words per row, {} banks".format(OPTS.num_rw_ports, + OPTS.num_r_ports, + OPTS.num_w_ports, + c.word_size, + c.num_words, + c.words_per_row, + c.num_banks)) + a = sram(c, "sram") + self.local_check(a, final_verification=True) + + globals.end_openram() + +# run the test from the command line +if __name__ == "__main__": + (OPTS, args) = globals.parse_args() + del sys.argv[1:] + header(__file__, OPTS.tech_name) + unittest.main() diff --git a/technology/freepdk45/gds_lib/cell_1w_1r.gds b/technology/freepdk45/gds_lib/cell_1w_1r.gds new file mode 100644 index 0000000000000000000000000000000000000000..674989625186067daa91a78e23be031db41663a8 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/technology/scn4m_subm/gds_lib/replica_cell_1w_1r.gds b/technology/scn4m_subm/gds_lib/replica_cell_1w_1r.gds new file mode 100644 index 0000000000000000000000000000000000000000..ce6e413b71352cb8fd64512faa68208b349805a4 GIT binary patch literal 8192 zcmeI0J8WD<6o!x2_ImAXoOK?41OuBFF~*6#iA)>{FcL*18cIatgxC`T%ET`TeUfB*6Q0kUp@G~`<>bO(eV#I{^`!AzyJE@-A|5I_ka0f(-y}g z@4U^{>$^LTyWc!~u=Q}K+uiCs+3M`tSi`J-x@OB(pRSqNN^8{r`gP@1;s?*nmeCUkk`^W$8pg*}&JNWUz?8^P`<^FR&nyt6Z;Krue>_JKC&d`7Qo)5&m@Wy9mtw$xL zJ3~KlsR!{BUzA?uUwEGU5Z~f)N&H257@vNVD~$s`J}BK8`X?GG2E=n^sU)$B^3YFQ z#tf-X8=`b)=%;sfT@JC7M z&d@*c!tCPD-UsKR&%??4C8aw<|8y()A^tP_CGi*Kp`SXs@#nX6XXtOgNPdX-^8J$d zi}KJ<-WDw7kNV_Klx#!mi3>CVtk{OOk|e(O<+FG_cYe#S=}NL2Gr{jR#71hW@EnDQA%S@CP}d{o{E<>dObEJ3~MHrk=(@8}u7Wuk!QUsRwyp zJU>x-mH*Ad6c3WO{H7m8dDwr-c}{8vk8bJCNV-b#5Cr91QZeg4KX?{mWpUhw_}^Z|b-&%gP#-sW%m?&q7Aa{!d?%;Uf2Up?sA?bh?; z6Qw&tf4+ZFpLHxUhl=vh&o{2V(+AHV(w(8798nJro*$%F`H9bdt$v)@PwheJ&M-bc z_6xPcn#BjDJ1hO18PpDO@j>a%(9d@ddrt2=$n$`QaYO0O(9e69=LD%QAC&G4{nXLT zbEgeadX=Ak6AMybaiMf)7=OfloVOtLS%;!@XXq#I)Pwl=b{3^q`6qq6>^+dZkmn{! zcZTsfqY)btoBoT^ouQw3uRVx<&mN@yL+Q@Y&lq*%&u{5f<7dC39>mKxpD4Y`&vPeF zQ12~KdR6|2OP(Nk zNAsg|H0$$Xpi&tw~FIw z!6NSsbz#u`h|zonid{@q0jD z{unnohUA{{i_)E8e8x>Zh>!7$(g*yv^ZA#px!!jWYmx6E$W@f*@%#MQn(z783-Cj( zqCE8TjP%_x_RbS&J3~MFC>Nyv?5Co1XXwAS zN3C=wz{mSQlyC?N<#*t^O tKOZ0E^N}&@@_o8DH$>^qUOpzAW0^SocbI`;28J0JW?-0sVFvOH{0)*ea`XTI literal 0 HcmV?d00001 diff --git a/technology/scn4m_subm/mag_lib/cell_6t.ext b/technology/scn4m_subm/mag_lib/cell_6t.ext new file mode 100644 index 00000000..79f3c8b4 --- /dev/null +++ b/technology/scn4m_subm/mag_lib/cell_6t.ext @@ -0,0 +1,41 @@ +timestamp 1536091415 +version 8.2 +tech scmos +style TSMC0.35um(tsmc35)from:t11c +scale 1000 1 5 +resistclasses 3700 2800 1018000 1018000 1 6000 6000 80 70 80 40 +node "comment_0_0#" 0 0 0 0 bb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +node "br" 6 -1.43219e-14 96 -8 ndc 320 72 0 0 0 0 0 0 0 0 0 0 0 0 512 96 3456 464 0 0 0 0 +node "bl" 6 -8.88178e-16 40 -8 ndc 320 72 0 0 0 0 0 0 0 0 0 0 0 0 512 96 3200 432 0 0 0 0 +node "wl" 115 -2.89546e-13 -8 12 p 0 0 0 0 0 0 0 0 0 0 1536 360 0 0 2496 344 0 0 0 0 0 0 +node "a_36_40#" 140 -3.51719e-13 36 40 ndif 960 144 304 72 0 0 0 0 0 0 1984 424 0 0 2048 288 0 0 0 0 0 0 +node "a_28_32#" 160 -8.06466e-13 28 32 p 960 144 304 72 0 0 0 0 0 0 2000 456 0 0 1920 272 0 0 0 0 0 0 +node "gnd" 41 -27.888 -32 -32 pw 1792 240 512 128 0 0 0 0 29600 696 0 0 0 0 2688 400 6400 864 0 0 0 0 +equiv "gnd" "gnd" +node "vdd" 2340 2596 -32 116 nw 256 64 800 176 17600 576 0 0 0 0 0 0 0 0 3456 464 256 64 0 0 0 0 +cap "wl" "bl" 189.768 +cap "a_36_40#" "br" 17.59 +cap "wl" "br" 189.768 +cap "vdd" "bl" 135.015 +cap "bl" "br" 27.492 +cap "vdd" "br" 117.084 +cap "gnd" "a_28_32#" 880.405 +cap "gnd" "a_36_40#" 401.284 +cap "a_28_32#" "a_36_40#" 272.793 +cap "gnd" "wl" 1198.41 +cap "gnd" "bl" 712.11 +cap "a_28_32#" "wl" 108.364 +cap "vdd" "gnd" 510.12 +cap "gnd" "br" 698.471 +cap "a_36_40#" "wl" 108.364 +cap "a_28_32#" "bl" 104.205 +cap "vdd" "a_28_32#" 430.812 +cap "a_36_40#" "bl" 29.396 +cap "a_28_32#" "br" 308.488 +cap "vdd" "a_36_40#" 709.108 +fet nfet 96 12 97 13 128 48 "gnd" "wl" 16 0 "br" 16 0 "a_28_32#" 16 0 +fet nfet 40 12 41 13 128 48 "gnd" "wl" 16 0 "bl" 16 0 "a_36_40#" 16 0 +fet nfet 116 40 117 41 256 80 "gnd" "a_36_40#" 16 0 "a_28_32#" 32 0 "gnd" 32 0 +fet nfet 28 40 29 41 256 80 "gnd" "a_28_32#" 16 0 "gnd" 32 0 "a_36_40#" 32 0 +fet pfet 108 148 109 149 192 56 "vdd" "a_36_40#" 32 0 "a_28_32#" 12 0 "vdd" 12 0 +fet pfet 28 148 29 149 192 56 "vdd" "a_28_32#" 32 0 "vdd" 12 0 "a_36_40#" 12 0 diff --git a/technology/scn4m_subm/mag_lib/cell_6t.spice b/technology/scn4m_subm/mag_lib/cell_6t.spice new file mode 100644 index 00000000..31eec08a --- /dev/null +++ b/technology/scn4m_subm/mag_lib/cell_6t.spice @@ -0,0 +1,15 @@ +* SPICE3 file created from cell_6t.ext - technology: scmos + +M1000 a_36_40# a_28_32# vdd vdd pfet w=0.6u l=0.8u ++ ad=0.76p pd=3.6u as=2p ps=8.8u +M1001 vdd a_36_40# a_28_32# vdd pfet w=0.6u l=0.8u ++ ad=0p pd=0u as=0.76p ps=3.6u +M1002 a_36_40# a_28_32# gnd gnd nfet w=1.6u l=0.4u ++ ad=2.4p pd=7.2u as=4.48p ps=12u +M1003 gnd a_36_40# a_28_32# gnd nfet w=1.6u l=0.4u ++ ad=0p pd=0u as=2.4p ps=7.2u +M1004 a_36_40# wl bl gnd nfet w=0.8u l=0.4u ++ ad=0p pd=0u as=0.8p ps=3.6u +M1005 a_28_32# wl br gnd nfet w=0.8u l=0.4u ++ ad=0p pd=0u as=0.8p ps=3.6u +C0 vdd 0 2.60fF diff --git a/technology/scn4m_subm/mag_lib/replica_cell_6t.ext b/technology/scn4m_subm/mag_lib/replica_cell_6t.ext new file mode 100644 index 00000000..726cd738 --- /dev/null +++ b/technology/scn4m_subm/mag_lib/replica_cell_6t.ext @@ -0,0 +1,35 @@ +timestamp 1541443051 +version 8.2 +tech scmos +style TSMC0.35um(tsmc35)from:t11c +scale 1000 1 5 +resistclasses 3700 2800 1018000 1018000 1 6000 6000 80 70 80 40 +node "comment_0_0#" 0 0 0 0 bb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +node "br" 6 1.40998e-14 96 -8 ndc 320 72 0 0 0 0 0 0 0 0 0 0 0 0 512 96 3456 464 0 0 0 0 +node "bl" 6 -8.88178e-16 40 -8 ndc 320 72 0 0 0 0 0 0 0 0 0 0 0 0 512 96 3200 432 0 0 0 0 +node "wl" 115 -2.89546e-13 -8 12 p 0 0 0 0 0 0 0 0 0 0 1536 360 0 0 2496 344 0 0 0 0 0 0 +node "a_36_40#" 140 -3.51719e-13 36 40 ndif 960 144 304 72 0 0 0 0 0 0 1984 424 0 0 2048 288 0 0 0 0 0 0 +node "gnd" 41 -27.888 -32 -32 pw 1792 240 512 128 0 0 0 0 29600 696 0 0 0 0 2688 400 6400 864 0 0 0 0 +equiv "gnd" "gnd" +node "vdd" 2517 2596 -32 116 nw 1216 208 1104 248 17600 576 0 0 0 0 2000 456 0 0 5632 736 256 64 0 0 0 0 +cap "vdd" "br" 442.06 +cap "bl" "wl" 189.768 +cap "gnd" "br" 698.471 +cap "bl" "a_36_40#" 29.396 +cap "wl" "a_36_40#" 108.364 +cap "bl" "vdd" 239.22 +cap "bl" "gnd" 712.11 +cap "wl" "vdd" 108.364 +cap "wl" "gnd" 1198.41 +cap "bl" "br" 27.492 +cap "a_36_40#" "vdd" 981.901 +cap "wl" "br" 189.768 +cap "a_36_40#" "gnd" 401.284 +cap "vdd" "gnd" 1390.52 +cap "a_36_40#" "br" 17.59 +fet nfet 96 12 97 13 128 48 "gnd" "wl" 16 0 "br" 16 0 "vdd" 16 0 +fet nfet 40 12 41 13 128 48 "gnd" "wl" 16 0 "bl" 16 0 "a_36_40#" 16 0 +fet nfet 116 40 117 41 256 80 "gnd" "a_36_40#" 16 0 "vdd" 32 0 "gnd" 32 0 +fet nfet 28 40 29 41 256 80 "gnd" "vdd" 16 0 "gnd" 32 0 "a_36_40#" 32 0 +fet pfet 108 148 109 149 192 56 "vdd" "a_36_40#" 32 0 "vdd" 24 0 +fet pfet 28 148 29 149 192 56 "vdd" "vdd" 32 0 "vdd" 12 0 "a_36_40#" 12 0 diff --git a/technology/scn4m_subm/mag_lib/replica_cell_6t.spice b/technology/scn4m_subm/mag_lib/replica_cell_6t.spice new file mode 100644 index 00000000..bb64476f --- /dev/null +++ b/technology/scn4m_subm/mag_lib/replica_cell_6t.spice @@ -0,0 +1,16 @@ +* SPICE3 file created from replica_cell_6t.ext - technology: scmos + +M1000 a_36_40# vdd vdd vdd pfet w=0.6u l=0.8u ++ ad=0.76p pd=3.6u as=2.76p ps=12.4u +** SOURCE/DRAIN TIED +M1001 vdd a_36_40# vdd vdd pfet w=0.8u l=0.6u ++ ad=0p pd=0u as=0p ps=0u +M1002 a_36_40# vdd gnd gnd nfet w=1.6u l=0.4u ++ ad=2.4p pd=7.2u as=4.48p ps=12u +M1003 gnd a_36_40# vdd gnd nfet w=1.6u l=0.4u ++ ad=0p pd=0u as=3.04p ps=10.4u +M1004 a_36_40# wl bl gnd nfet w=0.8u l=0.4u ++ ad=0p pd=0u as=0.8p ps=3.6u +M1005 vdd wl br gnd nfet w=0.8u l=0.4u ++ ad=0p pd=0u as=0.8p ps=3.6u +C0 vdd 0 2.60fF diff --git a/technology/scn4m_subm/sp_lib/cell_1w_1r.sp b/technology/scn4m_subm/sp_lib/cell_1w_1r.sp new file mode 100644 index 00000000..b40f589a --- /dev/null +++ b/technology/scn4m_subm/sp_lib/cell_1w_1r.sp @@ -0,0 +1,14 @@ + +.SUBCKT cell_1w_1r bl0 br0 bl1 br1 wl0 wl1 vdd gnd +MM9 RA_to_R_right wl1 br1 gnd n w=1.2u l=0.4u +MM8 RA_to_R_right Q gnd gnd n w=1.2u l=0.4u +MM7 RA_to_R_left Q_bar gnd gnd n w=1.2u l=0.4u +MM6 RA_to_R_left wl1 bl1 gnd n w=1.2u l=0.4u +MM5 Q wl0 bl0 gnd n w=0.8u l=0.4u +MM4 Q_bar wl0 br0 gnd n w=0.8u l=0.4u +MM1 Q Q_bar gnd gnd n w=1.6u l=0.4u +MM0 Q_bar Q gnd gnd n w=1.6u l=0.4u +MM3 Q Q_bar vdd vdd p w=0.6u l=0.4u +MM2 Q_bar Q vdd vdd p w=0.6u l=0.4u +.ENDS + diff --git a/technology/scn4m_subm/sp_lib/cell_6t.st0 b/technology/scn4m_subm/sp_lib/cell_6t.st0 new file mode 100644 index 00000000..52729df3 --- /dev/null +++ b/technology/scn4m_subm/sp_lib/cell_6t.st0 @@ -0,0 +1,38 @@ +****** HSPICE -- M-2017.03 linux64 (Feb 20 2017) ****** + Input File: cell_6t.sp + lic: + lic: FLEXlm: SDK_11.6.4 + lic: USER: mrg HOSTNAME: 72fb17cef281 + lic: HOSTID: 0242ac110002 PID: 69 + lic: Using FLEXlm license file: + lic: 27000@license.soe.ucsc.edu + lic: Checkout 1 hspice + lic: License/Maintenance for hspice will expire on 18-dec-2020/2018.09 + lic: 1(in_use)/50(total) FLOATING license(s) on SERVER 27000@license.soe.ucsc.edu + lic: + init: begin read circuit files, cpu clock= 9.60E-01 + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/a + d + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/b + ehave + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/c + omlinear + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/d + io + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/f + et + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/l + in_tech + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/p + ci + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/s + ignet + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/t + i + option search = /bsoe/software/synopsys/M-2017.03/hspice/parts/x + ilinx + option runlvl + init: end read circuit files, cpu clock= 9.60E-01 peak memory= 290 mb + init: begin check errors, cpu clock= 9.60E-01 +>error ***** hspice job aborted + lic: Release hspice token(s) diff --git a/technology/scn4m_subm/sp_lib/replica_cell_1w_1r.sp b/technology/scn4m_subm/sp_lib/replica_cell_1w_1r.sp new file mode 100644 index 00000000..6c2d3c1b --- /dev/null +++ b/technology/scn4m_subm/sp_lib/replica_cell_1w_1r.sp @@ -0,0 +1,14 @@ + +.SUBCKT replica_cell_1w_1r bl0 br0 bl1 br1 wl0 wl1 vdd gnd +MM9 RA_to_R_right wl1 br1 gnd n w=1.2u l=0.4u +MM8 RA_to_R_right Q gnd gnd n w=1.2u l=0.4u +MM7 RA_to_R_left vdd gnd gnd n w=1.2u l=0.4u +MM6 RA_to_R_left wl1 bl1 gnd n w=1.2u l=0.4u +MM5 Q wl0 bl0 gnd n w=0.8u l=0.4u +MM4 vdd wl0 br0 gnd n w=0.8u l=0.4u +MM1 Q vdd gnd gnd n w=1.6u l=0.4u +MM0 vdd Q gnd gnd n w=1.6u l=0.4u +MM3 Q vdd vdd vdd p w=0.6u l=0.4u +MM2 vdd Q vdd vdd p w=0.6u l=0.4u +.ENDS + From 4577d380f99585f96695b56c92c680c386ec2a2a Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 09:57:34 -0800 Subject: [PATCH 59/77] Add example 1w/1r --- .../example_config_1w_1r_scn4m_subm.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 compiler/example_configs/example_config_1w_1r_scn4m_subm.py diff --git a/compiler/example_configs/example_config_1w_1r_scn4m_subm.py b/compiler/example_configs/example_config_1w_1r_scn4m_subm.py new file mode 100644 index 00000000..c01b67b7 --- /dev/null +++ b/compiler/example_configs/example_config_1w_1r_scn4m_subm.py @@ -0,0 +1,20 @@ +word_size = 2 +num_words = 16 + +bitcell = "bitcell_1w_1r" +replica_bitcell = "replica_bitcell_1w_1r" +num_rw_ports = 1 +num_r_ports = 1 +num_w_ports = 0 + +tech_name = "scn4m_subm" +process_corners = ["TT"] +supply_voltages = [5.0] +temperatures = [25] + +output_path = "temp" +output_name = "sram_1w_1r_{0}_{1}_{2}".format(word_size,num_words,tech_name) + +drc_name = "magic" +lvs_name = "netgen" +pex_name = "magic" From 9b785cd5357c1bb5ee0d167f9c60b31a4d5cb8bd Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 10:48:54 -0800 Subject: [PATCH 60/77] Fix error in cell width. Fix escape warning. --- compiler/verify/magic.py | 2 +- technology/freepdk45/sp_lib/cell_1w_1r.sp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/verify/magic.py b/compiler/verify/magic.py index 6fe1edf0..29a26b5e 100644 --- a/compiler/verify/magic.py +++ b/compiler/verify/magic.py @@ -45,7 +45,7 @@ def write_magic_script(cell_name, gds_name, extract=False, final_verification=Fa #f.write("load {}_new\n".format(cell_name)) #f.write("cellname rename {0}_new {0}\n".format(cell_name)) #f.write("load {}\n".format(cell_name)) - f.write("cellname delete \(UNNAMED\)\n") + f.write("cellname delete \\(UNNAMED\\)\n") f.write("writeall force\n") f.write("select top cell\n") f.write("expand\n") diff --git a/technology/freepdk45/sp_lib/cell_1w_1r.sp b/technology/freepdk45/sp_lib/cell_1w_1r.sp index f8f065c5..eb3803b4 100644 --- a/technology/freepdk45/sp_lib/cell_1w_1r.sp +++ b/technology/freepdk45/sp_lib/cell_1w_1r.sp @@ -6,8 +6,8 @@ MM7 RA_to_R_left Q_bar gnd gnd NMOS_VTG W=180.0n L=50n m=1 MM6 RA_to_R_left wl1 bl1 gnd NMOS_VTG W=180.0n L=50n m=1 MM5 Q wl0 bl0 gnd NMOS_VTG W=135.00n L=50n m=1 MM4 Q_bar wl0 br0 gnd NMOS_VTG W=135.00n L=50n m=1 -MM1 Q Q_bar gnd gnd NMOS_VTG W=270.0n L=50n m=1 -MM0 Q_bar Q gnd gnd NMOS_VTG W=270.0n L=50n m=1 +MM1 Q Q_bar gnd gnd NMOS_VTG W=205.0n L=50n m=1 +MM0 Q_bar Q gnd gnd NMOS_VTG W=205.0n L=50n m=1 MM3 Q Q_bar vdd vdd PMOS_VTG W=90n L=50n m=1 MM2 Q_bar Q vdd vdd PMOS_VTG W=90n L=50n m=1 .ENDS From a210fdda0f178a60e82d9e029752e3f1731fc3d1 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 10:49:35 -0800 Subject: [PATCH 61/77] Fix arguments for none verification --- compiler/verify/assura.py | 6 +++--- compiler/verify/calibre.py | 2 +- compiler/verify/magic.py | 2 +- compiler/verify/none.py | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler/verify/assura.py b/compiler/verify/assura.py index d3c605f3..af034730 100644 --- a/compiler/verify/assura.py +++ b/compiler/verify/assura.py @@ -30,7 +30,7 @@ num_drc_runs = 0 num_lvs_runs = 0 num_pex_runs = 0 -def run_drc(name, gds_name): +def run_drc(name, gds_name, final_verification=False): """Run DRC check on a given top-level name which is implemented in gds_name.""" @@ -93,7 +93,7 @@ def run_drc(name, gds_name): return errors -def run_lvs(name, gds_name, sp_name): +def run_lvs(name, gds_name, sp_name, final_verification=False): """Run LVS check on a given top-level name which is implemented in gds_name and sp_name. """ @@ -178,7 +178,7 @@ def run_lvs(name, gds_name, sp_name): return errors -def run_pex(name, gds_name, sp_name, output=None): +def run_pex(name, gds_name, sp_name, output=None, final_verification=False): """Run pex on a given top-level name which is implemented in gds_name and sp_name. """ debug.error("PEX extraction not implemented with Assura.",-1) diff --git a/compiler/verify/calibre.py b/compiler/verify/calibre.py index 2de76386..5f8d2c73 100644 --- a/compiler/verify/calibre.py +++ b/compiler/verify/calibre.py @@ -282,7 +282,7 @@ def run_lvs(cell_name, gds_name, sp_name, final_verification=False): return total_errors -def run_pex(cell_name, gds_name, sp_name, output=None): +def run_pex(cell_name, gds_name, sp_name, output=None, final_verification=False): """Run pex on a given top-level name which is implemented in gds_name and sp_name. """ diff --git a/compiler/verify/magic.py b/compiler/verify/magic.py index 29a26b5e..7db9a5c2 100644 --- a/compiler/verify/magic.py +++ b/compiler/verify/magic.py @@ -259,7 +259,7 @@ def run_lvs(cell_name, gds_name, sp_name, final_verification=False): return total_errors -def run_pex(name, gds_name, sp_name, output=None): +def run_pex(name, gds_name, sp_name, output=None, final_verification=False): """Run pex on a given top-level name which is implemented in gds_name and sp_name. """ diff --git a/compiler/verify/none.py b/compiler/verify/none.py index 531a394d..c69ed93b 100644 --- a/compiler/verify/none.py +++ b/compiler/verify/none.py @@ -9,7 +9,7 @@ drc_warned = False lvs_warned = False pex_warned = False -def run_drc(cell_name, gds_name, extract=False): +def run_drc(cell_name, gds_name, extract=False, final_verification=False): global drc_warned if not drc_warned: debug.warning("DRC unable to run.") @@ -25,7 +25,7 @@ def run_lvs(cell_name, gds_name, sp_name, final_verification=False): # Since we warned, return a failing test. return 1 -def run_pex(name, gds_name, sp_name, output=None): +def run_pex(name, gds_name, sp_name, output=None, final_verification=False): global pex_warned if not pex_warned: debug.warning("PEX unable to run.") From be741a6828c019aee12c410102f34402b63f7137 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 24 Feb 2019 11:04:56 -0800 Subject: [PATCH 62/77] Fix mising file --- technology/freepdk45/sp_lib/replica_cell_1w_1r.sp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 technology/freepdk45/sp_lib/replica_cell_1w_1r.sp diff --git a/technology/freepdk45/sp_lib/replica_cell_1w_1r.sp b/technology/freepdk45/sp_lib/replica_cell_1w_1r.sp new file mode 100644 index 00000000..fd06db8c --- /dev/null +++ b/technology/freepdk45/sp_lib/replica_cell_1w_1r.sp @@ -0,0 +1,14 @@ + +.SUBCKT replica_cell_1w_1r bl0 br0 bl1 br1 wl0 wl1 vdd gnd +MM9 RA_to_R_right wl1 br1 gnd NMOS_VTG W=180.0n L=50n m=1 +MM8 RA_to_R_right Q gnd gnd NMOS_VTG W=180.0n L=50n m=1 +MM7 RA_to_R_left vdd gnd gnd NMOS_VTG W=180.0n L=50n m=1 +MM6 RA_to_R_left wl1 bl1 gnd NMOS_VTG W=180.0n L=50n m=1 +MM5 Q wl0 bl0 gnd NMOS_VTG W=135.00n L=50n m=1 +MM4 vdd wl0 br0 gnd NMOS_VTG W=135.00n L=50n m=1 +MM1 Q vdd gnd gnd NMOS_VTG W=205.0n L=50n m=1 +MM0 vdd Q gnd gnd NMOS_VTG W=205.0n L=50n m=1 +MM3 Q vdd vdd vdd PMOS_VTG W=90n L=50n m=1 +MM2 vdd Q vdd vdd PMOS_VTG W=90n L=50n m=1 +.ENDS + From 34294443d4af3578cba406fd75c017cae0645851 Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Mon, 25 Feb 2019 07:46:34 -0800 Subject: [PATCH 63/77] updated logos and css for official colors --- compiler/datasheet/assets/OpenRAM_logo.png | Bin 0 -> 17185 bytes compiler/datasheet/assets/datasheet.css | 4 ++-- .../assets/openram_logo_placeholder.png | Bin 44878 -> 0 bytes compiler/datasheet/assets/vlsi_logo.png | Bin 26952 -> 43292 bytes compiler/datasheet/datasheet.py | 7 +++---- 5 files changed, 5 insertions(+), 6 deletions(-) create mode 100644 compiler/datasheet/assets/OpenRAM_logo.png delete mode 100644 compiler/datasheet/assets/openram_logo_placeholder.png diff --git a/compiler/datasheet/assets/OpenRAM_logo.png b/compiler/datasheet/assets/OpenRAM_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d155cce08cdeb07c14d570940eec22db0a9f39a3 GIT binary patch literal 17185 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ྯ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%0DwCM0Kl=&Xi?(*f&!#O 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%0ARVKQU4Do3XOd^xGVL)!yFX`*He6EW^-`A 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 QB?R~*B_=OgEo>0Hq)$ literal 26952 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 diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index 2847b2fe..a7700349 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -35,11 +35,10 @@ class datasheet(): # Add openram logo openram_logo = 0 - with open(os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/openram_logo_placeholder.png', "rb") as image_file: + with open(os.path.abspath(os.environ.get("OPENRAM_HOME")) + '/datasheet/assets/OpenRAM_logo.png', "rb") as image_file: openram_logo = base64.b64encode(image_file.read()) - self.html += 'VLSIDA'.format(str(vlsi_logo)[ - 2:-1]) + self.html += 'VLSIDAOpenRAM'.format(str(vlsi_logo)[2:-1], str(openram_logo)[2:-1]) self.html += '

    ' + \ self.name + '.html' + '

    ' @@ -53,7 +52,7 @@ class datasheet(): # print port table self.html += '

    Ports and Configuration

    ' self.html += self.io_table.to_html() - + # print operating condidition information self.html += '

    Operating Conditions

    ' self.html += self.operating_table.to_html() From a18071a4ff38fd4c4ecb296820cc786ae9130bfc Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 10:07:05 -0800 Subject: [PATCH 64/77] Add warning for large memory sizes --- compiler/globals.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/globals.py b/compiler/globals.py index f162edda..a39066fb 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -417,7 +417,10 @@ def report_status(): debug.error("Tech name must be specified in config file.") debug.print_raw("Technology: {0}".format(OPTS.tech_name)) - debug.print_raw("Total size: {} bits".format(OPTS.word_size*OPTS.num_words*OPTS.num_banks)) + total_size = OPTS.word_size*OPTS.num_words*OPTS.num_banks + debug.print_raw("Total size: {} bits".format(total_size)) + if total_size>=2**15: + debug.warning("Requesting such a large memory size ({0}) will have a large run-time. Consider using multiple smaller banks.") debug.print_raw("Word size: {0}\nWords: {1}\nBanks: {2}".format(OPTS.word_size, OPTS.num_words, OPTS.num_banks)) From 638afaeb314cdf14680d7053d35c3a0a797ea13f Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 10:14:02 -0800 Subject: [PATCH 65/77] Remove duplicate profile stats script --- compiler/profile_stats.py | 5 ----- 1 file changed, 5 deletions(-) delete mode 100755 compiler/profile_stats.py diff --git a/compiler/profile_stats.py b/compiler/profile_stats.py deleted file mode 100755 index d3c33801..00000000 --- a/compiler/profile_stats.py +++ /dev/null @@ -1,5 +0,0 @@ -import pstats -p = pstats.Stats('profile.dat') -p.strip_dirs() -p.sort_stats('cumulative') -p.print_stats(50) From a4b53683025f508d04e4db34490c6cd7aafa1467 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 14:57:18 -0800 Subject: [PATCH 66/77] Add total size in warning for output size. --- compiler/globals.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/globals.py b/compiler/globals.py index a39066fb..8bd8ef01 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -419,8 +419,9 @@ def report_status(): debug.print_raw("Technology: {0}".format(OPTS.tech_name)) total_size = OPTS.word_size*OPTS.num_words*OPTS.num_banks debug.print_raw("Total size: {} bits".format(total_size)) - if total_size>=2**15: - debug.warning("Requesting such a large memory size ({0}) will have a large run-time. Consider using multiple smaller banks.") + if total_size>=2**14: + debug.warning("Requesting such a large memory size ({0}) will have a large run-time. ".format(total_size) + + "Consider using multiple smaller banks.") debug.print_raw("Word size: {0}\nWords: {1}\nBanks: {2}".format(OPTS.word_size, OPTS.num_words, OPTS.num_banks)) From 1f1426b97c83f986cf961dd9f3c5ceee7c17c604 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 16:10:34 -0800 Subject: [PATCH 67/77] Add auto-detect of custom bitcells --- .../example_config_1rw_1r_scn4m_subm.py | 2 - .../example_config_1w_1r_scn4m_subm.py | 2 - compiler/globals.py | 40 ++++++++++++++++++- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py index 4d09cfee..8703967b 100644 --- a/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py +++ b/compiler/example_configs/example_config_1rw_1r_scn4m_subm.py @@ -1,8 +1,6 @@ word_size = 2 num_words = 16 -bitcell = "bitcell_1rw_1r" -replica_bitcell = "replica_bitcell_1rw_1r" num_rw_ports = 1 num_r_ports = 1 num_w_ports = 0 diff --git a/compiler/example_configs/example_config_1w_1r_scn4m_subm.py b/compiler/example_configs/example_config_1w_1r_scn4m_subm.py index c01b67b7..56f6edfd 100644 --- a/compiler/example_configs/example_config_1w_1r_scn4m_subm.py +++ b/compiler/example_configs/example_config_1w_1r_scn4m_subm.py @@ -1,8 +1,6 @@ word_size = 2 num_words = 16 -bitcell = "bitcell_1w_1r" -replica_bitcell = "replica_bitcell_1w_1r" num_rw_ports = 1 num_r_ports = 1 num_w_ports = 0 diff --git a/compiler/globals.py b/compiler/globals.py index 8bd8ef01..37aceafa 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -132,6 +132,8 @@ def init_openram(config_file, is_unit_test=True): from sram_factory import factory factory.reset() + + setup_bitcell() # Reset the static duplicate name checker for unit tests. import hierarchy_design @@ -157,6 +159,41 @@ def init_openram(config_file, is_unit_test=True): if not CHECKPOINT_OPTS: CHECKPOINT_OPTS = copy.copy(OPTS) +def setup_bitcell(): + """ + Determine the correct custom or parameterized bitcell for the design. + """ + global OPTS + + if (OPTS.num_rw_ports==1 and OPTS.num_w_ports==0 and OPTS.num_r_ports==0): + OPTS.bitcell = "bitcell" + OPTS.replica_bitcell = "replica_bitcell" + # If we have non-1rw ports, figure out the right bitcell to use + else: + ports = "" + if OPTS.num_rw_ports>0: + ports += "{}rw_".format(OPTS.num_rw_ports) + if OPTS.num_w_ports>0: + ports += "{}w_".format(OPTS.num_w_ports) + if OPTS.num_r_ports>0: + ports += "{}r".format(OPTS.num_r_ports) + + OPTS.bitcell = "bitcell_"+ports + OPTS.replica_bitcell = "replica_bitcell_"+ports + + # See if a custom bitcell exists + from importlib import find_loader + bitcell_loader = find_loader(OPTS.bitcell) + replica_bitcell_loader = find_loader(OPTS.replica_bitcell) + # Use the pbitcell if we couldn't find a custom bitcell + # or its custom replica bitcell + if bitcell_loader==None or replica_bitcell_loader==None: + # Use the pbitcell (and give a warning if not in unit test mode) + OPTS.bitcell = "pbitcell" + OPTS.replica_bitcell = "replica_pbitcell" + debug.warning("Using the parameterized bitcell which may have suboptimal density.") + else: + debug.info(1,"Using custom bitcell: {}".format(OPTS.bitcell)) def get_tool(tool_type, preferences, default_name=None): @@ -250,7 +287,8 @@ def read_config(config_file, is_unit_test=True): OPTS.num_words, ports, OPTS.tech_name) - + + def end_openram(): From de977732dbb20fec14ba04e64f79f16432830eab Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 16:13:54 -0800 Subject: [PATCH 68/77] Only warn if not unit tests --- compiler/globals.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/globals.py b/compiler/globals.py index 37aceafa..73cd3747 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -191,7 +191,8 @@ def setup_bitcell(): # Use the pbitcell (and give a warning if not in unit test mode) OPTS.bitcell = "pbitcell" OPTS.replica_bitcell = "replica_pbitcell" - debug.warning("Using the parameterized bitcell which may have suboptimal density.") + if not OPTS.is_unit_test: + debug.warning("Using the parameterized bitcell which may have suboptimal density.") else: debug.info(1,"Using custom bitcell: {}".format(OPTS.bitcell)) From f865e661819879c80603108302eead7d5b972576 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Mon, 25 Feb 2019 16:47:38 -0800 Subject: [PATCH 69/77] Remove git_id file --- compiler/git_id | 1 - 1 file changed, 1 deletion(-) delete mode 100644 compiler/git_id diff --git a/compiler/git_id b/compiler/git_id deleted file mode 100644 index e1aa211f..00000000 --- a/compiler/git_id +++ /dev/null @@ -1 +0,0 @@ -468eb9a4a038201c2b0004fe6e4ae9b2d37fdd57 From 42bc6efb21f8f2652e487c06c58c4f3326f22eda Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 26 Feb 2019 20:06:35 -0800 Subject: [PATCH 70/77] Added additional graphing and data collection to script --- compiler/characterizer/model_check.py | 34 ++- compiler/tests/delay_data_collection.py | 358 ++++++++++++++++++++++-- 2 files changed, 358 insertions(+), 34 deletions(-) diff --git a/compiler/characterizer/model_check.py b/compiler/characterizer/model_check.py index 874bb2d0..12bc5d58 100644 --- a/compiler/characterizer/model_check.py +++ b/compiler/characterizer/model_check.py @@ -26,30 +26,34 @@ class model_check(delay): def create_data_names(self): self.wl_meas_name, self.wl_model_name = "wl_measures", "wl_model" self.sae_meas_name, self.sae_model_name = "sae_measures", "sae_model" + self.wl_slew_name, self.sae_slew_name = "wl_slews", "sae_slews" def create_measurement_names(self): """Create measurement names. The names themselves currently define the type of measurement""" #Create delay measurement names - wl_en_driver_delay_names = ["delay_wl_en_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] - wl_driver_delay_names = ["delay_wl_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] - sen_driver_delay_names = ["delay_sen_dvr{}_".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] - dc_delay_names = ["delay_delay_chain_stage{}_".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] + wl_en_driver_delay_names = ["delay_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_delay_names = ["delay_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_delay_names = ["delay_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + dc_delay_names = ["delay_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.wl_delay_meas_names = wl_en_driver_delay_names+["delay_wl_en", "delay_wl_bar"]+wl_driver_delay_names+["delay_wl"] self.rbl_delay_meas_names = ["delay_gated_clk_nand", "delay_delay_chain_in"]+dc_delay_names self.sae_delay_meas_names = ["delay_pre_sen"]+sen_driver_delay_names+["delay_sen"] self.delay_chain_indices = (len(self.rbl_delay_meas_names)-len(dc_delay_names), len(self.rbl_delay_meas_names)) #Create slew measurement names - wl_en_driver_slew_names = ["slew_wl_en_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] - wl_driver_slew_names = ["slew_wl_dvr{}_".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] - sen_driver_slew_names = ["slew_sen_dvr{}_".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] - dc_slew_names = ["slew_delay_chain_stage{}_".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] + wl_en_driver_slew_names = ["slew_wl_en_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] + wl_driver_slew_names = ["slew_wl_dvr_{}".format(stage) for stage in range(1,self.get_num_wl_driver_stages())] + sen_driver_slew_names = ["slew_sen_dvr_{}".format(stage) for stage in range(1,self.get_num_sen_driver_stages())] + dc_slew_names = ["slew_delay_chain_stage_{}".format(stage) for stage in range(1,self.get_num_delay_stages()+1)] self.wl_slew_meas_names = ["slew_wl_gated_clk_bar"]+wl_en_driver_slew_names+["slew_wl_en", "slew_wl_bar"]+wl_driver_slew_names+["slew_wl"] self.rbl_slew_meas_names = ["slew_rbl_gated_clk_bar","slew_gated_clk_nand", "slew_delay_chain_in"]+dc_slew_names self.sae_slew_meas_names = ["slew_replica_bl0", "slew_pre_sen"]+sen_driver_slew_names+["slew_sen"] def create_signal_names(self): - """Creates list of the signal names used in the spice file along the wl and sen paths.""" + """Creates list of the signal names used in the spice file along the wl and sen paths. + Names are re-harded coded here; i.e. the names are hardcoded in most of OpenRAM and are + replicated here. + """ delay.create_signal_names(self) #Signal names are all hardcoded, need to update to make it work for probe address and different configurations. wl_en_driver_signals = ["Xsram.Xcontrol0.Xbuf_wl_en.Zb{}_int".format(stage) for stage in range(1,self.get_num_wl_en_driver_stages())] @@ -317,12 +321,14 @@ class model_check(delay): data_dict[self.wl_model_name] = wl_model_delays data_dict[self.sae_meas_name] = sae_delays[read_port] data_dict[self.sae_model_name] = sae_model_delays + data_dict[self.wl_slew_name] = wl_slews[read_port] + data_dict[self.sae_slew_name] = sae_slews[read_port] #Some evaluations of the model and measured values - debug.info(1, "Comparing wordline measurements and model.") - self.compare_measured_and_model(wl_delays[read_port], wl_model_delays) - debug.info(1, "Comparing SAE measurements and model") - self.compare_measured_and_model(sae_delays[read_port], sae_model_delays) + # debug.info(1, "Comparing wordline measurements and model.") + # self.compare_measured_and_model(wl_delays[read_port], wl_model_delays) + # debug.info(1, "Comparing SAE measurements and model") + # self.compare_measured_and_model(sae_delays[read_port], sae_model_delays) return data_dict @@ -334,6 +340,8 @@ class model_check(delay): name_dict[self.wl_model_name] = name_dict["wl_measures"] #model uses same names as measured. name_dict[self.sae_meas_name] = self.rbl_en_signal_names[1:]+self.sae_signal_names[1:] name_dict[self.sae_model_name] = name_dict["sae_measures"] + name_dict[self.wl_slew_name] = self.wl_slew_meas_names + name_dict[self.sae_slew_name] = self.rbl_slew_meas_names+self.sae_slew_meas_names return name_dict diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py index 3e56909f..ca3e26d0 100644 --- a/compiler/tests/delay_data_collection.py +++ b/compiler/tests/delay_data_collection.py @@ -18,6 +18,25 @@ from sram_config import sram_config MODEL_DIR = "model_data/" DATASET_CSV_NAME = MODEL_DIR+'datasets.csv' +# Data Collection class +# This module can perform two tasks +# 1) Collect data +# 2) Display data +# Data Collection - +# A single SRAM simulation will collect 6 datasets: wordline (WL) delays, sense amp enable (SAE) delays, +# WL slews, SAE slews, WL model delays, SAE model delays. +# Each dataset is stored in a separate csv file. Each row of the CSV refers to a different corner simulated on. +# The files names are stored in DATASET_CSV_NAME marked above. +# There are 2 main ways the collection is targeted: looking at different delay chain sizes and looking at different SRAM configurations. +# These are separated by different functions and should not be collected together. +# +# Data display - +# There are many functions in this file which will search (or told) for data using DATASET_CSV_NAME as a guide. +# Delay chain data is analyzed in analyze_delay_chain_data, graph_delays_and_inp_slews, and graph_inp_slews_and_delay_var +# WL and SAE graphing is done in analyze_sae_data and graph_delays_and_var +# +# Data collection and each analysis can be run independently, but the one you want needs to be commented in/out. + class data_collection(openram_test): def runTest(self): @@ -29,7 +48,7 @@ class data_collection(openram_test): self.run_setup() self.run_delay_chain_analysis() - + #self.run_sae_analysis() globals.end_openram() def run_setup(self): @@ -105,6 +124,123 @@ class data_collection(openram_test): return [df_row[dt] for dt in data_types] + def get_all_filenames(self, data_types): + """Gets all files from dataset.csv specified by the datatype (model/measure)""" + start_fname_ind = 4 # four query items + + datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') + csv_data_types = list(datasets_df)[start_fname_ind:] + if not set(data_types).issubset(set(csv_data_types)): + debug.error("Dataset csv header does not match expected:\nExpected={}\nCSV={}".format(data_types, + csv_data_types),1) + + return [list(datasets_df[dt]) for dt in data_types] + + def run_sae_analysis(self): + """Generates sram with different delay chain configs over different corners and + analyzes delay average and variation.""" + #config_tuple_list = [(8, 16, 1),(8, 32, 1),(16, 32, 1), (32, 64, 1), (64, 32, 1), (64, 64, 1), (32, 128, 1)] + #config_tuple_list = [(1, 16, 1),(4, 16, 1),(16, 16, 1), (32, 32, 1)] + config_tuple_list = [(1, 16, 1),(4, 16, 1)] + self.save_sram_data_using_configs(config_tuple_list) + self.analyze_sae_data() #Uses all available data + #self.graph_delays_and_var('sae_measures') + #self.graph_delays_and_var('wl_measures') + #self.compare_wl_sae_data() + + def save_sram_data_using_configs(self, config_list): + """Get SRAM data for different configurations""" + for config in config_list: + word_size, num_words, words_per_row = config + self.init_data_gen() + self.save_data_sram_corners(word_size, num_words, words_per_row) + + def analyze_sae_data(self): + """Compare and graph delay chain variations over different configurations.""" + delay_avgs_ratio = [] + delay_vars_ratio = [] + sram_configs = [] + data_types = ["sae_measures"] + sae_filenames = self.get_all_filenames(data_types)[0] + sae_dataframes = self.get_csv_data(sae_filenames) + + for df in sae_dataframes: + #Each row in df contains sram config. Only use the first one (they should all be the same) + config = df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] + sram_configs.append(config) + delay_sums = self.get_sum(df) + delay_chain_sums = self.get_delay_chain_sums(df) + delay_avgs_ratio.append(self.get_average(delay_chain_sums)/self.get_average(delay_sums)) + delay_vars_ratio.append(self.get_variance(delay_chain_sums)/self.get_variance(delay_sums)) + debug.info(1,"DC config={}: avg ratio={} var ratio={}".format(sram_configs[-1], + delay_avgs_ratio[-1], + delay_vars_ratio[-1])) + + #Sort by the delays then graph + all_data = zip(delay_avgs_ratio,sram_configs,delay_vars_ratio) + delay_avgs_ratio,sram_configs,delay_vars_ratio = zip(*sorted(all_data)) + x_ax_label = '[word_size, num_words, words_per_row]' + y_ax_labels = ['DC/SAE Delay Ratio', 'DC/SAE Var. Ratio'] + self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs_ratio, delay_vars_ratio) + + def compare_wl_sae_data(self): + """Compare and graph delay chain variations over different configurations.""" + delay_avgs_ratio = [] + delay_vars_ratio = [] + sram_configs = [] + data_types = ["wl_measures","sae_measures"] + data_filenames = self.get_all_filenames(data_types) + wl_filenames = data_filenames[0] + wl_dataframes = self.get_csv_data(wl_filenames) + sae_filenames = data_filenames[1] + sae_dataframes = self.get_csv_data(sae_filenames) + + #Loop through all configurations found + for wl_df,sae_df in zip(wl_dataframes,sae_dataframes): + #Each row in df contains sram config. Only use the first one (they should all be the same) + config = wl_df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] + sram_configs.append(config) + wl_delays = self.get_sum(wl_df) + sae_delays = self.get_sum(sae_df) + delay_avgs_ratio.append(self.get_average(wl_delays)/self.get_average(sae_delays)) + delay_vars_ratio.append(self.get_variance(wl_delays)/self.get_variance(sae_delays)) + debug.info(1,"DC config={}: avg ratio={} var ratio={}".format(sram_configs[-1], + delay_avgs_ratio[-1], + delay_vars_ratio[-1])) + + #Sort by the delays then graph + all_data = zip(delay_avgs_ratio,sram_configs,delay_vars_ratio) + delay_avgs_ratio,sram_configs,delay_vars_ratio = zip(*sorted(all_data)) + x_ax_label = 'SRAM Config' + y_ax_labels = ['WL/SAE Delay Ratio', 'WL/SAE Var. Ratio'] + self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs_ratio, delay_vars_ratio) + + def graph_delays_and_var(self, data_type): + delay_avgs = [] + delay_vars = [] + sram_configs = [] + data_filenames = self.get_all_filenames([data_type])[0] + dataframes = self.get_csv_data(data_filenames) + + #Loop through all configurations found + for df in dataframes: + #Each row in df contains sram config. Only use the first one (they should all be the same) + config = df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] + sram_configs.append(config) + delays = self.get_sum(df) + delay_avgs.append(self.get_average(delays)) + delay_vars.append(self.get_variance(delays)) + debug.info(1,"DC config={}: avg={}, var={}".format(sram_configs[-1], + delay_avgs[-1], + delay_vars[-1])) + + #Sort by the delays then graph + all_data = zip(delay_avgs,sram_configs,delay_vars) + delay_avgs,sram_configs,delay_vars = zip(*sorted(all_data)) + x_ax_label = 'SRAM Config' + y_ax_labels = ['Avg. Delay', 'Delay Variance'] + self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs, delay_vars) + def run_delay_chain_analysis(self): """Generates sram with different delay chain configs over different corners and analyzes delay average and variation.""" @@ -116,10 +252,16 @@ class data_collection(openram_test): #dc_config_list = [(2,3), (3,3)] #fanout_configs = [[3,3], [3,3,3]] - previous_dc_configs = [[4,4,4], [2,2,2,2], [3,3,3,3], [4,4],[4,4,4,4], [5,5]] - fanout_configs = [[3,3], [3,3,3], [2,3,2,3], [2,4,2,4], [3,3,3,3]]+previous_dc_configs + old_fanout_configs = [] + fanout_configs = [[3,3], [2,3,2,3], [2,4,2,4], [2,2,2,2], [3,3,3,3], [4,4],[4,4,4,4], [5,5], \ + [2,2], [2,5,2,5], [2,6,2,6], [2,8,2,8], [3,5,3,5], [4,5,4,5], [2,2,2,2,2,2], [3,3,3,3,3,3],\ + [6,6],[7,7],[8,8],[9,9],[10,10],[11,11], + [5,2,5,2], [6,2,6,2], [8,2,8,2], [5,3,5,3], [5,4,5,4], [2,3,4,5], [7,2,7,2]] + analysis_configs = fanout_configs+old_fanout_configs #self.save_delay_chain_data(word_size, num_words, words_per_row, fanout_configs) - self.analyze_delay_chain_data(word_size, num_words, words_per_row, fanout_configs) + #self.analyze_delay_chain_data(word_size, num_words, words_per_row, analysis_configs) + #self.graph_delays_and_inp_slews(word_size, num_words, words_per_row, analysis_configs) + self.graph_inp_slews_and_delay_var(word_size, num_words, words_per_row, analysis_configs) def save_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): """Get the delay data by only varying the delay chain size.""" @@ -130,33 +272,207 @@ class data_collection(openram_test): def analyze_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): """Compare and graph delay chain variations over different configurations.""" - dc_avgs = [] - dc_vars = [] + if not os.path.exists(DATASET_CSV_NAME): + debug.error("Could not find dataset CSV. Aborting analysis...",1) + dc_avgs, dc_vars = [],[] + rise_avgs, rise_vars = [],[] + fall_avgs, fall_vars = [],[] for fanouts in fanout_configs: data_types = ["wl_measures","sae_measures"] filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) wl_dataframe, sae_dataframe = self.get_csv_data(filenames) - + rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_dataframe) delay_sums = self.get_delay_chain_sums(sae_dataframe) dc_avgs.append(self.get_average(delay_sums)) dc_vars.append(self.get_variance(delay_sums)) + + rise_avgs.append(self.get_average(rise_delay)) + rise_vars.append(self.get_variance(rise_delay)) + + fall_avgs.append(self.get_average(fall_delay)) + fall_vars.append(self.get_variance(fall_delay)) debug.info(1,"DC config={}: avg={} variance={}".format(fanouts, dc_avgs[-1], dc_vars[-1])) - self.plot_two_data_sets(fanout_configs, dc_avgs, dc_vars) + + #Sort by the delays then graph + config_copy = list(fanout_configs) + all_data = zip(dc_avgs,config_copy,dc_vars) + dc_avgs,config_copy,dc_vars = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Delay (ns)', 'Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_avgs, dc_vars) - def get_delay_chain_sums(self, sae_dataframe): - """Calculate the total delay of the delay chain over different corners""" + config_copy = list(fanout_configs) + all_data = zip(rise_avgs,config_copy,rise_vars) + rise_avgs,config_copy,rise_vars = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Rise Delay (ns)', 'Rise Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_avgs, rise_vars) + + config_copy = list(fanout_configs) + all_data = zip(fall_avgs,config_copy,fall_vars) + fall_avgs,config_copy,fall_vars = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Fall Delay (ns)', 'Fall Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_avgs, fall_vars) + + def graph_inp_slews_and_delay_var(self, word_size, num_words, words_per_row, fanout_configs): + """Compare and graph delay chain variations over different configurations.""" + if not os.path.exists(DATASET_CSV_NAME): + debug.error("Could not find dataset CSV. Aborting analysis...",1) + dc_delays_var, dc_slews = [],[] + rise_delay_var, rise_slew_avgs = [],[] + fall_delay_var, fall_slew_avgs = [],[] + for fanouts in fanout_configs: + data_types = ["sae_measures", "sae_slews"] + filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) + sae_delay_df, sae_slew_df = self.get_csv_data(filenames) + + delay_sums = self.get_delay_chain_sums(sae_delay_df) + slew_sums = self.get_delay_chain_avg(sae_slew_df) + dc_delays_var.append(self.get_variance(delay_sums)) + dc_slews.append(self.get_average(slew_sums)) + + rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_delay_df) + rise_delay_var.append(self.get_variance(rise_delay)) + fall_delay_var.append(self.get_variance(fall_delay)) + + rise_slews, fall_slews = self.get_rise_fall_dc_avg(sae_slew_df) + rise_slew_avgs.append(self.get_average(rise_slews)) + fall_slew_avgs.append(self.get_average(fall_slews)) + debug.info(1,"DC config={}: slew avg={} delay var={}".format(fanouts, dc_slews[-1], dc_delays_var[-1])) + + #Sort by the delays then graph + config_copy = list(fanout_configs) + all_data = zip(dc_slews,config_copy,dc_delays_var) + dc_slews,config_copy,dc_delays_var = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Input Slew (ns)', 'Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_slews, dc_delays_var) + + config_copy = list(fanout_configs) + all_data = zip(rise_slew_avgs,config_copy,rise_delay_var) + rise_slew_avgs,config_copy,rise_delay_var = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Rise Stage Input Slew (ns)', 'Rise Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_slew_avgs, rise_delay_var) + + config_copy = list(fanout_configs) + all_data = zip(fall_slew_avgs,config_copy,fall_delay_var) + fall_slew_avgs,config_copy,fall_delay_var = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Fall Stage Input Slew (ns)', 'Fall Delay Variance (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_slew_avgs, fall_delay_var) + + def graph_delays_and_inp_slews(self, word_size, num_words, words_per_row, fanout_configs): + """Compare and graph delay chain variations over different configurations.""" + if not os.path.exists(DATASET_CSV_NAME): + debug.error("Could not find dataset CSV. Aborting analysis...",1) + dc_delays, dc_slews = [],[] + rise_delay_avgs, rise_slew_avgs = [],[] + fall_delay_avgs, fall_slew_avgs = [],[] + for fanouts in fanout_configs: + data_types = ["sae_measures", "sae_slews"] + filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) + sae_delay_df, sae_slew_df = self.get_csv_data(filenames) + + delay_sums = self.get_delay_chain_sums(sae_delay_df) + slew_sums = self.get_delay_chain_avg(sae_slew_df) + dc_delays.append(self.get_average(delay_sums)) + dc_slews.append(self.get_average(slew_sums)) + + rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_delay_df) + rise_delay_avgs.append(self.get_average(rise_delay)) + fall_delay_avgs.append(self.get_average(fall_delay)) + + rise_slews, fall_slews = self.get_rise_fall_dc_avg(sae_slew_df) + rise_slew_avgs.append(self.get_average(rise_slews)) + fall_slew_avgs.append(self.get_average(fall_slews)) + debug.info(1,"DC config={}: delay avg={} slew avg={}".format(fanouts, dc_delays[-1], dc_slews[-1])) + + #Sort by the delays then graph + config_copy = list(fanout_configs) + all_data = zip(dc_delays,config_copy,dc_slews) + dc_delays,config_copy,dc_slews = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Delay (ns)', 'Average Input Slew (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_delays, dc_slews) + + config_copy = list(fanout_configs) + all_data = zip(rise_delay_avgs,config_copy,rise_slew_avgs) + rise_delay_avgs,config_copy,rise_slew_avgs = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Rise Delay (ns)', 'Average Input Slew (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_delay_avgs, rise_slew_avgs) + + config_copy = list(fanout_configs) + all_data = zip(fall_delay_avgs,config_copy,fall_slew_avgs) + fall_delay_avgs,config_copy,fall_slew_avgs = zip(*sorted(all_data)) + x_ax_label = 'DC Fanouts' + y_ax_labels = ['Average Fall Delay (ns)', 'Average Input Slew (ns)'] + self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_delay_avgs, fall_slew_avgs) + + + def get_delay_chain_data(self, sae_dataframe): + """Get the data of the delay chain over different corners""" start_dc_pos = sae_dataframe.columns.get_loc('dc_start_ind') end_dc_pos = sae_dataframe.columns.get_loc('dc_end_ind') start_data_pos = len(self.config_fields)+len(self.sae_config_fields)+1 #items before this point are configuration related - delay_sums = [] - row_count = 0 + delay_data = [] #Get delay sums over different corners for sae_row in sae_dataframe.itertuples(): start_dc, end_dc = sae_row[start_dc_pos+1], sae_row[end_dc_pos+1] dc_delays = sae_row[start_data_pos+start_dc:start_data_pos+end_dc] - delay_sums.append(sum(dc_delays)) - return delay_sums + delay_data.append(dc_delays) + return delay_data + def get_delay_chain_sums(self, sae_dataframe): + """Calculate the sum of each delay chain for each corner""" + dc_data = self.get_delay_chain_data(sae_dataframe) + return [sum(data_list) for data_list in dc_data] + + def get_delay_chain_avg(self, sae_dataframe): + """Calculate the average of each delay chain for each corner""" + dc_data = self.get_delay_chain_data(sae_dataframe) + return [sum(data_list)/len(data_list) for data_list in dc_data] + + def get_rise_fall_dc_data_per_corner(self,sae_dataframe): + """Extracts the data from the dataframe which represents the delay chain. + Delay chain data is marked by indices in the CSV. + """ + start_dc_pos = sae_dataframe.columns.get_loc('dc_start_ind') + end_dc_pos = sae_dataframe.columns.get_loc('dc_end_ind') + start_data_pos = len(self.config_fields)+len(self.sae_config_fields)+1 #items before this point are configuration related + rise_data = [] + fall_data = [] + #Get delay sums over different corners + for sae_row in sae_dataframe.itertuples(): + start_dc, end_dc = sae_row[start_dc_pos+1], sae_row[end_dc_pos+1] + fall_list = sae_row[start_data_pos+start_dc:start_data_pos+end_dc:2] + rise_list = sae_row[start_data_pos+start_dc+1:start_data_pos+end_dc:2] + fall_data.append(fall_list) + rise_data.append(rise_list) + return rise_data, fall_data + + def get_rise_fall_dc_sum(self,sae_dataframe): + """Gets the delay/slew sum of the delay chain for every corner""" + #Get list of lists of delay chain data and reduce to sums + rise_data, fall_data = self.get_rise_fall_dc_data_per_corner(sae_dataframe) + rise_sums = [sum(dc_data) for dc_data in rise_data] + fall_sums = [sum(dc_data) for dc_data in fall_data] + return rise_sums,fall_sums + + def get_rise_fall_dc_avg(self,sae_dataframe): + """Gets the delay/slew average of the delay chain for every corner""" + #Get list of lists of delay chain data and reduce to sums + rise_data, fall_data = self.get_rise_fall_dc_data_per_corner(sae_dataframe) + rise_avgs = [sum(dc_data)/len(dc_data) for dc_data in rise_data] + fall_avgs = [sum(dc_data)/len(dc_data) for dc_data in fall_data] + return rise_avgs,fall_avgs + + def get_sum(self, dataframe): + """Get full delay from csv using the sum field in the df""" + return list(dataframe['sum']) + def get_variance(self, nums): avg = self.get_average(nums) delay_variance = sum((xi - avg) ** 2 for xi in nums) / len(nums) @@ -173,15 +489,15 @@ class data_collection(openram_test): plt.plot(data_range, y_values, 'ro') plt.show() - def plot_two_data_sets(self, x_labels, y1_values, y2_values): - """Plots two data sets on the same x-axis. Uses hardcoded axis names.""" + def plot_delay_variance_data_sets(self, x_labels, x_ax_name, y_labels, y1_delays, y2_vars): + """Plots two data sets on the same x-axis.""" data_range = [i for i in range(len(x_labels))] fig, ax1 = plt.subplots() color = 'tab:red' - ax1.set_xlabel('DC (Stages,Fanout)') - ax1.set_ylabel('Average Delay (ns)', color=color) - ax1.plot(data_range, y1_values, marker='o', color=color, linestyle='') + ax1.set_xlabel(str(x_ax_name)) + ax1.set_ylabel(y_labels[0], color=color) + ax1.plot(data_range, y1_delays, marker='o', color=color, linestyle='') ax1.tick_params(axis='y', labelcolor=color) ax1.tick_params(axis='x', labelrotation=-90) @@ -189,8 +505,8 @@ class data_collection(openram_test): color = 'tab:blue' #ax2.set_xticks(data_range, x_labels) - ax2.set_ylabel('Delay Variance (ns)', color=color) # we already handled the x-label with ax1 - ax2.plot(data_range, y2_values, marker='*', color=color, linestyle='') + ax2.set_ylabel(y_labels[1], color=color) # we already handled the x-label with ax1 + ax2.plot(data_range, y2_vars, marker='*', color=color, linestyle='') ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() # otherwise the right y-label is slightly clipped From ea51cfdbb4fe8305505e5ffc3af7c7e113e5ec3e Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Tue, 26 Feb 2019 22:46:38 -0800 Subject: [PATCH 71/77] Removed data collection script --- compiler/tests/config_data.py | 16 - compiler/tests/delay_data_collection.py | 808 ------------------------ 2 files changed, 824 deletions(-) delete mode 100755 compiler/tests/config_data.py delete mode 100644 compiler/tests/delay_data_collection.py diff --git a/compiler/tests/config_data.py b/compiler/tests/config_data.py deleted file mode 100755 index dd78ebcd..00000000 --- a/compiler/tests/config_data.py +++ /dev/null @@ -1,16 +0,0 @@ -#Config file used for collecting data. -word_size = 1 -num_words = 16 - -tech_name = "freepdk45" -#Default corner -#process_corners = ["TT"] -supply_voltages = [1.0] -temperatures = [25] - -#Corner options -process_corners = ["TT", "FF", "SS"] -#supply_voltages = [.9, 1.0, 1.1] -#temperatures = [10,25,50] - - diff --git a/compiler/tests/delay_data_collection.py b/compiler/tests/delay_data_collection.py deleted file mode 100644 index ca3e26d0..00000000 --- a/compiler/tests/delay_data_collection.py +++ /dev/null @@ -1,808 +0,0 @@ -#!/usr/bin/env python3 -""" -Run a regression test on various srams -""" -import csv,sys,os -import pandas as pd -import matplotlib.pyplot as plt - -import unittest -from testutils import header,openram_test -sys.path.append(os.path.join(sys.path[0],"..")) -import globals -from globals import OPTS -import debug -from sram import sram -from sram_config import sram_config - -MODEL_DIR = "model_data/" -DATASET_CSV_NAME = MODEL_DIR+'datasets.csv' - -# Data Collection class -# This module can perform two tasks -# 1) Collect data -# 2) Display data -# Data Collection - -# A single SRAM simulation will collect 6 datasets: wordline (WL) delays, sense amp enable (SAE) delays, -# WL slews, SAE slews, WL model delays, SAE model delays. -# Each dataset is stored in a separate csv file. Each row of the CSV refers to a different corner simulated on. -# The files names are stored in DATASET_CSV_NAME marked above. -# There are 2 main ways the collection is targeted: looking at different delay chain sizes and looking at different SRAM configurations. -# These are separated by different functions and should not be collected together. -# -# Data display - -# There are many functions in this file which will search (or told) for data using DATASET_CSV_NAME as a guide. -# Delay chain data is analyzed in analyze_delay_chain_data, graph_delays_and_inp_slews, and graph_inp_slews_and_delay_var -# WL and SAE graphing is done in analyze_sae_data and graph_delays_and_var -# -# Data collection and each analysis can be run independently, but the one you want needs to be commented in/out. - -class data_collection(openram_test): - - def runTest(self): - - #Uncomment this for model evaluation - # ratio_data = self.calculate_delay_ratios_of_srams() - # self.display_data(ratio_data) - - self.run_setup() - - self.run_delay_chain_analysis() - #self.run_sae_analysis() - globals.end_openram() - - def run_setup(self): - """Checks file existence and sets some member variables""" - if not os.path.isdir(MODEL_DIR): - os.mkdir(MODEL_DIR) - - #File requires names from the delay measurement object. - #Initialization is delayed until one configuration simulation has occurred. - self.dataset_initialized=False - - #These help mark positions in the csv file for data collection and analysis - self.config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_resized', 'process', 'voltage', 'temp'] - self.sae_config_fields = ['dc_start_ind', 'dc_end_ind'] - self.other_data_fields = ['sum'] - - - def init_dataset_csv(self, file_fields): - """Creates csv which holds files names of all available datasets.""" - debug.info(2,'Initializing dataset file and dataframe.') - self.dataset_file_fields = file_fields - self.dataset_file_fields.sort() - config_fields = ['word_size', 'num_words', 'words_per_row', 'dc_config'] - self.dataset_fields = config_fields+self.dataset_file_fields - - if not os.path.exists(DATASET_CSV_NAME): - debug.info(2,'No dataset file found. Creating dataset file.') - dataset_csv = open(DATASET_CSV_NAME, 'w') - csv_writer = csv.writer(dataset_csv, lineterminator = '\n') - csv_writer.writerow(self.dataset_fields) - dataset_csv.close() - self.dataset_initialized=True - self.datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') - - def add_dataset(self, word_size, num_words, words_per_row): - """Added filenames to DATASET_CSV_NAME""" - cur_len = len(self.datasets_df) - #list converted to str as lists as saved as str in the csv file. - #e.g. list=[2,2] -> csv entry = '[2,2]' - fanout_str = str(self.delay_obj.get_num_delay_fanout_list()) - file_names = [self.file_name_dict[fname] for fname in self.dataset_file_fields] - new_df_row = [word_size, num_words, words_per_row,fanout_str]+file_names - - df_bool = (self.datasets_df['word_size'] == word_size) & (self.datasets_df['num_words'] == num_words) & (self.datasets_df['words_per_row'] == words_per_row) & (self.datasets_df['dc_config'] == fanout_str) - if len(self.datasets_df.loc[df_bool]) == 0: - self.datasets_df = self.datasets_df.append(pd.Series(new_df_row, self.dataset_fields), ignore_index=True) - else: - self.datasets_df.loc[df_bool] = [new_df_row] - - - def get_filename_by_config(self, data_types, word_size, num_words, words_per_row, fanout_list): - """Searches the dataset csv for a config match. Extracts the filenames for the desired data.""" - start_fname_ind = 4 # four query items - - fanout_str = str(fanout_list) - datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') - df_bool = (datasets_df['word_size'] == word_size) & (datasets_df['num_words'] == num_words) & (datasets_df['words_per_row'] == words_per_row) & (datasets_df['dc_config'] == fanout_str) - df_filtered = datasets_df.loc[df_bool] - if len(df_filtered) > 1: - debug.info(1,"Found more than 1 dataset entry with the same configuration. Using the first found") - elif len(df_filtered) == 0: - debug.error("Dataset for configuration not found:\n \ - word_size={}, num_words={}, words_per_row={}, fanout_list={}".format(word_size, - num_words, - words_per_row, - fanout_list), 1) - df_row = df_filtered.iloc[0] - #Check csv header against expected - csv_data_types = list(df_filtered)[start_fname_ind:] - if not set(data_types).issubset(set(csv_data_types)): - debug.error("Dataset csv header does not match expected:\nExpected={}\nCSV={}".format(data_types, - csv_data_types),1) - - return [df_row[dt] for dt in data_types] - - def get_all_filenames(self, data_types): - """Gets all files from dataset.csv specified by the datatype (model/measure)""" - start_fname_ind = 4 # four query items - - datasets_df = pd.read_csv(DATASET_CSV_NAME, encoding='utf-8') - csv_data_types = list(datasets_df)[start_fname_ind:] - if not set(data_types).issubset(set(csv_data_types)): - debug.error("Dataset csv header does not match expected:\nExpected={}\nCSV={}".format(data_types, - csv_data_types),1) - - return [list(datasets_df[dt]) for dt in data_types] - - def run_sae_analysis(self): - """Generates sram with different delay chain configs over different corners and - analyzes delay average and variation.""" - #config_tuple_list = [(8, 16, 1),(8, 32, 1),(16, 32, 1), (32, 64, 1), (64, 32, 1), (64, 64, 1), (32, 128, 1)] - #config_tuple_list = [(1, 16, 1),(4, 16, 1),(16, 16, 1), (32, 32, 1)] - config_tuple_list = [(1, 16, 1),(4, 16, 1)] - self.save_sram_data_using_configs(config_tuple_list) - self.analyze_sae_data() #Uses all available data - #self.graph_delays_and_var('sae_measures') - #self.graph_delays_and_var('wl_measures') - #self.compare_wl_sae_data() - - def save_sram_data_using_configs(self, config_list): - """Get SRAM data for different configurations""" - for config in config_list: - word_size, num_words, words_per_row = config - self.init_data_gen() - self.save_data_sram_corners(word_size, num_words, words_per_row) - - def analyze_sae_data(self): - """Compare and graph delay chain variations over different configurations.""" - delay_avgs_ratio = [] - delay_vars_ratio = [] - sram_configs = [] - data_types = ["sae_measures"] - sae_filenames = self.get_all_filenames(data_types)[0] - sae_dataframes = self.get_csv_data(sae_filenames) - - for df in sae_dataframes: - #Each row in df contains sram config. Only use the first one (they should all be the same) - config = df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] - sram_configs.append(config) - delay_sums = self.get_sum(df) - delay_chain_sums = self.get_delay_chain_sums(df) - delay_avgs_ratio.append(self.get_average(delay_chain_sums)/self.get_average(delay_sums)) - delay_vars_ratio.append(self.get_variance(delay_chain_sums)/self.get_variance(delay_sums)) - debug.info(1,"DC config={}: avg ratio={} var ratio={}".format(sram_configs[-1], - delay_avgs_ratio[-1], - delay_vars_ratio[-1])) - - #Sort by the delays then graph - all_data = zip(delay_avgs_ratio,sram_configs,delay_vars_ratio) - delay_avgs_ratio,sram_configs,delay_vars_ratio = zip(*sorted(all_data)) - x_ax_label = '[word_size, num_words, words_per_row]' - y_ax_labels = ['DC/SAE Delay Ratio', 'DC/SAE Var. Ratio'] - self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs_ratio, delay_vars_ratio) - - def compare_wl_sae_data(self): - """Compare and graph delay chain variations over different configurations.""" - delay_avgs_ratio = [] - delay_vars_ratio = [] - sram_configs = [] - data_types = ["wl_measures","sae_measures"] - data_filenames = self.get_all_filenames(data_types) - wl_filenames = data_filenames[0] - wl_dataframes = self.get_csv_data(wl_filenames) - sae_filenames = data_filenames[1] - sae_dataframes = self.get_csv_data(sae_filenames) - - #Loop through all configurations found - for wl_df,sae_df in zip(wl_dataframes,sae_dataframes): - #Each row in df contains sram config. Only use the first one (they should all be the same) - config = wl_df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] - sram_configs.append(config) - wl_delays = self.get_sum(wl_df) - sae_delays = self.get_sum(sae_df) - delay_avgs_ratio.append(self.get_average(wl_delays)/self.get_average(sae_delays)) - delay_vars_ratio.append(self.get_variance(wl_delays)/self.get_variance(sae_delays)) - debug.info(1,"DC config={}: avg ratio={} var ratio={}".format(sram_configs[-1], - delay_avgs_ratio[-1], - delay_vars_ratio[-1])) - - #Sort by the delays then graph - all_data = zip(delay_avgs_ratio,sram_configs,delay_vars_ratio) - delay_avgs_ratio,sram_configs,delay_vars_ratio = zip(*sorted(all_data)) - x_ax_label = 'SRAM Config' - y_ax_labels = ['WL/SAE Delay Ratio', 'WL/SAE Var. Ratio'] - self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs_ratio, delay_vars_ratio) - - def graph_delays_and_var(self, data_type): - delay_avgs = [] - delay_vars = [] - sram_configs = [] - data_filenames = self.get_all_filenames([data_type])[0] - dataframes = self.get_csv_data(data_filenames) - - #Loop through all configurations found - for df in dataframes: - #Each row in df contains sram config. Only use the first one (they should all be the same) - config = df[['word_size', 'num_words', 'words_per_row']].values.tolist()[0] - sram_configs.append(config) - delays = self.get_sum(df) - delay_avgs.append(self.get_average(delays)) - delay_vars.append(self.get_variance(delays)) - debug.info(1,"DC config={}: avg={}, var={}".format(sram_configs[-1], - delay_avgs[-1], - delay_vars[-1])) - - #Sort by the delays then graph - all_data = zip(delay_avgs,sram_configs,delay_vars) - delay_avgs,sram_configs,delay_vars = zip(*sorted(all_data)) - x_ax_label = 'SRAM Config' - y_ax_labels = ['Avg. Delay', 'Delay Variance'] - self.plot_delay_variance_data_sets(sram_configs, x_ax_label, y_ax_labels, delay_avgs, delay_vars) - - def run_delay_chain_analysis(self): - """Generates sram with different delay chain configs over different corners and - analyzes delay average and variation.""" - OPTS.use_tech_delay_chain_size = True - #Constant sram config for this test - word_size, num_words, words_per_row = 1, 16, 1 - #Only change delay chain - #dc_config_list = [(2,3), (3,3), (3,4), (4,2), (4,3), (4,4), (2,4), (2,5)] - #dc_config_list = [(2,3), (3,3)] - - #fanout_configs = [[3,3], [3,3,3]] - old_fanout_configs = [] - fanout_configs = [[3,3], [2,3,2,3], [2,4,2,4], [2,2,2,2], [3,3,3,3], [4,4],[4,4,4,4], [5,5], \ - [2,2], [2,5,2,5], [2,6,2,6], [2,8,2,8], [3,5,3,5], [4,5,4,5], [2,2,2,2,2,2], [3,3,3,3,3,3],\ - [6,6],[7,7],[8,8],[9,9],[10,10],[11,11], - [5,2,5,2], [6,2,6,2], [8,2,8,2], [5,3,5,3], [5,4,5,4], [2,3,4,5], [7,2,7,2]] - analysis_configs = fanout_configs+old_fanout_configs - #self.save_delay_chain_data(word_size, num_words, words_per_row, fanout_configs) - #self.analyze_delay_chain_data(word_size, num_words, words_per_row, analysis_configs) - #self.graph_delays_and_inp_slews(word_size, num_words, words_per_row, analysis_configs) - self.graph_inp_slews_and_delay_var(word_size, num_words, words_per_row, analysis_configs) - - def save_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): - """Get the delay data by only varying the delay chain size.""" - for fanouts in fanout_configs: - self.init_data_gen() - self.set_delay_chain(fanouts) - self.save_data_sram_corners(word_size, num_words, words_per_row) - - def analyze_delay_chain_data(self, word_size, num_words, words_per_row, fanout_configs): - """Compare and graph delay chain variations over different configurations.""" - if not os.path.exists(DATASET_CSV_NAME): - debug.error("Could not find dataset CSV. Aborting analysis...",1) - dc_avgs, dc_vars = [],[] - rise_avgs, rise_vars = [],[] - fall_avgs, fall_vars = [],[] - for fanouts in fanout_configs: - data_types = ["wl_measures","sae_measures"] - filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) - wl_dataframe, sae_dataframe = self.get_csv_data(filenames) - rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_dataframe) - delay_sums = self.get_delay_chain_sums(sae_dataframe) - dc_avgs.append(self.get_average(delay_sums)) - dc_vars.append(self.get_variance(delay_sums)) - - rise_avgs.append(self.get_average(rise_delay)) - rise_vars.append(self.get_variance(rise_delay)) - - fall_avgs.append(self.get_average(fall_delay)) - fall_vars.append(self.get_variance(fall_delay)) - debug.info(1,"DC config={}: avg={} variance={}".format(fanouts, dc_avgs[-1], dc_vars[-1])) - - #Sort by the delays then graph - config_copy = list(fanout_configs) - all_data = zip(dc_avgs,config_copy,dc_vars) - dc_avgs,config_copy,dc_vars = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Delay (ns)', 'Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_avgs, dc_vars) - - config_copy = list(fanout_configs) - all_data = zip(rise_avgs,config_copy,rise_vars) - rise_avgs,config_copy,rise_vars = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Rise Delay (ns)', 'Rise Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_avgs, rise_vars) - - config_copy = list(fanout_configs) - all_data = zip(fall_avgs,config_copy,fall_vars) - fall_avgs,config_copy,fall_vars = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Fall Delay (ns)', 'Fall Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_avgs, fall_vars) - - def graph_inp_slews_and_delay_var(self, word_size, num_words, words_per_row, fanout_configs): - """Compare and graph delay chain variations over different configurations.""" - if not os.path.exists(DATASET_CSV_NAME): - debug.error("Could not find dataset CSV. Aborting analysis...",1) - dc_delays_var, dc_slews = [],[] - rise_delay_var, rise_slew_avgs = [],[] - fall_delay_var, fall_slew_avgs = [],[] - for fanouts in fanout_configs: - data_types = ["sae_measures", "sae_slews"] - filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) - sae_delay_df, sae_slew_df = self.get_csv_data(filenames) - - delay_sums = self.get_delay_chain_sums(sae_delay_df) - slew_sums = self.get_delay_chain_avg(sae_slew_df) - dc_delays_var.append(self.get_variance(delay_sums)) - dc_slews.append(self.get_average(slew_sums)) - - rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_delay_df) - rise_delay_var.append(self.get_variance(rise_delay)) - fall_delay_var.append(self.get_variance(fall_delay)) - - rise_slews, fall_slews = self.get_rise_fall_dc_avg(sae_slew_df) - rise_slew_avgs.append(self.get_average(rise_slews)) - fall_slew_avgs.append(self.get_average(fall_slews)) - debug.info(1,"DC config={}: slew avg={} delay var={}".format(fanouts, dc_slews[-1], dc_delays_var[-1])) - - #Sort by the delays then graph - config_copy = list(fanout_configs) - all_data = zip(dc_slews,config_copy,dc_delays_var) - dc_slews,config_copy,dc_delays_var = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Input Slew (ns)', 'Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_slews, dc_delays_var) - - config_copy = list(fanout_configs) - all_data = zip(rise_slew_avgs,config_copy,rise_delay_var) - rise_slew_avgs,config_copy,rise_delay_var = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Rise Stage Input Slew (ns)', 'Rise Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_slew_avgs, rise_delay_var) - - config_copy = list(fanout_configs) - all_data = zip(fall_slew_avgs,config_copy,fall_delay_var) - fall_slew_avgs,config_copy,fall_delay_var = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Fall Stage Input Slew (ns)', 'Fall Delay Variance (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_slew_avgs, fall_delay_var) - - def graph_delays_and_inp_slews(self, word_size, num_words, words_per_row, fanout_configs): - """Compare and graph delay chain variations over different configurations.""" - if not os.path.exists(DATASET_CSV_NAME): - debug.error("Could not find dataset CSV. Aborting analysis...",1) - dc_delays, dc_slews = [],[] - rise_delay_avgs, rise_slew_avgs = [],[] - fall_delay_avgs, fall_slew_avgs = [],[] - for fanouts in fanout_configs: - data_types = ["sae_measures", "sae_slews"] - filenames = self.get_filename_by_config(data_types, word_size, num_words, words_per_row, fanouts) - sae_delay_df, sae_slew_df = self.get_csv_data(filenames) - - delay_sums = self.get_delay_chain_sums(sae_delay_df) - slew_sums = self.get_delay_chain_avg(sae_slew_df) - dc_delays.append(self.get_average(delay_sums)) - dc_slews.append(self.get_average(slew_sums)) - - rise_delay, fall_delay = self.get_rise_fall_dc_sum(sae_delay_df) - rise_delay_avgs.append(self.get_average(rise_delay)) - fall_delay_avgs.append(self.get_average(fall_delay)) - - rise_slews, fall_slews = self.get_rise_fall_dc_avg(sae_slew_df) - rise_slew_avgs.append(self.get_average(rise_slews)) - fall_slew_avgs.append(self.get_average(fall_slews)) - debug.info(1,"DC config={}: delay avg={} slew avg={}".format(fanouts, dc_delays[-1], dc_slews[-1])) - - #Sort by the delays then graph - config_copy = list(fanout_configs) - all_data = zip(dc_delays,config_copy,dc_slews) - dc_delays,config_copy,dc_slews = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Delay (ns)', 'Average Input Slew (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, dc_delays, dc_slews) - - config_copy = list(fanout_configs) - all_data = zip(rise_delay_avgs,config_copy,rise_slew_avgs) - rise_delay_avgs,config_copy,rise_slew_avgs = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Rise Delay (ns)', 'Average Input Slew (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, rise_delay_avgs, rise_slew_avgs) - - config_copy = list(fanout_configs) - all_data = zip(fall_delay_avgs,config_copy,fall_slew_avgs) - fall_delay_avgs,config_copy,fall_slew_avgs = zip(*sorted(all_data)) - x_ax_label = 'DC Fanouts' - y_ax_labels = ['Average Fall Delay (ns)', 'Average Input Slew (ns)'] - self.plot_delay_variance_data_sets(config_copy, x_ax_label, y_ax_labels, fall_delay_avgs, fall_slew_avgs) - - - def get_delay_chain_data(self, sae_dataframe): - """Get the data of the delay chain over different corners""" - start_dc_pos = sae_dataframe.columns.get_loc('dc_start_ind') - end_dc_pos = sae_dataframe.columns.get_loc('dc_end_ind') - start_data_pos = len(self.config_fields)+len(self.sae_config_fields)+1 #items before this point are configuration related - delay_data = [] - #Get delay sums over different corners - for sae_row in sae_dataframe.itertuples(): - start_dc, end_dc = sae_row[start_dc_pos+1], sae_row[end_dc_pos+1] - dc_delays = sae_row[start_data_pos+start_dc:start_data_pos+end_dc] - delay_data.append(dc_delays) - return delay_data - - def get_delay_chain_sums(self, sae_dataframe): - """Calculate the sum of each delay chain for each corner""" - dc_data = self.get_delay_chain_data(sae_dataframe) - return [sum(data_list) for data_list in dc_data] - - def get_delay_chain_avg(self, sae_dataframe): - """Calculate the average of each delay chain for each corner""" - dc_data = self.get_delay_chain_data(sae_dataframe) - return [sum(data_list)/len(data_list) for data_list in dc_data] - - def get_rise_fall_dc_data_per_corner(self,sae_dataframe): - """Extracts the data from the dataframe which represents the delay chain. - Delay chain data is marked by indices in the CSV. - """ - start_dc_pos = sae_dataframe.columns.get_loc('dc_start_ind') - end_dc_pos = sae_dataframe.columns.get_loc('dc_end_ind') - start_data_pos = len(self.config_fields)+len(self.sae_config_fields)+1 #items before this point are configuration related - rise_data = [] - fall_data = [] - #Get delay sums over different corners - for sae_row in sae_dataframe.itertuples(): - start_dc, end_dc = sae_row[start_dc_pos+1], sae_row[end_dc_pos+1] - fall_list = sae_row[start_data_pos+start_dc:start_data_pos+end_dc:2] - rise_list = sae_row[start_data_pos+start_dc+1:start_data_pos+end_dc:2] - fall_data.append(fall_list) - rise_data.append(rise_list) - return rise_data, fall_data - - def get_rise_fall_dc_sum(self,sae_dataframe): - """Gets the delay/slew sum of the delay chain for every corner""" - #Get list of lists of delay chain data and reduce to sums - rise_data, fall_data = self.get_rise_fall_dc_data_per_corner(sae_dataframe) - rise_sums = [sum(dc_data) for dc_data in rise_data] - fall_sums = [sum(dc_data) for dc_data in fall_data] - return rise_sums,fall_sums - - def get_rise_fall_dc_avg(self,sae_dataframe): - """Gets the delay/slew average of the delay chain for every corner""" - #Get list of lists of delay chain data and reduce to sums - rise_data, fall_data = self.get_rise_fall_dc_data_per_corner(sae_dataframe) - rise_avgs = [sum(dc_data)/len(dc_data) for dc_data in rise_data] - fall_avgs = [sum(dc_data)/len(dc_data) for dc_data in fall_data] - return rise_avgs,fall_avgs - - def get_sum(self, dataframe): - """Get full delay from csv using the sum field in the df""" - return list(dataframe['sum']) - - def get_variance(self, nums): - avg = self.get_average(nums) - delay_variance = sum((xi - avg) ** 2 for xi in nums) / len(nums) - return delay_variance - - def get_average(self,nums): - return sum(nums) / len(nums) - - def plot_data(self, x_labels, y_values): - """Display a plot using matplot lib. - Assumes input x values are just labels and y values are actual data.""" - data_range = [i+1 for i in range(len(x_labels))] - plt.xticks(data_range, x_labels) - plt.plot(data_range, y_values, 'ro') - plt.show() - - def plot_delay_variance_data_sets(self, x_labels, x_ax_name, y_labels, y1_delays, y2_vars): - """Plots two data sets on the same x-axis.""" - data_range = [i for i in range(len(x_labels))] - fig, ax1 = plt.subplots() - - color = 'tab:red' - ax1.set_xlabel(str(x_ax_name)) - ax1.set_ylabel(y_labels[0], color=color) - ax1.plot(data_range, y1_delays, marker='o', color=color, linestyle='') - ax1.tick_params(axis='y', labelcolor=color) - ax1.tick_params(axis='x', labelrotation=-90) - - ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis - - color = 'tab:blue' - #ax2.set_xticks(data_range, x_labels) - ax2.set_ylabel(y_labels[1], color=color) # we already handled the x-label with ax1 - ax2.plot(data_range, y2_vars, marker='*', color=color, linestyle='') - ax2.tick_params(axis='y', labelcolor=color) - - fig.tight_layout() # otherwise the right y-label is slightly clipped - plt.xticks(data_range, x_labels, rotation=90) - plt.show() - - def calculate_delay_ratios_of_srams(self): - """Runs delay measurements on several sram configurations. - Computes the delay ratio for each one.""" - delay_ratio_data = {} - config_tuple_list = [(32, 1024, None)] - #config_tuple_list = [(1, 16, 1),(4, 16, 1), (16, 16, 1), (32, 32, 1)] - for sram_config in config_tuple_list: - word_size, num_words, words_per_row = sram_config - self.init_data_gen() - self.save_data_sram_corners(word_size, num_words, words_per_row) - model_delay_ratios, meas_delay_ratios, ratio_error = self.compare_model_to_measure() - delay_ratio_data[sram_config] = ratio_error - debug.info(1, "Ratio percentage error={}".format(ratio_error)) - return delay_ratio_data - - def get_csv_data(self, filenames): - """Returns a dataframe for each file name. Returns as tuple for convenience""" - dataframes = [pd.read_csv(fname,encoding='utf-8') for fname in filenames] - return tuple(dataframes) - - def evaluate_data(self, wl_dataframe, sae_dataframe): - """Analyze the delay error and variation error""" - delay_error = self.calculate_delay_error(wl_dataframe, sae_dataframe) - debug.info(1, "Delay errors:{}".format(delay_error)) - variation_error = self.calculate_delay_variation_error(wl_dataframe, sae_dataframe) - debug.info(1, "Variation errors:{}".format(variation_error)) - - def compare_model_to_measure(self): - """Uses the last 4 recent data sets (wl_meas, sen_meas, wl_model, sen_model) - and compare the wl-sen delay ratio between model and measured. - """ - model_delay_ratios = {} - meas_delay_ratios = {} - ratio_error = {} - #The full file name contains unrelated portions, separate them into the four that are needed - file_list = self.file_name_dict.values() - wl_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "wl_measures" in file_name][0] - sae_meas_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "sae_measures" in file_name][0] - wl_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "wl_model" in file_name][0] - sae_model_df = [pd.read_csv(file_name,encoding='utf-8') for file_name in file_list if "sae_model" in file_name][0] - - #Assume each csv has the same corners (and the same row order), use one of the dfs for corners - proc_pos, volt_pos, temp_pos = wl_meas_df.columns.get_loc('process'), wl_meas_df.columns.get_loc('voltage'), wl_meas_df.columns.get_loc('temp') - wl_sum_pos = wl_meas_df.columns.get_loc('sum') - sae_sum_pos = sae_meas_df.columns.get_loc('sum') - - df_zip = zip(wl_meas_df.itertuples(),sae_meas_df.itertuples(),wl_model_df.itertuples(),sae_model_df.itertuples()) - for wl_meas,sae_meas,wl_model,sae_model in df_zip: - #Use previously calculated position to index the df row. - corner = (wl_meas[proc_pos+1], wl_meas[volt_pos+1], wl_meas[temp_pos+1]) - meas_delay_ratios[corner] = wl_meas[wl_sum_pos+1]/sae_meas[sae_sum_pos+1] - model_delay_ratios[corner] = wl_model[wl_sum_pos+1]/sae_model[sae_sum_pos+1] - #Not using absolute error, positive error means model was larger, negative error means it was smaller. - ratio_error[corner] = 100*(model_delay_ratios[corner]-meas_delay_ratios[corner])/meas_delay_ratios[corner] - - return model_delay_ratios, meas_delay_ratios, ratio_error - - def display_data(self, data): - """Displays the ratio data using matplotlib (requires graphics)""" - config_data = [] - xticks = [] - #Organize data - #First key level if the sram configuration (wordsize, num words, words per row) - for config,corner_data_dict in data.items(): - #Second level is the corner data for that configuration. - for corner, corner_data in corner_data_dict.items(): - #Right now I am only testing with a single corner, will not work with more than 1 corner - config_data.append(corner_data) - xticks.append("{}b,{}w,{}wpr".format(*config)) - #plot data - data_range = [i+1 for i in range(len(data))] - shapes = ['ro', 'bo', 'go', 'co', 'mo'] - plt.xticks(data_range, xticks) - plt.plot(data_range, config_data, 'ro') - plt.show() - - def calculate_delay_error(self, wl_dataframe, sae_dataframe): - """Calculates the percentage difference in delays between the wordline and sense amp enable""" - wl_start_data_pos = len(self.config_fields) - sae_start_data_pos = len(self.config_fields)+len(self.sae_config_fields) - error_list = [] - row_count = 0 - for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): - debug.info(2, "wl_row:{}".format(wl_row)) - wl_sum = sum(wl_row[wl_start_data_pos+1:]) - debug.info(2, "wl_sum:{}".format(wl_sum)) - sae_sum = sum(sae_row[sae_start_data_pos+1:]) - error_list.append(abs((wl_sum-sae_sum)/wl_sum)) - return error_list - - def calculate_delay_variation_error(self, wl_dataframe, sae_dataframe): - """Measures a base delay from the first corner then the variations from that base""" - wl_start_data_pos = len(self.config_fields) - sae_start_data_pos = len(self.config_fields)+len(self.sae_config_fields) - variation_error_list = [] - count = 0 - for wl_row, sae_row in zip(wl_dataframe.itertuples(), sae_dataframe.itertuples()): - if count == 0: - #Create a base delay, variation is defined as the difference between this base - wl_base = sum(wl_row[wl_start_data_pos+1:]) - debug.info(1, "wl_sum base:{}".format(wl_base)) - sae_base = sum(sae_row[sae_start_data_pos+1:]) - variation_error_list.append(0.0) - else: - #Calculate the variation from the respective base and then difference between the variations - wl_sum = sum(wl_row[wl_start_data_pos+1:]) - wl_base_diff = abs((wl_base-wl_sum)/wl_base) - sae_sum = sum(sae_row[sae_start_data_pos+1:]) - sae_base_diff = abs((sae_base-sae_sum)/sae_base) - variation_diff = abs((wl_base_diff-sae_base_diff)/wl_base_diff) - variation_error_list.append(variation_diff) - count+=1 - return variation_error_list - - def save_data_sram_corners(self, word_size, num_words, words_per_row): - """Performs corner analysis on a single SRAM configuration""" - self.create_sram(word_size, num_words, words_per_row) - #Setting to none forces SRAM to determine the value. Must be checked after sram creation - if not words_per_row: - words_per_row = self.sram.s.words_per_row - #Run on one size to initialize CSV writing (csv names come from return value). Strange, but it is okay for now. - corner_gen = self.corner_combination_generator() - init_corner = next(corner_gen) - sram_data = self.get_sram_data(init_corner) - dc_resized = self.was_delay_chain_resized() - self.initialize_csv_file(word_size, num_words, words_per_row) - self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, dc_resized, init_corner) - - #Run openRAM for all corners - for corner in corner_gen: - sram_data = self.get_sram_data(corner) - self.add_sram_data_to_csv(sram_data, word_size, num_words, words_per_row, dc_resized, corner) - - #Save file names generated by this run - if not self.dataset_initialized: - self.init_dataset_csv(list(sram_data)) - self.add_dataset(word_size, num_words, words_per_row) - - self.close_files() - debug.info(1,"Data Generated") - - def init_data_gen(self): - """Initialization for the data test to run""" - globals.init_openram("config_data") - from tech import parameter - global parameter - if OPTS.tech_name == "scmos": - debug.warning("Device models not up to date with scn4m technology.") - OPTS.spice_name="hspice" #Much faster than ngspice. - OPTS.trim_netlist = False - OPTS.netlist_only = True - OPTS.analytical_delay = False - #OPTS.use_tech_delay_chain_size = True - # This is a hack to reload the characterizer __init__ with the spice version - from importlib import reload - import characterizer - reload(characterizer) - - def set_delay_chain(self, fanout_list): - """Force change the parameter in the tech file to specify a delay chain configuration""" - parameter["static_fanout_list"] = fanout_list - - def close_files(self): - """Closes all files stored in the file dict""" - #Close the files holding data - for key,file in self.csv_files.items(): - file.close() - - #Write dataframe to the dataset csv - self.datasets_df.to_csv(DATASET_CSV_NAME, index=False) - - def corner_combination_generator(self): - processes = OPTS.process_corners - voltages = OPTS.supply_voltages - temperatures = OPTS.temperatures - """Generates corner using a combination of values from config file""" - for proc in processes: - for volt in voltages: - for temp in temperatures: - yield (proc, volt, temp) - - - def get_sram_configs(self): - """Generate lists of wordsizes, number of words, and column mux size (words per row) to be tested.""" - min_word_size = 1 - max_word_size = 16 - min_num_words_log2 = 4 - max_num_words_log2 = 8 - word_sizes = [i for i in range(min_word_size,max_word_size+1)] - num_words = [2**i for i in range(min_num_words_log2,max_num_words_log2+1)] - words_per_row = [1] - return word_sizes, num_words, words_per_row - - def add_sram_data_to_csv(self, sram_data, word_size, num_words, words_per_row, dc_resized, corner): - """Writes data to its respective CSV file. There is a CSV for each measurement target - (wordline, sense amp enable, and models)""" - dc_start_ind, dc_end_ind = self.delay_obj.delay_chain_indices - sram_specs = [word_size,num_words,words_per_row,dc_resized,*corner] - sae_specs = [dc_start_ind, dc_end_ind] - for data_name, data_values in sram_data.items(): - if 'sae' in data_name: - all_specs = sram_specs+sae_specs - else: - all_specs = sram_specs - - other_values = self.calculate_other_data_values(data_values) - self.csv_writers[data_name].writerow(all_specs+sram_data[data_name]+other_values) - debug.info(2,"Data Added to CSV file.") - - def calculate_other_data_values(self, sram_data_list): - """A function to calculate extra values related to the data. Only does the sum for now""" - data_sum = sum(sram_data_list) - return [data_sum] - - def initialize_csv_file(self, word_size, num_words, words_per_row): - """Opens a CSV file and writer for every data set being written (wl/sae measurements and model values)""" - #CSV File writing - header_dict = self.delay_obj.get_all_signal_names() - self.csv_files = {} - self.csv_writers = {} - self.file_name_dict = {} - delay_fanout_list = self.delay_obj.get_num_delay_fanout_list() - fanout_str = '_'.join(str(fanout) for fanout in delay_fanout_list) - delay_stages = self.delay_obj.get_num_delay_stages() - delay_stage_fanout = self.delay_obj.get_num_delay_stage_fanout() - - for data_name, header_list in header_dict.items(): - file_name = '{}data_{}b_{}word_{}way_dc{}_{}.csv'.format(MODEL_DIR, - word_size, - num_words, - words_per_row, - fanout_str, - data_name) - self.file_name_dict[data_name] = file_name - self.csv_files[data_name] = open(file_name, 'w') - if 'sae' in data_name: - fields = (*self.config_fields, *self.sae_config_fields, *header_list, *self.other_data_fields) - else: - fields = (*self.config_fields, *header_list, *self.other_data_fields) - self.csv_writers[data_name] = csv.writer(self.csv_files[data_name], lineterminator = '\n') - self.csv_writers[data_name].writerow(fields) - - def create_sram(self, word_size, num_words, words_per_row): - """Generates the SRAM based on input configuration.""" - c = sram_config(word_size=word_size, - num_words=num_words, - num_banks=1, - words_per_row=words_per_row) - - debug.info(1, "Creating SRAM: {} bit, {} words, with 1 bank".format(word_size, num_words)) - self.sram = sram(c, name="sram_{}ws_{}words".format(word_size, num_words)) - - self.sram_spice = OPTS.openram_temp + "temp.sp" - self.sram.sp_write(self.sram_spice) - - def get_sram_data(self, corner): - """Generates the delay object using the corner and runs a simulation for data.""" - from characterizer import model_check - self.delay_obj = model_check(self.sram.s, self.sram_spice, corner) - - import tech - #Only 1 at a time - probe_address = "1" * self.sram.s.addr_size - probe_data = self.sram.s.word_size - 1 - loads = [tech.spice["msflop_in_cap"]*4] - slews = [tech.spice["rise_time"]*2] - - sram_data = self.delay_obj.analyze(probe_address,probe_data,slews,loads) - - return sram_data - - def remove_lists_from_dict(self, dict): - """Check all the values in the dict and replaces the list items with its first value.""" - #This is useful because the tests performed here only generate 1 value but a list - #with 1 item makes writing it to a csv later harder. - for key in dict.keys(): - if type(dict[key]) is list: - if len(dict[key]) > 0: - dict[key] = dict[key][0] - else: - del dict[key] - - def was_delay_chain_resized(self): - """Accesses the dc resize boolean in the control logic module.""" - #FIXME:assumes read/write port only - return self.sram.s.control_logic_rw.delay_chain_resized - -# instantiate a copdsay of the class to actually run the test -if __name__ == "__main__": - (OPTS, args) = globals.parse_args() - del sys.argv[1:] - header(__file__, OPTS.tech_name) - unittest.main() From da6aa161dee14095eb680dec666cb7de2db963fb Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 28 Feb 2019 09:12:32 -0800 Subject: [PATCH 72/77] Don't autodetect the bitcell if the user overrides it --- compiler/globals.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/globals.py b/compiler/globals.py index 73cd3747..631508f9 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -168,8 +168,10 @@ def setup_bitcell(): if (OPTS.num_rw_ports==1 and OPTS.num_w_ports==0 and OPTS.num_r_ports==0): OPTS.bitcell = "bitcell" OPTS.replica_bitcell = "replica_bitcell" - # If we have non-1rw ports, figure out the right bitcell to use - else: + # If we have non-1rw ports, + # and the user didn't over-ride the bitcell manually, + # figure out the right bitcell to use + elsif (OPTs.bitcell=="bitcell" and OPTS.replica_bitcell=="replica_bitcell"): ports = "" if OPTS.num_rw_ports>0: ports += "{}rw_".format(OPTS.num_rw_ports) From abcb1cfa2c66b6430981af0406d5bc04ed804666 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 28 Feb 2019 09:17:24 -0800 Subject: [PATCH 73/77] Correct elsif to elif --- compiler/globals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/globals.py b/compiler/globals.py index 631508f9..67cba281 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -171,7 +171,7 @@ def setup_bitcell(): # If we have non-1rw ports, # and the user didn't over-ride the bitcell manually, # figure out the right bitcell to use - elsif (OPTs.bitcell=="bitcell" and OPTS.replica_bitcell=="replica_bitcell"): + elif (OPTs.bitcell=="bitcell" and OPTS.replica_bitcell=="replica_bitcell"): ports = "" if OPTS.num_rw_ports>0: ports += "{}rw_".format(OPTS.num_rw_ports) From 22deab959cc5a5d9a71c566dd7ec0496d63315d9 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sun, 3 Mar 2019 11:58:41 -0800 Subject: [PATCH 74/77] Fix setup_bitcell to allow user to force override the bitcell. --- compiler/globals.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/compiler/globals.py b/compiler/globals.py index 67cba281..c1422592 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -165,23 +165,25 @@ def setup_bitcell(): """ global OPTS - if (OPTS.num_rw_ports==1 and OPTS.num_w_ports==0 and OPTS.num_r_ports==0): - OPTS.bitcell = "bitcell" - OPTS.replica_bitcell = "replica_bitcell" # If we have non-1rw ports, # and the user didn't over-ride the bitcell manually, # figure out the right bitcell to use - elif (OPTs.bitcell=="bitcell" and OPTS.replica_bitcell=="replica_bitcell"): - ports = "" - if OPTS.num_rw_ports>0: - ports += "{}rw_".format(OPTS.num_rw_ports) - if OPTS.num_w_ports>0: - ports += "{}w_".format(OPTS.num_w_ports) - if OPTS.num_r_ports>0: - ports += "{}r".format(OPTS.num_r_ports) + if (OPTS.bitcell=="bitcell" and OPTS.replica_bitcell=="replica_bitcell"): + + if (OPTS.num_rw_ports==1 and OPTS.num_w_ports==0 and OPTS.num_r_ports==0): + OPTS.bitcell = "bitcell" + OPTS.replica_bitcell = "replica_bitcell" + else: + ports = "" + if OPTS.num_rw_ports>0: + ports += "{}rw_".format(OPTS.num_rw_ports) + if OPTS.num_w_ports>0: + ports += "{}w_".format(OPTS.num_w_ports) + if OPTS.num_r_ports>0: + ports += "{}r".format(OPTS.num_r_ports) - OPTS.bitcell = "bitcell_"+ports - OPTS.replica_bitcell = "replica_bitcell_"+ports + OPTS.bitcell = "bitcell_"+ports + OPTS.replica_bitcell = "replica_bitcell_"+ports # See if a custom bitcell exists from importlib import find_loader @@ -195,8 +197,8 @@ def setup_bitcell(): OPTS.replica_bitcell = "replica_pbitcell" if not OPTS.is_unit_test: debug.warning("Using the parameterized bitcell which may have suboptimal density.") - else: - debug.info(1,"Using custom bitcell: {}".format(OPTS.bitcell)) + + debug.info(1,"Using bitcell: {}".format(OPTS.bitcell)) def get_tool(tool_type, preferences, default_name=None): From 0e96648211f11b81cc20a069b7d1c5c61f8ec63c Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Mon, 4 Mar 2019 00:42:18 -0800 Subject: [PATCH 75/77] Added linear corner factors in analytical delay model. --- compiler/base/hierarchy_spice.py | 43 +++++++++++++++++-- compiler/bitcells/bitcell.py | 4 +- compiler/bitcells/bitcell_1rw_1r.py | 4 +- compiler/bitcells/bitcell_1w_1r.py | 4 +- compiler/bitcells/pbitcell.py | 4 +- compiler/characterizer/delay.py | 7 +-- compiler/modules/bank.py | 18 +++++--- compiler/modules/bitcell_array.py | 4 +- compiler/modules/dff.py | 2 +- compiler/modules/dff_array.py | 4 +- compiler/modules/dff_buf.py | 8 ++-- compiler/modules/dff_buf_array.py | 2 +- compiler/modules/dff_inv.py | 6 +-- compiler/modules/dff_inv_array.py | 4 +- compiler/modules/hierarchical_decoder.py | 8 ++-- compiler/modules/hierarchical_predecode2x4.py | 8 ++-- compiler/modules/hierarchical_predecode3x8.py | 8 ++-- compiler/modules/multibank.py | 12 +++--- compiler/modules/sense_amp.py | 4 +- compiler/modules/sense_amp_array.py | 4 +- .../modules/single_level_column_mux_array.py | 7 +-- compiler/modules/tri_gate.py | 4 +- compiler/modules/tri_gate_array.py | 4 +- compiler/modules/wordline_driver.py | 6 +-- compiler/pgates/pand2.py | 6 +-- compiler/pgates/pbuf.py | 6 +-- compiler/pgates/pdriver.py | 4 +- compiler/pgates/pinv.py | 4 +- compiler/pgates/pinvbuf.py | 6 +-- compiler/pgates/pnand2.py | 4 +- compiler/pgates/pnand3.py | 4 +- compiler/pgates/pnor2.py | 4 +- compiler/sram_base.py | 4 +- technology/freepdk45/tech/tech.py | 2 + technology/scn3me_subm/tech/tech.py | 2 + technology/scn4m_subm/tech/tech.py | 2 + 36 files changed, 138 insertions(+), 89 deletions(-) diff --git a/compiler/base/hierarchy_spice.py b/compiler/base/hierarchy_spice.py index 424e4d94..b5ccd19b 100644 --- a/compiler/base/hierarchy_spice.py +++ b/compiler/base/hierarchy_spice.py @@ -2,6 +2,7 @@ import debug import re import os import math +import tech class spice(): """ @@ -218,7 +219,7 @@ class spice(): del usedMODS spfile.close() - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """Inform users undefined delay module while building new modules""" debug.warning("Design Class {0} delay function needs to be defined" .format(self.__class__.__name__)) @@ -228,15 +229,21 @@ class spice(): # return 0 to keep code running while building return delay_data(0.0, 0.0) - def cal_delay_with_rc(self, r, c ,slew, swing = 0.5): + def cal_delay_with_rc(self, corner, r, c ,slew, swing = 0.5): """ Calculate the delay of a mosfet by modeling it as a resistance driving a capacitance """ swing_factor = abs(math.log(1-swing)) # time constant based on swing + proc,volt,temp = corner + #FIXME: type of delay is needed to know which process to use. + proc_mult = max(self.get_process_delay_factor(proc)) + volt_mult = self.get_voltage_delay_factor(volt) + temp_mult = self.get_temp_delay_factor(temp) delay = swing_factor * r * c #c is in ff and delay is in fs + delay = delay * proc_mult * volt_mult * temp_mult delay = delay * 0.001 #make the unit to ps - + # Output slew should be linear to input slew which is described # as 0.005* slew. @@ -247,6 +254,36 @@ class spice(): slew = delay * 0.6 * 2 + 0.005 * slew return delay_data(delay = delay, slew = slew) + def get_process_delay_factor(self, proc): + """Returns delay increase estimate based off process + Currently does +/-10 for fast/slow corners.""" + proc_factors = [] + for mos_proc in proc: + if mos_proc == 'T': + proc_factors.append(1.0) + elif mos_proc == 'F': + proc_factors.append(0.9) + elif mos_proc == 'S': + proc_factors.append(1.1) + return proc_factors + + def get_voltage_delay_factor(self, voltage): + """Returns delay increase due to voltage. + Implemented as linear factor based off nominal voltage. + """ + return tech.spice['vdd_nominal']/voltage + + def get_temp_delay_factor(self, temp): + """Returns delay increase due to temperature (in C). + Determines effect on threshold voltage and then linear factor is estimated. + """ + #Some portions of equation condensed (phi_t = k*T/q for T in Kelvin) in mV + #(k/q)/100 = .008625, The division 100 simplifies the conversion from C to K and mV to V + thermal_voltage_nom = .008625*tech.spice["temp_nominal"] + thermal_voltage = .008625*temp + vthresh = (tech.spice["v_threshold_typical"]+2*(thermal_voltage-thermal_voltage_nom)) + #Calculate effect on Vdd-Vth. The current vdd is not used here. A separate vdd factor is calculated. + return (tech.spice['vdd_nominal'] - tech.spice["v_threshold_typical"])/(tech.spice['vdd_nominal']-vthresh) def return_delay(self, delay, slew): return delay_data(delay, slew) diff --git a/compiler/bitcells/bitcell.py b/compiler/bitcells/bitcell.py index 3c49a959..afa8ae1a 100644 --- a/compiler/bitcells/bitcell.py +++ b/compiler/bitcells/bitcell.py @@ -24,7 +24,7 @@ class bitcell(design.design): self.height = bitcell.height self.pin_map = bitcell.pin_map - def analytical_delay(self, slew, load=0, swing = 0.5): + def analytical_delay(self, corner, slew, load=0, swing = 0.5): # delay of bit cell is not like a driver(from WL) # so the slew used should be 0 # it should not be slew dependent? @@ -33,7 +33,7 @@ class bitcell(design.design): from tech import spice r = spice["min_tx_r"]*3 c_para = spice["min_tx_drain_c"] - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = swing) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = swing) return result diff --git a/compiler/bitcells/bitcell_1rw_1r.py b/compiler/bitcells/bitcell_1rw_1r.py index 79dc734c..30cf9144 100644 --- a/compiler/bitcells/bitcell_1rw_1r.py +++ b/compiler/bitcells/bitcell_1rw_1r.py @@ -24,7 +24,7 @@ class bitcell_1rw_1r(design.design): self.height = bitcell_1rw_1r.height self.pin_map = bitcell_1rw_1r.pin_map - def analytical_delay(self, slew, load=0, swing = 0.5): + def analytical_delay(self, corner, slew, load=0, swing = 0.5): # delay of bit cell is not like a driver(from WL) # so the slew used should be 0 # it should not be slew dependent? @@ -33,7 +33,7 @@ class bitcell_1rw_1r(design.design): from tech import spice r = spice["min_tx_r"]*3 c_para = spice["min_tx_drain_c"] - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = swing) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = swing) return result diff --git a/compiler/bitcells/bitcell_1w_1r.py b/compiler/bitcells/bitcell_1w_1r.py index 4df9e813..1283db76 100644 --- a/compiler/bitcells/bitcell_1w_1r.py +++ b/compiler/bitcells/bitcell_1w_1r.py @@ -24,7 +24,7 @@ class bitcell_1w_1r(design.design): self.height = bitcell_1w_1r.height self.pin_map = bitcell_1w_1r.pin_map - def analytical_delay(self, slew, load=0, swing = 0.5): + def analytical_delay(self, corner, slew, load=0, swing = 0.5): # delay of bit cell is not like a driver(from WL) # so the slew used should be 0 # it should not be slew dependent? @@ -33,7 +33,7 @@ class bitcell_1w_1r(design.design): from tech import spice r = spice["min_tx_r"]*3 c_para = spice["min_tx_drain_c"] - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = swing) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = swing) return result diff --git a/compiler/bitcells/pbitcell.py b/compiler/bitcells/pbitcell.py index b241471d..104a2b41 100644 --- a/compiler/bitcells/pbitcell.py +++ b/compiler/bitcells/pbitcell.py @@ -866,12 +866,12 @@ class pbitcell(design.design): vdd_pos = self.inverter_pmos_right.get_pin("D").center() self.add_path("metal1", [Q_bar_pos, vdd_pos]) - def analytical_delay(self, slew, load=0, swing = 0.5): + def analytical_delay(self, corner, slew, load=0, swing = 0.5): #FIXME: Delay copied exactly over from bitcell from tech import spice r = spice["min_tx_r"]*3 c_para = spice["min_tx_drain_c"] - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = swing) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = swing) return result def analytical_power(self, proc, vdd, temp, load): diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 7aa9641d..17ce8c4e 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -907,7 +907,7 @@ class delay(simulation): for slew in slews: for load in loads: self.set_load_slew(load,slew) - bank_delay = self.sram.analytical_delay(self.vdd_voltage, self.slew,self.load) + bank_delay = self.sram.analytical_delay(self.corner, self.slew,self.load) for port in self.all_ports: for mname in self.delay_meas_names+self.power_meas_names: if "power" in mname: @@ -921,8 +921,9 @@ class delay(simulation): period_margin = 0.1 risefall_delay = bank_delay[self.read_ports[0]].delay/1e3 sram_data = { "min_period":risefall_delay*2*period_margin, - "leakage_power": power.leakage} - + "leakage_power": power.leakage} + debug.info(2,"SRAM Data:\n{}".format(sram_data)) + debug.info(2,"Port Data:\n{}".format(port_data)) return (sram_data,port_data) diff --git a/compiler/modules/bank.py b/compiler/modules/bank.py index 5d4e9739..7eddc3bb 100644 --- a/compiler/modules/bank.py +++ b/compiler/modules/bank.py @@ -1216,26 +1216,30 @@ class bank(design.design): rotate=90) - def analytical_delay(self, vdd, slew, load): + def analytical_delay(self, corner, slew, load): """ return analytical delay of the bank""" results = [] - decoder_delay = self.row_decoder.analytical_delay(slew, self.wordline_driver.input_load()) + decoder_delay = self.row_decoder.analytical_delay(corner, slew, self.wordline_driver.input_load()) - word_driver_delay = self.wordline_driver.analytical_delay(decoder_delay.slew, self.bitcell_array.input_load()) + word_driver_delay = self.wordline_driver.analytical_delay(corner, + decoder_delay.slew, + self.bitcell_array.input_load()) #FIXME: Array delay is the same for every port. - bitcell_array_delay = self.bitcell_array.analytical_delay(word_driver_delay.slew) + bitcell_array_delay = self.bitcell_array.analytical_delay(corner, word_driver_delay.slew) #This also essentially creates the same delay for each port. Good structure, no substance for port in self.all_ports: if self.words_per_row > 1: - column_mux_delay = self.column_mux_array[port].analytical_delay(vdd, bitcell_array_delay.slew, - self.sense_amp_array.input_load()) + column_mux_delay = self.column_mux_array[port].analytical_delay(corner, + bitcell_array_delay.slew, + self.sense_amp_array.input_load()) else: column_mux_delay = self.return_delay(delay = 0.0, slew=word_driver_delay.slew) - bl_t_data_out_delay = self.sense_amp_array.analytical_delay(column_mux_delay.slew, + bl_t_data_out_delay = self.sense_amp_array.analytical_delay(corner, + column_mux_delay.slew, self.bitcell_array.output_load()) # output load of bitcell_array is set to be only small part of bl for sense amp. results.append(decoder_delay + word_driver_delay + bitcell_array_delay + column_mux_delay + bl_t_data_out_delay) diff --git a/compiler/modules/bitcell_array.py b/compiler/modules/bitcell_array.py index 67e5a9da..9df5d696 100644 --- a/compiler/modules/bitcell_array.py +++ b/compiler/modules/bitcell_array.py @@ -130,7 +130,7 @@ class bitcell_array(design.design): self.add_power_pin(pin_name, pin.center(), 0, pin.layer) - def analytical_delay(self, slew, load=0): + def analytical_delay(self, corner, slew, load=0): from tech import drc wl_wire = self.gen_wl_wire() wl_wire.return_delay_over_wire(slew) @@ -141,7 +141,7 @@ class bitcell_array(design.design): cell_load = 2 * bl_wire.return_input_cap() # we ingore the wire r # hence just use the whole c bl_swing = 0.1 - cell_delay = self.cell.analytical_delay(wl_to_cell_delay.slew, cell_load, swing = bl_swing) + cell_delay = self.cell.analytical_delay(corner, wl_to_cell_delay.slew, cell_load, swing = bl_swing) #we do not consider the delay over the wire for now return self.return_delay(cell_delay.delay+wl_to_cell_delay.delay, diff --git a/compiler/modules/dff.py b/compiler/modules/dff.py index 19077689..8cf02d40 100644 --- a/compiler/modules/dff.py +++ b/compiler/modules/dff.py @@ -39,7 +39,7 @@ class dff(design.design): transition_prob = spice["flop_transition_prob"] return transition_prob*(c_load + c_para) - def analytical_delay(self, slew, load = 0.0): + def analytical_delay(self, corner, slew, load = 0.0): # dont know how to calculate this now, use constant in tech file result = self.return_delay(spice["dff_delay"], spice["dff_slew"]) return result diff --git a/compiler/modules/dff_array.py b/compiler/modules/dff_array.py index 5d728205..9d11b811 100644 --- a/compiler/modules/dff_array.py +++ b/compiler/modules/dff_array.py @@ -154,8 +154,8 @@ class dff_array(design.design): - def analytical_delay(self, slew, load=0.0): - return self.dff.analytical_delay(slew=slew, load=load) + def analytical_delay(self, corner, slew, load=0.0): + return self.dff.analytical_delay(corner, slew=slew, load=load) def get_clk_cin(self): """Return the total capacitance (in relative units) that the clock is loaded by in the dff array""" diff --git a/compiler/modules/dff_buf.py b/compiler/modules/dff_buf.py index 42d37bd1..fa3285ba 100644 --- a/compiler/modules/dff_buf.py +++ b/compiler/modules/dff_buf.py @@ -172,11 +172,11 @@ class dff_buf(design.design): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """ Calculate the analytical delay of DFF-> INV -> INV """ - dff_delay=self.dff.analytical_delay(slew=slew, load=self.inv1.input_load()) - inv1_delay = self.inv1.analytical_delay(slew=dff_delay.slew, load=self.inv2.input_load()) - inv2_delay = self.inv2.analytical_delay(slew=inv1_delay.slew, load=load) + dff_delay=self.dff.analytical_delay(corner, slew=slew, load=self.inv1.input_load()) + inv1_delay = self.inv1.analytical_delay(corner, slew=dff_delay.slew, load=self.inv2.input_load()) + inv2_delay = self.inv2.analytical_delay(corner, slew=inv1_delay.slew, load=load) return dff_delay + inv1_delay + inv2_delay def get_clk_cin(self): diff --git a/compiler/modules/dff_buf_array.py b/compiler/modules/dff_buf_array.py index b179b1c3..56b20dfb 100644 --- a/compiler/modules/dff_buf_array.py +++ b/compiler/modules/dff_buf_array.py @@ -187,7 +187,7 @@ class dff_buf_array(design.design): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): return self.dff.analytical_delay(slew=slew, load=load) def get_clk_cin(self): diff --git a/compiler/modules/dff_inv.py b/compiler/modules/dff_inv.py index 436026bb..9b901d3b 100644 --- a/compiler/modules/dff_inv.py +++ b/compiler/modules/dff_inv.py @@ -145,10 +145,10 @@ class dff_inv(design.design): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """ Calculate the analytical delay of DFF-> INV -> INV """ - dff_delay=self.dff.analytical_delay(slew=slew, load=self.inv1.input_load()) - inv1_delay = self.inv1.analytical_delay(slew=dff_delay.slew, load=load) + dff_delay=self.dff.analytical_delay(corner, slew=slew, load=self.inv1.input_load()) + inv1_delay = self.inv1.analytical_delay(corner, slew=dff_delay.slew, load=load) return dff_delay + inv1_delay def get_clk_cin(self): diff --git a/compiler/modules/dff_inv_array.py b/compiler/modules/dff_inv_array.py index 91ccfa92..624e13d0 100644 --- a/compiler/modules/dff_inv_array.py +++ b/compiler/modules/dff_inv_array.py @@ -185,8 +185,8 @@ class dff_inv_array(design.design): - def analytical_delay(self, slew, load=0.0): - return self.dff.analytical_delay(slew=slew, load=load) + def analytical_delay(self, corner, slew, load=0.0): + return self.dff.analytical_delay(corner, slew=slew, load=load) def get_clk_cin(self): """Return the total capacitance (in relative units) that the clock is loaded by in the dff array""" diff --git a/compiler/modules/hierarchical_decoder.py b/compiler/modules/hierarchical_decoder.py index 4bbb6aca..bd17b37e 100644 --- a/compiler/modules/hierarchical_decoder.py +++ b/compiler/modules/hierarchical_decoder.py @@ -594,7 +594,7 @@ class hierarchical_decoder(design.design): rotate=90) - def analytical_delay(self, slew, load = 0.0): + def analytical_delay(self, corner, slew, load = 0.0): # A -> out if self.determine_predecodes(self.num_inputs)[1]==0: pre = self.pre2_4 @@ -602,15 +602,15 @@ class hierarchical_decoder(design.design): else: pre = self.pre3_8 nand = self.nand3 - a_t_out_delay = pre.analytical_delay(slew=slew,load = nand.input_load()) + a_t_out_delay = pre.analytical_delay(corner, slew=slew,load = nand.input_load()) # out -> z - out_t_z_delay = nand.analytical_delay(slew= a_t_out_delay.slew, + out_t_z_delay = nand.analytical_delay(corner, slew= a_t_out_delay.slew, load = self.inv.input_load()) result = a_t_out_delay + out_t_z_delay # Z -> decode_out - z_t_decodeout_delay = self.inv.analytical_delay(slew = out_t_z_delay.slew , load = load) + z_t_decodeout_delay = self.inv.analytical_delay(corner, slew = out_t_z_delay.slew , load = load) result = result + z_t_decodeout_delay return result diff --git a/compiler/modules/hierarchical_predecode2x4.py b/compiler/modules/hierarchical_predecode2x4.py index 83e93f85..f50a43c1 100644 --- a/compiler/modules/hierarchical_predecode2x4.py +++ b/compiler/modules/hierarchical_predecode2x4.py @@ -51,15 +51,15 @@ class hierarchical_predecode2x4(hierarchical_predecode): return combination - def analytical_delay(self, slew, load = 0.0 ): + def analytical_delay(self, corner, slew, load = 0.0 ): # in -> inbar - a_t_b_delay = self.inv.analytical_delay(slew=slew, load=self.nand.input_load()) + a_t_b_delay = self.inv.analytical_delay(corner, slew=slew, load=self.nand.input_load()) # inbar -> z - b_t_z_delay = self.nand.analytical_delay(slew=a_t_b_delay.slew, load=self.inv.input_load()) + b_t_z_delay = self.nand.analytical_delay(corner, slew=a_t_b_delay.slew, load=self.inv.input_load()) # Z -> out - a_t_out_delay = self.inv.analytical_delay(slew=b_t_z_delay.slew, load=load) + a_t_out_delay = self.inv.analytical_delay(corner, slew=b_t_z_delay.slew, load=load) return a_t_b_delay + b_t_z_delay + a_t_out_delay diff --git a/compiler/modules/hierarchical_predecode3x8.py b/compiler/modules/hierarchical_predecode3x8.py index 109e8160..820427c7 100644 --- a/compiler/modules/hierarchical_predecode3x8.py +++ b/compiler/modules/hierarchical_predecode3x8.py @@ -60,15 +60,15 @@ class hierarchical_predecode3x8(hierarchical_predecode): return combination - def analytical_delay(self, slew, load = 0.0 ): + def analytical_delay(self, corner, slew, load = 0.0 ): # A -> Abar - a_t_b_delay = self.inv.analytical_delay(slew=slew, load=self.nand.input_load()) + a_t_b_delay = self.inv.analytical_delay(corner, slew=slew, load=self.nand.input_load()) # Abar -> z - b_t_z_delay = self.nand.analytical_delay(slew=a_t_b_delay.slew, load=self.inv.input_load()) + b_t_z_delay = self.nand.analytical_delay(corner, slew=a_t_b_delay.slew, load=self.inv.input_load()) # Z -> out - a_t_out_delay = self.inv.analytical_delay(slew=b_t_z_delay.slew, load=load) + a_t_out_delay = self.inv.analytical_delay(corner, slew=b_t_z_delay.slew, load=load) return a_t_b_delay + b_t_z_delay + a_t_out_delay diff --git a/compiler/modules/multibank.py b/compiler/modules/multibank.py index 1b9e6194..15882f8b 100644 --- a/compiler/modules/multibank.py +++ b/compiler/modules/multibank.py @@ -816,19 +816,19 @@ class multibank(design.design): offset=in_pin + self.m2m3_via_offset, rotate=90) - def analytical_delay(self, slew, load): + def analytical_delay(self, corner, slew, load): """ return analytical delay of the bank""" - decoder_delay = self.row_decoder.analytical_delay(slew, self.wordline_driver.input_load()) + decoder_delay = self.row_decoder.analytical_delay(corner, slew, self.wordline_driver.input_load()) - word_driver_delay = self.wordline_driver.analytical_delay(decoder_delay.slew, self.bitcell_array.input_load()) + word_driver_delay = self.wordline_driver.analytical_delay(corner, decoder_delay.slew, self.bitcell_array.input_load()) - bitcell_array_delay = self.bitcell_array.analytical_delay(word_driver_delay.slew) + bitcell_array_delay = self.bitcell_array.analytical_delay(corner, word_driver_delay.slew) - bl_t_data_out_delay = self.sense_amp_array.analytical_delay(bitcell_array_delay.slew, + bl_t_data_out_delay = self.sense_amp_array.analytical_delay(corner, bitcell_array_delay.slew, self.bitcell_array.output_load()) # output load of bitcell_array is set to be only small part of bl for sense amp. - data_t_DATA_delay = self.tri_gate_array.analytical_delay(bl_t_data_out_delay.slew, load) + data_t_DATA_delay = self.tri_gate_array.analytical_delay(corner, bl_t_data_out_delay.slew, load) result = decoder_delay + word_driver_delay + bitcell_array_delay + bl_t_data_out_delay + data_t_DATA_delay return result diff --git a/compiler/modules/sense_amp.py b/compiler/modules/sense_amp.py index 9601259c..5b9808a8 100644 --- a/compiler/modules/sense_amp.py +++ b/compiler/modules/sense_amp.py @@ -31,11 +31,11 @@ class sense_amp(design.design): bitline_pmos_size = 8 #FIXME: This should be set somewhere and referenced. Probably in tech file. return spice["min_tx_drain_c"]*(bitline_pmos_size/parameter["min_tx_size"])#ff - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): from tech import spice r = spice["min_tx_r"]/(10) c_para = spice["min_tx_drain_c"] - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) return self.return_delay(result.delay, result.slew) def analytical_power(self, proc, vdd, temp, load): diff --git a/compiler/modules/sense_amp_array.py b/compiler/modules/sense_amp_array.py index dc80a13b..47969fd1 100644 --- a/compiler/modules/sense_amp_array.py +++ b/compiler/modules/sense_amp_array.py @@ -136,8 +136,8 @@ class sense_amp_array(design.design): def input_load(self): return self.amp.input_load() - def analytical_delay(self, slew, load=0.0): - return self.amp.analytical_delay(slew=slew, load=load) + def analytical_delay(self, corner, slew, load=0.0): + return self.amp.analytical_delay(corner, slew=slew, load=load) def get_en_cin(self): """Get the relative capacitance of all the sense amp enable connections in the array""" diff --git a/compiler/modules/single_level_column_mux_array.py b/compiler/modules/single_level_column_mux_array.py index 49293568..7f20cfb5 100644 --- a/compiler/modules/single_level_column_mux_array.py +++ b/compiler/modules/single_level_column_mux_array.py @@ -216,13 +216,14 @@ class single_level_column_mux_array(design.design): offset= br_out_offset, rotate=90) - def analytical_delay(self, vdd, slew, load=0.0): + def analytical_delay(self, corner, vdd, slew, load=0.0): from tech import spice, parameter + proc,volt,temp = corner r = spice["min_tx_r"]/(self.mux.ptx_width/parameter["min_tx_size"]) #Drains of mux transistors make up capacitance. c_para = spice["min_tx_drain_c"]*(self.mux.ptx_width/parameter["min_tx_size"])*self.words_per_row#ff - volt_swing = spice["v_threshold_typical"]/vdd + volt_swing = spice["v_threshold_typical"]/volt - result = self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew, swing = volt_swing) + result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = volt_swing) return self.return_delay(result.delay, result.slew) diff --git a/compiler/modules/tri_gate.py b/compiler/modules/tri_gate.py index da42c7a8..61d9da39 100644 --- a/compiler/modules/tri_gate.py +++ b/compiler/modules/tri_gate.py @@ -27,11 +27,11 @@ class tri_gate(design.design): self.height = tri_gate.height self.pin_map = tri_gate.pin_map - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): from tech import spice r = spice["min_tx_r"] c_para = spice["min_tx_drain_c"] - return self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) def analytical_power(self, proc, vdd, temp, load): """Returns dynamic and leakage power. Results in nW""" diff --git a/compiler/modules/tri_gate_array.py b/compiler/modules/tri_gate_array.py index d56e9c96..c9dee703 100644 --- a/compiler/modules/tri_gate_array.py +++ b/compiler/modules/tri_gate_array.py @@ -116,6 +116,6 @@ class tri_gate_array(design.design): - def analytical_delay(self, slew, load=0.0): - return self.tri.analytical_delay(slew = slew, load = load) + def analytical_delay(self, corner, slew, load=0.0): + return self.tri.analytical_delay(corner, slew = slew, load = load) diff --git a/compiler/modules/wordline_driver.py b/compiler/modules/wordline_driver.py index 830c28de..6ddba9de 100644 --- a/compiler/modules/wordline_driver.py +++ b/compiler/modules/wordline_driver.py @@ -210,12 +210,12 @@ class wordline_driver(design.design): end=wl_offset-vector(self.m1_width,0)) - def analytical_delay(self, slew, load=0): + def analytical_delay(self, corner, slew, load=0): # decode -> net - decode_t_net = self.nand2.analytical_delay(slew, self.inv.input_load()) + decode_t_net = self.nand2.analytical_delay(corner, slew, self.inv.input_load()) # net -> wl - net_t_wl = self.inv.analytical_delay(decode_t_net.slew, load) + net_t_wl = self.inv.analytical_delay(corner, decode_t_net.slew, load) return decode_t_net + net_t_wl diff --git a/compiler/pgates/pand2.py b/compiler/pgates/pand2.py index a5805728..54787282 100644 --- a/compiler/pgates/pand2.py +++ b/compiler/pgates/pand2.py @@ -107,10 +107,10 @@ class pand2(pgate.pgate): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """ Calculate the analytical delay of DFF-> INV -> INV """ - nand_delay = selfnand.analytical_delay(slew=slew, load=self.inv.input_load()) - inv_delay = self.inv.analytical_delay(slew=nand_delay.slew, load=load) + nand_delay = self.nand.analytical_delay(corner, slew=slew, load=self.inv.input_load()) + inv_delay = self.inv.analytical_delay(corner, slew=nand_delay.slew, load=load) return nand_delay + inv_delay def get_stage_efforts(self, external_cout, inp_is_rise=False): diff --git a/compiler/pgates/pbuf.py b/compiler/pgates/pbuf.py index a0b36111..9d73c004 100644 --- a/compiler/pgates/pbuf.py +++ b/compiler/pgates/pbuf.py @@ -110,10 +110,10 @@ class pbuf(pgate.pgate): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """ Calculate the analytical delay of DFF-> INV -> INV """ - inv1_delay = self.inv1.analytical_delay(slew=slew, load=self.inv2.input_load()) - inv2_delay = self.inv2.analytical_delay(slew=inv1_delay.slew, load=load) + inv1_delay = self.inv1.analytical_delay(corner, slew=slew, load=self.inv2.input_load()) + inv2_delay = self.inv2.analytical_delay(corner, slew=inv1_delay.slew, load=load) return inv1_delay + inv2_delay def get_stage_efforts(self, external_cout, inp_is_rise=False): diff --git a/compiler/pgates/pdriver.py b/compiler/pgates/pdriver.py index 23f3f4f8..daf4d334 100644 --- a/compiler/pgates/pdriver.py +++ b/compiler/pgates/pdriver.py @@ -172,7 +172,7 @@ class pdriver(pgate.pgate): def input_load(self): return self.inv_list[0].input_load() - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """Calculate the analytical delay of INV1 -> ... -> INVn""" cout_list = [] @@ -184,7 +184,7 @@ class pdriver(pgate.pgate): delays = [] for inv,cout in zip(self.inv_list,cout_list): - delays.append(inv.analytical_delay(slew=input_slew, load=cout)) + delays.append(inv.analytical_delay(corner, slew=input_slew, load=cout)) input_slew = delays[-1].slew delay = delays[0] diff --git a/compiler/pgates/pinv.py b/compiler/pgates/pinv.py index f1ba89f4..867deee2 100644 --- a/compiler/pgates/pinv.py +++ b/compiler/pgates/pinv.py @@ -261,10 +261,10 @@ class pinv(pgate.pgate): def input_load(self): return ((self.nmos_size+self.pmos_size)/parameter["min_tx_size"])*spice["min_tx_gate_c"] - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): r = spice["min_tx_r"]/(self.nmos_size/parameter["min_tx_size"]) c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff - return self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) def analytical_power(self, proc, vdd, temp, load): """Returns dynamic and leakage power. Results in nW""" diff --git a/compiler/pgates/pinvbuf.py b/compiler/pgates/pinvbuf.py index e950bd3f..06936895 100644 --- a/compiler/pgates/pinvbuf.py +++ b/compiler/pgates/pinvbuf.py @@ -177,10 +177,10 @@ class pinvbuf(design.design): - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): """ Calculate the analytical delay of DFF-> INV -> INV """ - inv1_delay = self.inv1.analytical_delay(slew=slew, load=self.inv2.input_load()) - inv2_delay = self.inv2.analytical_delay(slew=inv1_delay.slew, load=load) + inv1_delay = self.inv1.analytical_delay(corner, slew=slew, load=self.inv2.input_load()) + inv2_delay = self.inv2.analytical_delay(corner, slew=inv1_delay.slew, load=load) return inv1_delay + inv2_delay def determine_clk_buf_stage_efforts(self, external_cout, inp_is_rise=False): diff --git a/compiler/pgates/pnand2.py b/compiler/pgates/pnand2.py index fa24dc1f..8e702f84 100644 --- a/compiler/pgates/pnand2.py +++ b/compiler/pgates/pnand2.py @@ -227,10 +227,10 @@ class pnand2(pgate.pgate): def input_load(self): return ((self.nmos_size+self.pmos_size)/parameter["min_tx_size"])*spice["min_tx_gate_c"] - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): r = spice["min_tx_r"]/(self.nmos_size/parameter["min_tx_size"]) c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff - return self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) def analytical_power(self, proc, vdd, temp, load): """Returns dynamic and leakage power. Results in nW""" diff --git a/compiler/pgates/pnand3.py b/compiler/pgates/pnand3.py index d4554863..4efd1820 100644 --- a/compiler/pgates/pnand3.py +++ b/compiler/pgates/pnand3.py @@ -240,10 +240,10 @@ class pnand3(pgate.pgate): def input_load(self): return ((self.nmos_size+self.pmos_size)/parameter["min_tx_size"])*spice["min_tx_gate_c"] - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): r = spice["min_tx_r"]/(self.nmos_size/parameter["min_tx_size"]) c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff - return self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) def analytical_power(self, proc, vdd, temp, load): """Returns dynamic and leakage power. Results in nW""" diff --git a/compiler/pgates/pnor2.py b/compiler/pgates/pnor2.py index d1be51f3..0c62cfe9 100644 --- a/compiler/pgates/pnor2.py +++ b/compiler/pgates/pnor2.py @@ -212,10 +212,10 @@ class pnor2(pgate.pgate): def input_load(self): return ((self.nmos_size+self.pmos_size)/parameter["min_tx_size"])*spice["min_tx_gate_c"] - def analytical_delay(self, slew, load=0.0): + def analytical_delay(self, corner, slew, load=0.0): r = spice["min_tx_r"]/(self.nmos_size/parameter["min_tx_size"]) c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff - return self.cal_delay_with_rc(r = r, c = c_para+load, slew = slew) + return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) def analytical_power(self, proc, vdd, temp, load): """Returns dynamic and leakage power. Results in nW""" diff --git a/compiler/sram_base.py b/compiler/sram_base.py index 61d3639d..611900e4 100644 --- a/compiler/sram_base.py +++ b/compiler/sram_base.py @@ -499,9 +499,9 @@ class sram_base(design, verilog, lef): sp.close() - def analytical_delay(self, vdd, slew,load): + def analytical_delay(self, corner, slew,load): """ LH and HL are the same in analytical model. """ - return self.bank.analytical_delay(vdd,slew,load) + return self.bank.analytical_delay(corner,slew,load) def determine_wordline_stage_efforts(self, inp_is_rise=True): """Get the all the stage efforts for each stage in the path from clk_buf to a wordline""" diff --git a/technology/freepdk45/tech/tech.py b/technology/freepdk45/tech/tech.py index eccfd1c8..760d2a5a 100644 --- a/technology/freepdk45/tech/tech.py +++ b/technology/freepdk45/tech/tech.py @@ -300,6 +300,8 @@ spice["channel"] = drc["minlength_channel"] spice["clk"] = "clk" # analytical delay parameters +spice["vdd_nominal"] = 1.0 # Typical Threshold voltage in Volts +spice["temp_nominal"] = 25.0 # Typical Threshold voltage in Volts spice["v_threshold_typical"] = 0.4 # Typical Threshold voltage in Volts spice["wire_unit_r"] = 0.075 # Unit wire resistance in ohms/square spice["wire_unit_c"] = 0.64 # Unit wire capacitance ff/um^2 diff --git a/technology/scn3me_subm/tech/tech.py b/technology/scn3me_subm/tech/tech.py index d448b5dc..e088eff9 100755 --- a/technology/scn3me_subm/tech/tech.py +++ b/technology/scn3me_subm/tech/tech.py @@ -240,6 +240,8 @@ spice["clk"] = "clk" # analytical delay parameters # FIXME: These need to be updated for SCMOS, they are copied from FreePDK45. +spice["vdd_nominal"] = 5.0 # Typical Threshold voltage in Volts +spice["temp_nominal"] = 25.0 # Typical Threshold voltage in Volts spice["v_threshold_typical"] = 1.3 # Typical Threshold voltage in Volts spice["wire_unit_r"] = 0.075 # Unit wire resistance in ohms/square spice["wire_unit_c"] = 0.64 # Unit wire capacitance ff/um^2 diff --git a/technology/scn4m_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py index 8b6ee827..78222fd6 100755 --- a/technology/scn4m_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -266,6 +266,8 @@ spice["clk"] = "clk" # analytical delay parameters # FIXME: These need to be updated for SCMOS, they are copied from FreePDK45. +spice["vdd_nominal"] = 5.0 # Typical Threshold voltage in Volts +spice["temp_nominal"] = 25.0 # Typical Threshold voltage in Volts spice["v_threshold_typical"] = 1.3 # Typical Threshold voltage in Volts spice["wire_unit_r"] = 0.075 # Unit wire resistance in ohms/square spice["wire_unit_c"] = 0.64 # Unit wire capacitance ff/um^2 From ddeb40c9bf8b67838122f4fa0db427498db81001 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Mon, 4 Mar 2019 16:27:10 -0800 Subject: [PATCH 76/77] Added lib test which generates multiple corner models. Only does process currently. --- compiler/characterizer/lib.py | 21 +- .../tests/23_lib_sram_model_corners_test.py | 69 ++++ ..._16_1_freepdk45_FF_1p0V_25C_analytical.lib | 321 ++++++++++++++++++ ..._16_1_freepdk45_SS_1p0V_25C_analytical.lib | 321 ++++++++++++++++++ ...16_1_scn4m_subm_FF_5p0V_25C_analytical.lib | 321 ++++++++++++++++++ ...16_1_scn4m_subm_SS_5p0V_25C_analytical.lib | 321 ++++++++++++++++++ 6 files changed, 1363 insertions(+), 11 deletions(-) create mode 100755 compiler/tests/23_lib_sram_model_corners_test.py create mode 100644 compiler/tests/golden/sram_2_16_1_freepdk45_FF_1p0V_25C_analytical.lib create mode 100644 compiler/tests/golden/sram_2_16_1_freepdk45_SS_1p0V_25C_analytical.lib create mode 100644 compiler/tests/golden/sram_2_16_1_scn4m_subm_FF_5p0V_25C_analytical.lib create mode 100644 compiler/tests/golden/sram_2_16_1_scn4m_subm_SS_5p0V_25C_analytical.lib diff --git a/compiler/characterizer/lib.py b/compiler/characterizer/lib.py index 00b39af5..d24c931d 100644 --- a/compiler/characterizer/lib.py +++ b/compiler/characterizer/lib.py @@ -483,17 +483,16 @@ class lib: self.lib.write(" }\n") def compute_delay(self): - """ Do the analysis if we haven't characterized the SRAM yet """ - if not hasattr(self,"d"): - self.d = delay(self.sram, self.sp_file, self.corner) - if self.use_model: - char_results = self.d.analytical_delay(self.slews,self.loads) - self.char_sram_results, self.char_port_results = char_results - else: - probe_address = "1" * self.sram.addr_size - probe_data = self.sram.word_size - 1 - char_results = self.d.analyze(probe_address, probe_data, self.slews, self.loads) - self.char_sram_results, self.char_port_results = char_results + """Compute SRAM delays for current corner""" + self.d = delay(self.sram, self.sp_file, self.corner) + if self.use_model: + char_results = self.d.analytical_delay(self.slews,self.loads) + self.char_sram_results, self.char_port_results = char_results + else: + probe_address = "1" * self.sram.addr_size + probe_data = self.sram.word_size - 1 + char_results = self.d.analyze(probe_address, probe_data, self.slews, self.loads) + self.char_sram_results, self.char_port_results = char_results def compute_setup_hold(self): """ Do the analysis if we haven't characterized a FF yet """ diff --git a/compiler/tests/23_lib_sram_model_corners_test.py b/compiler/tests/23_lib_sram_model_corners_test.py new file mode 100755 index 00000000..431555bc --- /dev/null +++ b/compiler/tests/23_lib_sram_model_corners_test.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +""" +Check the .lib file for an SRAM +""" + +import unittest +from testutils import header,openram_test +import sys,os,re +sys.path.append(os.path.join(sys.path[0],"..")) +import globals +from globals import OPTS +import debug + +class model_corners_lib_test(openram_test): + + def runTest(self): + globals.init_openram("config_20_{0}".format(OPTS.tech_name)) + + from characterizer import lib + from sram import sram + from sram_config import sram_config + c = sram_config(word_size=2, + num_words=16, + num_banks=1) + c.words_per_row=1 + c.recompute_sizes() + debug.info(1, "Testing analytical timing for sample 2 bit, 16 words SRAM with 1 bank") + s = sram(c, "sram_2_16_1_{0}".format(OPTS.tech_name)) + tempspice = OPTS.openram_temp + "temp.sp" + s.sp_write(tempspice) + + #Set the corners. Lib will create a power set of the lists. + if OPTS.tech_name == "scn4m_subm": + OPTS.process_corners = ["TT", "SS", "FF"] + OPTS.supply_voltages = [5.0] + OPTS.temperatures = [25] + elif OPTS.tech_name == "freepdk45": + OPTS.process_corners = ["TT", "SS", "FF"] + OPTS.supply_voltages = [1.0] + OPTS.temperatures = [25] + + lib(out_dir=OPTS.openram_temp, sram=s.s, sp_file=tempspice, use_model=True) + + # get all of the .lib files generated + files = os.listdir(OPTS.openram_temp) + nametest = re.compile("\.lib$", re.IGNORECASE) + lib_files = filter(nametest.search, files) + + # and compare them with the golden model + for filename in lib_files: + newname = filename.replace(".lib","_analytical.lib") + libname = "{0}/{1}".format(OPTS.openram_temp,filename) + golden = "{0}/golden/{1}".format(os.path.dirname(os.path.realpath(__file__)),newname) + self.assertTrue(self.isapproxdiff(libname,golden,0.15)) + + globals.end_openram() + +# run the test from the command line +if __name__ == "__main__": + (OPTS, args) = globals.parse_args() + del sys.argv[1:] + header(__file__, OPTS.tech_name) + unittest.main() + + + + + + diff --git a/compiler/tests/golden/sram_2_16_1_freepdk45_FF_1p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_freepdk45_FF_1p0V_25C_analytical.lib new file mode 100644 index 00000000..88b54eca --- /dev/null +++ b/compiler/tests/golden/sram_2_16_1_freepdk45_FF_1p0V_25C_analytical.lib @@ -0,0 +1,321 @@ +library (sram_2_16_1_freepdk45_FF_1p0V_25C_lib){ + delay_model : "table_lookup"; + time_unit : "1ns" ; + voltage_unit : "1v" ; + current_unit : "1mA" ; + resistance_unit : "1kohm" ; + capacitive_load_unit(1 ,fF) ; + leakage_power_unit : "1mW" ; + pulling_resistance_unit :"1kohm" ; + operating_conditions(OC){ + process : 1.0 ; + voltage : 1.0 ; + temperature : 25; + } + + input_threshold_pct_fall : 50.0 ; + output_threshold_pct_fall : 50.0 ; + input_threshold_pct_rise : 50.0 ; + output_threshold_pct_rise : 50.0 ; + slew_lower_threshold_pct_fall : 10.0 ; + slew_upper_threshold_pct_fall : 90.0 ; + slew_lower_threshold_pct_rise : 10.0 ; + slew_upper_threshold_pct_rise : 90.0 ; + + nom_voltage : 1.0; + nom_temperature : 25; + nom_process : 1.0; + default_cell_leakage_power : 0.0 ; + default_leakage_power_density : 0.0 ; + default_input_pin_cap : 1.0 ; + default_inout_pin_cap : 1.0 ; + default_output_pin_cap : 0.0 ; + default_max_transition : 0.5 ; + default_fanout_load : 1.0 ; + default_max_fanout : 4.0 ; + default_connection_class : universal ; + + lu_table_template(CELL_TABLE){ + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1("0.00125, 0.005, 0.04"); + index_2("0.052275, 0.2091, 1.6728"); + } + + lu_table_template(CONSTRAINT_TABLE){ + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1("0.00125, 0.005, 0.04"); + index_2("0.00125, 0.005, 0.04"); + } + + default_operating_conditions : OC; + + + type (DATA){ + base_type : array; + data_type : bit; + bit_width : 2; + bit_from : 0; + bit_to : 1; + } + + type (ADDR){ + base_type : array; + data_type : bit; + bit_width : 4; + bit_from : 0; + bit_to : 3; + } + +cell (sram_2_16_1_freepdk45){ + memory(){ + type : ram; + address_width : 4; + word_width : 2; + } + interface_timing : true; + dont_use : true; + map_only : true; + dont_touch : true; + area : 1124.88; + + leakage_power () { + when : "CSb0"; + value : 0.000167; + } + cell_leakage_power : 0; + bus(DIN0){ + bus_type : DATA; + direction : input; + capacitance : 0.2091; + memory_write(){ + address : ADDR0; + clocked_on : clk0; + } + pin(DIN0[1:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + bus(DOUT0){ + bus_type : DATA; + direction : output; + max_capacitance : 1.6728; + min_capacitance : 0.052275; + memory_read(){ + address : ADDR0; + } + pin(DOUT0[1:0]){ + timing(){ + timing_sense : non_unate; + related_pin : "clk0"; + timing_type : falling_edge; + cell_rise(CELL_TABLE) { + values("0.088, 0.088, 0.088",\ + "0.088, 0.088, 0.088",\ + "0.088, 0.088, 0.088"); + } + cell_fall(CELL_TABLE) { + values("0.088, 0.088, 0.088",\ + "0.088, 0.088, 0.088",\ + "0.088, 0.088, 0.088"); + } + rise_transition(CELL_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_transition(CELL_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + bus(ADDR0){ + bus_type : ADDR; + direction : input; + capacitance : 0.2091; + max_transition : 0.04; + pin(ADDR0[3:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + pin(CSb0){ + direction : input; + capacitance : 0.2091; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(WEb0){ + direction : input; + capacitance : 0.2091; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(clk0){ + clock : true; + direction : input; + capacitance : 0.2091; + internal_power(){ + when : "!CSb0 & clk0 & !WEb0"; + rise_power(scalar){ + values("0.033101244168888884"); + } + fall_power(scalar){ + values("0.033101244168888884"); + } + } + internal_power(){ + when : "!CSb0 & !clk0 & WEb0"; + rise_power(scalar){ + values("0.033101244168888884"); + } + fall_power(scalar){ + values("0.033101244168888884"); + } + } + internal_power(){ + when : "CSb0"; + rise_power(scalar){ + values("0"); + } + fall_power(scalar){ + values("0"); + } + } + timing(){ + timing_type :"min_pulse_width"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.009"); + } + fall_constraint(scalar) { + values("0.009"); + } + } + timing(){ + timing_type :"minimum_period"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.018"); + } + fall_constraint(scalar) { + values("0.018"); + } + } + } + + } +} diff --git a/compiler/tests/golden/sram_2_16_1_freepdk45_SS_1p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_freepdk45_SS_1p0V_25C_analytical.lib new file mode 100644 index 00000000..e78fe8d3 --- /dev/null +++ b/compiler/tests/golden/sram_2_16_1_freepdk45_SS_1p0V_25C_analytical.lib @@ -0,0 +1,321 @@ +library (sram_2_16_1_freepdk45_SS_1p0V_25C_lib){ + delay_model : "table_lookup"; + time_unit : "1ns" ; + voltage_unit : "1v" ; + current_unit : "1mA" ; + resistance_unit : "1kohm" ; + capacitive_load_unit(1 ,fF) ; + leakage_power_unit : "1mW" ; + pulling_resistance_unit :"1kohm" ; + operating_conditions(OC){ + process : 1.0 ; + voltage : 1.0 ; + temperature : 25; + } + + input_threshold_pct_fall : 50.0 ; + output_threshold_pct_fall : 50.0 ; + input_threshold_pct_rise : 50.0 ; + output_threshold_pct_rise : 50.0 ; + slew_lower_threshold_pct_fall : 10.0 ; + slew_upper_threshold_pct_fall : 90.0 ; + slew_lower_threshold_pct_rise : 10.0 ; + slew_upper_threshold_pct_rise : 90.0 ; + + nom_voltage : 1.0; + nom_temperature : 25; + nom_process : 1.0; + default_cell_leakage_power : 0.0 ; + default_leakage_power_density : 0.0 ; + default_input_pin_cap : 1.0 ; + default_inout_pin_cap : 1.0 ; + default_output_pin_cap : 0.0 ; + default_max_transition : 0.5 ; + default_fanout_load : 1.0 ; + default_max_fanout : 4.0 ; + default_connection_class : universal ; + + lu_table_template(CELL_TABLE){ + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1("0.00125, 0.005, 0.04"); + index_2("0.052275, 0.2091, 1.6728"); + } + + lu_table_template(CONSTRAINT_TABLE){ + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1("0.00125, 0.005, 0.04"); + index_2("0.00125, 0.005, 0.04"); + } + + default_operating_conditions : OC; + + + type (DATA){ + base_type : array; + data_type : bit; + bit_width : 2; + bit_from : 0; + bit_to : 1; + } + + type (ADDR){ + base_type : array; + data_type : bit; + bit_width : 4; + bit_from : 0; + bit_to : 3; + } + +cell (sram_2_16_1_freepdk45){ + memory(){ + type : ram; + address_width : 4; + word_width : 2; + } + interface_timing : true; + dont_use : true; + map_only : true; + dont_touch : true; + area : 1124.88; + + leakage_power () { + when : "CSb0"; + value : 0.000167; + } + cell_leakage_power : 0; + bus(DIN0){ + bus_type : DATA; + direction : input; + capacitance : 0.2091; + memory_write(){ + address : ADDR0; + clocked_on : clk0; + } + pin(DIN0[1:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + bus(DOUT0){ + bus_type : DATA; + direction : output; + max_capacitance : 1.6728; + min_capacitance : 0.052275; + memory_read(){ + address : ADDR0; + } + pin(DOUT0[1:0]){ + timing(){ + timing_sense : non_unate; + related_pin : "clk0"; + timing_type : falling_edge; + cell_rise(CELL_TABLE) { + values("0.107, 0.107, 0.107",\ + "0.107, 0.107, 0.107",\ + "0.107, 0.107, 0.107"); + } + cell_fall(CELL_TABLE) { + values("0.107, 0.107, 0.107",\ + "0.107, 0.107, 0.107",\ + "0.107, 0.107, 0.107"); + } + rise_transition(CELL_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_transition(CELL_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + bus(ADDR0){ + bus_type : ADDR; + direction : input; + capacitance : 0.2091; + max_transition : 0.04; + pin(ADDR0[3:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + pin(CSb0){ + direction : input; + capacitance : 0.2091; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(WEb0){ + direction : input; + capacitance : 0.2091; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(clk0){ + clock : true; + direction : input; + capacitance : 0.2091; + internal_power(){ + when : "!CSb0 & clk0 & !WEb0"; + rise_power(scalar){ + values("0.033101244168888884"); + } + fall_power(scalar){ + values("0.033101244168888884"); + } + } + internal_power(){ + when : "!CSb0 & !clk0 & WEb0"; + rise_power(scalar){ + values("0.033101244168888884"); + } + fall_power(scalar){ + values("0.033101244168888884"); + } + } + internal_power(){ + when : "CSb0"; + rise_power(scalar){ + values("0"); + } + fall_power(scalar){ + values("0"); + } + } + timing(){ + timing_type :"min_pulse_width"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.0105"); + } + fall_constraint(scalar) { + values("0.0105"); + } + } + timing(){ + timing_type :"minimum_period"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.021"); + } + fall_constraint(scalar) { + values("0.021"); + } + } + } + + } +} diff --git a/compiler/tests/golden/sram_2_16_1_scn4m_subm_FF_5p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_scn4m_subm_FF_5p0V_25C_analytical.lib new file mode 100644 index 00000000..5cbecd94 --- /dev/null +++ b/compiler/tests/golden/sram_2_16_1_scn4m_subm_FF_5p0V_25C_analytical.lib @@ -0,0 +1,321 @@ +library (sram_2_16_1_scn4m_subm_FF_5p0V_25C_lib){ + delay_model : "table_lookup"; + time_unit : "1ns" ; + voltage_unit : "1v" ; + current_unit : "1mA" ; + resistance_unit : "1kohm" ; + capacitive_load_unit(1 ,fF) ; + leakage_power_unit : "1mW" ; + pulling_resistance_unit :"1kohm" ; + operating_conditions(OC){ + process : 1.0 ; + voltage : 5.0 ; + temperature : 25; + } + + input_threshold_pct_fall : 50.0 ; + output_threshold_pct_fall : 50.0 ; + input_threshold_pct_rise : 50.0 ; + output_threshold_pct_rise : 50.0 ; + slew_lower_threshold_pct_fall : 10.0 ; + slew_upper_threshold_pct_fall : 90.0 ; + slew_lower_threshold_pct_rise : 10.0 ; + slew_upper_threshold_pct_rise : 90.0 ; + + nom_voltage : 5.0; + nom_temperature : 25; + nom_process : 1.0; + default_cell_leakage_power : 0.0 ; + default_leakage_power_density : 0.0 ; + default_input_pin_cap : 1.0 ; + default_inout_pin_cap : 1.0 ; + default_output_pin_cap : 0.0 ; + default_max_transition : 0.5 ; + default_fanout_load : 1.0 ; + default_max_fanout : 4.0 ; + default_connection_class : universal ; + + lu_table_template(CELL_TABLE){ + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1("0.0125, 0.05, 0.4"); + index_2("2.45605, 9.8242, 78.5936"); + } + + lu_table_template(CONSTRAINT_TABLE){ + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1("0.0125, 0.05, 0.4"); + index_2("0.0125, 0.05, 0.4"); + } + + default_operating_conditions : OC; + + + type (DATA){ + base_type : array; + data_type : bit; + bit_width : 2; + bit_from : 0; + bit_to : 1; + } + + type (ADDR){ + base_type : array; + data_type : bit; + bit_width : 4; + bit_from : 0; + bit_to : 3; + } + +cell (sram_2_16_1_scn4m_subm){ + memory(){ + type : ram; + address_width : 4; + word_width : 2; + } + interface_timing : true; + dont_use : true; + map_only : true; + dont_touch : true; + area : 73068.14000000001; + + leakage_power () { + when : "CSb0"; + value : 0.000167; + } + cell_leakage_power : 0; + bus(DIN0){ + bus_type : DATA; + direction : input; + capacitance : 9.8242; + memory_write(){ + address : ADDR0; + clocked_on : clk0; + } + pin(DIN0[1:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + bus(DOUT0){ + bus_type : DATA; + direction : output; + max_capacitance : 78.5936; + min_capacitance : 2.45605; + memory_read(){ + address : ADDR0; + } + pin(DOUT0[1:0]){ + timing(){ + timing_sense : non_unate; + related_pin : "clk0"; + timing_type : falling_edge; + cell_rise(CELL_TABLE) { + values("0.241, 0.241, 0.241",\ + "0.241, 0.241, 0.241",\ + "0.241, 0.241, 0.241"); + } + cell_fall(CELL_TABLE) { + values("0.241, 0.241, 0.241",\ + "0.241, 0.241, 0.241",\ + "0.241, 0.241, 0.241"); + } + rise_transition(CELL_TABLE) { + values("0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004"); + } + fall_transition(CELL_TABLE) { + values("0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004"); + } + } + } + } + + bus(ADDR0){ + bus_type : ADDR; + direction : input; + capacitance : 9.8242; + max_transition : 0.4; + pin(ADDR0[3:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + pin(CSb0){ + direction : input; + capacitance : 9.8242; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(WEb0){ + direction : input; + capacitance : 9.8242; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(clk0){ + clock : true; + direction : input; + capacitance : 9.8242; + internal_power(){ + when : "!CSb0 & clk0 & !WEb0"; + rise_power(scalar){ + values("4.99880645"); + } + fall_power(scalar){ + values("4.99880645"); + } + } + internal_power(){ + when : "!CSb0 & !clk0 & WEb0"; + rise_power(scalar){ + values("4.99880645"); + } + fall_power(scalar){ + values("4.99880645"); + } + } + internal_power(){ + when : "CSb0"; + rise_power(scalar){ + values("0"); + } + fall_power(scalar){ + values("0"); + } + } + timing(){ + timing_type :"min_pulse_width"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.024"); + } + fall_constraint(scalar) { + values("0.024"); + } + } + timing(){ + timing_type :"minimum_period"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.048"); + } + fall_constraint(scalar) { + values("0.048"); + } + } + } + + } +} diff --git a/compiler/tests/golden/sram_2_16_1_scn4m_subm_SS_5p0V_25C_analytical.lib b/compiler/tests/golden/sram_2_16_1_scn4m_subm_SS_5p0V_25C_analytical.lib new file mode 100644 index 00000000..3324f119 --- /dev/null +++ b/compiler/tests/golden/sram_2_16_1_scn4m_subm_SS_5p0V_25C_analytical.lib @@ -0,0 +1,321 @@ +library (sram_2_16_1_scn4m_subm_SS_5p0V_25C_lib){ + delay_model : "table_lookup"; + time_unit : "1ns" ; + voltage_unit : "1v" ; + current_unit : "1mA" ; + resistance_unit : "1kohm" ; + capacitive_load_unit(1 ,fF) ; + leakage_power_unit : "1mW" ; + pulling_resistance_unit :"1kohm" ; + operating_conditions(OC){ + process : 1.0 ; + voltage : 5.0 ; + temperature : 25; + } + + input_threshold_pct_fall : 50.0 ; + output_threshold_pct_fall : 50.0 ; + input_threshold_pct_rise : 50.0 ; + output_threshold_pct_rise : 50.0 ; + slew_lower_threshold_pct_fall : 10.0 ; + slew_upper_threshold_pct_fall : 90.0 ; + slew_lower_threshold_pct_rise : 10.0 ; + slew_upper_threshold_pct_rise : 90.0 ; + + nom_voltage : 5.0; + nom_temperature : 25; + nom_process : 1.0; + default_cell_leakage_power : 0.0 ; + default_leakage_power_density : 0.0 ; + default_input_pin_cap : 1.0 ; + default_inout_pin_cap : 1.0 ; + default_output_pin_cap : 0.0 ; + default_max_transition : 0.5 ; + default_fanout_load : 1.0 ; + default_max_fanout : 4.0 ; + default_connection_class : universal ; + + lu_table_template(CELL_TABLE){ + variable_1 : input_net_transition; + variable_2 : total_output_net_capacitance; + index_1("0.0125, 0.05, 0.4"); + index_2("2.45605, 9.8242, 78.5936"); + } + + lu_table_template(CONSTRAINT_TABLE){ + variable_1 : related_pin_transition; + variable_2 : constrained_pin_transition; + index_1("0.0125, 0.05, 0.4"); + index_2("0.0125, 0.05, 0.4"); + } + + default_operating_conditions : OC; + + + type (DATA){ + base_type : array; + data_type : bit; + bit_width : 2; + bit_from : 0; + bit_to : 1; + } + + type (ADDR){ + base_type : array; + data_type : bit; + bit_width : 4; + bit_from : 0; + bit_to : 3; + } + +cell (sram_2_16_1_scn4m_subm){ + memory(){ + type : ram; + address_width : 4; + word_width : 2; + } + interface_timing : true; + dont_use : true; + map_only : true; + dont_touch : true; + area : 73068.14000000001; + + leakage_power () { + when : "CSb0"; + value : 0.000167; + } + cell_leakage_power : 0; + bus(DIN0){ + bus_type : DATA; + direction : input; + capacitance : 9.8242; + memory_write(){ + address : ADDR0; + clocked_on : clk0; + } + pin(DIN0[1:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + bus(DOUT0){ + bus_type : DATA; + direction : output; + max_capacitance : 78.5936; + min_capacitance : 2.45605; + memory_read(){ + address : ADDR0; + } + pin(DOUT0[1:0]){ + timing(){ + timing_sense : non_unate; + related_pin : "clk0"; + timing_type : falling_edge; + cell_rise(CELL_TABLE) { + values("0.294, 0.294, 0.294",\ + "0.294, 0.294, 0.294",\ + "0.294, 0.294, 0.294"); + } + cell_fall(CELL_TABLE) { + values("0.294, 0.294, 0.294",\ + "0.294, 0.294, 0.294",\ + "0.294, 0.294, 0.294"); + } + rise_transition(CELL_TABLE) { + values("0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004"); + } + fall_transition(CELL_TABLE) { + values("0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004",\ + "0.004, 0.004, 0.004"); + } + } + } + } + + bus(ADDR0){ + bus_type : ADDR; + direction : input; + capacitance : 9.8242; + max_transition : 0.4; + pin(ADDR0[3:0]){ + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + } + + pin(CSb0){ + direction : input; + capacitance : 9.8242; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(WEb0){ + direction : input; + capacitance : 9.8242; + timing(){ + timing_type : setup_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009",\ + "0.009, 0.009, 0.009"); + } + } + timing(){ + timing_type : hold_rising; + related_pin : "clk0"; + rise_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + fall_constraint(CONSTRAINT_TABLE) { + values("0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001",\ + "0.001, 0.001, 0.001"); + } + } + } + + pin(clk0){ + clock : true; + direction : input; + capacitance : 9.8242; + internal_power(){ + when : "!CSb0 & clk0 & !WEb0"; + rise_power(scalar){ + values("4.99880645"); + } + fall_power(scalar){ + values("4.99880645"); + } + } + internal_power(){ + when : "!CSb0 & !clk0 & WEb0"; + rise_power(scalar){ + values("4.99880645"); + } + fall_power(scalar){ + values("4.99880645"); + } + } + internal_power(){ + when : "CSb0"; + rise_power(scalar){ + values("0"); + } + fall_power(scalar){ + values("0"); + } + } + timing(){ + timing_type :"min_pulse_width"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.0295"); + } + fall_constraint(scalar) { + values("0.0295"); + } + } + timing(){ + timing_type :"minimum_period"; + related_pin : clk0; + rise_constraint(scalar) { + values("0.059"); + } + fall_constraint(scalar) { + values("0.059"); + } + } + } + + } +} From 80a325fe3202e07904afeb768940a73705293db0 Mon Sep 17 00:00:00 2001 From: Hunter Nichols Date: Mon, 4 Mar 2019 19:27:53 -0800 Subject: [PATCH 77/77] Added corner information for analytical power estimation. --- compiler/base/contact.py | 2 +- compiler/base/design.py | 4 ++-- compiler/base/hierarchy_spice.py | 20 +++++++++++++++++-- compiler/bitcells/bitcell.py | 2 +- compiler/bitcells/bitcell_1rw_1r.py | 2 +- compiler/bitcells/bitcell_1w_1r.py | 2 +- compiler/bitcells/pbitcell.py | 2 +- compiler/characterizer/delay.py | 2 +- compiler/modules/bitcell_array.py | 10 +++++----- compiler/modules/dff.py | 6 +++--- compiler/modules/sense_amp.py | 2 +- .../modules/single_level_column_mux_array.py | 4 ++-- compiler/modules/tri_gate.py | 2 +- compiler/pgates/pinv.py | 4 ++-- compiler/pgates/pnand2.py | 4 ++-- compiler/pgates/pnand3.py | 4 ++-- compiler/pgates/pnor2.py | 4 ++-- 17 files changed, 46 insertions(+), 30 deletions(-) diff --git a/compiler/base/contact.py b/compiler/base/contact.py index f5cfcb0b..39cb7b52 100644 --- a/compiler/base/contact.py +++ b/compiler/base/contact.py @@ -162,7 +162,7 @@ class contact(hierarchy_design.hierarchy_design): width=well_width, height=well_height) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """ Get total power of a module """ return self.return_power() diff --git a/compiler/base/design.py b/compiler/base/design.py index d07e392a..4e76b40a 100644 --- a/compiler/base/design.py +++ b/compiler/base/design.py @@ -88,11 +88,11 @@ class design(hierarchy_design): self.readonly_ports.append(port_number) port_number += 1 - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """ Get total power of a module """ total_module_power = self.return_power() for inst in self.insts: - total_module_power += inst.mod.analytical_power(proc, vdd, temp, load) + total_module_power += inst.mod.analytical_power(corner, load) return total_module_power def __str__(self): diff --git a/compiler/base/hierarchy_spice.py b/compiler/base/hierarchy_spice.py index b5ccd19b..5f3245a8 100644 --- a/compiler/base/hierarchy_spice.py +++ b/compiler/base/hierarchy_spice.py @@ -235,10 +235,10 @@ class spice(): modeling it as a resistance driving a capacitance """ swing_factor = abs(math.log(1-swing)) # time constant based on swing - proc,volt,temp = corner + proc,vdd,temp = corner #FIXME: type of delay is needed to know which process to use. proc_mult = max(self.get_process_delay_factor(proc)) - volt_mult = self.get_voltage_delay_factor(volt) + volt_mult = self.get_voltage_delay_factor(vdd) temp_mult = self.get_temp_delay_factor(temp) delay = swing_factor * r * c #c is in ff and delay is in fs delay = delay * proc_mult * volt_mult * temp_mult @@ -291,6 +291,22 @@ class spice(): def generate_rc_net(self,lump_num, wire_length, wire_width): return wire_spice_model(lump_num, wire_length, wire_width) + def calc_dynamic_power(self, corner, c, freq, swing=1.0): + """ + Calculate dynamic power using effective capacitance, frequency, and corner (PVT) + """ + proc,vdd,temp = corner + net_vswing = vdd*swing + power_dyn = c*vdd*net_vswing*freq + + #Apply process and temperature factors. Roughly, process and Vdd affect the delay which affects the power. + #No other estimations are currently used. Increased delay->slower freq.->less power + proc_div = max(self.get_process_delay_factor(proc)) + temp_div = self.get_temp_delay_factor(temp) + power_dyn = power_dyn/(proc_div*temp_div) + + return power_dyn + def return_power(self, dynamic=0.0, leakage=0.0): return power_data(dynamic, leakage) diff --git a/compiler/bitcells/bitcell.py b/compiler/bitcells/bitcell.py index afa8ae1a..ed1647a8 100644 --- a/compiler/bitcells/bitcell.py +++ b/compiler/bitcells/bitcell.py @@ -66,7 +66,7 @@ class bitcell(design.design): column_pins = ["br"] return column_pins - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Bitcell power in nW. Only characterizes leakage.""" from tech import spice leakage = spice["bitcell_leakage"] diff --git a/compiler/bitcells/bitcell_1rw_1r.py b/compiler/bitcells/bitcell_1rw_1r.py index 30cf9144..a96dcff0 100644 --- a/compiler/bitcells/bitcell_1rw_1r.py +++ b/compiler/bitcells/bitcell_1rw_1r.py @@ -89,7 +89,7 @@ class bitcell_1rw_1r(design.design): column_pins = ["br0"] return column_pins - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Bitcell power in nW. Only characterizes leakage.""" from tech import spice leakage = spice["bitcell_leakage"] diff --git a/compiler/bitcells/bitcell_1w_1r.py b/compiler/bitcells/bitcell_1w_1r.py index 1283db76..e2cc662b 100644 --- a/compiler/bitcells/bitcell_1w_1r.py +++ b/compiler/bitcells/bitcell_1w_1r.py @@ -89,7 +89,7 @@ class bitcell_1w_1r(design.design): column_pins = ["br0"] return column_pins - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Bitcell power in nW. Only characterizes leakage.""" from tech import spice leakage = spice["bitcell_leakage"] diff --git a/compiler/bitcells/pbitcell.py b/compiler/bitcells/pbitcell.py index 104a2b41..55712e44 100644 --- a/compiler/bitcells/pbitcell.py +++ b/compiler/bitcells/pbitcell.py @@ -874,7 +874,7 @@ class pbitcell(design.design): result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = swing) return result - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Bitcell power in nW. Only characterizes leakage.""" from tech import spice leakage = spice["bitcell_leakage"] diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index 17ce8c4e..29b12ae9 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -931,7 +931,7 @@ class delay(simulation): """Get the dynamic and leakage power from the SRAM""" #slews unused, only last load is used load = loads[-1] - power = self.sram.analytical_power(self.process, self.vdd_voltage, self.temperature, load) + power = self.sram.analytical_power(self.corner, load) #convert from nW to mW power.dynamic /= 1e6 power.leakage /= 1e6 diff --git a/compiler/modules/bitcell_array.py b/compiler/modules/bitcell_array.py index 9df5d696..ea8fc3f2 100644 --- a/compiler/modules/bitcell_array.py +++ b/compiler/modules/bitcell_array.py @@ -147,19 +147,19 @@ class bitcell_array(design.design): return self.return_delay(cell_delay.delay+wl_to_cell_delay.delay, wl_to_cell_delay.slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Power of Bitcell array and bitline in nW.""" - from tech import drc + from tech import drc, parameter # Dynamic Power from Bitline bl_wire = self.gen_bl_wire() cell_load = 2 * bl_wire.return_input_cap() - bl_swing = 0.1 #This should probably be defined in the tech file or input + bl_swing = parameter["rbl_height_percentage"] freq = spice["default_event_rate"] - bitline_dynamic = bl_swing*cell_load*vdd*vdd*freq #not sure if calculation is correct + bitline_dynamic = self.calc_dynamic_power(corner, cell_load, freq, swing=bl_swing) #Calculate the bitcell power which currently only includes leakage - cell_power = self.cell.analytical_power(proc, vdd, temp, load) + cell_power = self.cell.analytical_power(corner, load) #Leakage power grows with entire array and bitlines. total_power = self.return_power(cell_power.dynamic + bitline_dynamic * self.column_size, diff --git a/compiler/modules/dff.py b/compiler/modules/dff.py index 8cf02d40..753ae41a 100644 --- a/compiler/modules/dff.py +++ b/compiler/modules/dff.py @@ -21,11 +21,11 @@ class dff(design.design): self.height = dff.height self.pin_map = dff.pin_map - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" c_eff = self.calculate_effective_capacitance(load) - f = spice["default_event_rate"] - power_dyn = c_eff*vdd*vdd*f + freq = spice["default_event_rate"] + power_dyn = self.calc_dynamic_power(corner, c_eff, freq) power_leak = spice["msflop_leakage"] total_power = self.return_power(power_dyn, power_leak) diff --git a/compiler/modules/sense_amp.py b/compiler/modules/sense_amp.py index 5b9808a8..0c959685 100644 --- a/compiler/modules/sense_amp.py +++ b/compiler/modules/sense_amp.py @@ -38,7 +38,7 @@ class sense_amp(design.design): result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) return self.return_delay(result.delay, result.slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" #Power in this module currently not defined. Returns 0 nW (leakage and dynamic). total_power = self.return_power() diff --git a/compiler/modules/single_level_column_mux_array.py b/compiler/modules/single_level_column_mux_array.py index 7f20cfb5..57d2cd54 100644 --- a/compiler/modules/single_level_column_mux_array.py +++ b/compiler/modules/single_level_column_mux_array.py @@ -218,11 +218,11 @@ class single_level_column_mux_array(design.design): def analytical_delay(self, corner, vdd, slew, load=0.0): from tech import spice, parameter - proc,volt,temp = corner + proc,vdd,temp = corner r = spice["min_tx_r"]/(self.mux.ptx_width/parameter["min_tx_size"]) #Drains of mux transistors make up capacitance. c_para = spice["min_tx_drain_c"]*(self.mux.ptx_width/parameter["min_tx_size"])*self.words_per_row#ff - volt_swing = spice["v_threshold_typical"]/volt + volt_swing = spice["v_threshold_typical"]/vdd result = self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew, swing = volt_swing) return self.return_delay(result.delay, result.slew) diff --git a/compiler/modules/tri_gate.py b/compiler/modules/tri_gate.py index 61d9da39..688b3644 100644 --- a/compiler/modules/tri_gate.py +++ b/compiler/modules/tri_gate.py @@ -33,7 +33,7 @@ class tri_gate(design.design): c_para = spice["min_tx_drain_c"] return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" #Power in this module currently not defined. Returns 0 nW (leakage and dynamic). total_power = self.return_power() diff --git a/compiler/pgates/pinv.py b/compiler/pgates/pinv.py index 867deee2..f00e9af7 100644 --- a/compiler/pgates/pinv.py +++ b/compiler/pgates/pinv.py @@ -266,11 +266,11 @@ class pinv(pgate.pgate): c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" c_eff = self.calculate_effective_capacitance(load) freq = spice["default_event_rate"] - power_dyn = c_eff*vdd*vdd*freq + power_dyn = self.calc_dynamic_power(corner, c_eff, freq) power_leak = spice["inv_leakage"] total_power = self.return_power(power_dyn, power_leak) diff --git a/compiler/pgates/pnand2.py b/compiler/pgates/pnand2.py index 8e702f84..95a9bc28 100644 --- a/compiler/pgates/pnand2.py +++ b/compiler/pgates/pnand2.py @@ -232,11 +232,11 @@ class pnand2(pgate.pgate): c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" c_eff = self.calculate_effective_capacitance(load) freq = spice["default_event_rate"] - power_dyn = c_eff*vdd*vdd*freq + power_dyn = self.calc_dynamic_power(corner, c_eff, freq) power_leak = spice["nand2_leakage"] total_power = self.return_power(power_dyn, power_leak) diff --git a/compiler/pgates/pnand3.py b/compiler/pgates/pnand3.py index 4efd1820..d0c37b55 100644 --- a/compiler/pgates/pnand3.py +++ b/compiler/pgates/pnand3.py @@ -245,11 +245,11 @@ class pnand3(pgate.pgate): c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" c_eff = self.calculate_effective_capacitance(load) freq = spice["default_event_rate"] - power_dyn = c_eff*vdd*vdd*freq + power_dyn = self.calc_dynamic_power(corner, c_eff, freq) power_leak = spice["nand3_leakage"] total_power = self.return_power(power_dyn, power_leak) diff --git a/compiler/pgates/pnor2.py b/compiler/pgates/pnor2.py index 0c62cfe9..8a5c80d4 100644 --- a/compiler/pgates/pnor2.py +++ b/compiler/pgates/pnor2.py @@ -217,11 +217,11 @@ class pnor2(pgate.pgate): c_para = spice["min_tx_drain_c"]*(self.nmos_size/parameter["min_tx_size"])#ff return self.cal_delay_with_rc(corner, r = r, c = c_para+load, slew = slew) - def analytical_power(self, proc, vdd, temp, load): + def analytical_power(self, corner, load): """Returns dynamic and leakage power. Results in nW""" c_eff = self.calculate_effective_capacitance(load) freq = spice["default_event_rate"] - power_dyn = c_eff*vdd*vdd*freq + power_dyn = self.calc_dynamic_power(corner, c_eff, freq) power_leak = spice["nor2_leakage"] total_power = self.return_power(power_dyn, power_leak)
  • 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 L - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VDD - GND - BL_bar - BL - WL - - diff --git a/docs/figs/class_hierarchy.dot b/docs/figs/class_hierarchy.dot deleted file mode 100644 index 00337aec..00000000 --- a/docs/figs/class_hierarchy.dot +++ /dev/null @@ -1,10 +0,0 @@ -digraph G { - module [shape=record, label="module\n(e.g., bit-cell array)"]; - design [shape=record, label="design\nDRC_LVS()"]; - hierarchy_layout [shape=record, label="layout\n"]; - hierarchy_spice [shape=record, label="spice\n"]; - - module -> design - design -> hierarchy_layout; - design -> hierarchy_spice; -} diff --git a/docs/figs/class_hierarchy.pdf b/docs/figs/class_hierarchy.pdf deleted file mode 100644 index 154e8955d36a46511bb3fb9251356c7ae6a0ece1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15244 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 diff --git a/docs/figs/class_hierarchy.sh b/docs/figs/class_hierarchy.sh deleted file mode 100644 index 86302860..00000000 --- a/docs/figs/class_hierarchy.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -dot -Tpdf class_hierarchy.dot > class_hierarchy.pdf diff --git a/docs/figs/column_tree_mux.pdf b/docs/figs/column_tree_mux.pdf deleted file mode 100644 index c5f228dac63b0e5895f0e0bbf994b38427b46798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11716 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 diff --git a/docs/figs/column_tree_mux.svg b/docs/figs/column_tree_mux.svg deleted file mode 100644 index c60edce8..00000000 --- a/docs/figs/column_tree_mux.svg +++ /dev/null @@ -1,665 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BL - BL_bar - BL0 - BL0_bar - BL1 - BL1_bar - BL2 - BL2_bar - BL3 - BL3_bar - A0 - A0_bar - A1 - A1_bar - - diff --git a/docs/figs/control_logic.pdf b/docs/figs/control_logic.pdf deleted file mode 100644 index 962a901b138cd19201ce71ebecc8ab461f8b2065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90757 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%0DC;Ch}|>R?E%_I)dskCFwk4 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 diff --git a/docs/figs/layout_view_1024_16_annotated.eps b/docs/figs/layout_view_1024_16_annotated.eps deleted file mode 100644 index 3b94d87d..00000000 --- a/docs/figs/layout_view_1024_16_annotated.eps +++ /dev/null @@ -1,4512 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: cairo 1.8.8 (http://cairographics.org) -%%CreationDate: Thu Jul 22 08:02:09 2010 -%%Pages: 1 -%%BoundingBox: 0 0 776 679 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%EndComments -%%BeginProlog -/cairo_eps_state save def -/dict_count countdictstack def -/op_count count 1 sub def -userdict begin -/q { gsave } bind def -/Q { grestore } bind def -/cm { 6 array astore concat } bind def -/w { setlinewidth } bind def -/J { setlinecap } bind def -/j { setlinejoin } bind def -/M { setmiterlimit } bind def -/d { setdash } bind def -/m { moveto } bind def -/l { lineto } bind def -/c { curveto } bind def -/h { closepath } bind def -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto - 0 exch rlineto 0 rlineto closepath } bind def -/S { stroke } bind def -/f { fill } bind def -/f* { eofill } bind def -/B { fill stroke } bind def -/B* { eofill stroke } bind def -/n { newpath } bind def -/W { clip } bind def -/W* { eoclip } bind def -/BT { } bind def -/ET { } bind def -/pdfmark where { pop globaldict /?pdfmark /exec load put } - { globaldict begin /?pdfmark /pop load def /pdfmark - /cleartomark load def end } ifelse -/BDC { mark 3 1 roll /BDC pdfmark } bind def -/EMC { mark /EMC pdfmark } bind def -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def -/Tj { show currentpoint cairo_store_point } bind def -/TJ { - { - dup - type /stringtype eq - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse - } forall - currentpoint cairo_store_point -} bind def -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def -/Tf { pop /cairo_font exch def /cairo_font_matrix where - { pop cairo_selectfont } if } bind def -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point - /cairo_font where { pop cairo_selectfont } if } bind def -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def -/g { setgray } bind def -/rg { setrgbcolor } bind def -/d1 { setcachedevice } bind def -%%EndProlog -11 dict begin -/FontType 42 def -/FontName /f-0-0 def -/PaintType 0 def -/FontMatrix [ 1 0 0 1 0 0 ] def -/FontBBox [ 0 0 0 0 ] def -/Encoding 256 array def -0 1 255 { Encoding exch /.notdef put } for -Encoding 1 /uni0041 put -Encoding 2 /uni0052 put -Encoding 3 /uni0059 put -Encoding 4 /uni0053 put -Encoding 5 /uni0045 put -Encoding 6 /uni004E put -Encoding 7 /uni0020 put -Encoding 8 /uni004D put -Encoding 9 /uni0050 put -Encoding 10 /uni0057 put -Encoding 11 /uni0049 put -Encoding 12 /uni0054 put -Encoding 13 /uni0044 put -Encoding 14 /uni0056 put -Encoding 15 /uni0043 put -Encoding 16 /uni0048 put -Encoding 17 /uni0047 put -Encoding 18 /uni004C put -Encoding 19 /uni004F put -Encoding 20 /uni0055 put -Encoding 21 /uni0058 put -/CharStrings 22 dict dup begin -/.notdef 0 def -/uni0041 1 def -/uni0052 2 def -/uni0059 3 def -/uni0053 4 def -/uni0045 5 def -/uni004E 6 def -/uni0020 7 def -/uni004D 8 def -/uni0050 9 def -/uni0057 10 def -/uni0049 11 def -/uni0054 12 def -/uni0044 13 def -/uni0056 14 def -/uni0043 15 def -/uni0048 16 def -/uni0047 17 def -/uni004C 18 def -/uni004F 19 def -/uni0055 20 def -/uni0058 21 def -end readonly def -/sfnts [ -<00010000000a008000030020636d617000a1f12800000fb00000006a63767420ffd31d390000 -101c000001fc6670676de7b4f1c4000012180000008b676c796685f3d158000000ac00000f04 -68656164dd84a2d0000012a4000000366868656110450779000012dc00000024686d747875cb -0aa000001300000000586c6f63612cae2944000013580000002e6d6178700451063a00001388 -00000020707265703b07f100000013a80000056800020066fe96046605a400030007001a400c -04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303 -1bfce5fe96070ef8f2720629000200100000056805d50002000a00ba40410011010004050402 -1105050401110a030a0011020003030a0711050406110505040911030a08110a030a42000307 -95010381090509080706040302010009050a0b10d4c4173931002f3ce4d4ec1239304b535807 -1005ed0705ed071005ed0705ed071008ed071005ed071005ed071008ed5922b2200c01015d40 -3a0f005800760070008c000507010802060309041601190256015802500c6701680278017602 -7c0372047707780887018802800c980299039604175d005d090121013301230321032302bcfe -ee0225fe7be50239d288fd5f88d5050efd1903aefa2b017ffe810000000200c90000055405d5 -0013001c00b14035090807030a061103040305110404034206040015030415950914950d810b -040506031109001c160e050a191904113f140a1c0c041d10fcec32fcc4ec1117391139393931 -002f3cf4ecd4ec123912391239304b5358071005ed071005ed1117395922b2401e01015d4042 -7a13010500050105020603070415001501140216031704250025012502260327062607260826 -09201e3601360246014602680575047505771388068807980698071f5d005d011e0117132303 -2e012b01112311212016151406011133323635342623038d417b3ecdd9bf4a8b78dcca01c801 -00fc83fd89fe9295959202bc16907efe68017f9662fd8905d5d6d88dba024ffdee8783838500 -0001fffc000004e705d500080094402803110405040211010205050402110302080008011100 -000842020300af0602070440051c0040070910d4e4fce4123931002fec3239304b5358071005 -ed071008ed071008ed071005ed5922b2000a01015d403c050214023502300230053008460240 -02400540085102510551086502840293021016011a031f0a2601290337013803400a67016803 -7803700a9f0a0d5d005d03330901330111231104d9019e019bd9fdf0cb05d5fd9a0266fcf2fd -3902c700000000010087ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f -1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b0700221b190e -2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b53 -5807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d01152e012322 -061514161f011e0115140421222627351e013332363534262f012e01353424333216044873cc -5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663 -651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e42600000100c90000048b05d5000b -002e401506950402950081089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4 -ec10ee30b21f0d01015d132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aa -fe46aafde3aa0000000100c90000053305d500090079401e0711010201021106070642070203 -00af0805060107021c0436071c00040a10fcecfcec11393931002f3cec323939304b53580710 -04ed071004ed5922b21f0b01015d40303602380748024707690266078002070601090615011a -06460149065701580665016906790685018a0695019a069f0b105d005d132101113311210111 -23c901100296c4fef0fd6ac405d5fb1f04e1fa2b04e1fb1f000100c90000061f05d5000c00bf -403403110708070211010208080702110302090a0901110a0a09420a070203080300af080b05 -0908030201050a061c043e0a1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358 -071005ed071008ed071008ed071005ed5922b2700e01015d405603070f080f09020a15021407 -130a260226072007260a200a3407350a69027c027b07790a80028207820a90021604010b0313 -011b0323012c032708280934013c035608590965086a097608790981018d0395019b03145d00 -5d13210901211123110123011123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b -051ffc000400fae10000000200c90000048d05d500080013003a40180195100095098112100a -0802040005190d3f11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f -155f15af1505015d011133323635342623252132041514042b0111230193fe8d9a9a8dfe3801 -c8fb0101fefffbfeca052ffdcf92878692a6e3dbdde2fda800010044000007a605d5000c017b -4049051a0605090a09041a0a09031a0a0b0a021a01020b0b0a06110708070511040508080702 -1103020c000c011100000c420a050203060300af0b080c0b0a09080605040302010b07000d10 -d4cc173931002f3cec32321739304b5358071005ed071008ed071008ed071005ed071008ed07 -1005ed0705ed071008ed5922b2000e01015d40f206020605020a000a000a120a2805240a200a -3e023e05340a300a4c024d05420a400a59026a026b05670a600a7b027f027c057f05800a9602 -95051d070009020803000406050005000601070408000807090009040a0a0c000e1a03150415 -08190c100e200421052006200720082309240a250b200e200e3c023a03350433053008360939 -0b3f0c300e460046014a0240044505400542064207420840084009440a4d0c400e400e580256 -08590c500e66026703610462056006600760086409640a640b770076017b0278037704740579 -06790777087008780c7f0c7f0e860287038804890585098a0b8f0e97049f0eaf0e5b5d005d13 -33090133090133012309012344cc013a0139e3013a0139cdfe89fefec5fec2fe05d5fb1204ee -fb1204eefa2b0510faf00000000100c90000019305d500030039b700af02011c00040410fcec -31002fec30014bb0105458bd0004ffc000010004000400403811373859400d30054005500560 -058f059f05065d13331123c9caca05d5fa2b00000001fffa000004e905d50007004a400e0602 -950081040140031c0040050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100 -080008ffc03811373859401300091f00100110021f071009400970099f09095d032115211123 -11210604effdeecbfdee05d5aafad5052b00000200c9000005b005d500080011002e40150095 -09810195100802100a0005190d32001c09041210fcecf4ec113939393931002fecf4ec30b260 -1301015d0111332000111000212521200011100029010193f40135011ffee1fecbfe42019f01 -b20196fe68fe50fe61052ffb770118012e012c0117a6fe97fe80fe7efe960000000100100000 -056805d5000600b7402704110506050311020306060503110403000100021101010042030401 -af0006040302000505010710d4c4173931002fec3239304b5358071005ed071008ed071008ed -071005ed5922b2500801015d406200032a03470447055a037d03830307060007020804090615 -0114021a041a052a002601260229042905250620083800330133023c043c0537064800450145 -02490449054706590056066602690469057a0076017602790479057506800898009706295d00 -5d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b00010073ffe3052705f0 -00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31 -0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123 -2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05 -62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000100c90000053b05d5 -000b002c4014089502ad0400810a0607031c053809011c00040c10fcec32fcec3231002f3ce4 -32fcec30b2500d01015d133311211133112311211123c9ca02decacafd22ca05d5fd9c0264fa -2b02c7fd390000010073ffe3058b05f0001d0039402000051b0195031b950812a111ae15950e -91088c1e02001c1134043318190b101e10fcecfce4fcc4310010e4f4ecf4ec10fed4ee113939 -3025112135211106042320001110002132041715262623200011100021323604c3feb6021275 -fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed011301126ba8d50191a6fd7f53550199 -016d016e01994846d75f60fecefed1fed2fece250000000100c90000046a05d500050025400c -0295008104011c033a00040610fcecec31002fe4ec304009300750078003800404015d133311 -211521c9ca02d7fc5f05d5fad5aa00020073ffe305d905f0000b00170023401306951200950c -91128c1809190f33031915101810fcecfcec310010e4f4ec10ee300122001110003332001110 -002720001110002120001110000327dcfefd0103dcdc0101feffdc013a0178fe88fec6fec5fe -870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9efe9ffe5b01a40162016201a5 -0000000100b2ffe3052905d50011004b40160802110b0005950e8c09008112081c0a38011c00 -411210fcecfcec310010e432f4ec113939393930014bb0105458bd00120040000100120012ff -c03811373859b61f138f139f13035d133311141633323635113311100021200011b2cbaec3c2 -aecbfedffee6fee5fedf05d5fc75f0d3d3f0038bfc5cfedcfed6012a012400000001003d0000 -053b05d5000b015d404609110a0b0a081107080b0b0a08110908050605071106060503110405 -0402110102050504021103020b000b011100000b420b080502040300af09060b080502040004 -06000a0c10d4c4dcc411173931002f3cec321739304b5358071005ed071008ed071008ed0710 -05ed071005ed071008ed071008ed071005ed5922014bb00c544bb00d545b4bb00e545b58bd00 -0cffc00001000c000c0040381137385940b80702080816021908170b2708270b34023808360b -4b0858055b0866026b087702770b8602800287058b08850b9402900297059d08960b1b060109 -03080707091601190319071709100d260128022903260528072709290b200d350034013c033b -043a063b073409340a380b3f0d48094f0d580b5f0d650065016a036a046805690669076c096c -0a78037906790778087d097f0a780b800080018302880385058408830b8f0d90009001940297 -0597069508930b9f0daf0d405d005d13330901330901230901230181d901730175d9fe200200 -d9fe5cfe59da021505d5fdd5022bfd33fcf8027bfd85031d0000000000020003000000000014 -00010000000000340004002000000004000400010000f015ffff0000f000ffff100000010000 -0000000600360000000000160000000100020003000400050006000700080009000a000b000c -000d000e000f0010001100120013001400150000013500b800cb00cb00c100aa009c01a600b8 -00660000007100cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa0087 -00cb03aa0400014a003300cb000000d9050200f4015400b4009c01390114013907060400044e -04b4045204b804e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9 -001f00b801df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f -00a4007b00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f0 -00ba018300d5009803040248009e01d500c100cb00f600830354027f00000333026600d300c7 -00a400cd008f009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d -05d505d505d505f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a0 -00d3035c037103db0185042304a80448008f0139011401390360008f05d5019a061407230666 -0179046004600460047b009c00000277046001aa00e904600762007b00c5007f027b000000b4 -025205cd006600bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c -009c0000077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354 -063705f6008f009c04e10266008f018d02f600cd03440029006604ee007300001400b6060504 -030201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c20 -100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d79 -20b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb00225456044 -2d2c4b5358b00225b0022545445921212d2c45442d0000010000000200001def707c5f0f3cf5 -001f080000000000bab9f0b800000000bac26791fe89fe1d0a4c076d00000008000100000000 -000000010000076dfe1d00000abcfe89fe890a4c000100000000000000000000000000000016 -04cd006605790010058f00c904e3fffc05140087050e00c905fc00c9028b000006e700c904d3 -00c907e90044025c00c904e3fffa062900c90579001005960073060400c906330073047500c9 -064c007305db00b2057b003d00000022009c012601880204023402880288030603460424044e -048604c60536058205b006040626066c06b407820000000100000016004d0007004200040002 -00100040000700000415056800030001b8028040fffbfe03fa1403f92503f83203f79603f60e -03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03 -eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f -03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03 -d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e -05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03 -bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb -03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae -6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03 -a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c -039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a4105 -95960394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f -5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b03 -878625058764038685110586250385110384fe038382110583fe0382110381fe0380fe037ffe -0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a03 -75fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369 -fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe -035afe0359580a0559fa03580a035716190557320356fe035554150555420354150353011005 -531803521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe -034a4910054a1303491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342 -bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033a -fe0339fe033837140538fa033736100537140336350b05361003350b03341e03330d0332310b -0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a -2912052a25032912032827250528410327250326250b05260f03250b0324fe0323fe03220f03 -210110052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a42031911 -420519fe031864031716190517fe031601100516190315fe0314fe0313fe031211420512fe03 -11022d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe -0308022d0508fe030714030664030401100504fe03401503022d0503fe0302011005022d0301 -100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00> -] def -FontName currentdict end definefont pop -%%Page: 1 1 -%%BeginPageSetup -%%PageBoundingBox: 0 0 776 679 -%%EndPageSetup -q -Q q -7.707 667.777 760 -814.398 re W n -q 0 0 777 700 rectclip -[ 0.8 0 0 0.8 7.70649 -146.621008 ] concat -/DeviceRGB setcolorspace -8 dict dup begin - /ImageType 1 def - /Width 950 def - /Height 1018 def - /BitsPerComponent 8 def - /Decode [ 0 1 0 1 0 1 ] def - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def - /ImageMatrix [ 1 0 0 -1 0 1018 ] def -end -image -J3Vsg3$]7K#D>@X%)XnS)[qKi@M(SI<[AN=7H774jC17kO2kcD3>@cH-^$o,1:^r(>q_R=Al - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/mNDH?Y*`p%]Z?>d6a`U`\M^gHS4lm;rFK>V/<(qZ?>*KS9PE`kN%="Tc - _Aoh+fk'&t\ctIN)4XQLiVpoI(:n)PVIBCN6D34(t\o4p0?mdmM[+f#sfZcAPrEgA#a5h8d - >eXi0S^6MAHe+")]cj7E(p*PZ6rh=(,dIU>=;fBr>1IXb_>k - P!3[Vlc]Ift`[fh>e`R/.f:bLf>(u5`eYM$):=E-ON-NZ7cGM&A/ef_T5Ys"%2R2%gbY&,R - "-9O_e;>`Y"/@)9.f?D&^M-b]Or)0EQM7_.Yr/KL>6F%3\!B,B/Q#Lb+;r8TFs'-pmL#6o. - 2n7&kl1.r7]s9G7iR1!Gh4bqmTX9[u#FPAZD"ReA#&7l_T:DFlX - =&W,$D-PU,c#m=DQ0j!,fF2m^h95J.;*e44Kb%3UV:)/KAQu - 3q"f9]-K4i>X*UBMpk*UsSG;IuP]_l6B/'B8MY1F2#togO[JR;Q;sjr'1jRHBp<.>]GRr7&kmMh(\Wk^\8KI^4"=I@mb9Z&'5nhV%E%]U:DLk=S8TF]2mM_]%)L2, - .77IDD=PkJ&/cf!g<&o@/]mZ+3X#J[G5d8Hf(qS.Vr7DWhm;2:I_VrMHJ[8kmX/ciS>^i#J't:oC2_h'IH - k2!V1*/TlD/n/Vn:pfIP:QfhqN6"JcN5E62prpC^;/&."OY)%fp'k%tWm6"$jp@"CS;J82+ - ?VR+O1tTZe4*:b=<9pe;''6\L,SJ\nql>moVE0nrNM)FIKS!/[3MKT6)c^t:J0+L?AROIcb - 8L@RW=/8(daNS-_39Y]_t9'5JO4,#`F-&j"%0ZPhgDEbjpV8=Ko3( - hB^tP>Z9n8_H6SjTAD=`5YEd1^<4&j@P?6OU/M=d0JI=Wg5&R7QQlDM;sP\QI;@/adGLLjo - iMf;\!81n3%H-F\^s%4"%u4RRS3CcPcA$B.X.W<"=LV=q*d?KE@\jmXCKp)Ik.g\id> - hLsO3C6`@[0UGK?%*kDqRkli6+<0!,:)+I:G/7b3r3^c@R+U6n1dA>3q$;B,S9&WISRo5]F - 6-*,!kq,3"<=Ya&>)_3N!A8oJNa,6"S:p!WXd,/0=[VpRE3_Fc*+n= - Ue6o7;8l(Y-qB]b>LoJK6*8?\%qiLun?Cf-sj.'BO\.'P3k8\^+K]7>\9M0#h#C_- - @:XJsQ(uYL=4ak,7i_VKjrc0^e)`$3o8qb:_aSZoY+0'6EnSTDtKZC5l,akSpk1FT'C](-o07XI:0N(%$ - 'eUA's>AIX5h1h$#6M=a?h0\UEnMXDhq:+`XDlY.i^=,]UTo-1+DYgBZR\2E\*O300XSqrR\+N1`.$ - t:2n?SP68_q+NAj'1skYeE?@(B533>`Fm:7S/?%`unM@'8R7n*Q.VI'$pBGNU@M%a12C1@S - Cj+ZNaj^=cYa]p+V#A3!DZ4.94.@eP;8i.j3+?]\)m_/BcWT^#B@Xnfk.W(LfrjD^CjD - $#2F>bMq_q`KX.;&dIaVCq8nhQ_%I^&WLUhB:&HieRE;d@$#]!76.u([1A_+XFU4@%JNqEl^6$;?\WOV*Q.Z'cf'(h"A64&Jd@(_]2[&enX_2LWdX!gde<+OqK$ehj:If-kD - 8]c?-E&!0f2!f;dXiUD'2B=E?pAsA^&JiDhP9.Zhp(us8*RF25LFMDO5A.5ICpWmpsqY+qg)3[qn - CDA^lI(/O4=4a"TWKIT[29_c_+D0')7G_n-qSN&#cLi*s$=+rX^"MM.6In??cVI\T`5$*]<:9[q=h%1/-;ZAf;%0YIa,33s1C - UWgI\0]9BT'sV$ZjOY$@mW5H[%o-k:BI - @/(JhF1&Otu:!q=Su]MJ+sn2V5!U7_V?$ZVRPd@2$DV&D(f)A0(iEN^:cYo@\j)mQ - ^gn[TVO]c8cK*-'4C;:-Agdi@o.*O49Z+X1qK,-iL=dO?C1m[\>s=U'h$OYZWmOSXu^o8uV6Pt&2IT+:HJah7eI=$&9 - :nF0i&YV2]47d/.sZjnhhXJ"Y^Sp0Ja"ho*mE1$Sc]70p<>,ZQV'p,r*jt1,CF9F"K1(0f* - l(1UAqpdlB5U75Qel1_WS?F&+X!;)NDp125=WVCZ&.3uG,`qGQ>W0BE!#:B[t%%rt_s;Hke - 0i*NTN1U?`Zj<@nC51U/sY,cO_e42Os<$S82dm6)$t3lP)`PEo2q4$M-UXu#B.LLc95G^\<1atp@P=;iW4&f9KF@ej,CI%MG9.?o2e6PL=Y=Nb*8MkEV"W%9*K0%MM72+uO'6Q - pd9gSDG4Og3!e,qjU#tC/%(UPhee.YJ3cUY=^89Cn!1r2PdRn]-h8TWibFM0^Goh/5u8eff - J<<5ZjhaUT*7LKAj'am3j#u61\r!I:-'YdM0?Vkk?8(#Nuo0:b;;q'W"oi4Y+[o%7\::)L2eS.u^rDti[5;b`&"f4so6W^W:6$2'ceON;43 - E,TZ;mYcXVG5?OW - 5m62I30<4`8;ei-:3$"6k+Dt\g$emh%'I<2i1CU - R#AFt7ZUZYro!Pk81%[ht)^V/$76B6BVYQUtk79^S%7G*aRZbFnT!/6FB1bF-3J&WNHj - "d3`]j5G8Fr$o61ttDjGB,pT&I=MgL]U?^EQk[K1`!Kj/<]AJ3AnjoZliprZ$hISi6:p!2b - OWmGZP_aj[DqHhen31%s< - (b///-"pALI'tVPQa0QaM1ZVFB%6!q(O8rH(PO_BCH+8+[WR9?ULBO,Hh\F^2K+=p6EaI;L - KAbSpk=P!?%mBIHC.KZpml$L-W-7lBfL$cQ)TD["_r3HMcYOd(o;n/eO*D@MO)#42kbu9@@7)D7@Q6GV(guYD@9PJbX_<3&Q - KDZ&#p=GkgQ-eXqX7?]k(_NS*E:f`un85pgJ5UGE_gDF;ZH:d-[(,ac-NUG52` - '`f$+HIuLooOr3^i\J^Pg;2c;OMKr-V)3'iGpPRWMLN5Oeq"9j'q2Q<(N`>P5fjU587@Elp - 6+G[)2?T7VQ^KbN;e/!_`ctV5DYUH38hNCTVY?Y+3tmtQZME)D$7b908UsDRJEL9]#Tb/l@-7Nr%AQ;.uUA4bNFMj:923]!qNl@EIH, - <]F4cT+JHb'ZFH$>P()jtmgG*G:(3.$`$UJG%!VHBmnRR`^t@uGM!U"Y:">#hGS$&;P9W#* - jXg1kjKB;]`^RmmEH\VlDJ4fZ)ANgWJ;Ks.:T]rIMYW;8NUK]ekl+,sBbO`]'/pB,,U'r@? - \XTrF-^spXJm,Req[[mtO--taY^:_Z<_'aUS[/,XZ]b)Sq9hjFml%`22\ - Pd#n0[NpDWr\@VL-DnH1]Hfgn$=,),e?%H#'`)=1888Vj=WReW$ - 'm%B"S&86YX.1a?*2pXl?*;qR^KO"@MQosf\S51QHrG)KF/GHTa-bF`]Lf?o]><12` - E_.qoKC1Ijg#V2cTL%,R]k!pbKb6*OeoJ4>??1,V9,8"brl``ft&m80PJ+)`man,`(e%[he - !igS%R"Upqsq\?bfphlT9s@4Y=ES1!Q6)c-T=@Rt>#FQde-KeQf`4]Sk@QY0$E8YFHcfPZF - KEh)opn8j,$>n/3%j:S4nIb-&P^\+i()SHCh)Bmj41VoBeZZ= - />p7d(f?h4Yb@q@:]ZJ*?.='_7aZT%E,DY)<`i=F^gt_!C>X.,Y"5\3.d+sI_)fsD,!T>#$ - coqcdG#d+aOj^:_E#c'a*>d_*FN/^qA_e`oI1P364hJA$WLUAuSN5^.#NX%2ar5Vu^!#="" - lru3f)>-TrS?T7;W$8*X?+,WmW[SljM>-Tb8in2fNm>tNT;*-,TZ:4\1,q?rSG15^"uE'Sp - $9GQ(E<.jdJ+g[Dh582XC@=f/o,UrS-<1EQ&qQl[GtqVK_F>46DEsm9X2:IECoJJ5@elm!_ - Ol-OX_(L$i8Ie=@?>^DEA(&)b-(hd68aIcp!Boq*7%RU!h\gUG?hp[Od&hHgZX54@SsZ1=M - Sl1tb801mQt+B3)+cY#;ZE(u"G`jHj@"\=XHAZNJF][#OeK$HNprBJfQ2sEHh07NT3Qt"=Bq3c3[UpDA$-gR=Mb[+p`r\a+.c1oXuaBi"qh - @G(H::D4jY!1V`&,5i!!@1mnJJ'2#p4d;Tl - I%?68'UH^Z*YnKQ\4ZKLf[[q.-'U$^Alue#9A1LH1:5V%O&&&kP6T:Z?AoAAX`hTMajV]%' - P)&ZnC#dOLLhLG+V7WtkJ*#)*qY:SG4Rh3tB&NDnn:b2nr:@'%oIF\APLBkjR!/^nu6LC%d - `8F\Wah<)1W_-_2+pjP9gK:lI%dVI(m,CZRbZ]Q`F2S44\ddl*sk/G4-;S\ch<[).9K"[kd)YH%3*d=MgWYlK1O;5<8mA@P._ENr.\h0i/gNL-Dd#d_NG/.cgQ@DSsWs_6/,`!^1BeYlI'$HB - /7i0(V-fZ*=-$"Ll\22%I-3X>:AI0WRbW2K6T,keAjA?GjY'HlEmAcc]/[3q6G](:hiAk16 - d-9Uu&<%RY:)^$TpAc,sru'XfSKXAH.E8j':)b*%.q/^3YKZStVMK];@.d*,Cs_@Km(i4pn - U^HB:dl8jVp%J9lE7$-2J'=tNUf06EY)pjMh'V`Q19Q"\R,uQ7P[nT`fUpgH3Z^]299ls*- - m7d0n#/.H:m5lOkn:P^X3me)cfi75_.iqUW14*2,/+QZ"ksAKZ!$R&[rU2Ko]]aP>@%8l?oC38PH+DicXGj.2S"rQ%orDXle/-oDK(hp - /Y^u=rY(c6]I))LE>h;^P1/1B)dC_&V#)J->mu]CXE0?=R`pl["dh4>CtC4XpiOEN[4jG^Y - ]g_gPr@L*Q\47ACP4"\Eu'NGTO;$inN\tU2)N_QH[eDVo%=O&jR>"7o86L'X]q^(St;-;jn - [bi,O6/L[`mH-p2O;a2kK?&8JuDglSeHD5IE[2HMa(.2cVNU\\Eq#I+rBf?Z!aT1Bt"q+:J - X)LV:d!"4I:t6hYpZYfso7)#@NR7=$Vq$9n2U"j=g'J+-&6'?DZnT)"Cn%&st.#Z12&;rE9 - urTQXkGk2b^c>h15(D?JbgRtn:K+NUo\2XVG+qnToE>A",U0@46>6p(i76A4SJJ=^Ic%h;@ - /&V.$`o;)%Gd$p^_g&QT@@RO0WtlWg-f#]7P:(\HH3BO)U;nBu&:[Nb%Req\hB+gY6dUi<8 - 9aM8RkdBaYd(FQq'-fB"B0i3:-Ud?[.9p?9SIL&9>u^,&7Z\I44)OO7u4JHSANs>NZ'!/#u - _\:>Z?qCIPa"iEu*EPQ&X+%1e/AT*8g)SF;"Po0ugN!,0Qo[%]S;7-ZoA8]@P*]4H+aTMC'.k%^pXE\#M0hp,LmYM[o/<2Yqec^:YoFYK,pM\ - m4qnW3-Ah_r-k(c!WaW!Td`14CPb"L)A<*.2<(R - aV$e]>!knT/J3FDZBl>q#a/ne&YgkElcci38)s[\=YoJS:o[5OaDF58PcBC8=]n%Y"\PKN$ - D'SP8GFZsEMc]cT[-fH94s5g9bj+H<9*F$kZYEd'H4!KMU=:0jDC^bDL>L[#=R]#IB/HQOO - oq\5a;cfXg'(*<(b)GW23(^&]2H5.Tp*C/0qI)2OrIE]_;6,ej6]"-[PeW#f3?4,Y-$eI1T&aXb("`>RVKT]lE+'Eqf=F8 - B;W%JT[%mcJT*a(+nO)>:rA;m">Ee[6.\M - G^H4FrcHDu@J^mqr>j1PKXS%%af5@#0?]4H/ - [Z3+lGPZc\Hinfd.tPRg03>15CRTi*POKl,3 - -=[MJdl/]m+`KSX`31E)'PhGu$*USAo\lmPhn+)JS.M_k$C$"3*=p($@][HLl#Y`d09CkP[ - +4EB]kFp`C=1]EarMcCra4(I@>U4,*=@Q.GeM1[0eoFA:iE`Tm)Skip1?&drf-ApV`s1I+^^a%u+PQS[YB"N - %248YR2>IultL-!H,-K-BoRi]*s&uOu95i]qr6_(-<0o3ut]7NjF!pqA`l+A533]XW#n=N" - 2*5S?56$sWS*#udmjMB9Z[e([qMnU7^+td?E6?BN*6`!)"e\Z+'Pq0#HS1I!qeA0H/65ttP - pkZf9T,#cE6Ak1u3jM*\V^mt2-U]/^KK):d3BQO%03IU-S$]-,012b=_E5R`KKUnD-:<%f6 - 5+aUZY`&2R(K.B4%(k8@^'M1Y7^r3<<_@/ZH>Y7EF9=IbW`<77"CeI..6E - 8704>^,,Zphqb8];%;62X/=S5mNa_Sm3G&0+/.bZ:gX?8%7"6o7S+Ugui7<5TD4_;o5poKg - Jr=Jb(]_HFq!(oBbR'Lo0*7Z8W_S8GGL7)pQl6VMAN>]N;==[pUa6&\RYr*26c[mkaka((^ - C>WtYUj/B"4.\Z3"),lMT=\)*;Oq`S@WI.5[O@V.<7$JIuZm`qo(VGDH_!2=jC?!''2+@)m - aMYnde8n*DNiq)Q8JEdK!j8H>N4`Ch`WSQH4HIKuQH#_e]Mt-;e="2?:!&7I8$fXg/65=^Q - q?Y)8DKFAr16KmF2haeRd&Nu<1-&-P=i3^b(QY3e>p`6P"Pq]aZMQ*e3ZVMHcP3R)sjh"/? - )8+Bu\)u8h/9-.4DA6:HBIG6S(8;KXn`FeOke/YEBJc4L.$l"O"_8ao$NX/=WOOU.b]b75S - :4*5T[[^rqDL`Iu"<$JW[EThH`>]O[m4/A]MoaNX9GbNt9`/>#PQ_b5s69hV1ueCI2jY"Nk - ]bqX966_dAWe]eMube2@t4=eV>(!Q%&8d*nm[&QH;e0k$cM]1?qWX$hT/X*!PXto$4b#-ID - VOp!@&S1:S`:=eg7F&:.R[iaoh!:kcMFadp\\uak.9angQ;)J*bM.nH4Is_0XN+SIc6OCUo - YsUQgr(C?7/WKG%+_6@.\_UVc?)V#eHnZ,Tb&4@bG=Q#"NO,^kKmc%:)'h0D#@-&!\]N89n - ]$4e@&43%Sa>D:^$bdr=RET)Gl,)c4(ag*?*$.`m@Cq:gG*QjQ=eE$d\1^61#pL<<5gQ]>K - =3b`W#tK\jTT][Be!dLp9@$sZY8/kR+k9e?-96En_mQW"&(;(W.'eKE=H"]Cl@;Df?>I3d4 - J2p4'%e!/t7%0Y.e@o&&sFo[@(TVaGu. - r3n[\:F>mZO^0E)PiC#37_<3q:uqF5rZM!G; - `#c:I9t$t#L[`#e-q>a!Me4k6jPhjn2$t@g-HIApEe89]e/D! - k'B[][gb*@\4"btXBK2mn^emri(XPHnlLJc1UMq.K&+>#t29hHWVO4(,S=+"U - ]NL*ZDR8scefEIPm4[.@93n%Z#2t]jI1q(oiPZ79deH,uHWNZ`k;Of=6g20X7S/PCDMcdr\ - &oF+>"Xqh7ES%S?fj*W=japYCl-dg==7pGW`J.M!X]IBcgKh:R!&R=4PXPm$ - 66m\6Buj`P']$Fdu*AX4LopdZo[@-+Kdge(hN(>lAHoV;>F1_H>(6=P^aH[GP7Y]\U6,gsp - >mrP[6_`S;JE?!Y"tD5H*:dFL1]gmm8(NQ,;+*c#7AnakqaZA9XL%3m7FLo"F?L6>$r)f3]`E1mB=XE$5Xn5trgg5^%?2`egc*gqP - ^gKS^?=]S\XiF_l]%glu7f=sg>[lPB&):1le'6b-[I5E5"09,]?:GMf/cj4fo?/HY@?qI,[ - GYGI#2nVa@?"gT'fTRGKjht;bH5#WeZ`JY+5NM)?nLV&<[V=Hh-1U@>Em+`D@t7p/6:S`@& - =XrQ%WU9(>h"rd-_;%/aVL\mpWpZim""PhBLEc\mR-N@ob'gAYrtNp"\Cb)"%H9*Z/@(*ar - )/@J1&gk!MtZ%-1/>?hg9o>X>S/h]/4^6HTPog%\(3RFN"+PR=UQVGeJAmUYk9.>:d7/G3S - %pWj%Gjb?oLXA*5a>0dU:>3t'7oPVY9-s_rC8(?tgh8@]0;Js.SIDKHKG3 - 8d_iY%_dXE8(*K&7SYkJhW-&g*l^#2t`kLd$\?qJ+l\#Z3_s-M']'IqZCcgQk*kgo@`G8[^ - m!K4X:;:Ue$#D625d&3b-Hp:9nnb2=Cb,[)k0ZEUbj>&HD)TB#>L73kc0LDB^]r5&VUk)4e - 85DtD0FWMB$S28cgBlAmCqJm[bPXng?fs=DA,/"f&T)FeF%5'[V"dlNm2IEkAD7:m@NMue> - V=WIa8Gr:B!m^FRMupU(/o]mp>Z=\u%m&o:#ULjR2VX*/C_f\6pAR\RZInL;<4Ps6o[^E$# - +"0*(K+!cUX3E)-[W?O(OO#]O\fn:(a`Y6o6`$1Q7KE7YM;h[a\p&9-eEE;pO?%h`kH'6-e - \nQuuMB,,E)(ib$CEH`=:L@;ofC2;\252NS1DR8`eiTs&PnKt`T(BSL8"nDm%1kRT%cJ5`J - -Ls(snn00759R]G+`8gu4RX]h[jSj>g[`rMnuN(:?S6B&-Z#8>29.Q@="nL#0lr+*DDs@7- - SG".i,bMBn96@'h`0s]-oMl(F&Ub/[lUgm47999F13uDB'OGe5]ZTVEpkdQDa*b7.Ir\_F5 - K@W(In%\s)\cJoB.q$pIB?J8opn'FY?F-%jX>'+a!0DFcTPi:IOj\7BuK+RQN=nK&f^F>>K - _>miGVIK_Fl,@^m4^AZ#!?q7!<1W^>iE2V(de`ejDtO%;ZgYVp&ED>^:eODhk$C(>9rp/F( - *WkD]0HEd(T6\-Ie5e9%p%OnV2d8 - "Xr"6K`VuKm@TijsP?Gr":$"EI$H+_SMVgi8AkSMtZV,Gb,k"T9j7YbPB#+89]2F[YaerVK - cuWp]maDmtkU0a*9?PGdiBQ+,/1QG[Iq*H*=D'@4_9lI![5lH^b$P"2ss^]R+"dGFI4\(s5 - EOI/4Y*/bc4jLSRABO=GINqZiO"s/PfHLl.P9TNB&.Vg\E^`d6$HHe6>ckAu!ZR.5YSp0@iHbXDUpTj]=S,I%kn[DglPkKc<7Kk]+guS7>CP^m*j#U9" - IMK%W?MC$"o`uAqbpbV!M)eQpgNc37GTZ&G2h*T'berC+r:3W%=,mhk'7(J^q12"`&*\NRm - +=8f,0AKTG4h!to_jH7GTIq'9_8Sj!WE(M5p1+p4=1"8L-_JokU[Je$\Uq+d)6&n/JWq-@Z - fle6734u`h>*MUlH0*Pt<,)`+#/s&XCE!Z:I*8;(RjLUXRlVVDgl+cfWUM"G2=qSkEM`g-! - fA25Eb*;(?DAQPlYjBG=#PWZ`^p;X7>O"BI<7WR58,3iqV?2S%;80KP2FV-g7Umhbh22Hs4 - me`o'g's;74_-JW-g(fA,P+gcQfDAS:)g7k./2fWXmgYhobU-2C'ln_b`TUq/I;AjW?E`1$ - qa^W8gRu8N2EFOFRaZuCl)JmJ`Q&e'bM);aI@^kp7SVQK=a+TJO%o> - 9apNcZ]V_(Me:fXsrE^ltq"1Zo:!&+hQh5B+Oo"hF%Wi7'^tA2Ls5Wl$b+4,mGuWB`#0nI[ - N06hH^);8aOha)J?_)R,<.N?'s^A2rqpBoB(".5'\sM8!n$#6RXN/B]J4mULf#bVO'r1TAf - dBX#.uP>OFrF1h.1:Qt.]&2fI&Rk$]WPHu@B'!`4ibO/9,pd`d_6P;Y'KLmQ9[$s&D8d8u[K@i-s2`oAa%?6lV(?Q8f8.Q>L#M.d2AgtK(!l" - C8G87!]Mo,Qfb]dn(AD=X3btf:u5\D[Z%.iF6rpACt&\QJ^78I!K#&!-UZA.S=Op.bS1":f - 2#\+!Kp)1'chbD=IX`WA"/JdR%j%-B?7nkmg#U7NRrrmg:1ENqrq(5h9dn32P3W2^/SG>;S - "42`;2C3a./iOjb98n+$BeDet6kbip+lkZ0?;D2q=qI=n=<@=td.-.bBX9;L<.+%<3ORk-W - haiDb%RXoQ2"i7B%ia\hNcoGePnn(8hCAhDQN^c'X#f$[i=:O,[Cpc-9$HK9RXfsEPK/FJo - ^c@iDV32">Vn==A)H0oJ;YNG&4Tr]\ec:Ofl6XIoC!W$8![Ka,UQNc(W5tWhK,WDS]qq%%- - 5A^#=^h$KY?]1:UnR_j@7e[^.EHbQjL+,:<>bkd9o72s[.`,8d#%@AFED)/cYK1&kWjPG@.=I;lJ&0o10&AFdZa%rP+R\8;SJ6jAI+)? - dtAScAt&AhOeF>9aGi/g\AT9QF0A-RV7G;bC@YNl`[o-Yi=O;Y$5iNbBGY@l.*Lb_NN%'[% - 5n"_C(YNK*oL0,Yun@H6^?;R,8qU@TS"m#4@(U-$8l6PCN?\E=sTZ#sKa5b`Bp6Yp#A?4/d7'IZC^-_Sc[9?8\fW*[%5D^]U7ifH:;pC0+ - ),bUAk?`o.GJ%,WY9tG:`*rdkG3KOoHKN!BQ"#%/P;ee`JZl>V*uHDDPHNPI@fZbZE%u5Hr - Vlt7k,kbA#t`59pVZI.W[A74`@DrAoZ6[K30S]NfWgD_Auhm5H8!QSpc@"P17=ijkGp5q,JhDS*Blr(`YI - DJbC$^?_bAh`>Oqhus1soEtOm]'FrKed%6C*oC0N)hDqE9Y`D9k/GJWK+i3;I:L47eMNik - E>adhuTLUNZ$j$-G7Xo&X\YO<-Sf^)3;//aROUELn/h\@ogd3rP?7?:&GQp(:\+PF6I2<0h - cE2s'64J$VUaPhG@&A6d_lP.j!&Qp$^DF!!uY(2h0]4$.+F%AC*dLe;tCb20umRkMJs^0)A - Yi6<:6S7YKr=)FmL%#Es6[Z%OKgJR0Wq3!H5gf2n7=R"EFS+@*LLcTTWBmF&`hY3"H%/TT<'g5?UW%88a#U)cTaGa.o0gP8ju+Z.8`X<#YCLJPLYNYB]b15.^\9 - tPH^N7Bs2.;Sg*X>d3giPW5)mrN#;bRI6\0>c(Wgpm,3`$9PjutMdQ)&)kP[3=F\VCX3kmlE45"OpcA1$KB/<$ - 5eCr0H18dNsUb0!"bb-OIH;*.0sk`#;Bir&8_]WXTia( - #7ptG&@W#YRgP7`$S\alcf5=._[8*<#B3*;OFmp;dgM8p$h2sZE*i`%T+)@.%^>%'d,>M^# - n4%V%.Lk?E=WQ+it,&W"H`9`YO)o6*ORE`7q%@['$#m9cnM:I`0,%1r&90nE%u - V,uAJ.gR!7=.::oOflAI),n;/p"G:X$)CK`%YJr:*DmOT?+-LD$kE%$><:cqtY-#ndgf(_K - g_OV\m4Tbc$-$5&+5&IT4*eJ#2^(pSc4n\#nRP8_gF&s6$*Oj+'7[10?s*DsKj&[)[a`l*`6eEsjBdMi/h4.s;VZ.FmWM)sI`d\#''+1(!`"YWUIVnI.>1FVfe; - ViHA%S[')J@2'eftr0f'#.AA'_(%l*=41G]4u9+m/>.5)=Q1[6Ylk'h;!,;56*11SokUYR] - s(GM%11ds0(1KuS'__RDqIL@#OP>8:gEA7\,dk^;M#TU:Z/@?.83)\Il/23I?CGZ]E3HI6: - abqr1ZS9QY/b=*Fo;o$O#;Qs`.`R9oa^Ak@4ZjBS\9$/+duQYUP,0rp2tO@4e$V?f`0=2u3 - )d:L'8\VGRkk`N3+r+FP<1B%k:fjI3qMe;<#IL?o/\HX6$)+E.b-`-d57kY4J\N$;fb9"bc - NBM1hr(3'BGO%\pa1b7!!uFBPBX51IWK9plSH+a`g6QVG&SC]BmnqX/OU(/D#WZ`mfUh9:W - g+(sPWOM.PW^brTL>G)Y]5/>8cV-oU9>V]EPk.Xl[nO0f9JjU@FOneQgJ5-#:R'q,Pj(uISTD,Fh(LP#uPim=LH7X("67Whc076>a9#023ChFqcWT==dA - qmFqWJn[oeps?Bp"JD[B^Wfib`->P3\XQ1\Ro.p1>+?^8T9p'YAR%p`2PnVkY"Q.KEp7:Yd - d@WkgZqFnO(m1PSY9RpFAThq/I*14g - tMcN)srHWA]r-B6PeGo:^(:01N - )"GLl%RPHAtJmrhc,GIJ5G')cg08TqS2G5#?iQT]SVfX@,fHZr+J2JID[AUB.pH$@"]\".n - JTg![sG*b"2f3N@_RsgWII(/!UPNR"2Z#FmrE#4'o[jQL2d675XI^5XCB.IaF?Yail29i=I - [uYtS8=;BJJ^9FIa[%@5Y5 - NqnNj38Kl<-%'tiLRA[5fnYh08!#_YOZ.E6!mGJ*(=q+WJ(]aFe'2pR6&V*^J(Do8c-mJ23 - J7KuS;[-5psD/2f/cMgRsCbq#W4TB/X]a1Ml1J'ed(X/6C@-k%dX,=6KV_a^m=k0-J]1MkLQ'k"AZoP;#iJcKS1YS1i]%=!.FYoQ]W]L$VqN\4O - pr*#EJ,8c@],6E.2lujMXnof6faFg+2)Sk9ZC6-"3jG?'rMIhe-=j*?t6i5ZKUT.Pi%CT@=+f:?*mZMPT?gE3A?q4SaAL" - ]V7Wroc_EN^72XD$Hp)m>ph6`9eJQPs;.\p^g;Trcs2SN?GL8HH0o0tgd/WOjrFH9nucO,r - #mKfd&CqZX1Tp,G.oZeA!Z46rj"mu!U4Yl"1#HkEN/!Mb#GYr%lUr!eKF-'0&HXI1NE\D+0 - UX1B6cN&tU`]19-X/&1sc_tpc+];IsLT>EX7^736XHl88,l*<@0`k0X74E8*b.DHbJ`dArD - >WKFO?+_.CX?-](r&(C"J\lf&^cPnsHVM3oIE=TgWn]&"*3mFE*Q'ZD[6)@0]S41LM8?ZL_ - q^`U(kJ2%caO:M\%$S*4,'5K`K2)459#E%K`bd@F(bs>-T30XCSSR*eZ#(la(B_NEHf"Ln[ - 3YG]3J^[gSN0L(X7k5kZ0-7IZ`kq%;?PGBQci/IZ - %eZLLJbfl<^[Y*hhiL8*aKdl(5@s[Rjt8U[4S]lFs64T$-HNQ"YWmC#6VlG(4-'ZW4`imbZ - FXIZX6h7upp0TiDrhoHS"mqphofl[Tha-^[ - PP5#Jo3WY@?[))_rV#-*pR_9Wp7G[kL\MsZnUDYU+(t@uF7[/=p"#?(?bPiV:\\;/q`_.[+ - 2@TbebkYO,SCb=nbX*mHR#dc)3DfbE`"%ORjC;rs+14NJ%so<8/rBW#DGI;OI0i:*>+)qiU - L$7=t(8I7UqR:oPQl6O@\G1=U^ln.$I87P.>\7@4dkik#5EYhIej<:8\c9o_*huThjlo)C6 - Ga8YXYt'ZsE6ThhXdWg+L):9@[#f?J? - XJ5Yip*80/t[I+f%KK)'cu6Wcf!Q)IU19,#Ku)`G%i#sPP3eH&$)/h5Di,3qmiq(^BM62/* - Q@b/RuBn_2o'3!(*iA,iQHkCT@4sDtGsX_Jo-#$UTr&2"sA!_jqK)0apn]68:#Q%)_Abe@m - Z=1'kfQkTkKu8?@(;+M>!1!@(1A'U^>hnoU3J8i!cO,=sZ?V(>6E9J4;WZ:);OJ.i?B1eeW - ?br&2dAD&lco5s,IbTHu_3D>S,0/(H=lQ\X>ZJ;]MbL?[f3(\3D'.?Ip.uQdBe6OFfdF.D4 - 7*N$/#lDi1I2bl'1u0HIajg6h1t:%rF&9C8R$?qSSPK0IF2Y,QX - .^Kgt*!ZB%rW"EHbY'S^Slk[QM(QLRlhg!EaNT<&foon4B<]QMrbGCm[<0f.:O7! - =[DM'S`k`#kPjSUD=s`:K$CaSPs"CM>kuD,(WR75BcA,n29q_a-cXQ&%`p5/P?tYSd.<#_Y - 2m/7!QaPQ:Bf'e>#,0eE*SZpcLgf6:Mb0cGB)872#UdXFPXE3U[qb\leYt(pIeq:rY_rScQ&h+Rq2FIpN%jnF5ch;K[Ik`\0_UoXa - i+djb:>RNik\Ur?"@c]P+t,U`]&b&drH_:8"ul<=!23oNK2HqM`orHdRe!U7WjQ+[G2S]l, - \iDPofpAS39o9LHAV,l$Fnafma<;tE=tEKaUl\V+FAr`0t%_8=K*9Ll/RKEH*,+uK,(.l>E - 4i#&3o@0-DCU4P`ZF33[ggU,j\]B=1ip@=n__Bsd,8FB/With/Lm.,/m3#@RupHdb\)g]k_mQO05>G]C*>C2,l)m#(2$Ki - d(1S%'Pt+iER?7%1FG8RUlfP5;6!J:W"h%\PQ#j:H%SV]%5XVQ)ML;1j$_oJ0;)7?o@+*r4 - /onWQIQn/:J!oBi/CX.m`nb\q;D#seOQC"%I_c7YoV:DCeB`_K?5C:,=nbl&V?IQcl0AWjN - NCU.R(@D.dBHm'lHsmIS8.I8jN@ge=RW[-f9.t-fMRBX - :be4sH:><01\QA6PG-^_TsHb;bu8h_$Ur)!<.$*3SX,rW'&4n:miOnX3nP=KTa"6K@LJEqngt+QS/Kg@2:,qhGB'NBl1fdM - p):"11SLg>.?CA^A+&;&>@drH]16*%f:?n@)JhVqRd5o;JiQ4lr**.[BfP_,^*=&_>NP1Q6 - K&KLr*B;1CEW3Ap:f%A-Yh"e[BfMOc-feE9 - kt3SVUl7tYW*)ohZ-ptgCJHUt;2T(U,A`YsI1nr?5SZ=Waag2gtA]$4 - 9_f(.t9:Rgn!+3J]DNfPW89BYApR.b;Dgj(b=FU9\d3js]snOKY;.b%k;SmtJX3PDqo]3u[ - FMpL4E-g#1R>4jsqh`V4QpC?"fSgS]E]s*;?NmT.tQ@\Knn%AEZkMAE"[DV84nJkA,L\m;r]e%&5E"mBX8]nu\j&:a_!DXu>OK9Om67le5KhqLr!^B - "!C"^84o>jUA+dL0s1p5'^f0Yd'AYXkr4msd^FTH&bSEL?(Vu%I4Zjb#HjdY&$pfg]_/&^1 - 1a9f$+2JpE4^9C$$ld'r"2a*[6B!!P_p:[i%m`$!4hN,Z'Ho]J*kWFa3pWXU.l8=aQgWY+POZf=HcO= - N.;`-b7hoKU9XoYj3l0e?,9F.]p=]cK9c`EEhH**5P7T"5gd_@,&9WU[s?:IWK+7G8VJld\ - H#(San$73Z1lZNrR5=2mji.3)Ee>\CR"BZ;#e.RQ@k/%EP+Q,O_Y7@U!jbZ)D0Bs_Vla!=b - U@@G0*,8BP[-#$+%M93a..->XB\2iHnGh656Ha4;i8MpB#f">7?gM9FF:Ss)8qG& - 8/u,1S:8F=>0$hR6k^.X*-T?7LbjF#70JX_>GReqj:Q)$&Zh6,aTDr^R#K]=&9.D9E1;jBQ - B"W,WOr("j)d'!Rb./H`ko<;hVb513O^P.\I'uX\\rT],9-Ci>Gl:9/\P$2?9*#.@auK - Jq3>]kt]1^q_b:Jq&4Mm5.^5=JRb4+akCq!)CZqQRRbbVU>9W=.R^.c2]bP]"Hq!q)u\kId - [9&.J2[&"AIdnG_JbiI3p7+9:8Yt\3L&HpY/i:]lu\]`49:%[#Z/BuB1_5ftgR4C!2M1S,H - Kr3;PcAY',o/N`A5a,'XcHP],oo6C3ktdd+:^mP)>nG%>$.#r(8:4tl9PVuq7o+O72AHqJo06IF-"#9#$/^H=i&gcm7:6Lg1\L[]rKeOXBNET>(fOQ.KJ1fX'3cQgC:@m*Nn,N? - e].q>@"^B't7CHKj,RrgSMO9c*^dK]\7I[0=a$r9t&fYWS@cs>D-]q./ - 7!5akY.Eg\o2tM99%V`*?TWgeGUUS]fca^g"4l>FiF^FRWK\aP>V"gcUGKD!g%)eQhLi>h, - r^HTKuBhVH`);@HB-]u+.#d9W=%:6!TV"it"]hHaFH`V&9H`Pl/SkdY3e',$:1A`_[c[)SB - s>tsEe`SK?ehqWY@hNcf%D:[SZgGBr/gu[MNSaFDhe6Orqhli0DXIV@2'n>>B3'>?k%YV!0[M6k[)H:mN?Dh<*S]UL7*8hu - 4GK'LQ:U.MIO`=md/6F?`.Z7H0%82FTJ;$?+hP_I79J/1GtTrX@g=al#UUURY=lV#d$m]46 - :O@pUi14j;r](?:%I7625pgiVJL/5Nfuj$ko`ajaT+1LkSLj&85'p(^CkY@7$4j<:e`c9pY - 5T&_E*iqQ=tWo_N:2&`W(7EK(H0k7:X>V9]Ui]lRs&*C$"0mVG`IFhsRP.L'Qk - +cbT[$rPZ@qHKH7RaWGSl?RPR,#,6g!-*f2I>S'39OTAk72UA^1-5j;J-bqk4*`XDJ/'C7; - ).jB@_]K(-e!>jiO&46a7dZr^bA!)+^VOQqaXG,k=a.1#!G;?"Ak&gTd@D/lMLmkQNilp5# - ,+GmMWBZc/I2a86KHAbklJ/$3X*JTXlk*V-t4FJ@d28d5"L-1ju0&4oM+(H7$`jOdbImh'`QP;X([ok - hd`b7HuJ3,NG6o2Ysu7NNBX'@Zg5'!at@j:7"FsD&[H@hWXAMf'S#Nfo*+L_/J[H^JoVUQc?>%G0+U-U?\Vo;.2 - A#REfMIhjLq9m:N[TDR=='d2f[eR`:*o9LD\fj6C_O(2fi!G+77Kg*#8"D,!XfDZjssZ09R - WUY_$c$T;I;,:*1d2qc&WqYCi`qQ2[o16 - ^JRcG0n'XOI[Y7Wq=%E5ReErNTj[4A1\)b%Dg$MAVOI!L^i"n1Ds1g@M3(i[ed"Ia[FTbj96E7< - ^_5%gh_0d-4g6oKNY$2apU$*qXG*_nhW&WPrnI/+ZgA&pGGg9f1<'Qg+dkoB-?m[6W\8*:F - D6d9`Gbng^#MAo0sImjCTj,8Ba6lh*JEF+6;mjiJFtk%Z/J0NU"%B4556"7k$0RR]Ma:Hn@ - SrH-p$FSB5/d:%+2/a>hsCC`XMf0FA+89(OoFIq0/U&=H3`cTLNn)h1Sk'ZI?+iVBbS, - )aZgQsa>^M0Dg1fuj`.`dHDdn>7sj - O@$$?B1q1"+m-^f1MlZV0jp@#hSc5D+;DV#qOB=DN_B6Z'(r1CZJkK%OBCXU5kFaS-(^J8-+>&^pQ - GZQcss$#l6!UtE&ID<'j\f^YRhY6IhHC*=]G@pORBDbhsHiKmg6&ffsW:>7fDP*tG5pCtK?,gL6aS4tA0H/. - P-5EJM_EU"7<%kFBoW=dihZ:Q%68EA-s9\,b9M:1M8C)&WU&fZSVU$WUd+3^^U[N"M:b9]]_J:tY7#,Rm(c=^V%#:X4?EG;E4d%W[]4[lmmQN38F! - qZ'2IOD$koG>3t&s[nZ9!BjVY@E9EQ32%s1;5`9kcG(Gh*d0`=O=`&A^>03gj%8Sh"hK$,W - ;Yp2PT7&&Eud%fhF92dW[pW8PMkrHRUd_u6tX]2>35L2/.$Tfq^#sC7g*9RT"%i^]t.^:5n - lS?q!HS)Etbi9kj%\.),:@YZ?&kT@XT010Cd?l^e1f?D6V=I;tPXjtbf0@ff[(BMhD+page - o7Z&Xk+91^ETQfQ&.0Hp*9j:=d1HJ8$W^&eAf*X'cU#eEkS^;;"h!IOP(9j=$ - =l">?;Q36E78c)`?CdN"$f:(M#$0:=<(!!o;JIZQA=Yk[;.MbgL(\V"?*b,D`,=b[fYg3$>ss%8].5=jo - 3%FJbH=jDc/?Wk*]:0bEeqnaqqK9E0B=`:+X - [l]U0=]]J`&X'!e)s67F5%cWWntopm - II;DfC#Of<+;LNhK)04mt\2p^!V?<]Dbt'36FFrUuB*C(,Su^C?.\=aeh[H1eb,]YQh/5L8 - lufAGc`s'Pmo61=dQ^ZZ(n?mGM:YUONVGQ.d'*"@D%/;Gkq*%O#?gKTJY8YIJWb;D^U3OQn"- - #b;JMCf#qm.O7GBU/W>DQ`JCu@i_27gd*aU:W&GG9CgN,VL(d!Hf - ,NaLFH!KA)b)g7*ocNZLlotA83$2YU6Kh^;6iC,GnhK2oRW,:P"3Rg,8$Xq+HfW+4@WHk,U - 9B/P;+gaaiOQ2V!Nc!dE3u\8Ll"Gm$`k'*`^4J9-Bq([=tnY2Tkh]%H1![QBK*P6?g4TP^i - a]KTrU3"2t'YRm3>ERJ=H#bcY;>\=59NcG+(10dY?.Jk+B - 6b'6]Bm6,+#oUf(=IF">W5Nh\?T^:5@5#,t4c/(SarA - N_tZs7d0dkU_JiO;HNHEeuZu]A:\,PF^I%l,hlB2KiF1d>tlZ8m@$i#][G>7:TNE-XD4]BRcS+]'lLG0FU - 7<)UOQJ?MPjIE-15k]s)i)A1MMiYSDW)V6Skn].C,,k.pm*MWjC7\WjrKV@I:u - .Yq51ZX8?d2/U`tf$UV$u.t;H=NP_]mt?=Qf\>)m_rmR\0m*)t" - chIY)[h-FZYq/oW=P@s,S(HMF,M6lW7I2[Ab[VZ_<'_u*kWR8HC/GYts't^l12)2+tK;UM# - HIE&l9enU]:FqZ'Y\BFjW`uLF<@BCc@[IF]kt)DN40Z[RT+?Rq - l@gmK8)EZ!#d4mpb^e4(bom])Y/T/S*Gnl=.RU@c+ - +:qHM9cPs2MkVPSpotrVq]9r83Y&g6t-K!g$,G8iO9t^+Qoi.,\amI>Tb]\R[h@j+DGCB[J - \[=84)E4OY'+:Z4EO+V@q2K)gq2UaV[II!<#B5Z&Y.TbFiLR_\fqcKi>fmlDMDKCBh)cH> - n-E7iKY?Z-uD:[6hU[PNqSrahU2@aa6gI-g8N8.So*:\[Bj'$BU/lu#)`YR750%bU56ndgQ - XXo-2A*<8k8qJFO;N:+k"Pk5LQdEeD2%PHBebks)C!UiY[O>c7JE(+K*klN@6W`H"8C?mH0 - RP:81CnOCZR[UIVlNL\am^?4OXs3;G$]`*J.Zih+*sN2'##=IN/O9,LfN$8snu^KRXb=X>I - e8\qo'hBIC2W7])"Yp-.q>79YCNZM!rEOFB2<3ucdqQ%Ra=k:8'd_.n0%0)`*mX!!5k2oYY - P:13;E=XdGrNVV%%EA%d - 5891W(9gF6-VWPTG9J\f"jqf.bEVem,7@At)R9k?Xa9ihm.b%soC7GVn1=i_G6Y=l?P)rCE - BtOZfbr1k+qbV4d17/BM]Bj"#jtCmnq@Bh]a:pL$`o`[cDp/IU+HP7]F - F;&deik;'q/;VqWFRg1MS(X:,BZPOSP)HY1i)"7>Y1#3I`8C!Dn%23LqD\"QqD([U^0J^6u - ;H5W=.48##*`FoCOj>4MHM5f(0+jO+ZP):SB-:&-&(0"!nW`?>k*,4\FFZIM.D_"f_n*tii`F*A*KRm - D(75n0qDEr.i5XJHT;,#X4@0M!D((_Mu:J].Cgo95V:4k!;_>2GY$Uo2OgIFJ@AcZV=El - 9D&#S[/@5;!DR.`i`,3o2"=/ek=Glk//4Oe[0"k.#1E/ODH.0[[1c1\G.Vl:dH8\O1`K(&2 - ,(B[HGU+hFQ$3L6VOlW9uL"@DCJSmNc=/]dh@m7"=Do<<3\YtBCE5r>W$;:.d&V;/F3a&81-fPFg-MZ7.O'L1od_/+"iFt6/- - T#+0"B%A%blpGD:CM>VP!k*3a$iN_`m8D/5a/g_!X:n`05/e;6B9`'hlp#.k*GcM!-!$dSf - "Ysb")M#CD(J+i(5B3^mq]"QD3[n1QH$qqbAS/e)><$'QM5=kokjDhCGpN3f''todq6"4=] - TL\pEa]9+)s%.DV!>W9!N?%,B:/*Z*s['er+=q2.(PYAN'^3%fD))^*g`iaSlcVm.7\l%fn$+AJr05RaGQ#Bs+33gQ8f_JQnO)Kl\!;3Q - <4!NpbdV);O#g-MHE`*$$CrH-&&=TL$6X5.O0\8-\f^CLDWU9$5&&\:Oq]sL_u,$\7D-iLl - jZ_OLUF&GbU^qVhlj=T_P"333@W'l\&tDLY,mc=?hETRG0=BU - LEs,&72Jb[EJ=M9Z\B8tOiNX>ZB2s#r7rIT9PO-h&VQeLKZ9ggVMAFj#0,WB9^eBSO2W`T? - m26hZW69D?X!_$<#;tT>L#0\u.$RKhHO] - 01G'22n`():\t5ff.5eS:taHYoN`57@^n=PrYB^c$>lu6_)VtP]![oa5*'7o]jPmlFE%Ln2 - HYYFdBT0,?^q8Eh)?>'q3hoTMmqA=eD1Oj.Q#nU65PO3K0k5mA!hK"]C\XH4uaXhj0]mUH0 - J#qdPkbWmGit)K6++4fLO1D'(q5Bl#I[_N[@7to)`>(9?*g"nZ.jQ1#q<@\/[m]T\= - 5X>HPa$#J[J^C[@9Cl3n(JuNJG-.I[b\kH^KWd2h*olPWQ4^HbZ[eX0S4g\Q\lm)"YDPVi< - d7MHb^a)&3Gr`';4:-u>!5P)W./@mro"7>trm/^\L*sda;M>gA];HPkkj*G6t' - KY8&fiBR6eZaeaDHFe>+jSj:Y8f!X4>"EOPF/qbS,=/Dgk2MPLVu(1aP:F'r+!ioYK=FYani9`q?P&G4/L_0R - 2dTRHF_7)9q6UEa0(3A3Es^TXim51V)aU]4>FgfKuZ=!4l#"jCrq!NDpGq@cMYZ):9@Cf/^ - M(tcJ1G,4JSI;h9arXd2a1K*(e>%!R]USSD;$%>pmO;h5.]X`B>*\`KeAQ_"hqc3+rIM,N5kC-q(?< - c<7FlaZ7jrPi2*TQ3eKB^+//`)?Ere9DsPN,t`l99.ASuLrqFlAnak14nBr_r'pkMk?Hk8q - +sSu_%g.s1d0k'hmGrlsBXdI'3/l(6ShhS\NJe)rnLmCr785+ga3rT0XP?%*m]?@hS%jm`8 - -m_6a2^#ee?Vsg5om6;QZ2RW%'iUEHeo3WU0?Tmi":Z:08msb'9^BNnP - 8WeF@eI#HoI9"jrl)0uZc$[pd=Y&%.i5rOBmlbMaSYMQNhp+*P_=Y?4r>28pO(IsUApgr&6 - tp6tU0\q=aq)>bq8)qk2u@YI=[/aa3^$4c:&J$.`1;naP?%Gp>s<.K`SC*uPi_j+4UM\d-VYX9^[OC\7);@qkYA`<3o*^ - p)MSs")FDqD]'OCmgiC:h658]DJ!IHRcec2HBpKEL">"a=If?DTblNfWXgH6iZ+h5I5pNh5tYE^s9E:k.Z2^9?EmJ?]D/b`?&bH'&L)*IkEC% - ^5kN]Z7`]1bIrN<=+AAl1l,WO;jc8ts'/l7ctkc/@_5kR - Po]G(?4$l]!Y_/Rk\rjU$"Wp`=$$S(tgXKqpJ.<)?9q'E)+E>1nS"8(b3D]?Fr78dXa&%@] - a<@#NR'WUI`0VecS7e5VLg8slZ!>eBajJ:(uNf,n-`j1PU--YeaSM[k*[*'o=ntTPP]+Z+Y - ,qH8@d61?@9`#])njJ$^cu9]aeP>@\k:k;G%08i?[#G/J8CSo%6W=a/1>Kc'gbA9IoRsVD: - fSel5Y]YM]hMLkj:M2c'(#,%\$<"f:tHE!9./2-h/>eWePrA;*9;-5#T0p7uoGq;#?F?CIeLbuWmFQBh=(BfsS3GOTo= - c:mQZtZC/[P'If"9dVHO]/^oXDOb_=p*2SOIg/^'*IFac7Y7*e'Ye]_iZ"jrq$hhM - Ne=#Ldp`;O$:VfV;JLTfULAT[mB,/-e_bnN3ohVd99b^1udkJ0!j!FG[69$ek*Zre18h`AA - un&=WZVufI+i\Nl]!N?`uEnd9c(4e/C%m,Mk$lJ8WCb6Y@2l:KB&)o*;$gh4\"OdV6"8,hm - gul9t%+u7<`I)Lds/gN4_d.ip9TXiM1[!d&,-4.:&<6=cV[F1_,Z6qeRDchLJHV>qpjmF&0 - h'\`n!iY>A+/tH6RX`,*(1?_X_m4?VC:AtCFtTBMCH;qp@mF>CO4D@;NfjEH81 - =!IT;6Ffl"2ES#Um]eoTFuM4u^NlN9"KmVi]>e1V]:0,30-M4q_R?b1S'b*gEpmP0R%;l"m - RK)eP7RmPM&&)($O9:Qogn-H(1<1#PI&H#j.-bilA)A@-iS')H7`WN=0KI(s1?D,a+BLG^% - 2RZUA4mE:l'q.4&BM1p)?Q,[SGah0'\'@pX2kH'H-6m[P,a^[\MG`.N+9qb$gL.5[_E_=eS - S.ZH[c8iVaNMI5?DBoZWCiJCJ[=u+2o8`Y`nDfgO`:=XgdAlTSC1 - >\G>`WB9iPm_cbAqEoqI7>R-ctUm]M,[!a;X*:U;.Ci9T/Q.rNI]C,=iB#H,33+i]_Gk - h`gh"H+VUdB%==U(PC7Ikap.h8(\eeahKdi4hb/RL"a^!9-NMpj5rlFBlB5.;)JXL+$Xh7U3Z - ^)@tMD2fC(U07bWX7j*TPTNA04[6/nrkd;,%qBE]Og-fFa4YeeAo.F:[!$?9g)Et)D-aESp - =@gLRqHX+]tLq"#34J8QZ6n[agq.Hl.qi(GAb+O]6B#$hHSTVmsXH72n&P>S*tiFXoYj]0' - 9eb)c.A'%tDp.ln9'In_^\@+]bT&EOkT%X[(i\N.m\,p;Z-]B6A6#.ASfP+Ng - 3UFRkG\a0ld8`nACtE_Ng;F!i'WHnQphrc?,)2I5I8bFS#q@E!J?N9IhPUMO8#SpA%`l+/7 - ?o0.fK[g,p_>Bch5mNKD-cRIrQpR:cX^"E.A9Br(;UNA\fg:C?akaf>`G0X1E\sI!lrP+KZ - DPO#>`cLI9CS5n>dC=QWC[Rb6\*@GMWXt2kf2em[CKC[)ToFAkF7g.2Il_"2.J<=G.Ykq)r - EehQ*4,@-i6LRUC8H>%S!8qu;Hk@,/g%AnSuUYfBcAC82nuF>Y+"Y8R;6#lI^=3igKIf3nn - f,Eq3Df(>;(l\Ffg1F[bARNYH@-WQ*[F?fBtr*0ro+a6DF/Hg-HZpo_r46Y?(8]IdbJX4[Q - EE'RS[f;r9gN`%7\B5.]]<)sX3`d(\i75O$O%LH3>VDf(INe9>57Af'/0_h1Ei/-VT - aKSP,.bZRn\33$_;j]&]I>G\'uCjU/9Ea"9FX<6*=A:rWa]I%RIIshX1r,X5r-KKMEaD#c, - .; - ??2abeK)uMt=lqo2W4"A_B`Bq>Xgdsn-@m4^<-6,(^"A$KgAOVgq`M1jO'PKs(Bgh<&7/T- - I@`6!>BZ5PVXNXPZ1iKG5F2M7&SNLr2Uan_V3PWL:_3B,ZHiH@L4iF^Q`,n5\4ERPhiXf5@ - 4[^Zc_ob/0()%)K,u[pE$nT*Wm(EH>W2)19$f`Xd?pb'Q5R\p?8^\pO2T*H^`Tu5Alse!D< - 6,Dm7t^$GPYf*lFi4D_7KcBu;DUK&H_bFScm6IIKa)k8&48 - Qt(Pfa\<6Y&qU!hII0ZGio,-o=iB,cA]4AkLio`d4+"r*;l>QUk)T7W[cc7']FT"MjPNb62 - P&'Wieu[ju977b#%>jLd$sIS#K&6W?TLoVY?p\]=oLXn5YUAAfsFYfp>f_+]E"Mq10&jV$S?#Uq@H[\WINWXJJ>H-W - 2cs8kVa?p*2;k:NZ[I<3A^-OADkFcb0V1>\BC2R1XG,cA_592!RlDrm2pM:c/,I6AZl8\KS - nDaU45/=TZS%+OMI)WEB>N>oB\2`_aT$:F(6^eHaBZ'$nG$cNP-u%3,]P6HZ$Q*CUK+A+.[ - =*l5FTdYmZ_$,+b]/&dI_d'Chi>lRXLjANB=9N9>2bm6rng!(.4:.4Nm17D+r=jd0lcW'q@ - eIU+KJP(Kc:>IGK%4=Uc+sGJVc.XqO,Vi)mPS#EN(J'r.f[:Hc(E*"i<9U%*WZI4l;&(nO/ - ZDnsZne4h$GA.n_"o.H+g]Lnnu.Nma'?k)m9.`R69N-)e]d8P=fPKh>!7[u;<4.)eR9"GX: - qEO;_k[B,l%`$6CKH2jHFWrs`!P[Z;dga&n_1kuJ&_mO.:/'a"D8 - Y,1GZHDDYW2mZI.HXLtm-ih!N6hATZ]b)H)h9L`O_gh8B]oB&-2-g3( - A>c+@3tTNn&N>t(a+J^)Q!A - ]rcR*b7NAR\R]rk6Z]CCi&6WF$k8=B(g&i5%LZUHE@Bo=VVrX"QebmC1ieG8nN<[I7GQKGA - #0p_<*k8LE/Nj!/PoK'B'sJ8g4*d9"]JANM2#q^mV: - D&=D5AgB[d:M/W"/[HJ(3+fg^i`??bQeHYFgf"ZDf`eo;PhQU)NEksg,9SpG(9HYQi0QYb73D'$MK?H__B`9e&sm@NM.Y3@pke8>YpD8+j^`pE.(bj7O]m,l - E-/$!Relu&unD.C$C(@PM`\ZhDdO@OcMMV5B'trs*!LiNL]9kdobc?rh[L - E[FT5,/0S4F39'[CNFE^4I:KV`E=7lf$:$o&G2c5Em;Uk_Kog`2.5kaFUcjfGDFf9ob=(6< - cG4iqLFgk`NLKWA==8!)nE"4O5F^_'= - :M9A[GkMA_=uE7&+*7/mI.pu^pMtu\GBJ)TCj24IF_=j$2hH8jJG7Z1C&q$'#CZAKM"jc#f - ^F!?%t&SnFEj.0p\/b'LNWCDC%nf3pV2da?XJ$?P%fu5Gh7WDB5@9$MhkGnq%&s;&!)"6PP - Cblq;HGkSrWW=DtoZ]GK,R7\"3@KT6[XD:U#-$Mu/!mqBobILU;:*]6dnFH&m` - *5@&S2S,/1tqV1*.=(FFF\_@:dW4ftWJ>cVN"r@ - F$!TIXR"ZQerIsBmt8s976@1BBj7[Y#,D)IP,UKkHU#uj_%BZ(K]G#RSZkX_?1iL - PCUk^K_hkc^&'!!3'!JO&-i80e*K$A:]ROEcEg(CZ/>@Zb?B(*%jX6)2ik9NiAWLVfgKW5N - :H$\q101AK?c6S+8B,S54%[OW_jc=PB@S6eMG41o]iF^`t^+rW(`DbnZb7m/58]4bLc'Hblg8_5*Sd34_* - +!g%,0%IO6sF>j0oA2DQC)4"9Ro##dYk!n`X]@NmkF--52@jtFB9L&ETE4\`i+hIXK"$ - [G8SB(MNK)H;7idd\?_?_.SA-pNjHFaKLmdemQs7HbR<`((!*XRbe1Ft,&E[lWK``*c7N"0 - *6RZePoqg1gNaZ3MlYSe^_6;H3D`XZS>IWS'TG8rb9[<-:@nrf,Yq9*d3q_RPeSg!dHrGK9 - FZ+Yp=&[2VOG'&eO`-YnsnZ=82!q,-d&f5:6popZmo<[ - APr=;FOY82tY7+(.pOSMLf'(%f7\2DE+VB-MA5RoIrSAMVq;Fr^p=B1X_e5-emhhb;K-4>S^(e+[WAQ_E)#7Wr'^ZG/IO-8`NNeA"!oVgSYJMtPJIaGH0R,_0MrQ1]5*]j - 0-S,4>Gn&i(;0U8,eC([j@,"I6R"6%2BS]&HS,1+\i&>Li4JaV'tCel;uL2iDaR:kmlQQ+\ - nkP5EOW'3M[>Tj>VrM*73%M;j_&tlqm#28%cPQEb`93D:V'ta+'lThK>=Jo6aJt`[cF\1$EJg"s:K-N(/ - _/neg6Rme#B9Ml^cd+-RL[>uf]'mb9,"H[Ecsn1Ff.@%/mfEbVB43(%l^hq?.s:JoFmf(eU - '@t/"7g%W/A@&DaYGCQgI"?>#mp/V"^1+r[A.`C]=>g*P$7XbTR[trb*$eg*V&LPHHcCB7.*n_(Y?6Mr"&.tjg$$bBFOi8N_]2 - @m)(OlU]fiac>HYS"Z:#fciN$2$LG)#,pCP_,G$IVB%E5;dVQCPp9s?g[\U7RsOlgAH;,c! - El]#lc)JbVk.eSXRO-g8c=Eg4fo?*3"$/*?qNYGu@qP/a1i5U+DRfl2B$qEXL;>Rdb\P67b - 3!cNKhS=C*];j>k=N%c#NHGHm`8bUA.*h:-=\dD@T\-OQ.`oAtV.Oh[JT,Y))[sl7k; - 3!bCQ4S?jBHbpQ-uk%rk2dfLsjGaBp,/%^TNV:a)(HO-KiU-+Pb2++;U.qUknL%,?"`&20n - ,0\u;;+=8U6Q!">Z\Xl&rVOLrb:Ur\\Y8P.ELhCn)rWS,E%km='%r6\VaK44Y.33+g,@c"o - WXrDWa[-NI1rHqBVk0dAj(7@/YF+1*e/V>ZoI?Oq(Y7tf0gg5.ML*@B_(93IKq - 5DVDc(75s/A=]W/rc1:PhLKC4i0nEtT!^oVj=gK^P\"mXro51I!Cs]WO'm9[Xcg?Y4^UI'5 - .\?a^V33M!7'4QF)'YN=8r+6sVo^aZBWQlOZLj:5TW6)P.$]3@Daj5 - #V`OH^j^;X7Lne0&:3EWY[\:*d!n)F07qE[hSFWPD>ZsCi/5tb!p(`nD`b&QA90K?F2.Xt# - JTE<"'Y5"4J>#Q1H>T`H]+qE;n_)!-N,bV9:]?:jXmYmSp"GWc"\R6BtSXf]%cL#, - 8fLaUXGNnF^Fg68!0(*.\ePU4E'=r:/lb^ikEbIbh>IWm=Psh[Xda1I;;44rVM/O@FFc4`P=oVS*?j4OS^WQMUnZM6*97_SeC$Q[ - e#cQKogZ&6%-$%fb\rqh#$oV9%3smA%qW&S4gd>qPif(LnZd4eGWI`#AkY@I1Vn:[)7Rb$q.iHrbRkCbieCt^2*aT6'N-84`f@gmR)NCMop83bJb=^!sXJ#$]onV.GX[M>Gc( - 1buf2[*C#i^9]M"3tk_,t:'`3'!BhL(X1Rs0HoV4YA:cG60p?:/UIMkKgNJ):Ln>B.m5`O> - Ijg`/C;n3"6jWEo\[]N4Q=L+/Xth^HU6Mj;kNQXm.X*C_g8kOW"=[E3nWtW - eHb#.bBfEgfk5skZ-^o$m57/+"?9^ - ,H"B+D]#j)f[:Aji5_lgVR-G,ZF3c1=cX"8'F(6rEd715?R;1hS'^`??cmY^&4F1?R.J%>^ - j4fdXpCb[oA6+eUL,>34ZAi&*eVjcDchDc#Hmd=UXo;m?OsiR^%DDn=E(L40CBe`V!)RY=n:_/[PmK-s#k1Opn3I@7R0lc]$*\a`cpmlT(e@:>5D>!bm6Ha9" - HZCn`IgYMON9Kp`j>&I[&@Y^OQ82*9a\,"%hNdiE:j_qpCGXJ&.nXK;#_)H!t^S*&CD.&Yn - mua)%f^b&eQ2u;&p:3,8.7/'%&KK&N:?m3tkIS'9PKn;*u%[5nq^:'_+g2&Q]]E>88l"'p2 - o>d:3rSB,8m+(D1F!0P:d3(CUl7n>eOtE8:rlf*sG!6&dT-bq>?&FV^(<#8%7KE&@aF3sY; - L'bR>O&>9?UN>lj*)mQ.VOG=fQ_]&$6)_o#3&\S]p[0X%\)H#$'&@Df6h$S/\&2DK1;<[oI - m0Aci*O4]61'&H"_ZgYe*Kfq9;>22qq]O7&*>(pd:i@@.=Wm3P+-8,p;BZD<.in0u)U]]IE - &SrER3HZC*tRNVdLdc\"!"St-*dn&dQ&M7,p@:`,d:,lE'G[)<@796,;OBe;I:S%boZDU'C - p>q&p#5E?PfHc([W^jD[=h>M",=H(upABCFHO:RZT1(eP0=#'#uOp*p?';Pn*0JDXd%gk#F - !Tj3F+*bFG=;M(NR\mj1Z[c@"GB*_hZ#02g6c7EFdI$s/):mqhuFkj'ng^>"R"0TP5HP0iE - V+OKMuhJP`Qo.7#B'e_/Imm[%)m"4D6)_p]JmOfe>bbBq-2)K1f\FVuEo/P#O,_/fr0M3JO - a7@.>AA7Y41UCK27T-=*'Xs+"f&m6sEt[V6CGf%"]$(sDDS8%D5<+joa7C(C;];WulSa]C1 - XbF>;\7??Z@telRa.qiY2JG`D!^b(maJp4;j0;Fd-C4SdS);VC8c@Bj#HJZj&7ftWoh,+b< - L'Dj--H-'/MZXao=Zi!s"0H;6*l%''2q4GbWu?dL+F7oXo@.9ilA4B0'q6jN$ - G9d82r%PGr$5`L%NF%Jt<.5t2A3)!O3PN+sr,$/YcbOh+QldY/TGrG;O9(&$'mZ-I'm5&Du - ^GDK;F;jES@npn\1obms;Ya*F3pTbI26Q0"'<<^`HoA%Q9l-doX9@PtU4'-PfMmu01uV8Jd - nmEgd8Pli2).LA5ipI]5]iJLZ_:0[7l\[p6LrGuPH`i&=Z_ht9hgSfd(*!&LJ2i);/<2XC7 - /#&\hj!59!fr#V8TK3:!LSi"2\1u12-+$nGp58D - :"B\-8-G?,Hb6PPe`'):HDHL>:`8@$c:p!l`9B3Hq00>IT;j&ngopF:sg(i\"7Oc6V`2b+W - ")3uL;NCudgk=A62P)U0ZoFersY`6r`RhW*"9WF\j9j]_,U,?FWmDD[U:t1NKg'<4I!L\?1Ym8_.eDomiWVSNSj>:A*"$'hmVIaPf%81DQNp[Zaq(8AR2e;(V.8l - [(gSg<[(_Rh_hWp,>OnF[VLMCWN2c#[M&mAF)tePtH)`%Kg:LR::%uB9oqa/!do8cTG75A! - 8K_WeF.^M,G(1Rh_&rY.%)h2fNm'2lM4=23+#gq.!!iA6,B\QB+jBk>TLsD73L,%R"Ohs$: - h(`j[=;(5$JTa^8)n<7X=Y(@>op[;,G+8kfb7pFOo3^N1n!F=n"f;i=r4JTUR4`"ps9p&_L - b"\"$C51c?Nd)08W/R^O^7[>!&(*=A\_^a4aP#R!B&V3JPpMK3WDCPjk2X+>Q"I>BW;"o`N - X>b?G^M%e3H$4C,[1uq)q/KJSIeT+PecUDG;f-04GUFSP'.YpVG+?$$hNutm(KXU\bic%bS - 4l(eGRJOo%t^##a]Da)[p`3;+Z":h_Nr/ZpMj+(?\!:X8M&\Me2_60)1HeYA'ETTFdHEka( - j)L1"K,npZlg:%q_0`W?fAn2`kVg#)jAu5hHlmY5*]FFbJ>DF]4?Q[,3]""cBc4:_f[YFjk - f^*H[MDAN4+@(cus8fmXa"I.h8q=(?ZF4]p?$:KY-o(>s#[jaD=#_H'rtfMt.;j``[iMt_J - P[Y]5EG@5TXH?[J>(Ti&8'h?Wu7l%JA196Sd]jd/AfJn:1L96\T1GI#[B/hYYQMb(NqirL/ - PfA?;XL4>bb[S#aPm0(s3F\3d)jct"N=(9U1aSJ8<*XMD:"ai\\UTr9OZg70a*EPQ=_qWHH - K1gmRANGNmVeJLi*(E*R5q@i\ZqO@E)\15=ZN9cFb?27>[JA!?$X_\<@Co$Z^_58S_7;<3K - @[+A"0I6S)t$JXM(2#pRK5A>NO7uL,GRu=dh@aTZ)"l'[`>:b3<'#K),E*jXm-,kj>r3Sd` - (%RJiiU!Mc(9UY/gT3^Z-bqiP%IU=kR7RKki66(Z?X?+JFY).B?[*+8UNVE)jr\`[.M3MuY - "Fuk2NRH'tT$sboHRp'Hs)C8&HEMGTc7bc*M[El1h[:.g:^"Y-Hqah9bK>)t$NuQcXQd0d - -K/3<]]pT:MRtC/L=1T=TTf)SZ"3$UC-c)9:_&D^X'mIIj!ObI/]PZKB)n+kqA=P`l^,s/e - f)rW'rj4V]]u"ikMaMg')cK^K1.ngQfKutCC@V]&86)JTgjh08JCN`U2oR=S9fpGXOiauhW - G"'4AhD/A.RY2KPUqC-c@S#JLf/t;QDjZ1S?'k,T:qd@\=B0B4H[fJY3gVOc$["C`T166N8 - HascRKHYSiQKJLFr[65I*'R%igP8Z`#SVW,WX15\^,RHc@#`@]\1[AF3P"mc!8:o*2C - qF%Fa,*bl&:'SI*_-"FpAAceSuY*3mrj;pua5ar2If>uB!e6d'kpe6OHR>n>-sFig1_d+oe - oKN$1p)9]]mB,VUpSR'p>*CDtWUE)5ErEn2^ggltFesuoo>u/k]?eF26fj/[QI@Ja"\&r!g - gDtdq*8f>\Ok;ghWnk5@IGN6JWaC0Yh7^MDrU&Gk^"j_#be2]erPd7`n^j=+h#6B?FBGP_" - S`S>!&@CT_WYlD.i]T^#>uN"nr!ACM``5PaGjMCn*MB?)rhu2+u2M6Sl7(%.0@4\-o.8:nn - [>nB*&!)&RJ6\P*$E@:AV81&Unlbr`SEiJ*6fNiSIi:Z])%$hHT2qB(86hidoP1%KgP*riA2hjNdP[HE%E+9'acT+C`>U\d9GpqOlBI_G[:_t$].nt - -*W^YSEe\b7,%$QnEm^S1XV^&ET`s*oPA:e2QI$OMI%Tl;DJ)BfHD_r=NqA.gO2LIC,V32D - !`'p(nY&ia]b0cQ:sACASAY$i$'aQ(_ECnbo,SB@^,WLV[n4+trDF3+jUDb6VM..h7+5*\+ - +`b:N\]eZEMX2:oZ.^a$-,d5jsonna#4'])?V"Iq$U1%r,g1hE#[6E[[Af7DL.)[l"H\Z"u - O7WVX7>6e2@sEh/._1GW@PX>+Fu'@>!+g)ZN8?o`CsV;6fDNWE8#F^Hoe8O0^'fGAm.B$!G - 106T_IYVENV:sKU##-\=ktFFD850$34XH-',R(no_Eo2n;pHQtCUB*StP1]rQcbm?F5u!">s1E/@OT< - 6o42hRkXtt7T_D'`0$9mtG*t6)+g_g>ZYB2W*^6*5*pVeg+-O[ere6`q\X_^Vr`9oFL)np: - P)]^re/7T42EX[3ra3hhp,Y!mu\L#C:>bDre5X^=)ALmRGTWLu?5#<$*O4&d2J>7^%cs - ,>3*2me=,+A>M?2;nU3?9[i'P*6iQCY:r5(Pas)BoG$+Jb]EFJ3`/eO,kB5[)lV+NcQtWu; - RGO%6SoF.o1cu^A,a:h'l<"406N)q=i/BG6!,^=*#R2&YL>@:1=3@bgXo)'G/W"5o=J5>/q - cA";U%R?A4&2]B5CU>/[U)[:n(Tj[p!#oV9s,82d.;D>7h6%FZF<0e;dlP`S# - [r(N]t&?.ZLE='bP`]78Vfed[=6NE+'ShR2bnJ"g%O%sHtLjrE\p26D4W@2I3&MW@k,0p(6 - dNSAehLkZk-jr$>8K#dZZ`7qc12E-TXR>,Erj-Yi1M*GhYLhYV!$H$ - Q$MWg(-ashH2ae-BfY$=Rd2quW:0)!?GiAq>`m.qd"V/"^b08j>/G2]B:)lE57mal(.# - [WrGa1Z)t*l47Z\+[MRja38fQZ*na)6<7qf+5F_]6?!An_2!B^2ePfCUIXLDDeY&r&2+2kh - KMIcus\0+e,[(Ntp".I:#pdA36B&b'%$>0A:92G>$5+]4V;oGT;HTfD(n$NR7(,:1<8T?>m - %1p:cQbVg)Lm>I==!g'OdM1aT`]Go4ne9)AkVm1*e=a<7rI)cAAPAQ)Z)fYuW'9&Xi19p*cu-SE9.k:#h'b4jB - mnO#tIM]%*IQ"VG"3,pW*Ve)3i@'HkK=IaGB-Sj17[?12]-B#cB+]'CV/_l8$I1:B4qdWEC - su9ZYkg*7f]7Ocl;4auO^M,kSW9ENWD:_q-RgUh#`h,uR6IN>tu@[SASeKDe\fpAPNp9,iidESs*:BcFEC&js9AX;gr5t - 'SR&FKN+QWc>LuHq(n:>V3Ha-BsH@:UEkH3J2.1]_^BPFe0167B+cFd\a'jdeAG#O<@XrWk - 8TNB5GW8[BLJenQ405T1/To4a>sg$esp$7OsZkkPXM0XqUStpP)IcPmZEW+5*p?U8CQ:0:Z - fVgQ1UBC`<59e-LD#%b#5988lZqaI!nZT_C2cpNBo!u;Q7&e6rlpd6I^++VN7I[`l]#UhP, - -MoHnQ',rD3o>A13]1Tj6l1ri/RK;V'S5(9>E%Y]K5Q=]j9PC[He7p/8%ob:d>&I>k/ - V2Si2d6#%p82QuC892PJnA^i$,Z8>lg<[r/K.kS(t.7Vh=X%PWm?#d-X_TuAQU7#f9S==@Z - doHj=E8B<0W-4WHeuM;M/hLG1G+i^()jb=Q7GG@1,'?rNd44FX8$uEags2B?iGO@dN`3OS> - ?]'WkcGDZp.jf,g7'e!23O\6-N[H(;0Hk5\u>A?%b@[k@[2=BZuguVdi(l5DJ`(WlB;*DaH - &`#,qu0q"shZtB8[TqrN+P`h:Ht&<%NajW0]qI@]O!oD?X4-fW,q<97LU@ee(*U1;dPe*AM - RC9;ac'p/,MLCU/Y<[g,5`?V$M>nkM6X(P9.eCk\*o-$>jtdk;g@_)l<^iOZF<*a^I1G2eTR8X+C>h9U,``'YcG9geDrK2!JTun7r!FX^%T5q=sM&BqlA"4iVEg9bK - WM_L_H_%%@9ZtQS@\@,^k@a6Pc<>N8b[C9%'"!t*\lsj>j=L_;Fd:G$)NRm/W=Q/85&/,OK - 4!P`pSrAM`4Hm+&*;W2Jo=u%Z8g04Ao16X.#g[D3IbW)>cXB8rf,/@mr0bX$)d?+Y0T29F6 - +toXZ"a[e?pZJY(\N`9B7obE;Net%"37Q(2ldSV'FuEMo)`J.uG8%eEP`H`3i'm`I$'Um!U - 7bGKoj=G-K*TmH9o22SnIC1O!eDe&_=&9]K>5P]H\W[nT=rd!J\RCom;YGXe"SgoHWU/.p1 - 9h`TWi"#9A<1XPQ&7F(iRCKR0>deTcqcoR^Bm_1isHD]c:g0\K\X]a-&#@,uo6V:fOXf],e - 2Q:oL@;h.!(OB(TfNjP[EdlcU\ef>?e(3JrNn(:Z#)_g(s/bu1=5`a!L"O*]Mtim5i%TA7c - X%9Fq&\5943qj8GlQ!)^;mb]mcF'>/$eJ9c^T=5K_(`6e9&uEe%KC7p"GV@i,9p'3kg.;GL - *Mc+"P(9AK[bX@bY=d:PUA]o\c5MKC<,taF9#i1mi7bZCAAik;3:"Dsp\NNrAKs%X%)Xc`) - 8sX.M2W`:goLU2PN'VLCGUg3nn+G/%VXrCc`>b(VjmQPPe5Tc:VWS):aR!4t$>,-0=k@m.R - m!'gAU]aM?\bQkn_JO#Dn]USK-Zh)!(oY;ts5Wc!Yo@c4+$`_?V5q=i1"%56[$:.Ul5ng@d - EkJdMMDYK\3^^'a"9q$$s$<_/[OYC[)R2U2CF\r)_B]:@S/]+Mi0'R<^JgahF=4_s&Af+>5 - U7hp1Qsug)FB)R6Bfe`U8L?e-GSm;6ED$.^qN@OMh&6nE3fpS\Vtd0M=aH!W2to99FJq=`2#sme47H!;8ihE#p`>9&>; - Mq:;j53`Gh7R:p3:Z<^f\a7;/:3<*7,M\HueP`H5S-S6JFX@#Lg]7Nl< - ^"DGe?Z:4\$$\Vj)UgZ_tBZ7niN=``lr+e`kE5hH\7FYpjp1i13#DT@-F - `11\b'O/NJGfRa#7\"]n]Q-MYC;rqea;e1"ppruVJOdq;`h[oO34m2KF[j<(`e8k5,`'H&H - Gn$`8*kfJE3[HBI#=GS8JGdY1jR(4Db"&X8CWdC/5sYaQcWKm7Wb'?,auhkKup-Va^D9mr* - r9fDof#F#rGjXjIF?aJK][-3P0d?&:u)^kI>Qc5*8L$U[9ujlT]WY3,@_;'IPk>Wg1Mt8lW - .?1pkBkZqFZ394YNTFL]M1\]]Z;99d$2`4O4B]1_4tbNupcoYAZR_9;bnbS7rg,f@i*`6;c - 19Q\7tI)aB`aip!lb`'`hUs)N>bfo.mbk0.S"O>7#ccm/0Ye7g[`1k9TR7Q+,MPPtsZq\Ya - Qq^i6bp9#S]X^TBfZg5,8fWf7o\@OSPYI[U:&NkkguHI4TZEAV8Ap;qD"k0Dlo4H=3!f+J\ro[s9"q+#ZE1?(U8U]57R;o_;C[F8l4'm - W(8,1<6nBLgj=i0lmmL+P3eR2q9>a"6NNe'fd`Vtc>X6.'4LN)Z_TY,&g]c,OBN!T=^s\d] - oFo+\^Ja\C6eiYK9JXEDT2UCO;a[NOKf,YFjuaA-6%q>h/`hd^*Q7eQ>`0W'Pbt<(&Xpoea/>>?'?=VYE9NT&_\g/!@9jh&E,o>jR - =-\.ul`D,,rB4.N.`U8]+1Vg+)REm?uXU5 - hORM=Q*3sAS4%t'L5BU<0@D>]rP4=bh!Lde)dGc[9:ASV*[n;_s&II;jGopFI:=V=N[So.V - lR@XP:Fmf$OV),V'q,1L&$IgU0p`_5^MK^c`r(g+sULD(`aqG?djb>[`n"_q6aSW7.OR+;J - WhKkjp&Vk1lQ>LfP*!6SQ)"?T%d4Pe8sm?:e??!11Me9t:8/MtBDOMB%c>N>N?HhprNH<&u - W5"uqZ?&1[\WBY4%[GC"*1our7*`s_5b4UMA;i**>M--Uu/aJP/64Hrn[Ts:S>:%!g6f)*+ - OkcL$h6fm\mFkQBPZr8b6=o\tM_Q/f_d@8J>OmeW&O[Ii7QiW(e@j0IQ.4IB6JQER&.RX8* - Wt;c"[5B.YqA'iKTjY4XeP - 0qn[B2 - Sa7@J4ZMip+.Q?f#Qa*G.Rt7Ijp56e#_!?X%&$fresVR:^>gi;MEiL3hm??n4*;=f!KLXq2 - rRGZimKB20b?/`G^/"l*]G%q\"2L*^=.?T[*__/:"P2L+4VH03)7f1q-7VO6IOIct1d[2s2 - Bp+b]AF_D5pA6P#9Boj2Y)\"DofMnnXY"Xki:KT5DC5%C+c%e#h]&a]*Z%Z"*=q-Y?Eas\Q - .P@P.5$6Egg+:nrlQXf^.5U9f#O3?'/2jse%K0R:D/11s=#:.e)P7K8Gj.tl07(F)2Rhklb - N.g%S)N4&St^#e1Z.#YCjs21T#,!39453BCR2_IiclK[$#J1M@K)@)_%gcb&*l8Z&sgCIrk - gB)ce8lDh.F+_,Q$e06Ef>>m9@;pJPG8X+"Q3fm*: - /mG$MP;>fjJg@#OFCVc[oA>Y5>RVDi>Q>Pb!p@W:74mhcL,KbLND1jg+/.j-!ZZ?g_ZpnCh - @o=LkjT0.j!NW.bSK,cA*V'>L$aM+JeRZp#pO@WnX9(?WQQ9=M4J8t+\*RrW - ?n#5,B7`#nf!0(q?S29nT!ecnm<*&:FC00a;_T/+\p[1[hbRh"7P($ng>iYM?k1J,7mp,nr - `fhmi1fk(imYGSC\LKZ20r!&G(r1VnY'/T0%(s*$:e9+M$_XmlBql+&n?.oHFN]hd?$M@.oEKG+TS\ - :Bk8D92W8DdKHeLUPQ][IkZT?1];jo",h.3&b@gJo4/n-M\,Tm/QQ&^'5B.DF'W"*I?P&Q5 - ,uCEVh"1Za!dP_pX5,!dt?oMoQY60CP(XBN3$pJ1@I4aG^#(O-\-HmQh]`q&/P;ni^/lbOl - 9B)oRDqYO')upId@6>F2sY(LQ;.*Q=>+mGPXFH[TD6]7GWLfZhl1F!Wd8Te9&GgG7tZ)h@XAWM'VAn1/j4Ol.D_G2A_Q@7!BmHh[=IF-47r("n,AFRuOjF#J9 - r:$u=KaZ3kc:b8H9pFT6r.Rnar_Y&eI12\EYLq2De9rFj;+uXj]SHGk!drn[IHT,-&)5J2g - ;^&BMX:Fn8&kL?i^h,M8W7dh71&q[%=MmMa`Q/5s6G-A#LQW(r\*5-+77EVk>7N*rV+fk(\ - 7Q2"\M;<:J]ckJ)1($p4#4@s%hk*hr]>g`R+Y^a9[;\hr"bS&dJSn6/bXRA0r6#LVi#sW0B - U^'o0e.!@)*(:.PRea4&sorb&YXBMU3)`=Y!FJRUX - (:lBWj__G+/p;U/6M591@-omG/Vb'ZaAB,5WjY,2KWesjGrsk%.@8$90%mkc)gb0p6sYOgQM_[cQF%PU`N^D+Tte+FJ9%nob)43rjdi5Db - 1?Osm`1^<#,Z*YSm][0ShrBtDU/DNba>@R6EO6i8ZaYAIH+hUA\>mn^c%"tV&YACHm7hXV! - *^I&Im53$b][m?NP@Vuk9bm=B3n$>M'YgAS!0Q_E2A\Q>N=-=E]\'?)ua>^&o/8R3+6eT+T2'gm - .KQ[S78=LU/EGZu!?`Gf)u]le^/F`m_5?C3nkI,7r4YC^2,NWXrB\8D2!@X*%'Mdj38Xbp; - ,N]BmF3#2s]j0]@iOBm+e_3AG2%Uk=U))]a$jEGcaLXl.M2jNMbp%ss03Se29BU93[UK6'F - I?Ec]AnRWG\RnjAC&2-2UguG[[@kon*^d-qRc^HBm$cbr@aQW>?LWIOG2b;qCKeNtTd4%`; - _V05K*Kb^CDA@hcm\%oW_R9llp3_*>Ta3?l7REd,p+aj\/NF6 - nBNeF[$"7Xt'd(Lbqh-sop-oc;@jLo6g48_J=Dk<%I?CKFT\FhS*0JTor-PMGrIO)a>,So9 - 8CHC]8VkV+&B#)i?7?YAp&^<_Z-ak^TsYl$\_alWD,8%8\0grr/R3`e*V56U/8t:BIW+a'WQ4p@U&D:7nJCG9XOeNAja" - [:0&/n'#'X+oDsfQk&!gK%!^l5>CWqe`>+RHHO=#_OA8A+-3jrX-WGDVe!30XH/C_mm-HrT - Ph%f3n5j,Q9L+f5E(S,<394:tT4]?i:C1)@Tc8QUF+#]:)"U'<[-p2#&]2q!*e`f7Y;j07VI#4XjZ?%s^*DmnP&Y>1AHVrM'*@Xk%T9W`deLGH/lK&_Oe[eo3<8C - %leSg^pU8LtJTj=^q7\5>qUt5s?5UZeaWmr/ZdX(RK'"pW1'i%:agF#PXPkV$J;S,deThm: - '0XCAk^XkP+A*iSY:R6U=];kI:'BOtUp"$G&U=ip+D-F(Gq9r!u?CdRe_QVEX@jd\*2%M/A - E>KnKS4e\!mO:)^FXD#C`-HIkqF%bE62i92ph2*LM6GL3O<-ne?u1/'86#r]h:+K6,iToS` - F.N=b%,[VfnD&DXO3oF6"Q+Z!NWX\_Gu7JE%cU+1\^eO-ff>$J]Z:\GFIUO57r07%ZWFd!2-.NsUR7OiDFdf/9;WJE#"W4uDogYL - ##N,T3&U0."&@0H=N0If9%Gr$)em#bTE<cXDaIVD;Dk^ps7DisRk - '0P4b,Vu#j+>JZ9i<`Qla#5hl1=,.1o0$!e"+Mo[bM(c#;c^B68kDD9mZ_g"1-JLXXl4o$9 - $"_(9B-$0)eW@([G0!ifp1.uXTkN;QZ8bo,jQO"9'/kWgRO9??KIa'f7?Y<]6Vusq?'o`@q - S_(=/3t9)Y]JBQ7%3ubBC^*s>C&P2P6A0sK[4^:NQ6(K1EIg2lSUNpgm2/qna8qf\[HtN2d - 7Y5PhW+ZEMD'^RChOe7kcG!kZ=sL]e"nsK:c8l1@?K/0'boZu9R^4 - m9S@kP'el>7Bo.d+*HKYmj'@h2g;^96(`3U50hMH(ekq-D`q&u6d`f\m%GMT$nAru,e+.)? - ]B?>AfgZ&rSJT!A>]lY=i`&UJFClSmQpNJrE4VN*M9Y%>`?Gu)aMl1Y&[DXPu).]m-WNKRDZ2n606%p(!uF2En\s*eS%p%7eaNcV - Na`Ictr;\(Q('PIeJL;X`JWg\pS@kP`lO>/*M?Z]2[J>>1C=.>tXD"jPd@Gqe%ghnGtBg>% - %-CH5bFq*+Jpni]:jjIYgb]-jrN*nR+RIML82Sn)sB]=W6l"'P7Es^%K!YC1YU435^FRq-?n&*T7:EJXP2WW1A!\\N?n3ZT*P^cN6hiQ^>Y^ - $V[%bVCB#r!pnYaGsI:=2m9i==l:0L54?:CT_4%kNV6O4`DC;[uR`p/$k]d0Bf:$MA@j$ZL - jcOGaA33p)M,UCIq3OIHVR>7(r?'WhrU&0DMp1C)0rDPPANL?uEgYdjn0qe;;ll&njj+Pb; - M^sO]Q$*tMKGajhd)@tQ/UH4:9CtPif'/(KA8ECR:dRNWu&n80cc&!)'ZOr;kMGX*C9Yfns - bXh9Fb43]5@*jO.Z&E*b/N=KiI">ToiX7HrskX4n"^FDRj: - )OP#k94fH*NlpUdKiL)bdA"%&-L`-YN[-'.0`WY,HT$a:L>2[[0In,,``;am[GGX+!kmD,* - :P&-\VYa`?pa,+U%fh/Pt:9cR3`"*Didal>[o)jM0,+-&:_2&O@c7=WrrgnM(t4&764$""( - 9W*psU^/Dfh-[aGdC.?:jRP#EjS9WU"lrXXK%;(EkHJM!%bFg'IIEci?UZRsV:8$_S(<, - ,s"B@O0@I6^%R0ltf.`@0-uKV:ZAd2:?NIH4.e;rZXamm_U,nE]qU(>5c,ghT=SmbO(_]h) - jPr(8`gVt6/^n2,cdF44ZRsE>($^a>W@3sE9(VWaIuG_=$#5L+M)'#_[YYidaXJs(R5ZgUQ - H;siBeF98.iYHkNp0l%:>4jZ*/:G1P%W]u;hFaWaZ.bW3O8<;')%R=G`t[:3R`%1&P5#^h` - I%QP-agEe&+,Nj$,?S.PRVZ1Uf:7!BK0T3sbXG#X(@IlTU-Z51B@\ZZ/;''00!h6;i-lF-* - \a,rq2=5kF/*o63NBVN>l26`\ZqBm>rmZTPFP7'p5ZZ^-o!7jQ2iNRSh5oMnDfWri[/7*.k - _no74#'0c&N4EH!A&@Xdc/Ncu%8TY&*b&L!02(;M&3n+Bt'FKlm.W^gIJi'T#1cIR^"Vrqu - 7nA>(oPX'GAO_fY9XL2?PG:g9i073I2cKNAFEL"d3DO\^:UJ/6o8b&:'h5RB9=,]>F5l1bGaEdn'?jK,Cf(;_>IW;em?aFS$or<$n>B2+23092tRS<>A5.2-Eq%>uam5=#Fhr;` - ZiFg##W[9M1l>P5s?29B)=@MSoQVM]-N - TjfoDCUOCMQ8`>4:Ln%NAL>H.`4G$/@1F(\McBEgk9[?kLFKj*%ZB6G)'L - =Kloq@C@d*LMG]V,Rb/Vo^f6,ILB;,Q[=3``9>>_G - *i.f2upCri3sO0Iju+YEH9VHKmWQjJ[c55GEI@bK6`fC)f&f5e71$'Eq!0-K,7k,3%2(77t - +Q5HoOKCM/^Ka_gN-(Y6qalOIq'UB*2778shDi'-Qbi=bp0\YrF[epk)4@2h%+BI`dpt(L; - <17u;3"H5+\J(dWtf*3lm)l8X/Vdl\oE+)mE3R$1$:%dINl_*$qUQ4l:NtJ3 - +F!D39E=7sDHtAFtOS]V&*8m!j93D9:E.f#*#F/\DtLd^(6+I\0X)QKP!LYED[?.P - OqO[V3;\nb756Gg.rei?ZosRS*u9r8,'d%M)-&0X"&>"TPaN*rPQ_9@0_R9Ir_ufH'*fs!# - 1G@Vi#*DjfkHBXB/>^e/[rm^\Wn[*"R>Q+/(pUE17shWP2\KgR+X>20Z0AX>r/b_/JJ;WdH - R)[*7&n5PH`.S;X"eb"Fo*HXLV&s3I`GR>FX"",?"%\3Q[ER'/-o"SQY?H(tG-Z9;&i1H*W - npnMQ-o)b1K[Gju9pfrHm])j[KuT9)p3n+2n!/JNLYU\Ts&q+i0<)2thD0U:9?(#<46kGH^ - .EO/f-n%j#88N$*Qh,@r(Q/FLff9a'GSGAQ&WSeC1:=8[\Z*l^QTYcY5-n$\X^0cKk]41>c"2nF?aPVK?_HTABXgU=]"\ILOO",'" - 0B/\9hE7ii`2=$85dbC47([]1^1L[5lq2X5>ZS+NUdjoTF@:7pC)"*` - pH(4442"!r=hdg(,Ftu&N@R'@.sEfa-h\`<4b57+E>dqC/:X5ILc5XmK*<3PI/'-F&n%;6?4II'lS]*51_Q,'-d:!.2XdWMd`gp& - H&Tr&Ii,2h>qR%]c=P%O4"IZNO^cVL7SU8.fX/J(=$89meRYLOJ+%)P9UV,4!HC;(Oo\VdU - M`R[Lq_uu06*8jFbdtUY3Lc2E1!N8*d@Dr;PFp4Wj3\fg[`n1iS!DPe4l+k4hAgOl>bTI=G - KBV`T`&0+ErXNMq8ZaNc+Pi**XBrXZ+HNui>jN.*RDEi]aB0^b<5mRIAtE$o?7+Pj1,B^^$ - bsu-a\;)gV)G&I)i?OpRN;chE4<8]`[>$#8Xu[j'D97^1@d;kK5le`dUPaD_9jOLZ&)gX?% - NPa"ud?'+clY]=n*P4eKQ>5nb:[Z!K<:g,"XN.HZ(2ja4DaS"nCQ]'b!Uik7/7?BrF@akIi - UJ+j*!CP15`f7?"TYj2)>*qZQb3^G^,K532lnMYEVM,#[Zh_CYVIi#n^oPg"uSTHT8YlLD' - ,-2/Bi@B-CkI3'..>S:JZoH'rYU6dQ!2eA*^@udB.efN:>BWL;Mb2p3R'DC0S=`"nU0(]VC - Ke%$:#^XFY.l6d?Zh$/GcVsU_VXO2+'>h`?&CirQYSt_b.$t7bO_&dpma:!dkgS6%tB'ppA - ]l=J"cUYjL7+6L[CZ)hlt8\[G=FirMa:XgKMC;?hk'AG9`Lf`O.[_[R8dWY.?$Z'&d]84@2Ftu-$(NZAo0, - h`oBrgUuI46PYU>(.I?>X6&&5"&m5'(F\/B#VpLlkL:'C3c(S*_[>ol=PuD9N3qQI%s05RA - ':N3Y+^:C:+d3iC^9;R`9B=Q*'ga?d^0*+rS#&k3K=0HAfR&W.ruJIQ0,]$t]-j/@<2R*m4 - #"p%REm%F8q`4%GHTlq2f49_?R3j*X0qn44*>\uhK@OhSL[oYh=:3o%Ro7obM[BA0Kj7pUR - T3W/_S3`=/4I8k53so7p?Selub/A0+>nOkjW,on;i5u\OPh3rVqq^J'IN'^!>rtp-.p@](& - #1,II;10I.//^JD2WcSCS])#V'd]E&;QY;>ss6'#7Xqa1nKk6\0rA0V>t;%+HQ6]jIkn\oK - i>62T;6cTPFdA.!d0[\Z`\O06$=TM$Sgg^<(E@`%N8FSHg,sa9hIic]CoQ#`*d_qgkbL+7^ - %`j_GN@.B)P-6F@'/W96bjp_#'?!_k+Y,qnjMrT9;gd=<]b=YJ^<*^omkE*am%Znjdkp/,- - ZgX6-Vf]'`:LT?<>eM#oX,a@;DY]'1/0Ul[i*N!PhegYYsQc#;08@!7o*$b2cWZfb<%u$Fa - \*\;RAl8;:ZJq3FLHX>l@LM2*I(0Vj8?O#X:2:P?1mf`GoBkZ5oE3+AGbDQFG#bIrekn9-J - Dd2atfD>uuI-G:)UE9k<,TD>XK@:(?l=i0X-^J_uGN++[` - W[NUW>piYnRA(^3"Nam=".>d+e`^,c!GQ$WEj]KN2M.ClQ!LDgA[V).@=Z1&[?od(XS`\RJ - 5CM_k(0@*hqEu-fAXX+"VW0\N0r4+2Aoi'.q2VASB:3qPTBUZVbHbln0#OmYqBiVWC7:1-U - ZWNgiNhj?8X^MFjthj`r$mYA@:gSOGVkrV*'XRR7De&(QX(>Zpn>[JeIEh - %V,_!i>q/&H4pcKihuHtOn+ni\nse8X4[A'OLJG;7YAf[!pPo)7`Uhsm80=iGKs0/MGV3.G - 5^H%%ZZhf6@8RGheF$XmSR/Luq6\9Mm"k2cmVg?(@H4n"%_Ch:ZY.EVn2W8+[ci8cib=6#" - nTAC=[Rt?n)Qt$J.7ihLAp'SXnELAMaNKHI"fPO=k$S>pN!^I";D'24[3@l?Y^Lc.&(c2j` - :^EmaFoqc=<#^=KU'\Y\=Ti/rid@t-o9DZH#[ps_L+iB:61tfn+q\->YUUER\;^ULg_qb@Q - 5[N$QOmSa)2;cL_*deH'B2tHLQOIp^uu!ti%/,eE7!]8K'*'+9Ors@oZ"n&obaDC?AFZ3/& - hWV&n0:+MNO;I63p?q,G]C0:qAV(a25]'.>3]Ni7(:G8JL(cIZfdlb/NQT+Q,Y2IPMs-7_$ - &D+tO4fdE5$QGnUZ\/<5WC62/M=gEn3lXGSZs682O-'r:3'LCpOfasggKj]nsCZ9hehGde; - s/?Y-j;EhqLD)jKpa:!MlY#Fdt`JeUsYAN@[88EsL(_/mpsePN0cTN($r4IUgckrZq_:D - /adRT/r$]gHb((8TI&NCdFS1o6H)T[VVg;r%%=W>*>1dE9'rWT=noo_PXfqS?=7j[u2RWi] - ,G5>(/\3a?4UNOGR2i>XTl]]_lQ'-_t$LM9d20Y`/k.Fg=ULC4ROKCE%Qe/h - nkq((sXtO22OZ0Tf9csGCAuY5d[&BSf-7>ou;`Nhia]4HqGhVtm4ViDR\[1.8go+(2k&cfU=&D!(-q+?9j - kIF,G3iOjq/e9C_4&fPn3njUHf.W[18lD`c-+WiY@K?%0HMsn48Omhr4nhhg?Qgs$T2Isi5 - 'Wd#0Z?Sr%AcLP'CSK?t5`(i$,861%OS`$oX=8[g\!=CFp&VDDhG,MHL"BjEfs[2#Ld-Ml-D%3pY9!p.oMY>=FH=fCi[(t73&;!Vt6X - *$&'dot4"XSlG,p"%"2)Ojl>69D;kf#-0f(LCh#I((uY]@_I+>\h$"Zo1D"fUH5cm;9-rF[ - !UpS!S&0h9W@8(;IT\.p)/0]souKT%odlFDYl_]!Y":h:ot_Dk4GKpS*])>Pi@*mDH`IpY=O+K^R,$\[J[Vhtrn!m_/#*GinMN47;D#*\"mI*rXS.IspRa;p9@H-/NB - \K(6Pc`j]Rf^jNJRn_N0B30r"PI#FNdmQnni7h=e\LKeU::XODG.HqhAD=kQ3bdgTCai*Y; - oq%/nH*9BiS/Zit%V`P$QV?[kl`p(WFk_806Jn?;Y]ap-^q&V2i>m]9oo1o]qU]QN4maD5N - r>q1gcs1t61:_g*[:eqVMf7D6XQmVQF#-nd"N"PGtch`eM`9F)<,j2$amERZ'b'j,"nc8\` - A.0Dh8M,T0Yd`\7KK+cZsDFqXh]u[.\BkIXg*G1]>ofY3;![gZ5d:X,9CO&d&&4%fZ#HL)UKG=Loe@-Y5GSFrOs7;Q[6YKH^ - 5N+&>S<^qEPN86Vn=(J"660O_S+BQ5jT7B//u=i-^AIk02"PpPV,6A'r8bp$A9kCj;\S$p' - h,M4ISu&HmYXVfEei8YL=FWga^-;rBaIK+I"6@UaSS<)oGV?%%Gne30D%09JV215JYi%6U* - 5F'#%U?^gP^*Hi$2f:7'*!Zml8Hni4])I5O*hS:CEU%/%L>VJH#/OXX\7NsM#Ye.Wu.46Z=T+Y^#;\ME,A><+? - 652f&/8n$7k9AD;66kAC/98_*BgZ\+/c"hIl;,Hnh+!n/7]WegKQG,>Hc96l)u-K8q\Z^Z&P('?8+`=[p&8ak8=[OdK\E>64h"+[9$EsJ/@!BN;U,EUbWNJT" - JV\CSjAUY8lXckN75ooA&AGJau"Ol4Qo*_Z:lb,c4nr"`$7eem7ObL^\m*:RRU"FY04K?a+ - U#02"!d0j%KR\NU5Fagg%q-^e^.jaD?,so_$N4l*e59aol9IFHfFG'=hq4:#(Rj>bB#i"!P - np^\#Xjr<1#;6-*RFcj\`*r2q=#f?PA+b!`JUHtkTbhG=glcm6HRd&=g`%EQL'8,P3[r7_6Ukh[:]h^d6:TT[F - ,n&''.FAS*`lt$A1rTq=`XZ4t]Xn$[/Yrh+X@CW7=:9C,n)ZDg//S>d - /"!O8a]*&/fB=!7-sSDI1ac;b1)Cr:g>0bgojT*+]N:_5%4uN[49Sp"&<*L$rp&aX8^Us9$ - e:T<:on0`Df`Ui]./q:!H#R4[[V-FY>SU62`33A*QG;1K9WFa,NL;HQ.Wl%Rr1l1Kd2YF$ePO\iLt>=m%NTjrh/cZ"**'lc;(YYe[;!otGu$#B=D`E;^'r6c2Mb7b8p==BZVDN?6`:[*d,P=*&N;FF6K`<6T/T`75_Il:Al\t":#k)n - HsBsse>:%HZmk9mQj*Yo`W@-*kGt>q+UY?QXpO#Y[U;GI.Dj1SqS0#0`F,hZi6 - o,D!l:@h`o,,Q@$VVfEfFKGY:>h>iB"\%9"n`.Yo@GG@H"_t/e_[u)rV8Hi8,^:mMXte^gZ - fM@D\OCeeMYGI:>)_i^PHX;LW)p&M2>`iZa<>.aI"-/?H9+ih;:j2@a4D/`P>rAeH,)d,Z6+jpeCsj3tBlbfutl'MpQ;`u - +C6g.Y9Y1sS4jNSiNnZqbLOK>G1sVRaU73J4(fUV,cmIQPHXB@EC#c@4rbJ\/7]]=YE4p4? - rS`4FNMBO6DV(5(hBLZg@?B?#kmbB7KQM`A/"kgQZtk(PldOCu:ekjFZq-BGd1H>+FeBZ%8 - lp6TJ/R;"RF3^/em[Y3o"^?M5Z]=rf.St'NgS*CcXl2ID>",CPZQKb8ql%Z'KAu+]]V)e^s - C7_MAL5G2%U$?fYBjRS"`fXr#Y%m*VlP>+g/tb=%YA4W8kpEcOHg5=Z[q_e)lR&ZJL:6E^\ - a+^0CQ>[a5-=/%]5*^old!92hP+f*_n6bnCb)^U*lRE"^1n^ECjs08:;gt/`Ft:J2:aU^DK - c[0qS_.];jF(i,]-5gU?;`&]b]$ikj1-O2/T"l6&a1AI=,/QZrfCMe5[O<'D#iN?s/3BbWU - C-XbT^6#]:SF:%b14]p$jW.#inimG3BGID"ttE*:GD=VY@ASW-O3qoTu;/p2Y=HA5eGP3un - O<@$R(QLr3%p!PD`8F=%>L&Tfj*S?%!=MF(ff("U:o%_`af`(]L%f4iFB5\NKAc"?[i)qI=0_C@W<>CE)-H%!sqk3r*B7n/ - ^3]iN,_W&eU6Fpm?H5jlpeBeDmdPd,n!jE:e[-Xb@IXB"^u:E)Vk8aDqusF_fjj7:c@b)n-`%NGEp#s.pX)oWSh_.PHk9+f - Yq:MM6=8:.n`s1.&:YD;O<*rMk6t+`R47Pfj8oI5k(#\^S;V&4aDe0^Oh_=^4A73@,p,?+F - 4gaZr-urZ#dgau0jd(!q$spVEDU/g?s&?f=p[Ml;p!e%idpMe:A69oto`Z(Q*'gg%C=7NY6 - P[0uG?XMOM6a4up"rkE(F3m$o'cOB%#\okb7UE3+nSHg(X`*"f';$k#9_s77%)u#G@ - aqJ$`eZ(iJ[7O&gJlc7XJtEEW`oDbP8DeQSSdD>.d_5;$qCb4bjq_;BWFJ#r8iV9W)S7dm) - IAKgpU!;@Q*>^osu(%olpJ9\h`o\JhS-,n6G$22OIDEh(s%5E+bWcZhp;)?aH:Oql1nG->g - FB>dB&b&>pHD6B/qWGnHYE\Qq`-0Y1=`83TI$O8(QMC,hr$Ta6Q&fo4OG]R[r26uND%M"mg - Nu0,(]1D9qbQ6ua4,Fbn8;$6p*\Yb=5 - E<"me;4@oJa>TfBi54EW$C2YO@*k2;WbR[6;i%dd4pD9U[.pcuWhZH*s@/#,GG: - F@n\gM`$=>k>ke4d]kp7g>g^Um+1&j\BM.#]2b`uJ\]FrG7&4+a)nK+n98*eMYh##cZ#2^" - ud9E`8r^r)[tTPC<52,\_T0@l&Wj0C>*Ld,<\l3Ai+[jBb@(.W:a;kG2c,GEr]ni - rbn%K"$S;[uYq0)W`UM@mejOMAh!7?=P[aJG;-Z7'71B%a%Ru:KI2ft!'H&&ZOt1#e]ImF. - OLD-W.$H(C>BoGE15e3K-;iO%o1`*kPf?-e\u_IHDh98h1^dO/X`eJ-M)>em^W0c/D?fiBB//6%ouCL59s]n& - aTf"Jb5]XFW6BNl42_/rb&7+O;&Em?7GrEBRu'UZV9'Q_GA\dPff1<%O(#R';.\Z'/d7I!QY!R-e@10<>Xt1, - *DKo4^2%\n$-n$h=P;h>Lul&;+PY(del7B!_`l:R,?ok("j0)@'*\kma^jhC2QhWBm+S%e4$E#]OX_!q7$'uB@o17>gr>PBMamQ - :FmO6?FZ'?Y7K^H';T=e>6'FBl9?d.4ipF3=+ppJ8JCkXPrLp74-Le8]n\$CLOqa*HM5gfH - krpV"$$a*:mNLZY]9hjrQn^*dp\p\cH5ja*M1s5R9H#G]f?rtfhHHMqc_jnaHKZfCTt:Z:F - 3?Y@X2q&aOcp&?%>Z.;BcM>uu`I*]FfKH/!qqp/RJI^rD&Qf<7GGP3])gj]jb#5C&AY4f!aglgK1]#K_T4cA)r)TfOE(^q=CUmSj?%q]D<4,tqYX_(( - ORpf+i,Rf&0W:nI^#Oj7+dJ)i^?UoYAti&-g_&qKCk$tl7GG,D\D#n9T&8CkX=XKT[csI9< - CoA[PW0\(:,?&leSA,`kL&n)LRS8os6R9Es0a@>Xcjg+>a9XWM=MLBi29j[MBr0f"0OMCH6 - _p#q6g[1mhUT6'05(?R;MlO_?:H;Db@7-dn23Og8f[/B2kRj6D)Zd\PnrBhHSfm$*hC5$'M - Lm2](l5aO8>3])\F=!c;oQ#akVg?aALs:.B@fO^tD^.I(hCq<9+LFJGE`RW$5,[_9g'm%?/c;,0-%`[.AaS5ZBpb_cEbP - +%o8#?kHXW;f6J\Z)<$Z@f5*\OG](QUm'P.aUO#3GAX2:ri]MZg(00W8,smP/Wh_R67a9Kd - r<]*`#VtD*k2o/=qaIISkE@:=/"5V(8QN;*%CHkT$%Ro`As6aXp(3r@O"cCkO]M`3tOIAh$ - fLZ5tLC=AO'LXb7CR0:8hc#fj_`O&Fl^FF"nG>k`o^=\>/=mS:gYdO& - :=IShf'#epqFumTFRjDP1jbU4n1=0/C7:rX'OL*Lrb$%G<=KP;k[._)Ug:L!o/:FV,f#HKK - gH/T>[>hP:9#FkK-Z/8L`No2dg"T_TENRL!\5l)T>:ZOVY'mLaG>@:*)jP$O - Z51]m)16pR;Cq4<&iiV7sg6-OX:o0n?Eu,JWs\$Xue,LTnJ__tW$f@iK'aEI#.hCR-:m\TNu3PP:Nm,NilVK0qL$T2Ibop]oTJ]ug] - &8"W5PAkt\cPKXuk)C+>Z;u=sg)DMU$p16RY(+dOF%9kZV53b&h9t!%ojV`KSb0n9eCh<1B - !#'qF^C-[Gb6DLh"-VLrjpMr>>=GN4/6aQL!b3Z;/;_`Yjg5_c^KJs?Lu_S55&1 - T,Ggj3RVk/F%X*^%dW\dZu7:in_MkG:pknq^HOQSYN!*5*Nq<:OhWC6d0R7oB"u@,4?Pud< - M7tf6m=2nm5tMqO\YeHfq*mI`'^S598qbf<=O)F/AHmhsA%sU[k#Fdeh@#mJ['=D10%ToUh - ',4[6gX?Q\QYYA;F4LL9k+p[!kg6l<,i*0TEnViDO%MZT3ARZK-5n"]AD`#qaR?tbPt - qiC#5,m8$Z!r^$dh_5sa"O-d50)MdP"OKJ0E)J[b<[#dWhSaaDDph.Q\4hnYq8Mq0,hA+IF - D^(;pJ0NL"e=J3$=6Pe"KCnojPL.p)Fk@-X"^.OD_2;a`g'B#mguZ0,BX1:J86im$#iHE&8 - %Db<;@dS$V@$"OOj`agBEI6L6)iP0RjPN5m0s;%?:.X:'h75T\q7WCgr#'7U59+AIg&S&2. - _d&>iG]OA%?QIHEs.D=7p1HN5c+-ud-/d1H\Hr=U<>#-e=AnO0O!h[FI2%&@p;0S:!X*=MB - D$.0V(;!^-ZjU^l-'lI.j.LQfmGnB*G&$^[#0T8EiE=d,L(N<4N:i@'\Ntej%'JZElEBbAH - BT]GCC%)f]W8K)$Wrhh>Y\<0nC:'ofo,XeUYjTa<:Y>ITkk^G0pI9?NSNF4g&QaDN?ucBfL-f-54KS;_9M`>;pR3/%#o$/ - jp3D#Gq - 4qo#&lg$%CM+)K9AlF@91PnCs2]7jN,'+to<+/3pAO@$V89:OtFO4PTB/`]d8Q%aEe6+ER9 - hoGo9,,aC;_LmEnP$7J-NnugP\=`o?TM%m:p0=a2%`G:Db>-L85h][FAYT:1J%*@9U.7t1c - 7[CnN[e'Pk06!F"9pa.g<IE!F+t$Z;mk$< - b9_FrT<7`Q6d7RBq"#[2A'q&*ElsVbK=HNVb9*C]irE2nu0STC+('%f$%8,1Z6<+n28Xi'> - +]h5c:=MF12C1adR9%j"IKk^Q4B53+_.t&CDN=5#*2];:LobID:9/3;k[gsbANW`:\F0g2LSJ(Bgo - 8T>#-\=f*+b:`CAGgACYs!G+iJJEGQA^EV(E:kRA(;9_4B)BjYK&V3XX0HjZcOD-Sj94Es,=,C2TNHL'O?/c09 - Z-Q^M+aS4u64WEX$:?G>tRT'lUIB1bV!DBfS+0;a2(em$GD5lE;^=/sge83 - 4-'g@CM%ke - W\.`eJSVEM=M,se-p@)m#Ru>qH7lOTp\B,Ric"1F$1Ua>V(=uLYZZ;=LO8*H]\8OUA[tV&= - Nu1f9=P\Y+R]A=W'rdl$h)SHEkG5A$pNb( - m"EL4Sa"r(R(2je>]e#?Zk$CdIWaOj-[B>L4^A$3Defl[sV*u:%);MQb,r[/9+VOUs(-2i"\rP1# - 'q&u!9\KrSnXU#P+/#(#WNdPEqF@PHEMV<2KCN69>*l9mSY+TiBOla`UN<#1+/hf*U0;W?q - F#'Z8ZGtYC\i[\)HDSs-`236U=F[h>/bXsUSF#YUY;-<)6X^\?(5%;SU1sGd&3ra"0>A9#k - P`qUh,kSWH];)!g"ED29)[5OdHm!AhZ!oNM+h(cJ=Ij?Ho:e%FMUY[b?(5cL$1lHYhIhbg7 - ;5[k3cjNQBI@]srEBeVn^\]48>:lIQuDfM/C!XJ<;L9=A].\3"fWD6::Z\?TgQgj=G(]5bB - nY/VF!chl,"m6/,Zah=f#fpe5UHbI&'VT;te]=Z_IH\&^h\[`[:]GlaaHiLi"_nFgj^PsPR - >H,>rPg`jO_#,LeS*Rq=/\.Ad^)O>g%;Wd"#JU*l]%f6X/(;.Y6,WT#\U6ZI>DTGP0>\))> - 6;LEki8"nh3^(;Qg,E](QMW;=!!GT?01=lHUiEf;8N0oaW-Ye*0nXYRE=6ZarI>$r2[tFXi - d0;b?VBsS?^8m\'+]]bT+[I>g(>Rcchp,bhU[lSCc$@e]o/hc91"0>jK\*n'6=PcJ8*=$pV - aRW>rHgH1T;$>]Ifla*CaX:o,O3/o/d\S[KLRfR*;24I*]E0u]Wf_ji1)43c4oT@3X-e%J, - fI6kX'"k; - e_F*V?"DO!>M&h?X1`N*S-do?.Fc&+_*(6;44V0;Z.`GigKY]0ICn6^3Pt`g]3Gfq]kuMpa - 4hS$g721"?-V/qhqi.ZchAo+4$gmb$/bVQ4\LY3 - i1JDQRZ?EZ?f2se7'JfamO(Am+J - Au`S5-N=,4?NoUs1[^i]D-f:hSt!$l:\!<06!gI(hYE/G'kuO2OabQ;e/@GA0-cUCO&sa!T - 1AK:UQo07Ys/b65(TEahgJi\oWsPLqVra5F'=&"oHlM_S6mYO[p@`Ud(L7&;q%)h&)\H5dC - 6H.e*Hjb^\[QVHZV'/5>C8^;+oH#M17,Octe>YpO1Mkj?DsNT3%=Boo$P6R_IsGRb.p.L+:Ve!BcB!oek>!ZMs;6:VXA - Nmqg[,\!+l@aKNBVX=%2EXH(8W1IC.Mn'c>=!M>h!fV[r:;XMc!@?UgPu2:FN12R0HRsY-qouHYn6NQLrqk9,:GmR$^,rrP\Ce - 9\49ZO2Z*.@`qBl;W5RW0-/+ - *QW7`T-u%,UoP`?:W+HAb)TrJkX*W@<p6SZ@$-G5B2WR0"c""SGkncl>[S*0m"iu5 - #?(4qp"]lf/YZDUtHJ>d"G[?c\ieDkb^1hOV,6Ig[(]Z0?Vg61@>9=^FL]a-V_YL2(HC=[) - 60;9Q5DBo[E'[do"DlKJ>6m;`cE@Vc8X\o?hA:imbRtXGoW\Z>79V=0"E,ACrbnLI*jU"\C - d>0[(29\5m[lVnprIVa8mWZMSGqeMFl;ZSlZ6kKh`hIiu\\lX)uqG>-a+fMg>Wp=Sdb,kt\ - Ge_;`AoZF3=h0$'S9>e7Qbu;Ecbuo5>0*O4fcL.O,J'V):%tUo?,<6_"psgsSh,s#;VPoE]MkZmQ - Td5AWL@0P^6**)F3WO'51AVpe-UflP^3]R+[sH--C0bbhZ6%R]:8XF0SK84C?iRd=CksCnjo#bFT - XA;%OfV?!ZoNnP$=3X%4XuH4UQS[lIN0,h[2K\.dA+"]j!Vito - *k>XI7Xl`6p*R1dar#ce:To>V_6t2c?/k%"0J1Vc8.+_:la;'-7=mUe`m5`s#^u*RgVUC,k - "WGDGcU620kYV.TmSjeWbrG--`7L1KIMXOW/raR;V+`D/9amE!^Pn(q+[qe0s8?M^&gS*V(gYi^7Ik^nRMeZGTtsiqZ)Phj71B!]3V=e@DHT7@h]cX$QuXt - 9)n&j8l6B9c5Emc_c.u;2OUY(SB]3#5Nd - E406C))d;"Fm,"kBXmfmpbC(P`ko@^..P."/4;,/G/oVIdYZ;MRB4QRkp1/E@oeZ/(*CFqZ - @(#jqr.3Dq/72_^I-;Dl;SQtAA9;XSt]\%M-;.K9OQk`f1=.NsY6n=ZAD@90#^>u'&]jAbQm_c'MP*2*iUpjC5bY - ,h1h+S$`Q!nQ9N!f&.9W5MR>68+<86<#X?,(-t#%:.TI'CS%]@J>6\=67H0Zn"FGQ-^[bX# - o]SgqM)cP'aqYD#k$(;\Y/a5$S]LF2qU[Wd_ji2>Of0$Vk3Qm1tXi]DNBp,Tj3de^Gc@2"s - p-_M*U-e=dhkqF/Q_:\o81=Y7k+$Ao/,`;5*bfc,#*.H-f*uX+L[imK?GHP$kk8TA9i6kpd - c<0Bc_OS#m1M07u\%:BgbRL.bSqFk)NK68^+.8t&;nY3o''LkkNH?bp2g;Fq;ehqgZo0\gQ - q?1GCKT0f<,H3CaicR>AUm*.K]?G9@pJIjV,]*bi - J-&33?N#:>$RI?#;]f[;cU9]6d%;36^!\XKe_;)e3T"/[)[c[S5MhPA"kdPI("4B>_@1Epl - .MC,+l@gH1IHn!oeBTn_^cRqm01mE`Q3]XQj)$ZfG<&&#JJces,EIpsH"`&Pd6hmOVOE/jP - 2pZXinm4CVpnm<8r3rJ?/`4p" - -O]-bf9F;C:!YjB+mH;[q/maP`:ip?l2/eWoNnH5WuiDGI$:2NDSaZ1mk!RKQ^)`CiRN9Ue - ?qBu[rsCO`js-%gRWE"Df1VW426F5r1f7q%ZB8V[pHFI42(FglaJs?[H2j!VO?j$+^SL%TmOO[lAXo4E'Db.Hmr*Jd_hC'd_j - mfKJVrnGJEsFUYP`RVss\8bFJT*k55alpO4LCqL=:arU6r]^?;`tIeW=1:TaHk\(LESQhGn - 3;>It&g&?KEoRDqcK0A8n5Qges'E5[DpHQjl5Vr8P/+LAZ#/@M=^[pU&MsA*!r4ku)5_KJ0 - $i[mT#Jegk^AJASliFoVo"Y)+_"7puX;/GWm6Ph,5m.idA-g"F'#BM=5J.NCA+ma.kWsS"6 - /3Tt";O2?$,Rr)_*e_u*$@PS#=1HR5/\I.C[+53-,M2V60&;;oIRkD,X:'15J.h"`$[k:rP - IV?_]0R^"f"'.`KWn_1c32,6UXmW`5FQ'*+;90@RbHG - ^]\#a9J=Cj'#n`c79fsb6p*qXq1Aa1QXebVdI8CrFOs8$m0S`-k0eM+.&laJ=4(jClPTBuo't_d%LY/6 - TuWK1PnYa7OXK4I!^iKLiJ*7o?o=r_6b.C?P_/U%XMD!D`9(>`iq]`EFZnr) - :\2:F[9,o0$\K:o9+;uV"Wk(if]LthT93M>=CpC4Unu4acZi$o!XMD"q7a*-e[8aZX'fr3OVCeh>7Tb9X78*6:e._p"Y(9&ZpHA - CSk?W[%_J9t]0'XMrF?36Zc`9mUhSN42P"K?`2`c4RsU"N)fbcE_Go9a&a9'\#"abI!0PcN - MS;KX4G.;]Ipg1+_q%OrDV<]hNV4c/eTC>ihM!YVmUmt93%acR7d5;;m_7Q2 - 5&0h%AYS@OC>b"Wu&Q)7A;(WP3`>Aqf*=0=t;?[t:'b!t\+OVC4;:(b/jJc"<[aD3#dEO(; - FWo,n-.5d0;/!13I2,UJ-IUu`M9R<%FXnr\,>sL8dle[J74b92(m@C/^oCq;=^&PEa_oF,1GpH;l)@XV(:&,1=864hC4*3U[Sj3l*%P5J.U9kVXHH-IVU]NX+9A@/])$-lCk9ZpRt,kP))e'Ba'1;^ - _/^njqFk,/pLXG"EdAJ$c*H^[3ugh!WFKjG/>N2,27WSD(4gU5:1r5CJJfXk_A:$i$g--BJ?pbh`UbHdes7.hG8bGfX!eH4F[KuZrA - qU1q!9&7rhp!GIAa'@H`&"VP!IF_]J\R&Kt>F"9q=e4F"_-Z3I>UlbZPEB1:hbOu"?F8`sI - E(.JhT\IT>u\Vg<4UnWo&"$8eudY4"S=4Hb>jI*>NOo#jL2,fpc4>MhrVN^4p7_Z&`g")s+4B&LK3fYhlu6bXDP;0lU>I@SbOM.['h3eKim`*&WDY?tq]t;TN/h7c8 - ##,;BY6[J(lifH9nqT/F^L-/t=!s/o)$@Hj^C4rUFIn_qI)Uk0^oCK"\AgnH\Y,!o:6bllh - =Zk7Ur?(D/C[C)9'a3gIGbap%P.e[4c]\Q!L,RQRSDA?QekHi_h@n$X\ou!K1SDuWlA)f/u - <]o?t"_*Jm+9F'(33a-G43a'2jH6KPY",mG:+g-7)&Y6i*UI"e7Nf]9jQ,"T`9H!^;;\eGh - neGaEB.C_"'sJRj(;@th(E!/^_hp#@s0@t4tKGq/*7=@iEe1s%SC)oji?mUVu>=l - `%aj!.3+3Da4fWkJs6jj%7=:,.d2f]16k@iEQl7ST=cC/HjStTXAj>MU$p697i4m'b)d5i+Zk*P.PC"oM(?P([/IRNI5< - U+k;BkJS?F - Sq50k_?8jB:b`k,$Lbr\Gd-l/oT``Um&o]kl9H4hB>1V\74W'n'B6C1UF& - n('kZBa`bIio-#U#KrUfAm0^P[>jpn@m:=F($aDF[3B4[-?(>t_fj\=m;%u.jcoQNN>?K?. - @W+KYrmai+m#%uY&\Ep#A[*LkI3m%m[I&`)s_,+[N:@7NeVIOk\k&I\b?MN - L)$$.6,#LW'B`mYk@HJ999L']FWX:u?Sc_VDB5U:hJM=m7jCqs-ZlN#E>IgarN>CW#As`fn - `?fV^=d;*FCODTFZjPFG9a',,iuQIFC=0Qp2:ll5^0(To9V]8O'6YN93U$_GFiI1)bkGa^j - $qjp7FkA2gKCY2ftpDG6NV7a&m,C2-Yihq#1?bO&:$qLhZO#F2G#KZ5<5T0M<^HC55sf2cB - 6+.sC*(F;IthNt]rFcLanTm`-af%OH6Tp\4E9?r=Z.^S#d/s*0SSnU_;Ch%"Y<3RbH\mB9X - ^!CdNY_tXJ-HFK(5`PhA_55Id2.jpHfI^\IdE;+R:mOJ;.pMk!sOlDXGDm,158#CSsN?>Wr - BY8j]PRKgiG=X!!8L/jXN)rQ<5C>-#8RKP,%!>)#iCN=!I"Z7U5K!ECF3/6M88lMf\'.D`@ - /RZ=I123.a2NFRFif]drCe.-r0;ZrO%9\3I>gmKT>Q(-qT09'8UnZCFGg%c`dPLFIF$/dhp - -[%GfMJur:G=6\*!WoJ]H[%rUc%6n(,HbbC2\4I#luQ0@YF]eO+97Ih1fB4?EIpC&VK"I]( - fsO8/\o@Xi=@8PeOL0A1f@dXOfM$C=@=bH%#%&WnMlJ.*>XLNi6dA9C,6Q - _87U'rr$FuUMF8a'8S!i%,E>0d1C80#D(Upnj1kk-RS=oV7c=nMm1,+C5Z"?MGeG/h7]+Z` - '`+()PujtalP40*AueOl6K#(_9`D_2Zr=%AR\d159Uj:>(H[o5j*/(@0%ZTSmeqII?Z7t%( - )I:4_;]FdX@=i`NQ>Tb=T"a\.@84iEk/j&F#BN8BCo?o-AP6hdqX"D]fro*Y1@C^>90TYD6 - r!aG8n6HpN+++E&ZPn-P)3RjDfH-ITJIr4J-]SZT/3gRkO'b,osL[lL3MufR$nk5@9c?_YC - dN^%B`ihWd\Brb7FCamJeKrDKi6,Nt]5DO]ef^+ZPdhn@@;%03c^4:;-S:\4/_^<`"h#4'a!/KDA?Pnp'81!H_ - 2TGV2+s+&\M_Y'/5&/qoeM8pap - g`=/4p@C;:Dp9:K1=o9jLTFNeLZGd'\ioX&?>?@'NUOh.Z*)2+"!(UU@d9l-\'V,?n5?D0' - 4h?spIo;P[EHfuY/K]+@2?j8"X&jua?EP%>c%b"uAefCD[pC9S?[,l^?/kUE - 1J)%XUJd:@+JB[d-mKC8^D2k^29Z\3h; - 8Yn3&q*TP@VZ8]>kccJ-ugSX'#0EuJsaT^nUoiCQk8f7QIBo`'4$mL+5AUN@4S.8>.neKIi - @I[0k]p)T/0[V#CiOmHQV#._nMRn%mMI=?WfWp`&=mJ:rh:KI!j]>f$_\\c"WW9[dN"(r,J - h)dR!!$9n^JT&6`4@6-_)LJ2m0:E2$-Q_1fA,L@`jg)F/nF^2='4]7T&%ZBu!h\g)ILoZ_[ - [9u%?2Q6ln@>d@#Y,)kqb;4Wq?8sJ)$a3d/U+Gm#t'K$_k;YY;[Y?*3PpIa,*XHo9U4DO#T - XUdak)H4V?X6F%hRYm9o&7%VF+Im]%e7jMpDk]`oZQq,'6810^^6ukDpEh@pY/aA`Q@KOW> - XhqHsjHdDbm7*FAA_NH+5O7MpCmi7rC3&_]l4\?@1=4BRfOL,d6[b9l9hJSGct'uB,/r1Fa - =N07p6b*\#6@p76&ELnj!fh3Z&$\r-[/keRMRdT&&D0`5QkEK&Bek8[IPu#Z72>CknhYZ,Z - jCqi4-#!)mN(7j6>VeXcdl=535*g6o'1f'!/gjo8N70*!c'WPqVEBm&P$W9$.G44Mj>NV#J - pb[CX#;+8l]gtk76ud.+_W-#O)mpA`O@c,@LX&qe3\jb#'VKZ7),,#@\&)bd.aqL6S%Tg#<[e6b'?8Q1M)=XB=dXS$V@X6RGiBr)J_18\O2=A)P - b7Tb[nN*8l$MR,lSJS>M14\#7RkQ:E - a0Y%RK"TYQ]e+e!RIr`ML@a^l:cBsggoXAKa053P5@ - '7ILb_Ppjk"Kd*X9OX8>B=NHF6@);iks)RE:2VkMl^!Gn'ebgX";-fU"3qRh)j(^Dd=os(P - ;%?41f*??Mh9\D(U@7fFIg[lh+tpeeVQ#rl3 - =_#rqAh&[HYHj5J._F=IGn`)O>=@Je<'DPeYr&bciH/9?e%"L**;7j$^E%?7Q/5/-eF(g-+ - hp_G2(aS6[K;1+^e0[7>QR9lBE4L502"lWsZ@if'UV1#Y07Yt7U0Oc#[Mr]>,WL9e)k=erA - .ul6cpbI'T/7!D)^*^l<00SCOWrY!:o=F83k`tnboEt6I[e>1-9?LJ+.OeT2[a_h3h)B'j< - JnWXNoaRkRAk-gkZ.G>*TkPi'fC`HYZ>;bdOm=3*Ef,D%J86H.pU0\a,b@D`4 - EOeX^=0lY;1jTA/e/YkH'*Y*] - ;ICE:s,[q6](QgZkO*LFG//XkPN7s44S]pWn9aktc-3GVhL^%Rc!OY[Kom45!QdX?K^a(c`?@qGI7636g]1qD<--]b537 - +j*o=Pl_&I[XUqbSF=OC7t4# - llYn";"W<&9.n-_ZfNa#]N-.0NA?SM$Iu]"Y_k7OI$8-')iH%")sA+cq=DccNis"s0.amYB - pE^]*JsP"cqsGOF6uq<;NhQ$IG%Gn.uL0AHpMT%?SmG"n)g1gB=b:"q]5Y0`;M9]*j[f$W( - mIn?2r`bl?&dpCR'/E5r@uhYp=b%',E;:>!!L,+8^J[gb=EBu9>>^8]LI'?t>XD*43&Tb*" - T&<0ZbY84h;p?Ref'Q0l(ND0Zf.bmUj&S@-dC(S>qm2%Bcd;\I?c?gZr=,Os_;NZ>4lm3:jED,J7udT%0j=V]=G*@l%M;GuZIh]V - J/-;.Ig`3;?m!^%`]:8E,$_n[W4Sk_YS5I-G)AK8mk](&\$I)I."Ua7Ic-qNF9:LjPWUGXM - HDFnC8:IP%U&t(>)n3XFn2=f-H6sVD+"YI%&40n?4P3PRn`'AA9/k!H,P5-eb_(\dI/O[lR - '+Z_6[SA*q/MaplUkpW9!AZFN0QS*bUDGTT0e%/h9N(U:Eq:o)1F]XL/FsoTdfMl,aY=H10 - @O,\P7ohf3ARp82NpKc'1F]u(H59*1\5B51GpmbQqron8+W'&dsj@[a#6jY1,D3VZB[B_P; - KV$23WAId_._`GYLbqS!&gmit=WJP:[HK3)^>M'@9N"#qKj]+A'sELTNJ`^bA^=0QZhHP@H - K1EBeN044>iB1X/0@s#lQc3n(2^e&+7'V*T205Ei!2o:n+K,Y8X/5GL.oPTrI-]0_]O5r8$ - tZh6;a;_I]42`+/p1^>r25sWq"1NXQmZl(^m-UtFd1"9;lPW15WB1QMY - 8@0+&oI!"J9g@-R82QS]'N%7D7nU(b8on!)1m^i,D_cAC99cbUe5&Ih?V=>C:i.+tnLdZn2 - *UI,';r!]&O@EC],FBm:6,I(0jpJC31EgQnI7E$%EO3\4!r/iY\[.Q$nW_]kj6h2B2nCHVi - 9"3d\u]C\d,?8;DQ`VNjR=Tcgc=E$UIXL7c$hb;@@VHD!Ht"-J@U)c0Ga9FY'!'G0K28+I- - j-%(fJq$WW?!;pA#R&djUL[o5/"+jtogPo?08Gpj:S/Bl_+*Gh3BjFc&Z!!5E=KOqfb1BjVLKF.U=`m)d^D/]i85ea$\cpKn<-@o@Y_$g*^=(@(H_&lhugDH?@Jf*cL4m,IaAEOOnFQQL3f:mP/tDO1ZJ)jLO6M,H8aS'f)AWm0mm&NG - 1NL:pA98^#C[J!F#U@P(<:^0a)KYbE>M]*p[`kn6%$/6HT2%N\!__a-ZM)1J+qoP2`Z+B*I - G8@G5&Bk2uA$t[sg:mGP=ITGD0rOeUr)!HHq(j[bH.26\8C]K@cfE2lVKiUO:[WJ(Ne5\6" - *u'npm4H$D3!Z%IGuGC\='L)1ALR!!SK8F9%Cn=ll08Y]($moIk*<7255$+E^>B2BG-I^lq - HG-r%Z]O\'qB6]>\pb.SgC@2mhKoM(!VQ>FF07T@%BCS/t%f;"hT4]@%FUTCn0nYG[oo1To - KT40+7VpR6pfD.JHhS1e=TrI5/WP)&C:2NQEba[G!e;&5JJcXp7_H?f#EBY`r!oN]=R,D.m - r_bqCt.i9e&d`?0iEgCPBdH'q#QbC23PJSI[O]*`@I7BH'NQ"OA(^r#_SF7I..Uf)-LmFGr - :\.fO"A$O)'R>\ORl_'9Ut?Or76Nfr(-]P][k3G?M;u=b2_r]p%eQPU?Ej3O%5*bFBH\-+T - J9=eD/9@@e>mSCsU,(UKGGLiN4[Pe#d*REqA5s-_R9R(%[GQ(OE=gR@q"SN6e@GuL.m*5"2 - )M*oG&cIs`"SJ-7M>Zd[q;iB)A$)#a3eaHTX^TnYLg$F>Z9;_V0n]>)U=uk`E - \jUsK:p?fVqRP@3n'^iPid]9n9WH]H,3pT0<8+1'O'%i/hCgV4at]FR$rA)3@eP7a0$&7Wc - e-?[.8p>M?KX7f8hq[ot-EOB[,?/"PPKt"D - #ARJP-YA%XD)Z8dqBdYs&Ya[e[elfQ\Dm-co]Gc^.W40F-?b9=QW#O3FkkVTsEO/l4m[Gep - Hc*M_`N_>KUQtBn\iqP=6V^??MY^8IdQ:jj7i7^?VKeTH@ZeO_&]56b]C![c>P3/NXhG`!\ - /UQg/$l2ZgSf#7_p!8)>Mm3*f=:_Z:WKBA$D"dj0r>\Ye(UA3$dZM5s1-oj[J?f11)I6$!+ - 9#cP<6J!)r%iLLUgV4-QG_"2D_o`e[eeX\rM!W4+#+d*F7I(^:]rY7T%-e?\KFtY58U@>D$ - ;\Z+f!Qg-!b[3>9"#(X9B-Z?s*A>g'Y4=!L3EcMNEIg\o7erPk@&LhpiQKn[gLFjQYGDnMX - @S=t%O8&G1`b*F@%$Ob(%:T6K-?_&jg#$$hVDohjWaBXspq-0+(c.&9teD2p_>CX2rU!LC[ - e6QQ$f&2QO-.F>oeQm0%h0%.mMpVCJcr\'%40c_PMih5kYFO_(AS9EqbLesbeN@?dge2\D( - T`mm_nDIOSXm/o!O\K5a'R6tSR-iD_lk3$ha!Dr\H$gYA - p3I*'g-A)f\`di=4hM!sGr=j2;njIR7#D8D0)K@M"ZbW=M2rIr;jHf3=0fH(^Ha*$)N&*H( - 6jo(D+]]nK@;:g8P+4Zu`??Nlo@GO*oI9k+Wh"0Eoe`#?"Isr-44icje.I0-ZefMfX*`(pi - 3NM"Tc[@q!]g;%mn*8^\epQ#knccRqUXpje^g+56^Ba3*C$**GnI;8T[HZtJl/]O*h`gSFT - $PFsOm6:,kC1>??BsqC43nsb^-3M.;H*0-H1B`WocGF'IjaV*6e&j%iYtnbrKm5M$h[jGjM - #0$`BX*e#>M'`RB\Fr4;6Ui=l.PUh[>eI;8EsuKo9$%LOZjn5J-fB97P[q]t5CWO9:_`Jb&Qj=fFp_4,:!.hs/nqc%lS_IkL]dBq'jOpSk_]Ghhn$DlTZL?6tr[i' - [k.]ZBe[.)b\dHgTpch&Lc7S]pW*nSdN`'1@W1m - KcH;7"4?r_ei`bsg*'Kf)?K<"r7+6jT>8)q=M6;b'X4]an,j/c@h+ehu8.;GqYN.mU\Hm/] - s`[-_W+\!:KfAC_%b93t`-rI[qjp%>"W>#pWp4MFTB%9cpMQ&fZ\en&g,e99@/E`Z:ARr?W - 47GVid[[dk=cV^`UG$C9gNI+mTNNAIHep[!neJ.](ITl!ls++3pIE,>n2AO2]gt-DL=(3"u - /W!rHX^uG-GX^SS@9Bn#OA_FI]9VAm`FFM[$:[s'k'6"nC?HIg07i;rSf)e8pjN`^caUnCQ - =)`PP@3N6DO[D-QW<-sA(iPjC$HU*^ol^$p78APRZ2lWA6S,@YNOXM;.jHDIK>:B3Bjp@m/ - !mL[;&8sFcGecjLr3D44LsQG>etf(6r>RqDD88lFu;.84k8aW\;p`5OGbo*a - A/bI)`Zf#ooaeM9"qVe=aRrNC4qpF^r@h=pm"KAUo[#D_>a^.4%AGlD'6k'?rMUZVE%LT0N - a^;mGEHJ[hkme_J-_si&&s3'q[h^?bCI6VAlpO.O@g\?5IQg=GGs/5DaIm<,js$*F^s'Q67 - J5@!_5^3M8?o/4A&2"2QfHC>>PRi@b7LDG+/I#Ua)hS]Ak;gFrkE9nZ,YF"b#f02n?#ul9D - P6\a`D5\ra_le$Uo>YLf!Z^n4*N)%fbR+#%pc1U7#'\06t^?K+oEC;84"Ub(mnVR9KlJH*[ - s1LT+bUC>)7/r,XGPI(Lin7JFRTG`:BN;@k:]?;.7j?(uH"$UhPgNXrp1nh&.ElEJUmF-,j - Qd*b3E/J8q#=48B0`UeGEZdIK^skntZiXF$$`[P:7,q]V3:Q]cB$84V=Q-6K=IOR`lVauM[ - 5jU?U'&lq"b\Qp@i9X-C:P#"_B,:TJ,qNFhF5J[YC/g]ksQ?%jjbXm4:V4>VhEuJ!#.?bNZ - I(,NL2EaP:UBh9m,#'N*d6i+`$DEo)FcaCsVWl83>q0'%OQpeoB$SG0Pjk8[)#G95p=>bG9 - 0;f0]?D@(M0KSY-k"T"jO(*aoth*>EO/lW9/E?m"VHtU;IER - [uPQLoX*W7:TNc2D9FoGWC]O`)uH0n,`U:h,SYLo$$tQRu8r85[nMD'ndlX-rmHa]`@(W4B - gl\q*04&ac4@4_D*Z2NWr)/#8FsP0n$?Ms;<_V6.k!)@E?jkS7-q`\*1J3k&"$j^i6c@Zf" - /E^FMM^8A9oP?-tcOR#nLY*8:c;``B:._D"MnndgCK>^k18@-kR,[)]ID!J-h[Iu(tdq3X]D - =)="Q*0'!9*&mG9hA0j531:A+)e7jcDT78#$1W!9aRrQUXo"C>')-0-lj>$[gaR[H*m$3TE - '&t@5tF3_)P_JicT4_f=Df+IV0'?9[#rR-O,Htk4SSR(c'j59+$:9l,:4^L@,ci!FFM`=ut - 90U)hAKKW(=X]2tm9;OgU+0]E^FXAIZ;)P;haqB`uCU=E_B=Hh.OTK]=XXXC`1O6j/3KrFk - .TmK.F0^ZiOkE*sL%$Hi%rHQD\2QkC`$'o5kYJSG#(ZXSLAgt9Q^N`asATUpD(tAl%R?=gZSXLeD%0gh69N_rW_A:MJj#pqt# - D#Rd8j@VAp!Tq2N%u056qna`i`]ug1.Ih_bjKQqS>VSB*i2%+m^0D#KM.kEB0P_S^ - '.%crh;E(cqCq[.\%^g;d(Q/P1N%-E,5$BuapnH#7]?XMX-'a(SZH[-hLuaSSH'CqUuY@Ii - 'sfgNVn/GDpp#2m2jY=*:KXd1Vh]A8qLpa##aI.+(6^_d^e_WYu5P6M%B4bO92R^,KB9Tt(Makkf3bEs%`_(3`F5;h0k7D='eP"&NXTkH+E[8CQ\d - D<--"^F;AGk4uNk([bp5NXbd>37hEuKoMk$L0[7f4##,(U?6bL0S];a=_sYUPrZQc58[n3A - s51)pkIk^r@9aK*6lRu#5cu@LUBsM@t]+,E7hEDrH'+H[(F(Jg=:NqEX^'N4!n%=R[86n4h - 8`/^O+MDLJ2^,'r*Ka3mLk!ULu04elF.]iZ;T!D%Z6QcAj8VI) - JrHhH-CST^PK[6:^1d7#FeH!Qj&FI(n1qU;6O5A+*CVg@NU,;4'h(WekEU?*)C;Yk1?IP/q - !o%Q%WGQ4/pn)e6(fLHC"5$bl"^A6ntURHT4SDY&GN%_O>PACN7,RKZZcn;>j4epmqd'u/qm(M_kQEsZ,$T=ms<4X!*K9>[$b35FQ,+Y(RDW=uoHhn=s^6"5s;lkdJH(q7[;2cHb=0cDmDkI - !Db]?C\pr"28Jikgo1[X9G0gH[lRYs/9"&6Xe)>Ni_X5/0bY5?kk=e24pdf/3[$^/MR0'Ip - eKm_bPA6VGQg!e\<.h7@s()$Cg3TUe,R(rRC>0Vgrg4&*U0f>D+:_Ak#5o$=j',/fEr5*SG - r9Js\>eW+]J578lsMqL>:0>8BR2`fL-_bcHT?c1mi_i+F\S/3!3/jaqW4ql8L"?8d@3CX\Y - /]fufge\e,%mN/C7?h(E_gFhG]#Ik$*K4CB/3USW5/QYr_TYut'C*L\q)[S/&8W1P/9&)p1 - p;_T&o.7F1jPt`HS=.;-R*_!'(%Z*g-?%#5cXfKr$48&LDnqU&8VTb]G@ou:.0YQ\U6P2,] - >t9a%.ae`^BI8b\Re/I_b;V73$Hg]1G#i)F_`Fap;FLC*Z]o - Q#lub_\6'VRV1$h96"=apD[m9!p46>CrlD$aUG_f>`6>/gqV;Y1DG//,ak\?n1@Ra&ZgEmd^uXIn#V\r^g$o?jQ47Zs/1 - OS-_["hV#>STD:qDQ:UcZh9l;2mHY#Pe> - UpI""+ApT=d*2bLWOPf5r6Q_8cnjNV73Jam*mU;uX6g<8'a_nA"jrS\9oD9`U9[[>'.LmQ\ - 8:J-bq2hi!RZ/g.Vi*`4-%aB,sIP$e"ntO72/Bh'ePD(:0N+p]Uc*o1Jf)*QRcE?`B@(4bY - s,nR&)poh(u@m+hc=]XIV`-XWBX=&_*@:[T,Lf/K<+q8lTcJ(M*%jX\`!Q;,jjfb(TUA[6W - 1U80M`'QmGfF/O\$H;UV+Ad/?F,o+/Pm7ac]ke%4%/D,\l&X0BZsVUV1MM@mXW!#$l*."hX - F>TP7M@mErn69f\`7J - 6,/4O,IjK(RT:^ah;H - p>/>h\&p7V=EFm=C4C-?9RGC*Tu<8:*@gNhj*Z&7J`j+ia,@U?H)SESc/m`m+t1ehO - 7#CH9bhT#@5$shGs_bU2+,m$"$F*@#b6EE_p-B"Q$j$?LA1Bec+Lp"CNPahi8:VecOdkfAK - sIiGKB:NYW]P'&e9M@7C^bSc<&&nmHnT@?):7('Z)i$/_$^@Fc<&V.hG^m_AB#0Pc;;2/CJ - hE@ji/8Eq'!r..&UDV$Ff='V:D-/_Ssqa^hn/#adH-#YWZE5mjT4$<2GKRCS\27MF#^_1\0 - m)p5p2kb;G<@bXN.i#iM"68&Gj,C#pg?),2,=\4!@ropWVFBB8sK@sehtmSr - 5LFQEA5AZ6nacc5'%SGN`Mk4+oW1:mJnJ3f\c*9i6"UL*g^:1jA`68 - \ru6kV>"F2kin*M?-XAIh?m^A0Od35i_H*erVYP65[ifOC*'6e7MG'1,@M'#C;(ftNhr>mV - WuI%iHDIP#-R4i,%4f[@J6tbI^5QRYMnmqCA+ZCL9#)"W+!]R-AJYf0".@+\*GB?@NMqS*0c(7,6lc-I#2Sn\@aD.u;N\QJPZD$>B)m/TR<+5"O"/j#*dHmQPsb"V+9#19r& - D0tf#RPBUnnCJ4oLk2p[Gp/(2&PN`a;>s`n]$Ge54RaXM!3.sn@':=pAe9E*cLaBDndE6DI%8^"7bh2g#!]gT-/07?L` - 45n)"uQfS*dP>YcAUB]e=E2_jcsIrEWuipM4iF6gnAi5F1rF)6/B?U+m_hT)"Ha,lTWQRrL - #7/!_*=.68FXWZDX[hoRO;_Q##@cKN5T)4FIb3X - G?^9tTS]Ua4h]6paD>:[_IEdWd_$\<8hFo7f1#="-4p!r;mr+8/hb0\l?9S;i#^J,s6jLd$ - J`qM"Q)X-X[9V^3Nqa7 - "Mc`IZFWIZ$_%o$nT2eh6*Hdh)ScoKE2LSd"D"sZE807IaAArY,.3RrJG21qZW@)^&G(#"8 - 2>f4.a-6s8MNk4N'/N0N:N;'8+;^(!khH9?LLTb%(@8#OdrU3_m)>Y1I&/:OY"d1\kb[dZ@ - #q@cBDeV.neA\,7_k;/;Z101Xu^M_R&o+Yu;;F2)8%9ltK8E0#\,he'u%*7++cXgJu&>SKU - s5'blun=Ask*=3=N@6WR(V?$uS$0BB`4d;f*6o2:l"moiD.1ac[-['WgdcrL".o1eZMO#`m - $ip>o/c6K6'?2'>PFLl[slZfjXm=BIfQXifFf(ES^N6ogFL"gObFcomC*`%dDQ`\/g`qf$YS - 7PjR!LDbJAmq?@f:Ibe51W0oMr?\YV*8PgI>9m?30UUAk;NUJ]kE\63FPV2KrJ&!RQehXf= - K3S&'t(]i>Yh(?7S*T34@)C2Hrp>Sa\_tR?Zsi:,)ogqOZTEjd-J?`,-FLn#g-Lh:7>Le97 - %u`OrqPL[BHG+4!D>#:Y@IgZ2kn;n9)=eOXsm%D?0i+#2GMHY1*(ni&b_#\D[Z$,>aDrg14 - 3R3.^XCE9UL*FlIc7F(b9Vhj`Kp4]Pt./3H:^Kufl-1#HVoK-cFM?7#H[H$qlXr*;tf3%,@*g-_ugE!<@0#1SAM_ - A%,G:"?u!4Q56$gK6'CD*hnm?_L-&F>-GF_6lc9$'I]\U12^iYX:h2YV>nAVLf.*6$Qk+/!%^KsD$q4VRW*)%;=ZnJJB*E4 - 6J0`SWh3B:Pna)VUXk%;k@u'aoOUQ,l*sOhL\QabH5A4U3TsO`U;(=:e9H - =V;oNH]>l8_DuXWO=fP&8UH6UU))-Df4PMUGZ=7VN#RV3J-Bds>LskrfTU2#`V9C3`Ec`A= - ;(qO5np6VcnU!N)+hUss-j7-ZoeW\m,C<6?^VWE!&qol?9q$G038m8fr=MQ><#SPa-uB<$* - SWn,=D_$GT]3qcYN3I'>KN_cTPDA8;WeYk?_n - =XonP/8[&A(&l3U3m2.$c&8n$G*,e:2.Q#BRBAHZf%K>\>jG[L[Piku0=dI$D;Dce8(?I%$ - [H[8@26:Qpm9/#PZ4K-a<=V?kS];5D!jI4\lUrWgY9,ZDWTN_f(EKXCTDYsh7gN;mcNAaMg - +V9_n:1kn?P.!I.(q8\m>@u,'#6HAm<-=a]DNUWNH\P"L8gm+/2%T(AN - M_8Q<(R/mICW)VG*9:qpQ*HW7cC)!i@JnTEF2h,'H.t%9/:ER8hKR3=P;;=&,G0%K8C4pQ7 - VFp!S[9.Pc.U]2k^;-YV=p&"fZu?c4>EWaQ-7GJ2X'EWCP=VUT$k3ao'*8^XS%meef*:HCO - L?.Flp3cg@&D7h1;g((<+of+(B&GNO!_>bLtW#BPcM"ZhB^8g7)G`m@CAf[`7(VgNRURc,I - 0d*oYnDT6"n@bI[F;m+kmTG]*KA[*@Xh@WPM.5:L^MVGU`P9X/suXogE@9tWAGkk/kLk;4N - Udc%X7aBO!a`%2prXqn=^=&(?em/=;tQAVlsDEU>Qf+P$IC:`rl2e_Td[A.o:amk9\@_%76 - [WX:UEXLjL.h=MBgtpKNSl]a=T+U4UQ^ICT?#DY]9]UUDU"=aYdAgPEl9(6]f<25j3EJN.r - GSM(?<]PfeMliB;iLEVQd7]/:$oVXeFjAheN)eVir"_)G/!(aqk^@^*P/ZPcF)3u%t3Vhn% - 89Ge&VA64lnj(`H^7Eft8DW[,+$bq(E-6W],+hI@n`,5:t*gX+#FY1%EHhX?7[BP?4bPST8OA95#`DL" - NT(*<&,-"DW;jsm!!r't,/jCM=T#-D>NmQ'O9#E$k`u\Yqnc>5ko0G55l'mK"E4F+:XY=Xb - X[a>"@`l\l!4-WjDYWm,>^Rh0HU:-%fT%3rM`EcaXmTCY&4ecrs.'SO0\iu6MtMa:2kCZ8K - A)`,ljlL!i]-COCCB;%$&\frifLZn;dNF5`madI^#:6WCI*0Pm^&:LbL - t#nAbJ^GTdX2q6+91#Uou(VVc@LhiMMad!H3u:kiOjp$ceiUq$']I[G%[N"9BGNX#2Irnrl - e]J"Mu-3dlJ5Yb-\@#,frE2t]WA>,3 - /J-$#Q@g[cjkr]A;G7[R(=/*YE=R.G`r6*6)+MRNELRDWI#\L\)5fAdOFh^rTRp"V%nHp9V - r&5g(hh<@%hLfp'[k1f@*gE`3O3SJtHR4u!6h;'*9$jI9!lpJL;jDlEi - #Et[qa&uX\%c3-=n7k>p9RdL&)88TF[gDI5E+-LGLEW7O%!tLG0#r63"1-6oS@3K[S-;Y9Y - ;/\*#R4"kBAqs5(7<9C<<@LfN0..NDn[q;rD]CP40leQIL1;r:+Dn!n-P=1n&JUbt.JG1IEr!e6aOZ\ - OZ9Z)m`'he9shDcTUcm7eEl9FNZkT[nYB&7^JFQDhgsrm5<4H8Wa0NDoRKqUJNdQ8^s#$Pj - qK=p2W!I1/sr%1r2\I%o!c01%_kNeGE")brV+98C\A2[4P)F0h\nr:pYjQPp]M\9/BP\9bg - /jEa_j&@oF)`1j%bUoat+ZG=o8=;m_*U<6\BbB1A.D7asS$[)Y@Q@97Aq;5nV%B>.?m7c?Z - d3^V+anm;@9F'?sL6t2KeeX6,3^KVB'>U'Iec]9:_93j8=+\hJ@-.qb9b=korVG>LI(#".; - jseS4nrGi.rA2[k-%V8tt-V0OnB'uPg^gEN - 2ddjjZD3kOtc78V?nSWOqCj*"&[_m1<)"9H8F&pV/DR463j)aqoF0=PG=%Y@D1nQ/M>#[K= - 03$iH;Gp%#.`DIVa%#!*HM-Nj>j'n/aFObq-MS4u%1o:>(B"s?C20QBD3D)#(R]DV@63jm' - Xt+nPBpZ(Z8XW+H8iHN\'%eWBm"M8*N84NeHL@8ZTLXLI<63PV4W/-*E2^qIJ<=lPPd/TIt - ,q<**:[1pXpVWZZ5`IJ.ThP\"S9''7onjQ^@GmA$^cS&MURLE-O*aEcbD"ShTp!HLhSuZ)N - ,;oKkMdJ<1L-3)>*jFau9/Jf$">p\A#OLP&ZuEEEHunY^]#%tZUrJp;]p\:K*rKn&TVLY*D - jG`Oi:K8-m[:`)WV=7oOhnUhYVK2S@&m*O>L`mq1-N/T%3X]![Y:Q2A[eVs:@OL]AOnQ?^j - 9dJ0&XL-\U9oR=FgC0V"9hC:'d>n#-O:=@6bl*U4gs&sOO#[B)D'[o)%uf0Ka&quKbo4cbJ - Wa.hNt%)3fa!RtTp'a.P;s)7bZ0i9Z]o8[dg_A%q,r]:%?jp/d90\9\J^YMA!2g%Q$FO83H - :E(>F00$Q2*D_fcuf@s-D>$PkfrufgV;h-^:^ER(8a7)5iQJ3L73:f@d3mH&nMA!=&:gK**Xc"RS:RAq]>!F!; - :Sp\IUm3EgfM///9PAZLJu-Ij\Ef"@Q&,_&UU/XI==$0K?@mE*G'\/)'[rt&M58XfV:oR]P - TtpOF%?)%L.!n">-!<9D15S?W1&2\3Z0qZbGppEWnK=$H@7CA4fJ-7X;[]r3_cG_jCB1QDc - d;^R[kp3\"FY9X]kJ%3r?&/T<,X852,1TRc-V;CG+?UB\JBL[/VrE?ua+DZ;KYWHP`tC=gJ - pTXa3?]]+ZK;6)E!_[!4m2gA.TA`D9K"ZFaPA)L6Oq>HO@3Wr"TJqZEc2L6l\`N#>==(u3V - Oi69k=SCpK&m68=Q`k0qP'\AUp>'$-8l(7^iSW&Q"=M^CCl^N01esjF6H1@A,a1Rh>RCQar - )>;ni/0b - .GR'HcNq3e"6Ij]m6s#gYKb!-bd50Q!'ls4;j@\T.j!@n$^S%F),GTXEU7Y[qV$'>Y6?UX]P=q - W2.D!Aq3aBfZ4KXL]n]J_m,+R"&>g+;fh9I2Rc5bYAQc753O3YE&bl%:^A*_Ba:XAslcTJ8 - SguZk1%F4a>d%XIbI/hI)&'n'BIN8J8SK6-a+jW:6dp4hZDh6>"%F^ile6PYp*:PVP1":UH - e@f#74O\t36.*A)eD4ie>liB@&'iuUeU9O,4^WpFZ-rS`f=_dF4a58d(n&'WfY%+3I21DYlH.eb3g>0Ts>q+R"^YIX\d=&FOh0 - IhIbL'VQeNJcH4lt/KQ-c)8h7`""I.>p"(Y)gkh#7E&?"MrbCYQP5gg.>?IBVX9s5(+HP^T - 7`hD*Qth;Z-\igl.`hD7dUcf,t)iOp>o^!\I'9AmNscJAJ\"2I`9bJR7[:'Tr(g,n=:So\V=ss"j@UW^8 - op5i5`5BPGURC.8/botG="`1-N\'8K*Tr$0X;T/l1BA,0;7/YCMN56CmMU.@Mjqu-E^iW0" - 05empj1^F*cKY_$baD(%(+ji9>*ZYKF_'AL6[$iWrNQL-W89AH4+co-& - OGRMFD^^dgVijT0Jd3us7\k*_2!T-0QVXOm.CBpO8Yae3;qcVJ%5P$,A^sEFg5ui@e*47), - kA]Y[7.)/lGNTV!+m+M%.5-oK1),5$M=?n_7Z'pf5Z]0YX\WKoa^LR@.BFW(/L-& - dH9DAfs;X#Zm"BJ\>t2E+3ZU1#T-97>ZXA_5n<1#6EHaXW6B27h&8:A%Ys>9qr$eZ38A_!: - @"g:_9-2oT:6[iPJE[s-ilpDf0hP8@i4FfKih'WtAjn7R'<3M0qmfnILWr_II4[udA4\fJO - Y_PTE`K:;P6NRR[3_(;=1!%)X5>3@)E)a:)aY[Ur82U;45b;O6s#6I/pZGuT#akP2A4UKT# - i&pGG%hlk,oE,ZC&6qc\]1Jd-Lor2N=StE5X5b&3Z.qVg[*>)5YUQf0NtfOSCVqI%Z;`[k[ - gt9Dq8eY&Wt@oXoQ:j-F##m$6um&mktK=>58D&YHcZ<103jCp8eW2l!DF"<+#_;\I(MAC9f - t9L7^Kb64NsnS!r7%HTW/fVJk854a5:((S!;8%n2o_"l8b9]*Z%Kr0@>BdD0%D>i]XNEj'jmM'\Xkj87?FW/_J)GQP - &P^Uc-%RJIp18_ocF>`kDHerGLIg;4'm,AYmQK.kf=9%Dk0g_3r;+m)'l/drFZM+<41Reh< - nu/6pQrtsNStdbn@f!.BJamfAAt[R-!=q]-*:Fr2APsg8?Y.f)GF&Z]2IS@e2^NADoI%9]= - LAgWASWpD5V$s2C?krn=t2PB=Y.&Nae9DOf$2U?KZ9GeqVFiDEHYX=R5bU]*7.r(98h'[16 - 2,ml=\j&@p4%6YtNFk\3Wqp^X;MdAs%=*N?jHsDfJEP9mkRHtuD8I2]:NbMO<]1-YGGVPbO\8YaJU"j\^ - QW(j$h`nI7EtJ?ppA*B7n3#"XbV[B*s-=QWIguA'[>$a'eU*R#ba#fS7PNhiA,p);+d>*3? - sHcYLdk%]_l!+Z@9@6e>H?u<0B;P7+_0;:%[I45\70-=6P"pUSf#39^s4$bAqH)gq_KW3iu - Ndd1Cis`/`d1V+nHF*NbTlX_tO]dBrQZB;56@#Rf6NlLOP:AlQS^_<1Nj&Lb#nc]4Dc<)u= - 2hOc@2gfXdCn6WI`u-3poEe?dnW@XHBtS#er#'OIbqG:d7b[b$i]?Sh_;Y#uIQ2D5W71+u9 - pC-+u=ADWulOb+jP4hXAo*1At(O`C']Z3=/f1j\2q!l?X)K(*^R8/mdb - ia0C<0Lu&&lqgtpJ - Cr>4B%/s=L:lD@+?C\`%A8hpsHjZ&o6@dK"'*R2t?r45!>p>-obO$qN5#?FABS#*I?,#TJad?ebjX9;s; - Z3HoOkE-p&MijO1;K#QM<@['O;kd:g00L6cT.6(l7^G^HUF?%g//6X;[<^6,HLk7@7)"_JG - ,O!u]40g>AYIUR$JK_Qp"]1uXV8]s=c2$L("E#.ekQ\0MebFb>l'rY7C#Z=,B'E)gq&@Ylc - :$MB._pL:,U.D:a5comF-9df.H#_7bp.t9^o_fiorV*>$),hd@_/U79c6`MCP]uOn\9fdRq - AbSmAY'=V'PDTh^V&bTaDkf6Yr0REc+Ol2Skhe$9J6+Jl>XUJE"aTIu2S$ - 8R!$sq;k4MQ'B*t_(h-(\dRr4ZN==Ak6YO-k-\KXS+BG"j_5ls]2Q%BH]$Dk/`D*SBZd.ub - =ns#82nSSD)Q'lm;5BU);h9"G&MrB8>9]dp/3\..FKtgo&s@1j)i1b6@&^\C02d[nQk38=k - biM3=DQ;97t]^2BQ]#!jK(mCQ05ns6FDqWiBrkMq]7=km3KVP_QKr3L@' - tH8uZug^>@6mHoJ72AYG@><=e3I;)r.$V!OQDg(8K_j3-3kL*S\7W"\ - FYkFs[hcFH?TAH6e-A'Wd=4r5]g@GG/ud?HZ - N;[`:TF)j\8St1;2Br/0Qk+OfG/$plogE1p0PA_qO_J.h06:$12GUUHj<-SbIr'omFStjDX - F##^ijVCg&%[u5b7Yfp\s4445X32^+ZL2Y92kQ(P_AW(VKP2q;cn+Gk)4Ac?Oh+fR49`nt( - odqO^KQr>ch\5/ - McWfkOn(%2?)s)?pDta1VD=cY+m\+BP_oB/?-rkMJ'^a'1N1\a4&ke="+.=r*AlPhTHE\Y\?1 - "m>X&AjuAT<_?2T]2W\,%DHOTqSce(jhsf)^<(^#/S4s_:/k/j;c#&*Pq@j_?;$ur$&ul,= - 3Y#_GhetA0aK`-,P$V_LsATPUaP//&J)56F8;\j=S7@/OKXn_[J39'JdQO1W(1h__a5<6oD - l(2T(2+6^0OIS2eE^42\Ef_jd6^bFbc/U6m,F\e?3kq,/kMUVSFNP%'-VF?7?]q`qM.^3fB - 89E@PG#JdD<653#)S.%Z1,X6rU_Xp[CKMTP!#fQ'9_dlY0r$oYG"i'+u`5GQhKMXlA<5)mG - 7BBTT]Mgu#=2iro6"8u+7^N6:<)^hJF@N>)5R_bS>][o$0ucV-7r1o?oO - u4nI7O2k71;?gN'AdC&4Bbk_6O_B,SQkdMAQae6mRT)Ej[Ai-qOLgaV-$n,`jdE3\CdSYi6 - "iS#3*XAiTq=\Ui?j6Og+h=t]A]-T_!`M5I>J[O@Te/pc-Qdi]/N1Uh`G-=X\.>bN[`mk;d - IajTZ+6Hc4k#V58>0m]q+,a6&aZ&m,O0!(oii`!so<]>>c[otPt`3["MS1kYD-2W4q9W4D- - WN]RD0EZ2b_E'CYX=/E'[*584q_(OHprR!tP.DO193j,"$Ho`/1?4ZlUnPtbY9:^"9&,o:e - .>4TQ`GHt]lMuXN[llX(3q_bp1`8\MEb7"IUm$]H@;UYP - bFYHJ^+"X\D,[9SiVl!lqGXc8N>gXthdlF(n=$fWmj4bKG4WKZ(+e`_2apbH1&(,e$NjPtp - ]*bq.R'FQB#30enlqW8nHse"FNn)QC=h5r=PE<"[&"r&S@X)#>5`>dD^,,J%'(Zn0,#_[`j - o9HHPO9\M_W,cMkR_^^>E\E+)G1oa..nX)?M->NY*C9pNd$Bh^AXur`2d@%0Ud[D)hYb_$@ - 6.Sh?'TD+KXAmai>&VTWpaL$qd,^E5$*qrnY-'6lOl[Z\')YV.cVbt?NTB(qg#bFO-mQ& - AX"#UXtIeFd6N9ie\s>S+T!cLk=:'qj45G1,1i9>.)VWZRD[M[XH`fdtA#U0UpP-`a'7-`o - 9Q-"L*u6s(aNb!hF;_4oT$*n)^:/_u3t*N`M9ZrFA7UJ3JsfpUMSYM5`Eao/ir26Nh$*L7> - (g3$TC$0L!M)^lS@0ZBkiXhNJZ[FqZLh+:-(!b@`[Fc2dg?$O[dRRS&KV85P-8Z0<-#";l5i+ngaI.Ut6pjc)):/LPW6u^55 - h=:Me)%(^fj2[rK]h+GWDagEd?TTch=+0NIbHrc.+7<\jh+W"nlOX:?U_!:Z0"r1:Y>p.>W - LeAKZR@SnZ?Vsc<^?F>n;s^?M5I!/W&J%"l[RI5i&1A"liZp5VsF&* - ;`[AR'/D(1acKnZHa`P@p<,P'J^Yjd>\^Z.cr-@jtcSXPD_H8AXU86%Qeqn*bf - 49HXs9\S/u6Rp+a!^B217=B#\1j#"iI5G%Y,n/'F1&qj$:@l3g(*<'G>8])QE2rAdehji2Q - *)j$S5CLupc2)](*;CgjhKkF_E?T(I**eELoD.Vg'kO*T*WXbnDF_32T:3/raSjIqLs"jrU%,$TC%'A7'5BAsSm!l\F[>T - BDMs;bJu_L3#@EJ7l$_l6rk$P?Y@7MeNr]A(GY^^9-W5S`Ef7BKepa7<2GOC-`=@6n3i4N/ - Lku(2Jm[VrMCr`3EseKaLCj:[pe4P=sV`5I'gUZmM)HmU!f]k2BA? - lYXql\md,TMh3OHk&2m5m]N1!52^i%m? - [qAFGXngD=Me$nUqPDcOj#-#;I,1c]"jaC73.l[rDPeaQC(blVXm@]5?F2aJJ.MI0-5+k$H - LWhU'Y0hTtBQ<&0q>8c'jecDo`iC%EVbSh/DOeuiRAGHuu^-Rh)tDO0B-YB,a^?ai,_2_]; - @P&lsDn7Hhk^0u(X;KL^BF1#"hs#fpD3bpB%oI\Cf7mPf>'QZ3&BGX0\k=B^@8b36UoX?^M - a$-V,4EBUJFSA\rB/fDM:@nc/oe;AIDcH@Y3-26@olicFY>o]m06GN=X%urBLI(-b?1b$lF - n\;scBIn8>P/M>obUc.=%IL9>P3JXo)D_`LMM("D0A-IFPgPO-V3Ko:j2Rnoo@#_Z7+""Ab - StdF_6I(7ko3h7s6h(G8F5$mqd.0:Z(&CpV0pVcY`F6@JB5"pRaBh%s[kn?h@Bko[eP8^P- - h8V=mE1Gh6m"#+>8L=E_G>Fq9?%[uL($NqgYNF!YI\llA1SEkdik44r;5TY\BeR`=E;D&cl - uh^oP"S8ukuCYR(QgaN!9ho)^h7oX]PUk!`t!.#o(6I]qmUduT( - qTl$/Mr]2Zk^+i=q]'d+9R0.CW;?u2qEMK9m!QkjY^:;VqVSN(YGZ^H\9lQ)HC)JDb\;G(R - 7=BfqM2T#pV"@<^;B?F`2CUE5K>sHIJc%5r4g*=GJue]bko/jH;n_Y\#amOd!QYSr27tjT@ - 8+)aSNZYI35eD/*MA6-@D/I`RiF_a4^BlE]NNaq/b9cLRn>nf_i4hrD/qQ2j_RcWql6)(XJ - c?k:+2R^q\dDHY;5aB?bb+`;\B-rl;^"5O\LDmsUPlIkRBa5LB@1n\!K1I6[H(:Y1)OhZ&Z - 4qY0W0TDSQuJ3VrL#S[mV#D0g$&4eVr(CGo8,#J'11)1OW_kJi0e06UhNQ>R+f^(dp,)sYf - E[at.0.`#Rj3nl^_IY'F9;YU4*56>LR`9!fM<*r[5bq0<1J("fHU=@SBJN2&&uuV/dV(D9b - ppCfXk'JZ$FN@8@B!Amp.HEX`G)7)XtsiV^@pd%iIDAORqoF%mWVJ!"?T$Sg"( - =o%OULq^uOfAS?8T&Pm-@A2fubU2lY)eo_VKL?ToFHhKV,/SnD->jmMtlg`JJU^W?-Dir;5 - ef?s?MDkl-lf5ItS\du.$oJ^^cr:rV)$h46]WiR3>5n5]0nNi7@U@LL043%K@YT,e75B,C& - &3>mU3sNE[llcs/0YAtJ_/9*?%70GV9,GPZChF?p;064g`6dQQ*Q>2aRik0T9Sj3KYKW+O7 - T!]1'ZeS,E?rS&P^*SJP'e,qb&3_r/kY^,CDB7#gq,GfZMV0Y_Ga-(2T=.(_^8'?FQX!)&R - =i\9@I_'3)3@fK0[;;)s%LR1c0,=7alam0i$(pof>r,XXQ]5OY%Yoc - R;&1&W%d'Loh9N3iK@3N_"/R(oe28#2[>,M=^]jF7<($.ejORfdr\go+'3G=qe4M - UjWPUD(+$4jg6Ql$AN7qoT`-i+>C1AE2!*Cbgm7o4GhI6>)k+@JMiiqY=jC'(AD-qsRU_c"=,&W$j3*MC=tW[HB\BgMN9AMn6`'(ZSqieI\PAoe[b - 1kMJE2$"\"N"Ip2QtpgDf+[CKfkYZsn?Y\$9Mu_pu?bqM(W"COK72uEdNhoeaiYY$'t8^f28p - I*ENoOG5>!/Sb/BUUY9p\QW'pRSf]9=Dk(Gl`pm5&2r]!Ds(B^HId\ZHpHF)7msBKV^Uq"h - `ZO#XhFFKpI1Bk3oelWujmRI:G0Srd5Gib`hqN7#Na9'-G=qX.Zc7/`p&R0E%-sNiidf8Sb - .or"q:lpNI]j(O6$Mno*i&XXY\F:aB;5Q:r"j\)7H$Cs0%uu"%X?>e%Dg[2lEAub(0O^']cmSm!V7a8jgZ'@]\5 - agHFi8Db,Ma,`l`k=0bh#*JkuJA7@D]Xkgo!R2L0r0S5prI[eW80??n."u,*e\(RYPoL9m'5d@oAMZ' - 4P[sg!(]f9XU:$7RKmM?T4ea^6NcM/BZZ([jREMN)J)E1'tEPj"0Ga'/G)7<20Y1m+J&\3a - G.!LHZr9a.+V?H_tMm[#u]p4S%3^W]8"ek^=4.di+1eH)1,1eI,<^G',De01VqB'pt5.8]k - 4>6=_YIU/?B*dE)>JkRA$!9X(7n.("^DETCCQau:ntg:f!3r/DElGuY^&W2=mB4>gG-WVM4 - _,Ej99WUZ\0KLn47R]`0edX=WnW2N[B_-6Bo=jLj(Uha6EUpEOHf6?U-lGC9>25337M>^&F - Oq*h$Gs']I$K*3[!L2.1JCuuUA*-2iZ&B11f#gOdCn5:G[Run8=Z]39>.$KD3lK@Uhbn6IH - BgC:Am0iE@;Al6Y>e8\=rVHpkN+b.FkY56>BOO0jO(HXWP)GMKfH3B>)nEmI+&1I@d]MOQB - fa[TPFjT%i)1C'K4TJ"YFts%?XK]B%YN>944qII([f(X'OIDWp\]XD>-*0>W]2q00R@`W3Z - >)S+Ro+,pU)RHAsIu9jOaroUtp#q:sa=Aag`M^_RjHeOnRQ/mNUef@KrW$MeQ-"ieHgHKh1F_rt:^\CgXfdd.@-`q*^B9&kL.kb1JQ*lmCdF3L\anK$eLWm"g>aFEs>nj&YO1TK9MK(6s&1:U9MW9bLLeO@SBp-YV'NSH=H(#m.4=9NY - /hsK.lK5&VkGqNPtL>0O7C!N8tI[es2:o@U2^*o!U`q)3/TK]`G@#Xk_4tY@)!+"fe^p?-Z - U=B@<;QW--sl_O<,;5%=>0kY-ZOKIpqS%B3Y'lM;*>h'5.8J]/+mrh=f$ - :gY=H]FdDaOg$J=u-&\hu.fS:P"*F#aK;WrHbM7:lr.K.%e8M*B55j9T<7]Khn\tN0^p,n\7U44]=iCcp:O=+HS7%i]$G3Hb"L@Us!^:I[o)S - M40WQ@?1,C]BDF[mjnc`G - #P)bPOWs^=TDZ/Co)++:V%i&eBO<H`OY+54RTUcD=nINjJ%HtK$J - GkQTmB;cV%dqRP7+lM.m'!Lpn##NW5l$C%lm=^*7'QM?nHCCOohWC-YFP&MJFADjc]?2V^<1BJeSoj?NFrLB](U)%#Z,L<9lgLlN<60;pCM*HDf#btkl>War3% - sV:h[JfD$c:bi6WPO0LH;R-O?a2$ZM4#Y^lr(DW3ZUP3d)h&.m.2:qXLr - i<>;sVb2t,6TQu4-7a]l(Ln"4,:kW[jVPeH-]s3AEH!ZfOSFF")"EbDd>0Z458iK?)GuAL0 - pF+2==g2i):>c/iu]6QQ7W]]0F>9/j&[./9,\DI*+M>U0tSH'gaWo2*MWcZdEs!)GoQnk*c - \VC&`XrX4>VUa*g,P&OprOrK,Lra*b+X\&`4\9&KgQO*KgRGOq/^5mit^_2!S-dZ99C04!X - :++&W[k1-$?&8L3jO*thR!;>h^p?R%=9-#qN^dRPC!XWTB-))o*7!+%5Ccn0ln?iZQV&e,r,!=1 - ,C@7o.;aS.l26$1Qs[PZU$D=75NCa1c%c]F%nMJ;)NDj27$:?doeR"AMu>Y2A9pcF)NtCEA - qqL(@sI$;SaM3/2WKD2$5QmdN9\H#oh?=1QoL"dhaI]D]t<9.^HN>;l(XX+":'R3mr"(Zb8 - D`\JI$?,SQk+'>l:4b9tc^4&SF/Ej6jQg`uF,4eilUo7&:=XZnVf5#Od6 - 3E-qI;l`8"8O&GH..h""8=B<]`4/N!-6r+DuB^`! - m/_eNJ!,N`"8&Gr_)mlU'Ip*nM(Jl_\B?e-1EDUnQr/r]*,@2r\7gkE5*"T2%:+G9G'&iO* - _FWo1cGB'5;LR:%o.&.gC+]"]8nF&GYjXT28BL:mCVKPiY[TaU?-%-ZV1s/feVchDDb@8@8G.Zg/T@kF^l+3Rof* - Ro!L7hB*)6PtbG`>?+MDjAg)iE2sI'%i.%5>89ir7gr,aPc9`7Q#HOkee(MMIc_?AajSm$< - 3Is8I_=5YkETajciFla#266O>tlDAYe82p&.[nkuFbhAYD3a6EG/,_'K15J2:6()`q]!6kg6/*E=$4-O&Y - h93)?qZ[YJFZUt[bN>Oa"Teh7euKk:YKCK@2@[^06435SJ>mrlffeW"BFqc\1+;,DB$Q)=G - EYtoQ3Ap2F%QBc,A_.g?7AJY($[c(ILQZ7-=E->`+(Ah-5VYlNeCc - SftO=&!7M5@q:bEYeUQQAnTs!FHXCE7LX^'fC%KXKhEupG\dNGmkj4H.U9e(38hD7; - b&jIC@EnQd4sLj_^@%F>00%X]];FWI+-jI;a`J^>XBp_PEfO9GV[pDg3bP%W - K=A<-\eSt0(%JX^ZQEQ*']7sCjVe]Xi;troI+DN,*\Shheg#d7drH<7Qa5R''*mLY/YT(`pjo" - (X@d%9WtU3-Nhi:Q[0\O``!E=3E5JNk[RsnG!<4\>PD^rogI6`=,.cosJ^dq%nD:Fe;Dh"PuaMZGtrK!B79,RS+lYb`_tFUVk)La];GCC)76mjPE8q - m_9dCjFfgn=o7WP+Qs':'H+)%e1P%I2mTDuK[VE]3*LZ__ST)]7b:'lcmtsiiU6t[sH#Uq% - Q'%-iI\dtGN_VWHer@O)&V1c5f6*#gI>ihNNOie03aJU!DbA[8@TSI`Wed$YClYq>;VK#X^=q@VM;kc,c!:!@F3LV'o[_`B">r - I87V!4KGQ&l=X:&;\'HJnm+k&EH5TN^*;ohnE'T*#0bEl#?26L - 5'#fBV:2Q@YlM3JGI9'Lp=d!Y_eBpKpt,P*$g7Y$@N/a_<;?F4:$a4Cl,*lM>TViS5I19RD - Yt._;)H - :gptYA-cUO8a,GAkI(dW!afp/,_!#$Z*<^WbpjQn7b=I)<4P4hiK?>TgK\ZmRr9;UUXjOe; - I!l[Lg_n+ZLJ+Rad6/%lB>;g+Hd=h;clCl_>l9lBWRkQ$@?daa'b'bq`*)k.qdE_[?f3P%sa)/WJ3$0'<'NW+lqhAf@g'B]+#jU<6k^3SqB - PNs9@EaEnLfc$'gVrrN@L7X+`I^7qH>O7rDSXtd8]PN_c11F?72 - .%6'9OCMa$A-3809SYZpuMY>P(-X1K18<+'nHP5reJ65(?-jEf'DZq*&h_pN0^5d=:rK.JT - -)p2j%&5?IC(g%W6a83^N)E_H7+^[tF36Sg/YF8nd65=0GQd2&`lS]24ASD%^VD!mbSi=tPgdD8+nI\D:UlMD^^q?`[V1(-CoP[= - >16B:(e]qY,NXbN_)*D@2/T_d_o@S@3>ZKZRYBf:*4F)kOoX1&>Z=ZP<_p6i'9T9ZG5Cq'4(5q4`C:Yu""EM$uEQU9`Y - *(&bSk)M]MR=YO\c3eTCJs7?+OZ/#,=q-BP:[sK'W!M,P9SI(b0qod1!MJld'lP%'Z>l$B[ - !A$:@bc\Jkjc_krm0FK`aR_F;3f+:Qs]?euKj%.J&SNB - SD'ZCqZ;p2j#<)cj+rDcg\btujsad4J$L*H=VP<2C+"=-YXU0@mN7=('W - ;"a=;+2>*"pf2c`Q7bDgbX_M%'Q'H7?eg4I5>P#dg?r2!R=`R`U7Ak7RQ=[O0h6md=A6j9, - c"u%A[@p+FfA1dmg@dD]J)Ahk$\$Znc51-JQ8R]Ii:j@qG?\-,*I_@]N[8`#=4QDr<;@k0N - SkP[/U?(&AefjU3,VNQ@2['BM<1%`Dj4CIG#b*q225Bf@J=A&HtSkMNM"[B:5+hp3c8kY;` - ;X.WT-#lI;rLo:+<;\3'NlQBcADfr^?>@SDn5?O[dBFM):$dU?(>5.`ng0tbqd=sCro#=o'13QFI_o#1p+H(;`MskC>mW - `o%T"Do^],J<7uP>qqfOQ4H\.Cno&rLE1M3,ccd7aA)gf77#rg@?!!NTp`;RmjKBVkLJ3!M - a.T8NH-_c,>s>s&]?u%sI_"L1B8Ii2*_31Se"8JIK7,o>/bZiTh"RDHo7(].YeV'@ojeD_heC,U>1]hZ'n&#(d:il,[F-Lr]EN$''l=RPCG0u3'qmGm9g%WFtinh6^70Z - j4'o1&tTpe\Q'j1**.Cu@J.L*8MF[#23lSo<6-qkk@PCW@^&&36[L(1^0Gl?@0aNQBgXf7\ - ENC2b(@>6E&[QTX7 - m`c]k%pVqhfX1jOc$C%XV574hor$@o/@ktNUaD4WR2O\WsXs(A[SQ?6/Y<#3)?Kr$YQSMke[>jGBiM):4p:`?e>WpNid$R2:nf]P_<(nibm(([dGJgc*!)?cd;R/?#FeYQ*HoB;JIW]mFCKFe)#5sa2)(&Xn/ - 4tDYHfH4X@/3TY4F8]O6%;,%T55Y:4(!?hl:$.-p`>cjC7i9+M4?4W)#^.(.%[>n/>0&&FJ - t"%*u4LgW%+_me%WVL.`r+JoQPGOgi(BmY^FNEX;@lP?SW3ut5R.&Ro2$!Q[G)l11J__9a` - 8Rb%>,4s4$GM`-Cr'-6R$4QTrbZY[&E`^:gaq[4fU - +,bh9U1C`F7-o2Bq%],nOXI:l.?#"-(ET,;=T:T(#^KhBlcChu6bX_7XJcLU"7-S(SKYJ[# - ,ZTf'Al+%MrUi`'o[IR!O>;W4KgV#]!a!T(>3%ieah)c?7APH"B1PV.?GO%#"NA@fK`f7pk - Md(0.:W0Zm'[PBt0'WY'`m\_mXB59Fiu2dJp<>ha&pk$C#Y1]N-G7E"'6[qm7F&@PVP3qfN - 4rRfE&hg-gQp/q@nkk$H7"Zp>[bcgP')&Yf"L=R"/k6uPEJqI:[:V'X6cjcZScqrbFO9ZFK - QR.G^bcQS;Xau%P*RL^.$`mf5tW\e]^#X''T]h7TMlK\pNScC)j9gA;A1\HN(,9g'=lsC]W - Jia!JTn,H^RoWS(Z(E/7b>g3='bao#@NXE/%'kg&;RqrI8/>*G7uSXlC#Y,Snj_hc-!gVE?4>V\)?oh__AXIZ26YXjRGC"P[dI+ - r6q-DE_]ob^:#KgGaI%E^"9`>3s+gD/>foBH*2]?V.4p#69:ql2E0n)0-WX$i%7.gH7;F]=]E%_i-u^rPEnN_@u(L'Cri+&\T^l2Og\T,C.5L_mSOl - \T?po]4SF6kpa5R60p'i6j5X,do*HS)Qq-]/RV_bsn4 - m^3lHhFE"qbRn<7;ao_9/'3d7L@O6r``P]bbHdKo6G=OZtW(`[:A5bNN!CW^7aOA6uK?6WZ - F?ODZ\C?n>e71[PaKW=Y4*6n0,d+_SYI6h&QjZqfMk\3i"[USURUU)+>6$RoG<^bY6qj+B, - TsI!+g?VHXK4n7Zs?>K\]YDV/_m-Z[*5bC91&Kebe+au.mQ8YE3U\!9euZ@XJ!a9Vo%0<8A - (,,bg+ADek02Yc$[.3HlONu:-f#g9jDs9bPn]`=ds3KbA=.NI+qL>:#)VP7$,)LLoc - 979X0/k**57%CoFlb5PaB\_h1J7oIfb;a=<7d<"-t)`uSFXYl_$=R1k^=PnA!+&=AUm./FO - GqiIWR&XQW9.!g$]sHudErcYbo7+_(XVh1;FN!2#Y)Te2:*',uN2E<)l(]#i7Ar0k[HW.=V;b[qP,qi."I+)ALd;;-MXT6u7- - dsqXdcCYaq%QXg.G)6mdHrmCNJ(3K3`Z-5;MBm&2'l@aNf3"Ydl!68ONZ&=P1]F>=7pjcjZ - _?dQIqaaf@-t!*t`XZ=C%M$h47KpQe;P0f;4#Mje^D5Leu&r=nS - (_[E&8@6>42le&ZC - >8;4auEK*]R8B\qB/g?K;=l)'Kh-:SA/c2M"':6WP_G.*Wg^M(_@IUF!aBUc*>cl'ke4E4- - MP[BP[doU:r5-:%NA(7R-3_j[(!9/AfI^=E/1o+;l<@O?d)etn?$`P&]aka$Xh7TsB6 - U8PXi8%DYh3H)T*R.k&/7#P)2>u@Jeua#[FN"_!A.eM1nESu/ak80LHKtLWdGa\^%o'`E8Tqih-?@T%I0uOlem - d#h4<_8Sc<#UiS_-F0J2@]Ei`Wed`2FFi)TR0AcCWCM-qXT?S2H+(%,H^'rk9oh$+U"N&op - 6C12Ppge$\aAas#K(#P2#>V)(Ejnn!p%:@h#&iB2#''WW.9A=m+gSK#-9hErHBYRMleD#^2 - %PGh_0?L:g8VHHTV@c8AG=NXI90D^f;dR[)hp">@iClm9:(UJO#"dTlc1U""o]fiF;U$cPc - >9%FKMKe0p94tW?lhAd%QhYA+2g8qj?ug;UgN!n,u'8Ec()7%"?,>1Qq?o.A6qN3c,DS'U> - J).^>ol!1b$U9B0RZ(:1VU\<6f&c.HPYf9GE\#)qdBum7>10`'hgEQ:k9Ve73pZj,RO/[Sl - 1&Nb(o)k"F'2j6tf95NAPIa,D,%XK(Ae1c' - AqjScCmIj:pdA+O5c(n7;BaXM.H7F\@^WdV`.(RZFuW2kikmcjU3+G11-#hVj.:BQ^/3rMG - KOM_BXPe@Ai").BBJ&4?Y$NRen&DV53Bk!^um5El@+ZTD"q=+IqIgLBQW;"e%Y0,I7fg5lm@`d#.SG$\SC! - :ChtVfZ^A7"Jq(@08T?Mm.5L3@=o9'g`#jCZKpretZhC2C7m9kI8cL4sD\ - @dVaOj'L3)SI!pqUYlT - U/A$>=0D[W&,UE/`'/j5FjHhrTT;mV@_AZu>8k&aQ%l[19fdhV7H7!Q84RmZ(Oc/B6e#2XV - (V7eCl=7cQD`Zu2bKD7&B.^F!q2+)KgFm;r#B8kHOo]h':O63e3AB&%B51,albERup_:>5, - BV"3C76XLgImb)U8.D;lCCb3Kd1-+aZ*:poP]C*p_pAm0i\+4@uAfc>@`a/3i+7`bJn\59K - f'`'_KC9!_B9XA%58IjT5k2$DingloD[1?$?uj:CoJ[M*k>Gh@H3c\\OsqH)1Oi1kCU`0(_DfdA! - F,uOZ-]7^'9_+4Hk!*_YYC?&WVY\=]E@b(,"/50"<-Y=%o\Yr1O-4?3ZehSRBrpr6IDdYdc - _dJD/-r8C,C/WIgpp,lTgJIF%"a-fuo)k9sf@/B9pQ8*VtXjkZj$I.u7jXjf0IG#o*CRY=$)[@'P+#r/V_aLcAQ7rs?H#L5dq!MK"a6Y"S(MPCq#k`G;OLK9EN96eX` - 0k,-l.ZASr#q1>H`.\Pd7c4LKCUDS2H?O2d/^o?+38EFKqcs - 2fmh7*U.t.(H(`2hUeV"JDH5!N7Tuq_j'5\G89dti)k-TL>S@&,Ca/>^)qQ.D7Y:X@!MZ*H - !U0Y.?WZ#k!=d_349]h>e*m6R,iNF>EW<tRO4B,m5`H<[ccB$Xep!)`c&HSRPs - uPBN`@LR;EmTVn-aBQLUSc]@PN4Dq]sI`c(Xe'?0J=VXq$0I#fqLmeM%da`(M2+2[W>%l_^ - P>B`rSFIP3fcKguB*N=#6D[FSQqd2eEpO-A;fleCfIGXYR%ggR(r\hsZB"YTm`pWQt>HkHX - dtHXW)NN(OfDZHS[J)M_n)3UT$hiO]:(d=\c;4#]J&]Iq]uTdAN - X9\cLFl8iQc*C+S-4?1on>Vq_#n(RY^Y_X"=WCJ_4TKa28s#1);$58@&tZ)0D5s?BFb7(*# - 2]hKlEQ'!<$$["G2`,"2TUi#iN&kLTI6lrYNA+FU[8-jG3 - 5n+;-)U=!?W)LX7q-`436\U0L`RnU<$ffQ.1)Cd!XFJap]-`b`pW,`(u".)9KW#bu3BNTPf - ^6AX2oj;\PfnK&4[W=!\jlunB8G!*k_d/mcCaFfGbpW'4D+X3._O:e'U6'rAui%.Wfd!@[k - .2Gro/=;Xl^+W#*pBm`JO-\.1<0p_M%4(RJO7J$35Z3^q@luB10reC!8R!@57)+a;C/Mskq - ]hm.Lm[d#8]F=X2'kB'PYb[E93J;IhV?;/1I_gK=c5>LHS/cn= - ERUC<_%X4SP<1g1-&6/L?S,H2`V`oUJ$adM+f&QK?p3!dM'AhmrS9oNjW+G-i0EdDso)S=L - L><,'T=GC)ba.pA`*Xklq?5k?ELXJ>2MRQPmmi[K4gV3Kf(e(:?]Sg>k\PS*!'MM1">,G;" - MjkSAN:K$HM0rEIGP>[jFh5[6KWO-QA;($o`W\m/CoNH^oRPNr=/R3W.uY'#o0f?4,"W%C-8Fo%EU.R`p0AV#+AL7d')K44!p^Tt:G]/cnmAgd0fH@Q'F& - n<_2"#Zl6De^J]p!ALr;0\O_[%l@g[eGV5McOc)esGXHJ)o:,@-BXEd/s2^&/83$$B45dH. - OMkmDtmjb%Ar>r3kdBd%#0&s-[Gl)ro"hi4#*.l/t-.?8'4kmi(-.OY:\Xo>T@C(hB^Z&MflZb?3X3aP9jDV05#4'&shkMnbU!IRVE*h - ]_(p*BpYHq0N>*e7>)K!9!hpc1tuR:$fujT%Z\`f(SmQq6Fc&*/T,7)U[dg8j_ndPdIuSQ0 - D0OVQD29e!`p*Ber8SFP`A#\q&[Q%8j*I$L?1[@#O:J7B:QsXjY.+;A"n/Tlj\O[(<;@lj[ - 7(oenYY>0gF>/X*Fsp4(.:]!03Ge9`uXn#^@L[r0[Nq_rqA9s_ZZ*n9-f_g,tP@BoNE - #N5KkIW6t:`-B#HiZ&Jgm_13c3;0f$rf>R?f.u]`#GlF1_qI2%A)G1U3l>gKm%*spHn^MqJV[R- - DVZM?Su(e-O-9lAD>46>@Sk?]LgAX6Ia"NASXG@Hd14j%4?( - "ln/UQpF/9OkH(?YrVs"XRJYj1%uQF]hC@Ag?8YH/Xh@B)AGIRp@Jd6ho<9KKp1R[q>HJ!O - I9akhT5QdhCQBu14oG/kN\l2lUjG:Dl2._ApO$oMAT(=0P(cC)X>\CcnGSD]s(cMn%lF*$% - )D=VrpSYA@ef^OD#q]u!H5dP&-VSY+Lbi.!&#o(:V8+&%03Rn!jAj'0A?N2\H$=)"E6'qn4 - a(J;"]oL/C8"CWDs!M@-eEBbqKk/07a3V`rY[P"/9(_+Voe=gb/JOO*57.^'r2Ekf-luu]qRTN:O(c]KOI"'E/G+PC$nu6#K3"@Z - +VAY$rD-Dm"-4+ndgKsJdncX(0eWJTFUHL9$OL>ud9-\Cd0D2QR,_k90l$K%I2$Z8PHcnE/ - @N*oAZsn\5cpV%&O*(iV&IOj=h?cPd>S'e$s<@\,Js5o[*1)_q")Dih_13>_3XqCk\]X;Mmga!! - 2E&[1:=a1WCRhTi3P(,<1Q:mDnKYnN8m*RZ)CafcpE.3pX$p@3$U1#!pn:r:W-+etAJZ.0? - T)'X']*)]7rZ>Cto_]H(mq(Y;V8LGj(E?EVS*cWn-Z0_,c1rJhA&E:@K/GC*Fk4hd$aH@>i - Z6Eikr-o?^`Njg.8\ju!gqFCnO:h26nbXZ3kp:?5O&4RF0nCZ,9dt(-.Bib#j'NJj'dYV<+ - S+D8nguC*h%qj[r@qX"d=!SYB-Hj]'b[&Sd\/G%r>#[>1G^H`Ecj&,)'CYr$LFN4ne!1RNA - 5GE0bX@99T:H!!u\Eq1f+',P*I.eX!eKg/s:,QOe"1gf-rI42f^o4Ote(7I42FW1,CX)'&a - sQ)`JF90sb:DdlSFf5m>_?1@kN&o'I67@i8,e4-4SFdmlIJ9.0=,,L\e:133@-X#RC*'sY@ - AbQBg<5ohcE#SZMaPOCPrAN03.2R>b8bcNf[NAT%"2q(\a;[5B?T0*d^1"45iPLi,VUF=G0 - I8[/lj$>1Mm43/Nccg;#&,e-q.!u-i%rUh5_@Z1XT^1X8\5AY]1]]C3"WV,\ag,h5P4'ks. - k),*2=lkUPQ+2&Y;^L>"dFp!oU,H\Db3p'4d.f>bsa]nFWlt]#P8`u<#Ij+*BiV/4-ZX/1i - l61Y=Fe'9XMD11"O30dQBPhS@C4=PC - G\@"gmeOrZDV)OZObdB`#.N)-KX&F,:9PgCD2/?/KD^Eh/3E-Gc;WCb6$!C+M)O-dG1C[Hn - fi&J?=&i[.kd^F&4['<+[-oG4OLl"Nr_W5no9<$=_ac8=2_"nMV*Lc?3Lf)dem8mI$0IQ765P`o&KR@l>\&2A9Q.-",:]@$ - VsI()LKs94TqB@eNB'p((^,q-l6bB$RAfQ5sR\@qIVXAN!h((0=nP+(mK=B(gpe<\7plH"e - #jAQGDjQC2@9I;$'?AepkMG(43aYA!W"Alan+]u_TjUp[DYFq6F(A3Ho[oG - ;k"qQ[sA4K6W`DsEa* - \]FHrnL>(XIM2c$br-ICIgVfAh;r`3_IZTGM3!"\VqP8=jKD95:=EfLds+i#&L3QjR3)tb/6$Ggh - Lhe;dpl1/FrJ@FbM-*?!3),+lia=aaG)A/8\:oNkqi*(IGF6d8Wu/%Mfo@PlZ2!:'\;uS.D - 2S,1M>39nE="+n'jdZ)>mqM?BcTUD!Khti[2%RAP.=#W>0uib%OhF?ZHHSInRP]/FVdhof* - -4S4*+I:FVc3@\N=YR:>9s`PaP$^[Ztc6=)5?4FP0*(fjA6U$'pmrEu.31=]ol*8TOPaQ5O - sY=\Y:Wl^9bqQT$F\q1kA`A!iS>R+\+"f!Ul*VfZ(2C"YY8\US[]!LQn^PW>/$)-*0WELf# - 2RMNB%RF.L,fpoTcSU%i<\`'+QMjtZ5ReAn0\auCnX.)-0SsfUs)?lO3GFSDTFIC+A(8IJ4 - #FHD?TNOQig&%!/EKrRBS2q7L[j.XD34.f?FTY0<I - cI];k>F,^GT3$8sJRF%.-NlV,Jpj=;9'qeIrU=9rlfA./>YtoZaJEd7`LsX.&9CHGHD - [u/bN=MHI8^TEMq9`8%T)0qY.-I$!/j<=*fS'q[Fr.jVZOC'AF.2%:?Ae"0U1fZI8I=gI\N - 9jf^OcYo:#6Ra\ZK*8An'1B$1EXSjmU=jlJ[*cRmni+-,%pY9QV - $(-UgW!E=u.(O84&2P8C1OgW&(]\Zl_*Y;nPQ:]eYY^H`9,392 - jS@\(ioI<_p4YM7br:kZ(na4/&R>/X>,t"C2Q8PE@WK%D@r6.(eZ[]A^ - _V9t>-$%^IB]e)a7"^Shm6^!tjXJgf-=A]\/QY&ipGPrlK5PrrL1PN7PM9XK_bhVMco=(g-dDpMabZhR%P*j$)o>C-Q - `g*)kqUJoc'/Q)rbI[GjI30o.RmPmR?SUN^1a0Am=#i=&\pY18r=nl$VU8YtW>mQB;G4lsM - 8rLIdQAV_%.?QhW%&'O^>o6"1gd)koqg^q%lMt=fd7k(rt#hU_!?Eb4]s?-Bs6$oX1N#c]X - QBA\ZD6r_V=n3dW*?;+0iMcdM&=T'IC92HeSC#]N'j1@)naZW5)Dc9m=kK3T+`E`YXr<_;-Y>'9qi#PgrSd/8e+le# - !iB?#*N:"(.bKU?g>5_h_I)4XQ5LR4)cb2KF]:1q-)(M.h=hQcFr13!l/<)i;j#ltD1Eenc - j/Y@Zi*A#"ob$@N38@e$l+3Ls?8*sZV+t7P\%YYur;Y7f=m@"thgG1\h,31Dag)tq>WY1;& - BKH.kMDf8jPFgg*PmhDp+,N]>iWH3?%qbuEMc,!/0!'$8b\C0s4PiZ_&dj1W$13LGHGi9]Q - K@kE"438]12]cjJYWVYN`P;cOE^)3P7dOS2.rWVm:Vu`B1m>0H%*$\),iohiIF5^%prSkJn - Z;f"@%NY[CDB_6Uce$iaA@ebA<,[/dsq$JSclr1 - Hn*C"7#p2XogU$N+,t";I`1LND+"tXKNK@LYqn.Oa:o9GKZh+4]!!3-#It/Y<3$\D,bVMOn - &D2([*>*rj@M!4C&h*m7`oBqK4;pF$M8Z3O31MHE'o#1&Z$\+'_W*BhC - r/1rTh+>XqCLnN/!3W)1tiA`77O#rUp3Lmp+oI9dc".d738F+Us`t"RK[Rp:lj8lF.,5VPs - Vf\.Ih`WL2m9sas`S!9NniTQ=)1$lE.dW'X$"5ep34l!H>tYjHXJo6A'V@fg#7Y^(2:T@,4>X1HmH>EN@_p1-#Z - ]>H+4NjCpZ8Q>73CPKu)">sF3jiU?V+Ib[[OdrbCa]H6iTK"L(;>Wa)jF8h.`02(s6]eCt4 - r?q&e!5Uqi,OYn$:im-:6'/Gfp-J0%gAsSNMI-P%bG734681Lk%)_Lt7.WYu9K2bI"Z/Nh2h[-]VDF)9AkajZ3`3`.RO(F%,r1pn - &q;I(A79lQWq5u2KBKeuWRe7fI\[$HUCpKV($"We!3pA<0?RC:XU#\Bi<[uI>peJFj0qg6<#6CEEVt: - QZcN>V4B9kPj9a.V(G#kiNu:QfXs: