From 2c7bed55b00d04094a6dff8499d4733db5599693 Mon Sep 17 00:00:00 2001 From: mistic100 Date: Sun, 28 Jun 2015 17:36:49 +0200 Subject: [PATCH] next version is 2.0.0 --- CHANGELOG.md | 7 +++ README.md | 12 ++-- installer/README.md | 2 + installer/data/readme.txt | 105 ----------------------------------- installer/package.bat | 2 +- installer/setup.iss | 4 +- src/UMWP_Autochanger.qrc | 2 +- src/controller.cpp | 1 + src/gui/changelogdialog.h | 7 +++ src/gui/changelogdialog.ui | 32 ++++++++--- src/gui/mainwindow.cpp | 28 ++++++++-- src/gui/menubar.cpp | 4 +- src/gui/menubar.h | 2 - src/images/error.png | Bin 5667 -> 0 bytes src/images/icons/todo.png | Bin 0 -> 1184 bytes src/images/src/button.psd | Bin 58408 -> 0 bytes src/images/src/keys.psd | Bin 64305 -> 0 bytes src/lang/en_GB/changelog.htm | 14 +++++ src/lang/en_GB/main.ts | 48 +++++++++------- src/lang/fr_FR/changelog.htm | 14 +++++ src/lang/fr_FR/main.qm | Bin 10929 -> 11019 bytes src/lang/fr_FR/main.ts | 50 +++++++++-------- src/wallpapergenerator.cpp | 5 ++ 23 files changed, 164 insertions(+), 175 deletions(-) delete mode 100644 installer/data/readme.txt delete mode 100644 src/images/error.png create mode 100644 src/images/icons/todo.png delete mode 100644 src/images/src/button.psd delete mode 100644 src/images/src/keys.psd diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee5054..f7894cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +* [2.0 (28/06/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=2.0) + * change: delete all dependencies to UltraMon + * new: allows to edit keyboard hotkeys of multiple sets in one time + * new: adds a "Open directory" button in the context menu + * new: allows to hide the closing warning + * new: change tray icon when paused + * [1.9 (25/02/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.9) * fixed: 90% JPEG quality for generated wallpapers * fixed: timer not reseted on manual refresh diff --git a/README.md b/README.md index 9911ebc..a8f4e8a 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -# UltraMon Wallpaper Autochanger +# Ultimate Monitor Wallpaper Autochanger [![stable version](http://www.strangeplanet.fr/work/umwp-autochanger/badge.php?what=version)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php) [![downloads](http://www.strangeplanet.fr/work/umwp-autochanger/badge.php?what=downloads)](http://www.strangeplanet.fr/work/umwp-autochanger) [![Documentation](https://img.shields.io/badge/documentation-online-blue.svg)](http://www.strangeplanet.fr/work/umwp-autochanger#install) [![Gratipay](https://img.shields.io/gratipay/mistic100.svg)](https://gratipay.com/mistic100) -UMWP Autochanger is a little tool for [UltraMon](http://www.realtimesoft.com/ultramon/) users. I has two main features : +UMWP Autochanger is a little tool for multi-monitors windows users. I has two main features : * randomly and periodically change the wallpaper of all your monitors, * manage sets of wallpapers, allowing you to quickly change which images are used. -Version : 1.9 -Release date : 25/02/2015 +Version : 2.0 +Release date : 28/06/2015 Author : Damien "Mistic" Sorel Website : http://www.strangeplanet.fr/work/umwp-autochanger License : GNU General Public License Version 3 +![screenshot](http://www.strangeplanet.fr/work/umwp-autochanger/src/screenshot-main.png) ## Requirement -* UltraMon 3.2.1 or higher * Windows 7/8 32/64 bits @@ -26,5 +26,5 @@ The application is currently available in English and French. [A translation pag ## Compiling -You can compile the application yourself with Qt Designer. +You can compile the application yourself with Qt Creator. You will need Qt 4.8.4. diff --git a/installer/README.md b/installer/README.md index b75aa38..65bcb39 100644 --- a/installer/README.md +++ b/installer/README.md @@ -9,3 +9,5 @@ Put these DLLs in `data` directory before running `setup.iss` or `package.bat`: * QtGui4.dll * QtNetwork4.dll * QtXml4.dll +* imageformats/qgif4.dll +* imageformats/qjpeg4.dll \ No newline at end of file diff --git a/installer/data/readme.txt b/installer/data/readme.txt deleted file mode 100644 index 50297ef..0000000 --- a/installer/data/readme.txt +++ /dev/null @@ -1,105 +0,0 @@ -UltraMon Wallpaper Autochanger -================ - -UMWP Autochanger is a little tool for [UltraMon](http://www.realtimesoft.com/ultramon/) users. I has two main features : -* randomly and periodically change the wallpaper of all your monitors, -* manage sets of wallpapers, allowing you to quickly change which images are used. - -Version : 1.9 -Release date : 25/02/2015 -Author : Damien "Mistic" Sorel -Website : http://www.strangeplanet.fr/work/umwp-autochanger -License : GNU General Public License Version 3 - -[**Download lastest version**](http://www.strangeplanet.fr/work/umwp-autochanger/download.php) - -[**Documentation**](http://www.strangeplanet.fr/work/umwp-autochanger#install) - - -## Requirement -* UltraMon 3.2.1 or higher -* Windows 7/8 32/64 bits - - -## Translation -The application is currently available in English and French. [A translation page](https://www.transifex.com/projects/p/umwp-autochanger) has been created on Transifex, feel free to register and contribute. - - -## Compiling -You can compile the application yourself with Qt Designer. -You will need Qt 4.8.4. - - -# Changelog - -* [1.9 (25/02/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.9) - * fixed: 90% JPEG quality for generated wallpapers - * fixed: timer not reseted on manual refresh - * new: right-click context menu to edit sets - * new: choosable language in Options - * new: "Mode" option, "Random" or "Sequential" - * new: edit multiple sets together (Mode, Type and Style) - * technical: remove dependency to libqxt - * technical: MD5 check on auto-update - -* [1.8 (10/11/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.8) - * new: can disable wallpaper support on specific monitors - * new: choose background color of each monitor - * new: "Delete" button on "Active files" dialog - * new: auto-update process - * fixed: crash after changing delay - -* [1.7 (01/08/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.7) - * new: add "Fill" mode - * new: create default.wallpaper file if not present - * change: don't delete missing sets but highlight them - -* [1.6 (08/03/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.6) - * change: Alt-F4 effectively closes application without prompt - * fixed: application closes when closing dialog window while main window is hidden - * fixed: delay input with wrong display format - * fixed: set parameters randomly resetted - -* [1.5 (12/02/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.5) - * new: export and import XML configuration file - * new: check UltraMon version - * new: add logger for debuging purposes - * new: "Active files" dialog with cliquable thumbnails for direct access to files - * fixed: better detection of UltraMon executable - * fixed: no more freeze when updating wallpaper - -* [1.4 (06/01/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.4) - * new: more flexibility for hot keys + new hotkeys for refresh, start/pause, show/hide - * new: permanently save last used directory - -* [1.3 (03/12/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.3) - * new: can choose the type of wallpaper ('monitor' or 'desktop') and the style ('center', 'tile', 'stretch', 'stretch proportional') - * new: icons for main buttons (add, [de]activate, delete) - * change: dedicated configuration dialog - * change: use a cache to speed up startup - * change: random images are taken from the same (random too) set if more than one is active - * fixed: refresh issue of the list when deleting sets - -* [1.2 (09/09/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.2) - * new: system-wide hotkeys for quick change - * new: reorder sets with drag'n'drop - * new: integrated help - -* [1.1 (13/05/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.1) - * fixed: use better shuffle - * fixed: remember last used directory - * fixed: accept files with .jpeg extension - * new: add version checker - * new: add quick switch menu in tray con - * code optimizations - -* [1.0 (02/03/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0) - * fixed: multi delete doesn't work correclty - -* [1.0 alpha2 (28/02/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0a2) - * fixed: autorun shortcut not starting in the good working directory - * fixed: delay spinbox no initialized correctly - * new: multiple selection - -* [1.0 alpha1 (27/02/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0a1) - * first version \ No newline at end of file diff --git a/installer/package.bat b/installer/package.bat index a9a2a55..4ba2ded 100644 --- a/installer/package.bat +++ b/installer/package.bat @@ -1 +1 @@ -"C:\Program Files\7-Zip\7z.exe" a UMWP_Autochanger_1.9.zip ./data/* -x!*.ico \ No newline at end of file +"C:\Program Files\7-Zip\7z.exe" a UMWP_Autochanger_2.0.zip ./data/* -x!*.ico \ No newline at end of file diff --git a/installer/setup.iss b/installer/setup.iss index 5605dff..c79a5fa 100644 --- a/installer/setup.iss +++ b/installer/setup.iss @@ -1,6 +1,6 @@ #define AppId "{401CCECB-FFCC-4AF3-846D-A535F59D0834}" #define AppName "UMWP Autochanger" -#define AppVersion "1.9" +#define AppVersion "2.0" #define AppPublisher "StrangePlanet" #define PublisherURL "http://www.strangeplanet.fr" #define ProjectURL "http://www.strangeplanet.fr/work/umwp-autochanger" @@ -30,7 +30,6 @@ DisableProgramGroupPage=auto ; readme LicenseFile={#DataRoot}\gpl-3.0.txt -InfoAfterFile={#DataRoot}\readme.txt ; output OutputDir=./ @@ -65,6 +64,7 @@ Filename: "{app}\{#AppExeName}"; Description: "{cm:LaunchProgram,{#StringChange( [InstallDelete] Type: filesandordirs; Name: "{app}\cache"; Type: files; Name: "{app}\debug.log"; +Type: files; Name: "{app}\readme.txt"; Type: files; Name: "{app}\QxtCore.dll"; Type: files; Name: "{app}\QxtGui.dll"; diff --git a/src/UMWP_Autochanger.qrc b/src/UMWP_Autochanger.qrc index 94dd69c..3f1eef9 100644 --- a/src/UMWP_Autochanger.qrc +++ b/src/UMWP_Autochanger.qrc @@ -2,7 +2,6 @@ images/icon.png images/icon_pause.png - images/error.png images/icons/about.png images/icons/add.png images/icons/add_color.png @@ -47,5 +46,6 @@ lang/fr_FR/main.qm lang/fr_FR/changelog.htm lang/en_GB/changelog.htm + images/icons/todo.png diff --git a/src/controller.cpp b/src/controller.cpp index 22de3b8..6f679d0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -104,6 +104,7 @@ void Controller::update() m_settings->updateSets(); m_enviro->refreshMonitors(); emit listChanged(false); + m_files.clear(); // get random files m_set = m_generator->getRandomSet(); diff --git a/src/gui/changelogdialog.h b/src/gui/changelogdialog.h index a304c5d..9c8b32a 100644 --- a/src/gui/changelogdialog.h +++ b/src/gui/changelogdialog.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "ui_changelogdialog.h" @@ -63,6 +64,12 @@ class ChangelogDialog : public QDialog { delete ui; } + +private slots: + void on_content_anchorClicked(const QUrl &_url) + { + QDesktopServices::openUrl(_url); + } }; #endif // CHANGELOGDIALOG_H diff --git a/src/gui/changelogdialog.ui b/src/gui/changelogdialog.ui index 8dbfc34..75304a6 100644 --- a/src/gui/changelogdialog.ui +++ b/src/gui/changelogdialog.ui @@ -13,15 +13,21 @@ Changelog - - - - - true + + + + + + + + :/images/icons/todo.png + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - + Qt::Horizontal @@ -34,9 +40,21 @@ + + + + true + + + false + + + - + + + buttonBox diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index c429d4f..37f686a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -94,7 +94,12 @@ void MainWindow::init() if (QString::fromAscii(APP_VERSION).compare(m_settings->get("changelog_shown").toString()) > 0) { - openChangelogDialog(); + m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); + + if (m_settings->nbSets()>0) // do not show changelog at first startup + { + openChangelogDialog(); + } } } @@ -196,6 +201,12 @@ void MainWindow::toggleWindow(bool _forceHide) activateWindow(); m_trayIcon->setHidden(false); + + if (QString::fromAscii(APP_VERSION).compare(m_settings->get("changelog_shown").toString()) > 0) + { + m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); + openChangelogDialog(); + } } } @@ -349,8 +360,6 @@ void MainWindow::openChangelogDialog() { ChangelogDialog dialog(this); dialog.exec(); - - m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); } /** @@ -358,7 +367,7 @@ void MainWindow::openChangelogDialog() */ void MainWindow::openAboutDialog() { - QString text = "

" + QString::fromAscii(APP_NAME) + " " + QString::fromAscii(APP_VERSION) + "

"; + QString text = "

" + QString::fromAscii(APP_FILEDESCRIPTION) + " " + QString::fromAscii(APP_VERSION) + "

"; text+= "Created by Damien \"Mistic\" Sorel.
"; text+= "© 2013-2015 StrangePlanet.fr
"; text+= "Licenced under GNU General Public License Version 3"; @@ -384,8 +393,15 @@ void MainWindow::openAboutDialog() */ void MainWindow::openPreviewDialog() { - PreviewDialog dialog(this, m_ctrl); - dialog.exec(); + if (m_ctrl->files().isEmpty()) + { + QMessageBox::warning(this, tr("Error"), tr("No active files"), QMessageBox::Ok); + } + else + { + PreviewDialog dialog(this, m_ctrl); + dialog.exec(); + } } /** diff --git a/src/gui/menubar.cpp b/src/gui/menubar.cpp index 5960051..7d1bd1d 100644 --- a/src/gui/menubar.cpp +++ b/src/gui/menubar.cpp @@ -22,7 +22,7 @@ MenuBar::MenuBar(MainWindow* _parent, Controller *_ctrl) : QMenu* menuHelp = new QMenu(); QAction* actionHelp = menuHelp->addAction(QIcon(":/images/icons/help_color.png"), tr("User guide")); - m_actionFiles = menuHelp->addAction(QIcon(":/images/icons/images.png"), tr("Active files")); + QAction* actionFiles = menuHelp->addAction(QIcon(":/images/icons/images.png"), tr("Active files")); menuHelp->addSeparator(); QAction* actionIssues = menuHelp->addAction(QIcon(":/images/icons/bug.png"), tr("Report a bug")); QAction* actionHome = menuHelp->addAction(QIcon(":/images/icons/house.png"), tr("Homepage")); @@ -51,7 +51,7 @@ MenuBar::MenuBar(MainWindow* _parent, Controller *_ctrl) : connect(actionHelp, SIGNAL(triggered()), _parent, SLOT(openHelpDialog())); connect(actionAbout, SIGNAL(triggered()), _parent, SLOT(openAboutDialog())); - connect(m_actionFiles, SIGNAL(triggered()), _parent, SLOT(openPreviewDialog())); + connect(actionFiles, SIGNAL(triggered()), _parent, SLOT(openPreviewDialog())); // use signal mapper for all buttons oppening a web page QSignalMapper* mapper = new QSignalMapper(this); diff --git a/src/gui/menubar.h b/src/gui/menubar.h index b19bfd8..e7ee03a 100644 --- a/src/gui/menubar.h +++ b/src/gui/menubar.h @@ -23,8 +23,6 @@ class MenuBar : public QToolBarExt Controller* m_ctrl; QToolButton* m_actionPause; - QAction* m_actionFiles; - QWidgetBlinker* m_pauseBlinker; public: diff --git a/src/images/error.png b/src/images/error.png deleted file mode 100644 index 2e8b8b0c48a64c64311def2dfb391acd7d2eaac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5667 zcmV+;7ToEHP)nFu)5WLs$%CW62{V6W$~>L#C!?DuKzH zRF)Y+DkN{hgFF(#3y{PnY_`E*jE%7+Z`jDTY+06MN!H@-mU_9%IrGQ8-D-IV#(_y@ zs<>6B?$MRH@BQ5G@BGg1_d7@M!STWI!SUbu5dT?UEKO5Rn=)m_f|I5%UOKJioY{4C z3tFnGX4+CleXV=|LrA0GdAXj^(F5%xBRkryw=_Q z?87g;^uX2~JKp#&2V518r_Nux^wL|-IOD6=&YF3S%w!na-@#blVTxm8C_osdMoQ2c zv;w8e(Ass;#i9_tB9cf@HFYYD^B3UM)bLnW*Ncy}wLS34#*NSCi^bfZ9r)Z2oqov! zH{blrCGluOrmdB(J?$vp)21Ck#G*)P1dtHIYEU7t*5HTGTA}>_UX708<`7wP8kVZ6>QQ3WXvO0MKR25BeGn7|A4_hJ9;ara6<1 z-2R2n-!*8NL)+ThH~pspFTe1@FF$hQjo;t<^h!GS?$xpSdZc9`jQ~tai7+HW8VExo zWuQ1=(?SGBCBk7XN?@P^-#z|w#kkj{VPF`@Sd_zWzDcaFUwmQt^1s+TGTgEEVAuBd z9r(_xuKLFZuDtS}U;p_djHJ^#KB*B=f|Lf*7>AT)wIv9FD8ZJ1!@;DF8C7NVE1g{V zx<;$u&&}#;hB`YLe*F#c*sf(Z8yZ42G;o$txqlXyjktL-qeZuh5*(KU=72-ux&)XfX-%^eDTF3 zT3Q(0w->{vkX-qH+Mn!yYMV53vZww?YPXm{(6j9jP$Nun8{@DxsoMl zjhRSrq+>sePdX{uv}Dn&r#HRvt3Mj}ils|$xO?&9zuxuwMk1*crfFfA0k90ArRQO2 z&D?wL;myTM$ShjSf?2ajuU?IaMKPi=0;?9G2M=FBrJ0u$7XoQok#&febk69$ghcHIxJy>?~v z@Zn_MakLeSW10qL2x^)prePp5X{LVh4%W3y=eft9VfU_m#6Elm%P#pCBdb?~6d|-M zJGpUKIo_m1nij=FT{ND2GEEQuh==zb;Pt21)7sv_+|S&=l(8Jct!)^IWZ60ZglXaC z^Tb_GEd0p1=lpWx#(&dVJ0}GE<%=)=*7Di2FFCk>KXz3WrcnWFm>8CU1d>%rM$bQ= zm$x6{>dUWX>4(nb$;TeUTQrYlXP?c{7gix65o9!q6e958LIf|MLSboI6uJ&lH)Sd( zKlKC;u6c!lZC!ljYj@%0V~m-a#nUIz{p4>kYidGZf+2!NMxzWL>K11$UX&WCN*1>4 z+xN=bW^r$OQOfwGGiTm7+}le$knrYKd;+%yu8Q8iVGZLxzZ16qOvM_8LI~LP}n_D?=YRff$Fl~Lii;JdByI@YL zX0ofnN+vNaD}=N#E1DIFf*nDuTE%qbP&K)l(a|w#Qb}%F{#iDy-oRR=Iq7fz7OPM| z6bcx21ZkN;GcAlr6tB0J`WZ85e(2wLbn{lKohVoSkIOhZltZDJHaCH>@m2aCew4`6 zsYuI4npQA7SSCi;H)~Q1bsgd~&;QVZSu-zu*Cze>Wy`+#@v7vhqv^Dki9`S$k7HU^ z;F+bwFoOBlOr>x-J7LRard)D9#oAi(Ls_b;V=P&6IxqeHd7OoFIrXZm$gNz7k`f~p zLjcmUaC&;EYnevlzy1sNuXvUQW%KFlu3%`$A?J9s%&w-feJ34v-Ho;^%$gJeJwDAb z9?1zQQN*~dDO|}2p-n}c13vAf-q_3WR_IImW+Y-6``%xn!kj)}|4+$92C}wpP z(vV24kwRkDq$nQj!tCv(>HKpjM57ead8(5(i%&b17oUC>|Kw@RKmBxaYuBPp10$Zq z>Fy>qc`|hm+|T11Hc?&FeDdnc7##6&JfFsCaZ-EVqT`Oc@DNzdO=#aAk4VNt^s)n! z0Hz^i)1<~Hw{3d}D83``;_1^b`~2)VpDXTu3xz-z3;4rB`27QT{r#wc0VozQl2sU~ z6w)Mq4wk% z)PCom`N^{{(5OwWzVZ@=vx;2NqrN#x&Hg>?|I$}*71+&9DAyYgGsBESS43eta6q_) zf~cQ5wffcm{&j=d?A~_-K5yQ<&t4ggom<$yA03N& zG*i_G(}H-6{DDqHR~NO*&Y~E#DP|qw34_z-&E?hAFEQHG$b$Lvh>zt+eB&N|-MW<~ zOfJ9lLXPGXj^|TdZxe0bMdw$)hU@D9)^h_uJsxizn{gq+Y{XZhc5*YV+4O<84)?wE zj=+C$>cYFv%opYq4My#0V$8(Ny2N7^OHQ57E3023)6~fH>#ygb6;IP_N4WHo3mGkH3a&>yWs~Uap!4pp z0>4`!C%XLJ%ZS`&H?0n*#fXypUnfEty)9Fdh$WgRq zQNcPfj5lPUykX!C9>MMDL5<~*i6mA_3;6?`sP=YJOFx8{jN;@yB9>&~yt(Y&)y{@3 zTUa!E4(FfyVG5qc@qMC63vDv>%ddS;waxIzk3(Ot}bFr zmJpdWi_G>Nc=vsqx_iGxE^d;~yVwzv%RY7yuICf63>;tMxE@x_!ajI_uD|~WJf$(4 znoy2g@{`!Y>vX+qjX;+O-%>O%&2;`v2Eo6FYpEXw1U%6+RlvGH`r_ z(oh|<;Ps8{|DRvN(_l6?2j!hoW)wne0!V}a8OR_^6SJ-kHo5nLumEA3R99wH4pVW0-O9 za;2J>IJRzgtisAyzEXZrU{fkkuvAIZB}J9O_a-XshrjbZA75)^O%0hhHenv?kZ2%o8*F;+1vb_=Py#mnUw zS@$X<8`q;<55rENwF*E4_*$vsg_cg%^9#x}!Sh0MR-riurBhWh>F{MtYyrF$g3vL#Ayj!>iU%ID81hiX$u=t^DzMD-t26R1R?72{_wVD0CCC!Sl=G zb{wWOj{OOMmE#%1AhTmTsrou*ZENM;=U$-2jC1GhpCen;WD6diA&J`-1?4lE^RP_G zHCJ50=9SO!T3s!t{ojYsM+Wg77qhMw8IR!?ij3{+VEC1F46RyCW@{_Tb&;{Ez<(%J z_T~V@qhwt#bKK8}XU?d0Gyo;SMai4mE&TBr2H8O~fn+&8~JR!LLy6f4!ZZoTWmj(a(KGH9&V(_^a zIJ#jY!)w+s{PHX0I}f6@M#hq%zwkjTRJpbrm_#lXqdSx7I44)OK9pj^W|9_Iz$68jT@bFPxf6D*+W|?D^#vpoQRQ$6lIGTf~xq z9)9rr8WIC}uD|J192)e=pM_e*_hx+Cy zv7Os!yX52Kvl;B>X1qdycykK_Tie*N>^$n7JoeNWeTT=8hQaN(-NEDEf0&ogIGrok ztieN398HJiYF&;GbcMPE6DM|clFjMNI$-Z{rzN2H>cElTcf_L@2vJ_=2?2Gb1M?NR zo^I;r&f|>1UcU3(8svddZu;C!?C*9tns;fQ7Q=pKB^wtl#g!(J$u0QBBFgvheUC(A zGd)||*u3NnraL)OGZS=mk71fN_kQbMe*2?ev2w;qeC+YZD4`fLUhDp ztncr8nqU&p$E$c4y(7aLc3Q@Os;$8+7R#z?RWf58^j#N)V*dBO!^1n3H6B_54t*Gq##zt1)| zg0Dn*4Yy=Qp}M}~khG#4^gO(5oNKRNPS?RABYB4za}&g${w?d4o{g(Ck%ne`#|f>( zF9$X{oa(BoYU$d(jn@~S!5mqjc20_ehcd)sQ9g6a7a0?^BriMB8#a5#j3~Tni%h zu;L&D+AT7)>P4nr^ii6Y&Zea~f_(A`Uj5jmcv=ywu1EXcxN`|Ju=2wAgz>0|NQ=In zLu8)%4X0lBY3k=RFtbK-;2Za_?ZF30U>xIz1SURFgy@>q!Vh|T{~=o}t_Yu0oydZC z0%*Bu*32h9lXp+GdV6%I(}VfO~%VpUEjd`J8tFZ&Ry(Tu>uP)u_xrh0*K%Wf7*0@YKqsMJkWUqFbs^I z=neoAu%u~RanFnyk6qq-#B|59I&VgTq@`jZObUtT=ED!$HY|jc<)A=M2>EnbO+CI6KHe`E=K?H=B!Yqc zAIvy_jo~2TRboriB>ttl`|AbQ{axs&+&^~p&;{%<*L`!JQjN14>K8X>bHeal93dx| zXBiG%v4^2@FT;4N1S~IlSH1v_zb7q@hcu&N$JEI@Fm&W6hsVb551%*pUKhk&z!)wR zHoob(i8;+pOB;%=h`D)OEd#Gm9)pw>n%E|EE4DB((X`*i9-P3uT~xeEY-?`h+XH<+ z=pG&W9xw)E->)qXEYP{?F1&%;x9B2K8LcY(ctGQ^Z9hJ5Df-q5d z$L!E~KMw;);A0CZjx^MZr(#zAM*{pHhZEE{$BQ4MuA!&2AqCUEc%xVEo<3@$mw%^h3WZNjz>fXg;pQ*+o>+r%>s+NETTQ2Tc~&c^OS@o``WkOxMNT_pQc?xszKipPMtmT7!sVI*?FLc>@* z9}#QvHTAwCp)|Hqhzd_F!s?Y)E z3rtg29LDc7ixb*TaMR5>7KpeI_ei#EX4z!Y7KSD|QK}oShHf$$Fa*TR5r=`rWT0c4 zC?M39*IHPmBJ=^ZEn6natScx?5g2isFdjn3s2KzLt)~Hk#=@m7|K!Wbz4^{}fA`#T z?>U#Erb?r!_0#I>Zq{p+lUBh6nk0E@oq7W`t9V?G$HM~LUX9`~SI$09X&dU>1_%3L zu~^`WA~_^a*HCwJ`Wj(u*6YbTeMYJiwwRMSEAK^d7y&Z?8lB2QI*p9{4U=iuX^|X~ zS9d`H+nsNIlCf{=s=g6n4#4A~*LMx}a#^=$0LZYBGMR=jG&G3D%Z*Sdm9~}~FH|Il z6v-v|0uEF3^QpA)f0L6jxppn|o+}{mcQ@MwAQv|_U$wR5I5+nMa&o?!SH$-qKm^A< zupm8ZtU<4bn%vZ;O~`tYF)rY;@@S7hfB#?T?d_RY#5WtDRw=`W!5#yK?^4h%PJybd z6w=iF5U?3{VzyCkb^)B#G(dV{5K1!M8S7NULL%JvOo;T*Tu?t2TS0sgsg z6y~(0Fdts#xUBt2&M%Eh9OA!#4pjzyIJ8e6q_MO_CVgs0hWCuYHgn_Qa$hka?ZQqn6qSI7DI6kcpOjHuTwV+uDh0 z&Voex=kS(8nzaL+wXraKyB^}CXAr@5H%Dw{t)m`R_W@kVfIjOjw3qF&wG(oG2os)1 zUaarDlBW9MvM>zk(SGPuCZYNCMre;dhiER#9LZ+vqwJNdM&Pc*9|=32hM_VRze?Uk zQ;rV~hI;(>K@dYn%~h_N1IOZCM%D2UbexZY;TvC^`uHjE*-X>>9QW080;n~$PQL}( zj~>GpdtXAQYCnwmuRw9c3;aM&L$K&$a5$VNO}!FL zO_$KtcHNp~f=pgP4?rfDIy?!}ZUZVq zV(f}b%0=`5h;cD?#l@vUdH`apaWQtqqT)hY087LrMN@x9CJYbXby_5c0c3Jb+SjCzXAUZmdZKdrhJda|y!rFR< zWkMSd2MIzZ6UT5vS&ajZ!t!b!DPfptsqA8gJ4;#`J#rX^bKA`frIAva36&E!_e%eA zk!kvS{!H89yNtAqw8~^=XXmZ!YG_*R?h!P)TUtAEL_fduib&AfoFiIbtu|D5x!fyT z%Qkr2^&4i-ZQ8K9$=NK*%Z<-om$|OJtKHqxAXwMl*3q50E=SbR+}Y^PM4V*nMFL9F zvpPpqKnes4t7`?WPLEq))tR+T2BT46v+0Z$tIcNA2uuc}NpHZPO>4AdT5XvoyCA%Y za^n%p_B5}^tSc%BpAM-U(aN5lu1vjt?b@}vwPszXr$ujcI-R5$lSvB-ZTI?)o`!YW zj&5TLqWg4T}a&b8gjZ2hU^ z!{;Av$z9aYd?ZS1l81$!+NBYHMw3Ah%qnbo6*^8}KbAhFpHfyz*UFM<^yV>d}u)AE5W=B;0MYA=YR>;qWwh=U>*Z-5| zf2E0EoTjX`8`5QcbD!|?p)Ec zw!z~rXu&x6Jt-Y(adeean+}P%w$}d_Za{a#n*Sa9iwg?OB?V4rNs+@v2Dj5#;wUaL zIjj~-vDIv{M{e!^i2Xnklh$CKYjkEBESW|}1daZ`VgK-`ZCcsT(c*5-)km%>lJVbk z$9`YR{RPP1z)T#C}1W>=IIV~Lz**I2j|r8&*6 zC@aPiInA!Ia4AZ2nq5&=j3siKU1Q-=l;$+MqO2H8Mco~EJ9I5x1EuegW|H?vSs`{4NQ9)Agf35O zM^8;}Pgidbl6;a^+uc*&h?gQMMR`Y$+uhOIP6|kz99?Z5k{(a%*0-)B6osulqz)+# zwdwZEZfJMUEnYYmSu+_I)4+5vod^P^9Q)PGD#p$9AXUxOGB(D{7!dD9o`-40zMHfZ zK1HpkvvWngyQjCSrg2phvQwB6H05F1(I{!6nUOPxm@eeFnOQ*!a$U1P(A?SEnBTdN^pI|)o{nGS6}J77uF%swcV0(NiMXzfjEm@2*w!rg zwfws7wjP>ayRI$2E=nH1#@&RM;P5^w-rNn3sM?m=?#PHDaYBqE={8g4UJ+{Ml+(_| zE4jaR+WMxpP=2kaDSr`Zfo>C;Je^$&@cvmX8QrZNEfMx5lY%<*sj#!Br?b7Sv!f+k zB{5P$x-cR?DUx5;+Ol$FK|-VeeT&kQ=ZyPPs1HmTjx5889O*MCqh-nAlj4xKk)h*_ zdzj`WCC>FUbadklKsVl}42{Gov?Lw-BxWwgIC+q|G1?pGc<*4E$atr%TPbA<_81Pq zAWbn$GaD*RqiOm!I;BpErWe!njA&X#(%j=TJ&x|N3$-FAPXnH<(DQ^Chti&;xn+!g z#R`x7-@dF`SIf!`|ytD8)zbir5nv5*FfrpI37n+q+l!4hR{tVB9Vd~P=cR$VZNie z`xGJ3)MG>$Ju7*#qQe)Nrwo6laQHEikOu39p8|p>G2M7s+uc3Ct%^Ly?5OkbX&JI7 zBE-@}dC`b-#kP1ld%H$u#dOklb0Z?UxSq5gdf66jBsKK*be6h1+#d3xD>4}Jl5Chb zK157%NJ)8nivWlJx38azx7))Q7nZ=}Mvcy??rw?TV2CEBp{-|bL(3?tLmWsz)Ld2F+LMME!@-s9G|Jw3ldK0lH@ znmnPgg}%i;g1IT7_6tj+1*pQz?(87E9@o>^1r4IxJyJZzw?U5nA~&&-%H3b&C*ZcP zJcXP-PYQA#`s8u)j?j4M$s#fi<1H-NCesud&y#2^`lL=E@{TZ^j8igpA7_~9ui~L% znduB0+!OpNabda3wY;{jrlh>8m^8*DmQ}TObaL?AwF74Xrh7 z@wT-+T_m6IU~=PX66cWXo$Nse5uZ-tEupxE(uCsqB;MTK(F_{W=dR}VW)gn`@jtHV zB~KBz3h_(Uw7SmGroqRw8adJkc|^4v5XmhB!)W z84+(B5%0lp1})?2>{?H6ut3qI6yVbz4ndiFZJWENM_Y?8nlyNt@x77uu7-~F04sXU zq!u%g@KyjO+l)?|O>5E-p%vNwX<>xucaG%VhDeUjq4$iP`tESvaOL5=&U+xYfpy$# zhVvS4VVLJG#@PCFI8SmHbk~a*=Gpg0T+dW8UPgQhrPbY}BMgmhze^CM{O!ny^XbU> zqP!Cnh2(*NFtrI^sp$0xpl39>1=>>w@xNSgM7KutLsREo;imeGU_M3})G^%dj^K8z8D zS&;EvXxt-?a=IV2<6Mm-r@NJ64CAVsD`@KVtO=3u$bkCi} zEGC~RW-6E(=y8jfGoZPxgbm|i)-vZX=QEcuS1{KwH!!y{cQW@e4>6B1PcqLjFEg(( zZ!+&NJD87{&zOD80p)KuN$ezc2Ajc3Sv6~79c(UJ%vP~=>>~C|wuS9r zd)af?3)w5!>)2b_yV-}>C)gL**Vt|BPWBUaKYNHh#tw0~oJ7uKP8vtX(Q_P}0!}4o zE@v61g>x2X1Lq>nRh*kS_i!HNJj;2F^A6`D&OXi$oReIJo4}pQ6>_y)2iL`|;V$N` z;Ci@!;9kzXk$VsKG46}pt=tc|`?x=H2YE5PNjw2h%gf@G@#gWGcxUncz`K%nEAOwo zXL)b%KH%-=9pMG|N&Hm4nxDxp=P%^9@YnJ$;or!Afd34C3;!ej0e)XhOw806d5k@# zEM`&6s+hB5u8jFh%->^PjoBIVbe!svn%IWep4dxbZ;5?0_LbOOu?J!Y z;u7LA;!JTRaf{w*8zKipYn=no~E^}PXxaM)|$6Y<{zHu*(dw<-4 zao+fpczJwI{M`6e@#n|i9RFDSmiWE##}g6~LISH)^8xw9$cs${)g#8JFi4zl5 ziLS(@iM@$eB|ez=YT_q}$CHwhWJ&o+i<5eiu1b0+>Gh;9k_M6|CF_#Qlbe&zOTI1n z+2mcxhsTc_FCAYn{*3V(#@{&psqycR|8c^&39<>U2@MneFyXcdFHHD&!pW3LDaMqV zl=hS>Qyxy)mU3`n>_pkb;)%@@FPeDo#MdW&J&8L>JjpewY0`z0?whn_(t*h_ljW1k zC$E}(#pJ(DesA)TDHEqyrp%wRZpv*_{xN0WRPI#S)bgoqQ?H)-NOx4UeGuO_%W9F8b zKhBywD{EHMtjlLTIqTC@PO2)kF7@oxdsE*{J(-rCR+`q8c1zmpX+Ne=3UIUoYM)J|fAGR7=j0JR zBq{O~XDRMce5j03I+UxGe^KsGaa2~-O4V(u_thM=P2H;gi+ZPquW@QRH1}ve)+TBT zv}?4FX!q-;>Z)`X=$_LZ)=Tt@_1EgR>H`L=q0Mlg;WOhzV}^6_>G20=##D1pzcKgSU$&Ombm5#TZ zd}pEaJm<^K!Ax6bPv(=EKWAyPR%bn&bue3=?asb0`|BK0PD9S!Is0-2xo76ymAfxb znAebZPu^Gg;{4|P2lBrwP!_Bzc(mYfp`p-I_)KBHE7NtZ>(wG|QEAcTMeh|)ES^_< zYw;H)qLP-9M@o*AT1(F^eYK2VR#|p!*~jH+nGJO zuYb6{Z*Jk-tLJ_;Pcg4|-sbt^=P#ZA(ER=dMGLN5uy3J$;kgUnSu}G|>!Rlu$1a|~ z_<_YImlQ9#Vab7|)}@y$-Mvh{Y~8YLXUsgK?TmjcAHTd|`BP`|&s=ck!)N*$Y8vio zIN4aRAEAv*~xbnwVSL>~< zM^}}tx^q?k>YCLLt`4>>X#0D6T>F{rFLX@oSl#hPXL{$l&YfNAu1mW1ot1gk4QCzk zRC*rhX1kYlKi@MM%GA5Pir$NR_pixabK9DMwe#0LwJv2{$GUgdtJYt({<{q&8}2`w zcXrd+o6ixRbN)H|&n-Cj?mw`9X#B(G^Tg*}bl!oDr5pcxe*F2X&){@D7*_bxMEcFSdf%bPEM`wGJqH(uep zvgyjV|785r&3_7Bwc@JxuC`r$$2Bq6bX>Fh+PrK3dR@wO8?O8M&((i^_IknfmtTM4 zhUGVGyU}vvoj1kb)O*vuo2zbq{uaqC*WBW}b>*!e-Bx(p-)~R7{j%Hp|I+-IU3cW) z@z|YdcV2Pl&|R%}?YX=3?q~0j-E-r;G54;y_uKpC-?#OC$NdjIF!O;c9`HZd@!-C{ z*8TO3hwKkM^l<9KS3kmer1z0Sk1l<5$KQ(n_WWbo$L{|7)W2WxIP-Y#`r7-v z{g)5S82Ia;V{q%xf}!ucYkjf4oBc}vi-F3(-e5aC5QpVCi@Kq)y4rWm%mlZLb6qcL920w>OfERp&%|kEwA*Tj9 zOg1jVa(Mih*tl`=3GAtb@Nsb?g%cQ-$8tG54nH;~j?YarqcDZb6HYYp3+6OT5}kFv zDQ5DucRx`mmQ1O8tE4{A%$o`{E-PWo1Jb9t4=+ASTi#OlfW1F^X-dFBp zPhIr-2fbe(FOgq=-^EYg@WzMVoVfp)Egu~?Ie*2POKyDN**AB8+h;Fb(6aW@n;v{_ z>&M^qr!X82dds7IijCo0X%~dXi9Gb+EYT#s>HKRalODWQxATZu(zxGq!F8_sDNWs$ zqtY1CfmoS!^DcDa-f7Ln^K3otucBS}?HyrO6v3~VW%eQ5Cc5Xd%ZmD?IPu4jv{;e$c6XSck z@9e(eoZL%4^sH__S@-pl=hre@FM8~q`#)NdSN-r6v!3}eng8JS_f%JBy??eb{gW#X zY&7T-LfX73Y!(HiExyuQJB=$e~0 zET6%BqRs!vp!jf6khwi=LExLuwtlkdmOzVtd|pBA-b?dNdhU23xMM%}>2aS92<|#u z>8aRo_?DCR+-g*9ee%g=3;*=$@ka-A7tXRYH`)6Bboah%sTQla~@A>$p|NWQ@7=wsT)E4;YxMDhm;d&&cYKg}>CPRmTP3!Bd>$QM%rL?oZ+@&n2shBi)7Y=NF%1Yr^hvF_9K2azG1t@J*T&!8O20WV)j`O znQNgEicH3a=R;_kOxTW0&-HZBDPeNr_!X^f?h^Wm+{lDSNi+xL{My;2CeqV*%y_yz zZE);0M`k?}J36ZydV1W{c^}D~)iXTNxW1^hXQkUy(AI+am!6gQ<|>`=AAd?VT95er zr~gXrc1$%zrvRt~znj#ExvU*i1BeXskQbiKBCfKjWV)jeZeTJS)X^N_>nL7E=z%oM zq+wcmJ%w$(?h#Czd`fYt2NOgi$|s&uUgvHeQF?0a`X0 zQ8P1>=XJYjNkRAUi6SgdB$xV6FK{Z(F{PkwZNvKRg68Ieww{8X9#3myZ;v}NA(Rx& zabXrP+%+<~5?yVb-R=TRA~m!`7ZSu3cQoO<(j6^fLeMc2$+)R+ScBYu+Lw6HCKK2F z=nElim{HUl`be{zv_+;O3*9TxVy9;Wucnsuw6{gdiGLrnMfmn}c&acaOvwo!r~l58 zaAqRqY<+Lziq5v?QR_=$G4)9ngS0?zBabAOh>%{C|xg7flmpMn-j%_mPVxB~@5OQH(`E9o_g0 zarBZWly+7@{zYy<8y&%DiM%p6vB88ZUZQam`Z`!woPedf$_;5`! z?TRm)k1R^8?^%!G5|ZyDt~+UN(Sp|Io|R?p5vxzg6Bvu9{1gEYgInRMuP3Y_T_KXF z3Kvfh(luukVdXve9yYQye@KrSmYHiEH8<)8G|(bbwH$e zQYcwZzZ_0RG<*8a$&OyI8QA49X}+DJtDVT4dtdyDgaU46R=oe=o^m1?>$Tt>twkSirS~BlwLnEzLX;GKdwHl-A9qI(n@|q;)dRn3C>Miz?7Z&&Z`tC@=9u`bbz4=|z=m7{5d7 zQ|dbDsuMB<=tlW>AC0EAukc`&nA)QwcoWu=n2vmg>EH#2@azRh0Hq8e8xAI->xAyX zJ(T($+QvPk?G7k7K}?;2|M}RFO#uZIHGV(DxfU9eYs6^Uo>+K-@n~V@gmmjt< zXJK6oG3*VryrY|}k>Ry9toP9L`qpNWMwm#_O>K?jLE@2-Nz$zyE7pa}X?k_X>dukr zw(hPKqtZ=nr2SF6>t5MT&QXTI(sSUMLY!;5#$<7j1;D24%m0KM2hvvepjY`EGLy8ay5{=_{cB(_~F|6Bgca21=Vt z2#<%ad(=2C>RCzGIuZsj1!#pX0YqfvV=`iu3R8+zi-fkS!y_QaQcpv38200sA}kSY zq08r*5u+REI}qWM#O!u~AgszIgO)6zTE_@5Mcav38%=w{x&=8;NmxgwaZ=xfRkP$s z7HHDP_HmL5ZCEfH(R(gXTdTHhMCvxq5Z9D>KT@g$gghhilj}Wd-E^!wQ}Qm7oADY zHlnXp!~Kf(wQA#e7oJI|MlI?3Cw(O&W^`Xknix!B!FCFtQ9`bka&N`Y3fJWJhHjX7B@64bSYZxK1&LG91t*W7|IV#DhI1c4^ zds^xutcfgkBPES(y`E4$)>hN|7@|iv2n6IvM(F5qP`|Q^$Px(rQL=6v zQw7_p0}`CR_NN77{o(=d9NxhAsI-&i1PfydxywSb*wb~=s zr$=g!$V+a(67Gh!)`sp z$-(1xCF;de9B!xLfqHUq??_fN#s-Sb2v`OjJ^@hxB5|5UDBFA61PuF1m;?us+4{e$ z-r3Sd&aOfjK0AfM$WRPyB)(A zvj$;NP39JUV+&~_zg`%JDK4lTKIK7LaBQ=M9=)E;ppNvk!8eJ5ycA*pm}6I3L`W1EPAAs8B&{UXpJ7xdWgqiJy(O=NlYCc;3iC2k#_`I zsM;bx+=Cx^^`;q*xPYu;CA`KzgQNOyHy#$69@c;9s`vkV{dYONjy2sqt1(=l?u@|D zgzg?s=V~`KtHT8oM`Vq*3yCaC3Y8WEA=^TpQ^NLy6|HS;r{ql@(GKw_Py;<8h(^fm z8K=+{HFU46S+Szq9acU%h!~A*Q$`S1!_@UuwYInRP(5x@goc?qf{2{i)zCFU`~8hl z)E;@|g}rc8HxO8zc1mj%ovj@sn)|I{)EvnH+F4Q+`O{BnkuEtW{+cjK{bo7pj_f_H zR}OblGeM(~XRC+X1YV7%)e%p^$X?ddTVBw-3Px3=d}OnPW#lHn+YyE~v_7i&!Zy4y zNB((R6jsA}(QFvdpdHD`8n}VrRg3`kh_{bMQemMhuD)j!2#)WDics71 zx9rN0tXM;32WT${wLte0>@&l5CS9x@TTL!4mPgcun03U?-BIcPc&VYF^tjhUQN$52(v zN_ykQc$-%R50GZb7QM}lcO~W1oX}iSNIc}rHiq*?88$_cT-0w{8`WkDi{};-@`yI; zTHQYU;$A8#32md4PI6zv+iXlSM8Ce}_dJboeym1ZDsUzD+IV~cYymG>5ULKLt zyizKs>6=u;a+;kBG9sr(d2|0&Ic-8?bfEpVkJd!Xf7?gPCFTG5_vC$go&V&X5Sudv zAss;(@{Y3k$da)<8*pWF?y{f`mSj!KlX|A7b@@ji_aAv^aG4$v)v zkdZVwMiilud7}`rV7O$g2svEix7{+Q5i-oBQ3zQc&ZJ}SzX~AjLorR)<_8oxrM zG5ZX;+K@DkL)pJBjh(1XIs4x)jpuJX@3J#-IoKl7c!U#o4AOWbtxM~V(O!vGKxCA? zGI_Y_7D!o@$cEyzBD z;|Uz`VF_j{HL3rb_MyI?2w%$+_Pjb{_v ztTvyOwOM^O#yVtUt+s$QK%+rx(B`)?Nc$-*YZY&^vSKT15&JA0tHm0yFjlW6U=3P8 zYT+ZtLNWtZ27!+hr9r;MDz*fJL<1(iQEW6AjDEv-av1(I8ix#iBVz~{eTG;gN{sjm7&sv38^i{^-Vo3S z4Gi9mC&7<6Ur%!Neq;<8xO#&@@1tcwJuBA7=*4=SUavzX-8jTZ9DBc>OX7ZAzdoSj zk$jy`&(VqXtWF%z`L)M&3=KYAP#ZuP(y?M4s}T=r8O`?yegv;JsNrfgS|oVbi?t{Z zXc)Cm!&PfE>SG#?TB9C7#xV^m*05^v9yOynu4ct*RwX{6;wn`t{qd36{{3) zQ?gBME^| z7!>#se8}?&S+S5S5DPK_0w&`a!q*4^0V@`;8Dd`sBM4*!1^qboWpD%;g5z`_$Y8}8 z@#*69jEr;=GKSKbjK1_>hBuvq)F4v6bRNpY>6|oinm;|5#-s<*IO%C=0mK7{$E2sF zKN8AosW(SoBU+|M-C8i1=#I!@^5s3!+twP4Zw+q!ayQ9zUcQAGz z0yzd89J>Q49`+9Vkb`U22<@z0*k@-P`w{vf+>l`t25dnHLN1Yl0Xv_HLpzaqewrTu zi9LW44$8eCAtFMEy#$Cw{OBL#W6BpkGIkO}#Q z93mId0c(m?NF|-c8j^oV_`?!02w{k-L{?h7I5Jj0Bqb}fuoj`;!Zlkg5QISpKnOyM z8F2iKOym-Q=reGQ zAmr1?hA0(kP{RjNsR^iq8oxSDqb8CRKd%}x7kP{t z#E`H7H4kM%NK&Cs6;N|jYIQ&rR0mZcP{pZL^ru$&L7?`jShdQBd{V{=@jVuyGN1}5 z{SdmUAtg^m1hHQgRPt3y5(SYG#h_PuRUD-dl3J)xc$Hj*QmODOCn%I8qEyg5iTIQ} zn)E9I%2*mx2$kdHLb*aAm*X#>2+Fw%qynMCpgaaCQWQ`yavwqfMI41t5hoYovoiRD zV2{Bbf3koaLR}uD!rqG`iN}!wTI!dxLV1!*D3j73*-5)JO~0Xf**heL17{RittYegkS_iLJma{M);n96#@~2Cn+LK6l7!wNC^GW z)G?I!feyk9UWO2$5J+b;(gPWg`x(jU0EG}zkXX7Oh4Cappo5ae(1cAC8C9SRt@N=ucyS6l^MhB9O)< zFcC=eBLq?t2sluzpqYd$n95B{72*>}!i)nz2Oq-EsoYuV!c-;|B7IgADzfkeOdB%= zP+`MT{7F!2RX7>}0Z*BR>+YV1yj z(-Cm84yWG{bOs$PNihgP2agmv0}cj7$xa7JgmxOClj9KD520ib;U|EL&@m2BV0Qps z9CoiGXiuUsk^Iv`Khw+*4pFRuPEIv)n|+AF z5QQKwAc&xnj{uNux=m=K=n?`M>_aJnL4K-=1G0cRP{)BL04M@YR-RP|lnKEL14v;k zKZT)&DB*r9*8&27ix)_8JOnUbSqR>kh5ax&pix`CHglkK17U>b7_-o1HkqJ9L;0p5 z2n-1VWr%*wH`78dK*bbe6cRKs4TcfJXc|JS4~n*zLW|eP3XL2P1qehC?V3ZiX9h|& z0Tm{M9R{P5?Ai8!8q6B9A zz?Tq|utIH|R!D(@AVpB?rAoKfrx{0JB~;+kawx>GT0jX`1Gr+ZnoA(XN1!E)Efh+UltKy_1U3L30ix6^ zfh7#0K^)^q0m%ZM1ZknluLS-8VT1wTMo_^4fcO;3m)H`-#`p%|ClPXBjR+ah@o+eb$Ew38=jqAB+zlWWQg{hsqxkxgy)5M?q>TEBBXq%L5gG zO17%fR~4xCRk4*-_#9e=4<)>cQq!VGV{FE%%Cgc@Us+svMR{dqRaJHM@!4@Tvu9UV zS5;P41V9-q<&{-bo2*<>zAML<9n6Wz&CAa(EG!BX2TP8Z#+MWq7r6=x^7Ha?0@*P+ z+1WX+JP}Wpo#TMHob1fX%E`?uD0CH-l$4g0^_3^#bS1?_q(W|XR;HiW(K*?Ww9YIz z4#zvQvUBqbUB#tk6_r)hvu6*~j7MM4m9moJ!h*b<>`W*-Tw9hCZXQP_beHiCXJ$@b zfvdQzvbttYUH#m^yrKEQdBM4p>*mzXuBs?4a^>e{XF7>1(&>P%Z*v5!lWY!WR!)Jd zw7j~ue*VJ6OO`G>+KC^GG#V(@vW-MQXLflD0WBv-4f0 zm9y&?&kxk`=FVTRaKX?*-hwmETwEWhnJ{-jU3GbJL0*>A0n^%Hl}?db9q=;RoLRYr zC6zS`=9E<~ZSOv7z%%o#p0m#^X})iT|Gf3Gs_Odc(!$&ZXBLX1(_2C0BeG96WmXNPoch*qo|46~+144x8CzL+>PJRI=K$a*HbF z%&vcU*XGw=d-au92Vdj8bJHb14-Wk}{&?W=%8J>g1vyTu*=V&$r%6l})No|xmsHjl z-MIVp*I(Q8+Lkw7+2ngY=B;P{@WsHvL*DPlANqOlGFMG`QLfW&Hd@S*84{COPtKEH zGP}I#&24YIw&laGzx(#n9h)}?ws7CM_Wr^C?~=dm+g@8;jI{wjn-)wv9t=BK#@m=3nN#Fc|M7ZzmU^3^)j5$m)njoxI-E-0^B zwr$UQ&%OS|r@MFW{q*@wJKx*>{*Bjt`$_-DN#8zKl3##}G3wM>y<~=11ARo_}N0Yp*@K^&|gI{y%!3-~Zu<-jBwAxOY#xwIDy+ZqjR1TCI4xSff!Y zH98a6P+l|p-h-d)+4aWe&0BZx_V0?_@!ns$-uPlY;IL-pWZBJn zjZ!XGszozIN`;hGGgzFtg=KSVOX}ULT34-VZS}93)!NeBG$(tGyJJON7KU0@rVSNU za+y@25=|GWWD@9S3bh7Z&CYXG)Gb(yM}GP8z?s2@;F&X)FIhCVERUF3&P=D%Mi_&d z61h?|RiuzXHIvE|O56>rGdr)KxU{^Y(pT-DJqdEDw5R}Amg&T^i<_W?e?r2M(P~oY zYEbaxDz(-?9+_;2%|f3mP~>+_EzHl!%7RET8}%Bs0%w9+CsjaOlZ&Bc1x3kXDcGaY z8B7o!4kx})%VY&Ir#S5}vy5QAN+Fj(1r!PeV!4P%YSC)r#S+3FwHDTfftX1{=IP{M zH0X62wNfF+iD)fSjU!Ts0vQR!M<66!MNMex>XWby0;+Lfd6+mrlseFIQl%n4l(x7q zy#z|}2{>k`vjg62;#`I`FOsHm&9i1fQ-fm|+M!=~0);Uloe{1AAJn#4vkV+_B^aPF^cO)IpDS3b6!GRRB@}EcXdq`x3i&5Fk3JfklHb1Si^{ic8Vc zzQkNnIZ(j@04uq`!75*600Ge|90n_RmF4C|k8(BA$2J(Uh!9rev%T-hqaQP5|MgGEI0h1rdLun2-x1>PK zmF4EaSpdgDW-yDFlZ%n#FW?lq3WrqNsrJ15(T3II?bXwZ>FD*$#WNSB@j=1&4fy9)9# zwgF~vGuUjI4%uX>-AP=}KvHrBfNp6yREp}p*}>|hs)}-o(Ye5AJ3QN5i_iz2x#+N)x{Rq($!tv{hnaY^aULc ze|lu_#Me)+vFDY!0O{l`X1i5733cF0u-ehHg33bUvUO{_&+6}*b(W|4+sB><`0ehYJ>x(A z{9w1aC@1=U>nIqS|@*KyumuWWtw{!2T11M7KbFS!2TNBtir9e6G) zm(;PC3;m;zy9FSv(}$;&bq}<@7*!5GkM3JU5o9g zge%blX+s!jG}|+C%dLwqTYJ}*dtZLwgO9(s|GB5upLgCG_vW2_?GeJcuw>DgI#fN`9Z_n;MyAR#AYUe#?U%0ky%iAa4O8jJlB{R!mG3s>`XbEcS z4HidMnPu_i=f3!)=b4|r`2Ownw{5xNf{V{-cxqeU8%bN=S!H!VXE5l)s0ma9pxZKC z_L{5C+xXfG7vHhz;S2w|62K;~5CS*b zm3_fA8+#vn^~uK{f9ZwuH(Vb0BlnCA?`|4+nfubaw^{=BSiqP@rPE7hinSWR5@5{c zD7GxP_3F#kTzcybw_LsU!mF+fT){ne?%i7ko=@KN(tI_%VJ4kctj{iDlZwBQz@rUJ0Z5o_SY zn1H&_@(N0fjW^$Y>&-Xabffo%)a$RkvSHC}FTM2ilTW?)(qk*N7yzUiL^oh_vKUwa zD1=^MwAc#Da!TCiU;d|oD`#DP@%hUuo36b3(FbnmuF~ot@w*N#40)93-|>U z#B9x~EU{-5m6i;Y&MYZ%Sroao^J??;S~$mydU76k#N{fe1hkS=j?` z-GxJoW-O?mQH}(wEX;$$?dPNO?D25ip$P6Grp`(qggXP?4nf8dc;Eq<@PQyNiis$O7yAJ5XQU1dm-E?L$*S^#)?pJ@M z8Bm9DZ>c4Wd;UsZ1&pqWfyy8P5U;A-0<+R?uBogTDnAOa8?0a|hY;sgR8f2@EY0f& zy7}^t75MZ0c>}rJywXB3N1mG($P7B!OsAjdFxkGG6S=;eV0JLepBYD#t<224TscRc zneB7*0EZqR5=IY2`UV^RY)p<`6i6RlZF{alVF;w zxpQT;Mw6Wn6B6(V$gwy`4V&GJ;Y|QEGpjILW2;!Oq;J{GGnN%K+`03+Bj11e&?>Dh zm#UK#rEKUHW{J&7L=DW$EXYz+oVk3-;{HXm7B9&<>!Tm`@A>HCFAg5K%4o|W7B0?W zvfE_SWL6tissM5v&g^V;b<>h1ixt4A zB9E*+(_vh)d`WHF^-sU>=%1QvmIRh@&nUR`lfErUyZ>sif(I5%@mef0fz)i$8*nbG zJy)CUURrncwomVPVBe>k|5&?h`5BALA9$zlm83UctIs{~ddi#bKubjVp`TV(0ZR&e5>E$=wS_^;>%C3o2F&d!;LxHyCXwfW0hHvMt- ztKaTE@X+kro^4#-u(0O7XZjvbdh)rYkcTE9l*V9$#c9y1Q3pNCG-o!~^}cm&%dJmd z+jQTihIz}+SXg-VvwaUIJ^5g<-T*~kr_~T!Pzsx~|uZ5!>!^>#QHs!2tS}>>g(u*$bn!TjS z-@u($c-6xLcP8I|Pq|Eo`3O`2K1nzdojRaQ0jxm|=jqGZRx~fHsjgY<_BF;fEHACN z{(;+X3EY};%We1GyIc(ug$PVy1xhALv@q(FO4><#zPfNl+seR-LHDf2GYTp$zT=LY zZ@l?0cV0K2AOjFXg?V3lAF{4ifJTViCO_8BB+SR$#hzi%VjY+`kXW2JW&em#brfyOe4UYLB}A-k;Kp7@>Cs63bWs&)Lx)^{=@?gqeqb76YJc?wPJQj0g zDhUT*=7;DHN_eD?nExg#oRToP0@mW9aSal9`7vh;7z44yCnW2Icm$3x`*0jn7G$C! z0MEZ4ZhD{=s1#x^yzj(|A3%SOVJ3kOh=LvGBW`&V19-$kfE}N30FCtl?pWfrAIji} zi7l3ziX}Y#8D5xiLxKUsxf!Xc#Qwr`Y!H6+0MN;gH9tYD@?nt2nMrN0teHna?-vdU zj%Gw`FY@o!ez~|d12)wRe5HLn7Sbf+mx!f-$w(#B#e-xoVlwFRoLK5Pj#|l3xxW6?h|&q*(d4Uk2GP1vG9v_GOUsy_p?gST+V_GY_Eb2V)<@2vLv! zn15f8{URO7X;_E;1Nl3-weB8^tUj;eGx;RMV-+XeWKH~o-$T|AQIIKWrk1?FI z`+VO9IeoXM9LHsICagRBeUKLz`r-bJWBAuosoaJSe*EFP0|yWO@bj_b$BrF8`t#3+ ze?HbXbn^3iD#jgUer9HHW+^1;vjlRec;pe$s0~JY{@m6TSqVRb?f8BPJA^$O%k{$T z&f%oeBg=^yiry54`v$H9fqY*6-}Ae7+q=xY%nxv+|L`B}>L1HAMCd9)SHy;&g$Z~X z;_*v{-$H~n1TuIoH1I-@=>V)4LcoM8v@<=9GH7$D@J$eU@*_19dEY;66XCxmaYfcA z4)Oj@-1<91&ilXdti*Z0vvh=eK9KzpbSy6Mz;lTQ{(USFfODM#=lXUVv?3V?PIJUE zLyqv{mP6L#77lD~xW(-!&2d(n0b&jScNEj{HtR_<$4<(u_C9mGO)tV@r%a!gmUcWf zCS9yHSk0yZP*_1>u?`p$O=g+WQBqY?S!@^1IsxUEFHB35gUE=LW|XMkm?+klR}|&t z=9g5JYJ`32IJrcrR>@K&<}j7SY#B1d=}lr?Wqzg;?hRg+t6U)(R3|EA&PuIZrB$WM z%~;xs^#TAnEECZ44N7@&j&0B$EMP?npC(zWRLSR@lMOV|$y$c%CrirDng9K0xF(bBC%@wHPh94lSm66 zgs#3fUuSh%)b+hirA}d0U{MxqSPoQ#Ar)6HH0b(O)0GBIx(dpGs(9U8xk@G1uWB>t z)pDyG#BdaI#5&EOl9Qn@^eLv9!~!@d;SO(DUu`njm!3UaZI$Uva<7u3(Ggo!H6-WB zBpDjzfQ+wErK$9$fF((9cc0z9qG!W=gV`W656U^PPeZh^GO19Yl8a%}1;sH6Wtv!P zf(t0wX0Xm_be~aXwArL4opdN%MXel?O@xIi%8287~$J zVX?u~lx2t&@DTJF`FgcAM2GI9ZS`kiwET!f{dnCs=h_R9sGm72{e5cu={a}KnZBJEe0Okn-RGG3K8!ubz2u9ai4;-^sD{KsM3879Mu_kr zVuT115;H-NsHh-G$6}>Xf`kh}B7Q$2N0!3DxijR){2SK>Kj!-*{FLv9ypVk2g>*PS zaPYB*gAr0Bdpq?U65EPO5y%s}b33tyhy-z*v;=K@qn1pM95rLnkKJ}MDqZ@`<19pk zsE7y&q@76RXW&t>S^6U~#x`I|G+Sg!XK8h9Rk1^qdJ>8fkswMeIyJ#YAri#aZ-NA= zs46MQ!$en^77~Pok+0%Hf>;PuNX`ryV+>}ozN#S0m&wa6s#J=G)JgCMok% ziU=i$8=g@mFU=ir1Pig`+^b1as1*&}@P?@M@-#hJD`a7Cax+8?ma*Cj`?07uEI*Xl zZIugK3ffB*dMZEkK{H50l12^j(Qlq+3d;|jrENpeqLo>l>+)4vndB5%Ba`QjkRR&W zb1Gzw9(C5b2B?lwD_LAmg^iI28_17reZOJ4-sq$PM6wVUb8Um#s2(A0blM>$S0xBbkPIS0boS0Q#Rfx8>jszFCexXT1R;iq zSf?IR@Z?fKNP?)-lth9gYYWagr>%9v+De_(AhRfk6dW}XH(H1rB0_}fun2*YO+|>` znxxO1?_ROgrMKH8VF?m)ru{;Kq=hAj)nKt0tyuIhyc-2Jw!vrM@CfKg!Pb+_<)~?sv*Qr1o1(f zLVx4gh*M~1$Pr}ais1-)f28y012|FO&!Ik^?NLt-1WDLQ6BZxZ)_w>WJN1$b5HE>bnOQcwwyMM_ zN|hWJ^F`_DDw~BUDa4avwfCD7C5FoClEQpfS#>!;057Fraj}{!Pm@`xE;jF`C2h_5RvM<iI*Wk3tECv~sJE%hB&P4bYL|CUT6^kS=lF~&wBhf?5 z2CKzj%Q8UAl@d)y3vwdMxNr!=EFUKp31-bmmqUsS!Sf0^qEl(JEK(`aSu~&}5@$Sg z8#F1wyskiksbpiH8Axf*)raYKVg@dY<6?v#AVO#+VS4@celU$ z&fD+2_tEEHANuj|;hzqDyZ@8zFI=GI9feuX72NXm;33$?-cLFvAA=>&P5tZ1zyZAb zcyl^Sjrob!orI-5_}7^y@GqM=Z2iG~LC(E&?`Q zR=PV(cJK{vkkgD6bQ=ePoCA#08)RPd8P)(Ywt?b2ob>)ckokW)yYlcTs(f2ZF9}H?1ca=lD;+|ovv*dKK*+w5 zkOT~vARvm$GKk8e5@a=bS!BzKO_R?iYlwG+iPC6UyI&ybbwAI)txc z&5mn=xlPw!A?scF@49~IieUOb9sM!bVpcTHbAkR6RuzSb=o=UhJ_4)H({_WHWRSz18{^Mu2j$;()87g@RrjMR) zjt=NPZe!(3nx@OWC%!q_ubb7Mf9&b)W4h@A0e!lp{&<<`mi{kz{wLkq*KH(!)_pD> z_onf!2i&^v4`&7e71zSmpKx}sojUG0A{=F!toC0;C!N@H+AEEp31$++Go9))M z=WtLoM!>-9!jIaEI6)!*GECr?!dP4k!lfUy>(#$)n7HRp&p-LtEAK2HTH~H)-gtInW9h`zuRQnU z-krPNT4!wPwkKbBU|~Zs7F6%ux3_i2*7Yy%z#mH2Hvj&v8)sJ<3u?CP-L-Ag1NS_< ztz!1GyXMqY77i{bYTB@E!@9ed-o3AVdHs!L`PVJTZoL1#yO!706hub{$RiiH(4`a| z89u?+XK;b3x~8ZpTN8Y$GVS3L$N5-AT!f`=!MFMjyDfY|;8++hb~<6 z{j+nYx*TqVZ>vO6!BV!m7&NuO0rY436JTzwES;7e2N!66A6(3l<~1|RrseukemwG% zOpP^Vc@A{gj`!6B-C}B}t(Yz$>pPBTLvj;+q$_mc(!vn@fe7WSbcrur(Y$%Z(pzs` zFt4epzG2S%##@?hyXEGl`M-JlzYqN7iDlR0%O83Ellxkq+p@9wvDfYzD!=Z<*PmE( zWBIBbTOM4$X5EYT8QZz@=~tT7t-?4bnd~9On+{T)cVZ3m1fHE3 z6BZE`9vl!b0yoQYQEXU9@D2XH7Bhd9oA8p&a_O9jArmKz3qnm{ybL^l&cxv0aT9`q zg5>M*n1vHVg2!2W0>=jWQ$g=*?CJwOSj`s8n9*Z~ z@H^9#$nc5y$73^gI%c#5Rg^4Stp#;4_Q(i7i^T%mVjdGH5pFiGayaaf!Po}JE#^Qg zEwJ0G<6`YL-yvKM94`R3*hrnN@e!cjkezd}(o7MHgeTZC4|9UN3FE`(V>uUUft}#(#1G;!# z@TnowUm7*tj}4}EUGk|$DMq8l{4}1RtS7v^lZNG z&$HA#2|izgU*h9`_e=cxJDx(rOW)0ph76)>rx}Mz#8C}IHA!MU8Yb|HGZ2ymD~>Cn z6pd-1D%4Nh@zg-O{D=K->>qel-zV*O>Unp&)++3Azac%dZ=a0(Yo5pDwnrar^E@rT z2FOHEySkUPsZW^N2{Ch|o$X<*>~X!Fm*OjG?b@SkxAvHJ9md-AR<=vu!$x4@3y-j! z;%{FXiCSOSv36y-t5_;ZWFe8wn&?I z-6?GD-6U>VB0Si;QQW*lY~J8mKhW%1uWyo?H*8m1(9*hJ*r2vZ+c$X;asB;lt@ywQ zOkcz9)z=M|VlCReY?Zc}4XvlOu$62%Fpik8?UojGIa{j!M(2o3$WOP+E#CdO7t0{r z&UfEKI~JPzUy?VhU%$1lonIJZhfdf8a8rW$jf4*@X+vC@xgY8Tp=hlLKcOFBP@h@Tx{AB)FEVESS9f&S@mDb}TZ$llWqv!V60 zF7`e<#6HqEV#2n&y43gBLG^u|BQhbLgY1Ckklf|nm-{XDw);)mv+!yE%kt~{_rKQn z62IPz(-(-7MORx0rXa6KD2Sif!7GlgH)YDeG`Vr^ytxDEx>Hi7OmmkY1dk1NS4wG4 zrwm}0CtMB*4Gs28l4}5&2&z^?S%?~jMgD9ahUrDQWgE^&*K!h3(dhCUo zk*HWxu0nQP^()x7rkw7pBVw;xP+AC!12J78o|Yq>rOK}AsbP{5AK{5aj~%$go=7Po zF-(k7F4@JXP$9b4E=JQVMxP=@$3P+}Oo7_ap*p3wDMN@FD>_F&r0&<_hYK;M1_U+$ zL#t^{274A*8*s#gO*@?`=yYld4k9)!6XHpRUKV0js56b7xijSWq$H=imWl|`{V&S5 zE?Ts*kN?R9{MU7aW&Uz)#EksO@ZYKT5<=;cnfKs791tb1D~Ge~k8VOcsMI!2FSA42 zM0B%E5X~~tsR&~hxCPySdwzPrnT#n8D7gyJ!%y-LqDVX*w~PK*!-jPnSeArx3i=9& z)}00Q6KSMK{RD9}a#KO%CQTGQ-LQd5kb&(bAxK#9E2Hhukc7P^W9>=!?L}Za^qGhf zo`L5g4)jz+^Us(BJRTmB)X5nJjP@Ri&*#f;U+IzdAUWYbnbZ2C7DUSy6cv z^m7UHa}VfteW2TE6>>R9F(xNbyIDTb#h9q^6qEpgDO( zYc=oLkp~hpb)Ugj2}Q_1gtXtx6$qj!_}>MOw>{d{)Hxzy0s`5 zx~mjdGM13TQZgFj@l92r_Rxp2d3valk?1n^sWP`p6@@c5N!n&*hXotczj{_F9aJVnyyNg6`T# zdZ0kck!jGJl|8a^=fgXj%SynN&&`I~1mrN5hzBf?0OB3T0_txy!5{o4h`^IwnPn?i zuh!OBSD^{9ef!o`+8TYe_0H*#7lBlEErAYlU%W5quZhX&`QB#5wrvl!Y(ulcvirI1 z5cworiKk*$;>-yt8THi2(6&iix1pI~-n=U(EeRpYMC>d`#04BCXRMnmz2$g3>FwQQ z+LDu+6nDkRHxVnxC8bsOZZvJqawRyg#B$JKa>l1*-e)vVEKAcN^l`*qbMR$T{2b22 zl=P~aS#|aGv()?j@2aVn%SAKDe8*JWERgmEY%Fq);{H)~2Gfr#-1x&ZIW9R1ts~2AnMtuE_~yn@ zs@)3W7FkB&b3{dftVG8)rFrXrBw>Lp${p{omMH2?5_~IQ| zdrW+)db_15B@X@8==c@snU+cqlaQn%L+oV5u>DY#(KgVhlNzZNHWyD1q6WB82)C7j zrpJczy*3lJ8JD6hGp|l@Vw)gAL+Gs{>Jp6^6ACeCy$49=jmpm-#qp#gF##-Y1?)0H z`y&Or7zJJ#$-5b(-VvZUlVOOBbX1TPDK;Z-xJ`kP1_2Q1(m_5O$0gkK76CUBd`B`S zF}$XTouyS5GO8*=nD~ozs1xaVh#=o4vDx` z`hGzSy0jg){;zy-by-noiCk2+`l7TVzgnx4aZg>Z)oJy5oq)MsFY&xyA5e!Sb%Spx zAk?vXxwblgg`81bUcoAbsyosnBy zxBl3vQ}5qeU6_*r)I_ly%iO#;xjnfJj}Dd=lsUb!@jGf?e>kUXI!M0=<){Skj<}C) z|C~AwPnuwgmz7_$=t6h*m*TTy~8~b!Fz)F1Y|=-nnCoX69w6 zh~GcEXmu5lncSYxh;apBqp4Gi<}CZFtLw|I&z95{WTL(xHxIIh5)_MKI6$e%WR!ikWNm3{@L$`{cP+V3$cgec$ zGiT18J#z0YbE?XU3m|KOmlRArdc7t`BmYrWdt6|>4JMLYJR{!ZU zAFf@sWWl^Svr6-_(vn%CO!giK!%2zw$_U&7VzMu2!C84#D}J~CP3@1?cH9)4KK*?HXAcVY{toQ2sOG*0x3=uu`H*&a^v8$aeQ4*-mMt4rRn16Ga+2Q%Y(JPo zn&QA`C8rMod*q* zVHp)3L&DF5)Vx`@fB4>ehu(YZma1ITLSQlz3D|>r!$c(&ABAKjn4;m=5e?4NBvP3~ zJ2T4{zW?VxA3F4hn~G9nX`{RhNPLaLd`+N$cnH> zF-6But$2~WZP`(h5r?o%E>gxs)rz3>+5+qj*YxVgpL*))nK{YOliJ8DL{P3_lF21R zi?pIfAY&=0WCD>;COcE77nhe8XQx2LqoOK7J%Oe0ma-wIi103)1lvJSl1Xej4pj(N zNlt@sA`vUl4I0Txx#JYiL{75dLq))|5L{-eA^am1Xld~a0*53L7>uVlZwpq0~UPgB~Dut4Y%FZgevZ5s2;sAxL2w}fSg|<_`+*4>OD#SoqPsywM6rlYCS73(2 zVkbFEPIfB+~* zLW@#exKzo(2@lO_hLKTI9mk0YSe_sJ6hzBewleP8K*bO zuy*n{Y71V9*8|-1Z_up?O?++;n1n`!0{=k6$7#qk5Z-}F`28aC!FkGp{oaglQml2Hq`s0>22+Q2)Pb2$3heJind(foG z>j((VgA%B~bcuYI_&X(3hfG;Dc07qcXaS8FjHJe+Hade4vti3L1%|E^x+w|Xjm|Cq zG{ct(x(bTyFn>ajN9^T-3GVBs8UB7)!D>Y27#K8>ZIcgWDO4k7BJ`?YgfPqnoZWF? z$04{H0|jJCX(&MP3sIRtigA_X7|{axg(a$>U!cj4U<ZB=N~D!SFQTOljxZ%9f`Nip2U zBUiaG79_W@Y#W{cZUkMyDCGc8#iuT{J6w; zhqGK~NKa2kGzkekAx2Nv1iRZfzNg*QkwYTj>2GnFoYpG0)nR84ud&qOarf@f0W%Um ze7!2G#Ek5&cv{DJlcQ2M-dLqG#Ork;W=PlzXp)ibv>4qEXR*U!>%-N&pu*vHxGEe~ zOmF~jxOadVY2i$x-ETxK8ZaI2|e`*#fJ0@y*?u;wTIpS4jB?I zrWcNUhuK;-!3T~ceMVxE9EU8XHx6h|v(atz3yVB1kEfRoi7X>JZBe9`7yNpSVK#|v zQRQ*kXp@^wI*ZLxX|cOq&>jY5dzeibWe#Vh(cQ;bRb{i9jM(J5v34`xkX1s<^wLRD z|LRhUnTUl~Fp?Ntmz~6*jBJO^;e-~l^hxZc^97bQnG{@X8SlwG*rgYCT zmMft`gV?OJ9jc5@m!)_@m8ExwLW|4cahfc0Ugt1j8Yw@T*AQc+rB8NoVV=C8QixR0 zdNE+JePf^@-WWLcvRVK4YLl5){O2m;3qd35!qrgOVDbXhZRfwN%Ylf>&-cx^f&{Fr z)cKN}F86@3AXIrFtzdZ}r3=|hCvew*vCxSnNsX*UbI-`NyWB>*$&%Z@4*=q=R&z#H zrXe|1pPH1Kot!lw(O^i=&d$zCPfE*9NJ;FUWJslAF+X3PRAL(*ZGVT!gK~pMYeux` z{-Kp6t%G)`(+cCL(I$(7rEUy*A1LZ%Gsx1oFHs3gV- zkV_KucZDsyCv_X|=nDdfZhWHvqNpB?T^bQ7M>}(ipjR zx5Z-jRAK~romtir^SgDdc^}uiUHJ`WD_H?69;@5k_*o< zovTSZUUz^BMkJaY3+9`4f3Zt>J^G6OQlv=lAe05KF zNYsjzQEMo*>&0T;gfX+L+;)KgK%i2m=qW6B<%^zdr#)Np*xiyRuhixeLxz;Q$BLc- zmA3w(2iibFon;zR&Xa^zkC4KFS=mq;YMxzaW*D=>Q`*mQ082ZF`9l0;+02YDc%jSYrtpICwtj_T^zgA36PS;IMK9Ps^Bh%BUf>cq3f&kP z-dJpsXDQ>*cx77*M$NvmEi&0Sc!AT@ZzN)%pC%@!qiO_LZWSPRTkYin`JyqP5XzM0 zaJwCqHix~OPZBAFU=d{SC;?t*Ew7LVLe1|G+bG1ylK%l?@# zN()2{bt6I4r>4Ge`lJsE)l;Wdg&&ThSOZMO`9i6WmmcbV5CC633|o^BsV!QgSA%{` z#iv1--D5+ciXA$%)abIvglZ%i2GY+;Z18naNr=+ViK$31Ts2@fyS#*h$!&lznk)7w zk!=C!#r7mi>K+UPlR}C6(I4yrGk1$?xGfL+uS$`RmWBa17QP|WliOdGS4g?j;i*!9 zf*sVFRS?YsiV!1q2paVAk;A#j2*Hrt%5nx?|J(J~z`X$c z*v3mpt_Wv^CHs$bV4HN?)2^r$BBdx>S zjw;X`To$=l47Y*&tOJcKrSi58JOY}%!YexMTiq}p5(!^*-&*SC`V`7G;5WX%#Ze#f za~Ms9@kz`Qcp$+U{(CQnC}tLENmT3}_E2O=Zg%!P1%*R%a`OftG7>o`&uVw5q2E=) z_zHt4Q!;WC6S4{Vau~=Y=ru-@t17=J2bCF;J0P2JK_qnZAHZ>O7tNJy?>VS|VT1rb z-%U+bP8eua1rR^c4EKhB`w4K{#<{Byjx>lX9fNK));G=x1q63XbeD7P+h`ol-4EU7 zN;~uxHI})`Txmx4YH&Y2)`PuBlLzieW385P;NAi5PBu@a72GIy<0>si=-EL?(N1oQ zsRG=3a7Q|e3t^-V>ILE`vRvjamAT!(&JdSmJE|to24=dMx-)QTN*XiBGR|gkyL%SE zT`)$c8E$H+tTNgsz#v8IjHyU0(v|@trx?;xQhFxDqtFsQ4F(F4uJgvW<)WOsleU?v z#YPDxC6-{0*&w%JjMKa*!Af5xWbu=PwA?GfI=uz__XHtdY?jrh1@epR5*e$-6psWI zKi7>Q#;o5V%P$`D6KTiv=i~u{L^Z+v9v&wH`i05D^z>%p8%`)ImaH7N6W_C;i9(at9d-`rAnI575{uVD921LF*1ofM_wc^lh??b*Em=c0kS$~<*+&kLBjhBhB^SwM&^AI;QL1LDR;pW6omD+l392+zAJqU=o~lqa zQgyGYTxC~zR1d2Dsd`Q|RrQ+cZPk3$$EvSX->TNDwyJ(q9aL4T&Z;h{HR?!poVu;L zi(02nQ)j9NtBcj6)#d8@)f3fEs9#XOqMogOU;TypTlEI@PW1uxN%aK{(L`ukXxeLf zYSJ{>nxUFenlg=3^RVVw&2-Id&4-#Lnzfqkngg0snm>YqgPH{~K|Ov^%v& zv=@VegIff54NeUn6g)EczTgLfpAUW`cv0{-!CQk52VV#Y327D5Bcyl8&=6yYJ7iMG zt0C`)tO(f_awO#6p%J0CgeHXMgpLZehdv%UJ#<0n^3ZLe$3icMH3{n+mJv2I%p5i$ zY;xE;VN1d`haCyK9Nsj%Yk2SQ;_&;z9}9ma{KN3?!hZ@s7ZDNBAtF8E&IoJ7qYJrs2YE+av>V>HJQLCbUj{0|W zv*`Hf+-P(3BhfRXzlh!z{aZ{}Oy`))n194fjF}$uY0T!BQ%%B}bZL^^#MtEFCNrCS z)ns>*3r(9fH8dUCw6f{*O&2s>-}HEFNNktb0kP)TCt~Nsu8KX}Ow+7mv+QQ3X8&yV zPP6Zt9f=E$>l&9EcVFCdaUaBOimPoN+dQfH@aE&2&uqS|`GFRi7F}B8wy?FB+~SiK zyINejsqIafH(73a=B5vC+IG|LEpKkwucf8svn?03+}ZL{E2hv64Twf?U4shi_&zWrv?&ClNa$<2G)sN3Ayrm)QeZRWJu*ycjpc5Mf?t!n#f z+f{8(wQJF?U%UI-O>4KjUG*)^Zs~K2^_FS3thnU_)11jLn{-*laH zqjXbrYjxN3$$Fdq9sNE-tl`07C%t?GC@yo5rr@P5&b!CBvQZ zNyh2hd)_|g_64^e@71-JrPn*X4)^ZR+t~Z<-Us?HeeUh^R-XfX+xIp0o!$3PzmEOP z{od<$EVFy&eVOlP{+6ZBa%O#=^?PfeN^rfNu3%VBEU-0#v!FLwiIrGk=g@(ch3)dDkE4rs>LD9wH ztm4VV`-XKJ<{7qfc+Bv-htD7W`-uJ{rj9sJqAPi*WW&hTBdsI992GKZ_^9_rUASw& zT`%8twnn(vFx6hdyMyddaw505%(^*_lj|-aklY7X>RH3 zrM0GP(+tx|b3gMmbG49mtyMj$CRH7{KjZ$F@2_ND4#H9!0PbNc6|KX>JM)AQf|%kZyP z{>8pf_QIygDU)Zt82qCB#a&bSPMJ5g>C}l+55JWE(ihX1Y0pkO|MERAub-YY{mmKS zGdwd6yps3Im#=nu^~G1OyjJnr&Y4*=7rox*^=DrH{SEUQ+h+Bf_2HXs-+b=POK(}< z+Vl3nx4)R(W%l$r!E?sWIr`4IB)g*)cNxlv{^8D zp?aZbVfFiWzrW>!{vUk#Vb2fWUesdIb03k9JRhC-_}-6qeKPoym7k`4`r&7tKYRW2 zW}iR%h3bn5U(_zHSbX5ikza28>W;5gF1dZl=U>NvJ$GsQr8Ac`Up9Gp`0^)~vnwX9 zxbRKYH>bWW|Mu|8dsgmSRkCWw>N{6&`fl)d>(=C~S+zEE?TU51*DYP2vHq*?)4pH4 zA!WlC8YXX?Z-2F$L_tn@6n&MKRvs@$^Pj-xA}SYFWrAxbRgxxvV;8(Zah?U zXy0Me;gi3*e!X(!iK9_RryslJ*!<%O$Cp;;RBt(P*NG!1t4>}%HL0d)&FjB)`|Y#S z{Z4PJEvY?n#(9Q4`~109=jNVII=}Kl!G)hMR$jdP`?LRU_3wFqr2Vn>(uhmPE|0qs za^;n)-LEdWHu&04Y$dEj)R0JeYm>&hrK*jDOPmsva(9p2Z$gr@; zrV-&0O`FF=M#eO6*{oUfX3bhQjiev`#d*A+s;G#FsOYFB(a}xfqNAhZ@DUxyC28sp z0`?oyG?Xxe(Wp8QbyJn5sfyhXO9EL7&T*&Qv~AcS%h^w#Shd}A_*_ocY41Gw*~_bU z{CfV~&%fJwv6H61_r;oBM=z!h98o^*sTp$@uibs@_ohUxhSCPnGKB z7Y!f1{mkeS_75MrYvcnLGJd@0-Riz?{&2Z>kDjN$U%P+coT|N-+b*B?RLHVji}x>k z;mU=W&yGBNwEP#A%r7jO``oswGrjv}zR>Qa(W4(Y_0Y_c(?dPB3$w1ifAt@W%8$19 z6j>08XNc z&(9~ff+LiKsAA~~8?ZRQThnb2%(_%{v*^B0)s2s%hByXXD~q zw=|L){P+o0fr1Wi6|SR7^-#5w>Y?f)uZLPC;84Y@CEOGlJO)u*{2M73^A-kazo>NJ zN(7%5f?(YVzQF#{M_8E!hzi|Oh~yIBL4u>cHzq+0fp35Y0Ur4O$pezuAgUzrG=VQC zaH5Ni&T@+zwuo`F4|gO`8j*arJ6o|c5k3TN<{fLf(_=J4FiJ|;5oUya5GtW?gOuN^ zpnlv$mHUgGcDhZA8HblyZI&E*@vpEMkt0GNTw5??U;>sj9CjfsP8%$`nT4ImNV_B7 z=yqG^!ny#w*)47UP3UiRS6G~xwsP1TaaX_%qI45J#tRJCh4uKBK2lf0HjubHPbK)< zm?HR@N?5iBheX35ey0h?mln7ckp)Y%xKm>{3v^Y`QizW`cFm-?v_4rjk3~kbIIrM= zPT0JWg~xh@7h24+Q18@5ZrBCl!?6`)ndjoolLbb1g<{tvZkWqLLo!`bMgqwrv8oML zum$ANJkvJLIKh=^HfP%0nQph!TIz9Igw2{L5t0o%bbQf}yCSn~4woepHh7HX;^uzn z0J{lp%eI&E5g{IlMZPIAjs<9gWx*}TXk1oTRs_k=s=tT3dfI}xaGNm8QUMqpP8qFQ z402c6gm7GYhn*a_(VE}J3+7|0`FG3fypb}ol(I#h(lUq5tT^)#0^5>!K%*S=Htdpc zYy(S0SNz@9Qmf7Cp5T+CkaAH{)O@2!Xsl=nI&4U8i9mlDUjEW^A*301vLzq(!>m=% zSAjBOJGA8JT`x7l1iJC>IQ}hAry1`Ts8%1fkV-ev4b6J95>OBxrGUB(@2`Uzi79Zk zNPD5u7?KAk8wS9^9J>oH)fKDUWS}Dtk$lg(pBZ1h@mA^TV!KFZ<*5$A+Uiba7LoNG4&zabJ{(Tjk6H_HIn6acZ! zG3V(;`g+}N4K-X`L0T7(-KPS=3SD))qJ*iaR4VLBlYHc71$9dJ{> zjn4=rT@0TRw?yIIc6m@_k$VEL3n$-Y^^Pj;Kf-EuR}8YqPK00&41r$mB>;kn{nPEddoU;#LAjv}ksVlp}v-7W-3jZ7(0l#WWX5hDq$bS1%VBzLAHW)6Z>k(EZfHMcMa4i#~; zw@iC~6ekDZD~(?Aa}p#or$`+0AQs7S=GuLpR1i`jn`10`N?~xz@NCXM5T4d%RLx)F$AVsKuLPu1a^<1iPf=)Lmh{>?V!xC zux$m((Qz&jdN9THzoFSi+x;F3qlbiu%T_iXPWq@QMF1o#qwGuzspkY&bfwV+DpO8L z(KxHyR3R`aDRSgk6@vza0D78@#cnJWSfAvB=Ef^cpyk=~u|7k`I%!87T4myotHHUk zf=4lke&A#yqeKt8rpOH_l!$Pkjz;Al;(@x-ZyxyxPpAvCq44Esd~#EgCioPq&2nf@xqod@L*++1!pj~(O3!8ep1Q?-%%;T#n%Ht8`v z{Ok;-53(62IH`Yv)r@}lYS3@8m10eT5Hb3#_A;ywWk~dov5#@c{We!snZj?fA$~<4 zcU4qk9)sYkqIrOv2RD9_;4Af|Q2Y@b{LvJEVgbUSlon^PwbFtNn7Lzaa@g{b57Tm$ zjdxb@Y2l^#AP?gACiu4EB?QtBrbiTO7L_ttSQ1V`AdhI)(HO*k388^A0EpwSmJC?& zKPwrAfQUvk3dt}MA>7A5$@|RWC&>X+BZ6;(2TD&R4o;qR^G9>QI9gYQwG3n&;vVZVl>?c$xPSjX@jK6J?lI84;XI>^&mvrI zr(=wTP5}9USQ$t;gTcu|6c;)G^iLbN#)l0bQD(K-WH11cI2j(C`_ic-XE|Ya3rAfc zUMsJ7{f(}Qp=D(*3$M4@f$rj`xh!%%Ov;>j)=I0Js-V&k)G;5jS~ZyTf6%%h1&q3@POlpoPVx0B`Aqkse&el?7gjuQwdh%1ckv!EZUi z+|w(!BADRA{M$4}m`=z`Swx#W(|jMOT0*!SEs_iy0p{iW+zqfRDwAacdn^3$H1Aml zuUp6oITRKwVEv10c!lkXJQf_6gxb3mGm;n=OwrABvQB^P3<}X0aVRPtgoxr$1{1}h z1d}rt{)U##g9kV%a}^>9xc)C_m;E$f<7at4>`{D}ZNgZpL4)^k_@Z1zi5d&v)||FU zCW0G%Se4dvtZ9u>gwr;0)wAPqi~t|MN0cD^aX3hTc#0}cvJt3we4Y~^bVMi~?`HUwW-ZJdib)~C455a20(zj+YQ}Xfo*NV}jKrU! zCqtbgi&Hm-4RTJzEG)JsxYA%oPa{AoFwVktIE#w|a0TPbAii{5 zAEj%KO3az#tuE#+27WG+(Zd(tqj}UNBOw5R_~n4KW?cQkbWn#(r_(rrxeF8U8B5jn zQ4L&*rsOJsHEuM@DyPpXIF*1?M>Bnv0vv1_k&y7YfvSh;?f`jYErYd5dTg2}RhTZv z>U6nLCUHxuST8PV78A&pv3ztFlP1I; z1=|!%Vv1BgnhT0hI8%NX6Q4%g+7O?ZC^UGOE)O;XEl#W-7fEP*i2(+KXIdy49j*S-oC= z;b@Io4r74U;iLoY%6>`)soT@W6}mVuEiAUvZYIbQu^S52^`pZ|Sp3HheF=tHsR7VO zIXF$?H!#XHjlqWPnUE|nCGy2!i_>1Gy#=7yAz}U7Mh9#@sZeQPK*~NyN&3+ZH^R=T zAj9GlladXL{3-Ax&j!8-BZ#j57A53T;lE0VdKlTjB-LeQ?9?19 z5mJ>IWe&HeRqVj({skp@?^l2Sd%}b{U)76s`bV?~NVK@;woG#np7-QunJ6~i-P$2xiGvATL5Fh2k z=paJfS#VUKj!uF~0tWDS#A+g((n?-a1X62p7`-bgPQ6U~5oAT3NCrMvk*he-qr{Zp zt7rlh1i2%;c{t6Hy77Tu@i%w-%k)lu*n@c#ZA*?;I+;4 zTV|?K>4rF{vV(e92s%Nh_u;8>Vm0_GU-x!}JmQD1D5+ zss5_|n*I&_EWK8rsn6CA&=1t->P`B8>Yvm z60Qgc2+K7>AsZmv^@t{*Xt17Kq{dYVIY^i9xX(HmEK$7}1TMaS!PaPNfKgK5E)fUZ zD`F*sfl(^qT?AUVn;5)l_9t*9{Drs@|3X|zA}&hA;tI@a2_^tOb^3o`@SyA~>Op+uG8TA*rmQ2+TK_$T&!wSBrYyUZ9ST0nDWklleQ=p7U zG$O9d$YPF^T7;YE>EM7DHW1a7CH~2-fJHVF3~~~Md6pSug#&U!Je8$za!O9F!LS@{ zH5)ly8pN;FXhQAT1agTZx>x_BGuwL9u1r|HvVv-5gE6$26X!*Mt%{!*Q&y8ED!QTx zb~v33dC}JNsgFojJ9yvMSitV0*LK+j9mF?&T4#Uo=aUJ1nayAo(i_ zwSYCbhH6o7E}Wq9z&a$HLV@a2aT1@LmWZlJkpu@Ca~B!Fq7xrh>N5oots5T(XB%{8 zE`wBFVeaoRL2t6VaiQJggn5jxS{u-s16nhzKlz#nP?im7%{MYL2x!fm?h??NrPYvt z)*R59`CbvwnsKKXr}mQS2Oh;PMg1yxKx+S2`7m_T zIVpdRLIOZ&D258x8KRrAHlA&PK;aXE0R=E2sKPCYvGioM5C-o!ui&9*w&{f;9OD!^ z&~i~Y&Vk215Q}isLxzz*QOBLO!_zWB!kG+u3XeaJ4x1rn>X%NV2BZIPfAVhf1N2Oe zaAN2izUKYfh$O%|untiICxdS2j2vBGt$Q-a$8n1PPbY)q%lXnm zFmRc2MIQjl#cknyNgeGPVk-1&`S~Bt%`J3`=OKk9Z@LJ}dxXsqY1>38q9nMmogym_ z)mr&gdMvk(^HB0yiyH_3?Mm0fpazCN6(~Qv7C7+(yEA#P2@yE)gVWoRLC z8xlD2Bd*5;_AY!Lv<{s3;U>%U_=N0aPvFE);GBHmoII`<{TWR+a84c$BL>dNQ-!V0 zqJI5L`d$nA*ImvJXw7i)6>nMPO)%;%>@1#(Q zP-T!#Dg)=_#hVR$oyPyKYR&)mPyA?v6C++He7KuK|L!+VzVw;mgik*__W~dBgpUeN z_k_Y7I*tDeg_Myb67DD6eT-G_*1~TR?K#4#_Gn4WVHWN{YYxxmqy;=%{C%FP=D$E0 ze`&6cNjwOpKA0Gz(Y8#?tj^YCCbraSh&HBqbqh`N7&xz{g1d$y;Tub$;d%YPXowd} zV*^#--Xt|kGz&gjwyb6;yG--Z0=&3z!M2OlXEhhMEr3hg-rsrd^lvpa+TTu}+xb3_ zf8ok)wKb~`Blq)_x%rZ!T;W-?>DeDN3`sk4V&Hr|2tcM_<^lCre)Xt zu=O4A&)L3tGh1_9%YMIk`yBAUwR6iBw&tXk-LPfnTi}0l_qOdUl#l&k+wM2PKkLUG zJK35uT6W8hA7_F8jeWazvo*C^cH6F>-T?p1{k!+DHD|T#_TBqug8#K&e%wp_JAeG; zHSoWBaNkdC%>^yHXWzkB!T-vkpZ2pge}Mm|L$84Ur?&D)^_IJbaX`xvFIk{CaWShmY302)@au zkE8Es_36n#+kc%sb@IEfPcIGr`n!{-&i)G^&!4Z^w07O;^}*}bZmK!|JfwL3(vEE> zw+C(8ap`$zsY$C3RUgzGT0IGV=0^3zlc zSt~d*8vwC*0QVDZ=_uF!}|4<3xF#q*KFRfk*ztZW!G-pj9l~HwoRMZnrbb( ze$zJOl6NUrfFHQxUGUG|xpgaBb4tr@+`4Nv_}|{MeFt0fo0i?Yeb3wAe{1i~U6c#9 z?%YechH?dP$+lhlkZa!fdC!lO3wG@J8M);31AF(eHRrYLuDu6d2mefgD|YWYNV(?l z{+}sV?A?DDxn{<%KOYphVg~r9%eZ1X_+PG;xB|K6B^g(|1k{>ZbA;!Lso(b}udDf9yKZyM`N9gmQf> z$gE-G1eBTt;x zvYWQ=rjmv71n>ax1WK0KGM+#ldTT%O#5payW6yr%nOQQPppu13hKpME$Da;So{{kc z<(VVD08d=evOoQD1bODw;|C8@$?)@`<5aRpJW-93WyZ;0IZ1Kw$f+4Xt(Qffco}@t zM4mt?^U~RqC)d_2*RBPgcnSPd&(&;MU$a5GeoM_c%0YkZ+1!WE8Oi>-;Rw4+TT3BR0g~DQuGqeFOdkqh2Z59tx!}j$ zbNZ6umk@L=j1V0SyA&1D@xfQ8-iPOTAEc0_t$uZM>yThd5%YGMX#fj2TU@2it{>3X zUWjtniBD&)_~Yl`vlQ|oK;p1Eo$kuy5)A|o|Iw{R(0a&Q`gFgixIO2C-{))i?=)%n z4B+dPq_z+!a@0$(nAw_vF`a2=}%cY34Xq$feC*?_=ri!JyZAT4($g7Oa&_2nCzP%O@^STOPYg3nx#>TngI}LSeB3{m zfj>xu-{`Ds?T;w+jYoNX1OFRDTnu*+RKiUGF8KKg3ta482zLkI8mb-c5h$YfA9xXA zG^KBX56V&scIWFh8mTYPomQAjm{?yzAHQZ=-yKFt-5Fgnk4Mkw5}5>F1mzmE?r)^l zhc(d~YtmnVHNhKe;$MN);EmNMmvR&s39X5jg;he!;x$EhX_y@#6xs+p1L2MdjyK%E zEgsS+ybaX)dU!_xU)EdR2HMEGd=27}aZp{(<@!A(G3TVQIVY_c=cHxfoXOb8oHIpo zQqjb9gQR-9!4TR^7Fol9Tmqi~f?Uj7syHd356iN)s4T=4K8`Z z``u0{w8ISm`chO!LaDaRfWNCO4!%ya=CB@h-BQG-9p zwG)5S196A(1{&0_hBZ0iG%JnaZb0 z3Royh0+$ zuPBj3`O(0j?avP;AiX)3K*|N0#k*Nx0*@T_zdFXzmgYw{L9{4FHJ;hzT*wbKf9ar> zj9m^`3@ZHJ9x_sBmj_vmLcpi220@2?m-eI^?KYs22+JjY$U9*XNG|WVr3xHw=om~N zh>BYrN&+YfF|M&h*$NJ>%i;4zF>o@N8-VaSatR|h=@>)rYP8VbM=67K7(2{#&9DxG zb9D<{h%&)d8F*Ku8`fgnF#omzycouWau^XnS3}Y&O4<ilYk4@;WPttXdIVf2E-@g6M2R6O zULj#(h+Y}O+}&LaN>&CDO?@GHB8GSu;R7)QR`e*1;DO^Nc4Qo&LE`}J4b}tjx>6im zIX`G3)St@4!`Lnec~m$!TF}84>d3T#4CpEh(-vHGnSp5ut|VNMVOq(mKnaIHjOd*N zBKk-|M>3@3LLmwH8e9$K0(IaT!~Z0pSkoj-J0TZZD=wGTV!@zRBI}}-Ml0xl64U`P ziO;&Ei@9XTaskS7x%f|HP~hs%#do{FEUU3eK&5ST$zX_Sd>VlP8pCD+2Q-4u3?d8o zPifHF8($xR2^v$j8{h(%Ei}GOZ-5VAw!zcD|9${-lg6hJ`JfT`h&u@T=LEY7r`Jc4e;X;_#__~}qo zBn52BSaj9{X{l!2&@z{Zl%j(66jsA%)533)p_T_fV%Mmtw2v#OuwwFmW!dPW5NHpg z5}Cj)OmQh7E*Buwk>4tZR^=eLkXVq7w4fD`fH^=+x=u>hoN;=Kh%kB~)>PrG6D1E4 z!^}4&J}o5~)+eyx65^B7Q&VU!=9b;WP@KaHq0q>3+(k4gR|B9U)vtwRS!`~3+<_1m ziiOxj)Q0r9}eoGCg6<5i;QCKk$o;l)Ho# zLlJ+1K0Y})JslPz`PxAO)aVt3NJxxNO-j_K%Oi;m#$`xX_vzX+r8(rx)fqZ`-5|bD z^w;%hu|N;x*F_Vgs^gNVP%2!*l+H-dy43p+^X5u`eMY#5@_Idn&U^o4k7>lJlYd=B zR;WgH6)FgT*nV~uXsbH?;J?&WKo&Q?t0cxJq!?g3L|_`IIqfPb*h!$b(0+nFpl7_^ zkN`TT*b59kl438Y8!wmD&p zK@l%}Df1!!K{r8ek#^?-+niK)(fy~kIbp8Cbyuo`Vf&yY#8+U45eS1k3cVM}aU(m7 z^n7eizH1B|m4$o5@sKY4B*3ZK`fTZLCT-!b4QU5|XcNQzDQ)TSXm))zSM{eyOq|UX zm)^I9j=$;uq?M$Wy|h@g1zdcI)m&Q4+X61Wq^(uh0@enf@UjIw5mYU+1+3OqD{KM5 zudoFKzrq#}{0dt@@GEQq!LP6d1i!)-5d72@@Nx|)xmKepsks6#&MXjus9E5ZGuo0f zC1=i*TsuQbz(Z{WA&}Y#Ua8fV)RxrNmRzfaK;B>w0;$2^m9y7M*t38bzE^nTK?tM9 zgI6hBU2;|oMN>iurKW^eFF>jbs*(%WN>mq0uJDG15UMaN1i!+t5c~?mLhvgL3&F22 zEUXTymKhd;Pi9zH9bD~YSO^d=!$L?QGc2suoOqcxEPVNdrgr00YFIdRW3A@Wv5m{C zmui-8Ja$RLUaCD&4N+?^!2!cdOL$YkCCD^i@uq@b0n;c<1%YY2Oa*~yWTt{pFNLWf z_!Xvt;GZuy6$Jl0xv3!d6{dpVSC|TdUtuZ;erhUs`8Q~#-&7^P0n_kSgAhcm2J7$z znh-+Zn`kaphojJ*5CW+^p*Pc@Z6SnF+rq2oA;a@(IP8B7TvvEYLkOjohIN?+?G7RI zHJObWvY5i|5c~?eL+~r?4#BUmJA_7;*&TvUW_Jj26?TWPqjVPJ%!WW}Zg}M!$eDA17`|6{(?bZOriVURW)_6Lfrf}zFG8w|s*;N!XD*gp;mr~u z^mQ4_ybk`EaAllows to hide the closing warning. + +
Version 1.9.0 February 25th 2015
+
+
    +
  • New context menu on sets list.
  • +
  • Choosable application language.
  • +
  • "Mode" option: random or sequential.
  • +
  • Batch edition of sets.
  • +
+
+ +
+ See older versions +
\ No newline at end of file diff --git a/src/lang/en_GB/main.ts b/src/lang/en_GB/main.ts index b8f5f93..b59c573 100644 --- a/src/lang/en_GB/main.ts +++ b/src/lang/en_GB/main.ts @@ -5,7 +5,7 @@ ChangelogDialog - + Changelog @@ -204,90 +204,96 @@ MainWindow - + Quit - + Import configuration file - + Export configuration file - + About - - + + XML files (*.xml) - + Add set - + + Error - + Invalid settings file - - + + User guide - + Changelog - + + No active files + + + + Paused - + Running - + Current sets : %1 - - + + A new version is available : %1 - + Close and don't show this message again - + %1 is still running - + If you quit the application now,<br>the wallpaper will not change anymore. diff --git a/src/lang/fr_FR/changelog.htm b/src/lang/fr_FR/changelog.htm index c94a8f4..ced63a4 100644 --- a/src/lang/fr_FR/changelog.htm +++ b/src/lang/fr_FR/changelog.htm @@ -10,4 +10,18 @@
  • Permet de masquer l'alerte de fermeture.
  • + +
    Version 1.9.0 25 Février 2015
    +
    +
      +
    • Nouveau menu contextuel pour gérer les sets.
    • +
    • Permet de choisir la langue de l'application.
    • +
    • Paramètre "Mode" : aléatoire ou séquentiel.
    • +
    • Édition par lot des sets.
    • +
    +
    + +
    + Voir les versions plus anciennes +
    \ No newline at end of file diff --git a/src/lang/fr_FR/main.qm b/src/lang/fr_FR/main.qm index 3a3231c0126b97dc47e4a5bb01731d24d8a0e211..ab3c1fcb4b10874db3fa385f1a0d0b4261fa34ed 100644 GIT binary patch delta 960 zcmY+?dq~q!6bJC{ey`1K&3w#PYg_JNh*=U+nDl~jf0*VyDnylcdM2=^|^{f|B~9K!SsHgs`HI5>1N1%1cM+|2XUH zP$jA3fS5K_#`}AKHF9V;F;FX{jk*BGu&|_Y8DMN?O>c#Ej}eHjVB_ZrpW7RNB!lpI zY%`!_u~P=c1h)vp?O{`L#iny+K$jz)Raep>Nn&f!2|%+~{CGnE#5v-KC5?)@BaVH% z1q4i1DOUfEs%?~PZXYnYO-k>62qfoA>#He_y~ZYHN+(x#0VrfGbEK;o)b5la)+|fi zHPlXXNM3X?2apf4)?>137RA`{7yPNR1RCUya$2Un#@Zh# zQy#3QvfQkFRLS*H`uK>lL!tXBS6Jf@Wxwk(l^Ic*TZ`$Qb6MLWCG@->u)J2DylMtg z3zRRO-_)mw+GLlhjBM7{s4lGR1cE^!dBK3XrDiv^AWKuAZ=s!m;0jgJ~OKbS2# za~xT^z?MNuKBViI86lfko2={Yp;v=%dOOmo@SXa+!#@C1rT$cDCOwEq@Th1>_8O*n zDA~jz)|hLk{qT#De+oVoryKT1kGpQr#r%GH_us=>>3+<7Cl+8Eyfik#iZb|VUO`_U zDk=6*w3VVV&EGyKG@=VOSv}sZ{%W7K%)h}`6%H92R2DN9|F^U1-@T{`uSqP5`vZvZ B^Hcx; delta 846 zcmXBSdq~q!6bJC{Z@8gv{WooqasWH3G5Fm5_^C_7HSEb z1Xx{=Ub_Iz8`kE5G@Ss1Y=!jwGI@w~CP1#I{Xsw3&;`~x2KizM5StG9wiD1-v5sVH zXdDC4G8hVhe?4BG_mHTnz)%vz*(o+)Ubu>ZDuVeG`)qPSckyU{|gwuYNmQm z0p=df)a*V$No4JZMUzJajEQXcl-Sf}1q`WTtF{8LJyY`qv$sf`{d@;l@=^-+pCsK< zjHeigES8oHJ_f@6NV_X34&K3<-b)wq1^{HS)-Td^7tJ~1C>!aM2CHd~)&e=>YAPU~ zW~0{2naLDKRmnSVS^(V$tB*M@mk!;fhq+*d-|^fy??9>w01Pi=v9v?^&u zR6e9rIjGR(lrA>3O*xr)joR!`+VAB6er`5;M(KVvOqV^TyclZ->~qR=;Q|e%Q)_X^ z)W&Ky#;wh&=m*sEns8mU_Db~;z%rrsYRqMIe!cb20c`|pa}zyqtcA@JpAJ zL4z>-)jiENQzuUSgJH_k2e2_C`o6ewir2CZ=m+X*D6ik3t1hO2e^b-N*a*jj!MlHy zjvF`ht(qg7*l3?xE1Gpt{>|G~(5rN+&7v(lC?LL&QWuZ2AyWZ0pMKNq8`XE>%7B!> j`OI5X*jz^6yG6AIyM5VGZII7ysu5I=b&c<>IobFRUkcjI diff --git a/src/lang/fr_FR/main.ts b/src/lang/fr_FR/main.ts index 96d7aae..6b6e98f 100644 --- a/src/lang/fr_FR/main.ts +++ b/src/lang/fr_FR/main.ts @@ -5,7 +5,7 @@ ChangelogDialog - + Changelog Suivi de versions @@ -204,90 +204,96 @@ MainWindow - + Quit Quitter - + Import configuration file Importer la configuration - + Export configuration file Exporter la configuration - + About À propos - - + + XML files (*.xml) Fichiers XML (*.xml) - + Add set Ajouter - + + Error Erreur - + Invalid settings file Fichier de configuration invalide - - + + User guide Guide d'utilisation - + Changelog Suivi de versions - + + No active files + Aucun fichier actif + + + Paused Mis en pause - + Running Démarré - + Current sets : %1 Sets actuels : %1 - - + + A new version is available : %1 Une nouvelle version est disponible : %1 - + Close and don't show this message again Fermer et ne plus afficher ce message - + %1 is still running %1 est toujours en cours d'éxécution - + If you quit the application now,<br>the wallpaper will not change anymore. Si vous quittez l'application maintenant,<br>le fond d'écran ne changera plus. @@ -322,7 +328,7 @@ Active files - Fichiers courant + Fichiers actifs diff --git a/src/wallpapergenerator.cpp b/src/wallpapergenerator.cpp index f962611..be12ef9 100644 --- a/src/wallpapergenerator.cpp +++ b/src/wallpapergenerator.cpp @@ -142,6 +142,11 @@ QString WallpaperGenerator::getRandomFile(Set* _set, const QVector &_fi { int total = _set->count(); + if (total == 0) + { + return ""; + } + // only one file in the set ?! if (total == 1) {