From 5bcc32ddf7b83db7acd70996dbde400868660200 Mon Sep 17 00:00:00 2001 From: cthoeing Date: Wed, 26 Jun 2024 23:01:13 +0200 Subject: [PATCH] Version 3.5.5 See changes.txt for details. --- PwTech.cbproj | 98 +++++++++++--- PwTech.cpp | 47 +++++-- PwTech_resources.rc | 6 + changes.txt | 27 +++- graphics/pwtech_default.ico | Bin 0 -> 37642 bytes graphics/pwtech_icon_blue.ico | Bin 0 -> 42454 bytes graphics/pwtech_icon_colored.ico | Bin 0 -> 43294 bytes graphics/pwtech_icon_green.ico | Bin 0 -> 42837 bytes graphics/pwtech_icon_orange.ico | Bin 0 -> 39581 bytes graphics/pwtech_icon_red.ico | Bin 0 -> 41128 bytes languages/English.pot | 57 +++++++- languages/German.po | 48 ++++++- manual/manual.odt | Bin 530561 -> 530966 bytes setup/PWTech.iss | 4 +- src/crypto/CryptText.cpp | 59 +++++---- src/crypto/chacha.c | 107 +++++++++++++++ src/main/About.cpp | 6 +- src/main/About.dfm | Bin 6484 -> 6484 bytes src/main/Configuration.cpp | 134 ++++++++++++++++--- src/main/Configuration.dfm | 94 ++++++++++--- src/main/Configuration.h | 29 +++- src/main/Language.cpp | 8 +- src/main/MPPasswGen.dfm | 6 +- src/main/Main.cpp | 220 ++++++++++++++++--------------- src/main/Main.dfm | Bin 298952 -> 298949 bytes src/main/Main.h | 15 ++- src/main/PasswList.cpp | 3 +- src/main/PasswList.dfm | Bin 1700 -> 1732 bytes src/main/PasswManager.dfm | 32 ++--- src/main/PasswOptions.cpp | 44 ++++--- src/main/PasswOptions.dfm | Bin 5246 -> 5297 bytes src/main/PasswOptions.h | 7 +- src/main/ProgramDef.h | 6 +- src/main/QuickHelp.dfm | 6 +- src/main/SecureMem.h | 153 +++++++++++++++++---- src/passw/PasswDatabase.cpp | 17 +-- src/passw/PasswGen.cpp | 34 ++++- src/passw/PasswGen.h | 4 +- src/util/SendKeys.cpp | 80 +++++------ src/util/StringFileStreamW.cpp | 122 ++++++++--------- src/util/StringFileStreamW.h | 12 +- src/util/UpdateCheck.cpp | 17 ++- src/util/UpdateCheck.h | 10 +- src/util/Util.cpp | 38 +++--- src/util/Util.h | 5 +- 45 files changed, 1114 insertions(+), 441 deletions(-) create mode 100644 PwTech_resources.rc create mode 100644 graphics/pwtech_default.ico create mode 100644 graphics/pwtech_icon_blue.ico create mode 100644 graphics/pwtech_icon_colored.ico create mode 100644 graphics/pwtech_icon_green.ico create mode 100644 graphics/pwtech_icon_orange.ico create mode 100644 graphics/pwtech_icon_red.ico diff --git a/PwTech.cbproj b/PwTech.cbproj index 8ef8d09..af7f911 100644 --- a/PwTech.cbproj +++ b/PwTech.cbproj @@ -161,13 +161,13 @@ graphics\pwtech.ico LUA_INT_TYPE=1;$(Defines) 3 - CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.4.0;InternalName=;LegalCopyright=Copyright 2002-2023 by Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=Password Tech;ProductVersion=3.5.4;Comments= + CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.5.0;InternalName=;LegalCopyright=Copyright 2002-2023 by Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=Password Tech;ProductVersion=3.5.5;Comments= PerMonitorV2 false 5 Debug true - 4 + 5 false true @@ -176,7 +176,7 @@ $(BDS)\bin\default_app.manifest PerMonitorV2 true - pwtech.ico + PwTech_Icon.ico 3 5 false @@ -184,10 +184,34 @@ Debug true false - 4 - CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.4.0;InternalName=;LegalCopyright=Copyright (c) 2002-2024 Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=3.5.4;Comments= + 5 + CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.5.0;InternalName=;LegalCopyright=Copyright (c) 2002-2024 Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=3.5.5;Comments= + + ICON + A + + + ICON + Icon_Blue + + + ICON + Icon_Colors + + + ICON + Icon_Green + + + ICON + Icon_Orange + + + ICON + Icon_Red + 0 @@ -564,25 +588,25 @@ 90 - - - - - - - - + + + - - + + + + - + + + + @@ -700,8 +724,50 @@ + + + PwTech.exe + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + diff --git a/PwTech.cpp b/PwTech.cpp index 2309ef4..207eb16 100644 --- a/PwTech.cpp +++ b/PwTech.cpp @@ -10,25 +10,25 @@ //--------------------------------------------------------------------------- #include #include -USEFORM("src\main\PasswManager.cpp", PasswMngForm); -USEFORM("src\main\PasswMngColSelect.cpp", PasswMngColDlg); -USEFORM("src\main\PasswMngDbProp.cpp", PasswMngDbPropDlg); -USEFORM("src\main\MPPasswGen.cpp", MPPasswGenForm); USEFORM("src\main\PasswEnter.cpp", PasswEnterDlg); USEFORM("src\main\PasswList.cpp", PasswListForm); -USEFORM("src\main\PasswOptions.cpp", PasswOptionsDlg); -USEFORM("src\main\ProfileEditor.cpp", ProfileEditDlg); -USEFORM("src\main\Progress.cpp", ProgressForm); -USEFORM("src\main\PasswMngDbSettings.cpp", PasswDbSettingsDlg); +USEFORM("src\main\PasswManager.cpp", PasswMngForm); +USEFORM("src\main\Main.cpp", MainForm); +USEFORM("src\main\MPPasswGen.cpp", MPPasswGenForm); USEFORM("src\main\PasswMngKeyValEdit.cpp", PasswMngKeyValDlg); USEFORM("src\main\PasswMngPwHistory.cpp", PasswHistoryDlg); -USEFORM("src\main\About.cpp", AboutForm); -USEFORM("src\main\CharSetBuilder.cpp", CharSetBuilderForm); +USEFORM("src\main\PasswOptions.cpp", PasswOptionsDlg); +USEFORM("src\main\PasswMngColSelect.cpp", PasswMngColDlg); +USEFORM("src\main\PasswMngDbProp.cpp", PasswMngDbPropDlg); +USEFORM("src\main\PasswMngDbSettings.cpp", PasswDbSettingsDlg); USEFORM("src\main\InfoBox.cpp", InfoBoxForm); -USEFORM("src\main\Main.cpp", MainForm); USEFORM("src\main\Configuration.cpp", ConfigurationDlg); USEFORM("src\main\CreateRandDataFile.cpp", CreateRandDataFileDlg); USEFORM("src\main\CreateTrigramFile.cpp", CreateTrigramFileDlg); +USEFORM("src\main\About.cpp", AboutForm); +USEFORM("src\main\CharSetBuilder.cpp", CharSetBuilderForm); +USEFORM("src\main\ProfileEditor.cpp", ProfileEditDlg); +USEFORM("src\main\Progress.cpp", ProgressForm); USEFORM("src\main\ProvideEntropy.cpp", ProvideEntropyDlg); USEFORM("src\main\QuickHelp.cpp", QuickHelpForm); //--------------------------------------------------------------------------- @@ -144,6 +144,18 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) if (g_sAppDataPath.IsEmpty()) g_sAppDataPath = g_sExePath; + AnsiString asDonorKey = g_pIni->ReadString("Main", "DonorKey", ""); + if (!asDonorKey.IsEmpty()) { + auto result = CheckDonorKey(asDonorKey); + + g_donorInfo.Valid = std::get<0>(result); + if (g_donorInfo.Valid == DONOR_KEY_VALID) { + g_donorInfo.Key = asDonorKey.Trim(); + g_donorInfo.Id = std::get<2>(result); + g_donorInfo.Type = std::get<1>(result); + } + } + const WString DEFAULT_STYLE_NAME = "Windows"; g_config.UiStyleName = DEFAULT_STYLE_NAME; @@ -155,6 +167,19 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) g_config.UiStyleName = sStyleName; } + WString sAppIconName = g_pIni->ReadString("Main", "AppIcon", WString()); + if (!sAppIconName.IsEmpty() && g_donorInfo.Valid == DONOR_KEY_VALID) { + auto it = std::find_if(AppIconNames.begin(), AppIconNames.end(), + [&sAppIconName](const std::pair& p) + { return p.first == sAppIconName; }); + if (it != AppIconNames.end()) { + g_config.AppIconName = sAppIconName; + if (it != AppIconNames.begin()) + Application->Icon->LoadFromResourceName(reinterpret_cast( + HInstance), it->second); + } + } + Application->CreateForm(__classid(TMainForm), &MainForm); Application->CreateForm(__classid(TAboutForm), &AboutForm); Application->CreateForm(__classid(TConfigurationDlg), &ConfigurationDlg); diff --git a/PwTech_resources.rc b/PwTech_resources.rc new file mode 100644 index 0000000..32f253e --- /dev/null +++ b/PwTech_resources.rc @@ -0,0 +1,6 @@ +A ICON "graphics\\pwtech_default.ico" +Icon_Blue ICON "graphics\\pwtech_icon_blue.ico" +Icon_Colors ICON "graphics\\pwtech_icon_colored.ico" +Icon_Green ICON "graphics\\pwtech_icon_green.ico" +Icon_Orange ICON "graphics\\pwtech_icon_orange.ico" +Icon_Red ICON "graphics\\pwtech_icon_red.ico" diff --git a/changes.txt b/changes.txt index 6f79bda..4347f78 100644 --- a/changes.txt +++ b/changes.txt @@ -3,7 +3,32 @@ Copyright (c) 2002-2024 by Christian Thöing -Version 3.5.4 +Version 3.5.5 + +NEW FEATURES: + +- Advanced Password Options: New option "Remove leading and trailing whitespace + characters" to remove space and tab characters at the beginning and end of + passwords +- Configuration | General: New option "Application icon" to change PwTech's + icon displayed on the task bar, system tray, etc. during runtime +- Configuration | Language: New "Install" and "Remove" buttons to add or + remove language files to/from the current PwTech installation + +CHANGES & IMPROVEMENTS: + +- Language files can also be copied to the "AppData" folder (usually + "C:\Users\{user}\AppData\Roaming\Password Tech"), which makes it easier + to install new languages if PwTech has been installed to the "Program Files" + folder (which usually requires admin privileges for write access) + +FIXES: + +- PO language files with empty fields in header not loaded properly + +---------- + +Version 3.5.4 (2024-02-14) NEW FEATURES: diff --git a/graphics/pwtech_default.ico b/graphics/pwtech_default.ico new file mode 100644 index 0000000000000000000000000000000000000000..a6f821fdf035e6d037efc9d68a652d7e8e9fa78f GIT binary patch literal 37642 zcmXtg1yCGa7v1!T1`a`4VefTxD-u6URvY7zy9}y2oHQSa;>xih5#u@OKN%lJC3KH9lw=*6Enuph@%L%*bKP3=}{aA^pxW-y%mw zYXm!CmP&6*%|l0-Kf#HA$V8`^gjfziGqd7-f^lB6YrT`*RMLWy=4=gZfZK;&2}}`5 zZFLVk*%Afri1fLNhho9JDHn=K%7{6}HUc967L)P;nSz`FeqPdl2(H_{)nFK8j|BDr zH-un8FfK`J7M}VUHtXQ)(f(3B0IN^1V&SY^t8a;uKsBfsk>vq8F)Vd0%tf7`h4BJqP^*3)MR7oQgZ(kyXu|CL+pg79cGF)A%IGk(L9Y0s zeBzSr2N(^^D)Ae~sGjrzrE$gS^EYVBO37ke;SyoWY7iSwzb@sB7Yb5dKRt*!g#8J3 zT&sl48*h0Be^(6x|0|?L-M|GHk0CHH;(b12C-o29xs+m$@KQrr-o zL(F+{C3I%p0QtrJ_1;**D0Bf7A4iLW3i_oNgjOP6V@tM=>M;5|6ZjBoXv4?i3#;+V z?liCvjrXQ_zR(>D)?nFk3i zsNboV^v{z4DX0@!!BbF6907GbR?uP)a`3f8tkUAJOU=Sx%=IL7I1b}bC$q#}VkWJ? zqW4;*7#fXfgzkv>3<@o##we{GZ!SgVc&6Yg9DiI5#RiFTP2Z%=wW+>fa(fu8I&c1e z(=p7!)&HB)E{;D`)zX{MZqY?{lHHB2Ou;)S9;8Z%87w7}u*qukU2L%u8d3WJ`vus6 z+e;yc6@*Tz;l3d5l8Tq}k()xU$~nap(_N1Is}_`!*5zL51v0oy-nPev{Pk)EtsAvF zPUOdSi-b?A4v99XAF(%C@~NIghA%u&JV^59NQHn`-gXe?zcW$%xF|gr0jwFHl8uF+E^H$W6G&qvUS;5}2}pT5r&nEs)>guG zdYNUR>=a4f`&6pjaj+0R2$R){#KLz}^7k9nfLfy!Np*E>rnH0&6IT9po`So(s5LUV z*Q*dk!o_15b8J3oT!~%8pyJJ`gpALExU&prL6T&F5_%N83!{_#_f4*r_`}0-HaygR z_9FkrMDqRE=ro*WP#j=Pr0p2-n6iP9&H)QB?N7KWc*x>f&wyjB%itx>S5=G|V{Kd3 zZz_)6-lqHUw~5=dwN+uw$C{0l6thRhH&|JodSSC@Jw#u!+*SSUMx0RJHS!vyu~ z3Jv`yDfYaZ9hBF{$|{BZqDZcl7CGFbgyKIJczTw46XDX#_4#PFA1MdI#Yq`E8-SUM zUQU5;$L2=-P7&A$>dH zQdEPUNQmMRv}-!mn95*&9bnry@z1U~l$ObSw6DpoXTud0MP75{$nvM5@gAG>P%~N! z?dQmZaudKgT_^rzUlTH!lOpIUO?spV-tj^*ktH*532HO<1N@^0V*e5t7_YP>hR}{5 zjVrJ>ZNr0uhnJk2`<(*O-P7||H3$~Uv9BkkxR{NLdqGQgR86P+%d;o%*;zj=ySq@* zs^iI*^-djRA`yxiqQJ9L^VI zbl7kJ6F-&+<;tgSFTGayR4VR~Xsk3*SA#(1L=37FJdt zxbN2;`72cNitFlFi)p1XAk{Tb?WfH;=3fx*J%A(Ydl!v}soXZY)>vaYDWjoTEK_jOK*27M>N0&AK=rcQ z=cB5lx5RO>$S5e$vBW-)#SE^e%S}<@k8&Ta$}`vlo03Xto-x8JcEKSQ8@?0rrlv#I zDE{DQFiPO2nAVSn9T;Q$Zs^N7uLDZng~T0$eM;>UT;+@cQ#CaSMa5si1wmqe|Na&5 zy*aGKc@uOKaadbc(b0jhZLF^gd7jGehoQT-YQt4xBzD5-dJ$>ZO&CTb)z{0tAz-!z+JSLg?Rh4dBcH)eG=PX5N z2nHhe^opgoZK~`pH)T;{GNviwAj6q7;1{r${&*KGr7L^3h(d1uhw)^ z(be@b ze5N$yaH>n&#ksk`5Euk1lgrrH9$*5Jl9C9a7`el%t2Ka!ruf_&i;5L!l{hbG*U`}Z zjT9kg?ee6(-tgmWzCv(ybsZZYC%n!3?pGU2wZ6VSzqmO2SEy(PDo>tzazmyVE)tr3 z_WRJ>9OtBbrc}Q!#ooWzq{v?4SRUDDgL1~YCG;MXsb>HYpa39j;t`V4i9>b znu9H8;}<#eu^-#T#Z+8eyF1<`MC9Zi}%1C0ebrR`JomMd*}+)1kyR>PuEvRs$ObZ^L(|vg@ARUi^)U4 zA<@{;|E+CeBIialwwPer`0~-8ho4_lUq5;j+dVEJis$@AzfXajN$BM&uw!_5H=4eDlSMm|17OSOYB~BB30V ztAhJ{N84f<3zcE-x;kct(Xp4#hR5b0S%eXp+YPO)ef9Es;gTyR`m?Rg{Yb<7%a<^$ zmxu^>JA3=lxmrc*fA-=qEascuxEm!u?&`^~BiJ_?feODR|ZtDl^fxz~4 z5IsA(x*?Nl9h@{Ud>yRDgrR!X`CxSI38gOK!Hc zBkIrwJbC;VQJ-bWx?@Fc?f3HX@v@1kxCMSjghyVsyKg zuNkh!bSFHbC5LUnq*YCt8~V3TE&Nb=ajA>ks*f2+&{tPiKib+sS_m$|p)@G!1be1sMCPs4w>rzvH%&riA z{8Ey?sKZ-V$K=3=>-+jZXjU<&ps!D;axi2a;VnYO#LR4KXII?bPEax<@9N4Gi^saX z-1McLev$es+a*Thx)bKN;cw<0xL}LZ4gb;~8^uTMTg%IOF)=Z~S)8u6IceCJmX;PS z*ugvup55HuhPOi44fnU+o(=UH3&kMO%f zdZH6o{_H>px&hjWvI)vM4muN2349QIJLf{GSeE?q;y*h(tHyvsiDYMB073c!_%e!N zzp66s;|RZyUQ0RMp==QlQAvee9~K(6kIwUboqnI;c^_9v2mVXRcgcz%C8h0te_O_0 zf7TCl1s`0io0!C}JJO4blZW+#2f|V4OJD(VC!E-9I0f=U%+n!JM}|;ARs(4{&~n7n zy1PZ(h1L@%`2^#`RVq;QZkN{AS^XkS^-UU)&pRqIa-78Eq@%g&0fAmdMy7}fDp9XiT>4n& z1*2$+?>hmUGeH&Q&OzqDTCYh%MPp;)w{PD*XLmO>B~@2fE7WCWWf5{%JG86}s5~_E zEDo=G@h29Liwt)cQHJ1~jG4{Rk#b9ZnYJ7LT-CpY7n*#(sk*c7^`%j7 zM(-82VSC#g6&?l!j|Bpx;FQT15@|cJ?c8WlE=^=`>`>80^!$$<1B=t)292t*$w^vP z*00i-V^=$)N2jN`^PMGd@3|`UadB~rSH`iuWQPysZ&nYI5aY#wPeP_!&5k81H{ci8y>EpH~(M1e$ge9HctL{ z6rbY+B_cDtfnG?fzAkA<$-g3nO32E>udJ*<)!ZH*AJehEP?Y6C!@Uy`6Ay;oR?I~M zfMlZCk`?e?L$!g6Tc+hM{@Be|w&=ME>vY#5t$|_uHn^y|%!j#xWLvxBdexGd@1I_> z;Ii66bknp^}yD!hq!5}7jjf4e-f-+3cAu-Gb2vmFhhb7$B8jm~Vlikmb-ZxiW zZ%-yzSWgj;&z6?s-4Es@j%^%6%G2@sM+dGQ<#n$HK0bo*VNg9L2`dgGj%}KT#2nfe zFmF&I3DO^s6A07^I%=sJmoBi4(bp6)uzj$xv4QA;B>zj09Ed<&0j@Ac=H}+m@b3l& z26UuqsW4?_WPA<;JC^E4jExaoi54^bA-JL!Tp2~%^kOk6%(#6Z`b!+uYm?xO-}9 zs`Dj8(uhr0ScAPE9kEAAFG0(?g&D|F1`xwBP2zQU5$NtPX`F2Sn+z8hm%-v^m5P+| za=NFdr>MBNVF$j1OKcCJb%`NQ=mp~v`1k*2X=#THof6+@&!eG#_HU2%(7j)uteC<1 z#zrVXG=1RhbxZK*ekfW`S{)?)_Htlxd_q5^QGmp?xYA;+pr}YiM;DQqNpRn~WYXmU z>_9_Q@iO-IEOIH5P8)R^p*YStn*_-vE`+FWMH6q^7gxSx_EQq_H;ssVXp;snvtKGf zh7~~e$j-^h;7`MO-062hP%2Z1Sj`V^@m`avK|_DfZ;GFgJ$(%PDmw)TRA!hxE* zyZe6|uK4Mb+`~CtN;Dh_p7YJ&Okt`-A*5j4vA|jFs`oj2{7<^;Tr57nrqS9seF4q& zA7S4SE_oX9zOMwTfg(3|$KEG(EN}NgUn)v(7k@LMa-QOVoa;L}9CLouJ*`HXE8n=+M15%@Z;w4_rGf)tuK`Bs$?2gj}Ugxm%&RK`N2IwPe++(0=IX2@NeZ<4GxNP=e_NYLdtf8SH0B-(6VAvLUDsm1EEUc`o zB}^dzB*whmcWlc^p;uKAm_2nzPEE5F^kj+u1`8J*{Q(Dg`edC&Z+d(noUFN7Iwn@s z$k!H~n4iy_?;gwIdrCxvo=E_2T-zq!^orm!Y!HJiGtAwi|6nJda@hj9KcWaC$zg(* zww9LjUYc%lYAUQe&&`|bZj*>esogU9)4MnkBiku182=So@Hiw!i?}Cq+P*|Gd$)74 zPX*}<5B1UU@qlAnN@5}hivR&OcG$QDvJDag4suLvY-AIXB-Puu0mj24OaW(#h+{h- zFk#>yNML|1T$A(GKbn~ES5*aIn_byHLc(}VyeacXWNBMS#R?KmPfyiXy#b)B+zKrK z_ky*o80;u+*P6XhqdP}l!^FSxq3{)Up2gjCE>KH6&;%WV{(G9 z-)_hAjE?PF5l|Z0Gd9uOC2B6>I;eb$H{KLb;XT`$GN*n2$zPdW)yMclyU)nCu zVJbwS+1XsEj!SCsFWY4qvk#XaMO7-m;Sn=j+?w;L!{PIr7rOE({zF$RsiC3J`+xF; zFI!Ge9r&C!z7KAxK`lX{Kdf&@!#*Bcr$7@lW+winHICs)?+_cBIFvf>^Ze_C_Pr3% zSA+}*KAc%fgE5K#(*;Puj~_oUh>1U`sQifUyh9q*Qhdeon%%%kxaUA05-A7q`32CN<01R6#?`b*%Lqp;v)1cSjuBrvQ@a*jD zSe1N{$B#iQ4qO4#mbxI<3aF2iY1SZdbLU-+%C8>x)M=za$PXFUugnRfg8)5eU}Xis zcywHx<#;kJ)Jd10uWxzxeqWa%WEfxhbj=p>bh0`=bwPj$E8;sJj7laiT~bkj(Bflp zFAy#jB2|<~jiPq48M!#_|8O`{qNS^=sip=VPod}LciQl`{`hfln9JC3*#LA;p$tME z@44=Ra|v`~PEA)33j*&4l!7eY9_e)5+_-_Nh+e5_oelyEe_efjc}0b_fr*lJMQD%T zt-A-Iyy`uwePUAH+0e;?x@JkI8G!C$pdJZBDW;c~2^0fl*|7rdF)3(F2ORi_@6J}e zR{bt|?&HqS&q>NOqDOa-%2XwnyFgwOg`i6mTO^GM8U*Kv>Dh=6rMC6YAuNA#45t?t zBPbBR{7G>W%Ii<{{T1ISgxlpw7#%$W*sVm>P0@^ZmT+6F&vo~YR$JSzJ(osMfQ8A* zjzpoN$D-aw(!iMaa6C*}Uk_faY|mG673TeG_@ zzP>)PogL53t+8G|7=Wh1g9d(ne)NCuw_veG-@d+o#zfwS+C<=MH>%GBZ0qw1a;t%| zm)E_;N(_E3^r4)HMv*$1hBLdCa5sDvQuJs8q85b<94h=ra6WV>1u902)t?L8Bg6L|)`56JyDhD$e7LNh2?0S^R|(1K^+f-QF%>m5+0As$w($ zCQPlIArefEZOJXxJ3i+fH~OQGhe?|}?bJoBao1Pt#ha{%6!)8GnV z-rOQ}Uxr58+SQVzI}4E9+}*{?Ba93UQ6LW3RDo3!i=T@=oZ}GGs*!r&Sy8|hYB4DQ z7?l>!xxWJxg0Yi;rkAJ@QIzdGnIQi5;OE=ZTUAt4G<0%1a)XeAgFGx@BvGf6lA0=Q zZ(qaW0A`T#g89?-H&xNHP(_&+{QjW&re-__4e0_`5LVcy0mitjV1NM&_-Zj*Fe-!O zwq=lgAThG=0mIz0TC z*r^Zzx2$Bt+$08P(cjC=9g&4*qJK+qv3Zz5 z-J64kM)H+Et@Fd>R$`=@ET;ua6gM3f3Dx52}PqQPvx@#^ecmsd%oi z^i8v)+&;-_f=U*+lnz4bGRu$)$zxyM{^}A~!e;5z>?MCV@MBa&JgTgX3EJ6?J%D%<*weL;i19*-|n8cjm~; z!9zEOF91j2A{-57Tf>zQkV0~}97U)X-#qTPT{M)Ne~B#y#O5AcXU+!3;rD_6-wUv` z>Tx(-^xk#aJkgt%ob0;mPg}TjQi3HI*PJjV$y)78bF61i4d_}aF9 zmvVcu^xkID;B?qV2dDx(JM6d6lDL=HG{{b00JH~a66B79)|O5FkN?aT4WfqN9+@;s zO?AF6c;CHvx+T?vs3?ijVP1qUOTtm`t#EMTc3%Mz{L7jQkS0gb1217*9{=ri^}fGe z1bqea3p+#FFR?h;!B9Aq0jdGvb$L})@$}1~d_J{W41V~9i2R%-h{t4<8Dka0*l%={= zVvPK2!}Ea$32m25$*kGEWzy<7002vV)Y4Fe8dVHTOd3C1Thq?hyS%=t0xxy-nUx;D z`)ttlQ9j<@-UE_ zu>m~!Gp~vNtel%JepOW!z=@~l=BTZM-l&0U`33hM>2(-{4}hshK+PF6EX}R2|5xF7 z!hOe;U-x3S%C5Zp!U!su;>T2U)`A)f2e=OwHuiJCk4%8s10v#Ci^J;Ax_Y0`G6TT4 z5JLgETM`2npo0c%9lOc*#%#JDt*!qfVv65&YKBj4x33?kPi}Yj_SE(C)v*@USBpbT{+3m6jOZ2an3d3U$J z&F5&MXnA)y4f-ON&18lcVDxl0W1>TxL;Y5}1v%fIx7`l6gMVN73||0L*0kc#qWJJU z>8y@}@Y^I#HVn`{%s8e2eagV38;cS5engt3K?0u4*~Q-e1l@sebq^r;M2X%+!2WP+ zjO1ly2{I`-l;eWomb5h*mJoPG0RSq8J@lrfPN+fZv!{1bF!f2C9591OV4L~^fM8%B zJjL}1<>}=37_bx?F|k1KnWBOMAwyYxRn-xB-3C&36wflPmU3p8^rkT~Vry&be_Z1G zw~2{~9YC?1dt(_fkBZ?IncNH21clhO$f%>zVXdm-`JmepSbz()3X7>gIg=x??7d^< z$~hP^GhsYB$JBjT?N)rfv6>YsE;BOtXtAvTdD76(kXKN+0xDsBXII`Pf152osYcZ; znkRMsa}anJOwY(@0c3J5CR~7n-`u#bAas3)i<9NHYSL3I<_GG~C?#oTo?c!EtLKJD zMzQlqR@j&P5vZ~4kNY_t$JI3v0fiM6k*tP4FPFb0z{Ny)L8(%t)osM_P*^U4kK8rX z)g^6hk2uP5va@}icShn=*^Sy8i6Fht=U?v6*B$=;hz6A4=<`hv@Bu;DVo5_oLUlD0 zK=_~lB@k_%#o||DVj@Q4xI?Y_?*2(G4Xx+ZBGBcLi3c#Qgs2yo6ovj<{O`30`D{!~ zLYI?Hftp6W{*MwakxM6*!1y9BmxH+gj_AIvPFjv;4rZr9Q^>-#v9&EKFOOJTGeU(A zJ8Pa`^Vb6x6!1W{INvFcQ~Bo#A66*ZgPrY1{d{Px&zOi8YsuayLc;&q+fUDr6$J&P zCxRr^I=3(S+tPK%3Br<(w!Eq$##4XRCDAE_fb!AxUiSzJ9oq6#C$Z;l3>6TXQ|=Jr zWT}Dt6;&+%=~JvL5W3y&&sN)XaAbtBLTFPloX8syst6VMG&UdQrQkHCZ&<->F;uHR zzkaOK(bUkua`*E{7%f=__Bk6!OYdL{E><8j=@Q1tN~;eYxvMb5oL_kZm2p}iT9#=D zav*wE&o;Up;I*71(-w3sNPf;oC^L;)eTL=hsXuU9vqthk zPVEnbO1QbToWhtocCsZo1=2>xrngVq4N)p0=KHOHuQX?K!E+U= zs$&GnhEQW?&?GY1K4dyTnnoUbsi~|)WTXY)6NZdSZQRn7gP#h#%yfg1qwID|q~TF3 zF=Oi^vgFToHdfZXKf)Il!!fvn<(v!i^E5qIBgAdGy1EURGMo(eqd*mKVL=8+Nr29@ zlV1&RlHG#?YDAzUA)1<&Hl9q#z=bWWw6ulvE3}0D1l=$2WJM zvVm)LK|lcp2x;EZH=BE|OXxD=_k&a2zKsAX{5oD9xZbkptC8>4y&F zs^+isMYpOBpf}>^YJYqUGuIc4{B-VwEg9A?B>xpRt==^&^f~xALPt=r@ln_6Z zV=Zjh8(&f19&n*F^gTU2fNB7vp?mmNr3#q%kJeV@!{M{I0Ih<8kuiFHUQ3B?t~5=uuV%3U3j-xBZTKHHIG6IIf;xc`qUswf z_vur(A`pP1U{s#Yj*gJhANjR2(O-U%uleNiQY0oNNdhnv5a@Q&ZJBY9XXj@1n+4Li zt(8T(6h0buf!lf==&9F*cLNJg+h;G31rTZz00M?d8!o29>UBM$gO;~GxV|M3B5t<) zDJ~&_URc<#xSv3O09&4Cap4WTf)_CzLm%Q;didP+_7E(y{{U9#TX0p35alnDsx0~i z`cKu}-L=@>-sT`c#oot-4FgnnK=J})st zqKUT*#pK}_CJXNK3LCBZM&VOMxi$@K73j)yx4`D1~ z0*#tpFdaokYSz{VAZ5Lh8Q>~ue}9ptrY4(K1ASbnzLUhfJW+^Pe&1WtPKX%)3$D(R zVnxu`udLV(0=PgcBO^5VlJV;3z@r^sU!6?d1hRm?ItDDDyaNIl>6j!+D956}(UBCL zMvgu6CF(5CYIGrrfK{u3;miAmLzCXdM@s`>ucvsNwY|J9Z+hQqXMAGmf7=8Xeey8qg>#*}nt zxI?VvTTVwcpNcn0AL|$FL~+enX*Cv$7@}HlZvvS9Fgf26QtXqo1>b*%P@#S^gGQyBd0#pZp?2 zy~L-RFQ&%=m}01a(+AK4UnL%d`&(1CjRvOysXx?g@6SWeJDmA7wfD%H< zV19>F%e~m?74~adC7oa5Z+tg{>GM&-+tAU1`VLoz=eSJayt$6TG5i5JK)W@jZDUcx zuz}!`vZlJ4Zm!m~+!y4Evd1wMzO`c32DPu9XVXEyIFrI91cFM^Te%63<^TnF&VnU=Ft}V)S{-xPhPA+ z5~{`tr|gULEn~tY0i+{vpJCl%1jZs(aGLz22s`~iHU0tKbNe|Fy{*-F+>1ql=Qp7G ze%?E&aFi=qa(aZ1N+M1>L0#2iP`Bc`@m#wN1*DOb%uIQEVv)!0c=i_*mdpd7S4!R3 zI8xRpzDpb(;e)-8Urx4|ob-A=$Ozh@MUSNqimch7E`^T!LHwDViy@hy6iFDJqIExp zAoDvFzoUCg;k-hSax#OIoVCqBcCyG}-O3rViq2R$x@E(ACNDAtKYvDTZ7rpkm_vZ7 zOl?tireqG7;??rnluPN-wyh9THYmn@p@U)*L9&-5LIL^Wu znbKl_0E9{1y9%_wc{gHBgj(@rCtb0W%#1GBKegL5C6fxbp8l<{h#>xyipIRDk)?JhrCoz4d#t{9q~X#pZD zWJtVWUAv~sU)OpJ(0>bSYjk@yfRI&HR~NUo;z|+}sHbE?_U4vWJC=*L&%PQ6PPQHm z*qLPjPYjSfG%eWG6-f1~LcL)#j^V2>esL`xLnAi&&FaF*bA8~BEb`u*uUWC@bMffY z`&q|E{PkW+9W)1Br!(>Lcpa&1c;zjU3rI3R0ECiCVBo5Tw{g&zov$rzAB$6APR`oe zs$Uh!6)4+^t0Vd=94_xmqe#QIHHjCyhY!A})v5U?+rI=dg$h)(aRA#!8lWxJd4178 zmaZV}AiN`=|3&u#BD4*Av#`zx?eqnD{&!^o<&Fd|Mo1?k@@A*U$UJ1zuCW~11 z^Ui15j(F_uKzsFXb`Ky(TOBx(UVPP+$u=~TV#4lSHE&|Mu)Yjuc;S@4+4V`xirmf9O*XAn%b$*WdFp)#Fv01eL zWN-YN*`p`{Q@`(L!lRpZcdx#jM;?Z4LODUzNTFs#>-;wpRgSuLo1~1Idgsq7q^m{u zkBPk4sp(W$_9R+-6*Z|qpE<6xP#(~uhoIeZc87QvT3Kg%g5iB`$?6s}zxHEBQn5MX zH!8YmZ%sym=O?IQ6dW-cJJ;ol{aGyXlg0M2Kd#uQmZnwTWUjmYZ=yxa)r3ZcFMCYb zNd)oUkSVBEmA!yc?9he5v+*__*MCA>N;&=_~N_o3IbA?%w#62ky?!N%c! z{i^Ty_y?5-gz!b`RbC705A5$}QNaSqRGl8s`e>IgbgUN_QG^i0-M#k5rvT6Ww1;AJ z2GpdqBSMjY0Eja@z5j|n*$=K6``=Yz$c6P{T;ESBp$T9vx*N=|g*m-nE*5Z3cJ8K@ zJKW3opPUCU$P&Q)g9d?*jY$P>17mMtJD)tit5_U`PH$GsfTEGYB0oObS^^F2@TV`* z!|81ZtWd26yAf!fi>60N_n-O-mC|-DwltXT2Yh~s)0M1pWCgz>M=u&hTp_*yhp|y|J}0cn?mro z-9a%|`Dtxtv1Fm1C~hOe!^`Z_`QPQ=?tj(@ID1c*0xbu?V?%6)d(mRK91)W2@K^j| zc$4UpXatI&>Z-WhT?0T`0Ra;sls#8tfM}kOu&~6z!w=#{BlRQQh5DrE?%Lf_K*{55 zJybDrzb^n55O(SNdCt^Bz&N?8N=r(iC^GV`BqwyuCWd1T1E1ME22DlqV9#4kMZ+=n zpZ}rz>~q^aV`Zh5G%na-STF}n|NNu0>_PA6@<*MBgi>kt_bZ7D@XZnfU8Hx)SkUWO zf6!~CYWnRy&NKWsUy)z(wKJnHf+;P#F|qJoUB+7*XY!mK!jB~O*fE(Y~li!ZYSg)LMTD^2!ZVAA`#P)`~7L*zid(?^X1om5?O zljEoJ{(;hW8AJ^dhJ{V2F?^`KK6U(Hh|<8-<#vr-wn2mw190m0_kT+?NMU~vJ!~xH ziCpD;NN02XfViX|DrB9#>6z@8j6GB7W>*$#`$;QzwX(CDn=Vlrf94 zu-vK{Y?qa3WBslt3;FBz1;th}-&!i9_O!PDxw2M6c8yF&X4w0mfJqT}v5=10tz9rF z=WIX1UZnfhOS>Jp_k-<_Zs)Lh6`V>Or%`DiiT5l=MU?-m34Mm?Y$TsV&`75*FZ+wk z2CA+?krqj6?qNx9;AJkeaCtdLkoz?|<;JJay$N&LI|Xr}9D1PL+kvE=qzX_mo_Uo)bna!ClAm^$kZMvZ}`?i z5_71Le1J%;S{oMHabJk#x4G;HPL}CE>bjYi%$F=peV4@z{#{8T1NA#+he}i%m41t# z8tse$&Fs-O7!GXtHd0WOmB!TmeC^05x;|{}c;0V8B;1(pn9gt2Y*wG}AaG<+U$2e6 zv)5$=@vMsCjem1Qz7Flm_i;mbeV1o^2cBMgBhFCJFR1$Pg2+phl*8vcAbI%($g0Q? zbFjdlf}CJr1(qGd=A26V&yGF)gXI;S53~4PoE5NM@8b$4izZB_(YKb&JurDe2?az) z1|%Z2Rx={#Zpb}0(5N6q#hc_D(cXW5#>u+(f&2A9aDx?*;5tkcE$vQSo_-%@TZ|77 zG9z6>0eUXiX3%kk%H_2!7#A@GDvqevUl(1U5L?&(q~3kP^V;n|-aZ;U3iUUj z=QSkxrzdR{qZmuZz=d5wS1SUAOZjdnvohreQl?+L_X*gYjG$k# z=F*$~E`9H4YhxC4w%9%M>v6t}@`Ol?P29Q8P@yYChgAfs_b*?t(JGJ}@~zDm4-pp8 zOzSs*aFC<8qgnDVirOg}$MKOz%;SfLeHe2)s3<$mwTMr}uA-;sN`MFeFXopJO`orM zy`@5%@FFSh=(V3}!LIuY0*|vFQ%d(~!0)H5==9`~fA@8-6@j(5EIn6)v?3|d4He@! z8Q1R;)0@y)N&b>fKGzi6789u7tar_g^W0X`^f&|~6yhitu6aH*{d=KP8^ohweRH#O z!VlL$r#c$g-*6ipl@A@kdo`jkp+2WWhoK#A2~-p=^kOO&f~?NEPzvhEikv^-mte#@J0qyeSkh`ZHi!Jr%IQO@T>LUPf{(J|J-Pqi_5gfXHvd6IYo~%e(%sJ6hl`)+Lp*} z68l~8uF?h_#Sorsb$1yXbg`Rr-=U^F8?@Z!Va`#nNZjXhP45_22)c;IM%{&*(L{lJ0gGyvJ% zAZco2cCaPkwsDq=Q@dV0!Re=vv3k9>_|G7oUT8g@O~IpbEPFOWoZrnm{pzveEBtr7 z`sv@5_Sg)WJkb9=7M_0l&mwV?FA>DxnWicq_tBMLDl}Y*VohJI>BXNz!ghxs@n=qJ z2Q;)k4k(2ibkek&3A+3>N5?wfPvDK3d|e&E#c;E>XSV~9?}+CXfdR3;g~NsvIJ+I= zO60xdY#qztmQBQYI#KQaHf>PB=xuV4OHMeiz{#;|cH*NW?ZTO;T2uRjVR83=uTBEv zlgPD*sJ;(dZMptWof}PcL6{#%wPk5H(Ic@xWWD_)9qn}T z=a-mPw&C$Jh>_3k8*1PF?kiQW{umt*{-xb@BBRs$MZa}(@)8vlB&by$!xZcsp+XH` z1`GP5h2sATB}%+x+i`O3+03X;ngzeAT$UVg>H?UYxTom*pSwCQzUcWeVc zzeo9BMax#o=Bg=*xv8?Scbk`%xc#HcU$2K`iQAW;^8_3IxDS4D1e^E0U)&)&ta3Kp zFRrjU10MFvpn}vL2Kl82_Roq|t~~~jX>*ITIIF~l9nnSpA)pm>Ee+)aaZj)CHjVCH z_oFlr2pAHhf#3&foa{yd%25u4>E{buz@`KC_G+K)b06H^&2mwPhw=DV2mz~xr`W4l zXxTRYZ3l-@0vFElDD7|G1!fPd+1qCyx?U@Y%N48{5sv3{xWM*)3fIf`RVPimQCCx^ zZM+p_#Z4=@Km4S8=lWO;kwPDj-j;}MiupAzdS7=@H9|roR53RE#0=z&9t5k==eVD+ zDA4Pom(SKbFK>isWy4~NbysReyOg{uv6AdmG1H6nka=5P_P%l?A!yO?OU!+o(&jIA z&D^3qZH!~%H%UqRq?ir*L1j6ll0#7SoolfMtn23?gDI=Cj{GEI)qB4tpuId6PXg8& zi=4nc&zIByy!|GO>TALLd^Q@53`ftzGp6gnZ;4D%i&Ra1q26?d43(!-S}iO2F-0P< zKB4qm|HKDA;>MxP@uedy?|1T)psfoB&6fSynei{SZ%^;X2E3vzrO(f&@lXs|mxYlG zyj3#WRg1y9QdK7T`$A7A9(2LkNh0dY+uLa`TM~`^ z7!~Ry#&Ag63aWN00ZLhy} zSy8+Iaau2tJ;JthsuUKxT4c8ssSh790fcqnoDQeaCL~2Jh;iYXo>o4GikkIry#2T6 z@`Zob1@F0|WPacO>t?Me2+R(8T?&%P?Ds#C>(Xu?wZ;F*5=?By@g(4{BxBr@y#BmL z3y|M&c{mQk!@d?3sGA)7*V~tz{PW$V_m$CBU18Z*rSInhKY*ssVUExIL~(0Cx5KJ zb3Tew*$ZCU2zXog^A|Eq@k@t%bS=Iau(#W**!$^$NFpw119x-7qm*5vrx23ER$%Ndax-NQi5P&B0`1lVXpp2<&?19VPbAxpcR8fAIO!bB- z`udJ+#HW{qAqUL7NWKSEkGKZ3yQx9tvMj+m_y7-fe*R|sjI(x)1|$Bgy_UId@?7_g z0dl)!dT>-xKz7&if13Lac&gj?|6`SgXlOoVCCNStEh}20L|P**;x<2>kp4WZdA3;IV=W3qm zeY|O-H#bLd?1(E1*F3J;>Nn^CPtw2tmn3hQJ|`TKHyUT`+k47-ZMI6q&4knAzt+uA zZ|(7V*>Ka!1LL~+_uIDZZe}d@UXfQ*Jhqv`PHWNI`@9S-U0vKK?luKBA|AaRTx(L6 zMbC6Lj>#`?GWDQM^O!yMeZ4Mh-{o_<^o&`bxhx|mdHxaALmbs+rb+`ohDZ3H>c7c2 zwew)<1t}B4%Kh>TCeC?iqwp;Ap7VS;y>nHnHrup2eV&6FnV!6J+Ldi#k&*om6b2gJ zX&w=gYgD#f=l#$+|M2~sLx*DT>Y3TA_`JFO=5vP`1J%yOcIf6e?#fx#Iai~4LAGy6 zg5J9)VJvm?R)g2t0S46)IQRVcVqeIILEq1Z)xLd33a(W9i?uAF*?;GjpJHY*ngiZTleKR)M z$!yHKv9x@YPuA8eUe&9^<;{#fJ6&H{#Rp+momMinY;VrY zx~g>V+l3#(f?#FggCknQIVI^awK&GPh66}C@b&cY=(s{sqepmTqz!DdaRdStCp7vv zJaZf~=Fx&+(?^vRH;yT0nqMvTx?K~}i>Hu(M+eFkx%unIc%@$)c6$79L&c|Oh7G?x zIAw{aQRLSzX&HIXw!3bc(Djd%d2bgbFRS$Kw&ZDR+~JX|vxTuN?s$@kGA@)jC0Oqn z6^dKj*^f%!6eg>(5}PeA5C2q_~CNLr17tx zhb!9kzJKY2mW+imuGDHo`9Ag={4h?zI_ybq$j1w9M;@JZFDb^Ew1bxY(xc^QrE*2K(8UOA_=L+I;| zSw%&+v5R`_@Y=;hRe#V9oNcaHVG6_H9kA;&b#QgPP8JVZN7A|GEn1aq{Qx_ezUr07 zD>DnAOsWesnA9~>Ez=(#D!F!au>?NuB46PETbT_HJD*fs({ap$eC>))>%;oo7!rHS z9v6;b8j-(Z#p1=r6Vtq(-58>j(>nP6JF8QHca7ACtqqVeP~4haQqv(IFLQCC)2t;I zav<<5#R@&BBN^`@$7Wx*?diBVf~FrH78bz0R9A+Ji#T8YSdlI7;NsHtZsp=bmU*uf zOE|}x2dL#vhxz&Qw3vq{CL}t%3b8xYb=rvuX%n@#tq(ZEW71dcZ^(5;PlZv!g43lY zulDwY=|tA%k*0sbuvg>T!la!ib3-cQ#vSu|>b3gdboEwchy4;0S9Dr}3yXGF45Ql* zxeQ}so(AgEl^4yaG#vCcTea)pePQR%TSBoMST_Q;VUb3&AD=3V$~Hc=X`5ji#o1o% zO=dWRZSJ$HljAb)ySwYWOGEf7`{yrf9(!)wKQ8g^qS7KfZb;@4o?KWvr5(fK9D9BE z_|YIT&%&?@hXgocf0C9_`_}x=IVP40LH1IiLqZaU^yIaToj!(BvAnduQ^Mzp4Q~>5 zR*g=$v$S~1G3Ta!&8zz88~1v=Pi^49-NnVlFF0jprQwQi6SUjwRE*jG#|%ry z;-+r;9dWcB5qhfJ$0RN(>D^2(uNuh@Cq69w<5K9y65LFM@nGlad35>Y+b7RAUmmTj zw2oDvo$B%I=(pIH63)?Hf z7V!WceoW|tp-Y!7i$8q$552?=bK9Havgv^X2i$w1Vu#_Z( ztxCI(GQQI?V~stoK|f<@i@lG{bs5vKZu%P&yX9%K&U9PWCZwyz-0;1@4x?lajZ!@@ zvzj9>s~{oWX2}bOoGwQ!whq_o-maU%)X0sbkF^= zHuuYhfnTbOwr6LTJSiUV{@I(IeV-J*R_`#rs4SJ8y_->Y!l_ff+#kh(L*}*I)ALQC zT;#*@%3Fnnrw%xn?Hs{1Fvuz>C~z{Z+bhArtpr@5fAQi)!SQn{-9ile^*en{{^SKq zeBViHVpU;JpX}awL;sZIxpnNeYl=OKglwQSYO zJJut%CnpBhO;J(ZFaj%mo!{y6EXL0K7BY-Z|=fm zGCn%%!w2rITen7x9GRS+zTw{M1Lw|li@v_tRnM|0buC1ZlY4gNkU_H=sjAJ=5*n{t zN@TB6kXBqb&PJvA2(PBf?Y1Ag+w_CGe}rnNBCK3s;&}4qbJvLz_hn>c9eUVzWjOJTOg{;sYM2dz6fJSY3xKld* zK}~$TCT@BU?O|NGe_%Ix7&5(xMJ2_%{mX(FKvc$kO?WYX! znWQpqQ=DE^lfHHn-`;MeWLk6STKdZc5$J+b42F2R-{DjkDj#)N?4KMZ6E-wxvi=L{ zig~kbGF@BC^>f_v(oX80?Jeh?pEfEENYlNg;vVcaE>k6D^X}Mh;h7J4Ei#P*%6xX- zbxU3lJ#D<5v42u=N!KO)al3x}gIeDKc0JooS+wYGViz;Hnl8R=M`ab{wtmC9-t!Cb zKBe%oiHmVd_jV@hk}s;v&(u@6`ld2Kka=@v7nL-7RMsycK7LO^g4V3o4yh&& zr`?sWX+G-4CapoAWNdFO7?Zr@Ui|B+BeQIR-BO0Gh`FCN&%$c!qYk`s$&u~8)#2XT z@nFtcE6ZW7wU&iZ1DDB4OQLGMhR!>9%k%sreKj?;?roZ-m0WCD5&TJY_wf%q9bGd# zBa*xfUr$()=o#Ubtv`M0P@gq;POnn`%-qbeyd#p;%@?}vbhiHb)P+ zmtC0F{D#;2L8q>*Xl@mFaI_|l7mcKOL%W~9AK@OQ8LWKRvGC*6)-HXFjOKlMVGr9) zd(XVs1^51l;X{Jx8lgxNO#9*Uel7nV*?kujavqV> zZsrrGPzeiPoB8uUX4jQnZE5UX>~p%Ndqw#9D+A>hJg8QJ-SunFvm0-3K$Bg&wwd?C zb8n}IOt-rDb$Ro@d9(qiY`qB|TPd4;Nib3wjpA0;&c$~haqrZ+uu?+WfZD@7cg zRb+(gLsOS7y}y+M(_!3x-k+E_JG*Vh(8o1Ptmbc$A9bsbruKu{oGC>%)h=hOQqX4%~g=qtg)#{v%5$gGK2HCaE-YqU=* z?Plq#^WP;D9A3XBrNr^ryM24hFU{(B(e$NURlDMmUH0Cu`1sY&D8QTtJM3!bms7ca z!hU{Hgxc8VoP`S)mPrMek4>HHzJC4sAWIe1)?+`qL=RoeQdN~ZaRxUp%y(F&xP0Zp zE62mPO&gE#*A$+P%&7WoJuP56!%DXN=_@1t}>h?{@`;nge&3l^*tJD(z;{%Fip} zdCIi$i;k5?yWH9AdU;*{{XsP1wYRVM>iU`KII$x{IsrVXO2GZ}* z;v}c0jeYg<_BT=o#HJoSnu$#iX7jA_N{2CHWY%oTf@!t3u5O!Ft5HGMw)HCO_EK`` zfb@#s*?cR&sgEi*ve56w?ZOP2pTF`cQ5++upmzC;rX) z@Ge(9I}Vod85bCEt9p*r0xi>>*Jr$Z?+af0~0IiWfMlu=R|&#nw2?b{35@W zGnO|~Ths2=GTHHSCk5}ipPGjq@9DuY__oab`x7w1Vm-1yHFaB7mIdq>-#NTiZ_^Az z%i5eNLD_C-y4!VKruh06*Q>Shr|`WuX-?c*$+YSdr0 z?yXpr>Zm30pj6`O+_C2pBokF{K8V(OR-SSAwnXOf!`8UR5InT{PV&c;JsV%V|1$Dx zd6cB7tGZ>(vNyf+onw{_Q|{Hpbx7}*KEprgNR4gXrey1AR%cTp<(t_hZi|M?nZOwz zr7H$n8HW26$xca~a%>q#N$qs`A&<>lEcbs7UNnEgNGV=tWslGr-nuNc=&%}d<&ZQ5 z=@p|caP&9jzx5A{NQqkY;&R)2u4zqpiGjQ!OC`^mB+8F}9sQ!T&~tRDrHBdWXTE^1cc#LAxrX2FXe$NZOy@bwwrCK4{*taVESi zenv-Bg1t@DzuxWcnjbrI`CEy&53+|&_CH$?|8~fhuKrHTIL=$=)*THz;WfGC$uWmK z2g-3yH4V&FHyf2uTIkE6my$!uQHp)_`l*D8mJmY+VozUMjct;Ex!E^+3!+y602;g+%L z;Hc=)N4Iqu$m_j#T$!BJ`%TSDCU*?GYxDAmy_C61K+ND^nO=5(cC)%)@j_RUXJIv= zJUDRHu~U(EC*E|8Zo)B^$Z9+9iBn(a%Pj`14^=ci!{JOSQcW$(3p(r@d;MOM!KaE+zbO}K6_3u77;xpwaiv*nH2a%Lct6_pbmHcc zLD8n4Pc$8+U1F}jx8Ko0S@XTEuNu`nZhvp|TZtN3lVjGUr-LR}YP72NXLYSwp-}zup+UUOA+i$f6|UA@SKR&0CNuV+=a-4w4&)5z%vmHOJ9+%wz^6^U zc5Uw}Z?huCd8yPi84j;|g=wJjo9t75#)e)`j+=g7D0{RhJ23ZTQDVW%{uOGsgDwu7 z^;yd7s+(+urscT=%S-NRop*fdklouwj&t8pGV4hj*;nn-b7R#N7Ccqpyi=Avw>~bc z{Mr>0eJvW8+bRFdzf1RVG`b{ag-Ql!#Ltnex zq1Wl*?&4G|wcxRHbLW6dyA!x$ULR2BwcK%VXZ{=)DPHPo{yWq;^XBfs17|W~9v*MP znH?!*ksuxTN;PAv$zF-FuC-2mI37jaWPMwom0sp^P^o8-dTVQQwbRs5jAoc0?VzId zr9)Q#Pk^K^5CCnoyD93HbdI5SuJ1kXdQ+snfuE@#ya+LO(`bXR7&Qjbnu%of< zt-EuEL4sl_i%ynJ{6f#a?0ZwTPic(ZYfnzTQ%B_jjqJeG0U6hiE~xDAd15{%Cb7ai zKd5K_q$}@_Ot9Mj`QRsqdz_fO)N1l&tZL@T^UNxbyWC-dK1vl{DF| zShQyRa^rJ#d>km>Bw<;b{zPYq5{|SoT zaU}Hi-mFk4oR;HhWtL@etM}$_@sKOEninH!(dM0hY3)drn@g8QB%!|4InoQc+67w1 zE5?~^y_w9UmKCPTuiB%Ti?950hFRNLC0R}m>)JBE_B<~y` zLf{w5PhlTH+z7aOK-2%%PXQVJ0IUI$(*-yM)B+a(q3qtG%uAbAc zUq4|Ua>eBr<}E|~DnOXe1b(@H;yFN<+ISB@*v7r!&j*CEFe4))=HTGKaJPp|pFTYY z*I{kXpFeMlZ~WjOVIsW`QQijr8wk$^=sBowXah3;t>*x(E`Sw4^d|zT0JU+EJW%5> zcXxM&FHj2Oa*)oiS9^PV+nF5a%QE3*|?fVYqB1jL#L66+Q#K4}KaxiNJ8Xnn4@DEG;dW zqoX6kMpRf%=n}s`F&bR>fBRh^Zxg@~$OD8lf9P6UTeDfSW-%x@87bIN=7;hVJ$#** zpMR43R5oD1fFIID-fO@(pxN)f1LURoKOFc5{ET+JG?ED)XJbA-KFrtG_tKIjON4b# zuBiTr=8z#n7(KJrj%damQLo+AqbcBD4R$h;VLejPnV#=*QJgUC2ku+Md;jbieo&52 zUw=gq>y?ng4BV#v4!=v`;o-LU4vsCpa$t*hk?Z8-#BVo39=f2{BQ=BRtPA@cdZIl4 zsr+2$$xJijGVE}wncnJ6B054je&Ak4ye(Amwl{9vutj^J{!p*1=KjM>^FR{Q4P09< z-mrIXrgiL0{W!6*zmUJKAs_BUSH>Oh!c^YXFui~^Kcw5B9AAEnm%=`9Nj%+Pyz}?E zU$vg;hHPgBUUNls^;fK7s;{b;;UH^KoOsz^$X{<>5|uNv;LES?AIzu8oiK^%ZjNLI zGrSt*fpUEL;WjG2_LfMdcKZexfwpun4C5 z@(b$UR1_yxHWPj`fa;#yvjEeH+|ShSm+@s3Z+p}h^?g?`&6C+o<7_T7#5k)PxQ20u z*)*hG`*-E~fxd?!ENV9Io+w{V##kD&aoqI?zCVd&rC*pCM2b1_?lK#v&-{Y|^)DGEJFAwtnpXKLT4`Eu{b~6LinK=Ij z{*ynIzy7;oy8f$J&%-B}#u4;m$StI$jdmsU3*2gPx()rv^OyR^-hsuACKvyAB*MtCSETM{mAzh`SquIFsmgi`0GmA8;a2q_rE~=YJkQY(knOt z^emL83?SXfaDdW-0gB_Vhv-uo&d$!X=j88$@C6<=b?Q`xueCGpZ4qqB&HMc4q5Qzt zhBAwXk^V)HPh2*>-^0U$5iemn_UGiM{CfeaXOe9?@Rzj?;wWzsun4flw+lyOeHR03 zqA#>}n>=|k!#E3MzVkpk8WekkO?&g1x%kWz^8J${;JWq&9?t=(yVg+1S0PFI2^U&YopjOPAJ@4`qKECYtmv z#qv=d@^wHM?`+f3(&nSy?g`R=C4VXMZ3Osj9PXl_LxW3$RQNXZ;Oc(WR06l5?@5Xnk)L30bOBM78Z6wskLVJ<-OP~G+tm$xxL^2h+*5}Ug`#HCP9-7(;>E5Y-3DzaAz;7KO?1x71w`@$_AH^Ym2fzZL zXP|x&1=O3Lsc+EOA#7Jj|Ne|(dNxDobbAE^uAYRmsX?or;T@!kag&*M<$EH1T|5 z{)Tf6@lyeQTj%_zTpG^ZQ!SJaj_oL!L$4#pZHuu^r;Whf871A|3Fs` z=nK%hAW$2nw)!g>8%uwKavK3*8#jUfA36VOSP|gU5wHa485{vxA5{U3$=NWD^2GvU z04h&?tV2T{|8y8Usc)zO!vK=Q4afqhEjN^z!W4fVm;z9KYU8TFzkdEJUN_+16rl5T zVc(!V7VWjfpW!~j{JobTpDx^gq>YQq_MiA6k37&1pt_~`gX;M@KDYOikz2~)$dk+C zaHPm3LGh=CTz?LSzd=kj%o@} ze-wh`_(#WT(3b_c0IioJfyDsvr}1kSKx;7?AO55D9A3{)f1oD`r~|`+6~JSF#?SzO z`11teCvg1%{(2a$^iK)@Mj~j?m@x<-{n?)Yf9xJKXb{7Ht_*~Yy)FDg{=#vc^34DS z16_ZE&0n&hoE$)7suOS+;OoC=FGG40+8ZD)5c^A8{2Sl^-0!V-28*<6AQ7PQ1A*VN zO+!8zKnI|D4FTQ(!slY7YZUONxRn6q3!rsA?f(Tf2EzRn<)QMS0Ih}efuGuzA)VUx zET9k&@fG@MuShxu!5&@6KTw!XwkGb_cMJFM!g#ne&w2rhf2nLi1k&hT#{jgR_zQ1g z9K8e5<8I%+J&5#9h$lJt`Dwqw#rcQ9ap|F-x)Z!5)ZY)IEn=N65X5yXA`0e?{$16Oy}GxrwLjy)=hYlPk^T;j6D z{xnFKMzU%or7^u_|GT!=j!*u}9{mUW>(#r?zQas=e-h4JaHfPaJnrD{dKn=vxT^rF ze-VG}%@IrsGV5)?8KpUNk~l+Dd-9&?FQ|WB_FMd8;`!%zI=c@tjl4qE3ulO8yvZLd z;7@Y!&lbCvzGZr=HuBH)^`adJ)|Xn;G#Y+Pa}TS+6q}>(M~` zG6DZ3l!wlm)t-J}hB$}jm)RD@G}F%W&u;Y=)q8&a)Y?!6l&Q~u8IS4mzMt!B9XZYP z#oj5=2ONOr0FC>MJ9-RX2Cj?Scm6nI(l~aSf7Z(9-><(={vYwDF-w?-=@S2d)%?Ds zyL_c6UM!CzJp;m{#p3w+xI>09vL)!XCypN`y9oT(Pa%y)&l*8P#GlSOhO7_e(=c$G zCM+lJUPgX30e@BaMRS8t7QMNPaIUxgyBz`c^7Jf%H2xB&k^1M4@sx*a@5m-@i)3S= z;}_BsxHO)I0ko%d1!%85ALtLzIQx$D2BiNWJ(ufL=pbi!Fn2HLkWx+y_4$pS^`Y!n zK*W!13TaHIIQXkE&n3Y>7MKg%rFbzs?%%)va{Si^r?9ZFM9fRoG$zr!#J6pNZNkKy zJm#=!EtUBZ|G(^0Nw*1|;AQARX24#@1!o?oQNG?dA(Vl1V;GNfF&9lk+zjZkE{mUE z(A+d>?tJ3k=vg7+8}fgO>*BoV=xBSKhwX;S`Ew)oe4;uK=(i~R6?GMluUXSR+8=lV zFw(UP>a)?aGUO5RCtVg_&kg-_z~aS=pOQ@*(cl9*Qf=76iNeBoF_-Ec{9Yr^dVu=p zF4WH_!5JQZE73^%`+|H_zod)uK)qifc}bTkIcE`$~e{Yc=WRi3Zsr^3MU#u1Vj>#kmaWNZZ}N&w4`l zD1NTZ#kx!rdL`1mlP(st_<;PiSU062JQ0}n1OBvbq_OlVz}Hs_^@ns8(a;{!0Q$vl z(BF2veVgeCbnbeHQ#x>fjbE~auLmX@Qj&xEBWS(^Xsy_&t{L%i0QGBnU(o=)55644 zpU#^o+z`5G3#3EtzI7|pf!>zVsom4NBVfHo?P@>Z0Q_=&jyxR!OJEXk7U1_cYQJQU zj4&VCt5z{xKR?!U#}3wOIcycbpF4}v1^GyC;|37D-`<}fuO!eN7zQi=X#G}?HW%_} z;;cdkax_dsxENRrPrXsbP$C9)_#w#rXdv#Uwt6KusGqXWJ;lKAY^hlO@9apq!E6WN00{nh7zeRh(6;< zF;*(iR}GP#f?k#~@OShSc=ncn5zrTaCg}Hm$lC;<{d^QaYgj@w&jBsCPdNVHv;!xCijZciPWlUZuVjO5>y*=4mNMf!>C+uth2ZlgQz@##;$nbv+(0EPH82d!+rwu zgCHN~?r_LKGBEA!QOp4LMmo{)%&`A=8+ftu{IO6QdlRyS)Q&qYs_St*Z8zH!!zGov}n;9q>ILQ ztZ^>DMtuX;3is%2eE9MJHpF?7czGIUULY+TW#ceER?(a*v`Y}IkG^3YMr*|_nEPH} zEhJj+A}$Jix5GB!9i0nu(RMUfu4FwUBJe(~_;qD~bsV(`3`R`QLkY z-B~Lu$s{K^$@%ih-unOm2tWe<`+)!`Fz)~W3W#kkuK%}R#s~n^jsO6K{{MYE02oLH z06fI{zw_-7O`((%#E z;8H+Dg0tI4_N4~vN?&`0EQ!{qr?wPEeP=%26a|~n^V5Ps@?g*3zN;r`*EzCKmfbWf z5rG8|p@6qUiy-ykr?E9vh#uOyUVm7i_z+W&3wmx4(r)~wBWM_$41yBwZc_m|h?9&^ z3o16@T|xh1nLtpM*uon^m<+%RXb{}ILxPC`WZUP0`GAJ5`?`tnElNpi@{l4|^(RRJ zxC6jQQ1t+bLe`jdeDQ^0O=c3T^y?36HyPXsxMJzVqK8={nzn+43=mC2|BWypu1-*S zLkZIY7P?;gV-?v2RL4*Ov;%b-J8r%K4JHX}$|nFPvm_AZELs=mBV*W8m% zBLuN&A34U1RA7X&jt3J21)(rI4xBy?pvi{Y>uXE& zKo5ejK){Wj5=j@*hNVG`a%u=W9XO3526hoIYZ>d4B%W&b#E-Nu<>`KLV;6a&{@i+Y zVldw<5gJC&GH89bt2^M!B-*+J5XzbVtcU^s%DtR|RzMElkAqyR3<>5S!M_e@&|25DFQLO#un&{0g zowI$4s=IoC%V~g&$35tWCX-G%YDqJHG?=&3mR=*Y>|)D_cfqh0gb#G@#nm3ZduY;I zi>jIz3U&KS)VbHDph@bimqGM-?lm4ye2EBNB>wn*ph?rxb&rBpm|i&?0~S!$wCU!- z!~k0VP;$dJ-J}n)usPL~gL>^ZBqs-V6pil#18rN>05@DHYdtv| zpazt^nT$&XPUX+ed4XZ1f&_1I6TK`7w6Sm6Dg5Us-M?dzVBNK5q)*8+J^__#rp6R8 zid%oZF&9%i7|?;;ihqU$lfIUtNv}O>CTNVjBcPcakoUCZ%gO*u;sw9K+LBM;b|co( zizKa$78B?xqpvDHFiO-vC-wEjrvI*!NdEP$?C0w3sHWOi&=LAjmr0=DgqOOj_pxf^ z>2`@>Xix?-dgJ&IQ{7$Y0?sS2Fm%#Rp1K|CLH793NU5zsCEW^EAG>#Gu~;et{oR zf&tuh=UK}JR$ZkoH7&O92#Jjzo3s|NerrqtlK0|Vk1o$GYf?X3#|+RI1QKyBc7yS< z&c0!2V*p*DrKbkfC;Zu4;~)4|sNSFP5CX~u?)U({&Y6DM#fs4nBQtq|u<@_EQISF=#`4asa9DiMKT8B7E#`Gpn%;69$S0H&6Epy9;ClD#WRL&) zO??fc^6g7gyX`kcRwglRO;;*nz}~r&5Xa5O5%(kIM91U!z5rw3RqB5?R4v&&EX4Pp zM7$VHuO`W+5Gqa~*SAtxo4%jWF@fN-umZKU^OTX0^>=aq5W}GZ@Bu=3Ux=7MW^_c7 zi5JG;-cxx`*`STwhVOp{pB)G&fV(Y-R^`xg_lSjX9fh2cT|X0On!&zb8F*j1NdWK! zst3QRIz+eduaImy#ZjK+%x~M36bA~_Nuz7)^c-9Eu$de;>vC`%7VFr*1*QUcmH!L_ zA0ILfH>`!_w{VSv_&FDAz-TTOwLt+ODN|;-;>#Y(R+?MUKA#_brLHH)U{?<&ME5%5 zYWKy@cr8N}_+FqHw`jdN)J&aL3^f2tnFhft1>5o(7p`5IhTO#L`kMi@|JOmeGnR`f zU(4gqq{KReC^C%#zc6$KzWMS5gVu+sG%UJ?CL3m)YUXPPZY=_dfC^xmX)0P7AXUDd z3RHj0*zYKMYj+i+v&^P4@BtK__0W;|gcxl$ibcofcak+TGXnkQ->A#%`xvT)&;eV* zHKb3iG>!f>%qWXA?MDrD$sQ0X^3vm)Q7T|BxS>;LH*n=x=pqzhT1n_~!A+Y|2q)1N zHzs3!x(&6t;|MeJ``Zc4@6puEST67B@WciJYNOIt6fEbob(VHd2E%mN3iEZ?ULrh0 z@eRY<(Gc!UsWqY>{`*hk;i3%st!(bc|CW(p5{32~Ulu0Y`t2&j$YZv{HSGIGOn=+} zXUN)5gk|CgC^Qij=dSmjkHn zses!tOE>l7imxSM^hL~UEe0l8>nn_HrD4%089?gfl7%*R^t@rjeVr)oU;hUkqj&D> zs~U)}vuAS(hy(u67`>6CSJiBI5lv8vFhiPG z*>(Krz?9;xb5}?=qYaZb_xRKJ9cL8s;3ZI=uU6~L2V@B1-Ym|+h*)8hS}=;}j0ZRb ze%&Ma2o&ftBn&*)jA-6s{caiTD?Qmu!1YT7lH1~H|B9b&Nv$#BVVO2)yg8iEpE_&K z!v;KeD^z+swtuQfY8)KEUUMR=aKebcGp=4rN_(b(M)OnPR6vqO+O!={ zs}r{&PB1m90XOa^9V1_kFW9m6H4pn5#rN%cb1Bo6cPO0vXWcmSw#5U4+enIV(FI^5ze8t@! zy@A0OZEkPKm{q(%4Crp(V2L;dUB-_+gAl(iU<{&Dd1q>p=fFaW_2?Ka1HL+PmQzGM z4dnz}yTt!in`l;^ce}LeimCG+`$-vKPD`0X(E)ia*e1arL+_OrR@QumZAq+z? zvbowRP3GKBpzINpaG=vf-3SDO!tx)Gm^of1XPZVZ8sMYi0GwS&l#*$aop24*nUT zvX-zQM)K7nThec}y2wdSTz{;f>_>D}mDjjeXhu1kR(04(&0z;7eU-W3~G)IUZ1ddpH_>Lb0o9tYAVon=1bO~?;EjS!~kraao& zX2Sj-H{qX+dp{%|0y3gxbNN{%@*DB0dzX*;a++!5i<5B`TgJ)OjOHMzgm-9d2fq{A zHa(z%xVA7UO;{>ZnDY{>t!#8U?z=~?y3KuS&p3eLndW#|5u+crKLDL*T~ZF*a{Io!CR*7X0`vy19?#EGT6xLg&8$h zep@lb@ABPx^IS=fp;U@i%*6Cr~Sq44BA)JF8=(_0_ly?&%m-Zthap5fYVt z->Az!J0DAT@fE!KTb+F|Cqf3)IS{$6G)s-5i6@Iuujl&0O7pbB+zet+(fVuWe0$71 zk3w@9BI{11SS2>t8>IU9V=#c;>y7NmhDUM+(W`IaLLNBnEWC(K&y>0`dv$S6=vQqBn_4@3p z9hqvE4L}rUnT38-lfbm%5% z{TD0jcdbTd_(zr3n0Q#gE%M_-n44Y#u2Uf8UIy$2HuDQAIfhcq{qG+h;!B*`QuO>l z!ZFvz=Al`6>D(%eBRR-re8x=V5~ad=mCyU%yZ9lUaAZ5Ub?;|x?*bLGEoN}sc{3}^ zLrTVGDB+o$&xrxZ2!5h8*3sk!v%afnnZZZBD5Nd+6DkkZ!1T^!hGc@ep6$<_Yk z(ir-LBaK#Ha>oGh18Qn02zMsc&s4bc?*ks{T@Ax7`D5=pL9~?ph9Q;1%h-kQ7DHOi zn0j2Ka>2ovcK09@x+QALP{H1{pH6J`Ub9tB5(b@Hz8m z;_Cj`A_5EH6u8sb_fI3Sgua6HYh-)=xS)zF`ub4FI*TlWd7Mh$H06t2ovyMYmz_S<>Fyuyc)d5g;@zYiVbO~}W;3%wGHa{71KsGZ&|ld0 z3(8=h3UAe$yf@V*#u}SvV0G$!`-(ssz>*E$MMZV^oU02IyE6lP(}Ei}_2qA1ik6_| zV8PRBSM%g=C%C6KM~xqQhqu8kuDX~J0|W#;I}Yn{te_9pT*=e36;9ukcu@pcBNiHY z=>_hs^`qw~;;(@QVIXduF|1%3)%5RfUyIEeE1bq#Ti%u&YFOw_J3_swscd z<^|ktxv4z8PpwHhL7fQf!5ulg%>a105{`+7%98|57w!tfUcC6s?l>F|Ep_ut4tkjL zy&yduVyfUzPA>^zk}eBIPiF%Wv%j@O$4;>P_Dao-lA!lKbz*fj!E#V^Vt!B77dJ^m zDVmuDj}dvJE^-%C}kE!@&%m-UU($-MrgSpzN&yJq>75I6g3kln(TMR6y4SXRD z_@LH3h&6|?6d0h`zBZ^pAtRgR?qMRu+ETJ+%`ybz$uolMG}b+0CKh*)e}hG+P*WJp zc=pYBCif076rBDtV-#Y>VEumV?)=6uBv5B$%NC&=afSl(>i`^IyrXc*LW|@O=VY*2 zsbTgykYh!a2JH7mn)npwenc^#=Y&e{<8i>)Sm#@>NyWsqCF4TaNYSBBGb9~=3< zb! z{;ABF9GUS=)O{(;?B3rqv%o0~FR&EU$KJf5=q56kl~w%y>Z#KoJ{F2oWlZ7kyY5En z_bk4SDv6Z!lD2%~yqr5q@|kQrp?7QlXneDrNm0-&Fd%5_*KSg~sWq}<(zj%iKOa;7 z!qf%}gVYe9L=pv30dwT&N#im(mWf;a&~(d)g?OE9MFnFC5)i)eni#2%x4RO?_h#UF z`w!X2&!5p<;G-n{duk4;nPdW&yXUtPv-qk){etB0zP6t!z->NwMSzKj;3uKDV)twX zf~u>RKHlZTgGvbO=hfVLvu-n2LVX}P`PNupS@oqfp%o#aP~nUME*OBmeyh+bx}_M> z6Kra5SF@&>CixJB07>uNqZlaiH=?Gq36pnX@2D$3^~Y~w>9OsALfYdKuheqN;%X|b zeG;ALfA!3!{}6rbd30XS3!DZFzf3MyrJp_hVXA1*oc?3dxF9w^O~V{sP(n!)h^5!y zcVQ4O1?4j_aQ!hkPY6gi(My^lhczse3%#AdkS2Ym9pyrVW59j&Lk$g^2Le4&fY>WKf%M<&Z4AH5gQE?wk{{0-Cj z4R;ajwVEt$nvO13G`6G+QPIE#sQsKP)E*;2FbVU_u1mJ_g~zb*_I_I0YecTXJLsIX zOa3u66=j8aqBt>e{@=O%zHCHj3Pa&elcP#LjWSp;m`E?sz2}w^9r{kUGOpSG+)mWz z-|^O=FLt6fbDT&FqTZfqlgi)onl6h{4u=*E@(M3xY`x=P%NUcc+)m!)LX4i&n~}PE z)t$C=wd}1M0?N5GuHY0qhWMXxYK_6Q(T$WBsGPU>oFX*|R&=fkCDg*-?E6wYMu}6E zA--uLh2#$uK~Y&jd;1m^l`!iRPJWW&Ah5{w29s%Ic7R>Ma(hDV13^C# z@X%YSdoKGo zf3m#;Ech-(=qKw@u3kxbO$}W^{@$KU-mq*J@ULHV*XMoa>npxtG|z}?jzC^XtD5lW zye3FueZMqJaE-E;nJnU(21CuoVP%_me0E16pxq!&tau!~wiVsn#ET-q_&@M(EvZ>m zk8nh!wbF?g_Ja|8R^<6c?`E=9zvS{HVC0Gl>BZxOlJ+}}#zF_r49UVPA%eG<>2=Q6Y9xWWPf z(ySn!+43oBy=oLYKDH(UgSIo2-`OWmhnKr7zldJTLkXkkR%)UugG~n68&q|G8)umg z07L1u-p`v7=&DC~x_GmEUstG5x)lE4vDi?3{?ktc&h=22>|a@=!BXL9 zNobW&mjkR?x4&%=)&n-)J-m7As zeFW-O8yh1NgE5_}`d`J5kKPphRGmNi)n?;QcIW8JT;TBzT2K|9)(}l%v#a&R=*>rG z?k3?BqV$@It&BUWhMbqm4J}HQU+tr5-P($X-(auOGF6N*6&3eke~{-zLJ~@h8mW;F zG*p*ka^D}0r*%YvNWZ0~HvMpI`mFFSBvHHcu*v}WOGyR)zwgX3v;8EHwOgFJ&CZ|d z!5#F-wcRQkcZZe~v(hQ}db8OYu)--VC1vi!oBO-yV>`dQ`fuE6({fXn*)$;;0Y0OY z+PKm{fB*iC)0%Qqa}wt~4UVml$l~XqzC(AHG;0Sb8pi49zED3413)U@yOh~UO%IWo zDa*6THtP~ZN;>$xMC_NJIRseg8vaCoQh-+P=wD6^gYaagaEjO#eAJF1fa z`=Ws&D(J%}s+ObH@_M40nzOHjNxJ0_el4xHJ-OCzQ${N=fjE@J{24aS)u3i6o5#D4 zL)@|jS~{TZr{~Y%G1NuT&ZFEbAgN;7j|Y^QD0;eU;`ZC~NQF0-(Z{w^lfKW=mCj`( z-%X7C%vsRFfxdBOwx-Qbp>jH&bjkrWm7e=EF1oANavxc~CsSg*@CDvGrYH{nebmsI ze@8FLR-S5^l{f9!5{iVzE$j8Z$4-sQ$gi|29Vh9PJfpy$KUO%gm|niu>+oG~`t;b* z%jWMcuz!f)0g*^l$u5Y~G%U`#TQUqyu{ zV677I@FAG$65TMt@79Q>t~L4plDGUb)>l4Eu@2^zir0%fI>3-2gw*N1iI9>io`~PW8RrX| z%v>lK#c1?x@-6zxcsH-+Sh;vs(u}R7uHCVT7pW34GJ^c?{N0?H7+ZJi8YtwE)tiq5 zQ1VbQGI6Cd0E)_>OoKd5SBmLGe0&$GcI3$=QLnPQjzJxkCx?80DJ)PtD3geGi7u%F zkT5W{PB(umMvGfLJQY18wnRO@I5n)%A@qnh63`rsp;<_WbHL|ZA!QHskSH$<&Jtrb zG+u4{S6(R$9YrO(FCxq8hU>N2rrKpwChhb$FhCab_x~Rt{jH?X{$1oi{ak@e};|fa7sRNX%7b*Py?(zVDltQ#Q8rOAK zespxK{eVhJ!*9ET8&liG8b#q6=N}IzXIm?6|9;_~)XztYfa-zSugEK;LLiHzBukAv`) zAEj6YW)*SuB~oA_$+a1+)Gc6}k=kge!jH!bySjGcZ}miYJ(VtcmR1rLvu+ZDC4E%+ zml72Cg-Bx;)~1o17Akz!{~l8hgg(;@~>r zU^g^Q#nc^Es0+x+GsH3YT`$-kjK`-DHVdvPalm6!;lYwf73zsC=wr@6o&EwZRRGHU zkd$RHlL-e5ft-wKX(c}YvJh`dWuRvwZ8M@aa+kl&wE0Roh{vQpPu%$&avZ#o9D*$+ z#|;vl0KwW19f3@OZ5`gY6mKHVVHQU8_UNLl01HU*fep6dWg?sH4Wqsx5?;jUJLR{$ zNH&;|+#1Q&fd)3M9Fz>zMOtmxLx^M|m2>`h!r!y95rIPr*aa5Z zFn-9a$989KBm*89SxL6I7-v>-Xwu83QFcELNHlLBd;}I3``WyWC8~5FI5Y}75Zv|E zIE*db?5u~KJu`!s8vmmO=w&$rnGs0Y3?hBQ$Q}Ja_W8X6s^MO2 z9*=V%fw)YJ$Ac!*lL{bYR(j2geLfnNsOCB?283%opjci{mD_g+I5sCF)EgB~na};5 z|LAkBt-fKHoBOkn86N}5%l8}sQaQyF0Rg5E7S^myF4HER6i*o}$*QR5o-3!F88Sk74PBnk&*#aJA;H5X(K4< zoT%Z28=^ZZ4fGtfpXubesyH_QC}sM`Pxj<3Z1aZ+6|1s4d||%183rA^wwi#WpyD)KRh%cWdRNhOwV-CtW9){{ReCQEC)Bo zZ?Y${?gA${>=C+Cm9RS>dth=qOx|!;)^ApSBk;BMSY-$C+Sz|dK96{wL6}V7O`)F&rkqv z1gKugXfA*otQ!t3D5fXv?HV$E>3MIOTTbJ;(UzDY#Im7bqoTN!;u_G!;`@uong;ue zU7VC*AcCUU60FWRs!Q%tBmBUJwGu)nVBoH?nL)3p_v$o^LAbi%`_4F@G$D~KPPVCy zFfj{@g4eeIs4CCcgHw4GlEeb?m#>v%5$yrZ#>U~z^SXykai@(kg$jjS3 zfS@&R&Dig6IgqFS4f)+7(S8#uxmE7kNeBhi)BL7=`mQgG{9Dl4nk0TvhL;dyV?9j! zG(e7_Au=jcgHT|{+fD>6x0~Pm#Ph7^f_7g@I=SwC>dt(NpN-;f+D7uMO~G&t{}9Kk zgSh52K+EN`wZjkn3>?&$g+`v}hrl<^q6deAyIQX>y2cKN^#4UQ1EVss)y$cnqi+8p zBNf(`mba7I_cv43cGug)EI1vPRm;ah%Lo$v@=%qpS__Ko$rA|)mXGt=>Of2?-Dt!B zu-Eh_nIOGLscl&z619^i4*#&aWdN0Gbmf_3Yue-{xF7kiGv+fdDOaezroxEa!zJBXZijOZ`$#T-c7Ne#?lR5j3 z+B>=$TV+s^DEZufuJ)m_@u;#e*@d0X>J&X3tce#>M~scaZWjj=>X)_J_q3wHLy$-- zTRnDUug3x>3W5*cg_D{#Tt;Vei1aOb2;trIA`rnCnt-+Lpy0#Y@G@f=O@>L{$rNa^ z89tiQ>1{X{IjSM(Wvarg-J;JtrDC4VLSlxJb;IyPO-&TVgTx_roXp-JE~P98R-`19 zOU{>MnGs*~qeqt2-^CeK=J$t0!{u&@Cqgu5y&7@@%iqJo#B6$8o38uVS0Ht>m?j zF*$JAvgXf`l1jpZ=0*)Azy=iK?+L$q{o5>dqIOpeQMFKs=(r5rVcRyfV zh?q}2QQMf7FBS)g-6Pg0vNBlP>NyGx>UHGMC47Wd+D;k&-tbx+ZGaMXK1{~Y7yMFI zcfL$|-fedj?at2r5Z5RTcd$$)7mjTo^C&d7-zR#WUA`N$wG-ic-!JIv^2gggPDa}} z_xCKnAjk7-F0)RayxDpoaAgJq`h1mkhw0|hi}&q^IIy2@G@$DY3w2x!Y3z`rYOLT2 zA|T`}yOxg8+O4l^U_c<~@c84s?R^&=Ir+8s^KqE}vx+!gLoBLd8=$RqBo_NVmB$0uLaoxX??)Q9a*iI_nGO0VxG-ZMup<}jifaz@^e z1ou?(B4URUiQ0S~#kQ}(-|6-Q_ZFc0%p1s@GONXp`))<{#*=g3gUpMOQK)=M8UT7E z-=72>a(i_Q96ydvuPYk&u~c<8o$_j662PY4gkC&g5jR+4vD1dH(Hvo_m z{Ug4JvZDTD&h2WT9swF$(2>~T`dIjj)9vB$`?>NOk3JH+{$HQYKc>ha&sOyw$74}e zRnmJXPg=Du@$c=Q;TlSs`MPCj=S4K}@sd+?Y+(UcZEf`oj4*S$r2=tkP`MhFlK@1f z7w;kLh9T-dfluk%=K-7h2je)5_(iMd^RcBm^WYcp3jF;gQ|_k$#zJp5!i$pSS_3C4 zMiVD#&N_YUO<&B*eOMTV+fY#hR{Du;VhHVwdm5R%k6!hG9d};L)t)BX$~SHO)8j+vUnee$55p4e*Tu-ZTI#gkuo&wD49R5vrkaKK%$jSA5kB*yi#5SXKQ*DiTb&`5E18 zXV__c*bLd;@q9_r&(w$>t&xXCtE}W_;(JE{$)`FLUX?e@>?0@GTGA|>iX%}Zo4Lm> zDSP|e!)_vf->Ru$@bG9C%pHz7jhk`3-zmwn#|2;_ABQY#3a0GM8p+_}JnbEQTS1a4 zO10OW$yrbPvLeRDBYus)V^~-8TBc(!yjUF^&4V}5x8`tYCWBUX6%XDXwGzf$#mn=& zE&uesgA}1BHR-LOgiKDx5WDdUw0!@I@dA-~L`8MJW++d#*qe0-e?OeQa^}M*U}S>R zvEs3_<|Ts0saK=-xs!%uR%CvR_`LIjX~TwH~a)&cNcYxRw`ZzE=|7;*iL8vbDf=~@ynfXK|~(gcyj8Z zPk`%hBXE!kaDCGf;k8s6la$7D`%>gCl_1co)KDYFmS$4GY|jxbv4R#~^QGYnv_~Te z88c=wE?4blwx(Y#8+*{fAuW7hz~%SEFOlh-ybNI7ZLV270>!8j>nS1hc}d9WFg+gDcl67RGKMfiX2K0?`+L-YozR({oYDCF)g zE%O<07lkh`XGIu{WUmQ()Y<)~xTCCbzWoMmZkEtvzvKPdjwFphd%rvI!~b3t74}9@ zCjsHffmjN2yaM;TqG&Sjl|>;>-zi%=*44sxcOXy)$F4ekZ!S_VC>r>iu#T6HT8L}J z$N!>fiB`88keupBqa{+oj6qJJP)nCiG(u@=_jDrrJ)SCHgekPNT)R)T2a%{0}+m#lQ+nOfdO1m`<8Ffu$x+W#$~hvt9mxK=;14S2RWXyTy|}Q0PlFGgnJR@_BN$mR(NlLyiW@?Hg@VR zh8-V+p3fiM?9Zj^sm97c2BEn=zE6j92K*DQaqdT?3N)28)z1MBhdK?agPs8+hD+$* z1Eaa>_Om~@oh_b^{)>U!3`(vJ)`mQxh#mJHNySxMW?VLhZbezU-pgA1{))3%{dUm_ z0il;Vif9<637~nMpSz#V8pg6?l4KpiX4-bMG3x@a(H|Zc=*vXNgby`7>Mw2^)XnZT zuY6(t;@>vr7mSE*?aBGI13?XqPJ4T3bc9(sHXJw|HuEnVSyiKPCDEhO4VfW?yG<_kN`wVoeQ`he8-E@Q z<<=>1s)&RFrBf2|x6B3I9E*gMskw%JtLh$@HFv{iUua61`M~gUZS0$K8q*(`W0X|t z^J)|Js}FDc^snzDJ{$FZxN-!vd^z;MrRvv6BphibL8sTFbE+@n?HstVq8b_~(>`sl zw=9hgex$$jyY71RaDEvO8L$)>6)tSgp?mf>NUt$S40ZnO70J%nR>72eoqod4A)KO+ zaAQyk14=V%Hb3Tk+lvhD;?TuZU&?b#lu;5T4a@=yPAJnCoNj8w=)gV(RQ(JV!5FJYnKK9}}4hDG+F^C8^cR71@jHe-J^!p!pG(&L#Zy!v%uULiHl}HbpTbc5 z&yIK5#r*q~kxmItR8)DL9!&HY(5XSX+nM;)u()zt7$b7_kM$!rNM2Ky;UD;_RAK0@2IKT7LFgUJ&ZzEwDvBu&;-SQl9<3N1XtnJCY+RF zoZkim@Vlex7_YDw~sMW`;@g}*8M*|9Fz@gg9n zKtZil3a_2@m@(u#y8l#f(gRM%LgMUzvRN$`!8{mvfaEVn0;C;zEsIw@l3E6}by6{b z&%tD)h9*1?kq^a58vm9(=jZ3&oA;{YG5B?X+KfV)nq%mw7gIi!%Swk4AW1{<&^9#W z4UN8$B7q+6d+gokjO~B^61mR`L!|~J9to2f$U1!H9L z%U5jcFdf~wqMf%Fghp|60TI0PE@Dx1k2Ht;_jzV}^xR2A>DzqOoJ~9A(oH7Zvwr(S zsDS+VL6Ga>U!t+8c+nz_kOe3D<4(&L>Fn&`CS%y|$>8126fVMEXe6&xtd5fyh7eWO z-adLkm*vrfp}#-MAFEOr6p;)@_9-r+G`~pFnXN+U_TUez>`6h-b+LPT?z)CaK1e@) zD;-RVh@o2}MgS)-RR{6(+@Dmruy`46uFn()U)oQ9#<#GaV+|PTs7|7!5salHBqIA zArSkv1r4TMaz zgs2%sgid5fYjs512g#KB9}+-k5wvai#)n@BRk(t_ zd9)LT33GInon^O8^qFiW#Zwv`OZkwKL-4YbcpEPF$eWk3F4vu3P1Fzm>QoBQv(KP4 z>f>f5s*f9{6Girkfy20hy14=ZzMuNZE2Z$DAw*<9%C)KN9BF72);xGmw`a?a%nrr!?MG0ABcJ5JWhYcks=k3Ejnx!ng) z`8r_^h8R)3wvzhYWmstL8$5^Lr|?abx|DmRc;b1&q)L#y?v9@uMR6Wd86e!=PiQx` zf7*?2DUidmQGwiCF%i)YDNT+qBK&Sb7hL4t++iSP{BZ|iyJpIxtB}uOyU39;VtyvT zAh#JQIU}QeonD8g@d`n`$Ido{?R7!jcr;-QI>%>`-diVOk1x-=qodSHlhfDZ;-w%c zy|(1h7t@|K8rpML3pt&(h3@fAR2i9#z<`k&Tf2iVq5;-eN+^F{FEMglTZX#LV24|^ zJAv){c}mfP%o=F|41%k2GZLWN;+yoGQkxk4NqQJy(?J#S$Cii$nmU%xtj%-#CYE$*Ef zyr0HQ#<_o1Yur0=o6?8^zbe!bKdbk9P>EO7gxXw=TFaw zDzzQ$%sY-3WsDvDK%ES$;h;7)7K6Fi@iQQDWUlPy@k8M{HUeF#y+(Wpeim;5QRA zI1T85hp_2_QUWb)Y%K?5_L8d`Eto4K`}p`(d&DmP>leFlPcDYaj~A{N?WA{=t@L&n1S2cUs7zv8nHkYfeb}%d8Kj@N&9R-AkUgW7z?J6~{EK9`%I1silZu?Iojw3Q|0bRB%pUIl4X@ z&J3&qr{b_Ok^9ex>1x^lM&NU?Vk`Bqi0?m^D=aIns^1XrIwIIS6{)TO9~N9eKNykmP`~%$mxpoWlDSu_gSauOqd)HdHG(!I(3bx$GgNVcYOTKtN@VYCo3UJ`Dh(6MFf~>h= zF+dgN24wJU|DX?ybcXF!evdw80igpbv&CuSSEW|R4TtN2FH(m zUHe^$CZ21ePcwx0aBLt1yMR-5X2p^A0UbKvt%{f|=LF%RfFT3_pBhgn`kAK6q?=+r zqtb=Ri6pUvDt3C`xC&B+S)X2|{j0Tn*gJdT^&S2vgup zeDXnS1Q{KoIKRn&AQ~xhSUw;(-PQ1G*Y#yUyDt0reN)dL{~fSuV`gflE@aLa)#}Qp zart&a10YR$*d&qi_YaMCIN#ZTL~Wr0vX;>GVYPKAl=~~E#||4)l@8{?VHnLL+RczU zEDAGB$-y zFqFC`4g>v;NN#=WB@<{)dbn)H;3Gd0zb9ciqjX_1I#!hT76W!cPfmb3q>VzO8-jQL zQuB6K2K!|V+0~*o3aE#Gk1A5(5Ul)CE!lg7d_Ai&tO^wEC4_afjPA4mzOnpK6@__U z{0wLWzpBR_^=n1SZX(t}0{y4w=4HiZTgo@bK#3@;wpXx>z_mikE9(O-`$6hFkWc@y z!UIp#>c7?2;eGW|YG9m{)CZXf7KouE+>`~FH7AV_xQ5&qFa#z4Ki4bH;?)MY>KwH4!sAG9Niql;Wl}5QfPKw1|UpD)Npx=x9~c-fLkLy)V=R zjsZ9Rf(HyZ4M3O3f)fQg9a+r?bM922r4f)>_g?2)G1EW!GJqP7GBYN5B6caB&)(tN zuYL=H21-Gak6qT`y$rw);~cdW=(caiN}0$kR;{3i?e9a)h{y$Dc!D7K191h#f71a- zBvJnpan}#N9Ar5;MZ=W^+=6O93q~cnNooiM?ZN;vOUuo}$tE0dbf5Wjj*E=!YEkUuuc5+om#Nx4iF%I`jxZ1Jf}1-Pl#7drwOlL^{2{m%nUJT9P)nfhbD^Dvd3M+ zkMAeykUk{1y%BWiMsU0H!NaT%C1>L#39S=0R+F$%36{`i}(fD&$WGCCfhI({V9(15uUJ*AB$tgZaPUf=Wf0-C)MKt=lIC0O#FrS6e^MimM69lTyD zi9B1A@Q?J<8#GKtgtthSo}4c9k>(TOq~ag0?68hwaCgADpFk^0rygK398=^r6eCihKH7WoT9GRQ zEKeq>6h~L*n`A&0a6SUBL5p@d@Pf-bTJ&69@a5PGq5z*1O9pvMQDd)mqReOC zJDywF{3&R?|FcEMPXFsWbg4p(AngyzfD(W=z8}Wvtnv6d4m?|{dwCc7EHGXB$x2j? z#Ty#z`-*`tH{V~fdLAudmj7k7-{Dpt5DQGtC14}wL^$j)5fiTuXFf`{wt&UO3C=V& zUF!zD<+mwO!W5rdT+6z`YDYK+Y0AT3LxrTdOsSd@6JH zn9k><|Iq@ZCiaLMgwHq*525mH6ivnjudX2!A!gS$2eshN-*P8sTKD_2s(j4el~cipRiy5%dl#b|Yozje#$$QTGzlt! z*VMcFJCfN!@!fFucN+WnSW}xu0~XSRVV1+^Z`{4VLzzf{_nvtRbgUvyOFBr6jHu*q zB%xz@)dFP7DqjB(+UNw{*;*RaQmRX1B`ok09}>7cdAl%XOKNlW>CrL*zRA36u)A~l z9CR>!5paBl3`G5(-o6B$>ZkkvUe~_wTe4*D%x7{Ql4LyRX-I&1adJ^PV$jX3m^5AFxkSHyIhQ zlb@n>K1tfX^Rn~WVr=y5k!{_dj)&GLbGJQ5x4zU$IJuK-p`p*8E>KOBTQOp}QP10N zJ7;?R!|i!Siu{iwhsRN}n`=BnB}yKJDqku-6lPdTC3x3rl%se$yx6Ew1>LU{oD!dICb z(^r`(JGqQ&GugyY+@8v;2Xqry%yV~PIEJ^S=j9wuUveG&wuTzpNBi}ob>DK);`DN9 zYOKdnVSp9AeXDLfT9S1S{j_Gn_^#C%{o)W_Qb!Db6oUXt0G+npfN>-i-`kTNBgN6lu6AYDC5RV>F$&9fZ zmOftWhVQAWsaEQc7IU7WVfEeUiMKpL*}dl=hXKsd$HT3%!i_I(Z^ocb`Ja)c_wvOUG2hl)dyGZ z5ql9co5=HvF{|H|j@@g(xt$RecK=yvI5)!~ zcCn|b{qi@F;FJFwc={a5e>4BnhL2{6|A~4 z+vo^9Polj9lqZbF1*vJOiVyMP`kh+pE5>t^ucgzwqoOp zttrMD^IddCMyReO<6;-(2Z~Qh6pA^DU5mbicvPe%vo9^{Ih~Voy0~Ni0WOQSSeN3k zuqs6~{ANpa{?3yFL~1@%x`#w0bhQ@WoZ5Hk>rChBvevwNQqA**7k4fvS~i|XrJ@uo z&lO_wc;Vl-fShUlH-_At8Nlz~^Uwb-tD6m{1 zN>z1j&GQJ`M6f6Is=G-1=`BsGyZKe?{WPd#dhBPWTleqR0zti}O3n`#w~UQxJHMp7 zH-x(DtYhI%lxD2*KqvOchEay==@U~&8gkynTX{APiA;C)?bS%t6E zBVoUU^HPBqg(Qy4PtI%86S3!`#T*$0dZKylC$C$llwxUkZ}l7(FEA}hIb1@cKs`{d zx@2QzT*7js+~dh6`5DoHSc9W3!7B1@lr3kQPnE9dggt1rug<^M92fJvt4>kT_N^+p zL@b*3o_%_7(c_R)B-^Q9ZV?t<>J9dmJ{Rb~(XjBg&wh6Iq0QY7x9P{9V~k2A^1tkD znWA>+8+*p+(OD^``&JwaiaxAu7?Udv`=dqqYD?z6#d*#(GB_^_X!CA)8+b0W+NWgG z&7AYgw{$!_t>#%JgXJkumbV0sYsQa9eG@L4qO>1;^1|J`nth9mP|Dti{3_iKnPQ%u zF29|u5S2t7aTZ+}iPF&2>~x(m@EWYViYc1B)0&a?eBNqo2(`9Y-=MnuUM4PljFr{! zXpx)Et6mP7rN+R<^cAP4mZ(FdBK}XmC5#X3G2nOfl#%gPU8QKvzcTS~XtF9&$@0XJ zH+8G@NApRkPhfn=^@a!dZb`A{lZv@>mb1r^JB<+saX&e#V6iy0*3?%WYAHH!F7u9A zQLR*ot^zuwJf+hga}X}i*0oEWfg@*i&fQi(*}yNpmxl^8)Q1Z44La7At~I+go^5tp zjZ*28?9cgJ8Duu?5D}=WMx-lu-SVK9fXeNh+xsLH2Z-5ID9T0BdR}z}y}uzG*Kz-d zSzGk%?QHRu4^QHNhXu73{mjI&^b5B(U^iY6*SBpvJNolD^DM{V)Yb?6`(=a#x>4E> zSocibyFo8saHIE2ZJR(>Vx*O0$oY`Eu`Ir}1PO}gL^lO*5L*&GJiSS(ls&Swsx>cp z{+{N?eVn#S9doObxZR9ri-`D# zW)FW*@3MZlXj${gxXdu%$^K0WjE}}uT&r|SoWDl7CQ5&pHkrck@9U^@th0E;z<%V~ zVa!|Sl4)^^hYd=Z(_;l}M{31IF-1$w(LRurYf8nwgT z#`KalpG2!MiTA6%1q%45GcF#Q>8!aiR6tx;jSar=x$52g;=VU)&-Bol#k4CubOLcI z;myrxyw|8fC=xxw>5q>1y zyZq?wO*Zb{t>iKVJ73uepY-E>eoONSIq|j_k=Lmt;fLCrBZSn9x5Xw;+Gdfj(0fTo=+6(d3Eu#ykK2t$D8bqT5k;1%}YFs zRZYd2g;&p_s_t#^;twES5G|SXxYesDvcGyOs)~Y64TCXxws-H@TdvcX_(P(&tdDD} zCGbeS>Pk=8=MU2YwVo9$#Pk`(QEqx~UVb@s{-xl8yv3uFwD7mlMIM`-PU6Sr`+IqF~%Ark;eAnhoS*KBhFK0(7M9}e1lpcJ3bc)09?$i8Z z4)OG_WoMeZQEG`__a@BVWjUiMF&|zmK)2j;GxXe{+2v|3?*zNB-Crh*GF|v0t^IiI z#j#BeZ&v4eE2jE>NLW38pteI-ef!I!UXq@VR$M!GOgWi%eQmq`!dBD6 zoW-i`ERmX_L(yqKifFwvk)DVB6`GYw6~8^4O%yptx>~%%`%^OAIY;&vMyqhk665qmMpv;G5+++)qy( z#>XzAXA{xjPm0p*S%f2QcVvg<`%F z4gm}D-8jk7#pfYkXIp$)3sY&5^k(@O?}gA}KJ0Qmy%K$^(^Iv3@;v}>P}~bY`jCNc zS?_`Pl5AWE$Jq)^=}-HP3Wz3fIL?Nj+PwJ?b&wMbnu?@ zRPzzGY8$Mj1&7lPndNOF71%h=;LXs#Tq*Ts?o?g7w9%2BYBDovQt%5UHjp-&867d= zs92i+rscpk<|AfG^WgKhFZ1PP1;SCcR0Hp5PVs46px-O$j3e7}{}K%v<$o;sjQ^og z2^Kaz26aPg$v0|i0>lnRD6UZ=4d0L7w4N~ws0%Z$%~0DnANCSSvAMvp*RxB6^V5+s zlVeg_s4dzmINV<>c`EAEyu981vOeU-xZ6p~_q9V~W;=@28`*ED3*Mcvt)zZA+A`}dQFy6QbPC8eF=a$Ww`X1-~5!C@g?K3lecSHs%Wsk1Elh4q1{Nzmk~Ez%R< zUSGy%<|d>qzp$E0f1BA_PW5h2m(FhE{S5cz)eHjeja?hwV`8>kT z*1^K6+lc+#R~oDE*ud~BTDP7@rpx}V(TZwI%!7n>9*}4M)aiU+)#Idrl6ZOwHvaBR zAAz=T1yu6cB3$C}7Z#5%rl@-bcIiJszhbPpRz2v!dbLeZ+q-M9tUvl;u_0psz<4LL zfWfR21?0<)yUtzEJ#oFI31`7Txr2e+=yarUt^lBtkIze8r7=4cP?sN{0>Q+9VJ6(c#x^nizU(_C$3!MaZ?rfV$4)!9iCa{iCZ>_boX%hl-Xa-Z!#OgXtAu7 zgi`n44&;y8b6&; zUMgjk@^#!p%g9XLPRKkn<6w9J4@v!;*WeD;!)4ne`dOYk+Yfg2-RoMTH-9sER(Y{W zZ*tn)R7RamwQ=sfOh9EbPt$Oc2#4_jo}iVS%_^Pfuec}e=XTgz%(Y}~UpaKxgcy@R zPFfS25PSZiAxgiAKRH6MPeJ=*TfC22yIj|`0O(JtKG4QUbeKh~&#y%8dSYRfMx3o7 z_nn;D_HV`=*FJ;Nb2mK#^*lW~xh#Ye&hMCT8{j71QNT)p`BazD(PV^S!tt89#cmE| zDx6MX5k7V2&O9ZiW3~;o?=Ub2~7)T0ToloE@%RPS2+&kLwqu0MW-`tCD^{kD7~q0*QqZ$Wx@4Y%J2J6*Ak(kT!Sv3b?+AyIFR~oa;1+1 z6+to&_~XQCR8?qn zmU`(hyXIazlO7MN(SNUg4joEFccH83nP>El`;Qwvj}W8E&kr69p@QdjS&dyuSTpJG zW|^rvXUJW6D<5b9907y!On0M9k+D%&u$|jVS(fj<@A9)5sexZXvV&I|?C@UKA)Lt9#@V-|U#~6bna3KEX0*bkBWO zwU@cktZoat1 z$8NQc`21YIJDool*H}K7UU(a-TB^YoP332@)W@d5Fv@A%w}mZJ!^L`})=*Np*dBOl zZ@2gU0C+ZG4obX`3x8VH-Fk3>^kJG6vE`9=ANXmq^A`r1S6yQo>Z`o$nm!_^aPx!2 zB4*AEt*cE_$LAG_T^Wj2`p+4d_1s!MQ`RH0wA?x2JVj5rot~J%M~zeL>(!mP=bvfK zrchkIoVQ&*BBHLTO}kwF6eoD8Aa!q$Xy15IghfSgqA(wJSCv1LzhT4+QaL76*0(AB z-TNBQD~(`*Tt!)9uWI#gC5+MusSd zlMwNJ{XEY)wp7oCZ5w&}aGWQ`R#t>EIXOEvH-qbH!DeQS*yqXggBQe0T3gxMKX**% z3Q0O%op}Pi-=st+Z2N<+cKq3={J5{D8No&7?tu`T5K63iHnc=qeTn@7BlrB}(38BL zj!F}Y_4i_Vm^F@`ficRYg9BsNT4Y-%LZes3B?`Z)cP}n*zZ9reygbA{wh){&Vb=K7 zp)Z1zI**8*Yp7%-$2U16164mAV@p|4QIUL%W%u;(z4*-4;m(qz43mfH&qSUL1L1K$ z>Y#6!R2Sar!}@ZMDNq#c;iwfNwH${B$v)ParBdqC@?YO%MGKJI72Fpf_3d~vL+no^ ze_`vpu`?clA3rX%^U3MHeHQvHZ$2t%qW9$!2RBu0+n9#uxB#cT;>j1chDI*Gl?jQE z;$`MfT6P)y093f?u$}iuT($O@4}VP7`ACXhX@!>LDmOL?GvSWvBDvcjWcToAH<%XVw(T!x880!wO((bK$ERwv>3TDd?i&jPaI*Yi@@g6|p|lKn%4 z{XS+rP@t2bMisgbyV^cr;;*K9&Qv6c>E+4WdezPr3Z7O%s7ubH`4_wX@`~XBj@2$jjF_ z&sPxF1M(rn^ppW@RG*ORQLwntgAY&q~%~v~A%JO3J02k3n%VB<1RS$Vw zRh6O#SO~})4N_Hqz_dd@tM}j&H@cxwvXQfAJPMN(jypwT{cYQ+G`3z(3ya^T%8Rxk zo;c)HBa&^MN4@V3W`QZ6e}IgO%Lp)`4B`mt(B>8o6paB`ms#g>CCQ6-!zgVc^1^t=Q4@NoHDY~} zOLvMC4p-F%o8uH2Z^xwP@I)65 zn4uUjb{-7JKcsjT^TZYv(HEd@>WxKnY*Nm!DGa`;zqbd(a5@h2n5*RA{xhGmPPei1u^3(LD=eCYpk6zs-?Y3-x{!U41 zCdU;GPWIEp$}LYv_r3SGWkvs~H2kz_e{%57 zBk6BG`Y$aVetxu3cE8=t zDU{6N%&`TvzH7Twqq@|~k1s8Itu6-^CO!;dPQ9}yMAY)7Bpqf!Laop`Z&a>V_x-C# zE5VAjU{0Z8y5t1WlYKJOzPiV2^o@-<6&`7Yz)yr}V_v@9x#hN|!HA6mF4IoCIp@w| z(VSP}i~GZ-o@ToOF0iGM?Yt0Gkceh7lRS2uOsc1@a7u#2I?OuxW?Jt(bLu;wOM8o1 zTu+2|3fIp4UIhvmo5P0(6^MF@UrTIbGbhvUz0|ou96O&_2++ZU?eXRK@SD*Wbi!R@`MsQOT zwVL&}Hju>B_1lK&q8_^T9Y>!h)@PX3vAHG?c?O;qmZb zxpU`AvL?4L`jqnS*kNivVY1_Uxyqn3@+`=t@{oL3>rz4UV)C z#U3c;-Rc`nBq9+m?+I6n#|kaik6Cd?rz8)3bBs;5wk7k0AK_YWJ>P2NpOy8|MQ_z! zkvjMcwfdO0j&q#FQA%rTV|q}KFuXtHhPO9g_N$;e@+-_5>gJg|?u8ykEd#L` zxr|RW;0ft&5^kRoFa425J8Bk>7XB!=z1_4M#Y$>T(+pP>i7(eDIish^$@XRno>r~bA3WgOTNc1` zgIfLM1^4Ynx*A#qY!MM_tLg?*F;%l;+5WB|gec0FGKNeoptkX04(A!;RFs5XpUr*C z%H8mfqJ7%ZL%W-X_2l?Yemhlea`V;dTVLLwW2OViQ5qF40q+XV9CQ+Vv)ITysLAO5 zxvxQNBFMD?Cx2^FFwMk3Hapkq?4?l7FKrDcK|r)~AQh^2(Sk zMSc=&eR6v04XNO&Q}EBRInDE$y8AVoA2NC8St3-l%3hlt&u__ts$MIgncl_Ozvr^T zkkNfhExLW?Y9?g?r*^y{$qh2siVrZO^;76fJlkucX_EA&q=^dd`aAop7Zr=kx5gBC zc+?SThe&l_ic7!pK6%y+YxE^h!^UOrmo6La3QIEWnJf9qcl=IW6E6Hw07>c)*Q=M}FgvKK8qeV#pXTGz5RtFUO&fhY1{<(uyA`D&$tNe!y&vzuzV z?G;bo|GLjPuC#A5CdZ}fIkl$0p)!%eM6vv2g#v18Tbf&1lheC?TiJNt>n8_^@|5qq zJsh-|TSdSIb=TsVUPD^%^v%7o3pTu$E6zN)JG-ENeAA;w@kEicyB(GRv!up3&T#D@OT?CsS{xTb>ZdJ$>vU3l`#L00Y`$TY0{5c4!P_r zvIrfZlD{)}{MFpB#bK`-EI0P}mpoCfknwJTeBq#;k@Kis-86eqk=SX>V|19n8;iN@q!N#% z5B4)z;d}1+eKxvdS2c4jf2Xj%sjNR^h;0qsFd__PBv#fi*w}-H zYxJGRwOFh^Cbe$Ix#`N0#mcU4-mX#>RrY>9JNWF!o-BSkQ9RI^Yh?B1CYsB^h4TcI zal`@FZNgelmwa>~>rZBzuLRt+zZsJPd2 z+f90LfRBDgkc%>&3N`YH*`n6uipaKYk)dUyv)3F(tQ7JK-rP>1OIpsT<&s(46LkSd z?p>R(_20k5zly?Lap61;8)_plmJs>mcG@7B=5+e;<=y0aDd<&E1byuB{^Rb9(OqGMlsfZFSo)HVq2JJWA)4 zRGB;3&WE^{CYD0c2h$Rr>Xp3xS#qk9)=d@WWa?YAWmy(k+ zm!4|qo+J+6TcOQ@I^SyORj{@!hvqn(tJL!+Nbwm`xkD_a{-kx8N1Ym3Zhio#U)kr42q0m8Ws1M*tscvdt^<5YV`6V z>7h;2458fPZx}vE=Q(pAE5y?}aSHRnkm1~@=)G_SCMO}dk~YfRh%MDWhKlh}=U(f2 zwd;1UXYU?n)`P2K?5N}v%K9pi_G35csX2}Pb*wqMQspPHmST-#x}}4@X!iXTmBd~P z-X)}l@;VV{_Ina(G=BB%v1fag9_6pK=ewn)NIXtpVJ9b+l9u+vU6kZ!klP9)l-&mu zqVJqjE!=#(zKb}(I=Am~t@uc%xVYuH9ql(|Ivk5-vbkpV}5$!`=F7w*q z0r$C^$s>2re-U&o@aaia<$7@TVuNfhf2f+iNq;2YLyEg0kGsYzzue%7i}MJiz8P!V z{uK4RCvA`0RK&{{7d~sAZ#Sj8X*tH)d7DBNx8pK(*Fyg4m^b>`os;IL_D_zRF_v;@$ zDka=+Y+$rEj)8oS6+EYV4nzoO#M*M&M0nSo-tAz3-p{2WB2g24F1OIMcGU;fuG$97+fvWlD^A}FKXX&WUnay)LxbIU#-N;q$c9r&enjKQ z5!Hx@h{;M}+PMCv_Z;q|#Hc&57`yiJEy0(*RvVo+rce|08arQg=@IJgX5Olnw?tZ5 z(JVn`S-Y4`iq)HM%(fk+s&BLpJ9anxjJL>?z2Zafo#T-!oa!<$kDhTQi`A0*@;{td zl9HA6%NRqyafl%i4swYRyIZHgh{76Wzva(X@L%yhv{k?1BWlK*+)>lGch}JuNPD)a z&5)&4yE7gj+tXsoc~8{tqimu;DxF-lbPNO9%V(rtX}(W>a&eXUe#kJdWq!fh9%;@`&SCWqJ%N<>E z3!QGQn19eW`gqKZ4<)=i%%x0pb@j|i&dc{7kDGq?YrTjVI-`Z!31J;}Jq6q^$d|jc4NU6OqZiQA;tJ|s z&SgH&CH62jy(N-&;2q*(Tx?uEoL-ii0#^gZkHy|$4gnJ%YG1PvC8NDJd5Co_%@lIE zCaRJs4q)ux_uHPICV4C{T_>;NmEerw^eTctcB4ksY$|k4ZIX^}6)!M1y3u~!8!M== zfB)KHlr?VIc1)>Or|1+DoyrI4&CmALXzZ@JrXrf2c7{l8#9NKjJ`oxiZ1KnRqnvd< z_tm~qnbS8~!s0Bxq#b8zzJ%LfTrA6?WXqzbB4%%QC0=A^n1myjVSASu6UvZ+7>&}p zd~8xkAXc@+(eqo+>o`>^&5Sp^T8{+tgHbzi_lXwE z=)IVvp3meCqs3J1)JU)@7a|PA8KX|iGSt1?wV0hI`-Yp`{mZzO+<4!ndrsh^B-m!L`Fm9!GvH9LW&hH#&IG_RgT zJhxpeUu=*Mz|K9d;!%9^G?)vkw-U3+8iBGP=6y(Pp9iI7N=9`2X|&)3*=ORl2|5g% zk2vq8T>L2e&els%h&k?%{yX9it9ggrCguG7n+&nl3RV>{|!2^ z=92p>fPrDA@3==f z|JQT-8JODQ3YJ3$K3n;rUURX+34sJHu(R&gH%`{Y#?0hniw{%UKcT}O-lpf}>RfuU zxCcd3K4~Idt26d0;HF2t)aGZrT~!aajcy${Zb?*fiI|8(ZJNxc zf}&!Ex^uMt)#_MJ^5xPZi!WcHmS)M#nZWN_q9SEkcI_T2uyab_xAS_IWme^OKnHb{ zLXDo-KD*|{+gQx*GNxP3WBYjO3#X?ozW870vH2z*@h*M8d8A~4M#lInsHm^df-K%^ zH@F9bBkX)1VUFHj^o}u;59EE8Ye~cPc^B{0w`HRo{upmj#zjlJcnLE5v71V#d+Qf- zRh%X}CdZfs7WsLt3+LZwnO(gjZRfpR=ZL5oSq!bVq4(kRyGdK^YHCiW7>i+>j&3WX zWKmP7dQS5ajzlk8N7U{pZq_h~mkD=<#)|6QYJ^Y^a~0{shSeF`EDI^ zc(GfuA+>VRa-dNfKAiDFk;E`sd3aawhO?lt)G>NzR3c786t<*9tR=@*^>P=uUSyf2 z);8MIT!bNmW2{~!DXth64v(m}a7tE)_Mt!}TJw#5nNxZ=oPPzDuVTLu>>0CM7G`r&!d4_q~czf`6V7)%bvq zo}5>^EP_rM@O5_5J#?x@9;(ta51sUmv0FJgosp)z3}ywC0&iPgRz|^}w#LD|8G9^X ztN{KmEJzlRkpFk}fBCaw-h_s<8In3AVMv(&OaA{qydYLaNGgzYH_%>qz3Km_-v4%4 zh>rr2%m&OG@e{6h!uRz5Z7lyz{SXfZ5~3sfA?ZfbG26YSqI-;76A0c%#LzL@|G3wI zsU#$_e}~V1BQM0j1xW*v?rjFP6K^SKUSmngSKpCSmm|*zR6$N%hCF{uL7nfGk{$ddt*G9=wgOq_-VRCLkxq~x;@BS7d^{O`!A-V)v+`QA{{#W=!p zNO?$mAhG|6-+$^IAx|9{#UL#2 zOQ;K`ijZjjQ&>0F1M5X}TnG|g$Dh!#oUbOQ!V<6`=|>tm(7#<849UrX9)10ag3L_a z>f#dJ#@brlW^L{Ajd?d-!+IKEeHUQeNPCg7AqI(LBme)OYgpGNNXY!B>&M7`yo`b- z7xG`-h~e{=EnsT*ZqT}!`-lEeRUr8ha@?z_J7{1~j=XQ@SoX&?92+#RZZfc& z{wSvfQ(j2u|1EY{mL3u^-|5;haT?@P(M5hBC7=0~cOyLmSlPcH^oWVCW2+>mdWV!F z5HcQGHgSPTRaG#qq5_)P*w^!JtPhTj8OY~}J>>VJtQt(2|J^pgGNO=>zSK>pVf2PN z{$(Sdjn|C~j9}%!0WhPk4jP%5@wg!VN~A1-p#E17%HV`Wz}#L9FeEPzTDf^ZzqB-H zprrb#JqSO@*N0FZrqYo9abLi^q=nRsMo>5F2z>vPe&*i-7WeG~%i7wYS6l*Al2iXJ zex#m{v~*xmOACx?Xo6-|wx6(X||CS%2EiGJ|!I-UW)#~c1Zhd8?u8W?5 zE}~DLI5_ch6d@m0S_WWqUIFZ-%RklE4Ec-`Vb*zX!0`=UU;I-WHst-6@@pO*VB|#> z_;}>#PyE*LK)DjGA>OLkJ3+eNMn-fO=jV05Sy@#M%E|(yj|h3N*IWTMFCSoU-Nrxr z2+I#)h{5Uxx&02$zm4C>2!NUz0M^z3@b?GHP^Wr{N&dpI0XG2~#9sq-RyQv-RrgbU zz3zKynM%UD^)x;aU=x!8*3%30kdlEVST7zgDJcN?`Trt6LRbA@SEU*e46b7%)sl37hfvzeZ9r{JMn5cU>Mxe+mnK$M5C!y-ouI03JRB;M6I+ zt|B_S5g!3R(gz6riof~(128r)h%XP|oCT7T|H4{X3Bd9)009B`XUlNxjZjho933s_ zrKR~t_z^6KK8_Idk%s2G{@l3(Kz23&SS$c@a{$cD0Kmh8*I7h&kupeGIPcXGu>Zhc zjXZCFGziD>>f|H<0|S3y&dvRP4cBonI}5%z zKu8Gw)y(zlpf}{+I_`gtpM3dO{Dk|Cn)hJt^5wsHK6n7Y;vxWie1ARrfoF;cQv&6# z`lAn2;e8<DRF zHIn{4er#?Yz@9JzeQ<0ba}ap*27v17zc3JF`8|CFu_JqU_zz(=p&`!fb*$dr0QB_% z;O@R&cIDtfFbdm-D|`cR;o;vgo1Fl-t5^Ol{7`=v3G)7z6v1zP60hHlaGf2geUD#j z*Kz%Vf1{LOo}8cZv9JID*ON7Pa%X~!40O>#{m#q)xY81Uv$6S(c{3Nlg@yj-@k1LQ z3+E54jxK&pM%Lz^uzhbw-XHP9JToLD`1u5{+dkd^mzx7{uU`Wk7sO2%vyUGAbq$|& z)6y(&toPUJ-^qVeQ3)V60ru5vfDH-;ST7%d6_@;JzC>&!#8&#zjun`CY^)pJyFo&p zgGCGm3{X@3gbN4t2Nx3qaH%N($3XwryE}mZr?0nu|3Be}^V|HddV|=CGmj#`Xnp}` z(l_`C_r|=)+}J}x)-a7BRzR>rtQbg!kZ6(n85(N&Av#*@x@-wD-k6@Y23^;EK=0knIw>6};SjpBd=~k#=;$aWE_{1}5P=v#@tBScUr_ zpsNe!_v`_4a6f^!SK8X}?ZM}#rCIzt?8tM7e~y6Z*K|%p19XduuH$cFW&v=&H1~#* zHWvO}IJ__6K0WJcxYkx8`t$=kK1KAUor&>tp#c9?qz!q#Hw?#b-HKT|bZ8F2JhN*T z7~L)fCX|%G(6(*g<;}*TblDgGJMpFiS%quzq=b?t9kyo)d5`-I{vUd?Hgf1t$x3VMNgNidTY1gJteKOe0KQur z5)%c(Vq)vM@*_W(zj_rc6&2y1chS-;{7L?Q!rwqmgWq3$JQ{DNxI;$@`mCL_DI|xfg@e^)B*}ucT5f|aQhl2ww+uAnei*2(*`XW+N>=5jm z_)dDdc_a@qCZ?g!0=b6rpZ$~kf5E?2K|x&{#K2~O$lH~X!?>7=E@e(jYZ38-{1&?! z93Q?n0S@|sHjZC{{0W#hreC4|VGhnW@Y!k;JL~IY(XFOPJJPm^STwV-6wU44y*32r zjem%L8j)cQ8D(o6E%Rjrw+-{AgE`dn!SytB-^NwoJOSk~5BrlKYkUg#rQ88I<~PexBL_Q(C^ZnO-+C2 z48)9JPoQPG+A1X6-ptN{_wV$ zY^R{lyAkt$Kvk)&{XCQV2bDyLnm_l&>xc@0VYz%Pu&^AT(P=$p6!2bFz{-`Ga zci}uh@FQy%0XHG-<>m(C3JRcwg}E+USkU&z*wFhEekk(;$QoKqNt*&O{k4~Y;}pT% z2KQPBR%FgWe1-&n=TG?I`z~?{0HEy!#>WAengWAxFNkAi`WfThVA#&rV9MDUzvgb7 zoBDWpz!>z;{ji1B;JC;OmlD^9ZP5N7@FTuoyx%Z_j^!-eNB!3S)*&c_?~iYA-TxIk zau59g-^Z_%6acSYfx)`>0GE~uaAsxzr=|*Up&vq9R8v;*-6!x&2xoL_&kFOab@2G;?CUJ=^Z1%1-%^Cv4S7<6_0z8BFs@Dpx= zt`kyZ&PV2cxGo?1fm;oxEdLz!&p9D>B1rs@_95-~9^<0M$G8Ys8^|dE;u|O2BWV|+ z)6ixC?d<@Jj)K9Pa7}=7;~!`Z&h^E}oc{y&KA7@B`o})!pOOE32eFev5{HBz8!*Ob zUrkQgv=Q^h>vjEswhM4^0fW%*^mo|Xm>F9O1obp^ks8;@NyB>@OWxgt-4J@vmQ75Am}@LgI$H&@M76 zg7y&{8w-SXtjqs5_@Rz3U^zLGq9jBQ|B(4^n6mxK zA-<~h@eA89^j-dI&8#eC8C!)<{lJarI6tKS^Z4&Z*+A@MkdSyferzB%M<)r{=Z*OL z>1f*tdoPF=(Q$D|{}mnIi0$9GhWP0q?SO>D`xGGlQ;_N*S-`bZ3F1Z8ASA`_=l`9$ z|1a}G{2Y)(H}Zs-kvZkR5@QEoLG`<`PVjtBOUQmG?{|mJ8Vco!CDO3Pp#c zUf&%g@DkoY=MIv3qEPq^D$kEp6@{8Wp2PcYB&GXLq!_R7_57L=tNmx{|1(ZPdkF1? z;=#9nT^`*(cu#5#&1^jmQ}}r^O3N4bp%5oEFq0#D~ib37KpEPtTe_ ze#kkhU6Am0+>aE&@n4;*Vg1M%5$TIeocb^p{}_HY?1b<}<~8ID0CE-p-Xr$qzh%$C z?)l>n)`zSIf{^y7(lC0wC!_2|)-xo251;9#(J*=;_waciy!M384nW!liTIBd|AUvX z4rI zbtQM`8z`ZmNrP)R-v8B#_&;I16|vJ1``yjRShvOHn)iSVjKM;GECB<|zYNQzBjsT| z$eBBae_`^Q2QVKAByqU6*G2aBAIK=i2z4SU;%jVy7?A4>8pi7|Fa8|GC(cdy{eO@6 z_p=^|?TX|<%ENl@BEABcR|?V}&z8aWj4x;y&p|&!+eW^G>pn>-u%M|4I)#Kc^7kRU zN6wl|!7~`^dw7Tec?auj&!l0z0PFu-n;lLW9FSt*ytDQd`qGbjvKQZmi=%ux7ph9nLObJ>LD|1pqKkyWTD$B<%IC zza|p0wV%!jq@)0lmIeS4Q-c2f3FxCoVx9zE2!Gh0x|!6B>-?L;?t^ip%-y>Hz&HUu zhB!S9fTJUfNulv^*T0Lk!WhjOQa3)Xik!1ZO8Oqhi;Dx`^Jf5H3=uiQK!^v!xPaex z{tUiIjAMwN9;_mMiCeb-(ANjx#*Obd;9hMeICwp#1byYdZ9nAymtO?d*KsEZ%s+*^ zk-ocsA0Im=$PkIw)=<*ABK)f@CAu$B5`22S0?cPksgBlk%I#U_E`ie4~Ld##E3G zaLO>&>U0(0e)x$0jz5&)&oN?zzq==XEH%1ZBaESq7>tlMK;B3!3I7~63{1kfW4EFL zz#%cZXUX69mxcxaXKjVQhWvjU>)ps7C$bgBiTwaJBn)7Wn5^quE7ZT~?{UQ%$aBjN z{`~N|dX9t`^wCg%=LdZ>I0t)xyB~)4<=~hYzx#C%UokB$-o*J;{*XU@j>qe_`d%;w zb$AHI2nqU*q{w`lOGSSVuCP0(w`qZd#PNxQ=+0{H&3ED6a}4oq4L~0z;^&&y z(gM>k?lfm;2xej5bi?>J^i}^hRtf9>DMs85gv*wJ9!=?PZo=`S@$aBQkKCxp5!vD9iG6H|Zmqj@1n8`2Tyh`+p!Yg6P`_^;*%x8Y-W_^rgR`Um;WA?K(O zU(`c-R+}0Irdp)`zrk~K?fgH^mztRa?2~AKy%!25g+=gV4(WdaUqU*orUv?;{vh|z zSJ{*&Byh3gS+Z#p2it4-Z0=Xy$bA$%yNl>oDFsc&X90m_9Kb*@B zB+)XtApMTWx(S~7Y~$g@%Y6d+@qay=I*H8jP^V`a8v*W^$#-7xOcyThDVT)u>KUlJ z-K;DyUM+$jj~$Hk!)5%uUU0wpTVFHekJx;Q4v0^a5`S(SAM-_UAZKHdGmz^#0P(H& z|LN1;*?n$0_zwi-8}$+=XPe0vmD6$&cnSfZ-O2`zf5WRHsOXAlSkUW)=dKcuM-jG z&;l9h@j(Xq;w}dIwSIWEYuMx{7;$$4UG#M8_Abni-(&Q^z2ygH)|L-v&%%GcMpp>s zvNi?V*`=UR-eYecIH;u5(hJYK4a0cTpsw!5^2;9^z%=Z4 z{5%Tx5s2-I%%$yz4?q6E#Ti9tzb_-Z8nh2G8yT6Gk+rA`+B1kAjls2e8aXHFcnKf7 zM%GJc11~r8aA!Re71>QFkEBqaSR(0IjzT}pJ3@SI?Bq!>4fks}c-9HQ(89`G1?>bA zIH&yf8xvRu-v5_E!{|^;M%jVr6{07|x&v*#ORyX_B=knUzq^L@5T9q}6zL}+cN}42 oaD@JJWIp?8%n-`0s6wAF9Ni`Gtrx8MpAeF_8?HbLJSf!v1BZ>mbpQYW literal 0 HcmV?d00001 diff --git a/graphics/pwtech_icon_colored.ico b/graphics/pwtech_icon_colored.ico new file mode 100644 index 0000000000000000000000000000000000000000..2479247cd0742e10e0915373f914136cec95e094 GIT binary patch literal 43294 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 literal 0 HcmV?d00001 diff --git a/graphics/pwtech_icon_orange.ico b/graphics/pwtech_icon_orange.ico new file mode 100644 index 0000000000000000000000000000000000000000..4106de328e5eda430717c6d212ad1b0668bd67e2 GIT binary patch literal 39581 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 literal 0 HcmV?d00001 diff --git a/graphics/pwtech_icon_red.ico b/graphics/pwtech_icon_red.ico new file mode 100644 index 0000000000000000000000000000000000000000..38605d3cf52d9e7eda43f229050c76d1018df727 GIT binary patch literal 41128 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 DH?CGN literal 0 HcmV?d00001 diff --git a/languages/English.pot b/languages/English.pot index dad0a5e..994a3b8 100644 --- a/languages/English.pot +++ b/languages/English.pot @@ -15,10 +15,9 @@ # for floating point numbers, "%s" for strings, etc.), and the original strings # are still provided in the old format to avoid merge conflicts when updating # existing translations. - msgid "" msgstr "" -"Project-Id-Version: Password Tech 3.5.4\n" +"Project-Id-Version: Password Tech 3.5.5\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: \n" @@ -1016,6 +1015,10 @@ msgstr "" msgid "User interface style:" msgstr "" +#. Configuration window, General +msgid "Application icon:" +msgstr "" + #. Configuration window, General msgid "Change font for the GUI controls:" msgstr "" @@ -1192,6 +1195,52 @@ msgstr "" msgid "Select language:" msgstr "" +#. Configuration window, Language +msgid "Install..." +msgstr "" + +#. Configuration window, Language, Install +msgid "Language already installed" +msgstr "" + +#. Configuration window, Language, Install +msgid "" +"Language file already exists:\n" +"\"%1\"" +msgstr "" + +#. Configuration window, Language, Install +msgid "Language \"%1\" installed successfully." +msgstr "" + +#. Configuration window, Language, Install +msgid "" +"Could not copy file \"%1\" to\n" +"\"%2\"" +msgstr "" + +#. Configuration window, Language, Install +msgid "" +"Could not install language:\n" +"%1." +msgstr "" + +#. Configuration window, Language, Remove +msgid "" +"Are you sure you want to remove\n" +"\"%1\"?" +msgstr "" + +#. Configuration window, Language, Remove +msgid "Language \"%1\" successfully removed." +msgstr "" + +#. Configuration window, Language, Remove +msgid "" +"Could not delete file\n" +"\"%1\"." +msgstr "" + #. Configuration window, Database msgid "Clear clipboard when closing/locking database" msgstr "" @@ -1413,6 +1462,10 @@ msgstr "" msgid "Exclude repeating consecutive characters (e.g. aa, 11)" msgstr "" +#. Advanced Password Options window, list of boolean options (checkboxes) +msgid "Remove leading and trailing whitespace characters" +msgstr "" + #. Advanced Password Options window, list of boolean options (checkboxes) msgid "Exclude duplicate entries in password lists" msgstr "" diff --git a/languages/German.po b/languages/German.po index 5404f29..ac8ca02 100644 --- a/languages/German.po +++ b/languages/German.po @@ -1,4 +1,4 @@ -# German translation of Password Tech 3.5.3 +# German translation of Password Tech 3.5.5 # Released under the GNU General Public License # # !!! NOTE ON FORMAT STRINGS !!! @@ -20,7 +20,7 @@ #. Add header entry "X-PasswordTech-Manual: ..." to provide language-specific manual msgid "" msgstr "" -"Project-Id-Version: Password Tech 3.5.4\n" +"Project-Id-Version: Password Tech 3.5.5\n" "Last-Translator: Christian Thöing\n" "Language: de\n" @@ -1136,6 +1136,10 @@ msgstr "Datenbank" msgid "User interface style:" msgstr "Stil der Benutzeroberfläche:" +#. Configuration window, General +msgid "Application icon:" +msgstr "Programm-Symbol:" + #. Configuration window, General msgid "Change font for the GUI controls:" msgstr "Schriftart für GUI-Steuerelemente ändern:" @@ -1312,6 +1316,42 @@ msgstr "Zeichensequenz für Zeilenumbruch (\"newline\")" msgid "Select language:" msgstr "Sprache auswählen:" +#. Configuration window, Language +msgid "Install..." +msgstr "Installieren..." + +#. Configuration window, Language, Install +msgid "Language already installed" +msgstr "Sprache bereits installiert" + +#. Configuration window, Language, Install +msgid "Language file already exists:\n\"%1\"" +msgstr "Sprachdatei existiert bereits:\n"%1\"" + +#. Configuration window, Language, Install +msgid "Language \"%1\" installed successfully." +msgstr "Sprache \"%1\" erfolgreich installiert." + +#. Configuration window, Language, Install +msgid "Could not copy file \"%1\" to\n\"%2\"" +msgstr "Konnte Datei \"%1\" nicht kopieren nach\n\"%2\"" + +#. Configuration window, Language, Install +msgid "Could not install language:\n%1." +msgstr "Konnte Sprache nicht installieren:\n%1." + +#. Configuration window, Language, Remove +msgid "Are you sure you want to remove\n\"%1\"?" +msgstr "Sind Sie sicher, dass Sie\n\"%1\" entfernen möchten?" + +#. Configuration window, Language, Remove +msgid "Language \"%1\" successfully removed." +msgstr "Sprache \"%1\" erfolgreich entfernt." + +#. Configuration window, Language, Remove +msgid "Could not delete file\n\"%1\"." +msgstr "Konnte Datei nicht löschen:\n\"%1\"." + #. Configuration window, Database msgid "Clear clipboard when closing/locking database" msgstr "Zwischenablage löschen, wenn Datenbank geschlossen/gesperrt wird" @@ -1538,6 +1578,10 @@ msgstr "Nur Zeichen aus benutzerdefiniertem Zeichensatz verwenden" msgid "Exclude repeating consecutive characters (e.g. aa, 11)" msgstr "Folge desselben Zeichens ausschließen (z.B. aa, 11)" +#. Advanced Password Options window, list of boolean options (checkboxes) +msgid "Remove leading and trailing whitespace characters" +msgstr "Leerraum- (whitespace) Zeichen am Anfang und Ende entfernen" + #. Advanced Password Options window, list of boolean options (checkboxes) msgid "Exclude duplicate entries in password lists" msgstr "Doppelte Einträge in Passwort-Listen ausschließen" diff --git a/manual/manual.odt b/manual/manual.odt index ff63a793ba2bf12787076cf947955b29a1dc6324..55ad0148ff23f7e7f9c34e4dda63875a6216f15c 100644 GIT binary patch delta 114766 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%0DO(SWEE0Aj{_&foyLKy^uo9lrltQfsE18K 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⁡D%yXG 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

vvdRt$+esys*ED!-znV^DH48*nvX(28tv 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≥3#+{%8M!&-3ebIDj8^`G?(> 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 b>_#F00QbLi003>sh*T#4(!$@tKAHbNT7j6d delta 114571 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ஙLIk| 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

>WU)kbW0u4(cz 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 X02zcr!*)R buf(lBufSize), workBuf(LZO1X_1_MEM_COMPRESS); @@ -129,20 +130,25 @@ int EncryptText(const SecureWString* psText, // get a new initialization vector (IV) randGen.GetData(buf, 16); - word8* pCryptBuf = &buf[16]; + //word8* pCryptBuf = &buf[16]; + word32 lBufPos = 16; // create header and copy it to the buffer CryptTextHeader header; memcpy(header.Magic, CRYPTTEXT_MAGIC, sizeof(CRYPTTEXT_MAGIC)); header.Version = static_cast(CRYPTTEXT_VERSION); header.TextBytes = lTextLen; - memcpy(pCryptBuf, &header, HEADER_SIZE); + //memcpy(pCryptBuf, &header, HEADER_SIZE); + buf.Copy(lBufPos, reinterpret_cast(&header), HEADER_SIZE); + lBufPos += HEADER_SIZE; // compress the text lzo_uint comprLen; - lzo1x_1_compress(asTextUtf8.Bytes(), lTextLen, pCryptBuf + HEADER_SIZE, + lzo1x_1_compress(asTextUtf8.Bytes(), lTextLen, &buf[lBufPos], &comprLen, workBuf); + lBufPos += comprLen; + // destroy the text buffer and the work memory asTextUtf8.Clear(); workBuf.Clear(); @@ -170,16 +176,17 @@ int EncryptText(const SecureWString* psText, // compute the HMAC of the compressed message word8 hmac[32]; - sha256_hmac_update(hashCtx, pCryptBuf, HEADER_SIZE + comprLen); + sha256_hmac_update(hashCtx, &buf[16], HEADER_SIZE + comprLen); sha256_hmac_finish(hashCtx, hmac); hashCtx.Clear(); // copy the HMAC to the buffer - memcpy(pCryptBuf + HEADER_SIZE + comprLen, hmac, HMAC_LENGTH); + //memcpy(pCryptBuf + HEADER_SIZE + comprLen, hmac, HMAC_LENGTH); + buf.Copy(lBufPos, hmac, HMAC_LENGTH); // now encrypt the buffer (*with* HMAC) - aes_crypt_cbc(cryptCtx, AES_ENCRYPT, lCryptLen, iv, pCryptBuf, pCryptBuf); + aes_crypt_cbc(cryptCtx, AES_ENCRYPT, lCryptLen, iv, &buf[16], &buf[16]); cryptCtx.Clear(); @@ -190,10 +197,10 @@ int EncryptText(const SecureWString* psText, base64_encode(nullptr, &outBufSize, nullptr, lConvertLen, BASE64_LINE_LENGTH); // create a new buffer for base64 - SecureMem outBuf(outBufSize + 1); + SecureMem outBuf(outBufSize); base64_encode(outBuf, &outBufSize, buf, lConvertLen, BASE64_LINE_LENGTH); - outBuf.back() = '\0'; + //outBuf.back() = '\0'; // copy the output buffer to the clipboard SetClipboardTextBufAnsi(reinterpret_cast(outBuf.c_str())); @@ -230,8 +237,8 @@ int DecryptText(const SecureWString* psText, if (psText->IsStrEmpty()) return CRYPTTEXT_ERROR_NOTEXT; lTextLen = psText->StrLen(); - asText.New(lTextLen + 1); - for (word32 i = 0; i <= lTextLen; i++) // also copy terminating zero + asText.NewStr(lTextLen); + for (word32 i = 0; i < lTextLen; i++) asText[i] = (*psText)[i]; } else { @@ -249,7 +256,7 @@ int DecryptText(const SecureWString* psText, return CRYPTTEXT_ERROR_TEXTCORRUPTED; SecureMem buf(bufSize); - base64_decode(buf, &bufSize, reinterpret_cast(asText.Data()), lTextLen); + base64_decode(buf, &bufSize, asText.Bytes(), lTextLen); asText.Clear(); @@ -257,7 +264,7 @@ int DecryptText(const SecureWString* psText, if ((bufSize & 0x0F) != 0) return CRYPTTEXT_ERROR_TEXTCORRUPTED; - word8* pCryptBuf = &buf[16]; + //word8* pCryptBuf = &buf[16]; word32 lHmacLen = (nVersion == 0) ? 16 : HMAC_LENGTH; word32 lCryptLen = bufSize - 16; @@ -292,20 +299,20 @@ int DecryptText(const SecureWString* psText, hashCtx.Clear(); // verify the HMAC - if (memcmp(pCryptBuf + lCryptLen, hmac, lHmacLen) != 0) + if (memcmp(&buf[16 + lCryptLen], hmac, lHmacLen) != 0) return CRYPTTEXT_ERROR_BADKEY; // decrypt the buffer - aes_crypt_cbc(cryptCtx, AES_DECRYPT, lCryptLen, iv, pCryptBuf, pCryptBuf); + aes_crypt_cbc(cryptCtx, AES_DECRYPT, lCryptLen, iv, &buf[16], &buf[16]); // get the text length - memcpy(&header.TextBytes, pCryptBuf, lHeaderSize); + memcpy(&header.TextBytes, &buf[16], lHeaderSize); } else { // decrypt the first block and check the magic string - aes_crypt_cbc(cryptCtx, AES_DECRYPT, 16, iv, pCryptBuf, pCryptBuf); + aes_crypt_cbc(cryptCtx, AES_DECRYPT, 16, iv, &buf[16], &buf[16]); - memcpy(&header, pCryptBuf, HEADER_SIZE); + memcpy(&header, &buf[16], HEADER_SIZE); if (memcmp(header.Magic, CRYPTTEXT_MAGIC, sizeof(CRYPTTEXT_MAGIC)) != 0) return CRYPTTEXT_ERROR_BADKEY; @@ -320,21 +327,21 @@ int DecryptText(const SecureWString* psText, // now decrypt the rest if (lCryptLen > 16) aes_crypt_cbc(cryptCtx, AES_DECRYPT, lCryptLen - 16, iv, - pCryptBuf + 16, pCryptBuf + 16); + &buf[32], &buf[32]); if (encHmac) lCryptLen -= 16 - bLastBlock; // compute the HMAC of the plaintext - sha256_hmac_update(hashCtx, pCryptBuf, (encHmac) ? + sha256_hmac_update(hashCtx, &buf[16], encHmac ? lCryptLen - lHmacLen : lCryptLen); sha256_hmac_finish(hashCtx, hmac); hashCtx.Clear(); // verify the HMAC - if (memcmp((encHmac) ? pCryptBuf + lCryptLen - lHmacLen : - pCryptBuf + lCryptLen, hmac, lHmacLen) != 0) + if (memcmp(encHmac ? &buf[16 + lCryptLen - lHmacLen] : + &buf[16 + lCryptLen], hmac, lHmacLen) != 0) return CRYPTTEXT_ERROR_BADKEY; } @@ -354,7 +361,7 @@ int DecryptText(const SecureWString* psText, // decompress this buffer lzo_uint decomprLen = header.TextBytes; - if (lzo1x_decompress_safe(pCryptBuf + lHeaderSize, lToDecompr, + if (lzo1x_decompress_safe(&buf[16 + lHeaderSize], lToDecompr, reinterpret_cast(asOutBuf.Data()), &decomprLen, nullptr) != LZO_E_OK) return CRYPTTEXT_ERROR_DECOMPRFAILED; diff --git a/src/crypto/chacha.c b/src/crypto/chacha.c index 67b036c..fb88089 100644 --- a/src/crypto/chacha.c +++ b/src/crypto/chacha.c @@ -31,9 +31,12 @@ Modified for Password Tech by C.T. c = PLUS(c,d); b = ROTATE(XOR(b,c),12); \ a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \ c = PLUS(c,d); b = ROTATE(XOR(b,c), 7); + #define DEFAULT_NROUNDS 20 + static const char sigma[16] = "expand 32-byte k"; static const char tau[16] = "expand 16-byte k"; + void chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits) { const char *constants; @@ -205,9 +208,113 @@ void chacha_decrypt_bytes(chacha_ctx *x,const u8 *c,u8 *m,u32 bytes) } void chacha_keystream_bytes(chacha_ctx *x,u8 *stream,u32 bytes) { + /* alternative: memset(stream, 0, bytes); chacha_encrypt_bytes(x,stream,stream,bytes); + */ + u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; + u32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15; + u8 *c = stream; + u8 *ctarget; + u8 tmp[64]; + int i; + if (!bytes) return; + j0 = x->input[0]; + j1 = x->input[1]; + j2 = x->input[2]; + j3 = x->input[3]; + j4 = x->input[4]; + j5 = x->input[5]; + j6 = x->input[6]; + j7 = x->input[7]; + j8 = x->input[8]; + j9 = x->input[9]; + j10 = x->input[10]; + j11 = x->input[11]; + j12 = x->input[12]; + j13 = x->input[13]; + j14 = x->input[14]; + j15 = x->input[15]; + for (;;) { + if (bytes < 64) { + ctarget = c; + c = tmp; + } + x0 = j0; + x1 = j1; + x2 = j2; + x3 = j3; + x4 = j4; + x5 = j5; + x6 = j6; + x7 = j7; + x8 = j8; + x9 = j9; + x10 = j10; + x11 = j11; + x12 = j12; + x13 = j13; + x14 = j14; + x15 = j15; + for (i = x->nrounds;i > 0;i -= 2) { + QUARTERROUND( x0, x4, x8,x12) + QUARTERROUND( x1, x5, x9,x13) + QUARTERROUND( x2, x6,x10,x14) + QUARTERROUND( x3, x7,x11,x15) + QUARTERROUND( x0, x5,x10,x15) + QUARTERROUND( x1, x6,x11,x12) + QUARTERROUND( x2, x7, x8,x13) + QUARTERROUND( x3, x4, x9,x14) + } + x0 = PLUS(x0,j0); + x1 = PLUS(x1,j1); + x2 = PLUS(x2,j2); + x3 = PLUS(x3,j3); + x4 = PLUS(x4,j4); + x5 = PLUS(x5,j5); + x6 = PLUS(x6,j6); + x7 = PLUS(x7,j7); + x8 = PLUS(x8,j8); + x9 = PLUS(x9,j9); + x10 = PLUS(x10,j10); + x11 = PLUS(x11,j11); + x12 = PLUS(x12,j12); + x13 = PLUS(x13,j13); + x14 = PLUS(x14,j14); + x15 = PLUS(x15,j15); + j12 = PLUSONE(j12); + if (!j12) { + j13 = PLUSONE(j13); + } + U32TO8_LITTLE(c + 0,x0); + U32TO8_LITTLE(c + 4,x1); + U32TO8_LITTLE(c + 8,x2); + U32TO8_LITTLE(c + 12,x3); + U32TO8_LITTLE(c + 16,x4); + U32TO8_LITTLE(c + 20,x5); + U32TO8_LITTLE(c + 24,x6); + U32TO8_LITTLE(c + 28,x7); + U32TO8_LITTLE(c + 32,x8); + U32TO8_LITTLE(c + 36,x9); + U32TO8_LITTLE(c + 40,x10); + U32TO8_LITTLE(c + 44,x11); + U32TO8_LITTLE(c + 48,x12); + U32TO8_LITTLE(c + 52,x13); + U32TO8_LITTLE(c + 56,x14); + U32TO8_LITTLE(c + 60,x15); + if (bytes <= 64) { + if (bytes < 64) { + for (i = 0;i < bytes;++i) ctarget[i] = c[i]; + } + x->input[12] = j12; + x->input[13] = j13; + return; + } + bytes -= 64; + c += 64; + } } + /* Test vectors taken from RFC 7539 */ static const u8 test_key[3][32] = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, diff --git a/src/main/About.cpp b/src/main/About.cpp index afa9397..2cb096d 100644 --- a/src/main/About.cpp +++ b/src/main/About.cpp @@ -92,9 +92,9 @@ void __fastcall TAboutForm::LinkClick(TObject *Sender, const UnicodeString Link, //--------------------------------------------------------------------------- void __fastcall TAboutForm::SetDonorUI(void) { - if (g_asDonorInfo.IsEmpty()) - AboutForm->DonorLbl->Caption = "Community"; + if (g_donorInfo.Valid == DONOR_KEY_VALID) + AboutForm->DonorLbl->Caption = TRL("Donor ID:") + " " + g_donorInfo.Id; else - AboutForm->DonorLbl->Caption = TRL("Donor ID:") + " " + g_asDonorInfo; + AboutForm->DonorLbl->Caption = "Community"; } //--------------------------------------------------------------------------- diff --git a/src/main/About.dfm b/src/main/About.dfm index 9a6cb9d69956044ad3ffc6755c7f98796dc67fdc..79da460ed6c6a108a5023fbbce6c8b4a38937281 100644 GIT binary patch delta 40 wcmca&bj4^wr$99$w{uQrYFPkzHRg|TaMBlBfZ07Cu`!vFvP delta 40 wcmca&bj4^wr$8Mew{uQrYFO@6~Pg>mNQM&`?+07IP*(*OVf diff --git a/src/main/Configuration.cpp b/src/main/Configuration.cpp index c89db49..f5a5390 100644 --- a/src/main/Configuration.cpp +++ b/src/main/Configuration.cpp @@ -53,6 +53,15 @@ const int RANDOM_POOL_CIPHER_INFO[NUM_RANDOM_POOL_CIPHERS][2] = //{ 256, 128 } }; +const std::vector> AppIconNames = { + { "Default (dark)", "A" }, + { "Blue", "Icon_Blue" }, + { "Red", "Icon_Red" }, + { "Orange", "Icon_Orange" }, + { "Green", "Icon_Green" }, + { "Colors", "Icon_Colors" } +}; + //--------------------------------------------------------------------------- __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) : TForm(Owner) //, m_pLangList(nullptr) @@ -70,7 +79,15 @@ __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) UiStylesList->Items->Add(sName); } - for (int i = 0; i < NUM_RANDOM_POOL_CIPHERS; i++) { + auto icon = std::make_unique(); + int i = 0; + for (const auto& p : AppIconNames) { + icon->LoadFromResourceName(reinterpret_cast(HInstance), p.second); + AppIconImageList->AddIcon(icon.get()); + AppIconList->ItemsEx->AddItem(p.first, i++, -1, -1, -1, nullptr); + } + + for (i = 0; i < NUM_RANDOM_POOL_CIPHERS; i++) { WString sCipher = TRLFormat("%1 (%2-bit key, operates on %3-bit blocks)", { RANDOM_POOL_CIPHER_NAMES[i], IntToStr(RANDOM_POOL_CIPHER_INFO[i][0]), @@ -78,7 +95,7 @@ __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) RandomPoolCipherList->Items->Add(sCipher); } - for (int i = 0; i <= 10; i++) + for (i = 0; i <= 10; i++) BenchmarkMemList->Items->Add(IntToStr(1 << i) + " MB"); BenchmarkMemList->ItemIndex = 6; @@ -86,6 +103,7 @@ __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) TRLCaption(this); TRLCaption(GeneralSheet); TRLCaption(UiStyleLbl); + TRLCaption(AppIconLbl); TRLCaption(ChangeFontLbl); TRLCaption(SelectFontBtn); TRLCaption(ShowSysTrayIconConstCheck); @@ -113,7 +131,6 @@ __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) TRLCaption(HotKeyView->Columns->Items[0]); TRLCaption(HotKeyView->Columns->Items[1]); - int i; for (i = 0; i < HotKeyActionsList->Items->Count; i++) HotKeyActionsList->Items->Strings[i] = TRL(HotKeyActionsList->Items->Strings[i]); @@ -130,6 +147,8 @@ __fastcall TConfigurationDlg::TConfigurationDlg(TComponent* Owner) TRLCaption(LanguageSheet); TRLCaption(SelectLanguageLbl); + TRLCaption(InstallLanguageBtn); + TRLCaption(RemoveLanguageBtn); TRLCaption(DatabaseSheet); TRLCaption(ClearClipCloseLockCheck); @@ -177,6 +196,7 @@ void __fastcall TConfigurationDlg::SaveConfig(void) void __fastcall TConfigurationDlg::GetOptions(Configuration& config) { config.UiStyleName = UiStylesList->Text; + config.AppIconName = AppIconList->Text; config.GUIFontString = FontToString(FontDlg->Font); config.AutoClearClip = AutoClearClipCheck->Checked; config.AutoClearClipTime = AutoClearClipTimeSpinBtn->Position; @@ -197,7 +217,7 @@ void __fastcall TConfigurationDlg::GetOptions(Configuration& config) config.FileEncoding = CharacterEncoding(CharEncodingGroup->ItemIndex); config.FileNewlineChar = NewlineChar(NewlineCharGroup->ItemIndex); config.HotKeys = m_hotKeys; - config.LanguageIndex = LanguageList->ItemIndex; + config.Language = g_languages.at(LanguageList->ItemIndex); //config.Database.ClearClipMinimize = ClearClipMinimizeCheck->Checked; config.Database.ClearClipCloseLock = ClearClipCloseLockCheck->Checked; config.Database.LockMinimize = LockMinimizeCheck->Checked; @@ -229,6 +249,7 @@ void __fastcall TConfigurationDlg::SetOptions(const Configuration& config) if (nIndex < 0) nIndex = UiStylesList->Items->IndexOf("Windows"); UiStylesList->ItemIndex = nIndex; + AppIconList->ItemIndex = std::max(0, AppIconList->Items->IndexOf(config.AppIconName)); StringToFont(config.GUIFontString, FontDlg->Font); ShowFontSample(FontDlg->Font); RandomPoolCipherList->ItemIndex = config.RandomPoolCipher; @@ -252,7 +273,8 @@ void __fastcall TConfigurationDlg::SetOptions(const Configuration& config) UpdateCheckGroup->ItemIndex = config.AutoCheckUpdates; CharEncodingGroup->ItemIndex = static_cast(config.FileEncoding); NewlineCharGroup->ItemIndex = static_cast(config.FileNewlineChar); - LanguageList->ItemIndex = config.LanguageIndex; + auto it = std::find(g_languages.begin(), g_languages.end(), config.Language.Code); + LanguageList->ItemIndex = it != g_languages.end() ? it - g_languages.begin() : 0; LanguageListSelect(this); m_hotKeys = config.HotKeys; UpdateHotKeyList(); @@ -279,11 +301,10 @@ void __fastcall TConfigurationDlg::SetOptions(const Configuration& config) DefaultAutotypeSeqBox->Text = config.Database.DefaultAutotypeSequence; } //--------------------------------------------------------------------------- -void __fastcall TConfigurationDlg::SetLanguageList( - const std::vector& languages) +void __fastcall TConfigurationDlg::LoadLanguages(void) { - m_langList = languages; - for (const auto& entry : m_langList) + LanguageList->Clear(); + for (const auto& entry : g_languages) { LanguageList->Items->Add(FormatW("%1 (v%2)", { entry.Name, entry.Version })); @@ -468,9 +489,9 @@ void __fastcall TConfigurationDlg::BenchmarkBtnClick(TObject *Sender) rp.SetCipher(static_cast(i)); Stopwatch clock; rp.GetData(buf.get(), lBufSize); - double rate = lDataSizeMB / clock.ElapsedSeconds(); - sResult += "\n" + FormatW("%1: %2 MB/s", { RANDOM_POOL_CIPHER_NAMES[i], - FormatFloat("0.00", rate) }); + long double rate = lDataSizeMB / clock.ElapsedSeconds(); + sResult += "\n" + Format("%s: %.2f MB/s", ARRAYOFCONST(( + RANDOM_POOL_CIPHER_NAMES[i], rate))); } Screen->Cursor = crDefault; MsgBox(TRLFormat("Benchmark results (data size: %1 MB):", @@ -480,8 +501,8 @@ void __fastcall TConfigurationDlg::BenchmarkBtnClick(TObject *Sender) void __fastcall TConfigurationDlg::ConvertLangFileBtnClick(TObject *Sender) { int nIndex = LanguageList->ItemIndex; - if (nIndex > 0 && nIndex < m_langList.size()) { - const auto& entry = m_langList[nIndex]; + if (nIndex > 0 && nIndex < g_languages.size()) { + const auto& entry = g_languages[nIndex]; //if (SameText(ExtractFileExt(entry.FileName), ".lng")) { TopMostManager::GetInstance().NormalizeTopMosts(this); bool blSuccess = SaveDlg->Execute(); @@ -505,11 +526,12 @@ void __fastcall TConfigurationDlg::LanguageListSelect(TObject *Sender) { bool blEnabled = false; int nIndex = LanguageList->ItemIndex; - if (nIndex > 0 && nIndex < m_langList.size()) { - const auto& entry = m_langList[nIndex]; + if (nIndex > 0 && nIndex < g_languages.size()) { + const auto& entry = g_languages[nIndex]; blEnabled = SameText(ExtractFileExt(entry.FileName), ".lng"); } ConvertLangFileBtn->Enabled = blEnabled; + RemoveLanguageBtn->Enabled = nIndex > 0; } //--------------------------------------------------------------------------- void __fastcall TConfigurationDlg::SelectFontMenu_RestoreDefaultClick(TObject *Sender) @@ -527,4 +549,84 @@ void __fastcall TConfigurationDlg::LoadProfileStartupCheckClick(TObject *Sender) LoadProfileBox->Enabled = LoadProfileStartupCheck->Checked; } //--------------------------------------------------------------------------- +void __fastcall TConfigurationDlg::InstallLanguageBtnClick(TObject *Sender) +{ + TopMostManager::GetInstance().NormalizeTopMosts(this); + bool blSuccess = OpenDlg->Execute(); + TopMostManager::GetInstance().RestoreTopMosts(this); + if (!blSuccess) return; + + WString sMsg; + try { + WString sSrc = OpenDlg->FileName; + LanguageSupport ls(sSrc, true); + if (std::find(g_languages.begin(), g_languages.end(), ls.LanguageCode) + != g_languages.end()) + { + throw Exception(TRL("Language already installed")); + } + + const auto destinations = { g_sAppDataPath, g_sExePath }; + WString sDest; + for (const auto& sPath : destinations) { + if (sPath.IsEmpty()) continue; + sDest = sPath + ExtractFileName(sSrc); + if (FileExists(sDest)) { + throw Exception(TRLFormat("Language file already exists:\n\"%1\"", { sDest })); + } + if (CopyFile(sSrc.c_str(), sDest.c_str(), true)) { + LanguageEntry e; + e.FileName = sSrc; + e.Code = ls.LanguageCode; + e.Name = ls.LanguageName; + e.Version = ls.LanguageVersion; + g_languages.push_back(e); + int nIndex = LanguageList->ItemIndex; + LoadLanguages(); + LanguageList->ItemIndex = nIndex; + MsgBox(TRLFormat("Language \"%1\" installed successfully.", { ls.LanguageName }), + MB_ICONINFORMATION); + return; + } + break; + } + + sMsg = TRLFormat("Could not copy file \"%1\" to\n\"%2\"", { sSrc, sDest }); + } + catch (Exception& e) { + sMsg = e.Message; + } + + MsgBox(TRLFormat("Could not install language:\n%1.", { sMsg }), MB_ICONERROR); +} +//--------------------------------------------------------------------------- +void __fastcall TConfigurationDlg::RemoveLanguageBtnClick(TObject *Sender) +{ + int nIndex = LanguageList->ItemIndex; + if (nIndex > 0 && nIndex < g_languages.size()) { + auto e = g_languages[nIndex]; + if (MsgBox(TRLFormat("Are you sure you want to remove\n\"%1\"?", { e.Name }), + MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) == IDYES) + { + if (DeleteFile(e.FileName.c_str())) { + g_languages.erase(g_languages.begin() + nIndex); + LoadLanguages(); + LanguageList->ItemIndex = 0; + MsgBox(TRLFormat("Language \"%1\" successfully removed.", { e.Name }), + MB_ICONINFORMATION); + } + else { + MsgBox(TRLFormat("Could not delete file\n\"%1\".", { e.FileName }), + MB_ICONERROR); + } + } + } +} +//--------------------------------------------------------------------------- +void __fastcall TConfigurationDlg::SetDonorUI(void) +{ + AppIconLbl->Enabled = g_donorInfo.Valid == DONOR_KEY_VALID; + AppIconList->Enabled = g_donorInfo.Valid == DONOR_KEY_VALID; +} +//--------------------------------------------------------------------------- diff --git a/src/main/Configuration.dfm b/src/main/Configuration.dfm index f21c26f..366e75e 100644 --- a/src/main/Configuration.dfm +++ b/src/main/Configuration.dfm @@ -3,8 +3,8 @@ object ConfigurationDlg: TConfigurationDlg Top = 187 BorderIcons = [biSystemMenu, biMaximize] Caption = 'Configuration' - ClientHeight = 519 - ClientWidth = 551 + ClientHeight = 517 + ClientWidth = 552 Color = clBtnFace Constraints.MinHeight = 456 Constraints.MinWidth = 443 @@ -84,6 +84,17 @@ object ConfigurationDlg: TConfigurationDlg Margins.Bottom = 4 Caption = 'User interface style:' end + object AppIconLbl: TLabel + Left = 280 + Top = 20 + Width = 99 + Height = 17 + Margins.Left = 4 + Margins.Top = 4 + Margins.Right = 4 + Margins.Bottom = 4 + Caption = 'Application icon:' + end object SelectFontBtn: TButton Left = 10 Top = 114 @@ -96,7 +107,7 @@ object ConfigurationDlg: TConfigurationDlg Caption = 'Select font' DropDownMenu = SelectFontMenu Style = bsSplitButton - TabOrder = 1 + TabOrder = 2 OnClick = SelectFontBtnClick end object ShowSysTrayIconConstCheck: TCheckBox @@ -109,7 +120,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Right = 4 Margins.Bottom = 4 Caption = 'Show system tray icon constantly' - TabOrder = 2 + TabOrder = 3 end object MinimizeToSysTrayCheck: TCheckBox Left = 10 @@ -121,7 +132,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Right = 4 Margins.Bottom = 4 Caption = 'Minimize program to system tray' - TabOrder = 3 + TabOrder = 4 end object AutotypeDelayBox: TEdit Left = 326 @@ -133,7 +144,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Right = 4 Margins.Bottom = 4 AutoSelect = False - TabOrder = 5 + TabOrder = 6 Text = '0' end object AutotypeDelaySpinBtn: TUpDown @@ -147,7 +158,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Bottom = 4 Associate = AutotypeDelayBox Max = 1000 - TabOrder = 6 + TabOrder = 7 end object MinimizeAutotypeCheck: TCheckBox Left = 10 @@ -159,7 +170,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Right = 4 Margins.Bottom = 4 Caption = 'Minimize before performing autotype' - TabOrder = 4 + TabOrder = 5 end object AskBeforeExitCheck: TCheckBox Left = 10 @@ -172,7 +183,7 @@ object ConfigurationDlg: TConfigurationDlg Margins.Bottom = 4 Anchors = [akLeft, akTop, akRight] Caption = 'Ask before exiting application' - TabOrder = 7 + TabOrder = 8 end object LaunchSystemStartupCheck: TCheckBox Left = 10 @@ -184,19 +195,18 @@ object ConfigurationDlg: TConfigurationDlg Margins.Right = 4 Margins.Bottom = 4 Caption = 'Launch application on system startup (for current user)' - TabOrder = 8 + TabOrder = 11 end object UiStylesList: TComboBox Left = 10 Top = 44 - Width = 492 + Width = 241 Height = 25 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 Margins.Bottom = 4 Style = csDropDownList - Anchors = [akLeft, akTop, akRight] Sorted = True TabOrder = 0 end @@ -226,6 +236,20 @@ object ConfigurationDlg: TConfigurationDlg Anchors = [akLeft, akTop, akRight] TabOrder = 10 end + object AppIconList: TComboBoxEx + Left = 280 + Top = 44 + Width = 222 + Height = 26 + Margins.Left = 4 + Margins.Top = 4 + Margins.Right = 4 + Margins.Bottom = 4 + ItemsEx = <> + Style = csExDropDownList + TabOrder = 1 + Images = AppIconImageList + end end object SecuritySheet: TTabSheet Margins.Left = 4 @@ -652,8 +676,8 @@ object ConfigurationDlg: TConfigurationDlg OnSelect = LanguageListSelect end object ConvertLangFileBtn: TButton - Left = 10 - Top = 78 + Left = 220 + Top = 77 Width = 248 Height = 31 Margins.Left = 4 @@ -662,9 +686,35 @@ object ConfigurationDlg: TConfigurationDlg Margins.Bottom = 4 Caption = 'Convert to new PO file format...' Enabled = False - TabOrder = 1 + TabOrder = 3 OnClick = ConvertLangFileBtnClick end + object InstallLanguageBtn: TButton + Left = 10 + Top = 77 + Width = 100 + Height = 31 + Margins.Left = 4 + Margins.Top = 4 + Margins.Right = 4 + Margins.Bottom = 4 + Caption = 'Install...' + TabOrder = 1 + OnClick = InstallLanguageBtnClick + end + object RemoveLanguageBtn: TButton + Left = 118 + Top = 77 + Width = 94 + Height = 31 + Margins.Left = 4 + Margins.Top = 4 + Margins.Right = 4 + Margins.Bottom = 4 + Caption = 'Remove' + TabOrder = 2 + OnClick = RemoveLanguageBtnClick + end end object DatabaseSheet: TTabSheet Margins.Left = 4 @@ -998,11 +1048,21 @@ object ConfigurationDlg: TConfigurationDlg Top = 452 end object SelectFontMenu: TPopupMenu - Left = 31 - Top = 408 + Left = 29 + Top = 470 object SelectFontMenu_RestoreDefault: TMenuItem Caption = 'Restore Default' OnClick = SelectFontMenu_RestoreDefaultClick end end + object AppIconImageList: TImageList + Left = 489 + Top = 405 + end + object OpenDlg: TOpenDialog + Filter = 'Language files|*.po|All files|*.*' + Title = 'Select language file to install' + Left = 31 + Top = 163 + end end diff --git a/src/main/Configuration.h b/src/main/Configuration.h index 7adc406..e4f1980 100644 --- a/src/main/Configuration.h +++ b/src/main/Configuration.h @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include //--------------------------------------------------------------------------- @@ -81,6 +83,8 @@ enum NewlineChar nlcUnix }; +extern const std::vector> AppIconNames; + inline WString NewlineCharToString(NewlineChar c) { return (c == nlcWindows) ? "\r\n" : "\n"; @@ -98,10 +102,19 @@ struct LanguageEntry { WString Name; WString Version; WString FileName; + + LanguageEntry() {} + LanguageEntry(const WString& sCode) : Code(sCode) {} + + bool operator== (const LanguageEntry& other) const + { + return Code == other.Code; + } }; struct Configuration { WString UiStyleName; + WString AppIconName; WString GUIFontString; bool AutoClearClip = true; int AutoClearClipTime = AUTOCLEARCLIPTIME_DEFAULT; @@ -122,7 +135,8 @@ struct Configuration { CharacterEncoding FileEncoding = ceUtf8; NewlineChar FileNewlineChar = nlcWindows; HotKeyList HotKeys; - int LanguageIndex = 0; + LanguageEntry Language; + //int LanguageIndex = 0; struct { //bool ClearClipMinimize = true; bool ClearClipCloseLock = true; @@ -224,6 +238,12 @@ class TConfigurationDlg : public TForm TMenuItem *SelectFontMenu_RestoreDefault; TCheckBox *LoadProfileStartupCheck; TComboBox *LoadProfileBox; + TComboBoxEx *AppIconList; + TLabel *AppIconLbl; + TImageList *AppIconImageList; + TButton *InstallLanguageBtn; + TOpenDialog *OpenDlg; + TButton *RemoveLanguageBtn; void __fastcall SelectFontBtnClick(TObject *Sender); void __fastcall AutoClearClipCheckClick(TObject *Sender); void __fastcall FormShow(TObject *Sender); @@ -243,9 +263,11 @@ class TConfigurationDlg : public TForm void __fastcall LanguageListSelect(TObject *Sender); void __fastcall SelectFontMenu_RestoreDefaultClick(TObject *Sender); void __fastcall LoadProfileStartupCheckClick(TObject *Sender); + void __fastcall InstallLanguageBtnClick(TObject *Sender); + void __fastcall RemoveLanguageBtnClick(TObject *Sender); private: // User declarations HotKeyList m_hotKeys; - std::vector m_langList; + //std::vector m_langList; void __fastcall ShowFontSample(TFont* pFont); void __fastcall UpdateHotKeyList(void); void __fastcall UpdateProfileList(void); @@ -255,7 +277,8 @@ class TConfigurationDlg : public TForm void __fastcall SaveConfig(void); void __fastcall GetOptions(Configuration& config); void __fastcall SetOptions(const Configuration& config); - void __fastcall SetLanguageList(const std::vector& languages); + void __fastcall LoadLanguages(void); + void __fastcall SetDonorUI(void); }; //--------------------------------------------------------------------------- extern PACKAGE TConfigurationDlg *ConfigurationDlg; diff --git a/src/main/Language.cpp b/src/main/Language.cpp index 959a81e..43e1f46 100644 --- a/src/main/Language.cpp +++ b/src/main/Language.cpp @@ -173,7 +173,7 @@ LanguageSupport::LanguageSupport(const WString& sFileName, wchar_t wszParsed[MSG_BUF_SIZE]; int nMsgLen, nState = 0; - const char* pszUnknown = "(Unknown)"; + const char UNKNOWN[] = "(Unknown)"; if (SameText(ExtractFileExt(sFileName), ".po")) { m_format = FileFormat::PO; @@ -238,7 +238,7 @@ LanguageSupport::LanguageSupport(const WString& sFileName, break; // prepare regex search - std::wregex re(L"([a-zA-Z-]+)\\s*:\\s*(.+)"); + std::wregex re(L"([a-zA-Z-]+) *: *(.*)$"); std::wsregex_iterator keyValIt(sMsgStr.begin(), sMsgStr.end(), re), keyValEnd; @@ -306,7 +306,7 @@ LanguageSupport::LanguageSupport(const WString& sFileName, if (it != keyVal.end()) m_sTranslatorName = WString(it->second.c_str()); else - m_sTranslatorName = pszUnknown; + m_sTranslatorName = UNKNOWN; // help file name it = keyVal.find(L"X-PasswordTech-Manual"); @@ -481,7 +481,7 @@ LanguageSupport::LanguageSupport(const WString& sFileName, } if (m_sTranslatorName.IsEmpty()) - m_sTranslatorName = pszUnknown; + m_sTranslatorName = UNKNOWN; } if (!blLoadHeaderOnly && m_transl.empty()) diff --git a/src/main/MPPasswGen.dfm b/src/main/MPPasswGen.dfm index 2f83fdb..ec740cd 100644 --- a/src/main/MPPasswGen.dfm +++ b/src/main/MPPasswGen.dfm @@ -464,7 +464,7 @@ object MPPasswGenForm: TMPPasswGenForm Left = 10 Top = 170 Width = 272 - Height = 25 + Height = 23 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 @@ -472,8 +472,8 @@ object MPPasswGenForm: TMPPasswGenForm Anchors = [akLeft, akTop, akRight] Font.Charset = ANSI_CHARSET Font.Color = clWindowText - Font.Height = -14 - Font.Name = 'Tahoma' + Font.Height = -13 + Font.Name = 'Consolas' Font.Style = [] ParentFont = False PopupMenu = PasswBoxMenu diff --git a/src/main/Main.cpp b/src/main/Main.cpp index 2ecf931..9a3384c 100644 --- a/src/main/Main.cpp +++ b/src/main/Main.cpp @@ -82,6 +82,7 @@ TMainForm *MainForm; CmdLineOptions g_cmdLineOptions; +DonorInfo g_donorInfo; std::unique_ptr g_pIni; bool g_blFakeIniFile = false; std::vector> g_profileList; @@ -96,6 +97,7 @@ Configuration g_config; AnsiString g_asDonorInfo; WString g_sNewline; TerminateAction g_terminateAction = TerminateAction::None; +std::vector g_languages; extern HANDLE g_hAppMutex; @@ -464,6 +466,22 @@ __fastcall TMainForm::TMainForm(TComponent* Owner) SaveDlg->Filter = OpenDlg->Filter; + switch (g_donorInfo.Valid) { + case DONOR_KEY_VALID: + break; + case DONOR_KEY_EXPIRED: + DelayStartupError(TRL("Your donor key has expired: The maximum\n" + "number of updates has been reached.")); + break; + case DONOR_KEY_INVALID: + DelayStartupError(TRL("Donor key is invalid.")); + break; + default: // empty key (-1) + break; + } + + SetDonorUI(); + // load configuration from INI file LoadConfig(); } @@ -562,10 +580,11 @@ void __fastcall TMainForm::StartupAction(void) PasswOptionsDlg->SetOptions(m_passwOptions); SetAdvancedBtnCaption(); - ConfigurationDlg->SetLanguageList(m_languages); + ConfigurationDlg->LoadLanguages(); ConfigurationDlg->SetOptions(g_config); AboutForm->SetDonorUI(); + ConfigurationDlg->SetDonorUI(); } } //--------------------------------------------------------------------------- @@ -586,7 +605,7 @@ void __fastcall TMainForm::FormActivate(TObject *Sender) m_sStartupErrors = WString(); } - if (m_asDonorKey.IsEmpty() && + if (g_donorInfo.Valid != DONOR_KEY_VALID && (g_pIni->ReadString(CONFIG_ID, "LastVersion", "") != PROGRAM_VERSION || fprng_rand(15) == 0)) MsgBox(TRLFormat("If you like %1, please consider\nmaking a donation. Thank you!", @@ -660,76 +679,68 @@ void __fastcall TMainForm::DelayStartupError(const WString& sMsg) //--------------------------------------------------------------------------- void __fastcall TMainForm::LoadLangConfig(void) { - // which language do we have to set? - WString sLangStr = g_pIni->ReadString(CONFIG_ID, "Language", ""); - if (sLangStr.IsEmpty()) - sLangStr = LANGUAGE_DEFAULT_CODE; - - bool blDefaultLang = sLangStr == LANGUAGE_DEFAULT_CODE || - SameText(sLangStr, WString(LANGUAGE_DEFAULT_NAME)); + LanguageEntry defaultLang; + defaultLang.Code = LANGUAGE_DEFAULT_CODE; + defaultLang.Name = LANGUAGE_DEFAULT_NAME; + defaultLang.Version = PROGRAM_VERSION; + g_languages.push_back(defaultLang); - LanguageEntry e; - e.Code = LANGUAGE_DEFAULT_CODE; - e.Name = LANGUAGE_DEFAULT_NAME; - e.Version = PROGRAM_VERSION; - m_languages.push_back(e); + // look for language files in the program folder and in the "app data" folder + const auto searchFolders = { g_sExePath, g_sAppDataPath }; + for (const auto& sFolder : searchFolders) { + if (sFolder.IsEmpty()) continue; - // look for language files in the program directory - WString sFindFile = g_sExePath + "*.*"; - TSearchRec srw; + TSearchRec srw; - WString sLangFileName; - int nLangIndex = 0; - - if (FindFirst(sFindFile, faAnyFile, srw) == 0) { - do { - WString sExt = ExtractFileExt(srw.Name); - if (!SameText(sExt, ".lng") && !SameText(sExt, ".po")) - continue; - - WString sFileName = g_sExePath + ExtractFileName(srw.Name); + if (FindFirst(sFolder + "*", faAnyFile, srw) == 0) { + do { + WString sExt = ExtractFileExt(srw.Name); + if (!SameText(sExt, ".lng") && !SameText(sExt, ".po")) + continue; - try { - LanguageSupport ls(sFileName, true); + WString sFileName = sFolder + ExtractFileName(srw.Name); - if (std::find_if(m_languages.begin(), m_languages.end(), - [&ls](const LanguageEntry& e) { return e.Code == ls.LanguageCode; }) - != m_languages.end()) - continue; + try { + LanguageSupport ls(sFileName, true); - LanguageEntry e; - e.FileName = sFileName; - e.Code = ls.LanguageCode; - e.Name = ls.LanguageName; - e.Version = ls.LanguageVersion; + if (std::find(g_languages.begin(), g_languages.end(), ls.LanguageCode) + != g_languages.end()) + continue; - m_languages.push_back(e); + LanguageEntry e; + e.FileName = sFileName; + e.Code = ls.LanguageCode; + e.Name = ls.LanguageName; + e.Version = ls.LanguageVersion; - if (!blDefaultLang && nLangIndex == 0 && e.Code == sLangStr) - { - sLangFileName = sFileName; - nLangIndex = m_languages.size() - 1; + g_languages.push_back(e); + } + catch (ELanguageError& e) { + DelayStartupError(srw.Name + ": " + e.Message + "."); + } + catch (...) { } } - catch (ELanguageError& e) { - DelayStartupError(srw.Name + ": " + e.Message + "."); - } - catch (...) { - } - } - while (FindNext(srw) == 0 && m_languages.size() < LANGUAGE_MAX_ITEMS); + while (FindNext(srw) == 0 && g_languages.size() < LANGUAGE_MAX_ITEMS); - FindClose(srw); + FindClose(srw); + } } - // nothing found? - if (!blDefaultLang && nLangIndex == 0) - DelayStartupError(FormatW("Could not find language \"%1\".", - { sLangStr })); + // which language do we have to set? + WString sSetLang = g_pIni->ReadString(CONFIG_ID, "Language", ""); + if (sSetLang.IsEmpty()) + sSetLang = LANGUAGE_DEFAULT_CODE; + + auto langIt = std::find(g_languages.begin(), g_languages.end(), sSetLang); + if (langIt == g_languages.end()) { + DelayStartupError(FormatW("Could not find language \"%1\".", { sSetLang })); + langIt = g_languages.begin(); + } // change language if necessary - if (nLangIndex != 0 && !ChangeLanguage(sLangFileName)) - nLangIndex = 0; + if (langIt != g_languages.begin() && !ChangeLanguage(langIt->FileName)) + langIt = g_languages.begin(); m_sHelpFileName = g_sExePath; if (g_pLangSupp && !g_pLangSupp->HelpFileName.IsEmpty()) @@ -737,7 +748,7 @@ void __fastcall TMainForm::LoadLangConfig(void) else m_sHelpFileName += PROGRAM_HELPFILE; - g_config.LanguageIndex = nLangIndex; + g_config.Language = *langIt; //MainMenu_Options_Language->Items[nLangIndex]->Checked = true; } //--------------------------------------------------------------------------- @@ -820,40 +831,20 @@ void __fastcall TMainForm::WriteRandSeedFile(bool blShowError) } } //--------------------------------------------------------------------------- -void __fastcall TMainForm::SetDonorUI(int nDonorType) +void __fastcall TMainForm::SetDonorUI(void) { WString sInfo = WString(PROGRAM_NAME) + " " + WString(PROGRAM_VERSION); - if (nDonorType < 0) + if (g_donorInfo.Type < 0) sInfo += " (Community)"; else - sInfo += ((nDonorType == DONOR_TYPE_PRO) ? " (DONOR PRO)" : " (DONOR)"); + sInfo += ((g_donorInfo.Type == DONOR_TYPE_PRO) ? " (DONOR PRO)" : " (DONOR)"); StatusBar->Panels->Items[0]->Text = sInfo; } //--------------------------------------------------------------------------- void __fastcall TMainForm::LoadConfig(void) { //AnsiString asLastVersion = g_pIni->ReadString(CONFIG_ID, "LastVersion", ""); - AnsiString asDonorKey = g_pIni->ReadString(CONFIG_ID, "DonorKey", ""); - if (!asDonorKey.IsEmpty()) { - AnsiString asDonorId; - int nDonorType; - switch (CheckDonorKey(asDonorKey, &asDonorId, &nDonorType)) { - case DONOR_KEY_VALID: - m_asDonorKey = asDonorKey.Trim(); - g_asDonorInfo = asDonorId; - SetDonorUI(nDonorType); - break; - case DONOR_KEY_EXPIRED: - DelayStartupError(TRL("Your donor key has expired: The maximum\n" - "number of updates has been reached.")); - break; - default: - DelayStartupError(TRL("Donor key is invalid.")); - } - } - - if (m_asDonorKey.IsEmpty()) - SetDonorUI(-1); + //AnsiString asDonorKey = g_pIni->ReadString(CONFIG_ID, "DonorKey", ""); int nTop = g_pIni->ReadInteger(CONFIG_ID, "WindowTop", INT_MAX); int nLeft = g_pIni->ReadInteger(CONFIG_ID, "WindowLeft", INT_MAX); @@ -1221,12 +1212,13 @@ bool __fastcall TMainForm::SaveConfig(void) g_pIni->WriteString(CONFIG_ID, "LastVersion", PROGRAM_VERSION); g_pIni->WriteString(CONFIG_ID, "Language", - m_languages[g_config.LanguageIndex].Code); + g_config.Language.Code); if (m_lastUpdateCheck != TDateTime()) g_pIni->WriteDate(CONFIG_ID, "LastUpdateCheck", m_lastUpdateCheck); - g_pIni->WriteString(CONFIG_ID, "DonorKey", m_asDonorKey); + g_pIni->WriteString(CONFIG_ID, "DonorKey", g_donorInfo.Key); g_pIni->WriteString(CONFIG_ID, "GUIStyle", g_config.UiStyleName); g_pIni->WriteString(CONFIG_ID, "GUIFont", g_config.GUIFontString); + g_pIni->WriteString(CONFIG_ID, "AppIcon", g_config.AppIconName); g_pIni->WriteInteger(CONFIG_ID, "WindowTop", Top); g_pIni->WriteInteger(CONFIG_ID, "WindowLeft", Left); g_pIni->WriteInteger(CONFIG_ID, "WindowHeight", Height); @@ -1683,8 +1675,8 @@ void __fastcall TMainForm::ShowPasswInfo(int nPasswLen, bool __fastcall TMainForm::ApplyConfig(const Configuration& config) { bool blLangChanged = false; - if (config.LanguageIndex != g_config.LanguageIndex) { - const WString& sLangVersion = m_languages[config.LanguageIndex].Version; + if (config.Language.Code != g_config.Language.Code) { + const WString& sLangVersion = config.Language.Version; if (CompareVersionNumbers(sLangVersion, PROGRAM_LANGVER_MIN) < 0) { if (MsgBox(TRLFormat("The version of this language (%1) is not\ncompatible " @@ -1767,6 +1759,16 @@ bool __fastcall TMainForm::ApplyConfig(const Configuration& config) if (!config.AutoClearClip) m_nAutoClearClipCnt = 0; + if (!SameText(config.AppIconName, g_config.AppIconName)) { + auto it = std::find_if(AppIconNames.begin(), AppIconNames.end(), + [&config](const std::pair& p) { return p.first == config.AppIconName; }); + if (it != AppIconNames.end()) { + Application->Icon->LoadFromResourceName(reinterpret_cast( + HInstance), it->second); + TrayIcon->Icon = Application->Icon; + } + } + /*if (!blLangChanged && !TStyleManager::TrySetStyle(config.UiStyleName, false)) { MsgBox(TRLFormat("Could not apply user interface style\n\"%s\".", config.UiStyleName.c_str()), MB_ICONERROR); @@ -2326,6 +2328,8 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, nPasswFlags |= PASSW_FLAG_EACHCHARONLYONCE; if (nCharSetSize >= 128 && nCharsLen >= 128) nPasswFlags |= PASSW_FLAG_CHECKDUPLICATESBYSET; + if (nFlags & PASSWOPTION_REMOVEWHITESPACE) + nPasswFlags |= PASSW_FLAG_REMOVEWHITESPACE; for (int nI = 0; nI < PASSWGEN_NUMINCLUDECHARSETS; nI++) { if (nFlags & (PASSWOPTION_INCLUDEUPPERCASE << nI)) nPasswFlags |= PASSW_FLAG_INCLUDEUPPERCASE << nI; @@ -2369,6 +2373,8 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, if (!sFormatPassw.empty()) { if (nFlags & PASSWOPTION_EXCLUDEREPCHARS) nFormatFlags |= PASSFORMAT_FLAG_EXCLUDEREPCHARS; + if (nFlags & PASSWOPTION_REMOVEWHITESPACE) + nFormatFlags |= PASSFORMAT_FLAG_REMOVEWHITESPACE; sFormatted.New(PASSWFORMAT_MAX_CHARS + 1); sFormatted.SetClearMark(0); @@ -2419,6 +2425,12 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, bool blKeepPrevPassw = false; bool blCheckEachPassw = qNumOfPassw > 1 && (nFlags & PASSWOPTION_CHECKEACHPASSW); + bool blVariablePasswLen = nCharsLen != 0 && + (nPasswFlags & PASSW_FLAG_REMOVEWHITESPACE) && + (m_passwGen.CustomCharSetType == cstStandard || + m_passwGen.CustomCharSetType == cstStandardWithFreq) && + m_passwGen.CustomCharSetW32.find_first_of( + WCharToW32String(L" \t")) != w32string::npos; std::unordered_set uniquePasswList; std::unique_ptr pFile; @@ -2446,7 +2458,7 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, nGenCharsLen = m_passwGen.GetPhoneticPassw(sChars, nCharsLen, nPasswFlags); } - if (blFirstGen) { + if (blFirstGen || blVariablePasswLen) { if ((m_passwGen.CustomCharSetType == cstStandard || m_passwGen.CustomCharSetType == cstStandardWithFreq) && m_passwOptions.Flags & PASSWOPTION_EACHCHARONLYONCE) @@ -2478,7 +2490,7 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, } } - if (blFirstGen) { + if (blFirstGen || blVariablePasswLen) { if (m_passwOptions.Flags & PASSWOPTION_EACHWORDONLYONCE) dBasePasswSec += m_passwGen.CalcPermSetEntropy( m_passwGen.WordListSize, nNumOfWords); @@ -2727,12 +2739,8 @@ void __fastcall TMainForm::GeneratePassw(GeneratePasswDest dest, case gpdFileList: - if (!pFile->WriteString(pwszPassw, nPasswLenWChars)) - OutOfDiskSpaceError(); - - if (!pFile->WriteString(sPasswAppendix.c_str(), sPasswAppendix.Length())) - OutOfDiskSpaceError(); - + pFile->WriteString(pwszPassw, nPasswLenWChars); + pFile->WriteString(sPasswAppendix.c_str(), sPasswAppendix.Length()); break; case gpdMsgBox: @@ -4091,8 +4099,7 @@ void __fastcall TMainForm::PasswBoxMenu_SaveAsFileClick(TObject *Sender) std::unique_ptr pFile(new TStringFileStreamW( sFileName, fmCreate, g_config.FileEncoding, true, PASSW_MAX_BYTES)); - if (!pFile->WriteString(sPassw, sPassw.StrLen())) - OutOfDiskSpaceError(); + pFile->WriteString(sPassw, sPassw.StrLen()); blSuccess = true; sMsg = TRLFormat("File \"%1\" successfully created.", @@ -4135,32 +4142,37 @@ void __fastcall TMainForm::MainMenu_Options_ClearPasswCacheClick(TObject *Sender //--------------------------------------------------------------------------- void __fastcall TMainForm::MainMenu_Help_EnterDonorKeyClick(TObject *Sender) { - WString sInput = m_asDonorKey; + WString sInput = g_donorInfo.Key; BeforeDisplayDlg(); if (InputQuery(TRL("Donor Key"), TRL("Enter donor key:"), sInput)) { - AnsiString asId; - int nType; - switch (CheckDonorKey(sInput, &asId, &nType)) { + int nStatus, nType; + AnsiString asDonorId; + std::tie(nStatus, nType, asDonorId) = CheckDonorKey(sInput); + switch (nStatus) { case DONOR_KEY_VALID: { - m_asDonorKey = sInput.Trim(); - g_asDonorInfo = asId.Trim(); + g_donorInfo.Key = sInput.Trim(); + g_donorInfo.Id = asDonorId; + g_donorInfo.Valid = nStatus; + g_donorInfo.Type = nType; WString sMsg = TRLFormat("Your Donor ID is: %1\n" "Supported number of updates: %2", - { WString(asId), + { WString(asDonorId), nType == DONOR_TYPE_STD ? IntToStr(DONOR_STD_NUM_UPDATES) : TRL("Unlimited") }); if (MsgBox(TRL("Thank you for your support!") + "\n\n" + sMsg + "\n\n" + TRL("Copy this information to the clipboard?"), MB_ICONQUESTION + MB_YESNO) == IDYES) Clipboard()->AsText = sMsg; - SetDonorUI(nType); + SetDonorUI(); AboutForm->SetDonorUI(); + ConfigurationDlg->SetDonorUI(); break; } case DONOR_KEY_EXPIRED: MsgBox(TRL("Donor key has expired."), MB_ICONERROR); break; + case DONOR_KEY_INVALID: default: MsgBox(TRL("Donor key is invalid."), MB_ICONERROR); } diff --git a/src/main/Main.dfm b/src/main/Main.dfm index b8350e3753e4af57f455da5a1ebd2179ecd1e239..5a5afe86916b0f853a35f30e532d44849ecc140a 100644 GIT binary patch delta 88 zcmX>xU+Cz3A%Xu~3?aUbo_=orLB0$I0-H7ptQKOFnY>ZMeX_i%*knoJaMAaiZuxm7 qdVYzyscan1`FX|pIf=!S8?+>w7Yes86lMfsCLm_szEGG&y#@dlq#XhP delta 87 zcmX>)U+BbqA%Xu~3?aUbo_=orLB0$I0$Vo g_pIni; extern bool g_blFakeIniFile; extern std::vector> g_profileList; @@ -115,6 +123,7 @@ extern int g_nDisplayDlg; extern Configuration g_config; extern AnsiString g_asDonorInfo; extern WString g_sNewline; +extern std::vector g_languages; enum class TerminateAction { None, RestartProgram, SystemShutdown @@ -452,13 +461,13 @@ class TMainForm : public TForm IDropTarget* m_pPasswBoxDropTarget; TUpdateCheckThread* m_pUpdCheckThread; //std::atomic m_blUpdCheckThreadRunning; - std::vector m_languages; + //std::vector m_languages; std::vector m_hotKeys; std::unordered_set m_commonPassw; double m_dCommonPasswEntropy; std::unique_ptr m_pScript; TDateTime m_lastUpdateCheck; - AnsiString m_asDonorKey; + //AnsiString m_asDonorKey; void __fastcall DelayStartupError(const WString& sMsg); void __fastcall LoadLangConfig(void); @@ -489,7 +498,7 @@ class TMainForm : public TForm void __fastcall ShowInfoBox(const WString& sInfo); void __fastcall SetAdvancedBtnCaption(void); void __fastcall OnUpdCheckThreadTerminate(TObject* Sender); - void __fastcall SetDonorUI(int nDonorType); + void __fastcall SetDonorUI(void); void __fastcall RestoreAction(void); void __fastcall OnSetSensitiveClipboardData(void); void __fastcall OnQueryEndSession(TWMQueryEndSession& msg); diff --git a/src/main/PasswList.cpp b/src/main/PasswList.cpp index 657ef24..0ce127f 100644 --- a/src/main/PasswList.cpp +++ b/src/main/PasswList.cpp @@ -145,8 +145,7 @@ void __fastcall TPasswListForm::PasswListMenu_SaveAsFileClick(TObject *Sender) std::unique_ptr pFile(new TStringFileStreamW( sFileName, fmCreate, g_config.FileEncoding, true, PASSW_MAX_BYTES)); - if (!pFile->WriteString(sPasswList, sPasswList.StrLen())) - OutOfDiskSpaceError(); + pFile->WriteString(sPasswList, sPasswList.StrLen()); blSuccess = true; sMsg = TRLFormat("File \"%1\" successfully created.", diff --git a/src/main/PasswList.dfm b/src/main/PasswList.dfm index 697398eb36452d6bfe10ecce7dc56f95295579ec..2aa7fc2fd8b3cdebe95b74e03d072abdaba30af9 100644 GIT binary patch delta 103 zcmZ3&dxUp_2;-WGqTvE-7`dHuGE?(P!ZTA!GMEE4*61*D2QadEq-LgPlrXQEyqR$h sCx>%>UU7a-V)5i?rnSnvt`!A2naP<@EnbX#FafBh)r^}tnCCD90QJ%$R{#J2 delta 70 zcmX@YyM%Xw2xHGg(QtvajNHySnW=dt;h8BV8O&iDYjha7!x-5-QZv&tN|@J9-pn|M ahub;7v?w#RNWm|)d~yWS+RYlwbC>}uVHYs~ diff --git a/src/main/PasswManager.dfm b/src/main/PasswManager.dfm index b13d8d2..c5381cb 100644 --- a/src/main/PasswManager.dfm +++ b/src/main/PasswManager.dfm @@ -1,8 +1,8 @@ object PasswMngForm: TPasswMngForm Left = 594 Top = 119 - ClientHeight = 669 - ClientWidth = 826 + ClientHeight = 668 + ClientWidth = 830 Color = clBtnFace Constraints.MinHeight = 600 Constraints.MinWidth = 625 @@ -23,7 +23,7 @@ object PasswMngForm: TPasswMngForm Left = 469 Top = 83 Width = 4 - Height = 586 + Height = 585 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 @@ -36,7 +36,7 @@ object PasswMngForm: TPasswMngForm object Splitter1: TSplitter Left = 0 Top = 79 - Width = 826 + Width = 830 Height = 4 Cursor = crVSplit Margins.Left = 4 @@ -51,7 +51,7 @@ object PasswMngForm: TPasswMngForm Left = 0 Top = 83 Width = 469 - Height = 586 + Height = 585 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 @@ -73,13 +73,13 @@ object PasswMngForm: TPasswMngForm OnKeyDown = DbViewKeyDown OnMouseMove = DbViewMouseMove OnSelectItem = DbViewSelectItem - ExplicitHeight = 585 + ExplicitHeight = 584 end object EditPanel: TPanel Left = 473 Top = 83 - Width = 353 - Height = 586 + Width = 357 + Height = 585 Margins.Left = 4 Margins.Top = 4 Margins.Right = 4 @@ -89,8 +89,8 @@ object PasswMngForm: TPasswMngForm Enabled = False TabOrder = 1 OnResize = EditPanelResize - ExplicitWidth = 341 - ExplicitHeight = 585 + ExplicitWidth = 351 + ExplicitHeight = 584 object TitleLbl: TLabel Left = 10 Top = 11 @@ -578,8 +578,8 @@ object PasswMngForm: TPasswMngForm AutoSize = False Font.Charset = ANSI_CHARSET Font.Color = clWindowText - Font.Height = -14 - Font.Name = 'Courier New' + Font.Height = -13 + Font.Name = 'Consolas' Font.Style = [] ParentFont = False TabOrder = 2 @@ -814,7 +814,7 @@ object PasswMngForm: TPasswMngForm object ToolBar: TToolBar Left = 0 Top = 0 - Width = 826 + Width = 830 Height = 26 Margins.Left = 4 Margins.Top = 4 @@ -826,7 +826,7 @@ object PasswMngForm: TPasswMngForm Images = ImageList16 TabOrder = 2 Transparent = True - ExplicitWidth = 814 + ExplicitWidth = 824 object NewBtn: TToolButton Left = 0 Top = 0 @@ -1012,7 +1012,7 @@ object PasswMngForm: TPasswMngForm object TagView: TListView Left = 0 Top = 26 - Width = 826 + Width = 830 Height = 53 Margins.Left = 4 Margins.Top = 4 @@ -1028,7 +1028,7 @@ object PasswMngForm: TPasswMngForm ViewStyle = vsSmallIcon OnCompare = TagViewCompare OnSelectItem = TagViewSelectItem - ExplicitWidth = 814 + ExplicitWidth = 824 end object MainMenu: TMainMenu Left = 16 diff --git a/src/main/PasswOptions.cpp b/src/main/PasswOptions.cpp index 1ebb12d..73dd49b 100644 --- a/src/main/PasswOptions.cpp +++ b/src/main/PasswOptions.cpp @@ -36,7 +36,7 @@ const WString const int OPTION_INDEX_TO_BIT[PASSWOPTIONS_NUM] = - { 0, 1, 13, 10, 2, 3, 4, 15, 12, 14, 5, 6, 7, 8, 17, 9, 11, 16 }; + { 0, 1, 13, 10, 18, 2, 3, 4, 15, 12, 14, 5, 6, 7, 8, 17, 9, 11, 16 }; template class _bitToOptionIndex { @@ -88,26 +88,28 @@ __fastcall TPasswOptionsDlg::TPasswOptionsDlg(TComponent* Owner) else m_pOptionsList->Assign(pStrList); - pStrList->Strings[BIT_TO_OPTION_INDEX[0]] += " (B8G6I1l|0OQDS5Z2) [1-3]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[1]] += " [1-4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[2]] += " [2]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[3]] += " [2]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[4]] += " [1,2]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[5]] += " [1,4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[6]] += " [1,4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[7]] += " [1,4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[8]] += " [1,4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[9]] += " [1]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[10]] += " [1,3]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[11]] += " [1-4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[12]] += " [2,3]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[13]] += " [1]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[14]] += " [2]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[15]] += " [2]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[16]] += " [1-4]"; - pStrList->Strings[BIT_TO_OPTION_INDEX[17]] += " [1]"; - - for (int i = 0; i < PASSWOPTIONS_NUM; i++) { + int i = 0; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " (B8G6I1l|0OQDS5Z2) [1-3]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1-4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [2]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [2]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,2]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,3]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1-4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [2,3]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [2]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [2]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1-4]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1]"; + pStrList->Strings[BIT_TO_OPTION_INDEX[i++]] += " [1,3]"; + + for (i = 0; i < PASSWOPTIONS_NUM; i++) { if (PASSWOPTIONS_STARRED[i]) { pStrList->Strings[BIT_TO_OPTION_INDEX[i]] += " *"; } diff --git a/src/main/PasswOptions.dfm b/src/main/PasswOptions.dfm index 6e4852f29e909dfd6b4b64256544a44d891b0843..5128b965e1081e996e3b12e322e2a7ea0051c0dc 100644 GIT binary patch delta 88 zcmeyTu~Bn^7~}Mb;>QFun7EyDGE?(P!ZTA!GML|OeEXc;$S^21H@_@ZAtyC4B{MHw qAu%sSp`<7=GY7;e&&VuEEiOn*PE| diff --git a/src/main/ProgramDef.h b/src/main/ProgramDef.h index eff0dd6..cdd83e7 100644 --- a/src/main/ProgramDef.h +++ b/src/main/ProgramDef.h @@ -24,8 +24,8 @@ const wchar_t PROGRAM_NAME[] = L"Password Tech", -PROGRAM_VERSION[] = L"3.5.4", -PROGRAM_LANGVER_MIN[] = L"3.5.4", +PROGRAM_VERSION[] = L"3.5.5", +PROGRAM_LANGVER_MIN[] = L"3.5.5", PROGRAM_AUTHOR[] = L"Christian Th\xF6ing", PROGRAM_AUTHOR_EMAIL[] = L"c.thoeing@web.de", PROGRAM_COPYRIGHT[] = L"Copyright \xa9 2002-2024", @@ -39,7 +39,7 @@ PROGRAM_INIFILE[] = L"PwTech.ini", PROGRAM_RANDSEEDFILE[] = L"randseed.dat"; const int -PROGRAM_MAINVER_UPDATE_NUM = 14; +PROGRAM_MAINVER_UPDATE_NUM = 15; const wchar_t LANGUAGE_DEFAULT_NAME[]= L"English", diff --git a/src/main/QuickHelp.dfm b/src/main/QuickHelp.dfm index adb0923..901ce5e 100644 --- a/src/main/QuickHelp.dfm +++ b/src/main/QuickHelp.dfm @@ -32,8 +32,8 @@ object QuickHelpForm: TQuickHelpForm BevelOuter = bvNone Font.Charset = ANSI_CHARSET Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Courier New' + Font.Height = -13 + Font.Name = 'Consolas' Font.Style = [] ParentFont = False PopupMenu = QuickHelpBoxMenu @@ -41,6 +41,8 @@ object QuickHelpForm: TQuickHelpForm ScrollBars = ssBoth TabOrder = 0 WordWrap = False + ExplicitWidth = 564 + ExplicitHeight = 99 end object QuickHelpBoxMenu: TPopupMenu Left = 8 diff --git a/src/main/SecureMem.h b/src/main/SecureMem.h index 1a52143..812d2e8 100644 --- a/src/main/SecureMem.h +++ b/src/main/SecureMem.h @@ -56,6 +56,18 @@ word32 _tcslen(const T* pStr) return static_cast(pEnd - pStr); } +inline word32 roundUpNextPowerOf2(word32 v) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + // class for secure memory operations, fast implementation // inspired by secblock.h in the Crypto++ package by Wei Dai @@ -69,16 +81,17 @@ class SecureMem word32 m_lSize; word32 m_lClearMark; + void CheckBounds(word32 lIndex) + { + if (lIndex >= m_lSize) + throw SecureMemError("SecureMem: Index ouf of bounds"); + } + public: static const word32 npos = -1; static constexpr word32 MAX_SIZE = 0xfffffffe / sizeof(T); - /*static word32 max_size() - { - return 0xfffffffe / sizeof(T); - }*/ - // constructor SecureMem() : m_pData(nullptr), m_lSize(0), m_lClearMark(npos) @@ -195,6 +208,44 @@ class SecureMem std::swap(m_lClearMark, other.m_lClearMark); } + // copy elements to data array at specified position + // -> position at which first byte is copied + // -> pointer to source array + // -> number of elements to copy + void Copy(word32 lOffset, + const T* pSrc, + word32 lSrcSize) + { + if (lOffset + lSrcSize > m_lSize) + throw SecureMemError("SecureMem::Copy() overflow"); + + memcpy(m_pData + lOffset, pSrc, lSrcSize * sizeof(T)); + } + + // append content from another object + void Append(const SecureMem& item) + { + if (item.IsEmpty()) + return; + + const word32 lOldSize = m_lSize; + GrowBy(item.m_lSize); + memcpy(m_pData + lOldSize, item.m_pData, item.SizeBytes()); + } + + // append content from another data array + // -> pointer to data array + // -> number of elements contained in array + void Append(const T* pSrc, word32 lSrcSize) + { + if (lSrcSize == 0) + return; + + const word32 lOldSize = m_lSize; + GrowBy(lSrcSize); + memcpy(m_pData + lOldSize, pSrc, lSrcSize); + } + // sets mark/position within the array up to which the array is to be zeroized // upon clearing or destruction void SetClearMark(word32 lMark) @@ -259,8 +310,11 @@ class SecureMem // -> number of elements to add void GrowBy(word32 lAddSize) { - if (lAddSize != 0) + if (lAddSize != 0) { + if (MAX_SIZE - m_lSize < lAddSize) + throw SecureMemSizeError(); Resize(m_lSize + lAddSize, true); + } } // expands the array to a size corresponding to the next higher power of 2 @@ -271,9 +325,10 @@ class SecureMem if (lNewSize > m_lSize) { if (lNewSize > MAX_SIZE) throw SecureMemSizeError(); - word32 lNewSizeLog = __builtin_clz(lNewSize) ^ 31; - lNewSize = (lNewSizeLog < 31) ? std::min(MAX_SIZE, - 1u << (lNewSizeLog + 1)) : MAX_SIZE; + //word32 lNewSizeLog = __builtin_clz(lNewSize) ^ 31; + //lNewSize = (lNewSizeLog < 31) ? std::min(MAX_SIZE, + // 1u << (lNewSizeLog + 1)) : MAX_SIZE; + lNewSize = std::min(MAX_SIZE, roundUpNextPowerOf2(lNewSize)); Resize(lNewSize, true); } } @@ -422,32 +477,39 @@ class SecureMem // front/back: Access first/last element as a reference T& front(void) { - if (IsEmpty()) - throw SecureMemError("SecureMem::front(): Array is empty"); + CheckBounds(0); return m_pData[0]; } const T& front(void) const { - if (IsEmpty()) - throw SecureMemError("SecureMem::front(): Array is empty"); + CheckBounds(0); return m_pData[0]; } T& back(void) { - if (IsEmpty()) - throw SecureMemError("SecureMem::back(): Array is empty"); + CheckBounds(0); return m_pData[m_lSize - 1]; } const T& back(void) const { - if (IsEmpty()) - throw SecureMemError("SecureMem::back(): Array is empty"); + CheckBounds(0); return m_pData[m_lSize - 1]; } + T& at(word32 lIndex) + { + CheckBounds(lIndex); + return m_pData[lIndex]; + } + + const T& at(word32 lIndex) const + { + CheckBounds(lIndex); + return m_pData[lIndex]; + } // operators @@ -505,7 +567,7 @@ class SecureMem { if (this != &src) { Assign(src.m_pData, src.m_lSize); - } + } return *this; } @@ -519,17 +581,52 @@ class SecureMem SecureMem& operator+= (const SecureMem& src) { - if (!src.IsEmpty()) { - word32 lOldSize = m_lSize; - Grow(m_lSize + src.m_lSize); - memcpy(m_pData + lOldSize, src.m_pData, src.SizeBytes()); - } + Append(src); return *this; } - friend SecureMem operator+ (SecureMem& a, const SecureMem& b) + SecureMem operator+ (const SecureMem& src) const + { + if (src.IsEmpty()) + return *this; + + if (MAX_SIZE - m_lSize < src.m_lSize) + throw SecureMemSizeError(); + + SecureMem result(m_lSize + src.m_lSize); + if (!IsEmpty()) + memcpy(result.m_pData, m_pData, SizeBytes()); + memcpy(result.m_pData + m_lSize, src.m_pData, src.SizeBytes()); + + return result; + } + + bool operator== (const SecureMem& other) const + { + if (this == &other) + return true; + // avoid applying memcmp() to null pointers + if (IsEmpty() && other.IsEmpty()) + return true; + return m_lSize == other.m_lSize && + memcmp(m_pData, other.m_pData, SizeBytes()) == 0; + } + + bool operator!= (const SecureMem& other) const + { + return !operator==(other); + } + + bool operator< (const SecureMem& other) const + { + // only call memcmp() if both data pointers are valid + return (!IsEmpty() && m_lSize == other.m_lSize) ? + memcmp(m_pData, other.m_pData, SizeBytes()) < 0 : m_lSize < other.m_lSize; + } + + bool operator> (const SecureMem& other) const { - return a += b; + return other.operator<(*this); } }; @@ -606,13 +703,15 @@ void SecureMem::StrCat(const T* pStr, word32 lLen, word32& lPos) throw SecureMemError("SecureMem::StrCat(): Invalid position"); if (lLen == 0) return; + if (MAX_SIZE - lPos < lLen + 1) + throw SecureMemSizeError(); BufferedGrow(lPos + lLen + 1); memcpy(m_pData + lPos, pStr, lLen * sizeof(T)); lPos += lLen; m_pData[lPos] = '\0'; } -template inline bool operator== (const SecureMem& a, +/*template inline bool operator== (const SecureMem& a, const SecureMem& b) { // avoid applying memcmp() to null pointers @@ -640,7 +739,7 @@ template inline bool operator> (const SecureMem& a, const SecureMem& b) { return b < a; -} +}*/ typedef SecureMem SecureAnsiString; diff --git a/src/passw/PasswDatabase.cpp b/src/passw/PasswDatabase.cpp index ec2775d..1c1e5b4 100644 --- a/src/passw/PasswDatabase.cpp +++ b/src/passw/PasswDatabase.cpp @@ -311,7 +311,7 @@ SecureWString PasswDbEntry::GetTagsAsString(wchar_t sep) const word32 lPos = 0; for (const auto& tag : m_tags) { if (lPos != 0) - sDest.StrCat(&sep, 1, lPos); + sDest.StrCat(sep, lPos); sDest.StrCat(tag, lPos); } @@ -865,7 +865,8 @@ void PasswDatabase::Write(const void* pBuf, word32 lNumOfBytes) // std::max(lNumOfBytes, m_cryptBuf.Size()), DEFAULT_BUF_SIZE)); //} - memcpy(&m_cryptBuf[m_lCryptBufPos], pSrcBuf, lNumOfBytes); + //memcpy(&m_cryptBuf[m_lCryptBufPos], pSrcBuf, lNumOfBytes); + m_cryptBuf.Copy(m_lCryptBufPos, pSrcBuf, lNumOfBytes); m_lCryptBufPos += lNumOfBytes; m_cryptBuf.GrowClearMark(m_lCryptBufPos); @@ -1094,7 +1095,8 @@ void PasswDatabase::SaveToFile(const WString& sFileName) comprBuf.BufferedGrow(lComprBufPos + lChunkSize); //if (lComprBufPos + lChunkSize > comprBuf.Size()) // comprBuf.GrowBy(comprBuf.Size()); - memcpy(comprBuf + lComprBufPos, workBuf, lChunkSize); + //memcpy(comprBuf + lComprBufPos, workBuf, lChunkSize); + comprBuf.Copy(lComprBufPos, workBuf, lChunkSize); lComprBufPos += lChunkSize; } lToCompress = 0; @@ -1189,8 +1191,6 @@ int PasswDatabase::ReadFieldIndex(void) { if (m_lCryptBufPos + 1 > m_cryptBuf.Size()) throw EPasswDbInvalidFormat(E_INVALID_FORMAT); - //word8 bIndex; - //memcpy(&bIndex, &m_cryptBuf[m_lCryptBufPos++], 1); return m_cryptBuf[m_lCryptBufPos++]; } //--------------------------------------------------------------------------- @@ -1201,9 +1201,10 @@ SecureAnsiString PasswDatabase::ReadAnsiString(void) if (lSize != 0) { if (m_lCryptBufPos + lSize > m_cryptBuf.Size()) throw EPasswDbInvalidFormat(E_INVALID_FORMAT); - asDest.New(lSize + 1); - memcpy(asDest, &m_cryptBuf[m_lCryptBufPos], lSize); - asDest[lSize] = '\0'; + //asDest.New(lSize + 1); + //memcpy(asDest, &m_cryptBuf[m_lCryptBufPos], lSize); + asDest.AssignStr(reinterpret_cast(&m_cryptBuf[m_lCryptBufPos]), lSize); + //asDest[lSize] = '\0'; m_lCryptBufPos += lSize; } return asDest; diff --git a/src/passw/PasswGen.cpp b/src/passw/PasswGen.cpp index 1de1b51..7b4778c 100644 --- a/src/passw/PasswGen.cpp +++ b/src/passw/PasswGen.cpp @@ -151,6 +151,28 @@ template inline int strchpos(const T* pStr, int nLen, T c) return -1; } +template int removeWhitespace(T* pStr, int nLen) +{ + if (nLen < 2) + return nLen; + + auto isWhitespace = [](T ch) + { + return ch == ' ' || ch == '\t'; + }; + + int nStart, nEnd; + for (nStart = 0; nStart < nLen - 1 && isWhitespace(pStr[nStart]); nStart++); + for (nEnd = nLen - 1; nEnd > nStart && isWhitespace(pStr[nEnd]); nEnd--); + + nLen = nEnd - nStart + 1; + if (nStart > 0) + memmove(pStr, &pStr[nStart], nLen * sizeof(T)); + + pStr[nLen] = '\0'; + return nLen; +} + static w32string s_charSetCodes[PASSWGEN_NUMCHARSETCODES_EXT]; @@ -792,7 +814,7 @@ int PasswordGenerator::GetPassword(SecureW32String& sDest, int nLength, int nFlags) const { - if (nLength <= 0) + if (nLength < 1) return 0; word32 lChar; @@ -969,6 +991,9 @@ int PasswordGenerator::GetPassword(SecureW32String& sDest, } #endif + if (nFlags & PASSW_FLAG_REMOVEWHITESPACE) + nLength = removeWhitespace(sDest.begin(), nLength); + return nLength; } //--------------------------------------------------------------------------- @@ -979,7 +1004,7 @@ int PasswordGenerator::GetPassphrase(SecureW32String& sDest, int nFlags, int* pnNetWordsLen) const { - if (nWords <= 0) + if (nWords < 1) return 0; //int nCharsLen = (pChars != nullptr) ? w32strlen(pChars) : 0; @@ -1464,6 +1489,9 @@ int PasswordGenerator::GetFormatPassw(SecureW32String& sDest, pDest[nDestIdx] = '\0'; + if (nFlags & PASSFORMAT_FLAG_REMOVEWHITESPACE) + nDestIdx = removeWhitespace(pDest, nDestIdx); + lRand = 0; return nDestIdx; @@ -1594,7 +1622,7 @@ int PasswordGenerator::GetPhoneticPassw(SecureW32String& sDest, int nLength, int nFlags) const { - if (nLength <= 0) + if (nLength < 1) return 0; // word32* pTris = (m_pPhoneticTris == nullptr) ? (word32*) PHONETIC_TRIS : m_pPhoneticTris; diff --git a/src/passw/PasswGen.h b/src/passw/PasswGen.h index 2ff9862..f8dc614 100644 --- a/src/passw/PasswGen.h +++ b/src/passw/PasswGen.h @@ -50,6 +50,7 @@ PASSW_FLAG_PHONETICUPPERCASE = 0x0080, PASSW_FLAG_PHONETICMIXEDCASE = 0x0100, // mixed-case characters in phonetic passwords PASSW_FLAG_EACHCHARONLYONCE = 0x0200, // each character must occur only once PASSW_FLAG_CHECKDUPLICATESBYSET = 0x0400, +PASSW_FLAG_REMOVEWHITESPACE = 0x0800, PASSPHR_FLAG_COMBINEWCH = 0x0001, // combine words & chars PASSPHR_FLAG_CAPITALIZEWORDS = 0x0002, // capitalize first letter of word @@ -58,7 +59,8 @@ PASSPHR_FLAG_DONTSEPWCH = 0x0008, // don't separate words & chars by '- PASSPHR_FLAG_REVERSEWCHORDER = 0x0010, PASSPHR_FLAG_EACHWORDONLYONCE = 0x0020, -PASSFORMAT_FLAG_EXCLUDEREPCHARS = 1, +PASSFORMAT_FLAG_EXCLUDEREPCHARS = 0x0001, +PASSFORMAT_FLAG_REMOVEWHITESPACE= 0x0002, PASSFORMAT_PWUSED_NOSPECIFIER = -1, // password provided, but no "P" specifier PASSFORMAT_PWUSED_EMPTYPASSW = -2; // "%P" specified, but no password available diff --git a/src/util/SendKeys.cpp b/src/util/SendKeys.cpp index f455598..e00b4c8 100644 --- a/src/util/SendKeys.cpp +++ b/src/util/SendKeys.cpp @@ -28,9 +28,9 @@ //--------------------------------------------------------------------------- #pragma package(smart_init) -static std::unordered_map keyPlaceholders; +static std::unordered_map s_keyPlaceholders; -static const int +const int VIRTUAL_KEY_DELAY = 200, INIT_DELAY = 250; @@ -44,42 +44,42 @@ SendKeys::KeySequence::~KeySequence() SendKeys::SendKeys(int nDelay) : m_nDelay(nDelay) { - if (keyPlaceholders.empty()) { - for (int nI = 0; nI < PasswDbEntry::NUM_STRING_FIELDS; nI++) { + if (s_keyPlaceholders.empty()) { + for (int i = 0; i < PasswDbEntry::NUM_STRING_FIELDS; i++) { AnsiString sFieldName = AnsiString(PasswDbEntry::GetFieldName( - static_cast(nI))).LowerCase(); - keyPlaceholders[std::string(sFieldName.c_str())] = -nI; + static_cast(i))).LowerCase(); + s_keyPlaceholders[std::string(sFieldName.c_str())] = -i; } - keyPlaceholders["parameter"] = -PasswDbEntry::USERNAME; + s_keyPlaceholders["parameter"] = -PasswDbEntry::USERNAME; - keyPlaceholders["tab"] = VK_TAB; - keyPlaceholders["return"] = VK_RETURN; - keyPlaceholders["enter"] = VK_RETURN; - keyPlaceholders["ctrl"] = VK_CONTROL; - keyPlaceholders["backspace"] = VK_BACK; - keyPlaceholders["clear"] = VK_CLEAR; - keyPlaceholders["shift"] = VK_SHIFT; - keyPlaceholders["alt"] = VK_MENU; - keyPlaceholders["pause"] = VK_PAUSE; - keyPlaceholders["capslock"] = VK_CAPITAL; - keyPlaceholders["escape"] = VK_ESCAPE; - keyPlaceholders["space"] = VK_SPACE; - keyPlaceholders["pageup"] = VK_PRIOR; - keyPlaceholders["pagedown"] = VK_NEXT; - keyPlaceholders["end"] = VK_END; - keyPlaceholders["home"] = VK_HOME; - keyPlaceholders["left"] = VK_LEFT; - keyPlaceholders["right"] = VK_RIGHT; - keyPlaceholders["down"] = VK_DOWN; - keyPlaceholders["up"] = VK_UP; - keyPlaceholders["select"] = VK_SELECT; - keyPlaceholders["print"] = VK_PRINT; - keyPlaceholders["execute"] = VK_EXECUTE; - keyPlaceholders["snapshot"] = VK_SNAPSHOT; - keyPlaceholders["insert"] = VK_INSERT; - keyPlaceholders["delete"] = VK_DELETE; - keyPlaceholders["help"] = VK_HELP; + s_keyPlaceholders["tab"] = VK_TAB; + s_keyPlaceholders["return"] = VK_RETURN; + s_keyPlaceholders["enter"] = VK_RETURN; + s_keyPlaceholders["ctrl"] = VK_CONTROL; + s_keyPlaceholders["backspace"] = VK_BACK; + s_keyPlaceholders["clear"] = VK_CLEAR; + s_keyPlaceholders["shift"] = VK_SHIFT; + s_keyPlaceholders["alt"] = VK_MENU; + s_keyPlaceholders["pause"] = VK_PAUSE; + s_keyPlaceholders["capslock"] = VK_CAPITAL; + s_keyPlaceholders["escape"] = VK_ESCAPE; + s_keyPlaceholders["space"] = VK_SPACE; + s_keyPlaceholders["pageup"] = VK_PRIOR; + s_keyPlaceholders["pagedown"] = VK_NEXT; + s_keyPlaceholders["end"] = VK_END; + s_keyPlaceholders["home"] = VK_HOME; + s_keyPlaceholders["left"] = VK_LEFT; + s_keyPlaceholders["right"] = VK_RIGHT; + s_keyPlaceholders["down"] = VK_DOWN; + s_keyPlaceholders["up"] = VK_UP; + s_keyPlaceholders["select"] = VK_SELECT; + s_keyPlaceholders["print"] = VK_PRINT; + s_keyPlaceholders["execute"] = VK_EXECUTE; + s_keyPlaceholders["snapshot"] = VK_SNAPSHOT; + s_keyPlaceholders["insert"] = VK_INSERT; + s_keyPlaceholders["delete"] = VK_DELETE; + s_keyPlaceholders["help"] = VK_HELP; } } //--------------------------------------------------------------------------- @@ -231,8 +231,8 @@ void SendKeys::SendComplexString(const WString& sStr, {} } else { - auto it = keyPlaceholders.find(sPlaceholder); - if (it != keyPlaceholders.end()) { + auto it = s_keyPlaceholders.find(sPlaceholder); + if (it != s_keyPlaceholders.end()) { blFound = true; pwszStr += it->first.length() + 2; // including brackets @@ -336,10 +336,10 @@ void SendKeys::SendComplexString(const WString& sStr, void SendKeys::SendKeySequence(KeySequence& input) { Sleep(INIT_DELAY); - for (int nI = 0; nI < input.keys.size(); nI++) { - if (!input.keys[nI].empty()) - SendInput(input.keys[nI].size(), input.keys[nI].data(), sizeof(INPUT)); - Sleep(input.delays[nI]); + for (word32 i = 0; i < input.keys.size(); i++) { + if (!input.keys[i].empty()) + SendInput(input.keys[i].size(), input.keys[i].data(), sizeof(INPUT)); + Sleep(input.delays[i]); } } //--------------------------------------------------------------------------- diff --git a/src/util/StringFileStreamW.cpp b/src/util/StringFileStreamW.cpp index 70c19ab..96557d5 100644 --- a/src/util/StringFileStreamW.cpp +++ b/src/util/StringFileStreamW.cpp @@ -24,6 +24,7 @@ #include "StringFileStreamW.h" #include "types.h" #include "Language.h" +#include "Util.h" //--------------------------------------------------------------------------- #pragma package(smart_init) @@ -42,9 +43,8 @@ __fastcall TStringFileStreamW::TStringFileStreamW(const WString& sFileName, bool blWriteOrAutodetectBOM, int nBufSize, const AnsiString& asSepChars) - : TFileStream(sFileName, wMode), m_enc(enc), m_buf(nBufSize + nBufSize % 2 + 2), - m_nBufLen(0), m_nBufPos(0), m_asSepChars(asSepChars), m_sSepChars(asSepChars), - m_nBOMLen(0) + : TFileStream(sFileName, wMode), m_enc(enc), m_nBufLen(0), m_nBufPos(0), + m_asSepChars(asSepChars), m_sSepChars(asSepChars), m_nBOMLen(0) { if (blWriteOrAutodetectBOM) { if (wMode == fmOpenRead || wMode == fmOpenReadWrite) { @@ -88,38 +88,45 @@ __fastcall TStringFileStreamW::TStringFileStreamW(const WString& sFileName, } } m_nCodeUnitSize = (m_enc == ceAnsi || m_enc == ceUtf8) ? 1 : 2; + if (m_nCodeUnitSize == 1) + m_cbuf.New(nBufSize); + else + m_wbuf.New(nBufSize); } //--------------------------------------------------------------------------- int __fastcall TStringFileStreamW::ReadString(wchar_t* pwszDest, int nDestBufSize) { - wchar_t* pwszBuf = reinterpret_cast(m_buf.Data()); + //wchar_t* pwszBuf = reinterpret_cast(m_buf.Data()); + if (nDestBufSize < 1) + return 0; while (true) { if (m_nBufPos < m_nBufLen) { - int nStrBytes; + int nStrLen; if (m_nCodeUnitSize == 1) - nStrBytes = strcspn(&m_buf[m_nBufPos], m_asSepChars.c_str()); + nStrLen = strcspn(&m_cbuf[m_nBufPos], m_asSepChars.c_str()); else - nStrBytes = wcscspn(&pwszBuf[m_nBufPos/2], m_sSepChars.c_str()) * 2; + nStrLen = wcscspn(&m_wbuf[m_nBufPos], m_sSepChars.c_str()); - bool blInBuf = nStrBytes < m_nBufLen - m_nBufPos; + bool blInBuf = nStrLen < m_nBufLen - m_nBufPos; if (blInBuf || Position == Size) { if (blInBuf) - nStrBytes += m_nCodeUnitSize; + nStrLen++; int nResult; - if (m_enc == ceAnsi || m_enc == ceUtf8) + if (m_enc == ceAnsi || m_enc == ceUtf8) { nResult = MultiByteToWideChar((m_enc == ceAnsi) ? CP_ACP : CP_UTF8, - 0, &m_buf[m_nBufPos], nStrBytes, pwszDest, nDestBufSize - 1); + 0, &m_cbuf[m_nBufPos], nStrLen, pwszDest, nDestBufSize - 1); + } else { - wcsncpy(pwszDest, &pwszBuf[m_nBufPos/2], nDestBufSize - 1); - nResult = std::min(nStrBytes/2, nDestBufSize - 1); + wcsncpy(pwszDest, &m_wbuf[m_nBufPos], nDestBufSize - 1); + nResult = std::min(nStrLen, nDestBufSize - 1); } - m_nBufPos += nStrBytes; + m_nBufPos += nStrLen; if (nResult == 0) throw EStringFileStreamError( @@ -134,9 +141,10 @@ int __fastcall TStringFileStreamW::ReadString(wchar_t* pwszDest, if (m_nBufPos == 0 && m_nBufLen != 0) throw EStringFileStreamError(TRL("Unicode string too long")); - Seek(m_nBufPos - m_nBufLen, soFromCurrent); + Seek((m_nBufPos - m_nBufLen) * m_nCodeUnitSize, soFromCurrent); - int nBytesRead = Read(m_buf, m_buf.Size() - 2); + const int nBytesRead = (m_nCodeUnitSize == 1) ? + Read(m_cbuf, m_cbuf.Size() - 1) : Read(m_wbuf, (m_wbuf.Size() - 1) * 2); if (nBytesRead == 0) return 0; @@ -144,68 +152,62 @@ int __fastcall TStringFileStreamW::ReadString(wchar_t* pwszDest, if (m_nCodeUnitSize == 2 && nBytesRead % 2 != 0) throw EStringFileStreamError(TRL("Invalid UTF-16 character encoding")); + m_nBufLen = (m_nCodeUnitSize == 1) ? nBytesRead : nBytesRead / 2; + if (m_enc == ceUtf16BigEndian) - swapUtf16ByteOrder(pwszBuf, nBytesRead/2); + swapUtf16ByteOrder(m_wbuf, m_nBufLen); - m_buf[nBytesRead] = '\0'; - m_buf[nBytesRead+1] = '\0'; + if (m_nCodeUnitSize == 1) + m_cbuf[m_nBufLen] = '\0'; + else + m_wbuf[m_nBufLen] = '\0'; - m_nBufLen = nBytesRead; m_nBufPos = 0; } } //--------------------------------------------------------------------------- -bool __fastcall TStringFileStreamW::WriteString(const wchar_t* pwszSrc, - int nStrLen, - int* pnBytesWritten) +void __fastcall TStringFileStreamW::WriteString(const wchar_t* pwszSrc, + int nStrLen) { - if (nStrLen == 0) { - if (pnBytesWritten) - *pnBytesWritten = 0; - return true; - } - - SecureAnsiString sEncBuf; - int nEncBytes, nBytesWritten; + if (nStrLen < 1) + return; switch (m_enc) { case ceAnsi: case ceUtf8: + { + const int nEncBytes = WideCharToMultiByte( + (m_enc == ceAnsi) ? CP_ACP : CP_UTF8, + 0, pwszSrc, nStrLen, nullptr, 0, nullptr, nullptr); - nEncBytes = WideCharToMultiByte((m_enc == ceAnsi) ? CP_ACP : CP_UTF8, - 0, pwszSrc, nStrLen, NULL, 0, NULL, NULL); + if (nEncBytes == 0) + throw EStringFileStreamError(TRL("Error while encoding Unicode string")); - if (nEncBytes == 0) - throw EStringFileStreamError(TRL("Error while encoding Unicode string")); + SecureAnsiString sEncBuf(nEncBytes); - sEncBuf.New(nEncBytes); - - WideCharToMultiByte((m_enc == ceAnsi) ? CP_ACP : CP_UTF8, 0, pwszSrc, nStrLen, - sEncBuf, nEncBytes, NULL, NULL); - - break; + WideCharToMultiByte( + (m_enc == ceAnsi) ? CP_ACP : CP_UTF8, 0, pwszSrc, nStrLen, + sEncBuf, nEncBytes, nullptr, nullptr); + if (Write(sEncBuf, nEncBytes) != nEncBytes) + OutOfDiskSpaceError(); + } case ceUtf16: - nEncBytes = nStrLen * 2; - - // write the data directly to the file - nBytesWritten = Write(pwszSrc, nEncBytes); - if (pnBytesWritten) - *pnBytesWritten = nBytesWritten; - - return nBytesWritten == nEncBytes; - + { + // write the data directly to the file + const int nBytes = nStrLen * 2; + if (Write(pwszSrc, nBytes) != nBytes) + OutOfDiskSpaceError(); + break; + } case ceUtf16BigEndian: - nEncBytes = nStrLen * 2; - sEncBuf.Assign(reinterpret_cast(pwszSrc), nEncBytes); - swapUtf16ByteOrder(reinterpret_cast(sEncBuf.Data()), nStrLen); - break; + { + SecureWString sEncBuf(pwszSrc, nStrLen); + swapUtf16ByteOrder(sEncBuf, nStrLen); + if (Write(sEncBuf, sEncBuf.SizeBytes()) != sEncBuf.SizeBytes()) + OutOfDiskSpaceError(); + break; + } } - - nBytesWritten = Write(sEncBuf, nEncBytes); - if (pnBytesWritten) - *pnBytesWritten = nBytesWritten; - - return nBytesWritten == nEncBytes; } //--------------------------------------------------------------------------- diff --git a/src/util/StringFileStreamW.h b/src/util/StringFileStreamW.h index 6c2d217..a1def83 100644 --- a/src/util/StringFileStreamW.h +++ b/src/util/StringFileStreamW.h @@ -52,7 +52,8 @@ class TStringFileStreamW : public TFileStream { private: CharacterEncoding m_enc; - SecureMem m_buf; + SecureMem m_cbuf; + SecureMem m_wbuf; int m_nBufLen; int m_nBufPos; AnsiString m_asSepChars; @@ -92,14 +93,11 @@ class TStringFileStreamW : public TFileStream int nDestBufSize); // write string to file + // throws exception if string encoding is invalid or write error occurred // -> pointer to the source buffer (wide string) // -> string length (no. of characters) - // -> variable which obtains the number of bytes written to the file - // <- 'true': write operation was successful - // 'false': write error - bool __fastcall WriteString(const wchar_t* pwszSrc, - int nStrLen, - int* pnBytesWritten = nullptr); + void __fastcall WriteString(const wchar_t* pwszSrc, + int nStrLen); // set file pointer to beginning of file void __fastcall FileBeginning(void) diff --git a/src/util/UpdateCheck.cpp b/src/util/UpdateCheck.cpp index aa38c10..4245299 100644 --- a/src/util/UpdateCheck.cpp +++ b/src/util/UpdateCheck.cpp @@ -39,7 +39,8 @@ std::atomic TUpdateCheckThread::s_blThreadRunning(false); //--------------------------------------------------------------------------- -TUpdateCheckThread::CheckResult __fastcall TUpdateCheckThread::CheckForUpdates(bool blShowError) +TUpdateCheckThread::CheckResult __fastcall TUpdateCheckThread::CheckForUpdates( + bool blShowError) { try { const WString sAltUrl = Format("%s?fakeParam=%.8x", ARRAYOFCONST(( @@ -52,14 +53,14 @@ TUpdateCheckThread::CheckResult __fastcall TUpdateCheckThread::CheckForUpdates(b wszFileName[0] = '\0'; //const wchar_t* pwszUrl = L"http://pwgen-win.sourceforge.net/manual.pdf"; - const wchar_t* pwszUrl = PROGRAM_URL_VERSION; + const wchar_t* pwszUrl = PROGRAM_URL_VERSION; // first try to delete a cache entry of the file before downloading it // to ensure that we get the latest version from the server if (!DeleteUrlCacheEntry(pwszUrl) && GetLastError() == ERROR_ACCESS_DENIED) pwszUrl = sAltUrl.c_str(); - HRESULT hResult = URLDownloadToCacheFile(nullptr, pwszUrl, wszFileName, + HRESULT hResult = URLDownloadToCacheFile(nullptr, pwszUrl, wszFileName, MAX_PATH, 0, NULL); WString sFileName(wszFileName); @@ -110,9 +111,13 @@ TUpdateCheckThread::CheckResult __fastcall TUpdateCheckThread::CheckForUpdates(b } } catch (Exception& e) { - if (blShowError) - MsgBox(TRLFormat("Error while checking for updates:\n%1.", - { e.Message }), MB_ICONERROR); + if (blShowError) { + TThread::Synchronize(nullptr, [&e]() + { + MsgBox(TRLFormat("Error while checking for updates:\n%1.", + { e.Message }), MB_ICONERROR); + }); + } return CheckResult::Error; } diff --git a/src/util/UpdateCheck.h b/src/util/UpdateCheck.h index 941b7ea..3ff0ec2 100644 --- a/src/util/UpdateCheck.h +++ b/src/util/UpdateCheck.h @@ -36,7 +36,7 @@ class TUpdateCheckThread : public TThread }; __fastcall TUpdateCheckThread(std::function terminateFunc) - : TThread(false), m_nResult(CheckResult::NotAvailable), + : TThread(false), m_result(CheckResult::NotAvailable), m_terminateFunc(terminateFunc) { FreeOnTerminate = true; @@ -46,7 +46,7 @@ class TUpdateCheckThread : public TThread } __property CheckResult Result = - { read=m_nResult }; + { read=m_result }; static CheckResult __fastcall CheckForUpdates(bool blShowError); @@ -56,14 +56,14 @@ class TUpdateCheckThread : public TThread } private: - CheckResult m_nResult; + CheckResult m_result; std::function m_terminateFunc; static std::atomic s_blThreadRunning; virtual void __fastcall Execute(void) override { - m_nResult = CheckForUpdates(false); - ReturnValue = static_cast(m_nResult); + m_result = CheckForUpdates(false); + ReturnValue = static_cast(m_result); } void __fastcall ThreadTerminate(TObject* Sender) diff --git a/src/util/Util.cpp b/src/util/Util.cpp index 310f302..fc45560 100644 --- a/src/util/Util.cpp +++ b/src/util/Util.cpp @@ -44,7 +44,7 @@ #pragma package(smart_init) WString g_msgBoxCaptionList[4] = -{ L"Info", L"Warning", L"Question", L"Error" }; +{ "Info", "Warning", "Question", "Error" }; //--------------------------------------------------------------------------- SecureWString strCr2Crlf(const SecureWString& sSrc) @@ -745,17 +745,18 @@ const word8 CUSTOM_BASE64_DEC_MAP[128] = 49, 50, 51, 127, 127, 127, 127, 127 }; -int CheckDonorKey(const AnsiString& asInput, - AnsiString* pasId, - int* pnType) +std::tuple CheckDonorKey(const AnsiString& asInput) { + int nType = DONOR_TYPE_STD; + AnsiString asDonorId; + if (asInput.Length() < 16) - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; AnsiString asKey = asInput.Trim(); if (asKey.Length() != 16) - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; word8 buf[13]; buf[12] = '\0'; @@ -764,42 +765,37 @@ int CheckDonorKey(const AnsiString& asInput, base64_decode(buf, &destLen, reinterpret_cast(asKey.c_str()), 16); if (destLen != 12) - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; const word32 param[4] = { 0x77adb64b, 0x959561b7, 0x8799de93, 0x22ef89dd }; if (!decode_96bit(reinterpret_cast(buf), param)) - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; if (buf[0] != 'P' || buf[1] != '3') - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; for (int nI = 2; nI < 10; nI++) { if (buf[nI] < ' ' || buf[nI] > '~') - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; } int n1 = CUSTOM_BASE64_DEC_MAP[buf[5]]; int n2 = CUSTOM_BASE64_DEC_MAP[buf[6]]; if (n1 == 127 || n2 == 127) - return DONOR_KEY_INVALID; + return { DONOR_KEY_INVALID, nType, asDonorId }; int nVersion = ((n2 & 15) << 6) | n1; - int nType = n2 >> 4; + nType = n2 >> 4; if (nType != DONOR_TYPE_PRO && PROGRAM_MAINVER_UPDATE_NUM - nVersion > DONOR_STD_NUM_UPDATES) - return DONOR_KEY_EXPIRED; - - if (pasId != nullptr) { - buf[10] = '\0'; - *pasId = AnsiString(reinterpret_cast(buf) + 2); - } + return { DONOR_KEY_EXPIRED, nType, asDonorId }; - if (pnType != nullptr) - *pnType = nType; + buf[10] = '\0'; + asDonorId = AnsiString(reinterpret_cast(buf) + 2); - return DONOR_KEY_VALID; + return { DONOR_KEY_VALID, nType, asDonorId }; } //--------------------------------------------------------------------------- diff --git a/src/util/Util.h b/src/util/Util.h index 5c71fd0..47e78b4 100644 --- a/src/util/Util.h +++ b/src/util/Util.h @@ -22,6 +22,7 @@ #define UtilH //--------------------------------------------------------------------------- #include +#include #include "SecureMem.h" #include "UnicodeUtil.h" @@ -160,8 +161,6 @@ enum { DONOR_STD_NUM_UPDATES = 3 }; -int CheckDonorKey(const AnsiString& asInput, - AnsiString* pasId = NULL, - int* pnType = NULL); +std::tuple CheckDonorKey(const AnsiString& asInput); #endif