From a6fb1672e462ad9d5e682287b0d33509b11da458 Mon Sep 17 00:00:00 2001 From: madsmpedersen <m@madsp.dk> Date: Wed, 25 Nov 2015 15:31:28 +0100 Subject: [PATCH] HAWC2 LogFile reader + tests --- wetb/hawc2/log_file.py | 93 ++ .../tests/test_files/logfiles/finish.log | Bin 0 -> 14207 bytes .../logfiles/finish_turbulencegeneration.log | 129 ++ wetb/hawc2/tests/test_files/logfiles/init.log | Bin 0 -> 7231 bytes .../tests/test_files/logfiles/init_error.log | Bin 0 -> 14492 bytes .../dlc14_wsp10_wdir000_s0000.htc | 778 +++++++++ .../dlc14_wsp12_wdir000_s0000.htc | 778 +++++++++ .../dlc14_wsp14_wdir000_s0000.htc | 778 +++++++++ .../dlc14_wsp10_wdir000_s0000.log | Bin 0 -> 618327 bytes .../dlc14_wsp10_wdir000_s0000.log_ | Bin 0 -> 618327 bytes .../dlc14_wsp12_wdir000_s0000.log | Bin 0 -> 618327 bytes .../dlc14_wsp14_wdir000_s0000.log | Bin 0 -> 618327 bytes .../tests/test_files/logfiles/simulating.log | Bin 0 -> 9595 bytes .../test_files/logfiles/simulation_error.log | Bin 0 -> 14465 bytes .../test_files/logfiles/simulation_error2.log | 1439 +++++++++++++++++ wetb/hawc2/tests/test_files/logfiles/test.log | 15 + wetb/hawc2/tests/test_files/logfiles/tmp.log | Bin 0 -> 14465 bytes .../logfiles/turbulence_generation.log | 21 + wetb/hawc2/tests/test_logfile.py | 154 ++ 19 files changed, 4185 insertions(+) create mode 100644 wetb/hawc2/log_file.py create mode 100644 wetb/hawc2/tests/test_files/logfiles/finish.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/finish_turbulencegeneration.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/init.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/init_error.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.htc create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.htc create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.htc create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log_ create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/simulating.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/simulation_error.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/simulation_error2.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/test.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/tmp.log create mode 100644 wetb/hawc2/tests/test_files/logfiles/turbulence_generation.log create mode 100644 wetb/hawc2/tests/test_logfile.py diff --git a/wetb/hawc2/log_file.py b/wetb/hawc2/log_file.py new file mode 100644 index 0000000..182fb06 --- /dev/null +++ b/wetb/hawc2/log_file.py @@ -0,0 +1,93 @@ +''' +Created on 18/11/2015 + +@author: MMPE +''' +import os +from wetb.hawc2.htc_file import HTCFile +from collections import OrderedDict +MISSING = "Log file cannot be found" +PENDING = "Simulation not started yet" +INITIALIZATION = 'Initializing simulation' +GENERATING_TURBULENCE = "Generating turbulence" +SIMULATING = "Simulating" +ABORTED = "" +DONE = "Simulation succeded" +INITIALIZATION_ERROR = "Initialization error" +SIMULATION_ERROR = "Simulation error" +ERROR = "Error" + +def is_file_open(filename): + try: + os.rename(filename, filename + "_") + os.rename(filename + "_", filename) + return False + except OSError as e: + if "The process cannot access the file because it is being used by another process" not in str(e): + raise + + if os.path.isfile(filename + "_"): + os.remove(filename + "_") + return True + +class LogFile(object): + _status = (0, MISSING) + def __init__(self, log_filename, time_stop): + self.filename = log_filename + self.time_stop = time_stop + self.position = 0 + + def clear(self): + os.makedirs(os.path.dirname(self.filename), exist_ok=True) + with open(self.filename, 'w'): + pass + self.position = 0 + + def status(self): + if not os.path.isfile(self.filename): + self._status = (0, MISSING, []) + else: + if self._status[1] == MISSING: + self._status = (0, PENDING, []) + with open(self.filename) as fid: + fid.seek(self.position) + txt = fid.read() + self.position += len(txt) + if self._status[1] == PENDING and self.position > 0: + self._status = (0, INITIALIZATION, []) + error_lst = self._status[2] + if len(txt) > 0: + if self._status[1] == INITIALIZATION or self._status[1] == GENERATING_TURBULENCE: + init_txt, *rest = txt.split("Starting simulation") + if "*** ERROR ***" in init_txt: + error_lst.extend([l for l in init_txt.strip().split("\n") if "ERROR" in l]) + if "Turbulence generation starts" in init_txt[init_txt.strip().rfind("\n"):]: + self._status = (0, GENERATING_TURBULENCE, error_lst) + if rest: + txt = rest[0] + self._status = (0, SIMULATING, error_lst) + if self._status[1] == SIMULATING: + + simulation_txt, *rest = txt.split('Elapsed time') + if "*** ERROR ***" in simulation_txt: + error_lst.extend([l for l in simulation_txt.strip().split("\n") if "ERROR" in l]) + i1 = simulation_txt.rfind("Global time") + i2 = simulation_txt[:i1].rfind('Global time') + time_line = simulation_txt[i1:] + try: + time = float(time_line[time_line.index('=') + 1:time_line.index('Iter')]) + self._status = (int(100 * time // self.time_stop), SIMULATING, error_lst) + except: + self._status = (self._status[0], SIMULATING, error_lst) + if rest: + self._status = (100, DONE, error_lst) + #return self._status + + error_lst = self._status[2] + error_dict = OrderedDict() + for error in error_lst: + error_dict[error] = error_dict.get(error, 0) + 1 + error_lst = [("%d x %s" % (v, k), k)[v == 1] for k, v in error_dict.items()] + + return (self._status[0], self._status[1], error_lst) + diff --git a/wetb/hawc2/tests/test_files/logfiles/finish.log b/wetb/hawc2/tests/test_files/logfiles/finish.log new file mode 100644 index 0000000000000000000000000000000000000000..aa61371d379524d91c8d38120ed2657dd02a88ac GIT binary patch literal 14207 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 X(EsN%{fa+vBkl+0Pj6no(m#I#-Y0Wf literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/finish_turbulencegeneration.log b/wetb/hawc2/tests/test_files/logfiles/finish_turbulencegeneration.log new file mode 100644 index 0000000..73c5631 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/finish_turbulencegeneration.log @@ -0,0 +1,129 @@ +________________________________________________________________________________________________________________________ + Version ID : HAWC2MB 12.2 + Log file output + Time : 07:18:14 + Date : 20:11.2015 +________________________________________________________________________________________________________________________ + Simulation commands read with succes + Orientation input commands read with succes + constraint input commands read with succes + Topologi commands read with succes + Mann commands read with succes + Wind commands read with succes + DLL commands read with succes + output commands read with succes + Output commands read + Initialization of structure + Initialization of wind + Initialization of Mann turbulence + Opening turbulence file ./turb/envisionpp2b_20150517_2310_s1004u.bin + Turbulence file ./turb/envisionpp2b_20150517_2310_s1004u.bin does not exist + Turbulence generation starts ... + Turbulence generation finished, output starts ... + Mann turb. box shorter than required - turbulence is reused after every 600.14 seconds + In Mann module: + Scale factor u= 1.00000000000000 + Scale factor v= 1.00000000000000 + Scale factor w= 1.00000000000000 + Starting simulation + Global time = 2.000000000000000E-002 Iter = 0 + Global time = 4.000000000000000E-002 Iter = 0 + Global time = 6.000000000000000E-002 Iter = 0 + Global time = 8.000000000000000E-002 Iter = 0 + Global time = 0.100000000000000 Iter = 0 + Global time = 0.120000000000000 Iter = 0 + Global time = 0.140000000000000 Iter = 0 + Global time = 0.160000000000000 Iter = 0 + Global time = 0.180000000000000 Iter = 0 + Global time = 0.200000000000000 Iter = 0 + Global time = 0.220000000000000 Iter = 0 + Global time = 0.240000000000000 Iter = 0 + Global time = 0.260000000000000 Iter = 0 + Global time = 0.280000000000000 Iter = 0 + Global time = 0.300000000000000 Iter = 0 + Global time = 0.320000000000000 Iter = 0 + Global time = 0.340000000000000 Iter = 0 + Global time = 0.360000000000000 Iter = 0 + Global time = 0.380000000000000 Iter = 0 + Global time = 0.400000000000000 Iter = 0 + Global time = 0.420000000000000 Iter = 0 + Global time = 0.440000000000000 Iter = 0 + Global time = 0.460000000000000 Iter = 0 + Global time = 0.480000000000000 Iter = 0 + Global time = 0.500000000000000 Iter = 0 + Global time = 0.520000000000000 Iter = 0 + Global time = 0.540000000000000 Iter = 0 + Global time = 0.560000000000000 Iter = 0 + Global time = 0.580000000000000 Iter = 0 + Global time = 0.600000000000000 Iter = 0 + Global time = 0.620000000000000 Iter = 0 + Global time = 0.640000000000000 Iter = 0 + Global time = 0.660000000000000 Iter = 0 + Global time = 0.680000000000000 Iter = 0 + Global time = 0.700000000000000 Iter = 0 + Global time = 0.720000000000000 Iter = 0 + Global time = 0.740000000000000 Iter = 0 + Global time = 0.760000000000000 Iter = 0 + Global time = 0.780000000000000 Iter = 0 + Global time = 0.800000000000000 Iter = 0 + Global time = 0.820000000000000 Iter = 0 + Global time = 0.840000000000000 Iter = 0 + Global time = 0.860000000000000 Iter = 0 + Global time = 0.880000000000000 Iter = 0 + Global time = 0.900000000000000 Iter = 0 + Global time = 0.920000000000000 Iter = 0 + Global time = 0.940000000000000 Iter = 0 + Global time = 0.960000000000000 Iter = 0 + Global time = 0.980000000000000 Iter = 0 + Global time = 1.00000000000000 Iter = 0 + Global time = 1.02000000000000 Iter = 0 + Global time = 1.04000000000000 Iter = 0 + Global time = 1.06000000000000 Iter = 0 + Global time = 1.08000000000000 Iter = 0 + Global time = 1.10000000000000 Iter = 0 + Global time = 1.12000000000000 Iter = 0 + Global time = 1.14000000000000 Iter = 0 + Global time = 1.16000000000000 Iter = 0 + Global time = 1.18000000000000 Iter = 0 + Global time = 1.20000000000000 Iter = 0 + Global time = 1.22000000000000 Iter = 0 + Global time = 1.24000000000000 Iter = 0 + Global time = 1.26000000000000 Iter = 0 + Global time = 1.28000000000000 Iter = 0 + Global time = 1.30000000000000 Iter = 0 + Global time = 1.32000000000000 Iter = 0 + Global time = 1.34000000000000 Iter = 0 + Global time = 1.36000000000000 Iter = 0 + Global time = 1.38000000000000 Iter = 0 + Global time = 1.40000000000000 Iter = 0 + Global time = 1.42000000000000 Iter = 0 + Global time = 1.44000000000000 Iter = 0 + Global time = 1.46000000000000 Iter = 0 + Global time = 1.48000000000000 Iter = 0 + Global time = 1.50000000000000 Iter = 0 + Global time = 1.52000000000000 Iter = 0 + Global time = 1.54000000000000 Iter = 0 + Global time = 1.56000000000000 Iter = 0 + Global time = 1.58000000000000 Iter = 0 + Global time = 1.60000000000000 Iter = 0 + Global time = 1.62000000000000 Iter = 0 + Global time = 1.64000000000000 Iter = 0 + Global time = 1.66000000000000 Iter = 0 + Global time = 1.68000000000000 Iter = 0 + Global time = 1.70000000000000 Iter = 0 + Global time = 1.72000000000000 Iter = 0 + Global time = 1.74000000000000 Iter = 0 + Global time = 1.76000000000000 Iter = 0 + Global time = 1.78000000000000 Iter = 0 + Global time = 1.80000000000000 Iter = 0 + Global time = 1.82000000000000 Iter = 0 + Global time = 1.84000000000000 Iter = 0 + Global time = 1.86000000000000 Iter = 0 + Global time = 1.88000000000000 Iter = 0 + Global time = 1.90000000000000 Iter = 0 + Global time = 1.92000000000000 Iter = 0 + Global time = 1.94000000000000 Iter = 0 + Global time = 1.96000000000000 Iter = 0 + Global time = 1.98000000000000 Iter = 0 + Global time = 2.00000000000000 Iter = 0 + Elapsed time : 0.8062344 diff --git a/wetb/hawc2/tests/test_files/logfiles/init.log b/wetb/hawc2/tests/test_files/logfiles/init.log new file mode 100644 index 0000000000000000000000000000000000000000..3ee6dbdc722e6a4996a367814aa51ac66cfb55ed GIT binary patch literal 7231 zcmeHMU2oeq6y0-y{s%s87{HK}s1Ls-ONtdpSD*{lM}d}Tn}{SD6dfn~^}D2OC;o_1 zS%s6LQvd@t?>+b4L-O!a$+FjZ-oHcWA88t;YxMCFjnJRxU;kjAE)b<Saf8=-iYBU* zNH6SsVck#1KR2q95QC5rNk`n{9}jjZtOKL*h!V^Q4d1_e9S*Y$SoupXD`9R?uB%Ga zMT3kK1zIXQL(L-3Wdk;Ut7=gS>$vVR`vRV-o}xlnf%F7bLe*%jiwCII>ZLRe%3~ru zm$fs+XU_PnHnPlkwagle?Y)~Ut18{(Gg;qiq-vPJ&d65Jb*ZN+%UK~OnRhr?$<4~} zNp3!~PV^V+g79y*G)V5~>YACDxY>Anv*t59x~|z`Oy6W#F0mn1F{tXm8V6W51U7gU zHaHq~T#7=z%~@zu8&=sfGvT3+p9}B)%xtt{ompRq1`b4{WNlkHe_2{VnZfk#f49fu z@Q0w}bFW$cpzaB*oVu|F4sH7lM=p3crRw2vA%%f6zo%FKIH&L!x3##9+=GErdi6?d zb7XY2cb`Pv-T&RV9uL9ET<9hGb*?SQj1nb7lTt5#>lCK1sxCSW);(A&SiZxYXoJpg zu0E7vjw)Tqas;Q8f7ZsuLoF(mqsEG|ge<_Y^)$NjmxIx|0d->loz)^2c6Li+T)4&; zVT@asQp0IgVC17UGWX4Jy{N`e@sr1$XAso~%+|?mi7XnII=?;CWuHp}y>gpz*E|Sk zXT%iAQdU55CvUxseFhG>D|~yO>NNT6uUy+EK+Gjff_<1v_6_p#)}x&J70|p=jX!hr z)2yQJ!SLnv_4fMMxmF*)#y{4|DXaRo?c(6B4F~rkw+ka-pKV6n4I9Rs1|XxYHXvtD z$2Z=7(A%v9$lv-8Ue$#xRAVzIm>HoM^b`<ZxF62*)vbP$*-m6of5;x*F8~%iPIc8@ ziEBCaTJP%cre2V1js3UwgM#y&F7IUHO9HjVNLXaPjNEt_U=js1WN{itNlLuW5VRns zEZ`vpI1&s*<CsQq90dUh38V2qv>4FBfWsdpEJ+5UB^XkQ2un#wgCrb=#wlhI=R8V* zJScb|8q8@*NXlu#;$Y}3@DN8yz@spY7)t{_Ft-?oG!CLP2m_Xof$NPYIEs19IH3t8 zoDIt@BA9Z@7z=sA2UiMcJdFYln~Ehd+pM?!UB8444_j`3pnVy)Y9XP6M67M?4jRjQ zD@`rdO$Ep;m|d-Zbn1)GpbfT0muE&bT4t+nr8KyJW<-HNSSzc!l?A+^^lv2rVn@w3 zVO~ZAXJ^zb#s<V))zZtD|HzD-u3n=4;sWQ;lFF8ZU9EFNPPbpke${0G7KB9vlkMl~ zclZt?`y_7)YMZf6-tvdMRCzX6HlKZ0`Z|ESSbWB<Kc&wA`E_v;W~Z{2M!=z*HPYPa z;S2HrU>B1+=KUGm0XQ9Vm4vl8HsV$eCv6+6i?2t^{!~5so{lBIsxtSFoUBxpvdwU^ R4nlTuw&(DKx*4dP{twdeUbp}N literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/init_error.log b/wetb/hawc2/tests/test_files/logfiles/init_error.log new file mode 100644 index 0000000000000000000000000000000000000000..24595ee3435b5b2b076f81c478e1394d36370f9c GIT binary patch literal 14492 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 YPJi*D|KE8)1y4N(zCU7~yO%Hi0b04v-v9sr literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.htc b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.htc new file mode 100644 index 0000000..d542030 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.htc @@ -0,0 +1,778 @@ +begin simulation; + time_stop 200.0; + solvertype 1 ; + on_no_convergence continue ; + convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log ; +; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +begin new_htc_structure; +;------------------------------------------------------------------------------------------------------------------------------- + begin main_body; tower 90m + name tower ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.62e-03 3.62e-03 3.30e-03 ; Mx My Mz Kx Ky Kz , M΄s raises overall level, K΄s raises high freguency level + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 8; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -10.0 0.0 ; + sec 3 0.0 0.0 -20.0 0.0 ; + sec 4 0.0 0.0 -30.0 0.0 ; + sec 5 0.0 0.0 -45.0 0.0 ; + sec 6 0.0 0.0 -60.0 0.0 ; + sec 7 0.0 0.0 -70.0 0.0 ; + sec 8 0.0 0.0 -87.6 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-05 3.00E-05 2.00E-04 ; + concentrated_mass 2 0.0 1.9 0.21256 2.4E5 1741490.0 1.7E5 1741490.0 ; Nacelle mass and inertia + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 2 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -1.96256 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 4.65E-04 4.65E-04 7.0725E-03 ; "tuned by Anyd 23/5/13 to 31.45 log decr. damping for free free with stiff rotor and tower" + concentrated_mass 1 0.0 0.0 0.0 0.0 0.0 0.0 5025497.444 ;generator equivalent slow shaft + concentrated_mass 5 0.0 0.0 0.0 56780 0.0 0.0 115926 ; hub mass and inertia; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 3 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.0 0.0 ; + sec 3 0.0 0.0 2.0 0.0 ; + sec 4 0.0 0.0 3.1071 0.0 ; Main bearing + sec 5 0.0 0.0 5.0191 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 4 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 9 ; + node_distribution c2_def; + damping_posdef 0.0 0.0 0.0 1.41E-03 2.39E-03 4.5E-05 ; + begin timoschenko_input ; + filename ./data/NREL_5MW_st.txt ; + set 5 1 ; set subset + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 19 ; + sec 1 0.0000 0.0000 0.000 0.000 ; x.y.z. twist + sec 2 -0.0027 0.0006 1.367 -13.308 ; + sec 3 -0.1057 0.0250 4.100 -13.308 ; + sec 4 -0.2501 0.0592 6.833 -13.308 ; + sec 5 -0.4592 0.1086 10.250 -13.308 ; + sec 6 -0.5699 0.1157 14.350 -11.480 ; + sec 7 -0.5485 0.0983 18.450 -10.162 ; + sec 8 -0.5246 0.0832 22.550 -9.011 ; + sec 9 -0.4962 0.0679 26.650 -7.795 ; + sec 10 -0.4654 0.0534 30.750 -6.544 ; 50% blade radius + sec 11 -0.4358 0.0409 34.850 -5.361 ; + sec 12 -0.4059 0.0297 38.950 -4.188 ; + sec 13 -0.3757 0.0205 43.050 -3.125 ; + sec 14 -0.3452 0.0140 47.150 -2.319 ; + sec 15 -0.3146 0.0084 51.250 -1.526 ; + sec 16 -0.2891 0.0044 54.667 -0.863 ; + sec 17 -0.2607 0.0017 57.400 -0.370 ; + sec 18 -0.1774 0.0003 60.133 -0.106 ; + sec 19 -0.1201 0.0000 61.500 -0.000 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0.0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.2 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.7; + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0.0 ; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.5 ; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 -0.5 ; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 10.0 ; + tint 0.338432 ; + horizontal_input 1 ; + windfield_rotations 0.0 0.0 0.0 ; yaw, tilt, rotation + center_pos0 0.0 0.0 -90 ; hub heigth + shear_format 3 0.2 ; + turb_format 0.0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 100.0 ; + wind_ramp_factor 0.0 100.0 0.8 1.0 ; + iec_gust ecd 15.0 72.0 100.0 10.0 ; +; + begin mann ; + create_turb_parameters 29.4 1.0 3.7 0.0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/turb_wsp10_s0000u.bin ; + filename_v ./turb/turb_wsp10_s0000v.bin ; + filename_w ./turb/turb_wsp10_s0000w.bin ; + box_dim_u 8192 0.244140625 ; + box_dim_v 32 4.0 ; + box_dim_w 32 4.0 ; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 3.0 ; + radius 87.6 1.935 ; + end tower_shadow_potential_2; +end wind; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AeDist_Flap_01.dat ; Distribute points to preserve effective flap length, use same setup for baseline + pc_filename ./data/NREL_5MW_pc.txt; + induction_method 1.0 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 3.0 ; 0=none, 1=stig øye method,2=mhh method + ; --- Flaps --- ; + begin dynstall_ateflap ; + Ais 0.165 0.335 0.0 ; + Bis 0.0455 0.30 0.30 ; + flap 43.05 60.885 ./data/FlapInp_NacaThk17.ds ; Flap Sec: 1 + end dynstall_ateflap; +end aero ; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 6.0 ; tower bottom + sec 87.6 0.6 3.87 ; tower top + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 5.02 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 5000.0 ; Rated power [kW] + constant 2 0.72257 ; Minimum rotor speed [rad/s] - NREL report + constant 3 1.2671 ; Rated rotor speed [rad/s] - NREL report + constant 4 4.6e6 ; Maximum allowable generator torque [Nm] - NREL rep. + constant 5 0.0 ; Minimum pitch angle, theta_min [deg], - NREL rep. keeps to 0.0 + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wptable.n', where n=int(theta_min) + constant 6 84.0 ; Maximum pitch angle [deg] + constant 7 8.0 ; Maximum pitch velocity operation [deg/s] - NREL rep. + constant 8 0.4 ; Frequency of generator speed filter [Hz] - NREL rep. + constant 9 0.7 ; Damping ratio of speed filter [-] - NREL rep. + constant 10 0.0 ; Frequency of free-free DT torsion mode [Hz], 0.0 no notch filter used + ; Partial load control parameters + constant 11 0.216828E+07 ; Optimal Cp tracking K factor [kNm/(rad/s)^2], ; - HS2 tune, lambda opt. 7.55 + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 0.193160E+08 ; Proportional gain of torque controller [Nm/(rad/s)] - HS2 tune + constant 13 0.433451E+07 ; Integral gain of torque controller [Nm/rad] - HS2 tune + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.81 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.16 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-8 ; Proportional power error gain [rad/W] + constant 20 0.4e-8 ; Integral power error gain [rad/(Ws)] + constant 21 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] - HS2 tune + constant 22 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) - HS2 tune + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1.0 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1.0 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1.0 ; Stop type [1=normal, 2=emergency] + constant 29 0.0 ; Time delay for pitch stop after shut-down commenced [s] + constant 30 4.0 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] + constant 32 6.0 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 5.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 5.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Over speed percentage before initiating shut-down +; Additional non-linear pitch control term (not used when all zero) + constant 40 25.0 ; Err0 [rad/s] + constant 41 10.0 ; ErrDot0 [rad/s^2] + constant 42 0.15 ; PitNonLin1 [rad/s] +; Storm control command (from MHHA ctrl rev.) + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 30.0 ; Percent maximum overspeed of generator speed before emergency pitch stop [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] + constant 47 126.0 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 5.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 5.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -90 ; global coords at hub height + dll inpvec 3 2 ; Elec. power + dll inpvec 3 8 ; Grid flag + mbdy state acc towertop 1 1.0 global only 1 ; + mbdy state acc towertop 1 1.0 global only 2 ; + end output; + end type2_dll; +; + begin type2_dll; + name cyclic_pitch_controller ; + filename ./control/cyclic_pitch_controller.dll ; + dll_subroutine_init init_cyclic_pitch_controller ; + dll_subroutine_update update_cyclic_pitch_controller ; + arraysizes_init 11 1 ; + arraysizes_update 11 10 ; + begin init ; + constant 1 47.2 ; Lead angle [deg] + constant 2 1.26 ; Proportional gain at zero pitch [deg/MNm] + constant 3 0.28 ; Integral gain at zero pitch [deg/(MNm*s)] + constant 4 0.0 ; Differential gain at zero pitch [deg*s/MNm] + constant 5 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 6 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] + constant 7 0.2 ; Low-pass filter frequency [Hz] + constant 8 0.7 ; Low-pass filter damping ratio [-] + constant 9 10.0 ; Low-pass filter time constant for gain scheduling [s] + constant 10 4.0 ; Maximum amplitude on cyclic pitch [deg] + constant 11 0.99 ; Thresshold for full power switch [-] + end init ; + ; + begin output; + general time ; 1: general time [s] + constraint bearing1 shaft_rot 1 ; 2-3: Azimuth angle and speed of blade 1 (zero = blade up) [rad] + mbdy momentvec blade1 3 1 blade1 only 1 ; 4: Flap BRM of blade 1 (pos. bend. forward) [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; 5: Flap BRM of blade 2 (pos. bend. forward) [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; 6: Flap BRM of blade 3 (pos. bend. forward) [kNm] + dll inpvec 1 2 ; 7: Pitch angle reference of blade 1 from collective pitch controller [rad] + dll inpvec 1 3 ; 8: Pitch angle reference of blade 2 from collective pitch controller [rad] + dll inpvec 1 4 ; 9: Pitch angle reference of blade 3 from collective pitch controller [rad] + dll inpvec 1 22 ; 10: Status flag from collective pitch controller [0=normal operation] + dll inpvec 1 14 ; 11: Torque limit switch based on pitch [-] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of genertor 2nd order control model [Hz] + constant 2 0.9 ; Damping ratio of genertor 2nd order control model [-] + constant 3 4.6e6 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.944 ; Generator efficiency [-] + constant 5 97.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 1000.0 ; Time for grid loss + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 4 1 ; + arraysizes_update 3 6 ; + begin init ; + constant 1 2727252.0 ; Fully deployed maximum brake torque [Nm] + constant 2 100.0 ; alpha, used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.6 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Filter frequency [Hz] + constant 3 0.7 ; Filter damping ratio [-] + constant 4 8.0 ; Max. pitch speed [deg/s] + constant 5 8.0 ; Max. pitch acceleration [deg/s^2] + constant 6 0.0 ; Min. pitch angle [deg] + constant 7 84.0 ; Max. pitch angle [deg] + constant 8 1000.0 ; Time for pitch runaway [s] + constant 9 -1.0 ; Time for stuck blade 1 [s] + constant 10 0.0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + ; ; - For Cyclic Pitch: - ; + ; dll inpvec 2 1 ; Pitch1 demand angle [rad] + ; dll inpvec 2 2 ; Pitch2 demand angle [rad] + ; dll inpvec 2 3 ; Pitch3 demand angle [rad] + ; - For Collective Pitch Only: - ; + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 2.66 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 3 0.75 global ; [1,2,3]. Tower position: 27.5 m + mbdy state pos blade1 18 1.0 global ; [4,5,6] + mbdy state pos blade2 18 1.0 global ; [7,8,9] + mbdy state pos blade3 18 1.0 global ; [10,11,12] + end output; + end type2_dll; +; +; ------------------------------------- Flap Control ------------------------------------------------------------------------------------------------------------ +; 1 individual flap per blade with PID on HPF Mx with rate and range limits +begin type2_dll; + name flap_ctrl ; + filename ./control/flap_dll_type2.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 15 1 ; + arraysizes_update 15 15 ; + begin init ; + constant 1 1 ; Case 1: PID , Case 0: All shut to 0.0 + constant 2 1.9374E-3 ; [2] linear factor for P gain scheduling [-] + constant 3 0 ; [3] linear factor for I gain scheduling [-] + constant 4 1.1029E-4 ; [4] linear factor for D gain scheduling [-] + constant 5 6.6017E-2 ; [5] reference pitch angle for gain scheduling [rad] + constant 6 0.01745 ; [6] Min. pitch angle, below min gain is kept [rad] + constant 7 0.419 ; [7] Max. pitch angle, above max gain is kept [rad] + constant 8 0.1 ; [8] Threshold of "rated power indicator" above which flaps are fully on [-] + ; - Operating Times: + constant 9 90.0 ; [9] time for controller to be active [s] + constant 10 1000.0; [10] time for flap to run away: each flap follows given prescribed signals [s] + ; - Flap angle when overspeed is detected + constant 11 0.0 ; [11] Flap angle to take when over-speed is detected [deg] + ; - Flap servo Parameters: - ; + constant 12 10 ; [12] max flap angle [deg] + constant 13 -10 ; [13] min flap angle [deg] + constant 14 100 ; [14] max flap angle rate [deg/s] + constant 15 0.1 ; [15] flap actuator dynamics time constant [s] + end init ; + begin output; + ; - Time - ; + general time ; [1] current simulation time [s] + general deltat ; [2] time step [s] + ; - Blade root moments - ; + mbdy momentvec blade1 3 1 blade1 only 1 ; # blade 1 root ; [3] Blade 1 flapwise root moment [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; # blade 2 root ; [4] Blade 2 flapwise root moment [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; # blade 3 root ; [5] Blade 3 flapwise root moment [kNm] + ; - Input from main controller ; + dll inpvec 1 24 ; [6] filtered mean pitch angle [rad] + dll inpvec 1 22 ; [7] Main power control status: 0. normal operation [-] + dll inpvec 1 14 ; [8] Power rating status: 0. below rated power operation 1. above rated power operation[-] + ; - Filter setup and PID gains - ; + general constant 0.05 ; [9] corner frequency for blade flapwise moments high-pass filter [rad/s] + general constant 0.00375 ; [10] Proportional gain + general constant 0.0 ; [11] Integral gain + general constant 0.00027688 ; [12] Derivative gain + ; -Prescribed signals - ; + general constant 0.0 ; [13] Blade 1 prescribed fixed flap angle [deg] + general constant 0.0 ; [14] Blade 2 prescribed fixed flap angle [deg] + general constant 0.0 ; [15] Blade 3 prescribed fixed flap angle [deg] +end output; +begin actions; + aero beta 1 1 ; [1] + aero beta 2 1 ; [2] + aero beta 3 1 ; [3] +end actions ; +end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output ; + filename ./res/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000 ; + time 100.0 200.0 ; + data_format hawc_binary; + buffer 1 ; + general time; +; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -90.0; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z +; + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 7 2 tower # yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 2 2 blade1 # blade 1 root ; + mbdy momentvec blade1 9 2 local # blade 1 50% local e coo ; + mbdy momentvec blade2 2 2 blade2 # blade 2 root ; + mbdy momentvec blade2 9 2 local # blade 2 50% local e coo ; + mbdy momentvec blade3 2 2 blade3 # blade 3 root ; + mbdy momentvec blade3 9 2 local # blade 3 50% local e coo ; + mbdy state pos tower 7 1.0 global # tower top flange position ; + mbdy state acc tower 7 1.0 global # tower top flange position ; + mbdy state pos tower 3 1.0 global # tower approx tip height ; + mbdy state pos blade1 18 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 blade3 # blade 3 tip pos ; + mbdy state pos blade1 18 1.0 global # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 global # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 global # blade 3 tip pos ; +; + aero windspeed 3 1 1 63.0; wind seen from the blade: coo(1=local ae,2=blade,3=global,4=rotor polar), blade number, component xyz, blade radius + aero windspeed 3 1 2 63.0; + aero windspeed 3 1 3 63.0; + aero alfa 1 45.0; + aero alfa 2 45.0; + aero alfa 3 45.0; + aero cl 1 45.0 ; + aero cl 2 45.0 ; + aero cl 3 45.0 ; +; +; Input to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Output from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 3 1 # Mgen LSS [Nm]; + dll inpvec 3 2 # Pelec W ; + dll inpvec 3 3 # Mframe ; + dll inpvec 3 4 # Mgen HSS ; + dll inpvec 3 5 # Generator Pmech kW ; + dll inpvec 3 6 # Filtered Gen speed ; + dll inpvec 3 7 # Elec. pwr ; + dll inpvec 3 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 4 1 # Brake torque [Nm] ; +; ; Input to mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 5 1 # pitch 1; + dll inpvec 5 2 # pitch 2; + dll inpvec 5 3 # pitch 3; +; Check tower clearence + dll inpvec 6 1 # Bltip tow min d [m]; +; - Check on flap control: + aero beta 1 1 ; + aero beta 2 1 ; + aero beta 3 1 ; +end output; +; +exit; diff --git a/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.htc b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.htc new file mode 100644 index 0000000..09ac03e --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.htc @@ -0,0 +1,778 @@ +begin simulation; + time_stop 200.0; + solvertype 1 ; + on_no_convergence continue ; + convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.log ; +; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +begin new_htc_structure; +;------------------------------------------------------------------------------------------------------------------------------- + begin main_body; tower 90m + name tower ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.62e-03 3.62e-03 3.30e-03 ; Mx My Mz Kx Ky Kz , M΄s raises overall level, K΄s raises high freguency level + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 8; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -10.0 0.0 ; + sec 3 0.0 0.0 -20.0 0.0 ; + sec 4 0.0 0.0 -30.0 0.0 ; + sec 5 0.0 0.0 -45.0 0.0 ; + sec 6 0.0 0.0 -60.0 0.0 ; + sec 7 0.0 0.0 -70.0 0.0 ; + sec 8 0.0 0.0 -87.6 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-05 3.00E-05 2.00E-04 ; + concentrated_mass 2 0.0 1.9 0.21256 2.4E5 1741490.0 1.7E5 1741490.0 ; Nacelle mass and inertia + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 2 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -1.96256 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 4.65E-04 4.65E-04 7.0725E-03 ; "tuned by Anyd 23/5/13 to 31.45 log decr. damping for free free with stiff rotor and tower" + concentrated_mass 1 0.0 0.0 0.0 0.0 0.0 0.0 5025497.444 ;generator equivalent slow shaft + concentrated_mass 5 0.0 0.0 0.0 56780 0.0 0.0 115926 ; hub mass and inertia; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 3 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.0 0.0 ; + sec 3 0.0 0.0 2.0 0.0 ; + sec 4 0.0 0.0 3.1071 0.0 ; Main bearing + sec 5 0.0 0.0 5.0191 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 4 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 9 ; + node_distribution c2_def; + damping_posdef 0.0 0.0 0.0 1.41E-03 2.39E-03 4.5E-05 ; + begin timoschenko_input ; + filename ./data/NREL_5MW_st.txt ; + set 5 1 ; set subset + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 19 ; + sec 1 0.0000 0.0000 0.000 0.000 ; x.y.z. twist + sec 2 -0.0027 0.0006 1.367 -13.308 ; + sec 3 -0.1057 0.0250 4.100 -13.308 ; + sec 4 -0.2501 0.0592 6.833 -13.308 ; + sec 5 -0.4592 0.1086 10.250 -13.308 ; + sec 6 -0.5699 0.1157 14.350 -11.480 ; + sec 7 -0.5485 0.0983 18.450 -10.162 ; + sec 8 -0.5246 0.0832 22.550 -9.011 ; + sec 9 -0.4962 0.0679 26.650 -7.795 ; + sec 10 -0.4654 0.0534 30.750 -6.544 ; 50% blade radius + sec 11 -0.4358 0.0409 34.850 -5.361 ; + sec 12 -0.4059 0.0297 38.950 -4.188 ; + sec 13 -0.3757 0.0205 43.050 -3.125 ; + sec 14 -0.3452 0.0140 47.150 -2.319 ; + sec 15 -0.3146 0.0084 51.250 -1.526 ; + sec 16 -0.2891 0.0044 54.667 -0.863 ; + sec 17 -0.2607 0.0017 57.400 -0.370 ; + sec 18 -0.1774 0.0003 60.133 -0.106 ; + sec 19 -0.1201 0.0000 61.500 -0.000 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0.0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.2 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.7; + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0.0 ; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.5 ; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 -0.5 ; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 12.0 ; + tint 0.297386666667 ; + horizontal_input 1 ; + windfield_rotations 0.0 0.0 0.0 ; yaw, tilt, rotation + center_pos0 0.0 0.0 -90 ; hub heigth + shear_format 3 0.2 ; + turb_format 0.0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 100.0 ; + wind_ramp_factor 0.0 100.0 0.666666666667 1.0 ; + iec_gust ecd 15.0 60.0 100.0 10.0 ; +; + begin mann ; + create_turb_parameters 29.4 1.0 3.7 0.0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/turb_wsp12_s0000u.bin ; + filename_v ./turb/turb_wsp12_s0000v.bin ; + filename_w ./turb/turb_wsp12_s0000w.bin ; + box_dim_u 8192 0.29296875 ; + box_dim_v 32 4.0 ; + box_dim_w 32 4.0 ; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 3.0 ; + radius 87.6 1.935 ; + end tower_shadow_potential_2; +end wind; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AeDist_Flap_01.dat ; Distribute points to preserve effective flap length, use same setup for baseline + pc_filename ./data/NREL_5MW_pc.txt; + induction_method 1.0 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 3.0 ; 0=none, 1=stig øye method,2=mhh method + ; --- Flaps --- ; + begin dynstall_ateflap ; + Ais 0.165 0.335 0.0 ; + Bis 0.0455 0.30 0.30 ; + flap 43.05 60.885 ./data/FlapInp_NacaThk17.ds ; Flap Sec: 1 + end dynstall_ateflap; +end aero ; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 6.0 ; tower bottom + sec 87.6 0.6 3.87 ; tower top + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 5.02 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 5000.0 ; Rated power [kW] + constant 2 0.72257 ; Minimum rotor speed [rad/s] - NREL report + constant 3 1.2671 ; Rated rotor speed [rad/s] - NREL report + constant 4 4.6e6 ; Maximum allowable generator torque [Nm] - NREL rep. + constant 5 0.0 ; Minimum pitch angle, theta_min [deg], - NREL rep. keeps to 0.0 + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wptable.n', where n=int(theta_min) + constant 6 84.0 ; Maximum pitch angle [deg] + constant 7 8.0 ; Maximum pitch velocity operation [deg/s] - NREL rep. + constant 8 0.4 ; Frequency of generator speed filter [Hz] - NREL rep. + constant 9 0.7 ; Damping ratio of speed filter [-] - NREL rep. + constant 10 0.0 ; Frequency of free-free DT torsion mode [Hz], 0.0 no notch filter used + ; Partial load control parameters + constant 11 0.216828E+07 ; Optimal Cp tracking K factor [kNm/(rad/s)^2], ; - HS2 tune, lambda opt. 7.55 + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 0.193160E+08 ; Proportional gain of torque controller [Nm/(rad/s)] - HS2 tune + constant 13 0.433451E+07 ; Integral gain of torque controller [Nm/rad] - HS2 tune + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.81 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.16 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-8 ; Proportional power error gain [rad/W] + constant 20 0.4e-8 ; Integral power error gain [rad/(Ws)] + constant 21 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] - HS2 tune + constant 22 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) - HS2 tune + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1.0 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1.0 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1.0 ; Stop type [1=normal, 2=emergency] + constant 29 0.0 ; Time delay for pitch stop after shut-down commenced [s] + constant 30 4.0 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] + constant 32 6.0 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 5.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 5.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Over speed percentage before initiating shut-down +; Additional non-linear pitch control term (not used when all zero) + constant 40 25.0 ; Err0 [rad/s] + constant 41 10.0 ; ErrDot0 [rad/s^2] + constant 42 0.15 ; PitNonLin1 [rad/s] +; Storm control command (from MHHA ctrl rev.) + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 30.0 ; Percent maximum overspeed of generator speed before emergency pitch stop [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] + constant 47 126.0 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 5.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 5.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -90 ; global coords at hub height + dll inpvec 3 2 ; Elec. power + dll inpvec 3 8 ; Grid flag + mbdy state acc towertop 1 1.0 global only 1 ; + mbdy state acc towertop 1 1.0 global only 2 ; + end output; + end type2_dll; +; + begin type2_dll; + name cyclic_pitch_controller ; + filename ./control/cyclic_pitch_controller.dll ; + dll_subroutine_init init_cyclic_pitch_controller ; + dll_subroutine_update update_cyclic_pitch_controller ; + arraysizes_init 11 1 ; + arraysizes_update 11 10 ; + begin init ; + constant 1 47.2 ; Lead angle [deg] + constant 2 1.26 ; Proportional gain at zero pitch [deg/MNm] + constant 3 0.28 ; Integral gain at zero pitch [deg/(MNm*s)] + constant 4 0.0 ; Differential gain at zero pitch [deg*s/MNm] + constant 5 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 6 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] + constant 7 0.2 ; Low-pass filter frequency [Hz] + constant 8 0.7 ; Low-pass filter damping ratio [-] + constant 9 10.0 ; Low-pass filter time constant for gain scheduling [s] + constant 10 4.0 ; Maximum amplitude on cyclic pitch [deg] + constant 11 0.99 ; Thresshold for full power switch [-] + end init ; + ; + begin output; + general time ; 1: general time [s] + constraint bearing1 shaft_rot 1 ; 2-3: Azimuth angle and speed of blade 1 (zero = blade up) [rad] + mbdy momentvec blade1 3 1 blade1 only 1 ; 4: Flap BRM of blade 1 (pos. bend. forward) [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; 5: Flap BRM of blade 2 (pos. bend. forward) [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; 6: Flap BRM of blade 3 (pos. bend. forward) [kNm] + dll inpvec 1 2 ; 7: Pitch angle reference of blade 1 from collective pitch controller [rad] + dll inpvec 1 3 ; 8: Pitch angle reference of blade 2 from collective pitch controller [rad] + dll inpvec 1 4 ; 9: Pitch angle reference of blade 3 from collective pitch controller [rad] + dll inpvec 1 22 ; 10: Status flag from collective pitch controller [0=normal operation] + dll inpvec 1 14 ; 11: Torque limit switch based on pitch [-] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of genertor 2nd order control model [Hz] + constant 2 0.9 ; Damping ratio of genertor 2nd order control model [-] + constant 3 4.6e6 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.944 ; Generator efficiency [-] + constant 5 97.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 1000.0 ; Time for grid loss + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 4 1 ; + arraysizes_update 3 6 ; + begin init ; + constant 1 2727252.0 ; Fully deployed maximum brake torque [Nm] + constant 2 100.0 ; alpha, used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.6 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Filter frequency [Hz] + constant 3 0.7 ; Filter damping ratio [-] + constant 4 8.0 ; Max. pitch speed [deg/s] + constant 5 8.0 ; Max. pitch acceleration [deg/s^2] + constant 6 0.0 ; Min. pitch angle [deg] + constant 7 84.0 ; Max. pitch angle [deg] + constant 8 1000.0 ; Time for pitch runaway [s] + constant 9 -1.0 ; Time for stuck blade 1 [s] + constant 10 0.0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + ; ; - For Cyclic Pitch: - ; + ; dll inpvec 2 1 ; Pitch1 demand angle [rad] + ; dll inpvec 2 2 ; Pitch2 demand angle [rad] + ; dll inpvec 2 3 ; Pitch3 demand angle [rad] + ; - For Collective Pitch Only: - ; + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 2.66 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 3 0.75 global ; [1,2,3]. Tower position: 27.5 m + mbdy state pos blade1 18 1.0 global ; [4,5,6] + mbdy state pos blade2 18 1.0 global ; [7,8,9] + mbdy state pos blade3 18 1.0 global ; [10,11,12] + end output; + end type2_dll; +; +; ------------------------------------- Flap Control ------------------------------------------------------------------------------------------------------------ +; 1 individual flap per blade with PID on HPF Mx with rate and range limits +begin type2_dll; + name flap_ctrl ; + filename ./control/flap_dll_type2.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 15 1 ; + arraysizes_update 15 15 ; + begin init ; + constant 1 1 ; Case 1: PID , Case 0: All shut to 0.0 + constant 2 1.9374E-3 ; [2] linear factor for P gain scheduling [-] + constant 3 0 ; [3] linear factor for I gain scheduling [-] + constant 4 1.1029E-4 ; [4] linear factor for D gain scheduling [-] + constant 5 6.6017E-2 ; [5] reference pitch angle for gain scheduling [rad] + constant 6 0.01745 ; [6] Min. pitch angle, below min gain is kept [rad] + constant 7 0.419 ; [7] Max. pitch angle, above max gain is kept [rad] + constant 8 0.1 ; [8] Threshold of "rated power indicator" above which flaps are fully on [-] + ; - Operating Times: + constant 9 90.0 ; [9] time for controller to be active [s] + constant 10 1000.0; [10] time for flap to run away: each flap follows given prescribed signals [s] + ; - Flap angle when overspeed is detected + constant 11 0.0 ; [11] Flap angle to take when over-speed is detected [deg] + ; - Flap servo Parameters: - ; + constant 12 10 ; [12] max flap angle [deg] + constant 13 -10 ; [13] min flap angle [deg] + constant 14 100 ; [14] max flap angle rate [deg/s] + constant 15 0.1 ; [15] flap actuator dynamics time constant [s] + end init ; + begin output; + ; - Time - ; + general time ; [1] current simulation time [s] + general deltat ; [2] time step [s] + ; - Blade root moments - ; + mbdy momentvec blade1 3 1 blade1 only 1 ; # blade 1 root ; [3] Blade 1 flapwise root moment [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; # blade 2 root ; [4] Blade 2 flapwise root moment [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; # blade 3 root ; [5] Blade 3 flapwise root moment [kNm] + ; - Input from main controller ; + dll inpvec 1 24 ; [6] filtered mean pitch angle [rad] + dll inpvec 1 22 ; [7] Main power control status: 0. normal operation [-] + dll inpvec 1 14 ; [8] Power rating status: 0. below rated power operation 1. above rated power operation[-] + ; - Filter setup and PID gains - ; + general constant 0.05 ; [9] corner frequency for blade flapwise moments high-pass filter [rad/s] + general constant 0.00375 ; [10] Proportional gain + general constant 0.0 ; [11] Integral gain + general constant 0.00027688 ; [12] Derivative gain + ; -Prescribed signals - ; + general constant 0.0 ; [13] Blade 1 prescribed fixed flap angle [deg] + general constant 0.0 ; [14] Blade 2 prescribed fixed flap angle [deg] + general constant 0.0 ; [15] Blade 3 prescribed fixed flap angle [deg] +end output; +begin actions; + aero beta 1 1 ; [1] + aero beta 2 1 ; [2] + aero beta 3 1 ; [3] +end actions ; +end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output ; + filename ./res/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000 ; + time 100.0 200.0 ; + data_format hawc_binary; + buffer 1 ; + general time; +; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -90.0; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z +; + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 7 2 tower # yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 2 2 blade1 # blade 1 root ; + mbdy momentvec blade1 9 2 local # blade 1 50% local e coo ; + mbdy momentvec blade2 2 2 blade2 # blade 2 root ; + mbdy momentvec blade2 9 2 local # blade 2 50% local e coo ; + mbdy momentvec blade3 2 2 blade3 # blade 3 root ; + mbdy momentvec blade3 9 2 local # blade 3 50% local e coo ; + mbdy state pos tower 7 1.0 global # tower top flange position ; + mbdy state acc tower 7 1.0 global # tower top flange position ; + mbdy state pos tower 3 1.0 global # tower approx tip height ; + mbdy state pos blade1 18 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 blade3 # blade 3 tip pos ; + mbdy state pos blade1 18 1.0 global # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 global # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 global # blade 3 tip pos ; +; + aero windspeed 3 1 1 63.0; wind seen from the blade: coo(1=local ae,2=blade,3=global,4=rotor polar), blade number, component xyz, blade radius + aero windspeed 3 1 2 63.0; + aero windspeed 3 1 3 63.0; + aero alfa 1 45.0; + aero alfa 2 45.0; + aero alfa 3 45.0; + aero cl 1 45.0 ; + aero cl 2 45.0 ; + aero cl 3 45.0 ; +; +; Input to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Output from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 3 1 # Mgen LSS [Nm]; + dll inpvec 3 2 # Pelec W ; + dll inpvec 3 3 # Mframe ; + dll inpvec 3 4 # Mgen HSS ; + dll inpvec 3 5 # Generator Pmech kW ; + dll inpvec 3 6 # Filtered Gen speed ; + dll inpvec 3 7 # Elec. pwr ; + dll inpvec 3 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 4 1 # Brake torque [Nm] ; +; ; Input to mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 5 1 # pitch 1; + dll inpvec 5 2 # pitch 2; + dll inpvec 5 3 # pitch 3; +; Check tower clearence + dll inpvec 6 1 # Bltip tow min d [m]; +; - Check on flap control: + aero beta 1 1 ; + aero beta 2 1 ; + aero beta 3 1 ; +end output; +; +exit; diff --git a/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.htc b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.htc new file mode 100644 index 0000000..c483ba9 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/model/htc/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.htc @@ -0,0 +1,778 @@ +begin simulation; + time_stop 200.0; + solvertype 1 ; + on_no_convergence continue ; + convergence_limits 1E3 1.0 1E-7 ; + logfile ./logfiles/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.log ; +; + begin newmark; + deltat 0.02; + end newmark; +end simulation; +; +begin new_htc_structure; +;------------------------------------------------------------------------------------------------------------------------------- + begin main_body; tower 90m + name tower ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.62e-03 3.62e-03 3.30e-03 ; Mx My Mz Kx Ky Kz , M΄s raises overall level, K΄s raises high freguency level + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 1 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 8; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -10.0 0.0 ; + sec 3 0.0 0.0 -20.0 0.0 ; + sec 4 0.0 0.0 -30.0 0.0 ; + sec 5 0.0 0.0 -45.0 0.0 ; + sec 6 0.0 0.0 -60.0 0.0 ; + sec 7 0.0 0.0 -70.0 0.0 ; + sec 8 0.0 0.0 -87.6 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name towertop ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-05 3.00E-05 2.00E-04 ; + concentrated_mass 2 0.0 1.9 0.21256 2.4E5 1741490.0 1.7E5 1741490.0 ; Nacelle mass and inertia + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 2 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 -1.96256 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name shaft ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 4.65E-04 4.65E-04 7.0725E-03 ; "tuned by Anyd 23/5/13 to 31.45 log decr. damping for free free with stiff rotor and tower" + concentrated_mass 1 0.0 0.0 0.0 0.0 0.0 0.0 5025497.444 ;generator equivalent slow shaft + concentrated_mass 5 0.0 0.0 0.0 56780 0.0 0.0 115926 ; hub mass and inertia; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 3 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 5; + sec 1 0.0 0.0 0.0 0.0 ; Tower top x,y,z,twist + sec 2 0.0 0.0 1.0 0.0 ; + sec 3 0.0 0.0 2.0 0.0 ; + sec 4 0.0 0.0 3.1071 0.0 ; Main bearing + sec 5 0.0 0.0 5.0191 0.0 ; Rotor centre + end c2_def ; + end main_body; +; + begin main_body; + name hub1 ; + type timoschenko ; + nbodies 1 ; + node_distribution c2_def ; + damping_posdef 0.0 0.0 0.0 3.00E-06 3.00E-06 2.00E-05; + begin timoschenko_input; + filename ./data/NREL_5MW_st.txt ; + set 4 1 ; + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 2; + sec 1 0.0 0.0 0.0 0.0 ; x,y,z,twist + sec 2 0.0 0.0 1.5 0.0 ; + end c2_def ; + end main_body; +; + begin main_body; + name hub2 ; + copy_main_body hub1; + end main_body; +; + begin main_body; + name hub3 ; + copy_main_body hub1 ; + end main_body; +; + begin main_body; + name blade1 ; + type timoschenko ; + nbodies 9 ; + node_distribution c2_def; + damping_posdef 0.0 0.0 0.0 1.41E-03 2.39E-03 4.5E-05 ; + begin timoschenko_input ; + filename ./data/NREL_5MW_st.txt ; + set 5 1 ; set subset + end timoschenko_input; + begin c2_def; Definition of centerline (main_body coordinates) + nsec 19 ; + sec 1 0.0000 0.0000 0.000 0.000 ; x.y.z. twist + sec 2 -0.0027 0.0006 1.367 -13.308 ; + sec 3 -0.1057 0.0250 4.100 -13.308 ; + sec 4 -0.2501 0.0592 6.833 -13.308 ; + sec 5 -0.4592 0.1086 10.250 -13.308 ; + sec 6 -0.5699 0.1157 14.350 -11.480 ; + sec 7 -0.5485 0.0983 18.450 -10.162 ; + sec 8 -0.5246 0.0832 22.550 -9.011 ; + sec 9 -0.4962 0.0679 26.650 -7.795 ; + sec 10 -0.4654 0.0534 30.750 -6.544 ; 50% blade radius + sec 11 -0.4358 0.0409 34.850 -5.361 ; + sec 12 -0.4059 0.0297 38.950 -4.188 ; + sec 13 -0.3757 0.0205 43.050 -3.125 ; + sec 14 -0.3452 0.0140 47.150 -2.319 ; + sec 15 -0.3146 0.0084 51.250 -1.526 ; + sec 16 -0.2891 0.0044 54.667 -0.863 ; + sec 17 -0.2607 0.0017 57.400 -0.370 ; + sec 18 -0.1774 0.0003 60.133 -0.106 ; + sec 19 -0.1201 0.0000 61.500 -0.000 ; + end c2_def ; + end main_body; +; + begin main_body; + name blade2 ; + copy_main_body blade1; + end main_body; +; + begin main_body; + name blade3 ; + copy_main_body blade1 ; + end main_body; +;------------------------------------------------------------------------------------------------------------------------------- +; + begin orientation; + begin base; + body tower; + inipos 0.0 0.0 0.0 ; initial position of node 1 + body_eulerang 0.0 0.0 0.0; + end base; +; + begin relative; + body1 tower last; + body2 towertop 1; + body2_eulerang 0.0 0.0 0.0; + end relative; +; + begin relative; + body1 towertop last; + body2 shaft 1; + body2_eulerang 90.0 0.0 0.0; + body2_eulerang 5.0 0.0 0.0; 5 deg tilt angle + body2_eulerang 0.0 0.0 0.0; + mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.2 ; mbdy2_ini_rotvec_d1 0.0 0.0 -1.0 0.7; + end relative; +; + begin relative; + body1 shaft last; + body2 hub1 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 180.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub2 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 shaft last; + body2 hub3 1; + body2_eulerang -90.0 0.0 0.0; + body2_eulerang 0.0 -60.0 0.0; + body2_eulerang 2.5 0.0 0.0; 2.5deg cone angle + end relative; +; + begin relative; + body1 hub1 last; + body2 blade1 1; + body2_eulerang 0.0 0.0 0.0 ; + end relative; +; + begin relative; + body1 hub2 last; + body2 blade2 1; + body2_eulerang 0.0 0.0 0.5 ; + end relative; +; + begin relative; + body1 hub3 last; + body2 blade3 1; + body2_eulerang 0.0 0.0 -0.5 ; + end relative; +; + end orientation; +;------------------------------------------------------------------------------------------------------------------------------- +begin constraint; +; + begin fix0; fixed to ground in translation and rotation of node 1 + body tower; + end fix0; +; + begin fix1; + body1 tower last ; + body2 towertop 1; + end fix1; +; + begin bearing1; free bearing + name shaft_rot; + body1 towertop last; + body2 shaft 1; + bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present + end bearing1; +; +; begin bearing3; free bearing +; name shaft_rot; +; body1 towertop last; +; body2 shaft 1; +; bearing_vector 2 0.0 0.0 -1.0; x=coo (0=global.1=body1.2=body2) vector in body2 coordinates where the free rotation is present +; omegas 0.0 ; +; end bearing3; +; + begin fix1; + body1 shaft last ; + body2 hub1 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub2 1; + end fix1; +; + begin fix1; + body1 shaft last ; + body2 hub3 1; + end fix1; +; + begin bearing2; + name pitch1; + body1 hub1 last; + body2 blade1 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch2; + body1 hub2 last; + body2 blade2 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +; + begin bearing2; + name pitch3; + body1 hub3 last; + body2 blade3 1; + bearing_vector 2 0.0 0.0 -1.0; + end bearing2; +end constraint; +; +end new_htc_structure; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +begin wind ; + density 1.225 ; + wsp 14.0 ; + tint 0.268068571429 ; + horizontal_input 1 ; + windfield_rotations 0.0 0.0 0.0 ; yaw, tilt, rotation + center_pos0 0.0 0.0 -90 ; hub heigth + shear_format 3 0.2 ; + turb_format 0.0 ; 0=none, 1=mann,2=flex + tower_shadow_method 3 ; 0=none, 1=potential flow, 2=jet + scale_time_start 100.0 ; + wind_ramp_factor 0.0 100.0 0.571428571429 1.0 ; + iec_gust ecd 15.0 51.4285714286 100.0 10.0 ; +; + begin mann ; + create_turb_parameters 29.4 1.0 3.7 0.0 1.0 ; L, alfaeps, gamma, seed, highfrq compensation + filename_u ./turb/turb_wsp14_s0000u.bin ; + filename_v ./turb/turb_wsp14_s0000v.bin ; + filename_w ./turb/turb_wsp14_s0000w.bin ; + box_dim_u 8192 0.341796875 ; + box_dim_v 32 4.0 ; + box_dim_w 32 4.0 ; + std_scaling 1.0 0.7 0.5 ; + end mann ; +; + begin tower_shadow_potential_2; + tower_mbdy_link tower; + nsec 2; + radius 0.0 3.0 ; + radius 87.6 1.935 ; + end tower_shadow_potential_2; +end wind; +; +begin aero ; + nblades 3; + hub_vec shaft -3 ; rotor rotation vector (normally shaft composant directed from pressure to sustion side) + link 1 mbdy_c2_def blade1; + link 2 mbdy_c2_def blade2; + link 3 mbdy_c2_def blade3; + ae_filename ./data/AeDist_Flap_01.dat ; Distribute points to preserve effective flap length, use same setup for baseline + pc_filename ./data/NREL_5MW_pc.txt; + induction_method 1.0 ; 0=none, 1=normal + aerocalc_method 1 ; 0=ingen aerodynamic, 1=med aerodynamic + aero_distribution ae_file 1 ; + ae_sets 1 1 1; + tiploss_method 1 ; 0=none, 1=prandtl + dynstall_method 3.0 ; 0=none, 1=stig øye method,2=mhh method + ; --- Flaps --- ; + begin dynstall_ateflap ; + Ais 0.165 0.335 0.0 ; + Bis 0.0455 0.30 0.30 ; + flap 43.05 60.885 ./data/FlapInp_NacaThk17.ds ; Flap Sec: 1 + end dynstall_ateflap; +end aero ; +; +begin aerodrag ; + begin aerodrag_element ; + mbdy_name tower; + aerodrag_sections uniform 10 ; + nsec 2 ; + sec 0.0 0.6 6.0 ; tower bottom + sec 87.6 0.6 3.87 ; tower top + end aerodrag_element; +; + begin aerodrag_element ; Nacelle drag side + mbdy_name shaft; + aerodrag_sections uniform 2 ; + nsec 2 ; + sec 0.0 0.8 10.0 ; + sec 5.02 0.8 10.0 ; + end aerodrag_element; +end aerodrag; +; +;------------------------------------------------------------------------------------------------- +begin dll; +; + begin type2_dll; + name risoe_controller ; + filename ./control/risoe_controller.dll ; + dll_subroutine_init init_regulation ; + dll_subroutine_update update_regulation ; + arraysizes_init 52 1 ; + arraysizes_update 12 100 ; + begin init ; + ; Overall parameters + constant 1 5000.0 ; Rated power [kW] + constant 2 0.72257 ; Minimum rotor speed [rad/s] - NREL report + constant 3 1.2671 ; Rated rotor speed [rad/s] - NREL report + constant 4 4.6e6 ; Maximum allowable generator torque [Nm] - NREL rep. + constant 5 0.0 ; Minimum pitch angle, theta_min [deg], - NREL rep. keeps to 0.0 + ; if |theta_min|>90, then a table of <wsp,theta_min> is read ; + ; from a file named 'wptable.n', where n=int(theta_min) + constant 6 84.0 ; Maximum pitch angle [deg] + constant 7 8.0 ; Maximum pitch velocity operation [deg/s] - NREL rep. + constant 8 0.4 ; Frequency of generator speed filter [Hz] - NREL rep. + constant 9 0.7 ; Damping ratio of speed filter [-] - NREL rep. + constant 10 0.0 ; Frequency of free-free DT torsion mode [Hz], 0.0 no notch filter used + ; Partial load control parameters + constant 11 0.216828E+07 ; Optimal Cp tracking K factor [kNm/(rad/s)^2], ; - HS2 tune, lambda opt. 7.55 + ; Qg=K*Omega^2, K=eta*0.5*rho*A*Cp_opt*R^3/lambda_opt^3 + constant 12 0.193160E+08 ; Proportional gain of torque controller [Nm/(rad/s)] - HS2 tune + constant 13 0.433451E+07 ; Integral gain of torque controller [Nm/rad] - HS2 tune + constant 14 0.0 ; Differential gain of torque controller [Nm/(rad/s^2)] +; Full load control parameters + constant 15 1 ; Generator control switch [1=constant power, 2=constant torque] + constant 16 0.81 ; Proportional gain of pitch controller [rad/(rad/s)] + constant 17 0.16 ; Integral gain of pitch controller [rad/rad] + constant 18 0.0 ; Differential gain of pitch controller [rad/(rad/s^2)] + constant 19 0.4e-8 ; Proportional power error gain [rad/W] + constant 20 0.4e-8 ; Integral power error gain [rad/(Ws)] + constant 21 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] - HS2 tune + constant 22 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] & + ; (if zero, KK1 = pitch angle at double gain) - HS2 tune + constant 23 1.3 ; Relative speed for double nonlinear gain [-] +; Cut-in simulation parameters + constant 24 -1.0 ; Cut-in time [s] + constant 25 1.0 ; Time delay for soft start of torque [1/1P] +; Cut-out simulation parameters + constant 26 -1.0 ; Cut-out time [s] + constant 27 5.0 ; Time constant for linear torque cut-out [s] + constant 28 1.0 ; Stop type [1=normal, 2=emergency] + constant 29 0.0 ; Time delay for pitch stop after shut-down commenced [s] + constant 30 4.0 ; Maximum pitch velocity during initial period of stop [deg/s] + constant 31 3.0 ; Time period of initial pitch stop phase [s] + constant 32 6.0 ; Maximum pitch velocity during final phase of stop [deg/s] +; Expert parameters (keep default values unless otherwise given) + constant 33 2.0 ; Lower angle above lowest minimum pitch angle for switch [deg] + constant 34 2.0 ; Upper angle above lowest minimum pitch angle for switch [deg], if equal then hard switch + constant 35 95.0 ; Ratio between filtered speed and reference speed for fully open torque limits [%] + constant 36 5.0 ; Time constant of 1st order filter on wind speed used for minimum pitch [1/1P] + constant 37 5.0 ; Time constant of 1st order filter on pitch angle used for gain scheduling [1/1P] +; Drivetrain damper + constant 38 0.0 ; Proportional gain of active DT damper [Nm/(rad/s)], requires frequency in input 10 +; Over speed + constant 39 25.0 ; Over speed percentage before initiating shut-down +; Additional non-linear pitch control term (not used when all zero) + constant 40 25.0 ; Err0 [rad/s] + constant 41 10.0 ; ErrDot0 [rad/s^2] + constant 42 0.15 ; PitNonLin1 [rad/s] +; Storm control command (from MHHA ctrl rev.) + constant 43 28.0 ; Wind speed 'Vstorm' above which derating of rotor speed is used [m/s] + constant 44 28.0 ; Cut-out wind speed (only used for derating of rotor speed in storm) [m/s] +; Safety system parameters + constant 45 30.0 ; Percent maximum overspeed of generator speed before emergency pitch stop [%] + constant 46 1.5 ; Max low-pass filtered tower top acceleration level [m/s^2] + constant 47 126.0 ; Nominal rotor diameter [m] +; Parameters for rotor inertia reduction in variable speed region + constant 48 0.0 ; Proportional gain on rotor acceleration in variable speed region [Nm/(rad/s^2)] +; Parameters for alternative partial load controller with PI regulated TSR tracking + constant 49 0.0 ; Optimal tip speed ratio [-] +; Parameters for adding aerodynamic drivetrain damping on gain scheduling + constant 50 0.0 ; Proportional gain of aerodynamic DT damping [Nm/(rad/s)] + constant 51 5.0 ; Coefficient of linear term in aerodynamic DT damping scheduling, KK1 [deg] + constant 52 5.0 ; Coefficient of quadratic term in aerodynamic DT damping scheduling, KK2 [deg^2] + end init ; +; + begin output ; + general time ; [s] + constraint bearing1 shaft_rot 1 only 2 ; Drivetrain speed [rad/s] + constraint bearing2 pitch1 1 only 1; [rad] + constraint bearing2 pitch2 1 only 1; [rad] + constraint bearing2 pitch3 1 only 1; [rad] + wind free_wind 1 0.0 0.0 -90 ; global coords at hub height + dll inpvec 3 2 ; Elec. power + dll inpvec 3 8 ; Grid flag + mbdy state acc towertop 1 1.0 global only 1 ; + mbdy state acc towertop 1 1.0 global only 2 ; + end output; + end type2_dll; +; + begin type2_dll; + name cyclic_pitch_controller ; + filename ./control/cyclic_pitch_controller.dll ; + dll_subroutine_init init_cyclic_pitch_controller ; + dll_subroutine_update update_cyclic_pitch_controller ; + arraysizes_init 11 1 ; + arraysizes_update 11 10 ; + begin init ; + constant 1 47.2 ; Lead angle [deg] + constant 2 1.26 ; Proportional gain at zero pitch [deg/MNm] + constant 3 0.28 ; Integral gain at zero pitch [deg/(MNm*s)] + constant 4 0.0 ; Differential gain at zero pitch [deg*s/MNm] + constant 5 10.6 ; Coefficient of linear term in aerodynamic gain scheduling, KK1 [deg] + constant 6 583.4 ; Coefficient of quadratic term in aerodynamic gain scheduling, KK2 [deg^2] + constant 7 0.2 ; Low-pass filter frequency [Hz] + constant 8 0.7 ; Low-pass filter damping ratio [-] + constant 9 10.0 ; Low-pass filter time constant for gain scheduling [s] + constant 10 4.0 ; Maximum amplitude on cyclic pitch [deg] + constant 11 0.99 ; Thresshold for full power switch [-] + end init ; + ; + begin output; + general time ; 1: general time [s] + constraint bearing1 shaft_rot 1 ; 2-3: Azimuth angle and speed of blade 1 (zero = blade up) [rad] + mbdy momentvec blade1 3 1 blade1 only 1 ; 4: Flap BRM of blade 1 (pos. bend. forward) [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; 5: Flap BRM of blade 2 (pos. bend. forward) [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; 6: Flap BRM of blade 3 (pos. bend. forward) [kNm] + dll inpvec 1 2 ; 7: Pitch angle reference of blade 1 from collective pitch controller [rad] + dll inpvec 1 3 ; 8: Pitch angle reference of blade 2 from collective pitch controller [rad] + dll inpvec 1 4 ; 9: Pitch angle reference of blade 3 from collective pitch controller [rad] + dll inpvec 1 22 ; 10: Status flag from collective pitch controller [0=normal operation] + dll inpvec 1 14 ; 11: Torque limit switch based on pitch [-] + end output; + end type2_dll; +; + begin type2_dll; + name generator_servo ; + filename ./control/generator_servo.dll ; + dll_subroutine_init init_generator_servo ; + dll_subroutine_update update_generator_servo ; + arraysizes_init 7 1 ; + arraysizes_update 4 8 ; + begin init ; + constant 1 20.0 ; Frequency of genertor 2nd order control model [Hz] + constant 2 0.9 ; Damping ratio of genertor 2nd order control model [-] + constant 3 4.6e6 ; Maximum allowable LSS torque (pull-out torque) [Nm] + constant 4 0.944 ; Generator efficiency [-] + constant 5 97.0 ; Gearratio [-] + constant 6 0.0 ; Time for half value in softstart of torque [s] + constant 7 1000.0 ; Time for grid loss + end init ; +; + begin output; + general time ; Time [s] + dll inpvec 1 1 ; Electrical torque reference [Nm] + constraint bearing1 shaft_rot 1 only 2; Generator LSS speed [rad/s] + mbdy momentvec shaft 1 1 shaft only 3 ; Shaft moment [kNm] (Qshaft) + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name mech_brake ; + filename ./control/mech_brake.dll ; + dll_subroutine_init init_mech_brake ; + dll_subroutine_update update_mech_brake ; + arraysizes_init 4 1 ; + arraysizes_update 3 6 ; + begin init ; + constant 1 2727252.0 ; Fully deployed maximum brake torque [Nm] + constant 2 100.0 ; alpha, used in Q = tanh(omega*alpha), typically 1e2/Omega_nom + constant 3 0.5 ; Delay time for before brake starts to deploy [s] + constant 4 0.6 ; Time for brake to become fully deployed [s] + end init ; +; + begin output; + general time ; Time [s] + constraint bearing1 shaft_rot 1 only 2 ; Generator LSS speed [rad/s] + dll inpvec 1 25 ; Command to deploy mechanical disc brake [0,1] + end output; +; + begin actions; + mbdy moment_int shaft 1 -3 shaft towertop 2 ; Generator LSS torque [Nm] + end actions; + end type2_dll; +; + begin type2_dll; + name servo_with_limits ; + filename ./control/servo_with_limits.dll ; + dll_subroutine_init init_servo_with_limits ; + dll_subroutine_update update_servo_with_limits ; + arraysizes_init 10 1 ; + arraysizes_update 5 9 ; + begin init ; + constant 1 3 ; Number of blades [-] + constant 2 1.0 ; Filter frequency [Hz] + constant 3 0.7 ; Filter damping ratio [-] + constant 4 8.0 ; Max. pitch speed [deg/s] + constant 5 8.0 ; Max. pitch acceleration [deg/s^2] + constant 6 0.0 ; Min. pitch angle [deg] + constant 7 84.0 ; Max. pitch angle [deg] + constant 8 1000.0 ; Time for pitch runaway [s] + constant 9 -1.0 ; Time for stuck blade 1 [s] + constant 10 0.0 ; Angle of stuck blade 1 [deg] + end init ; + begin output; + general time ; Time [s] + ; ; - For Cyclic Pitch: - ; + ; dll inpvec 2 1 ; Pitch1 demand angle [rad] + ; dll inpvec 2 2 ; Pitch2 demand angle [rad] + ; dll inpvec 2 3 ; Pitch3 demand angle [rad] + ; - For Collective Pitch Only: - ; + dll inpvec 1 2 ; Pitch1 demand angle [rad] + dll inpvec 1 3 ; Pitch2 demand angle [rad] + dll inpvec 1 4 ; Pitch3 demand angle [rad] + dll inpvec 1 26 ; Flag for emergency pitch stop [0=off/1=on] + end output; +; + begin actions; + constraint bearing2 angle pitch1 ; Angle pitch1 bearing [rad] + constraint bearing2 angle pitch2 ; Angle pitch2 bearing [rad] + constraint bearing2 angle pitch3 ; Angle pitch3 bearing [rad] + end actions; + end type2_dll; +; --- DLL for tower-blade tip distance -- ; + begin type2_dll; + name disttowtip ; + filename ./control/towclearsens.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 1 1 ; + arraysizes_update 12 4 ; + begin init ; + constant 1 2.66 ; Tower radius close to downward blade tip [m] + end init ; + begin output; + mbdy state pos tower 3 0.75 global ; [1,2,3]. Tower position: 27.5 m + mbdy state pos blade1 18 1.0 global ; [4,5,6] + mbdy state pos blade2 18 1.0 global ; [7,8,9] + mbdy state pos blade3 18 1.0 global ; [10,11,12] + end output; + end type2_dll; +; +; ------------------------------------- Flap Control ------------------------------------------------------------------------------------------------------------ +; 1 individual flap per blade with PID on HPF Mx with rate and range limits +begin type2_dll; + name flap_ctrl ; + filename ./control/flap_dll_type2.dll ; + dll_subroutine_init initialize ; + dll_subroutine_update update ; + arraysizes_init 15 1 ; + arraysizes_update 15 15 ; + begin init ; + constant 1 1 ; Case 1: PID , Case 0: All shut to 0.0 + constant 2 1.9374E-3 ; [2] linear factor for P gain scheduling [-] + constant 3 0 ; [3] linear factor for I gain scheduling [-] + constant 4 1.1029E-4 ; [4] linear factor for D gain scheduling [-] + constant 5 6.6017E-2 ; [5] reference pitch angle for gain scheduling [rad] + constant 6 0.01745 ; [6] Min. pitch angle, below min gain is kept [rad] + constant 7 0.419 ; [7] Max. pitch angle, above max gain is kept [rad] + constant 8 0.1 ; [8] Threshold of "rated power indicator" above which flaps are fully on [-] + ; - Operating Times: + constant 9 90.0 ; [9] time for controller to be active [s] + constant 10 1000.0; [10] time for flap to run away: each flap follows given prescribed signals [s] + ; - Flap angle when overspeed is detected + constant 11 0.0 ; [11] Flap angle to take when over-speed is detected [deg] + ; - Flap servo Parameters: - ; + constant 12 10 ; [12] max flap angle [deg] + constant 13 -10 ; [13] min flap angle [deg] + constant 14 100 ; [14] max flap angle rate [deg/s] + constant 15 0.1 ; [15] flap actuator dynamics time constant [s] + end init ; + begin output; + ; - Time - ; + general time ; [1] current simulation time [s] + general deltat ; [2] time step [s] + ; - Blade root moments - ; + mbdy momentvec blade1 3 1 blade1 only 1 ; # blade 1 root ; [3] Blade 1 flapwise root moment [kNm] + mbdy momentvec blade2 3 1 blade2 only 1 ; # blade 2 root ; [4] Blade 2 flapwise root moment [kNm] + mbdy momentvec blade3 3 1 blade3 only 1 ; # blade 3 root ; [5] Blade 3 flapwise root moment [kNm] + ; - Input from main controller ; + dll inpvec 1 24 ; [6] filtered mean pitch angle [rad] + dll inpvec 1 22 ; [7] Main power control status: 0. normal operation [-] + dll inpvec 1 14 ; [8] Power rating status: 0. below rated power operation 1. above rated power operation[-] + ; - Filter setup and PID gains - ; + general constant 0.05 ; [9] corner frequency for blade flapwise moments high-pass filter [rad/s] + general constant 0.00375 ; [10] Proportional gain + general constant 0.0 ; [11] Integral gain + general constant 0.00027688 ; [12] Derivative gain + ; -Prescribed signals - ; + general constant 0.0 ; [13] Blade 1 prescribed fixed flap angle [deg] + general constant 0.0 ; [14] Blade 2 prescribed fixed flap angle [deg] + general constant 0.0 ; [15] Blade 3 prescribed fixed flap angle [deg] +end output; +begin actions; + aero beta 1 1 ; [1] + aero beta 2 1 ; [2] + aero beta 3 1 ; [3] +end actions ; +end type2_dll; +end dll; +; +;---------------------------------------------------------------------------------------------------------------------------------------------------------------- +; +begin output ; + filename ./res/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000 ; + time 100.0 200.0 ; + data_format hawc_binary; + buffer 1 ; + general time; +; + constraint bearing1 shaft_rot 2; angle and angle velocity + constraint bearing2 pitch1 5; angle and angle velocity + constraint bearing2 pitch2 5; angle and angle velocity + constraint bearing2 pitch3 5; angle and angle velocity + aero omega ; + aero torque; + aero power; + aero thrust; + wind free_wind 1 0.0 0.0 -90.0; local wind at fixed position: coo (1=global,2=non-rotation rotor coo.), pos x, pos y, pos z +; + mbdy momentvec tower 1 1 tower # tower base ; + mbdy momentvec tower 7 2 tower # yaw bearing ; + mbdy momentvec shaft 4 1 shaft # main bearing ; + mbdy momentvec blade1 2 2 blade1 # blade 1 root ; + mbdy momentvec blade1 9 2 local # blade 1 50% local e coo ; + mbdy momentvec blade2 2 2 blade2 # blade 2 root ; + mbdy momentvec blade2 9 2 local # blade 2 50% local e coo ; + mbdy momentvec blade3 2 2 blade3 # blade 3 root ; + mbdy momentvec blade3 9 2 local # blade 3 50% local e coo ; + mbdy state pos tower 7 1.0 global # tower top flange position ; + mbdy state acc tower 7 1.0 global # tower top flange position ; + mbdy state pos tower 3 1.0 global # tower approx tip height ; + mbdy state pos blade1 18 1.0 blade1 # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 blade2 # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 blade3 # blade 3 tip pos ; + mbdy state pos blade1 18 1.0 global # blade 1 tip pos ; + mbdy state pos blade2 18 1.0 global # blade 2 tip pos ; + mbdy state pos blade3 18 1.0 global # blade 3 tip pos ; +; + aero windspeed 3 1 1 63.0; wind seen from the blade: coo(1=local ae,2=blade,3=global,4=rotor polar), blade number, component xyz, blade radius + aero windspeed 3 1 2 63.0; + aero windspeed 3 1 3 63.0; + aero alfa 1 45.0; + aero alfa 2 45.0; + aero alfa 3 45.0; + aero cl 1 45.0 ; + aero cl 2 45.0 ; + aero cl 3 45.0 ; +; +; Input to controller + ; dll outvec 1 1 # time; + ; dll outvec 1 2 # slow speed shaft rad/s; + ; dll outvec 1 3 # pitch angle 1; + ; dll outvec 1 4 # pitch angle 2; + ; dll outvec 1 5 # pitch angle 3; + ; dll outvec 1 6 # WSP_x_global; + ; dll outvec 1 7 # WSP_y_global; + ; dll outvec 1 8 # WSP_z_global; + ; dll outvec 1 9 # Elec. pwr ; + ; dll outvec 1 10 # Grid flag ; +; Output from controller + dll inpvec 1 1 # Generator torque reference [Nm] ; + dll inpvec 1 2 # Pitch angle reference of blade 1 [rad] ; + dll inpvec 1 3 # Pitch angle reference of blade 2 [rad] ; + dll inpvec 1 4 # Pitch angle reference of blade 3 [rad] ; + ; dll inpvec 1 5 # Power reference [W] ; + ; dll inpvec 1 6 # Filtered wind speed [m/s] ; + ; dll inpvec 1 7 # Filtered rotor speed [rad/s]; + ; dll inpvec 1 8 # Filtered rotor speed error for torque [rad/s]; + ; dll inpvec 1 9 # Bandpass filtered rotor speed [rad/s]; + ; dll inpvec 1 10 # Proportional term of torque contr. [Nm] ; + ; dll inpvec 1 11 # Integral term of torque controller [Nm] ; + ; dll inpvec 1 12 # Minimum limit of torque [Nm] ; + ; dll inpvec 1 13 # Maximum limit of torque [Nm] ; + dll inpvec 1 14 # Torque limit switch based on pitch [-] ; + ; dll inpvec 1 15 # Filtered rotor speed error for pitch [rad/s]; + ; dll inpvec 1 16 # Power error for pitch [W] ; + ; dll inpvec 1 17 # Proportional term of pitch controller [rad] ; + ; dll inpvec 1 18 # Integral term of pitch controller [rad] ; + ; dll inpvec 1 19 # Minimum limit of pitch [rad] ; + ; dll inpvec 1 20 # Maximum limit of pitch [rad] ; + dll inpvec 1 21 # Torque reference from DT dammper [Nm] ; + dll inpvec 1 22 # Status signal [-] ; + ; dll inpvec 1 23 # Total added pitch rate [rad/s] ; + dll inpvec 1 25 # Flag for mechnical brake [0=off/1=on] ; + dll inpvec 1 26 # Flag for emergency pitch stop [0=off/1=on] ; +; ; Output to generator model + ; dll outvec 2 1 # time ; + ; dll outvec 2 2 # Electrical torque reference [Nm] ; + ; dll outvec 2 3 # omega LSS ; +; Input from generator model + dll inpvec 3 1 # Mgen LSS [Nm]; + dll inpvec 3 2 # Pelec W ; + dll inpvec 3 3 # Mframe ; + dll inpvec 3 4 # Mgen HSS ; + dll inpvec 3 5 # Generator Pmech kW ; + dll inpvec 3 6 # Filtered Gen speed ; + dll inpvec 3 7 # Elec. pwr ; + dll inpvec 3 8 # Grid flag ; +; Output to mechanical brake + dll inpvec 4 1 # Brake torque [Nm] ; +; ; Input to mechanical brake + ; dll outvec 3 1 # Time [s] ; + ; dll outvec 3 2 # Generator LSS speed [rad/s] ; + ; dll outvec 3 3 # Deploy brake ; +; ; Output to pitch servo + ; dll outvec 4 1 # time; + ; dll outvec 4 2 # pitchref 1; + ; dll outvec 4 3 # pitchref 2; + ; dll outvec 4 4 # pitchref 3; + ; dll outvec 4 5 # Emerg. stop; +; Input from pitch servo + dll inpvec 5 1 # pitch 1; + dll inpvec 5 2 # pitch 2; + dll inpvec 5 3 # pitch 3; +; Check tower clearence + dll inpvec 6 1 # Bltip tow min d [m]; +; - Check on flap control: + aero beta 1 1 ; + aero beta 2 1 ; + aero beta 3 1 ; +end output; +; +exit; diff --git a/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log b/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log new file mode 100644 index 0000000000000000000000000000000000000000..f92c82b4eb680ca872dd7229fa84724e6ba9f851 GIT binary patch literal 618327 zcmeFaUyr8QapdP~0{jkjX~S@->wgykUPvpgEI{i8b_MU{pl7B?HrUfmbT>uGpWcx@ zB$dxQPYfgTCsQ=+R{$ZhJ1X+T$&*ji>8C2b`szRC^V6SPUHzXgA3weQ@c!x_{`Tr; zSO5E8|BwH4`(OU%>gMM9b^YN#e)#3pFW$a;x%%+i&%gQY=lY-apMQG$-HSM0z53a! z=bt@%`TF}W_P1|7*B85a`q|B^>)Tg1_dor~e~gA-eI-@?kC)$l_vYiTufF;4-FI)^ zfBWg`<I9_GuYULT^RKQx{q~!0UOwsX{P(xt{r26P&!zQ`{k8ul<lFbZy!!Ud=Qmd$ zesT5Po44<;zW(s-ziPFgKm6|HV|}SFU-Rn2Z(iQlU%mdT`pbXy{^QHLuO7bp-B+JJ zUw{6W+N{rSzx(j%n_s=W|MiEfx9_!qKg#_1!*4#k`|!)RUww1??aME|`T{sz$v^%6 zFSgpgRQ97^{ZFn-^nbZaQ*rCnefrg#U({~=<?Y&+%GT@p)o;JP`HNgu6-HKdt5u!! zxW4Qy`LcKR%igWO?APz!eEag3xeMQy##Ux_;>(xb@5L9m*^Tf2>_@Bqn>U~IK>Yaj z<^AXH$N8Tgt(wgGtN;A}!~X4Y`2Pw?{_AL$|MS~_d8N*I|LOBbJ+wauk6a;YQVkG) z^YZ4Sp7}%6oafJh`1<>`)IlC7@aII03j5<D<HzjXe|hu%$Nk?wmB+i%llj{Zzq|UM zfAit9#?0F{?{2St@$SR#{+AyeO#kEU`)_~rFZ{uSeLt|iILu#s_;~f#|MYkN`Q4k} zTz&W9+n0Ag(^Klp=MR7R+kbuk=DWAwTz&fd=G{A0p}+V&^5ci^zI=1=vp*Qn`ZIm$ zuin4;=FR6{{rcwV`r9(TSJ&6q-$UMg(9`PM>#HwppI*NCVus)U_PejO;`XWMnOMIN ze)Wgq4ny|p>vtc%`SqF0{_B^I^2*;={A2s@rvBc?H^01kdH3?2B>qv|Mt}KB1@)DG zjQ;!Yr+)OW{MRqvavlGQg!x--!smbe&C6{tUjEWq{`yM?eEJVs<Nuf0|2$pv@1gMD z{^LI$`{Ux<>V1#@!~3^2S>OI&-@7<{udN67Z@>Bc+mA0gXMg<D`VL!vRx{x0<A={5 zK5CrxKmQ~8%O8IEd%qt*U%u-<{Z{?W%eQYoeg3Kj=2x$7t~F2f75~Kdhrjve_utk3 zv9b$hO@CFd`vrY1eQN5y{lOCdFiyYB`dY`Azxrh$zyEOk<-dLZA2$O3^M`l;{PO9` zk~FQauikvV`uN{|R)2nfcm3+|?&kjX>G|pL_4BJQ81mKbo^EdM9`0}S<zC&vul8_# z^Z4}icz5^e{?+Zx6Z~pV`fB%g5Bk5GSGTWU!>{)GS|vTcx_y3ie{=Wxo_)24o9o-h zhlhv9XNji;!>^`2eSY=o`QhgE?b99Ig@^m=$JcickN3}yx3|xC53shU>-(FhyT|9d z`@7rMuVBADyuN;XdU(2hcy;so=GDV3tL^dC_07Z0?d|RT!|MmUQhl|D=f}GT9je>c zPq%;Uw;!JR-|4{X$o=pSzQ2t7y@iy6yt@6~+MWL8mw);E^6~wfKbQ)QTm7}a`@{cO z)A#zXWP?9{{P6CtKED0*;pMB}|F?H9AFsca8F{M#@%i)1cfa}k@~v(tzuZddOI%E| zKhpf^uPAW+rBA>8`lE*X+xIVD#@Ltt`0C@!FMofD`ac!%H?pKJ--~cL>*|kcZvTnu zfA6yNwM2XM>iX63^LPKN{=5F<ha&%RLEoFPAJy%ffBoj&+i$-5&D+o4{OaFTz90F* zKc=FA%_TKo=u2PxS(N?d%lns)Z}d?9>eI`|fBwK5^5hHtn35NNeXiie7x?oj_uY$n z@#~Loe*MBlJASPn)9c^<=3J_O!~XeH`qEWj)j#BX_3rI=Z$E$HVx4};AJgmyfVp%( z_!56U1@$oc=AABjKE1sEcM$LLtNn;>U#$JhT&qiptK%TMy1jmU><@`Qm<RTV`0}lQ z9;aV@d7SVr`{CF7e?Y1ql3a>)bMZj^gINFR<BPs~(RWtw-oF3!)z>edfA{k8{@=d; zy3#+QUVbMPLv;6|wf=BB{%|p)Km6~X-+cT+|LKqaD69YV@85m+x{Of$JN3_1>Fq`F zum0|Td-dw}>K|m7zWn)@#ngY)h1DhaJ_Xmmaa@8Q30U7^96zq?GiG_&Bl!D8{&39( ze0x9-!S@7wIF#RigK)A{rfhvn(LS@Xk4qjh-yYFJW+K=v5v;xkYoA%!cMYlkcL*ke z-4Vg=h+ua_uw&Ij!S0D*_ebj4R^1c9?ulRzq{AMFU=KvF2O`)55$s4j?65~7*dr0_ z=)|UF6TzNHhdmL&o`_(&UG1OQd43{-9kIi$dQAj-O$2*Q1bcm4^h|AC#rDq-Oayx- zf;|(#p7(-XoqnqkI=})S6q~4B;DcgQ@IkRD_@LMje6;#gFcIvA2&R8OX`gA?M6kn> zM>9-Ka<uxxvTuoCN2@<&CW0NU{*d|ZAomnZ1Up*&DKio5Q1!IKj#htI_R;E3!Q@CD zt^SbtX!WOH(qTudKV>F@9j*S5`9M7Fu%p$VG9Q|I3O>|51(PFrwE9Elqt%~+iC{;o zKV>F@9kA05J6io=*+;8C1(OatTKysO(dtjZWQHBB{*;*rcC`8<=F5BeDR?iKnD<9g z;Jsi1ACA><&A{p3Uf&SGfYTQ<5$uKtc3ARkhTRgUFEHsa;Pk~z1Orb0_8K^Sfr((i z>5G{NcBp#VVZiC%UIV8uFgcRI>EB)hr!Vl~Ko6%UaQb2<f&r(m_Y~SK$?Tum>Lmvv z*zr<-sP^$ve+ni?5;*<aYvA++K1_q*nt{_7GZE~7oz5`e^lz_$(--(~GKOjcr+<45 zoW8*1NCKxXW+E7H`g$Y%@EL8Dz<a?2-XBSU_ksz0I99_o1E+sSoW8(BFyQpXOawdh z$ZUq)5vMOO5ezteF%!Xn)4wB5Utl5_aQb2<f*q=!b{KH_cf{!nOlBBx`gg?X3w$`x z!|4f}zL<$%!0F!+r!O!O3^;u;6Tu$IkpxcvjyQdR57S`Sp1|pgnFw~kPG=Z!`gg?X z3rso;IQ=`~^aUnI5;%P^6TyJfzkFSObT9<o3nuXXND90cOyI+@8m<{Q{d?l{1tx+4 zr!QtA*r7*eGwhx?eSwK!!0C&b2nL+~J#qR16TyJf7c&v;Q1!IKfYZMxPG4X$!+_Jj zCr)4B!+{=7PvG>$Oauc?U%yjfe;+0=5ezteF(2w4ZWVC)_t(Jb3rqw9PG8JKFyQp> zuMhKYI>Ug|7xQ6!4x0oxeK8*vJ!A%V`uD`?3rqw9PG8J>!5+w+zQFq<Dezt}f%ivJ zU?LcB`ubf+L@?m=>$foVht=p*2}}e#EO|D=9*ENym~<F$`eG)60jK{!oW8(BFyQpX zOawbrJ?${y^dE@R7nmGL;PfAe(--(~pofzLIDIh_!GP0$AWmOkA{cP`VkUwCr~g2l zzQ9B<;Pk~z1Orb0fjE7EiD1C#i<t-poc;s3(-)Ws2AsZ_iD1C#U;Y-G(cBhzFPOlG z2lSMAFPND3w&L;Pm+uVA22NkhL@?m=#Y_Y{^vKMIJrbucFcAzmeK8ZkfYW~@PG4Xm z7;ySxCW0NRo^}{;`j5ov3ruDhaQctL=?i=~(8B=;oW7WeV8H1=5~nXP5ezteF%!Xn z(|;sRUtl5_aQb2<f&r)hNSwaFL@?m=#Y_YPPXCcOeSwK!!0C&b2nL+~6S>nDcrTd1 zhX?fNi6QV_FoE~BLZJfvZhU4d1SWz3r(anJz3!pf!0A6J<g<T<%;0zLh?#U4aQb2< z9R{5K6LI<i6TyJf7c&v;Q1$dk0;jKRiv#trw}I0aGZ75@MD7!D`T`TdfYTQ<5$rHL zryT~I{?j#Z`T`&79=0cN`cK5^3w(HF49f;iU(7@>;Pjt}(-)Ws2AsZ_iD1C#KM|)d zFcAzmeK8ZkfYZPH<?^FbRpD1_6DRO~=nK3TOyK>{e@&dez(g?M^u<gB15W=nary!i z!GO~jGZ73p{nyvP=?hE*15RJeL@?m=Utb>v$;^idOauc?U(7@>;PhXUJAHwPV8H2% znFt1)zVZe8b8gyU!0C(m(A>l4GjRH1CQnK5p8jj%^aUn@0jDo!BG>^t?J(f<Uz7Lr z1wNdNVS56n|C%^`fyoR5PG8JKFyQo`$(_Eyd%*<WA4!4tf(d*$R-^WOCQe^qA{cP` zVkUxRPX8<+?dq90eSwK!!0C&b2nL+~GjaL?6TyJf7c&tobNZ&k4ufR&lzb*mU*H3^ zn<TF6NH7N`GYs76KZj1=l$|+!2PT4LPTw#eh;4^CaC9Ucm~>d?^c^$lu*~Tj=Il=2 zfr((i=|6`~-;{k2d)i@{(|627u*~T@=EI_g(=+>tT*I6>eFr9jWlrBQ?*+TLh`k@F zUEn^%#^A2l7~F^N7~B<`f)B6njKM^(gVi516TuEvf6CmKJey(au!GefGm{QGSp6|G z>9E74{*?J(^~Yc$*um<LnTcS%>T!o1F7>BnAFTcuOpfH?Qh&;Pu=-<gKhR@v->Wg0 z2zIdgQ|3-Q?y$q9{+O8vcCh+mW^yDCR)5NTu=-;#5$s^~$IL{qjvaT{!Rk-TKD@p& z2KSRO2KPlz!3V2929p_fxYQpr6TuFb`ZMN>klZnNFW5y$?wENmn3(q+c5}ScpO$^N z)E|TQGfZU@!GP0O&Tapv@9CO>(-$)l3^;u;lMVw;|K@n9KUMp1sXqpj4m(`xPnr8R z51*1Z$4mV&bEh7IiD1C#-yC1xnU;NceP;|Nf*oGp88ee3*>`H(VZiC%9ADp=t{FIe zF%!Xn)4w^szB66(;q{#{xNr0rOa$xLafbn?e{+0&XS(LYrT!S)7d-_7r+;&NeP_%} zX4v6Uf6TlW>>?z0#w>7mabxgau#1q~F*6Yi-05G0<W9>5clsA0xnpJ`SnrYH47&)) zot6!pzL@tz{~{!JS~hU{7a_T0W^yFKo&H5g?zHS)^|-^po&H5g?zn8yVZiBMgyc@k z22NkheXqvML@;ote-V;9EgLv}F%!Xn(-$)t`oQU5gyc@u22Nkhq{9v`>QBq=VvlDS zaQYV^x#O~lV22m=r_8|VUxeh2naPm^PG4pBE}50Bz}Ws7gS(3xgZF}6gyfEyiD1C# zUxegN%LYzg%=;sG5t2JCyZ6X&hFyf@j+se^0jGZvk~=LMIQ@%|+%Yo|3^@IZklbn6 zz3Op?0jGZvk~=P&97*8xFG6ysWdo-#=Dt^BW+E7H`WGR&)3Sln7c&tIIDIjbrzCLt z7a_S*wSm(YGwCqk^p!SCd>C;07a_S*wZWafnERrq%)seigyfEy$&mz3UuEwFQ($cW z%+@S$cX4CzUa*Uh+%Yo|3^@IZklbn6!0C&5Kf^9Ua;IhY9vS+ui;&zgGwCqk^e;kk zr)2}De-V;9W+s9Gr+*QWJ1x6cJ?=2z^e;kk$7Pcv37q~#Nba<3;Pl1Z_iD^c1Orb0 zA|!WOHgNi4CV~N{FJ|(T1Wx}VBzLMdaQYV^xnpJ`SjUcM7;yR*A-U5v1E+rxk~?Jv zPX8h#cg#$VByjo{A-S`%6&Tw;V{mtIWAI+Ei;&zgb3ay7FmU=8A-Q8_A{cP`7a_UR zvU`sVXV^tZ?wFYf2AuvyNba<3;Pfv-a>vX>FyQnrLUN~N_o~Mo2AuvyNbb1oy>S&Y znPK23axX%1r)vgI{~{!J%uEF9J2mbw;PjPq+nam3X5jS2Oauc?{~{!Jx@O??FG6z1 z%tWw`9d{UT`pUT_9R{4fnERrqY6GW#5t2J*CV~N{ud?@oU4-P$)_f6?I|lCs6LX)v zV`d^4aQaG{?Y4JXHn`IlGZ75@M6Lp3_uorigyc>I1MlgJnFt1cB3FU2L@@BXcP>J5 zr)mSIe-V;9W$uGy_>@#sZST)9bEh7INrwTae-V;9EgRhFi<t-pej-=QWa#&u8h03Q z`pUT_f&r&5W+E7H`WGR&)Aj^T{~{!J%uEF9*l~ver>~q_(qX{qi@7g)sy1-?7a_T0 zW+E7H`YL-bm;z(_XSQa6_fJWI_ks!BXYaUdA{cP`7a_URvVqgT2+18Y6Ty0q3}=|q zW;=RXHgNi4CLIQxz5-*(kpxcvA|!XJHgNhEA-PlLK1jwL2AuvyNbb07(qX{qD=?OH z7;yR*A-Pk*fYZMS$(=Iyof>x-aQYV^x#O~X-D5Br`oQU5gyc@k22TGXBzMeA1nbyw zhXJRroZCJ=r)vgIU(9{cQ)b}wFG6z1%tSEY^i}p=Fa^f;&uq;C?|qoSd%*<W&oF_B zV8H2Lgyc@u22TGXBzMeA1nWIAoM9Isxzn<N)4vGG9WxWbfYZMS$(@!Be#_=XNbZ=K z2-XM5xWj<cSI%vxp04>2k~;<y!GP1h2+5t64es<WLUPB<M6mv}8Fv_P`WGR&(=~%T z{fm&?DKl{T7a_T0W^yFKPvl;N<W9@(-8t?s;Pfv-a>r%&lQ9POMNh%N>0gB8j+se^ z0jICB_kt-fwtr@87Pz~(F?cW7MM&<LnFt1){zXXcv~1w?FG6z1%tWx>Bf}YX5t2JC z8#w)oklZmd5ezu}i;&!D*}&;vgyfEyiC}$@j5`cC{fm&?>6(Gl7c&tIIQ@%|-07Nu z(--sJRtQW4>%`*@15W>$yuBlEuY0;x;O!j+#u8frlC#9zr@?g1!0BIv<W8A;caA#@ zIQ?gGr!O$+FmR{;d<~qwz}=Kgw+bX@iJ1ttclx&^Be%e7!3w-Sk_BE1R^WcDM*A%A z-su;Z2)1|n#Y_a-zo#$ezU0{qD{x0ow`%Y7i<t<ve|tyFd#7JuBG}&P7c&uTpPVJ; zK1jwLws-o)+^MJSxp(@-OlH{L>5F;)_D+F`V0))u%tWx>+T#w}JAIYCe^0-_z3ypy z?w!7v_fEgSWQOgXelZil_P=FQ%)L9u9kzG+#Y~Rm-su-}U-Yy+_fB8Td#7JuBG}&P z7xP{)l978W@cu}WjND@0A4!3UV8H1ssg?)^oIc6OmD<4RlZ;$31E)_ia*LUC7;yTE zxn19fschi%1>Vmvfr((i=_}@z2nL+Km^=0CStT$L3^;v~k*f{^PG4Xm7;ySxCPTmP z)X;}1Y?cgt;Pl1Z>z=kJaQce5B}WoCeKC^`15RJeq{BLP++o1!lZ;#q1K{)p?u(wb zCvf^CBUft%PG4YhB!SZ>8M(J4Be%f&BS|uHi+SH+3Y*=}Fp`n0vVqel8M(zw1nbYa z;S3`gxhfmn>647yVkUwCr%y6+RW@+?0`F%S$;egNeUOYh3^;v~ky~XG!GO~z8M!JO zIDL|lTg*f-;PgpGuF3{ZpJe0~GZ73peTB`ErzCLtV(!ymW*<pLuG9ujUrDt@FyQn_ zMy}QjoW8()(bKI0PM>7tYR$mu3rvnAaQY-8_g3KU;$~YV@cu}WjNB@F-(kv&-5*Jk zk*l(S(-(N(VFDAudXEf!7|F<$V8H1MOauc?UwN^l!@!-sn8}d@PM>7tYM*=6;|>E( zpJe1#*`&jO(<d3ZDjPU`l95}?L@?m=Nk*>922P)3<Q6j#3^;v-&5{`goW7X*G?;o4 zaHlV3@|5h@@eBh_pJe2!!+_H#8M$HxPM>7t7BlHE;PgpG?k&m4EpT^nvr{GTUNDl8 zTV?lSH7y%BeUg!@vVqel8M(zw1nWIAoM9v*S7igIFYx{;NiuR(HgNhRBe$5zkpxbk zWaO&sUiG-cfYT=#xm7mlFyQn_My|>RPM>7t7BdkHIDL|ltFnR9CmFfLOauc?UtzO* zr%y6+wPxV-Nk(ollc!|Ij%OHf`XnP)YX(lAWaNq&IDL|lTg?4=GqsPv>647yTauAm z;O^pPYZiDf7|F=3viq@`mJOUf$;egN!08LTANnLCS7rAe8O|`0kz359!+_H#8M!JO zIDL|lTg*f-;PgpGuFCFJk2?%FeUgz|Ws@TboW8<l_dbkd<Z8{}J$;gqTg+tW_njJd z7;yR|BUft%PM>7tiWxY4l95}?eHu(3?%+;e%%sCQcHCjW>646HsSTVy$;cHmaQY-8 zx0p$X0jEzga&JjSZh^ato1H3w_kxj(+$y^tt7+N5>646Hl?|Le$;d5cB3SQ{;S3`g zxhfkteUgz|%tSEY^c6PS<(~F7aQb5Ic4*8@1nYxj++o1!D`2-%PuC2bzL<$%!09V& zmUI|!`eG&>2Asa~V)x$~2}}e7KanfuUiY*;!JWRsW{F_n?Hw_bBMF?on8}gs*zpVl zPM>7t>OlvbKFP=xGjRGOBe$4IhXJQgGIDQ8Ms9)kGmK>97W00F3EYp>Yyc{3c0a>N zMy}QjoIc6OEoLHE?~&mQBN@3W8#sNEkz33}FyQnRHrwT%_BL?(VkSot{O%nk)siC# zoIc6ORg(axFEHsa;Pe$XOF9fVeKC^`15RH_wWPy<(<d3Z>M-E+1tuK^oIc6O)tZ6R zCmFfLOa$xL@lz5weUg!@H3O$lGIGTXoIc6OE$05bnLc8H(<d3Zx5|s{pIO-g?}xs? zd%*<mvv*u}KUPyPaQY-8S6c;~KFP=}W+GVck>Ly@8M!JOIDL|lTg*f-;PgpGuF3{Z zpJe0~GZCy0l5vLtr%y6+wPxV-1tx+4r%y6+wPxV-Nk(ol6T$k^X53-G>646Htr<9d zl94NB;PgpGZZY?1Fnzd#JAIOotFn7{jynuEeUgz|W%rXYRU7>79p%Lm;|hMCzL-ge z0jEzga&JjSZh^ato9(l}d%;LXZk64S)wFEj^hrjp$_7rKWaJhz5v=#faE6hLT$K%+ zKFP=}W+E7H`XnP)Wdo;AGIEQV2-XM5xWj<cCmFd~GjRGOBUjA8>647yV(xo29lhXA zpJe2!?CxjA9R{2}$;hp;d)-sD!JR(I$W__k?H!VlTg*f-aHp@Z*}ZWUxIbg3`wWt^ zNJg&I22P)3<cb+MeSygg15RJey-P;>e5btF{uzVU9ahY1!3w-Sk_9G$?VY}u_sLlW zCW7sMBDa`{V7*6XPf0QFld}p;1l#{aZZQ+V_D)~S`?q%rOa$A%y;ICYuwM1J!}d;J zW$)k9FEE*5`#XIx@11^u`+=T5G4@Wsn2BKfJAE;C;&F%VoqjR*=ANp(clyOlj^zGM zU(9=_Utl8G-su-J5v*g!9kzG+Dtqtr3*1k}v_1DuU(EYE{Q{F2ws-o)Oauc?UwN_p zGutYG_ksz$Kav9P1rxX*tLd77(<d3ZcLEc^fYT=#xhlK&$Z&>{jND=-f&r&5X3}B6 z>646H2?m@#$;d5cB3R$%afbn?Pcm|~X5jP%CV~N{Pcm|~X5jP%CPN=MeTB`ErzCLt zV(!g7eO3XdFJ{tV!09V&wm&kaYX(kV%zdNB%tWw`9nUb}^hrjp&NFcOBqLYM!0D5W z++rq25;%P^_b!>Wr}AR^XAIsSNs^I!M>28?Oauc?pJe2!Y~b`sMs6_^!FrDjXBf%I zRoTGllZ@PACV~N{Pcm{<HgNhRBe$4|V14qAI}A8|l98)51E()A5eztel98)51E)_i za*LS=)(zme!+_H#8M#_BaQXrh!GP0O*ld4fOg#y3`XnP)YJ)p{l94NB;PeIV<8!Ju zaQY-8S8E1NpJe0~GZ73peKGHkr1E0>XSUA*?~kOwd%*<mvv*uJ5eztel978yGI9${ z1OrZAVY8&ez}q_{BUgffJAHvkhXJRru-Pv6^k4v|FJ{tV!0D5WT<tS(`XnQ_n2BJ( z>646Hl?~qBAsM;FOauc?pJe2!Y~b`sMs6_^!GO~z8M!JOIDL|lTg*f-;PjOjOP-Rz z>646H2?m@#$;cHmaQY-8x0s1>1x}x2<lZSSwtr^MK;XTt5O^<`!22U9a6eYlH3O$l zGIF(5;7*@p<Q6j#toO+9K8$4Ks%&tlPcm|gnFt1)KFP>c*}&-wOpYXQ`XnP)YX(lA zWaJhz5eztel98*jfzu}$xy4Kb15Tf0<f?4o^hri;F%!Xn(^p<Bu@%7SlZ;#m2An?0 z$Q5&cV2q!V!0D5W+$x)N7<f;gWaO%B@SZ-&$Sr0f7`W3{UTpu&T(7|0#f`yxr%y6+ z??^_jz`*GXOauc?pJe3Ln)@7@?sH%AaE6hLT$K%+zQFq<NiuR(HgNhRBe$5zkpxbk zWaO&sUiG-cfYT=#xm7mlFyQo+7fXgdaQY-8SAqejPcm}F+;?i+VZiB=jNB@_*FBxv z!0D5WT$K%+KFP=}W+E84(^p<BIg-HXlZ;#m2An?0$Q3iV(<d3Z#oV7a(^CbUKFP?v zQ(kQU%*qzHySOoUFBr+ltu^;!H7y%BeUg!@vVqeNGjeZ#`je}_fA`_*H}9@Kzy0pz z>gOd+F(-mKaPJZOl(gWEo^BOz`XnP)f`L1Ih0T&93EtijGdYsL>5Dn(up85!y=vQG z7EC$}{O%pa+$Ofd9gN87J8<OmEjSU(g8N>%^K8M1U~Zqmoj%FP)i3}~U*JSAw`Sn< z#Y~PQxYJkIY|>$F&EP$KF_R7hPG5PkWatB@Pcm}V+ra6Qj9f7Tr%y6+i<ulr;PgpG z?w#^t`^Sym^HU}8{zwYE7fj&&krcQetLd77(<d3Z+A84mNk(ol6Ty0q41E~M$W__E z>647yVkUwCr%y6+RW@+?BqO(&iC}$@j5`e6>646HtvPb~ZuCY@-+?2iZ^8XQPp2pN ziCmJAE46{sCmFe722Nk#-rQ5Qfzu}$xmq)D`T~;<15Tf0<kp(W4C~nO3<FM|WaMhi z!0D5WTrmTuPcm|gnH)*r^hrkU9m&Wo@cu}WjND@0JAHxsv6@X!<;Cv5H4>Nz2An?0 z$d%f_=_@am2nK#4mt^E>&EV}Fl94NB;PeIVa!-33IDL|lTWcmqvQOUOQ&M5GL@;ot zPcm{P7;yT^izP=AyuCv*a<yjg_72I&6?1>uj5`cCeUgz|W%s(L!vNgrlZ;%I4V*s7 z$Sr0f7;ySwM(+7Pb_tx!FbnSE(=~|&CxTgUGV~oda{3mW2zGwe5oY9CW+GVhp8h$r z@?!hP?eqDX1x^IB%t?n?=DlEHMy@M6a{3mW2<FxdoIc6Oy(1a90{0~kpOON1^t3&} zoqm{+>-HJk=_@am97*8xNk*>r8N9tiGIGV-2g$g@fYT=#xm9*D!`v_cPM>7ts%+r& zNk(olCxW>n8QtkSa3>yj7;yR|BUgd}r!R2g!(4lUJAIOot2Ki=eUgz|%tWw`9d}sd z^xam0-?B+EawQn}iCmJAD`xN$xg;aEnENQ18k)V+zYjBVPX}Ou6CY;5{Q*5%b1|<4 zD{wznQ|8F&pPni)@9*>rOa$Bimd#=&g7qGm%`h?VoqmCdVEa4$VkUy^oxYg&PQSoJ zu)WhSW+GUxdfZ`qr?0Z3JAF3*Bd2e{iC_*K-RWC!KhV?Zxqo{{YDZ4rjo!%VJ8*y6 zj5}=a^tI;w+dBpBbx*fy@ASpIclre;9kzG+#Y_a-JAE<t<2>%Lz0)t|K0c>SvVVK0 znERrq%+Z~`JI{Nkud?@V?-ZDHSmgB2*Q~tQ{+X#Q@cu{&yzel9_ksz$?=a=X62XAe zCmFf-0u#Z2(<d3ZDjPU`l95}?M6k%|pIa&A#U>qQ!O4-d;N(bJa3YumCr8qOd)4+S zX~9G=;Pk_cTw68~3^@HTBiEH3IeiNz9Tqu#$J~j>9Tqu#%iNpWJ)bSO*F6R&9p-FB z<n&$Hk<+(eB3R_~Ei)0UV{L~ywIiqR%8s1A1(ObooW5g@oW2E<p&vPY%bW=2_8B<+ zFeCT8Y=QTJ3A{g&0w;pmviq@e1MpmJ<;CuOn7~A^=uY3Q8905Ck$bPaSRz>D^xc}H zJADgII?Oc*aQe!NC4xnF`fkn9oxTMpf?05KBptX968n_2;NG8Z7+7$pc3{^e;7&ix z$aQ4{rypkIT4o{`xYG|aa$VWIwZ|P6Ieph8;7*@p<Z5n5clu7S$mzQ^M^4{@Nry#F z-!dmN%z-<0++o1!hZ(tUpQAf{3+{_{)6;>0(<d3ZIvBv|3*1M^c+H7m=N%Si<esY? zX5?CMawIKyFPO?Ef<;c>sU10e3r+;H;6yMBCW3V*WoMXUj-0*)6T!fpKFP?vSJ-Ug z^xc{xr*FYTF!1({)=WCAS3T}9@b*rak?Uqy<n-NE?cdW^heb}`F-Py|yETJ5{V*ff zGAAA8z<qey4zu7s0cQ{QFeBG8_qxZ-M6k%|yRsvvZ^3;UOxGMaealP)>)3IJ0jD2k z<hnHjrypkII%eSX!;D<ZOgaoW{V*f<ylmyg_Rs8K2)v(R0`CPAct67g?#F7n=E&(g zwIio*!9*}{rypkIy0UwZ3};xFk!zU~!Ojg0$;iDAGjd(ok<+)}F88#zqdR>kSmg9= z+2ly}Z60@6<n&$H;O(6-BiAw$!6K*cn1RzL8M!)D(Vf06n+VpQHscP9?(|*R(Ve~p z_qwOU0Nm+^8M&_P$mzQ=6uqZ!nTcT0d-{&KcjvgnBB$>J18?ty8M$`NebLkQ1WrH9 z$aQ6dJN+;t*D~(~BN@5(VMgwG*#h?m^lYC6-XBSUiD1C#hZ(s}F!1&c$;j0{gZK26 z7n^)9c|L{&?&xWgfVX$Tj9j->;O(6-BiAuUcls7gjwEpUBqLYt*{dEtB?V48%(Z9a z^es4<VHTXsFb9sDz6B?Oxefz&`e8<{WljWh;J#Di4vU<=Q#*3{7ToKePEX+U!;D;~ zcI5OexKD%Wn!%mE)=WCAW5*p9IejM>aQb0Ju4V3vo^BOz`e8<{D;qd{F_R-1y{CU( zc9@ZC!TX^v=KYZjGjeU&Nr#<JPvylX#?>){JN+;t*D~)rjAZ2AD=(G^2AsZ_Nry#m z?>M!A(<d3ZQX4q^FeBHkIdb~$RDrj56gEpbEOPp8&5_f$U~(kE+dGfh+dHmoaHlWk zzE|$y?wTaJ)3@Mc=({!dof`VEFeBG8CxTgUuiL3@!9+0d_D-0Q>&gaq`e8<{WljWh z?b)&84g*e~WaR2`6TQ7-*W4F9ZBO9z!;D<F&ymx2YmS`01t)@?gOwNCKQpxj?k;W& z-p{ZwBlmo(!i-!822MZB$hFLgU~ZqIw|6Wv>9F1-!x<K4<hrtf(+@LpEi(};dV9z1 zbL8|bm~>d=^qpXl(|6!r^|-@;(<d3Z_aq~?z@)>#oxZ|m`+;^t-*s5z^xZy3PTztP z!5p|dX4_$I&EQTy%*eH6_qyFySuha{IQ=jq*Od*NewdMKnTcQ>Ydg#_1E(Km<XUFZ zVc>V~gc-T6?C7^_T5x~fOixwh^euDmk{Pq|V*6(dPKN$@*<nVm1@Aj7%*b`j!0Cq> zxt4j~VPQtDWhNcgdt^An6gJz@)Ao#<{`vDc%*b_ufjj*$BiAuUPTzu)4s(J5rypkI zy0UxK;|`0QzFTv2r*FYzhDA=_2^Kkh3noVrIQ=jq*OpCYSl_8}heb}`l^wmkW5K=d z>GT9|?}Qn-uI%XT9e1jL(+@LpZP}#5I(FP)!09Vsw~x<hlSFs=PB7r~l~kJ;SJx!K z>647ydx6Q31aI$z8M)_MMKW^l1>Sd<z<a?2?#IgY_IZ;iFLvKy0`H%a0u#Z&oqm{+ z>zbr5+0HPhHgNiixlIJK%%sDB(+@Lpo!Y?ZhZ(t+IT6gM9o^|WaNlOzVXkc8^hrjp z1|ay|I|3&&%&i$X{V*ffGWWf5qt}8-hk@Uxue{h~=)1Bbr|)_@a{3nB>vn2eaMEE8 z9Np<#aDQaDvYpz%>4zD)mN^m3fjf3Q!+_IQQY|@>!0Cq>xlXXi>02=Au;}d_%bXlZ z3+`PqIv5WmBe%e7!3w<YumZ0ID=-l(a{8xRCFZ@;FE9~o@AQkA2-bUKHp9fcclrfR z1Ur4)6qt0_-sy`udV9xp*xu<EGZAcmr(evZ!+O=@4%<6@l^xybyRC|xz6BG(_D)}G z-oL$5;J#PWXVw1gonj_}^;t0Pu*m7VeU6;I1^2qAYVYs#rFP`>UD?r{z6FyG+y6vv zt(kOK$BsK}@AOsn-su;ZblCn*U(AuycMtddoqjQs4%^@97jy3tcb?DJti0I%ap3b) zC2)6fWAI+EFeBHNoe1W@k<)i-1E(Km<l3_LM^em0u-+qfhB?82(+@LponXM}i<t-p zoW25fyWG<w8999?SmgBGK1WX9f%_n_9p=i8oW2Ej>Z#hm=__EDbQo~@BqR4hU?LcB z`eG)6_2D`0FyQoWt|O=K4#s1z+qI_!6TyJfzqtlZUtrQ<!0C&b2-dOV4g*gAhB$qJ zlMZv!6FB{w%;`I3;Pk~zIt(~{G50QU=lOiiBqR5MWaJijFBr+lEoLHE<n*1|!09Wg zmIwy!^uvr?x8`m=?F>7A+$dnTqo=(c-Rax1_cKgolMaiVz7q^MeWmk~4vU<=QyVya z<;CuAD+DGT2JZC5OgaoWedWax!J<2Tx6i=ot85||aQe!NC4vE`FXrCd(*YPceYaK7 zoxU4G!0F!-r!O!O3^;u;lcC?S_9^MM3OId|kt-_|Ieph8!09V&mK;go^hrjp1OrZA z;NB&(VL&o+A4o=Sfs-S7-XsF|+3VJ9!9+0N^zX>qI|38IfYTQ<5v)6@;S5vQY)89& zJ|BPrCxTgU(qR@%1dE)$V~(7@I~bAEw_qYz<n-N|`!<g|EOPp8&5_f$U?LcB`e8<{ zQyVyaG55Wio@e0n#Y~Q5->Gqj0jEzga`lJ>PG4Xm7;yS`#OVu6IxKSfcR&5f)!)DS z@b#N_SD)X0_j2{~>SL)LIeiE2VvjovIDL|lt2IYX-%S$W^pzL8clsnFS8E1$`U3Y+ zG97@x=_@a`e`d@A?|qoS`y(mvUNC|Cv6`+KIDLi962T&;e}1aOOauc?UwN^l!+_Hl zbJAhwJ}k`0b!vk<{d@ABzQA4XX>UhP->n(k>8osVB>OfGpOQ+dO$2jI5;=V*7`W3{ z*+ejKr>~^iL@>8z;PgpG?t{QYus%G;9R{5KJ-O2txYs=$2Egf)j9hIMczZ|SJ`JX8 zj-0;h?a1jnaPLmrVQvfor>~e>A{cP`V(yD}TjkaaoIc6OReJ)bPcm|gIT7r<!;}}> zKTd56-Vc3}k^4Y0atoXYcHUviizR{qr!VIHkqk3(-97`SA7<n_X5jS2OazPG(|1h* zoPL;*>zIMl7jq(*Wln5`1t&++HA%19J|!)f%rM~emCl<8X3Hjm0jIB|S|S*5`XnP) zLmxQ(2lDogz(g?c_Kuj74m-bP7C7lJ2afLaEjSU(g8MX>8XDmANk*>Pvx_~RVZiB& znFt1)zL@)>r&|S_KFP?{Rsp9^GIEP~FBr+leGoV~lIPDVl95}?$qcj1L@?m=6*fx* z15RJeiD2hGjAZ0$tNN0MGfd!)o(%(%ky~Xag1HU@PCv}Zb<Du&hZ(u9Nx+@Hn8}gs zkE(HpMR)p6ZQ%43?Mpfg-072yTpbMH^uvr?r#5(dN6e(d`c92I3^;uS?DpoK4#3Fi zJGCRH@4%7Mx8P*xyD<dr^hrjp4hFc>SJ>?S0#V>ZFsC+f`e8<{W$uff_BL?(BqLY* z44l5eeUyyXycdjQ<UWv$+yd`sn816%1SWz3r%y6+B^Yq}0u#ZaJN@&~tFYPq3?mu2 z5)9nwlZ@PACLIRe(|;mw?+8qeByjp-CW7^<hdxYUv%NoOqc_aRJ%7-J8Mzir1Os>a zVMeYi8{FxOnar@r>7QQ|E2%b_VHQj}3^;w2-RqwAHgNh1n@t3BO#<HD5p$mg(=~%T zeKC_G*|Fmp2An?0$kl@m-02J47d_o7;Pe%+OO7OP`eG(W65Q#NjNAu-_kxj(++t1y zJNKRf?>kIkv-=rFGIF(M;PgpGZZQ+VdXEfe7|F<0*}&<OjND=-f&r(mu-Pv6Y<dd3 ze@Y6R9Le*CJITnE+P&&=hXJQA=1x6T8{FxOnRFO%`bw%L9Tqu#H@AV)SJ_0c-rD01 z19$qbvpan!7;ySxCV~N{ucTViVZiB=j9iT&;PjPLOKb&j`XnP)YX(kV;J)bT^aM^{ zNwrCbxl;w4KFP?H+Q8{6FSdVXY73kQcK&b|c>k0XxX<2k*-3|;?{k=u>(&h3-XR&e z4+0axfYVn}E$J}u_D-0Q>$VEKy(8wN!yGek`ii;ja!(HiaQb2<9R}|7l^07o3^@HT zBiHS7<n+%kio=Xt2acS+1t%S5!F{i$?FpQ|qJ7Dc?5#a?`U==h1anOS?)1gn>z=9& zoW8<l$&mz3U(BS#z@5IBNr!dpxWj<cCmFf26~O6}j9f7Tr!O!$lECSUnH<Tz(|=T6 zZ2ydgL4ntT6?lCl3%nMr!2MWF*Sx>e7xUif7dR2@^c$1{6T$XQU(CHnW;3k79X;Ku z{hfX>6T$XQU(9=_Utl8G-su-J5p3`D#oW)uxWo2NznDAqv^^uIf9e2>nar@r={x4= zPT!58=uY1<lMdTEeW~4v#~rqJ`o&B-Z141onRM9R>5F;q^b1S`+dKVYCW3YBxWo2N zUuEy#(=Tv88Pfr{ztb1<-su;ZJSF!|znF<&k<&jPy(A;|k!0i+cz-0rj9k0seym)3 zIxukh3Y*<`7|F<$+Q8|Pj9fAIB@btqz#Z+j>f9NSjNB@Fe<TG?I?R;~oIc6O)tV!x ze|lY8;6yMBP6Tt{K1ghbS#Z)}7Tl?)?FpPd$;j1K0jEzga*LS=w!hOa=A^^ik?gH) zJIsQU4zpk)7;ySZ=Ouyxr%y6+wa>um3*0w)dY*yPSJ>?S##La_VZiB=j9hIMaQY-8 zSIofalZ@PACLI<z{qsqpyx9Jk^|rwK4ik7k!vx+7CU8Gi(=`L9udrDnSahfF_8B;R zl9BtUyjap<!0C&bbQo~@BqLXX0jDo;mwVdVk<)h_7CC(jCP%Vw^U#Npj9hIMxYH*Y zxy4Kb15RH_wWPy<(<d3Z5)3$fl94NBaHmf)a*LTfC4tjdUMv~<;7*@p<VrB$^hrjp znEP=a&oJQhNk(p!opjjwrK!Mu(bH!YxYJkIESX{8PM>7tN^RiuNk;A?$;d5me?ZUn zIn2mCw-o~KJ4|`8`x!<uawQmW`T{3M(g_CM-ceF55iD~0=QpllMy>@Xf?06VVGazO z{vC1p0+S;NoW7V7!CZUxs)tX>JMg=AbR>b(7dYuKyJjL7aQX_H?FV`~w}I0aGZ73p zedWcH83vp_$;efE0;f+ha>WdsewdMaZXZcTZk63PdfMCIPG4cOq{D#ICmFdCEOPp8 zh5@G^X5_ji0ZyM}<VrAbr!R2tl39ByFSdWi;Qi1i8M%)nBe%drFyQn_My|>RPM>7t z7Bdm7_sGzPDXF%jr|k*u^hrjp1OspHgc-T#GmK>9s%+r&1>Qd;1tuK^oPL;*d;Y8v zxKmHt6F7a6k*j?MPM>7t7BdkHIQ=jq*PW`~+T$4poIc6OmD<4R3rvnAaQY-8S8E1u z?+DyCdU~FL(^p<B@nOK}lZ;%c4V-?Mk?Te;xYH*Yxmq*0(<d3Z#oW7O)}ACI_fg=z z4-<Gl^ab7@Nr8!Ak<&lFu2oWPBA5jyf?04Pm<1ET`jUrFNyXfD^t88u(-(6h*!dU| zm<R^$^c8bU1OrZA%tSEY^c6O{e@Y5W1OrZ=WaMh}g12{+7fS>Kclu)Pdo?}J!0D5W zT&dk#dpyH{(-$)l3^@HTBi9W;;Pe$XOO7OP`eN=IJ#A0m^hrjp+7mc^l95}?L@;ot zue?|?!@!+B$;g#p;7*@p<UW#&+yd{9B+1Av=6#0=y!T<si`{n^$;j23!JWRqL@;ot zPcm|~X5jQmMs6_^!GO~z8M!JOIQ=jq_x#~5FcAzmeTB`EBMF?om^<~%8IX)z?K5!t zBqLYM!0D5W++rpj2HxILQf<;<=l>ueaPpM2VA5g0>8ot=l#HCdTQhL_N~$G-0jEzg za@E^i?BVy4BqO(&iD1C#i@7g)Iz55YCmFdC4BY958M)^-t^y~5or9GZ+doci3r=R3 z1t%S5!F~3+vd=vU$;f?F*lZ%0V~+0hEjSU(f{9?j=_@am2nL)!$;j0{1E)_ia>Wep z^hri;F_R7hPM>7ts_b6%@F__$a*MfBPsb2=dq>R4(09WC-072yTnPs5^hri;F%!Z1 z@Emto<n-NEfjfPYkt@M~(<d3ZVg^p1WaJie-{|Ri26y_(izQD<aHmf)awQmW`XnP) z%)sfBjND=-Lm%Afi@A5ntUZ+%+dpG)cX4CzUa&AD_k4PijNC`%#S+1Q(<d3ZRrY>{ zk&Ik1_Z}HOB?a#2X@`NgcSuHVt(hE2;PgpGuF3{ZpJe0~GZCy0l5vNDJAIOot2G0s zPcm}F44gj6$Svl+SJU$h?(|7UuFCGibKGIT>4zD)?m-9c^hrjp1Os>aBqO(&NrwTa zPcm{<cAtOa4vU=r`K4)?k!!*IWVrKe!F|zFFmU=|My@+m!0D5WTr~-B`XnRwk!0i+ zcz+~GMs6`D9d^FYBqLYM!0D5W++t3Sq+K%+tb6t03{%)_N4sI*$_7qf%tSEY^c6O{ z|6Vf8$UXmObAic`1b6ykCLPwR9(NdU`XnP)M-n*wFeBF;4B+$?HcO5qaQb2<M-trW zD{Ph=N#OLw+?#tk0D;pNGdYrx(|7F&?(|7Uu8t&d`XnP)%w6p942zt;QyaX!Lo#w} z&3)0Xx81V}IDL|ltFnR9CmFfLoCtQh&riyW?H{MM1+RyGF|TJ>f&1(omrVrQ-|4ID zz0)r+5p3`Di<t=4dt^4l#JqR<1tx;+oqjPB!S+sH%=`EB3!DgcI(iFCj^y6yi@8@l z?y$YnFXm1?9YcGkU(BS#_D)~Sd#7LEL@?K3d#7K_M6ll4;||+9eU-g;`UUQFyY@W2 zaV>Bnm;*;n--7!iV_J4}r*D}P!JHe~zr7>1yV&Cn+dKVYPL8Bo^ZxCfV(yD}`|Oza zPG8LXpU5pR5p4hVPBHHVBN@3*BqO)Ld%?nt-18<8m<R@(KFP?HV8H2<jND=-g7vXI zoM9v*S7igIA7<p9dlHh7tFnR9CmFfLOpYXQ`eG&>)~g<O7;ySZs_oRXXO+NvTR}2% zwa>umlZ@PACV~N{Pcm{<cHgOShXJQAW+GVR^xac3a{3M&IeiQ6kBsT5ik!Y>?i)R3 zCNr#K#~lWozLIK5hXJQgGIDh!fzu}$xy4Kb15RJey-Q~8sl3?!8H1A}dG3ZtM(z{I z$Sp7t3^;v~k*l(S(-(L@!$?N1%I-ZfoM8fY^t3&J(-$)l4BY9Hj9jS=?(_xT&oF_B zV8H1sFE*KBZVUmZPcm|~Rlw<!j9f8CPXGMgGt9`f;J#PxJX>(mVHTVWeFyHuc7|Cn znPI@`lZ;$732^!(BUjA(w|5GhblADm7r1Y<YflSKI?RDP)^?Z$lMVw;Kg`IrW%or- z)do(VWaO&DfYT=#xy8H}OnI^WGgDjOeTNCWKav9PkEFmvFyQn_M(z{I$Sp7t4BY9H zj9irsoPL;*dp?E)CV~N{ue?}tB!SZ>8M)dj;PgpGu9*8E89pURMs6{8>gn_ZPG8Jq zhDA=_9SrdHj$&?!VBk()%tWw03&tG=?(|7UuG$ma>646HF@rn(FeBHsCvf^CBe&K} zI;>;I9R}|7Nk*>L4DR#=?u(vIPvG<wHcN~vaQY-8S84;NPcm|!1l|iKa5D7IZ{h^* zvv<}c0`EIad9iyRCNL2U-072yT<tS(`pSzXf&r&5X3}B6>646HsSTXIz+LX?!2oyq zVMgxxy=Rz_>%e`R?Nic%6TvLFQ%}_fPM>7ts>6WOCmFfLOauc?Kg`HIw~xw;B{K{- zeUgzYwSm(o8M$HxPM>7t7BlHEaHlV3Vk<h<&M?=W!0D5WT&WG5KFP=xGjRF>Cqv(< z4V*s7$gMT^E}1=Ulo#7SWAI)ul9BsFGI9${1OrY#%*Z|OFoE|oOyK^on(i}j`pSzX z9R{4fn2BJ(>646HwI^`;BqO(&iD2MPU(Do4_Ns?ZNs^H(!N8q9$;d5cA{cP`3Y+Z* zdOAsf(-$+DVc<@mWaMhAfYT=#xy4Kb18?srY?cgt@b-?F`!txgCvf^=CP%Vk$1@B# zeUg!@4g*eK;J#?LRp)oTBqLX41E()A=`iq~KFP>^QeJHTIJM8cr@;H6FYsP4f%h{^ z;H1Ocnt{_N8M)dj;PgpGZZRi<o!@(g8MzjmbeIJv9cIBvhgmQY3^;v~k*j?MPM>7t z7IPw)JCc2yhfhg`%_bdYnLG7#dV)KBl94O5fzu}$xy4Kb15RJeq{I3w7<U+O`bw%L zf&r&bGIF)g!08K2jwEpUV(uF~J<q`DlZ;%c4V*s7$Sr0fSmgBG=mmHBBqLXA22MZB z$hB+U&#*8f_ncYa{gD)SKf?sxcbLFLFyQnRuuB93PG8JKu*m7VCh1EaJ|z`4+tIVp zOEPkwNJegfNrwTaPcm{<HgNg^lMVw;pJe1}&A{oCjND=-f`L1I<;Cu=cLXL!5;%R5 zkt?-<(^p<B5ezteF_WhxaQY-8S84;NPcm|gnFt1)zL?3-@7VEE5;%R5kt?-<(<d3Z zVg^p1WaJhz=`e7oPcm|!NJegflc9fp?<sI1m<9LQ>l~m3_hU5$M^4`{1E)_ia<x^! z>646HG4~!B&M=aZTg*v^oqvNOaMEEGoOGB21E)_iawQmW`XnQ_n2BJ0o5vjnoIc6O z)tZ6RCmFe722P)3<Q8+^D>r)G!2oyqBqLX4_gOIRFyQn_MsAhe>z=9&-rfl_a@{_I zJAIOoE5U%%CmFe7?(=WlVZiB!8M$t&fYTRqU-Yy+fzu}$x!Nk=^hri;G4BOaUTpu& z)E2nAxG{J?^hrkU6UoRGICA>u2ZLnf7BdkHIDIjb4(mNKoM9v*SAqejPcm|gnFt1) zewdN#+7mc^G4E{!$;g%3{alPY3^;v~ky~XG!N8rq!e+_P2Y32n?tA5)80W9%l8jub z4es<wMy{BF(<d3Z#Y{R3IDO^Ck`4n-pJe1pFyQn_My{Cq17keHfYTRqawN~MF2jsm z3+{_{!@z+fr*FaCl#H1Z!Q3Mj-072y+}9){x4?;Dr)w_oTCf7IXIO!g4s&JioxYg& zclre;g6*AtF%!XhkIZJ6nD=k*6qpFMztb;fBG}&Pi+TUMcM41d+dKVYCW7^<#~rqJ z`YJp6iQH4;T3|B6_D)~Sd#7LEexTh`(oN6E>02-nZ1427=1x5Bu)WhS=HA>>wf9cH zn8}gcJAE<loqmCdV0))u%tWw`9e3E?>8tF>>ANGjztb<~zUXOhM^4|B9sNYEo7?+4 zeXV)#^b5QfOnI^W<J3N1v%veIFYx|I3fyO}EBkz(1tx+4r%y6+Uz3d70u#Z2(^p<B z=`i5*Nk*;&15Tf0<cb+MeUgz|%;ZP{r%y6+Rd%m>_>>g5_vdtyL{8t0A>i~$My><{ zPM>7t7IWXLsoMLucZ!(|{XRU$9R{2}$;j23Bd33Q?^)nPFb9sDz6B>o(t?u?v*5nb z)Aj^TUwN^~Q_@Wm;PgpGu9^fmeUgzYX5jQmMs6`D9p<(QIDL|l`<i6r7C1SQ=W7;t zFPOmlBPnn{R<rZ0yx9Gb6qpDG?(|7UuJ#!?eUgzYX5jP%CLIQxzL-ge0jEzga-}wK z`XnQ_n2BJ0n}<G3VYB2&0;f+hawQnJ(+@Lp-P{Iu`eN>TH66Xc>5G|kSby4#I}A8| zCDjtaBB$^6Idb|A965apCPxz7>646H9ZBHy6*fz31#tReCLIQxzL@)>r^5g^eUg!@ zeFjdSWaJj}UNGgw_Rmahf%ivJ;C+V)+-L8&Y$6zN`XnRwHOa^=FcAzmeUg!@vVqel z8M(zw1OrZ=WaO%B@b-?t<Vb=$eUg!@HTSBAK8$4K7IUYbj-lvI|NQnb%*b`%=uY2) zlc8_HiC`9-97zi%L%$P`I}A8|l98+S1Wuo1<cb+MeUgz|%t?oxe~%$>-{|Ri22Njj zvBZY~r%y6+r8aQ-BqLYM!0D5W++rpj2JZApM(%6n#rDsvw*^jy{`sjAcrTd1`y(lE zKUUK<1E)_ia<x_9PM>7t7Bdm7_sH-msj%6Oo^BPm(-$-8FyQn_My|FBIDLW1kpxaZ z%*b_<q*p!eFmR`@q}onBZO_Q*+clFT899B&4DR$vMy`4r-072yTru}qFzztm^hri; zmEG%}wkNpLCmFda8@#7aGIEQV2nL+K@?wb(15Tf0<VrB$^hrjpn1RzL8M(zwhCXom zBqR4V$;d76-iHai7fj&&krcQetJwfl*zEpDl8jub4V*s7$Sr0fSnrYHQ&M5G9X;JD z;Pl0ublCX?VwjQZz|q?~7MuuX!O4-dU?LcJdq;V(<VXUiPcm|Ks({lc8M$HxPM>7t z7IWXL>3IfDU(95N_0}HGFyQn_My}KbPG4Xm7`W3{*laSx&c6{Q8MzV+IDL|lE9Nft zxWj<cCmFd_c0U>JJfHuVXPA-e_8B;Rl98)51E()=BA8us?-Hl>IaqnI{WAvdk0i;+ zeN8fQ3rqw9PM>7ts%+r&Nk(ol6Ty0q3}=`Eb~}37p1|pgd4D7YCW1vy-<@Z0rypkI zp3iNPk*f{^PG5PkWQGB!FXm1?ZBO9zNk*>J22P)3<Q6j#3^;v~k*l)%EEvzQ$mzRN z1>VzF*}d**djh9VGIFIhaQXt14g*eK%w*_y?6|{#(<d3Z+N#LuyJr=6PhVlPWavk~ zd&iXxoIc6OmD=DvedWdW&ukb7y!T-OCr9%90#V>(hFNewR&LD>965apP6V@HA{cm2 zUje&`VCM%zd9kF!fYT=#xvxn^Zh?tl!0D5WT$K&p-XR&e#Y_b2=VJJjBpJCX8#sNE zkz33}FyQn_My|>RPM>7t7Bdm7KW)Yx7CC)4J%Q6#%x$mRJ?Jbm5e(evlZ;&LGjRF> z6TyJfS6(c6N&=@(GIFIhaQY-8SIofalZ@PA?$4X)sRDQUBqR4V$;d5mcX6{dhZ(u& zV@TlrkrcQet7+Mh(|2Wq-@QXJa<x^!>646HG4~#^Ps#HuEs~L2%=;rrGIEQVbQo~@ zBqLX41E)_ia*LS=*0<Sqm^+f-PM>7tYR%wIpJe2U8905Ckz34tuco6H-072yT$SCQ zHscNhPM>7tR@uGosoLO9pJe2!Y;dP9FzGPh^hrjp*4*dcxWgi+e|~`&X5?CM(qR_d z7wy{9fg`7H!QGUMnMsEMr%y6+Uz3d70w;o<KVk*m3np;VVU{`RFb4)spJe1pZSeMv zz(g=`r?0%&{cVN79qo>!+bZDnNk*==3OIe`#S+25+dE<=M-u!*F3HH1+P&)GQ&M2k zVc<@mWaQSG$qWNdUtzOEFyQn_My><{clsnFSIofalZ@PACPN=MeUg!@vVqeVxKD%W z69YJXl98)5_v1XCVUg2!Pf74wHp7fu%iI?|-KxmxJ7)0qj*@CghXJQgGIF1l7u!E0 zwF|r+`UPGKR^asvEAYC*1l~LS0u#aZPQRFmV0))8=Dy_F3@dO)Pup|v^oyAYws-ns z-aGvQ6T$XQznF<&`#XIx_dzo5u)WhS=1x6r&;6Z#F_Re<IsMc7Ffs3)eu0T#`#b$& zP6Tsn?yYS*%z~36X~BtL7ToK0?P<Y8u>IRR+N!<NFK{B*sRJx<BA5jyf;n)<+77ee zq{A$j2)2KFM{4ii(-(N}^b1S`+dKVYCLOkaPybnYvHjzQ!FiJiycbO1eTNCW7fj%O ztfp%QPM>7tYO8?LCmFfLOa$vaGMr%wo9*c7Rsp9^GIAvtaQY-8SIofalZ@PACPxxD zeUg!@vVqeVn9MNX^hrjp)*Lx~H}rwiCmFd_HtDd)>AN*|;_(dI-|1`3`}gz<-0PlB z&;6agn1Rz5m<)a3^u<gB+rOtT!TJ++++q7W{bD9F3^;v~k*l(S(<d3Z#Y_YPPM>7t zJ}WP_e`do#;Qf&lcrTd1`y(lEKUUK<1E)_ia<x^!>647yVkUz19vRLsl98*jfzub5 zbQo~@%8MmOGIILo*LYz@t_3H8S#Z)}4%`Qc?Jx`O{pp5*1$XK(I1%jJdy<S?9Sq>~ z1x^HWWrI6?F%!Xn(^pb0Ig-HXlZ;&LGjRF>Cr8rlGjRF}n<X6voIc6OmD<4RlZ;$3 z1E)_ia*Mg23^xE>lYl#Y<;9XC3GVbsMy><{PM>7tK9h{x0`HF`$;d6{eTNCWpJ57{ z-FFzt$km#G(<d3Z#Y_b2Jz{;>`7j_ExhfkteUgz|%tSEY^hrjp$_8)m2uzM7xYH*Y zxmq*0(<d3Z#Y_YPZ|~d@r!R0n(6fiTz{$5pZWsWkFJ^Ki`%aB#7;yR|BUc>;oIc6O z6*F-9BqO(&Nr!<ueKC^`>)3IJ0jEzga-}wK`XnP)%)sfBjND=-9R{2}$;f?HUTpu& z=C;85p)c@WFoFB*b!DI5#0lJw)f5~#ea9TVr*FZDU=~aSi=4h=?maS`VI(70y$zf` z$;d6{q{Ge)4avwAb9AR~nUfB);H1MWm<ZOZ9(NdU`XnP)TLqlHz(g=`r?0TtexTj- zbo&gPKFP?H+Q8|Pj9f7Tr%y6+i<ulraHmf)a#c3C(<d3Z#Y_YPPM>7ts%+r&1@7Z> zdY*yPCmFd~GjRGOBe$4|V8H2<jNE7C#rDr^p9S6zeS!Ca3A{g&0`H%a%8Mm}MNa?x zDM>PNwa?%ua!E$6n0t>5eHh8eEoRbT;O(6-BiHRSxYK_iPG4Xm7`W3HGdYsI>T!nw zr%y6+)t<oVlZ;$31E)_ia*Mg|)%0-#?(|7UuFCFDn{kH$r%y6+tL$F)RPD&=pI`4N zFE)8fT5x}4xUwynbQo~@BqLW_)#sn>Ft_H&>059jm<1;tX2E^Y(|wMdzGIHw-m&0B zF!yi=PG14LiD2i<BqR4(;N(bJ=DlDfBe%*Xf&r&bGICWmczcIr<Q6j#toMkWVXjHQ zPvk18mUI|!`XnP)Y6GV)aF^RnPp39;`XnQ_)=WCAZ}YgrfYT=#xmq)D`XnP)%)sfB zjND@Gdo^uO;PgpGuFCFyX53-G>5G{N2AsZ_$&rklz8gc}PM>7tYM+7ACmFe7?qZKS zEOPozZE&YgGIDFpebLil5IKFf=E&(=FgcRI>647yXOfXy;JvK~Gjh+>4l{Bsc;8{l zi%o7T95cAn7xTWu1nv*3*{LEKxoVQ$Bf}Xca7Rze22P)3<kp%=hXJQgGICWmaQY-8 zx0s1w{alPY3^@HTBlrAnh-BnSF!1({@?w)2=E{!V-m&1mSMEGpa5BRzIO#A4?!>mk zEI65A7Muv?9yh@0D_}Pf%rOI}Pcm|KFu;5IBqO(&iC`UTJItvKoIc6O)tbTEJ0v4l z%)sfBjND=-M-n)Fl9BtYyx9J6qxZbS1Wsm{1@8qT8M(FQeypZz22NjLvqUi9^hrjp z1Os>a%8Ml(2An?0$km#`oj%FP6*F-90(ZHmy$zf`$;hoWlOx#&$?z$uuvsD)_$`|x zBUgd}r%y6+#T+?(H}t`szL>k=p7u6)PoHGuN-%JzPcm|gnFt1)KFP>c+2Br}WaJhz z5eztel98*jfzuB&a@~0bPG8Jq=mV#(uvs$nfzuZ==`is24#~)UCK<T}?hokM+$I^h z#k}t@h0X4bE6K=J*}&<OjND=-g7rgXec1VxR+y1%!AXZ%aB?IqI1$W&Bd2e{U2b=( zESLxe-qR-;xoXc|we7I;XBElFE#^+`)V9n?hgopaVGbPK>05BpVHQjT15Tf0<Z7S$ zPK`SZIDL|lTV?mUr|k)xKFP>c*}&<OjND=-f&r&bGICWmaQXt1BMF?on8^$SPG4cO zWQGB!FJ{tVd#5kgdbrdd4TCS>rq~?ZT5Jw(ip{~T#m3-n_2*zBShxCfW+GU(`eWv{ z<k?fQI;>yn&zVVw^-KLZGwHBy^~cQpQhyF6f_1AuXC{KRs^=ZnFZIV|cdI`KlOx$L z^~cQJ>d(RLK+nN#ujXJPSijUCGdJRShjptzXC{Jmt3PKZN3y@ZGiL5qe-0*sb*n#T z4g@>BWT^*T!`cq>;NVDla3Gimx0B%n^We5<2R^+sD8ahbcVNrht^OQL1nX9R&KwA4 z)~vwT_8Bq@yzel9_ksz$?=XP_!AyrKFg6g(g9E`lI1tQ(1Hn9)2-cQtXP9LMPG3>A zL@?m=k0H74RM|BHr+*B|oih``fYVpmq{CX(^9}<}{}_@xR=fX5t^?b-oj83922Nj5 zwe3K=vTbko*LUV%GQ)t=SK2HY`iaxGTh)Ig*9qpqt?oIP97*8xk0H6PY};Y|Mg2KA z5X>_Z!5Y@iFuTwFQs1rFgWLFYV7umisXqs|MUTOW)3;?OPTzxxV8H1gLvn|LDKNHu z=HUI%KZfManfFKX7?L|?22TGNk~?SKci1r`ch0;&l1iH;9hNwKGsBJ{xo*uK9CVlm z2ZC8};`BYZ$vs|ke^K9o%>Y!wZXlQk2ZC8}I~VpT>A^&><WApi6>$2;kX*M_mN{|y z9!vyFoW5rcI?RKE4zu7!Y&*<@iD1C#A477-P10ZA8G{q2Zv{*4^gXyugL&C)qvv4K zVGTR)FyQo$A-QhNc6tJ*FXp!BF>~VdZIdKU--Ahq0jGZq$#sI6vK1KHJ`Qa5S>RxX zd2k?@2M0&egM$vUf+bGhg9E`lI1tQ(1Hn9)2-cQ7ongn2T-Tnq?Bq`0gNb1Mm+y?r z22TGNk~?Q69hNwKt9EjyZ^5nVd50x;`kuK_kJScFUkSV9NCKyS49Oj@89040lOvhj z>Dzs7#PbdVclyVW+_Bop+dF>Eq{D#IKZfLv*PPtx+chU|?|3i~tYPOJmN@<UpZ?_P z@85m+`pvtm&u_nbx%zo2d-LiTlIzs=;C3?R;I`;7IC1*6?8NDNa4_^em<ZNi)E^3_ zz}WVggPV(+gZF|RLvrWL`wqL0-rh0$EHDu)c~9Rn?>kIo6T#Y&?F_SJCwKZD9CVnO z+sBYx*I^zU2xh^F)3<9*-qZKsKrjy`9hNwK%iOA-cUa=|J#(XWP2#~su*B(G=EUiH za68cBH78ErGZVoQr*D}X@w~$lr|+3bhb2zmGY2!wf)l6j!KA|yr|+5DMvr^D|48l_ z+{B)D7;yT>klcCMM6l#e-)<Ff`p1ym@tXUO<j%oFFyQnR7~4L>vIX8BNrCq>OyIp> z0=Hu|UUPD%Z`xC7vqUi9^p7FA^EDH}+LEU;>==?eE<3r?w_BCGr|-c;FyQo$A-QA0 zlDBv4nv*+y4<>@OK{D?!;Pj6nxns4HJAEq{aQerP+;Q2-d-}F);Ph2C8T!EKA477- zf&r(049T4{6Ty<VckDg`r?0fx_Q)8o890406TyJfKZfLv*9@G#nA`ZAGZVpp(^p_@ zU|h{*n!rJad2k?@2M2<AaPX8g;A2Rx+h-5n3nu2hV8@W$dD%p;#OYhX5~uIMM6e#6 zH5M$n)3;@}9<e^mgByBWcH;Cs^ZrO4LvqJuCr;m%o!serFzK+w>3e2!BwN+<4ojTA zEgQV2e+<bTH%a33ZQ044z6X;dnK*sVOpavY^euBEo_AQ{^gVNH?s1bOclw^09LdD# zTjs>+doU3!ar&N_2-dLk4ojTAEjw}g9^6jGxIGi6Z<&G9SK2I@Vac7oFPjLK-02(U zV@U3BtBxVLbMXF19z$~H%<Wi>!NBP&ZFb*b$B^84+4~MVhUAW!+mfd<>==?eXC@t% z-09m>1>VzFVC??3Lf|I%Sg_<y->w-r{bNY(xa_vg^9}<}{}_@xFPj`m;Pj6nx#O~v zJAK<E!0D@OA{cP`3XCO35;%P^x8@#i6>$2;klZmdaQerP+&ME53^@H`Nbb1oW=ZBV z3^@H`NbbDsb~5JRw&*b!IQ?Tt?wpx)82E|YV@U3>>|;po9K5#`V%`gO49T6Bz3(su z#_osyF(h|fcJlU)dBh$=a_7uMu+}5f8K$(^h8~v<?(~l#xpQVB7;yT>klb<E!08`D za_7uMur^5M9R{4fqG}uUc+JV%JN7&Sr+*B|9hVK9zL<$%!0C&bbXfB<^9}<}{}_@x z-YVeq#Y_ZCoW6PW=NOXf*6hJShk0<@=s9yBm}PF*d4~a~e+<cWYqn!3`Q1An+!j4% z22TGNk~?Q69R{4f%H9j6z}WT~u36x{4-+^L%ruF>!IAV}A{cP`$B^8y+Q8`_LvkIn z8AHdA+%dTIh@D}UIdS?P9CVlm2OZ|YL5Epz;`BYZ$vxhx#OZrxA{h9I++#@Yc+H8^ zw`)$Ez6TS*5~pvOlec#~m~>d;^gS~XEOGjlxe?E2SmN|OGnrwD)A!6|h5@I449Ojz zXYii>F(h}+OayD#d50xV-|lnr_KpX)lQ9-7d3(n)1E+rs$#rF0`v~6NIfmrUnOm34 zz&BY&?)jPv91MLAUeB;%4m!*;6T$XQUuEy#-YIY(m|gS!J^f-Pg0&v8Gt8EqIDHQ$ zg6-elkzo6`cLYwHzFqVF?VVyKg6-elDQ41Pt?GG)B~IU}oj83DCNnH?`j$Cy`X1a4 z^!Ra;IDOAd1WTO0Wp2dt4ojTAXKu|sRy%R}o|zoU#OYh+{d@YFB#G1a%x$B`Y9~LD zYnhwa^A1a#zGn_P?A&il?c`41gWIB=+7_HReGd+1m<JQVk~@9RycbM)vF$TdTj0H5 z0`CPAI5?6<FoB6+iPN{t!09WUHxSI6XMqF3JU9@{f?JPFXPClf8+zQH$=f@2s}iU0 z!GT~FoH%_CCW0kS-!lgt=D|d;b}np(S?0v)dvK$6?P(9j{_UL`rSk@YS!Uq$vy5EN zOa$A%y(7VZ)6X(;?V5qp7c&tIIDIjb4g*d<%gD8A1E(+MV1{{SB3Q%P8D^P*)4z#+ z_l{>Kf+ctQmN{|y9vnO+J(wKH#OZtH)+NKoO_q^sm<8SomSyC6=6#1{8M&4@arz!i z1OrY#%gFU*lMZW3p3X4E+&1*Mw-cvt*PJ+g4<>>oPTw+vJAK96?q^t*k?YGQg0-sW z9hNwKTQ<1USIjM$VZiC%UIV8uFgcRoPG8JKFyQnRHXGcB*(L!_U(Bt!#{&>JeKC_G z37r0I^jkKq+Q8|Hxoz}VZE&Zryjap<!0Bfhx#p@v;6N}BZi{wmTX5p^Jvf+Q9vmD= z4<>>o@97)nEF;&0_kxLeFPOlAU}hKy9CVlk1E+sS-rf;75X_fN1OspHDCTxQ!$?N% zjlh9mwzm_f@4-QbS#aX?J-Ep|oSq8UC4zyscf=eBW_!C;J$3pDn+*i>%#GTq?ZM<o z0;jLAS#l(S(-$)l3^;u;lMZV;HSaLs^hrjp1|V?y0u#Z2(<d3ZS~GC^0=JDGpJ(9o zl~hZPByjp!My{P<iPQJsw&=0iiPN{t``@yu4%@${UtrQ<iPJZ0&N6a6c>k0X^M2@O z8M(gfeTQWkxt1Bcy(4BK7<hXp%gD8BZap%6N-C+gp@+jjU?N!J^!=Jihb2zmGJ`w) z`^f2g=KTy4GZCz9^Sr}=)4vD5d*?=AA{cP`_r&Q7OpYXQ`eG)60jGaY?(_vFf`L1I zF%!Xn)4#t4PG4Xm7;ySxCV~N{ucX?&(-)Wsmi$Dn9r}sWH@8wMyDi#1+$}h9`W_qz z=E3cGGcP;nFweXfOnI^GGb~%+y<h_G1rvBLn7~9ZaHpST<eF0@a3Gim2ZDKUAeaTW z9+~>EEF;%56TyJfSJ{DJ<~%FrmK@2%>3iltFb@to%!7$wt?GG)0jHm3<l6QGPG8J{ zV3rx&=_{$W9ccH&@XT$m=HQ^iJTnoj5zjjeIQ=Xm*RB~jeK8ZkfYZ-1a_yRd)6X(; zJu?xkVdotNoPL&(YuB7OeGhJn9uI@W>04%Sr>}rrGQ+@~zL@udk&N6Mf%ik7WaJie zo4vy(5ts-Doc<$udq?1XhY3ss18?srFE%i)=12<M(Bpjuclu%`f+bGht~qh~9!vyF z-rn)dL@;otudrFtVZiB&xlxbX6F7Y_lNkn_{v&bv0u#Z&oxYffV6C;MKJ1a)=?hE* z15RJeL@?m=AIY7*z(g=`r!QtASi{ac3^@Hq@)NlNx0B%ppt;@=xGj1NPMp4FPMp36 z2OZ|YM6kr^8|Ew{*MkFF;lX>svW#5MyzemO#Rj&*GK05wNJj3Bz(I!@6Gt*~#oT&i zI>SgtZZQWPX4jlJeY?+z)3@Nn>3eXKdpJFnR2vB9nS&1VU~(i|)waVdbK>+pxKTT` zZHED;uXNr(Fv|>_zLIK#4)e@JFyQo6HW93~w(T&xW^kuZGIBKlfzu}$xnc%RpJe0~ zGwCqk^hrjp%5L2`?=ax>Nk(p!-A=}M047e~o~p#@doY<{;7(sLw?weS>6<l^jNBW6 z_kxj(++yAfCU84e!}cT@xhfkteS!BgjAZ0i*+j6`Bhwj1GICWmaQY-8x0s1wiPN{| zIeB}>gGq;hpU73fE)lF%J@2r@>080ToxTEg$qWNdpJe2!w}I0q8M(zw1OrZAd9lIu zj%^a)^hrjp1OrZ=WaNq&IQ=Xm*QyPizL?uakDURy(^pb0=`i5*Nk*>rIdS^to<!ib zXs5OXCr;mkn<<$yx980q9CVm3doNg)k!zT<j9d@i3zlW%dS)URxYH*Yxi<m_f|&uB zW#oErAeaTWLpAkb&*beLfr((roxWdlAee2>#OZr*lY2OZp2?lQ!21~{FcGY6^Sr}= z(^oogqjqZBCIL=g%z<E*8QkeV6Q?gQ5ezteF%!XBYtK6jIQ?hx_Kv`<?s0p9w|5ja zyEm>`My~B`;PkVMT+d88tYPOJ2Auvgd3#4-(qW0yw`wO&--Cmvqz9832JZ9~u-m$1 zcAjrZMs9)Ef)#izSb^6aR$wAn;`Gm(M9lj;{Q?ug_HXYLGZC!y$Z&><dH<e%fr(&y zr(euOu*B)x4%^@9tL)_M9nVaTWa9KKbKB;5hwYud1lv3P0u#aZPG8J>r(fW9pvRA! zz0)sdBG}&Pi@6ccJ8bXti@7!TSna*jFJ>~s_D)~S``^7&U?SN5PQRFmU=2I(u)Wh) z+56wUQ{Z+o#_gFn{qrj=F(*#ngM%67!9j<4a3Gimw=QvN8?f?X+h-2m3q~?>Z%IaO zfdj#etx(u(AeaXSf_ZSzVICZGm<JQV+LEU;EX&BXWdo-#W+E7H`Zv+<-mz;2PG8KV z!;(9FUpDEmR`tBYfYVn}ZKHP6)2<mfeUg!@0SKHv$;d5cA{cP`BqLX4w^=anFyQn_ zMsAhe>K?ZzaQX_HB~MA<^u<g%3^;u;lNr{q^9}<}pJe2!!+_HlxGj3zo{7`9qc{19 zTn{E4w!hPt+Tc!~WaQqGjNAh61rvBb!vx-Un8IfFGfd!SdxyO(FcA#g>5G{N)|Nb- zVI(709R{4fz@)=~(^uFm=`i5*Nk*>J22NjK(qZjf%sUJ?eZ|~1>hXC7PG8JKFyQn_ zMy{F!IDL|lTg*hTHVft*2An?0$km#G(<d3ZVg^p1WaJhzIg-HXi<xv-!_GSlIDL|l zE434+Z*G|dZi{x)(}EMH@4?NKIA-JYZ^3WblwiQ=3mgb$%FZ%!J$NrzmXYh3+w2`~ z70JlGRZ{KVhmnljV&2a%fr((i>646Htr@(%lV#-E4g*eK%;ZP{r?0SCawNf>zL-ge z0jIB+TXH0U(-(829*-g5^u<g%3^;v-&5{lSPG8KV!+_IQUM%S_;PgpGuBIn&`XnP) z%)sfBjND=-M-n)FF_R<Nuv4e6m|Jor!P`4xZYN_r028NgpU;WY_h2H}{&(-FJ%Q5~ zxOK@;ZIY3DEAU=0l95}?`wkPB2nL+K!e)tJ!0C&b2nL+Kl4|!)Ns^JPCINT)0u#Z2 z(^p<B5eztel94O5fzu}$xnge5_UThn;MSkx=?R=Z$;hoWlNkn_KFP>c*}&<OjND=- zg0)#N?=ax>6?5B~d)%JD>5G{N2An?0$kjdrr%y6+i<t=4u=5TBPG3p2q{D#I&oXk2 zS-+3o)AwL9^nue?*=>}J&oglP%8PBEA+x}H!35rSn816%1a8M_yk_9^Nk;B1$;d4* z5ezte<;9W?19$pjCLIQxewLAI#!!}#>%mR#ac_e=eU(i*4BY7}FP3x|aQY-8S4R@u z>646HF$1ShGIEQ#?bWzF!JWRC$<S}DJ@sJ<n<YmQIDIj<y2ok*r?0SCawNff`eG&> z2JZC5OggM#=N$%|KFP?{c?M2j;I`;-dxATCh0T&937o!|$&mz3UwN_ZGgMpPy<h_G zkEFnR!35rSn8Id>VBk)lWaQqGjNAef!CH?@XBf%IRoTGllZ@PACW3)G{YUclj=<zd z0;ex#B3P?>-eJJ$lZ;$732^!(BUjA8>647yVs3jie%t`3Pcm{<c6-{)I}A8|l95|w zx4Oq_1E;UNSn`wvPM>7tN-*H`Nk*=i+x(k%7;yR|Be%*X9R{5KBe~NTxS5ji!2nKQ z%tSEY^s|gybAc%EUNC|8LqE&N^<}qXHQeVcBiAwmr%y6+Z%IaOfr((PN2W83WaO%B z;PeIFA4!1&!ES&0ldHdf_u=a|@2)<-{qE)J=hccgDm!ud9^B*}_cn0)Dw_xfoWAm6 z_qIY{A{cmkN6bVp@b-@KVu@hjJ$*5^y&AVCaQY-8S4Xn#)O>~kr%y6+tL#?ySZ(0+ zNk*>922P)3<Q6j#4BY9Hj9irsoIc6OEoLGZaQX_HB{K{-eKC_62AsZ_16yIdr}ARk zXE+Q5-ajP;-U}x1zQY72f`L1Il978$GI9${1OrZAd9kF!z}q_{BUgd}r%y6+#hf^O zd!E62`eG(W5;%R5kt@Mk)l(lPaO=<U00d5-WaQSG$qWNdpJe2!Y~b`sMs6_^!P@Yg zcNlQ`BqLXA22P)3<cb;G>647yVs6u5e4c^R7c=RwhMjj9aQY-8S84;NpJn9Q2OV(w zugRUhz@)=~(-(8=l3{OW8M#L7EF;&0_kv{^xt^H_2An?0$h{>Qxdm<yt8tS6r>~^i zz0)Tdxmq*0(-)WsmfY#v_5@B}VY5x{@je5mpJn9wHIpOR2Fdg(sjyih7;ySx4m!;I z+f9~{Yr%=r_uxP<4{m$q+S7xHV2RVW%#GM~m<I=f*@FSz(<d3Znx5cJpJe2U8Qkd$ z9CVmf8#sM2lNr{qw!>`M!0D5WTx}I_`U1B_yJ2A044l5gX33ERPG8Jzl+4$>7VJ)W zvF$TsF7R5g0<Vu`f!Bf+m<YCa`eNR{y;EQ!*xu<EGZC!y$Z&><d4H#0U?SMw=@&B* zZ142Nym$HqCW7tn^oyAY)~cR&*xu=@?7h=3FqvWdJAE-HPXGK7Ti|w}$4`v?oqjPB z!4ju$*W8Hb9k##I*P8cEzrd~T@mB4fzL@uS`UNH(ws-o)Oa$9IeKEKBH}9~$(=X;W zKF3Y6clyQL7CmO(JAE<loqmCdV2RT|zcVQ2KrjQ&GIBjQIFcT`7c9%jHFKL}<ld2t z+yV!J*|LGt7xR9G2^@5oExRpwI>SgtuG9ujpJe0~GZ8Ft`u0>MPTzxrBk93Ghk0-y zm<6}0=N$%|KFP>clK`hrGIGTXoIc6OE#|gY!-u=TL5JBf1e`v}$km#G(<d3Z#Y_YP zPM>7ts%+r&Nk(ol6TyJfS6=M?##P|<j2)jU;PgpGuG9ujUwN@au*B(~$8M=?;PeG1 z9hNwKGXRwr+dji45qRHW0`G^uz<a?2ZpUi8W^kuZGIH-oMs9(LV8H1sY?gEwxYH*Y zxe^TA=?hFcEOGkwJSR@ygUOKuclsnFS6kJpo;rPjTYrv+0l3o_GdYsrPG5Pk<Vb=$ zeUg!@eFjdSWaNsu?bN)(fYT=#xm9+nd)(W=>646Hl?|Le$;d6{KrnORAaF4BEx2KA zhk0-?!#uc+PuC<K90+C~H^AvDFP6-(#Od3zfzu}$xoXeE>6@*}GIBk5-(gusu4fK9 z%!Avp8uoUUk!zWgJADt{AIU5u*E18rT94QnW=<8!$h{*Oxdje7%$FSqX2HPelZ;%g z8N9tiGIEQV2-eQUyu*OgCmFd~GjRGOBUjA8>647yVs3loMz1{>!0C&bbXc1O^9}<} zpJe1pZQ%4tMy{B_+dCv9x0p$XB~IVAXX5lNxOJ!PFmuaHGIAvtxYH*Yxy9TTJst+Y z=__ounUXm(=`e7oPcm}vlo#7R!!--M7fj&2U;?+<J1=|RVG5fif+bGh3<EI}!N8rq zn2BJmN9+u<YX*1vBqLV`12}zwiD1C#D{QvOJw6z~>646HsSTVy$;cHmaQXt1BMF>7 z$;j23fzub5bQo~@Sw^n8t;jNREx0{x><sf@A{cm2Uop3>?(r}HclyeUB~M9kr%y6+ zbubdAZ}&NI`WD<C81oKG-rn)d!3^`@pu;@4E!wrG1t(75gM%aK!9+0N^cAoh2xhF5 z@?zV^sqMjmU>+O@=D|USc`y+SIDL|ldq*;I3rqw9PM>7ts%+r&Nk(ol6TyJfCmFda z8#sM|$&mza?}(Wk$yT*}O4?xnoPL&(Yi{DQj9d>Uf&r&bGIG_PiPN`hPVV$Qm<ZNp z!Mwx3oxWmjTXT<}&%o)6nFt1)zQSgStpIoWVs0BfRy%R}b__MK=N*<fea}of4E#hc z$;j0tNu0i2Gq}?iGZ73peKEH#8MdeLV%uj9-XBSlk$XonatllZ15RIIvqUg(r%y6+ zB^Yq}%8Ml(2An?0$km#G(<d3ZVovV#&4ojjk?X<14D;aNDe1xFNVck{Pf3N%w*DLs zKyar|GIG@<;5~hkkt^opPT%fx;`Gh)S<FF)d2rBSw(Lf1JIsTF4)fsF+^#)6xYa!e z6TuRvZ_7@cz6TS*5~uH(iC_(DJIwYraQY-8SHl1}eSzDeU3=O!1E)_ia<yjQ^hri; zG4BN<8M${PBe%f8ku>{EGIEQV2nL+K!e)b^Z`TZ*ewLAI?!&T-TnlbXwlmCw8+tel zNJg%jBysw_?4ZLeIC1(OOaudW`XnP)YJ)p{l94NB;PeG1GYq`FBj%vP>?8qq`U;yR z9R{4fm;>YL*GvR!#CC>RW^kuZGIG`1;7(s)B3R<|tze1M_h51)6Q}Q)iC_&o?=ax> zNk*<Z3^;v(+oH!0ci{9DHcMt0aQb3yqh!A3y<p0VZJ!~tz=2@qTVR2MBk93`U>+O@ zX2FTm_uxP<Gf7BB?j6a<EpQ;1ExRpwI>Qt;+tB0oOn%Fz-KxatdvG9_1t(75g9E`l zm>kLE?H$id1Z!2>4ztXO)A!&;?b_3WgBfN|6>$2>izP!JIDL|lt1$$eKFP=xbK5D~ zVRoy4(<d3ZRd%b}wWlvTIFc3&oIc6O)tbTEI|38Iz}q{@izP=AIDL|lE46{s&oXk& zm6q~i1Hn8vcuLyd22NjPlMYMn^v#;Hj9d>61oPnFDQVOu8M$`?w_`ONfC`%pI?R?0 z?(|7UuGS3R(-)Ws)_P?6lq4CsT65y`?N%jD--C%@iPN{t;5~iC+>#@iIDKC>5v)}` z@36$_+p@u(ewLBznTcS)=|7V@eSzCvjYltV`eG)6wa4?k!xE=&z8zFjEfEYjeUg!@ z(F>eD$;d5cA{cP`BqLX4x9*&G7;yR|Be%+KCu4k`!JWRsW{D32clu%uI?SHu#OZr* z>k_B-Irv_AvF$SlHy1YtuLY~JgAVg+CW0kS-!dmo--C%@d#5k8_fB8n)+56iR^Wzq z9d_=93LFUL!9j<4aL{2Eym$Iq^WNzfm<YCa`o&BHYgNxXZ140{_TK3im~`0wPG8J> zr(a-lB==6gm;=GiFO~`%beIJ<V%uRJOa$9IeXTih`o3%;SmN|8^ZxA}t$FYC3*0t( z{J7cQ>5I9EZ9B|9G4@WsnA`XquX*qEi@7a&%)EE{V%|Ib0u#X!r*HQ;xzjh`EF;&0 z_cKh)d%;LX?mfxK6*zJFR<OkBdoU3UIDL|lE5TZiOlO$D4LuwN0u#aZclx#F{S3Q_ zej?X4N#gX)_mW}`1oPniQ&P-CuvWG0Fk5!w^gXyyyY}?pKrjy`f&r&bGIDh=fYT=# zxy4KbYdd8-%pS?)PTzxr4)fqvw`)%i4g|C9nK*q94u-x52ZDKUAeaXe!5Y?fm}O3! zz6TS*5~uH(+oD~2T5#g@JvitvdoY00CmFe#VZiAtFSdQ0+GfoH?*$V$=rGS597zuj zI?RHB(<d3Z_aq~?z(g=`r%y6+Rd(X^&E1f|L5F#8AeaY}4g+`k3Y!g%q%Avf`W{RK zOPs!CZrg01lJ-0&PTzwY^>})MJADQ0k`4n-UtzOBhgrdZ(<d3Znk2yKlZ;$31E)_i za*H`Ql6I^1Kanfu#OYgRaHmf)a;t127`W5FC3pG)lOqZ4^u<gB19$o)BUk$j?(_vF zLm%AfXBoNXRAm{t9=z|cEF;%5?>kJ)`=?}<k!#Baclu)9cUYE@>&qsBwH}%JFp`mb zPcm`~OgaqQ=_@aG|IN3+O>XBs%~glMq{EW8cRX{@VHVt~wjJidM6l%T9nTzem<JQV zfYT=#xjI$A=?fePW@i|1`pSzXM-n)Fl94O5fzu}$xnc%RpJe0~bDIWk0NN%2PG8Ky zk+jSWYiF1T2Q$oriD1C#lZ;&Lb8@F|?uN3ATn{FK0jHm3<eIXxj9d>6I?RIu!92Ll z-r;%Hn%l7&gTbA?!e#@(%#kD+x%UDS!N8rq@?!T-Nr4-Byj97azEvAIeUg!@tpZM; zWaJiea3rl@iPQIBawJ>T)2AfK$dzD;)3<8|clsnFS7igIPcm|gx$V{XJOihnW#rne zYQuBhVZiAt=9UNsoW7XJkpxa(Nws9?1E-&5<k}_yPXC_V=?hE*19$pjZYN`Wp23~I z@?wdt0C)OgCPy-H`sR8k%g8n0EF;&0gAViHKrjyuI?RKE8D_zW)A!&&Ff&O=M(#by z$SrUnm@T_4dHR$j8M!JOIDL|lTg*f-;PgpGuF3{ZU*O<K+9pZf-m%~|Nah^|-rmVF za(&rEF!1({l4|!)Ns^JP4g*eK;6N~QHzaUyBrUiR&pQk_{VXHbm)+`iKFouOV2RVW z%)sd@=C(}(w`O}J!JWRC1HmkF!_GSlIDIA662XAeCmFe#B*5tl+)T;1Nr2NAb8sYW zlYsa1Nk;Cyz<a?2-glV5d%*;5$7;CG%8T7UB}qoE)CO<w2uuV6PM>7tYR%wIUtrQ< z;7*@p<Z8`{(>LEsl8oG9CV~N{FXrG#+BLVT?Nic&gBj+*joM8T4<<(vIDL|lt0n>O z=?fePW*&4TBe%*9I?OV+ow6O~!9j<4FcB=d)3@yj?(`qY+dBdWg4wbYr|-dSqsQkt zar&0Ib*Jqx4<>>oPTw;V!N8rq@?wb(15Tf0<Z287r%y6+@0AzZKCZXT7!o+>Fc03( zFp`m5Yi`GCyk_9^Nk*>922MZA$hBJqoW8<lgAOy-I|4Vf+bRzZI?RKE8D<3oclyeU zC4wdI>Dx6YPTzwA!9188$+pe*DQUL~-072yT%Bj|_72I&6*IWgCmFfL-1f?yXS-F& zoxTT?4r{GF?=WzuPcm|)cH;D{V8H1=5vMP3F!XKNiPQJsw$bDEOq{-DZrwTWFmR_& zGIG^n;7*@p<cb+MeUgz|%w&cEr!VH#CByb48M*gaMy~1YEF;&0_eWC9L@?m=6*jw{ zVI(70TLtd)Nk*=i+mfd<jAY~%^ZrN*OgaoW{nwGxw+AC}`W{RKOYZc|-H_HC97zjq zRof2p;MSjRdU|l9c3`VEaQd&w@7^I9xjI$gPG4Xm7;yR|BUfu~v%q$k-DlwRNk(p! z-Rd5<Cvf@-n+<L&tYE<DlZ;#m2HxHgIGAB}%?&&6FyQn_My>=)oW8l<AsM-122Nk# zVCdVeN}Rr3bK>+pxOIs;&jw5~a_<G+3nuV>=nK4`VFCw&nSCZ1xe^RGeSwK!!0D5W zT&=nF$aIF0jND=-f&r&5X3}BFoxW{P;PgpGuGCJPzAu{y*0y=xVc<?*F}ID{jb6KE z;Pk~z1Os>aBqLW%0-V0UWaxvpca#^qH?9J=2{>*N@DsUWZgtO@NrwTaPcm}VVc<?* zU?LcB`XnP)YX(lAWaJhz5e&S&Lo#wzcH;ES^$y9%EoLIv{!agaWaJh&m|^FF6*zcG zdT=0^2d`(C%HH4U7dQ~?+!+)&5X^%E!917<)|Nc<VOn$Y_Kq!k@AQkA2)1|nV%|Ib z0ynv55BCC-4%<8ZVkRBds-Ab)-s!9Cz0)r+>9D=i7xUif7dYs!^NXbdx4jy-=iccT zGwHClQ?|qGniHq*!GT~N-0B{yy}#3!+Iy#8;Go0o(BC`#VkUy^oxYe`ciIlKYu-Ek zVh%dYGZVq~PG4p3@AL~yIxM-<w}S1RewE$2WO$xQM(%^ad%*<WcbLHY4ilIN2Asaa zW{F_H>5G{Nwtr7wP12S;ona&+x0p$X0jHm3<eG0pNk*>L44i(Jk!xm{z(I%kHIpOR zwt3!R!0F!*r!R0Im{l7%edWcjuc*~wiPN`b1E)_ia;t38VQr`89hNwKD_C-;Z%@_! zPG5onr+-77zQFB~;S7ykGjRH1ZW}#kCLPwW^9}<}|Ashyfdj#8Zv&^VyjU{BfYTRq zd)~Mvv1<lSpJe1dkc`{{2S?JZnPlV^^S;9bZpUi4RSKKkcNodY)tZ6R&oXk&-H^b6 zU>4kZWIDsLj9lAciPQIG2OZ|YM6l#e-!cQIuYleC3==pI%x)F9(^p<BIg-HXi@8yc zCkb%+BqLXo1UP+?kz33}FmR_&GICXRYwh_A15Tf0<W||O?s0npr%y6+Rd(X^?IZzC zpJe1#*}>4aWjE}+!+_IQ%q=;R!0C&*EqdIZiPJaV4w8&q?K5!t0+S;N?(|7U?t{S1 z#SOQLWaJj}UNC|89Y!*8RW`WOCmFfLOax1uzL{YPo89{`l98)5Cr;m&O#}mP?~sgK ztr<A|EF;%UPk{r$JUBR#7Tg|H)2HO!HE{X@H|p^K1WsSffnc_`fzu}$xoS_~^hri; zF%!XBYtK6jIDL|lt2G0sPcm}F4Bp-$8M(zwj%0GDZ%-9)`pSz9o|5KzN8t91bz{hb z1HnAFoealp1p`i>WaO$zk~@97=EUiHa3Gimw=Nl~on_>jtr9rsFb@to%!32LJeUXu z?(|7U?gPolEie%bIDL|ltFpm+`T~;<18?t;j9jfbxzo434V*s7$gQ$Thk-kN<;4b1 zNh=s|`dLP<`36N`A{cP`BqLY*4Bp-$8M(zw1OrZAd9kF!fYT=#xe^RGeUgzYX5jQm zMs6{;X)ty}!0C&b*ouaoelJNfawQnJ(<d3Z#oQL{w#rV=<WAoX{lw{eFzGOGr%y6+ zA4o=Sfdi*+wo2eYFb{6C*ENaRDlrEgX2HPeD{M9p%rggqc`y+SIDO^C?w^tZH}rU) zfzu}$xjGo&PG4cOL@?m=Nk*>L44l5e<Vd!2F?~uZ=9Y9AxYHMNa3sz3j=+In77Xt6 zNk*=k1l;M9jND=-g0-Ep9cI-APCv`YwL>2`eK7}uS!Uq$6*fzbByjp-ZW}#*+yJMq zyjU{ylRJI8Rlw=1Y$90V^ljO|>646HO_JnJ-<M4U18?srFSdP#y)E$mNDAB@&~xU! zU?d~=fn?+sm<R^m(<d3ZRd$<0<E?5-wogfOFtUtX^X(wX$km#`oqm>)Ys*fYz6UqC z-Bx)pIg-HXXBoM+Nm|wO4g*gAk-WVlFqvVA)3<^Fr%y6+b*g~VCmFfLOlDZysd<Mb zPTwBM<R^0NJ||A!GZVpp(<d3Z+GpVO1#TNXo}R$zKN6=ea4__3lK`hL=0GsdOgaoW zeTB^u!GO~z8M*3h;PgpG?gPolEpU54yHjPFMBsgg3B2zxh0O-v8ky^zEF;&01Hn9) z2nL)!$;efcBzO9D&B>j<2M2<AFzK+w>Dz+=?(~(;8+4dw4g~XHB3P?>>cbQ^yC3=_ zBUil*oIc6O6*F-9BqO(&+g^=_K6raa%%sCwYtK6@ar*XP0H;qfa<x_9PM>7tiW%JL z3rspJar$<vfYVoAY+x%aGjRGOBUf7moIc6O6*F-9BqO(&Nr!>AcSuI=1IfrO@ct=D zGIEQ#&EDY?L*RC-#^A*1n<Ggwa<yh~r%y6+i<t=4dSv>PBpJCXJ8}AUtH7PUn2BJC z(>FJ93Y%?myWaNTV1{`xIg;S*9p%ODpOOLxg4rekZ|{hi2nO!-Nk*<t6?jjdWaJhz z5eztel98*jfzu}$xy4Kb15Tf0<f?4o^aXCyzzslqo)f2Uu6MGGTnlawjQLX%IDL|l ztF20$zF%`&wA(5RPMp36lc5iszS4Qgkpy@8%8P9ur?xp50`CPAcz+}X-U}vh&|!AX z!0D5W+y|18TVNs>aQY-8S7j%6`gW^;(-$)l3^;v-&5|RTIDIP^xYH*Yx!Pyo^pzJ& z1OrZ=WaMhi!0D5WTrnqi`sO=2l95}?ZLh|U8{qWCOoo1&1ydhJGIAvtxYH*Yxy4Kb z18?t;j9irsoIc6OEoLHE!_GSlIDL|lt2HN1-#%`@d-^0JS7j$}@7MvDIDHRpqr?qB z4{lvD13!|C+ybwieu39RzrcZD=N(qyKrjp5JAE<l-_tKJ5p3`Di<t=4dSp1m#JqR< z1tx;+oqjPB!S+sH%zLL_U?SN5J^f-Pg0-sW9hNx#^SdFHo!serFqvWdJAIX%IDI<+ zlRJI8=EUiHa3GimlMZXd^A6kJ>1(U@PQSpdZs!c_KJT5rnD<V<!0nMSE_?6vi<t<v zclu&(-8t{Dz0)t|Ha^E{@11@zw?&VclRJIe+lkZnU?SN5PG5rU@AMy)7u!BVwFTZE zNrCr*3A{g&0`EIaVY5Uq;Pk~z1WTO$`S+4)lEmp-aO)8}!#ud5$L*Ooea{?pm<I<P zX2HPelZ;&LGjRG@My{Ej0tbRwa61>a!#tRDSmN|ObI@TPOauc?pJe2!!xE=&*Sx>e zFXlindnDUV*$(qy(qW0y_sp$sH$6R=2$nc~%M6^pVs6_saBH?52AsZ_1HmkF!`cq> zVA5g0>646H9ZBHyNk*=ifzu}$xy2kDNxRR$=_@a`eTD}^;C+V)yg!lx2ZEXF9f8}i za%;BW#OZr55eztel9BsJGI9lOOSUu23I^`<#Y{R3-06!s=rD7h6*fzbB)HQj8M)eL zaHlUY5v*;q?J%o$a;NXXjoM8T4-RIS2NS`7(<d3ZY7*e|1tx+ePT#8Ci02&!?(|7U zuG9v1`T~;<OPsz{8#sL>)siC#oIc6O)mAmJ=N$&_^hri;mEBIpcmM*YudrG2lmt$n zWaLUP;PeG<T{2W#d9m#?2R9ct2k(z0$;f>q8My){PT$Nhl95}?M6l#e-<M4~to6ur zhLMb12?m_Lz`+bNw^9NJf?06l^gX!A?T(}elMVw;Uje&;V75J5)$<MmPM>7tsy+Ab z=@*y?2An?0$W__E>647yVkUyMSupP~;PgpGuGS2kKFP=xGjRG@My|OV$})02xNWqX zo^}j@JN+yp*D@zg->x~i)A!&&Fb^h25;*-VBiE{(yr=KMfnXlI7mQ@&K9Y>w0=EbB z@Kg!B7ffIx7;yR|BUgd}r%y6+i<t=4tmpJ8NiuR(HgNg^lMYLqzB$h%BUft%clsnF zx0s1w!0D5WT$K%+ewLAI_c?L;=9@AxlOqY7KFP?H+Q8|PjND=-g0<G3&oJQhNk*>L z44gj6$Q3hi`XnQ_n2D_bclsnFS7o>EoOf8_^z9f*oW2LQlQA}N$(_C(fQi%h;ATo( z*&ZBpm<I=fd2s6zSGL)zEF;&01Hn8v5X^%E!917<2An?0$bA%;2nO!-#Y_ZiJu;nP zBqLXX0jEzga*LS=mfY#v-Ud#eWaMhi!0Bfhx#n(2d9lI2OL}nY&++sG@9C3_T&bNn zeY@tw>3c8{3^@HPBi9}b;PjOj8+4du22P)3<f=)4(<d3ZVg^p1WaJien+D_a44l50 z$<S}u`BM@&eZ|}o!NA))Vs48bZ&l*-?U4j;?~sgKwI_IcN8r6+BqR5cWaJij-(do` z**k0!fr((i>1P?a<~urpiD1C#XBoM+>}Cw6GmK>9s>6WOCmFfLOgaoWeTB_7xyJ_s z{6wyp$&mzi`U;!f`!IotV8H2<j9hhC;`GgfPI<9Ju;h2|c;>cO<MvG6)3;+NarzeA zT6;dj5~uH(iC~G-_snF50jHm3<k}7cPCv`Y^~^-DhMjj9aQce5B^?HwzL?vh$HM?P zeUg!@(F@+*AsM;FycbM)vF$TdTj1a+Y3_yu4m!+(+w65^doU3UIDL|l`zSCGEOGi) zFmR`zW#pRanPud9a3Gim2OZ|Yq{D#ISIlj2ByHKi>5G{N2Asa~V#y2xPM>7t>O3cJ z@7S#ZPM>7ts%+r&Nk(ollMYLqzE!&sPkoreX33FEe)o<qyVdQUk{(QE7;yR|BUeoV zoW8(BFmR_&GIF(M;PeG<<8$03!0D5WT&)>6eUgz|%tSD7r%y6+AC(u|KEr($ct67g z-U}x1{zwYEpJB?2C4zz9vPm*>wa<yuH$$If<chiV$n+_hW#pP$sVpPcgM$w9;Gn}S z7&!ebBiHUTaQb2n1oO;+U>4j4$-KjW(^t%GqaIIB;Pk~z1Os>aBqLYD0KC0JGIEQV z2-aGA-eJJ$lZ;%gIl0rfrz-i~JLYaE%gFWM_Q)8YD&X{0cH8JVbI@US%?)ci%!32L zJebTd;Pe%++ZH`m8#sL>)dqsug8`gA$;j1t26y_(i*28w+5+zd6L{ZY0`HHc!21qU z*enqYIDL|l`$#f!3rqxSJz{5=IaMShS7n2@cSuHVF%!Xn(^uGRlY4xgfzu}$xe^TA z>646HF(*#nd{ZVcnPI@`lZ;%g8905Ckz33}FmR_&GICXRd)mxr7;yR|Be%+Kb&rQZ z;`Hs@26y@-BUft%PM>7t7Bd<84Lk2JaHpST<k|t4IDHRpi+1g4!HLuN;NU6g!DNPk zJAFm_27;X*$tUH-wvSWWg9E`lcr93!y`EtOCW7sqzL@t;zraMW{hfX>6Tw=K3}={_ z_rFiSz(lb9@7^h9BG}&Pi+S(#3mgb`em7KLawPXoU(BuQd50xV->x}v`W_qz=E0=H z_D)}F@88}jaNDc#<7V&li<t=4c52>Xd#A6m_iyhMxYa#Yd++qcym$HqZjX#{*?Xs7 z%tWxg(-(8=&UuIJoqjQsBbhjT>j3w6`YJnd`j&Zrr(euOu)WhS=GG;{gQ2|G_L+nC zN0MaZK9P*v0tbSfe@7>9;`BY32nL+K$_{3jFPjL~mTYI3Wd=_FhB$qJ1HsHB5jYUc zf`QW~8M*51#OeF8iD1C#-w>xSaO+Pu0Bw6FPTvZ)zth)NC2#N8vJ<E8!9=jc>3im& z!#p@Rk`~;E=QAvE`kpzk6&~E`cD-%e6F7b4#S&WqoIc6O)u{qbpJe2Uxpk-QFuPU2 z>5Dn&Fwaan3^;v~kt?-<(<d3Z#Y_ZCoW8jmQeJHPxMASI!O-{MeTQWkxu!iyM(&gH zVu@hMoxT+eIQ=Xm*9r#i^s|gy%M6@8$;j0{1E)_ia>WdszQDnev}yyVPcm|A&Fx9& z#*i($4U*|o@-}k%p1D!a%ia%tl}!XooW5N%xYH*YxoQ${r!O!OtnJji!xE=&)dqL^ zBqLX91E;UN*x)H?*9@FK$;j23fzu}$xngeJIqxvw^hri;mEBIpcmM*YPcm{<HgNg^ zlc5isKFP>^A{n^_-rEX+_ksz$?=XSeu^P4~$;g#piPJX&kYwZ*GZ8Ft`sQLud9lIJ z_uz(hTjjw)hj}m&4BY7}FE$X&HVJV0Vh#lJ%tSEY^pzJ&1WWGp?V7=zKFP?{c?M2j zd9g$=;PgpGuGS2kKFP=xb8GFX4-+_;VYb5(r*H0tvW(pSySuYl)if!B@Lup9`W6(K zKF6)P^CkvtMHqk3S?JyS<SrK-5LwU8vl1l8s;H=Z<4bBfGT3}2h0`|~xg1sVdMEC= zarzlt5Ej7;dsmon`lR!&_L)AhQJ%u-Q+aLrTv@!{F&ViiOgMeOtCigM{7x8ovFq<x z8Sr}#1N^Qq!0&_sHiR`Z{ctf%M($UWkvm{RSmX5Lo|i_hJ<Md}vS;y5-(=)YWuq|R z^i4)C%N9=GWaLieg0S$T%w*(JSvY-@kvo;ml@v~&yjauph0`|~xez9tzRAd?@;a$| z4--z`WaQ4W*SgOicQMm98M!Q5%=Ar0?o>8}iFf*4Ms93?jnmKI!iQyWL0ATxrZ1fS zZ_G>|a6wpfL&E7(xgac5HW|5J0WTMK>?DBS2?JaxEbrM6CY-*>$c1h3dIzu}OgMe= zV&82A;DtUbOgMd$k;_pDr%zsNL0Fg#0XBpQr*ATHA*^xwanGxfL?4#H1z{PyN}uH^ zoPL*)8ylc-`XtpBgyqVHFyZuBwrTpSc}9iBJqxFAGIF_9!s(lgTq=v1zRAd)%0^+r z>6?sPmc7(@S6Jipqddh-pJlI`ac+QOrcYjM@s*5w7O!_qMlR<poW9A({YqZ!`a2#K z;P<8v`29)(E)*7iO9Eck>bz&+^t+7QAWxH#%Q*|D-(}>+WiO3fdsvr|n=2cIiFf)Y zBbTFUoPON1aQaj>go%H9hsx$ku2tU^CT991)vnU#P9mJX$;d@vjnj|aQ#gGp7lh@? zrs+3MKUQ9aqrx(Hb-=Son%6tA83?EUgL$V<*sQS?Vx~{!LSd0G;q<9&df387g~eqH zr*ATH=_JDGn~Yp43#Sj*T*+ppA7(>cMs5Z#l^i>X$;ka`GI9r8T*<I!z^nJBJ!f!1 zSOg2F-(}>6``l&ZW^h4R1{Z`y@VZpj9%eFfQJ9$N12%+-nLc5&?_WuikqcqM>6?t) zscaOs8p&N@!s(lgT=p!SK43#w<MiWw7Ea$}<U*L3=>s-|tzK|fn3(Aku)D;aK6LS@ zgwv<8Axt=ZlaY%^gwr<}xl`E?wy<}F38!x|a@n(R`X(cn%EIZJjNGYguB4dhn~dDA z<i)PPV<!Q;T-+V}PMFEaojtE>bzZh``h?9EgoW8qmyw&n>tmJnoWTWQ5xlk>dsqf9 zbXs=!&~+KP8C(#S!3ALvES$c{$mL=Pr*ATHr?MezHIk^X$hL6$CL@<U3#V@~a;Yqw zK45bto0)z*D&h1^MlOV{UJw-)W<!7r!ZLV?``iG9(`VVmm5j@7oPGuy!WyTaE3bn- zvn`xHd9lWa38znGqcGw0O-3$PQaF8+kvo+QVZ!N~jNGr}#jd}jwgDGcGW2c0?}Pz< zzmkC0wL0%vIDNuq4PoM)zRAc%B;uVud9g-e;+?+9$YsxBrf)KGsVtnn$;h3`=1Pj! zJ0>HSWv^979~Rq?aQY@Acb08>n3(CCj9iv2oW9A(oyvwVG1E60xh%VJ`ca-@rf)KG zXW8Z}**N{UXYqQ+WaP5v=JigPN_82z5xmHbJuHLQH#QlX3|{T?4mMX(ywfKy*4PU1 zdWXsdVNu({>6?t)50jBQ;6h>F-}8W<2^;XU!UnvqRnm4`_Pf)k^1IU?up#XIo&Hod zge{H49v0btcls>5dA;-f@y>t?g=MfI?A__J?Du#211=O6_uM%B3@!+Z;I-<z!rq-e zguTDhA8?_tcro6cK9%2R`U74U`rJL=XZlmw5ccl$sk{o`7547*r}7f_neF$P{!}im zWR&N-)2H&g(;u)Qta18z&xWvty({c}rVnB7GyMUtn{k%syVIxgyVD=A>0$3qe<~Zo z-v8~L50jBQ;DWI4|CSu^`;`RzP8i^It&Z|E8M*9PIDNo|FyZv6YzSK#x%M!^W*7Q= zRE^UQecNQ@a?bDX^Z^T}Z!&VHvQb#$^dsBvuXkAXTJ>FFjnj`kta17oT=cLEHdnH7 z`mu83^fP#!Rl3g^YzPxh|5wK812#QOIDIM?gvBc<oW9A(<vt6i54ccR+_P}{CL@<U zuj_p8VZ!N~jNDnaQCQ>j!+595$j#v5N@lQ8m~i^+d8s6I&#-Khk^2GooiM-!VR_l_ z3hOd*Lo?_yax=IfEQ1TeGT0C%oW9A(MPb6}12%*;GyTZ6aQY@A7sA9$AFv@zIDM0m z%bwS&uU|=%kvo-F>C}3oNW@IvWaP5!#_7jpH%>o;4Pj!YZ!&TrY&Flj!i3YOvLQ@3 zeUp(3VPd8a*nB00(>EEpv**Hx#f!19cZCV3Z!&V(vvB%=*QU?iQ_S>DMlO36Gkw6T zmE8CIP8fNy>+e_@@cWen{NBR=zY_+yAS?`)x{TZmE(puug0KuWgbAnLW#oni2)H0D zgA2kk*bpY1zRAe_0Bi^oPM^w#Ffr3N8MzSF%=Dv3gwr<}xwGt|hs9+Jr%%|dQCRbO zCyaNxjNA-1ge_@beVEC}<(wO*ANSli{R}P$i(ujOyNukZZQ=B(ybk*8hJ@26FV^@l z;q*;LF7gyk-(=)cSvY-@kvo-*tq@M1%1b3jd6E~q{_f!Srf)KGKTJmMfDK{doxaJ) zW!d8Oj>*WK%7(C|k?U8|WaP4JG1E60xl`E?*1X;czvxUxF3T29-(=)YWkcBNymy5O zr*ATH*|V7G12%*Sr%%}Iy3pq@M&tB@i8C3wuq|Hin2cO1H#7ZspBtwi32U5w1{;M5 zr{87dM#37WpTULG&)|Zv2wvFO!!p=hN%2mfXy1acs4y|pCok3*SMg5YWaQEegwr<} zxgRDYcfjuoGa0#4`CVav*R?u+s|cHYSD4AjWzWLtn~dD4YzSK#i9IaLhPsU03|<!S ze9q$aj>*V{?Z)ZHJvTG`3@!-EU~?sf(<d+1TuI^dsk};`6(*d%$;d@v!s(lg+^K8` z6R&qnMlQ=<(vCeW7#hH<1D-`9oW9A(ojseTFPy%~$Yt4$(~n0bX8I;0mt`-q?+Oz$ zeJYzPDV#o)*QU=GLpXiHX3dopGkuehi%7&wpS;-hcVrvzJ7Iv|6$W_q-n8uS6BzKj z!pMs?go*zm*JR{=n2g*38^V@Gu070T<g#or(+6BAEPOFcMlQ>4oPMm_IQ<MZSF(A% z6R%|B^doq!`mV6X>F3I;bZSG9?Z)Zn%Egt8VBz$Mxm_1J?KxLAgbAn5vJ1lEQLSEZ zSD0}6B-I+i#7y60<kG{0(+6BAEFP6``cz&AowS`R8-*?GU17rMcNw{1ywhdmX7Ji{ zVmpF`(>EEpXuEOxdD(@+GWeaaE+aQo?lN-2#pp6}Gq@lugA2kUSU7!?k^5mXatCY( z6HcG7+4rADCL@<U3#V@~a;LIUm~i?gBbQ~1*E=R7cPbmgmKnN!B?+5d`b?jj*bKx> z-(=)Mn0UQIUaYy2jnj{WiJ891$b~TB^vR1Y2n)Y%02_q~r%&az?z6VVOrN~ig0LtO z;q*;LE+P?5-(=)cdG)`04--z`WaQ4Wjl#rC-(=*nY%$X}8M#y05GH2&CL{O5WaJKb zeV|ht3f&WML0AT_Yjv*NIQ>{z%=EjA+|WG%7ldVSL0AN@@7%SA5p%oH>8Nt$LSY$f z2op}9yx8}zBw$0BaQY@Amu4WGK6$Z*FyZt~MlO49X8KW{!s&MzxnaE1W#ne?I;(V_ zGuT{7;q*;LF6Z1h{kZ4G>1VJZOgQ}y<MaWW9wuh`R5pZ(|0369<f1U)^i4+YR5pYO zr*ATHS+;QcCL?z$8^VOsCogvWrPdohH-O)-B;cay=gRMdnT*^I@?s5P!s%1l5GI_y z$;gGUrID-C2fWZ{d5W37$;h2OzyCBc8M#yzPTyqYPGxf?h0`|~xhz{aeUp(pl?`FS z>6?sPmMv!bCL?z$8^Ri=A0{*=BbQ}2PCtI=8mFJZhOoxzN5Yz!eg+p!KZA>}WCk0; zgwy{tGkw4XVNoRFoj#QfVZ!N~j9jjyaQY@AcPbmg-kts@d9my7W~B!FtgrzWSMvMv z9Pl$?1Ag{lfZv_|fDK{qPJb#FgnfTDG~j};2wq!0I(;g?JN*G0g*ET=^PUZ1?=yY& z{O<GzYzTXI`ct_eEH;C+>bt_;oj%Kcf4wu{;!5T{8^YdS@38E5r$69zR_D*nyVIY_ zhOl)~cZIz>eU|<1^as4weP+9H`ca;Z)6d}b$v7|jeWnj#?=$@Y8-*?GU19G|pJl&0 z{Q(<=y*qs>zrWKTuu)j^PCsh<-RaM=mr9NogS^=FcL%={)@9^=|Ht>I$;chBAxt=Z zlab4^h0_Q8ekDytF3VmTx%M!Vkvo;&Z3SRM*!xVMWecZoGIFP~A*^xw@jeTu-(}>+ z%EIYWxgac8E)<r*riTfq|10D40T+aYuO#4tunabYt-|*nCY(Mow}vp`^r>tJ6Heb` z<kG{0(+9i``s{{;)9*5J!(a*U`o^YZXK<mg3^s%br*ATH5lQ3p<DMI*pTPxT8T@`F zyNuk>J-dwD3@#Lw!3AL%YzPxhpMc%sO2%air%z==SToa)%U)Z)ekDyt?x)Gf9k3xx zIDM0m%d*8x-(=)YWkZ;7`X(cnWecZoGIFP~A?*G24wZ$|2fQwHvK6rz2&Yfwg0S$@ z$YkU~*eZPQVZ!N~jNDoFTKD;=gwr<}xh(tro&JE0tq@M%WaP5!Wl8P|Yn*<(l47QB zGID3nYtv_WikZI2$Yt4$(~oS6nLd@@2_r9d{Ux?T_XJ!t{R}RyWCj;KEQ1YU!s!#R zTM!mR0=OV7gA2kk*buh1eC=T-Bli=qAxt=ZDjUMYOy6YWLYSE8n~dD4YzSM&d{>xo z`Xtq^(y4pKTh%!IFy84hawAwceUp*PISZ$6GIFPKp|D8UYMxPH8N52+StMenPr&Y4 z_q}pKSk$(d>6?sP&RIBplaV`>4Pgr#6&BeRPTyqYvS;yn$7JMESvY-@kvo-5(-%(P zWaNIDjNAdg_b|ZkgaLl<VSv}QIyOM^VvC<f;YtEFgbAl_GIBX*G1Dh6wjeD0C<DCE z=c5u%-(=)Mm~i^!#TJA`g^8KI$;f5TVy160a;dx;$@MD<*eFameUp(pdp12xIDM0m z%d&;jHyOE8*$}qAHg|=InLYu#OWdge#_riT{R}P$i{QrTXK-;PGq@luc26<WC)&3l zELL9FyTXLiC+5}=CY(N%*QS%UBVoen6E<5YELS#!38!x|azDw7U4KWm0lyOl_?<Ao ztM}fQ{jM<bVhv%9(+{(uE+aRC4PnCRlNW0UYn*=EbK~?gxF9TpjlzV}Ct!EceZClC zrcdR9u+TjL8^Ts2xqc-Hn>B<9r%z==m~i?gBbP6Rc)epXa;LH(OgMd$k;}4$(+9l7 zeZJ3)(~nnDyxt)%)--+bddFnsa#X_Un~Yp4ul{%MVZ!N~jNDmvaV5i#vMwVxf*Yrw z!KUdqGyPoI5Z1ij36;r<U4N;QWbiv-CL{N=%g7Bq%w*(JSvY;bhA=VHHyOFJ=hcUj zNFv*7%hw*(W#mSAHcme;ySS1WTo4wQ-8lUWUUa9U%HYCQWN<-P1{=cGs-wbU<;Lk} z@G70yjv^6G{|7VECoi^W`f=I9=~LMdCY-*>$fW@;X-9=c!i3W|8M(9UweGV#h0`|~ zxhz{aeZWRxjnfa~9V!<+EP@v{DlCJGrXS@gX8I;0mve4r`f<;V)6d|7unaZ|6El6% zd6!C#_qof+4I(iaxt}H@cfjvG46q?gIDM0m%btbPHyOE8*$}oaRqSC=Va-fGgWs>D z$;gE;@p^~6*moZWc+q`s24bdfGIAkI%=F2NHH0-zKPpVj^i4)Cgo&BH$;hR$aQcAP zS)Ju6oW9A(WzXwtbMIlo=~LMdCY(N%P16@MeZpo<4--z`WaJ`}#_7jSvdF$GOw9C6 zMlO49X8L*0Yt!du&^Y~AS-jpc8MzSFIQ=kK0$dOlz+Fae1{YT{gWr2tmysLJ8E`>Z z1PiB6Qf)z4u51Vs|Mm{cHiWG$UwfFz$o&Lt2owKBE|m>o!s(lgTnH0R-(=)YWkc9H z=DWfgrys^UT}EyOFaLP_&{5eCCT993BbRe-oPH#%arzl-2wNw0SD0}61ne$xpG6{^ zK9vn&!s(lgTofjpzRAd)%7(Coy(>&OeUp*Po`ur~yf%H-ws86;BbPlluXmz}Yn*-t zzY}IMaz9N*?ttHW7~s`=k0JqV2op}9u-RpM&&w7weJU4(g&$=mBbRetTfX)%laV`> zjlzV}HyODsTR44_kvo+QVd9-WmCco0tG+9&ar&Y4nv7i77O!^z8^VOsHyOF?xpDfD z?Z)Y6a6wpXfU9{%g=O&SfT`(c@DleOyw-gO7lcK&h135uGkw4XVR_jFVHs=)TiB?u zSXnrIVr~s#!s%0aZ92&_?pZi}laWgg6Heb`<WA*R!stNNJN;q%cR&5(-+%r4U%vd~ z&tJa%=jU(#`umSRefjyn|NQprFTeleAO8>j|3Ccn<3IoX?N48R{_EeqefjO^?$<x? OFCXAQ=70b47ykpIxisAX literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log_ b/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp10_wdir000_s0000.log_ new file mode 100644 index 0000000000000000000000000000000000000000..f92c82b4eb680ca872dd7229fa84724e6ba9f851 GIT binary patch literal 618327 zcmeFaUyr8QapdP~0{jkjX~S@->wgykUPvpgEI{i8b_MU{pl7B?HrUfmbT>uGpWcx@ zB$dxQPYfgTCsQ=+R{$ZhJ1X+T$&*ji>8C2b`szRC^V6SPUHzXgA3weQ@c!x_{`Tr; zSO5E8|BwH4`(OU%>gMM9b^YN#e)#3pFW$a;x%%+i&%gQY=lY-apMQG$-HSM0z53a! z=bt@%`TF}W_P1|7*B85a`q|B^>)Tg1_dor~e~gA-eI-@?kC)$l_vYiTufF;4-FI)^ zfBWg`<I9_GuYULT^RKQx{q~!0UOwsX{P(xt{r26P&!zQ`{k8ul<lFbZy!!Ud=Qmd$ zesT5Po44<;zW(s-ziPFgKm6|HV|}SFU-Rn2Z(iQlU%mdT`pbXy{^QHLuO7bp-B+JJ zUw{6W+N{rSzx(j%n_s=W|MiEfx9_!qKg#_1!*4#k`|!)RUww1??aME|`T{sz$v^%6 zFSgpgRQ97^{ZFn-^nbZaQ*rCnefrg#U({~=<?Y&+%GT@p)o;JP`HNgu6-HKdt5u!! zxW4Qy`LcKR%igWO?APz!eEag3xeMQy##Ux_;>(xb@5L9m*^Tf2>_@Bqn>U~IK>Yaj z<^AXH$N8Tgt(wgGtN;A}!~X4Y`2Pw?{_AL$|MS~_d8N*I|LOBbJ+wauk6a;YQVkG) z^YZ4Sp7}%6oafJh`1<>`)IlC7@aII03j5<D<HzjXe|hu%$Nk?wmB+i%llj{Zzq|UM zfAit9#?0F{?{2St@$SR#{+AyeO#kEU`)_~rFZ{uSeLt|iILu#s_;~f#|MYkN`Q4k} zTz&W9+n0Ag(^Klp=MR7R+kbuk=DWAwTz&fd=G{A0p}+V&^5ci^zI=1=vp*Qn`ZIm$ zuin4;=FR6{{rcwV`r9(TSJ&6q-$UMg(9`PM>#HwppI*NCVus)U_PejO;`XWMnOMIN ze)Wgq4ny|p>vtc%`SqF0{_B^I^2*;={A2s@rvBc?H^01kdH3?2B>qv|Mt}KB1@)DG zjQ;!Yr+)OW{MRqvavlGQg!x--!smbe&C6{tUjEWq{`yM?eEJVs<Nuf0|2$pv@1gMD z{^LI$`{Ux<>V1#@!~3^2S>OI&-@7<{udN67Z@>Bc+mA0gXMg<D`VL!vRx{x0<A={5 zK5CrxKmQ~8%O8IEd%qt*U%u-<{Z{?W%eQYoeg3Kj=2x$7t~F2f75~Kdhrjve_utk3 zv9b$hO@CFd`vrY1eQN5y{lOCdFiyYB`dY`Azxrh$zyEOk<-dLZA2$O3^M`l;{PO9` zk~FQauikvV`uN{|R)2nfcm3+|?&kjX>G|pL_4BJQ81mKbo^EdM9`0}S<zC&vul8_# z^Z4}icz5^e{?+Zx6Z~pV`fB%g5Bk5GSGTWU!>{)GS|vTcx_y3ie{=Wxo_)24o9o-h zhlhv9XNji;!>^`2eSY=o`QhgE?b99Ig@^m=$JcickN3}yx3|xC53shU>-(FhyT|9d z`@7rMuVBADyuN;XdU(2hcy;so=GDV3tL^dC_07Z0?d|RT!|MmUQhl|D=f}GT9je>c zPq%;Uw;!JR-|4{X$o=pSzQ2t7y@iy6yt@6~+MWL8mw);E^6~wfKbQ)QTm7}a`@{cO z)A#zXWP?9{{P6CtKED0*;pMB}|F?H9AFsca8F{M#@%i)1cfa}k@~v(tzuZddOI%E| zKhpf^uPAW+rBA>8`lE*X+xIVD#@Ltt`0C@!FMofD`ac!%H?pKJ--~cL>*|kcZvTnu zfA6yNwM2XM>iX63^LPKN{=5F<ha&%RLEoFPAJy%ffBoj&+i$-5&D+o4{OaFTz90F* zKc=FA%_TKo=u2PxS(N?d%lns)Z}d?9>eI`|fBwK5^5hHtn35NNeXiie7x?oj_uY$n z@#~Loe*MBlJASPn)9c^<=3J_O!~XeH`qEWj)j#BX_3rI=Z$E$HVx4};AJgmyfVp%( z_!56U1@$oc=AABjKE1sEcM$LLtNn;>U#$JhT&qiptK%TMy1jmU><@`Qm<RTV`0}lQ z9;aV@d7SVr`{CF7e?Y1ql3a>)bMZj^gINFR<BPs~(RWtw-oF3!)z>edfA{k8{@=d; zy3#+QUVbMPLv;6|wf=BB{%|p)Km6~X-+cT+|LKqaD69YV@85m+x{Of$JN3_1>Fq`F zum0|Td-dw}>K|m7zWn)@#ngY)h1DhaJ_Xmmaa@8Q30U7^96zq?GiG_&Bl!D8{&39( ze0x9-!S@7wIF#RigK)A{rfhvn(LS@Xk4qjh-yYFJW+K=v5v;xkYoA%!cMYlkcL*ke z-4Vg=h+ua_uw&Ij!S0D*_ebj4R^1c9?ulRzq{AMFU=KvF2O`)55$s4j?65~7*dr0_ z=)|UF6TzNHhdmL&o`_(&UG1OQd43{-9kIi$dQAj-O$2*Q1bcm4^h|AC#rDq-Oayx- zf;|(#p7(-XoqnqkI=})S6q~4B;DcgQ@IkRD_@LMje6;#gFcIvA2&R8OX`gA?M6kn> zM>9-Ka<uxxvTuoCN2@<&CW0NU{*d|ZAomnZ1Up*&DKio5Q1!IKj#htI_R;E3!Q@CD zt^SbtX!WOH(qTudKV>F@9j*S5`9M7Fu%p$VG9Q|I3O>|51(PFrwE9Elqt%~+iC{;o zKV>F@9kA05J6io=*+;8C1(OatTKysO(dtjZWQHBB{*;*rcC`8<=F5BeDR?iKnD<9g z;Jsi1ACA><&A{p3Uf&SGfYTQ<5$uKtc3ARkhTRgUFEHsa;Pk~z1Orb0_8K^Sfr((i z>5G{NcBp#VVZiC%UIV8uFgcRI>EB)hr!Vl~Ko6%UaQb2<f&r(m_Y~SK$?Tum>Lmvv z*zr<-sP^$ve+ni?5;*<aYvA++K1_q*nt{_7GZE~7oz5`e^lz_$(--(~GKOjcr+<45 zoW8*1NCKxXW+E7H`g$Y%@EL8Dz<a?2-XBSU_ksz0I99_o1E+sSoW8(BFyQpXOawdh z$ZUq)5vMOO5ezteF%!Xn)4wB5Utl5_aQb2<f*q=!b{KH_cf{!nOlBBx`gg?X3w$`x z!|4f}zL<$%!0F!+r!O!O3^;u;6Tu$IkpxcvjyQdR57S`Sp1|pgnFw~kPG=Z!`gg?X z3rso;IQ=`~^aUnI5;%P^6TyJfzkFSObT9<o3nuXXND90cOyI+@8m<{Q{d?l{1tx+4 zr!QtA*r7*eGwhx?eSwK!!0C&b2nL+~J#qR16TyJf7c&v;Q1!IKfYZMxPG4X$!+_Jj zCr)4B!+{=7PvG>$Oauc?U%yjfe;+0=5ezteF(2w4ZWVC)_t(Jb3rqw9PG8JKFyQp> zuMhKYI>Ug|7xQ6!4x0oxeK8*vJ!A%V`uD`?3rqw9PG8J>!5+w+zQFq<Dezt}f%ivJ zU?LcB`ubf+L@?m=>$foVht=p*2}}e#EO|D=9*ENym~<F$`eG)60jK{!oW8(BFyQpX zOawbrJ?${y^dE@R7nmGL;PfAe(--(~pofzLIDIh_!GP0$AWmOkA{cP`VkUwCr~g2l zzQ9B<;Pk~z1Orb0fjE7EiD1C#i<t-poc;s3(-)Ws2AsZ_iD1C#U;Y-G(cBhzFPOlG z2lSMAFPND3w&L;Pm+uVA22NkhL@?m=#Y_Y{^vKMIJrbucFcAzmeK8ZkfYW~@PG4Xm z7;ySxCW0NRo^}{;`j5ov3ruDhaQctL=?i=~(8B=;oW7WeV8H1=5~nXP5ezteF%!Xn z(|;sRUtl5_aQb2<f&r)hNSwaFL@?m=#Y_YPPXCcOeSwK!!0C&b2nL+~6S>nDcrTd1 zhX?fNi6QV_FoE~BLZJfvZhU4d1SWz3r(anJz3!pf!0A6J<g<T<%;0zLh?#U4aQb2< z9R{5K6LI<i6TyJf7c&v;Q1$dk0;jKRiv#trw}I0aGZ75@MD7!D`T`TdfYTQ<5$rHL zryT~I{?j#Z`T`&79=0cN`cK5^3w(HF49f;iU(7@>;Pjt}(-)Ws2AsZ_iD1C#KM|)d zFcAzmeK8ZkfYZPH<?^FbRpD1_6DRO~=nK3TOyK>{e@&dez(g?M^u<gB15W=nary!i z!GO~jGZ73p{nyvP=?hE*15RJeL@?m=Utb>v$;^idOauc?U(7@>;PhXUJAHwPV8H2% znFt1)zVZe8b8gyU!0C(m(A>l4GjRH1CQnK5p8jj%^aUn@0jDo!BG>^t?J(f<Uz7Lr z1wNdNVS56n|C%^`fyoR5PG8JKFyQo`$(_Eyd%*<WA4!4tf(d*$R-^WOCQe^qA{cP` zVkUxRPX8<+?dq90eSwK!!0C&b2nL+~GjaL?6TyJf7c&tobNZ&k4ufR&lzb*mU*H3^ zn<TF6NH7N`GYs76KZj1=l$|+!2PT4LPTw#eh;4^CaC9Ucm~>d?^c^$lu*~Tj=Il=2 zfr((i=|6`~-;{k2d)i@{(|627u*~T@=EI_g(=+>tT*I6>eFr9jWlrBQ?*+TLh`k@F zUEn^%#^A2l7~F^N7~B<`f)B6njKM^(gVi516TuEvf6CmKJey(au!GefGm{QGSp6|G z>9E74{*?J(^~Yc$*um<LnTcS%>T!o1F7>BnAFTcuOpfH?Qh&;Pu=-<gKhR@v->Wg0 z2zIdgQ|3-Q?y$q9{+O8vcCh+mW^yDCR)5NTu=-;#5$s^~$IL{qjvaT{!Rk-TKD@p& z2KSRO2KPlz!3V2929p_fxYQpr6TuFb`ZMN>klZnNFW5y$?wENmn3(q+c5}ScpO$^N z)E|TQGfZU@!GP0O&Tapv@9CO>(-$)l3^;u;lMVw;|K@n9KUMp1sXqpj4m(`xPnr8R z51*1Z$4mV&bEh7IiD1C#-yC1xnU;NceP;|Nf*oGp88ee3*>`H(VZiC%9ADp=t{FIe zF%!Xn)4w^szB66(;q{#{xNr0rOa$xLafbn?e{+0&XS(LYrT!S)7d-_7r+;&NeP_%} zX4v6Uf6TlW>>?z0#w>7mabxgau#1q~F*6Yi-05G0<W9>5clsA0xnpJ`SnrYH47&)) zot6!pzL@tz{~{!JS~hU{7a_T0W^yFKo&H5g?zHS)^|-^po&H5g?zn8yVZiBMgyc@k z22NkheXqvML@;ote-V;9EgLv}F%!Xn(-$)t`oQU5gyc@u22Nkhq{9v`>QBq=VvlDS zaQYV^x#O~lV22m=r_8|VUxeh2naPm^PG4pBE}50Bz}Ws7gS(3xgZF}6gyfEyiD1C# zUxegN%LYzg%=;sG5t2JCyZ6X&hFyf@j+se^0jGZvk~=LMIQ@%|+%Yo|3^@IZklbn6 zz3Op?0jGZvk~=P&97*8xFG6ysWdo-#=Dt^BW+E7H`WGR&)3Sln7c&tIIDIjbrzCLt z7a_S*wSm(YGwCqk^p!SCd>C;07a_S*wZWafnERrq%)seigyfEy$&mz3UuEwFQ($cW z%+@S$cX4CzUa*Uh+%Yo|3^@IZklbn6!0C&5Kf^9Ua;IhY9vS+ui;&zgGwCqk^e;kk zr)2}De-V;9W+s9Gr+*QWJ1x6cJ?=2z^e;kk$7Pcv37q~#Nba<3;Pl1Z_iD^c1Orb0 zA|!WOHgNi4CV~N{FJ|(T1Wx}VBzLMdaQYV^xnpJ`SjUcM7;yR*A-U5v1E+rxk~?Jv zPX8h#cg#$VByjo{A-S`%6&Tw;V{mtIWAI+Ei;&zgb3ay7FmU=8A-Q8_A{cP`7a_UR zvU`sVXV^tZ?wFYf2AuvyNba<3;Pfv-a>vX>FyQnrLUN~N_o~Mo2AuvyNbb1oy>S&Y znPK23axX%1r)vgI{~{!J%uEF9J2mbw;PjPq+nam3X5jS2Oauc?{~{!Jx@O??FG6z1 z%tWw`9d{UT`pUT_9R{4fnERrqY6GW#5t2J*CV~N{ud?@oU4-P$)_f6?I|lCs6LX)v zV`d^4aQaG{?Y4JXHn`IlGZ75@M6Lp3_uorigyc>I1MlgJnFt1cB3FU2L@@BXcP>J5 zr)mSIe-V;9W$uGy_>@#sZST)9bEh7INrwTae-V;9EgRhFi<t-pej-=QWa#&u8h03Q z`pUT_f&r&5W+E7H`WGR&)Aj^T{~{!J%uEF9*l~ver>~q_(qX{qi@7g)sy1-?7a_T0 zW+E7H`YL-bm;z(_XSQa6_fJWI_ks!BXYaUdA{cP`7a_URvVqgT2+18Y6Ty0q3}=|q zW;=RXHgNi4CLIQxz5-*(kpxcvA|!XJHgNhEA-PlLK1jwL2AuvyNbb07(qX{qD=?OH z7;yR*A-Pk*fYZMS$(=Iyof>x-aQYV^x#O~X-D5Br`oQU5gyc@k22TGXBzMeA1nbyw zhXJRroZCJ=r)vgIU(9{cQ)b}wFG6z1%tSEY^i}p=Fa^f;&uq;C?|qoSd%*<W&oF_B zV8H2Lgyc@u22TGXBzMeA1nWIAoM9Isxzn<N)4vGG9WxWbfYZMS$(@!Be#_=XNbZ=K z2-XM5xWj<cSI%vxp04>2k~;<y!GP1h2+5t64es<WLUPB<M6mv}8Fv_P`WGR&(=~%T z{fm&?DKl{T7a_T0W^yFKPvl;N<W9@(-8t?s;Pfv-a>r%&lQ9POMNh%N>0gB8j+se^ z0jICB_kt-fwtr@87Pz~(F?cW7MM&<LnFt1){zXXcv~1w?FG6z1%tWx>Bf}YX5t2JC z8#w)oklZmd5ezu}i;&!D*}&;vgyfEyiC}$@j5`cC{fm&?>6(Gl7c&tIIQ@%|-07Nu z(--sJRtQW4>%`*@15W>$yuBlEuY0;x;O!j+#u8frlC#9zr@?g1!0BIv<W8A;caA#@ zIQ?gGr!O$+FmR{;d<~qwz}=Kgw+bX@iJ1ttclx&^Be%e7!3w-Sk_BE1R^WcDM*A%A z-su;Z2)1|n#Y_a-zo#$ezU0{qD{x0ow`%Y7i<t<ve|tyFd#7JuBG}&P7c&uTpPVJ; zK1jwLws-o)+^MJSxp(@-OlH{L>5F;)_D+F`V0))u%tWx>+T#w}JAIYCe^0-_z3ypy z?w!7v_fEgSWQOgXelZil_P=FQ%)L9u9kzG+#Y~Rm-su-}U-Yy+_fB8Td#7JuBG}&P z7xP{)l978W@cu}WjND@0A4!3UV8H1ssg?)^oIc6OmD<4RlZ;$31E)_ia*LUC7;yTE zxn19fschi%1>Vmvfr((i=_}@z2nL+Km^=0CStT$L3^;v~k*f{^PG4Xm7;ySxCPTmP z)X;}1Y?cgt;Pl1Z>z=kJaQce5B}WoCeKC^`15RJeq{BLP++o1!lZ;#q1K{)p?u(wb zCvf^CBUft%PG4YhB!SZ>8M(J4Be%f&BS|uHi+SH+3Y*=}Fp`n0vVqel8M(zw1nbYa z;S3`gxhfmn>647yVkUwCr%y6+RW@+?0`F%S$;egNeUOYh3^;v~ky~XG!GO~z8M!JO zIDL|lTg*f-;PgpGuF3{ZpJe0~GZ73peTB`ErzCLtV(!ymW*<pLuG9ujUrDt@FyQn_ zMy}QjoW8()(bKI0PM>7tYR$mu3rvnAaQY-8_g3KU;$~YV@cu}WjNB@F-(kv&-5*Jk zk*l(S(-(N(VFDAudXEf!7|F<$V8H1MOauc?UwN^l!@!-sn8}d@PM>7tYM*=6;|>E( zpJe1#*`&jO(<d3ZDjPU`l95}?L@?m=Nk*>922P)3<Q6j#3^;v-&5{`goW7X*G?;o4 zaHlV3@|5h@@eBh_pJe2!!+_H#8M$HxPM>7t7BlHE;PgpG?k&m4EpT^nvr{GTUNDl8 zTV?lSH7y%BeUg!@vVqel8M(zw1nWIAoM9v*S7igIFYx{;NiuR(HgNhRBe$5zkpxbk zWaO&sUiG-cfYT=#xm7mlFyQn_My|>RPM>7t7BdkHIDL|ltFnR9CmFfLOauc?UtzO* zr%y6+wPxV-Nk(ollc!|Ij%OHf`XnP)YX(lAWaNq&IDL|lTg?4=GqsPv>647yTauAm z;O^pPYZiDf7|F=3viq@`mJOUf$;egN!08LTANnLCS7rAe8O|`0kz359!+_H#8M!JO zIDL|lTg*f-;PgpGuFCFJk2?%FeUgz|Ws@TboW8<l_dbkd<Z8{}J$;gqTg+tW_njJd z7;yR|BUft%PM>7tiWxY4l95}?eHu(3?%+;e%%sCQcHCjW>646HsSTVy$;cHmaQY-8 zx0p$X0jEzga&JjSZh^ato1H3w_kxj(+$y^tt7+N5>646Hl?|Le$;d5cB3SQ{;S3`g zxhfkteUgz|%tSEY^c6PS<(~F7aQb5Ic4*8@1nYxj++o1!D`2-%PuC2bzL<$%!09V& zmUI|!`eG&>2Asa~V)x$~2}}e7KanfuUiY*;!JWRsW{F_n?Hw_bBMF?on8}gs*zpVl zPM>7t>OlvbKFP=xGjRGOBe$4IhXJQgGIDQ8Ms9)kGmK>97W00F3EYp>Yyc{3c0a>N zMy}QjoIc6OEoLHE?~&mQBN@3W8#sNEkz33}FyQnRHrwT%_BL?(VkSot{O%nk)siC# zoIc6ORg(axFEHsa;Pe$XOF9fVeKC^`15RH_wWPy<(<d3Z>M-E+1tuK^oIc6O)tZ6R zCmFfLOa$xL@lz5weUg!@H3O$lGIGTXoIc6OE$05bnLc8H(<d3Zx5|s{pIO-g?}xs? zd%*<mvv*u}KUPyPaQY-8S6c;~KFP=}W+GVck>Ly@8M!JOIDL|lTg*f-;PgpGuF3{Z zpJe0~GZCy0l5vLtr%y6+wPxV-1tx+4r%y6+wPxV-Nk(ol6T$k^X53-G>646Htr<9d zl94NB;PgpGZZY?1Fnzd#JAIOotFn7{jynuEeUgz|W%rXYRU7>79p%Lm;|hMCzL-ge z0jEzga&JjSZh^ato9(l}d%;LXZk64S)wFEj^hrjp$_7rKWaJhz5v=#faE6hLT$K%+ zKFP=}W+E7H`XnP)Wdo;AGIEQV2-XM5xWj<cCmFd~GjRGOBUjA8>647yV(xo29lhXA zpJe2!?CxjA9R{2}$;hp;d)-sD!JR(I$W__k?H!VlTg*f-aHp@Z*}ZWUxIbg3`wWt^ zNJg&I22P)3<cb+MeSygg15RJey-P;>e5btF{uzVU9ahY1!3w-Sk_9G$?VY}u_sLlW zCW7sMBDa`{V7*6XPf0QFld}p;1l#{aZZQ+V_D)~S`?q%rOa$A%y;ICYuwM1J!}d;J zW$)k9FEE*5`#XIx@11^u`+=T5G4@Wsn2BKfJAE;C;&F%VoqjR*=ANp(clyOlj^zGM zU(9=_Utl8G-su-J5v*g!9kzG+Dtqtr3*1k}v_1DuU(EYE{Q{F2ws-o)Oauc?UwN_p zGutYG_ksz$Kav9P1rxX*tLd77(<d3ZcLEc^fYT=#xhlK&$Z&>{jND=-f&r&5X3}B6 z>646H2?m@#$;d5cB3R$%afbn?Pcm|~X5jP%CV~N{Pcm|~X5jP%CPN=MeTB`ErzCLt zV(!g7eO3XdFJ{tV!09V&wm&kaYX(kV%zdNB%tWw`9nUb}^hrjp&NFcOBqLYM!0D5W z++rq25;%P^_b!>Wr}AR^XAIsSNs^I!M>28?Oauc?pJe2!Y~b`sMs6_^!FrDjXBf%I zRoTGllZ@PACV~N{Pcm{<HgNhRBe$4|V14qAI}A8|l98)51E()A5eztel98)51E)_i za*LS=)(zme!+_H#8M#_BaQXrh!GP0O*ld4fOg#y3`XnP)YJ)p{l94NB;PeIV<8!Ju zaQY-8S8E1NpJe0~GZ73peKGHkr1E0>XSUA*?~kOwd%*<mvv*uJ5eztel978yGI9${ z1OrZAVY8&ez}q_{BUgffJAHvkhXJRru-Pv6^k4v|FJ{tV!0D5WT<tS(`XnQ_n2BJ( z>646Hl?~qBAsM;FOauc?pJe2!Y~b`sMs6_^!GO~z8M!JOIDL|lTg*f-;PjOjOP-Rz z>646H2?m@#$;cHmaQY-8x0s1>1x}x2<lZSSwtr^MK;XTt5O^<`!22U9a6eYlH3O$l zGIF(5;7*@p<Q6j#toO+9K8$4Ks%&tlPcm|gnFt1)KFP>c*}&-wOpYXQ`XnP)YX(lA zWaJhz5eztel98*jfzu}$xy4Kb15Tf0<f?4o^hri;F%!Xn(^p<Bu@%7SlZ;#m2An?0 z$Q5&cV2q!V!0D5W+$x)N7<f;gWaO%B@SZ-&$Sr0f7`W3{UTpu&T(7|0#f`yxr%y6+ z??^_jz`*GXOauc?pJe3Ln)@7@?sH%AaE6hLT$K%+zQFq<NiuR(HgNhRBe$5zkpxbk zWaO&sUiG-cfYT=#xm7mlFyQo+7fXgdaQY-8SAqejPcm}F+;?i+VZiB=jNB@_*FBxv z!0D5WT$K%+KFP=}W+E84(^p<BIg-HXlZ;#m2An?0$Q3iV(<d3Z#oV7a(^CbUKFP?v zQ(kQU%*qzHySOoUFBr+ltu^;!H7y%BeUg!@vVqeNGjeZ#`je}_fA`_*H}9@Kzy0pz z>gOd+F(-mKaPJZOl(gWEo^BOz`XnP)f`L1Ih0T&93EtijGdYsL>5Dn(up85!y=vQG z7EC$}{O%pa+$Ofd9gN87J8<OmEjSU(g8N>%^K8M1U~Zqmoj%FP)i3}~U*JSAw`Sn< z#Y~PQxYJkIY|>$F&EP$KF_R7hPG5PkWatB@Pcm}V+ra6Qj9f7Tr%y6+i<ulr;PgpG z?w#^t`^Sym^HU}8{zwYE7fj&&krcQetLd77(<d3Z+A84mNk(ol6Ty0q41E~M$W__E z>647yVkUwCr%y6+RW@+?BqO(&iC}$@j5`e6>646HtvPb~ZuCY@-+?2iZ^8XQPp2pN ziCmJAE46{sCmFe722Nk#-rQ5Qfzu}$xmq)D`T~;<15Tf0<kp(W4C~nO3<FM|WaMhi z!0D5WTrmTuPcm|gnH)*r^hrkU9m&Wo@cu}WjND@0JAHxsv6@X!<;Cv5H4>Nz2An?0 z$d%f_=_@am2nK#4mt^E>&EV}Fl94NB;PeIVa!-33IDL|lTWcmqvQOUOQ&M5GL@;ot zPcm{P7;yT^izP=AyuCv*a<yjg_72I&6?1>uj5`cCeUgz|W%s(L!vNgrlZ;%I4V*s7 z$Sr0f7;ySwM(+7Pb_tx!FbnSE(=~|&CxTgUGV~oda{3mW2zGwe5oY9CW+GVhp8h$r z@?!hP?eqDX1x^IB%t?n?=DlEHMy@M6a{3mW2<FxdoIc6Oy(1a90{0~kpOON1^t3&} zoqm{+>-HJk=_@am97*8xNk*>r8N9tiGIGV-2g$g@fYT=#xm9*D!`v_cPM>7ts%+r& zNk(olCxW>n8QtkSa3>yj7;yR|BUgd}r!R2g!(4lUJAIOot2Ki=eUgz|%tWw`9d}sd z^xam0-?B+EawQn}iCmJAD`xN$xg;aEnENQ18k)V+zYjBVPX}Ou6CY;5{Q*5%b1|<4 zD{wznQ|8F&pPni)@9*>rOa$Bimd#=&g7qGm%`h?VoqmCdVEa4$VkUy^oxYg&PQSoJ zu)WhSW+GUxdfZ`qr?0Z3JAF3*Bd2e{iC_*K-RWC!KhV?Zxqo{{YDZ4rjo!%VJ8*y6 zj5}=a^tI;w+dBpBbx*fy@ASpIclre;9kzG+#Y_a-JAE<t<2>%Lz0)t|K0c>SvVVK0 znERrq%+Z~`JI{Nkud?@V?-ZDHSmgB2*Q~tQ{+X#Q@cu{&yzel9_ksz$?=a=X62XAe zCmFf-0u#Z2(<d3ZDjPU`l95}?M6k%|pIa&A#U>qQ!O4-d;N(bJa3YumCr8qOd)4+S zX~9G=;Pk_cTw68~3^@HTBiEH3IeiNz9Tqu#$J~j>9Tqu#%iNpWJ)bSO*F6R&9p-FB z<n&$Hk<+(eB3R_~Ei)0UV{L~ywIiqR%8s1A1(ObooW5g@oW2E<p&vPY%bW=2_8B<+ zFeCT8Y=QTJ3A{g&0w;pmviq@e1MpmJ<;CuOn7~A^=uY3Q8905Ck$bPaSRz>D^xc}H zJADgII?Oc*aQe!NC4xnF`fkn9oxTMpf?05KBptX968n_2;NG8Z7+7$pc3{^e;7&ix z$aQ4{rypkIT4o{`xYG|aa$VWIwZ|P6Ieph8;7*@p<Z5n5clu7S$mzQ^M^4{@Nry#F z-!dmN%z-<0++o1!hZ(tUpQAf{3+{_{)6;>0(<d3ZIvBv|3*1M^c+H7m=N%Si<esY? zX5?CMawIKyFPO?Ef<;c>sU10e3r+;H;6yMBCW3V*WoMXUj-0*)6T!fpKFP?vSJ-Ug z^xc{xr*FYTF!1({)=WCAS3T}9@b*rak?Uqy<n-NE?cdW^heb}`F-Py|yETJ5{V*ff zGAAA8z<qey4zu7s0cQ{QFeBG8_qxZ-M6k%|yRsvvZ^3;UOxGMaealP)>)3IJ0jD2k z<hnHjrypkII%eSX!;D<ZOgaoW{V*f<ylmyg_Rs8K2)v(R0`CPAct67g?#F7n=E&(g zwIio*!9*}{rypkIy0UwZ3};xFk!zU~!Ojg0$;iDAGjd(ok<+)}F88#zqdR>kSmg9= z+2ly}Z60@6<n&$H;O(6-BiAw$!6K*cn1RzL8M!)D(Vf06n+VpQHscP9?(|*R(Ve~p z_qwOU0Nm+^8M&_P$mzQ=6uqZ!nTcT0d-{&KcjvgnBB$>J18?ty8M$`NebLkQ1WrH9 z$aQ6dJN+;t*D~(~BN@5(VMgwG*#h?m^lYC6-XBSUiD1C#hZ(s}F!1&c$;j0{gZK26 z7n^)9c|L{&?&xWgfVX$Tj9j->;O(6-BiAuUcls7gjwEpUBqLYt*{dEtB?V48%(Z9a z^es4<VHTXsFb9sDz6B?Oxefz&`e8<{WljWh;J#Di4vU<=Q#*3{7ToKePEX+U!;D;~ zcI5OexKD%Wn!%mE)=WCAW5*p9IejM>aQb0Ju4V3vo^BOz`e8<{D;qd{F_R-1y{CU( zc9@ZC!TX^v=KYZjGjeU&Nr#<JPvylX#?>){JN+;t*D~)rjAZ2AD=(G^2AsZ_Nry#m z?>M!A(<d3ZQX4q^FeBHkIdb~$RDrj56gEpbEOPp8&5_f$U~(kE+dGfh+dHmoaHlWk zzE|$y?wTaJ)3@Mc=({!dof`VEFeBG8CxTgUuiL3@!9+0d_D-0Q>&gaq`e8<{WljWh z?b)&84g*e~WaR2`6TQ7-*W4F9ZBO9z!;D<F&ymx2YmS`01t)@?gOwNCKQpxj?k;W& z-p{ZwBlmo(!i-!822MZB$hFLgU~ZqIw|6Wv>9F1-!x<K4<hrtf(+@LpEi(};dV9z1 zbL8|bm~>d=^qpXl(|6!r^|-@;(<d3Z_aq~?z@)>#oxZ|m`+;^t-*s5z^xZy3PTztP z!5p|dX4_$I&EQTy%*eH6_qyFySuha{IQ=jq*Od*NewdMKnTcQ>Ydg#_1E(Km<XUFZ zVc>V~gc-T6?C7^_T5x~fOixwh^euDmk{Pq|V*6(dPKN$@*<nVm1@Aj7%*b`j!0Cq> zxt4j~VPQtDWhNcgdt^An6gJz@)Ao#<{`vDc%*b_ufjj*$BiAuUPTzu)4s(J5rypkI zy0UxK;|`0QzFTv2r*FYzhDA=_2^Kkh3noVrIQ=jq*OpCYSl_8}heb}`l^wmkW5K=d z>GT9|?}Qn-uI%XT9e1jL(+@LpZP}#5I(FP)!09Vsw~x<hlSFs=PB7r~l~kJ;SJx!K z>647ydx6Q31aI$z8M)_MMKW^l1>Sd<z<a?2?#IgY_IZ;iFLvKy0`H%a0u#Z&oqm{+ z>zbr5+0HPhHgNiixlIJK%%sDB(+@Lpo!Y?ZhZ(t+IT6gM9o^|WaNlOzVXkc8^hrjp z1|ay|I|3&&%&i$X{V*ffGWWf5qt}8-hk@Uxue{h~=)1Bbr|)_@a{3nB>vn2eaMEE8 z9Np<#aDQaDvYpz%>4zD)mN^m3fjf3Q!+_IQQY|@>!0Cq>xlXXi>02=Au;}d_%bXlZ z3+`PqIv5WmBe%e7!3w<YumZ0ID=-l(a{8xRCFZ@;FE9~o@AQkA2-bUKHp9fcclrfR z1Ur4)6qt0_-sy`udV9xp*xu<EGZAcmr(evZ!+O=@4%<6@l^xybyRC|xz6BG(_D)}G z-oL$5;J#PWXVw1gonj_}^;t0Pu*m7VeU6;I1^2qAYVYs#rFP`>UD?r{z6FyG+y6vv zt(kOK$BsK}@AOsn-su;ZblCn*U(AuycMtddoqjQs4%^@97jy3tcb?DJti0I%ap3b) zC2)6fWAI+EFeBHNoe1W@k<)i-1E(Km<l3_LM^em0u-+qfhB?82(+@LponXM}i<t-p zoW25fyWG<w8999?SmgBGK1WX9f%_n_9p=i8oW2Ej>Z#hm=__EDbQo~@BqR4hU?LcB z`eG)6_2D`0FyQoWt|O=K4#s1z+qI_!6TyJfzqtlZUtrQ<!0C&b2-dOV4g*gAhB$qJ zlMZv!6FB{w%;`I3;Pk~zIt(~{G50QU=lOiiBqR5MWaJijFBr+lEoLHE<n*1|!09Wg zmIwy!^uvr?x8`m=?F>7A+$dnTqo=(c-Rax1_cKgolMaiVz7q^MeWmk~4vU<=QyVya z<;CuAD+DGT2JZC5OgaoWedWax!J<2Tx6i=ot85||aQe!NC4vE`FXrCd(*YPceYaK7 zoxU4G!0F!-r!O!O3^;u;lcC?S_9^MM3OId|kt-_|Ieph8!09V&mK;go^hrjp1OrZA z;NB&(VL&o+A4o=Sfs-S7-XsF|+3VJ9!9+0N^zX>qI|38IfYTQ<5v)6@;S5vQY)89& zJ|BPrCxTgU(qR@%1dE)$V~(7@I~bAEw_qYz<n-N|`!<g|EOPp8&5_f$U?LcB`e8<{ zQyVyaG55Wio@e0n#Y~Q5->Gqj0jEzga`lJ>PG4Xm7;yS`#OVu6IxKSfcR&5f)!)DS z@b#N_SD)X0_j2{~>SL)LIeiE2VvjovIDL|lt2IYX-%S$W^pzL8clsnFS8E1$`U3Y+ zG97@x=_@a`e`d@A?|qoS`y(mvUNC|Cv6`+KIDLi962T&;e}1aOOauc?UwN^l!+_Hl zbJAhwJ}k`0b!vk<{d@ABzQA4XX>UhP->n(k>8osVB>OfGpOQ+dO$2jI5;=V*7`W3{ z*+ejKr>~^iL@>8z;PgpG?t{QYus%G;9R{5KJ-O2txYs=$2Egf)j9hIMczZ|SJ`JX8 zj-0;h?a1jnaPLmrVQvfor>~e>A{cP`V(yD}TjkaaoIc6OReJ)bPcm|gIT7r<!;}}> zKTd56-Vc3}k^4Y0atoXYcHUviizR{qr!VIHkqk3(-97`SA7<n_X5jS2OazPG(|1h* zoPL;*>zIMl7jq(*Wln5`1t&++HA%19J|!)f%rM~emCl<8X3Hjm0jIB|S|S*5`XnP) zLmxQ(2lDogz(g?c_Kuj74m-bP7C7lJ2afLaEjSU(g8MX>8XDmANk*>Pvx_~RVZiB& znFt1)zL@)>r&|S_KFP?{Rsp9^GIEP~FBr+leGoV~lIPDVl95}?$qcj1L@?m=6*fx* z15RJeiD2hGjAZ0$tNN0MGfd!)o(%(%ky~Xag1HU@PCv}Zb<Du&hZ(u9Nx+@Hn8}gs zkE(HpMR)p6ZQ%43?Mpfg-072yTpbMH^uvr?r#5(dN6e(d`c92I3^;uS?DpoK4#3Fi zJGCRH@4%7Mx8P*xyD<dr^hrjp4hFc>SJ>?S0#V>ZFsC+f`e8<{W$uff_BL?(BqLY* z44l5eeUyyXycdjQ<UWv$+yd`sn816%1SWz3r%y6+B^Yq}0u#ZaJN@&~tFYPq3?mu2 z5)9nwlZ@PACLIRe(|;mw?+8qeByjp-CW7^<hdxYUv%NoOqc_aRJ%7-J8Mzir1Os>a zVMeYi8{FxOnar@r>7QQ|E2%b_VHQj}3^;w2-RqwAHgNh1n@t3BO#<HD5p$mg(=~%T zeKC_G*|Fmp2An?0$kl@m-02J47d_o7;Pe%+OO7OP`eG(W65Q#NjNAu-_kxj(++t1y zJNKRf?>kIkv-=rFGIF(M;PgpGZZQ+VdXEfe7|F<0*}&<OjND=-f&r(mu-Pv6Y<dd3 ze@Y6R9Le*CJITnE+P&&=hXJQA=1x6T8{FxOnRFO%`bw%L9Tqu#H@AV)SJ_0c-rD01 z19$qbvpan!7;ySxCV~N{ucTViVZiB=j9iT&;PjPLOKb&j`XnP)YX(kV;J)bT^aM^{ zNwrCbxl;w4KFP?H+Q8{6FSdVXY73kQcK&b|c>k0XxX<2k*-3|;?{k=u>(&h3-XR&e z4+0axfYVn}E$J}u_D-0Q>$VEKy(8wN!yGek`ii;ja!(HiaQb2<9R}|7l^07o3^@HT zBiHS7<n+%kio=Xt2acS+1t%S5!F{i$?FpQ|qJ7Dc?5#a?`U==h1anOS?)1gn>z=9& zoW8<l$&mz3U(BS#z@5IBNr!dpxWj<cCmFf26~O6}j9f7Tr!O!$lECSUnH<Tz(|=T6 zZ2ydgL4ntT6?lCl3%nMr!2MWF*Sx>e7xUif7dR2@^c$1{6T$XQU(CHnW;3k79X;Ku z{hfX>6T$XQU(9=_Utl8G-su-J5p3`D#oW)uxWo2NznDAqv^^uIf9e2>nar@r={x4= zPT!58=uY1<lMdTEeW~4v#~rqJ`o&B-Z141onRM9R>5F;q^b1S`+dKVYCW3YBxWo2N zUuEy#(=Tv88Pfr{ztb1<-su;ZJSF!|znF<&k<&jPy(A;|k!0i+cz-0rj9k0seym)3 zIxukh3Y*<`7|F<$+Q8|Pj9fAIB@btqz#Z+j>f9NSjNB@Fe<TG?I?R;~oIc6O)tV!x ze|lY8;6yMBP6Tt{K1ghbS#Z)}7Tl?)?FpPd$;j1K0jEzga*LS=w!hOa=A^^ik?gH) zJIsQU4zpk)7;ySZ=Ouyxr%y6+wa>um3*0w)dY*yPSJ>?S##La_VZiB=j9hIMaQY-8 zSIofalZ@PACLI<z{qsqpyx9Jk^|rwK4ik7k!vx+7CU8Gi(=`L9udrDnSahfF_8B;R zl9BtUyjap<!0C&bbQo~@BqLXX0jDo;mwVdVk<)h_7CC(jCP%Vw^U#Npj9hIMxYH*Y zxy4Kb15RH_wWPy<(<d3Z5)3$fl94NBaHmf)a*LTfC4tjdUMv~<;7*@p<VrB$^hrjp znEP=a&oJQhNk(p!opjjwrK!Mu(bH!YxYJkIESX{8PM>7tN^RiuNk;A?$;d5me?ZUn zIn2mCw-o~KJ4|`8`x!<uawQmW`T{3M(g_CM-ceF55iD~0=QpllMy>@Xf?06VVGazO z{vC1p0+S;NoW7V7!CZUxs)tX>JMg=AbR>b(7dYuKyJjL7aQX_H?FV`~w}I0aGZ73p zedWcH83vp_$;efE0;f+ha>WdsewdMaZXZcTZk63PdfMCIPG4cOq{D#ICmFdCEOPp8 zh5@G^X5_ji0ZyM}<VrAbr!R2tl39ByFSdWi;Qi1i8M%)nBe%drFyQn_My|>RPM>7t z7Bdm7_sGzPDXF%jr|k*u^hrjp1OspHgc-T#GmK>9s%+r&1>Qd;1tuK^oPL;*d;Y8v zxKmHt6F7a6k*j?MPM>7t7BdkHIQ=jq*PW`~+T$4poIc6OmD<4R3rvnAaQY-8S8E1u z?+DyCdU~FL(^p<B@nOK}lZ;%c4V-?Mk?Te;xYH*Yxmq*0(<d3Z#oW7O)}ACI_fg=z z4-<Gl^ab7@Nr8!Ak<&lFu2oWPBA5jyf?04Pm<1ET`jUrFNyXfD^t88u(-(6h*!dU| zm<R^$^c8bU1OrZA%tSEY^c6O{e@Y5W1OrZ=WaMh}g12{+7fS>Kclu)Pdo?}J!0D5W zT&dk#dpyH{(-$)l3^@HTBi9W;;Pe$XOO7OP`eN=IJ#A0m^hrjp+7mc^l95}?L@;ot zue?|?!@!+B$;g#p;7*@p<UW#&+yd{9B+1Av=6#0=y!T<si`{n^$;j23!JWRqL@;ot zPcm|~X5jQmMs6_^!GO~z8M!JOIQ=jq_x#~5FcAzmeTB`EBMF?om^<~%8IX)z?K5!t zBqLYM!0D5W++rpj2HxILQf<;<=l>ueaPpM2VA5g0>8ot=l#HCdTQhL_N~$G-0jEzg za@E^i?BVy4BqO(&iD1C#i@7g)Iz55YCmFdC4BY958M)^-t^y~5or9GZ+doci3r=R3 z1t%S5!F~3+vd=vU$;f?F*lZ%0V~+0hEjSU(f{9?j=_@am2nL)!$;j0{1E)_ia>Wep z^hri;F_R7hPM>7ts_b6%@F__$a*MfBPsb2=dq>R4(09WC-072yTnPs5^hri;F%!Z1 z@Emto<n-NEfjfPYkt@M~(<d3ZVg^p1WaJie-{|Ri26y_(izQD<aHmf)awQmW`XnP) z%)sfBjND=-Lm%Afi@A5ntUZ+%+dpG)cX4CzUa&AD_k4PijNC`%#S+1Q(<d3ZRrY>{ zk&Ik1_Z}HOB?a#2X@`NgcSuHVt(hE2;PgpGuF3{ZpJe0~GZCy0l5vNDJAIOot2G0s zPcm}F44gj6$Svl+SJU$h?(|7UuFCGibKGIT>4zD)?m-9c^hrjp1Os>aBqO(&NrwTa zPcm{<cAtOa4vU=r`K4)?k!!*IWVrKe!F|zFFmU=|My@+m!0D5WTr~-B`XnRwk!0i+ zcz+~GMs6`D9d^FYBqLYM!0D5W++t3Sq+K%+tb6t03{%)_N4sI*$_7qf%tSEY^c6O{ z|6Vf8$UXmObAic`1b6ykCLPwR9(NdU`XnP)M-n*wFeBF;4B+$?HcO5qaQb2<M-trW zD{Ph=N#OLw+?#tk0D;pNGdYrx(|7F&?(|7Uu8t&d`XnP)%w6p942zt;QyaX!Lo#w} z&3)0Xx81V}IDL|ltFnR9CmFfLoCtQh&riyW?H{MM1+RyGF|TJ>f&1(omrVrQ-|4ID zz0)r+5p3`Di<t=4dt^4l#JqR<1tx;+oqjPB!S+sH%=`EB3!DgcI(iFCj^y6yi@8@l z?y$YnFXm1?9YcGkU(BS#_D)~Sd#7LEL@?K3d#7K_M6ll4;||+9eU-g;`UUQFyY@W2 zaV>Bnm;*;n--7!iV_J4}r*D}P!JHe~zr7>1yV&Cn+dKVYPL8Bo^ZxCfV(yD}`|Oza zPG8LXpU5pR5p4hVPBHHVBN@3*BqO)Ld%?nt-18<8m<R@(KFP?HV8H2<jND=-g7vXI zoM9v*S7igIA7<p9dlHh7tFnR9CmFfLOpYXQ`eG&>)~g<O7;ySZs_oRXXO+NvTR}2% zwa>umlZ@PACV~N{Pcm{<cHgOShXJQAW+GVR^xac3a{3M&IeiQ6kBsT5ik!Y>?i)R3 zCNr#K#~lWozLIK5hXJQgGIDh!fzu}$xy4Kb15RJey-Q~8sl3?!8H1A}dG3ZtM(z{I z$Sp7t3^;v~k*l(S(-(L@!$?N1%I-ZfoM8fY^t3&J(-$)l4BY9Hj9jS=?(_xT&oF_B zV8H1sFE*KBZVUmZPcm|~Rlw<!j9f8CPXGMgGt9`f;J#PxJX>(mVHTVWeFyHuc7|Cn znPI@`lZ;$732^!(BUjA(w|5GhblADm7r1Y<YflSKI?RDP)^?Z$lMVw;Kg`IrW%or- z)do(VWaO&DfYT=#xy8H}OnI^WGgDjOeTNCWKav9PkEFmvFyQn_M(z{I$Sp7t4BY9H zj9irsoPL;*dp?E)CV~N{ue?}tB!SZ>8M)dj;PgpGu9*8E89pURMs6{8>gn_ZPG8Jq zhDA=_9SrdHj$&?!VBk()%tWw03&tG=?(|7UuG$ma>646HF@rn(FeBHsCvf^CBe&K} zI;>;I9R}|7Nk*>L4DR#=?u(vIPvG<wHcN~vaQY-8S84;NPcm|!1l|iKa5D7IZ{h^* zvv<}c0`EIad9iyRCNL2U-072yT<tS(`pSzXf&r&5X3}B6>646HsSTXIz+LX?!2oyq zVMgxxy=Rz_>%e`R?Nic%6TvLFQ%}_fPM>7ts>6WOCmFfLOauc?Kg`HIw~xw;B{K{- zeUgzYwSm(o8M$HxPM>7t7BlHEaHlV3Vk<h<&M?=W!0D5WT&WG5KFP=xGjRF>Cqv(< z4V*s7$gMT^E}1=Ulo#7SWAI)ul9BsFGI9${1OrY#%*Z|OFoE|oOyK^on(i}j`pSzX z9R{4fn2BJ(>646HwI^`;BqO(&iD2MPU(Do4_Ns?ZNs^H(!N8q9$;d5cA{cP`3Y+Z* zdOAsf(-$+DVc<@mWaMhAfYT=#xy4Kb18?srY?cgt@b-?F`!txgCvf^=CP%Vk$1@B# zeUg!@4g*eK;J#?LRp)oTBqLX41E()A=`iq~KFP>^QeJHTIJM8cr@;H6FYsP4f%h{^ z;H1Ocnt{_N8M)dj;PgpGZZRi<o!@(g8MzjmbeIJv9cIBvhgmQY3^;v~k*j?MPM>7t z7IPw)JCc2yhfhg`%_bdYnLG7#dV)KBl94O5fzu}$xy4Kb15RJeq{I3w7<U+O`bw%L zf&r&bGIF)g!08K2jwEpUV(uF~J<q`DlZ;%c4V*s7$Sr0fSmgBG=mmHBBqLXA22MZB z$hB+U&#*8f_ncYa{gD)SKf?sxcbLFLFyQnRuuB93PG8JKu*m7VCh1EaJ|z`4+tIVp zOEPkwNJegfNrwTaPcm{<HgNg^lMVw;pJe1}&A{oCjND=-f`L1I<;Cu=cLXL!5;%R5 zkt?-<(^p<B5ezteF_WhxaQY-8S84;NPcm|gnFt1)zL?3-@7VEE5;%R5kt?-<(<d3Z zVg^p1WaJhz=`e7oPcm|!NJegflc9fp?<sI1m<9LQ>l~m3_hU5$M^4`{1E)_ia<x^! z>646HG4~!B&M=aZTg*v^oqvNOaMEEGoOGB21E)_iawQmW`XnQ_n2BJ0o5vjnoIc6O z)tZ6RCmFe722P)3<Q8+^D>r)G!2oyqBqLX4_gOIRFyQn_MsAhe>z=9&-rfl_a@{_I zJAIOoE5U%%CmFe7?(=WlVZiB!8M$t&fYTRqU-Yy+fzu}$x!Nk=^hri;G4BOaUTpu& z)E2nAxG{J?^hrkU6UoRGICA>u2ZLnf7BdkHIDIjb4(mNKoM9v*SAqejPcm|gnFt1) zewdN#+7mc^G4E{!$;g%3{alPY3^;v~ky~XG!N8rq!e+_P2Y32n?tA5)80W9%l8jub z4es<wMy{BF(<d3Z#Y{R3IDO^Ck`4n-pJe1pFyQn_My{Cq17keHfYTRqawN~MF2jsm z3+{_{!@z+fr*FaCl#H1Z!Q3Mj-072y+}9){x4?;Dr)w_oTCf7IXIO!g4s&JioxYg& zclre;g6*AtF%!XhkIZJ6nD=k*6qpFMztb;fBG}&Pi+TUMcM41d+dKVYCW7^<#~rqJ z`YJp6iQH4;T3|B6_D)~Sd#7LEexTh`(oN6E>02-nZ1427=1x5Bu)WhS=HA>>wf9cH zn8}gcJAE<loqmCdV0))u%tWw`9e3E?>8tF>>ANGjztb<~zUXOhM^4|B9sNYEo7?+4 zeXV)#^b5QfOnI^W<J3N1v%veIFYx|I3fyO}EBkz(1tx+4r%y6+Uz3d70u#Z2(^p<B z=`i5*Nk*;&15Tf0<cb+MeUgz|%;ZP{r%y6+Rd%m>_>>g5_vdtyL{8t0A>i~$My><{ zPM>7t7IWXLsoMLucZ!(|{XRU$9R{2}$;j23Bd33Q?^)nPFb9sDz6B>o(t?u?v*5nb z)Aj^TUwN^~Q_@Wm;PgpGu9^fmeUgzYX5jQmMs6`D9p<(QIDL|l`<i6r7C1SQ=W7;t zFPOmlBPnn{R<rZ0yx9Gb6qpDG?(|7UuJ#!?eUgzYX5jP%CLIQxzL-ge0jEzga-}wK z`XnQ_n2BJ0n}<G3VYB2&0;f+hawQnJ(+@Lp-P{Iu`eN>TH66Xc>5G|kSby4#I}A8| zCDjtaBB$^6Idb|A965apCPxz7>646H9ZBHy6*fz31#tReCLIQxzL@)>r^5g^eUg!@ zeFjdSWaJj}UNGgw_Rmahf%ivJ;C+V)+-L8&Y$6zN`XnRwHOa^=FcAzmeUg!@vVqel z8M(zw1OrZ=WaO%B@b-?t<Vb=$eUg!@HTSBAK8$4K7IUYbj-lvI|NQnb%*b`%=uY2) zlc8_HiC`9-97zi%L%$P`I}A8|l98+S1Wuo1<cb+MeUgz|%t?oxe~%$>-{|Ri22Njj zvBZY~r%y6+r8aQ-BqLYM!0D5W++rpj2JZApM(%6n#rDsvw*^jy{`sjAcrTd1`y(lE zKUUK<1E)_ia<x_9PM>7t7Bdm7_sH-msj%6Oo^BPm(-$-8FyQn_My|FBIDLW1kpxaZ z%*b_<q*p!eFmR`@q}onBZO_Q*+clFT899B&4DR$vMy`4r-072yTru}qFzztm^hri; zmEG%}wkNpLCmFda8@#7aGIEQV2nL+K@?wb(15Tf0<VrB$^hrjpn1RzL8M(zwhCXom zBqR4V$;d76-iHai7fj&&krcQetJwfl*zEpDl8jub4V*s7$Sr0fSnrYHQ&M5G9X;JD z;Pl0ublCX?VwjQZz|q?~7MuuX!O4-dU?LcJdq;V(<VXUiPcm|Ks({lc8M$HxPM>7t z7IWXL>3IfDU(95N_0}HGFyQn_My}KbPG4Xm7`W3{*laSx&c6{Q8MzV+IDL|lE9Nft zxWj<cCmFd_c0U>JJfHuVXPA-e_8B;Rl98)51E()=BA8us?-Hl>IaqnI{WAvdk0i;+ zeN8fQ3rqw9PM>7ts%+r&Nk(ol6Ty0q3}=`Eb~}37p1|pgd4D7YCW1vy-<@Z0rypkI zp3iNPk*f{^PG5PkWQGB!FXm1?ZBO9zNk*>J22P)3<Q6j#3^;v~k*l)%EEvzQ$mzRN z1>VzF*}d**djh9VGIFIhaQXt14g*eK%w*_y?6|{#(<d3Z+N#LuyJr=6PhVlPWavk~ zd&iXxoIc6OmD=DvedWdW&ukb7y!T-OCr9%90#V>(hFNewR&LD>965apP6V@HA{cm2 zUje&`VCM%zd9kF!fYT=#xvxn^Zh?tl!0D5WT$K&p-XR&e#Y_b2=VJJjBpJCX8#sNE zkz33}FyQn_My|>RPM>7t7Bdm7KW)Yx7CC)4J%Q6#%x$mRJ?Jbm5e(evlZ;&LGjRF> z6TyJfS6(c6N&=@(GIFIhaQY-8SIofalZ@PA?$4X)sRDQUBqR4V$;d5mcX6{dhZ(u& zV@TlrkrcQet7+Mh(|2Wq-@QXJa<x^!>646HG4~#^Ps#HuEs~L2%=;rrGIEQVbQo~@ zBqLX41E)_ia*LS=*0<Sqm^+f-PM>7tYR%wIpJe2U8905Ckz34tuco6H-072yT$SCQ zHscNhPM>7tR@uGosoLO9pJe2!Y;dP9FzGPh^hrjp*4*dcxWgi+e|~`&X5?CM(qR_d z7wy{9fg`7H!QGUMnMsEMr%y6+Uz3d70w;o<KVk*m3np;VVU{`RFb4)spJe1pZSeMv zz(g=`r?0%&{cVN79qo>!+bZDnNk*==3OIe`#S+25+dE<=M-u!*F3HH1+P&)GQ&M2k zVc<@mWaQSG$qWNdUtzOEFyQn_My><{clsnFSIofalZ@PACPN=MeUg!@vVqeVxKD%W z69YJXl98)5_v1XCVUg2!Pf74wHp7fu%iI?|-KxmxJ7)0qj*@CghXJQgGIF1l7u!E0 zwF|r+`UPGKR^asvEAYC*1l~LS0u#aZPQRFmV0))8=Dy_F3@dO)Pup|v^oyAYws-ns z-aGvQ6T$XQznF<&`#XIx_dzo5u)WhS=1x6r&;6Z#F_Re<IsMc7Ffs3)eu0T#`#b$& zP6Tsn?yYS*%z~36X~BtL7ToK0?P<Y8u>IRR+N!<NFK{B*sRJx<BA5jyf;n)<+77ee zq{A$j2)2KFM{4ii(-(N}^b1S`+dKVYCLOkaPybnYvHjzQ!FiJiycbO1eTNCW7fj%O ztfp%QPM>7tYO8?LCmFfLOa$vaGMr%wo9*c7Rsp9^GIAvtaQY-8SIofalZ@PACPxxD zeUg!@vVqeVn9MNX^hrjp)*Lx~H}rwiCmFd_HtDd)>AN*|;_(dI-|1`3`}gz<-0PlB z&;6agn1Rz5m<)a3^u<gB+rOtT!TJ++++q7W{bD9F3^;v~k*l(S(<d3Z#Y_YPPM>7t zJ}WP_e`do#;Qf&lcrTd1`y(lEKUUK<1E)_ia<x^!>647yVkUz19vRLsl98*jfzub5 zbQo~@%8MmOGIILo*LYz@t_3H8S#Z)}4%`Qc?Jx`O{pp5*1$XK(I1%jJdy<S?9Sq>~ z1x^HWWrI6?F%!Xn(^pb0Ig-HXlZ;&LGjRF>Cr8rlGjRF}n<X6voIc6OmD<4RlZ;$3 z1E)_ia*Mg23^xE>lYl#Y<;9XC3GVbsMy><{PM>7tK9h{x0`HF`$;d6{eTNCWpJ57{ z-FFzt$km#G(<d3Z#Y_b2Jz{;>`7j_ExhfkteUgz|%tSEY^hrjp$_8)m2uzM7xYH*Y zxmq*0(<d3Z#Y_YPZ|~d@r!R0n(6fiTz{$5pZWsWkFJ^Ki`%aB#7;yR|BUc>;oIc6O z6*F-9BqO(&Nr!<ueKC^`>)3IJ0jEzga-}wK`XnP)%)sfBjND=-9R{2}$;f?HUTpu& z=C;85p)c@WFoFB*b!DI5#0lJw)f5~#ea9TVr*FZDU=~aSi=4h=?maS`VI(70y$zf` z$;d6{q{Ge)4avwAb9AR~nUfB);H1MWm<ZOZ9(NdU`XnP)TLqlHz(g=`r?0TtexTj- zbo&gPKFP?H+Q8|Pj9f7Tr%y6+i<ulraHmf)a#c3C(<d3Z#Y_YPPM>7ts%+r&1@7Z> zdY*yPCmFd~GjRGOBe$4|V8H2<jNE7C#rDr^p9S6zeS!Ca3A{g&0`H%a%8Mm}MNa?x zDM>PNwa?%ua!E$6n0t>5eHh8eEoRbT;O(6-BiHRSxYK_iPG4Xm7`W3HGdYsI>T!nw zr%y6+)t<oVlZ;$31E)_ia*Mg|)%0-#?(|7UuFCFDn{kH$r%y6+tL$F)RPD&=pI`4N zFE)8fT5x}4xUwynbQo~@BqLW_)#sn>Ft_H&>059jm<1;tX2E^Y(|wMdzGIHw-m&0B zF!yi=PG14LiD2i<BqR4(;N(bJ=DlDfBe%*Xf&r&bGICWmczcIr<Q6j#toMkWVXjHQ zPvk18mUI|!`XnP)Y6GV)aF^RnPp39;`XnQ_)=WCAZ}YgrfYT=#xmq)D`XnP)%)sfB zjND@Gdo^uO;PgpGuFCFyX53-G>5G{N2AsZ_$&rklz8gc}PM>7tYM+7ACmFe7?qZKS zEOPozZE&YgGIDFpebLil5IKFf=E&(=FgcRI>647yXOfXy;JvK~Gjh+>4l{Bsc;8{l zi%o7T95cAn7xTWu1nv*3*{LEKxoVQ$Bf}Xca7Rze22P)3<kp%=hXJQgGICWmaQY-8 zx0s1w{alPY3^@HTBlrAnh-BnSF!1({@?w)2=E{!V-m&1mSMEGpa5BRzIO#A4?!>mk zEI65A7Muv?9yh@0D_}Pf%rOI}Pcm|KFu;5IBqO(&iC`UTJItvKoIc6O)tbTEJ0v4l z%)sfBjND=-M-n)Fl9BtYyx9J6qxZbS1Wsm{1@8qT8M(FQeypZz22NjLvqUi9^hrjp z1Os>a%8Ml(2An?0$km#`oj%FP6*F-90(ZHmy$zf`$;hoWlOx#&$?z$uuvsD)_$`|x zBUgd}r%y6+#T+?(H}t`szL>k=p7u6)PoHGuN-%JzPcm|gnFt1)KFP>c+2Br}WaJhz z5eztel98*jfzuB&a@~0bPG8Jq=mV#(uvs$nfzuZ==`is24#~)UCK<T}?hokM+$I^h z#k}t@h0X4bE6K=J*}&<OjND=-g7rgXec1VxR+y1%!AXZ%aB?IqI1$W&Bd2e{U2b=( zESLxe-qR-;xoXc|we7I;XBElFE#^+`)V9n?hgopaVGbPK>05BpVHQjT15Tf0<Z7S$ zPK`SZIDL|lTV?mUr|k)xKFP>c*}&<OjND=-f&r&bGICWmaQXt1BMF?on8^$SPG4cO zWQGB!FJ{tVd#5kgdbrdd4TCS>rq~?ZT5Jw(ip{~T#m3-n_2*zBShxCfW+GU(`eWv{ z<k?fQI;>yn&zVVw^-KLZGwHBy^~cQpQhyF6f_1AuXC{KRs^=ZnFZIV|cdI`KlOx$L z^~cQJ>d(RLK+nN#ujXJPSijUCGdJRShjptzXC{Jmt3PKZN3y@ZGiL5qe-0*sb*n#T z4g@>BWT^*T!`cq>;NVDla3Gimx0B%n^We5<2R^+sD8ahbcVNrht^OQL1nX9R&KwA4 z)~vwT_8Bq@yzel9_ksz$?=XP_!AyrKFg6g(g9E`lI1tQ(1Hn9)2-cQtXP9LMPG3>A zL@?m=k0H74RM|BHr+*B|oih``fYVpmq{CX(^9}<}{}_@xR=fX5t^?b-oj83922Nj5 zwe3K=vTbko*LUV%GQ)t=SK2HY`iaxGTh)Ig*9qpqt?oIP97*8xk0H6PY};Y|Mg2KA z5X>_Z!5Y@iFuTwFQs1rFgWLFYV7umisXqs|MUTOW)3;?OPTzxxV8H1gLvn|LDKNHu z=HUI%KZfManfFKX7?L|?22TGNk~?SKci1r`ch0;&l1iH;9hNwKGsBJ{xo*uK9CVlm z2ZC8};`BYZ$vs|ke^K9o%>Y!wZXlQk2ZC8}I~VpT>A^&><WApi6>$2;kX*M_mN{|y z9!vyFoW5rcI?RKE4zu7!Y&*<@iD1C#A477-P10ZA8G{q2Zv{*4^gXyugL&C)qvv4K zVGTR)FyQo$A-QhNc6tJ*FXp!BF>~VdZIdKU--Ahq0jGZq$#sI6vK1KHJ`Qa5S>RxX zd2k?@2M0&egM$vUf+bGhg9E`lI1tQ(1Hn9)2-cQ7ongn2T-Tnq?Bq`0gNb1Mm+y?r z22TGNk~?Q69hNwKt9EjyZ^5nVd50x;`kuK_kJScFUkSV9NCKyS49Oj@89040lOvhj z>Dzs7#PbdVclyVW+_Bop+dF>Eq{D#IKZfLv*PPtx+chU|?|3i~tYPOJmN@<UpZ?_P z@85m+`pvtm&u_nbx%zo2d-LiTlIzs=;C3?R;I`;7IC1*6?8NDNa4_^em<ZNi)E^3_ zz}WVggPV(+gZF|RLvrWL`wqL0-rh0$EHDu)c~9Rn?>kIo6T#Y&?F_SJCwKZD9CVnO z+sBYx*I^zU2xh^F)3<9*-qZKsKrjy`9hNwK%iOA-cUa=|J#(XWP2#~su*B(G=EUiH za68cBH78ErGZVoQr*D}X@w~$lr|+3bhb2zmGY2!wf)l6j!KA|yr|+5DMvr^D|48l_ z+{B)D7;yT>klcCMM6l#e-)<Ff`p1ym@tXUO<j%oFFyQnR7~4L>vIX8BNrCq>OyIp> z0=Hu|UUPD%Z`xC7vqUi9^p7FA^EDH}+LEU;>==?eE<3r?w_BCGr|-c;FyQo$A-QA0 zlDBv4nv*+y4<>@OK{D?!;Pj6nxns4HJAEq{aQerP+;Q2-d-}F);Ph2C8T!EKA477- zf&r(049T4{6Ty<VckDg`r?0fx_Q)8o890406TyJfKZfLv*9@G#nA`ZAGZVpp(^p_@ zU|h{*n!rJad2k?@2M2<AaPX8g;A2Rx+h-5n3nu2hV8@W$dD%p;#OYhX5~uIMM6e#6 zH5M$n)3;@}9<e^mgByBWcH;Cs^ZrO4LvqJuCr;m%o!serFzK+w>3e2!BwN+<4ojTA zEgQV2e+<bTH%a33ZQ044z6X;dnK*sVOpavY^euBEo_AQ{^gVNH?s1bOclw^09LdD# zTjs>+doU3!ar&N_2-dLk4ojTAEjw}g9^6jGxIGi6Z<&G9SK2I@Vac7oFPjLK-02(U zV@U3BtBxVLbMXF19z$~H%<Wi>!NBP&ZFb*b$B^84+4~MVhUAW!+mfd<>==?eXC@t% z-09m>1>VzFVC??3Lf|I%Sg_<y->w-r{bNY(xa_vg^9}<}{}_@xFPj`m;Pj6nx#O~v zJAK<E!0D@OA{cP`3XCO35;%P^x8@#i6>$2;klZmdaQerP+&ME53^@H`Nbb1oW=ZBV z3^@H`NbbDsb~5JRw&*b!IQ?Tt?wpx)82E|YV@U3>>|;po9K5#`V%`gO49T6Bz3(su z#_osyF(h|fcJlU)dBh$=a_7uMu+}5f8K$(^h8~v<?(~l#xpQVB7;yT>klb<E!08`D za_7uMur^5M9R{4fqG}uUc+JV%JN7&Sr+*B|9hVK9zL<$%!0C&bbXfB<^9}<}{}_@x z-YVeq#Y_ZCoW6PW=NOXf*6hJShk0<@=s9yBm}PF*d4~a~e+<cWYqn!3`Q1An+!j4% z22TGNk~?Q69R{4f%H9j6z}WT~u36x{4-+^L%ruF>!IAV}A{cP`$B^8y+Q8`_LvkIn z8AHdA+%dTIh@D}UIdS?P9CVlm2OZ|YL5Epz;`BYZ$vxhx#OZrxA{h9I++#@Yc+H8^ zw`)$Ez6TS*5~pvOlec#~m~>d;^gS~XEOGjlxe?E2SmN|OGnrwD)A!6|h5@I449Ojz zXYii>F(h}+OayD#d50xV-|lnr_KpX)lQ9-7d3(n)1E+rs$#rF0`v~6NIfmrUnOm34 zz&BY&?)jPv91MLAUeB;%4m!*;6T$XQUuEy#-YIY(m|gS!J^f-Pg0&v8Gt8EqIDHQ$ zg6-elkzo6`cLYwHzFqVF?VVyKg6-elDQ41Pt?GG)B~IU}oj83DCNnH?`j$Cy`X1a4 z^!Ra;IDOAd1WTO0Wp2dt4ojTAXKu|sRy%R}o|zoU#OYh+{d@YFB#G1a%x$B`Y9~LD zYnhwa^A1a#zGn_P?A&il?c`41gWIB=+7_HReGd+1m<JQVk~@9RycbM)vF$TdTj0H5 z0`CPAI5?6<FoB6+iPN{t!09WUHxSI6XMqF3JU9@{f?JPFXPClf8+zQH$=f@2s}iU0 z!GT~FoH%_CCW0kS-!lgt=D|d;b}np(S?0v)dvK$6?P(9j{_UL`rSk@YS!Uq$vy5EN zOa$A%y(7VZ)6X(;?V5qp7c&tIIDIjb4g*d<%gD8A1E(+MV1{{SB3Q%P8D^P*)4z#+ z_l{>Kf+ctQmN{|y9vnO+J(wKH#OZtH)+NKoO_q^sm<8SomSyC6=6#1{8M&4@arz!i z1OrY#%gFU*lMZW3p3X4E+&1*Mw-cvt*PJ+g4<>>oPTw+vJAK96?q^t*k?YGQg0-sW z9hNwKTQ<1USIjM$VZiC%UIV8uFgcRoPG8JKFyQnRHXGcB*(L!_U(Bt!#{&>JeKC_G z37r0I^jkKq+Q8|Hxoz}VZE&Zryjap<!0Bfhx#p@v;6N}BZi{wmTX5p^Jvf+Q9vmD= z4<>>o@97)nEF;&0_kxLeFPOlAU}hKy9CVlk1E+sS-rf;75X_fN1OspHDCTxQ!$?N% zjlh9mwzm_f@4-QbS#aX?J-Ep|oSq8UC4zyscf=eBW_!C;J$3pDn+*i>%#GTq?ZM<o z0;jLAS#l(S(-$)l3^;u;lMZV;HSaLs^hrjp1|V?y0u#Z2(<d3ZS~GC^0=JDGpJ(9o zl~hZPByjp!My{P<iPQJsw&=0iiPN{t``@yu4%@${UtrQ<iPJZ0&N6a6c>k0X^M2@O z8M(gfeTQWkxt1Bcy(4BK7<hXp%gD8BZap%6N-C+gp@+jjU?N!J^!=Jihb2zmGJ`w) z`^f2g=KTy4GZCz9^Sr}=)4vD5d*?=AA{cP`_r&Q7OpYXQ`eG)60jGaY?(_vFf`L1I zF%!Xn)4#t4PG4Xm7;ySxCV~N{ucX?&(-)Wsmi$Dn9r}sWH@8wMyDi#1+$}h9`W_qz z=E3cGGcP;nFweXfOnI^GGb~%+y<h_G1rvBLn7~9ZaHpST<eF0@a3Gim2ZDKUAeaTW z9+~>EEF;%56TyJfSJ{DJ<~%FrmK@2%>3iltFb@to%!7$wt?GG)0jHm3<l6QGPG8J{ zV3rx&=_{$W9ccH&@XT$m=HQ^iJTnoj5zjjeIQ=Xm*RB~jeK8ZkfYZ-1a_yRd)6X(; zJu?xkVdotNoPL&(YuB7OeGhJn9uI@W>04%Sr>}rrGQ+@~zL@udk&N6Mf%ik7WaJie zo4vy(5ts-Doc<$udq?1XhY3ss18?srFE%i)=12<M(Bpjuclu%`f+bGht~qh~9!vyF z-rn)dL@;otudrFtVZiB&xlxbX6F7Y_lNkn_{v&bv0u#Z&oxYffV6C;MKJ1a)=?hE* z15RJeL@?m=AIY7*z(g=`r!QtASi{ac3^@Hq@)NlNx0B%ppt;@=xGj1NPMp4FPMp36 z2OZ|YM6kr^8|Ew{*MkFF;lX>svW#5MyzemO#Rj&*GK05wNJj3Bz(I!@6Gt*~#oT&i zI>SgtZZQWPX4jlJeY?+z)3@Nn>3eXKdpJFnR2vB9nS&1VU~(i|)waVdbK>+pxKTT` zZHED;uXNr(Fv|>_zLIK#4)e@JFyQo6HW93~w(T&xW^kuZGIBKlfzu}$xnc%RpJe0~ zGwCqk^hrjp%5L2`?=ax>Nk(p!-A=}M047e~o~p#@doY<{;7(sLw?weS>6<l^jNBW6 z_kxj(++yAfCU84e!}cT@xhfkteS!BgjAZ0i*+j6`Bhwj1GICWmaQY-8x0s1wiPN{| zIeB}>gGq;hpU73fE)lF%J@2r@>080ToxTEg$qWNdpJe2!w}I0q8M(zw1OrZAd9lIu zj%^a)^hrjp1OrZ=WaNq&IQ=Xm*QyPizL?uakDURy(^pb0=`i5*Nk*>rIdS^to<!ib zXs5OXCr;mkn<<$yx980q9CVm3doNg)k!zT<j9d@i3zlW%dS)URxYH*Yxi<m_f|&uB zW#oErAeaTWLpAkb&*beLfr((roxWdlAee2>#OZr*lY2OZp2?lQ!21~{FcGY6^Sr}= z(^oogqjqZBCIL=g%z<E*8QkeV6Q?gQ5ezteF%!XBYtK6jIQ?hx_Kv`<?s0p9w|5ja zyEm>`My~B`;PkVMT+d88tYPOJ2Auvgd3#4-(qW0yw`wO&--Cmvqz9832JZ9~u-m$1 zcAjrZMs9)Ef)#izSb^6aR$wAn;`Gm(M9lj;{Q?ug_HXYLGZC!y$Z&><dH<e%fr(&y zr(euOu*B)x4%^@9tL)_M9nVaTWa9KKbKB;5hwYud1lv3P0u#aZPG8J>r(fW9pvRA! zz0)sdBG}&Pi@6ccJ8bXti@7!TSna*jFJ>~s_D)~S``^7&U?SN5PQRFmU=2I(u)Wh) z+56wUQ{Z+o#_gFn{qrj=F(*#ngM%67!9j<4a3Gimw=QvN8?f?X+h-2m3q~?>Z%IaO zfdj#etx(u(AeaXSf_ZSzVICZGm<JQV+LEU;EX&BXWdo-#W+E7H`Zv+<-mz;2PG8KV z!;(9FUpDEmR`tBYfYVn}ZKHP6)2<mfeUg!@0SKHv$;d5cA{cP`BqLX4w^=anFyQn_ zMsAhe>K?ZzaQX_HB~MA<^u<g%3^;u;lNr{q^9}<}pJe2!!+_HlxGj3zo{7`9qc{19 zTn{E4w!hPt+Tc!~WaQqGjNAh61rvBb!vx-Un8IfFGfd!SdxyO(FcA#g>5G{N)|Nb- zVI(709R{4fz@)=~(^uFm=`i5*Nk*>J22NjK(qZjf%sUJ?eZ|~1>hXC7PG8JKFyQn_ zMy{F!IDL|lTg*hTHVft*2An?0$km#G(<d3ZVg^p1WaJhzIg-HXi<xv-!_GSlIDL|l zE434+Z*G|dZi{x)(}EMH@4?NKIA-JYZ^3WblwiQ=3mgb$%FZ%!J$NrzmXYh3+w2`~ z70JlGRZ{KVhmnljV&2a%fr((i>646Htr@(%lV#-E4g*eK%;ZP{r?0SCawNf>zL-ge z0jIB+TXH0U(-(829*-g5^u<g%3^;v-&5{lSPG8KV!+_IQUM%S_;PgpGuBIn&`XnP) z%)sfBjND=-M-n)FF_R<Nuv4e6m|Jor!P`4xZYN_r028NgpU;WY_h2H}{&(-FJ%Q5~ zxOK@;ZIY3DEAU=0l95}?`wkPB2nL+K!e)tJ!0C&b2nL+Kl4|!)Ns^JPCINT)0u#Z2 z(^p<B5eztel94O5fzu}$xnge5_UThn;MSkx=?R=Z$;hoWlNkn_KFP>c*}&<OjND=- zg0)#N?=ax>6?5B~d)%JD>5G{N2An?0$kjdrr%y6+i<t=4u=5TBPG3p2q{D#I&oXk2 zS-+3o)AwL9^nue?*=>}J&oglP%8PBEA+x}H!35rSn816%1a8M_yk_9^Nk;B1$;d4* z5ezte<;9W?19$pjCLIQxewLAI#!!}#>%mR#ac_e=eU(i*4BY7}FP3x|aQY-8S4R@u z>646HF$1ShGIEQ#?bWzF!JWRC$<S}DJ@sJ<n<YmQIDIj<y2ok*r?0SCawNff`eG&> z2JZC5OggM#=N$%|KFP?{c?M2j;I`;-dxATCh0T&937o!|$&mz3UwN_ZGgMpPy<h_G zkEFnR!35rSn8Id>VBk)lWaQqGjNAef!CH?@XBf%IRoTGllZ@PACW3)G{YUclj=<zd z0;ex#B3P?>-eJJ$lZ;$732^!(BUjA8>647yVs3jie%t`3Pcm{<c6-{)I}A8|l95|w zx4Oq_1E;UNSn`wvPM>7tN-*H`Nk*=i+x(k%7;yR|Be%*X9R{5KBe~NTxS5ji!2nKQ z%tSEY^s|gybAc%EUNC|8LqE&N^<}qXHQeVcBiAwmr%y6+Z%IaOfr((PN2W83WaO%B z;PeIFA4!1&!ES&0ldHdf_u=a|@2)<-{qE)J=hccgDm!ud9^B*}_cn0)Dw_xfoWAm6 z_qIY{A{cmkN6bVp@b-@KVu@hjJ$*5^y&AVCaQY-8S4Xn#)O>~kr%y6+tL#?ySZ(0+ zNk*>922P)3<Q6j#4BY9Hj9irsoIc6OEoLGZaQX_HB{K{-eKC_62AsZ_16yIdr}ARk zXE+Q5-ajP;-U}x1zQY72f`L1Il978$GI9${1OrZAd9kF!z}q_{BUgd}r%y6+#hf^O zd!E62`eG(W5;%R5kt@Mk)l(lPaO=<U00d5-WaQSG$qWNdpJe2!Y~b`sMs6_^!P@Yg zcNlQ`BqLXA22P)3<cb;G>647yVs6u5e4c^R7c=RwhMjj9aQY-8S84;NpJn9Q2OV(w zugRUhz@)=~(-(8=l3{OW8M#L7EF;&0_kv{^xt^H_2An?0$h{>Qxdm<yt8tS6r>~^i zz0)Tdxmq*0(-)WsmfY#v_5@B}VY5x{@je5mpJn9wHIpOR2Fdg(sjyih7;ySx4m!;I z+f9~{Yr%=r_uxP<4{m$q+S7xHV2RVW%#GM~m<I=f*@FSz(<d3Znx5cJpJe2U8Qkd$ z9CVmf8#sM2lNr{qw!>`M!0D5WTx}I_`U1B_yJ2A044l5gX33ERPG8Jzl+4$>7VJ)W zvF$TsF7R5g0<Vu`f!Bf+m<YCa`eNR{y;EQ!*xu<EGZC!y$Z&><d4H#0U?SMw=@&B* zZ142Nym$HqCW7tn^oyAY)~cR&*xu=@?7h=3FqvWdJAE-HPXGK7Ti|w}$4`v?oqjPB z!4ju$*W8Hb9k##I*P8cEzrd~T@mB4fzL@uS`UNH(ws-o)Oa$9IeKEKBH}9~$(=X;W zKF3Y6clyQL7CmO(JAE<loqmCdV2RT|zcVQ2KrjQ&GIBjQIFcT`7c9%jHFKL}<ld2t z+yV!J*|LGt7xR9G2^@5oExRpwI>SgtuG9ujpJe0~GZ8Ft`u0>MPTzxrBk93Ghk0-y zm<6}0=N$%|KFP>clK`hrGIGTXoIc6OE#|gY!-u=TL5JBf1e`v}$km#G(<d3Z#Y_YP zPM>7ts%+r&Nk(ol6TyJfS6=M?##P|<j2)jU;PgpGuG9ujUwN@au*B(~$8M=?;PeG1 z9hNwKGXRwr+dji45qRHW0`G^uz<a?2ZpUi8W^kuZGIH-oMs9(LV8H1sY?gEwxYH*Y zxe^TA=?hFcEOGkwJSR@ygUOKuclsnFS6kJpo;rPjTYrv+0l3o_GdYsrPG5Pk<Vb=$ zeUg!@eFjdSWaNsu?bN)(fYT=#xm9+nd)(W=>646Hl?|Le$;d6{KrnORAaF4BEx2KA zhk0-?!#uc+PuC<K90+C~H^AvDFP6-(#Od3zfzu}$xoXeE>6@*}GIBk5-(gusu4fK9 z%!Avp8uoUUk!zWgJADt{AIU5u*E18rT94QnW=<8!$h{*Oxdje7%$FSqX2HPelZ;%g z8N9tiGIEQV2-eQUyu*OgCmFd~GjRGOBUjA8>647yVs3loMz1{>!0C&bbXc1O^9}<} zpJe1pZQ%4tMy{B_+dCv9x0p$XB~IVAXX5lNxOJ!PFmuaHGIAvtxYH*Yxy9TTJst+Y z=__ounUXm(=`e7oPcm}vlo#7R!!--M7fj&2U;?+<J1=|RVG5fif+bGh3<EI}!N8rq zn2BJmN9+u<YX*1vBqLV`12}zwiD1C#D{QvOJw6z~>646HsSTVy$;cHmaQXt1BMF>7 z$;j23fzub5bQo~@Sw^n8t;jNREx0{x><sf@A{cm2Uop3>?(r}HclyeUB~M9kr%y6+ zbubdAZ}&NI`WD<C81oKG-rn)d!3^`@pu;@4E!wrG1t(75gM%aK!9+0N^cAoh2xhF5 z@?zV^sqMjmU>+O@=D|USc`y+SIDL|ldq*;I3rqw9PM>7ts%+r&Nk(ol6TyJfCmFda z8#sM|$&mza?}(Wk$yT*}O4?xnoPL&(Yi{DQj9d>Uf&r&bGIG_PiPN`hPVV$Qm<ZNp z!Mwx3oxWmjTXT<}&%o)6nFt1)zQSgStpIoWVs0BfRy%R}b__MK=N*<fea}of4E#hc z$;j0tNu0i2Gq}?iGZ73peKEH#8MdeLV%uj9-XBSlk$XonatllZ15RIIvqUg(r%y6+ zB^Yq}%8Ml(2An?0$km#G(<d3ZVovV#&4ojjk?X<14D;aNDe1xFNVck{Pf3N%w*DLs zKyar|GIG@<;5~hkkt^opPT%fx;`Gh)S<FF)d2rBSw(Lf1JIsTF4)fsF+^#)6xYa!e z6TuRvZ_7@cz6TS*5~uH(iC_(DJIwYraQY-8SHl1}eSzDeU3=O!1E)_ia<yjQ^hri; zG4BN<8M${PBe%f8ku>{EGIEQV2nL+K!e)b^Z`TZ*ewLAI?!&T-TnlbXwlmCw8+tel zNJg%jBysw_?4ZLeIC1(OOaudW`XnP)YJ)p{l94NB;PeG1GYq`FBj%vP>?8qq`U;yR z9R{4fm;>YL*GvR!#CC>RW^kuZGIG`1;7(s)B3R<|tze1M_h51)6Q}Q)iC_&o?=ax> zNk*<Z3^;v(+oH!0ci{9DHcMt0aQb3yqh!A3y<p0VZJ!~tz=2@qTVR2MBk93`U>+O@ zX2FTm_uxP<Gf7BB?j6a<EpQ;1ExRpwI>Qt;+tB0oOn%Fz-KxatdvG9_1t(75g9E`l zm>kLE?H$id1Z!2>4ztXO)A!&;?b_3WgBfN|6>$2>izP!JIDL|lt1$$eKFP=xbK5D~ zVRoy4(<d3ZRd%b}wWlvTIFc3&oIc6O)tbTEI|38Iz}q{@izP=AIDL|lE46{s&oXk& zm6q~i1Hn8vcuLyd22NjPlMYMn^v#;Hj9d>61oPnFDQVOu8M$`?w_`ONfC`%pI?R?0 z?(|7UuGS3R(-)Ws)_P?6lq4CsT65y`?N%jD--C%@iPN{t;5~iC+>#@iIDKC>5v)}` z@36$_+p@u(ewLBznTcS)=|7V@eSzCvjYltV`eG)6wa4?k!xE=&z8zFjEfEYjeUg!@ z(F>eD$;d5cA{cP`BqLX4x9*&G7;yR|Be%+KCu4k`!JWRsW{D32clu%uI?SHu#OZr* z>k_B-Irv_AvF$SlHy1YtuLY~JgAVg+CW0kS-!dmo--C%@d#5k8_fB8n)+56iR^Wzq z9d_=93LFUL!9j<4aL{2Eym$Iq^WNzfm<YCa`o&BHYgNxXZ140{_TK3im~`0wPG8J> zr(a-lB==6gm;=GiFO~`%beIJ<V%uRJOa$9IeXTih`o3%;SmN|8^ZxA}t$FYC3*0t( z{J7cQ>5I9EZ9B|9G4@WsnA`XquX*qEi@7a&%)EE{V%|Ib0u#X!r*HQ;xzjh`EF;&0 z_cKh)d%;LX?mfxK6*zJFR<OkBdoU3UIDL|lE5TZiOlO$D4LuwN0u#aZclx#F{S3Q_ zej?X4N#gX)_mW}`1oPniQ&P-CuvWG0Fk5!w^gXyyyY}?pKrjy`f&r&bGIDh=fYT=# zxy4KbYdd8-%pS?)PTzxr4)fqvw`)%i4g|C9nK*q94u-x52ZDKUAeaXe!5Y?fm}O3! zz6TS*5~uH(+oD~2T5#g@JvitvdoY00CmFe#VZiAtFSdQ0+GfoH?*$V$=rGS597zuj zI?RHB(<d3Z_aq~?z(g=`r%y6+Rd(X^&E1f|L5F#8AeaY}4g+`k3Y!g%q%Avf`W{RK zOPs!CZrg01lJ-0&PTzwY^>})MJADQ0k`4n-UtzOBhgrdZ(<d3Znk2yKlZ;$31E)_i za*H`Ql6I^1Kanfu#OYgRaHmf)a;t127`W5FC3pG)lOqZ4^u<gB19$o)BUk$j?(_vF zLm%AfXBoNXRAm{t9=z|cEF;%5?>kJ)`=?}<k!#Baclu)9cUYE@>&qsBwH}%JFp`mb zPcm`~OgaqQ=_@aG|IN3+O>XBs%~glMq{EW8cRX{@VHVt~wjJidM6l%T9nTzem<JQV zfYT=#xjI$A=?fePW@i|1`pSzXM-n)Fl94O5fzu}$xnc%RpJe0~bDIWk0NN%2PG8Ky zk+jSWYiF1T2Q$oriD1C#lZ;&Lb8@F|?uN3ATn{FK0jHm3<eIXxj9d>6I?RIu!92Ll z-r;%Hn%l7&gTbA?!e#@(%#kD+x%UDS!N8rq@?!T-Nr4-Byj97azEvAIeUg!@tpZM; zWaJiea3rl@iPQIBawJ>T)2AfK$dzD;)3<8|clsnFS7igIPcm|gx$V{XJOihnW#rne zYQuBhVZiAt=9UNsoW7XJkpxa(Nws9?1E-&5<k}_yPXC_V=?hE*19$pjZYN`Wp23~I z@?wdt0C)OgCPy-H`sR8k%g8n0EF;&0gAViHKrjyuI?RKE8D_zW)A!&&Ff&O=M(#by z$SrUnm@T_4dHR$j8M!JOIDL|lTg*f-;PgpGuF3{ZU*O<K+9pZf-m%~|Nah^|-rmVF za(&rEF!1({l4|!)Ns^JP4g*eK;6N~QHzaUyBrUiR&pQk_{VXHbm)+`iKFouOV2RVW z%)sd@=C(}(w`O}J!JWRC1HmkF!_GSlIDIA662XAeCmFe#B*5tl+)T;1Nr2NAb8sYW zlYsa1Nk;Cyz<a?2-glV5d%*;5$7;CG%8T7UB}qoE)CO<w2uuV6PM>7tYR%wIUtrQ< z;7*@p<Z8`{(>LEsl8oG9CV~N{FXrG#+BLVT?Nic&gBj+*joM8T4<<(vIDL|lt0n>O z=?fePW*&4TBe%*9I?OV+ow6O~!9j<4FcB=d)3@yj?(`qY+dBdWg4wbYr|-dSqsQkt zar&0Ib*Jqx4<>>oPTw;V!N8rq@?wb(15Tf0<Z287r%y6+@0AzZKCZXT7!o+>Fc03( zFp`m5Yi`GCyk_9^Nk*>922MZA$hBJqoW8<lgAOy-I|4Vf+bRzZI?RKE8D<3oclyeU zC4wdI>Dx6YPTzwA!9188$+pe*DQUL~-072yT%Bj|_72I&6*IWgCmFfL-1f?yXS-F& zoxTT?4r{GF?=WzuPcm|)cH;D{V8H1=5vMP3F!XKNiPQJsw$bDEOq{-DZrwTWFmR_& zGIG^n;7*@p<cb+MeUgz|%w&cEr!VH#CByb48M*gaMy~1YEF;&0_eWC9L@?m=6*jw{ zVI(70TLtd)Nk*=i+mfd<jAY~%^ZrN*OgaoW{nwGxw+AC}`W{RKOYZc|-H_HC97zjq zRof2p;MSjRdU|l9c3`VEaQd&w@7^I9xjI$gPG4Xm7;yR|BUfu~v%q$k-DlwRNk(p! z-Rd5<Cvf@-n+<L&tYE<DlZ;#m2HxHgIGAB}%?&&6FyQn_My>=)oW8l<AsM-122Nk# zVCdVeN}Rr3bK>+pxOIs;&jw5~a_<G+3nuV>=nK4`VFCw&nSCZ1xe^RGeSwK!!0D5W zT&=nF$aIF0jND=-f&r&5X3}BFoxW{P;PgpGuGCJPzAu{y*0y=xVc<?*F}ID{jb6KE z;Pk~z1Os>aBqLW%0-V0UWaxvpca#^qH?9J=2{>*N@DsUWZgtO@NrwTaPcm}VVc<?* zU?LcB`XnP)YX(lAWaJhz5e&S&Lo#wzcH;ES^$y9%EoLIv{!agaWaJh&m|^FF6*zcG zdT=0^2d`(C%HH4U7dQ~?+!+)&5X^%E!917<)|Nc<VOn$Y_Kq!k@AQkA2)1|nV%|Ib z0ynv55BCC-4%<8ZVkRBds-Ab)-s!9Cz0)r+>9D=i7xUif7dYs!^NXbdx4jy-=iccT zGwHClQ?|qGniHq*!GT~N-0B{yy}#3!+Iy#8;Go0o(BC`#VkUy^oxYe`ciIlKYu-Ek zVh%dYGZVq~PG4p3@AL~yIxM-<w}S1RewE$2WO$xQM(%^ad%*<WcbLHY4ilIN2Asaa zW{F_H>5G{Nwtr7wP12S;ona&+x0p$X0jHm3<eG0pNk*>L44i(Jk!xm{z(I%kHIpOR zwt3!R!0F!*r!R0Im{l7%edWcjuc*~wiPN`b1E)_ia;t38VQr`89hNwKD_C-;Z%@_! zPG5onr+-77zQFB~;S7ykGjRH1ZW}#kCLPwW^9}<}|Ashyfdj#8Zv&^VyjU{BfYTRq zd)~Mvv1<lSpJe1dkc`{{2S?JZnPlV^^S;9bZpUi4RSKKkcNodY)tZ6R&oXk&-H^b6 zU>4kZWIDsLj9lAciPQIG2OZ|YM6l#e-!cQIuYleC3==pI%x)F9(^p<BIg-HXi@8yc zCkb%+BqLXo1UP+?kz33}FmR_&GICXRYwh_A15Tf0<W||O?s0npr%y6+Rd(X^?IZzC zpJe1#*}>4aWjE}+!+_IQ%q=;R!0C&*EqdIZiPJaV4w8&q?K5!t0+S;N?(|7U?t{S1 z#SOQLWaJj}UNC|89Y!*8RW`WOCmFfLOax1uzL{YPo89{`l98)5Cr;m&O#}mP?~sgK ztr<A|EF;%UPk{r$JUBR#7Tg|H)2HO!HE{X@H|p^K1WsSffnc_`fzu}$xoS_~^hri; zF%!XBYtK6jIDL|lt2G0sPcm}F4Bp-$8M(zwj%0GDZ%-9)`pSz9o|5KzN8t91bz{hb z1HnAFoealp1p`i>WaO$zk~@97=EUiHa3Gimw=Nl~on_>jtr9rsFb@to%!32LJeUXu z?(|7U?gPolEie%bIDL|ltFpm+`T~;<18?t;j9jfbxzo434V*s7$gQ$Thk-kN<;4b1 zNh=s|`dLP<`36N`A{cP`BqLY*4Bp-$8M(zw1OrZAd9kF!fYT=#xe^RGeUgzYX5jQm zMs6{;X)ty}!0C&b*ouaoelJNfawQnJ(<d3Z#oQL{w#rV=<WAoX{lw{eFzGOGr%y6+ zA4o=Sfdi*+wo2eYFb{6C*ENaRDlrEgX2HPeD{M9p%rggqc`y+SIDO^C?w^tZH}rU) zfzu}$xjGo&PG4cOL@?m=Nk*>L44l5e<Vd!2F?~uZ=9Y9AxYHMNa3sz3j=+In77Xt6 zNk*=k1l;M9jND=-g0-Ep9cI-APCv`YwL>2`eK7}uS!Uq$6*fzbByjp-ZW}#*+yJMq zyjU{ylRJI8Rlw=1Y$90V^ljO|>646HO_JnJ-<M4U18?srFSdP#y)E$mNDAB@&~xU! zU?d~=fn?+sm<R^m(<d3ZRd$<0<E?5-wogfOFtUtX^X(wX$km#`oqm>)Ys*fYz6UqC z-Bx)pIg-HXXBoM+Nm|wO4g*gAk-WVlFqvVA)3<^Fr%y6+b*g~VCmFfLOlDZysd<Mb zPTwBM<R^0NJ||A!GZVpp(<d3Z+GpVO1#TNXo}R$zKN6=ea4__3lK`hL=0GsdOgaoW zeTB^u!GO~z8M*3h;PgpG?gPolEpU54yHjPFMBsgg3B2zxh0O-v8ky^zEF;&01Hn9) z2nL)!$;efcBzO9D&B>j<2M2<AFzK+w>Dz+=?(~(;8+4dw4g~XHB3P?>>cbQ^yC3=_ zBUil*oIc6O6*F-9BqO(&+g^=_K6raa%%sCwYtK6@ar*XP0H;qfa<x_9PM>7tiW%JL z3rspJar$<vfYVoAY+x%aGjRGOBUf7moIc6O6*F-9BqO(&Nr!>AcSuI=1IfrO@ct=D zGIEQ#&EDY?L*RC-#^A*1n<Ggwa<yh~r%y6+i<t=4dSv>PBpJCXJ8}AUtH7PUn2BJC z(>FJ93Y%?myWaNTV1{`xIg;S*9p%ODpOOLxg4rekZ|{hi2nO!-Nk*<t6?jjdWaJhz z5eztel98*jfzu}$xy4Kb15Tf0<f?4o^aXCyzzslqo)f2Uu6MGGTnlawjQLX%IDL|l ztF20$zF%`&wA(5RPMp36lc5iszS4Qgkpy@8%8P9ur?xp50`CPAcz+}X-U}vh&|!AX z!0D5W+y|18TVNs>aQY-8S7j%6`gW^;(-$)l3^;v-&5|RTIDIP^xYH*Yx!Pyo^pzJ& z1OrZ=WaMhi!0D5WTrnqi`sO=2l95}?ZLh|U8{qWCOoo1&1ydhJGIAvtxYH*Yxy4Kb z18?t;j9irsoIc6OEoLHE!_GSlIDL|lt2HN1-#%`@d-^0JS7j$}@7MvDIDHRpqr?qB z4{lvD13!|C+ybwieu39RzrcZD=N(qyKrjp5JAE<l-_tKJ5p3`Di<t=4dSp1m#JqR< z1tx;+oqjPB!S+sH%zLL_U?SN5J^f-Pg0-sW9hNx#^SdFHo!serFqvWdJAIX%IDI<+ zlRJI8=EUiHa3GimlMZXd^A6kJ>1(U@PQSpdZs!c_KJT5rnD<V<!0nMSE_?6vi<t<v zclu&(-8t{Dz0)t|Ha^E{@11@zw?&VclRJIe+lkZnU?SN5PG5rU@AMy)7u!BVwFTZE zNrCr*3A{g&0`EIaVY5Uq;Pk~z1WTO$`S+4)lEmp-aO)8}!#ud5$L*Ooea{?pm<I<P zX2HPelZ;&LGjRG@My{Ej0tbRwa61>a!#tRDSmN|ObI@TPOauc?pJe2!!xE=&*Sx>e zFXlindnDUV*$(qy(qW0y_sp$sH$6R=2$nc~%M6^pVs6_saBH?52AsZ_1HmkF!`cq> zVA5g0>646H9ZBHyNk*=ifzu}$xy2kDNxRR$=_@a`eTD}^;C+V)yg!lx2ZEXF9f8}i za%;BW#OZr55eztel9BsJGI9lOOSUu23I^`<#Y{R3-06!s=rD7h6*fzbB)HQj8M)eL zaHlUY5v*;q?J%o$a;NXXjoM8T4-RIS2NS`7(<d3ZY7*e|1tx+ePT#8Ci02&!?(|7U zuG9v1`T~;<OPsz{8#sL>)siC#oIc6O)mAmJ=N$&_^hri;mEBIpcmM*YudrG2lmt$n zWaLUP;PeG<T{2W#d9m#?2R9ct2k(z0$;f>q8My){PT$Nhl95}?M6l#e-<M4~to6ur zhLMb12?m_Lz`+bNw^9NJf?06l^gX!A?T(}elMVw;Uje&;V75J5)$<MmPM>7tsy+Ab z=@*y?2An?0$W__E>647yVkUyMSupP~;PgpGuGS2kKFP=xGjRG@My|OV$})02xNWqX zo^}j@JN+yp*D@zg->x~i)A!&&Fb^h25;*-VBiE{(yr=KMfnXlI7mQ@&K9Y>w0=EbB z@Kg!B7ffIx7;yR|BUgd}r%y6+i<t=4tmpJ8NiuR(HgNg^lMYLqzB$h%BUft%clsnF zx0s1w!0D5WT$K%+ewLAI_c?L;=9@AxlOqY7KFP?H+Q8|PjND=-g0<G3&oJQhNk*>L z44gj6$Q3hi`XnQ_n2D_bclsnFS7o>EoOf8_^z9f*oW2LQlQA}N$(_C(fQi%h;ATo( z*&ZBpm<I=fd2s6zSGL)zEF;&01Hn8v5X^%E!917<2An?0$bA%;2nO!-#Y_ZiJu;nP zBqLXX0jEzga*LS=mfY#v-Ud#eWaMhi!0Bfhx#n(2d9lI2OL}nY&++sG@9C3_T&bNn zeY@tw>3c8{3^@HPBi9}b;PjOj8+4du22P)3<f=)4(<d3ZVg^p1WaJien+D_a44l50 z$<S}u`BM@&eZ|}o!NA))Vs48bZ&l*-?U4j;?~sgKwI_IcN8r6+BqR5cWaJij-(do` z**k0!fr((i>1P?a<~urpiD1C#XBoM+>}Cw6GmK>9s>6WOCmFfLOgaoWeTB_7xyJ_s z{6wyp$&mzi`U;!f`!IotV8H2<j9hhC;`GgfPI<9Ju;h2|c;>cO<MvG6)3;+NarzeA zT6;dj5~uH(iC~G-_snF50jHm3<k}7cPCv`Y^~^-DhMjj9aQce5B^?HwzL?vh$HM?P zeUg!@(F@+*AsM;FycbM)vF$TdTj1a+Y3_yu4m!+(+w65^doU3UIDL|l`zSCGEOGi) zFmR`zW#pRanPud9a3Gim2OZ|Yq{D#ISIlj2ByHKi>5G{N2Asa~V#y2xPM>7t>O3cJ z@7S#ZPM>7ts%+r&Nk(ollMYLqzE!&sPkoreX33FEe)o<qyVdQUk{(QE7;yR|BUeoV zoW8(BFmR_&GIF(M;PeG<<8$03!0D5WT&)>6eUgz|%tSD7r%y6+AC(u|KEr($ct67g z-U}x1{zwYEpJB?2C4zz9vPm*>wa<yuH$$If<chiV$n+_hW#pP$sVpPcgM$w9;Gn}S z7&!ebBiHUTaQb2n1oO;+U>4j4$-KjW(^t%GqaIIB;Pk~z1Os>aBqLYD0KC0JGIEQV z2-aGA-eJJ$lZ;%gIl0rfrz-i~JLYaE%gFWM_Q)8YD&X{0cH8JVbI@US%?)ci%!32L zJebTd;Pe%++ZH`m8#sL>)dqsug8`gA$;j1t26y_(i*28w+5+zd6L{ZY0`HHc!21qU z*enqYIDL|l`$#f!3rqxSJz{5=IaMShS7n2@cSuHVF%!Xn(^uGRlY4xgfzu}$xe^TA z>646HF(*#nd{ZVcnPI@`lZ;%g8905Ckz33}FmR_&GICXRd)mxr7;yR|Be%+Kb&rQZ z;`Hs@26y@-BUft%PM>7t7Bd<84Lk2JaHpST<k|t4IDHRpi+1g4!HLuN;NU6g!DNPk zJAFm_27;X*$tUH-wvSWWg9E`lcr93!y`EtOCW7sqzL@t;zraMW{hfX>6Tw=K3}={_ z_rFiSz(lb9@7^h9BG}&Pi+S(#3mgb`em7KLawPXoU(BuQd50xV->x}v`W_qz=E0=H z_D)}F@88}jaNDc#<7V&li<t=4c52>Xd#A6m_iyhMxYa#Yd++qcym$HqZjX#{*?Xs7 z%tWxg(-(8=&UuIJoqjQsBbhjT>j3w6`YJnd`j&Zrr(euOu)WhS=GG;{gQ2|G_L+nC zN0MaZK9P*v0tbSfe@7>9;`BY32nL+K$_{3jFPjL~mTYI3Wd=_FhB$qJ1HsHB5jYUc zf`QW~8M*51#OeF8iD1C#-w>xSaO+Pu0Bw6FPTvZ)zth)NC2#N8vJ<E8!9=jc>3im& z!#p@Rk`~;E=QAvE`kpzk6&~E`cD-%e6F7b4#S&WqoIc6O)u{qbpJe2Uxpk-QFuPU2 z>5Dn&Fwaan3^;v~kt?-<(<d3Z#Y_ZCoW8jmQeJHPxMASI!O-{MeTQWkxu!iyM(&gH zVu@hMoxT+eIQ=Xm*9r#i^s|gy%M6@8$;j0{1E)_ia>WdszQDnev}yyVPcm|A&Fx9& z#*i($4U*|o@-}k%p1D!a%ia%tl}!XooW5N%xYH*YxoQ${r!O!OtnJji!xE=&)dqL^ zBqLX91E;UN*x)H?*9@FK$;j23fzu}$xngeJIqxvw^hri;mEBIpcmM*YPcm{<HgNg^ zlc5isKFP>^A{n^_-rEX+_ksz$?=XSeu^P4~$;g#piPJX&kYwZ*GZ8Ft`sQLud9lIJ z_uz(hTjjw)hj}m&4BY7}FE$X&HVJV0Vh#lJ%tSEY^pzJ&1WWGp?V7=zKFP?{c?M2j zd9g$=;PgpGuGS2kKFP=xb8GFX4-+_;VYb5(r*H0tvW(pSySuYl)if!B@Lup9`W6(K zKF6)P^CkvtMHqk3S?JyS<SrK-5LwU8vl1l8s;H=Z<4bBfGT3}2h0`|~xg1sVdMEC= zarzlt5Ej7;dsmon`lR!&_L)AhQJ%u-Q+aLrTv@!{F&ViiOgMeOtCigM{7x8ovFq<x z8Sr}#1N^Qq!0&_sHiR`Z{ctf%M($UWkvm{RSmX5Lo|i_hJ<Md}vS;y5-(=)YWuq|R z^i4)C%N9=GWaLieg0S$T%w*(JSvY-@kvo;ml@v~&yjauph0`|~xez9tzRAd?@;a$| z4--z`WaQ4W*SgOicQMm98M!Q5%=Ar0?o>8}iFf*4Ms93?jnmKI!iQyWL0ATxrZ1fS zZ_G>|a6wpfL&E7(xgac5HW|5J0WTMK>?DBS2?JaxEbrM6CY-*>$c1h3dIzu}OgMe= zV&82A;DtUbOgMd$k;_pDr%zsNL0Fg#0XBpQr*ATHA*^xwanGxfL?4#H1z{PyN}uH^ zoPL*)8ylc-`XtpBgyqVHFyZuBwrTpSc}9iBJqxFAGIF_9!s(lgTq=v1zRAd)%0^+r z>6?sPmc7(@S6Jipqddh-pJlI`ac+QOrcYjM@s*5w7O!_qMlR<poW9A({YqZ!`a2#K z;P<8v`29)(E)*7iO9Eck>bz&+^t+7QAWxH#%Q*|D-(}>+WiO3fdsvr|n=2cIiFf)Y zBbTFUoPON1aQaj>go%H9hsx$ku2tU^CT991)vnU#P9mJX$;d@vjnj|aQ#gGp7lh@? zrs+3MKUQ9aqrx(Hb-=Son%6tA83?EUgL$V<*sQS?Vx~{!LSd0G;q<9&df387g~eqH zr*ATH=_JDGn~Yp43#Sj*T*+ppA7(>cMs5Z#l^i>X$;ka`GI9r8T*<I!z^nJBJ!f!1 zSOg2F-(}>6``l&ZW^h4R1{Z`y@VZpj9%eFfQJ9$N12%+-nLc5&?_WuikqcqM>6?t) zscaOs8p&N@!s(lgT=p!SK43#w<MiWw7Ea$}<U*L3=>s-|tzK|fn3(Aku)D;aK6LS@ zgwv<8Axt=ZlaY%^gwr<}xl`E?wy<}F38!x|a@n(R`X(cn%EIZJjNGYguB4dhn~dDA z<i)PPV<!Q;T-+V}PMFEaojtE>bzZh``h?9EgoW8qmyw&n>tmJnoWTWQ5xlk>dsqf9 zbXs=!&~+KP8C(#S!3ALvES$c{$mL=Pr*ATHr?MezHIk^X$hL6$CL@<U3#V@~a;Yqw zK45bto0)z*D&h1^MlOV{UJw-)W<!7r!ZLV?``iG9(`VVmm5j@7oPGuy!WyTaE3bn- zvn`xHd9lWa38znGqcGw0O-3$PQaF8+kvo+QVZ!N~jNGr}#jd}jwgDGcGW2c0?}Pz< zzmkC0wL0%vIDNuq4PoM)zRAc%B;uVud9g-e;+?+9$YsxBrf)KGsVtnn$;h3`=1Pj! zJ0>HSWv^979~Rq?aQY@Acb08>n3(CCj9iv2oW9A(oyvwVG1E60xh%VJ`ca-@rf)KG zXW8Z}**N{UXYqQ+WaP5v=JigPN_82z5xmHbJuHLQH#QlX3|{T?4mMX(ywfKy*4PU1 zdWXsdVNu({>6?t)50jBQ;6h>F-}8W<2^;XU!UnvqRnm4`_Pf)k^1IU?up#XIo&Hod zge{H49v0btcls>5dA;-f@y>t?g=MfI?A__J?Du#211=O6_uM%B3@!+Z;I-<z!rq-e zguTDhA8?_tcro6cK9%2R`U74U`rJL=XZlmw5ccl$sk{o`7547*r}7f_neF$P{!}im zWR&N-)2H&g(;u)Qta18z&xWvty({c}rVnB7GyMUtn{k%syVIxgyVD=A>0$3qe<~Zo z-v8~L50jBQ;DWI4|CSu^`;`RzP8i^It&Z|E8M*9PIDNo|FyZv6YzSK#x%M!^W*7Q= zRE^UQecNQ@a?bDX^Z^T}Z!&VHvQb#$^dsBvuXkAXTJ>FFjnj`kta17oT=cLEHdnH7 z`mu83^fP#!Rl3g^YzPxh|5wK812#QOIDIM?gvBc<oW9A(<vt6i54ccR+_P}{CL@<U zuj_p8VZ!N~jNDnaQCQ>j!+595$j#v5N@lQ8m~i^+d8s6I&#-Khk^2GooiM-!VR_l_ z3hOd*Lo?_yax=IfEQ1TeGT0C%oW9A(MPb6}12%*;GyTZ6aQY@A7sA9$AFv@zIDM0m z%bwS&uU|=%kvo-F>C}3oNW@IvWaP5!#_7jpH%>o;4Pj!YZ!&TrY&Flj!i3YOvLQ@3 zeUp(3VPd8a*nB00(>EEpv**Hx#f!19cZCV3Z!&V(vvB%=*QU?iQ_S>DMlO36Gkw6T zmE8CIP8fNy>+e_@@cWen{NBR=zY_+yAS?`)x{TZmE(puug0KuWgbAnLW#oni2)H0D zgA2kk*bpY1zRAe_0Bi^oPM^w#Ffr3N8MzSF%=Dv3gwr<}xwGt|hs9+Jr%%|dQCRbO zCyaNxjNA-1ge_@beVEC}<(wO*ANSli{R}P$i(ujOyNukZZQ=B(ybk*8hJ@26FV^@l z;q*;LF7gyk-(=)cSvY-@kvo-*tq@M1%1b3jd6E~q{_f!Srf)KGKTJmMfDK{doxaJ) zW!d8Oj>*WK%7(C|k?U8|WaP4JG1E60xl`E?*1X;czvxUxF3T29-(=)YWkcBNymy5O zr*ATH*|V7G12%*Sr%%}Iy3pq@M&tB@i8C3wuq|Hin2cO1H#7ZspBtwi32U5w1{;M5 zr{87dM#37WpTULG&)|Zv2wvFO!!p=hN%2mfXy1acs4y|pCok3*SMg5YWaQEegwr<} zxgRDYcfjuoGa0#4`CVav*R?u+s|cHYSD4AjWzWLtn~dD4YzSK#i9IaLhPsU03|<!S ze9q$aj>*V{?Z)ZHJvTG`3@!-EU~?sf(<d+1TuI^dsk};`6(*d%$;d@v!s(lg+^K8` z6R&qnMlQ=<(vCeW7#hH<1D-`9oW9A(ojseTFPy%~$Yt4$(~n0bX8I;0mt`-q?+Oz$ zeJYzPDV#o)*QU=GLpXiHX3dopGkuehi%7&wpS;-hcVrvzJ7Iv|6$W_q-n8uS6BzKj z!pMs?go*zm*JR{=n2g*38^V@Gu070T<g#or(+6BAEPOFcMlQ>4oPMm_IQ<MZSF(A% z6R%|B^doq!`mV6X>F3I;bZSG9?Z)Zn%Egt8VBz$Mxm_1J?KxLAgbAn5vJ1lEQLSEZ zSD0}6B-I+i#7y60<kG{0(+6BAEFP6``cz&AowS`R8-*?GU17rMcNw{1ywhdmX7Ji{ zVmpF`(>EEpXuEOxdD(@+GWeaaE+aQo?lN-2#pp6}Gq@lugA2kUSU7!?k^5mXatCY( z6HcG7+4rADCL@<U3#V@~a;LIUm~i?gBbQ~1*E=R7cPbmgmKnN!B?+5d`b?jj*bKx> z-(=)Mn0UQIUaYy2jnj{WiJ891$b~TB^vR1Y2n)Y%02_q~r%&az?z6VVOrN~ig0LtO z;q*;LE+P?5-(=)cdG)`04--z`WaQ4Wjl#rC-(=*nY%$X}8M#y05GH2&CL{O5WaJKb zeV|ht3f&WML0AT_Yjv*NIQ>{z%=EjA+|WG%7ldVSL0AN@@7%SA5p%oH>8Nt$LSY$f z2op}9yx8}zBw$0BaQY@Amu4WGK6$Z*FyZt~MlO49X8KW{!s&MzxnaE1W#ne?I;(V_ zGuT{7;q*;LF6Z1h{kZ4G>1VJZOgQ}y<MaWW9wuh`R5pZ(|0369<f1U)^i4+YR5pYO zr*ATHS+;QcCL?z$8^VOsCogvWrPdohH-O)-B;cay=gRMdnT*^I@?s5P!s%1l5GI_y z$;gGUrID-C2fWZ{d5W37$;h2OzyCBc8M#yzPTyqYPGxf?h0`|~xhz{aeUp(pl?`FS z>6?sPmMv!bCL?z$8^Ri=A0{*=BbQ}2PCtI=8mFJZhOoxzN5Yz!eg+p!KZA>}WCk0; zgwy{tGkw4XVNoRFoj#QfVZ!N~j9jjyaQY@AcPbmg-kts@d9my7W~B!FtgrzWSMvMv z9Pl$?1Ag{lfZv_|fDK{qPJb#FgnfTDG~j};2wq!0I(;g?JN*G0g*ET=^PUZ1?=yY& z{O<GzYzTXI`ct_eEH;C+>bt_;oj%Kcf4wu{;!5T{8^YdS@38E5r$69zR_D*nyVIY_ zhOl)~cZIz>eU|<1^as4weP+9H`ca;Z)6d}b$v7|jeWnj#?=$@Y8-*?GU19G|pJl&0 z{Q(<=y*qs>zrWKTuu)j^PCsh<-RaM=mr9NogS^=FcL%={)@9^=|Ht>I$;chBAxt=Z zlab4^h0_Q8ekDytF3VmTx%M!Vkvo;&Z3SRM*!xVMWecZoGIFP~A*^xw@jeTu-(}>+ z%EIYWxgac8E)<r*riTfq|10D40T+aYuO#4tunabYt-|*nCY(Mow}vp`^r>tJ6Heb` z<kG{0(+9i``s{{;)9*5J!(a*U`o^YZXK<mg3^s%br*ATH5lQ3p<DMI*pTPxT8T@`F zyNuk>J-dwD3@#Lw!3AL%YzPxhpMc%sO2%air%z==SToa)%U)Z)ekDyt?x)Gf9k3xx zIDM0m%d*8x-(=)YWkZ;7`X(cnWecZoGIFP~A?*G24wZ$|2fQwHvK6rz2&Yfwg0S$@ z$YkU~*eZPQVZ!N~jNDoFTKD;=gwr<}xh(tro&JE0tq@M%WaP5!Wl8P|Yn*<(l47QB zGID3nYtv_WikZI2$Yt4$(~oS6nLd@@2_r9d{Ux?T_XJ!t{R}RyWCj;KEQ1YU!s!#R zTM!mR0=OV7gA2kk*buh1eC=T-Bli=qAxt=ZDjUMYOy6YWLYSE8n~dD4YzSM&d{>xo z`Xtq^(y4pKTh%!IFy84hawAwceUp*PISZ$6GIFPKp|D8UYMxPH8N52+StMenPr&Y4 z_q}pKSk$(d>6?sP&RIBplaV`>4Pgr#6&BeRPTyqYvS;yn$7JMESvY-@kvo-5(-%(P zWaNIDjNAdg_b|ZkgaLl<VSv}QIyOM^VvC<f;YtEFgbAl_GIBX*G1Dh6wjeD0C<DCE z=c5u%-(=)Mm~i^!#TJA`g^8KI$;f5TVy160a;dx;$@MD<*eFameUp(pdp12xIDM0m z%d&;jHyOE8*$}qAHg|=InLYu#OWdge#_riT{R}P$i{QrTXK-;PGq@luc26<WC)&3l zELL9FyTXLiC+5}=CY(N%*QS%UBVoen6E<5YELS#!38!x|azDw7U4KWm0lyOl_?<Ao ztM}fQ{jM<bVhv%9(+{(uE+aRC4PnCRlNW0UYn*=EbK~?gxF9TpjlzV}Ct!EceZClC zrcdR9u+TjL8^Ts2xqc-Hn>B<9r%z==m~i?gBbP6Rc)epXa;LH(OgMd$k;}4$(+9l7 zeZJ3)(~nnDyxt)%)--+bddFnsa#X_Un~Yp4ul{%MVZ!N~jNDmvaV5i#vMwVxf*Yrw z!KUdqGyPoI5Z1ij36;r<U4N;QWbiv-CL{N=%g7Bq%w*(JSvY;bhA=VHHyOFJ=hcUj zNFv*7%hw*(W#mSAHcme;ySS1WTo4wQ-8lUWUUa9U%HYCQWN<-P1{=cGs-wbU<;Lk} z@G70yjv^6G{|7VECoi^W`f=I9=~LMdCY-*>$fW@;X-9=c!i3W|8M(9UweGV#h0`|~ zxhz{aeZWRxjnfa~9V!<+EP@v{DlCJGrXS@gX8I;0mve4r`f<;V)6d|7unaZ|6El6% zd6!C#_qof+4I(iaxt}H@cfjvG46q?gIDM0m%btbPHyOE8*$}oaRqSC=Va-fGgWs>D z$;gE;@p^~6*moZWc+q`s24bdfGIAkI%=F2NHH0-zKPpVj^i4)Cgo&BH$;hR$aQcAP zS)Ju6oW9A(WzXwtbMIlo=~LMdCY(N%P16@MeZpo<4--z`WaJ`}#_7jSvdF$GOw9C6 zMlO49X8L*0Yt!du&^Y~AS-jpc8MzSFIQ=kK0$dOlz+Fae1{YT{gWr2tmysLJ8E`>Z z1PiB6Qf)z4u51Vs|Mm{cHiWG$UwfFz$o&Lt2owKBE|m>o!s(lgTnH0R-(=)YWkc9H z=DWfgrys^UT}EyOFaLP_&{5eCCT993BbRe-oPH#%arzl-2wNw0SD0}61ne$xpG6{^ zK9vn&!s(lgTofjpzRAd)%7(Coy(>&OeUp*Po`ur~yf%H-ws86;BbPlluXmz}Yn*-t zzY}IMaz9N*?ttHW7~s`=k0JqV2op}9u-RpM&&w7weJU4(g&$=mBbRetTfX)%laV`> zjlzV}HyODsTR44_kvo+QVd9-WmCco0tG+9&ar&Y4nv7i77O!^z8^VOsHyOF?xpDfD z?Z)Y6a6wpXfU9{%g=O&SfT`(c@DleOyw-gO7lcK&h135uGkw4XVR_jFVHs=)TiB?u zSXnrIVr~s#!s%0aZ92&_?pZi}laWgg6Heb`<WA*R!stNNJN;q%cR&5(-+%r4U%vd~ z&tJa%=jU(#`umSRefjyn|NQprFTeleAO8>j|3Ccn<3IoX?N48R{_EeqefjO^?$<x? OFCXAQ=70b47ykpIxisAX literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.log b/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp12_wdir000_s0000.log new file mode 100644 index 0000000000000000000000000000000000000000..105ce95c9d7c2066f1bd433483529686b45767aa GIT binary patch literal 618327 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ÐCz<a@z7u!BVwFTaHn85ojDR7&; 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 literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.log b/wetb/hawc2/tests/test_files/logfiles/model/logfiles/dlc14_iec61400-1ed3/dlc14_wsp14_wdir000_s0000.log new file mode 100644 index 0000000000000000000000000000000000000000..c5e6645fe7593fc306007da29364766327341f46 GIT binary patch literal 618327 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 YUtiw+`8nn9pXnhVKK-w<fBVgU0ooo#_W%F@ literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/simulating.log b/wetb/hawc2/tests/test_files/logfiles/simulating.log new file mode 100644 index 0000000000000000000000000000000000000000..cda9b7505950e535b3bdd47828c8640cd401f5a2 GIT binary patch literal 9595 zcmeHM-*4MC5Z-fv{ttZIFpQz7pEj_Eq)E2|=?b*L`Y6y6;}DTVgQDYPfBlY>?O3v{ zL}un>*ciZw&AadJK2pa!DotN!ynlz#pIp^KR_N0?8l&G&zki^g&yeTg#7thwDY_N~ zM{=%bb8UV)d|Zi=gAGE)WHb(AH?VW24VV{?J%TCmg7@!Uhr=|5K>py1lBrvi$+Bcs zUL(a>jut}Spn9HVyat(XqMR2@8?O7rzJjKxrYL8cA$g5TCMq<M`2$3&<$@~%WigSQ z@ydwe6C-?5DPE*uxkzh`^}SgvElOEuH@v!)NK~+Zy_U6{$wE#=n$etJr&eKSBv(tp z4d1M1z35NI1?JywXyDwz(bYHX+N{RgTQ%$1!ExQpC*GS3%Q)r|6@{pF>~VmlF0lSy zSpQ(yNx^ddHdmo>%`LJ$D`BAzUkj_gXEmC+Ua!ws4F{qUywXiNe>$~7W(Lu_|J5Fk z!+!-OUk0u6M{!SJ=Tx;;aA@mi9J!!jGSvW$GtLy8`2)3v+c}2Dq>05m$O9NSrq&?G z)<;HPdH0!B{q^6Ksqqk;%(+~kA7@fSnh~s^=(>=LpL!G1cTwfN0;?LVNm#bRyp{@` zUR``F*bJ32=fxOKDLYoe`9sA@k)c|%q5v;Iu+dbqw9UbIRe+i~fKDrxF@1CE#W**G zFTxl%Dusm8D#yrLt9fRN;c8w^AmWW-&NHxT4W=vST1gg73Yp#Rs<KbHf?B!pxNjYp zkyC7nc)?4cxR<v<!qx+W+-JV&r+P)c*p{m;0>qrdBIt)1r_V?)Z{5nN-2wG0#rR*g zew<zO5)7YTUbgo~r>#DGkAJF!$*kh9riz1J8xHPyrss;obGDu}9X8CF9DtP6Qb9V~ zoL_6(Nh`NZK(_1O*{U<1i(029VWz~xkWT^eiT-ewExY=)XC2Fs{lR;<UjQr^ChLl= z5LfBc=6Vx{6}1VulGuK0K0Hvqlf@mcZAg%<F=862uVXVG_?Se#7tnYVN6Cm-9Tzk| z_NX5Q9>5Xb5iP`C6vvV8lYme!c0`K-E$~D5^9W56N3;ZkOA(<X5_o<RxS@p}rcoG% z(Fn+cfF03bO-F=`LNB4Q@45<MfTP3@qhJ(KI`TtD-(nniu^)~6z^4gu+;3rmqd1Id zNW8=&A$9XDBG?N(N@)-#p>w2w7LFo6golbIF<tMs?WcYL4?H|_+Y`-Y+_Hp(3KG$# zwA(4n?=@EyTNM?MZb9r~^`ptY_yo#etz>bcL@jx`{8n&<b0|gxBnYi}Inz9c8%ldC z2@suZwl?!LA}AZ7dOlH*+(pH08nYj%;?w0N>JP?n1|=zPNa*G|GiCDj6W%YYEWiS@ zh+xtl7eB*ynAs+I9Z*w@_41ZIWQEAmnb6tIi_+Hv+{fY`wc(WR0kZqzD9lcI#TA1? zIjy<6lkOXG2VftQ9r57|b^wmYT*+ZCP87T4?xeM``uKX398T4v?(tZ%yDBv=a?(PS zLf7tO?S$;(Y)fG{bz2a}V-OCbtbmK2npZDCUKg#0H(T2C;aqi1pmrid6i3nKA+ahR z+>Qv_3czui+T+B1mu=(y15|Ar>5}Dj4%8J{9~6h~1v;xjRJUlt^@8*2vHwEw61Ce& zJzE9tULe-(<yc+Jz~nd0lr>+kU&_L-zZG&~3L*2J`d9FjcAO^{zYs#vCn%WgybZ>D zm<y|}a`0Sb^Nypd9Jwe%i_sqY+}>pwYT34O6XbTxdz5KQd!TaQqTG5Yn+9RWQtfdY zT8fP^%<Xo_11;0G_CU)ngi#m5Ob@m(hPmx;Xu`h(m0bw)T?q4C2=iSCYkNJAu)u|| Uply2CQUxxA1ulez&)#8w1D^D^7XSbN literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/simulation_error.log b/wetb/hawc2/tests/test_files/logfiles/simulation_error.log new file mode 100644 index 0000000000000000000000000000000000000000..4902ba71a2216d09e24321400b60f14b90d757af GIT binary patch literal 14465 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 F{{fF{$y@*c literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/simulation_error2.log b/wetb/hawc2/tests/test_files/logfiles/simulation_error2.log new file mode 100644 index 0000000..c377059 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/simulation_error2.log @@ -0,0 +1,1439 @@ +________________________________________________________________________________________________________________________ + Version ID : HAWC2MB 12.3 + Log file output + Time : 09:40:58 + Date : 20:11.2015 +________________________________________________________________________________________________________________________ + Simulation commands read with succes + Orientation input commands read with succes + constraint input commands read with succes + Topologi commands read with succes + Mann commands read with succes + Wind commands read with succes + DLL commands read with succes + output commands read with succes + Output commands read + Initialization of structure + Initialization of wind + Initialization of user defined shear + Succes opening ./shear/shear.dat + Starting simulation + Global time = 2.000000000000000E-002 Iter = 0 + Global time = 4.000000000000000E-002 Iter = 0 + Global time = 6.000000000000000E-002 Iter = 0 + Global time = 8.000000000000000E-002 Iter = 0 + Global time = 0.100000000000000 Iter = 0 + Global time = 0.120000000000000 Iter = 0 + Global time = 0.140000000000000 Iter = 0 + Global time = 0.160000000000000 Iter = 0 + Global time = 0.180000000000000 Iter = 0 + Global time = 0.200000000000000 Iter = 0 + Global time = 0.220000000000000 Iter = 0 + Global time = 0.240000000000000 Iter = 0 + Global time = 0.260000000000000 Iter = 0 + Global time = 0.280000000000000 Iter = 0 + Global time = 0.300000000000000 Iter = 0 + Global time = 0.320000000000000 Iter = 0 + Global time = 0.340000000000000 Iter = 0 + Global time = 0.360000000000000 Iter = 0 + Global time = 0.380000000000000 Iter = 0 + Global time = 0.400000000000000 Iter = 0 + Global time = 0.420000000000000 Iter = 0 + Global time = 0.440000000000000 Iter = 0 + Global time = 0.460000000000000 Iter = 0 + Global time = 0.480000000000000 Iter = 0 + Global time = 0.500000000000000 Iter = 0 + Global time = 0.520000000000000 Iter = 0 + Global time = 0.540000000000000 Iter = 0 + Global time = 0.560000000000000 Iter = 0 + Global time = 0.580000000000000 Iter = 0 + Global time = 0.600000000000000 Iter = 0 + Global time = 0.620000000000000 Iter = 0 + Global time = 0.640000000000000 Iter = 0 + Global time = 0.660000000000000 Iter = 0 + Global time = 0.680000000000000 Iter = 0 + Global time = 0.700000000000000 Iter = 0 + Global time = 0.720000000000000 Iter = 0 + Global time = 0.740000000000000 Iter = 0 + Global time = 0.760000000000000 Iter = 0 + Global time = 0.780000000000000 Iter = 0 + Global time = 0.800000000000000 Iter = 0 + Global time = 0.820000000000000 Iter = 0 + Global time = 0.840000000000000 Iter = 0 + Global time = 0.860000000000000 Iter = 0 + Global time = 0.880000000000000 Iter = 0 + Global time = 0.900000000000000 Iter = 0 + Global time = 0.920000000000000 Iter = 0 + Global time = 0.940000000000000 Iter = 0 + Global time = 0.960000000000000 Iter = 0 + Global time = 0.980000000000000 Iter = 0 + Global time = 1.00000000000000 Iter = 0 + Global time = 1.02000000000000 Iter = 0 + Global time = 1.04000000000000 Iter = 0 + Global time = 1.06000000000000 Iter = 0 + Global time = 1.08000000000000 Iter = 0 + Global time = 1.10000000000000 Iter = 0 + Global time = 1.12000000000000 Iter = 0 + Global time = 1.14000000000000 Iter = 0 + Global time = 1.16000000000000 Iter = 0 + Global time = 1.18000000000000 Iter = 0 + Global time = 1.20000000000000 Iter = 0 + Global time = 1.22000000000000 Iter = 0 + Global time = 1.24000000000000 Iter = 0 + Global time = 1.26000000000000 Iter = 0 + Global time = 1.28000000000000 Iter = 0 + Global time = 1.30000000000000 Iter = 0 + Global time = 1.32000000000000 Iter = 0 + Global time = 1.34000000000000 Iter = 0 + Global time = 1.36000000000000 Iter = 0 + Global time = 1.38000000000000 Iter = 0 + Global time = 1.40000000000000 Iter = 0 + Global time = 1.42000000000000 Iter = 0 + Global time = 1.44000000000000 Iter = 0 + Global time = 1.46000000000000 Iter = 0 + Global time = 1.48000000000000 Iter = 0 + Global time = 1.50000000000000 Iter = 0 + Global time = 1.52000000000000 Iter = 0 + Global time = 1.54000000000000 Iter = 0 + Global time = 1.56000000000000 Iter = 0 + Global time = 1.58000000000000 Iter = 0 + Global time = 1.60000000000000 Iter = 0 + Global time = 1.62000000000000 Iter = 0 + Global time = 1.64000000000000 Iter = 0 + Global time = 1.66000000000000 Iter = 0 + Global time = 1.68000000000000 Iter = 0 + Global time = 1.70000000000000 Iter = 0 + Global time = 1.72000000000000 Iter = 0 + Global time = 1.74000000000000 Iter = 0 + Global time = 1.76000000000000 Iter = 0 + Global time = 1.78000000000000 Iter = 0 + Global time = 1.80000000000000 Iter = 0 + Global time = 1.82000000000000 Iter = 0 + Global time = 1.84000000000000 Iter = 0 + Global time = 1.86000000000000 Iter = 0 + Global time = 1.88000000000000 Iter = 0 + Global time = 1.90000000000000 Iter = 0 + Global time = 1.92000000000000 Iter = 0 + Global time = 1.94000000000000 Iter = 0 + Global time = 1.96000000000000 Iter = 0 + Global time = 1.98000000000000 Iter = 0 + Global time = 2.00000000000000 Iter = 0 + Global time = 2.02000000000000 Iter = 0 + Global time = 2.04000000000000 Iter = 0 + Global time = 2.06000000000000 Iter = 0 + Global time = 2.08000000000000 Iter = 0 + Global time = 2.10000000000000 Iter = 0 + Global time = 2.12000000000000 Iter = 0 + Global time = 2.14000000000000 Iter = 0 + Global time = 2.16000000000000 Iter = 0 + Global time = 2.18000000000000 Iter = 0 + Global time = 2.20000000000000 Iter = 0 + Global time = 2.22000000000000 Iter = 0 + Global time = 2.24000000000000 Iter = 0 + Global time = 2.26000000000000 Iter = 0 + Global time = 2.28000000000000 Iter = 0 + Global time = 2.30000000000000 Iter = 0 + Global time = 2.32000000000000 Iter = 0 + Global time = 2.34000000000000 Iter = 0 + Global time = 2.36000000000000 Iter = 0 + Global time = 2.38000000000000 Iter = 0 + Global time = 2.40000000000000 Iter = 0 + Global time = 2.42000000000000 Iter = 0 + Global time = 2.44000000000000 Iter = 0 + Global time = 2.46000000000000 Iter = 0 + Global time = 2.48000000000000 Iter = 0 + Global time = 2.50000000000000 Iter = 0 + Global time = 2.52000000000000 Iter = 0 + Global time = 2.54000000000000 Iter = 0 + Global time = 2.56000000000000 Iter = 0 + Global time = 2.58000000000000 Iter = 0 + Global time = 2.60000000000000 Iter = 0 + Global time = 2.62000000000000 Iter = 0 + Global time = 2.64000000000000 Iter = 0 + Global time = 2.66000000000000 Iter = 0 + Global time = 2.68000000000000 Iter = 0 + Global time = 2.70000000000000 Iter = 0 + Global time = 2.72000000000000 Iter = 0 + Global time = 2.74000000000000 Iter = 0 + Global time = 2.76000000000000 Iter = 0 + Global time = 2.78000000000000 Iter = 0 + Global time = 2.80000000000000 Iter = 0 + Global time = 2.82000000000000 Iter = 0 + Global time = 2.84000000000000 Iter = 0 + Global time = 2.86000000000000 Iter = 0 + Global time = 2.88000000000000 Iter = 0 + Global time = 2.90000000000000 Iter = 0 + Global time = 2.92000000000000 Iter = 0 + Global time = 2.94000000000000 Iter = 0 + Global time = 2.96000000000000 Iter = 0 + Global time = 2.98000000000000 Iter = 0 + Global time = 3.00000000000000 Iter = 0 + Global time = 3.02000000000000 Iter = 0 + Global time = 3.04000000000000 Iter = 0 + Global time = 3.06000000000000 Iter = 0 + Global time = 3.08000000000000 Iter = 0 + Global time = 3.10000000000000 Iter = 0 + Global time = 3.12000000000000 Iter = 0 + Global time = 3.14000000000000 Iter = 0 + Global time = 3.16000000000000 Iter = 0 + Global time = 3.18000000000000 Iter = 0 + Global time = 3.20000000000000 Iter = 0 + Global time = 3.22000000000000 Iter = 0 + Global time = 3.24000000000000 Iter = 0 + Global time = 3.26000000000000 Iter = 0 + Global time = 3.28000000000000 Iter = 0 + Global time = 3.30000000000000 Iter = 0 + Global time = 3.32000000000000 Iter = 0 + Global time = 3.34000000000000 Iter = 0 + Global time = 3.36000000000000 Iter = 0 + Global time = 3.38000000000000 Iter = 0 + Global time = 3.40000000000000 Iter = 0 + Global time = 3.42000000000000 Iter = 0 + Global time = 3.44000000000000 Iter = 0 + Global time = 3.46000000000000 Iter = 0 + Global time = 3.48000000000000 Iter = 0 + Global time = 3.50000000000000 Iter = 0 + Global time = 3.52000000000000 Iter = 0 + Global time = 3.54000000000000 Iter = 0 + Global time = 3.56000000000000 Iter = 0 + Global time = 3.58000000000000 Iter = 0 + Global time = 3.60000000000000 Iter = 0 + Global time = 3.62000000000000 Iter = 0 + Global time = 3.64000000000000 Iter = 0 + Global time = 3.66000000000000 Iter = 0 + Global time = 3.68000000000000 Iter = 0 + Global time = 3.70000000000000 Iter = 0 + Global time = 3.72000000000000 Iter = 0 + Global time = 3.74000000000000 Iter = 0 + Global time = 3.76000000000000 Iter = 0 + Global time = 3.78000000000000 Iter = 0 + Global time = 3.80000000000000 Iter = 0 + Global time = 3.82000000000000 Iter = 0 + Global time = 3.84000000000000 Iter = 0 + Global time = 3.86000000000000 Iter = 0 + Global time = 3.88000000000000 Iter = 0 + Global time = 3.90000000000000 Iter = 0 + Global time = 3.92000000000000 Iter = 0 + Global time = 3.94000000000000 Iter = 0 + Global time = 3.96000000000000 Iter = 0 + Global time = 3.98000000000000 Iter = 0 + Global time = 4.00000000000000 Iter = 0 + Global time = 4.02000000000000 Iter = 0 + Global time = 4.04000000000000 Iter = 0 + Global time = 4.06000000000000 Iter = 0 + Global time = 4.08000000000000 Iter = 0 + Global time = 4.10000000000000 Iter = 0 + Global time = 4.12000000000000 Iter = 0 + Global time = 4.14000000000000 Iter = 0 + Global time = 4.16000000000000 Iter = 0 + Global time = 4.18000000000000 Iter = 0 + Global time = 4.20000000000000 Iter = 0 + Global time = 4.22000000000000 Iter = 0 + Global time = 4.24000000000000 Iter = 0 + Global time = 4.26000000000000 Iter = 0 + Global time = 4.28000000000000 Iter = 0 + Global time = 4.30000000000000 Iter = 0 + Global time = 4.32000000000000 Iter = 0 + Global time = 4.34000000000000 Iter = 0 + Global time = 4.36000000000000 Iter = 0 + Global time = 4.38000000000000 Iter = 0 + Global time = 4.40000000000000 Iter = 0 + Global time = 4.42000000000000 Iter = 0 + Global time = 4.44000000000000 Iter = 0 + Global time = 4.46000000000000 Iter = 0 + Global time = 4.48000000000000 Iter = 0 + Global time = 4.50000000000000 Iter = 0 + Global time = 4.52000000000000 Iter = 0 + Global time = 4.54000000000000 Iter = 0 + Global time = 4.56000000000000 Iter = 0 + Global time = 4.58000000000000 Iter = 0 + Global time = 4.60000000000000 Iter = 0 + Global time = 4.62000000000000 Iter = 0 + Global time = 4.64000000000000 Iter = 0 + Global time = 4.66000000000000 Iter = 0 + Global time = 4.68000000000000 Iter = 0 + Global time = 4.70000000000000 Iter = 0 + Global time = 4.72000000000000 Iter = 0 + Global time = 4.74000000000000 Iter = 0 + Global time = 4.76000000000000 Iter = 0 + Global time = 4.78000000000000 Iter = 0 + Global time = 4.80000000000000 Iter = 0 + Global time = 4.82000000000000 Iter = 0 + Global time = 4.84000000000000 Iter = 0 + Global time = 4.86000000000000 Iter = 0 + Global time = 4.88000000000000 Iter = 0 + Global time = 4.90000000000000 Iter = 0 + Global time = 4.92000000000000 Iter = 0 + Global time = 4.94000000000000 Iter = 0 + Global time = 4.96000000000000 Iter = 0 + Global time = 4.98000000000000 Iter = 0 + Global time = 5.00000000000000 Iter = 0 + Global time = 5.02000000000000 Iter = 0 + Global time = 5.04000000000000 Iter = 0 + Global time = 5.06000000000000 Iter = 0 + Global time = 5.08000000000000 Iter = 0 + Global time = 5.10000000000000 Iter = 0 + Global time = 5.12000000000000 Iter = 0 + Global time = 5.14000000000000 Iter = 0 + Global time = 5.16000000000000 Iter = 0 + Global time = 5.18000000000000 Iter = 0 + Global time = 5.20000000000000 Iter = 0 + Global time = 5.22000000000000 Iter = 0 + Global time = 5.24000000000000 Iter = 0 + Global time = 5.26000000000000 Iter = 0 + Global time = 5.28000000000000 Iter = 0 + Global time = 5.30000000000000 Iter = 0 + Global time = 5.32000000000000 Iter = 0 + Global time = 5.34000000000000 Iter = 0 + Global time = 5.36000000000000 Iter = 0 + Global time = 5.38000000000000 Iter = 0 + Global time = 5.40000000000000 Iter = 0 + Global time = 5.42000000000000 Iter = 0 + Global time = 5.44000000000000 Iter = 0 + Global time = 5.46000000000000 Iter = 0 + Global time = 5.48000000000000 Iter = 0 + Global time = 5.50000000000000 Iter = 0 + Global time = 5.52000000000000 Iter = 0 + Global time = 5.54000000000000 Iter = 0 + Global time = 5.56000000000000 Iter = 0 + Global time = 5.58000000000000 Iter = 0 + Global time = 5.60000000000000 Iter = 0 + Global time = 5.62000000000000 Iter = 0 + Global time = 5.64000000000000 Iter = 0 + Global time = 5.66000000000000 Iter = 0 + Global time = 5.68000000000000 Iter = 0 + Global time = 5.70000000000000 Iter = 0 + Global time = 5.72000000000000 Iter = 0 + Global time = 5.74000000000000 Iter = 0 + Global time = 5.76000000000000 Iter = 0 + Global time = 5.78000000000000 Iter = 0 + Global time = 5.80000000000000 Iter = 0 + Global time = 5.82000000000000 Iter = 0 + Global time = 5.84000000000000 Iter = 0 + Global time = 5.86000000000000 Iter = 0 + Global time = 5.88000000000000 Iter = 0 + Global time = 5.90000000000000 Iter = 0 + Global time = 5.92000000000000 Iter = 0 + Global time = 5.94000000000000 Iter = 0 + Global time = 5.96000000000000 Iter = 0 + Global time = 5.98000000000000 Iter = 0 + Global time = 6.00000000000000 Iter = 0 + Global time = 6.02000000000000 Iter = 0 + Global time = 6.04000000000000 Iter = 0 + Global time = 6.06000000000000 Iter = 0 + Global time = 6.08000000000000 Iter = 0 + Global time = 6.10000000000000 Iter = 0 + Global time = 6.12000000000000 Iter = 0 + Global time = 6.14000000000000 Iter = 0 + Global time = 6.16000000000000 Iter = 0 + Global time = 6.18000000000000 Iter = 0 + Global time = 6.20000000000000 Iter = 0 + Global time = 6.22000000000000 Iter = 0 + Global time = 6.24000000000000 Iter = 0 + Global time = 6.26000000000000 Iter = 0 + Global time = 6.28000000000000 Iter = 0 + Global time = 6.30000000000000 Iter = 0 + Global time = 6.32000000000000 Iter = 0 + Global time = 6.34000000000000 Iter = 0 + Global time = 6.36000000000000 Iter = 0 + Global time = 6.38000000000000 Iter = 0 + Global time = 6.40000000000000 Iter = 0 + Global time = 6.42000000000000 Iter = 0 + Global time = 6.44000000000000 Iter = 0 + Global time = 6.46000000000000 Iter = 0 + Global time = 6.48000000000000 Iter = 0 + Global time = 6.50000000000000 Iter = 0 + Global time = 6.52000000000000 Iter = 0 + Global time = 6.54000000000000 Iter = 0 + Global time = 6.56000000000000 Iter = 0 + Global time = 6.58000000000000 Iter = 0 + Global time = 6.60000000000000 Iter = 0 + Global time = 6.62000000000000 Iter = 0 + Global time = 6.64000000000000 Iter = 0 + Global time = 6.66000000000000 Iter = 0 + Global time = 6.68000000000000 Iter = 0 + Global time = 6.70000000000000 Iter = 0 + Global time = 6.72000000000000 Iter = 0 + Global time = 6.74000000000000 Iter = 0 + Global time = 6.76000000000000 Iter = 0 + Global time = 6.78000000000000 Iter = 0 + Global time = 6.80000000000000 Iter = 0 + Global time = 6.82000000000000 Iter = 0 + Global time = 6.84000000000000 Iter = 0 + Global time = 6.86000000000000 Iter = 0 + Global time = 6.88000000000000 Iter = 0 + Global time = 6.90000000000000 Iter = 0 + Global time = 6.92000000000000 Iter = 0 + Global time = 6.94000000000000 Iter = 0 + Global time = 6.96000000000000 Iter = 0 + Global time = 6.98000000000000 Iter = 0 + Global time = 7.00000000000000 Iter = 0 + Global time = 7.02000000000000 Iter = 0 + Global time = 7.04000000000000 Iter = 0 + Global time = 7.06000000000000 Iter = 0 + Global time = 7.08000000000000 Iter = 0 + Global time = 7.10000000000000 Iter = 0 + Global time = 7.12000000000000 Iter = 0 + Global time = 7.14000000000000 Iter = 0 + Global time = 7.16000000000000 Iter = 0 + Global time = 7.18000000000000 Iter = 0 + Global time = 7.20000000000000 Iter = 0 + Global time = 7.22000000000000 Iter = 0 + Global time = 7.24000000000000 Iter = 0 + Global time = 7.26000000000000 Iter = 0 + Global time = 7.28000000000000 Iter = 0 + Global time = 7.30000000000000 Iter = 0 + Global time = 7.32000000000000 Iter = 0 + Global time = 7.34000000000000 Iter = 0 + Global time = 7.36000000000000 Iter = 0 + Global time = 7.38000000000000 Iter = 0 + Global time = 7.40000000000000 Iter = 0 + Global time = 7.42000000000000 Iter = 0 + Global time = 7.44000000000000 Iter = 0 + Global time = 7.46000000000000 Iter = 0 + Global time = 7.48000000000000 Iter = 0 + Global time = 7.50000000000000 Iter = 0 + Global time = 7.52000000000000 Iter = 0 + Global time = 7.54000000000000 Iter = 0 + Global time = 7.56000000000000 Iter = 0 + Global time = 7.58000000000000 Iter = 0 + Global time = 7.60000000000000 Iter = 0 + Global time = 7.62000000000000 Iter = 0 + Global time = 7.64000000000000 Iter = 0 + Global time = 7.66000000000000 Iter = 0 + Global time = 7.68000000000000 Iter = 0 + Global time = 7.70000000000000 Iter = 0 + Global time = 7.72000000000000 Iter = 0 + Global time = 7.74000000000000 Iter = 0 + Global time = 7.76000000000000 Iter = 0 + Global time = 7.78000000000000 Iter = 0 + Global time = 7.80000000000000 Iter = 0 + Global time = 7.82000000000000 Iter = 0 + Global time = 7.84000000000000 Iter = 0 + Global time = 7.86000000000000 Iter = 0 + Global time = 7.88000000000000 Iter = 0 + Global time = 7.90000000000000 Iter = 0 + Global time = 7.92000000000000 Iter = 0 + Global time = 7.94000000000000 Iter = 0 + Global time = 7.96000000000000 Iter = 0 + Global time = 7.98000000000000 Iter = 0 + Global time = 8.00000000000000 Iter = 0 + Global time = 8.02000000000000 Iter = 0 + Global time = 8.04000000000000 Iter = 0 + Global time = 8.06000000000000 Iter = 0 + Global time = 8.08000000000000 Iter = 0 + Global time = 8.10000000000000 Iter = 0 + Global time = 8.12000000000000 Iter = 0 + Global time = 8.14000000000000 Iter = 0 + Global time = 8.16000000000000 Iter = 0 + Global time = 8.18000000000000 Iter = 0 + Global time = 8.20000000000000 Iter = 0 + Global time = 8.22000000000000 Iter = 0 + Global time = 8.24000000000000 Iter = 0 + Global time = 8.26000000000000 Iter = 0 + Global time = 8.28000000000000 Iter = 0 + Global time = 8.30000000000000 Iter = 0 + Global time = 8.32000000000000 Iter = 0 + Global time = 8.34000000000000 Iter = 0 + Global time = 8.36000000000000 Iter = 0 + Global time = 8.38000000000000 Iter = 0 + Global time = 8.40000000000000 Iter = 0 + Global time = 8.42000000000000 Iter = 0 + Global time = 8.44000000000000 Iter = 0 + Global time = 8.46000000000000 Iter = 0 + Global time = 8.48000000000000 Iter = 0 + Global time = 8.50000000000000 Iter = 0 + Global time = 8.52000000000000 Iter = 0 + Global time = 8.54000000000000 Iter = 0 + Global time = 8.56000000000000 Iter = 0 + Global time = 8.58000000000000 Iter = 0 + Global time = 8.60000000000000 Iter = 0 + Global time = 8.62000000000000 Iter = 0 + Global time = 8.64000000000000 Iter = 0 + Global time = 8.66000000000000 Iter = 0 + Global time = 8.68000000000000 Iter = 0 + Global time = 8.70000000000000 Iter = 0 + Global time = 8.72000000000000 Iter = 0 + Global time = 8.74000000000000 Iter = 0 + Global time = 8.76000000000000 Iter = 0 + Global time = 8.78000000000000 Iter = 0 + Global time = 8.80000000000000 Iter = 0 + Global time = 8.82000000000000 Iter = 0 + Global time = 8.84000000000000 Iter = 0 + Global time = 8.86000000000000 Iter = 0 + Global time = 8.88000000000000 Iter = 0 + Global time = 8.90000000000000 Iter = 0 + Global time = 8.92000000000000 Iter = 0 + Global time = 8.94000000000000 Iter = 0 + Global time = 8.96000000000000 Iter = 0 + Global time = 8.98000000000000 Iter = 0 + Global time = 9.00000000000000 Iter = 0 + Global time = 9.02000000000000 Iter = 0 + Global time = 9.04000000000000 Iter = 0 + Global time = 9.06000000000000 Iter = 0 + Global time = 9.08000000000000 Iter = 0 + Global time = 9.10000000000000 Iter = 0 + Global time = 9.12000000000000 Iter = 0 + Global time = 9.14000000000000 Iter = 0 + Global time = 9.16000000000000 Iter = 0 + Global time = 9.18000000000000 Iter = 0 + Global time = 9.20000000000000 Iter = 0 + Global time = 9.22000000000000 Iter = 0 + Global time = 9.24000000000000 Iter = 0 + Global time = 9.26000000000000 Iter = 0 + Global time = 9.28000000000000 Iter = 0 + Global time = 9.30000000000000 Iter = 0 + Global time = 9.32000000000000 Iter = 0 + Global time = 9.34000000000000 Iter = 0 + Global time = 9.36000000000000 Iter = 0 + Global time = 9.38000000000000 Iter = 0 + Global time = 9.40000000000000 Iter = 0 + Global time = 9.42000000000000 Iter = 0 + Global time = 9.44000000000000 Iter = 0 + Global time = 9.46000000000000 Iter = 0 + Global time = 9.48000000000000 Iter = 0 + Global time = 9.50000000000000 Iter = 0 + Global time = 9.52000000000000 Iter = 0 + Global time = 9.54000000000000 Iter = 0 + Global time = 9.56000000000000 Iter = 0 + Global time = 9.58000000000000 Iter = 0 + Global time = 9.60000000000000 Iter = 0 + Global time = 9.62000000000000 Iter = 0 + Global time = 9.64000000000000 Iter = 0 + Global time = 9.66000000000000 Iter = 0 + Global time = 9.68000000000000 Iter = 0 + Global time = 9.70000000000000 Iter = 0 + Global time = 9.72000000000000 Iter = 0 + Global time = 9.74000000000000 Iter = 0 + Global time = 9.76000000000000 Iter = 0 + Global time = 9.78000000000000 Iter = 0 + Global time = 9.80000000000000 Iter = 0 + Global time = 9.82000000000000 Iter = 0 + Global time = 9.84000000000000 Iter = 0 + Global time = 9.86000000000000 Iter = 0 + Global time = 9.88000000000000 Iter = 0 + Global time = 9.90000000000000 Iter = 0 + Global time = 9.92000000000000 Iter = 0 + Global time = 9.94000000000000 Iter = 0 + Global time = 9.96000000000000 Iter = 0 + Global time = 9.98000000000000 Iter = 0 + Global time = 10.0000000000000 Iter = 0 + Global time = 10.0200000000000 Iter = 0 + Global time = 10.0400000000000 Iter = 0 + Global time = 10.0600000000000 Iter = 0 + Global time = 10.0800000000000 Iter = 0 + Global time = 10.1000000000000 Iter = 0 + Global time = 10.1200000000000 Iter = 0 + Global time = 10.1400000000000 Iter = 0 + Global time = 10.1600000000000 Iter = 0 + Global time = 10.1800000000000 Iter = 0 + Global time = 10.2000000000000 Iter = 0 + Global time = 10.2200000000000 Iter = 0 + Global time = 10.2400000000000 Iter = 0 + Global time = 10.2600000000000 Iter = 0 + Global time = 10.2800000000000 Iter = 0 + Global time = 10.3000000000000 Iter = 0 + Global time = 10.3200000000000 Iter = 0 + Global time = 10.3400000000000 Iter = 0 + Global time = 10.3600000000000 Iter = 0 + Global time = 10.3800000000000 Iter = 0 + Global time = 10.4000000000000 Iter = 0 + Global time = 10.4200000000000 Iter = 0 + Global time = 10.4400000000000 Iter = 0 + Global time = 10.4600000000000 Iter = 0 + Global time = 10.4800000000000 Iter = 0 + Global time = 10.5000000000000 Iter = 0 + Global time = 10.5200000000000 Iter = 0 + Global time = 10.5400000000000 Iter = 0 + Global time = 10.5600000000000 Iter = 0 + Global time = 10.5800000000000 Iter = 0 + Global time = 10.6000000000000 Iter = 0 + Global time = 10.6200000000000 Iter = 0 + Global time = 10.6400000000000 Iter = 0 + Global time = 10.6600000000000 Iter = 0 + Global time = 10.6800000000000 Iter = 0 + Global time = 10.7000000000000 Iter = 0 + Global time = 10.7200000000000 Iter = 0 + Global time = 10.7400000000000 Iter = 0 + Global time = 10.7600000000000 Iter = 0 + Global time = 10.7800000000000 Iter = 0 + Global time = 10.8000000000000 Iter = 0 + Global time = 10.8200000000000 Iter = 0 + Global time = 10.8400000000000 Iter = 0 + Global time = 10.8600000000000 Iter = 0 + Global time = 10.8800000000000 Iter = 0 + Global time = 10.9000000000000 Iter = 0 + Global time = 10.9200000000000 Iter = 0 + Global time = 10.9400000000000 Iter = 0 + Global time = 10.9600000000000 Iter = 0 + Global time = 10.9800000000000 Iter = 0 + Global time = 11.0000000000000 Iter = 0 + Global time = 11.0200000000000 Iter = 0 + Global time = 11.0400000000000 Iter = 0 + Global time = 11.0600000000000 Iter = 0 + Global time = 11.0800000000000 Iter = 0 + Global time = 11.1000000000000 Iter = 0 + Global time = 11.1200000000000 Iter = 0 + Global time = 11.1400000000000 Iter = 0 + Global time = 11.1600000000000 Iter = 0 + Global time = 11.1800000000000 Iter = 0 + Global time = 11.2000000000000 Iter = 0 + Global time = 11.2200000000000 Iter = 0 + Global time = 11.2400000000000 Iter = 0 + Global time = 11.2600000000000 Iter = 0 + Global time = 11.2800000000000 Iter = 0 + Global time = 11.3000000000000 Iter = 0 + Global time = 11.3200000000000 Iter = 0 + Global time = 11.3400000000000 Iter = 0 + Global time = 11.3600000000000 Iter = 0 + Global time = 11.3800000000000 Iter = 0 + Global time = 11.4000000000000 Iter = 0 + Global time = 11.4200000000000 Iter = 0 + Global time = 11.4400000000000 Iter = 0 + Global time = 11.4600000000000 Iter = 0 + Global time = 11.4800000000000 Iter = 0 + Global time = 11.5000000000000 Iter = 0 + Global time = 11.5200000000000 Iter = 0 + Global time = 11.5400000000000 Iter = 0 + Global time = 11.5600000000000 Iter = 0 + Global time = 11.5800000000000 Iter = 0 + Global time = 11.6000000000000 Iter = 0 + Global time = 11.6200000000000 Iter = 0 + Global time = 11.6400000000000 Iter = 0 + Global time = 11.6600000000000 Iter = 0 + Global time = 11.6800000000000 Iter = 0 + Global time = 11.7000000000000 Iter = 0 + Global time = 11.7200000000000 Iter = 0 + Global time = 11.7400000000000 Iter = 0 + Global time = 11.7600000000000 Iter = 0 + Global time = 11.7800000000000 Iter = 0 + Global time = 11.8000000000000 Iter = 0 + Global time = 11.8200000000000 Iter = 0 + Global time = 11.8400000000000 Iter = 0 + Global time = 11.8600000000000 Iter = 0 + Global time = 11.8800000000000 Iter = 0 + Global time = 11.9000000000000 Iter = 0 + Global time = 11.9200000000000 Iter = 0 + Global time = 11.9400000000000 Iter = 0 + Global time = 11.9600000000000 Iter = 0 + Global time = 11.9800000000000 Iter = 0 + Global time = 12.0000000000000 Iter = 0 + Global time = 12.0200000000000 Iter = 0 + Global time = 12.0400000000000 Iter = 0 + Global time = 12.0600000000000 Iter = 0 + Global time = 12.0800000000000 Iter = 0 + Global time = 12.1000000000000 Iter = 0 + Global time = 12.1200000000000 Iter = 0 + Global time = 12.1400000000000 Iter = 0 + Global time = 12.1600000000000 Iter = 0 + Global time = 12.1800000000000 Iter = 0 + Global time = 12.2000000000000 Iter = 0 + Global time = 12.2200000000000 Iter = 0 + Global time = 12.2400000000000 Iter = 0 + Global time = 12.2600000000000 Iter = 0 + Global time = 12.2800000000000 Iter = 0 + Global time = 12.3000000000000 Iter = 0 + Global time = 12.3200000000000 Iter = 0 + Global time = 12.3400000000000 Iter = 0 + Global time = 12.3600000000000 Iter = 0 + Global time = 12.3800000000000 Iter = 0 + Global time = 12.4000000000000 Iter = 0 + Global time = 12.4200000000000 Iter = 0 + Global time = 12.4400000000000 Iter = 0 + Global time = 12.4600000000000 Iter = 0 + Global time = 12.4800000000000 Iter = 0 + Global time = 12.5000000000000 Iter = 0 + Global time = 12.5200000000000 Iter = 0 + Global time = 12.5400000000000 Iter = 0 + Global time = 12.5600000000000 Iter = 0 + Global time = 12.5800000000000 Iter = 0 + Global time = 12.6000000000000 Iter = 0 + Global time = 12.6200000000000 Iter = 0 + Global time = 12.6400000000000 Iter = 0 + Global time = 12.6600000000000 Iter = 0 + Global time = 12.6800000000000 Iter = 0 + Global time = 12.7000000000000 Iter = 0 + Global time = 12.7200000000000 Iter = 0 + Global time = 12.7400000000000 Iter = 0 + Global time = 12.7600000000000 Iter = 0 + Global time = 12.7800000000000 Iter = 0 + Global time = 12.8000000000000 Iter = 0 + Global time = 12.8200000000000 Iter = 0 + Global time = 12.8400000000000 Iter = 0 + Global time = 12.8600000000000 Iter = 0 + Global time = 12.8800000000000 Iter = 0 + Global time = 12.9000000000000 Iter = 0 + Global time = 12.9200000000000 Iter = 0 + Global time = 12.9400000000000 Iter = 0 + Global time = 12.9600000000000 Iter = 0 + Global time = 12.9800000000000 Iter = 0 + Global time = 13.0000000000000 Iter = 0 + Global time = 13.0200000000000 Iter = 0 + Global time = 13.0400000000000 Iter = 0 + Global time = 13.0600000000000 Iter = 0 + Global time = 13.0800000000000 Iter = 0 + Global time = 13.1000000000000 Iter = 0 + Global time = 13.1200000000000 Iter = 0 + Global time = 13.1400000000000 Iter = 0 + Global time = 13.1600000000000 Iter = 0 + Global time = 13.1800000000000 Iter = 0 + Global time = 13.2000000000000 Iter = 0 + Global time = 13.2200000000000 Iter = 0 + Global time = 13.2400000000000 Iter = 0 + Global time = 13.2600000000000 Iter = 0 + Global time = 13.2800000000000 Iter = 0 + Global time = 13.3000000000000 Iter = 0 + Global time = 13.3200000000000 Iter = 0 + Global time = 13.3400000000000 Iter = 0 + Global time = 13.3600000000000 Iter = 0 + Global time = 13.3800000000000 Iter = 0 + Global time = 13.4000000000000 Iter = 0 + Global time = 13.4200000000000 Iter = 0 + Global time = 13.4400000000000 Iter = 0 + Global time = 13.4600000000000 Iter = 0 + Global time = 13.4800000000000 Iter = 0 + Global time = 13.5000000000000 Iter = 0 + Global time = 13.5200000000000 Iter = 0 + Global time = 13.5400000000000 Iter = 0 + Global time = 13.5600000000000 Iter = 0 + Global time = 13.5800000000000 Iter = 0 + Global time = 13.6000000000000 Iter = 0 + Global time = 13.6200000000000 Iter = 0 + Global time = 13.6400000000000 Iter = 0 + Global time = 13.6600000000000 Iter = 0 + Global time = 13.6800000000000 Iter = 0 + Global time = 13.7000000000000 Iter = 0 + Global time = 13.7200000000000 Iter = 0 + Global time = 13.7400000000000 Iter = 0 + Global time = 13.7600000000000 Iter = 0 + Global time = 13.7800000000000 Iter = 0 + Global time = 13.8000000000000 Iter = 0 + Global time = 13.8200000000000 Iter = 0 + Global time = 13.8400000000000 Iter = 0 + Global time = 13.8600000000000 Iter = 0 + Global time = 13.8800000000000 Iter = 0 + Global time = 13.9000000000000 Iter = 0 + Global time = 13.9200000000000 Iter = 0 + Global time = 13.9400000000000 Iter = 0 + Global time = 13.9600000000000 Iter = 0 + Global time = 13.9800000000000 Iter = 0 + Global time = 14.0000000000000 Iter = 0 + Global time = 14.0200000000000 Iter = 0 + Global time = 14.0400000000000 Iter = 0 + Global time = 14.0600000000000 Iter = 0 + Global time = 14.0800000000000 Iter = 0 + Global time = 14.1000000000000 Iter = 0 + Global time = 14.1200000000000 Iter = 0 + Global time = 14.1400000000000 Iter = 0 + Global time = 14.1600000000000 Iter = 0 + Global time = 14.1800000000000 Iter = 0 + Global time = 14.2000000000000 Iter = 0 + Global time = 14.2200000000000 Iter = 0 + Global time = 14.2400000000000 Iter = 0 + Global time = 14.2600000000000 Iter = 0 + Global time = 14.2800000000000 Iter = 0 + Global time = 14.3000000000000 Iter = 0 + Global time = 14.3200000000000 Iter = 0 + Global time = 14.3400000000000 Iter = 0 + Global time = 14.3600000000000 Iter = 0 + Global time = 14.3800000000000 Iter = 0 + Global time = 14.4000000000000 Iter = 0 + Global time = 14.4200000000000 Iter = 0 + Global time = 14.4400000000000 Iter = 0 + Global time = 14.4600000000000 Iter = 0 + Global time = 14.4800000000000 Iter = 0 + Global time = 14.5000000000000 Iter = 0 + Global time = 14.5200000000000 Iter = 0 + Global time = 14.5400000000000 Iter = 0 + Global time = 14.5600000000000 Iter = 0 + Global time = 14.5800000000000 Iter = 0 + Global time = 14.6000000000000 Iter = 0 + Global time = 14.6200000000000 Iter = 0 + Global time = 14.6400000000000 Iter = 0 + Global time = 14.6600000000000 Iter = 0 + Global time = 14.6800000000000 Iter = 0 + Global time = 14.7000000000000 Iter = 0 + Global time = 14.7200000000000 Iter = 0 + Global time = 14.7400000000000 Iter = 0 + Global time = 14.7600000000000 Iter = 0 + Global time = 14.7800000000000 Iter = 0 + Global time = 14.8000000000000 Iter = 0 + Global time = 14.8200000000000 Iter = 0 + Global time = 14.8400000000000 Iter = 0 + Global time = 14.8600000000000 Iter = 0 + Global time = 14.8800000000000 Iter = 0 + Global time = 14.9000000000000 Iter = 0 + Global time = 14.9200000000000 Iter = 0 + Global time = 14.9400000000000 Iter = 0 + Global time = 14.9600000000000 Iter = 0 + Global time = 14.9800000000000 Iter = 0 + Global time = 15.0000000000000 Iter = 0 + Global time = 15.0200000000000 Iter = 0 + Global time = 15.0400000000000 Iter = 0 + Global time = 15.0600000000000 Iter = 0 + Global time = 15.0800000000000 Iter = 0 + Global time = 15.1000000000000 Iter = 0 + Global time = 15.1200000000000 Iter = 0 + Global time = 15.1400000000000 Iter = 0 + Global time = 15.1600000000000 Iter = 0 + Global time = 15.1800000000000 Iter = 0 + Global time = 15.2000000000000 Iter = 0 + Global time = 15.2200000000000 Iter = 0 + Global time = 15.2400000000000 Iter = 0 + Global time = 15.2600000000000 Iter = 0 + Global time = 15.2800000000000 Iter = 0 + Global time = 15.3000000000000 Iter = 0 + Global time = 15.3200000000000 Iter = 0 + Global time = 15.3400000000000 Iter = 0 + Global time = 15.3600000000000 Iter = 0 + Global time = 15.3800000000000 Iter = 0 + Global time = 15.4000000000000 Iter = 0 + Global time = 15.4200000000000 Iter = 0 + Global time = 15.4400000000000 Iter = 0 + Global time = 15.4600000000000 Iter = 0 + Global time = 15.4800000000000 Iter = 0 + Global time = 15.5000000000000 Iter = 0 + Global time = 15.5200000000000 Iter = 0 + Global time = 15.5400000000000 Iter = 0 + Global time = 15.5600000000000 Iter = 0 + Global time = 15.5800000000000 Iter = 0 + Global time = 15.6000000000000 Iter = 0 + Global time = 15.6200000000000 Iter = 0 + Global time = 15.6400000000000 Iter = 0 + Global time = 15.6600000000000 Iter = 0 + Global time = 15.6800000000000 Iter = 0 + Global time = 15.7000000000000 Iter = 0 + Global time = 15.7200000000000 Iter = 0 + Global time = 15.7400000000000 Iter = 0 + Global time = 15.7600000000000 Iter = 0 + Global time = 15.7800000000000 Iter = 0 + Global time = 15.8000000000000 Iter = 0 + Global time = 15.8200000000000 Iter = 0 + Global time = 15.8400000000000 Iter = 0 + Global time = 15.8600000000000 Iter = 0 + Global time = 15.8800000000000 Iter = 0 + Global time = 15.9000000000000 Iter = 0 + Global time = 15.9200000000000 Iter = 0 + Global time = 15.9400000000000 Iter = 0 + Global time = 15.9600000000000 Iter = 0 + Global time = 15.9800000000000 Iter = 0 + Global time = 16.0000000000000 Iter = 0 + Global time = 16.0200000000000 Iter = 0 + Global time = 16.0400000000000 Iter = 0 + Global time = 16.0600000000000 Iter = 0 + Global time = 16.0800000000000 Iter = 0 + Global time = 16.1000000000000 Iter = 0 + Global time = 16.1200000000000 Iter = 0 + Global time = 16.1400000000000 Iter = 0 + Global time = 16.1600000000000 Iter = 0 + Global time = 16.1800000000000 Iter = 0 + Global time = 16.2000000000000 Iter = 0 + Global time = 16.2200000000000 Iter = 0 + Global time = 16.2400000000000 Iter = 0 + Global time = 16.2600000000000 Iter = 0 + Global time = 16.2800000000000 Iter = 0 + Global time = 16.3000000000000 Iter = 0 + Global time = 16.3200000000000 Iter = 0 + Global time = 16.3400000000000 Iter = 0 + Global time = 16.3600000000000 Iter = 0 + Global time = 16.3800000000000 Iter = 0 + Global time = 16.4000000000000 Iter = 0 + Global time = 16.4200000000000 Iter = 0 + Global time = 16.4400000000000 Iter = 0 + Global time = 16.4600000000000 Iter = 0 + Global time = 16.4800000000000 Iter = 0 + Global time = 16.5000000000000 Iter = 0 + Global time = 16.5200000000000 Iter = 0 + Global time = 16.5400000000000 Iter = 0 + Global time = 16.5600000000000 Iter = 0 + Global time = 16.5800000000000 Iter = 0 + Global time = 16.6000000000000 Iter = 0 + Global time = 16.6200000000000 Iter = 0 + Global time = 16.6400000000000 Iter = 0 + Global time = 16.6600000000000 Iter = 0 + Global time = 16.6800000000000 Iter = 0 + Global time = 16.7000000000000 Iter = 0 + Global time = 16.7200000000000 Iter = 0 + Global time = 16.7400000000000 Iter = 0 + Global time = 16.7600000000000 Iter = 0 + Global time = 16.7800000000000 Iter = 0 + Global time = 16.8000000000000 Iter = 0 + Global time = 16.8200000000000 Iter = 0 + Global time = 16.8400000000000 Iter = 0 + Global time = 16.8600000000000 Iter = 0 + Global time = 16.8800000000000 Iter = 0 + Global time = 16.9000000000000 Iter = 0 + Global time = 16.9200000000000 Iter = 0 + Global time = 16.9400000000000 Iter = 0 + Global time = 16.9600000000000 Iter = 0 + Global time = 16.9800000000000 Iter = 0 + Global time = 17.0000000000000 Iter = 0 + Global time = 17.0200000000000 Iter = 0 + Global time = 17.0400000000000 Iter = 0 + Global time = 17.0600000000000 Iter = 0 + Global time = 17.0800000000000 Iter = 0 + Global time = 17.1000000000000 Iter = 0 + Global time = 17.1200000000000 Iter = 0 + Global time = 17.1400000000000 Iter = 0 + Global time = 17.1600000000000 Iter = 0 + Global time = 17.1800000000000 Iter = 0 + Global time = 17.2000000000000 Iter = 0 + Global time = 17.2200000000000 Iter = 0 + Global time = 17.2400000000000 Iter = 0 + Global time = 17.2600000000000 Iter = 0 + Global time = 17.2800000000000 Iter = 0 + Global time = 17.3000000000000 Iter = 0 + Global time = 17.3200000000000 Iter = 0 + Global time = 17.3400000000000 Iter = 0 + Global time = 17.3600000000000 Iter = 0 + Global time = 17.3800000000000 Iter = 0 + Global time = 17.4000000000000 Iter = 0 + Global time = 17.4200000000000 Iter = 0 + Global time = 17.4400000000000 Iter = 0 + Global time = 17.4600000000000 Iter = 0 + Global time = 17.4800000000000 Iter = 0 + Global time = 17.5000000000000 Iter = 0 + Global time = 17.5200000000000 Iter = 0 + Global time = 17.5400000000000 Iter = 0 + Global time = 17.5600000000000 Iter = 0 + Global time = 17.5800000000000 Iter = 0 + Global time = 17.6000000000000 Iter = 0 + Global time = 17.6200000000000 Iter = 0 + Global time = 17.6400000000000 Iter = 0 + Global time = 17.6600000000000 Iter = 0 + Global time = 17.6800000000000 Iter = 0 + Global time = 17.7000000000000 Iter = 0 + Global time = 17.7200000000000 Iter = 0 + Global time = 17.7400000000000 Iter = 0 + Global time = 17.7600000000000 Iter = 0 + Global time = 17.7800000000000 Iter = 0 + Global time = 17.8000000000000 Iter = 0 + Global time = 17.8200000000000 Iter = 0 + Global time = 17.8400000000000 Iter = 0 + Global time = 17.8600000000000 Iter = 0 + Global time = 17.8800000000000 Iter = 0 + Global time = 17.9000000000000 Iter = 0 + Global time = 17.9200000000000 Iter = 0 + Global time = 17.9400000000000 Iter = 0 + Global time = 17.9600000000000 Iter = 0 + Global time = 17.9800000000000 Iter = 0 + Global time = 18.0000000000000 Iter = 0 + Global time = 18.0200000000000 Iter = 0 + Global time = 18.0400000000000 Iter = 0 + Global time = 18.0600000000000 Iter = 0 + Global time = 18.0800000000000 Iter = 0 + Global time = 18.1000000000000 Iter = 0 + Global time = 18.1200000000000 Iter = 0 + Global time = 18.1400000000000 Iter = 0 + Global time = 18.1600000000000 Iter = 0 + Global time = 18.1800000000000 Iter = 0 + Global time = 18.2000000000000 Iter = 0 + Global time = 18.2200000000000 Iter = 0 + Global time = 18.2400000000000 Iter = 0 + Global time = 18.2600000000000 Iter = 0 + Global time = 18.2800000000000 Iter = 0 + Global time = 18.3000000000000 Iter = 0 + Global time = 18.3200000000000 Iter = 0 + Global time = 18.3400000000000 Iter = 0 + Global time = 18.3600000000000 Iter = 0 + Global time = 18.3800000000000 Iter = 0 + Global time = 18.4000000000000 Iter = 0 + Global time = 18.4200000000000 Iter = 0 + Global time = 18.4400000000000 Iter = 0 + Global time = 18.4600000000000 Iter = 0 + Global time = 18.4800000000000 Iter = 0 + Global time = 18.5000000000000 Iter = 0 + Global time = 18.5200000000000 Iter = 0 + Global time = 18.5400000000000 Iter = 0 + Global time = 18.5600000000000 Iter = 0 + Global time = 18.5800000000000 Iter = 0 + Global time = 18.6000000000000 Iter = 0 + Global time = 18.6200000000000 Iter = 0 + Global time = 18.6400000000000 Iter = 0 + Global time = 18.6600000000000 Iter = 0 + Global time = 18.6800000000000 Iter = 0 + Global time = 18.7000000000000 Iter = 0 + Global time = 18.7200000000000 Iter = 0 + Global time = 18.7400000000000 Iter = 0 + Global time = 18.7600000000000 Iter = 0 + Global time = 18.7800000000000 Iter = 0 + Global time = 18.8000000000000 Iter = 0 + Global time = 18.8200000000000 Iter = 0 + Global time = 18.8400000000000 Iter = 0 + Global time = 18.8600000000000 Iter = 0 + Global time = 18.8800000000000 Iter = 0 + Global time = 18.9000000000000 Iter = 0 + Global time = 18.9200000000000 Iter = 0 + Global time = 18.9400000000000 Iter = 0 + Global time = 18.9600000000000 Iter = 0 + Global time = 18.9800000000000 Iter = 0 + Global time = 19.0000000000000 Iter = 0 + Global time = 19.0200000000000 Iter = 0 + Global time = 19.0400000000000 Iter = 0 + Global time = 19.0600000000000 Iter = 0 + Global time = 19.0800000000000 Iter = 0 + Global time = 19.1000000000000 Iter = 0 + Global time = 19.1200000000000 Iter = 0 + Global time = 19.1400000000000 Iter = 0 + Global time = 19.1600000000000 Iter = 0 + Global time = 19.1800000000000 Iter = 0 + Global time = 19.2000000000000 Iter = 0 + Global time = 19.2200000000000 Iter = 0 + Global time = 19.2400000000000 Iter = 0 + Global time = 19.2600000000000 Iter = 0 + Global time = 19.2800000000000 Iter = 0 + Global time = 19.3000000000000 Iter = 0 + Global time = 19.3200000000000 Iter = 0 + Global time = 19.3400000000000 Iter = 0 + Global time = 19.3600000000000 Iter = 0 + Global time = 19.3800000000000 Iter = 0 + Global time = 19.4000000000000 Iter = 0 + Global time = 19.4200000000000 Iter = 0 + Global time = 19.4400000000000 Iter = 0 + Global time = 19.4600000000000 Iter = 0 + Global time = 19.4800000000000 Iter = 0 + Global time = 19.5000000000000 Iter = 0 + Global time = 19.5200000000000 Iter = 0 + Global time = 19.5400000000000 Iter = 0 + Global time = 19.5600000000000 Iter = 0 + Global time = 19.5800000000000 Iter = 0 + Global time = 19.6000000000000 Iter = 0 + Global time = 19.6200000000000 Iter = 0 + Global time = 19.6400000000000 Iter = 0 + Global time = 19.6600000000000 Iter = 0 + Global time = 19.6800000000000 Iter = 0 + Global time = 19.7000000000000 Iter = 0 + Global time = 19.7200000000000 Iter = 0 + Global time = 19.7400000000000 Iter = 0 + Global time = 19.7600000000000 Iter = 0 + Global time = 19.7800000000000 Iter = 0 + Global time = 19.8000000000000 Iter = 0 + Global time = 19.8200000000000 Iter = 0 + Global time = 19.8400000000000 Iter = 0 + Global time = 19.8600000000000 Iter = 0 + Global time = 19.8800000000000 Iter = 0 + Global time = 19.9000000000000 Iter = 0 + Global time = 19.9200000000000 Iter = 0 + Global time = 19.9400000000000 Iter = 0 + Global time = 19.9600000000000 Iter = 0 + Global time = 19.9800000000000 Iter = 0 + Global time = 20.0000000000000 Iter = 0 + Global time = 20.0200000000000 Iter = 0 + Global time = 20.0400000000000 Iter = 0 + Global time = 20.0600000000000 Iter = 0 + Global time = 20.0800000000000 Iter = 0 + Global time = 20.1000000000000 Iter = 0 + Global time = 20.1200000000000 Iter = 0 + Global time = 20.1400000000000 Iter = 0 + Global time = 20.1600000000000 Iter = 0 + Global time = 20.1800000000000 Iter = 0 + Global time = 20.2000000000000 Iter = 0 + Global time = 20.2200000000000 Iter = 0 + Global time = 20.2400000000000 Iter = 0 + Global time = 20.2600000000000 Iter = 0 + Global time = 20.2800000000000 Iter = 0 + Global time = 20.3000000000000 Iter = 0 + Global time = 20.3200000000000 Iter = 0 + Global time = 20.3400000000000 Iter = 0 + Global time = 20.3600000000000 Iter = 0 + Global time = 20.3800000000000 Iter = 0 + Global time = 20.4000000000000 Iter = 0 + Global time = 20.4200000000000 Iter = 0 + Global time = 20.4400000000000 Iter = 0 + Global time = 20.4600000000000 Iter = 0 + Global time = 20.4800000000000 Iter = 0 + Global time = 20.5000000000000 Iter = 0 + Global time = 20.5200000000000 Iter = 0 + Global time = 20.5400000000000 Iter = 0 + Global time = 20.5600000000000 Iter = 0 + Global time = 20.5800000000000 Iter = 0 + Global time = 20.6000000000000 Iter = 0 + Global time = 20.6200000000000 Iter = 0 + Global time = 20.6400000000000 Iter = 0 + Global time = 20.6600000000000 Iter = 0 + Global time = 20.6800000000000 Iter = 0 + Global time = 20.7000000000000 Iter = 0 + Global time = 20.7200000000000 Iter = 0 + Global time = 20.7400000000000 Iter = 0 + Global time = 20.7600000000000 Iter = 0 + Global time = 20.7800000000000 Iter = 0 + Global time = 20.8000000000000 Iter = 0 + Global time = 20.8200000000000 Iter = 0 + Global time = 20.8400000000000 Iter = 0 + Global time = 20.8600000000000 Iter = 0 + Global time = 20.8800000000000 Iter = 0 + Global time = 20.9000000000000 Iter = 0 + Global time = 20.9200000000000 Iter = 0 + Global time = 20.9400000000000 Iter = 0 + Global time = 20.9600000000000 Iter = 0 + Global time = 20.9800000000000 Iter = 0 + Global time = 21.0000000000000 Iter = 0 + Global time = 21.0200000000000 Iter = 0 + Global time = 21.0400000000000 Iter = 0 + Global time = 21.0600000000000 Iter = 0 + Global time = 21.0800000000000 Iter = 0 + Global time = 21.1000000000000 Iter = 0 + Global time = 21.1200000000000 Iter = 0 + Global time = 21.1400000000000 Iter = 0 + Global time = 21.1600000000000 Iter = 0 + Global time = 21.1800000000000 Iter = 0 + Global time = 21.2000000000000 Iter = 0 + Global time = 21.2200000000000 Iter = 0 + Global time = 21.2400000000000 Iter = 0 + Global time = 21.2600000000000 Iter = 0 + Global time = 21.2800000000000 Iter = 0 + Global time = 21.3000000000000 Iter = 0 + Global time = 21.3200000000000 Iter = 0 + Global time = 21.3400000000000 Iter = 0 + Global time = 21.3600000000000 Iter = 0 + Global time = 21.3800000000000 Iter = 0 + Global time = 21.4000000000000 Iter = 0 + Global time = 21.4200000000000 Iter = 0 + Global time = 21.4400000000000 Iter = 0 + Global time = 21.4600000000000 Iter = 0 + Global time = 21.4800000000000 Iter = 0 + Global time = 21.5000000000000 Iter = 0 + Global time = 21.5200000000000 Iter = 0 + Global time = 21.5400000000000 Iter = 0 + Global time = 21.5600000000000 Iter = 0 + Global time = 21.5800000000000 Iter = 0 + Global time = 21.6000000000000 Iter = 0 + Global time = 21.6200000000000 Iter = 0 + Global time = 21.6400000000000 Iter = 0 + Global time = 21.6600000000000 Iter = 0 + Global time = 21.6800000000000 Iter = 0 + Global time = 21.7000000000000 Iter = 0 + Global time = 21.7200000000000 Iter = 0 + Global time = 21.7400000000000 Iter = 0 + Global time = 21.7600000000000 Iter = 0 + Global time = 21.7800000000000 Iter = 0 + Global time = 21.8000000000000 Iter = 0 + Global time = 21.8200000000000 Iter = 0 + Global time = 21.8400000000000 Iter = 0 + Global time = 21.8600000000000 Iter = 0 + Global time = 21.8800000000000 Iter = 0 + Global time = 21.9000000000000 Iter = 0 + Global time = 21.9200000000000 Iter = 0 + Global time = 21.9400000000000 Iter = 0 + Global time = 21.9600000000000 Iter = 0 + Global time = 21.9800000000000 Iter = 0 + Global time = 22.0000000000000 Iter = 0 + Global time = 22.0200000000000 Iter = 0 + Global time = 22.0400000000000 Iter = 0 + Global time = 22.0600000000000 Iter = 0 + Global time = 22.0800000000000 Iter = 0 + Global time = 22.1000000000000 Iter = 0 + Global time = 22.1200000000000 Iter = 0 + Global time = 22.1400000000000 Iter = 0 + Global time = 22.1600000000000 Iter = 0 + Global time = 22.1800000000000 Iter = 0 + Global time = 22.2000000000000 Iter = 0 + Global time = 22.2200000000000 Iter = 0 + Global time = 22.2400000000000 Iter = 0 + Global time = 22.2600000000000 Iter = 0 + Global time = 22.2800000000000 Iter = 0 + Global time = 22.3000000000000 Iter = 0 + Global time = 22.3200000000000 Iter = 0 + Global time = 22.3400000000000 Iter = 0 + Global time = 22.3600000000000 Iter = 0 + Global time = 22.3800000000000 Iter = 0 + Global time = 22.4000000000000 Iter = 0 + Global time = 22.4200000000000 Iter = 0 + Global time = 22.4400000000000 Iter = 0 + Global time = 22.4600000000000 Iter = 0 + Global time = 22.4800000000000 Iter = 0 + Global time = 22.5000000000000 Iter = 0 + Global time = 22.5200000000000 Iter = 0 + Global time = 22.5400000000000 Iter = 0 + Global time = 22.5600000000000 Iter = 0 + Global time = 22.5800000000000 Iter = 0 + Global time = 22.6000000000000 Iter = 0 + Global time = 22.6200000000000 Iter = 0 + Global time = 22.6400000000000 Iter = 0 + Global time = 22.6600000000000 Iter = 0 + Global time = 22.6800000000000 Iter = 0 + Global time = 22.7000000000000 Iter = 0 + Global time = 22.7200000000000 Iter = 0 + Global time = 22.7400000000000 Iter = 0 + Global time = 22.7600000000000 Iter = 0 + Global time = 22.7800000000000 Iter = 0 + Global time = 22.8000000000000 Iter = 0 + Global time = 22.8200000000000 Iter = 0 + Global time = 22.8400000000000 Iter = 0 + Global time = 22.8600000000000 Iter = 0 + Global time = 22.8800000000000 Iter = 0 + Global time = 22.9000000000000 Iter = 0 + Global time = 22.9200000000000 Iter = 0 + Global time = 22.9400000000000 Iter = 0 + Global time = 22.9600000000000 Iter = 0 + Global time = 22.9800000000000 Iter = 0 + Global time = 23.0000000000000 Iter = 0 + Global time = 23.0200000000000 Iter = 0 + Global time = 23.0400000000000 Iter = 0 + Global time = 23.0600000000000 Iter = 0 + Global time = 23.0800000000000 Iter = 0 + Global time = 23.1000000000000 Iter = 0 + Global time = 23.1200000000000 Iter = 0 + Global time = 23.1400000000000 Iter = 0 + Global time = 23.1600000000000 Iter = 0 + Global time = 23.1800000000000 Iter = 0 + Global time = 23.2000000000000 Iter = 0 + Global time = 23.2200000000000 Iter = 0 + Global time = 23.2400000000000 Iter = 0 + Global time = 23.2600000000000 Iter = 0 + Global time = 23.2800000000000 Iter = 0 + Global time = 23.3000000000000 Iter = 0 + Global time = 23.3200000000000 Iter = 0 + Global time = 23.3400000000000 Iter = 0 + Global time = 23.3600000000000 Iter = 0 + Global time = 23.3800000000000 Iter = 0 + Global time = 23.4000000000000 Iter = 0 + Global time = 23.4200000000000 Iter = 0 + Global time = 23.4400000000000 Iter = 0 + Global time = 23.4600000000000 Iter = 0 + Global time = 23.4800000000000 Iter = 0 + Global time = 23.5000000000000 Iter = 0 + Global time = 23.5200000000000 Iter = 0 + Global time = 23.5400000000000 Iter = 0 + Global time = 23.5600000000000 Iter = 0 + Global time = 23.5800000000000 Iter = 0 + Global time = 23.6000000000000 Iter = 0 + Global time = 23.6200000000000 Iter = 0 + Global time = 23.6400000000000 Iter = 0 + Global time = 23.6600000000000 Iter = 0 + Global time = 23.6800000000000 Iter = 0 + Global time = 23.7000000000000 Iter = 0 + Global time = 23.7200000000000 Iter = 0 + Global time = 23.7400000000000 Iter = 0 + Global time = 23.7600000000000 Iter = 0 + Global time = 23.7800000000000 Iter = 0 + Global time = 23.8000000000000 Iter = 0 + Global time = 23.8200000000000 Iter = 0 + Global time = 23.8400000000000 Iter = 0 + Global time = 23.8600000000000 Iter = 0 + Global time = 23.8800000000000 Iter = 0 + Global time = 23.9000000000000 Iter = 0 + Global time = 23.9200000000000 Iter = 0 + Global time = 23.9400000000000 Iter = 0 + Global time = 23.9600000000000 Iter = 0 + Global time = 23.9800000000000 Iter = 0 + Global time = 24.0000000000000 Iter = 0 + Global time = 24.0200000000000 Iter = 0 + Global time = 24.0400000000000 Iter = 0 + Global time = 24.0600000000000 Iter = 0 + Global time = 24.0800000000000 Iter = 0 + Global time = 24.1000000000000 Iter = 0 + Global time = 24.1200000000000 Iter = 0 + Global time = 24.1400000000000 Iter = 0 + Global time = 24.1600000000000 Iter = 0 + Global time = 24.1800000000000 Iter = 0 + Global time = 24.2000000000000 Iter = 0 + Global time = 24.2200000000000 Iter = 0 + Global time = 24.2400000000000 Iter = 0 + Global time = 24.2600000000000 Iter = 0 + Global time = 24.2800000000000 Iter = 0 + Global time = 24.3000000000000 Iter = 0 + Global time = 24.3200000000000 Iter = 0 + Global time = 24.3400000000000 Iter = 0 + Global time = 24.3600000000000 Iter = 0 + Global time = 24.3800000000000 Iter = 0 + Global time = 24.4000000000000 Iter = 0 + Global time = 24.4200000000000 Iter = 0 + Global time = 24.4400000000000 Iter = 0 + Global time = 24.4600000000000 Iter = 0 + Global time = 24.4800000000000 Iter = 0 + Global time = 24.5000000000000 Iter = 0 + Global time = 24.5200000000000 Iter = 0 + Global time = 24.5400000000000 Iter = 0 + Global time = 24.5600000000000 Iter = 0 + Global time = 24.5800000000000 Iter = 0 + Global time = 24.6000000000000 Iter = 0 + Global time = 24.6200000000000 Iter = 0 + Global time = 24.6400000000000 Iter = 0 + Global time = 24.6600000000000 Iter = 0 + Global time = 24.6800000000000 Iter = 0 + Global time = 24.7000000000000 Iter = 0 + Global time = 24.7200000000000 Iter = 0 + Global time = 24.7400000000000 Iter = 0 + Global time = 24.7600000000000 Iter = 0 + Global time = 24.7800000000000 Iter = 0 + Global time = 24.8000000000000 Iter = 0 + Global time = 24.8200000000000 Iter = 0 + Global time = 24.8400000000000 Iter = 0 + Global time = 24.8600000000000 Iter = 0 + Global time = 24.8800000000000 Iter = 0 + Global time = 24.9000000000000 Iter = 0 + Global time = 24.9200000000000 Iter = 0 + Global time = 24.9400000000000 Iter = 0 + Global time = 24.9600000000000 Iter = 0 + Global time = 24.9800000000000 Iter = 0 + Global time = 25.0000000000000 Iter = 0 + Global time = 25.0200000000000 Iter = 0 + Global time = 25.0400000000000 Iter = 0 + Global time = 25.0600000000000 Iter = 0 + Global time = 25.0800000000000 Iter = 0 + Global time = 25.1000000000000 Iter = 0 + Global time = 25.1200000000000 Iter = 0 + Global time = 25.1400000000000 Iter = 0 + Global time = 25.1600000000000 Iter = 0 + Global time = 25.1800000000000 Iter = 0 + Global time = 25.2000000000000 Iter = 0 + Global time = 25.2200000000000 Iter = 0 + Global time = 25.2400000000000 Iter = 0 + Global time = 25.2600000000000 Iter = 0 + Global time = 25.2800000000000 Iter = 0 + Global time = 25.3000000000000 Iter = 0 + Global time = 25.3200000000000 Iter = 0 + Global time = 25.3400000000000 Iter = 0 + Global time = 25.3600000000000 Iter = 0 + Global time = 25.3800000000000 Iter = 0 + Global time = 25.4000000000000 Iter = 0 + Global time = 25.4200000000000 Iter = 0 + Global time = 25.4400000000000 Iter = 0 + Global time = 25.4600000000000 Iter = 0 + Global time = 25.4800000000000 Iter = 0 + Global time = 25.5000000000000 Iter = 0 + Global time = 25.5200000000000 Iter = 0 + Global time = 25.5400000000000 Iter = 0 + Global time = 25.5600000000000 Iter = 0 + Global time = 25.5800000000000 Iter = 0 + Global time = 25.6000000000000 Iter = 0 + Global time = 25.6200000000000 Iter = 0 + Global time = 25.6400000000000 Iter = 0 + Global time = 25.6600000000000 Iter = 0 + Global time = 25.6800000000000 Iter = 0 + Global time = 25.7000000000000 Iter = 0 + Global time = 25.7200000000000 Iter = 0 + Global time = 25.7400000000000 Iter = 0 + Global time = 25.7600000000000 Iter = 0 + Global time = 25.7800000000000 Iter = 0 + Global time = 25.8000000000000 Iter = 0 + Global time = 25.8200000000000 Iter = 0 + Global time = 25.8400000000000 Iter = 0 + Global time = 25.8600000000000 Iter = 0 + Global time = 25.8800000000000 Iter = 0 + Global time = 25.9000000000000 Iter = 0 + Global time = 25.9200000000000 Iter = 0 + Global time = 25.9400000000000 Iter = 0 + Global time = 25.9600000000000 Iter = 0 + Global time = 25.9800000000000 Iter = 0 + Global time = 26.0000000000000 Iter = 0 + Global time = 26.0200000000000 Iter = 0 + Global time = 26.0400000000000 Iter = 0 + Global time = 26.0600000000000 Iter = 0 + Global time = 26.0800000000000 Iter = 0 + Global time = 26.1000000000000 Iter = 0 + Global time = 26.1200000000000 Iter = 0 + Global time = 26.1400000000000 Iter = 0 + Global time = 26.1600000000000 Iter = 0 + Global time = 26.1800000000000 Iter = 0 + Global time = 26.2000000000000 Iter = 0 + Global time = 26.2200000000000 Iter = 0 + Global time = 26.2400000000000 Iter = 0 + Global time = 26.2600000000000 Iter = 0 + Global time = 26.2800000000000 Iter = 0 + Global time = 26.3000000000000 Iter = 0 + Global time = 26.3200000000000 Iter = 0 + Global time = 26.3400000000000 Iter = 0 + Global time = 26.3600000000000 Iter = 0 + Global time = 26.3800000000000 Iter = 0 + Global time = 26.4000000000000 Iter = 0 + Global time = 26.4200000000000 Iter = 0 + Global time = 26.4400000000000 Iter = 0 + Global time = 26.4600000000000 Iter = 0 + Global time = 26.4800000000000 Iter = 0 + Global time = 26.5000000000000 Iter = 0 + Global time = 26.5200000000000 Iter = 0 + Global time = 26.5400000000000 Iter = 0 + Global time = 26.5600000000000 Iter = 0 + Global time = 26.5800000000000 Iter = 0 + Global time = 26.6000000000000 Iter = 0 + Global time = 26.6200000000000 Iter = 0 + Global time = 26.6400000000000 Iter = 0 + Global time = 26.6600000000000 Iter = 0 + Global time = 26.6800000000000 Iter = 0 + Global time = 26.7000000000000 Iter = 0 + Global time = 26.7200000000000 Iter = 0 + Global time = 26.7400000000000 Iter = 0 + Global time = 26.7600000000000 Iter = 0 + Global time = 26.7800000000000 Iter = 0 + Global time = 26.8000000000000 Iter = 0 + Global time = 26.8200000000000 Iter = 0 + Global time = 26.8400000000000 Iter = 0 + Global time = 26.8600000000000 Iter = 0 + Global time = 26.8800000000000 Iter = 0 + Global time = 26.9000000000000 Iter = 0 + Global time = 26.9200000000000 Iter = 0 + Global time = 26.9400000000000 Iter = 0 + Global time = 26.9600000000000 Iter = 0 + Global time = 26.9800000000000 Iter = 0 + Global time = 27.0000000000000 Iter = 0 + Global time = 27.0200000000000 Iter = 0 + Global time = 27.0400000000000 Iter = 0 + Global time = 27.0600000000000 Iter = 0 + Global time = 27.0800000000000 Iter = 0 + Global time = 27.1000000000000 Iter = 0 + Global time = 27.1200000000000 Iter = 0 + Global time = 27.1400000000000 Iter = 0 + Global time = 27.1600000000000 Iter = 0 + Global time = 27.1800000000000 Iter = 0 + Global time = 27.2000000000000 Iter = 0 + Global time = 27.2200000000000 Iter = 0 + Global time = 27.2400000000000 Iter = 0 + Global time = 27.2600000000000 Iter = 0 + Global time = 27.2800000000000 Iter = 0 + Global time = 27.3000000000000 Iter = 0 + Global time = 27.3200000000000 Iter = 0 + Global time = 27.3400000000000 Iter = 0 + Global time = 27.3600000000000 Iter = 0 + Global time = 27.3800000000000 Iter = 0 + Global time = 27.4000000000000 Iter = 0 + Global time = 27.4200000000000 Iter = 0 + Global time = 27.4400000000000 Iter = 0 + Global time = 27.4600000000000 Iter = 0 + Global time = 27.4800000000000 Iter = 0 + Global time = 27.5000000000000 Iter = 0 + Global time = 27.5200000000000 Iter = 0 + Global time = 27.5400000000000 Iter = 0 + Global time = 27.5600000000000 Iter = 0 + Global time = 27.5800000000000 Iter = 0 + Global time = 27.6000000000000 Iter = 0 + Global time = 27.6200000000000 Iter = 0 + Global time = 27.6400000000000 Iter = 0 + Global time = 27.6600000000000 Iter = 0 + Global time = 27.6800000000000 Iter = 0 + Global time = 27.7000000000000 Iter = 0 + Global time = 27.7200000000000 Iter = 0 + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + Global time = 27.7400000000000 Iter = 0 + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + Global time = 27.7600000000000 Iter = 0 + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + *** ERROR *** Out of limits in user defined shear field - limit value used + Elapsed time : 0.3656563 diff --git a/wetb/hawc2/tests/test_files/logfiles/test.log b/wetb/hawc2/tests/test_files/logfiles/test.log new file mode 100644 index 0000000..e700aa9 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/test.log @@ -0,0 +1,15 @@ +hallo er en test +og en til +jaja +nejnej +jaja +hej +hallohallohallohej +hej +hej +hallohallohallohej +hej +hej +sdf +sdf +sdfsdf \ No newline at end of file diff --git a/wetb/hawc2/tests/test_files/logfiles/tmp.log b/wetb/hawc2/tests/test_files/logfiles/tmp.log new file mode 100644 index 0000000000000000000000000000000000000000..4902ba71a2216d09e24321400b60f14b90d757af GIT binary patch literal 14465 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 F{{fF{$y@*c literal 0 HcmV?d00001 diff --git a/wetb/hawc2/tests/test_files/logfiles/turbulence_generation.log b/wetb/hawc2/tests/test_files/logfiles/turbulence_generation.log new file mode 100644 index 0000000..10543d2 --- /dev/null +++ b/wetb/hawc2/tests/test_files/logfiles/turbulence_generation.log @@ -0,0 +1,21 @@ +________________________________________________________________________________________________________________________ + Version ID : HAWC2MB 12.2 + Log file output + Time : 07:18:14 + Date : 20:11.2015 +________________________________________________________________________________________________________________________ + Simulation commands read with succes + Orientation input commands read with succes + constraint input commands read with succes + Topologi commands read with succes + Mann commands read with succes + Wind commands read with succes + DLL commands read with succes + output commands read with succes + Output commands read + Initialization of structure + Initialization of wind + Initialization of Mann turbulence + Opening turbulence file ./turb/envisionpp2b_20150517_2310_s1004u.bin + Turbulence file ./turb/envisionpp2b_20150517_2310_s1004u.bin does not exist + Turbulence generation starts ... diff --git a/wetb/hawc2/tests/test_logfile.py b/wetb/hawc2/tests/test_logfile.py new file mode 100644 index 0000000..c9875ba --- /dev/null +++ b/wetb/hawc2/tests/test_logfile.py @@ -0,0 +1,154 @@ +''' +Created on 18/11/2015 + +@author: MMPE +''' +import unittest +from wetb.hawc2.log_file import LogFile, is_file_open, INITIALIZATION_ERROR, \ + INITIALIZATION, SIMULATING, DONE, SIMULATION_ERROR, GENERATING_TURBULENCE, \ + PENDING +import time +from wetb.hawc2 import log_file +import threading +import os + +def simulate(file, wait): + with open(file, 'r') as fin: + lines = fin.readlines() + file = file + "_" + with open(file, 'w'): + pass + time.sleep(.1) + for l in lines: + with open(file, 'a+') as fout: + fout.write(l) + if "Turbulence generation starts" in l or "Log file output" in l: + time.sleep(0.2) + time.sleep(wait) + +class Test(unittest.TestCase): + + + def test_missing_logfile(self): + f = 'test_files/logfiles/missing.log' + logfile = LogFile(f, 200) + status = logfile.status() + self.assertEqual(status[0], 0) + self.assertEqual(status[1], log_file.MISSING) + + + def test_is_file_open(self): + f = 'test_files/logfiles/test.log' + with open(f, 'a+'): + self.assertTrue(is_file_open(f)) + with open(f, 'r'): + self.assertTrue(is_file_open(f)) + self.assertFalse(is_file_open(f)) + + def test_simulation_init_error(self): + f = 'test_files/logfiles/init_error.log' + logfile = LogFile(f, 2) + code, txt, err = logfile.status() + self.assertEqual(code, 100) + self.assertEqual(txt, DONE) + self.assertEqual(err, [' *** ERROR *** No line termination in command line 8']) + + def test_init(self): + f = 'test_files/logfiles/init.log' + logfile = LogFile(f, 200) + code, txt, err = logfile.status() + self.assertEqual(code, 0) + self.assertEqual(txt, INITIALIZATION) + self.assertEqual(err, []) + + def test_turbulence_generation(self): + f = 'test_files/logfiles/turbulence_generation.log' + logfile = LogFile(f, 200) + code, txt, err = logfile.status() + self.assertEqual(code, 0) + self.assertEqual(txt, GENERATING_TURBULENCE) + self.assertEqual(err, []) + + def test_simulation(self): + f = 'test_files/logfiles/simulating.log' + logfile = LogFile(f, 2) + code, txt, err = logfile.status() + self.assertEqual(code, 25) + self.assertEqual(txt, SIMULATING) + self.assertEqual(err, []) + + + def test_finish(self): + f = 'test_files/logfiles/finish.log' + logfile = LogFile(f, 200) + code, txt, err = logfile.status() + self.assertEqual(code, 100) + self.assertEqual(txt, DONE) + self.assertEqual(err, []) + + + def test_simulation_error(self): + f = 'test_files/logfiles/simulation_error.log' + logfile = LogFile(f, 2) + code, txt, err = logfile.status() + self.assertEqual(code, 100) + self.assertEqual(txt, DONE) + self.assertEqual(err, [' *** ERROR *** Error opening out .dat file']) + + def test_simulation_error2(self): + f = 'test_files/logfiles/simulation_error2.log' + logfile = LogFile(f, 2) + code, txt, err = logfile.status() + self.assertEqual(code, 100) + self.assertEqual(txt, DONE) + self.assertEqual(err, ['30 x *** ERROR *** Out of limits in user defined shear field - limit value used']) + + + def check(self, logfilename, phases, end_status): + logfile = LogFile(logfilename + "_", 2) + if os.path.isfile(logfile.filename): + os.remove(logfile.filename) + status = logfile.status() + t = threading.Thread(target=simulate, args=(logfilename, 0.0001)) + t.start() + while status[0] >= 0 and status[1] != DONE: + new_status = logfile.status() + if new_status[1] != status[1] or new_status[0] != status[0]: + status = new_status + #print(status) + if status[1] in phases: + phases.remove(status[1]) + time.sleep(0.01) + code, txt, err = logfile.status() + self.assertEqual(code, end_status[0]) + self.assertEqual(txt, end_status[1]) + self.assertEqual(err, end_status[2]) + self.assertFalse(phases) + t.join() + os.remove(logfile.filename) + + + def test_realtime_test(self): + self.check('test_files/logfiles/finish.log', + phases=[PENDING, INITIALIZATION, SIMULATING, DONE], + end_status=(100, DONE, [])) + + def test_realtime_test2(self): + self.check('test_files/logfiles/init_error.log', + phases=[PENDING, INITIALIZATION, SIMULATING, DONE], + end_status=(100, DONE, [' *** ERROR *** No line termination in command line 8'])) + + def test_realtime_test_simulation_error(self): + self.check('test_files/logfiles/simulation_error.log', + [PENDING, INITIALIZATION, SIMULATING, DONE], + (100, DONE, [' *** ERROR *** Error opening out .dat file'])) + + def test_realtime_test_turbulence(self): + self.check('test_files/logfiles/finish_turbulencegeneration.log', + phases=[PENDING, INITIALIZATION, GENERATING_TURBULENCE, SIMULATING, DONE], + end_status=(100, DONE, [])) + + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.test_logfile'] + unittest.main() -- GitLab