From be1e403cd86b7920b164fc5055b7817957abf6a7 Mon Sep 17 00:00:00 2001 From: "sven.seyfert" Date: Mon, 14 Feb 2022 22:09:07 +0100 Subject: [PATCH] Changed: All function names renamed to start with capital letter. --- CHANGELOG.md | 8 ++ build/Au3LogFramework.exe | Bin 1299968 -> 1299968 bytes examples/AutoIt/Example.au3 | 88 ++++++++--------- examples/AutoIt/Example.exe | Bin 1016320 -> 1111040 bytes src/Au3LogFramework.au3 | 22 ++--- src/BasicFunctions.au3 | 24 ++--- src/Declaration.au3 | 2 +- src/Functions.au3 | 184 ++++++++++++++++++------------------ src/HtmlStructure.au3 | 88 ++++++++--------- src/Screenshot.au3 | 6 +- 10 files changed, 215 insertions(+), 207 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4a7fbe..9e4b1b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Go to [legend](#legend---types-of-changes) for further information about the types of changes. +## [1.5.0] - 2022-02-14 + +### Changed + +- All function names renamed to start with capital letter. +- Version bump. + ## [1.4.0] - 2022-02-10 ### Added @@ -57,6 +64,7 @@ Go to [legend](#legend---types-of-changes) for further information about the typ - AutoIt Code formatting to the common notation without additional spaces after opened brackets and before closed brackets. +[1.5.0]: https://github.com/Sven-Seyfert/Au3LogFramework/compare/v1.4.0...v1.5.0 [1.4.0]: https://github.com/Sven-Seyfert/Au3LogFramework/compare/v1.3.0...v1.4.0 [1.3.0]: https://github.com/Sven-Seyfert/Au3LogFramework/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/Sven-Seyfert/Au3LogFramework/compare/v1.1.0...v1.2.0 diff --git a/build/Au3LogFramework.exe b/build/Au3LogFramework.exe index 684b714804658d43393f44200bd7de3eb9c9751f..463ab69d951b6693ffa5f331b6c2c9acd3908924 100644 GIT binary patch delta 8536 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 delta 8561 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 diff --git a/examples/AutoIt/Example.au3 b/examples/AutoIt/Example.au3 index fc2faef..381d07e 100644 --- a/examples/AutoIt/Example.au3 +++ b/examples/AutoIt/Example.au3 @@ -1,12 +1,12 @@ ; compiler information for AutoIt #pragma compile(CompanyName, © SOLVE SMART) -#pragma compile(FileVersion, 1.4.0) +#pragma compile(FileVersion, 1.5.0) #pragma compile(LegalCopyright, © Sven Seyfert) #pragma compile(ProductName, Example) -#pragma compile(ProductVersion, 1.4.0 - 2022-02-10) +#pragma compile(ProductVersion, 1.5.0 - 2022-02-14) #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y -#AutoIt3Wrapper_Icon=..\media\favicon.ico +#AutoIt3Wrapper_Icon=..\..\media\favicon.ico #AutoIt3Wrapper_Outfile_x64=Example.exe #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_UseX64=y @@ -47,7 +47,7 @@ Global $sFileCurrentReport ; functions -------------------------------------------------------------------- -Func _callAu3LogFramework($iAu3LogFrameworkAction, $sTestObject = '', $sTestScenario = '', $sTestScenarioState = '', $sTestScenarioStepType = '', $sTestScenarioStepDescription = '', $sTestScenarioAdditionalInfo = '', $sSystemUnderTestTitle = '') +Func _CallAu3LogFramework($iAu3LogFrameworkAction, $sTestObject = '', $sTestScenario = '', $sTestScenarioState = '', $sTestScenarioStepType = '', $sTestScenarioStepDescription = '', $sTestScenarioAdditionalInfo = '', $sSystemUnderTestTitle = '') Local $sArguments = _ '"' & $iAu3LogFrameworkAction & '" ' & _ '"' & $sTestObject & '" ' & _ @@ -63,39 +63,39 @@ Func _callAu3LogFramework($iAu3LogFrameworkAction, $sTestObject = '', $sTestScen ShellExecuteWait(@ComSpec, ' /C cd "' & $sAu3LogFrameworkPath & '" && ' & $sAu3LogFrameworkExe & ' ' & $sArguments, '', '', @SW_HIDE) - _randomSleep() + _RandomSleep() EndFunc -Func _getCurrentCreatedReport() +Func _GetCurrentCreatedReport() Local $aFileList = _FileListToArray($sAu3LogFrameworkReportPath, '*.html', 1, True) Local $iFileCount = $aFileList[0] Return $aFileList[$iFileCount] EndFunc -Func _writeFile($sFolderReport, $sText) +Func _WriteFile($sFolderReport, $sText) Local $hFile = FileOpen($sFolderReport, $iFileOpenMode) FileWrite($hFile, $sText) FileClose($hFile) EndFunc -Func _getJustFileName($sFilePath) +Func _GetJustFileName($sFilePath) Return StringRegExpReplace($sFilePath, '(.+?)\\', '', 0) EndFunc -Func _createAdditionalInfosFile($sFile, $sText) - Local $sFolderReport = StringReplace(_getJustFileName($sFile), '.html', '\') +Func _CreateAdditionalInfosFile($sFile, $sText) + Local $sFolderReport = StringReplace(_GetJustFileName($sFile), '.html', '\') Local $sTimestamp = @YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & '''' & @MIN & '''' & @SEC & '''' & @MSEC Local $sFileAdditionalInfos = $sAu3LogFrameworkOutputPath & $sFolderReport & $sTimestamp & '.txt' ConsoleWrite($sFileAdditionalInfos & @CRLF) - _writeFile($sFileAdditionalInfos, $sText) + _WriteFile($sFileAdditionalInfos, $sText) Return $sFileAdditionalInfos EndFunc -Func _getHtmlATagWithAdditionalInfosFileLink($sFile) +Func _GetHtmlATagWithAdditionalInfosFileLink($sFile) Local $sHtmlHref = StringReplace($sFile, '\', '/') $sHtmlHref = StringReplace($sHtmlHref, '../../', '../') Local $sHtmlATag = '"' @@ -103,12 +103,12 @@ Func _getHtmlATagWithAdditionalInfosFileLink($sFile) Return StringReplace($sHtmlATag, '"', '""') EndFunc -Func _getAdditionalInfoHtmlATag() - Local $sFileAdditionalInfos = _createAdditionalInfosFile($sFileCurrentReport, 'FailureMessage:' & @CRLF & _randomWords() & @CRLF & @CRLF & 'StackTrace:' & @CRLF & _randomWords()) - Return _getHtmlATagWithAdditionalInfosFileLink($sFileAdditionalInfos) +Func _GetAdditionalInfoHtmlATag() + Local $sFileAdditionalInfos = _CreateAdditionalInfosFile($sFileCurrentReport, 'FailureMessage:' & @CRLF & _RandomWords() & @CRLF & @CRLF & 'StackTrace:' & @CRLF & _RandomWords()) + Return _GetHtmlATagWithAdditionalInfosFileLink($sFileAdditionalInfos) EndFunc -Func _randomWords($iWords = 30) +Func _RandomWords($iWords = 30) Local $sText = '' For $i = 1 To $iWords Step 1 @@ -128,46 +128,46 @@ Func _randomWords($iWords = 30) Return $sText EndFunc -Func _randomSleep() +Func _RandomSleep() Sleep(Random(500, 1250, 1)) EndFunc ; processing ------------------------------------------------------------------- -_callAu3LogFramework('start', $sTestObjectName) +_CallAu3LogFramework('start', $sTestObjectName) -Global $sFileCurrentReport = _getCurrentCreatedReport() +Global $sFileCurrentReport = _GetCurrentCreatedReport() -_callAu3LogFramework('test', $sTestObjectName, 'First test name', 'Ok', 'Given', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'First test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'First test name', 'Ok', 'Then', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'First test name', 'Ok', 'Given', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'First test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'First test name', 'Ok', 'Then', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'Given', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Warn', 'Then', 'Test with status Warn', _getAdditionalInfoHtmlATag(), $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'Given', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Second test name', 'Warn', 'Then', 'Test with status Warn', _GetAdditionalInfoHtmlATag(), $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Ok', 'Given', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Warn', 'Then', 'Test with status Warn', _getAdditionalInfoHtmlATag(), $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Error', 'Then', 'Test with status Error', _getAdditionalInfoHtmlATag(), $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Ok', 'Given', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Warn', 'Then', 'Test with status Warn', _GetAdditionalInfoHtmlATag(), $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Screenshot', 'When', 'Test with status Screenshot', '', $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Third test name', 'Error', 'Then', 'Test with status Error', _GetAdditionalInfoHtmlATag(), $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Warn', 'Given', 'Test with status Warn', '', $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Ok', 'Then', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Warn', 'Given', 'Test with status Warn', '', $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Fourth test name', 'Ok', 'Then', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Sixth test name', 'Warn', 'Given', 'Test with status Warn', _getAdditionalInfoHtmlATag(), $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Sixth test name', 'Error', 'Then', 'Test with status Error', _getAdditionalInfoHtmlATag(), $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Sixth test name', 'Warn', 'Given', 'Test with status Warn', _GetAdditionalInfoHtmlATag(), $sScreenshotWindow) +_CallAu3LogFramework('test', $sTestObjectName, 'Sixth test name', 'Error', 'Then', 'Test with status Error', _GetAdditionalInfoHtmlATag(), $sScreenshotWindow) -_callAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'Given', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'Then', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'Given', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Seventh test name', 'Ok', 'Then', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'Given', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'When', 'Test with status Ok') -_callAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'Then', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'Given', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'When', 'Test with status Ok') +_CallAu3LogFramework('test', $sTestObjectName, 'Eighth test name', 'Ok', 'Then', 'Test with status Ok') -_callAu3LogFramework('stop') +_CallAu3LogFramework('stop') diff --git a/examples/AutoIt/Example.exe b/examples/AutoIt/Example.exe index 8c0fe1c3325b4ebbdcb2f7eccce4c6f222464895..35b374971a66059d121a74f167fc8bcf6ecf92c9 100644 GIT binary patch delta 141640 zcmZ6y1z1&G*Dk#GhD}Phpdj51(j_1%AR-_Vigb6g2tm3Vq(ebMK)QTDkdl&+M!LJ} zpFH1r|L;9#U)N$V*P3hQm}A@{mfw2`zqKb7GzXqSc z{FE)155i0?(vVu3m^&@yZdKkyXs;S>P}*BwOx7b>`r;6eizI=C>vg$XV!aAAY% z9=LF7PZ78bPoZoW%nuE;QwJ#M69$9B{6H@-azOC`RREM6P$NJA`S%CL4}O@SDh%ch z?t>}7VgN+}^b??W&)Wb+0y+WcUHf~0q63P7fcaqnN&_e+42FOSC6_AUl0oXA3~vAX z`=9pFVR!Y-|4)6;$z6R|3ZQr6tN;`n(4TPz1L$W!?UQYkamnBz{}R+}a5p(y8J8GQhmzc)f=ibC z5j;gqpd|17r%;=rjLQ#CHd4h!Mf^lf&Q!)FP2N($bxxjF#zjJ4Efhv^Va#AWOLybC z>tXEwE~kwD-{rOmT-bo(|JIM8#e*?p!2kdE>saw&%rgJ`eBK%#_KD$t%OP=~4EFG@ zKj^MQ?mT>$IVk*R04YWIFm-VMKjk%0P5=Y_PuaT^9~K5S?>}XXYJ6DCf4^Uc54-xW z`Ux%gu-E@pf3E`{X8J$%|Lq^9(~S?)`L7kI=)s32W&Cdk3T6bbSN}Djd{8F-uX5f0 zQ||kJ%JZO%3b^q<175Nqfb9aVTtcmlQ^SoyfkM@vJ;lMgf5$*LiVCvN|A#-|FpN7E zeeL+k6b4gFQk0c`;Xb+D?BPtc>auoTQqcG{@RBhAAs54;L0qT#{9SB3v>~2&PHf z%)F~d$5hZsVTb-6ZB$02+z(RFRNzYfgxMGvaA_%o>>>aCY=njpYz@WJ&o-N=4(<#a z_hV~gm`B)iPXC@>I1%5Y5N&}FdoY`C0zqxh=WXYo8DXj;r~QZOX7VY8P%;n_uxAJ+ zztewI`w5aw4k_S<@FfaR`A6G*BaVvuI{riRKO8c~aQN>94PsHD&LVN&r>A+%koGb8 zm&0Bcme!b}RS@XliNV;r$TQVsU(93dQD!42h-@uw-Sj?nN0h@HRUkbZRk*w{L_C4| zqLCxMmkQ~M5cNy4*K}%~LZ~u&BV$nd3~n&9N!`hrUG)mZ3dkmq{P5O;r|5sWv|+lr zpcB$P;ysUuhjV5})v#7ngL{t!44w2+LPN@7yb7Romc7e1GM?a5iBw~zJ;a{fLg9*S zZBQ!n85Rvn^(Zv<1-%7LEL5^-K(M(@xlJ-CJxy<#v~%+e%P8V*h2bstu6Tm&W|>Yi zP<>Ia_`%Yx*KiwjXv6aIOKTYKc@w##wbl-hdHQFeNP@m=>p3El_eiADz{}RK8^l?} zROQ*dUaPj#cGZ5cI33uaWzG?wxl}`Q4rUZQ_)@P5^Nh3N7kI|o<2zptS{1!}Z;!-J5zJO#4`rU9 z)?~k%wH2-9fvu&)26(Y8U;A#8o&0ycP1Xs=ndQNwM^%|arjXVc%_7VR%*+xs`3ECa3Op{?cYat%$r>2nsC zlm9QMJ!JHBpP~o5t(I}*pFG7p7?@rrnr}!f+dx-WDDHeZnA|EDB$F1EinI!qp9G+5Rm{CPf3A9t@PYU9 zW^Gx)fW@Xs=|@zAkaufAb!JG;Qsv{#`-5Wsj!~b2XYneZSnkH0^(H^(gtAqwupY%+ zAnPk;`+IVD%9EQcqjyXD``v6I*y<2 zdq>3CU|c-&Ffgue@i+5+=l48G2Uzc3utVvuGo&0aJ9v)8pFWVww7>LkU24C6+unu6 zcv<7R&*#z8q;IR;mEb8seCd84rjvejbp_8zl_q0ld&#Vq{PLk{AXy+Uq{zDWZNc@`0C z(KZWa0X3;|WF=#@Szmei@dCctr(iN^%k@dc?o! z`CShMZJbw`b7p@v(6)FZCq16bGW!MFk3JwD^M!ux@@b@^ZSl`cdPp1mdzWUJlw zY3f=Z($@y9rao#DEBn!Ftq6jJ`{N_ePZc+lO)6=}dz;b(YxTrL75R zPd&mMLz@HcyU_XL;%tehmHSX{B_V?q3{neI9-$`LGtgzmUC_p68oUW*#BLI_sqGQD zUz`aMbehu%)0y3k@7V0jgRkX^#P({5dfn0&$N52ueb_v1M9tx{wXfpKqPzVm+EaF3C0VYW zS*gLG$jQ$3^MDSD*srK1<#Et7;9BEDaZgESSCxTCP=ibku`31drq_?Wkx2h%l}KAz zsa{CzC0uL*hVD!TXR-r^JWJo zV<$O8^Zm<*$3wnb%(Vt~@}#owG^9vT=`|@rW?v#kxF?6rsvHi!Os4|&8fhEgb13tE zjM!*v{qlOThP>uWgMFrGdBIpwNPlX3+jiobBTN-W0w;MOhfZ?uNft8=M($927;SEf zd)9<0m9e#Qgi+O_5-b?R7Tb`wLFcn zX2N7@3G>u6LM`vVdN`1ib+s>9VWe6-e4Sh*5$(QC`=e6!GgY=u5@xEBRG1gDm@3F_Toqx1m@#7k8JGI(A4PRyOhvG2vQorDiV+yWxbbq*G*B1JerMjF z7@3Wj2@Akg2-qitNk0qIw%6O+-~R#lA`2h{HclMgaxZk{pKG;$Tsgsc80=@h_?=W1?F9+^9!mCk9D80ieU6tGF>G%UbZ=kxS(uJ9 zQzZ)4g2V2(nz@t-rO-P#^dt~OZ*Fb9yS=%dcAN9j_1Jr-%SeSwg!`d>x8?F|0S`)X z>}!iieO;>4mQY2Vvn~=xLlcgGOUn|X2IMN_&{JH>`lrz6tbE0R(Y)i^h@~gc8V4*u zAoqw|+nNxWJ9M`1x`>_^=|g$esFJ}>ht+m;ej6G7m|+!a(sb~e?An>Gk1sA}HT{*5 zs+C%(lKM}vR*8`FntD&m#CD={mP8OU1}Z~nHZ!dPO*)p;J#wWS^>}rGk5}Jdeo@c9 zMj|j2cxeN2P@O-96hHr@)bS1{@#^7FL|m&yN$I&R<69J70mRwEm=Tvg+hMNW*Q{A_ zC;MT!6?StHki=>IfQir9`PpK$(*=-1GYtafjRvn(Za=ya2zkUI6mz8bJt4(7%n*e1 z1DRZN`H|GD?nOpTb7OBDR*XZFWi)#fR!hq@L6j-#-hR za-&c7=C=_k?x(6QE)KI8Df|lE-X!=ujiOqJ&$^20JBS_e;j=!T*FO6y&s?I=O z4A;9KX>ys5(t_KvKM}~vB*_NEnA4w2An`Rxq}1bLkpAS^sRp>4iL1$cq%FfQ^$u?V zEQpR;rBBtt-b1O~l`XSK7oKwUQdPx?7C#|h##Od)+ntRpw9pOLB$FdhjMHiM6kuQw zM5%;~VkU|Of_Duy*0e}+i-V)~X>>;XvzhOYychFT6r^L(jk`Ba?FUO6J!5)4Cz;|< z+w8z{r|lR4%-WUVtbhJo$&Ndv(g*CIO1i16gyh+LU`>{|_Zj!o=qTkkML{$eV%OEp zjXLF@vh6OMJ&A)1Lkf?`4_evTxY^To&YSwzMV%a{w?Viu!41RM8< zKa(iJ4Rueyc2}y*!>*=z)9!d<)PZayO~8toLsiv_83Q5ew$s;b`Rz}YS(SIa&oj*9 zvI1F|N3>x|t;NITmcfJ-#QsbQqp&!73SX$A_C!qzr%h;TKIPxtA=P<2HUN3W!WCE2 zRNHZbWWMk`(d2+`3suvtDLvfW9;4$u>6`F0&i zA;vr4;z^~me4@3QcBr|f{kUAeQLshkmkd5?SLgWX=#O5m)(kCO4u%TfYfrDdcg(WR zx&l6h9NF3$6zW>UPLE>9rovoqIkY!Bw)SjvM*+K>=|~8T5wy8Yw?KbiJG~vV)?1vb zH0e!|nDO1#^zf)(6ua76Xa^#2Ro1oWvtNxlfsdRVW?*(P;fPB@exHbe3^$2i*(OGZ zsBbSbw?+|+)YvjU@8zBD#c8{?HMA+K=Qb(cJ{c|1p0cg=oJXhj#@DUEt2MW<;JIg~ z``UvkjJ8C(+;oT*x@6v7tF-ha33@1(GeCvZF@WRPsUn@l9jF(dGg%<;^m}ybT7i|* zZZ656M9^kf=Tl%iXppg?&BeiCvhYt(R2BiMKLwv@g++XG(aPFT9t(ljA1Qp)htTw! z_d-^r*HxxO8pIbbjERlphCM#-qd3TkV1fbX*{0_KFb6FZbMH~qmh+BpeXdrswC>;k zfW1qC>hH2SCX9wIAh290d-eOXX8mfWm-VTI)!49|C#ok29ao#5DLHC0Ki1%jCvcTv z7Fe4ZK&9*B$es&E$LG|(ka-6EF0ym0r9YB^1hi%suB3v^he9{8Z@mBIeEtFOtSnQMf>}V11g=MtgKSY&La|caS;h7GX8;IIquzv&8kf+SJa7=|Ew5cH0pKv+Rq=Ph}M0fj?U{{E7=F zRlg9l(PtuHVk0m0_!wpapYkEjc-6N~Mxo`jk^+;Osomz&+3JBe45L^7khK_1#dvyp z3VEN|zobLucwCT2%gV_p(i)&wsLcH~3h_2A*z!K|P!aQ!rKQ9@t@I;J826<4{{I+zvmQ*b}zdLbowbxz~sf#zK_@!%A01!L;Wf_pq5F7E z*C$iD&737}8G<(Vdy_b-#O1U2l0%jW)QK;^Y#&mf+C=)bkkLS?OjDLtN>4?YKSoHk z4$$-6SOm0n36@D(ecsjKyLy$C&SQ+0b>3%oHd^kR=-3xa_tf0ZZuMl!&TRkhj~6dq z+)F>1!pt+sR$?cmyB~>rVW>g;_A5ES4hw*7k4{hVZtQg_t`o5_y}grSn4i-t@4xuF zKYhVzHva7+g5C>)_i41z7n0{~-yGVb7v#YhRWqURQ`3Iwue!Rf1LCJb!N*Za%e~1} zUZ=KG3T@$JT#oyH<$N!v<{Dh_j=YLPUkj=Iyob-4@B$HF{(_8`$gVE*Bf;P)B7aX# zULDr{4Bp3UxY#4~SMHaP&Y9$XsM@=wt0d)L4$Zz2G#DKa>n=_1{n3EGXwrQBNmFRj zjRbzXNQF0=z<&L*fJ@$u7Bf1zbpCTR_ie+I&t_A z3!_}T2!d9O|9m!059%PR;Acur1D340vmPXU+c)&|Mj@$yF@v;=YtMyB^T;~2vDQ?ox& z9;4{PQN6^W&nyRBvenbmo>0GAPCX}owLtD!*<6cmISDE&@XJ}%!~$$r!1 zLviuZ@$t~ql(L~A_4W1j>qb*Un}*$a=|SlsXEfBr5LR__(n)m}996OzJ9X-;<&{6t zYmm0qk@@d0F3cT7fsAA*kxbYhGsNKhliTFa;1R+@+1i*w{GI8K?M#onP^Gh*n?Ejg zMNjRNmz9|=_aydZ2#+|xH5i5L=l!-Fm(~*5KI!Y5((xupsqpclv!x|kWi=IlGb0fp zK~`}yn@X!c(qQx^)C>b%DSXVOia|ZxoRjAEtA=jbP!t?qAO|%)-Zpg4LRqfVVdr zT`tydy|Qm>sozO#`lX(+m5ply*JkRw?~*XNuzzN>w>LR<{#2psk9U1D>bkhHhnjCM zjyJ1bDox9b@Z&xdQ*d*0>uFi5kJeB@NvBESB1AqRY_{;#nJmp|rVl}t>t^=n>`nN| z`=e4NM+-y1LWCQWrSp5{YCi0ti{9H>9sBl{B1zXR@|l?#3X7Cy;&vV$!fY?U{47RP zB*bX`bU3Qaft9Xs(Bk7G0eY7rgkojkq2Cidrg3qSP-C;{pVRgxpd(apkg25icp1pE z`DrLMB351)5gJbwezb<{VbCXbP?r*5yZ z;}ub*=g;;Rqg*57ymkYk-S&!9^4&{Gp!vgLV z-W(5A*Gix9X)c3<-g|ni_p-5sy16Pz zEI2M_4=SJ+Dn2o*QUNfBd}W^z_teZ7_!i&qGvH z)WXK*+f1#)VrRzDv!~Gy3#zL4Hs|88Ig^u}KIhXLbV;>+!X;KHwxxQEF#S{Zmp~AA z#;6F!sI@ns&Tc#;zB=${2fEy@efqI?PQ-V2wz=j~Sy_3p84_H*X@_)gntLGjS2C?> zA?nrgsEE#X@$L`TPZTYtT(RciwFSRb~qEZ1p&n z1lh1YlPS1{v$&h|!>>)HHHAXJm1<=}zJb(1c{i4}D2)n9OAWe^y3XWs5au*i*bm-- zv+j7dw{V8YSr~Nr$fjLp56n2s=wK_3(&1ZG}j*J|#QBAC@o61QQ6 zJbV;dm8_YuL!uS5+c)0=sqXamsavHayIxJiKaa3D=VItX0k(GndT8&r=1Ga37a7-r zysq%aA#(k%p2SRPgBYe~Yg;>UTJ772wjJ<7w3v5y;|eXa->*+gC+-= z?1H9-mx&OaR2JRK$~Bi9d6^@7`r|IHJJS}8c0;*xQHeo(k@3q=-SEnJ7!8K?M8$VO zfpiHk!Pw85i=&YjFA{yV=uDG@4$~#M^CP?dwL0*1{?<63zc;#wW)rca`2*EmbLuyA z^rt_z@gh|nsk2`|6g~S`DehLre*28))`<9V|4BojH8+5GmX?+Pg5s4G8O8x;3($DJ zT957;CxO9~0r>pu)Urg-_Pp~Yr?(6p44KxcPsTN|Q z!48OSl`M%Fr^q=hh`^xUv0%}%+kfxlQL62C1HR;(-1@9eb~SvSNzW_1@Wz=WcIvMY z{%-osGH;w|OaQyH>Few7qxW9i4(2=oh<5TMgYvO$pXWZF{`j3TG~Tsaeth&QP~oLc zx}Z%ZmxF5;?M1*N&$lo2Q8*;9_H5u%&-K(^!s5%0v_&ADSpQrYUqgfSY3un)x>W9h zMcT^5C18Kkfy|FY<8zI>Euvd3zkWSaI|+OFa(QFJ^5qwuH(n}V8YX|5e_=Jv(QGH> zW=`#1VwfF^C-IZKb!$swD!)FXLkRvckEWJ<$hFRZ5wO^#H}29^Z&g_DzMs2@ff}I` z{87}+(-sTjCNBEDagkAfq?RR}l{;LLasuO6AW2#3nDVSdd~(z)_U=5u=ySv<__i|H z{^P3rb$#5yfup0e2-^*C&SVa$Jgt`}mNV^3Ss+*Z{6&XC&0@BM`G}<_Tc#-9ofzM4 zvm1*BI@F9#RLA&A!zay|^fdb-_nJ1xxGQRCcJ>#P^W+1S7sQqh_xzyM}p8tywT_(yD1L5Yrl zED5#IaIUZO=eLSRL%9wg2b9FMa+%p(L$HC><&bfCH}cP#MW)ATrRP_oyG`*YX3su~ zKtH|*qKnT_`fg}uRnC;nd`k$S3Lz7TJVTTA8wMVu^%!zEyS-knO0G(3&p&oP=?K1- z=Ik%`&LN1jpWVu&`3wG#Gc|(lG^6dogK?WvYEjpS%*@P$?S`_h>zhA2*Fb&?J1&K6 zOE3lMDl3OGMf#JrHy{~8{Y`q;w1_>Sx4^87Bc@s!-F(P|O_Kv#Y2;944DDCq_)wUb zl)E9KB-Z?mfJq`PvkeQ6lbSsH;NlxWbnVaO={bv;@40f}I^Qf4x6Odt<_BAOQykHG zrN0)&(&wVgN;m9ZAA8$=TbO=)Qq`Greoy7^=QeKzW$MB;|o#-lU+DYyO?tuWU+I|Tr2buAOSP2kU{C~`uEvcrp-LtEo)$2Z=r z+@F5sbd`HV^!dw5`03saet{nm@~M-RM|HfPK8~<~o}#&7y&N=fa#C;d9uI%l)NxMo4XYODh#y71Y@o-h(NYbT?~s8W#SX z`K^x>RXHvzO~uAExMRjvQ4f`{q7ug<6zTI*F`vX|`YZm!uD}el# z8JN4CnOn|_miP>aq zO9DL>J*F-`0n(?E1dn0~nX*#DpW0!8I#}|_nGFjlgW6mkz7H8%dydYBQUr7)#|MXI zGcD6^{#3kar`ZiWp8bp_?dDc%yz;i3d-{02c1Au+_dqPS7?LGU{IpD(@p{DHB1Rpi zIi19qCv-HAlBU!Vff4>GNkB(#)R|wt_VsTd1-3Tx+_NF#tiA``e}X^sw3znaCl&6H z=YRaT>q&a^7!5nJ*7Ml1a6)z99fisAM#3tMDI>x0*l1KZ3uv2&72_waG=3jzZKv{( z3vs{u=e3AsNSI7Dx@|+l9n~?YY}0zOy4yj74kI8>T3v&9fD#ocJ>P41Q+fRhiA|m& z7-^stX@I%iG2lpZAB8tX>>N5uJa@hyX{Mvt%Sp0ax$gf zwec5uW*RTh;@;vAJ}vT9Ga9pA(lxGX$Mw;1(KqXkgBZTN`o?OqBbfkXL#6c}UcJRP zK*HmRAK@=AFK6;cUYRztGCf4UY0Frhw+GKKXY%?mo1o<2JMH@gU-X4hHlh)&Dz%P3y)T6)@WVsTpRO+XHO>^V0Bxxg(^ks1vJ&7EnRGDL z>2afCQc4ZlSX8PWV9<<6ehwiZCniSbF~!n{nWWNIN%;JvGC-5d3-(bbUWCd6g0O7{ z>YdkzhcJ1TUXAFw89k`79A#CadY$TZy7NHr@GF^4tFO3;$!DYi23lz8Ym#VO0Y?nW z{S5eQ^WSO=85y|y__|eKJdP24=S862!gqL;KUq&Of|+k~G#NcG0X-lA9i?*)zPLM_ zOS^RbxgOrz(?dnJ^A5XcNFLJGCbMhW4=y6{OH`b|ZGH>C{=r~63wweoE6^W;Ya&C5 z%5Zn+qju%}X)ttC5jr{#;a0@z4>7noh~Jq?!=13OQZ&u4Bx?t~4Rxe6CT10qOPm+F z`!dDTH!LrU_do!ltY{ol$5xst&wT6GcSTt`MJriG>%+%WSMROQpeQ;&c2zig#5@g< zG`ajVeB$J9U8O_ngOGh}?C*RvV$WH@-$y95Gf9rP`s4MdvtIhCULpnKh~07`d{qB` zcOpw-SMY*#_Dva4C;^W)c5%}FSo^p*VG<%mJ?KT(q;uybpPm&aqEM@zoraHr{M{?= zjw5yMn=}G|f7r8Rs<}tcEA1C#KnTdut5v1Xo0dbeXpIs!aPG zzp&=_m1hq`V20=@2S2TU{@d6bu>Xe8vjj*e5>_dMRJeJljEUN>b10*mtB}MJmw#5W z?dtWfZ}m0D*#5d2G&yF(_^;dgs7d+`Q$wf-|KFSGyg_T#>-zz;K9;n0ZK$QJ`CwON zXObA>g-Ve>Pl##G8)c=X2vL`ol9_44X}=o9unA(y$mGPZ9p1i^)o|udadC4KU7_4V z1ki9BciwyGwZ$`aeUbLTM-zr|6q?U&I+OC9IKu8MWSyg&oRapkha3WJ)0Tdm^7vAa$H-G2!v*pyG*0#Qj;Z^Y{3L7s?-6ScyF$gJTU6k`o_$kmo?i-d!`2}F zc({#ndr^M7aba%qMF(es#SF%0#=~t~`1PHR)?eH2m`SqLlwdX^U^YR_0Vymy|>Zk6sY56`c{pGC1r(k5xCX&0Gh;M(ZCRYNN_swBe?aaea zS@-j0kgQ_&IwW_E9R8WZP+B%=Q7h;|%Y{~pWW(=0LZP)M=&6GjmVIe{!mPUG`?;(0 z!&G4>)7j&jeJ@%J0AqwEnP2JY)q5P8&h}*eIu>p~`cE8?>_aS4vKpb!r~>B&05)Q~ zlbX}7u(_#r2hwaBeZ+cwow|X4B-Z4Q>s(2B%SMg+A_zOQoc-Vuc|nra)drY0m-Z#$ zA50_sCIlwZ-hzrLjr-ley(izrRr{<+|Q0vw^ zGBmpF)^I?+^KEckDj{z3boO3U1U%q7jhvj^dznY?bRUBFF9wL#qOp8mItzFgs1H;N z&|~`ppc=iR3~zX2L^7}_(t#Uucy?C8ybql zl<`3~-j|3BA}ZA`l?O?mnDAB0xVJgHq}=L0d&H2z<|C$_n-J9&!dxA0{j3xvdHpp* z_GINpT;8T7aicLNQ=Dc#rMa_y+E{7}dWfTN*t#@fa>O2xYw@w+xXXC*bre#Ac(J@& z{`LoU2Y)17H9R>r`jhE4`Yr=R5LtV?WO#rA-ej~@ftMvFv*@qt*Xsgz07Rjq+TtMDfoSKB@XpG_^7VT%~o z6X>bTxC_7P;{5l(noH1@?Mi<-nHrC&zVX3NX&@GF&pqiz{U|&H>XE(Qz z-@j$`^z?dKZUplz%te9;2VIC&`IP%S%1%Gz*JOTyJ*(r;5_D+CwlDo6w%mw?jg9%C zJ=5ySh}o~Oka5bS4Q#a7@o!Dra3Ryl$w?uPgLgfX&@=8$@>HLCgG-E*^6us@Ev9MLk;>jym_~{&!1>#z~UMJQAk%*I> z8LLL0_2B{w3IXG<=l*kD-jCbDHVjR9vXS{B@0qnAxxc6OOi{9ZnHz89xY! ziNjJmA2tce6U6rRHkGJrpKF$8%k{fo8N%&q(8WkZuYlcblY>u7ZEZ3zd?$Cpn@$b> z;#Ji`$zQP4<4Eq&dvK6{5;%{}!J4PpYpv&aBWT}_U9s~Q>H2o6}X(1tZVJo<&0Q zM=ZpA^g1wlRC<4Rmi=sI0z!s>xY%{w4n8`_PnvWZbgExl(2IKh7nwr3PUpRiwL9>v z^rq2l;9(M%;V=FV+zZ}+J0mGUJjpp1;kGs5&)zF`z7!wTYx}f4Q{3zCu8Hmn@OT2Z zk+sUIh}X%N?US|hL)iX#i^fSm#w|w-Jyt(~RGZ2zr)O6Q-=|2t2hc;KToO#hPAKRb z?DTbg-%*Rfln=mL$FhPCie_7@tAF$O)cpW%nLn+NB-mC+{(kF>`BFQcB-KbgkUd7C zr`mQiw5|+aWekX=NRfGaCAt#~?_PQ&$q{smwnHR&kxXSA=h1*kn%f9!3#hojp#gDT0lP>z5EHDRM3#=)vzQ)a6tvs%oqGKW) zw<5p37ij2Df1hE_Bo)!ELtrl88+~;16lCcHdeVtv|F#9nc|**XC)-tt$C9^) zl22XA@}5Rdp4=#Ti4Hk+{?%!(T>*bZJlvUu3gxpPc@C0q9p26K4H&EJ- zmN+@kN&Q5*^rb2>v+G?pNz0oKlx8Cl{Hl3XRq=PN?YOa4rbY;8tC{7;;ND@)#TL4! z@{jFZ(#DP;D214SE2SO!&V4~bKk8cj<@RCtnu^5~i*V)(#n}-}3GwEUWxwzrn&ix! z4@b>RiHVK1y*EAIuzY+gsiDQdtauMKfEkJGz`|a`31*HlY0pjnPW}581F5E#sebdX z<@(Rzfw`7Sh{EbhyX>{YJ!v!{=tgYFJRw_k zC^3gh*s-JLba!`s;Udur;}M-=xcQhT5bxO_)~bQ^*;2-HLsI6-%q6?JLaEU zLM-K8h?$v{5&zz!kkoF@_=vJi^I{+tQi_fV2{pYgwGDj|%`!dE?A;_RB4tH@Ck416 zO4*@3bcp+J%vC&Ux`iqEI&(y~oumdBCFO0(;~?9CWetO3vnw_|tcV zeJ=Qcrj#_85cfKn5WE3?SWOKLo-MF&;=Q2oAUrH0iSB8X{rd1v3%2c^G`wX1I=qjD zp0Z3edeT+9F&pp(@Ja%dVocNPe{$c~)wLz6WvCGCX8E z7tHE>MZ%=maYWPHAoDpppQ^^V3zwAhHF-I~TBm~4xC@y4T^Qi{#@TbCcGfdIE{?Fv z`!dhu{9yTYgL9}6w*oggJu%iJ44Er8TU*=0+}wa4;bhV7Wu2Y!Q`=0x=uLhQsm!%9 zKk9}*fulZA03PYMh|D=X$O+<}bjEsym5p3O%0E6i!H9YmV11KW*r<>|FOq=&BOpL% z>5^FP&0LF**nS65nfPlEp0XO}oZ2;Pa_0fo$Zkc}EkKHQ2}B+T-AsI}<98^pvALiC zsXu3k^~Te<_C-PV$?EoF1I zUG}6AjI~ffrnwGY6pfNB#&FT3q--mIc8(H}L;N^eS`Pw^lQ{Kzz^;A}?^{w=?)y#6>4j8M->O0NA$r51Vbg^#SPqD-90l2nKkcL)^*tzspa7erpjfoJyS zl4K9hR#}2n-cqbg1s>PZQHlOKl*Il6v7&H3)YzB~_$y!FOFwEu865_KjPvz8@GI9e zr)#oo<4In{tgM&pG(;Yd-dxMO9S9N+CH7c2ED7%oB}Q@(53s$`D(qxVzBX_iq|xXgbyA(c-`td#?8PlhdvVFi9s;5 z1qDA4b&;VG|5U93 zT~@&nme=i`6cF9;ka*=uNunoidoTdsj`cTx=zSN17|^0N%+(L z-6|22kT`5l3QToMf_O-##|nkS@nlY&)F|l#=1~hIU|7v@9(+&=670L2XUV@Si`z=IMnN-p=dAKD*Rz z*CaIPrS+}k)ZaWJK1Lq9j0cO-d<>n!Zky07I}>`#kR}xuVku3`5hg}2lwDF1KGW!S zSU=#yX~ip4dR79W<12mNKlh7@hzNNetz`?hCdPKXx=2?sF=4pt9ByuD8AgUbQ)@>J z&7E~VP60U{!1uqJsBHj`2vdAX^4IX@Ai0LK``t2%eD)x4IX{nb+Pe0-sPoJlX+U|x ze(V4J5CZ)DdgQVDn|zdE9*Y}Fc^ZGSpH^Ic{mEDXv4<^Bs<=ppCntLn*|aO)Vhi1! zk#C0j<2I`|t>ECG3*3MJ7;P9Wbf*XVQooNbgWO9ByDQ0yp=dNMJW^DD;15LXWu|)F z1-gF!{yjK8-sRSMIa7@l1C9zgz4P9@wC!xu-KuSRJMUXgA8>W-wp#aHmoBtgoRcxI zNFeseo5^k5bmU*$?YS!oSG|uwDm`@}3{y9_6K&#_en9fp8|rMG`uqVk@5b=p^@9i! zk0+D`%Yn7MR(pWeP&zZN50-laPXG+#vPErjUMH-b^A$C`7*2-K;nLoZ>>S9ty5BST z&B{hwLu8p}YbVnF8=WGHPLT4__ax{KyEtc9Tr#0A{o!+CpP3LOG~!};6F;TRcmH4( zn>!)@(He;WB-_C#^$7@}_78YwOOs!$C7(4*8c}w&0>LVsa<4kGMRL@KFx@p_<>kl1Q=z%~hnD#-C zea!M)VDoKv=S4%ccXb}7)kW--b|R<29wNUdq57@*J;ExB#j&?J`@VSG*1L9Q=g?y0 zW3*9jccAIvd8d+gri0%wP!ap**MkfVAXP)``e+2!wD%8ohPYQ!Zf@?`%~GtaBi+Nv zYz9Tgh-c0RmKhQdg=$swdF{(93W(>nQrq~3W7xJNPXi|T!?;sw;7ugrT`FZmmGs^} zLD-8otVOfnD)J8YYMK1Q(bRE6$Y*eRZsYpov(1o9exkB;J8+~nZA0&z>ERB37H zN%L(G+sg0mh;y>-w>K#JDG;h!=M~CT6VT>-Afu16?fQvWHcb9)9gE+Th#@{Iz8tFl z-@@lo{`k^_XjWf#c5Drx>*KmsvC`tFD*@C+b?$zbJ5VDR!@w;F2R_l(9?#yb^Sy2W z=A-b)FFm{FA0XN4tb@pFmukt>r~qV>{gKD?nAi+FRS+UIv+Hs~~Q#5Z3`V zVjwY}>Ke8=R+?8)F?e!6!}Ioy@eNAgjPFC-OJrVTVgDy$sl$^}8-W3d)BAU6myVE- z*ea4dVA*vzA2#zUf#td72~EjFX9A1nu&=s{e$hAZx!q%2dD&Tj)iv*rQQ9@dI{Fqx zG<3hNcMJmA345UbB8I8+!_~za)JBs=Qjqu*C{NQ(1=J?P2HyNufmH`FgRc`ut(D{8 z0BXoNx_c>DFdKeq@?N3UOIyfr*}Z$5MXHi!?1^W%Om0K7QF+V726Oq;pMzUqkX78} z@NPeQ^pCB&u5R~T=7f>2gdl^bNo9M+$C;|2)f*==Vo~&~+MJOV48$3fwlXO?0EO zjG0|rT)+|wN_bQMI!;pjvRk!sQCy6h{>~Ys=hs*RI-ioB_DJ8rzRORlX}(=Pfzqe9c*Vz`T;C{;LD5}TC{&hT$|+~O2j7Xc zM4{D|Plm=?`<;_x@Mly6(9m`hj#E{lKM?m!0A3bcCrRfnSnlOcqn#{)>(+!cm_;}# zM^86{UUMr63OAvv3mkCJ_F_2sw^X$9v#Mcl-K4ud+Jz?nf)sGTh^lSS%~xNE#wBCr zhm_snK^Mr?Eoq>Znzny-g`HEAlPmmTQoK_-mlboZZo38-7Z&06t2K@(9AY6Kp+Z+-2O-!dt!o?1WYTm<<(CtH8o zhYOUSzEB~3<{F7Np#RSXMqJgkfh086|#YBifIebG_ue$6!c# z;I1Hu;kt1mfFza+Jw0hCa{~E5UBE`Ue+YT)yoQpN4UcM;p=let>H3WHT08MqK-%8k^Zv2j7;E&_9lnKHT{-?b zDmbMVCO14EF6^>F3_zk0_#^;iL8HqlM$)o#a@O>p#788as%a!7pl1A;|NA5SQ*oN> zu3hpr`g~`p?G$a+^U6&w{1CibaqIKj)y@m3A#YJ!u`sS4LU$)*b~sK-iRi+P8Hf%r z`BeE_d+vo+SpM&YYv7(^=Hzr$`7H2!5#4yl5FpMVY%<=;3+@LkC*R5o^bOlA-W_H! zNl?Y@u(6D~4euEy^((c`W?Y^cRo6Sj6Cekhd^VTU%(5=^=5JjO%ji@5oM6}^q%cUH zb||D!of)@fRY(Jkg&b1^Qo`V>HH_B z30jf4daN>`aTeM-U*!e>k|}N*pQ)q!tisMEReV*br%t?1 zA|rcz3AC-F%3i%59z{=mldvQ&)Gr#5v6u`ef?d3*^q ze{Fg8;MU?EZ`$#l5v-pd8!k5GUhpUy9p3wm!AT#d;5gNJapRDpsAAPh(c|XBtD90* zNk{GwbJB~wwdva+fM4_%B~=5gUpQZp?pYXJxU2EIGJYa63aLQIa}}+@J%7WM=vUw6 zd^d`jodwobuOYA74)pqvI8+`#TB!Pbsz)rL>E*0v)>W%Z21x|}Wb(1@;$tQ2s#!N@ z=LrKnFEg@Q&x<%)RoaEF?AN!Zm1;xjPPgF8!$b|B2~Oc^KC-^9ieycApwHg*?sws)`S@628|hobOWN$2K9$JMmy)5hEw zy^yw_&=6U$o>(b|F?82E>2SZ&#^JHis*fAV`vH_gu}j#f!akk%J-kGgjR2 zfQ`R@wZvl$sBUto`-X@*?SbdpQiz6_R!3byS_4zAz=W7M5g#L{Y2(5QNaRav!Dku$ zeIE?b9ku5rLVwNravE%s--f=<247c7o*kjReA(|t#mE%jq{GaJR-cn^=;%djzkU%( zUrXH?^7G5S8T};&L((NyX2#_lO?c<=7ZyLDJGf9FD6aG{x}(?YroFWM7sg1B(jYNX zRcr7C$xNE|6#EGr9|>1XSQ|I_t!RXbtot+5{$umWh!2GWrsMRn8S+}e!0L2P86;!X^&pv{biMzl~Z1cPoxh-tT=1umR`Ey^(Ifp_AB?@FW)}rNG@~B zW?_ZW3Uk-*%RGOd?((tw7UfgOQHOJGm{M%M*KrPYY)v%R@MKaoKC{8Bo(ygrL+LqU z<%LvYz%=Jo^!tz znekAzV#UHI@q>da=iCrdHE)6a#c%&pvw{P4w=Ng>SkUwOE8&;KXU;Pdu0>N()34B` zY4nQ*cRaObhbzPEVVf*K}cE z-n;Kw*>xUP^m)x@ZOIsVlCbluR*N70(zo&D^2^K;3z&T>753)L&5Os{E{b&%+DtCm z{^F+a5;ZFnX#A~2@e(#YdssPiuC^!0^iGqKmDj%gR^yK+Po_D4?mDJk4&>^JONPD- z-S(k%r$TX-kIh|5cb+A5FH!A=-8s7gmc6<=tzUGo;iAghU*33px^jc?+z(yL`ji+j zD`jTa;I|%*4ec9Gvj5HUVu2lj&Gy#qP;1D-uhug2@?qh*+XUL11lqT2`TSgbulqgocs>LhW-HRhz6sXha!bQK< zwu5HH6lq&@Q10g@d$)bqus_MpY?e!o1*T&kj+~lzhHyz1zoPWm+b#FU=O|@UZ0y#N zpLWb0=kcXolRK$-p2aL`m#_RS%a`kl)_q~KFnMrT+hqZ5%ez^`m|44gcHf89+7CRI zkeIV%c>*@A=sI<9E?K2nORCqK;Wp!8+cx!HyEOV`cvSb}I~~}m_d#(-yG+lSt9@?Q zwY{DD{sn}_3T<}Q#pZ|2MP zuV&?V_{)WcBu(At4I*;bKDS8Oc(TRCcocWZ_Hj#ayyo1LR-zW60U?V}>D z=FMw=Vq`>#;T>MgYWbzy^IK(CXjlqvpq{0 z$a~H1bB)g1q5S+OqOWV|?y@x5A1M#h8lC?zs8^YaPhaKU7v}zPYiRLx7I$uy^?laY zak%NLM*Uvo-sAHkW%ugiZ5CGg=fYUeDvw{(A&aZO`Jm8ntGCCHfBl}*egyl<#Qd6D z_Uo3^Q|8St1UEcfBld8WM>jsVYcp*@E@5irHHn1>m+^kqxkd8vRHxY`lRn+c(QSj-nw_!<=W^`My<%*dOIoPYvclJ&?Wo)H#IONdtapu?QDD`q zGIiGU>l80+8Tl-C*#mj~-lWA9NH8foeAU_~-!0jpMfze+n&tai>w z0${-Ce!m?qmRpAAL}~kCweS7*GVO>-lK@Mq=DiwRN%>R$mrwG(wii85-n$bsc$`V$ zCKoR5e6YFvk-IZ<$lPx1`me;k8mC&Fu=)7mZvN{+a(jAp^@#lSXC&FkFfvg#N8{U( zxqOqXe_ywL{jTRxSA#A^$L5pW?qZ)aXk@XMX*HV!6#RJQLxso^vQlRQ?d!fNzsn=} zkWc?#${s)DAk_C-Et6R!9;x#34#lyrbZW7Wt}i!Md{IIc@TjqutfKePLsjNA%hxi> zdd;p|FGF$&vbs5|_~*IwjP?O(UFhjA{#6DA`JUMmV{&`WmSKO6F0mledfMpmy>8m2 z9nV|7^y?06;?*%9KFt0y@%KO5c#g|uzuxQE=0gF4qFlY}m77=KY{4&qf5!RNpSZMy zEct$|tFvTlqY}*$Tetp)HnkW#cVC^eo@4SwP5qd2mC3*{v=K<>eL~l*QOOPd^z_da zb(~)KHubNP<)z*<7c^5I0cVgpU=hTYik%)LO)TjQ{a$m$tva%JO)_yN?ZT zHzs9KX_HD$-%dHCvK-#mW*s`z$h+>pfiInheW}~IqwL7+4tud1iXd)>^3V3@k(K`0 znPc6hB$s})i^|j-m0K5!9hCFth*fJ}#~e$o5m20j+N`$s3iSjgY_HX+^{pDRJoIPp z{0(I*X_Jq^{r}4G2W7)}+RLL{T8ZSmkZE*k3tAaUda8cIWY9=`!@?q0ArAg${vn~d_Aay*WOi+gs?Y@BkuKUt5weE1VBP>woOEDTWWu`>pC<|?zczgx+(ln|e4R%cy)r&{0ElKfY$mvmcr zr$)eE8!3t$Q;Y0LEOjMA!dZyhCuCUlU|EhOSyWWoykjC-Z*D zCnVn?bcQ!yC!1aPc+UH>jdjPAv&y-|zG}F9Bc-YClNzl!Rd><@?4-1>)2!14$2mG5 zdL~;Xi~ySiDnY z3&pa`1i^|DbtLj2T10f5=p_-$A|VdMg*Xv6(kLpIMftm>d`Q00oQq=guPsp=(M6(f zL|Ns)(D#cVF(it_!9+1=$C>k0fo{hW9U%HbWN4h(5w4oPNWcu30&^9>uLb9~Fx>*| zgGBmX{~rIf%WR}z7EBk098I|#b?7#M=q*uZqs{Dl-81{5=6hfsLezm=Rk>Vdber@O zWCCjrn*3$wJ%loYoTa#&?dkSs*dRm_vQw^%;)0Ovl?58Vh%FbA?~_2!YZGlJ$|#QS z@&6B1f~Ei@bPng*v1AP&pa;}cGl{#<9g^e9>!v{w}R+ys4AA-YB+ z{`(`(KU<$YvQ=tmu?qCM3VLlt^x}V1uYI#sucAdlo2{VVMbNJ$(Yyaq{W^XZ{fc^q zRxP3D1Yv?}mtK*A!>9jIJrDV=dKUE!?e>DcXK;O!&cBe(#eaX~`Dd5M!Vl56sL?Ob zyIQY0wrof~0U%fseIjB%0f_%C5JWJL2`uF!8zmJWv?2iB0fe6b#Q!D;A{g&taw@7? zU*v`=L@z`j3E9#&-2S$=4kuyw&gegQk3YL6c9r|0c+6RqzV0)-^gCf zYiJMVIi$O>BwaWwv#=O*rg?jX3 z5x#?1bbzByOVJB}X3waY`U5ojd1q=EfXPXeqzQ~6;6OLf%Q#mn=F-QE4YX;?2J~oS z3<hAOF(f!Bigl3_0(k+H7U zEMT-Pn@Rv_vlyd*`BNPj5$z<3gpVG$0ia3Rz{v<8uomHK&vT4JZ&TL0Yjf7KOEcEn zqB&6uW@{J;Is@8SwPXW(wq;|SEeVMJEJ|XmFkFBJa9sMBvp&`>dBVMj3FAmG?gdB( z69iB}lwDyZMggLUhYo-c=_E9NodHk>T>xbS5{mnUvjW+Q#M$iMxF|Mvb`)Ef5W|)( zjAbhp#j}-*=djgF=dv}+{$=Y{%wy|UE}-*#ws!eEwtCrIwrWX&z*a1dXUh}g*fM%) z$^2Pt@w^!%&mV%4vIzlhODb;10zW= z`~^$1#`4J9H(=Hs8grmL+`IGgRbB_*uoj!Y(b0{n?K!?&5QD2|3*$=bEl1G zb0WsE_^D&q%#gw9Y;Jm>GdJiU-!W=AD=I3A#mC391q&8%qBV#tF)@)XTC|AKHgjyr zk|k{E(xq(q^5u*cv9VRFgjMvjimhC^l0U#7%a$$Ufe;uk;blYunmc!{GQrU!hRSmq z6^+PgLk4!@%}sPf49;l{49j8C2>Fzv1%N9;q_=1kfz_4cpkwjaxOyQ&`(Tj5{!sNm z&pJfOe8&~VWSEbuQjcQsNDD|sUJN)3287WPBr-BmnQ)J;ZCDp7Dy_^L$)$Ghrf9b6 z?(8YG(ZYD(ph^^#e9pWR0GufTl+oE>04={WfV_!HbzOk(1f?ED0C7HZ=1e-RU%h&j zKc}VS?81c$?9!!6?CMqFDx;m!*^L`F*tKid*yYQY*~N<&8GSo~ojrS&ojP@jef#z; zU1a!AOmO5dH)UOiCMsG*ysk53R5OzR0>qgpI?VuJZK5w3fhYd23&aE}?ZkuULc>7J zd=5kj72@Tr)FX1g)3Tj1 zC!#BW;R5vF^|mnEXD$bd1sX4?dMKza^<5o3dXybLd^lYYWN8t|Q6q*(a%3|_ zpDu&eXBL43pxconTLQ@Th5#rHqYKQr)D96319N5OfRy*^99W?5IHewG!!>25L6Iuz z7denVkRbBK&$M-b;+dfKT<;BvR%B(($nX+v;;l^3wwpQ6nP{2X_iD#HC}&RLEdwoe zWY?_aNHJ&P+#Y~71)v9|U>S0)3s5vH#pAmI%KLsk)b~^L`@+M+*@q9RehqXV9UZOw zUo(fI3f#487x5~H{2F#XdGe%2)|S7A3Rq-j#IV6Uhgwjp6(cXh?Yppv6Z&c&b;(9R z4+7AJ0MyJ75H-W-1eJOW;$c7wHuE`js-F|}551Lo1ZbM=6KP4PS%*G&@PO)1VLET@ z+`M^{8AH>iP2=I8KYuO?%g@^CP~=oc8a(tFZj(Nz+GJl26?3Z@fUOH)wGK#Y0;zeg z3s`go#lwKynmJ&jsG%6_J6Z`U`iq*Nf(blBF)L;wTJa+C#(aEy=y@hP{$hlaCQago zA;v1TBzISPWsXG$4da6$G=#4viw&j#KM$^3=y&hly-M9`yFd<}F=K`@Ji0qL-n}nn<&wJO_VAfD-_4B>-HQ=&dGrhTiJ}dH!@SQCfYu*m!`c{l|4P z(Hl8fJ_a5W6T`bU$`rL+0Avg@i0_1jg|Sbcgikyu5XT>D)~w+J4`LtyOIs81{{Z^i zw{JPnpFe+Qs9%w@0Wt<8@J>WT1pD&ki!yo9s(h&)u1x0bt8PIj_u&*##nI%UVC zqwZ1w>#_<1=<)#C%}`Lah5O+^qYpd9*Ma)5s6*vIqp@npp_!xi?-%y-_s{_b@`&)o zix<=Z80}iiuK^&6({SWhTpt-vyvyVL5Fvo?d?>p?V;3cLDq)Hj9PO$dq9?!0u`bwlmgu2 zGXt^o9bIrQq=`83(9z~L4sI0QaHx^ano3(hVq%7z(X>{=jqwr`;yCEbo4l#z=O=H- zi?AAV#=G0MZ&%|(>^b`&f1}o>_ILN8iUzo^v;m&|Py_by3b+qQq07v*!EmQ-q5pH-)n}K&KkM943g*Yp=!w;Q1n5=AaAmM4Dz74=p)d&^MhcEsFRxpI-3A9FaWZVR`{g<;+6P z2Q$&k5_2vJa?P4y=gytH_bf`G?~F-9)cA-K<2IN`lpbgyh-sm1ZYh{IQ8mt~8i%7> zwm1Z8FCj3$R7~piFW`nSHOSpU7xvks%zMngV>sE7gel zHB0ydA9>zaWqn{SJ|0p?Qe?J{qF)XD$xXc6$pp!m%rP z?vf*9R(%e&K%s!fRS1$)IXbGKLVHVWcx$RT<9k6p2nrJsI}D_}di6>z0A@fi zp^?#X;J^W8JctiH0?h-q5+u+F4+8l3__BKSTv_$%uB=wA5v*ymaMrQoDrVhn4}-+o zG?A5OJ$j_X0d^(+xT#bn;35&rDw%gW!Ma#pPDgG-ZYq@!7k`Y^tWEgWsW+9iXuXzo z=zNl1xRmZCZ4p^^JI%bjCMi{najnc9Li*P<%L2_-+Pin}*zDP}Gc0s4vWgCXXiu8; z3Qrm7qbDE+>e+JwtNhO}_D|K(tX7?gtZ9oStbKu!Ri4!L{qx0s? zlfEv$78H+A&|tI|cHr&p$7<9Z&MH?K!KzjFV)YtMXKmVTV;#GkW}Phz%OQF&SF?i)tfb<7U@_1b{DvQ;Fo*>OiRWdptK_L8;)t}(zv-=<9pkHtK0_U^2g53oDDd;tW;_Xy*1;@08Ra?qocf&mIW9+(rgzX zVT|ZuI2I0r^u0$uo)2e2T;m!3!vsC*edQr2uT&S9=M&2U4-Y?9wVJ#vs9w{DHE#MZ zYuA1^*}z#5wk(~c_#+|@xdm_=SoGa(!0oz9{@B?^GF1-PJ7^z2Q|VLRl`4IGq4Kj_QdEeW>hhv3;Vc#|2`kZ#gs0({IC(!8St{fAfa@oRhgK+^f4SPCT4AovViJ? z8a}L1lLXeb{myK$0Zsg21B)a!aQr*lfWTbbt}C@MEB0`vY{07fY3AoAuM3bpp>D$t zefrlCgS0FV;mPz_pi05emnTf{Wz}npVl`_8vZl=!v-alu$p+2=vP_dU{1Mr4i4DB` zjy520&RqsyQ!0DrtV5Zy0cc_Ph&f7aYIFKlCZfC$lvf5{pd3KHHxxF#;f%pwjHq=R zZ&t5CBx~LFKi+HVY;iH$@kfL&VFQGHk?g`B@o4l5@1IfPjCk?_>ii{J9OdUR7#*#>|76E(Z{om$zydPIuoR z3;2uuIzR#+4YUIcuXq%48k4>_t&9YR4i#8~Ml)F()9tKd=Tn*P7aD>;>;w3le+L^- z#~-*kNo*iy#(^x^fXm?J${Zs)S1ApQUl^l*^*0&DfiNp5W=V|s8GRU&J{pwh>52)q zZWGFywOGdcgq8%;1?v~->+YQyf0vyL}No|2qNRhhK#`f#~U3vjN08YP8B#8jJnphoDu<20wiC=n;3(5+Olf->5?{Dm3G> zonm5MUjBst6xOoM2GU{*)d9x01C7NW&;b8&*<=F(pKQ=*6sl~%`La?!(bM;3sT_a} z3>c&uX_t=~3(~?snU=v9$nVneK}2fQAs7`}K2a%cc=qZYOk+axn5p^RO!WmbgFoN_ z{yy1Y19JQkkuDo>kk~*}^xjO_0CI*%T`bSj2)o?dG9W+*NH^baBqD0gy{MkG&hzMs zG&A^18=k|4qYRkNTA?qPi83Iw_`?Q(zmP>6P~orF2Ast5nz6{JJx1FAM$FAS9pfV= zre=FsJ0g1r?3$ohB7>&2(RH^1Q+S1;VIdaFm?JhgE@SaWnix=&Hat6aqIp7$2X#0^ zWq@&g!K~m98vy=Uu>p1b_1S>E(?x~C8JiYqoDHCLjG2=btyZ&!jc3#7Ni;biM6wnw z1(mZV7RMQko01jzg|usig&77rBnTQ28G5^8#}1{z4IUgoQpM36A@v1mj?kEPU{>)L zZ6LFCL3;f4+JK|V1|lMp4K4>TYubT&$(Tj0-!O(o(Y;xfs$*!DT^P-$+6TLNE7fVJ zufG&3&8`{ddJH-QgF>YbghiL)9Fd=&KWo`4oLje9$D>r!8QvGn4*X#Qz&|r>LhbnL zvw=a57nJIVn6}$s8$iiu)onZLVnH)#rop7KamfFp=|@i8d#IesFouWmI<)8DpbZ}o z_=JJb&(}8php=KDfVp6U%970D4;5e)n3!PSeu2~um}B(ZV0PgT8vy>s_6>F8uh#|~ zq&ARDo-&j8h-G2%U1GLKfwd- zz(_@3@VLQ!!R*8zHURvM86(nb$BHw?U!M&O zbWr*IMNdD)dqKcox0lQ%*2{L61pk8meEbG}88mMnTh6yo>Daoyh4LzYatTUbUBVRm z24Nom;K75+NZ^2~ZO0Pbz!~+Az(Y$NN=JlrwI zuel*P1A>B+f%Yn_V`g6BBVO_OPBbiTgVuH*gz45uR!+uib(MnC9<%-%s}G3 zt}}W!#>C&9)xncNoUlD~3WUtSdHvCoGWo!f8Yz`=W!%zlbxDFnc(y{<9UAhjH{v{!h z9kHla#2#m?^Z5>CfGT}NF75O6>K!B*`-eYh`clvsO=%Bn82-qLQlGKx^Bom*EGE&; zZF+k^J7BQed?i%Usv6yT5kg(tEUEM_!C$<5^X843A!TOlNQ_IzSx`O){?Z*>#*g=B z4H`$YR&6#a{J?%L{;&b5?`Zb;kPCX|h77dH%6KWR5jLS@Q+eu1&-9zgQhheaN%E zmIV0g>jP@%TD=@V8Q|=yTE+pmq!8g6>jy-wV*4ENe|7!qz#oq>?`LSGq9+>7zXZ(( zYMicpL7Nc;4u<%{)z*|L+J%{0TPnprD>i^Kz`;?qd;@!} zh}tfzhKe#L%-_>TzOFz2%_py7-%yXeRcpN6W`C|Ib;0c z&C=B>g^zk;{ujQ080pTQF@enE4;$c%%r$JlHp}>D#ReQ4RUVYskSild1q>R9*kxv% zN3$&G+t-8j=rMto^m{W~yGd-|pm^rsw3KK$bD{-}&aSJZBuH=M*9fE$up4=~0&|Rf zqb-1$Zuz?LthNcWhCggTx!Hth2LxX+qAv#7fwufFzNpJ*Okb(i)#@Vi^i;WRqwlZJ z1_b19G`q#&SJ(nJ=hF9*wlYE5F0k%~<$S}r6GH8}Vbq1pm0WLfPV(z+z<*ySw8 z9&^F)bZOZ}-;AiVp4WBVLDwG!KmS6^7QWjzho`6DN6Yy~uqxHY@eL1Jx81_s zb+llPTw^eyxW^Dc-TKog-pPDP09*mn4F?T1B2r@*&=QummMR6f$7dF1@x9EzjU4Xb z87_xgS5seG4%N)%B6OKMlWRfu9v-YlErDj{6UgT`KCoQ)k5b=BQ?jy25G$8P8DkO9%Sew4KD7wG@`~aTN5UbQQ_QJWn|x-(vW{!JGdlfPPEN z^G(?+Ax9?|1FSS`RzQaOCU{I%0jiEr+?(=o&OU6^ADud1i(qgfGUQ~D!5RWk58~1 zVB}29pGpsW%1^9+MSlzF|At&+E?$hIw{0Nb^~%%?D;z~HhpdlE@gn}rSvm8^j^8&N zTx4FG?9ajc(?)dxteFUwG3V?6*3CUpm2=S$5)V!P$IR??fbnw?RJblQ3F~TLRGS z#sHdKVD=lp7jw!1McpUe<--skRk4`H8I3Ecf1`YLU>FSx%X>HS*}=2a3f3e+^MP^q zr_a3Me4x97fk{xa7EAfE^mJp#F;Z3`f46B#zal#RI(BhR!iwJK+d z#jCg;ObS#+*8mcITQQD-0|O~X#`6VEX5{v7YQB$mXE4>LPJ-qG!|z+S+saO!lJBIu zckgAsy0UKl2<~SL|AHR@B<73wN3hKRGuS&+sWObsEC-n!0-yc6NcWK_W`y8uPJA^L| zl{<-Hqaey{hENMb0%;G!KS$pQ0Agv#LqkB!P5>>tomI^Ni2z{rmbP7*vC0V%d5X`! zS@$^4Tn3*YPl|nPki$mSf8bK0#pH&ugzlG-8^#Le zTLZxC09Xkky+vhq116~jjPo;*yr=|8`s~o*9{||xJMU>K{3c%pXi&pMA0`F@hN7_q z0P7FHI_S$`-w`b6Jo^CaH}C?BjK0REPP@q>B2#I5om;fc(rp$MeTPL&zssUy?y>1J z?z5Pg_t}hD57^AuhjbR`XXXPILw`)C0MRjbDexVN=r)@cb&E%Y2&Y8cU|v2q$wN^b z;xVxCp${zlS23dimX|vKC}#jQNf%Jx8Kmq5N}9tAzs`n^y5Wgw0ryYcKurQbZU87J zk=6n2{|``>l&@R&s&ZQgKuMHvP5?9v0AUr!H6kXZ9{|q(&q1t9F?AHL5imso%s2p3 zh3Lgk0OkJ!!@A^`1M`9asRBTJ0Z1#NcOoD^D2IrdIr|y~nJaaEZe8=POHRwntpG#_ zfUqR`1R#De2>-h|;}cnpC3o|WEg6z86d?2>`tlP1_}>Eo(QN4D_7QI4yybqKFedZ*Z z^gpUk(=6!|TH~Gk!_Z>~B8+hU$b2rQ^|SMPeWRp?miX}EIq0nf(VG8Jy;V0zZ_o}O zH&2DWY>EC??d%V&`hqt2%-vJyrwGwZqAx^Z{`gVnpPdhjDkX;W&;p-|{s6tyCfZK) zqjVun=cnq0gwAof_7-aQ<~4yL+7li8Ur+>uY_Ha-m2D{(k}n_Ef*Jk!vzk#3QrpPx zYY1fqw5xJC>(Ffi5mxYIcTyR}*FB>EhW-!cAw(U>)s)Lsm~P#OeugEtGn8-5a9|cp z7ls@bT#gEKJD%tO(HA1kSH9S&TlcgMHL)JbddWw2NT7>R{-Y=-J*^}9z=_XjuX8k%4+(E192fv#EmqHsuwD zA~GlHLj;Xi~ySiHlls?=E{3gr=GGBx*-WSK0dth(nZ2B_{$kbvrzb0A5dQc_Ewb0AHh zbD)$L5tU<1!Vl*tRhj^Cqpl`0&Ct&6pHuTXx^*I zLlSA;zf|cT@5>6S39RKll?PM)5C{Y)>UwgSGBxkjvZfYGmu3x0UrSy|ma2gAmYNE*%!u$T~_dd3T!WYs+{kWy9myugw$!3#7=qQrt)i9{)?r77TEqBh(Kj44y(=}FYU z)02o*4lhVjXv1$+F)D7w2o=#O%RFVBq0kF|eFT3=E~EIqf(1qLc*@^sqxv67D5K|( zdFhO+suWjSq5vWjS$X=UqpeJ~uMjAfs{9d6V}hJZ5_KdRNfb%6lxPdlE(PHl&+s3@ zAZ$szz15Dc@)B7Q#S>j4Vwohoi#QNhUc^4%jjkFH%^^x7%52QK-b0*-y8%**66ng5 zD49st8`=FFX_<0VWU|;&A^E((L^YyqKadHjP`}~^iC2S8MuDB&M1e#fiKIb)#C2)S zM8E`?$qn|L!QS6Q$A~mT{)qbu`Vs+Ce}m2bVAGuF`A=fAnm#tg|G=C%*zE~+?TJ4B zBzEhGEE#eJllEZSLYUy%#XUN}@!L;gyO|;EYK8%`?qJ^x?AsH4BM~%1{fPT^SxE$9 za1>fX40EE-L`+kZ=l~}c<~4u?kL$yN$7W2S9{ni}CnaZ*f&-iEJ&=V{96G48)<5u4 zlwh!4VN^UXG=w;R6FrAG+C&QV=*OJx%vc}mmaMOJEB(~16&o_36PxNgh>H~I@4!5V z^k7c5?U{YAcG{@Bwuk(gb00G%jOxv%2deawf#oBM^Af2h#L7){OcYB~w0|SVu`?$Q zvJ=M-u`?%+vh!zB*oCtv*roHQ*u`@v`SrQe$JyCa$JptUN7%CY(^=41JFaAK6yoK| zMz{}RF7|zxv%Q@rX?@584eHySb#32(xsZ5M2(=7ElKzhZm)8qbAzq+VG)?i2?){Iw zc>aWK|8F%rx^F8xeRQW9ojQ`lP9EODP8{0KQVwootLB9(Q<~!MN{gcW_}0=`c^?%O z#TTyOivTe(G1ye458qh@dsgEC{=mw%$jC^(4AHimIkV}~l=%$r$)XKM4-5pNsHg<- zsu6vJSW=Sax0Hk1+2sqTS-)PBuCHomE6mbOlP2im3GYwcki33}VJbLs9yQVv^ zXV0E7eEsz4)2IC5>(}xPcn~l)HkOSX?#{ZJDp2$>3PsfLyzx;UVs4X)Ctgd%1VYA& zIX%#sh5EX45wTMWwx`54b2zYMA6wzja|isW5xznvZdrfj$`u|#Z)-DV)43`0H6G1v zK=Ut%X)21Qc~%#7htZ-&_&d?&*}i-YGsN4nWeW=q4pwgEL|fXsG6YMvZe?>&JMwl*47~2lw zNJvO9K9wHok_I@~Oa9tXRP}Sj1kr;=Z}7R;}Xu=VDuQC<801aXm5QhZ5%%>0 zeKZ)Q6g~`(JUwsTJhp7vGQP9J$&)AfhlTg-*~9Zcc549aSZ>^-Yiriqf?zkUdWE*; zNHqZb^Ae?r(rP=aYhb5A8i27+^c}|c!ql~S8wo6MLx2YG`DAPYhQ-y`%L1EiV)ISd z2TDFvPp}Ko4u%YNU`S&+i1v%3)z)Y~8wb{A2LQ1xuGMWhllq3HBkD6Zq%{w*!kdJo_8j%z}2TpaGJf z=YV*rwA!xKHLxo~4WLaN=r^84L_{!rE=9*7@aM2_Y?_MCo#4P%Of(PFdax0EJ`D$U zRzTZks2l8n%7gw?9{3qm9>go;m&vNt@Vi#MhA-1c7FNfZb+ zS%=9jHL(iKiUCeF2H{%TCsCW zqeeqn?K(ch%w}TdR61rvrle=9ZfCD?{K@maB$hv9MDlIbC$34EMLA&<5 z)6KkLiMN+mD9^%DAvCT9wR_kBwm?C7fCJK@6qFL`0F;8_@#V`GzC~yM0Uqq1s-yWv z3)s7cCfN)i`8pIxZ_pR0)HU#&9i!bdu&aYM4fM9#$7?@q@~-m`H2#4dU^hHiIht|U z&+-QC6pw8T@m)s{nz)c!dK^7^l)hTz&+672NjoG>rHup*8zB8kcZ9B&0-yR9Qfj?j+oCzON_OQ3u} zP7nz;fZWsDb`opbey2g-brJE0sv!MRV>PgT18LyMZM_=k(F>o|^JizyoY7Q(Hu)Lv z3ZM&s63>_eEvND01=@vZA^*Bf#$|vCe`o;GZ!um2PpQJXrB?%BWX#yFsRw8+Z6sy7elr>km3&wK>A(AYGB>^r|i(-RGk{Y2M6(`i9Y?- za0byOR~&+Pp**9hjQ%->BD7{1Wk~f4yocQhhYbs0En2VUd$<^jKQsX8GogVe?BF5o z8oQ8N4M~FwPC*j8t=qlcAa(JJy#s_h?v3;N2ti+|l>LA-06D zwYM?H`}gm83(CPUn6+-ZS+UtiMr{D~{4Z(&(i>e8u3h(-a=|_RxpnhS$Hchk1JtLP zw@)z7(&)^h39lqUaf4nCu)}`V==Gu(gu33C1Ce_B_|pzhhSq-C@dxLS-ssveanVDz zXYW(KWuR)OR_u}{{}3T6CvM1HWP5H@pfLgW~4VgzHA;ui| zz7jOo#UhewzeA!B8JuAP5-XC5A5%8o09LU*5!Tnmb!YfVYf-V@6M z3>Lu_FlLAr5qd`;^bzsFP<$K|Z9t6j4;d25zwwDmCp{zThKc`$3<8zJ_yB1k-Hslb zb|LK-XvW!pz-C_hq2nSRum#Gl0>faSwgYy6!2@W)Q1bH&VAkDt^R{1B^FP#g4btNv zY2!5|*1XrPflF-sgb0T0sd@16Kj{>PW&p8H@6>rLYuk>#6lJrX^|sr?Z2RohN(BpqnGcge2PAD?qBKpZ zrT4ltfJBE4m+u~licWb5bcJjI2~p;wB_wV=iEH!$Q7hvAVZ#O9xX9@H-C>h&v70xa z@}?Lzd{viNy$r|*|1^48F;uFwgE>-(HLvw)pqJeNF37cO*F*(Ce#WquF+Q`RtQPrG z)z7I@r}&EPaVY+4p!g#nAN6T9N+by_;A;2#b9(=)B|?!{;Lcn&Ol(A6yskc zG?fY{z0OEj3+war;foMH>@R-fLONb4k(1Zr7}4$1ccNm%hVOl6n6P&ZfHwnSP35z@ zB;Gcuh~jldq9XRe?u+^87P2q0v91Hf`h*E6z!vZMHJ7!oOIQo5VUMiiWeH;u)w+uHaRxAJUM{3wG$xOX}9AvBO7R z(NOQ}J~ZO}8W;Ql{y0bh4jg>JmalxmYzW`xRqI~nN- zkvoiuA-lrrT?i^B0_M1__XoRw6QPU}|NW8Y3i=WQQ@n(62AjEw0*O!=>U-;Z{8w5t zQZNB#c)30b>{TP$Mx+_?N8JC4M36XdBm{sRQ=(*|ACWxLKw8p;B;i;S+kj{e5&D_g z%?RQ|+8d0VRt%3MiX>V}w1sGwf^dyz z_zz(amakEA7O2%6z?YL@QCc~)p;HyBd;|DWIQddEL9w`t0`O&Jv_gx5@qo!V(-Nxy zoGB)pRLe&NaS4}V^;tRbtXQ39DlYphoXX#m5jiiy2Kk?=@gKHapji7S&ju(rqv~~CsM9Vt0Y~SW`&h$SbJ29$cbng(Hf$C zL?;x4Ydph$2!pV^Oz`bSS2>B=5n+wjT_SyMYuf(9J9rmy@a>u0uq*~VIS`#A()Lzn zo*^#8$$7WK8aorBPDB@pG83aA?;viZ5u0`Fx zPhzKtRGnagv&C1ER3V?nr@>=;OG9wCQLNv=0vT--=GkAlBnSSia5tXfGblrX8zRCh z)R1n4ApU^XIEZ|yL}6m@0^Ba8EJg)5vysl-m{Z?Q%%xvv=Gwmt`L%c9*DifKGiQ44 zMC*FMCe{mJ2?f^ZU^zubg!MdlkGRmgLJ-ErzXi?L0GJSq^T4Jit2eKnrNt^w*{ihY z?9JO%OV}O83Aa8F^X4Rny z8|P{*EkATgf*LueCUCK3j%nY z2l#pN)leey;u+r|#&jC8D<&D?T!!IVOs~P!cD_K~MoCFYd@j!0%Y(x(*44@o82AJc zF^}wf7b@2zsQ~ZZywWOw098%$8-WEt$`9{~+~bTdD`PqwQweYcfF$C9^*}H*@oUR~ zX^`PCpbaVH{->%?t7>&Wrj44lSi~%?&(iGkIr2dG%v!gZMh<<+{288udiFX*ll&pv zBSBi+a@W?xMIYBdM z(R?Y4hld}x4KR!nQdBp}eQ^cn20^ObvziC0Tna%=7`(K9 z|9&=fXfXLD>>%#-6rI}hHJC@0thYK=G0*e=C7N4~B`@-WoEfMX70}tUXVsX)jo5~R zF+ob{9tMCeG&Gd5E}Q|k(d4iJ-&0kT|5BX5J!YEkYLh~&j#Uy|rpe#KJj+VGn9wdj zWrZdiTGD7gKrk3L76LSHF`kTjB@=9VA7VWz0x5O3N#U-{En2TJHV51##&{QvnAhsB zr6GVk|M%#5j8rFaPbO8P5`x1nJka2)g2D%l2dvM*vre5uwAO;q%#dN%>AR1|XgyZE zvW$>wOm(d)|3wIRvl^WPlAxWT5Fo;lRQ*a_so-&r0tv3Os0ToA-@fJBD0q4aRK6@_ zodq2}Ro=e0sK0iByJZ;Sccqf(vZ80h1;|MPoYNFS3V~Yw@7sST8O=TB!F7^k4VlDDLa=67##FTAd#GZ!xP_9Mqz_y z8v2Tw$LZ6jskBAYY!lgrpu2$a6Yi2T)#Z#N(3D)Qf3FY#+4-VW2qgqs@;`muc?~xl zSiEG(5*Gw{9Q8mKiqH!X6}eV& ztfknc1-;D2H;6Bl$M_Ej>c>C>a=@_R(ZuXN*1FwFVrH67^6~qR1|`nnyXBZH)(wq< z>92IAK`ib!XF`n5GlW^ZYu7KCzNNh>9St0`k#*~Ff~{Efhz6+M(AdIT8eMxwjh+wG z`5}7#p6=hXr}XU6qYrHC_-iO2t7_VSw)=UMuwsZXFB~8W6I}qq`ZTK$R9k$?XI9-W zvmU*!FdGp00onAvsv!9@{D&}-xb)6#U!Z_|=#{&4RUsCiW|c)r(o!}ux-P9Pz*CBh z4`6ejr525wt;~)cn6;&p(X%4b0ANBf8)4olr3KxAQE7-DbAqLuh#P4rXAjNbF9bIc z2O?B)*_ATlLY#bd)U6v`;ZsBHh~R;M)|jy=;T^n-IQY!2FMJHZJN6HEBAQ0DhG-wr z2?gOA&+s3@AS~y}Ops4&lT!fAptqq}bIgku#yJ_D19T3+bU2++S<;Vunp`I16Ygzf zGWqnmOeUXBm&sBQE|2P*jC*P_i01&@o5*)|rE{$H>_WfBhW%ThD5h}-!b>1`toiIh z#RTyM@tjKUNh1~$6d4d15*ZX3Rti87ae+huMS=OezD$OR{qjU@iD+U!c3xbeUw-{f zIaNo;oXBo<58Q-a6ytp%siR%XMTY?xzT%XH+>rz_tvP`Z&0_)`${NSQ_L5HKg= zj>JU<)+SD4TQ;m9MX~jZBiXX}AkJWr{{%j@gds)@M`J@347T7NV_toF zbl^KON)i?sz}a1z`~+8lYxZa+^GGw0|&mUpVf#Bs*R zA8Y}*W62lh$g#N}y0WkjS66S=uu&BC7SHl{5SNmyF8EdwssyY?%Unw6g!>2FVZPKy z5&ON^YiMDjVnvmd1Gc@`088*!TqFpV$Zu6TRq7g5u&6XdZ2iuBL&2#II{(z)!eMJv|iz zSWaQvXPf5gdTwm6er*RJ889$H&*BN;G7{IxfVYo|fo?t4G4l?7G+Z6Q=RT14Mf@?? zqIuxIsZ*)%+ySGDIvPjRDM#X3A@K6K#ezc468Gm>H=E-$6cxZX$q{FQ(C3BfwQVH^ zX7Jpm*KC~~axf*(4-#Lk4FW0G?n4&x89*%S77t82U?>ujY97#trzdu4I;dNE`iKnv zMB={s7_jPolFIxgJPnlb;wEZ%0BeWUV0lhzl|n)sm=^~F;sPz?^I^k+N!9AhhKCHh!9v4!@WGpO2`dZ|_}?bVfeL{V zSA#*y03z`BkLRPi*tbMF3%qviIvOQfN>Hk+df13m7CvRCJ_b1cyf#uWP=uIxCTc;G z0j#n_Nr%!+JW%~QIZx(^U>ZV7?n5uJu<#^3Tg3>MpOIwB`dGn)yDkPStS`_;2UBSM z@=}6eCHcK9qG_ubX76~2jTyIt24>f?QDfFADQ3n#7BVq~b*3x~4W=W)U#&%=U;sl* ze195E4Wx@e5vilgbrv@HE~)z-n>_VCo$u5AJr)>zhbkN`3CrKxl9M9jt!Fn%5xT!% zXo|Wx(eoUAbl#Bu%brsDgNC!d$4CL<e5vXqUMUHtLdCVbX`HX#xuNuFua3T zwK7X4zjEpwqen^I(Q@cvrc!4$nR=X{0P0Z&#I~JRfcq+!?ZEHpnfQMyg~dB~SJ^A2 zIMF4g9w_gYDt*m!iCxm@3V)QRR$4`(P@nFy_1RX9q- znl`6xm;#Pdk#w4ht8Kg?kFpeAlbBONf9l-1b2O_SMs|0ePjry)(NW5=kI`IZGz`jo z{g3e`WpCP}1ADaKKy`#`Oy}V2;Iu+&xQ}@Riue8e(HuQZ3vcIAgKi&hPf7OzTfRJr z;#c#=!TU$iT;&Xqy)yTqNnCZ9aD?j6E`kdmdIh~~;SHmfb09&e^!=C_dwDg6o&ua% zdfUb^w6lBLo#z{nXuOYig^Kj^85+Q!{Rbv9RKDm7?c8;UoLCML*QC1smuS)WJ}CpA zDSSoP0lgn4zK{BH$gpi}+=OK2?7E-%`KK^H;TQ{^c#<}fQ>!t!4e`BPDS})r+iY8} z!JRZQ&1-~J%L%wA3L^qzn&HKJ{D&~AccZHpZbc6&5`_{SC3>tNT;my+5|WC?OBxqV zra`j+>iY*M3%NqS@q2oP{}5)&{56H1R;)EJ|M^x$UIzJGv17@%)~(DhOA3{73RxnP z-LG)TB&^Y-t>QU$+nGZDwu<{&r1bj@p*;rYJM;UW`3i+r5jvE3uK&g&b{CaQRqV;>6q zeyRN2t-1TXAGOf+keB_Xkt=Mv|FWh^q3OAAvkNvwEBsb8s_N>Y#}elzR~@kGe4Dyu zzl|zy*1pfi(pR2#x^Ufoi{;+L>v!JmC_DQ1fmKJCUs&c-$hv#qwEZW4_1RJ9P3yLy zX@}1EzqniX*}JCwz5N~tcN+!;jbz`-><`cLwA;3Mg-Ra}@eCi;bpBr>WL4(fA5*W~ z;M`Mx-yPNX^4YO1=1lGR`Tfop-ZLCWJ!x^(eOthpn6Ej`Ozz!#bK_(u?`7*}+YgA} zGv!68^P6{_*?Rc4YtZKU)3*I)TG)fF&U-pJ@#eZGZuRRH>oqFXEVcQXEsjG|9u*Tp zN~YGexOXiv@b5m=E;I@LP`LL$6*jH8GH20&iFIdum{PCsy~Abm#NVE>w{Mes2Zy#9 zSLVftuwuiu*lauAc6P-&rhk{Q%e(x)I>QEdTmEa2XO>&>8;a{%xzy_twdpv3;jJbPb-(hd7CQmBN9A5CB zCXG9fJ?*`>bnN!Dp(&qQ-5fgRMqJKnfm3b5txkAUuKe`tfbCYxtQVJWUZ&2j+SaE& z4_mRe)VajJg6CRatQA{p>${YKpMyt@`*zaiH=AYm1|@CpS-DBV^BKpZ!umO#O#b$K zuqeG4+$HtF6wY+QC^)Hul zFH4#~ee$Tr&o>WP+$_oKR%`QL->&zv>+zq-+h{GROY@$}QS>4&Piz5MoI>fbGv zm9Ma|^NV^L^PLY{y>#c~v#sWTT6=cx{kgMiZFuHBd~<`XwM$icDs(Db**86h8 zCGVsS0b%ck6zn(2&STS!DVQ>|Dr(AfrsCh z_FnYwx1qEDI`ntT$8iVREgtr5`>d}=6Vsf_JU1QP=Vq7u)#9ft$hR`uGu3I~pVbF$ z%&}$u)%wR=pSYO>+M1oIV_T$Eljrjemfg7E+~JWH%WhnJwWLYKJ1$-+W*=g9geKXR z>3?eG*__ToT>BH>&cyw`sPJjG_V1Riz7xLm=&jHH#Ch~AaN$|OUJgBLB}A4Fj40R1 z{J^pM1;XB~9C_|}$b$YeHk4djB0920fg-s~OYX2c-lLt>*-~Zljq&?D;N$Ew4(m#` z9z4AH>$}y9FPU@i)z-X^hE;U#+9lVt!QB@Qm!)jHT{Y}vzO97{ITb%899)v?mi?)} z-J@q7>3A;W_bnTeI{#Bs*nc*-{K~RJ*3?Q{zP{pxotBn;mR$K`_FpBpk3W-EXZ*A- zbMsCc_Gg;;l(%2*_nv#J)Rp|lLyDJPRM+;GM}hrfJxsoJ_BDO}=kY)KM3{eB{%}OK z=<(rZ_FsLke5^C<{*JoI^X5!DRD4{On45Q}3KmN}+)G5JY(9T~M2+>8t9=Q~d8g+4 zi7U-ty!xw1D>LU@OA7wBc*w}2BW#7@_a~k!w{%tC8D6`e)fgZ9Dr{l5;Ddwf&cB?JMn852chHR2RmlCeC9ob|g)pOyiWR~0-^?&6nTFF%>u#77S5J+*SX zb|-Tt6?`@(Z0?srHHIwvFY=Ph5dR*FWIHQGm2;dmtcOYc{%=xhR~~ug!HCvF3JNC0 zYRUe(dVg_r^G|mdPF^u+aP^H10;{y}FrI!Q_hdRy9vL?L4z{ zncN|vvRKc0znDL7Q}Ec$V{e9qI~0B<8=U*bM2~G&&IN{;o*3M3N11i+s`pwrebGAe zn9%zDiZt(VV`AI=Epu(!UB%ZT|Eq69Ps;we_By6|9^p>04X@iC`y3LUazCxsf6E%3 z_KyrX^Xt5igZ9^ELz>=sx*+wk?S+|r3x2S+URB{kj%GLFY;1lrPxum+Fuh@c8E+1j zcRgjbX0+#%8xgPPR$9KjbIY6xo2Q19omHi=f6w-%-jA|xUZi1_ zse8}G_j-7*?2fK6Rdy7OkAD^(dHAePV&O|y?QULf_2vGm4ksPGZf|E&6M*9x`4CsH;D)i3Bj;~0nzj)Le;Z)VXe0`VrS{``*Cb7uS z{5DoQnlCK5C}ipZiwD)~bbov2pMt(?-^G1C&~Ns(E8X3bM*KSbn0u4Sp8vIc;`_MD zMHegC#KJSf?_5iGbh@2)tG_I(e3>7TI;iWWg3E`qJU88|J#E!(X^j<+0)tzB*jfLp zeVlN%`I!sN6Q2H?(y-p`uXlrlyjKU#Ti$bb^A)~p+uH{X+;n5@u|D~m^c~s#+xabL zKKk0U-F4~jkh>!u?=DgAwO`ZlS#x_d^!egd?e6p`^*ScJxK(6-!K!7Zy?n|FEEATw zv>E3d{Kt-KiEiskHH~dvYPUzXmj^r5jO#b%^TpqfI}J4JdBEB6`k;#KBi?R1)2^EL z?{gaq9@m7gg-?&VKX$(LoP>v~H{Evq^Uqgv#!sJH#iP*FR;T{kmgenoDtEw$4>@k+ zTrhUd>egTH9-d+MsOE2x3BUV|t!lEgdG|j)`uz2;XWd-Ut*Q-k+EBP?dw0L{2cJ!} zDBH2PsZ;G;$;UT#Iez)?VS^p&NA|SaY_rj(_aggTT@o5KdUflLaH`3{^M~p#UVP?U zqYCGr4J>fJ)u)P8-M-vsODm5q-)m^KStU*KZ@6&6>g-Lcr|S=Y+%CH}e#X_1Pv$R* z=NrGTlKIZ*Z!RPh?pbPm(Vi2}g?E{mb7YeZ<{LUi+pe`5Vqu6{U1UBHDsn7Z+pC-1PKG3t^iIz=1*B`L&Kw3nt z2=gg_nns3peSXB{NS~EU{8!}M|G3TFfPHTx)BadesPu<+CKEmk-!U=xYj|*pMiaJ_ zzBK1(m zb`x9lDzK)eFnr6>{=xO@1SYs9e@i>r=g8lC%sWgqzfflAZ;s3IP3SxQx4@QdPQ6=H zVa2-Keb|Gsukvr}*|J@rSIIk(xq}17)L!?v^t0W|4<2b~;&^oZrQe=7@gTKA%~5~6X|c0kor*D=ntdu<`RIF_u&Bw4CKWIBZw0fjA&(X z)T8n99Y<3tx3V0#Xu9m|fVTr@mW^n;Cw|x2i@Pt*8?ZlhQ}yt5ElYp1i%lzbqCm)n zTBR&LE-}6Ane)(?T_cWFUAM!|>saOcTTb4uBy{_Gd+5`SPhA6s)*AA;OgZ<4gX_AV z`WpV~_Tsh0eAhj1Uujgks`W26SZG;&%l>btT<0wR;G5X@;lL{q3wq8g^XWj2kVL1_ zHOwnEb-Z4?kBeW?wDUP)^Tv2C-`;D=Z*R`-i+Otab@@uuJFVmbGVBdO0 z#QT5h5G-s`(pL5kP$DJ7POd<|L^iQcXex0t;fWUn~yFk_-^l{b zJzufIvMGm3_qpip+-G2?^9#nEneKem^wWrkFC2xNBhDXlyHk2gv%`*om9FfK+_1v6 ztk>ZDiFqr}*xh2k|JG4a?JAe(xGr+{G~4%yVf|`0eIq2#^eT!*+ASE+)q-7r8J;-t-V)j0*PAX5Ut9gNsqLpK)=iF7DOdK!xKGD+ zeO>MHWbXZL&a>*8A8GtZI9z0ANS;-Bc8vIVy=8%x^;0A6EuB=M!;IlG3)Idt=ic1solqpK6HN>`2PSUK-#~E`ArLQPZCTrJPfO~qJICi+0l+}g2`OPk;6xS zPbvXsZA+q(B61e+e99N#Ky0y|1x8Ft?ac=Vly{{3=a_hZ7cgTG^!Tr`@X+Vm{$<%4 zC^+xb{QX2$^*zHpz1{$j(7m)Rdo>trsR#6ch4m3MHsd9NSOj626BA?iFIakTbPZCW za_+PqBufv3@y{|Q%M;|7a)EoF7YSH@H%jTC(x`xZ0`x|f${R*oq?qf=FrL4QLKS*N zW{P7$wB2Mi(lX93YxyQU1y(iDCj z9h4OEI+PrWVNwO?ycLQYm{b9OM0olG`!{5G*z~l;tEt2)w3Asl`1!DMA7M|W_27n; z;*5@o0W}n?xZ%bVd9z8QdRl#kvSs;hGcb!1T16g=v7-8XB1e%*rFx@I;=cY_;PX$9 zO3x@5RX4i@d#cpA><`<*xt>Q&F2c6bEezS7`2MjKxZl{AXfe5_M&l}fvLY>jHE}pX z<=DeTJyKlNm<2Ta@?#`$b3Xe&)n~-#=sgLxg5U>rQ>zs1iZFoqPj``wL4pvC6&C^C zN^-~K;W3jGvIbQL4X4)=($OV#p(Q3x0HN1Lp97}VcMbY@^y^jqaQa$*<18|cGDs~L zGqxye@sMF;#D=BogE+i@Crx5Mi{%Un4c>m{Evh)v>U5M|%4cmz-h*FvrF^iN@!6yI ze743Gp9(12#f%(5OSD2;v9b8%dp1A+Q+`|{oadPP4wv}NIg!GJv|O3u>)_s^uN0;V zDsY?PHl&R%-&jo`doa~isuQqDgA|I4;k|wf0iN;SlXiT^kgN26qRl(g=f41NnVFJr z(qLQ(t+TmHaVhY0?&G!kk!G5an^fvjs3D;kNKACoH=ffCn(~$Z>hHL|;LM{?x}G^2 zZ(XicD*V&s^_|)y72UOF7gqap$hCAqjWQ?nmTh5| znV%wB3q+#if$L)vDOv@o|T?p|wY@ zr!IH^y*$~nj(XK7jjCctO>K=GhgdR2v0owGz+W!q`fTZcX`;$3Xv!2_`sTq=_$9MO z<;QQ_!`|6UVB6-)N^sH)%tm%ddk$>xZMw30yuDWg#lSP@F_YsuIfI|siZa>zlksjQ zGjrCn%>)G#8Xjxk-WE4DPLowE?w;caPBpQ%0IE(ak^=i=Hj@;H#ReToOx*#ARWMV~ zNWLh}nMRp^CTk;uJ9@BoF(OH5g@ckfN(RgdH1pK7@!)~DNqS;tLvYHzMjtQ?!2GC1 zH--n!ZOmJk$rO#)_bXtw;fb>-e(Bl-hm_;swtX`-Z)esoiRAXLdBekC^MrJJ$Ts&z znUQ@yw>%_xOc;%SGXwzms=qqc$a{dMc25E*MQqZ4CX@)!?UlKjL3QYZLKx>S;Lj+a z4(K<~;m@=ykg+9vO;OZ^zNoNMi4lYReDnv2xPxJy17EPBeT;El^>dQQvVY5*-fZA# z#$*Np_~%ZlLRL#Sj9aza9OkhSB-J&xr^KV`jy8WpvQn<*e{s8P5rq$OoTFz)0)^K- z9vsDg@k{V}BNR~TamkN7(=w`r0bMP?gDG*YP>nHOJG{D8&-D0paJ5z=th0 z4#R)@PPE=@v1hU|H>mwzozo@2qrz!baW#Nf|D>`xsGfK9l0#Y)O87WpoN6kN#WwjT zdY%1*d|w2T2y(Kt*9mkD#M~UXkr#p7P^l(=4q_V!&iiECCh#7rhpZGZ_gT7l0@^Cp z?lIWo>xVP)feYEYf6dV9%6MlahG@=kn#{osYI5*&G(#0Mer)`M=}>)E7;tO6YS-fd zA&+4UNl+fFv^@&uC;pudXmv&*fWgQcr1xz)sW4QQH*5o=b;AZUcJ6XSmq)f>p3BI8 zUH>_qBX{UFb&|oEm5$)#pS@X6@Es&n!(W6zz&Wm6C2}@P#LRqR+P$?u&jc}gMgUQIcF4{@2wUk;-{WoQAl68x*oyHd*j`Kf(uB8<`*R9jB5+mC#Oj(6PXA<0cK? zn%waeiMo>mpXwt5MLgZF3s`{5_G5O-nZGM@GRRA~pw$|-YR5L}E}x4NM(86>oynUX ztMtbJ*U%c|H9|{EsVUc&3`Jdim+bCCqeOEn?Dtdq9^Cs+;ZdOK+XP2{k?giwN*urC zQ8OT;8Wc0cbM-qZ(10g@q|dLJlq*nfm;zUh3bs)Ez`ffv8(dhXg}w48W-WztD)W=; zfx(4zRxzEQc^2;!UE5>5F8I-^`vevJGa{po$f?IQrrBerktN=iL7O@#=2@0RIIj2g z@q+ctDmsQUvmloy={^a6F9=Px9gBiC z5It}YlC-e0?OPBxiIn(jlCf8bzFHl;v(9}N3T)11`qn z;MGQ6mSf)j`V!xNe+UoCxFcu7ez}hrpMxOUw;g`9EKWd5V|0dVWPoucC@m zD^%&fRPq#m_bO7Q;Bz5GVoAEG3ihrtOFie%|6my!{o~(`yd?pZmWw5Xy+HWW>Ae8+}&LU6h_0xIPjs~mFhrfUIzvheBYsy%bG&8Kw-te8ap6z@!H zp@ocZ(tV;u*`C$k{rMd&RN~GM+DVSbQnF}KFQ#JIiKTJFc{b^ARxtd7qSs+xPzZ0G zEv>%mB7qUroJ%fQV8%t=ux~rR} zsGjA2*aA=$?c-gg8;Y$JBG4`Ok;93IJ^NIZe?XxW0`k6K?()Dee*3r^55lODN5XsL z?6OZwq7lAj-FwbjvNsNc>y&c?I>8p1!_;SeheWQvGTS9r8T{X$#Oj7=2Fg(yo&nhO zMtQKan*8oeuRd_`hWi_NLKaF(O0y8%3SxFFcz@V;Z=_6Mv`zX^S0CQIM~bO zFleNyA&gW@7XnvE4Tw|Sy%c&31zFOsgsjwhH+jJrMJlbqO~{yM3Q&Q}StaPmVhqj7 zti?l@bxDWfspCYlC^$~Df5ZLOT)5}n%7h`0mKSf)#7$W^X(4QR9G~a&9F6nETSoqW z=Lm4IS~g1?l^Qo%EAuZZX|Unm4=S-*&SnVU8bj1szJ3$pwnc3%fti9aBzO^SjH#nP zh77_GyJ{GvmR45Qkq|9jSbUgT<*wmS3y%U3yQMW_9NbBI9V#bzV1tyZ_kARPYi08{ zd9IE;W=Sou-w7Dxvg$ zW>505m}da)+w*ljji5M!FrH?)R7tA9j$1=11w_H+3-u=ZLQHsKniW)`8N~~KAErY$ zBM&)Y_?>t$*|m~V@Zob4H(ujw5LFiX8hz?PrYu|7OW4P@20r`RiZz@og160+_JV)bP_hl_v%dGdcNf`{Fm z=tV0`l$(QwyIgigD-S&aQ%dxI($tw^)0JOw$IiJ`X_BvA|I_HOoGAZiv_em|tZ8UO zvjx$pUK+PBkjVhsbOja(|3<>b50Aw7Kqg!8?q=whWSzXNxL)V=2c}BU&yo3%4OsL$ zIMF1MOW-J#<|~ZfASXIO#&SrRrN7Ny`bZdwp1@w^@@7OU#oU#ofm`~2J_A!kR1_Zo zA7zz>ba-I7q&WMI#ojsRAO8MB5`ttHT7rS;D}7ep#xKNI{pddNjFg zJy2RsQ@h95QtoE<0i1so-woPZh_h9XMk8v8G9Jgxw2@5L{Uk7K&AEuhdV8#s!|f|d zTnpCx1M0CV=dY{~npngsT{_T!kR|o=fHkHX4B()pmQ!|jiIh&vRyZFbq87(6i;ZnY zKl+0jkEbhDRe1lOi!|gvfgTF4 znZf2yyF(Yowb;0MHel!ah}nZkZ^RDhxjNtr@h@9i3rC!I=!)$@X+L>6ya#eSpu2TM zo*~C&lgg4i2!o-z=(n4UxS)|D%lrzw?Tsi7eKIb;0iy)75wJn}*$k1&)cL6- z)-bSCoNtJXP|6hiuN2B+ykA#oNJ>8t7GRo-*p;V$9+SE%+ows2EEs|oAl;vcSk-WZ zxy&jv;dF99x&2~Yn%lBy@O!ChJwYi0nZ}caQ2b<9W>3ptF2%I%BvFv5SP8C8CXhrYj_sHZo9Uz94+5d%S`YUWezGGXU&$ah z6(Dhf&Ivoyvr+Saj=86_4--$l^(9nEM${~3{hIk0xN?4EM3*lg{qKN01eB8+a{;B< z2`ppEx>gO~;vXq)pXOV|tR{1K+m-CR`V^&q>nusXyD6GtrcsZ&Z^BRAq}PI>QrQon z{Wy}Z*k~L-djCWoHT`_l99Q1&ldHW4U?&B2+ujX40vc}KC*ouNy~xV*6l>ZDw2A{l z;+?aT61D%fg4^B!%BKv=~NsIADO|aE8I2km5 z_29uTiW@sc0Cjq?>m2B~isPYpgUU8C@BsA&% zz5zdIvB8Ogn6)x`$&Hfa+@CpeLQB+4_53#CPEBKSy0OI-+3Pi{{ST5It!L&>7s^Ec z#E{jPb@i444MB2fr&*8_xfN-26X#=pc-J;6w7UX~VD88spF-xYZ#dNw@cy~J`1Qs9 zrMy}{_4%E7Js1ic=}6mV54pr9E+gF|X8^`Ma#Woianj!)gYAEED#lR@TApX6gIAQN zhQ}ZQ>CDWTR}FcN2sE&ztKM){E=mCfq~eE~IqVJ8kd z5t2~hz*FBTgd!Bh*vSul^lM4PVn+xK>ZqZNUXtw=Xz~ykK;x9cnS!%&;Gb=G=pq;H zSn$eN2L>}-20tRD-w2i2hFHN=$ zs654}H5-N$JgQmWQVqB5DG5No@Iz7-jB65#3HRtA+dftmrFMd2Aj5edB+F1_O!2sSx3NHd;t}g;KQE2AI-5VJGp{iHbqe8sY#A8zbF{n~S9cS!@_%kT4i)CS2Q-UffAp&C>o|(=l?89n zq<_V7e8qFlrO6pF;jHXoCaZ9eCSUH@@Az~KY9`wGJ~&aQW=EFtr7W+$-}*L9aF$&P zK3E9@DOXQwkeOy!_=gdn|D58XWz$zR0Ns=oDPAU5^8}h9IKt_F&n_kz`#?; zfIe`1tij+bSFjDPy2X@C75guRAe8Eqpae=JM?|L406}NESrn(t{h-+fvBRhtL7Z;q z@5FL~Z@a|dIzS48v>Blz53bT`AWqp#RLX_=+~B+NZP~Fz*TUMaw8%K&7VR?e!^DFd zP7@Zz&1hE)PR;v&jYg1=0)P!W|Hv*24jE*woQ+SPF$I;rrqSrZ3nme%qC_s zaqrxFVt%vQS1Vs_as4M0xR}{kkzTz9Bt(`7jEV{#>$n_$YZ*=~&WKI~ycX86hGm;s zH)sz?ZMgWqEzcXfi0g)U&|3@o+vn2=Fho;;pdQiz^;zWVByddA{1^A}R;$k<-5p5U zS-3D&^!c1T(|ArHvOej{h0r|$2u;Iq!*e)aGh3$qH^R)tE-L4FzG75GNR+80i9983 z%p~~oPAL6<)84mqxQgMsUsHzVQ_FGP0e?oDH%8?LP_OfJQDzx?f$2P(sT9JoQYJRb z#D}Y>-|7bDc37Aa$MN6A=0cQ-!0ffsB3#j4O2sT*TE+4Dfvc_gw1k0^w0e62?ec6% z^}O3zVI{_K%-)S|{v+%LQJ~wRX?B-*5T$ETk2n8+ErPjAzC}ycH@Rfwg15DxXx&ng zzIWLAoQU=`0jI+cJKwhvn`;M;M1&-}0h$(_!gF`{s{o)rqlTCSK%_x7r1EPV`n+-q zS-o4&71J1mU=R}s%;@P+pV<3a#gTA_M2-xL=%<2%i} z-h;~|cZGEpdXVQD0T4OYC%gR!5mhr$$?xXY{m&BldQl#}izeTQaAe2Dzfopf6Rq@X~bES6} zW@8h_?7R2EinmwITwE4?s(CkS#Tr2*jXSOc9ha!L~_@F-$sIB0|-5rc83^j^Ns8LP4a{X$~$>fktk zBL1yfniO(7fW*dAK3PJxcQt-4VR?$m#d%_b!D6*FDAFjawaFY&#jZ=hqGX!l0~!xM zPQT^2*22o%fS)h{<0Lh?BZkxsX0h-yipKTS;~`=#l`MNSzk_Cyg>NoZgNK+{xP4%QmR;x$+SYA7Stqe<*U!i>$tTwcu(&X&ry!^#y-i4Iwkpeb& z#fcP=4_-(_R6W_;>Q;p-)Bb~f71Rux=bFhZ+y~_Kx{>>Rpidj3RRh|F#P^MGdhYfI#9k-nUGo${^jj1q&pAGv87My&&Ha^Fq6d|<#t~Ii@xpdjW7Q19{aPS^wxeOytoj0 zR#P8_hrrVyE}uv~gp$~|cUEmk#*lw~wtYfV#y2qfcEQG_?4*t6BcakT$|QD9D6hmd zA3xGH%G3cYv6(NrryC>kOccF;U!A;FlSGYMgtyghdCK%OynDDOW00nP4;#W730q?9 zO&4r34h}8V_hGDH47aEhFlr?Y8B>d_?apa0avhU|%g&TMp!0u`W$lU@s@+6fb!T z_G?n-7z6@c;b4A!^fTF_h>IT(rObu*9doTiBM=n96wUzM);a?=*Xw5S<`4gA#iK=523U z2>4TyV25!3cNV{siZK{t!)chQOPvb1%=J)l1|y#-WHX9Ci->_z>tr)I*3qpde4|Zh;x;{G z@8QPkcvkAR^r(4%kE*0qulr}8vwG@N4t}`B{SK@^Z>kk4k=DOdrGx+1G~y>eiUmy= z>e8;IKL>hu&Qf0G7Q^rF zgL(H=I8tiTN0unhD-a<0((oY=Mwt-61lv;8tzZg>vB^h&kxj7(p)Zyc9NB61ViL0) zpkb&%!MPn>2m=dbo*jF6N4S@)@FlnuYSeqrl$R4_s}>x*NJfM}YBo}6F$@&x?YTbW(E}(2LADPX%O=BQ_mi)h% z@lR?Kd#bH4@NCa-Gnmj)F#e-EzV!NWHCsVz8*KE})zs39TGM|H8=jP*cQ!SMp0)JX4D@3Gtk@SZSv@96`3Qt=Fks}cF< z#*~u5)O7l+I^v!&g%WjvlFrm2CK^us6JyCs7rJD>maYToE}oU+(V$Ws0&2(HsZCc> z!QhC0MzsHQ47M1x&`q1 z7ysdFra4y3cKN*ZKuyuN3a96k9`(q_Ty_b6IfrKc7a03) zN2&*$7cY|8;I5g^4i`3nX52@Cv(@CV-Y$KN2E5{mqL~>IUQg)Jk)JAJA7VOCN(_?) zcDkpk%wb*W(;icjNTG>}07sp7;u^m9I2DXGQAI-^;6XT0Ev=4pl^d=w%d_0aewU_y zD<1%_pc6^%&u#i8*6P6^O1xF*v@~|Si^u)(krn$sHZ}M#&!tLFE2>x#Z zq{gSyrR0Knpko8;;L5kplVTL!@an{mdYQZ_0~_P`SEih0&8M^IUOEo@3 z>D8k0Wgeh7WKxCZ66chFmQex$!oN=Nuu|T>?v0hf#YxqBmU#M2lt7($IUVY|j|5|0 zyOa!-4hpk^<*$g@7;6@hC)l0X$>Yy>y1naYl|Pm=~ER3^ zZ(LFlK_h&j_j}x#7$KfeCMcq2OoVd&3rU~n8;kd1(0SiXWxy!NnGB9VZaL3 zGr(n&iuhiiE`YBy%VK3C9nB5!(385>=B-+M-AhXf0u3=Dup$qCX2$kfh%b2_v+P!$#vtm#|yFq%egpr$QmIz>?wWwo~l6uBEidT0D+XSX}52YZnp z!#Es-PgjD{fZH%^8;9NZBB~;T+NJd8>&k8tygv|AXGvI4$uVKU12BV8QhR(tuKJJB z0=Sw`I#C4oq{01ciYQZ3pjZlx6$yzrhr??V=>Zj&nIW@(v9}i~8O4~w1X}NhDQ28h zKt9>mSRyFC#l}}TSPQtndED&GXxFh(4jK&2tw=opFQEVJ(6Lq%5k-D*sIRr~&O2(F z9jew;99^*o8LY}jZDrQ6pGJs{s7ty%EFt_Wp6g9R!^$)C9;J& zu&zV0^E7~ea0viy2l9&f+r`T{*o7c&iDu1CjsvRA+hc9!;355sE~by&KrY5Z=HBSVN>&PAe{Ox%;P|H~@jC{lfUISZ0?hV;KWBF1N-LvL(+>kE$uG zfkFI#Xh>Scfd~eKlnT``41AhV(SwgAh~FMvHHo~LC^u?c4m4Y;@5FFKU6DWkDjKX4 z7?%Q~7wSqu)Jn&XLBmh8oGxYiN4sl)kF=p5aFcAz-LDIBz&RLoC+E<9$ z$@94UmUIA)hHH~Yg`Kkop%#X~bKP>hq9%raSjs^^ix8LEWcL))(WQ6%;>#t9qQkZ; zX9hnO`Pta~c+1*`c>n8qZ7#v@C`7kA48jH17Zga4+7EmVU^v9NWSC_q+>=z8fAc9?v%=3t@}UxJcD-RKheT*>HsEM9X*!6(w{tbAMtI(BjP-7+wP36X@+Rh-*oYAX$qn&940m?82S$arZ3M8wjHnyAS>yFm{%eXZk^N43HP za*<>Nt75GDYkQDoy+W;TjTWL>NAin;y_Yh=x!;c~+YmEZeus75R@#UO%CEeC0b$p^ zZ!M`YBv&&|z4|SP9W15=GeA%*91fg?txO=5qY^o*p*ikBYpiF-fLdmpI2^!1?g*|8Cca6zh6WHAQdkOrWCT)|H|W#qv4L^uC;$MM@?`(CIt706 z5MNzoGo|u2>;cyrh{}C`VQXxA~1)Cio{e&i4jI~ZOY|DVa1hY{A~Mw>6eUYEiv)O#gw=I zVfk4gA7?|zt0=LIpAAvlW49DKA5M!hoAErhkk?ysGj&;kexa86=V&>H(WOC7ramz} zJ@189BRDlOgm>7(h{AUoH_itvD9$!W|1JZY)kTGWQj?2K*Vgk)3yo2ny@)WPj8nuf zoto>ud)9QQ`TatFD5{pwTpM9abwlM$jnD$IJe1Wd8PX^akYK<~k>Al)b=Hl*mtD%m zANbSW-EktSN3HeZ5Y4OXBCr_p_MLuNJwLqZN~(%XE%|E`OHEG}a)=<8QT~S6r+(Dw z`rsy<<1(<)L>N9mYO(|q+T^EGUg#@cF`;Oh*P%UtJgGZ>mw+UAQ!~d#*7HwY?L7TEy z>uGEFV7s^Z++lE-d@_dpU>Y>xw}{@aFu8Hx$^0h~S<`>RXhld>^`2MU@s!J z-AZM~TM-T~y{n7T&OCFV?Br5=TAaBaw4xr7TUMIS`;l^m$N}8o^DTVI;6<+P5)&HtuY|^m6?m)rt z7McNp@tmumL;6dEbI~vd3Pwl5&WFz~kEh?&UuLI&Wq0)g*-1+TgW99h^TV>o*gg5} z9AWx1y%zNuA{nX3tL7?Z4H!P!Rak>TC1LY8E$I0)KW<-qe;u}y26)pR(j=;XS#gm@ z@aBT(wre9mJavjs4MMvv#_FBsT%NT~y$a3REFds52Pt$)H^3L-AU;K3lL@Y#EdM@R zoX5Zn3yKHzsHJj-(;$@=L~IeiHee8i8yErKi{-I3>idJ^!3k5qZ9R{G1_sYgLhmHnW`ra$p?_Ikbt#yZ%U97N1jrgkB#>EJ>| zhUaf9>!O%{ZAt1Wk5TglR!U=MQr>>$S{!rn6YA!`5<_FB@X+YLG7$TJuq0(`Q)azg zg&K%b!lry~+sX^0DpqvQ9Zr28uh#*DTh8BJtA z>XGL_yyi*ZXkY)IZ0=wE5h>Ao;BTW~=-XR&nC36PS;yKs-=)l4hZ!9g+Dy#NuPb9iWevE`(x_GkD-y({ko zIhFmPU*W`7w-NWoaEKFeEXki%o&u{LzUW8Hl<)rc+M`BioKd8ZKG=pMte>abp@|S! zb+tVG&7v0wMaAW`=w@m>LSFZCCuF|vZP~w>)-c>Cfe}TbHP$t zQVrl+Kfs6AtyFapz-HpZcC`0m1ig$rPPu@S1Z7r!&-4h_6q0VxHTCN5omH80;Eid~ zM^LdvB^K`pGn;a5tLFeI=wayLpMVuG%WR15lgJwpg0kL}=rb+nh^cj3^GyfyJ^}jv zw5nz)B&-*4=tb#&Cqfj&Akh>I{0^OP0N`VC68q^Ocv^PhxMr;wPJD)25X zZ6%2w9=6llW3hp$>A-9cDL$J*VrI7=5~}5hKmVLZEAbLB5P&TtxvR~qKQ+S+N@du~ z`Zo1&dB_JYlgLd2H5@1eSLH#>GZK?dDpYCHSp#+_oRh?VJEp!z_%eIh3`-8Dy>h>$ zr}Iea`X8xZw{l@0C9wB%3hluJD6w!mp7zhjVCT{LJunKw`E2eeaK@s zzr%!Nzt8=v=_W5|#kInq5Wf%bN8tam2FcfFHeYsLQo3Wa2Z{(mWf)0zV~YidjgELq z_wjFG^%`)0kvzG7QYuYoy}?MPBHy^1U;N_4T6e7X#nxG#RzdrRu#s4N zWtu~HHA36k;_8|~APocv5Dn`ubG+VQkF!ivIw(@LM@-uPE;U~tau%nN2M8IK26 zv|)(`% z&v#URUwg$91y*!}&oUTJ01J3RKe_X6%mxgdTTPxj64==xj_mH+EnA{Pn10PS>`z>N zyNmo!>&O@O+AkYD(ls|?0+HB(6D`CqL^LbwJ|@s2)x!eLwQk?Rmo2CkM`f!`9ehR7P;q>^ zUCZIp_wkpZ-%~e90jJ~|v#nC?Xcd#ozE1-6LVnE6)lUNUhAQux?A~YWALvjx1+0bRNsdA|k3z!i(NObkyQ4_>{n~1s z1u}OEC%4SujB|wkH%q^OZ_zB=R$6Cpt`B-2d+UXzlUXCUB~xYv-BV_M)_auo2=86a zb38yevi&r5_!EK$B2@k;-hsJ8J#hj^z6eWn z0J;=`b_(l9+B}5Ohb3<*gKH@_dalVH83O^7c4M!;<6a(JQy{(nmzHgHC2a41oH|HC zV9dv9tz~P2-g-aT4`UZ*5udEiognJaTSe5ohtvy2GA1fpI5rsF+HnplY8K&sUlY)92t2(F7$PctT!xpS)!J1 zy?Or#AmeRchHm27wsY>nz`sL(l&4@R`B0|!gotA3LkObiWjz1W+lHKvqw=RjKQUNS z)bJ4ID)<9{B(=W61`4xWX7YyA`h5RjA-ij?74&L5FpI_!L#*!mlm#N+#3C|AcfAltsCnlXWzWnEZ-1FB>9x!>P z1h-kns6OMlo4DkO>1cC~eYT_zbv8ofktXR{7EL`h{}L+APwIfhEYGt{a||OdW@Tl7 zQ$y6k+BLZ28RUxCn2m!VtgvewH&3_>v)tXZgK3d}zU`29E926O)jCLYHjdtM4_bJkRt4tQ44kdxj`OglZsC`x@>Q z13qp)sUUnZ3C`WFq)|l7-70b&RWW#9kqc#yHh{i^IhKq2dro#3xixKRX0?vUF4g7$ zaeSn;RGJ-7x4b7%RfD0kIPkDM3@xB-& z9xbIbc!1#%4R-XJ%4B457|Wek6jfQvyi}V-9}rW-@7Bsgb+oiWfk)PA89&l`(y@PN z%|S4S-4bN(p!j{?_VR?yhq3iH;0oH+=fx=Huc?Dn{*4!ZgnJkl4a{NKUX=rc7x>{E z!-!C$Hd=d;T6}m0t@ZZEXknoU=f(mb8k2%iltReG%@YH4M93~>rsAm*YFU_<(QvM?$|Tb$f50U4F~3GU`(i@iZ+Y8lQ~(> zf1e8ZJ%@6fQ$5o4en-?`FW%5YLcLr<>S5DLen_2Kl-0N?UZ0*k?4#gfW?reht^B|h zBCy>gvDy7#qyWjs>`s#`yiFlwH4Hi0d1F42zVjG2o+(##$a6F<#fCV`6Lk z46Cz7H?Lt!*y%=_+Usz|!o9S`obu!6chMtg#wDqJQj=&dV!j;LrpK zT7}=&b6JrD`Y8xs2iPqn{3|6Lt_VNgVO_$b4Ou`imI z^unrthXq4GFCmPeZXRvvJ(;ux!=49k3etFQC>-|y;Q@u}JtpOz$lg|1HvwI*i?S3W z8S{YBunq6u8y~gBI@N+`2`U26MY$W?5yX}1!*2q9^m?%H0iA(D^Pe86Zi_Zw;yr&> z*5ZeHapJYAqn2nlDADu;DA(J9Y8;EizZNZjWC8T7od04Efw#$G67H~vhkf9ckA*Q| zr&@_(cz=J`C)lhGhzJWtu%`-CFjX$3!jVyB9ws==_D|YaqC%VfucO#CqstB$FPVYf z8rn55*c5@}$MYs?F5@}uWC{6+J}>JveH6u%obZ4%_Ql8OmoxsW7H1QDZDZ%R^&eh; zb^@)fgkeYyqLNm21+w*=*BRDeo$_rP=ioU;>~pXz2pQUAge?A45Hq;}v>~G>j^=;;#$@^MTI@4_v$!Nc1Gz^SEO;DAQi?eA;@%pGOYXx>v;38s zmkDM;ax$0E4qX{hnZm(~RBN`}rT4u)j`=XgQS5`>>iwbLZU*XSV%93P0=qEZ4@r4l z@USee9yK>&Q=4+)KZ@cDN8#J+!%AEpu zhcdpFNYQyYhZpE<;9p1r>5dbB5}#RovP`%~2k9cv>l(xcOW+n;GE`~MIuLy3W4`U` zehqGz5h+8n^JaxJ5@#T8+isTf6E_EWC~EPzS@PahhkHMhTbw8%BxKh$AX3t7)109CBvx=xt__~&;K33D2WDA5hO4n&Y%E}Z8GAh(C)==U zZUIZT;yuw1wPCo)V*cN2BmrXd!DweEdf%P*<3xt*zQYGv;!&CG{O?UKS>kIf=T;kQ zv!4xvwiPbJ$i8lk{wn50aKb~F&~>e(cI6hHwOVL>JdI+@T25W29~yL?r(jUOVV3ZR z)397#L4VG)nW$D$$0SI9hk>L1BSTy;E~XhW?MBy7)?@Av22C_Oz!$^mE`(R z;9A=Sfb=28_u(9liF38D$IR5JDDQ79 z8?T@%Zb$KfWQsZ%x~vF+KGwt?q`G{;Nk;Or7g?DPuHvjKNDKW*6XIe1`Uukio(VrI z%v@~)S|F^)R^lOlp;s{%Si8_7L%2~*j*J7fbC}?R65i|$w+f`YF#;mSKsJnL>>%c- z@#!27&UQUaZ6YX%cZ9{9)S|Dz$`Fv%^_L7j#{B@Yf;zDwjM#8z+EYuk_WA7WxNd0= ze@dx69$^u%hg=G|@s4rFDy-_UfRvsi`Bi?_u36|w5ebuj9H0q=TcLa!#3tSJ;wJzDu#Uf(;4sFeB)lB2}LQy-pPj{%J`mAwy(llZ_OZxo%E{Xu8UYJYI`!Wf;rNZ^~4y=Q4P8+weK0?1|M zV@Iai2%+>rlyghq=~yEVHc2g{p90wsZ)zb3gQJ#zkW%9oKBlQs>OLKOqRP)_HsbKP zP?91cCHOfYjk{^Jc-LFN|LSKWSJ_bxYb%weJzX+?my5_yZ)*}DD-n<|)(GPAFh-a8c-&gBxwbf||qny=MHX&c#s zY)<#c{!=AOF29cy{9Y{hH(FK2l!WX-CbGoY3k#+@|)x@QD3q)m%KBR6s zHW9%^fBf(e^x$^;L?3m&SU6!rbdILIYg$`T{N}cyE8Sj(?xAEFM1E=r+AP^*+2JJ) z9oRSjP3LeI}d0<}PHlHlP<{~l0Dh1Wu;@6vmLc}yE-z^HZ1&As)l5i@9xsJ~CVDYQ6! zij|1qtr5$LO4b+qbQAV!#XJtXe1C62a`##`5tDR7peY7jP?u&=Zlsl_?G+rTc2ZZT ze{^x_#{JU#n9Wp%we(hIEhJ_tcXrta<7tFh@^c} zL`0WCL|&W++CWYf7JdRF8@75)Rt65tL{>2r{#fu+m~GolhkVpYsQUK%kWo$sRwISt zSQ*$7srjR?LAzm`x7*iBp4&j!`xBU)f8_y{)Y#>k2N|dMeXcD*Ali{jI+Rc$d2uw} zFIvOxzOJ{}%*29$Bc?t?1v^n4SK;#xR4%5( z$(j(~#_Q?ql}9z4dob;h3&r)R^FY`wYlT~U5-pKLTyulBJifnTz3c!K>5&E_e~+Bf zT^kBM$m!<1K;KR?GXf$c4#HxB=+H@3RMVZGrHnK+raXN)Hh@iQ#GHyq&Jm<{u?eVj zOS2mDiL5cKivUN*|I%@l=7J=1nhJXD7%0|WBB~sZwc4{yQh0t zZjdiuq&YCaF$d^Kc2YfM2}$xKfB5jqn3~YwTBa2CE(C8XTdU(nc3w@+Gm>K6jIvsN z*y*Z(g`4YGycP9eyrdu#QHdg8#yv21`Wn~$0bMhf6xPS9^CIU zlGuFnXX#f!ejxVRY-PD=X=iGQWOh`_%DVy&#)bA+W=w>OIF(&#Rpa8s@9i5u>WYa9 z7*CPaqq$zGyqG1ZPY5zZ#$kU!jR*h>Lm`2Fcb|H*XW>_p@m$ex+s7}qS4aaFjUt#? zZIl6TY3ncol`~&tM(SFdf4u1iUjcpQ&`cU)Z~W6e1kEv+f0CF_>#uzI#!@Q(eFNXG zDnIhTx|iU}1e;DDfQQqP2neuD`D3ADBi89iqu4)KS)o`|Pg%^!f8PCU=>=|Xhr!DJ z-q2j7w}s+k$=O)k_xbv{&o2*=S^E3rP6*rr)Y+J<_na2u>f2BOv4nmnk}i*6lT>G(c_?L4uY z3ak0y{ewZjJ%x_hf1ruKLB#?0&z1aFGVW_eRVQXB+}N@>hd>~ zxBiuFei9Om%*VcupVj0yKW^$xEVHVI5VW!Q0^T0Sk*RtW8vlbYeWQc}qSorN87^0I zCS0y!0WacF@PG2xU^hGr2?Ji2A#t28nQ3#IpbJO)Z|P?pf5l5BY2MauHa;moM|Tto z6c4b|{QWjh0D3lX(*KHVg3X5a(a!?n0!I^K9@7_mP~30|FxCnjnq`(kEUw?*W)hur z?|wDFftVb9(YaKUMo5nRg8bk8N5G}GoCT#GHQ^$FkwY}r|34OT%b^nbBPk3_+AE=! zfs7oE;Qqm1e_}*(``Gi}hirj;1U3Np%67i9wNZ;1)-N7;Fs8LaC?%=RRIMI_SiZKl zN&xTPCENSTYNhpS_AG65xL;g$&SPRO^}CSklf65s0mssE)6K-QKncygO$`2LbVKSP z!g^JAh%tx=rDu1Te|NGz3DRj(mOkX+nR1~SeT(uj z+f_Ooy;KK65337_RffN(kwsUC)44j6@j|#ER#iRV?fB2CXfIR6<{Di!P=OLJX`|*u zCLK_I@OKCbzUHM8BISfH#WM#crL`rYOKotNA&XJ*3lGJ3+h;o!uz>&Jq))`pfJpOo zaJWyRe+Ok#pOU$pmmTh`dpDy7*&DtT+{QXqOiV%^?Cq{d##ZPIJ-$4Rmi&_)cUi$9 zgqn@P2`R*Q&XjEko?S$`TR+bDt-2i&^h;D%?B9eZVn_;~JtO%ov@J>KrY-n_1Lq$w zE_fceT*G&jbEQS;I*r9|u2FKr?El(|fy|#Pf2oZ+)PNaWU08}@@ok^6;6{m{f4a7R zxrnpl*CrX9Rh=a%fP`{NqTSqltI$;eK9kxu#XIYGl_;u+6;8fWGe{}WoOgqRyf>zq#V7L##%$ZVGf|^&x6%SH{yWnEH< zCYVkh6i%r5-ObU?+rUR!muSqV$1=6Aeua#6qjSanAgkp9WT99}5&L|I%}f+3sHxI< zIABX~01@jADq3i$u#t7|%-UNET;^ikeJ(Z)Eqw)%qj=-C8xsD#ZE0)? zz+Gu|0`NvES9?=G7G0Yq?)f1VTtHEJ6W=@N2N4Lr#yZAHc>v9UJ7Jdu{94DXI*$QNr89}pvI$n?pttcOy}%&6hw-aK@{7Bp4ySVftsG@e+x^8 zT`=RUQ}dJ5oR>$Ho*w<&y3@ux<*;=^@LtL6Qe>t3O8xOjo`> zZ299~GQ0|;UxYj3N#EIB5A$?nA&6j(u zuO9Mdfn(*l)*03VqXnl$zQ$P;?Gkp)+d_V0jOQ|i6(-lzoiIm!fz%4$f3?LQB=2_7 z)yV;td&C9PHR$)_4S~}DCjw;ZY@wZAghdLZnT?k}`l|F$0;s_qLkNJ&UeOIr=ffzN zGYm9zhtcso`#&m^_@<&_3Ev`!8-0=h&Jg8dMP&%ja5G2OP9``XJj&^ij7sqq|I?s$ zqO3mIri6qbmxt9Y&{Qw2e@#FVw=9G<21AExg3vjy4|oV*I=~Ma5$=P={FxM@V?t~TQ^f%Fa^7|k~FyIN0H)gGOyj9A!xK1H01pdl@dl2 z5S;``2yG&w=K1hc7PKBtZeGc9CRBh!e*=fmJH5LAeL2YTb4pPID`+hPm~e6rL51BP zFU%PJu1$_6SB5{Gf3qUlh7sK>N8FS$RwJ| z)?Bwd=&CVG257E(vG>!u93m{_CQM4&E>FW)T?A_WO+gl9e}mZTem8u1nENXxo?k&q ziqv7z1ape?u%tn!_6bB!XP8gN2+lRIVLw><>LOOvG*0y}NSJczCyz_r8(SA}3H8 z#2TauA>BNHPRq9y0##~X2Dbjr_N_arSOxHw;zhi2vB#Sty0rSJTDin!Qw^4P371+h zuKcf^$asMfUj9L6Z=6{d^)Ts-be)j`_7>4DuWofhf715dbf+Rk$iivIDH4uJ+gyA` zgoAanYl*@@RA5@9J*qP>+P(!#2j?mBSA3B6_890=m~y#zlB4`l@!eyM z)rZ`rf6ByGyCAwQj4gsIx(bxV?a&nY$bKHdfeRp0qDh_yYdmR5R?U=8hCLkx#*dF6t$ zf3<7hnr0n1l2OgYZ_8y1RXbW+$NBBWW!rB1^*04G!l)HZkF>8h%XL|6boDY{X%9ef z4vv}eC-kR{yAluS`Qn*bjbl)XQDSamyV3a)a0Da-S+e)}WBB(P#MMZmnp`x=>!-L) zq05fmw=S0{uteVz4t*$03PY# z&q{%653=h~KEDjh+_mL~KXGPMgVqK}S+zC$S)ysYw9)0H5(nPWH@+}stv-;WiGAMq9L$v8G%q64n5$NQzhvr*-Cn?1h@Ez2p!S6@G;(XDwl^+%48f!t0x zFVODXM`X@B%MOcdHXE%ZPq-&|CY8dJ1!pso>Jt@7Em|hQ7L2c?m>m8Ng5|qI*Xi7? zE+)HQtNc7@20HU$IrczUo@Rz+e@Gu1B}ClhD5H62bdIXP`IRzGLaGDqfq~}?(N8P8 z-7Q-PGi+RNAQbNqV`km6p9holTUtyQ%5{5kN7wL7p-r)436omiX<*V{ko%_V1zb2# zg%eN1pBiLe_U`b-A9x1t`OXaHFW-gZ zVp`G&W|ylfQevGki#iqTe}c0A)H51j6AfIMd4OA#EJNJAEm_Y&=*S6JI#gk8&XF5t zVV&TEg^EPg%AAxUSsY<&?H|`@IK`Sh-3^q(;En}xUn}|Ff+K|`Df84_D-25-bO&6M zudCz#ByT9;>SWr;s6Pol&7apu>QZ5i<$Z-e{2n`_#*ECp^p-Cue+pcat?G(n)Bo+7 z^hGoZgInU4`3j2nP=~&x>dA~fw9`rXUprUeqabTF{)IM}v*Xio$C102SjQHcH6Mx6 zma9GE4RWENK=h>J@(dNwaR5Z11+Jb~#Rn1Ki~oR$GX?n<`*{Vv`Tj>}I#?d$)@O?3 z^RymgZ}i44Zmxjve_(SJxtiXiHFTtTE~96KctU^>(n>ocxmz{NPULmMnKs;ZJLm%i z*p?6Gu*+M6^#Vwvpuu(CcBy-e+~SlbRlL5~N0P z1b5)WCB<+!RCq|kl)>au+CfOI-}a*+H8gbvlX5_(5@B0ie|=Dac)a0m-WYI%OOha` zQb}&9>EDN3`GzCE7U0+;4i}(wfy8fue@od*Zwe^CLujvro}ic>aZH^~>G9=?aub|I zqV}HlW8Tq$CtanLfO7Q7%{8OIpcVr^Z@7{{>4}iXOAHc|?9i^7F93d0J<=10WUQ|+ zVx{E+*dkm6f4aDX(;qa@n^A27>*&GSnXj{hVoDk@b0yC-Xzr2fi01Muc*je~^8N*7 z{Gg;@$hAV{i@3dv&%-F8R;MXL%p;Tu5#JtDA(wtqkcY!%{~j(SMQf)V)(0Qh?JZA8 z)#l?%01)uWes;sTZ1Wu%sac-G@E$`gcU_=+|7nE+e;rXk@$yY}`60(JYo##jDIP(> z_oH*Db4B@}J44d+fy^o>cqprQ%N!t{OcWd=XUhFzlQ_B(Q`BPVIyzVb&d-w`BZVep zb!9#}+*drSIP>)Yv^lI5I*^n`4!9+qoPS-4_Wg+pMp=ZUcPTxJFv1yDQ}8Yo9p`J3 z;CaaSe+mi4)$~uqT;Y7>YZlBM*4Z}%($7uk>uEGhz&6LHq)vhU&xwsUzH&$j!c*|Mdeg$Si!$4GCGONo=V_URfxJIe_~0<&CU+FYDM@_lc%M)>m{9ExwnZxq z9VtmLoV}XQKO<*R0^m~Irb{G$C-wB%2Y-JJf3Gxim0jL?F6G=OA$FC)j^m2c+M4|; zEoFLKb@m$=)^xkC zf5;L-LTIOzHr|PxyNTCN4Uv!@X;IuHb*zD~m!9<0DTS!TXwGx6CRS0T9cTqy$dC2!s(V$QEbDA28c-Wwd2(%A zi7XLve@jAbW|*2SFmul=$J}%`e{_8Z_%f(77ah;;V1l?;Y4j^UA?I+Y@<)5{eqlAuwK3cl5b^#QL}lEreTLX*t$@Pvaqdm0>5$ zyx>KGjea%2oDE?R~NRFaZ;(lATo_>M=L6iWxU>f5_^5@n2w$ zLy+DT2vb1oJ}wlr!sIo-^it9+xBrF}26`E&#X=-0hA!a(*afYKhGu(F({?J#tx{Y9 zd_(l2YZa8p%w$$emXexw+m;ElbY<& zW^^MICUWyIiQH4<2dO;cvBeO8aV6oopE$WxZ8~vCCd@4xey}IT_j{^J!8obfqH;yT z0iGBi5olqK|H|Zg5U&L9MYpf60VbO=aB&Mn4Idw8(9YAkL!yw-e{`d1c?Cf?XA{NX zo-AJfl&KOD(v53?7>5=G#<0?GrlWxq_RZ|iprP3y0I#{8yb_VtYZO1P37ixX{8mBN zTD%_3CI7&7U!yGEuXYB{v>7(CX}z1Q@ce)a`IN><+KC^7O~~qX;B->x*H-SaHR+a? z`AOvR`j}8k=h|JHf8jXsOiF=#$EVvrquLfPgd3}h7m1u8N&V>tCVz~42uyts@^dNS(Dl1N1Cu4l%A>#Am&0<=0?pU8)>8vXCh4b|}6 z>cw;n0FZMGnbDTryaY%dF_lXpkKR@Wkh6kzBW5B2>Bi|!e+fLU_dQH5WKDx*W*&;7 zy6_81lxQj^jHEDT;)U!D7{=#x1p`hunXY#MSy70+kL+tvaQt+HWokMl*Q{!R zzddTggk~OSe>@3~rCS8oOx8wHv7i_XIRXF)ARR=vc&1yr;0=P}GL9=OrkzY~>@7=z z`z%*sq6(@sFA^6Zvs}#~?S8peRxDAe-d3)GO=5goBYZ=tVm_Kb?T(>HpOXHM6vfM~ z#HOvEVaAx8b$l4&aHCoe7COM0>{&SVA>icn~FqL`2+ah!qP`3W^*Rs(0*A& zsZ7WUeU^OYhNEMH=yjQb3b);aQ7I9?B^yBcfBJOuhYEV0kkc4`sshQzQxElyS39t5 z(gS0T)uODlA}WiAZJS8;fMb_KA=llDL(iqmE;+I{Aj~=#K{twd8|Zf~2W44?edCMc z#g|uWLImJHw^zV@l?9sAb}MW2GZpG`YhvAZET17&3@jbVzDN1BX7yDFVRroE^*^S8>`?03E#% zX!?uH5o2*UMXdRs!{zhBV!bV}3YkaSf37D-o9IFvQ3bc;X1(m2+?wUx=ntwaG9}*F zxWy1hX!x;kj9#|h9#}rsRqmLta-_gz`_+nouQU1(khA(jzGEFoonwr2+0ETXU-elK zn}&YA%CBv5YJ*#x7=n(vcXrDln+d;zYU&bpOm`lWiRzhYVa8490tzFOhhd7Le-Fk{ zv5sCtD4n5R>O7V&+FZT{_KH}l)jbSITA;fCFu?9QzC;kTf= ziYA4;QCCXB)`*dEq{z+reI5~U8{ox zxRaAZTfLh419Qo$>4j)Fc4{Mri@9QR4wtbf!K7^q?%OCnFHf8XODC!sdr z`U6240pwvBjJvr!6YZL4o`|uuYk7F1=4q$CEmXej^=C<19z-_e%UGn4H^BfsfXUUi8E$zct_vnh+M(g44XQbLg6N|ZcDpWB59 zGL*db6dm|r2vQf+(bAOG#}sR>3EgM{r{kl?SYELE_Ijx#*L;&$e~gHkB5R&<^@(p; z>^nUYhw3!K;;EYFN9iSv_fbSnn4fD+#Qx-@6;&N#{U|mAMZ?MF(^kt{8M+chXyuKwEN6 zo_S7#C=f$eax?w?e|Db8GR=R+ecApoyj4`{fszmOL#c0k8~%&^$roMMRq-o-#rC`zHkEf1#BAXtC+UiYZS0VHMu5 z0d86+;BV5R2#viKc@2a89J72}V?Xgy-ArR=+ql@mdB)JG3R8`7x-N~a8s*Rg6MvLY ze%~_WgiMzgPR-Hv?j#>!F{g&XMrS*%cu`|)?XW31u)Ip< z&GiIbjIqdn+g}e&)U`HE+IR5hjW206C4wsmZ9^;KnHShLUe~uQdtKu$5UC^4wQ=aEdLyq}* z)no)~gI^yQ>HsYbKeU5vNb05C85|h!dI0yec0>i zc$=Te)G;AyeVCpHD)f~7zJqar0qlF%aekLR9G+E(PN9&4s~d23XdU>2es%2OAjXT4 z6gw8~e<%Ai4|2ehWE}ge$ZY$Mc$i*iie#eoj& zQiZKg_wr)u64vtK`?kfbPQKxo3(iSjcfda~Z{mDOP_=ZS2J@Fv&oq2 zXU3`P^z*M$)Q?ijW$*s@A4#2uB7o8^M&mswU5apN2cX6_J~khb@A4m4G%}+=`U+$o z#_p4ayWabh6c)Qb*6LyDLx#~K;5FQ7fz}$AFQYdA{>?7aCPY*ikWc{pM1@r^(w!&z}$B`y+rKVyM}CXy@41P*R|)v`#9PLOVX>Jfm1B$xg=d;og{Emk6FZ{ z=g_(SaN+xZFX7~JAQ9kCld_6r=x63Pe}>_fgGX}rxv<2qFMy$@^hsqt2@e6CX8~3E zc0@UUmgxDSOppsrwaFhPO&*H3_41z}HRELAk8E>WJM*(l+kEN=8>gl}UE+_{;eDur ze0=XQAth+@Dj-3Bz8I_&mh&HZ*)N0uge+PQAa&kkN~k40U7x1g)juno@6V{O-wTcu!kxWM2w+_p|ol=Eh1v}Gxg+cq7DWEN|eh=lE$0@7eyXp7~>uEBk}j)(fwr*iH6x12r$B6}lf>qqmO2 z1y0Tu!DG1XStyJLu?(;hWYsE#f3XSoBq@_rk{#z{b~Bv0yt4rG*3!uG?7ob)JEf7u z>QCVA-RPH_p~)U?5t39bvs}jE5aBDA3a4*fRWOmF?{%U(Tvtgn5$BKZu;|A|CmocC zrqx!Pn^BX|zw?|pge!e4lSry!fvFoXg}G+}1ty>vtJp~UjD)@rPpfUCe=5Ars+4Pn zgu!}=piiV#X{5eE%CRtIy)s0{5RiB#XuHr#K=DUbqo^2{34p4pVYSsaW)q=OK4Z?u zz8I403D37AUFm3WfcaQFnE5f}caB5zDQCox%>|25dA6){hD*6!i4#=|QXGoF2#Hb> zP_RV`F5KfzR-8un6?3uve-p%XxC-5*ppO3wEN>s+_MFb;hN0Od3TxYJrBJxV``}Bvt+z+C&EMXI}%*Sire<6)p6k{iB!HAhEgj%@#(a> zA-!Wy1)b^TZs05=jx7xLo&`)L>P*Q=P!HT@f(5sXLLg()><@(Be^&ZYsHqJuH5fJO z<@DC8scZ{%2@Z)Y=BZ%M8b}{P&{&esuW#W@g&T+0Fv`D3`hVxcSEmppvE zSc%Jv*$Q>(Yx?+~|57dU2>9*QH~%c`$;>5*mNMV7{!Jh3fSeq+_q7tF2(;JR87u;j z5j6ABKovwnsr7avf068P>6Pj}ADN>hx=mhVot*cGQnj&oA==|6umKsyJhOCF2W$PX zdSxYhH8}DNC!D^R4%+tSa-*s|PDi4F999u%2Wc?df;SYwk&f6jC2+oc9`%RnV`B;? z!<#HQu>LG9@kp_UC$Lz6h(UL-V1KOLMq4`{e67C({gkq!e^JVy-z4-Q>&6xUk~~|G zZY;+6W}B?B0RF|5`@yr7fXXpR8c(j(Y7sKYW-gVFo=YP9fym8QKuS@@E|s*RjNYGB z>)E$o18jAhSa}v`RAg=*8Y8@qvkGk=3o7Xgw#l@plaHZ(5P*EUiGT5C5mwAlr*z%_ z*g+4L*1G^Me{|C}C;ra)Tg)z$_dP!W%FC zRw1b@BJQ;fUPo2mSoETMZQklR`7D;-EAPC0fjcHJXhDx29e>aHU)u(nq3lr{zoT`o zE2XYWa|f|m5?}@%I&$<^WT9J{(bq|}Zn1q1LRYm!e*&0_H@410#7P>mg_JB`+|x5g z5Yn~{e^nQ}iVX9wn_UUde-Ps?Z)Le`vkDV=UZ&W*A!`#0eebtp?@jk74fi*mZ7Xac zeSas>pM^Ec9C*Husl)3fvA2&}j6A#pf2rlpWYY3o%yqFq6k#59$Mc)Rt^&7h1?151qEv%DU%Cqh$>I~=~@l-%8F4fE(NtDIZuOUEq z=({}mf}BV?yUNgPm##kMbxcv#yeQx?Ovo|ARi-Nh zS7bU)w`rH1l+Bu{mtW73c7&kS$TW27=Gsh~v22AUL*$O1jatLcbR%}3DREOFbJ@qL z{FFzIq5@81IL!;tBU^+mJrHn&0Co^5(aG@Y?%QojyIOO^9G_&$!+lq2$7f!%GBwr8 zf8BVr=7uw|ojhZ`N5V1)oIH|f{!5H>c(KFc6*3b#yJgE;PZ+lc_uS(rLcZsIOIfJa zzSa`D`u$L)s>nyx?+iL_$1|kzYuGXA>)RO{G;i5ed)pO{zrN zvqlD4SDvz-gt=Bog4V{o{dGDWWyR5x0^rHTWy)gz5qr&w(^@0e=%C{m*RpRF|J$2F zUo7;4vUAV5r@hRnp-h?552Za(<@?6zYRuEG1#@zQ9`l*uwIn~EghxKCz^Ek;e;E!N zc>Ab#TEO40Lbm$;#es7awlRoByUmw3mscxiSD8V?go>dzhixRY8}dZov_HwnsV7I~ z2cuGHTV^5ar!yRToVwfq`@ns7!)~s9kaG&_B3}a0?20U85h_dfZ#>IlRq{ox_^^5Wsi^OOfO>=YYA^O+ZxFt|1UOUR035me`SU3G@P0( z6TiuIjeV*8rxc)@(Zud5VDO>pE~?rGpk&Zdx+}6vX&@>Isf5Z&2Msv$;P|_CNcDj!{VHosYbk zxZF7=@Creilqx~=k7=1p&T&6uh9Q{kbFAYgFun>7r06~Oo>|9&DDSOW9m@Ms_sDKD zZb-+B+@KTOWD2pl84`B0B2JY%uWY0iAta1|{H15tzP5q=Tyrkje~=S@5r4>}zfA<% zj-&WYJE)N^l2EVWX?fxQwxmcK{Kq)ZVv$jW)u{0N))!-WdODSRv_L+5DAV^x`OHdU zqC3KlCU*SI|Mu%qZ zXuU|Ew&1rKDfNyxf2Zqc(D)@OAOd6W8b6%W_L;M4l&BiH+S(^o@D-iy^!vy&aFc7k z8*mb&XxwdkovUB0m%a5m95+YVB1==FbnQUp8pOpcHID>yBJUU}I@nd~<7%L2U;emj z^%dpmBGGl7P;;_8OV+;&zFW!B3t@HPMj@{OFNj)qa9f8)e*sMUh>D+6AsQSQhEpY- zBdQ;;vn6e83wCOdeOLS?wCx`W261IUSTsF>BFJL3p@rUGiE0rJ&=BE-G5XpGK>kR= zTUXPL9}G%E=rChI>6f$=AE$39Mtf+MfUCtww|$ezq4Hfmf3(I7qJvN-5-+i&e%w+7 zNmk59yg1%$f69bOD@pXn`dEZ~FF0>=eOo!w${uR^S_B-(AxBMe7D2&fg>>JM+8DRo zTtc$8{KGz<^(%$u{0#>WFD*!Bn&bbI97s@zsqsyT=hp9 z*%BTH%khM#+#9wt%CNPhhIMBhipS&-j4(s@VZ3iq58a{U_0SV`H*vojYi!Rt(=w@@ zO=pCVe~1|q;$}m7y$`Q~7b7!Pxt3(t*t4qOOhg(c`Gh%MeH4p|o*fyGj;8tUr7e?W z#H~=UP$X7vyIUHk4{p*&;>(x{s{5%Ha_>+XdEsBxB8+lfrmH-3?8~ja%r)xuyJ9cy zxQ7R?*=Y&BP!)&Z8r_BBXO1aRY(}|2?}Q*j{jGg(!pC)m! z3J}Xp+(Dt+J{2)PiN^LGa{=tiBtl#a$;l{BAe!J~6bwJHlJ8?5HfpItf>jVL`n@98 ze=eK7S~qlUMDCw{sK5Kv2!xq08<28>SHfbxMXyL$tS%zwxQ`o!qt_vORyLD20^DwneFI!jf|~WE5qStyWULwyAcaC0g4TI| zi_`6x`EB!(n!CvjV&D2!S($jBP%GB;e_(yocLU^rCwwPH(WRA3|3}m_xw#pKh`3-m zI$ajys@`Rejjt(hY+++IS$ZxGen;vS)d zM_XdDM;+9{Tx6F(T7|0eeSZ{4#-X(Pvyh{P9tJyj4tG4wtXHb|6=GFTgD{FIcE%&q zW)#;3vAX7S;}ZSla8%t`)H3*z4;KG7$oSds0aYbbWlc^Kr}gK3rb-8We{pg=$A9vU z>slNB7ttKQz{?|H{q@;l*in5Z>?q00Y_BWHR*nNyPGhU^vKrL5%QDJ5H)N*8;=kyA zihX3&$5vbUeEb}dyRoSy$C6jmNi;MYGmlRu*2oAj&HHTiu1x}tP-JMBNI8rYQw%fs zw57f!A+pGB7tpE<=kud!f0)hA;EGm8GqUTkQyuNu{sQq1QC_Y!Sk%2pZ8aCrb0Hz0 z??exayGZT5U6F)qIT{7pL2-m{0!Hp~Q+?;!dn~Q+ea%8fQ}stMT+d3^q3Z+Y(Jcat zM?89$Zt8F6xSt>sD?^zvjZ=MDj6$)eTfLU&3CS^cv22opf%rSBf4wa;$Byf69?FZo zRo?-L`)d~AqNX(M4t0(^~H*0LilqZ zSI1^w;lLB*`Z*FVq2jy15TJ?YNp$xkpAPU>6wsuURoNKFBB11idIsaX%F_sLKh4Zf zv20+$jzGeQkdpM@_I^5k)&eqg=;MM;0cFzp5dPWquIcOUe^!QFXLs2zc z;o)W^!@3r=e`eEjPNs&4(pW$ofa;%`Cq%yP(Q*!N_1jW)Rc%^RX4Q*WJX|`%7gLgJi+O8E@?kk{<;zH&0ga20+i;Q2 zk%E;>+Qk%&s9%#-)b9BScs^bXlI;fM#GIg( z6V0WLf4b<7-XoqxIhxjAvR4l(riw1b!D)>jw1zL^H`{7h}_n8@9A)ro6 zAzLt}El)eG2&!|XnRSJ!$JMzBzZ%^Zf(0)srS^*G;W+PFlnFl*7^te|#OIeKwr&B}emdcM}76iMAPO`#Cfj zdV~A0Lz9P`r5@T8DG@mO2O8P+p0uXBh&}a*TEQLivg08+&5K(e&=~wU|Y_=U7w-AEF(z^BaD+s-e6zPp|;O8QwZ&%Fa z-HQh^u)Z+}E3X!rbcrGh#PI=@6(`+V%D`oH{1e(AgaV>~!Fp-X^fWv}*j0)S);8oc zC-*kht7-r9JXSX=&H#9J*07@`kluU)f61y48orOP5m4@iq|S4Mf&WThQx@KVcEJux z$kjEIRe&k0KKxZH$JTbucAt@W)bSjL_UtE^7pS6sc7@->xuWIoATwA;6sO`e<^2%+oYEC zxvFisTxC!JqZHSKhid5q1EMT&sDHS^LFj-Ys&n11$KbeR0gL#Qt|RFmToy~QX1lZ`TT zf7a$Nr2?=BOE*7P4rqnDf6N9zzoOQ3J%7$#?*gzB{GbDZZF+?wq9dNz#al$Be5N9l zLzgPH=Fqf$>(*MW2rxmMr+>WJHy3~!8O_vquJ`>$Kc*lM$}WtTtU0slT!LrYqa!rq zxyxPsi#7z4tXl;mtxri(D7rb{)PfK7)iaZ}3nFT%Mg4p7e6|U{D z>0U#LyPT>jf9?T%u7^PeZfs0h(%Qv?9J$Hn4xX4QtwCIWE7TkL{qyXq>B?5-;`!YU z)Fhp_p|p<BCXSA4z1?qZ6oDN!*|IT&<3pwkN@VGDtr=~~F0e>eV6WlHY)`Z=xG`LTv+$)Ib3 z|4z^zAp%+DuJ79jiYyA4?!MFVdpi`8BOH0=g@<>0;xB^*B`(oOk5~UR)HOqaB)TiT z{dmT#%2kg)i>(dublCMII22X|im&E&?0U7pi2nx(^oX*4J4+P%b!ZzrJX>kJr#vu& zU3Uejf9%(WnQ;C+jnL@H%8(GOwWljghG9a8g*P>bAav&{q?e0VElJy{MOA)Pu`3os z_#J&iw~L^kCDabguu69P$~3NND`fnD1SF6v#?z{>t}$OSvcstO1#JSz6>>M{`h!TaY&*?x zIU_PM4eAnv%FQ+wAb#E^f)CqRtU%uGInjChcCGvg5*6wB>_4f)Ih-`ahyeQV{yq?N z@(I%YUmsIJ?*U~vluCrt-q$io6EgS}lJt7lBZYDdVm8+OkI(CeRGsi_;_5Al8fVOL ze{oY4k61+5xYP`cTtlOmE<({qy-UxrN3&vy@ox-xRoZ46!^4+Oc z?}<1)e+$5dqUKFsuMEG4zi)gYv)UauiA`VON$<{Q5qc+3WqoFl_TY_P7Qrui$3&fF zNUgDm%x`*aWua!)kQtZU&Y-a*WZmNRB;|M61WUsIqG|0hYuHG{BIM4`d_6Xyf1Fp> z?I|6UOrr!oPaE#SzGb^v3{FJb=`{BS#D@%L89q_JJ5X>G&C72o!XV78g5n{9Bv?PF zQcHci)XiE=)s?7cK)JwKq#KJh<{Yi}p3zwbk-EgGzMB96#uBgKV~pA)eqzByxp!CZtX1Ke4R=VW+OTA zYe*&&pPnAo3Lg>X9^iz5dw(hCiI@rf3)O9UDykGkDLb_)*fp4c(*ZNmfBF+J?y)pD zGRqHsrS&$?y#TGM=YcU9*Q+Ylz*)Gjsr}eZH6w zmnI}t{d&}07L)W3{*|=HxMF!I2hjD~iGSrgov5>Dfmkcbq$d^AJ<7pjM;bq^-i`+J z2|U0HA7-@2!mwjit*y1qS~foWuYO4pXU`G z*qgEg3SGHPaAad8!d$k;V(@Z?+dw4{r3~8+!!3x|f;~z3o$MR1+2INx2mo5N(`X7t zMwY>@(m>}W(t`$HVw&N|40w1-tlmqD)2A@$@$D(3{IJ(5OMfKV3<3_b@ScN}q0;8X zhwX|4Rr5K;R8mjJVwA+*2X3T2q+lv9OWSOSkd1OlEbY-SI%jyDR3EDE1k~un>C_kv z&ugWyxmQ@V9}ArmK5>~$UkN{e0w#wSHIH~*J;HBZBhPU?KCYolQ-mBb2gZh`_;bk2 z(sGX4JsJNbp?{)^_uBGJJ4r=3QX8qY%r2rgkUL($5wI*JSNC>CRv7_$aw_vzqFLb2 zIHT`hK{pyxk`nptE8u*N;2pC67f%BV?~Ccr_x7-G%FyINNig(PIFapyY2{*95&8x* zsaU$27*}+T|6*#^tS2T;dJJFoN?#@v#jji`ifliHzJCcm#I`%077vPRNe7v^dPg5* zb6|H@$DP5~iX*dgB2=$};U&3goJ4;pO1FdL$VZ@E>Rr<=NYAK;#cK|`BR?@!fo3lv zS7I2s$k?hVDC54JA4}J8ng-O4)%mrBqAjo^lk(MO2(F1bAmUJhZiQ5x?<$B10turuKLGQWSWl_{hZR7Xr&=05#Gj^1DhkbY&q z6-U&neNzskfHX&eO!=#0-l``ie{%%nc6L`0N|>TqTOEyBB~t0j-@#_KyT`xeHP>prVUhit1U?j_zum-N{P~J(d+KRg3RMfp3#bgPS0@quE@O>?Ls$U%P>XG`ZR*D^Q6phaDqNq~ULVs`>V$#oEDNUmYz!k%bFhO}6TLiMzwUvbO z;_-0jo@AG@yLCE(YP)rwT6P6kl88?ezaX#T2q>V7Kx4UFKBeaqMzd2fHk7O~w3YZk zvAs3`6O2$Sws_4;MXLMjT}_ye?bjxQewlDWC=s=%R8LMDr{cARb4g!+CDs!3*?)?Q z*QA1oJx_(|`%TUrnp_TDpBKkEAP_R<)=V(b>JT_NQ3))t|NrkYi*$7waxlJ=VyVjg zX|)!9i(ath;n4lr(Po1@ES*$khpi5JvK}V)vb3%wl$zq6k8jLy6s_FBvM=%22i(wX z5|MTVLot~$S=4~W;8|~vtvmXkfq$wkAq=p)FD)C)_E1Y<^vro5ir{ia#=;H=PD-<3 z0s(;YY3r>hKWWakeIP@(lG^}G)5vL#m_PU!t)Bso|8EHaJzlA9~Z2n#DePcsCSt?bkeJh7=?Pbg&Psr96~DE^}Vq}qdzRRiakKON5Q zjfh>#`Mvi#?G!ef6+{6_<&^+#&68x0`4-hIh!Y*RbnG=Ka@U_%1+?QB%z)C#CZL58 zaDyIna;Ct3s3iRIba5SKS`Gkv0u2*dGLKWTD2loxB8h4zw@Y2q1b;?%jVXP#ZQ^E7 z$L1nv?!w1N=unpYa3&3?sxn(oAqiPP))^dqw0Pepn%D3qSQPah7VVvV6?rns(ac%j zwkT&bFm?hZzqWf&6$kJ6CyBuk$%ZspoFJAJ0EU2O%eT9UEQ(LlE#lb127bW%@}}AV z08;h4>04GlST|-0cYn3Rb41vXiT$`_{gxcgAAT?IPVvwMPXa)gC#_F%2h( zK7w1xX}QB7wDJl&)^UFo3gZd)?&aApEQ(k?)%awXWlP@f^M7j_N`neY$$t@@hEj!G zE${t?^azewM#oL&e+H7r+{s7eD%A8Pm?$~BH45gmAE5{grx6v5HFE#?gGC1iL?}qs zqJGK{TMt@|rgJ;Q8ru4Za^GCTLgnb0O^B}<=PorE|{3~#CeA9)Yg=b;q|0Tm0 zDIGvCiIq0em!(skq4p#5-|hz|AHHbOg+6#fh_>2&@9RX0UuRGP)-upFM?qiZ<|1Fi z{61)b3%TNQPdwx106Tn6U*8_q!*HSZjyZEZ>P&wJ_hxemfkm)M=dkQ!KkMzNV42;gt$$wffG~4hC6KUHd@`iiYoJ97{zymVJQ9yCl2TI#4nm5THwi%8tSLN?zGo^eb zyI`IbJ`&Fd+o}`q6PFdNfhJ&ki6l=?yU*JyUt>^C<|JcYjX_WMmM?8F*rdzN<7_XO zwJS*unE35$Rb$Mrdpn2iW5M^6r|HBC4_4h7nSWzG-|is%qtgvax3aH!v6xJRH!ybj zvO>yNE~?P!_IoKMp`@7ZK03}O*aGVF8HYkh61Jt?fso7amlXaelzaViAS=H6X$W(3 zOa^sHU)q^urCXlR(h-0dUJ%57VmfNXANg_FY%o1FppIvPrqaAr~-OoC1 z2b3>B(>ife3h|Hxv;S(#k#q&zmw3z~Wc@JgzPk~Y6n?P2*PEh4ppSS-`dhASCN*iU zXgK`+3kV>bcR*T}r+SL28YL1NjI1sVqR?M!T*k>^0v5~oImz&|a^W8~!0ybeNq+@U z85H+OBoz&}4IU)&D+q*kAU$uD0fn~>GP9SxOGW@|#<~ASv0?(3KSJyvBD3k-j8iy?zopUjj1mrtHDwhWTX&;gMvp1a^NY z)!Mu8+$WQzM&Kpzdr(3^ld^ulW`B<4+BE<@WK5zUnwBJhi6i7}eamyq|ZYPf9g0s%dR_oU& z-xvNh@l$gT2fYl~wa?Y8zgww>n}4=9k}C`VASI)K7KysNIP1V*9$oxhLVp0e0SK#< zgXxg4Ns2G?K}OzZuO`CP8RegtCW2CkCwd@}G%3!BwP=-~_HK(g0gqy?%MyJu_Ei44 z6l?v~(s1pNmuUB%6wbq)843)w&}9;Bxj5-ccK)4Ig730FLO3Ajr$gpKIuhGzzS58i zUX?&u(|D+H_vtvs2;=(<9DfAw9f$xw)Q77YHcF5unZzseL3s#-+uLtwfuU$DAIjR@ z;-t6f%RhCjvrtxQPz*u3LQz`rphhV-gqi-z^n#mkqu)CfJfxp=s^A3d8yT6M)RjB&e_hK6jXL55^kU(qkql1d0#Fhdd8!Z zaMqn2#C}g-K~*y$ML{q&P(c6y0RRR7000000RSKX&q)9P1OR}500031AOI)`0RRO6 zKtKQh0RSKXC_(@L1^_TH00031AONT(000L7ARqt$0RSKXs1N`E2mlZe00031AOL6t z000R9P(c6y0RRC25SOoR4`m4j0096100005mmO~pzX3Iu-ER*`0RWdLa1U7lHJ5>K R4;=wCx1VqiWdx>n4-Ae|Uf=)# delta 58760 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�_sD!U!PDCsCR2bIH0aIA?b>Z; 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 diff --git a/src/Au3LogFramework.au3 b/src/Au3LogFramework.au3 index aa67eff..5328cd3 100644 --- a/src/Au3LogFramework.au3 +++ b/src/Au3LogFramework.au3 @@ -1,9 +1,9 @@ ; compiler information for AutoIt #pragma compile(CompanyName, © SOLVE SMART) -#pragma compile(FileVersion, 1.4.0) +#pragma compile(FileVersion, 1.5.0) #pragma compile(LegalCopyright, © Sven Seyfert) #pragma compile(ProductName, Au3LogFramework) -#pragma compile(ProductVersion, 1.4.0 - 2022-02-10) +#pragma compile(ProductVersion, 1.5.0 - 2022-02-14) #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_Icon=..\media\favicon.ico @@ -43,27 +43,27 @@ If $aInst[0][0] > 1 Then Exit Switch $aCmdArg[$eAu3LogFrameworkAction] Case 'start' If StringLower($bShouldDisplayResolutionBeAdjusted) == 'true' Then - _setDisplayResolution() + _SetDisplayResolution() Sleep(1500) EndIf - _createReportStructure() + _CreateReportStructure() Case 'test' Switch $aCmdArg[$eTestScenarioState] Case 'ok', 'screenshot' - _createTestScenarioOrScenarioStep($aColor[$eOk], $aCmdArg[$eTestScenarioState]) + _CreateTestScenarioOrScenarioStep($aColor[$eOk], $aCmdArg[$eTestScenarioState]) Case 'warn' - _createTestScenarioOrScenarioStep($aColor[$eWarn], $aCmdArg[$eTestScenarioState]) + _CreateTestScenarioOrScenarioStep($aColor[$eWarn], $aCmdArg[$eTestScenarioState]) Case 'error' - _createTestScenarioOrScenarioStep($aColor[$eError], $aCmdArg[$eTestScenarioState]) + _CreateTestScenarioOrScenarioStep($aColor[$eError], $aCmdArg[$eTestScenarioState]) EndSwitch Case 'stop' - $aIni[$eReportFile] = _readIniValue('ReportFile') - _setTestScenarioExecutionTime($aIni[$eReportFile]) + $aIni[$eReportFile] = _ReadIniValue('ReportFile') + _SetTestScenarioExecutionTime($aIni[$eReportFile]) If StringLower($bSilentModeWithoutMsgBoxes) == 'false' Then If MsgBox($iMsgBoxQuestionIcon, 'Question', 'Processing done.' & @CRLF & 'Open log report in default browser?', 30) == 6 Then @@ -71,8 +71,8 @@ Switch $aCmdArg[$eAu3LogFrameworkAction] EndIf EndIf - _setMaxDirectories($aPath[$eOutput], $iAmountOfLastReportsToStore) - _setMaxFiles($aPath[$eReports], $iAmountOfLastReportsToStore) + _SetMaxDirectories($aPath[$eOutput], $iAmountOfLastReportsToStore) + _SetMaxFiles($aPath[$eReports], $iAmountOfLastReportsToStore) Exit EndSwitch diff --git a/src/BasicFunctions.au3 b/src/BasicFunctions.au3 index cb4f6bd..8a9bbf6 100644 --- a/src/BasicFunctions.au3 +++ b/src/BasicFunctions.au3 @@ -1,10 +1,10 @@ -Func _showErrorMessage($sText) +Func _ShowErrorMessage($sText) If StringLower($bSilentModeWithoutMsgBoxes) == 'false' Then MsgBox($iMsgBoxErrorIcon, 'Error', $sText, 30) EndIf EndFunc -Func _setMaxDirectories($sPath, $i = 20) +Func _SetMaxDirectories($sPath, $i = 20) Local $aDirectories = _FileListToArray($sPath, '*', 2, True) If IsArray($aDirectories) Then Local $iDirectoriesCount = $aDirectories[0] @@ -16,7 +16,7 @@ Func _setMaxDirectories($sPath, $i = 20) EndIf EndFunc -Func _setMaxFiles($sPath, $i = 20) +Func _SetMaxFiles($sPath, $i = 20) Local $aFiles = _FileListToArray($sPath, '*.html', 1, True) If IsArray($aFiles) Then Local $iFilesCount = $aFiles[0] @@ -28,14 +28,14 @@ Func _setMaxFiles($sPath, $i = 20) EndIf EndFunc -Func _writeFile($sFile, $sText) +Func _WriteFile($sFile, $sText) Local $hFile = FileOpen($sFile, $iFileOpenMode) FileWrite($hFile, $sText) FileClose($hFile) EndFunc -Func _writeToFileLine($sFilePath, $iLine, $sText, $bOverWrite = True) - If StringLower($bDebug) == 'true' Then _debug($sFilePath, $iLine, $sText, $bOverWrite) +Func _WriteToFileLine($sFilePath, $iLine, $sText, $bOverWrite = True) + If StringLower($bDebug) == 'true' Then _Debug($sFilePath, $iLine, $sText, $bOverWrite) Local $aFileContent = FileReadToArray($sFilePath) Local $iLineCount = UBound($aFileContent) - 1 @@ -60,7 +60,7 @@ Func _writeToFileLine($sFilePath, $iLine, $sText, $bOverWrite = True) FileClose($hFile) EndFunc -Func _getFileLineNumberForLastSearchMatch($sFilePath, $sText) +Func _GetFileLineNumberForLastSearchMatch($sFilePath, $sText) Local $aFileContent = FileReadToArray($sFilePath) Local $iLineCount = UBound($aFileContent) - 1 @@ -69,11 +69,11 @@ Func _getFileLineNumberForLastSearchMatch($sFilePath, $sText) Next EndFunc -Func _getDiffTime($sFrom, $sTo) - Return _secondsToMinutes(_DateDiff('s', $sFrom, $sTo)) +Func _GetDiffTime($sFrom, $sTo) + Return _SecondsToMinutes(_DateDiff('s', $sFrom, $sTo)) EndFunc -Func _secondsToMinutes($iGivenSeconds) +Func _SecondsToMinutes($iGivenSeconds) Local $iHours = Int($iGivenSeconds / 3600) Local $iMinutes = Int(Mod($iGivenSeconds, 3600) / 60) Local $iSeconds = Mod($iGivenSeconds, 60) @@ -83,7 +83,7 @@ Func _secondsToMinutes($iGivenSeconds) If $iSeconds <= 59 Then Return StringFormat('%02d', $iSeconds) & ' seconds' EndFunc -Func _setDisplayResolution() +Func _SetDisplayResolution() Local Const $CDS_TEST = 0x00000002 Local Const $CDS_UPDATEREGISTRY = 0x00000001 Local Const $DM_BITSPERPEL = 0x00040000 @@ -122,6 +122,6 @@ Func _setDisplayResolution() $tDEVMODE = '' EndFunc -Func _spaces($iAmountOfSpaces) +Func _Spaces($iAmountOfSpaces) Return _StringRepeat(' ', $iAmountOfSpaces) EndFunc diff --git a/src/Declaration.au3 b/src/Declaration.au3 index 93936b9..b2790bb 100644 --- a/src/Declaration.au3 +++ b/src/Declaration.au3 @@ -91,7 +91,7 @@ Switch $iArgumentCount $aCmdArg[$eSystemUnderTestTitle] = $CmdLine[8] Case Else - _showErrorMessage('Wrong count of arguments is used while calling ' & $sProgramName & '. Please read the documentation (README.md).') + _ShowErrorMessage('Wrong count of arguments is used while calling ' & $sProgramName & '. Please read the documentation (README.md).') Exit -1 EndSwitch diff --git a/src/Functions.au3 b/src/Functions.au3 index c2e64b2..dc44f20 100644 --- a/src/Functions.au3 +++ b/src/Functions.au3 @@ -1,17 +1,17 @@ -Func _readIniValue($sKey) +Func _ReadIniValue($sKey) Return IniRead($aFile[$eConfig], 'Storage', $sKey, '') EndFunc -Func _writeIniValue($sKey, $sValue) +Func _WriteIniValue($sKey, $sValue) Return IniWrite($aFile[$eConfig], 'Storage', $sKey, $sValue) EndFunc -Func _renewIniValue($sKey, $sValue) - _writeIniValue($sKey, $sValue) - _getStoredIniValues() +Func _RenewIniValue($sKey, $sValue) + _WriteIniValue($sKey, $sValue) + _GetStoredIniValues() EndFunc -Func _createReportStructure() +Func _CreateReportStructure() Local $iYear = @YEAR, $iMonth = @MON, $iDay = @MDAY Local $iHour = @HOUR, $iMin = @MIN, $iSec = @SEC @@ -26,13 +26,13 @@ Func _createReportStructure() $sHtmlMain = StringReplace($sHtmlMain, '#{$sReportStart}#', $sReportStart) $sHtmlFooter = StringReplace($sHtmlFooter, '#{$sReportStart}#', $sReportStart) - _createIniStorageSection($sFileHtmlReport, $sOutputPath) - _writeFile($sFileHtmlReport, $sHtmlHead & $sHtmlMain & $sHtmlFooter) + _CreateIniStorageSection($sFileHtmlReport, $sOutputPath) + _WriteFile($sFileHtmlReport, $sHtmlHead & $sHtmlMain & $sHtmlFooter) DirCreate($sOutputPath) EndFunc -Func _createIniStorageSection($sFileHtmlReportString, $sOutputPathString) +Func _CreateIniStorageSection($sFileHtmlReportString, $sOutputPathString) Local $aSection[17][2] = _ [ _ [16, ''], _ @@ -57,83 +57,83 @@ Func _createIniStorageSection($sFileHtmlReportString, $sOutputPathString) IniWriteSection($aFile[$eConfig], 'Storage', $aSection) EndFunc -Func _getStoredIniValues() - $aIni[$eCountError] = _readIniValue('CountError') - $aIni[$eCountOk] = _readIniValue('CountOk') - $aIni[$eCountWarn] = _readIniValue('CountWarn') - $aIni[$eIsNewTestScenario] = _readIniValue('IsNewTestScenario') - $aIni[$eLineOfDataForFirstChart] = _readIniValue('LineOfDataForFirstChart') - $aIni[$eLineOfDataForSecondChart] = _readIniValue('LineOfDataForSecondChart') - $aIni[$eLineOfDuration] = _readIniValue('LineOfDuration') - $aIni[$eLineOfLogEndTime] = _readIniValue('LineOfLogEndTime') - $aIni[$eLineOfTitleTag] = _readIniValue('LineOfTitleTag') - $aIni[$eOutputPath] = _readIniValue('OutputPath') - $aIni[$eReportFile] = _readIniValue('ReportFile') - $aIni[$eScenarioStepMaxNumber] = _readIniValue('ScenarioStepMaxNumber') - $aIni[$eScenarioStepNumber] = _readIniValue('ScenarioStepNumber') - $aIni[$eTestScenarioName] = _readIniValue('TestScenarioName') - $aIni[$eTestScenarioNumber] = _readIniValue('TestScenarioNumber') - $aIni[$eWasThereAWarnInTheCurrentTestScenario] = _readIniValue('WasThereAWarnInTheCurrentTestScenario') +Func _GetStoredIniValues() + $aIni[$eCountError] = _ReadIniValue('CountError') + $aIni[$eCountOk] = _ReadIniValue('CountOk') + $aIni[$eCountWarn] = _ReadIniValue('CountWarn') + $aIni[$eIsNewTestScenario] = _ReadIniValue('IsNewTestScenario') + $aIni[$eLineOfDataForFirstChart] = _ReadIniValue('LineOfDataForFirstChart') + $aIni[$eLineOfDataForSecondChart] = _ReadIniValue('LineOfDataForSecondChart') + $aIni[$eLineOfDuration] = _ReadIniValue('LineOfDuration') + $aIni[$eLineOfLogEndTime] = _ReadIniValue('LineOfLogEndTime') + $aIni[$eLineOfTitleTag] = _ReadIniValue('LineOfTitleTag') + $aIni[$eOutputPath] = _ReadIniValue('OutputPath') + $aIni[$eReportFile] = _ReadIniValue('ReportFile') + $aIni[$eScenarioStepMaxNumber] = _ReadIniValue('ScenarioStepMaxNumber') + $aIni[$eScenarioStepNumber] = _ReadIniValue('ScenarioStepNumber') + $aIni[$eTestScenarioName] = _ReadIniValue('TestScenarioName') + $aIni[$eTestScenarioNumber] = _ReadIniValue('TestScenarioNumber') + $aIni[$eWasThereAWarnInTheCurrentTestScenario] = _ReadIniValue('WasThereAWarnInTheCurrentTestScenario') EndFunc -Func _createTestScenarioOrScenarioStep($sColor, $sTestScenarioState) - _getStoredIniValues() +Func _CreateTestScenarioOrScenarioStep($sColor, $sTestScenarioState) + _GetStoredIniValues() If $aIni[$eTestScenarioName] <> $aCmdArg[$eTestScenario] Then - _renewIniValue('IsNewTestScenario', 'true') - _renewIniValue('TestScenarioName', $aCmdArg[$eTestScenario]) - _renewIniValue('TestScenarioNumber', $aIni[$eTestScenarioNumber] + 1) - _renewIniValue('WasThereAWarnInTheCurrentTestScenario', 'false') - Local $iRowsToAdd = _writeNewTestScenario($sColor, $sTestScenarioState) + _RenewIniValue('IsNewTestScenario', 'true') + _RenewIniValue('TestScenarioName', $aCmdArg[$eTestScenario]) + _RenewIniValue('TestScenarioNumber', $aIni[$eTestScenarioNumber] + 1) + _RenewIniValue('WasThereAWarnInTheCurrentTestScenario', 'false') + Local $iRowsToAdd = _WriteNewTestScenario($sColor, $sTestScenarioState) Else - _renewIniValue('IsNewTestScenario', 'false') - Local $iRowsToAdd = _writeNewScenarioStepOfAGivenTestScenario($sColor, $sTestScenarioState) + _RenewIniValue('IsNewTestScenario', 'false') + Local $iRowsToAdd = _WriteNewScenarioStepOfAGivenTestScenario($sColor, $sTestScenarioState) EndIf - _renewIniValue('LineOfLogEndTime', $aIni[$eLineOfLogEndTime] + $iRowsToAdd) - _renewIniValue('ScenarioStepMaxNumber', $aIni[$eScenarioStepMaxNumber] + 1) - _renewIniValue('ScenarioStepNumber', $aIni[$eScenarioStepNumber] + 1) + _RenewIniValue('LineOfLogEndTime', $aIni[$eLineOfLogEndTime] + $iRowsToAdd) + _RenewIniValue('ScenarioStepMaxNumber', $aIni[$eScenarioStepMaxNumber] + 1) + _RenewIniValue('ScenarioStepNumber', $aIni[$eScenarioStepNumber] + 1) - _renewChartSectionValues() - _renewResultSectionValues() - _renewTheEndLogDateAndTheTestDurationTime() + _RenewChartSectionValues() + _RenewResultSectionValues() + _RenewTheEndLogDateAndTheTestDurationTime() EndFunc -Func _writeNewTestScenario($sColor, $sTestScenarioState) - _renewIniValue('ScenarioStepNumber', 0) - $sHtmlNewTestScenario = _replaceHtmlPlaceholder($sColor, $sHtmlNewTestScenario) - $sHtmlNewTestScenario = _addScreenshot($sTestScenarioState, $sHtmlNewTestScenario) +Func _WriteNewTestScenario($sColor, $sTestScenarioState) + _RenewIniValue('ScenarioStepNumber', 0) + $sHtmlNewTestScenario = _ReplaceHtmlPlaceholder($sColor, $sHtmlNewTestScenario) + $sHtmlNewTestScenario = _AddScreenshot($sTestScenarioState, $sHtmlNewTestScenario) - Local $iLine = _getFileLineNumberForLastSearchMatch($aIni[$eReportFile], '
') + Local $iLine = _GetFileLineNumberForLastSearchMatch($aIni[$eReportFile], '
') - _writeToFileLine($aIni[$eReportFile], $iLine , $sHtmlNewTestScenario, False) + _WriteToFileLine($aIni[$eReportFile], $iLine , $sHtmlNewTestScenario, False) Local $iLinesOfHtmlNewTestScenario = 7 Return $iLinesOfHtmlNewTestScenario EndFunc -Func _writeNewScenarioStepOfAGivenTestScenario($sColor, $sTestScenarioState) - $sHtmlNewScenarioStep = _replaceHtmlPlaceholder($sColor, $sHtmlNewScenarioStep) - $sHtmlNewScenarioStep = _addScreenshot($sTestScenarioState, $sHtmlNewScenarioStep) +Func _WriteNewScenarioStepOfAGivenTestScenario($sColor, $sTestScenarioState) + $sHtmlNewScenarioStep = _ReplaceHtmlPlaceholder($sColor, $sHtmlNewScenarioStep) + $sHtmlNewScenarioStep = _AddScreenshot($sTestScenarioState, $sHtmlNewScenarioStep) - Local $iLine = _getFileLineNumberForLastSearchMatch($aIni[$eReportFile], '') + Local $iLine = _GetFileLineNumberForLastSearchMatch($aIni[$eReportFile], '') - _writeToFileLine($aIni[$eReportFile], $iLine, $sHtmlNewScenarioStep, False) + _WriteToFileLine($aIni[$eReportFile], $iLine, $sHtmlNewScenarioStep, False) If $sColor <> $aColor[$eError] Then If $aIni[$eIsNewTestScenario] == 'false' And $aIni[$eWasThereAWarnInTheCurrentTestScenario] == 'true' Then $sColor = $aColor[$eWarn] If $aIni[$eIsNewTestScenario] == 'true' And $aIni[$eWasThereAWarnInTheCurrentTestScenario] == 'false' Then $sColor = $sColor EndIf - _replaceLine(_getFileLineNumberForLastSearchMatch($aIni[$eReportFile], '

'), 'color: #.+?;', 'color: #' & $sColor & ';') + _ReplaceLine(_GetFileLineNumberForLastSearchMatch($aIni[$eReportFile], '

'), 'color: #.+?;', 'color: #' & $sColor & ';') Local $iLinesOfHtmlNewScenarioStep = 1 Return $iLinesOfHtmlNewScenarioStep EndFunc -Func _replaceHtmlPlaceholder($sColor, $sText) +Func _ReplaceHtmlPlaceholder($sColor, $sText) $sText = StringReplace($sText, '#{$sColor}#', $sColor) $sText = StringReplace($sText, '#{$eTestScenarioNumber}#', $aIni[$eTestScenarioNumber]) $sText = StringReplace($sText, '#{$eTestScenario}#', $aCmdArg[$eTestScenario]) @@ -145,52 +145,52 @@ Func _replaceHtmlPlaceholder($sColor, $sText) Return StringReplace($sText, '#{$eTestScenarioAdditionalInfo}#', $aCmdArg[$eTestScenarioAdditionalInfo]) EndFunc -Func _addScreenshot($sState, $sText) +Func _AddScreenshot($sState, $sText) Switch $sState Case 'screenshot', 'error' - $sText = StringReplace($sText, '#{_setScreenshotFileToHtml()}#', _setScreenshotFileToHtml()) + $sText = StringReplace($sText, '#{_SetScreenshotFileToHtml()}#', _SetScreenshotFileToHtml()) Case 'warn' - $sText = StringReplace($sText, '#{_setScreenshotFileToHtml()}#', _setScreenshotFileToHtml()) - _renewIniValue('WasThereAWarnInTheCurrentTestScenario', 'true') + $sText = StringReplace($sText, '#{_SetScreenshotFileToHtml()}#', _SetScreenshotFileToHtml()) + _RenewIniValue('WasThereAWarnInTheCurrentTestScenario', 'true') Case Else - $sText = StringReplace($sText, '#{_setScreenshotFileToHtml()}#', '') + $sText = StringReplace($sText, '#{_SetScreenshotFileToHtml()}#', '') EndSwitch Return $sText EndFunc -Func _setScreenshotFileToHtml() +Func _SetScreenshotFileToHtml() $sScreenshotTime = @YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & '''' & @MIN & '''' & @SEC & '''' & @MSEC Local $sScreenshotFile = StringReplace($aIni[$eOutputPath] & $sScreenshotTime & $sImageExtension, '\', '/') Return StringRegExpReplace($sScreenshotFile, '(.+?)output', '../output', 1) EndFunc -Func _replaceLine($iLine, $sPattern, $sReplace) +Func _ReplaceLine($iLine, $sPattern, $sReplace) Local $sLineContent = FileReadLine($aIni[$eReportFile], $iLine) $sLineContent = StringRegExpReplace($sLineContent, $sPattern, $sReplace) - _writeToFileLine($aIni[$eReportFile], $iLine, $sLineContent) + _WriteToFileLine($aIni[$eReportFile], $iLine, $sLineContent) EndFunc -Func _renewChartSectionValues() +Func _RenewChartSectionValues() Switch $aCmdArg[$eTestScenarioState] Case 'ok' - _renewIniValue('CountOk', $aIni[$eCountOk] + 1) + _RenewIniValue('CountOk', $aIni[$eCountOk] + 1) Case 'screenshot' - _renewIniValue('CountOk', $aIni[$eCountOk] + 1) - _createScreenshot() + _RenewIniValue('CountOk', $aIni[$eCountOk] + 1) + _CreateScreenshot() Case 'warn' - _renewIniValue('CountWarn', $aIni[$eCountWarn] + 1) - _createScreenshot() + _RenewIniValue('CountWarn', $aIni[$eCountWarn] + 1) + _CreateScreenshot() Case 'error' - _renewIniValue('CountError', $aIni[$eCountError] + 1) - _createScreenshot() + _RenewIniValue('CountError', $aIni[$eCountError] + 1) + _CreateScreenshot() EndSwitch Local $iFirstChartPercentageForOk = Round(100 / $aIni[$eTestScenarioNumber] * ($aIni[$eTestScenarioNumber] - $aIni[$eCountError]), 1) @@ -199,37 +199,37 @@ Func _renewChartSectionValues() Local $iSecondChartPercentageForError = Round(100 / $aIni[$eScenarioStepMaxNumber] * $aIni[$eCountError], 1) Local $iSecondChartPercentageForWarn = Round(100 / $aIni[$eScenarioStepMaxNumber] * $aIni[$eCountWarn], 1) - _writeToFileLine($aFile[$eJs], $aIni[$eLineOfDataForFirstChart] - 4, _StringRepeat(' ', 12) & 'labels: ["OK (' & $iFirstChartPercentageForOk & '%)", "ERROR (' & $iFirstChartPercentageForError & '%)"],') - _writeToFileLine($aFile[$eJs], $aIni[$eLineOfDataForSecondChart] - 4, _StringRepeat(' ', 12) & 'labels: ["OK (' & $iSecondChartPercentageForOk & '%)", "ERROR (' & $iSecondChartPercentageForError & '%)", "WARN (' & $iSecondChartPercentageForWarn & '%)"],') - _writeToFileLine($aFile[$eJs], $aIni[$eLineOfDataForFirstChart], _StringRepeat(' ', 20) & 'data: [' & $aIni[$eTestScenarioNumber] - $aIni[$eCountError] & ', ' & $aIni[$eCountError] & '],') - _writeToFileLine($aFile[$eJs], $aIni[$eLineOfDataForSecondChart], _StringRepeat(' ', 20) & 'data: [' & $aIni[$eCountOk] & ', ' & $aIni[$eCountError] & ', ' & $aIni[$eCountWarn] & '],') + _WriteToFileLine($aFile[$eJs], $aIni[$eLineOfDataForFirstChart] - 4, _StringRepeat(' ', 12) & 'labels: ["OK (' & $iFirstChartPercentageForOk & '%)", "ERROR (' & $iFirstChartPercentageForError & '%)"],') + _WriteToFileLine($aFile[$eJs], $aIni[$eLineOfDataForSecondChart] - 4, _StringRepeat(' ', 12) & 'labels: ["OK (' & $iSecondChartPercentageForOk & '%)", "ERROR (' & $iSecondChartPercentageForError & '%)", "WARN (' & $iSecondChartPercentageForWarn & '%)"],') + _WriteToFileLine($aFile[$eJs], $aIni[$eLineOfDataForFirstChart], _StringRepeat(' ', 20) & 'data: [' & $aIni[$eTestScenarioNumber] - $aIni[$eCountError] & ', ' & $aIni[$eCountError] & '],') + _WriteToFileLine($aFile[$eJs], $aIni[$eLineOfDataForSecondChart], _StringRepeat(' ', 20) & 'data: [' & $aIni[$eCountOk] & ', ' & $aIni[$eCountError] & ', ' & $aIni[$eCountWarn] & '],') EndFunc -Func _renewResultSectionValues() - _replaceLine($aIni[$eLineOfLogEndTime] - 8, '\d{1,}
', '' & $aIni[$eTestScenarioNumber] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 7, 'OK\d{1,}
', 'OK' & $aIni[$eTestScenarioNumber] - $aIni[$eCountError] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 6, 'ERRORS\d{1,}
', 'ERRORS' & $aIni[$eCountError] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 4, '\d{1,}
', '' & $aIni[$eScenarioStepMaxNumber] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 3, 'OK\d{1,}
', 'OK' & $aIni[$eCountOk] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 2, 'ERRORS\d{1,}
', 'ERRORS' & $aIni[$eCountError] & '
') - _replaceLine($aIni[$eLineOfLogEndTime] - 1, 'WARN\d{1,}
', 'WARN' & $aIni[$eCountWarn] & '
') +Func _RenewResultSectionValues() + _ReplaceLine($aIni[$eLineOfLogEndTime] - 8, '\d{1,}
', '' & $aIni[$eTestScenarioNumber] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 7, 'OK\d{1,}
', 'OK' & $aIni[$eTestScenarioNumber] - $aIni[$eCountError] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 6, 'ERRORS\d{1,}
', 'ERRORS' & $aIni[$eCountError] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 4, '\d{1,}
', '' & $aIni[$eScenarioStepMaxNumber] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 3, 'OK\d{1,}
', 'OK' & $aIni[$eCountOk] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 2, 'ERRORS\d{1,}
', 'ERRORS' & $aIni[$eCountError] & '
') + _ReplaceLine($aIni[$eLineOfLogEndTime] - 1, 'WARN\d{1,}
', 'WARN' & $aIni[$eCountWarn] & '
') EndFunc -Func _renewTheEndLogDateAndTheTestDurationTime() +Func _RenewTheEndLogDateAndTheTestDurationTime() Local $iEndYear = @YEAR, $iEndMon = @MON, $iEndMday = @MDAY Local $iEndHour = @HOUR, $iEndMin = @MIN, $iEndSec = @SEC Local $sTimestamp = $iEndYear & '-' & $iEndMon & '-' & $iEndMday & ' ' & $iEndHour & ':' & $iEndMin & ':' & $iEndSec - _replaceLine($aIni[$eLineOfLogEndTime], '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', $sTimestamp) + _ReplaceLine($aIni[$eLineOfLogEndTime], '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', $sTimestamp) Local $sStartDate = StringRegExpReplace(FileReadLine($aIni[$eReportFile], $aIni[$eLineOfTitleTag]), '.+?(\d{4})-(\d{2})-(\d{2}) (\d{2}:\d{2}:\d{2}).+?$', '$1/$2/$3 $4') Local $sEndDate = $iEndYear & '/' & $iEndMon & '/' & $iEndMday & ' ' & $iEndHour & ':' & $iEndMin & ':' & $iEndSec - _replaceLine($aIni[$eLineOfDuration], 'TEST DURATION: .+?$', 'TEST DURATION: ' & _getDiffTime($sStartDate, $sEndDate)) + _ReplaceLine($aIni[$eLineOfDuration], 'TEST DURATION: .+?$', 'TEST DURATION: ' & _GetDiffTime($sStartDate, $sEndDate)) EndFunc -Func _setTestScenarioExecutionTime($sFilePath) +Func _SetTestScenarioExecutionTime($sFilePath) Local $aFileContent = FileReadToArray($sFilePath) Local $iFileCount = UBound($aFileContent) @@ -237,29 +237,29 @@ Func _setTestScenarioExecutionTime($sFilePath) For $i = 1 To $iFileCount Step 1 If StringInStr($aFileContent[$i], '', 2) <> 0 Then - Local $sStartDate = _getDateTime($aFileContent[$i + 2]) + Local $sStartDate = _GetDateTime($aFileContent[$i + 2]) For $j = 1 To 200 Step 1 If StringInStr($aFileContent[$i + 2 + $j], '
', 2) <> 0 Then - Local $sEndDate = _getDateTime($aFileContent[$i + 2 + $j - 1]) + Local $sEndDate = _GetDateTime($aFileContent[$i + 2 + $j - 1]) ExitLoop EndIf Next - Local $sDiffTime = _getDiffTime($sStartDate, $sEndDate) - _writeToFileLine($sFilePath, $i - 1, StringReplace($aFileContent[$i - 1], '

', '(' & $sDiffTime & ') ')) + Local $sDiffTime = _GetDiffTime($sStartDate, $sEndDate) + _WriteToFileLine($sFilePath, $i - 1, StringReplace($aFileContent[$i - 1], '', '(' & $sDiffTime & ') ')) EndIf Next EndFunc -Func _getDateTime($sText) +Func _GetDateTime($sText) Local $aDateTime = StringRegExp($sText, '^.+?(\d{4})(.+?)', 3) Return StringTrimRight(StringReplace($aDateTime[0] & $aDateTime[1], '-', '/'), 4) EndFunc -Func _debug($sFilePath, $iFileLine, $sContent, $bOverwrite) +Func _Debug($sFilePath, $iFileLine, $sContent, $bOverwrite) Local $aFileContent = FileReadToArray($sFilePath) Local $iFileCount = UBound($aFileContent) diff --git a/src/HtmlStructure.au3 b/src/HtmlStructure.au3 index f52e8dc..b10a14c 100644 --- a/src/HtmlStructure.au3 +++ b/src/HtmlStructure.au3 @@ -2,64 +2,64 @@ Global $sHtmlHead = _ '' & @CRLF & _ '' & @CRLF & _ '' & @CRLF & _ - _spaces(4) & '#{$sHtmlReportTitle}#' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ + _Spaces(4) & '#{$sHtmlReportTitle}#' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ '' & @CRLF & _ '' & @CRLF Global $sHtmlMain = _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '

' & $sProgramName & '


' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(8) & ' COMPUTER: ' & @ComputerName & '   ' & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '

' & $sProgramName & '


' & @CRLF & _ + _Spaces(4) & '
' & @CRLF & _ + _Spaces(8) & ' COMPUTER: ' & @ComputerName & '   ' & _ ' OS: ' & @OSVersion & ' ' & @OSArch & '   ' & _ ' USER: ' & @UserName & '   ' & _ ' RESOLUTION: ' & $iDisplayWidth & 'x' & $iDisplayHeight & '   ' & _ ' TestRunner: ' & $sTestRunner & '   ' & _ ' TEST DURATION: 0 minutes' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(4) & '

Test Report Start: #{$sReportStart}#

' & @CRLF & _ - _spaces(4) & ' ' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(8) & '
' & @CRLF + _Spaces(4) & '
' & @CRLF & _ + _Spaces(4) & '

Test Report Start: #{$sReportStart}#

' & @CRLF & _ + _Spaces(4) & ' ' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '
' & @CRLF & _ + _Spaces(8) & '
' & @CRLF Global $sHtmlFooter = _ - _spaces(8) & '
' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(4) & '

Result:     

' & @CRLF & _ - _spaces(4) & '
 GRAPH VIEWS
' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(4) & '

' & @CRLF & _ - _spaces(4) & '
 TEST SCENARIOS0

' & @CRLF & _ - _spaces(4) & '
 OK0

' & @CRLF & _ - _spaces(4) & '
 ERRORS0

' & @CRLF & _ - _spaces(4) & '
' & @CRLF & _ - _spaces(4) & '
 TEST STEPS0

' & @CRLF & _ - _spaces(4) & '
 OK0

' & @CRLF & _ - _spaces(4) & '
 ERRORS0

' & @CRLF & _ - _spaces(4) & '
 WARN0

' & @CRLF & _ - _spaces(4) & '

Test Report End:   #{$sReportStart}#

' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ - _spaces(4) & '
' & $sProgramName & ' ' & @YEAR & ' Sven Seyfert // github
' & @CRLF & _ - _spaces(4) & '' & @CRLF & _ + _Spaces(8) & '
' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '

Result:     

' & @CRLF & _ + _Spaces(4) & '
 GRAPH VIEWS
' & @CRLF & _ + _Spaces(4) & '
' & @CRLF & _ + _Spaces(4) & '

' & @CRLF & _ + _Spaces(4) & '
 TEST SCENARIOS0

' & @CRLF & _ + _Spaces(4) & '
 OK0

' & @CRLF & _ + _Spaces(4) & '
 ERRORS0

' & @CRLF & _ + _Spaces(4) & '
' & @CRLF & _ + _Spaces(4) & '
 TEST STEPS0

' & @CRLF & _ + _Spaces(4) & '
 OK0

' & @CRLF & _ + _Spaces(4) & '
 ERRORS0

' & @CRLF & _ + _Spaces(4) & '
 WARN0

' & @CRLF & _ + _Spaces(4) & '

Test Report End:   #{$sReportStart}#

' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ + _Spaces(4) & '
' & $sProgramName & ' ' & @YEAR & ' Sven Seyfert // github
' & @CRLF & _ + _Spaces(4) & '' & @CRLF & _ '' & @CRLF & _ '' & @CRLF Global $sHtmlNewTestScenario = _ - _spaces(8) & '
' & @CRLF & _ - _spaces(12) & '

 TEST SCENARIO #{$eTestScenarioNumber}#: #{$eTestScenario}#

' & @CRLF & _ - _spaces(12) & '' & @CRLF & _ - _spaces(16) & '' & @CRLF & _ - _spaces(16) & '' & @CRLF & _ - _spaces(12) & '
' & ' STEP NUMBER' & ' EXECUTION TIME' & ' STEP TYPE' & ' STEP DESCRIPTION' & ' INFO' & ' PROGRAM SCREENSHOT
' & '  #{$eTestScenarioNumber}#.#{$eScenarioStepNumber}#' & '#{$sExecutionTime}#' & '#{$eTestScenarioStepType}#' & '#{$eTestScenarioStepDescription}#' & '#{$eTestScenarioAdditionalInfo}#' & '' & $aCmdArg[$eSystemUnderTestTitle] & '
' & @CRLF & _ - _spaces(8) & '
' + _Spaces(8) & '
' & @CRLF & _ + _Spaces(12) & '

 TEST SCENARIO #{$eTestScenarioNumber}#: #{$eTestScenario}#

' & @CRLF & _ + _Spaces(12) & '' & @CRLF & _ + _Spaces(16) & '' & @CRLF & _ + _Spaces(16) & '' & @CRLF & _ + _Spaces(12) & '
' & ' STEP NUMBER' & ' EXECUTION TIME' & ' STEP TYPE' & ' STEP DESCRIPTION' & ' INFO' & ' PROGRAM SCREENSHOT
' & '  #{$eTestScenarioNumber}#.#{$eScenarioStepNumber}#' & '#{$sExecutionTime}#' & '#{$eTestScenarioStepType}#' & '#{$eTestScenarioStepDescription}#' & '#{$eTestScenarioAdditionalInfo}#' & '' & $aCmdArg[$eSystemUnderTestTitle] & '
' & @CRLF & _ + _Spaces(8) & '
' Global $sHtmlNewScenarioStep = _ - _spaces(16) & '' & '  #{$eTestScenarioNumber}#.#{$eScenarioStepNumber}#' & '#{$sExecutionTime}#' & '#{$eTestScenarioStepType}#' & '#{$eTestScenarioStepDescription}#' & '#{$eTestScenarioAdditionalInfo}#' & '' & $aCmdArg[$eSystemUnderTestTitle] & '' + _Spaces(16) & '' & '  #{$eTestScenarioNumber}#.#{$eScenarioStepNumber}#' & '#{$sExecutionTime}#' & '#{$eTestScenarioStepType}#' & '#{$eTestScenarioStepDescription}#' & '#{$eTestScenarioAdditionalInfo}#' & '' & $aCmdArg[$eSystemUnderTestTitle] & '' diff --git a/src/Screenshot.au3 b/src/Screenshot.au3 index 2aa161a..44f02ea 100644 --- a/src/Screenshot.au3 +++ b/src/Screenshot.au3 @@ -1,5 +1,5 @@ -Func _createScreenshot() - Local $hProgram = _getWindowHandle($aCmdArg[$eSystemUnderTestTitle]) +Func _CreateScreenshot() + Local $hProgram = _GetWindowHandle($aCmdArg[$eSystemUnderTestTitle]) WinActivate($hProgram) If StringLower($bMaximizeWindowInCaseOfTakenScreenshot) == 'true' Then @@ -9,7 +9,7 @@ Func _createScreenshot() _ScreenCapture_CaptureWnd($aIni[$eOutputPath] & $sScreenshotTime & $sImageExtension, $hProgram) EndFunc -Func _getWindowHandle($sTitle) +Func _GetWindowHandle($sTitle) Local $aListOfOpenWindows = WinList() For $i = 1 To $aListOfOpenWindows[0][0] Step 1