From 555ae073db00f09732bcf2411413df9d3c476076 Mon Sep 17 00:00:00 2001 From: "yongsung1.kim" Date: Mon, 17 Sep 2012 18:24:21 +0900 Subject: [PATCH] upload tizen2.0 alpha installmanager source Change-Id: I31762cfdc93de165bcda53e4ad943c3c04d7f5e2 --- .../updater/InstallManagerUpdater.java | 125 -- InstallManager_java/InstallManager | 6 +- InstallManager_java/build.xml | 10 +- InstallManager_java/installmanager.conf.local | 2 - InstallManager_java/installmanager.conf.net.linux | 4 - InstallManager_java/installmanager.conf.net.win | 4 - .../src/org/tizen/installmanager/core/Config.java | 804 ++++++----- .../core/DistributionController.java | 369 +++++ .../tizen/installmanager/core/InstallManager.java | 969 ++++++++------ .../org/tizen/installmanager/core/Installer.java | 707 +++++----- .../src/org/tizen/installmanager/core/Options.java | 71 +- .../installmanager/core/SDKExtensionInfo.java | 169 +++ .../installmanager/core/UpdateInstallManager.java | 261 ++-- .../org/tizen/installmanager/lib/Documents.java | 39 +- .../org/tizen/installmanager/lib/Downloader.java | 400 ++++-- .../tizen/installmanager/lib/ErrorController.java | 215 +-- .../src/org/tizen/installmanager/lib/Log.java | 147 +- .../org/tizen/installmanager/lib/NetworkProxy.java | 74 +- .../org/tizen/installmanager/lib/OldRegistry.java | 43 +- .../src/org/tizen/installmanager/lib/Platform.java | 193 ++- .../installmanager/lib/ProgramController.java | 152 ++- .../src/org/tizen/installmanager/lib/Registry.java | 370 +++-- .../tizen/installmanager/lib/SDKPackageFormat.java | 201 +-- .../org/tizen/installmanager/lib/StartMenu.java | 16 +- .../lib/linux/LinuxFileSystemInfo.java | 26 +- .../lib/linux/LinuxProgramController.java | 65 +- .../lib/linux/LinuxSDKPackageFormat.java | 4 +- .../lib/mac/MacProgramController.java | 33 + .../lib/win/WindowsProgramController.java | 119 +- .../installmanager/lib/win/WindowsRegistry.java | 3 +- .../lib/win/WindowsSDKPackageFormat.java | 236 ++-- .../lib/win/WindowsShellRunningProgramParser.java | 5 +- .../installmanager/pkg/lib/PackageManager.java | 1416 ++++++++++++++++++++ .../installmanager/pkg/lib/PropertyParser.java | 16 +- .../pkg/lib/darwin/DarwinPackageManager.java | 22 + .../pkg/lib/linux/LinuxPackageManager.java | 45 + .../pkg/lib/win/WindowsPackageManager.java | 47 + .../tizen/installmanager/pkg/model/ConfigFile.java | 729 ++++++---- .../installmanager/pkg/model/Distribution.java | 117 ++ .../installmanager/pkg/model/DistributionSet.java | 76 ++ .../tizen/installmanager/pkg/model/Package.java | 501 +++++++ .../tizen/installmanager/pkg/model/PackageSet.java | 23 +- .../tizen/installmanager/pkg/model/Snapshot.java | 180 +++ .../installmanager/pkg/model/SnapshotList.java | 81 ++ .../tizen/installmanager/pkg/model/Version.java | 13 +- .../installmanager/ui/InstallManagerWindow.java | 427 +++--- .../installmanager/ui/dialog/AddExtraDialog.java | 255 ++++ .../ui/dialog/AddExtraRepositoryDialog.java | 298 ++++ .../ui/dialog/ChangeServerDialog.java | 145 ++ .../ui/dialog/ConfigurationDialog.java | 852 +++++++++++- .../ui/dialog/IndeterminateProgressDialog.java | 39 +- .../org/tizen/installmanager/ui/model/Item.java | 486 +++++-- .../installmanager/ui/model/ItemLabelProvider.java | 87 +- .../ui/model/ItemTreeContentProvider.java | 43 +- .../org/tizen/installmanager/ui/page/.gitignore | 1 + .../tizen/installmanager/ui/page/CompletePage.java | 37 +- .../installmanager/ui/page/ConfigPathPage.java | 2 +- .../ui/page/InstallableListPage.java | 317 ++++- .../installmanager/ui/page/InstallingPage.java | 74 +- .../tizen/installmanager/ui/page/LicensePage.java | 2 +- .../installmanager/ui/page/PackageListPage.java | 457 +++++-- .../tizen/installmanager/ui/page/PageTemplate.java | 19 +- .../ui/page/SetInstallDirectoryPage.java | 55 +- .../ui/page/UninstallableListPage.java | 19 +- .../installmanager/ui/page/UninstallingPage.java | 73 +- .../installmanager/ui/page/UpdatableListPage.java | 102 ++ .../installmanager/ui/page/ViewController.java | 193 ++- .../tizen/installmanager/ui/page/WelcomePage.java | 78 +- .../org/tizen/installmanager/util/PathUtil.java | 164 ++- .../org/tizen/installmanager/util/ShellUtil.java | 19 + .../src/res/desktop_directory/install.sh | 11 +- .../src/res/desktop_directory/install.vbs | 13 +- .../src/res/desktop_directory/makeshortcut.vbs | 8 +- .../src/res/desktop_directory/remove.sh | 2 +- .../desktop_directory/tizen-sdk-installmanager.ico | Bin 188972 -> 149216 bytes .../desktop_directory/tizen-sdk-installmanager.png | Bin 27167 -> 18685 bytes .../src/res/desktop_directory/tizen-sdk-menu.ico | Bin 188972 -> 143332 bytes .../src/res/desktop_directory/tizen-sdk-menu.png | Bin 28329 -> 18038 bytes InstallManager_java/src/res/icons/SDK_icon.png | Bin 10526 -> 9051 bytes .../images/install_manager_graphicmotif_001.png | Bin 103735 -> 45492 bytes .../images/install_manager_graphicmotif_002.png | Bin 103728 -> 45516 bytes .../images/install_manager_graphicmotif_003.png | Bin 103771 -> 45554 bytes .../images/install_manager_graphicmotif_004.png | Bin 103699 -> 45495 bytes .../install_manager_graphicmotif_welcome.png | Bin 133459 -> 55243 bytes .../res/images/uninstaller_graphicmotif_001.png | Bin 105070 -> 45590 bytes .../res/images/uninstaller_graphicmotif_002.png | Bin 105139 -> 45686 bytes .../res/images/uninstaller_graphicmotif_003.png | Bin 105072 -> 45733 bytes InstallerStub/linux/InstallManager | 6 +- InstallerStub/linux/InstallManagerP | 22 + InstallerStub/linux/installer_stub | 59 +- InstallerStub/linux/makeImageLinux | 36 + InstallerStub/linux/makeImageWindows | 36 + InstallerStub/linux/makeLocal | 29 +- InstallerStub/linux/makeNetwork | 24 +- UpdateInstallManager/.project | 17 - .../.settings/org.eclipse.jdt.core.prefs | 12 - .../updater/InstallManagerUpdater.java | 125 -- package/build.linux | 36 - package/pkginfo.manifest | 16 - unittest/.project | 17 - unittest/.settings/org.eclipse.jdt.core.prefs | 12 - .../installmanager/tests/InstallManagerTest.java | 61 - .../installmanager/tests/Packages_repo.list | 319 ----- .../installmanager/tests/installedpackage.list | 100 -- 104 files changed, 10260 insertions(+), 4053 deletions(-) delete mode 100644 InstallManagerUpdater/src/org/tizen/installmanager/updater/InstallManagerUpdater.java delete mode 100644 InstallManager_java/installmanager.conf.local delete mode 100644 InstallManager_java/installmanager.conf.net.linux delete mode 100644 InstallManager_java/installmanager.conf.net.win create mode 100644 InstallManager_java/src/org/tizen/installmanager/core/DistributionController.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/core/SDKExtensionInfo.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/lib/mac/MacProgramController.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/lib/PackageManager.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/lib/darwin/DarwinPackageManager.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/lib/linux/LinuxPackageManager.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/lib/win/WindowsPackageManager.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/model/Distribution.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/model/DistributionSet.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/model/Package.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/model/Snapshot.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/pkg/model/SnapshotList.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraDialog.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraRepositoryDialog.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/ui/dialog/ChangeServerDialog.java create mode 100644 InstallManager_java/src/org/tizen/installmanager/ui/page/.gitignore create mode 100644 InstallManager_java/src/org/tizen/installmanager/ui/page/UpdatableListPage.java create mode 100644 InstallerStub/linux/InstallManagerP create mode 100644 InstallerStub/linux/makeImageLinux create mode 100644 InstallerStub/linux/makeImageWindows delete mode 100644 UpdateInstallManager/.project delete mode 100644 UpdateInstallManager/.settings/org.eclipse.jdt.core.prefs delete mode 100644 UpdateInstallManager/src/org/tizen/installmanager/updater/InstallManagerUpdater.java delete mode 100755 package/build.linux delete mode 100644 package/pkginfo.manifest delete mode 100644 unittest/.project delete mode 100644 unittest/.settings/org.eclipse.jdt.core.prefs delete mode 100644 unittest/src/com/samsung/installmanager/tests/InstallManagerTest.java delete mode 100644 unittest/src/com/samsung/installmanager/tests/Packages_repo.list delete mode 100644 unittest/src/com/samsung/installmanager/tests/installedpackage.list diff --git a/InstallManagerUpdater/src/org/tizen/installmanager/updater/InstallManagerUpdater.java b/InstallManagerUpdater/src/org/tizen/installmanager/updater/InstallManagerUpdater.java deleted file mode 100644 index 2d643d0..0000000 --- a/InstallManagerUpdater/src/org/tizen/installmanager/updater/InstallManagerUpdater.java +++ /dev/null @@ -1,125 +0,0 @@ -/* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* - * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ - -package org.tizen.installmanager.updater; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.PrintWriter; - -public class InstallManagerUpdater { - private static PrintWriter writer; - - private static void initWriter() { - try { - writer = new PrintWriter(new File(System.getProperty("user.dir") + - File.separator +"updater.log")); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - } - - public boolean moveFile(String from, String to) { - return moveFile(new File(from), new File(to)); - } - - public boolean moveFile(File from, File to) { - writer.println("Move " + from + " to " + to); - if (!from.exists()) { - writer.println("File not found: "+from); - return false; - } else {} //nothing - - if (to.exists()) { - writer.println("File exists. try to delete : "+to); - if(to.delete()) { - writer.println("deleted"); - } else { - writer.println("delete fail"); - return false; - } - } else {} - - return from.renameTo(to); - } - - /** - * Moves new IM to old IM and run the IM. - * @param args args[0] is path of new IM. args[1] is path of old IM. - */ - public static void main(String[] args) { - initWriter(); - - if (args.length < 2) { - return; - } - - try { - writer.println("sleep 3000"); - Thread.sleep(3000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - String[] imargs = new String[args.length-2]; - for(int i = 0; i < args.length-2; i++) { - imargs[i] = args[i+2]; - } - - InstallManagerUpdater upInstallManager = new InstallManagerUpdater(); - upInstallManager.update(args[0], args[1], imargs); - } - - private void update(String newIM, String oldIM, String[] imargs) { - boolean bResult = moveFile(newIM, oldIM); - String imarg = ""; - for(String a : imargs) { - imarg = imarg + " " + a; - } - - if (bResult){ - writer.println("move success"); - try { - File toFile = new File(oldIM); - toFile.setExecutable(true); - writer.println("run IM"); - Runtime.getRuntime().exec("java -jar " + toFile.getAbsolutePath() + " -updated " + imarg); - } catch (IOException e) { - writer.println("run failed"); - // TODO Auto-generated catch block - e.printStackTrace(); - } - } else { - writer.println("move failed"); - } - writer.close(); - } - -} diff --git a/InstallManager_java/InstallManager b/InstallManager_java/InstallManager index 51835ae..a1da9c3 100644 --- a/InstallManager_java/InstallManager +++ b/InstallManager_java/InstallManager @@ -4,13 +4,13 @@ current_path=`pwd` if [ -e InstallManager.jar ] then java -jar InstallManager.jar $* -elif [ -e $HOME/.TizenSDK/tizensdkpath ] +elif [ -e $HOME/tizen-sdk-data/tizensdkpath ] then - tizenpath=`grep TIZEN_SDK_INSTALLED_PATH $HOME/.TizenSDK/tizensdkpath` + tizenpath=`grep TIZEN_SDK_INSTALLED_PATH $HOME/tizen-sdk-data/tizensdkpath` SDK_PATH=`echo $tizenpath | cut -f2 -d"="` if [ "x$SDK_PATH" != "x" ] then - cd $SDK_PATH/InstallManager + cd $SDK_PATH/install-manager if [ -e InstallManager.jar ] then java -jar InstallManager.jar $* diff --git a/InstallManager_java/build.xml b/InstallManager_java/build.xml index 1f83a3c..1666834 100644 --- a/InstallManager_java/build.xml +++ b/InstallManager_java/build.xml @@ -19,8 +19,16 @@ + + + + + + + + - + diff --git a/InstallManager_java/installmanager.conf.local b/InstallManager_java/installmanager.conf.local deleted file mode 100644 index d4de4a4..0000000 --- a/InstallManager_java/installmanager.conf.local +++ /dev/null @@ -1,2 +0,0 @@ -InstallManager-Version: 1.15.0 - diff --git a/InstallManager_java/installmanager.conf.net.linux b/InstallManager_java/installmanager.conf.net.linux deleted file mode 100644 index edc7aa8..0000000 --- a/InstallManager_java/installmanager.conf.net.linux +++ /dev/null @@ -1,4 +0,0 @@ -Repository: http://172.21.17.55/dibs/unstable_release -InstallManager-Repository: http://172.21.17.55/Tizen-PackageServer_Internal/InstallManager/Linux -InstallManager-Version: 1.20.0 - diff --git a/InstallManager_java/installmanager.conf.net.win b/InstallManager_java/installmanager.conf.net.win deleted file mode 100644 index 5d71639..0000000 --- a/InstallManager_java/installmanager.conf.net.win +++ /dev/null @@ -1,4 +0,0 @@ -Repository: http://172.21.111.180/Tizen-PackageServer_Internal/current/windows-packages/ -InstallManager-Repository: http://172.21.111.180/Tizen-PackageServer_Internal/InstallManager/Windows -InstallManager-Version: 1.20.0 - diff --git a/InstallManager_java/src/org/tizen/installmanager/core/Config.java b/InstallManager_java/src/org/tizen/installmanager/core/Config.java index 61764f2..acd915b 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/Config.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/Config.java @@ -1,44 +1,42 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ - -package org.tizen.installmanager.core; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.core; import java.io.File; import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; +import java.util.Arrays; import java.util.Collection; -import java.util.LinkedList; +import java.util.Collections; import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.lib.Platform; -import org.tizen.installmanager.lib.Registry; import org.tizen.installmanager.pkg.model.ConfigFile; import org.tizen.installmanager.pkg.model.Version; import org.tizen.installmanager.util.PathUtil; @@ -47,78 +45,148 @@ import org.tizen.installmanager.util.PathUtil; * This class manages to configure installmanager. * * @author shihyun kim - * + * */ public class Config { public static final String SDK_NAME = "Tizen SDK"; - - //Directory and Execute file name. + + // Directory and Execute file name. public static final String INSTALL_MANAGER_FILE_NAME = "InstallManager"; - public static final String INSTALL_MANAGER_DIRECTORY = "InstallManager"; + public static final String INSTALL_MANAGER_DIRECTORY = "install-manager"; + public static final String OLD_INSTALL_MANAGER_DIRECTORY = "InstallManager"; public static final String INSTALL_MANAGER_BINARY = "InstallManager.jar"; public static final String INSTALL_MANAGER_UPDATER_BINARY = "InstallManagerUpdater.jar"; public static final String EXECUTE_FILE_NAME_OF_INSTALL_MANAGER = getExecuteFileNameOfInstallManager(); - public static final String EXECUTE_FILE_PATH_OF_INSTALL_MANAGER = PathUtil.get(INSTALL_MANAGER_DIRECTORY, EXECUTE_FILE_NAME_OF_INSTALL_MANAGER); - public static final String SDK_DIRECTORY = "tizen_sdk"; - - //config File - public static final String CONFIG_DIRECTORY_NAME = ".TizenSDK"; + public static final String EXECUTE_FILE_NAME_OF_INSTALL_MANAGER_PARTNER = + getExecuteFileNameOfInstallManagerPartner(); + public static final String EXECUTE_FILE_PATH_OF_INSTALL_MANAGER = PathUtil + .get(INSTALL_MANAGER_DIRECTORY, + EXECUTE_FILE_NAME_OF_INSTALL_MANAGER); + public static final String SDK_DIRECTORY = "tizen-sdk"; + + // config File + public static final String CONFIG_DIRECTORY_NAME = "tizen-sdk-data"; public static final String CONFIG_HOME = getConfigHome(); public static final String INFO_DIRECTORY = ".info"; -// public static final String INFO_DIRECTORY_PATH = PathUtil.getFromInstalledPath(INFO_DIRECTORY); - //old config File + public static final String OLD_CONFIG_DIRECTORY_NAME = ".TizenSDK"; + public static final String OLD_CONFIG_HOME = getOldConfigHome(); + // public static final String INFO_DIRECTORY_PATH = + // PathUtil.getFromInstalledPath(INFO_DIRECTORY); + + // old config File public static final String OLD_INFO_DIRECTORY = "info"; - public static final String OLD_INFO_DIRECTORY_PATH = PathUtil.get(CONFIG_HOME, OLD_INFO_DIRECTORY); + public static final String OLD_INFO_DIRECTORY_PATH = PathUtil.get( + CONFIG_HOME, OLD_INFO_DIRECTORY); public static final String OLD_INFO_REMOVESCRIPT_DIRECTORY = "removescript"; - public static final String OLD_INFO_REMOVESCRIPT_PATH = PathUtil.get(OLD_INFO_DIRECTORY_PATH, OLD_INFO_REMOVESCRIPT_DIRECTORY); + public static final String OLD_INFO_REMOVESCRIPT_PATH = PathUtil.get( + OLD_INFO_DIRECTORY_PATH, OLD_INFO_REMOVESCRIPT_DIRECTORY); public static final String OLD_INSTALLED_FILE_LIST_DIRECTORY = "installedlist"; - public static final String OLD_INSTALLED_FILE_LIST_DIRECTORY_PATH = PathUtil.get(OLD_INFO_DIRECTORY_PATH, OLD_INSTALLED_FILE_LIST_DIRECTORY); - - //IM config file. + public static final String OLD_INSTALLED_FILE_LIST_DIRECTORY_PATH = PathUtil + .get(OLD_INFO_DIRECTORY_PATH, OLD_INSTALLED_FILE_LIST_DIRECTORY); + + // IM config file. public static final String INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME = "installmanager.conf"; - public static final String INSTALL_MANAGER_DEFAULT_CONFIG_FILE_PATH = PathUtil.get(INSTALL_MANAGER_DIRECTORY, INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME); - - //Programs shortcut path + public static final String INSTALL_MANAGER_DEFAULT_CONFIG_FILE_PATH = PathUtil + .get(INSTALL_MANAGER_DIRECTORY, + INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME); + + // Programs shortcut path public static final String SDK_PROGRAMS_SHORTCUT_MENU_PATH = getSLPSDKShortcutPath(); public static final String SDK_PROGRAMS_SHORTCUT_MENU_FILENAME = "tizen-sdk-menu.directory"; - public static final String SDK_PROGRAMS_SHORTCUT_MENU_ICON_PATH = PathUtil.getFromHome(".local/share/icons/tizen-sdk-menu.png"); - - //InstallManager Shortcut PathUtil + public static final String SDK_PROGRAMS_SHORTCUT_MENU_ICON_PATH = PathUtil + .getFromHome(".local/share/icons/tizen-sdk-menu.png"); + + // InstallManager Shortcut PathUtil public static final String SHORTCUT_DIRECTORY = "Tizen SDK"; public static final String INSTALL_MANAGER_SHORTCUT = "InstallManager"; public static final String INSTALL_MANAGER_SHORTCUT_PATH = getInstallManagerShortcutPath(); public static final String INSTALL_MANAGER_SHORTCUT_FILENAME = "tizen-sdk-installmanager.desktop"; public static final String INSTALL_MANAGER_SHORTCUT_ICON_PATH = getInstallManagerShortcutIconPath(); - - //OLD SHORTCUT + + // OLD SHORTCUT public static final String OLD_SHORTCUT_DIRECTORY = "Samsung Linux Platform"; public static final String OLD_SDK_PROGRAMS_SHORTCUT_MENU_PATH = getOldSLPSDKShortcutPath(); public static final String OLD_SDK_PROGRAMS_SHORTCUT_MENU_FILENAME = "samsung-sdk_menu.directory"; - public static final String OLD_SDK_PROGRAMS_SHORTCUT_MENU_ICON_PATH = PathUtil.getFromHome(".local/share/icons/samsung-sdk-menu.ico"); - - public static final String OLD_INSTALL_MANAGER_SHORTCUT_PATH = PathUtil.getFromHome(".local/share/applications/samsung-sdk-installmanager.desktop"); + public static final String OLD_SDK_PROGRAMS_SHORTCUT_MENU_ICON_PATH = PathUtil + .getFromHome(".local/share/icons/samsung-sdk-menu.ico"); + + public static final String OLD_INSTALL_MANAGER_SHORTCUT_PATH = PathUtil + .getFromHome(".local/share/applications/samsung-sdk-installmanager.desktop"); public static final String OLD_INSTALL_MANAGER_SHORTCUT_FILENAME = "samsung-sdk-installmanager.desktop"; - public static final String OLD_INSTALL_MANAGER_SHORTCUT_ICON_PATH = PathUtil.getFromHome(".local/share/icons/samsung-sdk-installmanager.ico"); + public static final String OLD_INSTALL_MANAGER_SHORTCUT_ICON_PATH = PathUtil + .getFromHome(".local/share/icons/samsung-sdk-installmanager.ico"); - //Packages info + // Packages info public static final String BINARY_DIRECTORY = "binary"; - public static final String PACKAGE_LIST_FILE_LINUX = "pkg_list_linux"; - public static final String PACKAGE_LIST_FILE_WINDOWS = "pkg_list_windows"; - public static final String PACKAGE_LIST_LOCAL_DIRECTORY = PathUtil.getFromCurrDir(Config.BINARY_DIRECTORY); - public static final String PACKAGE_LIST_LOCAL_FILE_PATH = setPkglistLocalPath(); + public static final String PACKAGE_LIST_FILE_LINUX_32 = "pkg_list_ubuntu-32"; + public static final String PACKAGE_LIST_FILE_LINUX_64 = "pkg_list_ubuntu-64"; + public static final String PACKAGE_LIST_FILE_WINDOWS_32 = "pkg_list_windows-32"; + public static final String PACKAGE_LIST_FILE_WINDOWS_64 = "pkg_list_windows-64"; + public static final String PACKAGE_LIST_FILE_MACOS_64 = "pkg_list_darwin-64"; + public static final String PACKAGE_BINARY_LOCAL_DIRECTORY_PATH = PathUtil + .getFromCurrDir(Config.BINARY_DIRECTORY); + public static final String PACKAGE_LIST_LOCAL_DIRECTORY_PATH = PathUtil + .getCurrentDir(); +// public static String PACKAGE_LIST_FILE_PATH = ""; // path includes pkg list file name by using configuration dialog. +// public static String PACKAGE_LIST_FILE_DIR = ""; // path excepts pkg list file name by using configuration dialog. public static final String INSTALLED_PACKAGE_LIST_FILE_NAME = "installedpackage.list"; -// public static final String INSTALLED_PACKAGE_LIST_FILE_PATH = PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), INSTALLED_PACKAGE_LIST_FILE_NAME); - - //Install temp directory +// public static String SDK_IMAGE_PATH = ""; + + // Install temp directory public static final String TEMP_DIRECTORY = "temp"; public static final String DATA_DIRECTORY = "data"; public static final String SDK_TEMP_DIR = "tizensdk"; - - //batch file + public static final String SDK_TEMP_DIR_PATH = PathUtil.getFromTempDir(Config.SDK_TEMP_DIR); + + // batch file public static final String INSTALL_MANAGER_REMOVE_BATCH_SCRIPT_FILE_NAME = "removeSDKDirectory.bat"; public static final String INSTALL_MANAGER_REMOVE_VB_SCRIPT_FILE_NAME = "removeSDKDirectory.vbs"; + // repository + public static final String REPOSITORY_DISTRIBUTION_INFO_FILE = "distribution.info"; + public static final String REPOSITORY_SNAPSHOT_INFO_FILE = "snapshot.info"; + public static final String REPOSITORY_DEFAULT_TYPE = "develop"; + + private String localRepository = ""; + private String confFilePath = null; + + // configuration dialog + public static ConfDialog fromWhere = ConfDialog.NORMAL; // where does information come from in configuration dialog. + + private ServerType serverType = ServerType.SNAPSHOT; + public static Status status = Status.INSTALL; + + /** + * This enumeration where does information come from in configuration dialog.
+ * NORMAL is just push 'next' button.
+ * SNAPSHOT is information from snapshot table in configuration dialog.
+ * LOCAL_IMAGE is information from file dialog in configuration dialog.
+ * USER_SPECIFIC is information from text editor in configuration dialog.
+ */ + public enum ConfDialog { + NORMAL, SNAPSHOT, LOCAL_IMAGE, USER_SPECIFIC; + } + + public enum Status { + INSTALL, UPDATE, UNINSTALL; + } + + public enum ServerType{ + SNAPSHOT("snapshot"), + PACKAGE("package"), + LOCAL("local"); + + private String type = ""; + ServerType(String type){ + this.type = type; + } + + public String toString() { + return type; + } + } + // exit codes of Install Manager public static final int EXITCODE_NORMAL = 0; public static final int EXITCODE_HAS_SELF_UPDATE = 1; @@ -126,278 +194,404 @@ public class Config { public static final int EXITCODE_ONLY_DOWNLOAD = 3; public static final int EXITCODE_UNKNOWN_ERROR = 4; - //release note file - public static final String RELEASE_NOTE = "RELEASE_NOTE.txt"; - private ConfigFile mConfigFile; - private String mTargetDir = ""; - - public Config() { - String confPath = getConfigFilePath(); - mConfigFile = new ConfigFile(confPath); - } - - private static String setPkglistLocalPath() { - String path = null; - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - path = PathUtil.getFromCurrDir(PACKAGE_LIST_FILE_LINUX); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - path = PathUtil.getFromCurrDir(PACKAGE_LIST_FILE_WINDOWS); - } else { - Log.err("Not supportted platform"); - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - - if (path == null) { - Log.err("Not supportted platform"); - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - - return path; - } - - /** - * @return filename of install manager executable - */ - private static String getExecuteFileNameOfInstallManager() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return "InstallManager"; - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return "InstManager.exe"; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - private static String getInstallManagerShortcutPath() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getFromHome(".local/share/applications/"+Config.INSTALL_MANAGER_SHORTCUT_FILENAME); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return ""; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - private static String getInstallManagerShortcutIconPath() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getFromHome(".local/share/icons/tizen-sdk-installmanager.png"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return ""; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - private static String getConfigHome() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getFromHome(Config.CONFIG_DIRECTORY_NAME); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return PathUtil.getFromAppData(Config.CONFIG_DIRECTORY_NAME); - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - private static String getSLPSDKShortcutPath() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getFromHome(".local/share/desktop-directories/"+Config.SDK_PROGRAMS_SHORTCUT_MENU_FILENAME); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + // release note file + public static final String RELEASE_NOTE = "release-note.txt"; + private ConfigFile mConfigFile = null; + private String mTargetDir = ""; + + private static Config config = null; + + private Config() { + confFilePath = getConfigFilePath(); + mConfigFile = new ConfigFile(confFilePath); + } + + /** + * @return filename of install manager executable + */ + private static String getExecuteFileNameOfInstallManager() { + if (Platform.isLinux() || Platform.isMacOS() ) { + return "InstallManager"; + } else if ( Platform.isWindows() ) { + return "InstManager.exe"; + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + /** + * @return filename of install manager executable for Partner SDK + */ + private static String getExecuteFileNameOfInstallManagerPartner() { + if (Platform.isLinux() || Platform.isMacOS() ) { + return "InstallManagerP"; + } else if ( Platform.isWindows() ) { + return "InstManager.exe"; + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + private static String getInstallManagerShortcutPath() { + if (Platform.isUbuntu()) { + return PathUtil.getFromHome(".local/share/applications/" + + Config.INSTALL_MANAGER_SHORTCUT_FILENAME); + } else if (Platform.isWindows()) { + return ""; + } else if (Platform.isMacOS()) { + return ""; + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + private static String getInstallManagerShortcutIconPath() { + if (Platform.isUbuntu()) { + return PathUtil + .getFromHome(".local/share/icons/tizen-sdk-installmanager.png"); + } else if (Platform.isWindows()) { + return ""; + } else if (Platform.isMacOS()) { + return ""; + } + else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + public static String getConfigHome() { + if (Platform.isLinux() || Platform.isMacOS()) { + return PathUtil.getFromHome(Config.CONFIG_DIRECTORY_NAME); + } else if (Platform.isWindows()) { + return PathUtil.getFromAppData(Config.CONFIG_DIRECTORY_NAME); + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + public static String getOldConfigHome() { + if (Platform.isLinux() || Platform.isMacOS()) { + return PathUtil.getFromHome(Config.OLD_CONFIG_DIRECTORY_NAME); + } else if (Platform.isWindows()) { + return PathUtil.getFromAppData(Config.OLD_CONFIG_DIRECTORY_NAME); + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + private static String getSLPSDKShortcutPath() { + if (Platform.isUbuntu()) { + return PathUtil.getFromHome(".local/share/desktop-directories/" + + Config.SDK_PROGRAMS_SHORTCUT_MENU_FILENAME); + } else if (Platform.isWindows()) { return Config.SHORTCUT_DIRECTORY; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - private static String getOldSLPSDKShortcutPath() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getFromHome(".local/share/desktop-directories/samsung-sdk_menu.directory"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.isMacOS()) { + return ""; + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + private static String getOldSLPSDKShortcutPath() { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32) { + return PathUtil + .getFromHome(".local/share/desktop-directories/samsung-sdk_menu.directory"); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32) { return Config.OLD_SHORTCUT_DIRECTORY; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - /** - * Set target directory to member variable. - * @param targetDir - */ - public void setTargetDir(String targetDir) { - mTargetDir = targetDir; - } - - /** - * Get ConfigFile Class instance - * @return - */ - public ConfigFile getConfigFile() { - return mConfigFile; - } - - /** - * Get repositories. + } else { + return ""; + } + } + + /** + * Set target directory to member variable. + * + * @param targetDir + */ + public void setTargetDir(String targetDir) { + mTargetDir = targetDir; + } + + /** + * Get ConfigFile Class instance + * + * @return + */ + public ConfigFile getConfigFile() { + return mConfigFile; + } + + private String[] getSDKRepositories() { + String repo = mConfigFile.getRepository(); + + String[] repos = repo.split(","); + + for (int i=0; i getRepositoryPackagesURLs() { - String[] repos = getRepositories(); - - if (repos == null) { - Log.log("Repository doesn't exist in config file"); - return null; - } - - LinkedList urls = new LinkedList(); - - for(String repo : repos) { - try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - urls.add(new URL(repo + "/" + Config.PACKAGE_LIST_FILE_LINUX)); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - urls.add(new URL(repo + "/" + Config.PACKAGE_LIST_FILE_WINDOWS)); - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } + */ + public Collection getSDKRepositoryList() { + String[] repos = getSDKRepositories(); + + return Arrays.asList(repos); + } + + /** + * Set snapshot path from repository. + * @return + */ + public String getSnapshotPath() { + return mConfigFile.getSnapshotPath(); + } + + /** + * Set snapshot path from repository. + * @param snapshotPath if snapshotPath is empty(""), always update latest version. + */ + public void setSnapshotPath(String snapshotPath) { + mConfigFile.setSnapshotPath(snapshotPath); + } + + /** + * Always update latest version. + */ + public void setLatestSnapshotPath() { + mConfigFile.setSnapshotPath(""); + } + + /** + * Get repositories. + * + * @return List of packgae repositories. + */ + public Collection getSDKPackageServerList() { + if (serverType == ServerType.SNAPSHOT) { + String[] repos = getSDKRepositories(); + + if (repos.length <= 0) { + return Collections.emptyList(); + } + + for (int i=0; itrue if success. - */ - public boolean makeInfoDirectory() { - - boolean bResult = makeConfigHome(); - - if (bResult) { - File configDirFile = new File(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); - configDirFile.mkdir(); - } else { - return false; - } - - return bResult; - } - - /** - * @return path of target directory - */ + */ + public boolean makeInfoDirectory() { + + boolean bResult = makeConfigHome(); + + if (bResult) { + File configDirFile = new File( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); + configDirFile.mkdir(); + } else { + return false; + } + + return bResult; + } + + /** + * @return path of target directory + */ public String getTargetDir() { return mTargetDir; } - + /** * @return true if proxy server is specified */ public boolean hasProxy() { - if(mConfigFile != null) { + if (mConfigFile != null) { String server = mConfigFile.getProxyServer(); int port = mConfigFile.getProxyPort(); - if(server.equals("") || port < 0) { + if (server.equals("") || port < 0) { return false; } } return true; } - + /** * @return version of install manager */ public Version getInstallManagerVersion() { return new Version(this.mConfigFile.getInstallManagerVersion()); } - + /** - * @return Config file Path when installer is recognize install option(-conf). + * @return Config file Path when installer is recognize install + * option(-conf). */ - public static String getConfigFilePath() { - if (Options.userConfPath == null) { - return PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME); - } else { - return Options.userConfPath; - } - } - - private String getSaveConfigFilePath() { - if (Options.userConfPath == null) { - if (Registry.getInstalledPath() == null || Registry.getInstalledPath().isEmpty()) { - return PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME); - } else { - return PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_PATH); - } - } else { - return Options.userConfPath; - } - } - - /** - * save config file to TargetDirectory - */ - public void saveConfig() { - String configFilePath = ""; - if (mTargetDir != null) { - configFilePath = getSaveConfigFilePath(); - } - - mConfigFile.saveConfig(configFilePath); - } - - /** - * Reads build version from resource which will be generated - * @return build version - */ - public static String getJarBuildVersion() { - String buildversion = PathUtil.readAllTextFromResource("/res/installmanager/buildversion"); - return buildversion; - } + public static String getConfigFilePath() { + //user config option is false. + if (Options.userConfPath == null) { + //1st, get config file from installed path. + File installedConfFile = new File(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME)); + if (installedConfFile.exists()) { + return installedConfFile.getAbsolutePath(); + + //if not exist config file from installed path, 2nd get config file from current directory. + } else { + File currentDirConfFile = new File(PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME)); + + if (currentDirConfFile.exists()) { + return currentDirConfFile.getAbsolutePath(); + } else { + return null; + } + } + + //user config option is true, + } else { + return Options.userConfPath; + } + } + + /** + * save config file to TargetDirectory + */ + public void saveConfig() { + if (confFilePath == null || confFilePath.isEmpty()) { + return; + } else { + mConfigFile.saveConfig(confFilePath); + } + } + + /** + * Reads build version from resource which will be generated + * + * @return build version + */ + public static String getJarBuildVersion() { + String buildversion = PathUtil + .readAllTextFromResource("/res/installmanager/buildversion"); + return buildversion; + } + + public static Config getInstance() { + if (config == null) { + config = new Config(); + } + + return config; + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/core/DistributionController.java b/InstallManager_java/src/org/tizen/installmanager/core/DistributionController.java new file mode 100644 index 0000000..18566eb --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/core/DistributionController.java @@ -0,0 +1,369 @@ +/* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.core; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; + +import org.tizen.installmanager.lib.Downloader; +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.pkg.lib.PropertyParser; +import org.tizen.installmanager.pkg.model.Distribution; +import org.tizen.installmanager.pkg.model.DistributionSet; +import org.tizen.installmanager.pkg.model.PropertySection; +import org.tizen.installmanager.pkg.model.Snapshot; +import org.tizen.installmanager.pkg.model.SnapshotList; +import org.tizen.installmanager.util.PathUtil; + +/** + * This class manages to distribution. + * + * @author shihyun kim + * + */ +public class DistributionController { + private static DistributionController distController = null; + + private String MARKED_SNAPSHOT = "manual"; + + //distributino information + DistributionSet dists = new DistributionSet(); + + Collection repositories = null; + HashMap distributionSnapshotSet = new HashMap(); + + private DistributionController(Collection repos) { + repositories = repos; + } + + /** + * initialize distribution. + * @return if false, can not read any distribuion. + */ + public boolean init() { + if (!dists.isEmpty()) { + dists.clear(); + } + + loadDistribution(); + + if (dists.isEmpty()) { + return false; + } else { + for (Distribution dist : dists) { + loadSnapshot(dist); + } + return true; + } + } + + /** + * Get distribution list in repository. + * @return + */ + public List getDistributionList() { + List distList = new ArrayList(); + for (Distribution dist : dists) { + if (dist.getName() != null) { + distList.add(dist.getName()); + } + } + + return distList; + } + + /** + * Load distribution from repository. + */ + public void loadDistribution() { + if (!dists.isEmpty()) { + dists.clear(); + } + + File tmp = null; + try { + tmp = File.createTempFile("dist", ".info"); + tmp.deleteOnExit(); + } catch (IOException e) { + Log.ExceptionLog(e); + return; + } + + //download dist.info file from repository + Downloader downloader = new Downloader(); + + for (String repo : repositories) { + URL distInfoFileURL = getDistInfoFilePath(repo); + + long size = downloader.download(distInfoFileURL, tmp.getAbsolutePath(), null); + if (size < 0) { + return; + } + + //parsing dist.list file. + PropertyParser parser = new PropertyParser(); + List sections = parser.readFromFile(tmp); + + if (sections == null) { + return; + } + + for (PropertySection section : sections) { + dists.add(new Distribution(repo, section.getProperties())); + } + + // temp file cleanup + if (tmp.exists()) { + tmp.delete(); + } + } + } + + private URL getDistInfoFilePath(String repo) { + String distInfoFilePath = PathUtil.addURLPath(repo, Config.REPOSITORY_DISTRIBUTION_INFO_FILE); + + try { + return new URL(distInfoFilePath); + } catch (MalformedURLException e) { + Log.err("Cannot connect distribution file in repository(" + distInfoFilePath + ")"); + return null; + } + } + + /** + * Get all of snapshots. + * @return + */ + public SnapshotList getSnapshotList(String distribution) { + SnapshotList list = distributionSnapshotSet.get(distribution); + + if (list == null) { + return SnapshotList.EMPTY; + } else { + return list; + } + } + + /** + * Get manual snapshot list. + * @param distribution + * @return + */ + public SnapshotList getManualSnapshotList(String distribution) { + SnapshotList manualSnapshotList = new SnapshotList(); + + SnapshotList snapshotList = getSnapshotList(distribution); + + for(Snapshot snapshot : snapshotList) { + if (snapshot.getType().equals(MARKED_SNAPSHOT)) { + manualSnapshotList.add(snapshot); + } + } + + return manualSnapshotList; + } + + /** + * Load snapshot information from repository. + * @param distribution selected distribution. + * @return SnapshotList + */ + public void loadSnapshot(String distribution) { + Distribution dist = dists.getDistributionByName(distribution); + loadSnapshot(dist); + } + /** + * Load snapshot information from repository. + * @param distribution selected distribution. + * @return + */ + private void loadSnapshot(Distribution distribution) { + if (distribution == null) { + return; + } else { + String snapshotRepo = PathUtil.addURLPath(distribution.getRepository(), distribution.getName()); + SnapshotList list = loadSnapshotFromRepository(snapshotRepo); + + //sort by date. + Collections.sort(list); + + //read snapshots and save to distributionSnapshotSet instance. + //If you read snapshots next, you can find in distributionSnapshotSet instance. + distributionSnapshotSet.put(distribution.getName(), list); + } + } + + /** + * Load snapshot information from repository. + * @param repository package repository. + */ + private SnapshotList loadSnapshotFromRepository(String snapshotRepo) { + SnapshotList snapshots = new SnapshotList(); + + File tmp = null; + + try { + tmp = File.createTempFile("snapshot", ".info"); + tmp.deleteOnExit(); + } catch (IOException e) { + Log.ExceptionLog(e); + return SnapshotList.EMPTY; + } + + //download snapshot.list file from repository + Downloader downloader = new Downloader(); + URL snapshotListURL = getSnapshotListPathInRepository(snapshotRepo); + + long size = downloader.download(snapshotListURL, tmp.getAbsolutePath(), null); + if (size < 0) { + Log.err("Fail to download snapshot.info from repository."); + return SnapshotList.EMPTY; + } + + //parsing snapshot.list file. + PropertyParser parser = new PropertyParser(); + List sections = parser.readFromFile(tmp); + + if (sections == null) { + return SnapshotList.EMPTY; + } + + if (Options.allSnapshots) { + // for showing all snapshots. + for (PropertySection section : sections) { + snapshots.add(new Snapshot(section.getProperties())); + } + } else { + // for showing filtered snapshots. + for (PropertySection section : sections) { + Snapshot s = new Snapshot(section.getProperties()); + snapshots.add(s); + } + } + + return snapshots; + } + + private URL getSnapshotListPathInRepository(String snapshotRepo) { + if (snapshotRepo == null || snapshotRepo.isEmpty()) { + Log.log("Repository for snapshot do not exist."); + return null; + + } else { + String snapshotListPath = PathUtil.addURLPath(snapshotRepo, Config.REPOSITORY_SNAPSHOT_INFO_FILE); + try { + Log.log("Snapshot.list url is " + snapshotListPath); + return new URL(snapshotListPath); + } catch (MalformedURLException e) { + Log.ExceptionLog(e); + return null; + } + } + } + + /** + * Filter snapshot list of distribution. + * @param distribution distribution for snapshot + * @return + */ + public SnapshotList filterSnapshotByDistribution(String distribution) { + SnapshotList snapshots = distributionSnapshotSet.get(distribution); + + if (snapshots == null) { + return SnapshotList.EMPTY; + } else { + return snapshots; + } + } + + /** + * Get latest snapshot in distribution. + * @param distribution + * @return Snapshot. + */ + public Snapshot getLatestSnapshot(String distribution) { + Snapshot latestSnapshot = null; + + SnapshotList snapshotList = getSnapshotList(distribution); + if (!snapshotList.isEmpty()) { + latestSnapshot = getSnapshotList(distribution).get(0); + } else { + Log.err("There are not snapshots in distribution. : " + distribution); + return null; + } + + Log.log("The latest snapshot name: " + latestSnapshot.getName()); + return latestSnapshot; + } + + public Collection getRepositories() { + return repositories; + } + + /** + * Get DistributionController instance. + * @param repository + * @return + */ + public static DistributionController getInstance(Collection repositories) { + if (distController == null || !distController.getRepositories().containsAll(repositories)) { + distController = new DistributionController(repositories); + } + + return distController; + } + + /** + * Get DistributionController instance. + * @param repository + * @return + */ + public static DistributionController getInstance(String repo) { + Collection repositories = new ArrayList(); + repositories.add(repo); + + return getInstance(repositories); + } + + /** + * Get DistributionController instance. + * @param repository + * @return if null, instance is not created. + */ + public static DistributionController getInstance(){ + return distController; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java b/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java index 5805a89..43d0b08 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/InstallManager.java @@ -1,43 +1,41 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.core; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; -import java.net.MalformedURLException; import java.net.URL; import java.security.MessageDigest; +import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedList; -import org.tizen.installmanager.lib.Documents; import org.tizen.installmanager.lib.Checksum; import org.tizen.installmanager.lib.Downloader; import org.tizen.installmanager.lib.ErrorController; @@ -48,14 +46,13 @@ import org.tizen.installmanager.lib.Registry; import org.tizen.installmanager.lib.StartMenu; import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.lib.win.WindowsProgramController; -import org.tizen.installmanager.pkg.lib.PackageManager2; -import org.tizen.installmanager.pkg.model.Package2; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.pkg.model.PackageSet; import org.tizen.installmanager.ui.page.InstallingPage.InstallProgressMonitor; import org.tizen.installmanager.util.IMShellCommandFail; import org.tizen.installmanager.util.PathUtil; - /** * This class contains the main business logic of Install Manager. Use singleton * instance. @@ -68,20 +65,20 @@ public class InstallManager { private Config mConfig = null; private static Downloader mDownloader = new Downloader(); - private PackageManager2 packageManager; - - //windows path - private static String WINDOWS_INSTALL_MANAGER_INSTALL_SCRIPT="/res/desktop_directory/install.vbs"; - private static String WINDOWS_INSTALL_MANAGER_REMOVE_SCRIPT="/res/desktop_directory/remove.vbs"; + private PackageManager packageManager; + + // windows path + private static String WINDOWS_INSTALL_MANAGER_INSTALL_SCRIPT = "/res/desktop_directory/install.vbs"; + private static String WINDOWS_INSTALL_MANAGER_REMOVE_SCRIPT = "/res/desktop_directory/remove.vbs"; private static String WINDOWS_MAKE_SHORTCUT_PATH = "/res/desktop_directory/makeshortcut.vbs"; private static String WINDOWS_REMOVE_SHORTCUT_PATH = "/res/desktop_directory/removeshortcut.vbs"; - - //linux script - private static String LINUX_INSTALL_MANAGER_INSTALL_SCRIPT="/res/desktop_directory/install.sh"; - private static String LINUX_INSTALL_MANAGER_REMOVE_SCRIPT="/res/desktop_directory/remove.sh"; + + // linux script + private static String LINUX_INSTALL_MANAGER_INSTALL_SCRIPT = "/res/desktop_directory/install.sh"; + private static String LINUX_INSTALL_MANAGER_REMOVE_SCRIPT = "/res/desktop_directory/remove.sh"; private static String LINUX_MAKE_SHORTCUT_PATH = "/res/desktop_directory/makeshortcut.sh"; private static String LINUX_REMOVE_SHORTCUT_PATH = "/res/desktop_directory/removeshortcut.sh"; - + private File makeShortCutFile = null; private File removeShortCutFile = null; @@ -98,87 +95,85 @@ public class InstallManager { /** * Load config file */ - public void loadConfig() { + public void initConfig() { if (mConfig != null) { return; } else { - mConfig = new Config(); - - if (Options.doRepository) { + mConfig = Config.getInstance(); + + if (Options.doReplaceRepository) { Log.log("Replace repository => " + Options.repo); mConfig.getConfigFile().setRepository(Options.repo); mConfig.saveConfig(); } - + if (mConfig.getConfigFile() == null) { Log.log("Loading config file failed"); throw new IMFatalException("Loading configuration file failed"); } - + if (!Registry.getInstalledPath().isEmpty()) { mConfig.setTargetDir(Registry.getInstalledPath()); } } } - private boolean loadPackageList() { - //get repositories from config file - Collection repositoryURLs = mConfig.getRepositoryPackagesURLs(); - - if (repositoryURLs == null || repositoryURLs.size() <=0) { - File localPackageListFile = new File(Config.PACKAGE_LIST_LOCAL_FILE_PATH); - - if (localPackageListFile.exists()) { - try { - repositoryURLs = new LinkedList(); - URL localUrl = localPackageListFile.toURI().toURL(); - repositoryURLs.add(localUrl); - } catch (MalformedURLException e) { - Log.err("MalformedURLException => " + localPackageListFile); - Log.ExceptionLog(e); - throw new IMFatalException(ErrorCode.CANNOT_FIND_PACKAGE_LIST_FILE_IN_REPOSITORY); - } - - } else { - Log.log("Installable package.list file doesn't exist"); - } - } - - return loadPackageList(repositoryURLs); + /** + * Initialize packages information. + */ + public void initPackageList() { + Collection repositoryURLs = mConfig.getSDKPackageServerList(); + + initPackageManager(repositoryURLs); } - - private boolean loadPackageList(Collection repositoryURLs) { - - File installedPackageListFile = new File(PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), - Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); + + private void initPackageManager(Collection repositoryURLs) { + + File installedPackageListFile = new File(PathUtil.get( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); try { - if(installedPackageListFile.exists()) { - this.packageManager = new PackageManager2(installedPackageListFile, repositoryURLs); + if (installedPackageListFile.exists()) { + this.packageManager = PackageManager.getInstance(installedPackageListFile, repositoryURLs); } else { - this.packageManager = new PackageManager2(null, repositoryURLs); + this.packageManager = PackageManager.getInstance(null, repositoryURLs); } - } catch(IOException e) { - Log.err("Cannot load package manager =>" + installedPackageListFile + ", " + repositoryURLs); + } catch (IOException e) { + Log.err("Cannot load package manager =>" + installedPackageListFile + + ", " + repositoryURLs); throw new IMFatalException(ErrorCode.CANNOT_CREATE_FILE); } - - return true; } - + + /** + * Initialize distribution and snapshot information + */ + public boolean initDistribution() { + DistributionController controller = + DistributionController.getInstance(mConfig.getSDKRepositoryList()); + + return controller.init(); + } + + /** - * Initialize installmanager. - * It performs that read config file, make temporary files and load package list from repository. + * Initialize installmanager. It performs that read config file, make + * temporary files and load package list from repository. + * * @return true if initialize success to install or uninstall. */ - public boolean init() { - loadConfig(); - - copyMakeShortCutFile(); - copyRemoveShortCutFile(); + public void init() { + initConfig(); + initDistribution(); + initPackageList(); + initConfigurationFile(); checkOldSDK(); - - return loadPackageList(); + } + + private void initConfigurationFile() { + copyMakeShortCutFile(); + copyRemoveShortCutFile(); } /** @@ -191,8 +186,11 @@ public class InstallManager { @Override public boolean accept(File dir, String name) { boolean found = false; - String[] prefix = {"makeshortcut", "installmanager.repository", "Packages", "tizen_installmanager"}; - for(String pref : prefix) { + String[] prefix = { "makeshortcut", "removeshortcut", + "installmanager.repository", "Packages", + "tizen_installmanager", "checkJavaInstallation", + "install" }; + for (String pref : prefix) { found = name.startsWith(pref); if (found == true) { return true; @@ -201,61 +199,82 @@ public class InstallManager { return found; } }); - - for (File f: tmpFiles) { + + for (File f : tmpFiles) { f.delete(); } } - + /** * Copy make shortcut file from resource to temp directory. */ private void copyMakeShortCutFile() { try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - makeShortCutFile = PathUtil.getTempFileFromResource(LINUX_MAKE_SHORTCUT_PATH, "makeshortcut", ".sh"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - makeShortCutFile = PathUtil.getTempFileFromResource(WINDOWS_MAKE_SHORTCUT_PATH, "makeshortcut", ".vbs"); + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + makeShortCutFile = PathUtil.getTempFileFromResource( + LINUX_MAKE_SHORTCUT_PATH, "makeshortcut", ".sh"); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + makeShortCutFile = PathUtil.getTempFileFromResource( + WINDOWS_MAKE_SHORTCUT_PATH, "makeshortcut", ".vbs"); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + makeShortCutFile = PathUtil.getTempFileFromResource( + LINUX_MAKE_SHORTCUT_PATH, "makeshortcut", ".sh"); } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - makeShortCutFile.setExecutable(true); + } + + if (makeShortCutFile.exists()) { + makeShortCutFile.setExecutable(true); + } } catch (IOException e) { Log.err("Installer cannot make 'makeshortcut script' file."); throw new IMFatalException(ErrorCode.CANNOT_CREATE_SHORTCUT); } } - + /** * Copy remove shortcut file from resource to temp directory. */ private void copyRemoveShortCutFile() { try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - removeShortCutFile = PathUtil.getTempFileFromResource(LINUX_REMOVE_SHORTCUT_PATH, "removeshortcut", ".sh"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - removeShortCutFile = PathUtil.getTempFileFromResource(WINDOWS_REMOVE_SHORTCUT_PATH, "removeshortcut", ".vbs"); + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + removeShortCutFile = PathUtil.getTempFileFromResource( + LINUX_REMOVE_SHORTCUT_PATH, "removeshortcut", ".sh"); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + removeShortCutFile = PathUtil.getTempFileFromResource( + WINDOWS_REMOVE_SHORTCUT_PATH, "removeshortcut", ".vbs"); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + removeShortCutFile = PathUtil.getTempFileFromResource( + LINUX_REMOVE_SHORTCUT_PATH, "removeshortcut", ".sh"); } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } + } removeShortCutFile.setExecutable(true); } catch (IOException e) { Log.err("Installer cannot make 'makeshortcut script' file."); throw new IMFatalException(ErrorCode.CANNOT_CREATE_SHORTCUT); } } - + /** * get make shortcut File instance. + * * @return File instance of makeshortcut script. */ public File getMakeShortCut() { return makeShortCutFile; } - + /** - * Get temporary file path.(makeshortcut script, Packages list, Installer log) - * @return temporary file path, if not exist makeshortcut file, return empty string. + * Get temporary file path.(makeshortcut script, Packages list, Installer + * log) + * + * @return temporary file path, if not exist makeshortcut file, return empty + * string. */ public String getMakeShortCutPath() { if (getMakeShortCut() == null) { @@ -264,10 +283,13 @@ public class InstallManager { return getMakeShortCut().getAbsolutePath(); } } - + /** - * Get temporary file path.(rmoveshortcut script, Packages list, Installer log) - * @return temporary file path, if not exist removeshortcut file, return emptry string. + * Get temporary file path.(rmoveshortcut script, Packages list, Installer + * log) + * + * @return temporary file path, if not exist removeshortcut file, return + * emptry string. */ public String getRemoveShortCutPath() { if (getRemoveShortCut() == null) { @@ -276,104 +298,118 @@ public class InstallManager { return getRemoveShortCut().getAbsolutePath(); } } - + /** * Get remove shortcut File instance. + * * @return File instance of removeshortcut script. */ public File getRemoveShortCut() { return removeShortCutFile; } - + /** * Get Config instance + * * @return */ public Config getConfig() { return mConfig; } - + /** - * Get PackageManager2 instance. + * Get PackageManager instance. + * * @return */ - public PackageManager2 getPackageManager2() { + public PackageManager getPackageManager() { return packageManager; } - private void checkOldSDK() { - if (Registry.getInstalledPath() == null || Registry.getInstalledPath().isEmpty()) { + if (Registry.getInstalledPath() == null + || Registry.getInstalledPath().isEmpty()) { return; } - + File oldInfoDir = new File(Config.OLD_INFO_DIRECTORY_PATH); - + if (oldInfoDir.exists()) { moveOldInfoDirToCurrentInfoDir(oldInfoDir); } else { return; } } - + private void moveOldInfoDirToCurrentInfoDir(File oldInfoDir) { - File currentInfoDir = new File(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); + File currentInfoDir = new File( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); if (!currentInfoDir.exists()) { currentInfoDir.mkdirs(); } - - File oldInstalledList = new File(PathUtil.get(Config.OLD_INFO_DIRECTORY_PATH, Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); - + + File oldInstalledList = new File(PathUtil.get( + Config.OLD_INFO_DIRECTORY_PATH, + Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); + if (oldInstalledList.exists()) { File currentInstalledList = new File(PathUtil.get( - PathUtil.getFromInstalledPath( - Config.INFO_DIRECTORY), Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); PathUtil.move(oldInstalledList, currentInstalledList); } else { return; } - - File[] oldPackageDir = new File(Config.OLD_INFO_REMOVESCRIPT_PATH).listFiles(); - for(File childFile : oldPackageDir) { - File currentPackageDir = new File(PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), childFile.getName())); - + + File[] oldPackageDir = new File(Config.OLD_INFO_REMOVESCRIPT_PATH) + .listFiles(); + for (File childFile : oldPackageDir) { + File currentPackageDir = new File(PathUtil.get( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + childFile.getName())); + File parentDir = currentPackageDir.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); } - + PathUtil.move(childFile, currentPackageDir); } - - File[] oldInstalledFileList = new File(Config.OLD_INSTALLED_FILE_LIST_DIRECTORY_PATH).listFiles(); - for(File childFile : oldInstalledFileList) { - File currentInstalledFile = new File(PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), - PathUtil.getFileNameWithOutExtension(childFile.getAbsolutePath()), - childFile.getName())); - + + File[] oldInstalledFileList = new File( + Config.OLD_INSTALLED_FILE_LIST_DIRECTORY_PATH).listFiles(); + for (File childFile : oldInstalledFileList) { + File currentInstalledFile = new File(PathUtil.get(PathUtil + .getFromInstalledPath(Config.INFO_DIRECTORY), PathUtil + .getFileNameWithOutExtension(childFile.getAbsolutePath()), + childFile.getName())); + File parentDir = currentInstalledFile.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); } - + PathUtil.move(childFile, currentInstalledFile); } - + PathUtil.remove(oldInfoDir); } + /** * Download packages * - * @param packagesToDownload Set of packages to download + * @param packagesToDownload + * Set of packages to download * @param monitor * @return true if download success. - * @throws IMExitException + * @throws IMExitException */ - private boolean downloadPackages(PackageSet downloadPkgSet, InstallProgressMonitor monitor) throws IMExitException { + public boolean downloadPackages(PackageSet downloadPkgSet, + InstallProgressMonitor monitor) throws IMExitException { Log.log("InstallManager download start => " + downloadPkgSet); - + long totalSize = 0; - for(Package2 pkg : downloadPkgSet) { + for (Package pkg : downloadPkgSet) { totalSize += pkg.getPackageSize(); } @@ -382,34 +418,29 @@ public class InstallManager { monitor.beginTask("", total); } - for (Package2 pkg : downloadPkgSet) { - + for (Package pkg : downloadPkgSet) { + if (monitor != null) { monitor.setPackageName(pkg.getPackageName()); } - - if(monitor != null && monitor.isCanceled()) { + + if (monitor != null && monitor.isCanceled()) { Log.log("download canceled"); throw new IMInstallCancelException(); } - + String fileName = pkg.getFileName(); boolean downloadResult = downloadPackage(pkg, PathUtil.getFromCurrDir(fileName), monitor); - + if (!downloadResult) { - Log.err("InstallManager download fail => " - + pkg); + Log.err("InstallManager download fail => " + pkg); return false; } } - + if (monitor != null) { monitor.workedProgressbar(100); } - - if (Options.onlyDownload) { - throw new IMExitException(Config.EXITCODE_ONLY_DOWNLOAD); - } return true; } @@ -422,47 +453,58 @@ public class InstallManager { * @param monitor * @return true if success */ - public boolean downloadPackage(Package2 packageToDownload, String fileDownloadTargetPath, - IIMProgressMonitor monitor) { + public boolean downloadPackage(Package packageToDownload, + String fileDownloadTargetPath, IIMProgressMonitor monitor) { Log.log("Download package '" + packageToDownload + "'"); if (packageToDownload == null || fileDownloadTargetPath == null || fileDownloadTargetPath.isEmpty()) { - Log.err("InstallManager.downloadPackage(): Invalid package: " + packageToDownload + ": This might be a bug of IM"); - throw new IMFatalException(ErrorCode.PACKAGE_NOT_EXIST_TO_INSTALL_OR_UNINSTALL); + Log.err("InstallManager.downloadPackage(): Invalid package: " + + packageToDownload + ": This might be a bug of IM"); + throw new IMFatalException( + ErrorCode.PACKAGE_NOT_EXIST_TO_INSTALL_OR_UNINSTALL); } // Check cache foler if (existInCacheFolder(packageToDownload, fileDownloadTargetPath)) { if (monitor != null) { - monitor.workedChecksum(packageToDownload.getPackageSize()); + if (monitor.isCanceled()) { + throw new IMFatalException(ErrorCode.CANCEL); + } else { + monitor.workedChecksum(packageToDownload.getPackageSize()); + } } Log.log("Found in cache"); return true; } - - //TODO : refactoring. + + // TODO : refactoring. long size = 0; - final int repeatCount = 3; - for (int i = 0; i < repeatCount; i++) { - Log.log("start download package: "+packageToDownload); - - URL packageUrl = packageToDownload.getURL(); - size = mDownloader.download(packageUrl, fileDownloadTargetPath, monitor); - - if (size >= 0) { - Log.log("finish download"); - break; - } else if (ErrorController.getErrorCode() == ErrorCode.NOT_LOGGED_IN) { - Log.err("Login failed."); - } else { - Log.err("download failed : trial " + (i+1)); + if (Options.onlyDownload) { + System.out.print("Downloading package => " + packageToDownload + " ......."); + } + Log.log("start download package: " + packageToDownload); + URL packageUrl = packageToDownload.getURL(); + size = mDownloader.download(packageUrl, fileDownloadTargetPath, + monitor); + if (size >= 0) { + if (Options.onlyDownload) { + System.out.println(" done."); } - } - if (size < 0) { + Log.log("finish download"); + } else { Log.err("download failed => " + packageToDownload.getURL()); - throw new IMFatalException(ErrorController.getErrorCode()); + + String errMsg = ""; + if (monitor.isCanceled()) { + errMsg = ErrorController.getErrorMessage(); + } else { + errMsg = "Fail to get '" + + packageToDownload.getPackageName() + "'." + + "\n(" + ErrorController.getErrorMessage() + ")"; + } + throw new IMFatalException(errMsg); } if (Options.doPackageValidation) { @@ -472,10 +514,11 @@ public class InstallManager { throw new IMFatalException(ErrorCode.PACKAGE_WRONG_SIZE); } - //TODO : + // TODO : if (!checkFileChecksum(packageToDownload, mDownloader.getFileChecksum())) { - Log.err("Package checksum error downloaded checksum => " + mDownloader.getFileChecksum()); + Log.err("Package checksum error downloaded checksum => " + + mDownloader.getFileChecksum()); throw new IMFatalException(ErrorCode.PACKAGE_WRONG_CHECKSUM); } } @@ -486,37 +529,39 @@ public class InstallManager { /** * @param pkg * @param filePath - * @return true if the package is already downloaded to the file path + * @return true if the package is already downloaded to the + * file path */ - private boolean existInCacheFolder(Package2 pkg, String filePath) { + private boolean existInCacheFolder(Package pkg, String filePath) { File file = new File(filePath); if (!file.exists()) { return false; } - if(Options.doPackageValidation) { + if (Options.doPackageValidation) { return checkFileChecksum(pkg, Checksum.getSHA256(filePath)); } else { return true; } } - private boolean checkPackageSize(Package2 pkg, long size) { + private boolean checkPackageSize(Package pkg, long size) { if (pkg.getPackageSize() == size) { return true; } return false; } - private boolean checkFileChecksum(Package2 pkg, MessageDigest mDigest) { + private boolean checkFileChecksum(Package pkg, MessageDigest mDigest) { if (pkg.getSHA256() == null || pkg.getSHA256().isEmpty()) { return false; } if (mDigest.getAlgorithm().equals(Checksum.SHA_256_TYPE)) { - return (pkg.getSHA256().equalsIgnoreCase(Checksum.messageDigestToString(mDigest))); + return (pkg.getSHA256().equalsIgnoreCase(Checksum + .messageDigestToString(mDigest))); } else { // TODO there's no checksum field in package. return false; @@ -526,43 +571,30 @@ public class InstallManager { /** * Package installation management * - * @param pkg package to install. - * @param targetDir target directory to install. + * @param pkg + * package to install. + * @param targetDir + * target directory to install. * @param monitor * @return */ - public boolean install(Package2 pkg, String targetDir, - IIMProgressMonitor monitor) { + public boolean install(Package pkg, String targetDir, + IIMProgressMonitor monitor) { Log.log("Install package '" + pkg + "'"); - + if (monitor != null) { monitor.setPackageName(pkg.getPackageName()); } - boolean isUpdatable = false; - if (Options.useSnapShot) { - isUpdatable = !packageManager.isInstalledVersion(pkg); - } else { - isUpdatable = packageManager.isUpdatable(pkg); - } - - if (isUpdatable) { - if(!removePackage(pkg, monitor)) { - Log.err("InstallManager.install() Cannot remove Installed package => " + pkg); - throw new IMFatalException(ErrorCode.CANNOT_REMOVE_PACKAGE); - } - } - Installer installer = new Installer(); boolean bResult = installer.install(pkg, targetDir, monitor); if (bResult) { - //save installed package list + // save installed package list packageManager.addPackageToInstalledPackages(pkg); packageManager.saveInstalledList(PathUtil.get( - PathUtil.getFromInstalledPath( - Config.INFO_DIRECTORY), - Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); } else { Log.err("InstallManager.install() install fail => " + pkg); return false; @@ -577,7 +609,7 @@ public class InstallManager { * @param targetDir * @param monitor * @return - * @throws IMExitException + * @throws IMExitException */ public boolean install(PackageSet metasToInstall, String targetDir, InstallProgressMonitor monitor) throws IMExitException { @@ -589,26 +621,43 @@ public class InstallManager { + targetDir); return false; } - + PackageSet pkgsToInstall = null; if (!Options.onlyDownload) { - + // save target directory initializeTargetDir(targetDir); - - //remove missing packages + + // remove missing packages removeMissingPackages(monitor); + + // remove conflict packages + if (!removeConflictPackages(metasToInstall, monitor)) { + Log.err("Cannot remove conflict package"); + throw new IMFatalException( + ErrorCode.CONFIG_CANNOT_REMOVE_CONFLICT_PACKAGES); + } + + boolean result = false; + if (Options.snapshot) { + result = removeDifferentVersionPackages(metasToInstall, monitor); + } else { + result = removeUpdatablePackages(metasToInstall, monitor); + } - //remove conflict packages - removeConflictPackages(metasToInstall, monitor); - - //get All installable packages - pkgsToInstall = packageManager.getToInstallPackagesInUpdate(metasToInstall); - Log.log("Install packages: "+pkgsToInstall); + if (!result) { + Log.err("Cannot remove updatable package"); + throw new IMFatalException( + ErrorCode.CONFIG_CANNOT_REMOVE_UPDATABLE_PACKAGES); + } + + // get All installable packages + pkgsToInstall = packageManager.getInstallablePackages(metasToInstall); + Log.log("Install packages: " + pkgsToInstall); } else { - pkgsToInstall = packageManager.dep(metasToInstall); + pkgsToInstall = packageManager.getDependsPackagesFromRepository(metasToInstall); } - + // download packages from repository if (downloadPackages(pkgsToInstall, monitor)) { Log.log("Success to download packages from repository"); @@ -616,18 +665,21 @@ public class InstallManager { if (Options.doRemovePackages) { removePackagesDir(); } - + Log.err("Fail to download packages from repository"); return false; } - - // wait if cancel confirm dialog is showing. wait until user press button(cancel or not). - while(monitor.checkCancelAndDisableCancelButton() == false) { - if(monitor.isCanceled()) { - throw new IMInstallCancelException(); + + // wait if cancel confirm dialog is showing. wait until user press + // button(cancel or not). + if (monitor != null) { + while (monitor.checkCancelAndDisableCancelButton() == false) { + if (monitor.isCanceled()) { + throw new IMInstallCancelException(); + } } } - + if (monitor != null) { monitor.beginTask("Installing", pkgsToInstall.size() + 1); } @@ -636,32 +688,33 @@ public class InstallManager { installInstallManager(); int i = 0; - for (Package2 pkg : pkgsToInstall) { + for (Package pkg : pkgsToInstall) { if (monitor != null) { monitor.worked(++i); } - + if (!install(pkg, targetDir, monitor)) { Log.log("Installation fail => " + pkg); throw new IMFatalException(ErrorCode.INSTALLATION_FAIL); } } - //remove temp directory + // remove temp directory String tempDir = targetDir + File.separator + Config.TEMP_DIRECTORY; PathUtil.remove(tempDir); - downloadReleaseNote(); - // save config file mConfig.saveConfig(); + + // save sdk version. + saveSDKVersion(); // Delete installed packages - if(Options.doRemovePackages) { + if (Options.doRemovePackages) { removePackagesDir(); } - // move InstallMangaer to target directory + // move InstallManager to target directory if (monitor != null) { monitor.setFileName("Move to target directory..."); monitor.workedFileName(); @@ -671,38 +724,66 @@ public class InstallManager { } private void removeMissingPackages(IIMProgressMonitor monitor) { - PackageSet missingPackages = packageManager.getMissingPackagesWithDepends(); + PackageSet missingPackages = packageManager + .getMissingPackagesFromRepository(); Log.log("Remove missing packages => " + missingPackages); - + if (monitor != null) { monitor.setPackageName("Remove Missing Packages"); } - - for (Package2 pkg : missingPackages) { + + for (Package pkg : missingPackages) { if (!removePackage(pkg, monitor)) { Log.err("Cannot remove missing package"); - throw new IMFatalException(ErrorCode.CANNOT_REMOVE_MISSING_PACKAGE); + throw new IMFatalException( + ErrorCode.CANNOT_REMOVE_MISSING_PACKAGE); } } } - - private void removeConflictPackages(PackageSet installableMetaPkgs, IIMProgressMonitor monitor) { - PackageSet conflictPackages = packageManager.getToRemovePackagesInUpdate(installableMetaPkgs); + + private boolean removeConflictPackages(PackageSet installableMetaPkgs, + IIMProgressMonitor monitor) { + PackageSet conflictPackages = packageManager + .getConflictPackagesInUpdate(installableMetaPkgs); Log.log("Remove conflict packages => " + conflictPackages); - + if (monitor != null) { monitor.setPackageName("Remove Conflict Packages"); } - - if (!remove(conflictPackages)) { - Log.err("Cannot remove conflict package"); - throw new IMFatalException(ErrorCode.CANNOT_REMOVE_CONFLICT_PACKAGE); + + return remove(conflictPackages); + } + + private boolean removeDifferentVersionPackages(PackageSet metasToInstall, + IIMProgressMonitor monitor) { + PackageSet updatablePackages = packageManager + .getdifferentVersionFromInstalledPackages(metasToInstall); + + Log.log("Remove packages in snapshot => " + updatablePackages); + + if (monitor != null) { + monitor.setPackageName("Remove updatable Packages"); } + + return remove(updatablePackages); } - + private boolean removeUpdatablePackages(PackageSet metasToInstall, + IIMProgressMonitor monitor) { + PackageSet updatablePackages = packageManager + .getUpdatablepackagesInUpdate(metasToInstall); + + Log.log("Remove updatable packages => " + updatablePackages); + + if (monitor != null) { + monitor.setPackageName("Remove updatable Packages"); + } + + return remove(updatablePackages); + } + private boolean remove(PackageSet packages) { - for (Package2 pkg : packages) { - + for (Package pkg : packages) { + if (removePackage(pkg, null)) { continue; } else { @@ -710,57 +791,9 @@ public class InstallManager { return false; } } - + return true; } - - /** - * Downloads release note from one of the repositories. Uses the one first found. - */ - private void downloadReleaseNote() { - String[] repoPaths = mConfig.getRepositories(); - - File targetFile = new File(PathUtil.getFromInstalledPath(Documents.RELEASE_NOTE_FILENAME)); - - if (repoPaths != null) { // network install - Log.log("Start downloading release note"); - String historyPath = ""; - for (String repoPath : repoPaths) { - historyPath = repoPath + "/" + Documents.RELEASE_NOTE_FILENAME; - URL repoUrl = null; - try { - repoUrl = new URL(historyPath); - } catch (MalformedURLException e) { - Log.ExceptionLog(e); - Log.err("Invalid repository url: "+repoPath); - throw new IMFatalException("Invalid repository url: "+repoPath); - } - Downloader dl = InstallManager.getDownloader(); - long size = dl.download(repoUrl, targetFile.getAbsolutePath(), null); - if (size > 0) { - Log.log("Success to download release note from : " + repoPath + " to : " + targetFile); - break; - } else { - Log.log("Fail to download release note from : " + repoPath + " to : " + targetFile); - } - } - } else { // local install - // check release note exists - File releaseNoteFile = new File(PathUtil.get(Config.PACKAGE_LIST_LOCAL_DIRECTORY, - Documents.RELEASE_NOTE_FILENAME)); - if(releaseNoteFile.exists()) { - try { - PathUtil.copy(releaseNoteFile, targetFile); - } catch (IOException e) { - Log.err("Failed to copy release note file "+releaseNoteFile); - // ignore - } - } else { - Log.log("No release note file"); - // ignore - } - } - } /** * Initializes target directory @@ -778,15 +811,22 @@ public class InstallManager { // Keep target path in system Registry.exportInstallPath(targetDir); - + // Keep target path for later use - mConfig.setTargetDir(targetDir); - - // Make .info directory - if (!mConfig.makeInfoDirectory()) { - Log.err(Config.CONFIG_HOME + " cannot create."); - throw new IMFatalException(ErrorCode.CANNOT_CREATE_CONFIG_FILE); - } + mConfig.setTargetDir(targetDir); + + // Make .info directory + if (!mConfig.makeInfoDirectory()) { + Log.err(Config.CONFIG_HOME + " cannot create."); + throw new IMFatalException(ErrorCode.CANNOT_CREATE_CONFIG_FILE); + } + } + + /** + * Save installed SDK version. + */ + public void saveSDKVersion() { + Registry.saveInstallVersion(mConfig.getConfigFile().getInstallManagerVersion()); } /** @@ -794,36 +834,48 @@ public class InstallManager { */ private void installInstallManager() { Log.log("InstallManager.installInstallManager()"); - + // copy InstallManager to target directory copyInstallManagerToTargetDirectory(); - - //make icon - StartMenu.createDesktopIcon(); - StartMenu.createInstallManagerIcon(); - - //execute install script. + + // make icon + StartMenu.createDesktopIcon(); + StartMenu.createInstallManagerIcon(); + + // execute install script. File installScript = getInstallScript(); - installScript.setExecutable(true); - - Installer installer = new Installer(); - try { - installer.executeScript(installScript); - } catch (IMShellCommandFail e) { - + if (installScript != null) { + installScript.setExecutable(true); + + Installer installer = new Installer(); + try { + installer.executeScript(installScript); + } catch (IMShellCommandFail e) { + + } + } else { + // when test works, install script does not need. } } - + /** * Get install script from resource according to each platform. + * * @return */ private File getInstallScript() { try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getTempFileFromResource(LINUX_INSTALL_MANAGER_INSTALL_SCRIPT, "install", ".sh"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return PathUtil.getTempFileFromResource(WINDOWS_INSTALL_MANAGER_INSTALL_SCRIPT, "install", ".vbs"); + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return PathUtil.getTempFileFromResource( + LINUX_INSTALL_MANAGER_INSTALL_SCRIPT, "install", ".sh"); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + return PathUtil.getTempFileFromResource( + WINDOWS_INSTALL_MANAGER_INSTALL_SCRIPT, "install", + ".vbs"); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + return null; } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } @@ -833,41 +885,48 @@ public class InstallManager { throw new IMFatalException(ErrorCode.CANNOT_CREATE_SHORTCUT); } } - + private void removeInstallManager() { Log.log("InstallManager.removeInstallManager"); - - //execute remove script + + // execute remove script executeInstallManagerRemoveScript(); - + if (Registry.getInstalledPath().isEmpty()) { return; } - //remove InstallManager's file - PathUtil.remove(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY, Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER)); - PathUtil.remove(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY, Config.INSTALL_MANAGER_BINARY)); - PathUtil.remove(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY, Config.INSTALL_MANAGER_UPDATER_BINARY)); - - //remove config file - PathUtil.remove(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY, Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME)); - - //remove InstallManager Directory - File installManagerDir = new File(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY)); - File[] fileList = installManagerDir.listFiles(); - if (fileList == null || fileList.length <= 0) { - PathUtil.remove(installManagerDir); - } + // remove InstallManager's file + PathUtil.remove(PathUtil.getFromInstalledPath( + Config.INSTALL_MANAGER_DIRECTORY, + Config.INSTALL_MANAGER_UPDATER_BINARY)); + PathUtil.remove(PathUtil.getFromInstalledPath( + Config.INSTALL_MANAGER_DIRECTORY, + Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER)); + PathUtil.remove(PathUtil.getFromInstalledPath( + Config.INSTALL_MANAGER_DIRECTORY, + Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER_PARTNER)); + PathUtil.remove(PathUtil + .getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY, + Config.INSTALL_MANAGER_BINARY)); + + // remove config file + PathUtil.remove(PathUtil.getFromInstalledPath( + Config.INSTALL_MANAGER_DIRECTORY, + Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME)); + + // remove InstallManager Directory + PathUtil.remove(PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DIRECTORY)); } - + private void executeInstallManagerRemoveScript() { File removeScript = getRemoveScript(); - + if (removeScript == null) { return; - } - + } + removeScript.setExecutable(true); - + Installer installer = new Installer(); try { installer.executeScript(removeScript); @@ -876,13 +935,21 @@ public class InstallManager { Log.ExceptionLog(e); } } - + private File getRemoveScript() { try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return PathUtil.getTempFileFromResource(LINUX_INSTALL_MANAGER_REMOVE_SCRIPT, "remove", ".sh"); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return PathUtil.getTempFileFromResource(WINDOWS_INSTALL_MANAGER_REMOVE_SCRIPT, "remove", ".vbs"); + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return PathUtil.getTempFileFromResource( + LINUX_INSTALL_MANAGER_REMOVE_SCRIPT, "remove", ".sh"); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + return PathUtil + .getTempFileFromResource( + WINDOWS_INSTALL_MANAGER_REMOVE_SCRIPT, + "remove", ".vbs"); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + return null; } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } @@ -923,30 +990,59 @@ public class InstallManager { private void copyInstallManagerFiles(String from, String to) { Log.log("Copy InstallManager files from " + from + " to " + to); + //copy execute file. try { - PathUtil.copy(new File(PathUtil.get(from, Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER)), - new File(PathUtil.get(to, Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER))); - new File(to + File.separator + Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER).setExecutable(true); - PathUtil.copy(new File(PathUtil.get(from, "InstallManager.jar")), - new File(PathUtil.get(to, "InstallManager.jar"))); - PathUtil.copy(new File(PathUtil.get(from, "InstallManagerUpdater.jar")), - new File(PathUtil.get(to, "InstallManagerUpdater.jar"))); + //copy execute file. + PathUtil.copy( + PathUtil.get(from,Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER), + PathUtil.get(to, Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER)); + + //copy execute file for Parter SDK. + PathUtil.copy( + PathUtil.get(from,Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER_PARTNER), + PathUtil.get(to, Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER_PARTNER)); + + //set executable authority. + new File(to + File.separator + + Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER) + .setExecutable(true); + + //set executable authority. + new File(to + File.separator + + Config.EXECUTE_FILE_NAME_OF_INSTALL_MANAGER_PARTNER) + .setExecutable(true); + + //copy InstallManager.jar + PathUtil.copy( + PathUtil.get(from, "InstallManager.jar"), + PathUtil.get(to, "InstallManager.jar")); + + //copy InstallManagerUpdater.jar + PathUtil.copy( + PathUtil.get(from, "InstallManagerUpdater.jar"), + PathUtil.get(to, "InstallManagerUpdater.jar")); + + //copy installmanager.conf + PathUtil.copy( + PathUtil.get(from, Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME), + PathUtil.get(to, Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME)); } catch (IOException e) { Log.err("Failed to copy Install Manager files"); } } private void removePackagesDir() { - PathUtil.remove(Config.PACKAGE_LIST_LOCAL_DIRECTORY); + PathUtil.remove(Config.PACKAGE_BINARY_LOCAL_DIRECTORY_PATH); } /** - * Package uninstallation management + * Package uninstallation management + * * @param pkg * @param monitor * @return */ - public boolean removePackage(Package2 pkg, IIMProgressMonitor monitor) { + public boolean removePackage(Package pkg, IIMProgressMonitor monitor) { Log.log("InstallManager package remove start => " + pkg); if (pkg == null) { @@ -956,49 +1052,51 @@ public class InstallManager { if (monitor != null) { monitor.setPackageName(pkg.getPackageName()); } - + Installer installer = new Installer(); boolean bResult = installer.uninstall(pkg, monitor); - - //Remove packages in installed package list without result. - //We don't know that failed packages are working well. + + // Remove packages in installed package list without result. + // We don't know that failed packages are working well. packageManager.exceptPackageFromInstalledPackages(pkg); packageManager.saveInstalledList(PathUtil.get( - PathUtil.getFromInstalledPath( - Config.INFO_DIRECTORY), - Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); - + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + Config.INSTALLED_PACKAGE_LIST_FILE_NAME)); + Log.log(pkg + " remove end => " + bResult); return bResult; } /** - * Packages uninstallation management + * Packages uninstallation management + * * @param pkg * @param monitor * @return */ - public boolean removePackages(PackageSet metasToRemove, IIMProgressMonitor monitor) { + public boolean removePackages(PackageSet metasToRemove, + IIMProgressMonitor monitor) { Log.log("InstallManager Packages remove Start => " + metasToRemove); if (metasToRemove == null) { return false; } - PackageSet pkgsToRemove = packageManager.getToRemovePackagesInRemove(metasToRemove); - Log.log("Remove packages: "+pkgsToRemove); - + PackageSet pkgsToRemove = packageManager + .getToRemovePackagesInRemove(metasToRemove); + Log.log("Remove packages: " + pkgsToRemove); + if (monitor != null) { monitor.beginTask("Uninstalling...", pkgsToRemove.size() + 1); } - + int i = 0; - for (Package2 pkg : pkgsToRemove) { + for (Package pkg : pkgsToRemove) { if (monitor != null) { monitor.worked(++i); } - + if (removePackage(pkg, monitor)) { continue; } else { @@ -1013,35 +1111,37 @@ public class InstallManager { monitor.setFileName("Remove target directory..."); monitor.worked(pkgsToRemove.size()); } - + if (packageManager.existInstalledPackages()) { Log.log("Installed meta packages do not exist, but some packages exist."); removeAll(monitor); } else { - //not exist to remove + // not exist to remove removeSDK(); } - } else {}//Donothing. - + } else { + }// Donothing. + Log.log("InstallManager packages remove success. return => " + true); return true; } - + /** * Remove all of packages. + * * @param monitor */ public void removeAll(IIMProgressMonitor monitor) { Log.log("InstallManager.removeAll()"); - + PackageSet removablePackages = packageManager.getInstalledPackages(); - - for (Package2 pkg : removablePackages) { + + for (Package pkg : removablePackages) { if (!removePackage(pkg, monitor)) { Log.err("InstallManager.removeAll remove fail => " + pkg); } } - + removeSDK(); } @@ -1060,83 +1160,96 @@ public class InstallManager { // do not remove config home because it has log files Log.log("InstallManager removeSDK end"); } - + private void checkTargetDirAndRemove() { File targetDir = new File(Registry.getInstalledPath()); if (canRemoveTargetDir(targetDir)) { removeTargetDirectory(); } else { - Log.err("Cannot delete target directory => " + targetDir.getAbsolutePath()); + Log.err("Cannot delete target directory => " + + targetDir.getAbsolutePath()); } } - + /** * Check status that target directory can remove or not. + * * @param targetDir * @return */ private boolean canRemoveTargetDir(File targetDir) { if (targetDir.exists()) { File[] fileList = targetDir.listFiles(); - if ((fileList == null || fileList.length <= 0) - || (fileList.length == 1 && fileList[0].getName().equals(Config.INSTALL_MANAGER_DIRECTORY))) { - ErrorController.setTargetDirEmpty(true); + if ((fileList == null || fileList.length <= 0) + || (fileList.length == 1 && fileList[0].getName().equals( + Config.OLD_INSTALL_MANAGER_DIRECTORY))) { return true; } else { - Log.err("Target directory is not empty => " + fileList); - ErrorController.setTargetDirEmpty(false); + ArrayList fileNames = new ArrayList(); + for (File file : fileList) { + fileNames.add(file.getName()); + } + Log.err("The SDK directory is not empty => " + fileNames); return false; } } else { - Log.err("Target direcotry is already removed"); + Log.err("The SDK direcotry is already removed"); return false; } } - + private void removeChangeLog() { - File releaseNoteFile = new File(PathUtil.getFromInstalledPath(Config.RELEASE_NOTE)); - + File releaseNoteFile = new File( + PathUtil.getFromInstalledPath(Config.RELEASE_NOTE)); + if (releaseNoteFile.exists()) { PathUtil.remove(releaseNoteFile); } } - + private void removeInfoDirectory() { - //remove info directory in $HOME/.TizenSDK - File infoDirFile = new File(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); + // remove info directory in $HOME/tizen-sdk-data + File infoDirFile = new File( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); if (infoDirFile.exists()) { PathUtil.remove(infoDirFile); } - - //remove info directory in target directory - File targetInfoFile = new File(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); - + + // remove info directory in target directory + File targetInfoFile = new File( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY)); + if (targetInfoFile.exists()) { PathUtil.remove(targetInfoFile); } } - + /** * Remove target directory. */ public void removeTargetDirectory() { Log.log("InstallManager remove target directory start"); - - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { PathUtil.remove(Registry.getInstalledPath()); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - if (!WindowsProgramController.removeRunningDir(Registry.getInstalledPath())) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + if (!WindowsProgramController.removeRunningDir(Registry + .getInstalledPath())) { Log.err("Cannot remove target directory"); } } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } - + Log.log("InstallManager remove target directory end"); } /** * Singleton and global downloader shared and used by every components in IM + * * @return singleton downloader object */ public static Downloader getDownloader() { diff --git a/InstallManager_java/src/org/tizen/installmanager/core/Installer.java b/InstallManager_java/src/org/tizen/installmanager/core/Installer.java index 928da2d..63782b7 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/Installer.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/Installer.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.core; @@ -50,103 +50,118 @@ import org.tizen.installmanager.lib.Platform; import org.tizen.installmanager.lib.Registry; import org.tizen.installmanager.lib.SDKPackageFormat; import org.tizen.installmanager.lib.ErrorController.ErrorCode; -import org.tizen.installmanager.pkg.model.Package2; +import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.util.IMShellCommandFail; import org.tizen.installmanager.util.PathUtil; import org.tizen.installmanager.util.ShellUtil; - /** * This class manages lowlevel install/uninstall operations - * + * * @author Shihyun Kim */ public class Installer { /** - * Install a package to target directory. - * @param pack Package to be installed. - * @param targetDir Target directory to install. - * @param monitor If you want to express in UI, implement IIMProgressMonitor and set this parametor. - * if not, set null. + * Install a package to target directory. + * + * @param pack + * Package to be installed. + * @param targetDir + * Target directory to install. + * @param monitor + * If you want to express in UI, implement IIMProgressMonitor and + * set this parametor. if not, set null. * @return true, if installation is success. */ - public boolean install(Package2 pack, String targetDir, IIMProgressMonitor monitor) { - Log.log("**** installer install start => " + pack + ", target => " + targetDir); - - //unzip in temp dir - String tempDir = PathUtil.get(targetDir, Config.TEMP_DIRECTORY); - - long unZipSize = unZipPackage(pack, tempDir, monitor); - - if (unZipSize <= 0) { - Log.err("Unzip failed. => "+pack); - PathUtil.remove(tempDir); - throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); - } - if (!checkUnzipSize(pack, unZipSize)) { - Log.err("Unzip size error. => "+pack); - PathUtil.remove(tempDir); - throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); - } - - if (!moveToTargetDirectoryFromTempDirectory(tempDir, targetDir)) { - PathUtil.remove(tempDir); - Log.err("Moving temp to target failed. Remove temp and cancel installing."); - throw new IMFatalException(ErrorCode.CANNOT_MOVE_FILE_TO_TARGET_DIRECTORY); - } - - List missingFiles = findMissingFiles(pack); - if(missingFiles.size() > 0) { - Log.err("Some files are not moved properly: "+missingFiles); - } - - executeInstallScript(pack, monitor, tempDir); - - //move removeScript file to special Directory - File removeScriptFrom = new File(tempDir + File.separator + pack.getRemoveScript()); - - if ((pack.getRemoveScript()!= null) && !(pack.getRemoveScript().equals("")) && (removeScriptFrom.exists())) { - File removeScriptTo = new File(getRemoveScriptLocalPath(pack)); - if (!createRemoveScriptDir(removeScriptTo)) { - Log.err("Cannot create remove script directory in Info directory => " + pack.getPackageName()); - return false; - } else { - if (removeScriptTo.exists()) { - removeScriptTo.delete(); - } - if (!PathUtil.moveFile(removeScriptFrom, removeScriptTo)) { - Log.err("Cannot move removeScript to targetDir => " + pack.getPackageName()); - return false; - } - } - } - PathUtil.remove(tempDir); - return true; - } - - - /** - * @param pack - * @return list of files which are not moved normally - */ - private List findMissingFiles(Package2 pack) { + public boolean install(Package pack, String targetDir, + IIMProgressMonitor monitor) { + Log.log("**** installer install start => " + pack + ", target => " + + targetDir); + + // unzip in temp dir + String tempDir = PathUtil.get(targetDir, Config.TEMP_DIRECTORY); + + long unZipSize = unZipPackage(pack, tempDir, monitor); + + if (unZipSize <= 0) { + Log.err("Unzip failed. => " + pack); + PathUtil.remove(tempDir); + throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); + } + if (!checkUnzipSize(pack, unZipSize)) { + Log.err("Unzip size error. => " + pack); + PathUtil.remove(tempDir); + throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); + } + + if (!moveToTargetDirectoryFromTempDirectory(tempDir, targetDir)) { + PathUtil.remove(tempDir); + Log.err("Moving temp to target failed. Remove temp and cancel installing."); + throw new IMFatalException( + ErrorCode.CANNOT_MOVE_FILE_TO_TARGET_DIRECTORY); + } + + List missingFiles = findMissingFiles(pack); + if (missingFiles.size() > 0) { + Log.err("Some files are not moved properly: " + missingFiles); + } + + executeInstallScript(pack, monitor, tempDir); + + // move removeScript file to special Directory + File removeScriptFrom = new File(tempDir + File.separator + + pack.getRemoveScript()); + + if ((pack.getRemoveScript() != null) + && !(pack.getRemoveScript().equals("")) + && (removeScriptFrom.exists())) { + File removeScriptTo = new File(getRemoveScriptLocalPath(pack)); + if (!createRemoveScriptDir(removeScriptTo)) { + Log.err("Cannot create remove script directory in Info directory => " + + pack.getPackageName()); + return false; + } else { + if (removeScriptTo.exists()) { + removeScriptTo.delete(); + } + if (!PathUtil.moveFile(removeScriptFrom, removeScriptTo)) { + Log.err("Cannot move removeScript to targetDir => " + + pack.getPackageName()); + return false; + } + } + } + PathUtil.remove(tempDir); + return true; + } + + /** + * @param pack + * @return list of files which are not moved normally + */ + private List findMissingFiles(Package pack) { LinkedList missingFiles = new LinkedList(); File listFile = new File(getInstalledFileListPath(pack)); + InputStream is = null; + BufferedReader in = null; try { - InputStream is = new FileInputStream(listFile); - BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); + is = new FileInputStream(listFile); + in = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line; - while((line = in.readLine()) != null) { + while ((line = in.readLine()) != null) { File tmp = new File(PathUtil.getFromInstalledPath(line)); if (!tmp.exists()) { - if(Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32) { missingFiles.add(tmp); - } else if(Platform.CURRENT_PLATFORM == Platform.LINUX) { + } else if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { // check if it is broken link try { - int exitCode = ShellUtil.execute("ls "+tmp, null); - if(exitCode == 0) { - Log.log("broken link "+tmp+" but no problem"); + int exitCode = ShellUtil.execute("ls " + tmp, null); + if (exitCode == 0) { + Log.log("broken link " + tmp + + " but no problem"); } else { Log.err(tmp + " not exist."); missingFiles.add(tmp); @@ -156,148 +171,189 @@ public class Installer { Log.ExceptionLog(e); } } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + throw new IMFatalException( + ErrorCode.UNSUPPORTED_PLATFORM); } } } - } catch(IOException e) { - Log.err("Installer.findMissingFiles() Cannot check file list: " + listFile.getAbsolutePath()); - throw new IMFatalException(ErrorCode.CANNOT_CHECK_INSTLLED_FILE_LIST); + } catch (IOException e) { + Log.err("Installer.findMissingFiles() Cannot check file list: " + + listFile.getAbsolutePath()); + throw new IMFatalException( + ErrorCode.CANNOT_CHECK_INSTLLED_FILE_LIST); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + + if (is != null) { + try { + is.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } } return missingFiles; } - /** * Set script running process' environment variables. + * * @return Environment variables map */ - private Map setEnvironmentVariable() { - HashMap env = new HashMap(); - - env.put("INSTALLED_PATH", Registry.getInstalledPath()); - env.put("MAKESHORTCUT_PATH", InstallManager.getInstance().getMakeShortCutPath()); - env.put("REMOVE_SHORTCUT", InstallManager.getInstance().getRemoveShortCutPath()); - - return env; + private Map setEnvironmentVariable() { + HashMap env = new HashMap(); + + env.put("INSTALLED_PATH", Registry.getInstalledPath()); + env.put("MAKESHORTCUT_PATH", InstallManager.getInstance() + .getMakeShortCutPath()); + env.put("REMOVE_SHORTCUT", InstallManager.getInstance() + .getRemoveShortCutPath()); + env.put("USER_DATA_PATH", Config.getConfigHome()); + + if (Options.partnerSdk) { + env.put("PARTNER_SDK", "partner"); + } else { + env.put("PARTNER_SDK", ""); + } + + return env; } - - private long unZipPackage(Package2 pkg, String tempDir, IIMProgressMonitor monitor) { - String filePath = PathUtil.getFromCurrDir(pkg.getFileName()); - - File pkgFile = new File(filePath); - if (!pkgFile.exists()) { - Log.err(filePath + " doesn't exist"); - throw new IMFatalException(ErrorCode.CANNOT_FIND_FILE_IN_LOCAL); - } - - SDKPackageFormat format = SDKPackageFormat.createSDKPackageFormat(); - - //Each packages are saved installed list to file - String installedFileListPath = getInstalledFileListPath(pkg); - - format.setFileOutput(installedFileListPath); - - return format.unZip(filePath, tempDir, monitor); - } - - private String getRemoveScriptLocalPath(Package2 pkg) { - return PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), pkg.getPackageName(), pkg.getRemoveScript()); - } - - private String getInstalledFileListPath(Package2 pkg) { - return PathUtil.get(PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), pkg.getPackageName(), (pkg.getPackageName() + ".list")); - } - - private boolean moveToTargetDirectoryFromTempDirectory(String tempDir, String targetDir) { - Log.log("Move temp to target"); - File fromFile = new File(tempDir + File.separator + Config.DATA_DIRECTORY); - if (!fromFile.exists()) { - Log.err("Data directory is not exist in package."); - return true; - } - File toFile = new File(targetDir); - - File[] fromList = fromFile.listFiles(); - - if (fromList == null) { - return false; - } - - for(int i=0; i dirStack = new Stack(); - while((line = reader.readLine()) != null) { - File deleteFile = new File(PathUtil.getFromInstalledPath(line)); - - if (deleteFile.isDirectory()) { - File[] listFiles = deleteFile.listFiles(); - - if (listFiles == null || listFiles.length <= 0) { - deleteIfExists(deleteFile); - } else { - dirStack.push(deleteFile); - } - } else { - deleteIfExists(deleteFile); - } - } - - - while(!dirStack.isEmpty()) { - File deleteDir = dirStack.pop(); - File[] listFiles = deleteDir.listFiles(); - - if (listFiles == null || listFiles.length <= 0) { - deleteIfExists(deleteDir); - } - } + + private long unZipPackage(Package pkg, String tempDir, + IIMProgressMonitor monitor) { + String filePath = PathUtil.getFromCurrDir(pkg.getFileName()); + + File pkgFile = new File(filePath); + if (!pkgFile.exists()) { + Log.err(filePath + " doesn't exist"); + throw new IMFatalException(ErrorCode.CANNOT_FIND_FILE_IN_LOCAL); + } + + SDKPackageFormat format = SDKPackageFormat.createSDKPackageFormat(); + + // Each packages are saved installed list to file + String installedFileListPath = getInstalledFileListPath(pkg); + + format.setFileOutput(installedFileListPath); + + return format.unZip(filePath, tempDir, monitor); + } + + private String getRemoveScriptLocalPath(Package pkg) { + return PathUtil.get( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + pkg.getPackageName(), pkg.getRemoveScript()); + } + + private String getInstalledFileListPath(Package pkg) { + return PathUtil.get( + PathUtil.getFromInstalledPath(Config.INFO_DIRECTORY), + pkg.getPackageName(), (pkg.getPackageName() + ".list")); + } + + private boolean moveToTargetDirectoryFromTempDirectory(String tempDir, + String targetDir) { + Log.log("Move temp to target"); + File fromFile = new File(tempDir + File.separator + + Config.DATA_DIRECTORY); + if (!fromFile.exists()) { + Log.err("Data directory is not exist in package."); + return true; + } + File toFile = new File(targetDir); + + File[] fromList = fromFile.listFiles(); + + if (fromList == null) { + return false; + } + + for (int i = 0; i < fromList.length; i++) { + boolean ret = false; + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + ret = PathUtil.copyHardLink(fromList[i], toFile); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + ret = PathUtil.move(fromList[i], + new File(toFile, fromList[i].getName())); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + ret = PathUtil.copyHardLink(fromList[i], toFile); + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + if (!ret) { + return false; + } + } + return true; + } + + /** + * Uninstalls the given package + * + * @param pkg + * package to be uninstalled + * @param monitor + * @return true if success. false if fatal error. delete failure is checked + * and sets error status in ErrorController but still returns true. + * if file to be deleted doesn't exist, it's not considered error. + */ + public boolean uninstall(Package pkg, IIMProgressMonitor monitor) { + Log.log("Installer uninstall start"); + int resultRemoveScript = executeRemoveScript(pkg, monitor); + + if (resultRemoveScript == 0) { + Log.log("Execute remove script success."); + } else if (resultRemoveScript == 1) { + Log.err("Execute remove script fail."); + } else if (resultRemoveScript == 2) { + Log.log("This package does not need a remove script."); + } + + File installedFileList = new File(getInstalledFileListPath(pkg)); + + if (!installedFileList.exists()) { + ErrorController.setError(ErrorCode.CANNOT_FIND_INSTALLED_FILE_LIST); + return false; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader(installedFileList)); + + String line = null; + Stack dirStack = new Stack(); + while ((line = reader.readLine()) != null) { + File deleteFile = new File(PathUtil.getFromInstalledPath(line)); + + if (deleteFile.isDirectory()) { + File[] listFiles = deleteFile.listFiles(); + + if (listFiles == null || listFiles.length <= 0) { + deleteIfExists(deleteFile); + } else { + dirStack.push(deleteFile); + } + } else { + deleteIfExists(deleteFile); + } + } + + while (!dirStack.isEmpty()) { + File deleteDir = dirStack.pop(); + File[] listFiles = deleteDir.listFiles(); + + if (listFiles == null || listFiles.length <= 0) { + deleteIfExists(deleteDir); + } + } } catch (FileNotFoundException e) { Log.err("File not found => " + installedFileList.getAbsolutePath()); @@ -305,76 +361,81 @@ public class Installer { } catch (IOException e) { Log.err("IO Exception => " + installedFileList.getAbsolutePath()); return false; + } catch (Throwable e) { + Log.ExceptionLog(e); + return false; } finally { try { if (reader != null) { reader.close(); - deleteIfExists(installedFileList); + deleteIfExists(installedFileList); } - } catch(IOException ioe) { + } catch (IOException ioe) { Log.err("Close fileoutput fail."); } } - return true; - } - - /** - * Delete the file - * @param file - */ - private void deleteIfExists(File file) { - if (!file.delete()) { - Log.err("Delete fail -> " + file.getAbsolutePath()); - } - } - - private boolean checkUnzipSize(Package2 pack, long size) { - // TODO : impl. not supported - return true; - } - - private boolean createRemoveScriptDir(File removeScript) { - File parentDir = removeScript.getParentFile(); - - if (!parentDir.exists()) { - return parentDir.mkdirs(); - } else { - return true; - } - } - - private boolean executeInstallScript(Package2 pack, + return true; + } + + /** + * Delete the file + * + * @param file + */ + private void deleteIfExists(File file) { + if (!file.delete()) { + Log.err("Delete fail -> " + file.getAbsolutePath()); + } + } + + private boolean checkUnzipSize(Package pack, long size) { + // TODO : impl. not supported + return true; + } + + private boolean createRemoveScriptDir(File removeScript) { + File parentDir = removeScript.getParentFile(); + + if (!parentDir.exists()) { + return parentDir.mkdirs(); + } else { + return true; + } + } + + private boolean executeInstallScript(Package pack, IIMProgressMonitor monitor, String tempDir) { - if (pack.getInstallScript() != null && !pack.getInstallScript().equals("")) { - String command = PathUtil.get(tempDir, pack.getInstallScript()); - File scriptFile = new File(command); - - if (scriptFile.exists()) { - Log.log("Execute install script"); - - if (monitor != null) { - monitor.setFileName(scriptFile.getName()); - monitor.workedFileName(); - } - try { - return executeScript(scriptFile); - } catch (IMShellCommandFail e) { - Log.ExceptionLog(e); - throw new IMFatalException(ErrorCode.INSTALL_SCRIPT_FATAL_ERROR); - } - } else { - Log.log(pack.getPackageName() + " does not have install script"); - } - } - return true; + if (pack.getInstallScript() != null + && !pack.getInstallScript().equals("")) { + String command = PathUtil.get(tempDir, pack.getInstallScript()); + File scriptFile = new File(command); + + if (scriptFile.exists()) { + Log.log("Execute install script"); + + if (monitor != null) { + monitor.setFileName(scriptFile.getName()); + monitor.workedFileName(); + } + try { + return executeScript(scriptFile); + } catch (IMShellCommandFail e) { + Log.ExceptionLog(e); + throw new IMFatalException( + ErrorCode.INSTALL_SCRIPT_FATAL_ERROR); + } + } else { + Log.log(pack.getPackageName() + " does not have install script"); + } + } + return true; } - - - private int executeRemoveScript(Package2 pkg, IIMProgressMonitor monitor) { - Log.log("executeRemoveScript => " + pkg.getRemoveScript()); - - //execute remove script + + private int executeRemoveScript(Package pkg, IIMProgressMonitor monitor) { + Log.log("executeRemoveScript => " + pkg.getRemoveScript()); + + // execute remove script String script = PathUtil.get(getRemoveScriptLocalPath(pkg)); File scriptFile = new File(script); @@ -387,7 +448,7 @@ public class Installer { try { if (executeScript(scriptFile)) { - return 0; // succeed to execute remove script. + return 0; // succeed to execute remove script. } else { return 1; // fail to execute remove script. } @@ -396,36 +457,36 @@ public class Installer { throw new IMFatalException(ErrorCode.REMOVE_SCRIPT_FATAL_ERROR); } } - return 2; // package does not need remove script. - } - - /** - * Executes the file with default environment variables - * @param scriptFile - * @return true if success - * @throws IMShellCommandFail - */ - public boolean executeScript(File scriptFile) throws IMShellCommandFail { - scriptFile.setExecutable(true); - Mapenv = setEnvironmentVariable(); - - String command = scriptFile.getAbsolutePath(); - if (PathUtil.getFileExtension(command).equalsIgnoreCase(".vbs")) { - command = "wscript.exe " + command; - } - - int exitCode = ShellUtil.execute(command, env, null, new LoggerShellParser()); - - // check exit code - if(exitCode == 0) { - return true; - } else if(exitCode > 0 && exitCode < 10) { - Log.err("Exit code => " + Integer.toString(exitCode)); - return false; - } else { - Log.err("Installer.executeScript() install script error => " + scriptFile.getAbsolutePath()); - Log.err("Exit code => " + Integer.toString(exitCode)); - throw new IMFatalException(ErrorCode.INSTALL_SCRIPT_FATAL_ERROR); - } - } + return 2; // package does not need remove script. + } + + /** + * Executes the file with default environment variables + * + * @param scriptFile + * @return true if success + * @throws IMShellCommandFail + */ + public boolean executeScript(File scriptFile) throws IMShellCommandFail { + scriptFile.setExecutable(true); + Map env = setEnvironmentVariable(); + + String command = ShellUtil.addInterpreter(scriptFile.getAbsolutePath()); + + int exitCode = ShellUtil.execute(command, env, null, + new LoggerShellParser()); + + // check exit code + if (exitCode == 0) { + return true; + } else if (exitCode > 0 && exitCode < 10) { + Log.err("Exit code => " + Integer.toString(exitCode)); + return false; + } else { + Log.err("Installer.executeScript() install script error => " + + scriptFile.getAbsolutePath()); + Log.err("Exit code => " + Integer.toString(exitCode)); + throw new IMFatalException(ErrorCode.INSTALL_SCRIPT_FATAL_ERROR); + } + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/core/Options.java b/InstallManager_java/src/org/tizen/installmanager/core/Options.java index dea70c4..9e1407b 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/Options.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/Options.java @@ -67,10 +67,15 @@ public class Options { public static String userConfPath = null; /** + * update installmanager. + * If doUpdateInstallManager is false, do not update installmanager binary. + */ + public static boolean doUpdateInstallManager = true; + /** * Do replace repository. * If doRepository is true, change repository address to repo variable. */ - public static boolean doRepository = false; + public static boolean doReplaceRepository = false; /** * Do remove packages after installation @@ -78,6 +83,11 @@ public class Options { public static boolean doRemovePackages = true; /** + * Do remove old sdk. + * If installer cannot update sdk, doRemoveOldSDK is true. + */ + public static boolean doRemoveOldSDK = false; + /** * Just check installer is available for update. */ public static boolean checkPackageUpdate = false; @@ -90,11 +100,33 @@ public class Options { /** * Use Snapshot file. */ - public static boolean useSnapShot = false; + public static boolean snapshot = false; public static String repo = null; - public static String packageList = null; + public static String snapshotPath = null; + + /** + * Use only download for making SDK image. + */ + public static String boundary = null; // all, public, partner + public static String platForm = null; + public static int platFormBit = 0; + + /** + * See all snapshots + */ + public static boolean allSnapshots = false; + + /** + * Support Partner SDK + */ + public static boolean partnerSdk = false; + public static String purposeOfInstalling = "public"; + /** + * Display InstallManager Version + */ + public static boolean showVersion = false; /** * User-provided proxy server @@ -136,8 +168,8 @@ public class Options { } } else if(arg.equals("-noRemovePackages")) { doRemovePackages = false; - } else if(arg.equals("-updated")) { - // -updated means this execution is run again after self-updating + } else if(arg.equals("-skipUpdate")) { + doUpdateInstallManager = false; } else if(arg.equals("-checkPackageUpdate")) { checkPackageUpdate = true; } else if(arg.equals("-printDepGraph")) { @@ -150,36 +182,49 @@ public class Options { Log.err("-proxy requires proxy description"); throw new IMFatalException(ErrorCode.PROXY_NOT_PROVIDED); } - } else if (arg.equals("-useSnapShot")) { + } else if (arg.equals("-snapShot")) { if(iter.hasNext()) { - useSnapShot = true; - repo = iter.next(); - Log.log("User-provided repository: "+repo); + snapshot = true; + snapshotPath = iter.next(); + Log.log("User-provided repository: " + repo); } else { - Log.err("-useSnapShot requires repository description"); + Log.err("-snapShot requires repository description"); throw new IMFatalException(ErrorCode.USESNAPSHOT_REPOSITORY_NOT_PROVIDED); } + } else if (arg.equals("-allSnapshots")) { + allSnapshots = true; + Log.log("Using '-allSnapshots' option, all snapshots are displaying."); } else if (arg.equals("-onlyDownload")) { if(iter.hasNext()) { onlyDownload = true; - packageList = iter.next(); - Log.log("User-provided package list: "+packageList); + boundary = iter.next(); + platForm = iter.next().toLowerCase(); + platFormBit = Integer.parseInt(iter.next()); + Log.log("Only download boundary : "+ boundary); } else { Log.err("-onlyDownload requires packageList description"); throw new IMFatalException(ErrorCode.REPOSITORY_NOT_PROVIDED); } onlyDownload = true; + } else if (arg.equals("-version")) { + showVersion = true; + Log.log("Using '-version' option, display InstallManager version on console."); } else if (arg.equals("-noRemoveTempTizenSDK")) { doRemoveTempTizenSDK = false; } else if (arg.equals("-repository")) { if(iter.hasNext()) { - doRepository = true; + doReplaceRepository = true; repo = iter.next(); Log.log("replace repository : "+repo); } else { Log.err("-replaceRepository requires repository description"); throw new IMFatalException(ErrorCode.REPOSITORY_NOT_PROVIDED); } + } else if (arg.equals("-removeOldSDK")) { + doRemoveOldSDK = true; + } else { + Log.err("InstallManager do not support '" + arg + "' option"); + throw new IMFatalException(ErrorCode.WRONG_OPTION); } } } catch(Throwable e) { diff --git a/InstallManager_java/src/org/tizen/installmanager/core/SDKExtensionInfo.java b/InstallManager_java/src/org/tizen/installmanager/core/SDKExtensionInfo.java new file mode 100644 index 0000000..b3f5054 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/core/SDKExtensionInfo.java @@ -0,0 +1,169 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Shihyun Kim +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.core; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.LinkedHashMap; + +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.ConfigFile; +import org.tizen.installmanager.pkg.model.PackageSet; + +/** + * This class can manages extension information + * + * @author Shihyun Kim + * + */ +public class SDKExtensionInfo { + + private static SDKExtensionInfo sdkExtensionInfo = null; + //member variable + LinkedHashMap userExtensionRepositories = new LinkedHashMap(); + LinkedHashMap builtInExtensionRepositories = new LinkedHashMap(); + + //member func + private SDKExtensionInfo() { + load(); + } + + public boolean add(String name, String packageRepo) { + if (name == null || !checkPackageRepo(packageRepo)) { + return false; + + } else { + if (contains(packageRepo)) { + return false; + } + userExtensionRepositories.put(packageRepo, name); + return true; + } + } + + public boolean contains(String packageRepo) { + return userExtensionRepositories.containsKey(packageRepo); + } + + public boolean containsBuiltIn(String packageRepo) { + return builtInExtensionRepositories.containsKey(packageRepo); + } + + public void remove(String packageRepo) { + if (contains(packageRepo)) { + userExtensionRepositories.remove(packageRepo); + } + } + + public void save() { + ConfigFile confFile = Config.getInstance().getConfigFile(); + + confFile.setExtensionServer(userExtensionRepositories.toString()); + + Config.getInstance().saveConfig(); + } + + public void load() { + String extensionInfo = Config.getInstance().getConfigFile().getExtensionServer(); + String builtInExtensionInfo = Config.getInstance().getConfigFile().getBuiltInExtensionServer(); + + builtInExtensionRepositories = parseLocationInformationToMap(builtInExtensionInfo); + userExtensionRepositories = parseLocationInformationToMap(extensionInfo); + } + + public boolean checkPackageRepo(String packageRepo) { + try { + new URL(packageRepo); + return true; + } catch (MalformedURLException e) { + Log.err("Extension package server is not URL format.(" + packageRepo +")"); + return false; + } + } + + private LinkedHashMap parseLocationInformationToMap(String info) { + LinkedHashMap extensionInformation = new LinkedHashMap(); + if (info.startsWith("{")) { + info = info.substring(1); + } + + if (info.endsWith("}")) { + info = info.substring(0, info.length() -1); + } + + String[] properties = info.split(","); + + for(String property : properties) { + String[] nameValue = property.split("="); + + if (nameValue.length == 2) { + extensionInformation.put(nameValue[0], nameValue[1]); + } + } + return extensionInformation; + } + + public PackageSet getExtensionPackages() { + PackageManager pm = PackageManager.getInstance(); + + if (pm == null) { + return PackageSet.EMPTY; + } else { + try { + //Get all extension repositories. + LinkedHashMap extensionRepositories = new LinkedHashMap(); + extensionRepositories.putAll(builtInExtensionRepositories); + extensionRepositories.putAll(userExtensionRepositories); + + pm.loadExtensionPackages(extensionRepositories.keySet()); + return pm.getRootMetaPackagesOfExtensionServer(); + + } catch (IOException e) { + Log.ExceptionLog(e); + return PackageSet.EMPTY; + } + } + } + + public LinkedHashMap getExtensionRepositories() { + return userExtensionRepositories; + } + + public LinkedHashMap getBuiltInExtensionRepositories() { + return builtInExtensionRepositories; + } + + public static SDKExtensionInfo getInstance() { + if (sdkExtensionInfo == null) { + sdkExtensionInfo = new SDKExtensionInfo(); + } + + return sdkExtensionInfo; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/core/UpdateInstallManager.java b/InstallManager_java/src/org/tizen/installmanager/core/UpdateInstallManager.java index 4346cef..5accfe3 100644 --- a/InstallManager_java/src/org/tizen/installmanager/core/UpdateInstallManager.java +++ b/InstallManager_java/src/org/tizen/installmanager/core/UpdateInstallManager.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.core; @@ -34,26 +34,24 @@ import java.net.MalformedURLException; import java.net.URL; import org.tizen.installmanager.lib.Downloader; -import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.Log; -import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.pkg.model.ConfigFile; import org.tizen.installmanager.pkg.model.Version; import org.tizen.installmanager.util.PathUtil; import org.tizen.installmanager.util.ShellUtil; - - /** - * This class checks the update of Install Manager itself, download it, and invokes updater process to replace the current binary. + * This class checks the update of Install Manager itself, download it, and + * invokes updater process to replace the current binary. + * * @author Wooyoung Cho - * + * */ public class UpdateInstallManager { - + private ConfigFile mCurrentConfig = null; private ConfigFile mRepositoryConfig = null; - + private Downloader mDownloader = null; public UpdateInstallManager() { @@ -61,18 +59,20 @@ public class UpdateInstallManager { } private boolean setCurrentConfig() { - InstallManager.getInstance().loadConfig(); - mCurrentConfig = InstallManager.getInstance().getConfig().getConfigFile(); - - if(mCurrentConfig != null) { + InstallManager.getInstance().initConfig(); + mCurrentConfig = InstallManager.getInstance().getConfig() + .getConfigFile(); + + if (mCurrentConfig != null) { return true; } else { return false; } } - + /** * Download configuration file from repository and set to instance. + * * @return true if success */ public boolean setRepositoryConfig() { @@ -80,8 +80,9 @@ public class UpdateInstallManager { if (repository.isEmpty()) { return false; } else { - String repositoryConfigPath = repository + "/" + Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME; - + String repositoryConfigPath = repository + "/" + + Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_NAME; + URL repositoryConfigUrl; try { repositoryConfigUrl = new URL(repositoryConfigPath); @@ -90,7 +91,7 @@ public class UpdateInstallManager { return false; } String downloadedConfigPath = downloadConfigFileFromRepository(repositoryConfigUrl); - if(downloadedConfigPath != null) { + if (downloadedConfigPath != null) { mRepositoryConfig = new ConfigFile(downloadedConfigPath); return true; } else { @@ -98,14 +99,15 @@ public class UpdateInstallManager { } } } - + /** * @param repositoryConfigUrl - * @return path to the conf file downloaded to local from the url. null if failed + * @return path to the conf file downloaded to local from the url. null if + * failed */ private String downloadConfigFileFromRepository(URL repositoryConfigUrl) { - Log.log("Download conf file from repo: "+repositoryConfigUrl); - + Log.log("Download conf file from repo: " + repositoryConfigUrl); + File tmpFile; try { tmpFile = File.createTempFile("installmanager.repository", ".conf"); @@ -114,179 +116,195 @@ public class UpdateInstallManager { Log.log("Cannot create temp file for conf file of repository"); return null; } - + String configToLocal = tmpFile.getAbsolutePath(); - int repeatCount = 3; - for (int i=0; i= 0) { - return configToLocal; - } else if (ErrorController.getErrorCode() == ErrorCode.NOT_LOGGED_IN) { - Log.log("Login failed."); - } else { - Log.log("Download failed."); - return null; - } + if (size >= 0) { + return configToLocal; + } else { + Log.log("Download failed."); + return null; } - Log.log("Download failed."); - return null; } - + private boolean downloadInstallManager() { - String downloadInstallManagerPath = PathUtil.getFromCurrDir(Config.TEMP_DIRECTORY, Config.INSTALL_MANAGER_BINARY); - Log.log("Download install manager: "+downloadInstallManagerPath); - + String downloadInstallManagerPath = PathUtil.getFromCurrDir( + Config.TEMP_DIRECTORY, Config.INSTALL_MANAGER_BINARY); + Log.log("Download install manager: " + downloadInstallManagerPath); + File downloadInstallManagerFile = new File(downloadInstallManagerPath); if (downloadInstallManagerFile.exists()) { downloadInstallManagerFile.delete(); - } else {} - + } else { + } + File parentDir = downloadInstallManagerFile.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); - } else {} - + } else { + } + URL serverIntallManager = null; try { - serverIntallManager = new URL(mCurrentConfig.getInstallManagerRepository() + "/" + Config.INSTALL_MANAGER_BINARY); + serverIntallManager = new URL( + mCurrentConfig.getInstallManagerRepository() + "/" + + Config.INSTALL_MANAGER_BINARY); } catch (MalformedURLException e) { Log.log("Invalid install manager repository url"); return false; } - if (mDownloader.download(serverIntallManager, downloadInstallManagerPath, null) <= 0) { + if (mDownloader.download(serverIntallManager, + downloadInstallManagerPath, null) <= 0) { Log.err("Failed to download install manager binary"); - return false; + return false; } else { Log.log("install manager binary download success"); return true; } } - + private boolean downloadUpdater() { - String path = PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_UPDATER_BINARY); - Log.log("Download install manager updater to: "+path); - + String path = PathUtil + .getFromCurrDir(Config.INSTALL_MANAGER_UPDATER_BINARY); + Log.log("Download install manager updater to: " + path); + File file = new File(path); if (file.exists()) { file.delete(); - } else {} - + } else { + } + File parentDir = file.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); - } else {} - + } else { + } + URL url = null; try { - url = new URL(mCurrentConfig.getInstallManagerRepository() + - "/" + Config.INSTALL_MANAGER_UPDATER_BINARY); + url = new URL(mCurrentConfig.getInstallManagerRepository() + "/" + + Config.INSTALL_MANAGER_UPDATER_BINARY); } catch (MalformedURLException e) { Log.log("Invalid install manager repository url"); return false; } if (mDownloader.download(url, path, null) <= 0) { Log.err("Failed to download install manager binary"); - return false; + return false; } else { Log.log("install manager updater binary download success"); return true; } } - - private void updateInstallManager(String newInstallManager, String oldInstallManager) throws IMExitException { - String updaterPath = PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_UPDATER_BINARY); - - String command = "java -jar " + updaterPath + " " + - newInstallManager + " " + oldInstallManager; - + + private void updateInstallManager(String newInstallManager, + String oldInstallManager){ + String updaterPath = PathUtil + .getFromCurrDir(Config.INSTALL_MANAGER_UPDATER_BINARY); + + String command = "java -jar " + updaterPath + " " + newInstallManager + + " " + oldInstallManager; + if (!Options.getArgsStr().isEmpty()) { command = command + " " + Options.getArgsStr(); } - + Process proc = ShellUtil.asyncExecute(command); - + if (proc != null) { Log.err("Exit for update"); - throw new IMExitException(Config.EXITCODE_HAS_SELF_UPDATE); } else { Log.err("Running updater failed"); } } - + /** * Reads current config file and new config file. + * * @return true if success */ private boolean init() { boolean result = setCurrentConfig(); - if(!result) { + if (!result) { // if current config file does not exist, it's fatal error Log.err("UpdateInstallManager.init() Cannot read config file"); throw new IMFatalException("Cannot read config file"); } else { Log.log("Sucess to read current config file."); } - + result = setRepositoryConfig(); - if(!result) { + if (!result) { Log.log("Cannot read config file from Install Manager repository. Ignore it."); return false; } - - if (mRepositoryConfig.getRepository() != null && !mRepositoryConfig.getRepository().isEmpty()) { + + if (mRepositoryConfig.getRepository() != null + && !mRepositoryConfig.getRepository().isEmpty()) { mCurrentConfig.setRepository(mRepositoryConfig.getRepository()); } + + if (mCurrentConfig.getDistribution().isEmpty()) { + mCurrentConfig.setDistribution(mRepositoryConfig.getDistribution()); + } + mCurrentConfig.saveConfig(mCurrentConfig.getConfigPath()); - return true; } - + /** * check and try to update install manager itself - * @throws IMExitException thrown if there's new version of IM + * + * @throws IMExitException + * thrown if there's new version of IM */ - public void update() throws IMExitException { + public boolean update(){ Log.log("check install manager update"); - if(!init()) { + if (!init()) { Log.log("Cannot read repository config file"); - return; + return false; } - + if (isUpdatable()) { Log.log("Install Manager is updatable"); - + boolean bResult; bResult = updateUpdater(); if (bResult == false) { Log.err("Updating Install Manager Updater failed"); - return; + return false; } - + bResult = downloadInstallManager(); - + if (bResult == true) { - //update config file - mCurrentConfig.setInstallManagerVersion(mRepositoryConfig.getInstallManagerVersion()); + // update config file + mCurrentConfig.setInstallManagerVersion(mRepositoryConfig + .getInstallManagerVersion()); mCurrentConfig.saveConfig(mCurrentConfig.getConfigPath()); - - String newInstallManager = PathUtil.getFromCurrDir(Config.TEMP_DIRECTORY, Config.INSTALL_MANAGER_BINARY); - String oldInstallManager = PathUtil.getFromCurrDir(Config.INSTALL_MANAGER_BINARY); - + + String newInstallManager = PathUtil.getFromCurrDir( + Config.TEMP_DIRECTORY, Config.INSTALL_MANAGER_BINARY); + String oldInstallManager = PathUtil + .getFromCurrDir(Config.INSTALL_MANAGER_BINARY); + updateInstallManager(newInstallManager, oldInstallManager); + return true; } else { - return; + return false; } } else { Log.log("no install manager update"); - return; + return false; } } - + private boolean updateUpdater() { boolean result = downloadUpdater(); - if(!result) { + if (!result) { Log.err("Downloading Install Manager Updater failed"); return false; } else { @@ -299,9 +317,10 @@ public class UpdateInstallManager { if (mCurrentConfig == null || mRepositoryConfig == null) { return false; } else { - String currentVersion = mCurrentConfig.getInstallManagerVersion(); - String repositoryVersion = mRepositoryConfig.getInstallManagerVersion(); - + String currentVersion = mCurrentConfig.getInstallManagerVersion(); + String repositoryVersion = mRepositoryConfig + .getInstallManagerVersion(); + if (currentVersion.equals("") || repositoryVersion.equals("")) { return false; } else { diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/Documents.java b/InstallManager_java/src/org/tizen/installmanager/lib/Documents.java index d5a2643..7df4370 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/Documents.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/Documents.java @@ -35,17 +35,16 @@ import java.io.IOException; import org.eclipse.swt.widgets.Button; import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.lib.ErrorController.ErrorCode; -import org.tizen.installmanager.ui.page.CompletePage; +import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.util.PathUtil; - /** * Manages Documents for InstallManager. * @author Yongsung Kim * */ public class Documents { - public static final String RELEASE_NOTE_FILENAME = "RELEASE_NOTE.txt"; + public static final String RELEASE_NOTE_FILENAME = "release-note.html"; private static String OPEN_SOURCE_LICENSE_NAME = "Tizen_OpenSource_License_Information.pdf"; private static String OPEN_SOURCE_LICENCE_PATH = PathUtil.get("/res", OPEN_SOURCE_LICENSE_NAME); @@ -56,25 +55,33 @@ public class Documents { * @return boolean */ public static boolean isChecked() { - Button btn = CompletePage.getChkBtn(); + Button btn = InstallManagerWindow.getInstallManagerWindow().getCompletePage().getChkBtn(); return btn.getSelection(); } /** * show the change log(history). */ - public static void ShowChangeLog() { - String historyPath = PathUtil.getFromInstalledPath(RELEASE_NOTE_FILENAME); - File history = new File(historyPath); - if (history.exists()) { - try { - if (Desktop.isDesktopSupported()) { - Desktop.getDesktop().open(history); - } - } catch (IOException e1) { - Log.err("Cannot open history"); - } - } + public static void showChangeLog() { + String releaseNotePath = PathUtil.getFromInstalledPath(RELEASE_NOTE_FILENAME); + File releaseNote = new File(releaseNotePath); + + if (releaseNote.exists()) { + if (Desktop.isDesktopSupported()) { + Log.log("Desktop.isDesktopSupported() is true."); + try { + Desktop.getDesktop().open(releaseNote); + Log.log("Success to open release note. => " + releaseNotePath); + } catch (IOException e) { + Log.err("cannot open release note. => " + releaseNotePath); + Log.ExceptionLog(e); + } + } else { + Log.err("Desktop.isDesktopSupported() is false."); + } + } else { + Log.log("Release note not found. => " + releaseNotePath); + } } /** diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/Downloader.java b/InstallManager_java/src/org/tizen/installmanager/lib/Downloader.java index 6631d75..a3b6c60 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/Downloader.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/Downloader.java @@ -34,6 +34,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ConnectException; +import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MalformedURLException; @@ -48,6 +49,9 @@ import java.net.UnknownHostException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.List; +import java.util.NoSuchElementException; + +import javax.net.ssl.SSLHandshakeException; import org.tizen.installmanager.core.Config; import org.tizen.installmanager.core.IMFatalException; @@ -55,6 +59,8 @@ import org.tizen.installmanager.core.InstallManager; import org.tizen.installmanager.core.Options; import org.tizen.installmanager.lib.ErrorController.ErrorCode; + + /** * Manages downloading from url. * @@ -72,7 +78,9 @@ public class Downloader { private MessageDigest mDigest; private URLConnection mConnection = null; - private int connectTimeout = 1000; // connection timeout: 1 sec + private final int CONNECT_TIMEOUT = 10000; // connection timeout: 10 sec + private final int READ_TIMEOUT = 20000; // connection timeout: 20 sec + private final int CONNECT_THREAD_JOIN_TIMEOUT = 11000; //// connection thread timeout: 11 sec private String mUser = ""; private String mPassword = ""; @@ -108,6 +116,7 @@ public class Downloader { } if (!connect(sUrl) || mConnection == null) { + Log.err("Network connection error.\n" + sUrl); return ERROR; } @@ -115,39 +124,49 @@ public class Downloader { try { input = mConnection.getInputStream(); } catch (FileNotFoundException e) { - ErrorController.setError(ErrorCode.CANNOT_FIND_FILE_IN_REPOSITROY); - Log.err("Cannot find file => " + sUrl.toExternalForm()); + Log.ExceptionLog(e); + int index = sUrl.toString().lastIndexOf("/"); + String errUrl =sUrl.toString().substring(0, index); + String errorMsg = ErrorCode.CANNOT_FIND_FILE_IN_REPOSITROY.getErrorMessage() + + "\n(URL = " + errUrl + ")"; + ErrorController.setErrorMessage(errorMsg); return ERROR; - } catch (SocketTimeoutException timeoutException) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); - Log.err(ErrorController.getErrorMessage()); + } catch (SocketTimeoutException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.SERVER_CONNECTION_TIME_OUT); return ERROR; } catch (NoRouteToHostException e) { + Log.ExceptionLog(e); ErrorController.setError(ErrorCode.NO_ROUTE_TO_HOST); Log.err(ErrorController.getErrorMessage()); return ERROR; } catch (SocketException e) { + Log.ExceptionLog(e); ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); Log.err(ErrorController.getErrorMessage()); return ERROR; } catch (IOException e) { + Log.ExceptionLog(e); if (e.getClass().toString().indexOf("FtpLoginException") >= 0) { ErrorController.setError(ErrorCode.NOT_LOGGED_IN); Log.err(ErrorController.getErrorMessage()); return ERROR; } - - Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.CANNOT_DOWNLOAD_FILE); Log.err(ErrorController.getErrorMessage()); return ERROR; + } catch (Throwable e) { + Log.ExceptionLog(e); + ErrorController.setErrorMessage(e.getMessage()); + return ERROR; } File destFile = new File(localPath); if (!destFile.isAbsolute()) { return ERROR; } - + File parentDir = destFile.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); @@ -160,7 +179,7 @@ public class Downloader { try { destFile.createNewFile(); } catch (IOException e) { - Log.err("Can not create download file"); + Log.ExceptionLog(e); ErrorController.setError(ErrorCode.CANNOT_CREATE_DOWNLOAD_FILE); return ERROR; } @@ -169,7 +188,7 @@ public class Downloader { try { output = new FileOutputStream(destFile); } catch (FileNotFoundException e) { - Log.err("Can not create download file"); + Log.ExceptionLog(e); ErrorController.setError(ErrorCode.CANNOT_CREATE_DOWNLOAD_FILE); return ERROR; } @@ -181,7 +200,12 @@ public class Downloader { long beginMS = System.currentTimeMillis(); try { - mDigest.reset(); + if (mDigest != null) { + mDigest.reset(); + } else { + //TODO : Consider this condition later. + } + Log.log("File download start."); while (totalWriteSize < totalFileSize) { if (input.available() > 0) { int inputReadSize = input.read(buf); @@ -211,28 +235,41 @@ public class Downloader { } long endMS = System.currentTimeMillis(); - if (endMS > (beginMS + 5000)) { + if (endMS > (beginMS + READ_TIMEOUT)) { + Log.err("Can not be read during 20 seconds."); ErrorController .setError(ErrorCode.INTERNET_CONNECTION_ERROR); return ERROR; } } - } catch (SocketTimeoutException timeoutException) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + } catch (SocketTimeoutException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.SERVER_CONNECTION_TIME_OUT); return ERROR; } catch (IOException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.ERROR); + return ERROR; + } catch (Exception e) { + Log.ExceptionLog(e); ErrorController.setError(ErrorCode.ERROR); return ERROR; - } finally { + } + finally { try { if (input != null) { input.close(); } + } catch (IOException e) { + Log.ExceptionLog(e); + } + + try { if (output != null) { output.close(); } } catch (IOException e) { - Log.err("Downloader download fail to close output stream."); + Log.ExceptionLog(e); // ignore } } @@ -274,34 +311,34 @@ public class Downloader { * @return true if connect success. */ public boolean connect(URL aUrl) { - if (!isAvailableURL(aUrl)) { - return false; - } - - boolean bRet = false; - URL url = null; - try { - if (!mUser.equals("") || !mPassword.equals("")) { - String fullUrl = aUrl.getProtocol() + PROTOCOL_SEPARATOR - + mUser + USER_PASSWORD_SEPARATOR + mPassword - + ID_SEPARATOR + aUrl.getHost() + aUrl.getPath(); - - url = new URL(fullUrl); - } else { - url = aUrl; + if (isAvailableURL(aUrl)) { + boolean bRet = false; + URL url = null; + try { + if (!mUser.equals("") || !mPassword.equals("")) { + String fullUrl = aUrl.getProtocol() + PROTOCOL_SEPARATOR + + mUser + USER_PASSWORD_SEPARATOR + mPassword + + ID_SEPARATOR + aUrl.getHost() + aUrl.getPath(); + + url = new URL(fullUrl); + } else { + url = aUrl; + } + + bRet = connection(url); + + } catch (MalformedURLException e) { + Log.ExceptionLog(e); + return false; + } catch (Throwable e) { + Log.ExceptionLog(e); + return false; } - - bRet = connection(url); - - } catch (MalformedURLException e) { - Log.ExceptionLog(e); - return false; - } catch (Exception e) { - Log.ExceptionLog(e); + + return bRet; + } else { return false; } - - return bRet; } private boolean isAvailableURL(URL url) { @@ -317,8 +354,8 @@ public class Downloader { socketAddress = getSocketAddress(url.getHost(), port); } catch (IMFatalException e) { - throw new IMFatalException(e.getMessage() + "\n(Repository: " + url - + ")."); + Log.ExceptionLog(e); + return false; } if (socketAddress == null) { @@ -328,18 +365,43 @@ public class Downloader { } } - private boolean connection(final URL url) { + private boolean connection(URL url) { Log.log("Connect to " + url); + boolean bRet = false; + if (NetworkProxy.useProxy) { + bRet = connectWithProxy(url); + + if (!bRet) { + bRet = connectWithDirect(url); + + if (bRet) { + NetworkProxy.useProxy = false; + } + } + } else { + bRet = connectWithDirect(url); + + if (!bRet) { + bRet = connectWithProxy(url); + + if (bRet) { + NetworkProxy.useProxy = true; + } + } + } + + return bRet; + } + + private boolean connectWithProxy(URL url) { String protocol = url.getProtocol(); Config conf = InstallManager.getInstance().getConfig(); - + boolean bRet = false; - - // connect with proxy. - if (protocol.startsWith("file")) { // local url + if (protocol.startsWith("file")) { Log.log("Connect to local path."); - return connectToURL(url, Proxy.NO_PROXY); + bRet = connectToURL(url, Proxy.NO_PROXY); } else if (Options.proxy != null) { Log.log("Connect to repository with '-proxy' option."); @@ -351,82 +413,59 @@ public class Downloader { } else { // system proxy Log.log("Connect to repository with system proxy."); - List proxyList = getSystemProxyList(url); + List proxyList = NetworkProxy.getSystemProxyList(url); for (Proxy proxy : proxyList) { if (bRet = connectToURL(url, proxy)) { break; } } - - // no proxy. - if (!bRet) { - Log.log("Connect to repository with http direct."); - Proxy directProxy = NetworkProxy.getInstance() - .getHttpDirectProxy(url); - - bRet = connectToURL(url, directProxy); - } } - + return bRet; } + + private boolean connectWithDirect(URL url) { + boolean bRet = false; + + String protocol = url.getProtocol(); + if (protocol.startsWith("file")) { + Log.log("Connect to local path."); + bRet = connectToURL(url, Proxy.NO_PROXY); - private boolean connectToURL(URL url, Proxy proxy) { - try { - mConnection = url.openConnection(proxy); - - // set connetion timeout - if (mConnection != null) { - mConnection.setConnectTimeout(connectTimeout); - } - - mConnection.connect(); - - } catch (ConnectException e) { - Log.ExceptionLog(e); - if (proxy.toString().equalsIgnoreCase("DIRECT")) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); - } else { - ErrorController.setError(ErrorCode.PROXY_CONNECT_ERROR); - } - - } catch (NoRouteToHostException e) { - Log.ExceptionLog(e); - if (proxy.toString().equalsIgnoreCase("DIRECT")) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); - } else { - ErrorController.setError(ErrorCode.PROXY_CONNECT_ERROR); - } - - return false; - - } catch (SocketTimeoutException e) { - Log.ExceptionLog(e); - if (proxy.toString().equalsIgnoreCase("DIRECT")) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); - } else { - ErrorController.setError(ErrorCode.PROXY_CONNECT_ERROR); - } + } else { + Proxy directProxy = NetworkProxy.getHttpDirectProxy(url); + bRet = connectToURL(url, directProxy); + } + + return bRet; + } - return false; + private boolean connectToURL(final URL url, final Proxy proxy) { - } catch (SocketException e) { + ConnectionThread connectionThread = new ConnectionThread(url, proxy); + + connectionThread.setDaemon(true); + connectionThread.start(); + + try { + connectionThread.join(CONNECT_THREAD_JOIN_TIMEOUT); + } catch (InterruptedException e) { Log.ExceptionLog(e); - if (proxy.toString().equalsIgnoreCase("DIRECT")) { - ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); - } else { - ErrorController.setError(ErrorCode.PROXY_CONNECT_ERROR); - } - + } + + if (!connectionThread.getConnectionResult()) { return false; - - } catch (FileNotFoundException e) { - Log.ExceptionLog(e); - ErrorController.setError(ErrorCode.CANNOT_FIND_PACKAGE_LIST_FILE_IN_REPOSITORY); + } + + if (connectionThread.isAlive()) { + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + Log.err("Cannot connect to server (URL => " + url +"). Connection thread still alive."); + Log.err("proxy => " + proxy); return false; - } catch (IOException e) { - Log.ExceptionLog(e); + } + + if (!checkConnectionStatus(mConnection)) { return false; } @@ -438,28 +477,66 @@ public class Downloader { return true; } } - - /** - * Get the proxy to be used for download files. Proxy is searched in the - * following order. - User-provided proxy using -proxy option. - Proxy - * specified in installmanager.conf file. - If both of above are not - * provided, return direct connection proxy. - * - * @return proxy to be used. never null. - */ - private List getSystemProxyList(final URL url) { - - NetworkProxy netProxy = NetworkProxy.getInstance(); - - // get system proxy from NetworkProxy class - List proxyList = netProxy.select(url); - if (proxyList == null) { - throw new IMFatalException(ErrorCode.INTERNET_CONNECTION_ERROR); + + private boolean checkConnectionStatus(URLConnection connection) { + if (connection == null) { + return false; } else { - Log.log("Proxy list => " + proxyList); - return proxyList; + String protocol = connection.getURL().getProtocol(); + if (protocol.equalsIgnoreCase("http")) { + return checkHttpConnectionStatus(connection); + } else if (protocol.equalsIgnoreCase("ftp")) { + return true; + } else { + return true; + } } } + + private boolean checkHttpConnectionStatus(URLConnection connection) { + HttpURLConnection httpCon = (HttpURLConnection)connection; + + int responseCode; + String responseMessage = ""; + try { + responseCode = httpCon.getResponseCode(); + responseMessage = httpCon.getResponseMessage(); + } catch (IOException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + return false; + } + + Log.log(Integer.toString(responseCode)); + Log.log(responseMessage); + + switch(responseCode) { + case HttpURLConnection.HTTP_OK : + return true; + case HttpURLConnection.HTTP_NOT_FOUND : + ErrorController.setError(ErrorCode.CANNOT_FIND_FILE_IN_REPOSITROY); + break; + case HttpURLConnection.HTTP_UNAUTHORIZED : + ErrorController.setError(ErrorCode.HTTP_ERROR_MESSAGE_401); + break; + case HttpURLConnection.HTTP_FORBIDDEN : + ErrorController.setError(ErrorCode.HTTP_ERROR_MESSAGE_403); + break; + case -1 : + Log.err("Http response code returns -1(null). It looks a Linux bug."); + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + break; + default : + String errMsg = "Server connection failed." + + "\nError message : " + + responseMessage + + "(Code number=" + Integer.toString(responseCode) + ")"; + ErrorController.setErrorMessage(errMsg); + break; + } + + return false; + } private Proxy getOptionalProxy() { Config conf = InstallManager.getInstance().getConfig(); @@ -553,4 +630,67 @@ public class Downloader { return mConnection.getContentLength(); } + + class ConnectionThread extends Thread { + URL url = null; + Proxy proxy = null; + + boolean connectionResult = false; + + public ConnectionThread(URL url, Proxy proxy) { + this.url = url; + this.proxy = proxy; + } + + public void run() { + try { + if (url != null) { + mConnection = url.openConnection(proxy); + } + + // set connetion timeout + if (mConnection != null) { + mConnection.setConnectTimeout(CONNECT_TIMEOUT); + mConnection.setReadTimeout(READ_TIMEOUT); + mConnection.connect(); + } + + connectionResult = true; + } catch (ConnectException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + + } catch (NoRouteToHostException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + + } catch (SocketTimeoutException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.SERVER_CONNECTION_TIME_OUT); + + } catch (SocketException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.INTERNET_CONNECTION_ERROR); + + } catch (FileNotFoundException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.CONFIG_CANNOT_FIND_PACKAGE_LIST_FILE_IN_REPOSITORY); + + } catch (SSLHandshakeException e) { + Log.ExceptionLog(e); + ErrorController.setError(ErrorCode.NOT_SUPPORT_HTTPS_PROTOCOL); + + } catch (NoSuchElementException e) { + Log.ExceptionLog(e); + } catch (IOException e) { + Log.ExceptionLog(e); + } catch (Throwable e) { + Log.ExceptionLog(e); + } + } + + public boolean getConnectionResult() { + return connectionResult; + } + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/ErrorController.java b/InstallManager_java/src/org/tizen/installmanager/lib/ErrorController.java index 9a10891..93db158 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/ErrorController.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/ErrorController.java @@ -43,88 +43,122 @@ public class ErrorController { * */ public enum ErrorCode { - CANNOT_FIND_PACKAGE_LIST_FILE_IN_REPOSITORY("Cannot find Package.list file in repository."), - CANNOT_FIND_CONFIG_FILE("Cannot find installmanager.conf file."), - CANNOT_FIND_FILE_IN_REPOSITROY("Cannot find file in repository. The package server could be being updated."), - CANNOT_CREATE_DOWNLOAD_FILE("Cannot create file to download."), - CANNOT_CHECK_INSTLLED_FILE_LIST("Cannot check installed file list."), - CANNOT_MOVE_FILE_TO_TARGET_DIRECTORY("Cannot move file to target directory."), - CANNOT_CONNECT_TO_PROXY_SERVER("Cannot connect to proxy server."), - WRONG_PACKAGE_URL("URLs of packages are invalid."), - CANCEL("Download is canceled."), - ERROR("Error occurred from unknown cause."), - UNKNOWN_PACKAGE_EXTENSION("not supported pakckage extension"), + CANNOT_FIND_CONFIG_FILE("The installmanager.conf file not found."), + CANNOT_FIND_FILE_IN_REPOSITROY("Cannot connect to SDK package server."), + CANNOT_CREATE_DOWNLOAD_FILE("Download file cannot be created."), + CANNOT_CHECK_INSTLLED_FILE_LIST("Installed file list cannot be checked."), + CANNOT_MOVE_FILE_TO_TARGET_DIRECTORY("File cannot be moved to the target directory."), + CANNOT_CONNECT_TO_PROXY_SERVER("Proxy server connection fails."), + WRONG_PACKAGE_URL("Package URLs are invalid."), + CANCEL("Download canceled."), + ERROR("Unknown error."), + UNKNOWN_PACKAGE_EXTENSION("Package extension not supported."), INVALID_PACKAGE_VERSION("Invalid package version."), - CANNOT_FIND_INSTALLABLE_OR_REMOVABLE_PACKAGES("Cannot find installable or removable packages. The network connection might be failed."), - CANNOT_FIND_FILE_IN_LOCAL("Cannot find file in local."), - CANNOT_SAVE_CONFIG("Cannot save config file."), - CANNOT_CREATE_SHORTCUT("Cannot create shortcut."), - CANNOT_CREATE_INSTALL_LIST("Cannot create install list."), - CANNOT_CREATE_CONFIG_FILE("Cannot create config directory or files."), - CANNOT_FIND_USER_CONFIG_FILE("Cannot find user config file"), - CANNOT_REGISTER_TARGET_DIR("Cannot register a target directory"), - CANNOT_PARSING_TEXT("Cannot parsing installmanager.conf or Package.list file"), - CANNOT_SAVE_PROPERTY_FILE("Cannot save installmanager.conf or Package.file"), - CANNOT_UNPACK_PACKAGE("Cannot unpack package.zip file"), - CANNOT_CREATE_RESOURCE("Cannot create resource file."), - CANNOT_FIND_PACKAGE("Cannot find required packages. The package server might be invalid."), - CANNOT_REMOVE_PACKAGE("Cannot remove package."), - CANNOT_REMOVE_CONFLICT_PACKAGE("Cannot remove conflict package."), - CANNOT_REMOVE_MISSING_PACKAGE("Cannot remove missing package."), - CANNOT_ACCESS_FILE("Cannot access file."), - CANNOT_REMOVE_OLDSDK("Cannot remove old SDK"), - COPY_FILE_IS_FAIL("Copy file to target directory is failed."), - OLD_TIZEN_SDK_EXISTS("Old version(Tizen SDK) is installed. Remove it first and run Tizen SDK Install Manager again."), - UNSUPPORTED_PLATFORM("Platform is not supported"), - REMOVE_SCRIPT_NOT_EXISTS("Remove script not exists."), - REMOVE_SCRIPT_FATAL_ERROR("Fatal error occurred while uninstalling Tizen SDK."), - INSTALLATION_FAIL("Installation is Failed."), - INSTALL_CANCELED("Installation is canceled"), - INSTALLED_VERSION_IS_HIGH("Installed package's version is high. Cannot progress installation."), - CANNOT_CREATE_FILE("Cannot create file"), - THREAD_INTERRUPTED("Execution is interrupted"), - CIRCULAR_PACKAGE_DEPENDENCY("Circular package dependency is detected"), - + CANNOT_FIND_INSTALLABLE_OR_REMOVABLE_PACKAGES("Install or uninstall packages not found. Network connection may have failed."), + CANNOT_FIND_FILE_IN_LOCAL("Local file not found."), + CANNOT_SAVE_CONFIG("Configuration file cannot be saved."), + CANNOT_CREATE_SHORTCUT("Shortcut creation failed."), + CANNOT_CREATE_INSTALL_LIST("Install list creation failed."), + CANNOT_CREATE_CONFIG_FILE("Configuration directory or file creation failed."), + CANNOT_FIND_USER_CONFIG_FILE("User configuration file creation failed."), + CANNOT_REGISTER_TARGET_DIR("Target directory registration failed."), + CANNOT_PARSING_TEXT("Configuration file parsing failed."), + CANNOT_SAVE_PROPERTY_FILE("The installmanager.conf or Package file cannot be saved."), + CANNOT_UNPACK_PACKAGE("The package.zip file unpackaging failed."), + CANNOT_CREATE_RESOURCE("Resource file creation failed."), + CANNOT_FIND_PACKAGE("Required packages not found. The package server may be invalid."), + CANNOT_REMOVE_PACKAGE("Package removal failed."), + CANNOT_REMOVE_MISSING_PACKAGE("Missing package cannot be removed."), + CANNOT_ACCESS_FILE("File access failed."), + CANNOT_REMOVE_OLDSDK("Old SDK removal failed."), + COPY_FILE_IS_FAIL("Copying the file to the target directory failed."), + OLD_TIZEN_SDK_EXISTS("Old Tizen SDK is installed. Remove the old SDK and run the Tizen SDK Install Manager again."), + UNSUPPORTED_PLATFORM("Platform not supported."), + REMOVE_SCRIPT_NOT_EXISTS("Removal script not found."), + REMOVE_SCRIPT_FATAL_ERROR("Fatal error occurred while uninstalling the Tizen SDK."), + INSTALLATION_FAIL("Installation failed."), + INSTALL_CANCELED("Installation canceled."), + INSTALLED_VERSION_IS_HIGH("Installation progress failed due to high installed package version."), + CANNOT_CREATE_FILE("File creation failed."), + THREAD_INTERRUPTED("Thread execution interrupted."), + CIRCULAR_PACKAGE_DEPENDENCY("Circular package dependency detected."), + + //Configuration file error + CONFIG_CANNOT_PARSING_PACKAGE_LIST("Package list cannot be read. Check the repository or proxy server."), + CONFIG_CANNOT_FIND_PACKAGE_LIST_FILE_IN_REPOSITORY("Package list file not found in the repository."), + CONFIG_CANNOT_REMOVE_CONFLICT_PACKAGES("Conflict package removal failed."), + CONFIG_CANNOT_REMOVE_UPDATABLE_PACKAGES("Updatable package removal failed."), + CONFIG_CANNOT_READ_SERVER_TYPE("Server type cannot be read. Check the server type in the installmanager.conf file."), + //Package error - PACKAGE_WRONG_SIZE("Size of package is wrong."), + PACKAGE_WRONG_SIZE("Package size incorrect."), PACKAGE_WRONG_CHECKSUM("Package file checksum error."), - PACKAGE_NOT_EXIST_TO_INSTALL_OR_UNINSTALL("Installable or removable packages do not exist."), - INSTALL_SCRIPT_NOT_EXISTS("There are no install script files."), - INSTALL_SCRIPT_FATAL_ERROR("Fatal error occurred while installing Tizen SDK."), + PACKAGE_NOT_EXIST_TO_INSTALL_OR_UNINSTALL("Install or uninstall package not found."), + INSTALL_SCRIPT_NOT_EXISTS("Install script files not found."), + INSTALL_SCRIPT_FATAL_ERROR("Fatal error occurred while installing the Tizen SDK."), // Network error - INTERNET_CONNECTION_ERROR("Fail to connect to server. Please check your network status or try again with '-proxy
:'."), - PROXY_NOT_PROVIDED("Proxy setting is not provided. Use option '-proxy :'."), - PROXY_SERVER_IS_WRONG("Cannot connect to proxy server. Please check your proxy server."), - PROXY_CONNECT_ERROR("Fail to connect to your proxy server. Please check it."), - URL_SECURITY_EXCEPTION("There are some security problem with proxy."), - URL_ADDRESS_IS_WRONG("Wrong address."), - URL_PORT_IS_WRONG("Wrong port number."), - NO_ROUTE_TO_HOST("Cannot find server. Please check url."), - NOT_LOGGED_IN("Cannot login."), + INTERNET_CONNECTION_ERROR("Server connection failed. Check the network status or try again with the '-proxy
:'."), + SERVER_CONNECTION_TIME_OUT("Server connection timed out."), + PROXY_NOT_PROVIDED("Proxy setting missing. Use the '-proxy :' option."), + PROXY_SERVER_IS_WRONG("Proxy server connection failed. Check the proxy server."), + PROXY_CONNECT_ERROR("Proxy server connection failed. Check the proxy server."), + URL_SECURITY_EXCEPTION("Proxy server URL security error."), + URL_ADDRESS_IS_WRONG("Incorrect URL."), + URL_PORT_IS_WRONG("Incorrect port number."), + NO_ROUTE_TO_HOST("Server not found. Check the URL."), + NOT_LOGGED_IN("Login failed."), + NOT_SUPPORT_HTTPS_PROTOCOL("HTTPS not supported."), + + //Http Socket error message + HTTP_ERROR_MESSAGE_403("403 Forbidden is returned by http protocol. " + + "The server can be reached, but the server declined to allow access to the page."), + HTTP_ERROR_MESSAGE_401("Server requires authentication."), + + //option + WRONG_OPTION("Incorrect option. Check it."), + USESNAPSHOT_REPOSITORY_NOT_PROVIDED("Repository setting is missing. Use the '-snapShot ' option."), + REPOSITORY_NOT_PROVIDED("Repository setting is missing. Use the '-repository ' option."), + PACKAGES_NOT_PROVIDED("Repository setting is missing. Use the '-proxy ' option."), //etc - CANNOT_FIND_INSTALLED_FILE_LIST("Cannot find installed file list."), - CANNOT_REMOVE_TARGET_DIR("Cannot remove target directory."), - INSTALLATION_STOP("All packages are not installed for META package."), - UNINSTALLATION_FAIL("Uninstallation is Failed."), - FILE_NOT_FOUND("File not found"), - REMOVE_OLD_SDK_OK("Old SDK is removed OK. Please restart InstallManager."), - INVALID_INSTALL_PATH("Install path is invalid"), - USESNAPSHOT_REPOSITORY_NOT_PROVIDED("Repository setting is not provided. Use command line option '-useSnapShot '"), - REPOSITORY_NOT_PROVIDED("Repository setting is not provided. Use command line option '-repository '"), - PACKAGES_NOT_PROVIDED("Repository setting is not provided. Use command line option '-proxy '"), - DOWNLOAD_AND_EXIT("Download packages are success and exit installmanager."), - CANNOT_DOWNLOAD_FILE("Cannot download file."), - CANNOT_FIND_JAVA("Cannot find \'JAVA\'. Please check your java installation."); - - private String errorMessage; + CANNOT_FIND_INSTALLED_FILE_LIST("Installation file list not found."), + CANNOT_REMOVE_TARGET_DIR("Target directory removal failed."), + INSTALLATION_STOP("Required packages for the META package not installed."), + UNINSTALLATION_FAIL("Uninstallation failed."), + FILE_NOT_FOUND("File not found."), + REMOVE_OLD_SDK_OK("Old SDK uninstallation completed. Restart Install Manager."), + INVALID_INSTALL_PATH("Invalid installation path."), + DOWNLOAD_AND_EXIT("Packages downloaded successfully. Exit Install Manager."), + CANNOT_DOWNLOAD_FILE("File download failed."), + CANNOT_FIND_JAVA("\'JAVA\' not found. Check the java installation."), + UNKOWN_ERROR("Unknown error."), + NO_ERROR("Install Manager error. Send the log file to the Tizen SDK team."), + ERROR_TEMP("Information retrieval from the default SDK package server failed.\n In Advanced Configuration, select the package server and distribution."), + + SNAPSHOT_PATH_IS_NULL("Snapshot path missing."), + FAIL_TO_EXTRACT_SDK_IMAGE_FILE("SDK image file extraction failed."), + + //Using add extra repository dialog + SPACE_IN_REPOSITORY_NAME("Name cannot contain spaces."), + NOTHING_TO_REPOSITORY_NAME("Name must be more than 1 character long."), + HANGUL_IN_REPOSITORY_NAME("Repository name must be in English."), + WRONG_PACKAGE_SERVER("Package list files not found. Check the package list files on the package server."), + WRONG_PACKAGE_LIST_FORMAT("Mandatory field missing in the package list file."), + WRONG_URL_FORMAT_HTTP("URL must begin with 'http://'."), + WRONG_URL_FORMAT("Incorrect URL format. Enter the URL in the correct format."), + CANNOT_CONNECT_URL_ADDRESS("Connection to the URL failed. Enter the correct URL."), + PACKAGE_NOT_IN_EXTENSION_SERVER("Package file not found on the package server."), + OVERLAP_EXTENSION_REPOSITORY("Extension repository URL already exists.\nEnter a different extension repository URL."), + OVERLAP_BUILT_IN_EXTENSION_REPOSITORY("Built-in extension repository URL already exists.\nEnter a different extension repository URL."); + + private String errorMessage = ""; ErrorCode(String arg) { errorMessage = arg; } - private String getErrorMessage() { + public String getErrorMessage() { return errorMessage; } @@ -132,15 +166,13 @@ public class ErrorController { errorMessage = msg; } } + + static public boolean isInstallManagerUpdatable = false; - static private ErrorCode mErrorCode = null; + static private ErrorCode mErrorCode = ErrorCode.NO_ERROR; static private boolean mInstallationStatus = true; - - /** - * true if target directory is empty - */ - static private boolean targetDirEmpty = true; + static private String errorMsg = ""; private static int exitCode = Config.EXITCODE_NORMAL; @@ -157,21 +189,16 @@ public class ErrorController { * @return Latest error message. */ static public String getErrorMessage() { - if (mErrorCode != null) { - String errorMsg = mErrorCode.getErrorMessage(); - - return errorMsg; + if (mErrorCode != null) { + return mErrorCode.getErrorMessage(); } else { - if (checkInstallationSuccess()) { - return "No Error"; - } else { - return "Error occurred from unknown cause."; - } + return errorMsg; } } static public void setErrorMessage(String msg) { - mErrorCode.setErrorMessage(msg); + mErrorCode = null; + errorMsg = msg; } /** @@ -202,22 +229,6 @@ public class ErrorController { } /** - * @return true if some files exist in target directory. - */ - public static boolean isTargetDirEmpty() { - return targetDirEmpty; - } - - /** - * Sets some files are exist in target directory. - * - * @param isTargetDirEmpty - */ - public static void setTargetDirEmpty(boolean isTargetDirEmpty) { - ErrorController.targetDirEmpty = isTargetDirEmpty; - } - - /** * Get error message of e * @param e * @return diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/Log.java b/InstallManager_java/src/org/tizen/installmanager/lib/Log.java index e2415ba..9e99b77 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/Log.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/Log.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.lib; @@ -37,60 +37,61 @@ import java.text.SimpleDateFormat; import org.tizen.installmanager.core.Config; import org.tizen.installmanager.util.PathUtil; - /** * Manages log message. * * @author Yongsung Kim - * + * */ public class Log { private static File mLogFile; private static String newLine = ""; - + private static FileWriter objfile = null; private final static Date startTime = new Date(); private final static String logfileNameHead = "tizen_installmanager"; - private final static SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); - + // log file dir + private final static String LOG_FILE_DIRECTORY = "install-log"; static { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - newLine = "\n"; + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + newLine = "\n"; } else { - newLine = "\r\n"; + newLine = "\r\n"; } } /** - * This function must be before Logging. - * Create log file. + * This function must be before Logging. Create log file. */ public static void open() { removeTooOldLogs(); - + // open log file - mLogFile = new File(PathUtil.get(Config.CONFIG_HOME, - logfileNameHead + "_" + - new SimpleDateFormat("yyyyMMdd-HHmmss").format(startTime) + - ".log")); - + mLogFile = new File(PathUtil.get( + Config.CONFIG_HOME, + LOG_FILE_DIRECTORY, + logfileNameHead + + "_" + + new SimpleDateFormat("yyyyMMdd-HHmmss") + .format(startTime) + ".log")); File parentDir = mLogFile.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); } - + try { mLogFile.createNewFile(); } catch (IOException e) { - //log file is not create. + // log file is not create. return; } - + try { objfile = new FileWriter(mLogFile); } catch (IOException e1) { - //log file is not create. + // log file is not create. return; } @@ -100,16 +101,19 @@ public class Log { * remove logs except latest 5 logs */ private static void removeTooOldLogs() { - File confDir = new File(Config.CONFIG_HOME); + File confDir = new File(PathUtil.get( + Config.CONFIG_HOME, + LOG_FILE_DIRECTORY)); + File[] logs = confDir.listFiles(new FileFilter() { - + @Override public boolean accept(File file) { return file.getAbsolutePath().contains(logfileNameHead); } - + }); - if(logs == null) { + if (logs == null) { return; } Arrays.sort(logs, new Comparator() { @@ -118,13 +122,13 @@ public class Log { public int compare(File arg0, File arg1) { return arg0.compareTo(arg1); } - + }); - - for(int i = 0; i < logs.length-5; i++) { + + for (int i = 0; i < logs.length - 5; i++) { logs[i].delete(); } - + } /** @@ -132,7 +136,7 @@ public class Log { */ public static void close() { try { - if(objfile != null) { + if (objfile != null) { objfile.flush(); objfile.close(); } @@ -141,20 +145,20 @@ public class Log { return; } } - + /** * Logging title */ public static void LogTitle(String msg) { - if(objfile == null) { + if (objfile == null) { return; } StringBuffer bufLogTitle = new StringBuffer(); - + bufLogTitle.append("********************** "); bufLogTitle.append(msg); bufLogTitle.append(" **********************"); - + try { objfile.write(bufLogTitle.toString()); objfile.write(newLine); @@ -162,21 +166,21 @@ public class Log { } catch (IOException e) { } } - + /** * Tracing Log Method */ public static void log(String msg) { write("[Trace] " + msg); } - + /** * Error Log Method */ public static void err(String msg) { write("[Error] " + msg); } - + /** * Exception Log Method */ @@ -185,13 +189,14 @@ public class Log { PrintWriter pw = new PrintWriter(objfile); e.printStackTrace(pw); } - + /** * Write a string to logfile with timestamp + * * @param str */ private static void write(String str) { - if(objfile == null) { + if (objfile == null) { return; } @@ -201,13 +206,23 @@ public class Log { objfile.flush(); } catch (IOException e) { - } + } } - + /** * @return time string */ private static String timeStr() { - return formatter.format(new Date()); + return getTimeStr(); + } + + private static String getTimeStr() { + String timeStr = getFormatter().format(new Date()); + return timeStr; + } + + private static SimpleDateFormat getFormatter() { + SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); + return formatter; } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/NetworkProxy.java b/InstallManager_java/src/org/tizen/installmanager/lib/NetworkProxy.java index 869ec1e..941c3c9 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/NetworkProxy.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/NetworkProxy.java @@ -8,6 +8,9 @@ import java.net.URISyntaxException; import java.net.URL; import java.util.List; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.lib.ErrorController.ErrorCode; + /** * @@ -17,9 +20,10 @@ import java.util.List; * @author Shihyun Kim * */ -public class NetworkProxy { - private static NetworkProxy netProxy = null; +public class NetworkProxy{ + public static boolean useProxy = true; + private static NetworkProxy netProxy = null; private static final String PROXY_PROPERTY = "java.net.useSystemProxies"; //member variable @@ -29,23 +33,6 @@ public class NetworkProxy { proxySelector = selector; } - private NetworkProxy() { - String proxyPropertyBefore = System.getProperty(PROXY_PROPERTY); - /* - * "useSystemProxies" property set true. - * because get the system proxy in ProxySelector class. - */ - System.setProperty(PROXY_PROPERTY, "true"); - - proxySelector = ProxySelector.getDefault(); - - if (proxyPropertyBefore != null) { - System.setProperty(PROXY_PROPERTY, proxyPropertyBefore); - } else { - System.setProperty(PROXY_PROPERTY, "null"); - } - } - /** * Get proxy list from url parameter. * @param url @@ -72,18 +59,22 @@ public class NetworkProxy { return null; } + Log.log("proxy select uri => " + uri.toString()); try { - return proxySelector.select(uri); - + if (proxySelector == null) { + return ProxySelector.getDefault().select(uri); + } else { + return proxySelector.select(uri); + } } catch (IllegalArgumentException e) { Log.ExceptionLog(e); return null; } catch (Exception e) { Log.ExceptionLog(e); return null; - } + } } /** @@ -91,7 +82,7 @@ public class NetworkProxy { * @param url is connected by proxy. * @return Direct proxy instance. */ - public Proxy getHttpDirectProxy(URL url) { + public static Proxy getHttpDirectProxy(URL url) { String host = url.getHost(); int port = url.getPort(); if (port < 0) { @@ -102,12 +93,41 @@ public class NetworkProxy { return directProxy; } - public static NetworkProxy getInstance() { - if (netProxy == null) { - netProxy = new NetworkProxy(); + /** + * Get system proxy list to connect. + * @param url + * @return + */ + public static List getSystemProxyList(URL url) { + String proxyPropertyBefore = System.getProperty(PROXY_PROPERTY); + /* + * "useSystemProxies" property set true. + * because get the system proxy in ProxySelector class. + */ + System.setProperty(PROXY_PROPERTY, "true"); + + NetworkProxy netProxy = NetworkProxy.getInstance(ProxySelector.getDefault()); + + // get system proxy from NetworkProxy class + List proxyList = null; + try { + proxyList = netProxy.select(url.toURI()); + } catch (URISyntaxException e) { + Log.ExceptionLog(e); } - return netProxy; + if (proxyPropertyBefore != null) { + System.setProperty(PROXY_PROPERTY, proxyPropertyBefore); + } else { + System.setProperty(PROXY_PROPERTY, "null"); + } + + if (proxyList == null) { + throw new IMFatalException(ErrorCode.INTERNET_CONNECTION_ERROR); + } else { + Log.log("Proxy list => " + proxyList); + return proxyList; + } } public static NetworkProxy getInstance(ProxySelector selector) { diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/OldRegistry.java b/InstallManager_java/src/org/tizen/installmanager/lib/OldRegistry.java index 88b7ae2..541c939 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/OldRegistry.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/OldRegistry.java @@ -147,7 +147,7 @@ public class OldRegistry{ } private String getTargetPathFromWindowsRegistry(RegistryInfo info) { - if (Platform.CURRENT_PLATFORM != Platform.WINDOWS) { + if (Platform.CURRENT_PLATFORM != Platform.WINDOWS_32) { return null; } @@ -168,7 +168,7 @@ public class OldRegistry{ private String getPathFromRegistryKey(String path, String registryKey) { File file = new File(path); - if (!file.exists()) { + if (!file.exists() || !file.isFile()) { return ""; } @@ -193,13 +193,35 @@ public class OldRegistry{ result = readLine.substring(startChar+1); } } - fis.close(); - isr.close(); - br.close(); + return result; } catch (IOException ioe) { Log.err("OldRegistry.getPathFromRegistryKey() Cannot read install path from .tizensdk file => " + path + ", " + registryKey); throw new IMFatalException("Cannot read install path from .tizensdk file"); + } finally { + if (br != null) { + try { + br.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + + if (isr != null) { + try { + isr.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + + if (fis != null) { + try { + fis.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } } } @@ -208,7 +230,10 @@ public class OldRegistry{ */ public void remove() { Log.log("Remove Old SDK start"); - if(Platform.CURRENT_PLATFORM == Platform.LINUX) { + if(Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + try { File script = PathUtil.getTempFileFromResource("/res/desktop_directory/removeOldSDK.sh", "removeOldSDK", ".sh"); script.setExecutable(true); @@ -224,7 +249,8 @@ public class OldRegistry{ Log.ExceptionLog(e); throw new IMFatalException(ErrorCode.CANNOT_REMOVE_OLDSDK); } - } else if(Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if(Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { WindowsRegistry.removeRegistry("slpsdk-installpath"); WindowsRegistry.removeRegistry("tizensdk-installpath"); @@ -234,7 +260,8 @@ public class OldRegistry{ Map env = new HashMap(); env.put("INSTALLED_PATH", getOldTargetPath()); try { - ShellUtil.execute("wscript.exe " + script.getAbsolutePath(), env, null, new LoggerShellParser()); + String command = ShellUtil.addInterpreter(script.getAbsolutePath()); + ShellUtil.execute(command, env, null, new LoggerShellParser()); } catch (IMShellCommandFail e) { Log.ExceptionLog(e); throw new IMFatalException(ErrorCode.CANNOT_REMOVE_OLDSDK); diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/Platform.java b/InstallManager_java/src/org/tizen/installmanager/lib/Platform.java index f604df2..8fc88df 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/Platform.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/Platform.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.lib; @@ -32,59 +32,126 @@ import org.tizen.installmanager.util.PathUtil; /** * Check the platform. + * * @author Shihyun Kim - * + * */ public class Platform { + + // Code for each OS and bits + public static final int UNKNOWN = 0; + public static final int LINUX_32 = 1; // for normal Linux + public static final int LINUX_64 = 1 << 2; + public static final int WINDOWS_32 = 1 << 3; // for MS Windows + public static final int WINDOWS_64 = 1 << 4; + public static final int MACOS_32 = 1 << 5; // for Apple MacOS + public static final int MACOS_64 = 1 << 6; + public static final int UBUNTU_32 = 1 << 7; // for Ubuntu Linux + public static final int UBUNTU_64 = 1 << 8; - public static final int UNKNOWN = 0; - public static final int LINUX = 1; - public static final int WINDOWS = 2; - public static final int MAC_OS = 3; + // Code for generic OS + public static final int GENERIC_LINUX = LINUX_32 | LINUX_64 | UBUNTU_32 | UBUNTU_64; + public static final int GENERIC_WINDOWS = WINDOWS_32 | WINDOWS_64; + public static final int GENERIC_MACOS = MACOS_32 | MACOS_64; + public static final int GENERIC_UBUNTU = UBUNTU_32 | UBUNTU_64; + public static final int CURRENT_PLATFORM = getCurrentPlatform(); public static final String CURRENT_CHARSET = getCurrentCharset(); - + + //data model + public static final String DATA_MODEL_32 = "32"; + public static final String DATA_MODEL_64 = "64"; /** - * Get current platform. - * UNKOWN = 0, - * LINUX = 1, - * WINDOWS = 2, - * MAC_OS = 3 + * Get current platform. UNKOWN = 0, LINUX = 1, WINDOWS = 2, MAC_OS = 3 + * TODO must check ubuntu or fedora. + * * @return */ - private static int getCurrentPlatform() { - String os = System.getProperty("os.name"); + private static int getCurrentPlatform() { + String os = System.getProperty("os.name"); + String dataModel = System.getProperty("sun.arch.data.model"); - if (os.startsWith("Linux")) { - return LINUX; - } else if (os.startsWith("Windows")) { - return WINDOWS; - } else if (os.startsWith("Mac OS")) { - return MAC_OS; - } - - throw new RuntimeException("unknown Platform - " + os); - } + if (os.startsWith("Linux")) { + if (dataModel.equals(DATA_MODEL_32)) { + return LINUX_32; + } else if (dataModel.equals(DATA_MODEL_64)) { + return LINUX_64; + } + } else if (os.startsWith("Windows")) { + if (dataModel.equals(DATA_MODEL_32)) { + return WINDOWS_32; + } else if (dataModel.equals(DATA_MODEL_64)) { + return WINDOWS_64; + } + } else if (os.startsWith("Mac OS")) { + return MACOS_64; + } + + throw new RuntimeException("unknown Platform - " + os); + } - private static String getCurrentCharset() { - return System.getProperty("sun.jnu.encoding"); - } + private static String getCurrentCharset() { + return System.getProperty("sun.jnu.encoding"); + } - /** - * @return platform information - */ - public static String getPlatformInfo() { - String info = ""; - info = info + "OS Name: " + System.getProperty("os.name") + "\n"; - info = info + "OS Version: " + System.getProperty("os.version") + "\n"; - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + /** + * @return platform information + */ + public static String getPlatformInfo() { + String info = ""; + info = info + "OS Name: " + System.getProperty("os.name") + "\n"; + info = info + "OS Version: " + System.getProperty("os.version") + "\n"; + info = info + "Data Model: " + System.getProperty("sun.arch.data.model") + "\n"; + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32) { String filePath = "/etc/lsb-release"; info = info + PathUtil.readAllTextFromFile(filePath) + "\n"; } - info = info + "java : " + System.getProperty("java.runtime.name") + "\n"; - info = info + "vm version : " + System.getProperty("java.vm.version") + "\n"; - + info = info + "java : " + System.getProperty("java.runtime.name") + + "\n"; + info = info + "vm version : " + System.getProperty("java.vm.version") + + "\n"; + return info; - } + } + + + /** + * Check whether current platform is linux. + * @return If current platform is linux, return true. If not, return false + */ + public static boolean isLinux() + { + return ( CURRENT_PLATFORM & GENERIC_LINUX ) > 0; + } + + /** + * Check whether current platform is Ubuntu, but not implemented yet. + * TODO must implement soon. + * @return If current platform is Ubunut, return true. If not, return false + */ + public static boolean isUbuntu() + { + return isLinux(); + } + + + /** + * Check whether current platform is MacOS. + * @return If current platform is MacOS, return true. If not, return false + */ + public static boolean isMacOS() + { + return ( CURRENT_PLATFORM & GENERIC_MACOS ) > 0; + } + + + /** + * Check whether current platform is linux. + * @return If current platform is MacOS, return true. If not, return false + */ + public static boolean isWindows() + { + return ( CURRENT_PLATFORM & GENERIC_WINDOWS ) > 0; + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/ProgramController.java b/InstallManager_java/src/org/tizen/installmanager/lib/ProgramController.java index b21ca58..d115e15 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/ProgramController.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/ProgramController.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.lib; @@ -35,72 +35,90 @@ import java.util.Map; import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.lib.linux.LinuxProgramController; +import org.tizen.installmanager.lib.mac.MacProgramController; import org.tizen.installmanager.lib.win.WindowsProgramController; - /** * Manages process. * * @author Shihyun Kim - * + * */ abstract public class ProgramController { - - private static LinuxProgramController mLinuxController = new LinuxProgramController(); - private static WindowsProgramController mWindowsController = new WindowsProgramController(); - + + private static LinuxProgramController linuxController = new LinuxProgramController(); + private static WindowsProgramController windowsController = new WindowsProgramController(); + private static MacProgramController macController = new MacProgramController(); + /** * Terminates running SDK processes */ abstract public void terminateRunningProgram(); + /** * @return list of pid strings. */ abstract public List getSDKPidList(); + /** * Checks if SDK processes are running - * @return true if at least one SDK process is running + * + * @return true if at least one SDK process is running */ abstract public boolean runningProgramExists(); + /** * Removes unpack directory + * * @return true if success */ abstract public boolean removeSDKTempDir(); - - /** - * Get instance in accordance with platform - * @return - */ - public static ProgramController createProgramController() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - if (mLinuxController == null) { - mLinuxController = new LinuxProgramController(); - } - return mLinuxController; - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - if (mWindowsController == null) { - mWindowsController = new WindowsProgramController(); - } - return mWindowsController; - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } - } - - /** - * set environment variable. - * @param environmentSet save key and value to environmentSet. - * @param key - * @param value - * @return environmentSet. - */ - public static Map setEnvironmentVariable(Map environmentSet, String key, String value) { - if (environmentSet == null) { - environmentSet = new HashMap(); - } else {} - - environmentSet.put(key, value); - return environmentSet; + + /** + * Get instance in accordance with platform + * + * @return + */ + public static ProgramController createProgramController() { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + if (linuxController == null) { + linuxController = new LinuxProgramController(); + } + return linuxController; + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + if (windowsController == null) { + windowsController = new WindowsProgramController(); + } + return windowsController; + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + if (macController == null) { + macController = new MacProgramController(); + } + return macController; + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } + } + + /** + * set environment variable. + * + * @param environmentSet + * save key and value to environmentSet. + * @param key + * @param value + * @return environmentSet. + */ + public static Map setEnvironmentVariable( + Map environmentSet, String key, String value) { + if (environmentSet == null) { + environmentSet = new HashMap(); + } else { + } + + environmentSet.put(key, value); + return environmentSet; } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/Registry.java b/InstallManager_java/src/org/tizen/installmanager/lib/Registry.java index 90d4df9..c9f1902 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/Registry.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/Registry.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.lib; @@ -41,132 +41,228 @@ import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.util.PathUtil; - /** * Manages target path to the registry file. + * * @author Shihyun Kim - * + * */ public class Registry { - public static final String REGISTRY_FILE_NAME = "tizensdkpath"; - public static final String REGISTRY_FILE_PATH = PathUtil.get(Config.CONFIG_HOME, REGISTRY_FILE_NAME); - public static final String INSTALLED_PATH_KEY = "TIZEN_SDK_INSTALLED_PATH"; - - private static final OldRegistry oldRegistry = new OldRegistry(); - /** - * Exports target path to the registry file. - * @param targetPath - */ - public static void exportInstallPath(String targetPath) { - if (targetPath == null || targetPath.isEmpty()) { - Log.err("Install path is invalid: "+targetPath+". This might be a bug of IM"); - throw new IMFatalException(ErrorCode.INVALID_INSTALL_PATH); - } - - String parameter = INSTALLED_PATH_KEY + "=" + targetPath; - - File file = new File(REGISTRY_FILE_PATH); - - if (file.exists()) { - file.delete(); - } - file.getParentFile().mkdirs(); - - try { - file.createNewFile(); + //installed path. + private static final String REGISTRY_FILE_NAME = "tizensdkpath"; + private static final String REGISTRY_FILE_PATH = PathUtil.get( + Config.CONFIG_HOME, REGISTRY_FILE_NAME); + private static final String INSTALLED_PATH_KEY = "TIZEN_SDK_INSTALLED_PATH"; + + //installed version + private static final String INSTALLED_VERSION_FILE_NAME = "version"; + private static final String INSTALLED_VERSION_FILE_PATH = PathUtil.get( + Config.CONFIG_HOME, INSTALLED_VERSION_FILE_NAME); + private static final String INSTALLED_VERSION_KEY = "INSTALLED_VERSION"; + + //registry information seperator + private static final String REGISTRY_SEPERATOR = "="; + + /** + * Exports target path to the registry file. + * + * @param targetPath + */ + public static void exportInstallPath(String targetPath) { + if (targetPath == null || targetPath.isEmpty()) { + Log.err("Install path is invalid: " + targetPath + + ". This might be a bug of IM"); + throw new IMFatalException(ErrorCode.INVALID_INSTALL_PATH); + } + + String parameter = INSTALLED_PATH_KEY + REGISTRY_SEPERATOR + targetPath; + + File installedPathFile = null; + try { + installedPathFile = PathUtil.makeNewFile(REGISTRY_FILE_PATH); } catch (IOException e) { - Log.err("Cannot create file. "+file.getAbsolutePath()); - throw new IMFatalException(ErrorCode.CANNOT_REGISTER_TARGET_DIR); + Log.ExceptionLog(e); + return; } - - BufferedWriter bw = null; - try { - FileWriter fw = new FileWriter(file); - bw = new BufferedWriter(fw); - bw.write(parameter); - bw.flush(); - - } catch (Exception e) { - Log.err("Cannot register to file. "+file.getAbsolutePath()); + + if (installedPathFile == null) { + return; + } + + BufferedWriter bw = null; + try { + FileWriter fw = new FileWriter(installedPathFile); + bw = new BufferedWriter(fw); + bw.write(parameter); + bw.flush(); + + } catch (Exception e) { + Log.err("Cannot register to file. " + installedPathFile.getAbsolutePath()); throw new IMFatalException(ErrorCode.CANNOT_REGISTER_TARGET_DIR); - - } finally { - if (bw != null) { - try { + + } finally { + if (bw != null) { + try { bw.close(); - + } catch (IOException e) { - // TODO Auto-generated catch block Log.ExceptionLog(e); } + } + } + } + + /** + * @return path in which SDK is installed. empty string if not found. + */ + public static String getInstalledPath() { + return getPathFromRegistryKey(REGISTRY_FILE_PATH, INSTALLED_PATH_KEY); + } + + private static String getPathFromRegistryKey(String path, String registryKey) { + File file = new File(path); + + if (!file.exists()) { + return ""; + } + + FileInputStream fis = null; + InputStreamReader isr = null; + BufferedReader br = null; + + String readLine; + String result = ""; + try { + fis = new FileInputStream(file); + isr = new InputStreamReader(fis); + br = new BufferedReader(isr); + + while ((readLine = br.readLine()) != null) { + if (readLine.startsWith(registryKey)) { + int startChar = readLine.indexOf("="); + if (startChar == -1) { + Log.err("OldRegistry.getPathFromRegistryKey() Invalid registry file => " + + path + ", " + registryKey); + throw new IMFatalException("Invalid registry file"); + } + result = readLine.substring(startChar + 1); + } + } + + return result; + } catch (IOException ioe) { + Log.err("OldRegistry.getPathFromRegistryKey() Cannot read install path from .tizensdk file => " + + path + ", " + registryKey); + throw new IMFatalException( + "Cannot read install path from .tizensdk file"); + } finally { + if (br != null) { + try { + br.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + + if (isr != null) { + try { + isr.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } } - } - } - - /** - * @return path in which SDK is installed. empty string if not found. - */ - public static String getInstalledPath() { - return getPathFromRegistryKey(REGISTRY_FILE_PATH, INSTALLED_PATH_KEY); - } - - private static String getPathFromRegistryKey(String path, String registryKey) { - File file = new File(path); - - if (!file.exists()) { - return ""; - } - FileInputStream fis = null; - InputStreamReader isr = null; - BufferedReader br = null; - - String readLine; - String result = ""; - try { - fis = new FileInputStream(file); - isr = new InputStreamReader(fis); - br = new BufferedReader(isr); - - while ((readLine = br.readLine()) != null) { - if (readLine.startsWith(registryKey)) { - int startChar = readLine.indexOf("="); - if(startChar == -1) { - Log.err("OldRegistry.getPathFromRegistryKey() Invalid registry file => " + path + ", " + registryKey); - throw new IMFatalException("Invalid registry file"); - } - result = readLine.substring(startChar+1); - } + if (fis != null) { + try { + fis.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } } - fis.close(); - isr.close(); - br.close(); - return result; - } catch (IOException ioe) { - Log.err("OldRegistry.getPathFromRegistryKey() Cannot read install path from .tizensdk file => " + path + ", " + registryKey); - throw new IMFatalException("Cannot read install path from .tizensdk file"); } - } - - /** - * remove target path in the registry file. - */ - public static void removeRegistry() { - File file = new File(REGISTRY_FILE_PATH); - - if (file.exists()) { - file.delete(); - } - } - - /** - * @return true if old sdk(Tizen SDK) is installed. - */ - public static boolean isOldSDKInstalled() { - if (oldRegistry.exists()) { - return true; - } else { - return false; - } - } + } + + /** + * remove target path in the registry file. + */ + public static void removeRegistry() { + File file = new File(REGISTRY_FILE_PATH); + + if (file.exists()) { + file.delete(); + } + + removeOldFiles(); + } + + /** + * Save installed version. + */ + public static void saveInstallVersion(String version) { + File versionFile = null; + try { + versionFile = PathUtil.makeNewFile(INSTALLED_VERSION_FILE_PATH); + } catch (IOException e) { + Log.ExceptionLog(e); + return; + } + + if (versionFile == null) { + return; + } + + + BufferedWriter bw = null; + try { + FileWriter fw = new FileWriter(versionFile); + bw = new BufferedWriter(fw); + + String versionInformation = INSTALLED_VERSION_KEY + REGISTRY_SEPERATOR + version; + bw.write(versionInformation); + bw.flush(); + + } catch (Exception e) { + Log.ExceptionLog(e); + throw new IMFatalException(ErrorCode.CANNOT_REGISTER_TARGET_DIR); + + } finally { + if (bw != null) { + try { + bw.close(); + + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + } + } + + /** + * Get installed version. + * @return + */ + public static String getInstalledVersion() { + return getPathFromRegistryKey(INSTALLED_VERSION_FILE_PATH, INSTALLED_VERSION_KEY); + } + + public static boolean isInstallManagerInstalled() { + String installedPath = getInstalledPath(); + + if (installedPath == null || installedPath.isEmpty()) { + return false; + } else { + return true; + } + } + + /** + * Temporary code to update. + */ + private static void removeOldFiles() { + File file = new File(Config.OLD_CONFIG_HOME); + + if (file.exists()) { + PathUtil.remove(file); + } + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/SDKPackageFormat.java b/InstallManager_java/src/org/tizen/installmanager/lib/SDKPackageFormat.java index 7f1f5fe..e24abbd 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/SDKPackageFormat.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/SDKPackageFormat.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.lib; @@ -39,45 +39,53 @@ import org.tizen.installmanager.lib.linux.LinuxSDKPackageFormat; import org.tizen.installmanager.lib.win.WindowsSDKPackageFormat; import org.tizen.installmanager.util.PathUtil; - /** * Manages to unpack package of tizen sdk. + * * @author Shihyun Kim - * + * */ public abstract class SDKPackageFormat { protected FileOutputStream mFileOutput = null; protected final String SDK_PACKAGE_ZIP_EXTENTION = ".zip"; protected final String SDK_PACKAGE_TAR_GZ_EXTENTION = ".gz"; - - public enum PackageType {ELSE, ZIP, TAR_GZ}; - - protected final static int ERROR = -1; - protected final static int SUCCESS = 1; - - //abstract method - /** - * Unzip package. - * @param fileFullPath Absolute path of package file. - * @param targetDir - * @param monitor - * @return - */ - protected abstract long unZip(File fileFullPath, File targetDir, IIMProgressMonitor monitor); - + + public enum PackageType { + ELSE, ZIP, TAR_GZ + }; + + protected final static int ERROR = -1; + protected final static int SUCCESS = 1; + + // abstract method + /** + * Unzip package. + * + * @param fileFullPath + * Absolute path of package file. + * @param targetDir + * @param monitor + * @return + */ + protected abstract long unZip(File fileFullPath, File targetDir, + IIMProgressMonitor monitor); + /** * unzip SDK package to target directory + * * @param fileFullPath * @param targetDir * @param monitor * @return */ - public long unZip(String fileFullPath, String targetDir, IIMProgressMonitor monitor) { + public long unZip(String fileFullPath, String targetDir, + IIMProgressMonitor monitor) { return unZip(new File(fileFullPath), new File(targetDir), monitor); } - + /** * get package extension type + * * @param fileFullPath * @return package extension */ @@ -92,73 +100,80 @@ public abstract class SDKPackageFormat { return PackageType.ELSE; } } - + /** - * set FileOutput instance - * It will be used to save installing file list. - * @param installedListFilePath file path that save installing file list. + * set FileOutput instance It will be used to save installing file list. + * + * @param installedListFilePath + * file path that save installing file list. */ public void setFileOutput(String installedListFilePath) { - setFileOutput(new File(installedListFilePath)); - } - + setFileOutput(new File(installedListFilePath)); + } + /** - * set FileOutput instance - * It will be used to save installing file list. - * @param installedListFilePath file path that save installing file list. + * set FileOutput instance It will be used to save installing file list. + * + * @param installedListFilePath + * file path that save installing file list. */ - public void setFileOutput(File installedListFile) { - if (installedListFile == null) { - return; - } - - if (installedListFile.exists()) { - installedListFile.delete(); - } - - File installedListDir = installedListFile.getParentFile(); - if (!installedListDir.exists()) { - installedListDir.mkdirs(); - } - - try { + public void setFileOutput(File installedListFile) { + if (installedListFile == null) { + return; + } + + if (installedListFile.exists()) { + installedListFile.delete(); + } + + File installedListDir = installedListFile.getParentFile(); + if (!installedListDir.exists()) { + installedListDir.mkdirs(); + } + + try { installedListFile.createNewFile(); } catch (IOException e) { throw new IMFatalException(ErrorCode.CANNOT_CREATE_INSTALL_LIST); } - + try { mFileOutput = new FileOutputStream(installedListFile); } catch (FileNotFoundException e) { throw new IMFatalException(ErrorCode.CANNOT_CREATE_INSTALL_LIST); } - } - - /** - * Close FileOutput instance. - */ - public void closeFileOutput() { - if (mFileOutput != null) { - try { + } + + /** + * Close FileOutput instance. + */ + public void closeFileOutput() { + if (mFileOutput != null) { + try { mFileOutput.close(); } catch (IOException e) { Log.err("SDKPackageFormat fail to close output stream."); } mFileOutput = null; - } - } - - /** - * Get SDKPackageFormat instance. - * @return - */ + } + } + + /** + * Get SDKPackageFormat instance. + * + * @return + */ public static SDKPackageFormat createSDKPackageFormat() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return new LinuxSDKPackageFormat(); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { - return new WindowsSDKPackageFormat(); - } else { - throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); - } + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return new LinuxSDKPackageFormat(); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + return new WindowsSDKPackageFormat(); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + return new LinuxSDKPackageFormat(); + } else { + throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); + } } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/StartMenu.java b/InstallManager_java/src/org/tizen/installmanager/lib/StartMenu.java index a67a029..694ff30 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/StartMenu.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/StartMenu.java @@ -51,20 +51,28 @@ public class StartMenu { private static final String INSTALLMANAGER_ICON_RESOURCE_PATH = "/res/desktop_directory/"+INSTALLMANAGER_ICON; private static String getMenuIcon() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { return "tizen-sdk-menu.png"; - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { return "tizen-sdk-menu.ico"; + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64){ + return ""; } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } } private static String getInstallManagerIcon() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { return "tizen-sdk-installmanager.png"; - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { return "tizen-sdk-installmanager.ico"; + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + return ""; } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxFileSystemInfo.java b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxFileSystemInfo.java index c2f5fb8..440c04c 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxFileSystemInfo.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxFileSystemInfo.java @@ -37,6 +37,7 @@ import java.util.List; import java.util.StringTokenizer; import org.tizen.installmanager.lib.IFileSystemInformation; +import org.tizen.installmanager.lib.Log; /** @@ -50,12 +51,15 @@ public class LinuxFileSystemInfo implements IFileSystemInformation { @Override public List getListMounts() { List mountList = new ArrayList(); + BufferedReader reader = null; + InputStreamReader ipStream = null; try { Process p=Runtime.getRuntime().exec("df -k"); p.waitFor(); - BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); + ipStream = new InputStreamReader(p.getInputStream()); + reader = new BufferedReader(ipStream); String line = reader.readLine(); String partition = ""; @@ -80,10 +84,26 @@ public class LinuxFileSystemInfo implements IFileSystemInformation { mountList.remove(0); } catch(IOException e1) { - + Log.ExceptionLog(e1); } catch(InterruptedException e2) { + Log.ExceptionLog(e2); + } finally { + if (ipStream != null) { + try { + ipStream.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } - } + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + } return mountList; } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxProgramController.java b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxProgramController.java index d700561..85a7cba 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxProgramController.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxProgramController.java @@ -74,24 +74,45 @@ public class LinuxProgramController extends ProgramController{ * @return */ private boolean isSDKProcess(int pid) { + Log.log("Check running process for sdk."); + if (checkCommandLine(pid) || checkExecutePath(pid)) { + return true; + } else { + return false; + } + } + + private boolean checkCommandLine(int pid) { + String pidCmd = "cat -A /proc/" + pid + "/cmdline"; + + ShellParser parser = new ShellParser(); + try { + ShellUtil.execute(pidCmd, parser); + } catch (IMShellCommandFail e) { + Log.ExceptionLog(e); + // ignore + return false; + } + + String output = parser.getStdout(); + + return isProcessRunningInInstalledPath(output); + } + + private boolean checkExecutePath(int pid) { String pidCmd = "readlink -m /proc/" + pid + "/exe"; - ShellParser parser = new ShellParser(); - try { - ShellUtil.execute(pidCmd, parser); - } catch (IMShellCommandFail e) { - Log.ExceptionLog(e); - // ignore - return false; - } - String output = parser.getStdout(); - if (output.toString().indexOf(Registry.getInstalledPath()) >= 0) { - if (!isInstallManager(output)) { - Log.log("readlink process => " + output); - return true; - } - } + ShellParser parser = new ShellParser(); + try { + ShellUtil.execute(pidCmd, parser); + } catch (IMShellCommandFail e) { + Log.ExceptionLog(e); + // ignore return false; + } + + String output = parser.getStdout(); + return isProcessRunningInInstalledPath(output); } public List getSDKPidList() { @@ -120,6 +141,17 @@ public class LinuxProgramController extends ProgramController{ return listSDKPIDs; } + private boolean isProcessRunningInInstalledPath(String output) { + if (output.toString().indexOf(Registry.getInstalledPath()) >= 0) { + if (!isInstallManager(output)) { + Log.log("readlink exe for process => " + output); + return true; + } + } + + return false; + } + /** * @param path * @return true if the path includes the install manager filename @@ -127,7 +159,8 @@ public class LinuxProgramController extends ProgramController{ private boolean isInstallManager(String path) { String fileName = PathUtil.getFileName(path); - if (fileName.equalsIgnoreCase(Config.INSTALL_MANAGER_FILE_NAME)) { + if (fileName.startsWith(Config.INSTALL_MANAGER_FILE_NAME) + || fileName.equalsIgnoreCase(Config.INSTALL_MANAGER_BINARY)) { return true; } else { return false; diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxSDKPackageFormat.java b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxSDKPackageFormat.java index fe29eed..364225c 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxSDKPackageFormat.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/linux/LinuxSDKPackageFormat.java @@ -136,7 +136,7 @@ public class LinuxSDKPackageFormat extends SDKPackageFormat{ throw new IMShellCommandFail(); case 2: Log.err("a generic error in the zipfile format was detected. Processing may have completed" + - "success‐fully anyway; some broken zipfiles created by other archivers have simple work-arounds."); + "successfully anyway; some broken zipfiles created by other archivers have simple work-arounds."); throw new IMShellCommandFail(); case 3: Log.err("a severe error in the zipfile format was detected. Processing probably failed immediately."); @@ -145,7 +145,7 @@ public class LinuxSDKPackageFormat extends SDKPackageFormat{ Log.err("unzip was unable to allocate memory for one or more buffers during program initialization."); throw new IMShellCommandFail(); case 5: - Log.err("unzip was unable to allocate memory or unable to obtain a tty to read the decryption pass‐word(s)."); + Log.err("unzip was unable to allocate memory or unable to obtain a tty to read the decryption password(s)."); throw new IMShellCommandFail(); case 6: Log.err("unzip was unable to allocate memory during decompression to disk."); diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/mac/MacProgramController.java b/InstallManager_java/src/org/tizen/installmanager/lib/mac/MacProgramController.java new file mode 100644 index 0000000..3152379 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/lib/mac/MacProgramController.java @@ -0,0 +1,33 @@ +package org.tizen.installmanager.lib.mac; + +import java.util.List; + +import org.tizen.installmanager.lib.ProgramController; + +public class MacProgramController extends ProgramController{ + + @Override + public void terminateRunningProgram() { + // TODO Auto-generated method stub + + } + + @Override + public List getSDKPidList() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean runningProgramExists() { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean removeSDKTempDir() { + // TODO Auto-generated method stub + return false; + } + +} diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsProgramController.java b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsProgramController.java index 3fa0169..406ade7 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsProgramController.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsProgramController.java @@ -30,9 +30,7 @@ package org.tizen.installmanager.lib.win; import java.io.File; import java.io.IOException; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.tizen.installmanager.core.Config; import org.tizen.installmanager.lib.Log; @@ -55,7 +53,6 @@ public class WindowsProgramController extends ProgramController{ private final String VBSCRIPT_NAME_OF_CHECKING_RUNNING_PROGRAM = "checkRunningTaskList"; private final String VBSCRIPT_EXTENTION_OF_CHECKING_RUNNING_PROGRAM = ".vbs"; -// private List mPIDList = null; @Override public void terminateRunningProgram() { @@ -70,6 +67,9 @@ public class WindowsProgramController extends ProgramController{ // ignore kill failure } } + + findAndKillEmulatorManagerProcess(); + findAndKillWebSimulator(); } @Override @@ -127,42 +127,95 @@ public class WindowsProgramController extends ProgramController{ * @return trueif success */ public static boolean removeRunningDir(String targetDir) { - Log.log("WindowsProgramController.removeRunningDir() start"); +// Log.log("WindowsProgramController.removeRunningDir() start"); +// +// File targetFile = new File(targetDir); +// if (!targetFile.exists()) { +// Log.log("Target directory does not exist => " + targetDir); +// return true; +// } +// +// try { +// File removeScriptFile = PathUtil.getTempFileFromResource("/res/installmanager/removetizentemp.bat", "removetizentemp", ".bat", false); +// +// Map env = setRemoveDirEnvironment(targetDir, removeScriptFile.getAbsolutePath()); +// +// Process proc = ShellUtil.asyncExecute(removeScriptFile.getAbsolutePath() +// , env +// , new File(PathUtil.getTempDir()) +// , new ShellParser(false)); +// +// if (proc != null) { +// return true; +// } else { +// return false; +// } +// } catch (IOException e) { +// Log.err("removetizentemp.bat file doesn't exist"); +// return false; +// } + return true; + } + +// private static Map setRemoveDirEnvironment(String targetDir, String removeScript) { +// Map env = new HashMap(); +// +// setEnvironmentVariable(env, "TARGET_DIR", targetDir); +// setEnvironmentVariable(env, "REMOVE_SCRIPT_PATH", removeScript); +// +// return env; +// } + + private void findAndKillEmulatorManagerProcess() { + ShellParser parser = new ShellParser(); + try { + ShellUtil.execute("tasklist /FI \"WINDOWTITLE eq Emulator Manager\" /FO csv /NH", parser); + } catch (IMShellCommandFail e) { + Log.ExceptionLog(e); + return; + } - File targetFile = new File(targetDir); - if (!targetFile.exists()) { - Log.log("Target directory does not exist => " + targetDir); - return true; + String pid = getPidFromOutput(parser.getStdout()); + + String command = "TASKKILL /F /PID " + pid; + try { + ShellUtil.execute(command); + } catch (IMShellCommandFail e) { + Log.err("Failed to kill "+pid); + // ignore kill failure } - try { - File removeScriptFile = PathUtil.getTempFileFromResource("/res/installmanager/removetizentemp.bat", "removetizentemp", ".bat", false); - - Map env = setRemoveDirEnvironment(targetDir, removeScriptFile.getAbsolutePath()); - - Process proc = ShellUtil.asyncExecute(removeScriptFile.getAbsolutePath() - , env - , new File(PathUtil.getTempDir()) - , new ShellParser(false)); - - if (proc != null) { - return true; - } else { - return false; - } - } catch (IOException e) { - Log.err("removetizentemp.bat file doesn't exist"); - return false; + } + + private void findAndKillWebSimulator() { + ShellParser parser = new ShellParser(); + try { + ShellUtil.execute("tasklist /FI \"WINDOWTITLE eq Web Simulator\" /FO csv /NH", parser); + } catch (IMShellCommandFail e) { + Log.ExceptionLog(e); + return; + } + + String pid = getPidFromOutput(parser.getStdout()); + + String command = "TASKKILL /F /PID " + pid; + try { + ShellUtil.execute(command); + } catch (IMShellCommandFail e) { + Log.err("Failed to kill "+pid); + // ignore kill failure } + } - private static Map setRemoveDirEnvironment(String targetDir, String removeScript) { - Map env = new HashMap(); - - setEnvironmentVariable(env, "TARGET_DIR", targetDir); - setEnvironmentVariable(env, "REMOVE_SCRIPT_PATH", removeScript); - - return env; + private String getPidFromOutput(String output) { + String[] info = output.split(","); + + if (info.length < 2) { + return ""; + } + + return info[1]; } } diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsRegistry.java b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsRegistry.java index 5bbe784..c3be06e 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsRegistry.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsRegistry.java @@ -48,7 +48,6 @@ public class WindowsRegistry { //Shell Folder.name public static final String REGISTRY_PROGRAMS_OF_SHELL_FOLDER = "Programs"; -// public static final String REGISTRY_APP_DATA_OF_SHELL_FOLDER = "AppData"; public static final String REGISTRY_LOCAL_APP_DATA_OF_SHELL_FOLDER = "\"Local AppData\""; //User key @@ -73,7 +72,7 @@ public class WindowsRegistry { * @return */ public static String getRegistryValue(String node, String key) { - if (Platform.CURRENT_PLATFORM != Platform.WINDOWS) { + if (!Platform.isWindows()) { return null; } BufferedReader br = null; diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsSDKPackageFormat.java b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsSDKPackageFormat.java index a67eba3..a686291 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsSDKPackageFormat.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsSDKPackageFormat.java @@ -82,103 +82,145 @@ public class WindowsSDKPackageFormat extends SDKPackageFormat{ return SUCCESS; } - private long unZipPackage(File fileFullPath, File targetDir, IIMProgressMonitor monitor) { - ZipInputStream zipInStream = null; - FileOutputStream zipOutput = null; - ZipEntry zipEntry = null; - - try { - //mFileOutput = getFileListOutput(PathUtil.getFileNameWithOutExtension(fileFullPath)); - zipInStream = new ZipInputStream(new FileInputStream(fileFullPath)); - zipEntry = zipInStream.getNextEntry(); - - long totalUnZipSize = 0; - while (zipEntry != null) { - - if (monitor != null) { - String fileName = PathUtil.getFileName(zipEntry.getName()); - - monitor.setFileName(fileName); - monitor.workedFileName(); - } - - String targetPath = targetDir.getAbsolutePath() + File.separator + zipEntry.getName(); - - //make directory - File targetFile = new File(targetPath); - if (targetFile.exists() && targetFile.isDirectory()) { - writeFileList(zipEntry.getName()); - zipEntry = zipInStream.getNextEntry(); - continue; - } - - File parentFile = targetFile.getParentFile(); - if (!parentFile.exists()) { - parentFile.mkdirs(); - } - - if (targetPath.endsWith("/")) {//zipEntry.isDirectory()) { - new File(targetPath).mkdir(); - zipInStream.closeEntry(); - writeFileList(zipEntry.getName()); - zipEntry = zipInStream.getNextEntry(); - continue; - } - - - zipOutput =new FileOutputStream(targetPath); - - byte[] zipBuf = new byte[BUF_SIZE]; - int readByte = 0; - - while ((readByte = zipInStream.read(zipBuf)) >= 0) { - zipOutput.write(zipBuf, 0, readByte); - zipOutput.flush(); - totalUnZipSize += readByte; - } - - writeFileList(zipEntry.getName()); - - File outFile = new File(targetPath); - if (outFile.isFile() && (PathUtil.getFileExtension(outFile.getName()).equals("") || PathUtil.getFileExtension(outFile.getName()).equals("sh"))) { - outFile.setExecutable(true); - } - - if (zipOutput != null) { - zipOutput.close(); - } - - if (zipEntry != null) { - zipInStream.closeEntry(); - } - zipEntry = zipInStream.getNextEntry(); - } - - return totalUnZipSize; - - } catch (IOException e) { - Log.err("Fail to unpack" + zipEntry.getName()); - throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); - } finally { - try { - if (zipOutput != null) { - zipOutput.close(); - } - if (zipInStream != null) { - zipInStream.closeEntry(); - zipInStream.close(); - } - if (mFileOutput != null) { - mFileOutput.close(); - } - } catch (IOException e) { - Log.err("Fail to close output stream : " + zipEntry.getName()); - throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); - } - - closeFileOutput(); - } - } + private long unZipPackage(File fileFullPath, File targetDir, + IIMProgressMonitor monitor) { + ZipInputStream zipInStream = null; + FileOutputStream zipOutput = null; + ZipEntry zipEntry = null; + + try { + // mFileOutput = + // getFileListOutput(PathUtil.getFileNameWithOutExtension(fileFullPath)); + zipInStream = new ZipInputStream(new FileInputStream(fileFullPath)); + zipEntry = zipInStream.getNextEntry(); + + long totalUnZipSize = 0; + while (zipEntry != null) { + + if (monitor != null) { + String fileName = PathUtil.getFileName(zipEntry.getName()); + + monitor.setFileName(fileName); + monitor.workedFileName(); + } + + String targetPath = targetDir.getAbsolutePath() + + File.separator + zipEntry.getName(); + + // make directory + File targetFile = new File(targetPath); + if (targetFile.exists() && targetFile.isDirectory()) { + writeFileList(zipEntry.getName()); + zipEntry = zipInStream.getNextEntry(); + continue; + } + + File parentFile = targetFile.getParentFile(); + if (!parentFile.exists()) { + parentFile.mkdirs(); + } + + if (targetPath.endsWith("/")) {// zipEntry.isDirectory()) { + new File(targetPath).mkdir(); + zipInStream.closeEntry(); + writeFileList(zipEntry.getName()); + zipEntry = zipInStream.getNextEntry(); + continue; + } + + zipOutput = new FileOutputStream(targetPath); + + byte[] zipBuf = new byte[BUF_SIZE]; + int readByte = 0; + + while ((readByte = zipInStream.read(zipBuf)) >= 0) { + zipOutput.write(zipBuf, 0, readByte); + zipOutput.flush(); + totalUnZipSize += readByte; + } + + writeFileList(zipEntry.getName()); + + File outFile = new File(targetPath); + if (outFile.isFile() + && (PathUtil.getFileExtension(outFile.getName()) + .equals("") || PathUtil.getFileExtension( + outFile.getName()).equals("sh"))) { + outFile.setExecutable(true); + } + + if (zipOutput != null) { + zipOutput.close(); + } + + if (zipEntry != null) { + zipInStream.closeEntry(); + } + zipEntry = zipInStream.getNextEntry(); + } + + return totalUnZipSize; + + } catch (IOException e) { + if (zipEntry != null) { + Log.err("Fail to unpack" + zipEntry.getName()); + } + + throw new IMFatalException(ErrorCode.CANNOT_UNPACK_PACKAGE); + } catch (Throwable e) { + Log.ExceptionLog(e); + throw new IMFatalException(e.getMessage()); + } finally { + try { + if (zipOutput != null) { + zipOutput.close(); + } + } catch (IOException e) { + if (zipEntry != null) { + Log.err("Fail to close output stream : " + + zipEntry.getName()); + } else { + Log.ExceptionLog(e); + } + } + + try { + if (zipInStream != null) { + zipInStream.closeEntry(); + } + } catch (IOException e) { + if (zipEntry != null) { + Log.err("Fail to close output stream : " + + zipEntry.getName()); + } else { + Log.ExceptionLog(e); + } + } + + if (zipInStream != null) { + try { + zipInStream.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + } + + try { + if (mFileOutput != null) { + mFileOutput.close(); + } + } catch (IOException e) { + if (zipEntry != null) { + Log.err("Fail to close output stream : " + + zipEntry.getName()); + } else { + Log.ExceptionLog(e); + } + } + + closeFileOutput(); + } + } private void writeFileList(String filePath) { if (filePath == null || filePath.equals("")) { diff --git a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsShellRunningProgramParser.java b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsShellRunningProgramParser.java index 73d3d40..901577a 100644 --- a/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsShellRunningProgramParser.java +++ b/InstallManager_java/src/org/tizen/installmanager/lib/win/WindowsShellRunningProgramParser.java @@ -90,7 +90,8 @@ public class WindowsShellRunningProgramParser extends ShellParser{ executeFilePath = new File(infos[1]).getCanonicalPath(); targetPath = targetPathFile.getCanonicalPath(); } catch (IOException e) { - Log.err("Cannot get canonical paths: "+executeFilePath + ", "+targetPath); + Log.err("Cannot get canonical paths: " + infos[1] + + ", " + Registry.getInstalledPath()); Log.ExceptionLog(e); return; } @@ -102,7 +103,7 @@ public class WindowsShellRunningProgramParser extends ShellParser{ int pid = Integer.parseInt(infos[0]); mSDKProcessID.add(pid); } catch(NumberFormatException e) { - // ignore non-integer string + Log.ExceptionLog(e); } } else { return; diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PackageManager.java b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PackageManager.java new file mode 100644 index 0000000..3955c98 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PackageManager.java @@ -0,0 +1,1416 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Wooyoung Cho +* Shihyun Kim +* Taeyoung Son +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.pkg.lib; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Stack; + +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.DistributionController; +import org.tizen.installmanager.core.IMExitException; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.InstallManager; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.Downloader; +import org.tizen.installmanager.lib.ErrorController; +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.lib.ErrorController.ErrorCode; +import org.tizen.installmanager.lib.Platform; +import org.tizen.installmanager.pkg.lib.darwin.DarwinPackageManager; +import org.tizen.installmanager.pkg.lib.linux.LinuxPackageManager; +import org.tizen.installmanager.pkg.lib.win.WindowsPackageManager; +import org.tizen.installmanager.pkg.model.IMPackageNotFound; +import org.tizen.installmanager.pkg.model.Package; +import org.tizen.installmanager.pkg.model.PackageSet; +import org.tizen.installmanager.pkg.model.Properties; +import org.tizen.installmanager.pkg.model.PropertySection; +import org.tizen.installmanager.pkg.model.Snapshot; +import org.tizen.installmanager.pkg.model.Version; +import org.tizen.installmanager.util.PathUtil; + + +/** + * Package Manager + *

+ * This class provides various methods for managing packages. + * Most of the methods handle packages symbolically. Namely, they are identified by its package name not the object if not specially mentioned. + *

+ * Some methods are carefully designed to preserve the order of packages because the order of packages is important sometimes. + * See the details in the documentation of each methods. + * + * @author Shihyun Kim + * + */ +public abstract class PackageManager { + /** + * Packages that are already installed in the system. + */ + private PackageSet installedPackages; + /** + * packages that are available in the repositories(package servers). + */ + private PackageSet repoPackages; + /** + * packages that combines installedPackages and repoPackages. + * This includes only the latest package from the several versions of a package. + * This is used as the universe set(base set) of packages available. + */ + private PackageSet recentPackages; + + /** + * Packages from extension package server.111 + */ + private PackageSet extensionPackages = new PackageSet(); + + private static PackageManager pm = null; + + private enum State { + INSTALL, + UNINSTALL; + } + + //abstract method + /** + * Get package list file name. + * @return + */ + abstract public String getPackageListFileName(); + + /** + * Creates and initializes Package Manager instance. + * This combines installed packages and packages from the repositories. + * + * @param installed a file in which installed packages are specified. This can be null if no packages are installed. + * @param repoPackagesUrls a collection of URLs of repositories(package servers). This cannot be null. + * @throws IOException if temporary file cannot created + */ + protected PackageManager(File installed, Collection repoPackagesUrls) throws IOException { + setInstalledPackageList(installed); + loadRepositoryPackageList(repoPackagesUrls); + getRecentPackages(); + } + + /** + * Initializes package manager with information of installed packages and packages of repository + * @param sectionsInstalled a list of property sections of the installed packages + * @param repoToSectionsMap a map from base url of repository to a list of property sections of the repository + */ + protected PackageManager(List sectionsInstalled, Map> repoToSectionsMap) { + setInstalledPackageList(sectionsInstalled); + setRepoPackages(repoToSectionsMap); + getRecentPackages(); + } + + /** + * set repository url to each package.(reposistory url plus package name is complete url.) + * @param repoPackagesUrls + * @throws IOException + */ + public void loadRepositoryPackageList(Collection repoPackagesUrls) throws IOException { + HashMap> r2sMap = null; + if (Config.fromWhere == Config.ConfDialog.LOCAL_IMAGE) { // Using SDK Image + r2sMap = getRepositoryAndPackageList(repoPackagesUrls, false); + } else { + r2sMap = getRepositoryAndPackageList(repoPackagesUrls, true); + } + + setRepoPackages(r2sMap); + } + + /** + * set repository url to each package.(reposistory url plus package name is complete url.) + * @param repoPackagesUrls Packgae server list. + * @throws IOException + */ + public void loadExtensionPackages(Collection repoPackagesUrls) throws IOException { + HashMap> repoToSectionsMap = getRepositoryAndPackageList(repoPackagesUrls, false); + setExtensionPackages(repoToSectionsMap); + setExtensionPackagesToRecentPackages(); + } + + private HashMap> getRepositoryAndPackageList + (Collection repoPackagesUrls, boolean isSnapshotServer) throws IOException { + PropertyParser parser = new PropertyParser(); + HashMap> r2sMap = new HashMap>(); + + if(repoPackagesUrls != null) { + for(String repo : repoPackagesUrls) { + URL packageListURL = getPackageListPath(repo, isSnapshotServer); + + File packageListFile = downloadPackageListFile(packageListURL); + + if(packageListFile != null) { + r2sMap.put(repo, parser.readFromFile(packageListFile)); + } else { + Log.err("Ignore invalid repository: "+repo); + } + } + } else { + Log.log("Cannot find repository. This is local installer."); + } + + return r2sMap; + } + + private File downloadPackageListFile(URL packageListURL) throws IOException { + if (packageListURL == null) { + return null; + } + Downloader dl = InstallManager.getDownloader(); + File tmp = null; + + if (Options.onlyDownload) { + tmp = new File(PathUtil.getFromCurrDir(getPackageListFileName())); + } else { + tmp = File.createTempFile("Packages", ".list"); + tmp.deleteOnExit(); + } + + long size = dl.download(packageListURL, tmp.getAbsolutePath(), null); + + if (size > 0) { + return tmp; + } else { + return null; + } + } + + private void setExtensionPackages(HashMap> repoToSectionsMap) { + extensionPackages = new PackageSet(); + setPackages(extensionPackages, repoToSectionsMap, true); + } + + /** + * Get packages from extension package server. + * @return set of packages + */ + public PackageSet getExtensionPackages() { + return extensionPackages; + } + + public PackageSet getInstalledExtensionPackages() { + PackageSet extensionPackages = new PackageSet(); + + for (Package pkg : extensionPackages) { + if (pkg.isExtensionPackage()) { + extensionPackages.add(pkg); + } + } + + return extensionPackages; + } + + /** + * Set installed packages. + * @param installedPackageListPath + */ + public void setInstalledPackageList(File installedPackageListPath) { + List sectionsInstalled = null; + PropertyParser parser = new PropertyParser(); + + if(installedPackageListPath != null) { + sectionsInstalled = parser.readFromFile(installedPackageListPath); + } else { + sectionsInstalled= new LinkedList(); + } + + setInstalledPackageList(sectionsInstalled); + } + + /** + * Set installed packages + * @param sections + */ + private void setInstalledPackageList(List sections) { + installedPackages = new PackageSet(); + + for(PropertySection sect : sections) { + installedPackages.add(new Package(sect.getProperties())); + } + } + + /** + * Get package list file path from url. + * @param url + * @return Full url path + */ + private URL getPackageListPath(String url, boolean isSnapshotServer) { + if (url == null || url.isEmpty()) { + return null; + } else { + String packageListURL = ""; + + if (isSnapshotServer) { + String snapshotPath = Config.getInstance().getSnapshotPath(); + + if (snapshotPath == null || snapshotPath.isEmpty()) { + String distribution = Config.getInstance().getConfigFile().getDistribution(); + + Snapshot latestSnapshot = DistributionController.getInstance().getLatestSnapshot(distribution); + if (latestSnapshot == null) { + return null; + } else { + snapshotPath = DistributionController.getInstance().getLatestSnapshot(distribution).getPath(); + } + } else {} + + packageListURL = PathUtil.addURLPath(url, + snapshotPath, + getPackageListFileName()); + + } else { + packageListURL = PathUtil.addURLPath(url, getPackageListFileName()); + } + + try { + return new URL(packageListURL); + } catch (MalformedURLException e) { + Log.ExceptionLog(e); + return null; + } + } + } + + + + /** + * @return installed packages + */ + public PackageSet getInstalledPackages() { + return (PackageSet) installedPackages.clone(); + } + + /** + * Set packages of repository + * @param sections + */ + protected void setRepoPackages( Map> repoToSectionsMap) { + repoPackages = new PackageSet(); + setPackages(repoPackages, repoToSectionsMap, false); + } + + /** + * Set packages to destPackages + * @param destPackages It is set of packages. + * @param repoToSectionsMap It is added to destPackages + */ + private void setPackages(PackageSet destPackages, Map> repoToSectionsMap, boolean isExtensionPackage) { + if (destPackages == null) { + destPackages = new PackageSet(); + } + + for(String repoBaseUrl : repoToSectionsMap.keySet()) { + for(PropertySection sect : repoToSectionsMap.get(repoBaseUrl)) { + Package pkg = new Package(sect.getProperties(), repoBaseUrl); + + if (isExtensionPackage) { + if (pkg.getAttribute().equalsIgnoreCase("extra")) { + pkg.setExtensionServer(repoBaseUrl); + destPackages.add(pkg); + } + } else { + destPackages.add(pkg); + } + } + } + } + + /** + * @return packages of repository + */ + public PackageSet getRepoPackages() { + return repoPackages; + } + + /** + * @return root meta packages of repository + */ + public PackageSet getRootMetaPackagesOfRepository() { + return rootMeta(repoPackages); + } + + /** + * Get install meta packages from repository. + * @return + */ + public PackageSet getInstallMetaPackagesOfRepository() { + return installMeta(repoPackages); + } + + /** + * Get root meta package from extension package server() + */ + public PackageSet getRootMetaPackagesOfExtensionServer() { + return rootMeta(extensionPackages); + } + + /** + * @return recent packages. This includes the latest packages among all packages from currently + * installed packages and packages of repository if a package has several versions. + */ + public PackageSet getRecentPackages() { + if(recentPackages == null) { + recentPackages = new PackageSet(); + for(Package ip : installedPackages) { + if(repoPackages != null && repoPackages.contains(ip)) { + Package rp = repoPackages.getPackage(ip); + if(ip.getVersion().compareTo(rp.getVersion()) > 0) { + recentPackages.add(ip); + } else { + recentPackages.add(rp); + } + } else if (extensionPackages != null && extensionPackages.contains(ip)) { + Package ep = extensionPackages.getPackage(ip); + if(ip.getVersion().compareTo(ep.getVersion()) > 0) { + recentPackages.add(ip); + } else { + recentPackages.add(ep); + } + } else { + recentPackages.add(ip); + } + } + + for(Package rp : repoPackages) { + if(!recentPackages.contains(rp)) { + recentPackages.add(rp); + } + } + } + return recentPackages; + } + + private void setExtensionPackagesToRecentPackages() { + if (recentPackages == null) { + recentPackages = new PackageSet(); + } + + for(Package ip : installedPackages) { + if (extensionPackages != null && extensionPackages.contains(ip)) { + Package ep = extensionPackages.getPackage(ip); + if(ip.getVersion().compareTo(ep.getVersion()) > 0) { + recentPackages.add(ip); + } else { + recentPackages.add(ep); + } + } else { + recentPackages.add(ip); + } + } + } + + + + // Methods for update process + /** + * except package from installed package list. + * @param pkg + * @return + */ + public boolean exceptPackageFromInstalledPackages(Package pkg) { + return installedPackages.remove(pkg); + } + + /** + * Add package to installed package list. + * @param pkg + * @return + */ + public boolean addPackageToInstalledPackages(Package pkg) { + installedPackages.remove(pkg); + return installedPackages.add(pkg); + } + + /** + * @return updatable packages among installed packages + */ + public PackageSet getUpdatableInstalledPackages() { + PackageSet updatables = new PackageSet(); + for(Package ip : installedPackages) { + if(repoPackages.contains(ip)) { + Package rp = repoPackages.getPackage(ip); + if(rp.getVersion().compareTo(ip.getVersion()) != 0) { + updatables.add(ip); + } + } + } + return updatables; + } + + /** + * if pkg is updatable, return true. else return false. + * @param pkg + * @return + */ + public boolean isUpdatable(Package pkg) { + PackageSet updatables = getUpdatableInstalledPackages(); + + if (updatables.contains(pkg)) { + return true; + } else { + return false; + } + } + + /** + * If pkg is installed, return true. else return false + * @param pkg + * @return + */ + public boolean isInstalledVersion(Package pkg) { + Package installedPackage = installedPackages.getPackage(pkg); + if (installedPackage == null) { + return false; + } else { + Version installedVersion = installedPackage.getVersion(); + if (installedVersion.compareTo(pkg.getVersion()) == 0) { + return true; + } else { + return false; + } + } + } + + /** + * @return meta packages among installed packages + */ + public PackageSet getInstalledMetaPackages() { + return meta(installedPackages); + } + + /** + * @return meta packages among all recent packages + */ + public PackageSet getAllMetaPackages() { + PackageSet allMeta = new PackageSet(); + + PackageSet recentMeta = meta(recentPackages); + PackageSet extensionMeta = meta(extensionPackages); + + allMeta.addAll(recentMeta); + allMeta.addAll(extensionMeta); + + return allMeta; + } + + /** + * Get dependency packages of installable package. + * @param pkgs installable packages. + * @return + */ + public PackageSet getDependsPackagesFromRepository(PackageSet pkgs) { + return dep(pkgs, State.INSTALL); + } + + /** + * @return meta packages that have no updates considering its dependents + */ + public PackageSet getNotUpdatableMetaPackages() { + PackageSet noup = new PackageSet(); + for(Package m : getAllMetaPackages()) { + if(!isMetaUpdatable(m)) { + noup.add(m); + } + } + return noup; + } + + public PackageSet getNotInstallableAndNotUpdatablePackages() { + PackageSet notPkg = new PackageSet(); + + for (Package m :getAllMetaPackages()) { + if (isMetaRemovable(m) && !isMetaUpdatable(m)) { + notPkg.add(m); + } + } + + return notPkg; + } + + /** + * @return meta packages thar are updatable among installed packages + */ + public PackageSet getUpdatableMetaPackages() { + PackageSet allMetas = getAllMetaPackages(); + PackageSet notUpdatableMetas = getNotUpdatableMetaPackages(); + return diff(allMetas, notUpdatableMetas); + } + + /** + * @param selectedMetas + * @return packages that will be installed after update/install resulted from the selected meta packages + */ + public PackageSet getResultPackagesAfterUpdate(PackageSet selectedMetas) { + PackageSet deps = dep(selectedMetas, State.INSTALL); + PackageSet conflicts = conflict(selectedMetas); + PackageSet remainedFromConflicts = diff(installedPackages, conflicts); + return union(deps, remainedFromConflicts); + } + + /** + * Get updatable packages in update process except new packages. + * @param selectedMetas + * @return + */ + public PackageSet getUpdatablepackagesInUpdate(PackageSet selectedMetas) { + PackageSet result = dep(selectedMetas, State.INSTALL); + PackageSet up = getUpdatableInstalledPackages(); + return intersect(result, up); + } + + /** + * Get removable packages in snapshot process except new packages. + * @param selectedMetas + * @return + */ + public PackageSet getRemovablePackagesInSnapshot(PackageSet selectedMetas) { + PackageSet result = dep(selectedMetas, State.UNINSTALL); + PackageSet pkgSet = getdifferentVersionFromInstalledPackages(result); + + return pkgSet; + } + + /** + * check version between sourcePackages and installedPackages, and return different version packages. + * @param pkgs + * @return Different version packages among installed packages + */ + public PackageSet getdifferentVersionFromInstalledPackages(PackageSet pkgs) { + PackageSet depPkgs = dep(pkgs, State.INSTALL); + PackageSet otherVersionPackages = new PackageSet(); + for(Package ip : installedPackages) { + if(depPkgs.contains(ip)) { + Package rp = depPkgs.getPackage(ip); + if(rp.getVersion().compareTo(ip.getVersion()) != 0) { + otherVersionPackages.add(ip); + } + } + } + + return otherVersionPackages; + } + + /** + * @param selectedMetas + * @return packages to newly install in update process by the selected meta packages + */ + public PackageSet getInstallablePackages(PackageSet selectedMetas) { + PackageSet result = getResultPackagesAfterUpdate(selectedMetas); + PackageSet installablePkgs = diffPackageWithVersion(result, installedPackages); + return installablePkgs; + } + + /** + * @param selectedMetas + * @return packages to update in update process by the selected meta packages + */ + public PackageSet getToUpdatePackagesInUpdate(PackageSet selectedMetas) { + PackageSet result = getResultPackagesAfterUpdate(selectedMetas); + PackageSet up = getUpdatableInstalledPackages(); + return intersect(result, up); + } + + + /** + * @param selectedMetas + * @return packages to remove in update process by conflicts with the selected meta packages + */ + public PackageSet getConflictPackagesInUpdate(PackageSet selectedMetas) { + PackageSet conflicts = conflict(selectedMetas); + return intersect(conflicts, installedPackages); + } + + // Methods for remove process + + /** + * @return packages that can be removed + */ + public PackageSet getRemovableMetaPackages() { + return getInstalledMetaPackages(); + } + + public PackageSet getInstallableMetaPackagesInSnapshot() { + PackageSet repoMetas = meta(repoPackages); + + PackageSet installableMeta = new PackageSet(); + for (Package metaPackage : repoMetas) { + if (isMetaInstallable(metaPackage)) { + installableMeta.add(metaPackage); + } + } + + return installableMeta; + } + + /** + * @param selectedMetas + * @return packages to remove in remove process + */ + public PackageSet getToRemovePackagesInRemove(PackageSet selectedMetas) { + /* + PackageSet dep = dep(selectedMetas); + PackageSet mayRemove = intersect(installedPackages, dep); + PackageSet remainMetas = diff(getInstalledMetaPackages(), selectedMetas); + PackageSet remainPackages = dep(remainMetas); + PackageSet toRemove = diff(mayRemove, remainPackages); + return reverseSet(toRemove); + */ + PackageSet dep = dep(selectedMetas, State.UNINSTALL); + return reverseSet(dep); + } + + /** + * @param selectedMetas + * @return packages that will be remained after remove resulted from the selected meta packages + */ + public PackageSet getResultPackagesAfterRemove(PackageSet selectedMetas) { + return diff(getInstalledMetaPackages(), selectedMetas); + } + + // set handling methods + + /** + * @param pset + * @return meta packages in the package set + */ + private PackageSet meta(PackageSet pset) { + PackageSet metas = new PackageSet(); + + if (pset == null) { + return metas; + } + + for(Package p : pset) { + if(p.isMeta()) { + metas.add(p); + } + } + return metas; + } + + /** + * @param pset + * @return meta packages in the package set + */ + private PackageSet rootMeta(PackageSet pset) { + PackageSet metas = new PackageSet(); + for(Package p : pset) { + if(p.isRootMeta() || p.isPartnerMeta() || p.isExtraMeta() || p.isPublicMeta()) { + metas.add(p); + } + } + return metas; + } + + /** + * @param pset + * @return meta packages in the package set + */ + private PackageSet installMeta(PackageSet pset) { + PackageSet metas = new PackageSet(); + for(Package p : pset) { + if(p.isInstallMeta()) { + metas.add(p); + } + } + return metas; + } + + /** + * Get dependency package list from p. + * @param p a package + * @return all the packages that the given package depends on directly or indirectly + */ + private PackageSet dep(Package p, State state) { + // depth first traverse on dependency graph + PackageSet dep = new PackageSet(); + Stack pkgStack = new Stack(); + pkgStack.push(p); + while(!pkgStack.isEmpty()) { + Package pkg = pkgStack.pop(); + + if(!dep.contains(pkg)) { + dep.add(pkg); + PackageSet depPackageSet = new PackageSet(); + try { + if (state == State.INSTALL) { + if (repoPackages.contains(pkg)) { + depPackageSet = repoPackages.getPackagesByNames(pkg.getDependentPackageNames()); + } else if (extensionPackages.contains(pkg)) { + depPackageSet = extensionPackages.getPackagesByNames(pkg.getDependentPackageNames()); + } + } else if (state == State.UNINSTALL){ + depPackageSet = installedPackages.getPackagesByNames(pkg.getDependentPackageNames()); + } else { + Log.err("State class have two state(INSTALL/UNINSTALL) "); + throw new IMFatalException(ErrorCode.UNKOWN_ERROR); + } + } catch (IMPackageNotFound e) { + Log.err("Finding dependents: "+p+": Package does not exist: " + e.getPackageName()+ " or "+ pkg.getDependentPackageNames()); + throw new IMFatalException(ErrorCode.CANNOT_FIND_PACKAGE); + } + + for(Package depPkg : depPackageSet) { + if(p.equals(depPkg)) { + Log.err("Circular dependency found: "+p); + throw new IMFatalException(ErrorCode.CIRCULAR_PACKAGE_DEPENDENCY); + } + pkgStack.push(depPkg); + } + } else { + // already visited. + addDependsSet(dep, pkg); + } + } + + return reverseSet(dep); + } + + /** + * Need reverse depends when remove. + * @param p + * @return + */ + private PackageSet reverseDep(Package p) { + // depth first traverse on dependency graph + PackageSet reverseDep = new PackageSet(); + Stack pkgStack = new Stack(); + pkgStack.push(p); + while(!pkgStack.isEmpty()) { + Package pkg = pkgStack.pop(); + + if(!reverseDep.contains(pkg)) { + reverseDep.add(pkg); + + for (Package recentPkg : recentPackages) { + Collection dependsList = recentPkg.getDependentPackageNames(); + for (String pkgName : dependsList) { + if (pkgName.equals(pkg.getPackageName())) { + pkgStack.push(recentPkg); + break; + } + } + + } + } else { + // already visited + addDependsSet(reverseDep, pkg); + } + } + + return reverseDep; + } + + /** + * Remove saved package and save package at the end of set. + * @param dependsSet + * @param pkg + */ + private void addDependsSet(PackageSet dependsSet, Package pkg) { + if (dependsSet.contains(pkg)) { + dependsSet.remove(pkg); + } + + dependsSet.add(pkg); + } + + /** + * reverse package list. + * @param pkgSet + * @return + */ + public PackageSet reverseSet(PackageSet pkgSet) { + if (pkgSet == null) { + return null; + } + + Stack stack = new Stack(); + for (Package pkg : pkgSet) { + stack.push(pkg); + } + + PackageSet reverseSet = new PackageSet(); + + while(!stack.isEmpty()) { + reverseSet.add(stack.pop()); + } + + return reverseSet; + } + + /** + * @param pset package set + * @return all the packages that the given packages depends on directly or indirectly + */ + private PackageSet dep(PackageSet pset, State state) { + PackageSet dep = new PackageSet(); + for(Package p : pset) { + dep.addAll(dep(p, state)); + } + return dep; + } + + /** + * Get conflict package list from p. + * @param p + * @return packages that conflict with the given package directly or indirectly + */ + public PackageSet conflict(Package p) { + PackageSet conflicts = new PackageSet(); + PackageSet dep = dep(p, State.INSTALL); + for(Package pkg : dep) { + Collection conflictPackageNames = pkg.getConflictPackageNames(); + for(String conflictPackageName : conflictPackageNames) { + if(installedPackages.hasPackageByName(conflictPackageName)) { + Package conflictPackage = installedPackages.getPackageByName(conflictPackageName); + conflicts.addAll(reverseDep(conflictPackage)); + } + } + } + return conflicts; + } + + /** + * Get conflict package list. + * @param pset + * @return packages that conflict with the given packages directly or indirectly + */ + private PackageSet conflict(PackageSet pset) { + PackageSet conflicts = new PackageSet(); + for(Package p : pset) { + conflicts.addAll(conflict(p)); + } + return conflicts; + } + + /** + * Adds packages of pset2 to packages of pset1. + * @param pset1 + * @param pset2 + * @return new package set has the union of pset1 and pset2. + */ + private PackageSet union(PackageSet pset1, PackageSet pset2) { + PackageSet union = (PackageSet) pset1.clone(); + union.addAll(pset2); + return union; + } + + /** + * Removes packages of pset2 from packages of pset1. + * @param pset1 + * @param pset2 + * @return new package set that represents (pset1 - pset2). + */ + private PackageSet diff(PackageSet pset1, PackageSet pset2) { + PackageSet diff = new PackageSet(); + for(Package p : pset1) { + if(!pset2.contains(p)) { + diff.add(p); + } + } + return diff; + } + + private PackageSet diffPackageWithVersion(PackageSet pset1, PackageSet pset2) { + PackageSet diff = new PackageSet(); + for(Package p : pset1) { + Package pkg = pset2.getPackage(p); + + if (pkg == null) { + diff.add(p); + } else { + if (Version.compareTo(p.getVersion(), pkg.getVersion()) != 0) { + diff.add(p); + } + } + } + return diff; + } + + /** + * + * @param pset1 + * @param pset2 + * @return new set of intersection of pset1 and pset2. It has the order of pset1. + */ + private PackageSet intersect(PackageSet pset1, PackageSet pset2) { + PackageSet pset = new PackageSet(); + for(Package p : pset1) { + if(pset2.contains(p)) { + pset.add(p); + } + } + return pset; + } + + /** + * @param m meta package to be checked updatable + * @return true if the meta package is updatable. + * ie. the meta package is installed and one of its dependents is already installed and is updatable. + */ + private boolean isMetaUpdatable(Package m) { + // if one of the meta package's dependents is installed and updatable, the meta package is updatable. + PackageSet dep = dep(m, State.INSTALL); + + for(Package p : dep) { + + if(installedPackages.contains(p)) { + Package ip = installedPackages.getPackage(p); + if (ip == null) { + continue; + } + + Package rp = null; + if (repoPackages != null && repoPackages.hasPackage(p)) { + rp = repoPackages.getPackage(p); + } else if (extensionPackages != null && extensionPackages.hasPackage(p)) { + rp = extensionPackages.getPackage(p); + } + + // checks p is updatable + if(rp != null && rp.getVersion().compareTo(ip.getVersion()) != 0) { + return true; + } + } + } + return false; + } + + + + /** + * @param m meta package to be checked removable + * @return true if the meta package is removable + * ie. the meta package is installed and one of its dependents is already installed and is removable. + */ + private boolean isMetaRemovable(Package m) { + // if the meta package is not installed, it's never updatable + if(installedPackages.contains(m)) { + return true; + } else { + return false; + } + } + + /** + * check new installation or upgrade or downgrade. + * @param meta meta package to be checked installable. + * @return true if the meta package is updatable. + * ie. the meta package is installed and one of its dependents is already installed and is updatable. + */ + private boolean isMetaInstallable(Package meta) { + // if one of the meta package's dependents is installed and updatable, the meta package is updatable. + PackageSet dep = dep(meta, State.INSTALL); + + for(Package p : dep) { + //Do not check meta package. It is only used by install-type or category. + if (p.isMeta()) { + continue; + } + + if(installedPackages.contains(p)) { + Package ip = installedPackages.getPackage(p); + if (ip == null) { + continue; + } + + Package rp = repoPackages.getPackage(p); // rp always exists if ip exists + + // checks p is updatable + if(rp.getVersion().compareTo(ip.getVersion()) != 0) { + return true; + } + } else { + return true; + } + } + return false; + } + + // utility methods + /** + * Get installed package. + * @param pkg + * @return If not exist package in installed package list, return empty string. + */ + public Package getInstalledPackageByName(String pkgName) { + Package retPkg = installedPackages.getPackageByName(pkgName); + + return retPkg; + } + + /** + * Get installed packages by package name. + * @param pkgName name of packages + * @return If not exist package in installed package list, return empty string. + */ + public PackageSet getInstalledPackagesByName(List pkgNames) { + PackageSet installedPackages = new PackageSet(); + for (String pkg : pkgNames) { + Package retPkg = getInstalledPackageByName(pkg); + + if (retPkg != null) { + installedPackages.add(retPkg); + } + } + + return installedPackages; + } + + /** + * Get Package instance from package name. + * @param pkgName + * @return + */ + public Package getPackageByName(String pkgName) { + if(repoPackages.hasPackageByName(pkgName)) { + return repoPackages.getPackageByName(pkgName); + } else { + return null; + } + } + /** + * @param packageNames + * @return packages collected by the given package names + */ + public PackageSet getPackagesByNames(Collection packageNames) { + PackageSet pset = new PackageSet(); + for(String name : packageNames) { + if(repoPackages.hasPackageByName(name)) { + Package pkg = repoPackages.getPackageByName(name); + pset.add(pkg); + } else if (extensionPackages.hasPackageByName(name)) { + Package pkg = extensionPackages.getPackageByName(name); + pset.add(pkg); + } else { + throw new IMFatalException(ErrorCode.CANNOT_FIND_FILE_IN_REPOSITROY); + } + } + return pset; + } + + public PackageSet getMandatoryPackages() { + PackageSet pSet = new PackageSet(); + + for (Package pkg : repoPackages) { + if (pkg.isMandatory()) { + pSet.add(pkg); + } + } + + return pSet; + } + + /** + * Check installed meta packages + * @return if installed package exists, return true. if not return false. + */ + public boolean existInstalledMetaPackages() { + if (getInstalledMetaPackages().size() <= 0) { + return false; + } else { + return true; + } + } + + /** + * Check installable meta packages + * @return if installable meta package exists, return true. if not return false. + */ + public boolean existInstallableMetaPackages() { + if (getInstalledMetaPackages().size() <= 0) { + return false; + } else { + return true; + } + } + + /** + * Check installed packages. + * @return if installed package exists, return true. if not return false. + */ + public boolean existInstalledPackages() { + if (installedPackages.size() <= 0) { + return false; + } else { + return true; + } + } + + /** + * Check installable or updatable packages. + * @return if installable package exists, return true. if not return false. + */ + public boolean existInstallablePackages() { + for(Package p : repoPackages) { + if(installedPackages.contains(p)) { + Package ip = installedPackages.getPackage(p); + if (ip == null) { + continue; + } + + Package rp = recentPackages.getPackage(p); // rp always exists if ip exists + // checks p is updatable + if(rp.getVersion().compareTo(ip.getVersion()) > 0) { + return true; + } + } + } + return false; + } + + + /** + * get total size to install. + * @param pkg + * @return + */ + public long getTotalSizeOfInstallablePackages(Package pkg) { + PackageSet pkgs = new PackageSet(); + + pkgs.add(pkg); + PackageSet depPkgSet = getInstallablePackages(pkgs); + + return getTotalSize(depPkgSet); + } + + /** + * get total size to remove. + * @param pkg + * @return + */ + public long getTotalSizeOfRemovablePackages(Package pkg) { + PackageSet pkgs = new PackageSet(); + + pkgs.add(pkg); + PackageSet depPkgSet = getToRemovePackagesInRemove(pkgs); + + return getTotalSize(depPkgSet); + } + + /** + * get total size to install. + * @param pkg + * @return + */ + public long getTotalSizeOfInstallablePackages(PackageSet pkgs) { + PackageSet depPkgSet = getInstallablePackages(pkgs); + + return getTotalSize(depPkgSet); + } + + /** + * get total size to remove. + * @param pkg + * @return + */ + public long getTotalSizeOfRemovablePackages(PackageSet pkgs) { + PackageSet depPkgSet = getRemovablePackagesInSnapshot(pkgs); + + return getTotalSize(depPkgSet); + } + + /** + * get total size to install + * @param pkgs + * @return + */ +// public long getInstallablePackageSize(PackageSet pkgs) { +// return getTotalSize(pkgs); +// } + + private long getTotalSize(PackageSet pkgs) { + long totalSize = 0; + for (Package depPkg : pkgs) { + totalSize += depPkg.getPackageSize(); + } + + return totalSize; + } + + /** + * @return true if installed and repository packages are empty. + */ + public boolean isEmpty() { + + if (installedPackages.size() <= 0 && repoPackages.size() <= 0) { + return true; + } + + return false; + } + + /** + * Get Installable packages. + * @return packages that can be newly installable. + */ + public PackageSet getInstallableMetaPackages() { + return diff(getAllMetaPackages(), getInstalledMetaPackages()); + } + + /** + * @return packages that can be newly installable or updatable. + */ + public PackageSet getInstallableOrUpdatableMetaPackages() { + PackageSet installableMetaPackages = new PackageSet(); + PackageSet allMetaPackages = getAllMetaPackages(); + + for (Package metaPackage : allMetaPackages) { + if (isMetaInstallable(metaPackage)) { + installableMetaPackages.add(metaPackage); + } + } + + return installableMetaPackages; + } + + + /** + * Check missing packages from repository's package list. + * @return packages that is missing in repository's package list. + */ + public PackageSet getMissingPackagesFromRepository() { + PackageSet missingPackages = new PackageSet(); + + if (!repoPackages.isEmpty()) { + missingPackages = diff(installedPackages, repoPackages); + missingPackages = diff(missingPackages, extensionPackages); + } + + return missingPackages; + } + + /** + * save packages to installedpackage.list + * @param filePath + */ + public void saveInstalledList(String filePath) { + if (filePath == null) { + return; + } + PropertyParser parser = new PropertyParser(); + List pSections = saveProperySectionsFromPackages(installedPackages); + parser.writeToFile(pSections, filePath); + } + + public List saveProperySectionsFromPackages(PackageSet packages) { + List pSections = new ArrayList(); + PropertySection pSection = null; + Properties properties = null; + + for (Package pkg : packages) { + properties = (Properties)pkg.getProperties(); + pSection = new PropertySection(); + pSection.setProperties(properties); + pSections.add(pSection); + } + + return pSections; + } + + /** + * Prints dependency graph of packages in dot format to stdout. + * @throws IMExitException + */ + public void printDepGraph() throws IMExitException { + StringBuffer buf = new StringBuffer(); + try { + buf.append("digraph G {\n"); + for(Package p : recentPackages) { + PackageSet dep = dep(p, State.INSTALL); + for(Package d : dep) { + if(!d.equals(p)) { + buf.append("\""+p+"\" -> \"" + d + "\";\n"); + } + } + } + buf.append("}\n"); + System.out.println(buf); + } catch(Exception e) { + System.err.println(ErrorController.getErrorMessage()); // print error message to stderr for alert + Log.ExceptionLog(e); + throw new IMExitException(Config.EXITCODE_DEP_ERROR); + } + } + + public static void dispose() { + if (pm != null) { + pm = null; + } + } + + /** + * Get PackageManager singleton instance. + * @param installed + * @param repoPackagesUrls + * @return + * @throws IOException + */ + public static PackageManager getInstance(File installed, Collection repoPackagesUrls) throws IOException { + if (Options.platForm == null) { + if (pm == null) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + pm = new LinuxPackageManager(installed, repoPackagesUrls); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + pm = new WindowsPackageManager(installed, repoPackagesUrls); + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + pm = new DarwinPackageManager(installed, repoPackagesUrls); + } else { + return null; + } + } + } else { + if (pm == null) { + if (Options.platForm.equals("ubuntu")) { + pm = new LinuxPackageManager(installed, repoPackagesUrls); + } else if (Options.platForm.equals("windows")) { + pm = new WindowsPackageManager(installed, repoPackagesUrls); + } else { + return null; + } + } + } + return pm; + } + + public static PackageManager getInstance() { + return pm; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PropertyParser.java b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PropertyParser.java index a588eec..5d252b9 100644 --- a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PropertyParser.java +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/PropertyParser.java @@ -111,7 +111,7 @@ public class PropertyParser { sReadData = bReader.readLine(); Log.log(sReadData); - + //end of file. if (sReadData == null) { if (pFieldList.size() > 0) { pSection = new PropertySection(); @@ -119,7 +119,9 @@ public class PropertyParser { pSectionReturn.add(pSection); } else {} break; - } else {} + } else { + sReadData = sReadData.trim(); + } if (this.mSectionSeparator.equals(sReadData)) { //read control @@ -141,12 +143,17 @@ public class PropertyParser { } else { pField.setValue(pField.getValue()+'\n'+sReadData.trim()); } + } else { + Log.err("Cannot parse name and value from installmanager.conf. (read line => " + sReadData + ")"); } } } } catch (IOException ie) { Log.ExceptionLog(ie); throw new IMFatalException(ErrorCode.CANNOT_PARSING_TEXT); + } catch (Throwable e) { + Log.ExceptionLog(e); + throw new IMFatalException(e.getMessage()); } finally { try { if(bReader != null) { @@ -271,13 +278,16 @@ public class PropertyParser { } } catch (IOException ioe) { throw new IMFatalException(ErrorCode.CANNOT_SAVE_PROPERTY_FILE); + } catch (Throwable e) { + Log.ExceptionLog(e); + throw new IMFatalException(e.getMessage()); } finally { try { /*close*/ if (fWriter != null) { fWriter.close(); } - } catch (Exception e) { + } catch (Throwable e) { Log.ExceptionLog(e); } } diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/darwin/DarwinPackageManager.java b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/darwin/DarwinPackageManager.java new file mode 100644 index 0000000..cd60b91 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/darwin/DarwinPackageManager.java @@ -0,0 +1,22 @@ +package org.tizen.installmanager.pkg.lib.darwin; + +import java.io.File; +import java.io.IOException; +import java.util.Collection; + +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.pkg.lib.PackageManager; + +public class DarwinPackageManager extends PackageManager { + + public DarwinPackageManager(File installed, Collection repoPackagesUrls) + throws IOException { + super(installed, repoPackagesUrls); + } + + @Override + public String getPackageListFileName() { + return Config.PACKAGE_LIST_FILE_MACOS_64; + } + +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/linux/LinuxPackageManager.java b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/linux/LinuxPackageManager.java new file mode 100644 index 0000000..59f7390 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/linux/LinuxPackageManager.java @@ -0,0 +1,45 @@ +package org.tizen.installmanager.pkg.lib.linux; + +import java.io.File; +import java.io.IOException; +import java.util.Collection; + +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.Platform; +import org.tizen.installmanager.pkg.lib.PackageManager; + +/** + * Package Manager for linux. + *

+ * This class provides various methods for managing packages. + * Most of the methods handle packages symbolically. Namely, they are identified by its package name not the object if not specially mentioned. + *

+ * Some methods are carefully designed to preserve the order of packages because the order of packages is important sometimes. + * See the details in the documentation of each methods. + * + * @author Shihyun Kim + * + */ +public class LinuxPackageManager extends PackageManager { + public LinuxPackageManager(File installed, Collection repoPackagesUrls) + throws IOException { + super(installed, repoPackagesUrls); + } + + @Override + public String getPackageListFileName() { + if (Options.platFormBit != 0) { + if (Options.platFormBit == 32) { + return Config.PACKAGE_LIST_FILE_LINUX_32; + } else if (Options.platFormBit == 64){ + return Config.PACKAGE_LIST_FILE_LINUX_64; + } + } + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32) { + return Config.PACKAGE_LIST_FILE_LINUX_32; + } else { + return Config.PACKAGE_LIST_FILE_LINUX_64; + } + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/lib/win/WindowsPackageManager.java b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/win/WindowsPackageManager.java new file mode 100644 index 0000000..e0aa73c --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/lib/win/WindowsPackageManager.java @@ -0,0 +1,47 @@ +package org.tizen.installmanager.pkg.lib.win; + +import java.io.File; +import java.io.IOException; +import java.util.Collection; + +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.Platform; +import org.tizen.installmanager.pkg.lib.PackageManager; + +/** + * Package Manager for windows + *

+ * This class provides various methods for managing packages. + * Most of the methods handle packages symbolically. Namely, they are identified by its package name not the object if not specially mentioned. + *

+ * Some methods are carefully designed to preserve the order of packages because the order of packages is important sometimes. + * See the details in the documentation of each methods. + * + * @author Shihyun Kim + * + */ +public class WindowsPackageManager extends PackageManager { + + public WindowsPackageManager (File installed, + Collection repoPackagesUrls) throws IOException { + super(installed, repoPackagesUrls); + } + + @Override + public String getPackageListFileName() { + if (Options.platFormBit != 0) { + if (Options.platFormBit == 32) { + return Config.PACKAGE_LIST_FILE_WINDOWS_32; + } else if (Options.platFormBit == 64){ + return Config.PACKAGE_LIST_FILE_WINDOWS_64; + } + } + if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32) { + return Config.PACKAGE_LIST_FILE_WINDOWS_32; + } else { + return Config.PACKAGE_LIST_FILE_WINDOWS_64; + } + } + +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/ConfigFile.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/ConfigFile.java index 3dda990..4b63aa8 100644 --- a/InstallManager_java/src/org/tizen/installmanager/pkg/model/ConfigFile.java +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/ConfigFile.java @@ -1,30 +1,30 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.pkg.model; @@ -34,303 +34,440 @@ import java.io.FileWriter; import java.io.IOException; import java.util.List; -import org.tizen.installmanager.core.Config; import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.lib.ErrorController.ErrorCode; import org.tizen.installmanager.pkg.lib.PropertyParser; -import org.tizen.installmanager.util.PathUtil; - /** * This class describes the installmanager.conf file. + * * @author Shihyun Kim - * + * */ public class ConfigFile { - private static final String FIELD_REPOSITORY = "Repository"; - private static final String FIELD_INSTALLMANAGER_REPOSITORY = "InstallManager-Repository"; - private static final String FIELD_INSTALLMANAGER_VERSION = "InstallManager-Version"; - private static final String FIELD_PROXY_SERVER = "Proxy-server"; - private static final String FIELD_PROXY_PORT = "Proxy-port"; + private static final String FIELD_REPOSITORY = "Repository"; + private static final String FIELD_Distribution = "Distribution"; + private static final String FIELD_PACKAGE_SERVER = "Package-Server"; + private static final String FIELD_EXTENSION_SERVER = "Extension-Server"; + private static final String FIELD_BUILT_IN_EXTENSION_SERVER = "Built-in-Extension-Server"; + private static final String FIELD_INSTALLMANAGER_REPOSITORY = "InstallManager-Repository"; + private static final String FIELD_INSTALLMANAGER_VERSION = "InstallManager-Version"; + private static final String FIELD_PROXY_SERVER = "Proxy-server"; + private static final String FIELD_PROXY_PORT = "Proxy-port"; + private static final String FIELD_SNAPSHOT_PATH = "Snapshot-Path"; + private static final String FIELD_RELEASE_NOTE = "Release-note"; - private Properties mProperties; - private String mConfigFilePath; + private Properties mProperties; + private String mConfigFilePath; - public ConfigFile(String confPath) { - mProperties = new Properties(); + public ConfigFile(String confPath) { + mProperties = new Properties(); if (!loadConfigFile(confPath)) { Log.err("Fail to load config file in this path : " + confPath); ErrorController.setError(ErrorCode.CANNOT_FIND_CONFIG_FILE); } else { Log.log("Success to load config file in this path : " + confPath); } - } - - /** - * @return Repository of package list to install. - */ - public String getRepository() { - return getValue(FIELD_REPOSITORY); - } - - /** - * @return Repository of installmanager to update installmanager's binary - */ - public String getInstallManagerRepository() { - return getValue(FIELD_INSTALLMANAGER_REPOSITORY); - } - - /** - * @return Version of installmanager - */ - public String getInstallManagerVersion() { - return getValue(FIELD_INSTALLMANAGER_VERSION); - } - - /** - * @return proxy-server for connecting to repository. - */ - public String getProxyServer() { - return getValue(FIELD_PROXY_SERVER); - } - - /** - * Set proxy server ip. - * @param proxyServer - */ - public void setProxyServer(String proxyServer) { - Property property = getProperty(ConfigFile.FIELD_PROXY_SERVER); - - if (property != null) { - property.setValue(proxyServer); - } else { - property = new Property(); - property.setName(ConfigFile.FIELD_PROXY_SERVER); - property.setValue(proxyServer); - - mProperties.add(property); - } - } - - /** - * @return port number for proxy. -1 if not specified. - */ - public int getProxyPort() { - String proxyPortStr = getValue(FIELD_PROXY_PORT); - try { - if(!proxyPortStr.isEmpty()) { - return Integer.parseInt(proxyPortStr); - } else { - return -1; - } - } catch(NumberFormatException e) { - Log.log("Invalid proxy port"); - return -1; - } - } - - /** - * Set proxy port - * @param proxyPort - */ - public void setProxyPort(String proxyPort) { - Property property = getProperty(ConfigFile.FIELD_PROXY_PORT); - - if (property != null) { - property.setValue(proxyPort); - } else { - property = new Property(); - property.setName(ConfigFile.FIELD_PROXY_PORT); - property.setValue(proxyPort); - - mProperties.add(property); - } - } - - /** - * Get Property instance from configuration key. - * @param key - * @return - */ - private Property getProperty(String key) { - if (mProperties != null && key != null) { - for (int i = 0; i < mProperties.size(); i++) { - if (key.compareTo(mProperties.get(i).getName()) == 0) { - return mProperties.get(i); - } - } - } - return null; - } - - /** - * @param key - * @return Get value from configuration key. - */ - public String getValue(String key) { - Property property = getProperty(key); - - if (property != null) { - return property.getValue(); - } else { - return ""; - } - } - - /** - * Get properties instance from this class - * @return - */ - public Properties getProperties() { - return mProperties; - } - - /** - * Set Properties instance to this class. - * @param properties - */ - public void setProperties(Properties properties) { - this.mProperties = properties; - } - - /** - * Set installmanager's version - * @param version - */ - public void setInstallManagerVersion(String version) { - Property property = getProperty(ConfigFile.FIELD_INSTALLMANAGER_VERSION); - - if (property != null) { - property.setValue(version); - } else { - property = new Property(); - property.setName(ConfigFile.FIELD_INSTALLMANAGER_VERSION); - property.setValue(version); - - mProperties.add(property); - } - } - - public void setRepository(String repository) { - Property property = getProperty(ConfigFile.FIELD_REPOSITORY); - - if (property != null) { - property.setValue(repository); - } else { - property = new Property(); - property.setName(ConfigFile.FIELD_REPOSITORY); - property.setValue(repository); - - mProperties.add(property); - } - } - - /** - * Load config file from configFilePath. - * @param configFilePath - * @return - */ - private boolean loadConfigFile(String configFilePath) { - List propertySections = null; - - File configFile = new File(configFilePath); - - if (!configFile.exists()) { - configFilePath = PathUtil.getFromInstalledPath(Config.INSTALL_MANAGER_DEFAULT_CONFIG_FILE_PATH); - setConfigPath(configFilePath); - } else { - setConfigPath(configFilePath); - } - - PropertyParser parser = new PropertyParser(); - propertySections = parser.readFromFile(configFilePath); - - return loadFromProperties(propertySections); - } - - /** - * Read PropertySection and make ConfigFile instance - * @param propertySections - * @return - */ - public boolean loadFromProperties(List propertySections) { - if ((propertySections == null) || (propertySections.size() == 0)) { - Log.log("(propertySections == null) || (propertySections.size() == 0)"); - return false; - } - - this.setProperties(propertySections.get(0).getProperties()); - return true; - } - - /** - * save config file to configFilePath. - * @param configFilePath config file path - */ - public void saveConfig(String configFilePath) { - Log.log("Config save config start => " + configFilePath); - if (this == null) { - Log.err("No config object"); - return; - } else {} - - if (configFilePath == null || configFilePath.equals("")) { - Log.err("Invalid config file path"); - return; - } - - File configFile = new File(configFilePath); - if (configFile.exists()) { - configFile.delete(); - } - - File parentDir = configFile.getParentFile(); - if (!parentDir.exists()) { - parentDir.mkdirs(); - } else {} - - try { + } + + /** + * @return Repository of package list to install. + */ + public String getRepository() { + return getValue(FIELD_REPOSITORY); + } + + /** + * @return Repository of package list to install. + */ + public String getDistribution() { + return getValue(FIELD_Distribution); + } + + /** + * @return Repository of installmanager to update installmanager's binary + */ + public String getInstallManagerRepository() { + return getValue(FIELD_INSTALLMANAGER_REPOSITORY); + } + + /** + * @return Version of installmanager + */ + public String getInstallManagerVersion() { + return getValue(FIELD_INSTALLMANAGER_VERSION); + } + + /** + * @return Version of installmanager + */ + public String getReleaseNoteUrl() { + return getValue(FIELD_RELEASE_NOTE); + } + + /** + * @return proxy-server for connecting to repository. + */ + public String getProxyServer() { + return getValue(FIELD_PROXY_SERVER); + } + + /** + * Set proxy server ip. + * + * @param proxyServer + */ + public void setProxyServer(String proxyServer) { + Property property = getProperty(ConfigFile.FIELD_PROXY_SERVER); + + if (property != null) { + property.setValue(proxyServer); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_PROXY_SERVER); + property.setValue(proxyServer); + + mProperties.add(property); + } + } + + /** + * @return port number for proxy. -1 if not specified. + */ + public int getProxyPort() { + String proxyPortStr = getValue(FIELD_PROXY_PORT); + try { + if (!proxyPortStr.isEmpty()) { + return Integer.parseInt(proxyPortStr); + } else { + return -1; + } + } catch (NumberFormatException e) { + Log.log("Invalid proxy port"); + return -1; + } + } + + /** + * Set proxy port + * + * @param proxyPort + */ + public void setProxyPort(String proxyPort) { + Property property = getProperty(ConfigFile.FIELD_PROXY_PORT); + + if (property != null) { + property.setValue(proxyPort); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_PROXY_PORT); + property.setValue(proxyPort); + + mProperties.add(property); + } + } + + /** + * @return Package-server for downloading packages. + */ + public String getPackageServer() { + return getValue(FIELD_PACKAGE_SERVER); + } + + /** + * Set package server + * + * @param packageServer package server address. + */ + public void setPackageServer(String packageServer) { + Property property = getProperty(ConfigFile.FIELD_PACKAGE_SERVER); + + if (property != null) { + property.setValue(packageServer); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_PACKAGE_SERVER); + property.setValue(packageServer); + + mProperties.add(property); + } + } + + /** + * @return snapshot path from repository. + */ + public String getSnapshotPath() { + return getValue(FIELD_SNAPSHOT_PATH); + } + + /** + * Set snapshot path from repository + * + * @param snapshot path. + */ + public void setSnapshotPath(String snapshotPath) { + Property property = getProperty(ConfigFile.FIELD_SNAPSHOT_PATH); + + if (property != null) { + property.setValue(snapshotPath); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_SNAPSHOT_PATH); + property.setValue(snapshotPath); + + mProperties.add(property); + } + } + + /** + * @return Built-in Extension-server for downloading packages. + */ + public String getBuiltInExtensionServer() { + return getValue(FIELD_BUILT_IN_EXTENSION_SERVER); + } + + /** + * @return Extension-server for downloading packages. + */ + public String getExtensionServer() { + return getValue(FIELD_EXTENSION_SERVER); + } + + /** + * Set package server + * + * @param packageServer package server address. + */ + public void setExtensionServer(String extensionServer) { + Property property = getProperty(ConfigFile.FIELD_EXTENSION_SERVER); + + if (property != null) { + property.setValue(extensionServer); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_EXTENSION_SERVER); + property.setValue(extensionServer); + + mProperties.add(property); + } + } + + /** + * Get Property instance from configuration key. + * + * @param key + * @return + */ + private Property getProperty(String key) { + if (mProperties != null && key != null) { + for (int i = 0; i < mProperties.size(); i++) { + if (key.compareTo(mProperties.get(i).getName()) == 0) { + return mProperties.get(i); + } + } + } + return null; + } + + /** + * @param key + * @return Get value from configuration key. + */ + public String getValue(String key) { + Property property = getProperty(key); + + if (property != null) { + return property.getValue(); + } else { + return ""; + } + } + + /** + * Get properties instance from this class + * + * @return + */ + public Properties getProperties() { + return mProperties; + } + + /** + * Set Properties instance to this class. + * + * @param properties + */ + public void setProperties(Properties properties) { + this.mProperties = properties; + } + + /** + * Set installmanager's version + * + * @param version + */ + public void setInstallManagerVersion(String version) { + Property property = getProperty(ConfigFile.FIELD_INSTALLMANAGER_VERSION); + + if (property != null) { + property.setValue(version); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_INSTALLMANAGER_VERSION); + property.setValue(version); + + mProperties.add(property); + } + } + + /** + * Get sdk repository. + * @param repository + */ + public void setRepository(String repository) { + Property property = getProperty(ConfigFile.FIELD_REPOSITORY); + + if (property != null) { + property.setValue(repository); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_REPOSITORY); + property.setValue(repository); + + mProperties.add(property); + } + } + + /** + * Get current distribution in repository. + * @param distribution + */ + public void setDistribution(String distribution) { + Property property = getProperty(ConfigFile.FIELD_Distribution); + + if (property != null) { + property.setValue(distribution); + } else { + property = new Property(); + property.setName(ConfigFile.FIELD_Distribution); + property.setValue(distribution); + + mProperties.add(property); + } + } + + /** + * Load config file from configFilePath. + * + * @param configFilePath + * @return + */ + private boolean loadConfigFile(String configFilePath) { + List propertySections = null; + + File configFile = new File(configFilePath); + + if (!configFile.exists()) { + return false; + } else { + setConfigPath(configFilePath); + } + + PropertyParser parser = new PropertyParser(); + propertySections = parser.readFromFile(configFilePath); + + return loadFromProperties(propertySections); + } + + /** + * Read PropertySection and make ConfigFile instance + * + * @param propertySections + * @return + */ + public boolean loadFromProperties(List propertySections) { + if ((propertySections == null) || (propertySections.size() == 0)) { + Log.log("(propertySections == null) || (propertySections.size() == 0)"); + return false; + } + + this.setProperties(propertySections.get(0).getProperties()); + return true; + } + + /** + * save config file to configFilePath. + * + * @param configFilePath + * config file path + */ + public void saveConfig(String configFilePath) { + Log.log("Config save config start => " + configFilePath); + if (this == null) { + Log.err("No config object"); + return; + } else { + } + + if (configFilePath == null || configFilePath.equals("")) { + Log.err("Invalid config file path"); + return; + } + + File configFile = new File(configFilePath); + if (configFile.exists()) { + configFile.delete(); + } + + File parentDir = configFile.getParentFile(); + if (!parentDir.exists()) { + parentDir.mkdirs(); + } else { + } + + try { configFile.createNewFile(); } catch (IOException e1) { Log.err("Cannot create config file => " + configFilePath); throw new IMFatalException(ErrorCode.CANNOT_SAVE_CONFIG); } - + BufferedWriter writer = null; - try { - writer = new BufferedWriter(new FileWriter(configFile)); - - Properties repoProperties = this.getProperties(); - for (int i=0; i + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.pkg.model; + +import java.util.List; + +/** + * This class describes a distribution. + * This class cannot change variable. + * + * @author Shihyun Kim + * + */ +public class Distribution { + private static final String FIELD_NAME = "name"; + private static final String FIELD_DATE = "time"; + + private String repository = ""; + private List mProperties; + + /** + * Constructor. + * + * @param properties + * Set properties to member variable. + */ + public Distribution(String repo, List properties) { + this.repository = repo; + this.mProperties = properties; + } + + /** + * Get snapshot name. + * @return + */ + public String getName() { + return getValue(FIELD_NAME); + } + + /** + * Get intended date of snapshot + * @return + */ + public String getDate() { + return getValue(FIELD_DATE); + } + + /** + * Get Property instance from configuration key. + * + * @param key + * @return + */ + private Property getProperty(String key) { + for (Property prop : mProperties) { + if (prop.getName().equals(key)) { + return prop; + } + } + return null; + } + + /** + * @return List of Property instance. + */ + public List getProperties() { + return mProperties; + } + + public String getRepository() { + return this.repository; + } + + /** + * @param key + * @return string value of the property name. empty string if there's no + * such property name + */ + private String getValue(String key) { + Property property = getProperty(key); + if (property == null) { + return null; + } else { + return property.getValue(); + } + } + + public String toString() { + return getName(); + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/DistributionSet.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/DistributionSet.java new file mode 100644 index 0000000..9f436c4 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/DistributionSet.java @@ -0,0 +1,76 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Wooyoung Cho +* Shihyun Kim +* Taeyoung Son +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.pkg.model; + +import java.util.LinkedHashSet; + +/** + * This class describes a snapshot list. + * + * @author Shihyun Kim + * + */ +@SuppressWarnings("serial") +public class DistributionSet extends LinkedHashSet{ + public final static DistributionSet EMPTY = new DistributionSet(); + + /** + * Finds and returns a snapshot in this set with the same name of the given snapshot. + * You have to check the existence with contains() method before calling this method. + * @param p0 + * @return a snapshot that has same name with the given snapshot. + * null when cannot find the snapshot + */ + public Distribution getDistribution(Distribution dist) { + for(Distribution d : this) { + if(d.equals(dist)) { + return d; + } + } + return null; + } + + /** + * @param snapshot Name + * @return snapshot object that has the snapshot name. + * null when cannot find the snapshot + */ + public Distribution getDistributionByName(String distName) { + for(Distribution d : this) { + String name = d.getName(); + + if (name != null) { + if(name.equals(distName)) { + return d; + } + } + } + return null; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/Package.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Package.java new file mode 100644 index 0000000..f8b6dc8 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Package.java @@ -0,0 +1,501 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Wooyoung Cho +* Shihyun Kim +* Taeyoung Son +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.pkg.model; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; + +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.ErrorController.ErrorCode; +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.lib.Platform; + +/** + * This class describes a package. + * + * @author Wooyoung Cho + * + */ +public class Package { + + // fields of package control + // mandatory + public static final String FIELD_PACKAGE = "Package"; + public static final String FIELD_VERSION = "Version"; + public static final String FIELD_LABEL = "Label"; + public static final String FIELD_MAINTAINER = "Maintainer"; + public static final String FIELD_DESCRIPTION = "Description"; + + // etc + public static final String FIELD_DEPENDS = "Install-dependency"; // list of packages that this package depends on + public static final String FIELD_CONFLICTS = "Conflicts"; + public static final String FIELD_PACKAGE_SIZE = "Size"; // size of zipped package + // public static final String FIELD_INSTALLEDSIZE = "Installed-Size"; // TODO implement + + // fields of installed control + public static final String FIELD_ATTRIBUTE = "Attribute"; + + // fields of repository control + public static final String FIELD_SHA256 = "SHA256"; + public static final String FIELD_FILE_PATH = "Path"; // path from the base url + + // fields of ordering for UI + public static final String FIELD_ORDER = "C-Order"; + + // field of Partner SDK + public static final String FIELD_PARTNER = "C-Partner"; + + // fields of script + public static final String INSTALL_SCRIPT_LINUX = "install.sh"; + public static final String REMOVE_SCRIPT_LINUX = "remove.sh"; + public static final String INSTALL_SCRIPT_WINDOWS = "Install.bat"; + public static final String REMOVE_SCRIPT_WINDOWS = "Remove.bat"; + + // fields of ui control + public static final String FIELD_DEFAULT_CHECK = "Default"; + + //field of extension server. this field is used by installed list. + public static final String FIELD_EXTENSION_SERVER = "Extension-server"; + + // attribute value + private static final String ATTRIBUTE_ROOT_META = "root"; + private static final String ATTRIBUTE_EXTRA_META = "extra"; + private static final String ATTRIBUTE_INSTALL_META = "install"; + private static final String ATTRIBUTE_MANDATORY = "mandatory"; + private static final String ATTRIBUTE_PARTNER = "partner"; + private static final String ATTRIBUTE_PUBLIC = "public"; + + //dependency information + private final String START_OF_OS_DEPENDENCY = "["; + + private List mProperties; + private URL url; // url to the package zip file + + private final int LOWEST_ORDER = 100; + + public Package(List properties) { + this.mProperties = properties; + } + + /** + * Make url of package. + * @param properties package + * @param repoBaseUrl url before snapshot path. + */ + public Package(Properties properties, String repoBaseUrl) { + this(properties); + try { + if (Config.fromWhere == Config.ConfDialog.LOCAL_IMAGE) { // data from file dialog for local installing + this.url = new URL(repoBaseUrl + "/" + getValue(FIELD_FILE_PATH)); + } else { // data from snapshot and normal 'next' case + this.url = new URL(repoBaseUrl + "/" + getValue(FIELD_FILE_PATH)); + } + } catch (MalformedURLException e) { + Log.err("Invalid package url: "+repoBaseUrl + "/" + getValue(FIELD_FILE_PATH)); + throw new IMFatalException(ErrorCode.WRONG_PACKAGE_URL); + } + } + + /** + * @return version of this package + */ + public Version getVersion() { + return new Version(getValue(FIELD_VERSION)); + } + + /** + * @return package name of this package + */ + public String getPackageName() { + return getValue(FIELD_PACKAGE); + } + + /** + * @return name of package. + */ + public String getLabel() { + return getValue(FIELD_LABEL); + } + + /** + * @return the size of zipped package file + */ + public Long getPackageSize() { + long result = 0; + try { + result = Long.parseLong(getValue(FIELD_PACKAGE_SIZE)); + } catch(NumberFormatException e) { + Log.err(toString() + " size do not exist."); + Log.ExceptionLog(e); + } + + return result; + } + + /** + * @return Path of this package File from repository. + */ + public String getFileName() { + return getValue(FIELD_FILE_PATH); + } + + /** + * @return Description of this package. + */ + public String getDescription() { + return getValue(FIELD_DESCRIPTION); + } + + /** + * @return SHA256 digest of this package file. + */ + public String getSHA256() { + return getValue(FIELD_SHA256); + } + + /** + * @return URL to the package file in repository. + */ + public URL getURL() { + return url; + } + + public String getPartner() { + return getValue(FIELD_PARTNER); + } + + /** + * @return Extension server of this package. + */ + public String getExtensionServer() { + return getValue(FIELD_EXTENSION_SERVER); + } + + /** + * Set extension server to package information. + * @param extensionServer extension server of this packge + */ + public void setExtensionServer(String extensionServer) { + Property property = getProperty(FIELD_EXTENSION_SERVER); + + if (property != null) { + property.setValue(extensionServer); + } else { + property = new Property(); + property.setName(FIELD_EXTENSION_SERVER); + property.setValue(extensionServer); + + mProperties.add(property); + } + } + /** + * Get package order for InstallManager displaying package tree. + * @return package order + */ + public int getOrder() { + String order = getValue(FIELD_ORDER); + if (order.equals("")) { + return LOWEST_ORDER; + } else { + int nOrder = 0; + try { + nOrder = Integer.parseInt(order); + } catch (NumberFormatException e) { + Log.err("C-Order field value is not a integer format."); + return 100; + } + return nOrder; + } + } + + /** + * @return Remove Script name of this package. + */ + public String getRemoveScript() { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return REMOVE_SCRIPT_LINUX; + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + return REMOVE_SCRIPT_WINDOWS; + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + return ""; + } else {} + return null; + } + + /** + * @return Install script name of this package. + */ + public String getInstallScript() { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return INSTALL_SCRIPT_LINUX; + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { + return INSTALL_SCRIPT_WINDOWS; + } else if (Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + return ""; + } else {} + return null; + } + + /** + * @return List of Property instance. + */ + public List getProperties() { + return mProperties; + } + + /** + * Get Property instance from key. + * + * @param key + * @return + */ + private Property getProperty(String key) { + if (mProperties != null && key != null) { + for (int i = 0; i < mProperties.size(); i++) { + if (key.compareTo(mProperties.get(i).getName()) == 0) { + return mProperties.get(i); + } + } + } + return null; + } + + /** + * @param propertyName + * @return string value of the property name. empty string if there's no such property name + */ + private String getValue(String propertyName) { + for(Property prop : mProperties) { + if(prop.getName().equals(propertyName)) { + return prop.getValue(); + } + } + return ""; + } + + /** + * @return Attribute value. + */ + public String getAttribute() { + return getValue(FIELD_ATTRIBUTE); + } + + /** + * @return true if this package is a meta package. + */ + public boolean isMeta() { + // onlyDownload option, in this case, do not need separate public meta package + // to partner meta package because installmanager should download all meta packages. + if (Options.onlyDownload) { + if (isRootMeta() || isInstallMeta() || isExtraMeta() || + isPublicMeta() || isPartnerMeta() || isMandatory()) { + return true; + } else { + return false; + } + } + + if (!Options.partnerSdk) { // public download case + if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPublicMeta()) { + return true; + } else { + return false; + } + } else { // partner download case + if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPartnerMeta()) { + return true; + } else { + return false; + } + } + } + + /** + * @return true if this package is a root meta package. + */ + public boolean isRootMeta() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_ROOT_META)) { + return true; + } else { + return false; + } + } + + /** + * @return true if this package is a extra meta package. + */ + public boolean isExtraMeta() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_EXTRA_META)) { + return true; + } else { + return false; + } + } + + /** + * Check to belong to partner sdk given package + * @return true if this package is a partner package. + */ + public boolean isPartnerMeta() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_PARTNER)) { + return true; + } else { + return false; + } + } + + /** + * Check to belong to partner sdk given package + * @return true if this package is a partner package. + */ + public boolean isPublicMeta() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_PUBLIC)) { + return true; + } else { + return false; + } + } + + /** + * @return true if this meta package is a install meta package. + */ + public boolean isInstallMeta() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_INSTALL_META)) { + return true; + } else { + return false; + } + } + + /** + * @return true, if this package is a mandatory package. This package must install. + */ + public boolean isMandatory() { + String attributeValue = getAttribute().trim(); + + if (attributeValue.equalsIgnoreCase(ATTRIBUTE_MANDATORY)) { + return true; + } else { + return false; + } + } + + public boolean isExtensionPackage() { + String extensionServer = getExtensionServer(); + + if (extensionServer == null || extensionServer.isEmpty()) { + return false; + } else { + return true; + } + } + + /** + * @return package names that this package directly depends on + */ + public Collection getDependentPackageNames() { + HashSet depends = new HashSet(); + String dependsStr = getValue(FIELD_DEPENDS); + String deps[] = dependsStr.split(","); + for(int i = 0; i < deps.length; i++) { + String dep = removeOSInformationOfDepends(deps[i]); + + if(!dep.isEmpty()) { + depends.add(dep); + } + } + return depends; + } + + private String removeOSInformationOfDepends(String info) { + //Log.log("Package.removeOSInformation (info => " + info + ")"); + + if (info.contains(START_OF_OS_DEPENDENCY)) { + int index = info.indexOf(START_OF_OS_DEPENDENCY); + String pkgInfo = info.substring(0, index).trim(); + + return pkgInfo; + } else { + return info.trim(); + } + } + + /** + * @return package names that this package directly conflicts to + */ + public Collection getConflictPackageNames() { + HashSet conflicts = new HashSet(); + String conflictsStr = getValue(FIELD_CONFLICTS); + String confs[] = conflictsStr.split(","); + for(int i = 0; i < confs.length; i++) { + conflicts.add(confs[i].trim()); + } + return conflicts; + } + + public String toString() { + return getPackageName(); + } + + /** + * Checks equality symbolically only using their package names. + * @return true if they have the same package name. + */ + public boolean equals(Object obj) { + if (obj instanceof Package) { + Package pkg2 = (Package)obj; + return this.getPackageName().equals(pkg2.getPackageName()); + } else { + return false; + } + } + + public int hashCode() { + return getPackageName().hashCode(); + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/PackageSet.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/PackageSet.java index 55d2f2e..37c9b45 100644 --- a/InstallManager_java/src/org/tizen/installmanager/pkg/model/PackageSet.java +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/PackageSet.java @@ -31,6 +31,7 @@ package org.tizen.installmanager.pkg.model; import java.util.Collection; import java.util.LinkedHashSet; + /** * This class represents a set of packages. * Even though this is a set, it preserves the order that elements are added. Iteration on this set will be in the order elements are added. @@ -38,7 +39,7 @@ import java.util.LinkedHashSet; * @author Wooyoung Cho */ @SuppressWarnings("serial") -public class PackageSet extends LinkedHashSet{ +public class PackageSet extends LinkedHashSet{ public final static PackageSet EMPTY = new PackageSet(); /** @@ -48,8 +49,8 @@ public class PackageSet extends LinkedHashSet{ * @return a package that has same name with the given package. * null when cannot find the package */ - public Package2 getPackage(Package2 p0) { - for(Package2 p : this) { + public Package getPackage(Package p0) { + for(Package p : this) { if(p.equals(p0)) { return p; } @@ -62,8 +63,12 @@ public class PackageSet extends LinkedHashSet{ * @return package object that has the package name. * null when cannot find the package */ - public Package2 getPackageByName(String packageName) { - for(Package2 p : this) { + public Package getPackageByName(String packageName) { + if (packageName == null) { + return null; + } + + for(Package p : this) { if(p.getPackageName().equals(packageName)) { return p; } @@ -76,7 +81,7 @@ public class PackageSet extends LinkedHashSet{ * @return true if there's a package with the package name */ public boolean hasPackageByName(String packageName) { - for(Package2 p : this) { + for(Package p : this) { if(p.getPackageName().equals(packageName)) { return true; } @@ -89,7 +94,7 @@ public class PackageSet extends LinkedHashSet{ * @param package instance * @return true if there's a package. */ - public boolean hasPackage(Package2 pkg) { + public boolean hasPackage(Package pkg) { if (getPackage(pkg) == null) { return false; } else { @@ -105,11 +110,9 @@ public class PackageSet extends LinkedHashSet{ public PackageSet getPackagesByNames(Collection names) throws IMPackageNotFound { PackageSet pset = new PackageSet(); for(String name : names) { - Package2 pkg = getPackageByName(name); + Package pkg = getPackageByName(name); if(pkg != null) { pset.add(pkg); - } else { - throw new IMPackageNotFound(name); } } return pset; diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/Snapshot.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Snapshot.java new file mode 100644 index 0000000..9583e88 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Snapshot.java @@ -0,0 +1,180 @@ +/* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.pkg.model; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import org.tizen.installmanager.lib.Log; + +/** + * This class describes a snapshot. + * + * @author Shihyun Kim + * + */ +public class Snapshot implements Comparable { + private static final String FIELD_TYPE = "type"; + private static final String FIELD_NAME = "name"; + private static final String FIELD_PATH = "path"; + private static final String FIELD_TIME = "time"; + + private List mProperties; + + /** + * Constructor. + * + * @param properties + * Set properties to member variable. + */ + public Snapshot(List properties) { + this.mProperties = properties; + } + + /** + * Get snapshot type. + * @return + */ + public String getType() { + return getValue(FIELD_TYPE); + } + + /** + * Get snapshot name. + * @return + */ + public String getName() { + return getValue(FIELD_NAME); + } + + /** + * Get snapshot path. + * @return + */ + public String getPath() { + return getValue(FIELD_PATH); + } + + /** + * Get intended date of snapshot + * @return + */ + public Date getTime() { + String strDate = getValue(FIELD_TIME); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + Date date = null; + try { + date = sdf.parse(strDate); + } catch (ParseException e) { + Log.err("Snapshot time attribute is not SimpleDateFormat."); + } + //Date date = new Date(lDate); + return date; + } + + /** + * Get Property instance from configuration key. + * + * @param key + * @return + */ + private Property getProperty(String key) { + for (Property prop : mProperties) { + if (prop.getName().equals(key)) { + return prop; + } + } + return null; + } + + /** + * @return List of Property instance. + */ + public List getProperties() { + return mProperties; + } + + /** + * Set Properties instance to this class. + * + * @param properties + */ + public void setProperties(List properties) { + this.mProperties = properties; + } + + /** + * @param key + * @return string value of the property name. empty string if there's no + * such property name + */ + private String getValue(String key) { + Property property = getProperty(key); + if (property == null) { + return null; + } else { + return property.getValue(); + } + } + + @Override + public String toString() { + return getName(); + } + + @Override + public boolean equals(Object arg) { + if (arg != null) { + String argName = ((Snapshot)arg).getName(); + + if (argName.equals(getName())){ + return true; + } else { + return false; + } + } else { + return false; + } + } + + @Override + public int compareTo(Snapshot snapshot) { + //Descending sort. + Date argTime = ((Snapshot)snapshot).getTime(); + return argTime.compareTo(getTime()); + } + + @Override + public int hashCode() { + assert false : "hashCode not designed"; + return 42; // any arbitrary constant will do + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/SnapshotList.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/SnapshotList.java new file mode 100644 index 0000000..815ee74 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/SnapshotList.java @@ -0,0 +1,81 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Wooyoung Cho +* Shihyun Kim +* Taeyoung Son +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.pkg.model; + +import java.util.ArrayList; + +/** + * This class describes a snapshot list. + * + * @author Shihyun Kim + * + */ +@SuppressWarnings("serial") +public class SnapshotList extends ArrayList { + public final static SnapshotList EMPTY = new SnapshotList(); + + /** + * Finds and returns a snapshot in this list with the same name of the given snapshot. + * You have to check the existence with contains() method before calling this method. + * @param p0 + * @return a snapshot that has same name with the given snapshot. + * null when cannot find the snapshot + */ + public Snapshot getSnapshot(Snapshot snapshot) { + for(Snapshot s : this) { + if(s.equals(snapshot)) { + return s; + } + } + return null; + } + + /** + * @param snapshot Name + * @return snapshot object that has the snapshot name. + * null when cannot find the snapshot + */ + public Snapshot getSnapshotByName(String snapshotName) { + for(Snapshot s : this) { + if(s.getName().equals(snapshotName)) { + return s; + } + } + return null; + } + + public Snapshot getSnapshotByPath(String snapshotPath) { + for(Snapshot s : this) { + if(s.getPath().equals(snapshotPath)) { + return s; + } + } + return null; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/pkg/model/Version.java b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Version.java index 4693e83..db29571 100644 --- a/InstallManager_java/src/org/tizen/installmanager/pkg/model/Version.java +++ b/InstallManager_java/src/org/tizen/installmanager/pkg/model/Version.java @@ -46,9 +46,9 @@ public class Version { public static final int LT = -1; public static final int GT = 1; - private Integer mMajor; - private Integer mMinor; - private Integer mRevision; + private Integer mMajor = 0; + private Integer mMinor = 0; + private Integer mRevision = 0; /** @@ -82,6 +82,9 @@ public class Version { * @param version full version. */ private void parseVersionString(String version) { + if (version == null || version.isEmpty()) { + return; + } String[] dividedVersion = version.split("\\."); int length = dividedVersion.length; @@ -99,8 +102,8 @@ public class Version { mRevision = Integer.parseInt(dividedVersion[2]); } } catch (NumberFormatException numException) { - Log.err("Invalid package version: "+version); - throw new IMFatalException(ErrorCode.INVALID_PACKAGE_VERSION); + Log.err("Invalid package version: "+version); + throw new IMFatalException(ErrorCode.INVALID_PACKAGE_VERSION); } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java b/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java index 9b5cc53..2ca2986 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java @@ -28,14 +28,11 @@ package org.tizen.installmanager.ui; -import java.io.File; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; -import org.eclipse.swt.SWTError; import org.eclipse.swt.custom.StackLayout; import org.eclipse.swt.events.PaintEvent; import org.eclipse.swt.events.PaintListener; @@ -55,7 +52,6 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.tizen.installmanager.core.Config; import org.tizen.installmanager.core.IMExitException; -import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.core.InstallManager; import org.tizen.installmanager.core.Options; import org.tizen.installmanager.core.UpdateInstallManager; @@ -63,13 +59,13 @@ import org.tizen.installmanager.lib.Documents; import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.IMError; import org.tizen.installmanager.lib.Log; -import org.tizen.installmanager.lib.OldRegistry; import org.tizen.installmanager.lib.Platform; import org.tizen.installmanager.lib.ProgramController; import org.tizen.installmanager.lib.Registry; -import org.tizen.installmanager.lib.ErrorController.ErrorCode; -import org.tizen.installmanager.pkg.lib.PackageManager2; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.pkg.model.PackageSet; +import org.tizen.installmanager.ui.dialog.AddExtraRepositoryDialog; import org.tizen.installmanager.ui.dialog.IndeterminateProgressDialog; import org.tizen.installmanager.ui.dialog.MessageBoxDlg; import org.tizen.installmanager.ui.dialog.MessageBoxDlg.DialogType; @@ -81,13 +77,12 @@ import org.tizen.installmanager.ui.page.LicensePage; import org.tizen.installmanager.ui.page.SetInstallDirectoryPage; import org.tizen.installmanager.ui.page.UninstallableListPage; import org.tizen.installmanager.ui.page.UninstallingPage; +import org.tizen.installmanager.ui.page.UpdatableListPage; import org.tizen.installmanager.ui.page.ViewController; import org.tizen.installmanager.ui.page.WelcomePage; import org.tizen.installmanager.ui.page.InstallingPage.InstallProgressMonitor; import org.tizen.installmanager.ui.page.WelcomePage.RADIO_ACTION; -import org.tizen.installmanager.util.IMShellCommandFail; import org.tizen.installmanager.util.PathUtil; -import org.tizen.installmanager.util.ShellUtil; /** @@ -95,8 +90,7 @@ import org.tizen.installmanager.util.ShellUtil; * @author Taeyoung Son */ public class InstallManagerWindow extends ApplicationWindow { - public static final RGB RGB_BACKGROUND = new RGB(242, 242, - 242); + public static final RGB RGB_BACKGROUND = new RGB(242, 242, 242); private static final Point POINT_MAIN_WINDOW = new Point(628, 478); private static Image IMAGE_WINDOW_ICON; @@ -108,7 +102,10 @@ public class InstallManagerWindow extends ApplicationWindow { private static Button btnClose; private static Button btnBack; private static Button btnNext; + private static Button addExtraButton; + private AddExtraRepositoryDialog extraDialog = null; + private Composite pageComposite; private WelcomePage compositeWelcomePage; private LicensePage compositeLicensePage; @@ -118,6 +115,7 @@ public class InstallManagerWindow extends ApplicationWindow { private UninstallingPage compositeUninstallingPage; private CompletePage compositeCompletePage; private SetInstallDirectoryPage compositeSetInstallDirectoryPage; + public UpdatableListPage compositeUpdatableListPage; private static ViewController controller; private SelectionAdapter cancelBtnSelectionAdapter = null; @@ -150,102 +148,76 @@ public class InstallManagerWindow extends ApplicationWindow { return IMAGE_WINDOW_ICON; } - private void init() { + private void init() throws IMExitException{ Log.log("Window init start"); - - final Runnable initJob = new Runnable() { - - @Override + + //make waiting dialog. + final IndeterminateProgressDialog progressbar = IndeterminateProgressDialog.getInstance(); + + final Shell shell = progressbar.getParent(); + shell.getDisplay().asyncExec(new Runnable(){ public void run() { - try { - checkJavaInstallation(); - controller = new ViewController(); - initController(); - } catch (IMFatalException e) { - Log.ExceptionLog(e); - ErrorController.setInstallationSuccess(false); - } catch (Exception e) { - Log.ExceptionLog(e); - ErrorController.setInstallationSuccess(false); - } - } - - }; - - try { - // if GUI environment, show progress bar - Shell shell = new Shell(Display.getCurrent()); - final IndeterminateProgressDialog progressbar = new IndeterminateProgressDialog(shell, - SWT.NONE, "Checking Install Manager update..."); - progressbar.updateName("Initialize InstallManager"); - Runnable initWithUI = new Runnable() { - public void run() { - try { - initJob.run(); - } finally { - progressbar.finish(); + //checking installmanager update. + if (Options.doUpdateInstallManager) { + progressbar.updateName("Checking InstallManager update.\nIt may take a minute..."); + shell.getDisplay().asyncExec(new Runnable() { + public void run() { + if (updateInstallManager()) { + Log.log("InstallManager is updatable."); + System.out.println("## Success to update the InstallManager, and restart now."); + ErrorController.isInstallManagerUpdatable = true; + return; + } + } + }); + } else {} + + //initialize installmanager + progressbar.updateName("Connecting to package server.\nIt may take a minute..."); + shell.getDisplay().asyncExec(new Runnable() { + public void run() { + if (!initInstallManager()) { + Log.err("InstallManager init fail."); + ErrorController.setInstallationSuccess(false); + } } - } - }; - Thread initThread = new Thread(initWithUI); - initThread.start(); - progressbar.open(); - - try { - initThread.join(); - } catch (InterruptedException e) { - throw new IMFatalException("Failed to initialize"); + + }); + + //init end + progressbar.finish(); } - } catch (SWTError e) { - // if headless environment(especially for testing), just run the init job. - Log.log("Headless env detected. Init without UI"); - initJob.run(); + }); + + if (!shell.isDisposed()) { + progressbar.open(); } - - if (!ErrorController.checkInstallationSuccess()) { - throw new IMFatalException(ErrorController.getErrorCode()); + + if (ErrorController.isInstallManagerUpdatable) { + throw new IMExitException(Config.EXITCODE_HAS_SELF_UPDATE); } Log.log("Window init end"); } - private void initController() { - boolean bResult = controller.init(); + private boolean updateInstallManager() { + UpdateInstallManager upInstaller = new UpdateInstallManager(); + + return upInstaller.update(); - if (bResult == true) { - Log.log("Installer is ready for installing - ViewController is " + - "initialized succecsfully"); - ErrorController.setInstallationSuccess(true); - } else { - Log.err("Installer is not ready for installing - ViewController init failed"); - ErrorController.setInstallationSuccess(false); - } } - private void checkJavaInstallation() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - File checkJavaScript = null; - try { - checkJavaScript = PathUtil.getTempFileFromResource( - "/res/desktop_directory/checkJavaInstallation.sh", - "checkJavaInstallation", - ".sh"); - checkJavaScript.setExecutable(true); - } catch (IOException e) { - Log.ExceptionLog(e); - throw new IMFatalException("Cannot execute checkJavaScript "); - } - - try { - int exitCode = ShellUtil.execute(checkJavaScript.getAbsolutePath()); - if (exitCode != 0) { - throw new IMFatalException(ErrorCode.CANNOT_FIND_JAVA); - } - } catch (IMShellCommandFail e) { - Log.ExceptionLog(e); - throw new IMFatalException("Cannot execute " + checkJavaScript.getAbsolutePath()); - } - } + /** + * init IM's configuation and packages information. + * @return + */ + private boolean initInstallManager() { + ErrorController.setInstallationSuccess(true); + + controller = new ViewController(); + boolean bResult = controller.init(); + + return bResult; } /** @@ -255,6 +227,7 @@ public class InstallManagerWindow extends ApplicationWindow { */ @Override protected Control createContents(Composite parent) { + IMError.setComposite(parent); Composite container = new Composite(parent, SWT.NONE); container.setBackground(getBackgroundColor()); @@ -290,7 +263,7 @@ public class InstallManagerWindow extends ApplicationWindow { result = MessageBoxDlg.showDlg( e.display.getActiveShell(), "Tizen SDK Install Manager", - "Are you sure you want to quit Install Manager?\n\nIf you click \"Yes\", installation will be stopped.", + "Are you sure you want to quit Install Manager?\n\nIf you click \"Yes\", the installation is stopped.", DialogType.WARNING); if (result == MessageBoxDlg.YES) { mon.setCanceled(true); @@ -298,22 +271,22 @@ public class InstallManagerWindow extends ApplicationWindow { mon.setCancelRequested(false); } return; - } else if (sl_composite.topControl == compositeUninstallingPage) + } else if (sl_composite.topControl == compositeUninstallingPage) { result = MessageBoxDlg.showDlg( e.display.getActiveShell(), "Tizen SDK Install Manager", - "Are you sure you want to quit Install Manager?\n\nIf you click \"Yes\", uninstallation will be stopped.", + "Are you sure to quit Install Manager?\n\nIf you click \"Yes\", the uninstallation is stopped.", DialogType.WARNING); - else if (sl_composite.topControl == compositeCompletePage) { + } else if (sl_composite.topControl == compositeCompletePage) { if (Documents.isChecked()) { - Documents.ShowChangeLog(); // show the change log(history) + Documents.showChangeLog(); // show the change log(history) } result = MessageBoxDlg.YES; } else result = MessageBoxDlg.showDlg(e.display.getActiveShell(), "Tizen SDK Install Manager", - "Are you sure you want to quit Install Manager?", + "Are you sure to quit Install Manager?", DialogType.WARNING); if (result == MessageBoxDlg.YES) { e.display.close(); @@ -337,21 +310,22 @@ public class InstallManagerWindow extends ApplicationWindow { @Override public void widgetSelected(SelectionEvent e) { if (sl_composite.topControl == compositeWelcomePage) { + addExtraButton.setVisible(false); if (compositeWelcomePage.getSelectedRadioButton() == RADIO_ACTION.INSTALL) { if (!ErrorController.checkInstallationSuccess()) return; btnNext.setEnabled(compositeLicensePage.getAcceptButton() .getSelection()); - if (controller.existRemovablePackage()) + if (controller.existRemovablePackage()) // Update case { boolean hasItem = false; - hasItem = compositeInstallablePage.loadPage(controller); + hasItem = compositeUpdatableListPage.loadPage(controller); btnBack.setVisible(true); + addExtraButton.setVisible(true); if (hasItem) { - showComposite(compositeInstallablePage); - btnNext.setEnabled(hasItem); + showComposite(compositeUpdatableListPage); if (controller.existRemovablePackage()) { btnNext.setText("Install"); } @@ -365,16 +339,30 @@ public class InstallManagerWindow extends ApplicationWindow { btnBack.setVisible(true); } } else if (compositeWelcomePage.getSelectedRadioButton() == RADIO_ACTION.UNINSTALL) { - if (Registry.isOldSDKInstalled()) { - OldRegistry oreg = new OldRegistry(); - oreg.remove(); - showUninstallOldSDKCompletePage(); + int resultDialog = MessageBoxDlg.NO; + resultDialog = MessageBoxDlg.showDlg( + e.display.getActiveShell(), + "Tizen SDK Install Manager", + "Are you sure you want to remove the Tizen SDK?\n\nIf you click \"Yes\", the Tizen SDK is uninstalled.", + DialogType.WARNING); + if (resultDialog == MessageBoxDlg.YES) { + showComposite(compositeUninstallingPage); + btnBack.setVisible(false); + btnNext.setVisible(false); + btnClose.setEnabled(false); + addExtraButton.setVisible(false); + List items = compositeUninstallablePage.getItems(); + boolean result = compositeUninstallingPage.loadPage(getSelectedPackageNames(items) /* compositeInstallablePage.getCheckedPackageNames()*/, + controller, + window); + if (!result) { + showComposite(compositeWelcomePage); + btnBack.setVisible(true); + btnNext.setVisible(true); + btnClose.setEnabled(true); + } } else { - compositeUninstallablePage.loadPage(controller); - showComposite(compositeUninstallablePage); - btnBack.setVisible(true); - btnNext.setText("Uninstall"); - btnBack.setVisible(true); + return; } } } else if (sl_composite.topControl == compositeLicensePage) { @@ -383,6 +371,7 @@ public class InstallManagerWindow extends ApplicationWindow { showComposite(compositeInstallablePage); btnNext.setEnabled(hasItem); btnBack.setVisible(hasItem); + addExtraButton.setVisible(true); if (controller.existRemovablePackage()) { btnNext.setText("Install"); } @@ -394,13 +383,16 @@ public class InstallManagerWindow extends ApplicationWindow { // DialogType.NOTIFY); } } else if (sl_composite.topControl == compositeInstallablePage) { + List items = compositeInstallablePage.getItems(); + if (getSelectedPackageNames(items).size() <= 0) { + return; + } if (controller.existRemovablePackage()) { btnBack.setVisible(false); btnNext.setVisible(false); - List items = compositeInstallablePage.getItems(); showComposite(compositeInstallingPage); - boolean result = compositeInstallingPage.loadPage( - getSelectedPackageNames(items), + addExtraButton.setVisible(false); + boolean result = compositeInstallingPage.loadPage(getSelectedPackageNames(items), controller, Registry.getInstalledPath(), window, true); @@ -409,6 +401,7 @@ public class InstallManagerWindow extends ApplicationWindow { btnBack.setVisible(true); btnNext.setVisible(true); btnClose.setEnabled(true); + addExtraButton.setVisible(true); } } else { showComposite(compositeSetInstallDirectoryPage); @@ -416,6 +409,31 @@ public class InstallManagerWindow extends ApplicationWindow { controller, compositeInstallablePage.getCheckedPackageSize()); btnNext.setText("Install"); + addExtraButton.setVisible(false); + } + } else if (sl_composite.topControl == compositeUpdatableListPage) { + List items = compositeUpdatableListPage.getItems(); + if (getSelectedPackageNames(items).size() <= 0) { + return; + } + if (controller.existRemovablePackage()) { + btnBack.setVisible(false); + btnNext.setVisible(false); + addExtraButton.setVisible(false); + showComposite(compositeInstallingPage); + boolean result = compositeInstallingPage.loadPage(getSelectedPackageNames(items), controller, Registry.getInstalledPath(), window, true); + + if (!result) { + showComposite(compositeUpdatableListPage); + btnBack.setVisible(true); + btnNext.setVisible(true); + btnClose.setEnabled(true); + addExtraButton.setVisible(true); + } + } else { + showComposite(compositeSetInstallDirectoryPage); + compositeSetInstallDirectoryPage.loadPage(controller, compositeInstallablePage.getCheckedPackageSize()); + btnNext.setText("Install"); } } else if (sl_composite.topControl == compositeSetInstallDirectoryPage) { boolean installable = compositeSetInstallDirectoryPage.isInstallablePath(); @@ -423,12 +441,13 @@ public class InstallManagerWindow extends ApplicationWindow { MessageBoxDlg.showDlg( Display.getCurrent().getShells()[0], "Error", - "Selected disk's free space is not enough to install. Select another disk path.", + "Not enough disk space for the installation. Select a different installation path.", DialogType.ERROR); return; } btnBack.setVisible(false); btnNext.setVisible(false); + addExtraButton.setVisible(false); List items = compositeInstallablePage.getItems(); showComposite(compositeInstallingPage); boolean result = compositeInstallingPage.loadPage( @@ -447,9 +466,9 @@ public class InstallManagerWindow extends ApplicationWindow { btnBack.setVisible(false); btnNext.setVisible(false); btnClose.setEnabled(false); + addExtraButton.setVisible(false); List items = compositeUninstallablePage.getItems(); - boolean result = compositeUninstallingPage.loadPage( - getSelectedPackageNames(items), + boolean result = compositeUninstallingPage.loadPage(getSelectedPackageNames(items) /* compositeInstallablePage.getCheckedPackageNames()*/, controller, window); if (!result) { @@ -471,9 +490,11 @@ public class InstallManagerWindow extends ApplicationWindow { btnNext.setEnabled(true); btnBack.setVisible(false); btnNext.setFocus(); + addExtraButton.setVisible(false); showComposite(compositeWelcomePage); - } else if (sl_composite.topControl == compositeInstallablePage) { + } else if (sl_composite.topControl == compositeInstallablePage || sl_composite.topControl == compositeUpdatableListPage) { compositeInstallablePage.getItems().clear(); + addExtraButton.setVisible(false); if (controller.existRemovablePackage()) { btnBack.setVisible(false); showComposite(compositeWelcomePage); @@ -484,10 +505,12 @@ public class InstallManagerWindow extends ApplicationWindow { btnNext.setText("Next"); } else if (sl_composite.topControl == compositeSetInstallDirectoryPage) { showComposite(compositeInstallablePage); + addExtraButton.setVisible(true); btnNext.setText("Next"); btnNext.setEnabled(true); } else if (sl_composite.topControl == compositeUninstallablePage) { showComposite(compositeWelcomePage); + addExtraButton.setVisible(false); btnNext.setText("Next"); btnNext.setEnabled(true); btnBack.setVisible(false); @@ -497,6 +520,8 @@ public class InstallManagerWindow extends ApplicationWindow { btnBack.setBounds(363, 10, 78, 29); btnBack.setText("Back"); btnBack.setVisible(false); + + setAddRepositoryButton(composite_1); compositeWelcomePage = new WelcomePage(pageComposite, SWT.NONE); compositeLicensePage = new LicensePage(pageComposite, SWT.NONE); @@ -506,20 +531,52 @@ public class InstallManagerWindow extends ApplicationWindow { compositeUninstallingPage = new UninstallingPage(pageComposite, SWT.NONE); compositeUninstallablePage = new UninstallableListPage(pageComposite, SWT.NONE); compositeSetInstallDirectoryPage = new SetInstallDirectoryPage(pageComposite, SWT.NONE); + compositeUpdatableListPage = new UpdatableListPage(pageComposite, SWT.NONE); registLicensePageListener(); registCompletePageListener(); - showWelcomePage(); + initWelcomePage(); return container; } - private void showWelcomePage() { + /** + * Set add Repository button. + */ + private void setAddRepositoryButton(final Composite composite) { + if (addExtraButton == null) { + addExtraButton = new Button(composite ,SWT.NONE); + } + + addExtraButton.setBounds(20, 10, 125, 29); + addExtraButton.setText("Add Repository"); + addExtraButton.setVisible(false); + + addExtraButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + extraDialog = new AddExtraRepositoryDialog(composite.getShell()); + int ret = extraDialog.open(); + + if (ret != 0) { + Log.err("Cannot open extra dialog"); + } else { + if (sl_composite.topControl == compositeInstallablePage) { + compositeInstallablePage.addExtensionPackagesToExtra(extraDialog.getPackagesFromExtraRepository()); + } else if (sl_composite.topControl == compositeUpdatableListPage) { + compositeUpdatableListPage.addExtensionPackagesToExtra(extraDialog.getPackagesFromExtraRepository()); + } + } + } + }); + } + + private void initWelcomePage() { compositeWelcomePage.setViewController(controller); if (ErrorController.checkInstallationSuccess()) { compositeWelcomePage.setTitle(WelcomePage.STRING_TITLE); + compositeWelcomePage.setSubTitleBounds(20, 190, 600, 40); compositeWelcomePage.setSubTitle(WelcomePage.STRING_SUBTITLE); compositeWelcomePage.setVisibleRadioButton(true); @@ -536,7 +593,12 @@ public class InstallManagerWindow extends ApplicationWindow { btnNext.setVisible(false); compositeWelcomePage.setTitle("Cannot start Tizen SDK Install Manager."); - compositeWelcomePage.setErrorSubTitle(ErrorController.getErrorMessage()); + + String errMsg = ErrorController.getErrorMessage(); + String repository = Config.getInstance().getConfigFile().getRepository(); + errMsg = errMsg + "\n(" + repository + ")"; + compositeWelcomePage.setSubTitleBounds(20, 190, 600, 100); + compositeWelcomePage.setErrorSubTitle(errMsg); btnClose.setText("Close"); @@ -553,18 +615,8 @@ public class InstallManagerWindow extends ApplicationWindow { * Refresh packages and configuration information. */ public void refresh() { - initController(); - showWelcomePage(); - } - - - /** - * check and try to update install manager itself - * @throws IMExitException thrown if there's new version of IM - */ - private static void checkInstallManagerUpdate() throws IMExitException { - UpdateInstallManager upInstaller = new UpdateInstallManager(); - upInstaller.update(); + initInstallManager(); + initWelcomePage(); } /** @@ -572,34 +624,69 @@ public class InstallManagerWindow extends ApplicationWindow { * Then print "updatable" to stdout. */ private static void checkMetaPackageUpdate() { - InstallManager mInstallManager = InstallManager.getInstance(); - PackageManager2 mPackageManager2 = mInstallManager.getPackageManager2(); - ; - PackageSet pack = new PackageSet(); - pack = mPackageManager2.getUpdatableMetaPackages(); - if (pack.size() != 0) { + if (PackageManager.getInstance().getUpdatableMetaPackages().size() != 0) { System.out.println("updatable"); } } + /** + * There is no UI, just download packages. + * @throws IMExitException + */ private static void onlyDownloadPackages() throws IMExitException { - ViewController controller = InstallManagerWindow.controller; + ViewController controller = new ViewController(); + controller.init(); + + InstallManager installManager = InstallManager.getInstance(); + PackageManager packageManager = installManager.getPackageManager(); - List listPackages = new ArrayList(); + // Get all meta packages list by boundary.(eg. public, partner, all....) + PackageSet packageList = installManager.getPackageManager().getAllMetaPackages(); + PackageSet filteredMeta = filterPackageSet(packageList, packageManager); + PackageSet downloadablePkgs = packageManager.getInstallablePackages(filteredMeta); - String pkgList = Options.packageList; - if (pkgList.equals("all")) { - InstallManager installManager = InstallManager.getInstance(); - PackageSet packageList = installManager.getPackageManager2().getAllMetaPackages(); - installManager.install(packageList, PathUtil.getCurrentDir(), null); + // Download all meta packages. + boolean filteredPackages = installManager.downloadPackages(downloadablePkgs, null); + + if (filteredPackages) { + Log.log("Success to download packages from repository"); } else { - String[] pkgs = Options.packageList.split(","); - for (String pkg : pkgs) { - listPackages.add(pkg); + Log.err("Fail to download packages from repository"); + return; + } + } + + private static PackageSet filterPackageSet(PackageSet packageSet, PackageManager pkgManager) { + PackageSet cloneSet = (PackageSet) packageSet.clone(); + // filtering download packages because of exclusive cases each other. + for (Package pkg : cloneSet) { + if (pkg.getAttribute().isEmpty()) { + continue; + } else if (Options.boundary.equalsIgnoreCase("public")) { // public case + if (pkg.getAttribute().equalsIgnoreCase("partner") + || pkg.getAttribute().equalsIgnoreCase("install")) { + String partnerName = pkg.getPackageName(); + Package partner = pkgManager.getPackageByName(partnerName); + packageSet.remove(partner); + } + } else if (Options.boundary.equalsIgnoreCase("partner")) { // partner case + if (pkg.getAttribute().equalsIgnoreCase("public") + || pkg.getAttribute().equalsIgnoreCase("install")) { + String publicName = pkg.getPackageName(); + Package publicPkg = pkgManager.getPackageByName(publicName); + packageSet.remove(publicPkg); + } + } else { + // Another case. } - - controller.install(listPackages, PathUtil.getCurrentDir(), null); } + + return packageSet; + } + + private static void showInstallManagerVersion() { + System.out.println("InstallManager Version : " + + Config.getInstance().getInstallManagerVersion().toString()); } /** @@ -615,19 +702,24 @@ public class InstallManagerWindow extends ApplicationWindow { Log.log(Platform.getPlatformInfo()); Log.log("Install Manager Jar Build-Version: " + Config.getJarBuildVersion()); Options.loadCmdArgs(args); + + if (Options.onlyDownload) { + onlyDownloadPackages(); + System.exit(0); + } else if (Options.showVersion) { + showInstallManagerVersion(); + System.exit(0); + } window = new InstallManagerWindow(); window.setBlockOnOpen(true); - checkInstallManagerUpdate(); window.init(); Log.log("after init"); if (Options.checkPackageUpdate) { checkMetaPackageUpdate(); } else if (Options.printDepGraph) { - InstallManager.getInstance().getPackageManager2().printDepGraph(); - } else if (Options.onlyDownload) { - onlyDownloadPackages(); + InstallManager.getInstance().getPackageManager().printDepGraph(); } else { window.open(); if (Display.getCurrent() != null @@ -658,10 +750,10 @@ public class InstallManagerWindow extends ApplicationWindow { ErrorController.setExitCode(Config.EXITCODE_UNKNOWN_ERROR); } finally { - if (Options.doRemoveTempTizenSDK) { + if (Platform.isWindows()) { ProgramController.createProgramController().removeSDKTempDir(); } - + Log.LogTitle("Installmanager finish"); Log.close(); @@ -746,18 +838,7 @@ public class InstallManagerWindow extends ApplicationWindow { return list; } - - private void showUninstallOldSDKCompletePage() { - compositeCompletePage.setTitle("Uninstalling old SDK completed!"); - compositeCompletePage.setCustomMessage("Now you can install Tizen SDK."); - btnBack.setVisible(false); - btnNext.setVisible(false); - btnClose.setEnabled(true); - compositeCompletePage.showCheckButton(false); - compositeCompletePage.loadPage(); - showComposite(compositeCompletePage); - } - + /** * Get install manager window object. * @return install manager window object. @@ -797,4 +878,8 @@ public class InstallManagerWindow extends ApplicationWindow { public void setCancelBtnEnabled(boolean enabled) { btnClose.setEnabled(enabled); } + + public ViewController getViewController() { + return controller; + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraDialog.java b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraDialog.java new file mode 100644 index 0000000..f9f2714 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraDialog.java @@ -0,0 +1,255 @@ +/* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.ui.dialog; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.tizen.installmanager.core.SDKExtensionInfo; +import org.tizen.installmanager.lib.Downloader; +import org.tizen.installmanager.lib.ErrorController; +import org.tizen.installmanager.lib.ErrorController.ErrorCode; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.util.PathUtil; + +/** + * This class supports to add extra's repository. + * + * @author Yongsung Kim + */ +public class AddExtraDialog extends Dialog { + private String DIALOG_TITLE = "Add Repository"; + private AddExtraRepositoryDialog rDialog = null; + + private Text nameText = null; + private Text repositoryText = null; + + private Label errLabel = null; + private Button okButton; + + private String thirdPartyName = ""; + private String thirdPartyRepository = ""; + + public AddExtraDialog(Shell parentShell) { + super(parentShell); + setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); + } + + /** + * Return the initial size of the dialog. + */ + @Override + protected Point getInitialSize() { + return new Point(400, 195); + } + + /** + * Set to enable OK button. + * + * @param isAvailable + */ + public void okButtonEnable(boolean isAvailable) { + okButton = getButton(Window.OK); + okButton.setEnabled(isAvailable); + } + + /** + * Create contents of the dialog. + * + * @param parent + */ + @Override + protected Control createDialogArea(Composite parent) { + Composite container = (Composite) super.createDialogArea(parent); + container.setLayout(null); + rDialog = new AddExtraRepositoryDialog(getParentShell()); + + setTitle(); + + setNameText(container); + setRepositoryText(container); + setErrorLabel(container); + setSeparator(container); + + return container; + } + + private void setTitle() { + getShell().setText(DIALOG_TITLE); + } + + @Override + protected void okPressed() { + thirdPartyName = nameText.getText(); + thirdPartyRepository = repositoryText.getText(); + if (!isValidName()) { + errLabel.setText(ErrorController.getErrorMessage()); + } else if (!isOverlapRepository()) { + errLabel.setText(ErrorController.getErrorMessage()); + } else if (!isValidRepository()) { + errLabel.setText(ErrorController.getErrorMessage()); + } else { + this.close(); + } + } + + private void setNameText(Composite composite) { + Label nameLabel = new Label(composite, SWT.NONE); + if (nameText == null) { + nameText = new Text(composite, SWT.BORDER); + } + nameLabel.setBounds(5, 7, 75, 23); + nameLabel.setText("Name :"); + nameText.setBounds(85, 5, 305, 23); + } + + private void setRepositoryText(Composite composite) { + Label repositoryLabel = new Label(composite, SWT.NONE); + if (repositoryText == null) { + repositoryText = new Text(composite, SWT.BORDER); + } + repositoryLabel.setBounds(5, 34, 75, 23); + repositoryLabel.setText("Repository :"); + repositoryText.setBounds(85, 32, 305, 23); + repositoryText.append("http://"); + } + + private void setErrorLabel(Composite composite) { + if (errLabel == null) { + errLabel = new Label(composite, SWT.WRAP); + } + + errLabel.setBounds(5, 60, 380, 50); + errLabel.setForeground(new Color(null, 255, 0, 0)); + errLabel.setEnabled(true); + } + + private void setSeparator(Composite composite) { + Label sep = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setBounds(0, 115, 400, 1); + } + + private boolean isValidName() { + if (!hasSpaceInName()) { + return false; + } else if (isOnlyEngName()) { + return true; + } else { + return false; + } + } + + private boolean isOnlyEngName() { + char[] temp = thirdPartyName.toCharArray(); + int tmp = Character.getType(temp[0]); + if (tmp == 5) { + ErrorController.setError(ErrorCode.HANGUL_IN_REPOSITORY_NAME); + return false; + } else { + return true; + } + } + + private boolean hasSpaceInName() { + if (thirdPartyName.length() <= 0) { + ErrorController.setError(ErrorCode.SPACE_IN_REPOSITORY_NAME); + return false; + } else { + for (int i = 0; i < thirdPartyName.length(); i++) { + if (thirdPartyName.charAt(i) == ' ') { + ErrorController.setError(ErrorCode.SPACE_IN_REPOSITORY_NAME); + return false; + } + } + } + + return true; + } + + private boolean isValidRepository() { + URL serverUrl; + + try { + serverUrl = new URL(PathUtil.addURLPath(thirdPartyRepository, + PackageManager.getInstance().getPackageListFileName())); + + Downloader downloader = new Downloader(); + boolean conResult = downloader.connect(serverUrl); + + return conResult; + + } catch (MalformedURLException e) { + // the URL is not in a valid form + ErrorController.setError(ErrorCode.WRONG_URL_FORMAT); + return false; + } + } + + private boolean isOverlapRepository() { + removeSeperator(); + SDKExtensionInfo extensionInfo = rDialog.getSdkExtensionInfo(); + if (extensionInfo.contains(thirdPartyRepository)) { + ErrorController.setError(ErrorCode.OVERLAP_EXTENSION_REPOSITORY); + return false; + } else if (extensionInfo.containsBuiltIn(thirdPartyRepository)) { + ErrorController.setError(ErrorCode.OVERLAP_BUILT_IN_EXTENSION_REPOSITORY); + return false; + } else { + return true; + } + } + + private void removeSeperator() { + if (thirdPartyRepository.endsWith(PathUtil.URL_SEPERATOR)) { + while (thirdPartyRepository.endsWith(PathUtil.URL_SEPERATOR)) { + thirdPartyRepository = thirdPartyRepository.substring(0, thirdPartyRepository.length() - 1); + } + } + } + + public String getThirdPartyName() { + return thirdPartyName; + } + + public String getThirdPartyRepository() { + removeSeperator(); + return thirdPartyRepository; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraRepositoryDialog.java b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraRepositoryDialog.java new file mode 100644 index 0000000..2f81cf4 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/AddExtraRepositoryDialog.java @@ -0,0 +1,298 @@ +/* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.installmanager.ui.dialog; + +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.Set; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.TableItem; +import org.tizen.installmanager.core.SDKExtensionInfo; +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.pkg.model.PackageSet; + +/** + * This class supports to control(add, reomove) extra's repository. + * + * @author Yongsung Kim + */ +public class AddExtraRepositoryDialog extends Dialog { + private final String STRING_TITLE = "Add Extra Repository"; + + private AddExtraDialog addDialog = null; + private String thirdPartyName = ""; + private String thirdPartyRepository = ""; + + //Repository table column + public static final int TABLE_COLUMN_NAME = 0; + public static final int TABLE_COLUMN_REPOSITORY = 1; + + private Table repositoryTable = null; + private Button addButton = null; + private Button removeButton = null; + private Button okButton = null; + + // Set of removable item list. + private Set removeRepositorySet; + + private SDKExtensionInfo sdkExtensionInfo = SDKExtensionInfo.getInstance(); + + public AddExtraRepositoryDialog(Shell parentShell) { + super(parentShell); + setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); + } + + /** + * Return the initial size of the dialog. + */ + @Override + protected Point getInitialSize() { + return new Point(500, 400); + } + + /** + * Create contents of the dialog. + * + * @param parent + */ + @Override + protected Control createDialogArea(Composite parent) { + Composite container = (Composite) super.createDialogArea(parent); + container.setLayout(null); + + sdkExtensionInfo.load(); + removeRepositorySet = new HashSet(); + + setTitle(); + setRepositoryTable(container); + addItemToRepositoryTable(sdkExtensionInfo.getExtensionRepositories()); + + setSeparator(container); + + setAddButton(container); + setRemoveButton(container); + + return container; + } + + /** + * Set page title + */ + private void setTitle() { + getShell().setText(STRING_TITLE); + } + + @Override + protected void okPressed() { + this.close(); + } + + /** + * Set 3rd party repository table. + * @param composite + */ + private void setRepositoryTable(Composite composite) { + if (repositoryTable == null) { + repositoryTable = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); + } + + repositoryTable.forceFocus(); + repositoryTable.setBounds(5, 5, 380, 305); + repositoryTable.setLayout(new FillLayout()); + + setTableColumn(); + + repositoryTable.setHeaderVisible(true); + repositoryTable.setLinesVisible(true); + + repositoryTable.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + TableItem selectedItem = (TableItem) e.item; + if (selectedItem.getChecked() == true) { + removeRepositorySet.add(selectedItem); + } else { + removeRepositorySet.remove(selectedItem); + } + + if (removeRepositorySet.isEmpty()) { + removeButton.setEnabled(false); + } else { + removeButton.setEnabled(true); + } + } + }); + } + + /** + * Set table column. + */ + private void setTableColumn() { + TableColumn tcName = new TableColumn(repositoryTable, SWT.CENTER); + TableColumn tcRepository = new TableColumn(repositoryTable, SWT.CENTER); + + tcName.setText("Name"); + tcRepository.setText("Repository"); + + tcName.setWidth(100); + tcName.setResizable(false); + tcRepository.setWidth(270); + tcRepository.setResizable(false); + } + + /** + * Show 3rd party information on table. + * @param type + */ + private void showRepositoryTable() { + repositoryTable.removeAll(); + removeRepositorySet.clear(); + addItemToRepositoryTable(sdkExtensionInfo.getExtensionRepositories()); + } + + /** + * Add 3rd party information to table by row. + * @param + */ + private void addItemToRepositoryTable(LinkedHashMap repositoryInfo) { + Set keys = repositoryInfo.keySet(); + for (String key : keys) { + TableItem item = new TableItem(repositoryTable, SWT.NONE); + item.setText(TABLE_COLUMN_NAME, repositoryInfo.get(key)); + item.setText(TABLE_COLUMN_REPOSITORY, key); + } + } + + private void setSeparator(Composite composite) { + Label sep = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setBounds(0, 320, 500, 1); + } + + /** + * Set Add repository button. + * @param composite + */ + private void setAddButton(Composite composite) { + if (addButton == null) { + addButton = new Button(composite, SWT.NONE); + } + + addButton.setBounds(390, 10, 88, 27); + addButton.setText("Add"); + + addButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + addDialog = new AddExtraDialog(getShell()); + + int ret = addDialog.open(); + + if (ret == 0) { + thirdPartyName = addDialog.getThirdPartyName(); // 3rd party name via location dialog. + thirdPartyRepository = addDialog.getThirdPartyRepository(); // 3rd party repository via location dialog. + addRepositoryInformation(); + showRepositoryTable(); + } else { + Log.err("Cannot open add 3rd party repository dialog."); + } + } + }); + } + + /** + * Set button to remove item which is checked. + * @param composite + */ + private void setRemoveButton(Composite composite) { + if (removeButton == null) { + removeButton = new Button(composite, SWT.NONE); + } + + removeButton.setBounds(390, 42, 88, 27); + removeButton.setText("Remove"); + removeButton.setEnabled(false); + + removeButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + removeRepositoryInformation(); + showRepositoryTable(); + } + }); + } + + /** + * Write 3rd party information of adding to installmanager.conf + */ + private void addRepositoryInformation() { + sdkExtensionInfo.add(thirdPartyName, thirdPartyRepository); + sdkExtensionInfo.save(); + } + + /** + * Write 3rd party information of removing to installmanager.conf + */ + private void removeRepositoryInformation() { + for (TableItem removeItem : removeRepositorySet) { + sdkExtensionInfo.remove(removeItem.getText(1)); + } + sdkExtensionInfo.save(); + } + + public PackageSet getPackagesFromExtraRepository() { + return sdkExtensionInfo.getExtensionPackages(); + } + /** + * Set to enable OK button. + * + * @param isAvailable + */ + public void okButtonEnable(boolean isAvailable) { + okButton = getButton(Window.OK); + okButton.setEnabled(isAvailable); + } + + public SDKExtensionInfo getSdkExtensionInfo() { + return sdkExtensionInfo; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ChangeServerDialog.java b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ChangeServerDialog.java new file mode 100644 index 0000000..2e0f112 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ChangeServerDialog.java @@ -0,0 +1,145 @@ +package org.tizen.installmanager.ui.dialog; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.lib.Downloader; +import org.tizen.installmanager.lib.ErrorController; +import org.tizen.installmanager.util.PathUtil; + +public class ChangeServerDialog extends Dialog { + private static final String STRING_TITLE = "Change Server"; + private Label titleLabel = null; + private Text serverText = null; + private Label errLabel = null; + + private String serverUrl = ""; + + public ChangeServerDialog(Shell parentShell) { + super(parentShell); + setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); + } + + /** + * Return the initial size of the dialog. + */ + @Override + protected Point getInitialSize() { + return new Point(400, 190); + } + + /** + * Create contents of the dialog. + * @param parent + */ + @Override + protected Control createDialogArea(Composite parent) { + Composite container = (Composite) super.createDialogArea(parent); + container.setLayout(null); + + setTitle(); + setTitleLabel(container); + setServerUrlText(container); + setErrLabel(container); + + return container; + } + + @Override + protected void okPressed() { + String changeServerUrl = serverText.getText(); + + if (serverUrl.equals(changeServerUrl)) { + this.close(); + } else { + if (isExactFormat(changeServerUrl)) { + serverUrl = changeServerUrl; + this.close(); + } else { + // do not close configuration dialog because of wrong pkg list path. + } + } + } + + /** + * Set page title + */ + private void setTitle() { + getShell().setText(STRING_TITLE); + } + + private void setTitleLabel(Composite composite) { + titleLabel = new Label(composite, SWT.NONE); + titleLabel.setText("Input New Server"); + titleLabel.setBounds(10, 10, 200, 23); + } + + private void setServerUrlText(Composite composite) { + serverText = new Text(composite, SWT.BORDER); + serverText.setBounds(10, 33, 360, 23); + serverText.setEnabled(true); + + if (serverUrl.isEmpty()) { + serverText.setText("http://"); + } else { + serverText.setText(serverUrl); + serverText.selectAll(); + } + } + + private void setErrLabel(Composite composite) { + errLabel = new Label(composite, SWT.WRAP); + errLabel.setBounds(10, 58, 350, 100); + errLabel.setForeground(new Color(null, 255, 0, 0)); + } + + private boolean isExactFormat(String serverUrl) { + boolean result = false; + if (!serverUrl.startsWith("http://")) { + errLabel.setText("Enter the URL in a correct format."); + return false; + } + + try { + URL distInfoFileURL = new URL(PathUtil.addURLPath(serverUrl, Config.REPOSITORY_DISTRIBUTION_INFO_FILE)); + + Downloader downloader = new Downloader(); + result = downloader.connect(distInfoFileURL); + + if (!result) { + errLabel.setText(ErrorController.getErrorMessage()); + } + } catch (MalformedURLException e) { + errLabel.setText("Enter the URL in a correct format."); + return false; + } catch (IllegalArgumentException e) { + errLabel.setText("Connection to the input URL failed."); + // the connection does not work.(wrong URL address) + return false; + } + + return result; + } + + /** + * Set server address to text ui in dialog. + * @param url current server address. + */ + public void setCurrentServer(String url) { + serverUrl = url; + } + + public String getServerUrl() { + return serverUrl; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ConfigurationDialog.java b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ConfigurationDialog.java index 09a5ea9..c0381a5 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ConfigurationDialog.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/ConfigurationDialog.java @@ -1,27 +1,127 @@ +/* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + package org.tizen.installmanager.ui.dialog; +import java.io.File; +import java.io.IOException; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.TableItem; +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.DistributionController; +import org.tizen.installmanager.core.InstallManager; +import org.tizen.installmanager.core.Config.ServerType; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.lib.SDKPackageFormat; +import org.tizen.installmanager.lib.ErrorController.ErrorCode; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Snapshot; +import org.tizen.installmanager.pkg.model.SnapshotList; import org.tizen.installmanager.ui.dialog.MessageBoxDlg.DialogType; +import org.tizen.installmanager.util.PathUtil; +/** + * This class supports snapshot, user package server and local install. + * + * @author Yongsung Kim + */ public class ConfigurationDialog extends Dialog { - private Text repositoryText; + //return data + private String snapshotPath = ""; + private String currentDistribution = ""; private String repository = ""; - private int POSITION_X = 20; - private int POSITION_Y = 20; + private ServerType serverType = ServerType.SNAPSHOT; + +// private ChangeServerDialog changeServerDialog = null; + + private static final String STRING_TITLE = "Advanced Configuration"; + + private Button buttonSnapshot = null; + private Button buttonLocal = null; + private Button buttonSelectImage = null; + private Button okBtn; + private Button buttonChangeServer; + private Combo distributionCombo = null; + private Button latestVersionCheckBox = null; + private Button buttonSnapshotFilter = null; + private Table snapshotTable; + + private Label localErrLabel; + private Label textPackageServerUrl; + private Label textLocalServerUrl; + private File imageFile; + private long unzipResult = -1; + + private DistributionController controller = null; + private boolean noErr = true; // flag check to verify pkg list file path. + + //snapshot table column + public static final int TABLE_STATUS = 0; + public static final int TABLE_NAME = 1; + public static final int TABLE_DATE = 2; + + //snapshot table status + public static final String STATUS_LATEST = "Latest"; + + private static final String SDK_IMAGE_ZIP_EXTENSION = ".zip"; + public ConfigurationDialog(Shell parentShell) { super(parentShell); setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); + controller = DistributionController.getInstance(); } /** @@ -33,32 +133,51 @@ public class ConfigurationDialog extends Dialog { protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); container.setLayout(null); -// - Label repositoryLabel = new Label(container, SWT.NONE); - repositoryLabel.setAlignment(SWT.RIGHT); - repositoryLabel.setBounds(POSITION_X, POSITION_Y + 7, 80, 20); - repositoryLabel.setText("Repository :"); - repositoryText = new Text(container, SWT.BORDER); - repositoryText.setText(repository); - repositoryText.setBounds(POSITION_X + 100, POSITION_Y + 4, 250, 28); + setTitle(); - repositoryText.addKeyListener(new KeyAdapter() { - @Override - public void keyReleased(KeyEvent arg0) { - repository = repositoryText.getText(); - } - }); + setSnapshotButton(container); + packageServerLabel(container); + setChangeUrlButton(container); + setDistributionComboBox(container); + setLatestVersionCheckBox(container); + setSnapshotFilter(container); + makeSnapshotTable(container); + showSnapshotTable(currentDistribution); + setSelectionBySnapshotPath(); + + setSeparator(container); + + setLocalButton(container); + setFileDialog(container); + setLocalLabel(container); + setLocalErrorlabel(container); return container; } + + protected Button getOKButton() { + Button button = getButton(IDialogConstants.OK_ID); + return button; + } @Override protected void okPressed() { - if (repository == null || repository.length() < 1) { - MessageBoxDlg.showDlg(this.getShell(), "Input repository", - "Please input your repository.", DialogType.NOTIFY); + + if (buttonLocal.getSelection()) { + if (unzipSDKImageFile(imageFile) > 0) { + this.serverType = ServerType.LOCAL; + } else { + Log.err("unzip SDK IMAGE FILE fail. => " + imageFile.getName()); + throw new IMFatalException(ErrorCode.FAIL_TO_EXTRACT_SDK_IMAGE_FILE); + } + } else { + this.serverType = ServerType.SNAPSHOT; + } + + if (noErr) { + // everything is good. keep going ahead. this.close(); } } @@ -68,23 +187,696 @@ public class ConfigurationDialog extends Dialog { */ @Override protected Point getInitialSize() { - return new Point(400, 248); + return new Point(580, 485); + } + + public void setComboList(List list) { + } /** - * Set repository to Text. - * - * @param repository + * Set snapshot path by snapshot name. + * @param name snapshot name */ - public void setRepository(String repository) { - this.repository = repository; + public void setSnapshotPathByName(String name) { + SnapshotList snapshotSet = controller.getSnapshotList(currentDistribution); + + if (snapshotSet == null) { + throw new IMFatalException("Selected distribution(" + currentDistribution + ") do not exist in repository"); + } + + Snapshot currentSnapshot = snapshotSet.getSnapshotByName(name); + + if (currentSnapshot != null) { + this.snapshotPath = currentSnapshot.getPath(); + } else { + this.snapshotPath = ""; + } + } + + public void setSnapshotPath(String path) { + SnapshotList snapshotSet = controller.getSnapshotList(currentDistribution); + + if (snapshotSet == null) { + throw new IMFatalException("Selected distribution(" + currentDistribution + ") do not exist in repository"); + } + + Snapshot currentSnapshot = snapshotSet.getSnapshotByPath(path); + + if (currentSnapshot != null) { + this.snapshotPath = currentSnapshot.getPath(); + } else { + this.snapshotPath = ""; + } } + public void setRepository(String serverUrl) { + if (serverUrl == null || serverUrl.isEmpty()) { + return; + } + + this.repository = serverUrl; + } + + /** + * Change package server type by install type(normal, snapshot, local). + * @param isConfDialog User push 'OK' button in configuration dialog is true, otherwise is false. + */ + public void setServerType() { + if (buttonSnapshot.getSelection()) { + serverType = ServerType.SNAPSHOT; + } else if (buttonLocal.getSelection()) { + serverType = ServerType.PACKAGE; + } else { + Log.err("Snapshot or package server button is not selection in configuration page."); + serverType = ServerType.SNAPSHOT; + } + } + /** - * Get repository from Text. + * Get package server url from Text widget. * @return */ public String getRepository() { return repository; } + + /** + * Set snapshot type + * + * @param type + * selected snapshot type. + */ + public void setCurrentDistribution(String type) { + this.currentDistribution = type; + } + + /** + * Get snapshot type + * + * @return + */ + public String getCurrentDistribution() { + return currentDistribution.toLowerCase(); + } + + /** + * Get snapshot path + * + * @return snapshot path + */ + public String getSnapshotPath() { + return snapshotPath; + } + + /** + * Set page title + */ + private void setTitle() { + getShell().setText(STRING_TITLE); + } + + private void setPackageServerEnv(String packageServerPath) { + this.repository = packageServerPath; + textPackageServerUrl.setText(packageServerPath); + + //refresh information of distribution + refreshDistribution(); + + //refresh combobox of distribution + distributionCombo.removeAll(); + List distributions = controller.getDistributionList(); + addDistributionsToDistributionCombo(distributions); + if (distributions.size() > 0) { + currentDistribution = distributions.get(0); + distributionCombo.select(0); + } + + //refresh snapshot list + snapshotTable.clearAll(); + showSnapshotTable(distributionCombo.getText()); + if (snapshotTable.getItems().length > 0) { + snapshotTable.setSelection(0); + } + } + + private void refreshDistribution() { + Config.getInstance().getConfigFile().setRepository(repository); + InstallManager.getInstance().initDistribution(); + this.controller = DistributionController.getInstance(); + } + + /** + * Set snapshot radio button. + * + * @param composite + */ + private void setSnapshotButton(Composite composite) { + if (buttonSnapshot == null) { + buttonSnapshot = new Button(composite, SWT.RADIO); + } + + buttonSnapshot.setSelection(true); + buttonSnapshot.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + distributionCombo.setEnabled(true); + buttonSnapshotFilter.setEnabled(true); + buttonChangeServer.setEnabled(true); + buttonSelectImage.setEnabled(false); + textLocalServerUrl.setEnabled(false); + textLocalServerUrl.setText(""); + localErrLabel.setText(""); + setOkEnable(false); + } + }); + + buttonSnapshot.setBounds(10, 10, 130, 20); + + buttonSnapshot.setText("Package Server : "); + } + + /** + * Set url label + * + * @param composite + */ + private void packageServerLabel(Composite composite) { + if (textPackageServerUrl == null) { + textPackageServerUrl = new Label(composite, SWT.BORDER); + } + + textPackageServerUrl.setBounds(150, 10, 300, 20); + textPackageServerUrl.setEnabled(false); + textPackageServerUrl.setText(this.repository); + } + + private void setChangeUrlButton(final Composite composite) { + if (buttonChangeServer == null) { + buttonChangeServer = new Button(composite, SWT.PUSH); + } + + buttonChangeServer.setText("Change Server"); + buttonChangeServer.setBounds(455, 7, 115, 27); + buttonChangeServer.setEnabled(true); + + buttonChangeServer.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + ChangeServerDialog changeServerDialog = new ChangeServerDialog(composite.getShell()); + changeServerDialog.setCurrentServer(repository); + int ret = changeServerDialog.open(); + if (ret == 0) { + String changeServerUrl = changeServerDialog.getServerUrl(); + if (!repository.equals(changeServerUrl)) { + setPackageServerEnv(changeServerUrl); + } + } else { + Log.log("ChangeServer dialog is canceled."); + } + } + }); + } + + /** + * Set snapshot type combo box. + * + * @param composite + */ + private void setDistributionComboBox(Composite composite) { + if (distributionCombo == null) { + distributionCombo = new Combo(composite, SWT.READ_ONLY); + } + + addDistributionsToDistributionCombo(controller.getDistributionList()); + + Label distLabel = new Label(composite, SWT.NONE); + distLabel.setBounds(10, 45, 100, 20); + distLabel.setText("Distribution : "); + + distributionCombo.setText(currentDistribution); + distributionCombo.setBounds(104, 40, 90, 20); + distributionCombo.setEnabled(true); + + distributionCombo.addSelectionListener(new SelectionListener() { + @Override + public void widgetSelected(SelectionEvent e) { + String distribution = distributionCombo.getText(); + + if (currentDistribution.equals(distribution)) { + return; + } else { + showSnapshotTable(distribution); + + if (snapshotTable.getItemCount() > 0) { + if (latestVersionCheckBox.getSelection()) { + snapshotTable.deselectAll(); + } else { + snapshotTable.select(0); + setSnapshotPathByName(snapshotTable.getSelection()[0].getText(1)); + } + + currentDistribution = distribution; + Config.fromWhere = Config.ConfDialog.SNAPSHOT; // it means data from table. + } + } + } + + @Override + public void widgetDefaultSelected(SelectionEvent arg0) { + } + }); + } + + private void setLatestVersionCheckBox(Composite composite) { + if (latestVersionCheckBox == null) { + latestVersionCheckBox = new Button(composite, SWT.CHECK); + } + + latestVersionCheckBox.setText("Auto update"); + latestVersionCheckBox.setBounds(205, 45, 100, 20); + latestVersionCheckBox.setEnabled(true); + latestVersionCheckBox.pack(); + + if(this.snapshotPath.isEmpty()) { + latestVersionCheckBox.setSelection(true); + } else { + latestVersionCheckBox.setSelection(false); + } + + latestVersionCheckBox.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + if (latestVersionCheckBox.getSelection()) { + snapshotTable.deselectAll(); + snapshotTable.setEnabled(false); + buttonSnapshotFilter.setEnabled(false); + snapshotPath = ""; + } else { + snapshotTable.setEnabled(true); + buttonSnapshotFilter.setEnabled(true); + + if (snapshotTable.getItemCount() > 0) { + snapshotTable.select(0); + setSnapshotPathByName(snapshotTable.getSelection()[0].getText(1)); + } else {} + } + } + }); + } + + private void addDistributionsToDistributionCombo(Collection distList) { + if (distributionCombo == null || distList == null) { + return; + } + + for (String dist : distList) { + if (dist != null) { + distributionCombo.add(dist); + } + } + } + + private void setSnapshotFilter(Composite composite) { + if (buttonSnapshotFilter == null) { + buttonSnapshotFilter = new Button(composite, SWT.CHECK); + } + + buttonSnapshotFilter.setText("Show all"); + buttonSnapshotFilter.setBounds(480, 45, 100, 20); + buttonSnapshotFilter.pack(); + + if (latestVersionCheckBox.getSelection()) { + buttonSnapshotFilter.setEnabled(false); + } else { + buttonSnapshotFilter.setEnabled(true); + } + + buttonSnapshotFilter.setSelection(false); + buttonSnapshotFilter.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + showSnapshotTable(currentDistribution); + } + }); + } + + /** + * Make snapshot table. + * + * @param composite + * @return Snapshot table object. + */ + private Table makeSnapshotTable(Composite composite) { + if (snapshotTable == null) { + snapshotTable = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION); + } + + snapshotTable.forceFocus(); + snapshotTable.setBounds(10, 70, 560, 200); + snapshotTable.setLayout(new FillLayout()); + + if (latestVersionCheckBox.getSelection()) { + snapshotTable.setEnabled(false); + } else { + snapshotTable.setEnabled(true); + } + + TableColumn tcStatus = new TableColumn(snapshotTable, SWT.CENTER); + TableColumn tcLabel = new TableColumn(snapshotTable, SWT.CENTER); + TableColumn tcDate = new TableColumn(snapshotTable, SWT.CENTER); + + tcStatus.setText("Status"); + tcLabel.setText("Name"); + tcDate.setText("Date"); + tcStatus.setWidth(109); + tcLabel.setWidth(193); + tcDate.setWidth(214); + + snapshotTable.addSelectionListener(new SelectionAdapter() { + + @Override + public void widgetSelected(SelectionEvent e) { + snapshotTable.setEnabled(!latestVersionCheckBox.getSelection()); + buttonSnapshot.setSelection(true); + buttonSnapshotFilter.setEnabled(true); + buttonChangeServer.setEnabled(true); + distributionCombo.setEnabled(true); + + buttonLocal.setSelection(false); + textLocalServerUrl.setEnabled(false); + textLocalServerUrl.setText(""); + localErrLabel.setText(""); + buttonSelectImage.setEnabled(false); + + setOkEnable(true); + + setSnapshotPathByName(snapshotTable.getSelection()[0].getText(1)); + Config.fromWhere = Config.ConfDialog.SNAPSHOT; // it means data from table. + } + }); + + return snapshotTable; + } + + private void setSelectionBySnapshotPath() { + if (latestVersionCheckBox.getSelection()) { + snapshotTable.deselectAll(); + return; + } + + String distribution = distributionCombo.getText(); + SnapshotList snapshotList = DistributionController.getInstance().getSnapshotList(distribution); + + Snapshot snapshot= snapshotList.getSnapshotByPath(snapshotPath); + + if (snapshot == null) { + snapshotTable.select(0); + } else { + String snapshotName = snapshot.getName(); + + TableItem[] tItems = snapshotTable.getItems(); + for (TableItem tItem : tItems) { + if (snapshotName.equals(tItem.getText(1))) { + snapshotTable.setSelection(tItem); + } + } + } + } + + private void addItemToSnapshotTable(Snapshot snapshot) { + if (snapshot == null) { + return; + } else { + addItemToSnapshotTable(snapshot.getName(), snapshot.getTime()); + } + } + + private void addLatestItemToSnapshotTable(Snapshot snapshot) { + addItemToSnapshotTable(STATUS_LATEST, snapshot.getName(), snapshot.getTime()); + } + + /** + * Add snapshot to snapshot table by row. + * + * @param snapshots + * String[] of snapshot information. + */ + private void addItemToSnapshotTable(String name, Date date) { + addItemToSnapshotTable("", name, date); + } + + private void addItemToSnapshotTable(String status, String name, Date date) { + TableItem item = new TableItem(snapshotTable, SWT.NONE); + + item.setText(TABLE_STATUS, status); + item.setText(TABLE_NAME, name); + item.setText(TABLE_DATE, date.toString()); + } + + /** + * Show snapshot information by combo box selection. + * + * @param distribution + */ + private void showSnapshotTable(String distribution) { + snapshotTable.removeAll(); + snapshotTable.setHeaderVisible(true); + + //add latest snapshot to table. + Snapshot latestSnapshot = controller.getLatestSnapshot(distribution); + if (latestSnapshot != null) { + addLatestItemToSnapshotTable(latestSnapshot); + } + + if (buttonSnapshotFilter.getSelection()) { + SnapshotList allSnapshots = controller.getSnapshotList(distribution); + + if (allSnapshots == null) { + Log.log("Selected distribution(" + distribution + ") do not exist in repository"); + return; + } + + for (Snapshot snapshot : allSnapshots) { + if (!latestSnapshot.equals(snapshot)) { + addItemToSnapshotTable(snapshot); + } + } + } else { + //add snapshots to table + SnapshotList snapshots = controller.getManualSnapshotList(distribution); + + if (snapshots == null) { + Log.log("Selected distribution(" + distribution + ") do not exist in repository"); + return; + } + + for (Snapshot snapshot : snapshots) { + if (!latestSnapshot.equals(snapshot)) { + addItemToSnapshotTable(snapshot); + } + } + } + } + + private void setSeparator(Composite composite) { + Label sep = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setBounds(10, 280, 560, 1); + } + + private void setLocalButton(Composite composite) { + buttonLocal = new Button(composite, SWT.RADIO); + buttonLocal.setSelection(false); + buttonLocal.setBounds(10, 290, 350, 18); + buttonLocal.setText("SDK Image"); + + buttonLocal.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + textLocalServerUrl.setEnabled(true); + buttonSelectImage.setEnabled(true); + localErrLabel.setEnabled(true); + + distributionCombo.setEnabled(false); + buttonChangeServer.setEnabled(false); + buttonSnapshotFilter.setEnabled(false); + + snapshotPath = ""; + } + }); + } + + /** + * Set url label + * + * @param composite + */ + private void setLocalLabel(Composite composite) { + textLocalServerUrl = new Label(composite, SWT.BORDER); + textLocalServerUrl.setBounds(10, 318, 500, 20); + textLocalServerUrl.setEnabled(false); + } + + /** + * Set file dialog button + * + * @param composite + */ + private void setFileDialog(Composite composite) { + buttonSelectImage = new Button(composite, SWT.NONE); + buttonSelectImage.setEnabled(false); + buttonSelectImage.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + String strDir = showSettingInstallpathDlg(); + if (strDir != null) { + if (strDir.endsWith(SDK_IMAGE_ZIP_EXTENSION)) { + imageFile = new File(strDir); + if (validation(strDir)) { + textLocalServerUrl.setText(strDir); + localErrLabel.setText(""); + setOkEnable(true); + Config.fromWhere = Config.ConfDialog.LOCAL_IMAGE; // it means data from file dialog. + } else { + MessageBoxDlg.showDlg(Display.getCurrent().getShells()[0], + "Error", + "No package list file is found in the image file. Check the image file.", + DialogType.ERROR); + return; + } + } else { + MessageBoxDlg.showDlg(Display.getCurrent().getShells()[0], + "Error", + "Select the correct SDK image file.", + DialogType.ERROR); + return; + } + } + } + }); + + buttonSelectImage.setImage(PathUtil.getImageFromResource("/res/icons/icon_directory_open.png")); + buttonSelectImage.setBounds(520, 313, 35, 29); + } + + @SuppressWarnings("unused") + private boolean validation(String strDir) { + ZipFile zipFile = null; + ZipEntry entry = null; + + + try { + zipFile = new ZipFile(strDir); + } catch (IOException e) { + Log.ExceptionLog(e); + + return false; + } + + if (zipFile != null) { + + entry = zipFile.getEntry(PackageManager.getInstance().getPackageListFileName()); + + try { + zipFile.close(); + } catch (IOException e) { + Log.ExceptionLog(e); + } + + return ( entry != null ) ? true : false; + } else { + return false; + } + } + + + private void setLocalErrorlabel(Composite composite) { + localErrLabel = new Label(composite, SWT.WRAP); + localErrLabel.setBounds(20, 343, 475, 45); + localErrLabel.setForeground(new Color(null, 255, 0, 0)); + } + + /** + * Show file path dialog when file dialog button is pushed. + * + * @return File path that selected file. + */ + private String showSettingInstallpathDlg() { + FileDialog dlg = new FileDialog(Display.getCurrent().getShells()[0]); + dlg.setText("Select the package image."); + String strDir = dlg.open(); + + return strDir; + } + + /** + * Unzip SDK ImageFile. + * + * @param imageFile SDK Image File. + * @return if success to unzip is 1, not -1 or 0. + */ + private long unzipSDKImageFile(final File imageFile) { + Log.log("Start to unzip SDK Image File. => " + imageFile.getName()); + + String sdkTempDir = PathUtil.getCurrentDir(); + + final File sdkTempDirFile = new File(sdkTempDir); + if (!sdkTempDirFile.exists()) { + sdkTempDirFile.mkdirs(); + } + + final IndeterminateProgressDialog progressbar = IndeterminateProgressDialog.getInstance(); + progressbar.updateName("Extracting the SDK image file...\n It can take few minutes."); + + Shell shell = progressbar.getParent(); + shell.getDisplay().asyncExec(new Runnable(){ + public void run() { + String imageFilePath = imageFile.getAbsolutePath(); + SDKPackageFormat format = SDKPackageFormat.createSDKPackageFormat(); + unzipResult = format.unZip(imageFilePath, sdkTempDirFile.getAbsolutePath(), null); + progressbar.finish(); + } + }); + + if (!shell.isDisposed()) { + progressbar.open(); + } + + if (unzipResult <= 0) { + repository = ""; + } else { + repository = sdkTempDir; + } + + return unzipResult; + } + + /** + * get serverType. + * + * @return + */ + public ServerType getServerType() { + return serverType; + } + + /** + * Set to enable OK button. + * + * @param isAvailable + */ + public void setOkEnable(boolean isAvailable) { + okBtn = getButton(Window.OK); + okBtn.setEnabled(isAvailable); + } + + /** + * Clear the data. + */ + public void clear() { + if (!distributionCombo.isDisposed()) { + distributionCombo.dispose(); + } + + if (!snapshotTable.isDisposed()) { + snapshotTable.clearAll(); + } + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/IndeterminateProgressDialog.java b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/IndeterminateProgressDialog.java index f464020..f990a5b 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/dialog/IndeterminateProgressDialog.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/dialog/IndeterminateProgressDialog.java @@ -48,12 +48,14 @@ public class IndeterminateProgressDialog extends Dialog { ProgressBar mProgressBar = null; boolean bCancel = false; + + private static IndeterminateProgressDialog progressDialog = null; - public IndeterminateProgressDialog(Shell parent, int style) { + private IndeterminateProgressDialog(Shell parent, int style) { super(parent, style); } - public IndeterminateProgressDialog(Shell parent, int style, String title) { + private IndeterminateProgressDialog(Shell parent, int style, String title) { super(parent, style); mDisplay = getParent().getDisplay(); setText(title); @@ -65,7 +67,7 @@ public class IndeterminateProgressDialog extends Dialog { public void open() { createContents(); setCenterOfMonitor(); - + mShell.open(); mShell.layout(); @@ -108,14 +110,14 @@ public class IndeterminateProgressDialog extends Dialog { */ private void createContents() { mShell = new Shell(getParent(), SWT.None | SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); - mShell.setSize(250, 130); + mShell.setSize(300, 130); mShell.setText("InstallManager"); - mProgressBar = new ProgressBar(mShell, SWT.INDETERMINATE); - mProgressBar.setBounds(50, 43, 150, 17); +// mProgressBar = new ProgressBar(mShell, SWT.INDETERMINATE); +// mProgressBar.setBounds(50, 43, 150, 17); mNameLabel = new Label(mShell, SWT.NONE | SWT.CENTER); - mNameLabel.setBounds(45, 17, 160, 17); + mNameLabel.setBounds(25, 17, 250, 40); mNameLabel.setText("file name"); } @@ -124,13 +126,16 @@ public class IndeterminateProgressDialog extends Dialog { * @param fileName is string that wants to show on dialog */ public void updateName(final String fileName) { +// if (!mDisplay.isDisposed()) { +// mNameLabel.setText(fileName); +// } if (!mDisplay.isDisposed()) { mDisplay.asyncExec(new Runnable() { public void run() { if (!mNameLabel.isDisposed()) { if (fileName.length() > 30) { - String name = fileName.substring(0, 29); - name = name + "..."; + //String name = fileName.substring(0, 29); + String name = fileName + "..."; mNameLabel.setText(name); } else { @@ -153,8 +158,8 @@ public class IndeterminateProgressDialog extends Dialog { /** * Finish displaying the indeterminate dialog. */ - public void finish() { - if (mShell.isDisposed()) { + public void finish() { + if (mShell == null || mShell.isDisposed()) { return; } @@ -167,10 +172,12 @@ public class IndeterminateProgressDialog extends Dialog { } } - /** - * Start to display the indeterminate dialog. - */ - public static void start() { - + public static IndeterminateProgressDialog getInstance() { + if (progressDialog == null) { + Shell shell = new Shell(Display.getCurrent()); + progressDialog = new IndeterminateProgressDialog(shell, SWT.NONE, ""); + } + + return progressDialog; } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/model/Item.java b/InstallManager_java/src/org/tizen/installmanager/ui/model/Item.java index b3a772c..3f9b6b5 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/model/Item.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/model/Item.java @@ -31,19 +31,21 @@ package org.tizen.installmanager.ui.model; import java.util.ArrayList; import java.util.List; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Package; +import org.tizen.installmanager.pkg.model.PackageSet; + /** * This class support items for tree view. * @author Taeyong Son */ -public class Item { +public class Item implements Comparable { + private Package latestPackage; + private Package installedPackage; private Item parent; - private String name; - private String latestVersion; - private String installedVersion; - private String size; private ArrayList children; - private boolean isChecked = true; - private State mState = null; + private CheckState checkState= CheckState.UNCHECKED; + private InstallState installState = InstallState.INSTALL; /** * Package item status enumeration.
@@ -51,11 +53,24 @@ public class Item { * UPDATE : This item need to update.
* UNINSTALL : This item need to uninstall. */ - public enum State { + public enum InstallState { INSTALL, UPDATE, + SNAPSHOT, UNINSTALL, } + + /** + * item check status enumeration.
+ * CHECKED : this item's check state is checked.
+ * GRAYED : this item's check state is grayed.
+ * UNCHECKED : this item's check state is unchecked. + */ + public enum CheckState { + CHECKED, + GRAYED, + UNCHECKED + } /** * Construct Item class. @@ -66,25 +81,36 @@ public class Item { * @param size is a item size. * @param state is a item state. */ - public Item( - Item parent, String name, String latestVersion, String installedVersion, long size, - State state) { - setParent(parent); - setName(name); - setLatestVersion(latestVersion); - setInstalledVersion(installedVersion); - setSize(size); - setState(state); - children = new ArrayList(); - + public Item(Package latestPackage, Package installedPackage, InstallState state) { + setLatestPackage(latestPackage); + setInstalledPackage(installedPackage); + setInstallState(state); + + this.children = new ArrayList(); } /** - * Get package item name. + * Get display name of item. + * @return + */ + public String getDisplayName() { + if (latestPackage != null) { + return latestPackage.getLabel(); + } else { + return ""; + } + } + + /** + * Get package name of item. * @return */ - public String getName() { - return name; + public String getPackageName() { + if (latestPackage != null) { + return latestPackage.getPackageName(); + } else { + return ""; + } } /** @@ -92,7 +118,11 @@ public class Item { * @return */ public String getLatestVersion() { - return latestVersion; + if (latestPackage != null) { + return latestPackage.getVersion().toString(); + } else { + return ""; + } } /** @@ -100,31 +130,117 @@ public class Item { * @return */ public String getInstalledVersion() { - return installedVersion; + if (installedPackage != null) { + return installedPackage.getVersion().toString(); + } else { + return ""; + } } - + /** - * Get package item size - * @return + * Get total checked items size + * @return Checked items size + */ + public Long getSize() { + PackageManager pm = PackageManager.getInstance(); + + if (pm == null) { + return 0l; + } else { + long size = 0l; + PackageSet checkedChildPackages = getCheckedPackages(); + + if (installState == InstallState.UNINSTALL) { + size = pm.getTotalSizeOfRemovablePackages(checkedChildPackages); + } else { + size = pm.getTotalSizeOfInstallablePackages(checkedChildPackages); + } + + return size; + } + } + + private ArrayList getCheckedItems() { + ArrayList checkedItems = getCheckedChildItems(); + + if (this.getCheckState() == CheckState.CHECKED) { + checkedItems.add(this); + } + + return checkedItems; + } + + private ArrayList getCheckedChildItems() { + ArrayList checkedItems = new ArrayList(); + + ArrayList childItems = getChildren(); + for (Item childItem : childItems) { + if (childItem.getCheckState() == CheckState.CHECKED) { + checkedItems.add(childItem); + } else if (childItem.getCheckState() == CheckState.GRAYED) { + checkedItems.addAll(childItem.getCheckedChildItems()); + } + } + + return checkedItems; + } + + private PackageSet getCheckedPackages() { + PackageSet checkedPackages = new PackageSet(); + + ArrayList checkedItems = getCheckedItems(); + + for (Item checkedItem : checkedItems) { + if (installState == InstallState.UNINSTALL) { + checkedPackages.add(checkedItem.getInstalledPackage()); + } else { + checkedPackages.add(checkedItem.getLatestPackage()); + } + } + + return checkedPackages; + } + + /** + * Get package item order + * @return item order */ - public String getSize() { - return size; + public int getPackageOrder() { + if (latestPackage != null) { + return latestPackage.getOrder(); + } else { + return 0; + } } /** + * add child item on current item. + */ + public void addChildItem(Item item) { + this.children.add(item); + } + + /** + * Clear children items on current item. + */ + public void clearChildrenItems() { + this.children.clear(); + } + + /** * Get dependent package item on current item. * @return */ - public Object[] getChildren() { - return children.toArray(); + public ArrayList getChildren() { + return children; } /** * Check package is checked. * @return true is checked, false is unchecked. */ - public boolean isChecked() { - return isChecked; + public CheckState getCheckState() { + return checkState; } /** @@ -132,127 +248,233 @@ public class Item { * @return If package has children, return true. if not, return false. */ public boolean hasChildren() { - return !children.isEmpty(); + return !getChildren().isEmpty(); } - + /** * Get parent package. * @return parent package. */ - public Item getParent() { + public Item getParent() { return parent; } - + /** - * Set parent package. - * @param parent + * Get latest package. + * @return */ - public void setParent(Item parent) { - this.parent = parent; + public Package getLatestPackage() { + return latestPackage; } - + /** - * Set package name - * @param name + * Get installed package. + * @return */ - public void setName(String name) { - this.name = name; + public Package getInstalledPackage() { + return latestPackage; } - + /** - * Set package's lastest version. - * @param latestVersion + * Get package that depends on the state. + * @return */ - public void setLatestVersion(String latestVersion) { - this.latestVersion = latestVersion; + public Package getPackage() { + if (this.installState == InstallState.UNINSTALL) { + return installedPackage; + } else { + return latestPackage; + } } - + /** - * Set installed package's version - * @param installedVersion + * Set latest package for tree item. + * @param pkg */ - public void setInstalledVersion(String installedVersion) { - this.installedVersion = installedVersion; + public void setLatestPackage(Package pkg) { + this.latestPackage = pkg; } - + /** - * Set package's total size - * @param totalSize(String) + * Set installed package for tree item. + * @param pkg */ - public void setSize(String totalSize) { - this.size = totalSize; + public void setInstalledPackage(Package pkg) { + this.installedPackage = pkg; } /** - * Set package's total size - * @param totalSize(long) + * Set parent package. + * @param parent */ - public void setSize(long totalSize) { - String size = "0"; - if (totalSize != 0) { - size = new Long(totalSize).toString(); - } - setSize(size); + public void setParent(Item parentItem) { + parent = parentItem; } /** * Set package's checked flag. - * @param checked is true, this package is selected by tree view. + * @param CHECKED is true, this package is selected by tree view. */ - public void setChecked(boolean checked) { - this.isChecked = checked; + public void setCheckState(CheckState state) { + this.checkState = state; + } + + public void setCheckState(boolean state) { + if (state) { + this.checkState = CheckState.CHECKED; + } else { + this.checkState = CheckState.UNCHECKED; + } } /** * Set item's state. * @param state - * @see State + * @see InstallState */ - public void setState(State state) { - mState = state; + public void setInstallState(InstallState state) { + if (state == InstallState.UPDATE) { + this.checkState = CheckState.CHECKED; + } else if (state == InstallState.UNINSTALL) { + this.checkState = CheckState.UNCHECKED; + } + + this.installState = state; } /** * Get item's state * @return state - * @see State + * @see InstallState */ - public State getState() { - return mState; + public InstallState getInstallState() { + return installState; } - + + /** + * Get item's display order + * @return display order + */ + public int getOrder() { + return latestPackage.getOrder(); + } + /** - * Get parameter's child items. - * @param itemName - * @return If current item equals param's item, return this(current item). - * If param's item has children, return child item. if not, return null. + * Set state by children's state */ - public Item getDescendant(String itemName) { - if (getName().equals(itemName)) { - return this; + public void setStateByChildren() { + setCheckStateByChildren(this); + setInstallStateByChildren(this); + } + + private void setCheckStateByChildren(Item parentItem) { + if (!parentItem.hasChildren()) { + return; + } else { + for (Item item : parentItem.getChildren()) { + setCheckStateByChildren(item); + } + + if (parentItem.isChildrenAllChecked()) { + parentItem.setCheckState(CheckState.CHECKED); + } else if (parentItem.isChildrenAllUnchecked()) { + parentItem.setCheckState(CheckState.UNCHECKED); + } else { + parentItem.setCheckState(CheckState.GRAYED); + } } - - if (hasChildren()) { - Item existItem = null; - for (int i = 0; i < getChildren().length; i++) { - existItem = ((Item) getChildren()[i]).getDescendant(itemName); - if (existItem != null) - return existItem; + } + + private void setInstallStateByChildren(Item parentItem) { + if (!parentItem.hasChildren()) { + return; + } else { + for (Item item : parentItem.getChildren()) { + setInstallStateByChildren(item); + } + + if (parentItem.isChildrenAllUpdate()) { + parentItem.setInstallState(InstallState.UPDATE); + } else if (parentItem.isChildrenAllUninstall()) { + parentItem.setInstallState(InstallState.UNINSTALL); + } else { + parentItem.setInstallState(InstallState.INSTALL); + } + } + } + + + /** + * check children's checkbox state. + * @return if true, children's checkbox state is all checked. + */ + public boolean isChildrenAllChecked() { + for (Item item : getChildren()) { + if (item.getCheckState() != CheckState.CHECKED) { + return false; + } + } + return true; + } + + /** + * check children's checkbox state. + * @return if true, children's checkbox state is all unchecked. + */ + public boolean isChildrenAllUnchecked() { + for (Item item : getChildren()) { + if (item.getCheckState() != CheckState.UNCHECKED) { + return false; + } + } + return true; + } + + private boolean isChildrenAllUpdate() { + for (Item item : getChildren()) { + if (item.getInstallState() != InstallState.UPDATE) { + return false; + } + } + return true; + } + + private boolean isChildrenAllUninstall() { + for (Item item : getChildren()) { + if (item.getInstallState() != InstallState.UNINSTALL) { + return false; + } + } + return true; + } + + public String getStateToString() { + if (hasChildren() || getParent() == null) { + return ""; + } else { + switch(installState) { + case INSTALL: + return "Not installed"; + case UPDATE: + return "Updatable"; + case UNINSTALL: + return "Installed"; + default: + return ""; } } - return null; } /** * If parent item is checked, child items should be checked. - * @param checked is true, every child items' checked flag is true. false is the opposite. + * @param state is true, every child items' checked flag is true. false is the opposite. */ - public void setSubItemChecked(boolean checked) { - setChecked(checked); + public void setSubItemChecked(boolean state) { + setCheckState(state); if (hasChildren()) { - for (int i = 0; i < getChildren().length; i++) { - ((Item) getChildren()[i]).setSubItemChecked(checked); + for (int i = 0; i < getChildren().size(); i++) { + ((Item) getChildren().get(i)).setSubItemChecked(state); } } } @@ -264,16 +486,14 @@ public class Item { */ public void getTerminalPackages(List installList, boolean checked) { if (hasChildren()) { - for (int i = 0; i < getChildren().length; i++) { - ((Item) getChildren()[i]).getTerminalPackages(installList, checked); + for (Item childItem : getChildren()) { + childItem.getTerminalPackages(installList, checked); } - } else { - if (checked == true) { - if (isChecked()) - installList.add(getName()); - } else { - if (!isChecked()) - installList.add(getName()); + } + + if (getChildren().size() <= 0) { + if (getCheckState() == CheckState.CHECKED) { + installList.add(getPackageName()); } } } @@ -286,47 +506,77 @@ public class Item { List descendants = new ArrayList(); descendants.add(this); if (hasChildren()) { - for (int i = 0; i < getChildren().length; i++) { - descendants.addAll(((Item) getChildren()[i]).getDescendants()); + for (int i = 0; i < getChildren().size(); i++) { + descendants.addAll(((Item) getChildren().get(i)).getDescendants()); } } return descendants; } - + public boolean hasGrayedChild(List grayCheckedItems) { for (int i = 0; i < grayCheckedItems.size(); i++) { - for (int j = 0; j < getChildren().length; j++) { - if (grayCheckedItems.get(i) == getChildren()[j]) + for (int j = 0; j < getChildren().size(); j++) { + if (grayCheckedItems.get(i) == getChildren().get(j)) return true; } } return false; } + + /** + * check children's checkbox state. + * @return if true, child item's checkbox state is grayed. + */ + public boolean hasGrayedChild() { + for (Item item : getChildren()) { + if (item.getCheckState() == CheckState.GRAYED) { + return true; + } + } + return false; + } public void checkSuperItemGrayed( List grayCheckedItems, List checkedItems, List unCheckedItems) { if (hasChildren()) { boolean isAllChecked = true; boolean isAllUnchecked = true; - for (int i = 0; i < getChildren().length; i++) { - if (((Item) getChildren()[i]).isChecked() == false) + for (int i = 0; i < getChildren().size(); i++) { + if (((Item) getChildren().get(i)).getCheckState() == CheckState.UNCHECKED) isAllChecked = false; else isAllUnchecked = false; } if (isAllChecked == false && isAllUnchecked == false || hasGrayedChild(grayCheckedItems) == true) { grayCheckedItems.add(this); - setChecked(true); +// setChecked(true); } else if (isAllChecked == true && isAllUnchecked == false && hasGrayedChild(grayCheckedItems) == false) { checkedItems.add(this); - setChecked(true); + setCheckState(CheckState.CHECKED); } else if (isAllChecked == false && isAllUnchecked == true && hasGrayedChild(grayCheckedItems) == false) { unCheckedItems.add(this); - setChecked(false); + setCheckState(CheckState.UNCHECKED); } } if (getParent() != null) { getParent().checkSuperItemGrayed(grayCheckedItems, checkedItems, unCheckedItems); } } + + public String toString() { + return getPackageName(); + } + + @Override + public int compareTo(Item item) { + int order = item.getOrder(); + if (order > getOrder()) { + return -1; + } else if (order == getOrder()) { + return 0; + } else if (order < getOrder()) { + return 1; + } + return 0; + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemLabelProvider.java b/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemLabelProvider.java index 344b89f..f8a37bf 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemLabelProvider.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemLabelProvider.java @@ -28,9 +28,15 @@ package org.tizen.installmanager.ui.model; + +import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.swt.graphics.Image; +import org.eclipse.jface.viewers.ViewerCell; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Display; +import org.tizen.installmanager.ui.model.Item.CheckState; +import org.tizen.installmanager.ui.model.Item.InstallState; import org.tizen.installmanager.ui.page.PackageListPage; @@ -39,7 +45,7 @@ import org.tizen.installmanager.ui.page.PackageListPage; * @see PackageListPage * @author Taeyoung Son */ -public class ItemLabelProvider implements ITableLabelProvider { +public class ItemLabelProvider extends ColumnLabelProvider { @Override public void addListener(ILabelProviderListener listener) { @@ -58,40 +64,79 @@ public class ItemLabelProvider implements ITableLabelProvider { public void removeListener(ILabelProviderListener listener) { } - @Override - public Image getColumnImage(Object element, int columnIndex) { - return null; +// public String getToolTipText(Object element) { +// String description = "Tooltip (" + element + ")"; +// if (element instanceof Item && viewController != null) { +// String pkgName = ((Item) element).getPackageName(); +// description = viewController.getDescription(pkgName); +// } +// +// return description; +// } + + public Point getToolTipShift(Object object) { + return new Point(5, 5); } - - @Override - public String getColumnText(Object element, int columnIndex) { + + public int getToolTipTimeDisplyed(Object object) { + return 5000; + } + + public void update(ViewerCell cell) { + int columnIndex = cell.getColumnIndex(); + Object element = cell.getElement(); String result = null; switch (columnIndex) { case 0: - if (element instanceof Item) - result = ((Item) element).getName(); + if (element instanceof Item) { + result = ((Item) element).getDisplayName(); + } break; case 1: - if (element instanceof Item) - result = ((Item) element).getLatestVersion(); + if (element instanceof Item) { + result = ((Item) element).getStateToString(); + } break; case 2: - if (element instanceof Item) - result = ((Item) element).getInstalledVersion(); + if (element instanceof Item) { + result = displaySize(element); + } break; case 3: - if (element instanceof Item) - result = sizeToKB(((Item) element).getSize()); + if (element instanceof Item) { + result = ((Item) element).getInstalledVersion(); + } break; } - return result; + + if (result != null) { + cell.setText(result); + } + + if (element instanceof Item) { + InstallState state = ((Item)element).getInstallState(); + if (state == InstallState.UPDATE || state == InstallState.UNINSTALL) { + cell.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY)); + } + } + } + + private String displaySize(Object element) { + Item item = (Item) element; + + if (item.getCheckState() == CheckState.UNCHECKED) { + return ""; + } else { + return sizeToKB(item.getSize()); + } } - private String sizeToKB(String size) { - if (size.equals("")) { + private String sizeToKB(Long size) { + if (size <= 0) { return ""; } - double sizeB = Double.parseDouble(size); + + double sizeB = (double)size; double sizeK = sizeB / 1024.0; double sizeM = sizeK / 1024.0; diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemTreeContentProvider.java b/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemTreeContentProvider.java index 1aa9ad8..f6056e6 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemTreeContentProvider.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/model/ItemTreeContentProvider.java @@ -28,6 +28,7 @@ package org.tizen.installmanager.ui.model; +import java.util.ArrayList; import java.util.List; import org.eclipse.jface.viewers.ITreeContentProvider; @@ -48,31 +49,49 @@ public class ItemTreeContentProvider implements ITreeContentProvider { @Override public Object[] getElements(Object inputElement) { - return getChildren(inputElement); + ArrayList retElements = new ArrayList(); + + if (inputElement instanceof List) { + List elementList = (List)inputElement; + + for (Object obj : elementList) { + if (obj instanceof Item) { + Item item = (Item)obj; + + if (item.getParent() == null) { + retElements.add(item); + } + } + } + } + + return retElements.toArray(); } @Override public Object[] getChildren(Object parentElement) { - if (parentElement instanceof List) - return ((List) parentElement).toArray(); - if (parentElement instanceof Item) - return ((Item) parentElement).getChildren(); - return new Object[0]; + if (parentElement instanceof Item) { + return ((Item) parentElement).getChildren().toArray(); + } else { + return null; + } } @Override public Object getParent(Object element) { - if (element instanceof Item) + if (element instanceof Item) { return ((Item) element).getParent(); - return null; + } else { + return null; + } } @Override public boolean hasChildren(Object element) { - if (element instanceof List) - return ((List) element).size() > 0; - if (element instanceof Item) + if (element instanceof Item) { return ((Item) element).hasChildren(); - return false; + } else { + return false; + } } } \ No newline at end of file diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/.gitignore b/InstallManager_java/src/org/tizen/installmanager/ui/page/.gitignore new file mode 100644 index 0000000..0536a1f --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/.gitignore @@ -0,0 +1 @@ +/PageTemplate.java diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/CompletePage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/CompletePage.java index 5f30364..863ce1f 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/CompletePage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/CompletePage.java @@ -28,12 +28,19 @@ package org.tizen.installmanager.ui.page; +import java.io.File; + import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; +import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.lib.Platform; import org.tizen.installmanager.ui.InstallManagerWindow; +import org.tizen.installmanager.ui.dialog.MessageBoxDlg; +import org.tizen.installmanager.ui.dialog.MessageBoxDlg.DialogType; +import org.tizen.installmanager.util.PathUtil; /** @@ -45,7 +52,7 @@ public class CompletePage extends PageTemplate { public static final String RSC_PATH_UNINSTALL_IMAGE = RESOURCE_PATH + "/uninstaller_graphicmotif_003.png"; public static final String STRING_TITLE = "Installation Completed"; private Label lblNewLabel; - public static Button checkBtn; + public Button checkBtn; /** * Set basic environment of complete page. @@ -77,7 +84,7 @@ public class CompletePage extends PageTemplate { * Get check button * @return check button object */ - public static Button getChkBtn() { + public Button getChkBtn() { return checkBtn; } @@ -97,6 +104,32 @@ public class CompletePage extends PageTemplate { public void setCustomMessage(String completeMsg) { lblNewLabel.setText(completeMsg); } + + public void removeTargetDir() { + String targetDir = Config.getInstance().getTargetDir(); + if (targetDir == null || targetDir.isEmpty()) { + return; + } + + File targetDirFile = new File(targetDir); + if (!targetDirFile.exists()) { + return; + } else { + if (!Platform.isWindows()) { + int confirm = MessageBoxDlg.showDlg(getShell(), + "WARNING", + "Do you want to remove the SDK directory?\n" + + "Your data files in '" + + targetDir + + "' will be removed too.", + DialogType.WARNING); + + if (confirm == MessageBoxDlg.YES) { + PathUtil.remove(targetDir); + } else {} + } else {}//if(Patform.isWindows()) + } + } /** * Show error message on complete page. diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/ConfigPathPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/ConfigPathPage.java index ba9f674..eaf3bf8 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/ConfigPathPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/ConfigPathPage.java @@ -42,7 +42,7 @@ import org.eclipse.jface.viewers.TableViewerColumn; public class ConfigPathPage extends PageTemplate { private static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_003.png"; private static final String STRING_TITLE = "Install"; - private static final String STRING_SUBTITLE = "Where do you want to install and update packages?"; + private static final String STRING_SUBTITLE = "Select the package installation and update location."; private Table table; diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallableListPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallableListPage.java index 27deeaa..c480caf 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallableListPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallableListPage.java @@ -1,55 +1,78 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.ui.page; +import java.util.ArrayList; +import java.util.Collection; + import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.TreeItem; +import org.eclipse.swt.widgets.Label; import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.InstallManager; +import org.tizen.installmanager.core.SDKExtensionInfo; import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.IMError; import org.tizen.installmanager.lib.Log; +import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.ui.model.Item; -import org.tizen.installmanager.ui.model.Item.State; - - +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Package; /** * This class displays installable package list on page. - * @author Taeyoung Son + * + * @author Yongsung Kim */ public class InstallableListPage extends PackageListPage { - static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_002.png"; - static final String STRING_TITLE = "Items"; - static final String STRING_SUBTITLE = "Customize the items that you wish to install."; + static final String RSC_PATH_IMAGE = RESOURCE_PATH + + "/install_manager_graphicmotif_002.png"; + static final String STRING_TITLE = "Install Type"; + + static final String TYPICAL_BUTTON_NAME = "Typical"; + static final String MINIMAL_BUTTON_NAME = "Minimal"; + static final String CUSTOM_BUTTON_NAME = "Custom"; + + private Composite buttonComposite; + + // Install Type button + private Button typicalButton; + private Button minimalButton; + private Button customButton; + + // Install Type Explain Label + private Label typicalLabel; + private Label minimalLabel; /** * @param parent @@ -58,8 +81,149 @@ public class InstallableListPage extends PackageListPage { public InstallableListPage(Composite parent, int style) { super(parent, style, Type.INSTALL); setLeftImageFromResource(RSC_PATH_IMAGE); + setTitleBounds(160, 3, 468, 20); + disableSubtitleBounds(); setTitle(STRING_TITLE); - setSubTitle(STRING_SUBTITLE); + + buttonComposite = new Composite(this, SWT.NONE); + + buttonComposite.setSize(468, 60); + buttonComposite.setLocation(160, 27); + buttonComposite + .setBackground(InstallManagerWindow.getBackgroundColor()); + + setButtons(); + } + + /** + * Set Install Type radio buttons. + */ + private void setButtons() { + setTypicalButton(); + setMinimalButton(); + setCustomButton(); + } + + /** + * Set Typical Type radio button. + */ + private void setTypicalButton() { + if (typicalButton == null) { + typicalButton = new Button(buttonComposite, SWT.RADIO); + } + + typicalButton.setSelection(true); + + typicalButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + setCheckedByType(TYPICAL_BUTTON_NAME.toUpperCase()); + checkboxTreeViewer.refresh(); + checkboxTreeViewer.getTree().setEnabled(false); + + lblRequiredSize.setText("Total space required : " + + convertToVolumeSize(getCheckedPackageSize())); + + setNextBtnEnabledAboutCheckedPackageCount(); + } + }); + + typicalButton.setBounds(0, 0, 80, 15); + typicalButton.setText(TYPICAL_BUTTON_NAME + ":"); + typicalButton.setBackground(InstallManagerWindow.getBackgroundColor()); + + typicalLabel = new Label(buttonComposite, SWT.NONE); + typicalLabel.setBounds(81, 0, 410, 15); + } + + /** + * Set Minimal Type radio button. + */ + private void setMinimalButton() { + if (minimalButton == null) { + minimalButton = new Button(buttonComposite, SWT.RADIO); + } + + minimalButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + setCheckedByType(MINIMAL_BUTTON_NAME.toUpperCase()); + checkboxTreeViewer.refresh(); + checkboxTreeViewer.getTree().setEnabled(false); + + lblRequiredSize.setText("Total space required : " + + convertToVolumeSize(getCheckedPackageSize())); + + setNextBtnEnabledAboutCheckedPackageCount(); + } + }); + + minimalButton.setBounds(0, 20, 80, 15); + minimalButton.setText(MINIMAL_BUTTON_NAME + ":"); + minimalButton.setBackground(InstallManagerWindow.getBackgroundColor()); + + minimalLabel = new Label(buttonComposite, SWT.NONE); + minimalLabel.setBounds(81, 20, 410, 15); + } + + /** + * Set Custom Type radio button. + */ + private void setCustomButton() { + if (customButton == null) { + customButton = new Button(buttonComposite, SWT.RADIO); + } + + customButton.setBounds(0, 40, 80, 15); + customButton.setText(CUSTOM_BUTTON_NAME); + customButton.setBackground(InstallManagerWindow.getBackgroundColor()); + + customButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + checkboxTreeViewer.getTree().setEnabled(true); + } + }); + } + + /** + * Check tree item by each install type. + */ + private void setCheckedByType(String installType) { + if (installType == null || installType.isEmpty()) { + Log.err("Install type is empty. check install type or package server is old."); + } + Package pkg = InstallManager.getInstance().getPackageManager() + .getPackageByName(installType); + + if (pkg == null) { + Log.err(installType + " do not exist in package list."); + return; + } + + Collection checkedItems = new ArrayList(); + + for (String pkgName : pkg.getDependentPackageNames()) { + Item item = findItem(pkgName, items); + + if (item != null) { + checkedItems.add(item); + } + } + + setCheckedItem(checkedItems); + } + + private void setCheckedItem(Collection itemList) { + checkboxTreeViewer.setCheckedElements(itemList.toArray()); + + // refresh tree item. All of items are unchecked. + setAllChecked(false); + + // check selected item. + for (Item item : itemList) { + setCheckbox(item, true); + } } /** @@ -69,9 +233,21 @@ public class InstallableListPage extends PackageListPage { this.viewController = controller; getItems().clear(); + // back to next on component selection page case. + // in this case, page status should be typical selection case. + if (customButton.getSelection()) { + customButton.setSelection(false); + typicalButton.setSelection(true); + } else if (minimalButton.getSelection()) { + minimalButton.setSelection(false); + typicalButton.setSelection(true); + } + try { - loadPackagesToTreeViewer(viewController.getInstallableMetaPackageList(), State.INSTALL); - loadPackagesToTreeViewer(viewController.getUpdatableMetapackageList(), State.UPDATE); + loadPackagesToTreeViewer(viewController.getRootMetaPackageListOfRepository()); + + SDKExtensionInfo sdkExtensionInfo = SDKExtensionInfo.getInstance(); + addExtensionPackagesToExtra(sdkExtensionInfo.getExtensionPackages()); } catch (IMFatalException fatalException) { Log.err(ErrorController.getErrorMessage()); IMError.fatalError(ErrorController.getErrorMessage()); @@ -79,33 +255,76 @@ public class InstallableListPage extends PackageListPage { checkboxTreeViewer.refresh(); - if (getItems().size() <= 0) { return false; } - setAllChecked(true); + setCheckedByType(TYPICAL_BUTTON_NAME.toUpperCase()); + checkboxTreeViewer.getTree().setEnabled(false); - //font color to gray - setDisableColor(); + checkboxTreeViewer.refresh(); setNextBtnEnabledAboutCheckedPackageCount(); - lblRequiredSize.setText("Space required : " + convertToVolumeSize(getCheckedPackageSize())); + lblRequiredSize.setText("Total space required : " + + convertToVolumeSize(getCheckedPackageSize())); + + initDescriptionToInstallType(); return true; } + + private void initDescriptionToInstallType() { + PackageManager pm = PackageManager.getInstance(); + + //set typical description + String typicalExplain = ""; + Package typicalPackage = pm.getPackageByName(TYPICAL_BUTTON_NAME.toUpperCase()); + if (typicalPackage != null) { + typicalExplain = typicalPackage.getDescription(); + } + + typicalLabel.setText(typicalExplain); + typicalLabel.setBackground(InstallManagerWindow.getBackgroundColor()); + + //set minimal description + String minimalExplain = ""; + Package minimalPackage = pm.getPackageByName(MINIMAL_BUTTON_NAME.toUpperCase()); + if (minimalPackage != null) { + minimalExplain = minimalPackage.getDescription(); + } + + minimalLabel.setText(minimalExplain); + minimalLabel.setBackground(InstallManagerWindow.getBackgroundColor()); + } /** - * Updatable packages's color is gray. - * It means that user cannot uncheck. + * Find item which should be checked in component tree. + * + * @param name + * the name of item which should be checked. + * @param itemList + * @return item which should be checked in component tree. */ - private void setDisableColor() { - for (TreeItem tItem : checkboxTreeViewer.getTree().getItems()) { - Item item = (Item) tItem.getData(); + private Item findItem(String name, Collection itemList) { + Item retItem = null; + for (Item item : itemList) { + if (name.equalsIgnoreCase(item.getPackageName())) { + return item; + } else { + Collection childItemList = item.getChildren(); - if (item.getState() == State.UPDATE) { - tItem.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY)); + if (childItemList.size() > 0) { + retItem = findItem(name, childItemList); + + if (retItem != null) { + break; + } + } } } + return retItem; } } + + + diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallingPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallingPage.java index a55e3a6..4c9f2a1 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallingPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/InstallingPage.java @@ -50,7 +50,6 @@ import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.ui.dialog.MessageBoxDlg; import org.tizen.installmanager.ui.dialog.MessageBoxDlg.DialogType; - /** * @author Taeyoung Son * @@ -59,7 +58,7 @@ public class InstallingPage extends PageTemplate { static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_003.png"; static final String STRING_TITLE = "Installation Progress"; - static final String STRING_SUBTITLE = "Please wait while the Tizen SDK installation is being processed."; + static final String STRING_SUBTITLE = "Wait while the Tizen SDK installation is being processed."; static final double KB_SIZE = 1; static final double MB_SIZE = KB_SIZE * 1024; @@ -149,47 +148,27 @@ public class InstallingPage extends PageTemplate { display = customComposite.getDisplay(); if (isUpdate == true) { - int confirm = MessageBoxDlg.YES; - ProgramController controller = ProgramController .createProgramController(); - if (controller.runningProgramExists()) - confirm = MessageBoxDlg + + if (controller.runningProgramExists()) { + int confirm = MessageBoxDlg .showDlg( getShell(), "Warning", - "SDK is running." - + " If you want to update SDK, we will kill the process." - + " Would you like to update SDK?", + "SDK is running. If you update the SDK, the running SDK version is stopped. Are you sure you want to update the SDK?", DialogType.WARNING); - if (confirm == MessageBoxDlg.YES) { - controller.terminateRunningProgram(); - new InstallThread(monitor).start(); - } else if (confirm == MessageBoxDlg.NO) { - return false; - } - } else { - if (!viewController.existRemovablePackage() && viewController.existFilesInTargetDirectory(installPath)) { - int confirm = MessageBoxDlg.showDlg( - getShell() - , - "Warning" - , - "Target directory has some files or directories.\nThey will be removed by InstallManager.\n" - + "Would you like to remove them?" - , DialogType.WARNING); - + if (confirm == MessageBoxDlg.YES) { - viewController.removeTargetPath(installPath); - new InstallThread(monitor).start(); - } else { - //TODO : complete message? + controller.terminateRunningProgram(); + } else if (confirm == MessageBoxDlg.NO) { return false; } - } else { - new InstallThread(monitor).start(); } - } + } else {} + + new InstallThread(monitor).start(); + return true; } @@ -343,28 +322,25 @@ public class InstallingPage extends PageTemplate { if (ErrorController.checkInstallationSuccess()) { completePage.setTitle("Installation Completed"); - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { completePage - .setCustomMessage("Thank you for installing Tizen SDK. \n\n" + - "To use the SDK program, open the Application menu, " + - "find the Tizen SDK folder, and click the program icon."); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + .setCustomMessage("Thank you for installing the Tizen SDK. \n\n" + + "To use the SDK, go to Application > Tizen SDK > Tizen IDE."); + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { completePage - .setCustomMessage("Thank you for installing Tizen SDK. \n\n" + - "To use the SDK program, open the Desktop menu, " + - "find the Tizen folder, and click the program icon."); + .setCustomMessage("Thank you for installing the Tizen SDK. \n\n" + + "To use the SDK, go to Start > All Programs > Tizen SDK > Tizen IDE."); } else { - ErrorController - .setError(ErrorCode.UNSUPPORTED_PLATFORM); - throw new IMFatalException(ErrorController - .getErrorMessage()); + completePage + .setCustomMessage("Thank you for installing the Tizen SDK. \n\n"); } Log.log("installation complete"); } else { Log.log("(un)installation failed"); completePage.setTitle("(Un)Installation failed"); - completePage.setCustomErrorMessage(ErrorController.getErrorMessage() + "\n" + - "It's recommended to uninstall all and install again."); + completePage.setCustomErrorMessage(ErrorController.getErrorMessage() + "\n"); mainWindow.getCompletePage().showCheckButton(false); } @@ -561,7 +537,7 @@ public class InstallingPage extends PageTemplate { /* set remain time */ double remainTime = 0; if (downloadVelocity == 0) - remainTimeStr = "unknown"; + remainTimeStr = "estimating.."; else { double remainSize = totalWork - mProgressSize; remainTime = remainSize / downloadVelocity; @@ -582,7 +558,7 @@ public class InstallingPage extends PageTemplate { statusLabel.setText("Downloading : " + mProgressTitle); installedNumberLabel.setText(currentSize + "/" + totalSize); - mSubTitleOfProgress.setText("Remain time : " + mSubTitleOfProgress.setText("Remaining time : " + remainTimeStr); mDownloadVelocity.setText(downloadVelocityStr); progressBar diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/LicensePage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/LicensePage.java index c77578e..66d45af 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/LicensePage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/LicensePage.java @@ -44,7 +44,7 @@ import org.tizen.installmanager.util.PathUtil; public class LicensePage extends PageTemplate { private static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_001.png"; private static final String STRING_TITLE = "License Agreement"; - private static final String STRING_SUBTITLE = "To continue you must accept the terms of this agreement."; + private static final String STRING_SUBTITLE = "To continue, accept the terms of this agreement."; private StyledText txtLicense; private Button btnAccept; diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/PackageListPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/PackageListPage.java index 0ec5f9f..9f24782 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/PackageListPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/PackageListPage.java @@ -1,39 +1,42 @@ /* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* + * InstallManager + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Wooyoung Cho + * Shihyun Kim + * Taeyoung Son + * Yongsung kim + * * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ package org.tizen.installmanager.ui.page; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.List; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTreeViewer; +import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; @@ -52,17 +55,20 @@ import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeColumn; import org.eclipse.swt.widgets.TreeItem; import org.tizen.installmanager.core.Config; -import org.tizen.installmanager.pkg.model.Package2; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.Platform; +import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.pkg.model.PackageSet; import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.ui.model.Item; import org.tizen.installmanager.ui.model.ItemLabelProvider; import org.tizen.installmanager.ui.model.ItemTreeContentProvider; -import org.tizen.installmanager.ui.model.Item.State; - +import org.tizen.installmanager.ui.model.Item.CheckState; +import org.tizen.installmanager.ui.model.Item.InstallState; /** * Display install or uninstall package lists via tree view. + * * @author Taeyoung Son */ public abstract class PackageListPage extends PageTemplate { @@ -71,19 +77,21 @@ public abstract class PackageListPage extends PageTemplate { protected Tree tree; private Label lblSelectPackage; protected Label lblRequiredSize; - private List items; + protected List items; + protected Label lblDescriptions; CheckboxTreeViewer checkboxTreeViewer; ViewController viewController = null; - public enum Type { - INSTALL, - UNINSTALL - } - Type mType = null; + private static final String EXTRAS_OF_TREE_ITEM = "EXTRAS"; + public enum Type { + INSTALL, UNINSTALL, UPDATE + } + /** - * Set environments for packagelist page, such as style, adding listener. + * Set environments for packagelist page, such as style, adding listener. + * * @param parent * @param style */ @@ -93,30 +101,32 @@ public abstract class PackageListPage extends PageTemplate { mType = type; items = new ArrayList(); + + setDescriptionText(customComposite); + + lblDescriptions = new Label(getCustomComposite(), SWT.NONE); + lblDescriptions.setBounds(0, 235, 124, 17); + if (Platform.isUbuntu()) { + lblDescriptions.setFont((new Font(Display.getCurrent(), new FontData("Dejavu Sans", 11, SWT.BOLD)))); + } else if (Platform.isWindows()) { + lblDescriptions.setFont((new Font(Display.getCurrent(), new FontData("Verdana", 11, SWT.BOLD)))); + } + lblDescriptions.setText("Description"); + lblDescriptions.setBackground(InstallManagerWindow.getBackgroundColor()); - mDescriptionText = new Text( - customComposite, - SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.H_SCROLL | SWT.CANCEL | SWT.MULTI); - mDescriptionText.setForeground(new Color(null, 96, 96, 96)); - mDescriptionText.setText("Position your mouse over a item to see its description."); - mDescriptionText.setEditable(false); - mDescriptionText.setEnabled(false); - mDescriptionText.setBounds(0, 247, 447, 55); - - checkboxTreeViewer = new CheckboxTreeViewer( - customComposite, SWT.BORDER | SWT.H_SCROLL | SWT.LEFT); + checkboxTreeViewer = new CheckboxTreeViewer(customComposite, SWT.BORDER | SWT.H_SCROLL | SWT.LEFT); tree = checkboxTreeViewer.getTree(); - tree.setBounds(0, 0, 447, 210); + tree.setBounds(0, 0, 447, 230); tree.setHeaderVisible(true); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); tree.addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseExit(MouseEvent arg0) { - mDescriptionText.setText("Position your mouse over a item to see its description."); + mDescriptionText.setText("Position your mouse pointer over an item to view its description."); mDescriptionText.setForeground(new Color(null, 96, 96, 96)); } - }); + tree.addMouseMoveListener(new MouseMoveListener() { @Override public void mouseMove(MouseEvent arg0) { @@ -124,44 +134,36 @@ public abstract class PackageListPage extends PageTemplate { TreeItem item = tree.getItem(mousePoint); if (item != null) { mDescriptionText.setForeground(new Color(null, 0, 0, 0)); - String packageName = item.getText(); + Item it = (Item)item.getData(); + String packageName = it.getPackageName(); String description = viewController.getDescription(packageName); - if (!description.isEmpty() && item.getText(1) != "") + if (!description.isEmpty()) mDescriptionText.setText(description); else mDescriptionText.setText("\"" + packageName + "\" category."); } else { - mDescriptionText.setText("Position your mouse over a item to see its description."); + mDescriptionText.setText("Position your mouse pointer over an item to view its description."); mDescriptionText.setForeground(new Color(null, 96, 96, 96)); } } }); TreeColumn trclmnA = new TreeColumn(tree, SWT.LEFT); - trclmnA.setWidth(187); + trclmnA.setWidth(260); trclmnA.setText("Name"); TreeColumn trclmnB = new TreeColumn(tree, SWT.CENTER); - trclmnB.setWidth(85); - trclmnB.setText("Latest"); - + trclmnB.setWidth(110); + trclmnB.setText("Status"); + TreeColumn trclmnC = new TreeColumn(tree, SWT.CENTER); - trclmnC.setWidth(85); - trclmnC.setText("Installed"); - - TreeColumn trclmnSize = new TreeColumn(tree, SWT.RIGHT); - trclmnSize.setWidth(83); - trclmnSize.setText("Size"); + trclmnC.setWidth(50); + trclmnC.setText("Size"); checkboxTreeViewer = new CheckboxTreeViewer(tree); - Label lblDescriptions = new Label(getCustomComposite(), SWT.NONE); - lblDescriptions.setBounds(0, 225, 124, 17); - lblDescriptions.setFont(new Font(Display.getCurrent(), new FontData("Sans", 10, SWT.BOLD))); - lblDescriptions.setText("Description"); - lblDescriptions.setBackground(InstallManagerWindow.getBackgroundColor()); - + ColumnViewerToolTipSupport.enableFor(checkboxTreeViewer); lblSelectPackage = new Label(getCustomComposite(), SWT.NONE); lblSelectPackage.setBounds(0, 225, 402, 17); @@ -169,40 +171,64 @@ public abstract class PackageListPage extends PageTemplate { lblSelectPackage.setBackground(InstallManagerWindow.getBackgroundColor()); lblSelectPackage.setVisible(false); - if (type == Type.INSTALL) { + if (Config.status == Config.Status.INSTALL) { lblRequiredSize = new Label(getCustomComposite(), SWT.NONE); - lblRequiredSize.setBounds(270, 212, 180, 23); + lblRequiredSize.setBounds(250, 235, 210, 23); lblRequiredSize.setBackground(InstallManagerWindow.getBackgroundColor()); } + checkboxTreeViewer.setContentProvider(new ItemTreeContentProvider()); checkboxTreeViewer.setLabelProvider(new ItemLabelProvider()); checkboxTreeViewer.setInput(getItems()); + checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent e) { if (e.getElement() instanceof Item) { + Item item = (Item) e.getElement(); - if (item.getName().equals(Config.SDK_NAME)) { + if (item.getPackageName().equals(Config.SDK_NAME)) { checkboxTreeViewer.setSubtreeChecked(item, !e.getChecked()); setCheckbox(item, e.getChecked()); setNextBtnEnabledAboutCheckedPackageCount(); return; - } - - //Updatable packages cannot be unchecked. - if (item.getState() == State.UPDATE) { - setCheckbox(item, true); } else { setCheckbox(item, e.getChecked()); + checkboxTreeViewer.refresh(); + setNextBtnEnabledAboutCheckedPackageCount(); - if (type == Type.INSTALL) - lblRequiredSize.setText("Space required : " + convertToVolumeSize(getCheckedPackageSize())); + if (type == Type.INSTALL || type == Type.UPDATE) { + lblRequiredSize.setText("Total space required : " + + convertToVolumeSize(getCheckedPackageSize())); + } } } } }); } + + private void setDescriptionText(Composite composite) { + mDescriptionText = new Text( + composite, + SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.H_SCROLL | SWT.CANCEL | SWT.MULTI); + mDescriptionText.setForeground(new Color(null, 96, 96, 96)); + mDescriptionText.setText("Position your mouse pointer over an item to view its description."); + mDescriptionText.setEditable(false); + mDescriptionText.setEnabled(false); + + if (Platform.isUbuntu()) { + mDescriptionText.setFont((new Font(Display.getCurrent(), new FontData("Dejavu Sans", 9, SWT.NONE)))); + } else if (Platform.isWindows()) { + mDescriptionText.setFont((new Font(Display.getCurrent(), new FontData("Verdana", 9, SWT.NONE)))); + } + + if (mType == Type.INSTALL) { + mDescriptionText.setBounds(0, 257, 447, 45); + } else if (mType == Type.UPDATE) { + mDescriptionText.setBounds(0, 287, 447, 45); + } + } protected void setNextBtnEnabledAboutCheckedPackageCount() { if (getCheckedPackageNumber() > 0) @@ -211,47 +237,78 @@ public abstract class PackageListPage extends PageTemplate { InstallManagerWindow.setNextBtnEnabled(false); } - private void setCheckbox(Item item, boolean checked) { - if (item == null) + protected void setCheckbox(Item item, boolean checked) { + if (item == null) { return; - setChildCheckbox(checkboxTreeViewer, item, checked); - setParentCheckbox(item); + } else { + setChildCheckbox(checkboxTreeViewer, item, checked); + if (item.getParent() != null) { + setParentCheckbox(item.getParent()); + } + + setCheckbox(items); + } } - private void setChildCheckbox( - CheckboxTreeViewer checkboxTreeViewer, Item selectedItem, boolean checked) { - if (checked) { - checkboxTreeViewer.setSubtreeChecked(selectedItem, true); - selectedItem.setSubItemChecked(true); + private void setChildCheckbox(CheckboxTreeViewer checkboxTreeViewer, + Item selectedItem, boolean checked) { + if (!selectedItem.hasChildren()) { + setCheckState(selectedItem, checked); } else { - checkboxTreeViewer.setSubtreeChecked(selectedItem, false); - selectedItem.setSubItemChecked(false); + for (Item item : selectedItem.getChildren()) { + setChildCheckbox(checkboxTreeViewer, item, checked); + } + setCheckStateByChildren(selectedItem); } } - private void setParentCheckbox(Item selectedItem) { - List grayCheckedItems = new ArrayList(); - List checkedItems = new ArrayList(); - List unCheckedItems = new ArrayList(); - if (selectedItem.getParent() != null) { - selectedItem.getParent().checkSuperItemGrayed( - grayCheckedItems, checkedItems, unCheckedItems); - for (int i = 0; i < grayCheckedItems.size(); i++) { - checkboxTreeViewer.setGrayChecked(grayCheckedItems.get(i), true); - } - for (int i = 0; i < checkedItems.size(); i++) { - checkboxTreeViewer.setGrayed(checkedItems.get(i), false); - checkboxTreeViewer.setChecked(checkedItems.get(i), true); - } - for (int i = 0; i < unCheckedItems.size(); i++) { - checkboxTreeViewer.setGrayed(unCheckedItems.get(i), false); - checkboxTreeViewer.setChecked(unCheckedItems.get(i), false); + private void setCheckState(Item selectedItem, boolean checked) { + if (selectedItem.getInstallState() == InstallState.INSTALL) { + selectedItem.setCheckState(checked); + } + } + + private void setParentCheckbox(Item parentItem) { + if (parentItem == null) { + return; + } + + setCheckStateByChildren(parentItem); + + if (parentItem.getParent() != null) { + setParentCheckbox(parentItem.getParent()); + } + } + + private void setCheckStateByChildren(Item treeItem) { + if (treeItem.isChildrenAllChecked()) { + treeItem.setCheckState(true); + } else if (treeItem.isChildrenAllUnchecked()) { + treeItem.setCheckState(false); + } else { + treeItem.setCheckState(CheckState.GRAYED); + } + } + + protected void setCheckbox(List itemList) { + checkboxTreeViewer.setCheckedElements(itemList.toArray()); + + for (Item item : itemList) { + if (item.getCheckState() == CheckState.CHECKED) { + checkboxTreeViewer.setGrayed(item, false); + checkboxTreeViewer.setChecked(item, true); + } else if (item.getCheckState() == CheckState.UNCHECKED) { + checkboxTreeViewer.setGrayed(item, false); + checkboxTreeViewer.setChecked(item, false); + } else { + checkboxTreeViewer.setGrayed(item, true); } } } /** * Get items list. + * * @return items list. */ public List getItems() { @@ -260,58 +317,161 @@ public abstract class PackageListPage extends PageTemplate { abstract public boolean loadPage(ViewController controller); - protected boolean loadPackagesToTreeViewer(PackageSet packageSet, State state) { - boolean result = false; + protected void loadPackagesToTreeViewer(PackageSet packageSet) { + //make tree items from package set. + List treeItems = makeTreeItem(packageSet); + + items.addAll(treeItems); + + // make relation for item tree. + makeRelation(items); + makeState(); + } + + public void addExtensionPackagesToExtra(PackageSet packageSet) { + Item extraItem = getExtraTreeItem(); + if (extraItem == null) { + return; + } + + //Always refresh Extra component whatever add and remove. + removeChildrenOfExtra(); + + List extensionItems = makeTreeItem(packageSet); + + makeRelation(extensionItems); + + //Add top items of extension items to extra. + for (Item extensionItem : extensionItems) { + if (extensionItem.getParent() == null) { + extraItem.addChildItem(extensionItem); + extensionItem.setParent(extraItem); + } + } + + for (Item item : items) { + if (item.getPackageName().equals(EXTRAS_OF_TREE_ITEM)) { + item.setStateByChildren(); + } + } + items.addAll(extensionItems); + checkboxTreeViewer.refresh(); + } + + private List makeTreeItem(PackageSet packageSet) { + List treeItemList = new ArrayList(); + if (packageSet == null) { - return result; + return treeItemList; } - for (Package2 pkg : packageSet) { - if (!pkg.isMeta()) { + for (Package pkg : packageSet) { + if (!pkg.isRootMeta() && !pkg.isPartnerMeta() && !pkg.isExtraMeta() && !pkg.isPublicMeta()) { continue; } - - if (pkg.getPackageName().equals("TIZEN-SDK")) { - continue; + + if (!Options.partnerSdk) { // Public SDK case + if (pkg.isPartnerMeta()) { + continue; + } + } else { // Partner SDK case + if (pkg.isPublicMeta()) { + continue; + } } String packageName = pkg.getPackageName(); - String installedVersion = viewController.getInstalledVersion(pkg); - Long packageSize = viewController.getTotalSizeWithDepends(pkg); + Package installedPackage = viewController.getInstalledPackage(packageName); - String latestVersion = null; - if (state == State.UNINSTALL) { - latestVersion = ""; - } else { - latestVersion = pkg.getVersion().toString(); + InstallState itemState = getState(pkg); + + Item newItem = new Item(pkg, installedPackage, itemState); + treeItemList.add(newItem); + } + + return treeItemList; + } + + private Item getExtraTreeItem() { + for (Item tItem : items) { + if (tItem.getPackageName().equalsIgnoreCase(EXTRAS_OF_TREE_ITEM)) { + return tItem; + } + } + return null; + } + + private void removeChildrenOfExtra() { + Item extraItem = getExtraTreeItem(); + + for (Item childItem : extraItem.getChildren()) { + removeTreeItem(childItem); + } + + extraItem.clearChildrenItems(); + } + + private void removeTreeItem(Item item) { + if (item.hasChildren()) { + for (Item childItem : item.getChildren()) { + removeTreeItem(childItem); } + } + + items.remove(item); + } + private InstallState getState(Package pkg) { + if (viewController.getInstallableMetaPackageList().contains(pkg)) { + return InstallState.INSTALL; + } else if (viewController.getUpdatableMetapackageList().contains(pkg)) { + return InstallState.UPDATE; + } else { + return InstallState.UNINSTALL; + } + } + private void makeRelation(List treeItems) { + // set relation of items. + for (Item item : treeItems) { + setRelationOfItem(item, treeItems); + } - Item newItem = new Item( - null, packageName, latestVersion, installedVersion, packageSize, state); - getItems().add(newItem); + Collections.sort(treeItems); + } - result = true; + private void makeState() { + for (Item item : items) { + item.setStateByChildren(); } + } - return result; + private void setRelationOfItem(Item parentItem, List compareList) { + Package packageOfParentItem = parentItem.getPackage(); + Collection theChildPackage = packageOfParentItem.getDependentPackageNames(); + + for (String childPackage : theChildPackage) { + for (Item treeItem : compareList) { + String packageNameOfTreeItem = treeItem.getPackageName(); + + if (packageNameOfTreeItem.equalsIgnoreCase(childPackage)) { + parentItem.addChildItem(treeItem); + treeItem.setParent(parentItem); + break; + } + } + } } protected void setAllChecked(boolean checked) { List items = getItems(); - if (items == null) - return; - if (items.size() == 1 && items.get(0).getName().equals(Config.SDK_NAME)) { - checkboxTreeViewer.setSubtreeChecked(items.get(0), true); + if (items == null) { return; } - - for (int i = 0; i < items.size(); i++) { - setCheckbox(items.get(i), checked); + + for (Item treeItem : items) { + setCheckbox(treeItem, checked); } - - } protected void setDisableChecked(List items, boolean checked) { @@ -335,6 +495,7 @@ public abstract class PackageListPage extends PageTemplate { /** * Get checked packages count. + * * @return checked packages count. */ public int getCheckedPackageNumber() { @@ -348,6 +509,7 @@ public abstract class PackageListPage extends PageTemplate { /** * Get checked packages size. + * * @return checked packages size. */ public long getCheckedPackageSize() { @@ -356,16 +518,37 @@ public abstract class PackageListPage extends PageTemplate { if (checkboxTreeViewer != null) { Object[] items = checkboxTreeViewer.getCheckedElements(); - for (int i = 0; i < items.length; i++) { - listPkgName.add(((Item) items[i]).getName()); + for (Object item : items) { + Item checkedItem = (Item)item; + if (checkedItem.getCheckState() == CheckState.CHECKED) { + listPkgName.add(checkedItem.getPackageName()); + } } } return viewController.getTotalSizeWithDepends(listPkgName); } + public List getCheckedPackageNames() { + List listPkgName = new ArrayList(); + + if (checkboxTreeViewer != null) { + Object[] items = checkboxTreeViewer.getCheckedElements(); + + for (int i = 0; i < items.length; i++) { + Item item = (Item) items[i]; + if (item.getParent() != null) { + listPkgName.add(item.getPackageName()); + } + } + } + + return listPkgName; + } + /** * Calculate byte to GB, MB, KB. + * * @param byteSize * @return Converted byte to GB, MB, KB */ diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/PageTemplate.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/PageTemplate.java index b88bc07..5843dd7 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/PageTemplate.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/PageTemplate.java @@ -35,6 +35,7 @@ import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; +import org.tizen.installmanager.lib.Platform; import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.util.PathUtil; @@ -60,13 +61,19 @@ public class PageTemplate extends Composite { super(parent, style); setLayout(null); setBackground(InstallManagerWindow.getBackgroundColor()); - + imgLabel = new Label(this, SWT.NONE); imgLabel.setBounds(0, 0, 160, 398); imgLabel.setBackground(InstallManagerWindow.getBackgroundColor()); titleLabel = new Label(this, SWT.NONE); - titleLabel.setFont((new Font(Display.getCurrent(), new FontData("Sans", 11, SWT.BOLD)))); + + if (Platform.isUbuntu()) { + titleLabel.setFont((new Font(Display.getCurrent(), new FontData("Dejavu Sans", 11, SWT.BOLD)))); + } else if (Platform.isWindows()) { + titleLabel.setFont((new Font(Display.getCurrent(), new FontData("Verdana", 11, SWT.BOLD)))); + } + titleLabel.setBounds(160, 17, 468, 20); titleLabel.setText("New Label"); titleLabel.setBackground(InstallManagerWindow.getBackgroundColor()); @@ -132,9 +139,17 @@ public class PageTemplate extends Composite { public void setSubTitleBounds(int nX, int nY, int nWidth, int nHeight) { subtitleLabel.setBounds(nX, nY, nWidth, nHeight); } + + public void setSubTitleFont(FontData fontData) { + subtitleLabel.setFont((new Font(Display.getCurrent(), fontData))); + } public void setCustomCompositeBounds(int nX, int nY, int nWidth, int nHeight) { customComposite.setSize(nWidth, nHeight); customComposite.setLocation(nX, nY); } + + public void disableSubtitleBounds() { + subtitleLabel.dispose(); + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/SetInstallDirectoryPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/SetInstallDirectoryPage.java index af7e3b2..4f1578f 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/SetInstallDirectoryPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/SetInstallDirectoryPage.java @@ -67,8 +67,8 @@ public class SetInstallDirectoryPage extends PageTemplate { private static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_002.png"; private static final String STRING_TITLE = "Location"; - private static final String STRING_SUBTITLE = "Choose a location where you want to install."; - private static final String WINDOWS_DEFAULT_TARGET_PATH = "C:\\tizen_sdk"; + private static final String STRING_SUBTITLE = "Select the installation location."; + private static final String WINDOWS_DEFAULT_TARGET_PATH = "C:\\tizen-sdk"; private Text installDirectoryText; private Label installDirectoryLabel; @@ -93,9 +93,12 @@ public class SetInstallDirectoryPage extends PageTemplate { * Set default install target directory depends on platform. */ private void setTargetDirectory() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { installDirectoryText.setText(System.getProperty("user.home") + File.separator + Config.SDK_DIRECTORY); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { installDirectoryText.setText(WINDOWS_DEFAULT_TARGET_PATH); } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); @@ -121,11 +124,11 @@ public class SetInstallDirectoryPage extends PageTemplate { installDirectoryErrLabel.setForeground(new Color(null, 255, 0, 0)); spaceRequiredLabel = new Label(customComposite, SWT.NONE); - spaceRequiredLabel.setBounds(20, 240, 180, 17); + spaceRequiredLabel.setBounds(20, 240, 250, 17); spaceRequiredLabel.setBackground(InstallManagerWindow.getBackgroundColor()); spaceAvailableLabel = new Label(customComposite, SWT.NONE); - spaceAvailableLabel.setBounds(20, 265, 180, 17); + spaceAvailableLabel.setBounds(20, 265, 250, 17); spaceAvailableLabel.setBackground(InstallManagerWindow.getBackgroundColor()); installDirectoryText = new Text(customComposite, SWT.BORDER); @@ -154,7 +157,7 @@ public class SetInstallDirectoryPage extends PageTemplate { MessageBoxDlg.showDlg( e.display.getShells()[0], "Error", - "Selected disk's free space is not enough to install. Select another disk path.", + "Not enough disk space for the installation. Select a different installation path.", DialogType.ERROR); } else isAvailablePath = true; @@ -176,25 +179,27 @@ public class SetInstallDirectoryPage extends PageTemplate { private boolean checkAvailablePath() { if (installDirectoryText.getText().equals("")) { - installDirectoryErrLabel.setText("Please set install path."); + installDirectoryErrLabel.setText("Set the installation path."); spaceAvailableLabel.setText("Space available : "); return false; } try { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { if (!installDirectoryText.getText().matches("[^= ]+")) { - installDirectoryErrLabel.setText("Invalid character is found.\nDo not use '=' character and empty space."); + installDirectoryErrLabel.setText("Value cannot contain the '=' character or spaces."); return false; } else { if (!installDirectoryText.getText().startsWith(System.getProperty("user.home"))) { - installDirectoryErrLabel.setText("You should set install path to home directory."); + installDirectoryErrLabel.setText("Set the installation path to the home directory."); return false; } } - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { if (!installDirectoryText.getText().matches("[^`~!@#$%^&*=? ]+")) { - installDirectoryErrLabel.setText("Invalid character is found.\nDo not use '`~!@#$%^&*=?' character and empty space."); + installDirectoryErrLabel.setText("Value cannot contain special characters or spaces."); return false; } } @@ -205,12 +210,12 @@ public class SetInstallDirectoryPage extends PageTemplate { if (availableSize >= 0) spaceAvailableLabel.setText("Space available : " + convertToVolumeSize(availableSize)); else { - installDirectoryErrLabel.setText("Please set install path correctly."); + installDirectoryErrLabel.setText("Set the installation path correctly."); spaceAvailableLabel.setText("Space available : "); return false; } if (requiredSpace > availableSize) { - installDirectoryErrLabel.setText("Selected disk's free space is not enough to install. Please change install disk path."); + installDirectoryErrLabel.setText("Not enough disk space for the installation. Select a different installation path."); return false; } installDirectoryErrLabel.setText(""); @@ -231,13 +236,13 @@ public class SetInstallDirectoryPage extends PageTemplate { InstallManagerWindow.setNextBtnEnabled(checkAvailablePath()); setAvailableSpace(installDirectoryText.getText()); - spaceRequiredLabel.setText("Space required : " + convertToVolumeSize(requiredSize)); + spaceRequiredLabel.setText("Total space required : " + convertToVolumeSize(requiredSize)); if (selectedDisk != null) spaceAvailableLabel.setText("Space available : " + convertToVolumeSize(selectedDisk.getUsableSpace())); else { MessageBoxDlg.showDlg( Display.getCurrent().getShells()[0], "Notify", - "Please select install path for installation.", DialogType.ERROR); + "Select the installation path.", DialogType.ERROR); } return result; } @@ -282,9 +287,12 @@ public class SetInstallDirectoryPage extends PageTemplate { private void setAvailableSpace(String selectedPath) { IFileSystemInformation fsInfo; - if (Platform.CURRENT_PLATFORM == Platform.LINUX) + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) fsInfo = new LinuxFileSystemInfo(); - else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) + else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) fsInfo = new WindowsFileSystemInfo(); else fsInfo = new IFileSystemInformation() { @@ -325,9 +333,12 @@ public class SetInstallDirectoryPage extends PageTemplate { private long getAvailableSpaceSize(String selectedPath) { IFileSystemInformation fsInfo; - if (Platform.CURRENT_PLATFORM == Platform.LINUX) + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) fsInfo = new LinuxFileSystemInfo(); - else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) + else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) fsInfo = new WindowsFileSystemInfo(); else fsInfo = new IFileSystemInformation() { @@ -371,7 +382,7 @@ public class SetInstallDirectoryPage extends PageTemplate { private String showSettingInstallpathDlg() { DirectoryDialog dlg = new DirectoryDialog(Display.getCurrent().getShells()[0]); dlg.setFilterPath(getInstallPath()); - dlg.setText("Install Manager Directory Dialog"); + dlg.setText("Install Manager Directory"); dlg.setMessage("Select a directory"); String strDir = dlg.open(); diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallableListPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallableListPage.java index 1ffd64f..2a9dfeb 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallableListPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallableListPage.java @@ -34,9 +34,7 @@ import java.util.List; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.swt.widgets.Composite; -import org.tizen.installmanager.core.Config; import org.tizen.installmanager.ui.model.Item; -import org.tizen.installmanager.ui.model.Item.State; /** @@ -45,8 +43,8 @@ import org.tizen.installmanager.ui.model.Item.State; */ public class UninstallableListPage extends PackageListPage { static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/uninstaller_graphicmotif_001.png"; - static final String STRING_TITLE = "Items"; - static final String STRING_SUBTITLE = "Select the items that you wish to uninstall."; + static final String STRING_TITLE = "Uninstall Items"; + static final String STRING_SUBTITLE = "You can see the items to uninstall."; /** * Display packages tree structure and add check state listener. a package is selected by check, @@ -115,7 +113,7 @@ public class UninstallableListPage extends PackageListPage { this.viewController = controller; getItems().clear(); - loadPackagesToTreeViewer(viewController.getRemovableMetaPackageList(), State.UNINSTALL); + loadPackagesToTreeViewer(viewController.getRemovableMetaPackageList()); if (getItems().size() <= 0) { setUninstallAll(); @@ -124,7 +122,6 @@ public class UninstallableListPage extends PackageListPage { setUninstallColumn(); checkboxTreeViewer.refresh(); setAllChecked(true); - return true; } @@ -132,15 +129,17 @@ public class UninstallableListPage extends PackageListPage { * Change column in uninstallable list page. */ protected void setUninstallColumn() { - tree.getColumn(1).setWidth(0); - tree.getColumn(2).setText("Installed version"); - tree.getColumn(3).setWidth(0); + tree.getColumn(1).setText("Status"); +// tree.getColumn(1).setWidth(0); +// tree.getColumn(2).setText("Installed version"); +// tree.getColumn(3).setWidth(0); } /** * When all packages must be removed, Set TIZEN SDK item in uninstallable list page */ protected void setUninstallAll() { - getItems().add(new Item(null, Config.SDK_NAME, "", "unknown", 0, State.UNINSTALL)); + //TODO impl +// getItems().add(new Item(null, Config.SDK_NAME, "", "unknown", 0, State.UNINSTALL)); } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallingPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallingPage.java index e9c62d6..94e7daa 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallingPage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallingPage.java @@ -28,6 +28,7 @@ package org.tizen.installmanager.ui.page; +import java.util.ArrayList; import java.util.List; import org.eclipse.swt.SWT; @@ -37,19 +38,20 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.ProgressBar; import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.InstallManager; import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.IIMProgressMonitor; import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.lib.ProgramController; +import org.tizen.installmanager.pkg.model.PackageSet; import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.ui.dialog.MessageBoxDlg; import org.tizen.installmanager.ui.dialog.MessageBoxDlg.DialogType; - - +import org.tizen.installmanager.pkg.model.Package; /** * @author Taeyoung Son - * + * @author Shihyun Kim */ public class UninstallingPage extends PageTemplate { static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/uninstaller_graphicmotif_002.png"; @@ -57,7 +59,6 @@ public class UninstallingPage extends PageTemplate { static final String STRING_SUBTITLE = ""; - private List selectedList; private ProgressBar progressBar; private Label statusLabel; private Label uninstalledNumberLabel; @@ -101,36 +102,37 @@ public class UninstallingPage extends PageTemplate { /** * Display uninstalling page, if sdk is running during uninstalling, page will show warning dialog. * @param selectedList - * @param viewController + * @param vController * @param mainWindow * @return */ public boolean loadPage( - List selectedList, ViewController viewController, + List selectedList, ViewController vController, InstallManagerWindow mainWindow) { - this.selectedList = selectedList; - this.viewController = viewController; + this.viewController = vController; this.mainWindow = mainWindow; monitor = new UninstallProgressMonitor(); display = customComposite.getDisplay(); - int confirm = MessageBoxDlg.YES; - + //kill running process. ProgramController controller = ProgramController.createProgramController(); - if (controller.runningProgramExists()) - confirm = MessageBoxDlg.showDlg( + if (controller.runningProgramExists()) { + int confirm = MessageBoxDlg.showDlg( getShell(), "Warning", - "SDK is running." + - " If you want to uninstall SDK, we will kill the process." + - " Would you like to uninstall SDK?", - DialogType.WARNING); - if (confirm == MessageBoxDlg.YES) { - controller.terminateRunningProgram(); - new UninstallThread(monitor).start(); - } else if (confirm == MessageBoxDlg.NO) { - return false; - } + "SDK is running now. If you update the SDK, the running is stopped. Are you sure to uninstall the SDK?", + DialogType.WARNING); + if (confirm == MessageBoxDlg.YES) { + controller.terminateRunningProgram(); + } else if (confirm == MessageBoxDlg.NO) { + return false; + } + } else {} + + //start uninstall. + final UninstallThread uninstallThread = new UninstallThread(monitor); + uninstallThread.start(); + return true; } @@ -152,7 +154,6 @@ public class UninstallingPage extends PageTemplate { public void run() { try { uninstallProcess(monitor); - ErrorController.setInstallationSuccess(true); } catch (IMFatalException e) { Log.err("internal error occurred"); Log.ExceptionLog(e); @@ -175,14 +176,19 @@ public class UninstallingPage extends PageTemplate { public void uninstallProcess(IIMProgressMonitor monitor) { boolean result = false; - if (selectedList.size() <= 0) { + PackageSet pkgs = InstallManager.getInstance().getPackageManager().getInstalledPackages(); + List installedList = new ArrayList(); + for (Package pkg : pkgs) { + installedList.add(pkg.getPackageName()); + } + + if (installedList.size() <= 0) { return; } else { - result = viewController.uninstall(selectedList, monitor); + result = viewController.uninstall(installedList, monitor); } ErrorController.setInstallationSuccess(result); - monitor.done(); } /** @@ -228,17 +234,12 @@ public class UninstallingPage extends PageTemplate { if (ErrorController.checkInstallationSuccess()) { completePage.setTitle("Uninstallation Completed!"); + if (!viewController.existRemovablePackage()) { + completePage.removeTargetDir(); + } else {}; + String msg = "Thank you for using Tizen SDK. "; - if (!ErrorController.isTargetDirEmpty()) { - msg = msg - + "\n\nSome files are not deleted. These can be user configuration. \n"; - if (!viewController.getConfig().getTargetDir().isEmpty()) { - msg = msg - + "Please check '" - + viewController.getConfig().getTargetDir() - + "' folder."; - } - } + completePage.setCustomMessage(msg); } else { completePage.setTitle("Uninstallation Failed!"); diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/UpdatableListPage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/UpdatableListPage.java new file mode 100644 index 0000000..73e7609 --- /dev/null +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/UpdatableListPage.java @@ -0,0 +1,102 @@ +/* +* InstallManager +* +* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. +* +* Contact: +* Wooyoung Cho +* Shihyun Kim +* Taeyoung Son +* Yongsung kim +* + * Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* Contributors: +* - S-Core Co., Ltd +* +*/ + +package org.tizen.installmanager.ui.page; + + + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.widgets.Composite; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.SDKExtensionInfo; +import org.tizen.installmanager.lib.ErrorController; +import org.tizen.installmanager.lib.IMError; +import org.tizen.installmanager.lib.Log; + +/** + * This class displays installable package list on page. + * @author Yongsung Kim + */ +public class UpdatableListPage extends PackageListPage { + + static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_002.png"; + static final String STRING_TITLE = "Update"; + static final String STRING_SUBTITLE = "Updated components are installed.\n" + + "You can select additional components for installation as well."; + + /** + * @param parent + * @param style + */ + public UpdatableListPage(Composite parent, int style) { + super(parent, style, Type.UPDATE); + setLeftImageFromResource(RSC_PATH_IMAGE); + setTitleBounds(160, 3, 468, 20); + setSubTitleBounds(160, 25, 468, 30); + setCustomCompositeBounds(160, 60, 468, 334); + setTitle(STRING_TITLE); + setSubTitle(STRING_SUBTITLE); + setSubTitleFont(new FontData("Dejavu Sans", 9, SWT.NONE)); + tree.setBounds(0, 0, 447, 260); + lblRequiredSize.setBounds(250, 265, 210, 23); + lblDescriptions.setBounds(0, 265, 124, 17); + } + + /** + * Display installable package list from view controller. + */ + public boolean loadPage(ViewController controller) { + this.viewController = controller; + getItems().clear(); + + try { + loadPackagesToTreeViewer(viewController.getRootMetaPackageListOfRepository()); + + SDKExtensionInfo sdkExtensionInfo = SDKExtensionInfo.getInstance(); + addExtensionPackagesToExtra(sdkExtensionInfo.getExtensionPackages()); + + } catch (IMFatalException fatalException) { + Log.err(ErrorController.getErrorMessage()); + IMError.fatalError(ErrorController.getErrorMessage()); + } + + if (getItems().size() <= 0) { + return false; + } + + setCheckbox(items); + + checkboxTreeViewer.refresh(); + + setNextBtnEnabledAboutCheckedPackageCount(); + lblRequiredSize.setText("Total space required : " + convertToVolumeSize(getCheckedPackageSize())); + + return true; + } +} diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java index 43bef1b..3cf7d47 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java @@ -34,14 +34,17 @@ import java.util.List; import org.tizen.installmanager.core.Config; import org.tizen.installmanager.core.IMExitException; +import org.tizen.installmanager.core.IMFatalException; import org.tizen.installmanager.core.InstallManager; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.core.Config.ServerType; import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.IIMProgressMonitor; import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.lib.Registry; import org.tizen.installmanager.lib.ErrorController.ErrorCode; -import org.tizen.installmanager.pkg.lib.PackageManager2; -import org.tizen.installmanager.pkg.model.Package2; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.pkg.model.PackageSet; import org.tizen.installmanager.ui.page.InstallingPage.InstallProgressMonitor; import org.tizen.installmanager.util.PathUtil; @@ -53,8 +56,8 @@ import org.tizen.installmanager.util.PathUtil; */ public class ViewController { - private InstallManager mInstallManager; - private PackageManager2 mPackageManager2; + private InstallManager installManager; + private PackageManager packageManager; /** * Initialize objects which need to install. @@ -64,13 +67,26 @@ public class ViewController { */ public boolean init() { Log.log("ViewController init"); - mInstallManager = InstallManager.getInstance(); - boolean bResult = mInstallManager.init(); - mPackageManager2 = mInstallManager.getPackageManager2(); - - bResult = bResult && existInstallableOrRemovablePackages(); - - return bResult; + + try { + installManager = InstallManager.getInstance(); + installManager.init(); + packageManager = installManager.getPackageManager(); + + if (packageManager == null) { + throw new IMFatalException("Cannot read package information."); + } else { + if (existInstallableOrRemovablePackages()) { + return true; + } else { + ErrorController.setInstallationSuccess(false); + return false; + } + } + } catch(IMFatalException e) { + Log.ExceptionLog(e); + return false; + } } /** @@ -78,10 +94,10 @@ public class ViewController { * @return Meta package set */ public PackageSet getInstallableOrUpdatableMetaPackages() { - if (mPackageManager2 == null) { + if (packageManager == null) { return null; } else { - return mPackageManager2.getInstallableOrUpdatableMetaPackages(); + return packageManager.getInstallableOrUpdatableMetaPackages(); } } @@ -90,10 +106,22 @@ public class ViewController { * @return Meta package set */ public PackageSet getInstallableMetaPackageList() { - if (mPackageManager2 == null) { + if (packageManager == null) { return null; } else { - return mPackageManager2.getInstallableMetaPackages(); + return packageManager.getInstallableMetaPackages(); + } + } + + /** + * Get meta packages in repository. + * @return Meta package set + */ + public PackageSet getRootMetaPackageListOfRepository() { + if (packageManager == null) { + return null; + } else { + return packageManager.getRootMetaPackagesOfRepository(); } } @@ -102,10 +130,22 @@ public class ViewController { * @return Meta package set */ public PackageSet getUpdatableMetapackageList() { - if (mPackageManager2 == null) { + if (packageManager == null) { return null; } else { - return mPackageManager2.getUpdatableMetaPackages(); + return packageManager.getUpdatableMetaPackages(); + } + } + + /** + * Get meta packages that are available to update. + * @return Meta package set + */ + public PackageSet getNotUpdatableMetapackageList() { + if (packageManager == null) { + return null; + } else { + return packageManager.getNotInstallableAndNotUpdatablePackages(); } } @@ -114,10 +154,18 @@ public class ViewController { * @return Meta package set */ public PackageSet getRemovableMetaPackageList() { - if (mPackageManager2 == null) { + if (packageManager == null) { + return null; + } else { + return packageManager.getRemovableMetaPackages(); + } + } + + public PackageSet getInstallablePackageListInSnapshot() { + if (packageManager == null) { return null; } else { - return mPackageManager2.getRemovableMetaPackages(); + return packageManager.getInstallableMetaPackagesInSnapshot(); } } @@ -126,7 +174,11 @@ public class ViewController { * @return package set */ public PackageSet getRemovablePackageList() { - return mPackageManager2.getInstalledPackages(); + if (packageManager == null) { + return null; + } else { + return packageManager.getInstalledPackages(); + } } /** @@ -134,7 +186,11 @@ public class ViewController { * @return if installed package exists, return true. if not return false. */ public boolean existRemovablePackage() { - return mPackageManager2.existInstalledPackages(); + if (packageManager == null) { + return false; + } else { + return packageManager.existInstalledPackages(); + } } /** @@ -151,7 +207,7 @@ public class ViewController { Log.log("======== Start Installing ========"); Log.log("ViewController install => Selected package list: " + installList); - if (mPackageManager2 == null) { + if (packageManager == null) { Log.err("Package list does not exist."); return false; } @@ -161,11 +217,31 @@ public class ViewController { return true; } - PackageSet selectedMetas = mPackageManager2.getPackagesByNames(installList); + PackageSet selectedMetas = packageManager.getPackagesByNames(installList); + + //add mandotory packages + selectedMetas.addAll(packageManager.getMandatoryPackages()); + + //get package set by pusrpose. + selectedMetas = getMetaPackagesByPurpose(selectedMetas); - return mInstallManager.install(selectedMetas, targetPath, monitor); + return installManager.install(selectedMetas, targetPath, monitor); } + + private PackageSet getMetaPackagesByPurpose(PackageSet metaPackages) { + for (Package pkg : metaPackages) { + String attribute = pkg.getAttribute(); + + if (!attribute.equalsIgnoreCase("root") && attribute.equals("extra")) { + if (!attribute.equalsIgnoreCase(attribute)) { + metaPackages.remove(pkg); + } + } + } + + return metaPackages; + } /** * Start to uninstall @@ -176,19 +252,20 @@ public class ViewController { */ public boolean uninstall(List uninstallList, IIMProgressMonitor monitor) { Log.log("ViewController Uninstall Start => " + uninstallList); - if (mPackageManager2 == null || uninstallList.size() == 0) { + if (packageManager == null || uninstallList.size() == 0) { Log.err("ViewController.uninstall() uninstalllist does not exist. => " + uninstallList); ErrorController.setError(ErrorCode.ERROR); return false; } - if (uninstallList.size() == 1 && uninstallList.get(0).equals(Config.SDK_NAME)) { + if (Options.doRemoveOldSDK || (uninstallList.size() == 1 && uninstallList.get(0).equals(Config.SDK_NAME))) { uninstallAll(monitor); + return true; + } else { + PackageSet removablePackages = packageManager.getInstalledPackagesByName(uninstallList); + + return uninstallPackages(removablePackages, monitor); } - - PackageSet removablePackages = mPackageManager2.getPackagesByNames(uninstallList); - - return uninstallPackages(removablePackages, monitor); } /** @@ -198,7 +275,7 @@ public class ViewController { * @return If removable packages can success to uninstall, return true. if not return false. */ public boolean uninstallPackages(PackageSet removableMetapkgs, IIMProgressMonitor monitor) { - boolean bRet = mInstallManager.removePackages(removableMetapkgs, monitor); + boolean bRet = installManager.removePackages(removableMetapkgs, monitor); Log.log("ViewController Uninstall End => " + bRet); return bRet; @@ -210,21 +287,17 @@ public class ViewController { */ public void uninstallAll(IIMProgressMonitor monitor) { Log.log("ViewController Unintall All"); - mInstallManager.removeAll(monitor); + installManager.removeAll(monitor); Registry.removeRegistry(); } /** * Get package version that is installed already. - * @param pkg is installed packages already. + * @param pkgName is installed packages already. * @return version */ - public String getInstalledVersion(Package2 pkg) { - if (pkg == null) { - return null; - } - - return mPackageManager2.getInstalledVersion(pkg); + public Package getInstalledPackage(String pkgName) { + return packageManager.getInstalledPackageByName(pkgName); } /** @@ -233,8 +306,8 @@ public class ViewController { * @return size */ public long getTotalSizeWithDepends(String packageName) { - Package2 pkg = mPackageManager2.getPackagesByName(packageName); - return getTotalSizeWithDepends(pkg); + Package pkg = packageManager.getPackageByName(packageName); + return getInstallablePackagesSize(pkg); } /** @@ -243,7 +316,7 @@ public class ViewController { * @return size */ public long getTotalSizeWithDepends(Collection pkgList) { - PackageSet pkgSet = mPackageManager2.getPackagesByNames(pkgList); + PackageSet pkgSet = packageManager.getPackagesByNames(pkgList); return getTotalSizeWithDepends(pkgSet); } @@ -252,8 +325,17 @@ public class ViewController { * @param pkg is package format. * @return size */ - public long getTotalSizeWithDepends(Package2 pkg) { - return mPackageManager2.getTotalSizeWithDepends(pkg); + public long getInstallablePackagesSize(Package pkg) { + return packageManager.getTotalSizeOfInstallablePackages(pkg); + } + + /** + * Get total size depends on a package format. + * @param pkg is package format. + * @return size + */ + public long getRemovablePackagesSize(Package pkg) { + return packageManager.getTotalSizeOfRemovablePackages(pkg); } /** @@ -262,7 +344,7 @@ public class ViewController { * @return size */ public long getTotalSizeWithDepends(PackageSet pkgs) { - return mPackageManager2.getTotalSizeWithDepends(pkgs); + return packageManager.getTotalSizeOfInstallablePackages(pkgs); } /** @@ -286,7 +368,11 @@ public class ViewController { * @return There are packages to install or remove, return true. if not false. */ public boolean existInstallableOrUpdatablePackages() { - return (getInstallableOrUpdatableMetaPackages().size() > 0); + if (Options.snapshot || Config.fromWhere == Config.ConfDialog.LOCAL_IMAGE) { + return (getInstallablePackageListInSnapshot().size() > 0); + } else { + return (getInstallableOrUpdatableMetaPackages().size() > 0); + } } /** @@ -294,7 +380,7 @@ public class ViewController { * @return configure object. */ public Config getConfig() { - return mInstallManager.getConfig(); + return installManager.getConfig(); } /** @@ -303,7 +389,7 @@ public class ViewController { * @return decription of package. */ public String getDescription(String pkgName) { - Package2 pkg = mPackageManager2.getPackagesByName(pkgName); + Package pkg = packageManager.getPackageByName(pkgName); if (pkg == null) { return ""; @@ -339,4 +425,15 @@ public class ViewController { public void removeTargetPath(String targetPath) { PathUtil.remove(targetPath); } + + /** + * save information of server. + * @param repository Base-repository of sdk. if repository is null, it do not save repository. + * @param type type of repository. if type is null, it do not save type. + * @param packageServer package server of sdk. if packageServer is null, it do not save packageServer. + * @param packageType set ServerType.snapshot or ServerType.package. if serverType is null, it do not save serverType. + */ + public void saveConfiguration(String repository, String distribution, ServerType packageType, String snapshotPath) { + Config.getInstance().saveConfiguration(repository, distribution, packageType, snapshotPath); + } } diff --git a/InstallManager_java/src/org/tizen/installmanager/ui/page/WelcomePage.java b/InstallManager_java/src/org/tizen/installmanager/ui/page/WelcomePage.java index 510dd3a..f683a43 100644 --- a/InstallManager_java/src/org/tizen/installmanager/ui/page/WelcomePage.java +++ b/InstallManager_java/src/org/tizen/installmanager/ui/page/WelcomePage.java @@ -35,12 +35,16 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.tizen.installmanager.core.Config; +import org.tizen.installmanager.core.IMFatalException; +import org.tizen.installmanager.core.InstallManager; +import org.tizen.installmanager.core.Options; +import org.tizen.installmanager.lib.ErrorController; import org.tizen.installmanager.lib.Log; -import org.tizen.installmanager.lib.Registry; +import org.tizen.installmanager.pkg.lib.PackageManager; +import org.tizen.installmanager.pkg.model.ConfigFile; import org.tizen.installmanager.ui.InstallManagerWindow; import org.tizen.installmanager.ui.dialog.ConfigurationDialog; - /** * This class displays welcome page. * @author Taeyoung Son @@ -50,7 +54,7 @@ public class WelcomePage extends PageTemplate { static final String RSC_PATH_IMAGE = RESOURCE_PATH + "/install_manager_graphicmotif_welcome.png"; public static final String STRING_TITLE = "Welcome to Tizen SDK"; public static final String STRING_SUBTITLE = "Tizen SDK will be installed on your computer. " + - "It is recommended that you close all other applications before starting installation."; + "Close all other applications before starting the installation."; private RADIO_ACTION selectedRadioBtn = RADIO_ACTION.INSTALL; Button buttonInstall = null; @@ -60,7 +64,7 @@ public class WelcomePage extends PageTemplate { ViewController viewController = null; ConfigurationDialog rDialog = null; - + public enum RADIO_ACTION { INSTALL, UNINSTALL @@ -74,7 +78,6 @@ public class WelcomePage extends PageTemplate { * INSTALLED_OLDSDK : There is no compatible old sdk and current sdk
*/ public enum InstalledStatus { - INSTALLED_NOTHING, INSTALLED_SOME_PACKAGES, INSTALLED_ALL_PACKAGES, @@ -93,7 +96,7 @@ public class WelcomePage extends PageTemplate { setImageBounds(0, 0, 620, 144); setTitleBounds(20, 160, 400, 20); setSubTitleBounds(20, 190, 600, 40); - setCustomCompositeBounds(0, 220, 620, 150); + setCustomCompositeBounds(0, 220, 620, 173); setLeftImageFromResource(RSC_PATH_IMAGE); setTitle(STRING_TITLE); setSubTitle(STRING_SUBTITLE); @@ -104,7 +107,7 @@ public class WelcomePage extends PageTemplate { private void setButton() { setInstallButton(); setUninstallButton(); - //setConfigurationButton(); + setConfigurationButton(); } private void setInstallButton() { @@ -117,7 +120,7 @@ public class WelcomePage extends PageTemplate { } }); buttonInstall.setBounds(26, 40, 500, 15); - buttonInstall.setText("Install new version of " + Config.SDK_NAME); + buttonInstall.setText("Install the new " + Config.SDK_NAME + " version."); buttonInstall.setBackground(InstallManagerWindow.getBackgroundColor()); } @@ -130,41 +133,37 @@ public class WelcomePage extends PageTemplate { } }); buttonUninstall.setBounds(26, 85, 500, 22); - buttonUninstall.setText("Remove " + Config.SDK_NAME); + buttonUninstall.setText("Uninstall the " + Config.SDK_NAME); buttonUninstall.setBackground(InstallManagerWindow.getBackgroundColor()); } - @SuppressWarnings("unused") private void setConfigurationButton() { configurationButton = new Button(customComposite, SWT.PUSH); - configurationButton.setText("Configuration"); + configurationButton.setText("Advanced"); configurationButton.setBackground(InstallManagerWindow.getBackgroundColor()); - configurationButton.setBounds(480, 120, 120, 30); + + configurationButton.setBounds(509, 120, 100, 29); configurationButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { rDialog = new ConfigurationDialog(customComposite.getShell()); - String[] repos = viewController.getConfig().getRepositories(); - if (repos != null && repos.length > 0) { - String fullRepository = ""; - for (String repo : repos) { - fullRepository += repo + ","; - } - fullRepository = fullRepository.substring(0, fullRepository.length()-1); - rDialog.setRepository(fullRepository); - } + //set information to configuration dialog. + ConfigFile confFile = Config.getInstance().getConfigFile(); + rDialog.setRepository(confFile.getRepository()); + rDialog.setCurrentDistribution(confFile.getDistribution()); + rDialog.setSnapshotPath(confFile.getSnapshotPath()); int ret = rDialog.open(); if (ret == 0){ - Config config = viewController.getConfig(); - config.getConfigFile().setRepository(rDialog.getRepository()); - config.saveConfig(); + viewController.saveConfiguration(rDialog.getRepository(), rDialog.getCurrentDistribution(), rDialog.getServerType(), rDialog.getSnapshotPath()); + PackageManager.dispose(); InstallManagerWindow.getInstallManagerWindow().refresh(); } else { Log.log("Configuration dialog is canceled."); } + rDialog.clear(); } }); } @@ -172,13 +171,12 @@ public class WelcomePage extends PageTemplate { /** * Set install status, and set radio button. * @param status - * @see InstalledStatus */ public void setButtonStatus() { - if (Registry.isOldSDKInstalled()) { + if (Options.doRemoveOldSDK) { setErrorSubTitle("Old version SDK(Tizen SDK) is installed. " + - "Tizen SDK can be installed after removing old Tizen SDK.\n Close all running SDK processes before remove."); + "Tizen SDK can be installed after removing old Tizen SDK."); buttonInstall.setSelection(false); buttonUninstall.setSelection(true); @@ -186,6 +184,7 @@ public class WelcomePage extends PageTemplate { buttonUninstall.setEnabled(true); selectedRadioBtn = RADIO_ACTION.UNINSTALL; + return; } if (viewController == null) { @@ -193,7 +192,7 @@ public class WelcomePage extends PageTemplate { } if (!viewController.existRemovablePackage()) { - buttonInstall.setText("Install new version of " + Config.SDK_NAME); + buttonInstall.setText("Install the new " + Config.SDK_NAME + " version."); buttonInstall.setBounds(26, 40, 500, 22); buttonInstall.setSelection(true); @@ -201,6 +200,10 @@ public class WelcomePage extends PageTemplate { buttonInstall.setEnabled(true); buttonUninstall.setEnabled(false); + + selectedRadioBtn = RADIO_ACTION.INSTALL; + + Config.status = Config.Status.INSTALL; } else if (!viewController.existInstallableOrUpdatablePackages()) { buttonInstall.setSelection(false); buttonUninstall.setSelection(true); @@ -209,13 +212,19 @@ public class WelcomePage extends PageTemplate { buttonUninstall.setEnabled(true); selectedRadioBtn = RADIO_ACTION.UNINSTALL; + + Config.status = Config.Status.UNINSTALL; } else { - buttonInstall.setText("Install or update new version of " + Config.SDK_NAME); + buttonInstall.setText("Install or update the " + Config.SDK_NAME); buttonInstall.setSelection(true); buttonUninstall.setSelection(false); buttonInstall.setEnabled(true); buttonUninstall.setEnabled(true); + + selectedRadioBtn = RADIO_ACTION.INSTALL; + + Config.status = Config.Status.UPDATE; } } @@ -242,13 +251,20 @@ public class WelcomePage extends PageTemplate { * @param controller */ public void setViewController(ViewController controller) { - viewController = controller; + if (controller != null) { + viewController = controller; + } else { + Log.err("viewcontroller is null."); + ErrorController.setErrorMessage("Cannot initialize controller."); + throw new IMFatalException("Can not read package informaion."); + } } /** * refresh welcome page. */ public void refresh() { - setButton(); + InstallManager.getInstance().initPackageList(); + setButtonStatus(); } } diff --git a/InstallManager_java/src/org/tizen/installmanager/util/PathUtil.java b/InstallManager_java/src/org/tizen/installmanager/util/PathUtil.java index 9700e74..39f5207 100644 --- a/InstallManager_java/src/org/tizen/installmanager/util/PathUtil.java +++ b/InstallManager_java/src/org/tizen/installmanager/util/PathUtil.java @@ -51,6 +51,7 @@ public class PathUtil { private final static String FILE_EXTENSION_SEPERATOR = "."; private final static String DIRECTORY_SEPERATOR = "/"; + public final static String URL_SEPERATOR = "/"; private final static int BUF_SIZE = 65536; /** @@ -150,7 +151,10 @@ public class PathUtil { Log.log("Copy from " + fromFile + " to " + toFile); String fromPath = fromFile.getAbsolutePath(); String toPath = toFile.getAbsolutePath(); - String command[] = {"cp", "-rl", fromPath, toPath}; + String command[] = null; + + command = getCopyShellCommand(fromPath, toPath); + try { ShellUtil.execute(command); } catch (IMShellCommandFail e) { @@ -162,6 +166,19 @@ public class PathUtil { return true; } + private static String[] getCopyShellCommand(String fromPath, String toPath) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64) { + String command[] = {"cp", "-rl", fromPath, toPath}; + return command; + } else if (Platform.CURRENT_PLATFORM == Platform.MACOS_64) { + String command[] = {"cp", "-a", fromPath, toPath}; + return command; + } else { + return null; + } + } + //Copy file /** * copy file or directory. @@ -251,6 +268,11 @@ public class PathUtil { if (fInput != null) { fInput.close(); } + } catch (IOException e) { + Log.ExceptionLog(e); + } + + try { if (fOutput != null) { fOutput.close(); } @@ -268,6 +290,10 @@ public class PathUtil { */ public static void writeFileFromInputStream(InputStream is, File to) throws IOException { Log.log("write file from input stream to : "+to); + + if (is == null) { + return; + } if (!to.exists()) { to.createNewFile(); } @@ -284,11 +310,20 @@ public class PathUtil { Log.err("Cannot find file "+to); throw new IMFatalException(ErrorCode.CANNOT_ACCESS_FILE); } finally { - if (is != null) { - is.close(); + try { + if (is != null) { + is.close(); + } + } catch (IOException e) { + Log.ExceptionLog(e); } - if (os != null) { - os.close(); + + try { + if (os != null) { + os.close(); + } + } catch (IOException e) { + Log.ExceptionLog(e); } } } @@ -356,9 +391,12 @@ public class PathUtil { * @return true if success */ public static boolean remove(File file) { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { return removeForLinux(file); - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { return removeForWindows(file); } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); @@ -405,13 +443,36 @@ public class PathUtil { return filePath.delete() && ret; } + public static File makeNewFile(String filePath) throws IOException{ + File file = new File(filePath); + if (file.exists()) { + if (!file.delete()) { + return null; + } + } + + File parentDir = file.getParentFile(); + if (!parentDir.exists()) { + if (!parentDir.mkdirs()) { + return null; + } + } + + if (!file.createNewFile()) { + return null; + } + + return file; + } + /** * Make hidden file. * @param file * @return */ public static boolean makeHiddenFile(String file) { - if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + if (Platform.CURRENT_PLATFORM == Platform.WINDOWS_32 + || Platform.CURRENT_PLATFORM == Platform.WINDOWS_64) { String[] command = {"c:\\windows\\system32\\attrib.exe", "+H", file}; @@ -421,13 +482,15 @@ public class PathUtil { } catch (IMShellCommandFail e) { return false; } - } else if (Platform.CURRENT_PLATFORM == Platform.LINUX) { + } else if (Platform.CURRENT_PLATFORM == Platform.LINUX_32 + || Platform.CURRENT_PLATFORM == Platform.LINUX_64 + || Platform.CURRENT_PLATFORM == Platform.MACOS_64) { return true; } else { throw new IMFatalException(ErrorCode.UNSUPPORTED_PLATFORM); } } - + /** * Make hidden file. * @param file @@ -456,6 +519,29 @@ public class PathUtil { } /** + * @param path_components the path components + * @return a path string made by concatenating the path components. empty string if there are no path components. + */ + public static String addURLPath(String... path_components) { + if (path_components == null) { + return ""; + } + + String path = ""; + for(int i = 0; i < path_components.length; i++) { + if (path_components[i] == null || path_components[i].isEmpty()) { + continue; + } + if( i == 0 ) { + path = path_components[0]; + } else { + path = path + PathUtil.URL_SEPERATOR + path_components[i]; + } + } + return path; + } + + /** * @param path_components * @return a path string made by the path components relative to the home directory */ @@ -513,9 +599,7 @@ public class PathUtil { * @return */ public static String getLocalAppData() { - if (Platform.CURRENT_PLATFORM == Platform.LINUX) { - return ""; - } else if (Platform.CURRENT_PLATFORM == Platform.WINDOWS) { + if (Platform.isWindows()) { return WindowsRegistry.getRegistryValue( WindowsRegistry.REGISTRY_PATH_OF_SHELL_FOLDER , WindowsRegistry.REGISTRY_LOCAL_APP_DATA_OF_SHELL_FOLDER); @@ -540,8 +624,10 @@ public class PathUtil { InputStream is = null; StringBuffer txt = new StringBuffer(); is = PathUtil.getResourceAsStream(resourcePath); + BufferedReader in = null; + try { - BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); + in = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strLicense; while((strLicense = in.readLine()) != null) { txt.append(strLicense); @@ -549,7 +635,16 @@ public class PathUtil { } } catch(IOException e) { throw new IMFatalException("Cannot read resource: "+resourcePath); + } finally { + try { + if (in != null) { + in.close(); + } + } catch (IOException e) { + Log.ExceptionLog(e); + } } + return txt.toString(); } @@ -560,9 +655,11 @@ public class PathUtil { */ public static String readAllTextFromFile(String filePath) { StringBuffer txt = new StringBuffer(); + InputStream is = null; + BufferedReader in = null; try { - InputStream is = new FileInputStream(filePath); - BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8")); + is = new FileInputStream(filePath); + in = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strLicense; while((strLicense = in.readLine()) != null) { txt.append(strLicense); @@ -570,6 +667,22 @@ public class PathUtil { } } catch(IOException e) { throw new IMFatalException("Cannot read resource: " + filePath); + } finally { + try { + if (in != null) { + in.close(); + } + } catch (IOException e) { + Log.ExceptionLog(e); + } + + try { + if (is != null) { + is.close(); + } + } catch (IOException e) { + Log.ExceptionLog(e); + } } return txt.toString(); } @@ -636,9 +749,11 @@ public class PathUtil { public static File getTempFileFromResource(String resourcePath, String prefix, String suffix, boolean deleteOnExit) throws IOException { File file = File.createTempFile(prefix, suffix); PathUtil.writeFileFromInputStream(PathUtil.getResourceAsStream(resourcePath), file); + if(deleteOnExit) { file.deleteOnExit(); } + return file; } @@ -685,4 +800,21 @@ public class PathUtil { throw new IMFatalException("Cannot create file"); } } + +// public static URL addURLPath(URL url, String additionalPath) { +// return addURLPath(url.toExternalForm(), additionalPath); +// } +// +// public static URL addURLPath(String url, String additionalPath) { +// if (url == null || url.isEmpty()) { +// return null; +// } else { +// try { +// return new URL(url + "/" + additionalPath); +// } catch (MalformedURLException e) { +// Log.err("Cannot add url path." + url + " + " + additionalPath); +// return null; +// } +// } +// } } diff --git a/InstallManager_java/src/org/tizen/installmanager/util/ShellUtil.java b/InstallManager_java/src/org/tizen/installmanager/util/ShellUtil.java index 5da1afb..4003dce 100644 --- a/InstallManager_java/src/org/tizen/installmanager/util/ShellUtil.java +++ b/InstallManager_java/src/org/tizen/installmanager/util/ShellUtil.java @@ -183,5 +183,24 @@ public class ShellUtil { return null; } } + + /** + * Add interpreter from extension. + * If extension is ".vbs", add "wscript.exe " in front of command + * If extensino is ".bat", add "cmd.exe /C " in front of command + * @param command + * @return combined command of interpreter. + */ + public static String addInterpreter(String command) { + String extension = PathUtil.getFileExtension(command); + + if (extension.equalsIgnoreCase(".vbs")) { + command = "wscript.exe " + command; + } else if (extension.equalsIgnoreCase(".bat")) { + command = "cmd.exe /C " + command; + } else {} + + return command; + } } diff --git a/InstallManager_java/src/res/desktop_directory/install.sh b/InstallManager_java/src/res/desktop_directory/install.sh index 9479d58..8e71ad2 100644 --- a/InstallManager_java/src/res/desktop_directory/install.sh +++ b/InstallManager_java/src/res/desktop_directory/install.sh @@ -3,10 +3,11 @@ SHORTCUT_DIR_PATH=${HOME}/.local/share MENU_DIRECTORY_PATH=${SHORTCUT_DIR_PATH}/desktop-directories MENU_FILE_PATH=${MENU_DIRECTORY_PATH}/tizen-sdk-menu.directory -MENU_ICON_FILE_PATH=${INSTALLED_PATH}/InstallManager/tizen-sdk-menu.png +MENU_ICON_FILE_PATH=${INSTALLED_PATH}/install-manager/tizen-sdk-menu.png MENU_NAME="Tizen SDK" MENU_COMMENT="Tizen SDK" MENU_VERSION=1.0 +PARTNER=${PARTNER_SDK} ##if not exist 'desktop-directories' directory if [ ! -e ${MENU_DIRECTORY_PATH} ]; then @@ -29,8 +30,12 @@ END APPLICATION_DIR_PATH=${SHORTCUT_DIR_PATH}/applications DESKTOP_FILE_PATH=${APPLICATION_DIR_PATH}/tizen-sdk-installmanager.desktop -DESKTOP_EXECUTE_FILE_PATH=${INSTALLED_PATH}/InstallManager/InstallManager -DESKTOP_ICON_FILE_PATH=${INSTALLED_PATH}/InstallManager/tizen-sdk-installmanager.png +if [ -n "${PARTNER}" ] ; then + DESKTOP_EXECUTE_FILE_PATH=${INSTALLED_PATH}/install-manager/InstallManagerP +else + DESKTOP_EXECUTE_FILE_PATH=${INSTALLED_PATH}/install-manager/InstallManager +fi +DESKTOP_ICON_FILE_PATH=${INSTALLED_PATH}/install-manager/tizen-sdk-installmanager.png DESKTOP_NAME="Install Manager" DESKTOP_COMMENT="Install Manager for Tizen SDK" diff --git a/InstallManager_java/src/res/desktop_directory/install.vbs b/InstallManager_java/src/res/desktop_directory/install.vbs index 1c20c94..6963d69 100644 --- a/InstallManager_java/src/res/desktop_directory/install.vbs +++ b/InstallManager_java/src/res/desktop_directory/install.vbs @@ -12,8 +12,15 @@ end if Set WshEnv = wshShell.Environment("Process") installedPath = WshEnv("INSTALLED_PATH") makeShortcutPath = WshEnv("MAKESHORTCUT_PATH") -targetPath = installedPath & "\InstallManager\InstManager.exe" -iconPath = installedPath & "\InstallManager\tizen-sdk-installmanager.ico" +partner = WshEnv("PARTNER_SDK") +targetPath = installedPath & "\install-manager\InstManager.exe" +iconPath = installedPath & "\install-manager\tizen-sdk-installmanager.ico" shortcutName = "Install Manager" -wshShell.Run "wscript.exe " & chr(34) & makeShortcutPath & chr(34) & " /target:" & chr(34) & targetPath & chr(34) & " /icon:" & chr(34) & iconPath & chr(34) & " /shortcut:" & chr(34) & shortcutName & chr(34) + +if (partner="") then + wshShell.Run "wscript.exe " & chr(34) & makeShortcutPath & chr(34) & " /target:" & chr(34) & targetPath & chr(34) & " /icon:" & chr(34) & iconPath & chr(34) & " /shortcut:" & chr(34) & shortcutName & chr(34) +else + wshShell.Run "wscript.exe " & chr(34) & makeShortcutPath & chr(34) & " /target:" & chr(34) & targetPath & chr(34) & " /icon:" & chr(34) & iconPath & chr(34) & " /shortcut:" & chr(34) & shortcutName & chr(34) & " /partnerSdk:" &chr(34) & partner &chr(34) +end if + diff --git a/InstallManager_java/src/res/desktop_directory/makeshortcut.vbs b/InstallManager_java/src/res/desktop_directory/makeshortcut.vbs index c1de6a8..56b04d5 100644 --- a/InstallManager_java/src/res/desktop_directory/makeshortcut.vbs +++ b/InstallManager_java/src/res/desktop_directory/makeshortcut.vbs @@ -6,9 +6,15 @@ linkFilePath = TizenSDKPath & "\" & Wscript.Arguments.Named("shortcut") & ".lnk" set filesys = CreateObject("Scripting.FileSystemObject") filename = Wscript.Arguments.Named("target") +partner = Wscript.Arguments.Named("partnerSdk") set oShellLink = WshShell.CreateShortcut(linkFilePath) oShellLink.TargetPath = filename oShellLink.IconLocation = Wscript.Arguments.Named("icon") oShellLink.WorkingDirectory = filesys.GetParentFolderName(filename) oShellLink.WindowStyle = 1 -oShellLink.Save +if (partner="") then + oShellLink.Save +else + oShellLink.Arguments = "-partner" + oShellLink.Save +end if diff --git a/InstallManager_java/src/res/desktop_directory/remove.sh b/InstallManager_java/src/res/desktop_directory/remove.sh index 4744c6d..78429f7 100644 --- a/InstallManager_java/src/res/desktop_directory/remove.sh +++ b/InstallManager_java/src/res/desktop_directory/remove.sh @@ -6,7 +6,7 @@ ${REMOVE_SHORTCUT} ${INSTALLMANAGER_DESKTOP_FILE_PATH} ##remove menu directory MENU_DIRECTORY_PATH=${HOME}/.local/share/desktop-directories/tizen-sdk-menu.directory -xdg-desktop-menu uninstall ${MENU_DIRECTORY_PATH} *.desktop +rm ${MENU_DIRECTORY_PATH} ##remove icon file IM_ICON_FILE_PATH=${INSTALLED_PATH}/InstallManager/tizen-sdk-installmanager.png diff --git a/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.ico b/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.ico index ab5d8662b4280b43077d1cdaf9db33269fc3edc8..e622ccf0cd8eb46d26df908527e67b60fa4796bd 100644 GIT binary patch literal 149216 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�^dqpV*Abr<)%eFLBz2d+ zmLdP@DfAlCg2)MlH)XQNq|LxkF*)ZL#NQZX`pSl zm1-6EiLaOAAI$zL+SxZeuh6fc@Z#E{BVwEX#kWsBn`@iD_XFaKcyNNddZy2;s^EBW zaB{Klx5k&JzXbWz&?aXV&;j;#Gv__|%$?@Na=aC&hl2|B&GXdJpPd>*P7a;5<$ zNo?7T-}wa%22UFb$O-P+P{Z+e?ip;YJGE8}h|p64?XP5{6f&^toeZTB=~Lzcih}gw zNLUtmU;XZ*EQb31<3aKdEP+<10w@iEhlPo~g^59Iee+j0zc~YI((zLTgl`8)`;?&4 z72zpO@L(qiLl{Gy94p7}%MOm|cyxV+fs2*OAx#bJv25%(Z#1B*a9OOe7K{j{-$2%t zX+GfxgWkLhBGs3aY}%DsG^yc)<8F&%r1^Ws7oR8sW)`?7DRo7tkVuao=&j$cHF);Z zQMfY%0V%5GC(KmHUjgIh*;^VJ9Kd!`gZ(neu3pAE$eLenh$>|5^U%n!I=nBa z;rTqnmTtq&{Gq}Ik`!aW&2D-RZr1?1UiC+#wnnsh2j>D6Yxb9R?XO%mAl4t zF&f}KpHKSIO`0QtTzs%3!?#Q$6(NKJRkEy$j1{?40?y6)wTZK@B+q#T$|Ll@X z_WO{DTefkC>1sVL0V7{-OgN#})Ix_G4u_MYvY8`bA;$qmueldV(~M%?co9GzL(6`h zatMo*2TsKe!zcH@vo&5fDQf5$@8@Yp}$*vkvlW?(SWwBeafnYvD4&aRR0ogP^gz4j~h ztL*O;_Peu8`T}*xEB7~_O03n+e^2v;bBn%)-L({;3D^qq3YH8L{{}q*qjgI9d#=f> zv;~DCa<8h$lYY({caA$sd0NthS8Q;YA$O>zW}3IYb2noe@5Ki)a-5|O1Av=x97XQa z#y)l2fRsHcdymj*hO;J%OASee2bH5Zcam7N-uSk5_RnVzHZ~>O-BH=xBt0cu{H1gk zM_`lC?p&(o^iKcw&S$f^dy*f&{i>`?G>Dl56~OhYBG>chfV+m{xB-fr`^1`N_iuyz z_0LMS!6&v*+3zM--}$Wb4EKFC8p%~QhmGH66uFRj(p(^*vJ>_eoSGsk>8e=Un7_up z(S1@!;h`;CA&#jAGY-W{i_%MtYxFhno;~@I;G<$T9XX;S<#ASuv`XJPxPUhnxzuY}z zda@tCLQ=c+)@EbRJ`c({x8|B8bPOCul*i<`NAu;63}b3ruL3wOAw-8f4)h{O=8XelttN*=Uo4tFt3o?4mxdspSN}97EAsb{p5t^y?etn zH+clL-{$*`2%K-Mb|j^NVm≦(=!Z02@U!xgIPcB815Ko)5 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 z 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 EKbhYl0{{R3 diff --git a/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.png b/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.png index 9c2f9c86f18da4b6e116fa9db8ada4bac4b4c01c..f4d6c822a11082f7c45aeea252db26f8bb2a98f4 100644 GIT binary patch delta 16069 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 delta 24618 zcmV)SK(fF6kpZ970kFRce_u*TL_t(|+U)&#uy0vb--&(J-us;2aOeB(n}^Kza?Y&E znyHDRC@3L7fF@*c(*oM2C3g#1Z3SVg9VTptP^+y_v@N^a(H-h=yBlF6t3gOcAOxxg z1Qb<8WsNyh&cmCBJN~9~&fa_ZkG;?N{qD=GBs1$}0WIH(Tkqwaf8PC_z4jWu>$|>7 zc;j!voqK!BKkMv;d)8c8oQxXJ$Hw1ltT_vuQXh`0$hvcG1*8;Mb)j8n!y@j zxQdD)ia=E%y*?TO2$&cF!5YDeMd}F>BM3NGBEBN_maz4Ne`0hCG!mN{1yl*f*=LN{ z&%_vh8O*PL<;!2#{|29j{z)B9nch@TEVd^*2 z0N&QaKXc*UVObVGAu;~1jFGb*L+lN~6+~OmY@Nf#K!5)_v+)SLN9zfohzLblVv78LW{Ojf zF$OIM_+p5bL!{_Y5TQTBs$x)#f3Y}MAU3@;s}bAGFuo!5hTuy4+A+*OCk<eBLK2L}f?@9=@joeTl; z4IKV!e*CU`?)fW)wf{+6e_C7fYbS`-QtaQP*uP0Edo)|;V0wVm6TFYf1&4@PJwh?r zrkacqF@)H_$`NGc2!*e(v;BnV84EEIf+uQBC7mkthR_>g4sL=tjC1MZAySr(=mSOo zSD>zk4p*TZfHjz?ASNY%)d6-k!cGp7(HMiO5@JAOBu3I<2Tv$_f7Hh>V0;6+H_#Z+ zy26gP!PjWyvTFQ~E?s=(7vF#z*Kc-6c&i5Rn%{He*s;NIIQUPUbAL^@&Jc#Hxcyt$ zgPVv(!rF1d(k5oIN2n%5)pYoz8ok~;h4D3J`w|7v4A(KnP*evv0mP&V08ottjS1Q{ zE|qq+fTeYc(RQlme^oJJP!a54nc#W^>!9poR3Uhbudy0a<=`BlH^gpV#jk8&jlt~S zfO<+)Km~>5v0@}3M3lI+flNollY>8J1Sj)h%Ro zi_jY)Mv&mK%@k>BjQ5B@R3(zz2t^N9&nTvQs6aj309Rm|SqdK{gF=KD1H_1yJ=8a_ zcN1Mcf<3s2e>=EITw0^qJdFWktI@YFudE#_it;z6(@FS4E}wj}!hwC0zr<^P?Btm< zCky9(&WL<3E1M`0L%_^N#BxBhbyrHn#(U`}#8f4jvX?xx8!&m-C#XO8y@ZqJp_)>B z?GJDoVYospmyp2{(jTV8u^ghkA+Z>uy*|M@V$p+ge}LaSjo&y9MTxi)8zV(*Fn*R| zzbM{&5YxSYsEU{b6Nh}uZ8HU5Q#3QQzf3(?Lt;dl3RNY>NJJA{90IYwf*EZi)tIn; z5(yr+a|t`z#&4Ykv6$)p`(4?)XD}T6`gk;|?;sp6-wXqI&BH%?_xTIP+5g^%d?YNb zBcZ`Ge={fss4eiDr?As~#8;^6r#L%UL3>N6E72TF{csh3?5^ZCzx129XCK2g6Ko7f zs3?e-xi8WMHOsvtSLh2btBXO{b7{U4`9g2d>H&wAjF{!s;Op4V)?hb0oBLHI! zh`}~9KnRUTW(Szy3Co+ra){JZLQ|ufLXm_9e_sp{@4?q8#I0-*%06y-fSK%3Z=JM<$?NU$s#Fgd15sL-aODVCTF*Qu8`i7{ec{3>R$Pj4`!7z{DaQS?fzN%k6Z ze}$lcpH--H#Pt*D0V7!FFth#SIfiSfa~R(szCy&LgKgb^h#2Xj3Mjkm~$<5#OW^+iZ-Tjj_`` zm>yv2)MYaoAqGN!8NafLyYVt|`FUjf8amp;IEO8I7;C{;tSeBlDCq!IL2|Pvt{%Zm zcG1}wRiHme9>Uj{*#R~LqAiI1WfTElld`(>(o_t_*wjb@unzGv2q{#D5OM{ef4ES? zY)n%Qh{M$cBxQU+%K9y|TbE$Gi)uuZ#i!)S8mw`E zqWxvU(gtSd3L3IYE{9kHt}L*fXHf6;;eqcDOu zZ2%|Eo*VZ2{r}F0etYZ47dENj3XqFE?ron1mckQKp11rU)NnMAd+T zRAZR#W2{LSf6)g4^;KdIe;J!f)1t)GGeQihyBL&+B4Y49WRNN#<6U%VgM;t+YcRTj zTzmq5*Q4m#amtszjEZ2I8KMz}>u6D8>IqT~kkBBi_Z#PqH&y*Fyl>tXu;&{wfLDF) z*y%HW-=IIDWgqP=5&O#+V{m)d34_(-0-KuHA7biha=DUkKPl^qfBhx=(gtq-1~GV| z2t`pMMlii0ltY|o!VW@6;iV`Owr>s1%8}I0twzLL#%Z<`5lOf|U~{P$vk{VSdJGX$ zSJ>GYi4F9ZQCniHLDZ+x&Xw4DOcW3?9V#g#>>`r9fze2H*Q5Bg<8W}5`aR!4@#Rku z?|v7>m8TP5K?GA*e;8k(OY7+J25$FSdUn1+RNuR@wqEV-Z2#`t#MgMk2JpJK|DJ~) z{wpTN|09DH;@UBACHCMJcK;^L(t09TjCP2&L~Vgo6V&7w+ZOzTCBpJ1#lcN9)I`ZQ z&f0|kmwk)~5^7?b)`-E0K-nX%9>c{36B@j+_z=N3FeZD8e}oj8m<$LcC3grhDj1t+ zWU9$yga$i3!1#)2OM)9f4mqxwK~ocrMV&>9KA{*8%RXU{_zS_7#G+4q{ymsWPa!+k zP$@9wfZj8oOOLP|p#3G(^{~DoZk>Um#O_^3drL@Y0QuI{jU!*$+u45R4j6&l2?IFv zLoPi0j`!QLfA`;-dmimI{T1A37dN^Evk9>`OgDP(8qt{4h_MMg(Hw^jg7k*Om950V zYpT>=&#hgYO(2V=LlPgrSP;P#4jHb&$|km&K=4FkGJj7yFbPfZS`^e;q^XH96F*fj zCV2#79AeVTQ(J;DXw%?kBW#nJRDSgc>WYN?xgOE=e^Ha6WfW#pw3;Bk!fane`>Xi7 zA4Mh;^yuA`kNqm;m1k0k>1(LQNIk{W6Uy;6^@)2E<0uBiIE;E{t^Ky8)s0`;-`(DQ zJ8%7)Hh@!ionP(u20t%LtLMXeK7oDmGnmPK0zxzr*N#Asf zfL}gBe=*)h>lr~ot)#l#m58x9Vf4@&fUi&`d4r8(NPh`C8>0wOLoVl%AC9D(jwGsA z$_GkJsL8%R13i*RB?eGMM6uT7%-<5q0lp|PF>wx}DNN3b3=q+j$QpyKXRFcJdqw0IW(h5P z+Z#gmbvOate;+w{@@K4(zYuyu!o_E?2ipW=u`$rBY!aIaHysh%7A#6E2MM3|b#j@j zM{x%?p{~HVRL6^;*c5x)uAZ?_4v~6-DNEw&F^Gyx_AxdQxs8})2+=1mAf^iy+8%OI ze&&W@G&3DP(B{smAy9di|Zf?VF$Z z1`k}m5d-M{e$N9Be%y%p2jZNKMGpx9f8%SM6++R++Y+~b6Sa;YCb>Lo(ZLEDYA8y= z>M`8GEsU>;l5w}PNCy`~hE@~tBHhL!6ZaV0@4l)c0pQblG{tgn%jkR?Ox^%HP48xfb*(?QQ^Q}e>uf;>rz=`E!FZmcK=oi1Ed4M*o5(y1*$?= zJ4SJE6RDE>7HbgelH1SOyA~x{fAla#k0^#XTq7>6Q#R8S7Hokn`z>sf%0cVESfb>Z zoDItuNjw0NLd8o>7?VoLx+2DijSarPf~fDX0tI65 zDPJK~2r0L)>9x87<2_abadit*jgx_kNnJ|ULy8htjq$5n*y%p(Z&RBBe>2`42y&)r z>VMMIwSKe8z*iZ-*3n~s-8lPWY8`=;nX56W;jz4l%*HUA5c0Q(G1#I2S5QCjLHwzE zDQ;a(Ll@;B9auR?<)a8{duZ9u_@$(}UM!)vgj8c(NJ*T=)bls4AR3!`@phigtE60l zoKL8A$Y6*)dOD$lu1Lcoe<7rpT-Tr>g&-xDYGCsO5hhm>zDmT87@(=~OY1423k}{k zHcGFjw}cyQQ?G7eXJZKdfqt+5 z)c)Sy6K|&hxUYBk=kK}qtcd(gjY{m5sk7HxMw%IMu$maVll{bzf6JwnxPmZPMau!R za}Q%jJJ@QB2P7)8vW|Y@`_SWO&=3$GFg{Rz1Hz3oL(t|eD8`ypB~%CCET;7mMzPZaD9Yps4t9u= za*fa%LKMtoH*qCgi96WEFCW3(cnQ_`)5njW_?OqNUERCweDrnx`z?8ZR~f*@kt08C zt@%?FJ)(lGCunbw=-a&^<>(e6D$x~*EZJKkmVF2T1K7PAf0S2Wz>If@)fDj+?qh!% zx&M(lIFvZQ#LzIgb(8%YHwm_6<)KH}`p9>1 z6>+eZJweI?e+)5U4aFceoV-Uh=IX;G=(m|A{-Nt(n+l?bK?{%7wH?f>g`0}mO%U3Xu&PptWULD%B)1~MC`Htfh|;EXp*L z86#4S5|k>2dh>L;sYQVq?Ga}OAcp?G|5L=ZBX}POe<7gWqdw%sG9tBys=}(WbmSOo z7w%wS3(H5ovQ?R!3Y20tCugo-ps*UW*52F zbPLY@wWwh&+8$&Qgh8oRwg}}4h24Xwn9*K37*&F%SE>De3J23&VqFqkiOI03TUsW% z>~sXe!fzOn{Gbf#8%Ec!GP!(_-ufoX_uj|wf81TT<>mBHm)9uoU88^BJ6V@Mji}=H zwyC#oQeV5w!KD|euU}^J$_s??0n$uT=^2}pw%b&~rM$(0Lhv;riFu?(Qu3*wA)*3e z4bEAbDnLEO7)xB)#Ef={zClAW&eR)eVejO50)ml5Iw?lm__gEsW}1dx${sTHsRKFQ zehVKMMSxU*|C2au|432)O(FJ$D&v|1YAt6bDPlY=UUSuWnJV zpQgO|671hXVoeNzn9;ka$qk0pW0_6UK#Zv~=K~Tw<$FGaU0Uf}F*yWu;UM?q4T9K2 z+z8_lvzK3F`qGOulL+kvy zOJ^@o9@$FMJ{pMi6pblvlY4<=d;tM91`|UjFC}zQ#UxKaM8zVZMiAoiYI6I=K+#Jr zYDokWC8jdd*oBjdSYP9pHjo%F8oHT8B|7Jsbp(>Di1S`U?hL< zU>SFAh1I+6VJ#nt&ZbmXUZJ{ve}&n_7pSkiLbZLJ=H^wjY0>~`2&l%48cNDDG$cbq z5>;IdO!gAyuyPbL-G{PF!zKu-DYmB<77_(bb6}`v6zme#wusXMEMrtt?n3Y>xgIPN z2203v9}#`991MQ|__;fk{Jo|JID7uWa#0ljz@SHiEkVE!*D>wbbu}Tle?C;xTz8v{ zili4BSGN-U8k*ewOO~%ii8M7@mbiDkr#oB~Ix1G%Gtl-mWiKK5b4Co}EZTVd)hkrb zJcGY+Be8*&Q)mexX0HH&WS{{hXnseD&SBS&P@cY<<%i$R`nP+kt6%MZSb z^2jmF@*0Fdn9Yb8@@;=7e-(o$i6A19=-|BpI$TNEMhu81?;)Yd0u>HZ6zR2yL3>MJ z9HuDo8z(WixW7yBf4&bxuh$vD;czg| z3Fb|t`Nw3zBcPFR<2ubVPvb9LBC4P(E5x!)XkiHHz+=i!IwMdP{u{h1S`^6YCdH|< zEIsfp*53C~);{sew0=U+%%iS;$%?EUP0|9^lD9=CIq zSoBh;D9Tjx8<#?ae=9M*&Y>WQREV!LQDu-u&|HaWX2jL4l!H|xM9k^oaPVvUdwZAe z(EP@$Lx76>Pc=sB)uV~kdT^8A8{*PBHq>eMEd(${%JKn1N~Uya6;n^L42y!M+`yn{ zQxVG^vcF67;xouQ-rHH9yKPD>bT=)%2W)2qq5UdJzq-f(f4nDNxlDcWBC>e|^WX!R zd+$e9R*>K^F(Pd_k7PVS=Efw_W$BWeNdlODA9Lai{S#*yzVBPv6h*5Ff8#2%iwU2Y zzWglJ-X8VtPC^-bL&9(cY3f9Vsb@%R()1BvY=VL{X5xvpn7tcB1UuPFC}T{rH^G+3 zcn80{fsD2>f4(jh`Afj(7VgS790ocMaQ57}6VAE6M^O%AZ%Da!H8n_zg4kQe&PJ&g zE_*paN(h|MNbC(UgXJWmAd;T8r0H8Bf#uR4rkuhD+@tU7SeS_+v;am5t#VIhY0gnb zTI3GNG_BO-!{*HUV1z#R9P!y_2$KnMc?CZl5(Pqte?*N$&AE%_d4L$ZP|^K8e@z!k zRPm}QKUiI(IDMX_hu_2chd#-Xk9;Q^@BSd`r%ti4{R;ijEi4g6duUx{DtfLqGC5W< zWUaj=Y)DAxEt9MpF_2{eWKE>ySFrX(oF zm_QfTe@ijl*FR&k{%b*yUBCOl<(mMq~K>PorP{GJ4@2!XuBs@nZ?S z^l5U~8&0$njIy zf0JkE2!A3N1*7wbrR}L2L-WEV>L*^Hxw(gb;c=MlBK;*y(aR4rQO=~b9Fqwqb%R{I zggo^WT)Pfs57t)E!le>+AxVsA@(wxFL|yO_3Nh;Z@3enk^b+86ZV|0RhAY?;XIOgA zM_GB_$EaR@mgdG)h>8-ilA2R7AF_%Ne_V;o#>Cv*YFp{J9#mtZZzRTe?cm_x&Kkg( zbLTd#nEyS(M(iym%kveu)TLvxpW3V;)va;uSek?LHL*QPbXcaz8ER+{e_vxlq*+>L_WtjudidM$r|+k_=lz7?I_~;&`R3)K z&Jed2h8eefN~aH%T;TRdJeB1kt38u2e)1s_xPA3cn(Bf%4PZ%|)) zf!U>J3FAGm7CTs;8$wQzk|CsyAUAKqlTX3(FF?~EYpY1VpZ>WRQ`4%Ye|@!$r|!1r zgH)s1 z#FphR9PIDkykoP0>l+(CEbyJ;ip;Df2_f{CvDFwt`uq6fKbksS&wUPi@hONE{_G=! z)noLoJkz}}F(yy&DryZ#e^T=j=LqEz_!_&pi9K^JS5pgaTv8}#jlft-_0m;?vKLkyDi{rD z*-M6~F|(7Cm(bo4HsJ+@IQQB8-Q6$Wu@JC+Wa~dN@Q@Z|9;*&16E_CxDKs^+cYYGT zv4wr?R})Hg*F$jqWs0lM;UD-g?qC};x&^)EG{7lY=FODda0nW}6$lY&YV5n-n{Gmv z8|Qw45v=Ay!3g!`e_O=SH0k}=5=K|k&0e6KCpwuBW@DP28%(dfK)rJ<=>Zibw(QNX zN;@NHEleipv(Ld3Pr&vLG8`hStLY#2p&JP45?oz)hXrq;IgBv(7>htuRGLr!2H}M# z)32bBSR}zp%?Y=Lh>3yF8zdHyrbd=iPaLkK%c!8p#r@sge}8#Ls(^Fn&aI*Ppym!5 z(I@V{D>1W4`dHZ`96gJ>{57<{MEKzM61UD^w$32G_e;qBHD)L7Wq9>jB-9Wp2sIMZ zBv1@Za_z+cnT-j)qIvFV+^y@Ft>X(|Pi~+XLny#_Ns_O_K27QnAg+h>SHWLTAwvxK zfEY;tl(m@~f2dTuSDD>>1=|}^t{r8taf<%xF~k)eyU0k7=p0(r=x08Q`QjJh-usYu zzYDqR99kC8G-yb(>_(Ncn$Vk$=+)EocVAO#z-h#4OoR_08biR~jiGL8rWe1)^u#IZ z>6EIPG4g@vL&i>WNS{rh=q0-NYCmlHIMf4*~hWyOpR4&oa*qKJ_fOK$C`^$?~nCX}}h_g{qjs5z2mQ zEBl7v`h=&S!W=!`&E{+FD2gh<7;wo&*?uqI+C=)4as|wd)Wr+Aw$3Uas+wcJprRm_ z7(BC^f0vnFe;LD%xPCRip^3-P$-=tsm#m5n239X;C zhCo1q$vv=~_=Gx*RIAc_?FrmRzpV=c(t6sqmu5^l*g>yL6a|A8!){IwG_iXXL~>su ze}7!Wrq9JDcjzEAGsf3nWOD5V%H>UZt4HZCAH(&QQ)iO`HHIPvR&HKo^Y^cF`r0Wj zJp2%+A2`qI`Vm}j36EnIA~PSDHGydzXkw)Hk;cbV62=60s~4i(#2nee9u+n&z%c^U zWBl%Q4z9ew%}dX5?cz(^xN?cn{w`H$e-eSDMJwwmez=l6T#TF6%H6;>ZUAD;gQA%a zho*AR6-W$(-V(9sV?xdFtG~(qxBa`s`#y+${tMWrKSvm>)7<+3*u8~$<#E(GMCn?? z))cv!B2e_vrcRV>3}!aLzwjLX`Ze6~6R*+YO5q?{gA98ZV{pfQ5U9x^87(DrAhnSw|&-N#Q4m|lC1Vz^GZe3bR|V;or@aB6dj2k*VW0}nsM ziPPs$*Jpw-nKkUrJe9BTL8(Ke@rsX16VsnQM0`vX@K86@b%l?Ss3vt3v+j^JB}?n) z**tk4cYPq>w=Z)2`6qbkna8<$f9Vx&?2nlp>?I0*JxMu%Es&;hD&_&;v2WY}gtKY{ zF9v5Eu{R*t0_iV7RZ+|i61{1>$MAQ4p2>T^m-y%>k^SpLQy>Ss^uPG)SdpBJ1&FD( z7s&&m#-Xl2s)Ixv!4PAE%p&2*uVRj$Ofqlz@Vjt;q-#FxBZX@l#L!zwe;7qQ!#JD7 zpMxiaK(0TMA!{-OwVH}c+fRm}DY=u})+Po9(r{`y@bEoreB>kF$^(zQlflY5<2o>& zR?Nl|YO(m(P9r5W(uiP;B2lrK6iBYae~Ha>tVH1!V^bY% zA|f_T_{O9?h{Dpa$C<579)0LxKKY%W;2n>?2W-jyq+;)2OdT|_m8`{L2s#&(2w9h? zg)ua0Dyu|jqNmB?67BpzdtBXX6mUi`#t>s@SgX7i07YvoKOGu zr+E4+k8yQx!uHYze*@oOrlYfWLLkB^vSl=&zQ+0)QCydiE7^6n2y5BHl?86+A~6PH zCWsn9qR;bvlBTg1tX^%A%bhe9BP0fq8V4`GK)iezbNVzfzS;;PpuHl^0VpX9*aGRT zLNg&o4^3>@Bw$s*S-F=?#fBEEh@X?Qc6xSPYFsYbT zGeSsG)Xt=`F=7xu?;)gogE`J1f)gQ#5;V}%sb8ZDeY=#Nbc~1OJ@WSz)=)Y_VGT-T zG?`-hB@e&*{XFu>JNW!(f0y65PHoiPWuF2QVk;*OMof^MXno5rogn8b(?Kn)@p zkjQ0?Du^pEf2NO!!J;(fAgN`x<%~v*a~4Vh1cU@G=dtb_CPX63!y)&aKFfD}J&(X`E{3;9NBg_b4V~2 zoNbLjD2!0rbbUsXDFbKu$j3j)Lk~a7zxuUb;d8TFTzT1_ydyx+){&$CYcaAJjZJJG zTclyj5Dzh7thGs0Q56X>Z|_L1m!g*rqDg}zMv^E43Ne!|2|n@m^C4kf8kY0{Z7O=- z@{u&yf01LPv_lt}Fxb3!6Rne00Aj(Kped<>mKin*#u zt&(`iM>`{wPUu<7zzKuWFeohj!q6)$r8792e?YG3tf9BG#G{YCo1;gMGoDOV-uux{ z{K1z#_j}L(VTb(wk9_>=8^DpHNB@=>S;5$p`HM+OhB2urksDLCEYYG*p*{~oW>-&= zVDYxZgetLO+uLdk>dM4;$=G}g_K2~>kY)lo7~vjy2WEX^&I!;AE9Zt%xVTLmH)*U) ze{7oU*?TF$q!~6fSz{nEKy1$TwG(){`{*$~@qrKUH~)iwpZC1$VWu-r<6{?a+6q=} z8a<0D83~24Jf6s&O#JS>2mtT2FzYYlWx_N;;a%AgoAuL77 zV^L@#dDsFIn&h9d3a8pkTF?~p$jTX3G$DtQhAWb;4yl}MC09riY$o5*1nMWfKGBG* ztWZ4g(A+)BJbsE1{H0yueuX%f1tJZ)`$8H;Cv_eZ^CuBGX>o@Lt}MCd_;LQ+e|LU@ zzwuXooXsPfOr{}AzR+O|O5RD7bpTrZf!JvSrNakFhtHgDR#z2GeX55D8wE7Q^bJFKX#CAYQgo3$w{CSq*u(pR}8kdgcQS$lW1~cH)kRNzM(Y2{U=ZG z7r*N}`71yEBe>p>S(TPV*p5Y7A!jAU=CbAfXAh;me9j_nm&|-5>b( z);Bi);~)RYpIUpfIe;-p&^&;d#11qGJH!SxMWTOM*Ky%P8jDS2khEsL3RzeF|h2B=IrHv&*X@tTGrOn1=C6$IPpF-yaPKZhqe^MCoLD`?oxPDN} zLm&QAr{4K3ANzNlb3gs#KlxMZZ^{57)MVsNias_*#5f8_Ja?H}wD`n%55Z?5L^2p3 zV&c(9pM(!Y^KeBwPMw0G`hZ4{YTIsYLrHon^%wr2>)o~w*yNl*hGlByib?U^7-X=O zCX{j?!(@)2F$QNWfA^m{$-nz&e}KRE=f0n+i8M{@+vilM>v=^T;82>>d}uLedv83`wPz6|M*A$!@s%o#tk5Ze{t9H>}JXd7yOYI_(m@)N`0-h)rGt5l$y|DxJy#g*NGx&~mFeRCJj_b=EY1kdL20uQbhlqR0&HyI<*4|O;N~VM zjqePBan*3~<^e|@{J@dBA9>%Och>xkzwnoT!o48_5ZI9{uoN|>o_g>JUviMRqs zNNOAzdnfDXb*V03jo^sPmNwEslQw!SI=~i2O%EZ*f7^C5$My}HXP?eM(t;60QVw9u zyxzwk{WUN}@&ZOu(i#HiHa7U~Z~X{=@z4GMbH{WFA4Zi7e2gBSjgD{ewRcVEuHIxM@3^ zt7GBL+s={j!d@pGE0V+@;`JvH8YHBK(AL@-e;rXFA#~18sB)O4k-(5d4Qo1 z@KwdEYS^DvjHVT%SwmHOd;-Bcse@|mb2lr-=8X^`hMWxMc|ye#eR?RM zgsWEw&py-519Z56Ge|#m1lu7IBNo%&NDC%n2#DQIj-V@d+4LuKkol7X+LnCP=mV@QhIB1GS$flTicwaFNae@hD=+lOvM zQX>XZpCQJ1zGQ5ce@`Hzt zTcm6Lv?-uPa5mNa&L&uVe>|-jP3tT{N6z>&&%nnVT2dIOd@_VuiFHVcp^p(CV&};e zxUn~;fAWFVV|U&Ez0ud-_w|7w@4uGx@RP)O85>-vu+1zjfAH0OKTeEEq$!3D7*dle z2hFIBlI906mQsC^XfY;Vvw5?qeX%JlC!uH|kv09}UqL6Mg^7C5e?pMb%}dAD3oIRF zP!`;O_g#GVcYiOFI^si^-+WCy`bBDY!tte>aBkt=4&u$Xeq7buIG8aSkC7N~HXVAK z@EM_-Wst61(bpC6Fh+1z=(+S>76xZvRyW+-pK>s12%0nfpj08|*ssjIQu!1Dd~7{H zGJ->*K?2?fZj5S$fogo80hQ2eDMv_{o2tFt~lZsoTD&6`pclk4~ zR864vfhM9psQO$6z6$KmNY`jmF)LQxsR!QkD8c{mYZ^dNmX}1#vl=~xBsQ=$2ImTF zM!hV8Awto|f2wvEx-kZqv3Zvz+AN8LVIYl{6O;0{>m`?I43ZZ#wB?rA+z-e)zXJF# zJVrFk5jByN1IRoFKnzR$f`{*akoSM!!|Wf-y1~yNHY<8(Ts{wMB!n{I79l^pwsC_9 zm5*HBnJ}J(BvR>{v^}gX`7$1G=-o)CGqo7&+aXt7f4G?~@Y8cPgFm*bG}=+KgK5Lf zgBg=1PzR-Il*)(X4Wi;zf{&`%{lR&^+)e19IA;G};2B&N{0)Y^HTJajSW65A_7V4TOKrw`* z`1>alB)6P(7RhtV&%3%kl56` z$;nb00n5<|WmX5S?MEhn)vJq1}=r2+!PuzzX{NUnBsg)2Dvw>n0lXcf=o6Q39ohQzn(h8?r1{)#D(RRBgelh27lk}1_1CG zgYkkUP1~HAw_u3o8?H^FbO)p(QzlIxe@*i6%(HBhmAq4F84{`(o5TnfGB~5@-!XHG zCFap|Abjp~-H@aT(9gYqEZTHLw|Vcw_Yqx>Iz(cW4mM2(EyNU*ZkyrLu1Zj#@saBX zlk_t*QqStVayF4#Y%cEHLKtvn?*7}(o!G-2fw}unRI8U~7zAXY;Mh z$xhoE_Dxdlut^o%Xu|P*$n$K*bX2MKU^PZUh*@1TE^Ob(I(n)2PPaebBGpLz+LP$^ ztxhdOd+pS*rI5hcLBqZG-p|3Tf9dMrkV8>On+wzYUW|lHataF~5G}rbYcyrnL?l98 zRY`d)(rqKjV-9KRyghuI$~h}0;|HzMh<03tq!k&{B_VbF`kD1pIFqa5jPiM9<^xre zlfIU69+cV#s@mrRHBm(3Yq|W_d)uGP7@oMWGFVyrju^v{Lk94|3(p^@f5y+WLXQR| zw6$?7g=$jrC7PBtMdLCHx81g#w}QmBH;{V^T{k4HVz)7~joR^#7*L-#eq%eSI6=_; zef*cd+_8fxEtF|GXjS)l;O-NYOUulfG{F?egPG!z=ydL#cS&HFch%b7`oXMbR3!{! zRwezPR!JmAGObkSoB>H?f1Hz4zF85R$)TbXe^~GV8AdLwFenVeB4z(38&?w($)oa- zs)@{+$Se<+q;fCLaf`IdKD?QOZ;|w>_SAM@)=!;(K!g9#?I8e#UyV_-G+b`sis=?J zEVd_2cI8p?b`E2(8d6ColJxn-&Z#V!^dVw$5eG<-vggRc7SH5Oe~7VL<`_Po!vGLV zK?{c>Y{~)mT{zFA_V}QLC@Iz_ftH;7rNj4&9kn>0=dXNVcU%*qQrC5YbEA@XS!b#j z9m}UP0wY+Py@8!$0;Zi+G^twA?19qok}xbB!_raamGmK`SYP>=ri*-boc?~<4BQM(vFts~PWy{8-?{hqfoiV%rW zHM|uA5QOQh!mS=14A(Z_8$$wyItk0Yz1`{NkU;@G3V~WoWGC^?d6Kq z*&ZJ{zrvaG_cEH+3-WRc%OIH(GUvk7nsI-qec)hP6PmpKMdu@Fb4u5IilfVcWUfGB zT&imJZ(d<^`FV=TRkn1W<95tRH)V?hmg{X~w#%?Ef1EtF$?~8ihE(5Ao5;8cOzOb6 z4!Ow_4|({-a?)7WAST$3Q}HGYK#~y;heOPC$L!y@@_A$Jb9V8I*4Ea>BJ!72RTAQ5 zh$3lhE9xOKhcy-lcvk?5Yaf5k9r9FIH__Y9^{M3jei=n;B!NX;@K?GOZ?uCHzQKL$ zR+)UgM*W-a~I?le%u^xXu2hC8W;#>#Y*O!K`6cRYYHR*}5+F?GI^b zx5K6h+jmwd%7UHiSGoAq7a26Wthhim-e-Gzo4ws#4)%Acrz6%%IKSCvjS+j-FX75Q zZm`0rY8Y36ag_|9@`1+BO;}$e&YPl~Np6@Je`DUX7f?<67nhv6or}-DC`Nww5Njla z_&Z|EABe;ccqu8-1OdlL;gX_;Pdtvlb_ILt6f%H~(zAZ#7?Y~Tt77sjqCtrZBuefVOm7m?Uj z4%QqZAH8Ai_-R$MzIvor_6HBuRaGAHe*pXYd;ZAgk-mZNQPP@~U|g2~dQHumXiVa7 zsHPbLNvNPBCgzOBB*PAA5o7TAQ1WDK3;DJ?g7Qdry9^?y?OA0kg7?VDlkngJ46lxO zNXI<%&?Ag1-_g7}Fl=F_R2M8iwv|MVh2zO|VG4Q9d(`~vbYVkfQMndp9Z!Ghf3xWL z7T0fW^W-znapL$f9(m|~PM>S+pBaCBg} za{VUF@F)i}k6(=UUuV3}x}uVW`d>PB(wp5LpsXzQ&Gh=q~NT^NFG?dHLxt5f5(g+)Ed^cKrtLeCPqz*H+VHk!qrc*))*SG@h!OQGZnx z!{LzQN00K%^UpJ$PC2(e;M(p1x_mTc_phV%CB_8fit1HH@g~DSUYEeqpikJl+KjfZ z{m!clV0U+SvbMIiDI(vdnrGLHAtDs*l4TN-r};?-g+fv%QB6`0HDdFae(aP#l(fy$ zN;Xk@Do2ihkT!w&s?6{!%gwy4FJczZy%=FP_eReu=tN?f%c zcdx$u8S~mqX8o^Xj8~E+oIjW#y3g( zE_ld{U1uGh_7pm`zcd-_1K|%oPcP0`T3(^a(5PQ1?b^0)E6~t=E`O|^&6w35?-NGQ zemq1n&n|XEjJ5~gqH#?K+<$!ODST6N_4*Co^^S*$G2(qg6FlB~eA6V20%Nc)%|(O| z(&xOVs%xgRiU;nwz$=$7u>^d3dkj|c%p5IP)JnE!x42RB9G)7Ny+o(+-IZgVc7I^Y7tokwXnm8! zl*J@X0BQRT+Hnu?o-_A9!aI+jA(l(jO#+T|A$GTmC)x#2=_aR%-5A z88o!}5OVD=)-u_?PTYQl7hisbdoP@4eSIw(bShs}m9i)(3x|d#E29{^Z9T3W;*UbE_D=RT3ymo0PZ>bt^&N4Jj*uD77Q(u=mu95#j z3_ohETxi*_Hc$14bt&WaZR02D@SB({y&&Sn;-euH(81X~nI zz(W!xTaD5-zV(@B>5ca&dL@-lppuegW*4+2ks#fOnurjaI)5dlxiR7ch|EbS-H2PJ zh_~7X-NFi^jBj3s=>!E%96v?~fx&P{;R+_RDIo-2dHE%tdHzMN@29QlCpK1i=L7e! zzIlYEsR?;$WKkB}eb+f|-r6D5Q%b!_Jvc&@$IBLDzgXLR-7|WNBjF(ijO#mV-Rjpf z0DbAj7jB(De}De(s`3vd*Zn~ir%Ishih=hDA86Oc*t~D2FhWK8T4xeYpIQSk?c~YB zA}#hV87t5baVWJ zQB2}|P_(UBL?t!e>Y6y+)^nZEbxo7y-pZ)?@Z{DP?YplS_ zuH=;~H~9Dm-pSG9C+Imxuh*j}9A#0mb>s+p`v(lxSD5f>#W!PJ{f7qhw*m_XMG9xc z+NIZ>9;ut=XM4u{utxn(SD3ChUl{OWQpsmC`j^F$O|HR$`lOSC5F`;F8bUYjobros zsA+<>yMKTMCrZ;UlU`se7rWbtwS+o$%-(h~7`Y9)3292`Q2dKZ(A0>UGq*Hj;xgB- zZp%|+(PoAXHPh*gt>qP}Y1%_*a^hE(j;Ee|kt;WD5`9DIvMfzK#ti#A@j zr|Lwg#bg!n)S;8{m>A{_o%RN|H=;ZI=!s4Js@f`q)aC17-h9}hBXQjpXQM)_=?9UGH1PZG49e$MRWH#9&vtE#`>@Atl4iJx?0sefZ) z0Tfm{$un7?J*(HWfH80Ejv;XfLX;#rDU#K($$ELFW5#G!_)H>CF^_2{A8)fBQ1mq+ zCXS&l*3FWDs^II};^X}9EnDa{pO3!URcgpUmRPK{G>r!X>a}|vMZeG1YLA!80kNsE zE>%Gq8fJiNy+0Gm_f3hl!`R zQ4wA(nrfQ7SJCIhv18nK z{w|CNJ}0y7==*3gWjGiRjH4*~NYrRuS*a|7TRBv=Q1t>bX>1~wcAd}pDDt6{vU?mc z?Og6TgQ1RSoVq_WU&z<%#eWx`|JsFn@BI&Bj6d(h6pbbxTj?C7ahYflF+nM;?Y4TS zi50SrZ)E5!&4L+Q>xhyVys2HBhfiZnDxm>9inWQm*EBW0slg5iO`Wu@bsp$+L77WC zBbzHNq_KsF98xSh+&AcMe}0fA3KO%$@wHW+e&OXLfpe&d7C3tB7=Iss|06v8{43lV zr3s>~SS_vP|%zM(nIa)WE{nd9oH=d`;O9oHY!b z$pqYmT}unb(7v9S!&y}56&9;Lh7iW?%_I}gKl|)Iy>QRHf5(XaA4+Sek|1ukWKlIM zWVeZ(Sg>Gn?ADA47=M(ghF(rV#F*R_Ojvqa$dG{`^6FNF!ddFNrkTxPd7V}@uB-9n zaAvHBX7i;(B3p=e;lj*iTyCqb6iE|0{o~kbk3m_oy|c^KkxiP6;Y&7xtz*YIcKig( zOGDOHRyi1t+1=kG_;4s0bJlV5);7a_4_oxvcAL}_t$Hqo(tjs;W7jf|TBgxLbz<_| zWMUSRL9N4@1loF4U1*YJ^l(sEWK#PO{JwcZRl~yD&d&DVR@MJT5QceFi>O&tF=hC) zQ?|sct1nsEJ9Kicl6Uq=+f2&sW0z<3l2%R@X>hiio~dS2>gfnEsU1Dv%8_8)u&~*q z{d-*46G&zVcYi#=oD;-DLQb+Ug>2LBw|b15I^e?HXSsakYW5nZ?z#I6m#czl|7bmGVzW03?94nn)5z{La4-vuYGqtSrkN?! z>I7&@rPIZvzNMzoO*OZyrNU+|qY-+A!B>+QyubCPaeu^}?QQkm|1VYbU&I)@(J->& zML#o$(-?E^=jX@dTv7a70s3ZQe&T1$Uh}#naC`o2HsX7AAjE zSqSO1Ie%ABl;zx)m^2pm^fS+L?(``6-b!8h(u*&Sy>I@#y79m5eUlij zc@V>70LA5*xzNhO<_Q{dcTF?N(r5pqIWte)Lw{W$kZ2a31Zy3>nsKmmEmZ~!`nz*X zKewhcw=W)A>eSvwvvA<^+m6`8R2<|rqQALGd822VWobcd~{ zuAR*WAl-lW$|4VhT2SSwr=DT!$R?*w9_Nxh?q&V-%xJ_}+l}I>CctXul}V$Fo0!-` zb$?*gBo@)sE0a3EXEt#fByEYW3r3-bF#%_VgWc@|h0FHM(h26FU}v(nzWQs{+K(Dz z&zP*qrzB)BM5R~GCxJB2P&;FAHVHc0To1>LkKfc~IIS(FscqEV@;imTUe@bW8{xN!G5&YeERbJM<;Gw+$r z>ZVgwPdS3=a)tKnT2iXd-YzJa1}`*$dB|&rVd7l)qRn?&&u2tfDukDxeC*lDWPkj# zZ`l9<_I7tio12@zVvT*js@^T43ki3M@3wW}d4+mtJA#=CZfr6RYmzcYx~7R$EXL&F zqDbK!p=t1;VSVEWXCHbWGYT3XUZ<3oL;vgIdNxqWvkoa}rZ%^87H1u{Q)x@{48eQq zdPX&!qJwpA?Cf!Bwd9_2XSi`|hkr{~t}>m@64VRXe-u=i! z*s{-MHkTU+}T)%Xx_e@6oX>c%H;5PYUoC+lu}l2mCSQ-3Rl#;0|( zK7_6=3%N^}L?*Sv7nYWmIdktr$nqAm+P|7X)4k6RT}iWt?Je)fpVCdVKUn1{<}_c{@iJLy^_gf#^_+g{{8{gY|6&k8uwi|&(_u! zH>N^7{$Mja{XjKq{G9YJ3xBI{7jTd^2NGFWkk#@lF^896cOfq?u#6m9n%ySCgMOcS z`^xOnvycCCW6W>aHyQq4+X!}cCd>E|Vx?;tdDyb0^Vea)QSi zn-5oUHvK)cFtSOL%Biet6+sQhPo8D<%zcbz&0M{^+d8-q+q1H$S%19kCJ{Sh4p%nE zU$ekR3o&+}ldn=ok>HbpLMy3LEWzqgwr9fLq@pNFHa9jna%6*zjdhk*)(LjNff?Xe zPqTL6owZxutXd}XqNc!n9qqyr>(&T3G@W`(t3kL?$} za((y4mH(%)?zuZ+0Dmo^bbI^OFK=vYRw8^1#1_^OH8QK4ZW(kE8jan|VWOMOGn8aF z$z2uB=A=-vY--+Btbw)l4NgD!9wweFF)v+AZ?%KdoT5#5zOni6O=j%4PAb+elyjQZ zOJeZJQ`I#w)M>c2U4_>L~P8#xTzp+5s73EUTq*<%!Qc-c+-HD8?Mv zw@?JU9tll$cXobvee=i{HO7xBtXUDtvgpt+Y5N5&C3IoCbd1WZuDZ-RX%k2%GA(U8 zHFyU70cY-c7=H$vR88n;YTX7>({34?-+bu~KRrZavjAp>4r5GGb0H*pmv3s+`y`O5 z?eCt{#H>k1;A~R&O7oExTlOjYLtHt)6eY&kXq}sxMOv3~cz1%_K87F*5ILP^5)rI( z3;DsTy~ARz(2cd_s%SXqQH-xouRrs}UlD8nDF}Dk0DrO(Y(KNMw)QWqwHGw%{cXu- zTMy8pZW^=hPIkk&zwUjOsW*~PuKd3kLpN?F#;|q#1e@m`WLz~_Ii!_rNl1t?cl{>+ zJFPNFEBBJd;(Y4vWuPkf2H!MEEHj37%s1Wstmf4!iKeP1RW{DrjNm0hDT<;gdcB#o zCU(Noi+@8Xi-w>Jx1WX8w{7_hU1hRZ;mCp^+|CbOGzJiktPGgG^rh>go0tDx zVSf;lJwhw%W^K#ROTB)RSJOLdIC1(MODE1VuA3a^(<(@@CL5FK4sB7xM>DM}##D7Q zb)8wgKCPP#v6HrI_XL?%9F^xZMzhMeHSof+K4~?0?N?_IF?T+RqtV{ANcw{YHo;Z}e;S_I9uD z>}>zzjm^!+Q>n;_G`lyyjglW$O2E=cnQaro5GabY{X4V+9jeq#!^+Z-GY`LysZY%) z+v@waODAtXc+H9@A*6U8J<$hZOt+sH^5M_RS+SV|nQ3t8rY8+y)0L1#DEnnqmVdq4 zS);8CeP;j*b$;7#(1k%(WL^{KZL)H`vgkC5JDI%23c}2hjz##_s#n$Q)y`ASr+s}RZ=Z!0V=@9Mw8>O4Q*{|E%+pBhWc7A_#ZT0`7s()9lwWmOj zwd>%mHQjo4+mStzA$Xq@%Tjrm#>VQVX1QN*_apCNmRUlbr28ThHYTm27$T~Pix<34 zygZ-WK3N=t&KPs%hltr&D%c3fr3nqsEYv%?aIb?JsQ<1OpROHYfQ4=0A z=#}Yt=mP7xGlbjog!$JjB7caz(sE+i==N8B>&bdH`Fmo_%{yrTZ^j4?8^Z4HcyD+2 z_g7a}e@=`%E+XryoD(p%bDailW!f`vR5vxjr!6Jc8JfCID&a?tvT^2Krj!D9fto^(tpwY!kmEDSzMI{LFwd3pvhh zVPIbT%3%VEDrM;y_R6kRzOYl{RYs$Wz|o>N$o6((eFZLmb@$c_PyDQL#Xo=5;K?`H z0ABU=d%L^!&i2k%cDA>Fc4K4XHxStc)_|khi5{9fduJ$eOW9i6nfYuw!4bIo!FLkN zB^n>Q9mcIJZR`3&-hbwujL0XVX`CN^8)I#rfKKx9Hdt$X(d*5MqG*gY>EPR>u$7P% z)5ZPH5IR}AuM-9q24Rgc40l2;Ku590uf2flzGD6B5^I3g2&<%^&CT#VsA z6)^{IhXK45BY4g4+1c5-xU;?e>nkg({|J#!sp=&oGSjGQ7=JVDGUrSiYjXnud|fdt z9cLbRlyQ~x`nwVHYyi=RT<#?fLXxQsd8^sn?F*=JHk7Vt%Cf9oQPjrSU?e4X)}$M6 zWL_4UHZ6X-`(o0gJBrn3oJ&p3MQ7%Ru`VlhWX9U>|_;Vf-}||>uT#< z<*aM0bHQ4ph0Uy_+{|i|!Y&`^Jb>JG`{xG0LMhm74u3O3zjQ1Qdh|=zt+_kY)qIUS zL0-lFo>w}W(aPf+D{$?p{mYMk_7{yS{>xTe;#G5kchCUz8!!TWJwtls<(FOrUIhNX z%gf7hWNT|p#N30({fL|s;e7P|#49g8f9mmn^DpoJ;L)?gmEnfj-XG-~u9`>CR8>_F z6)_P*#DChnn?h8&Ry7ME(CG%wSI0;PJDUYJ-02c5@Cw_QE}31bCbhpyYbgs$>C&OM zy?z5&lb~BmMnSWxiFVTurjtJL#H_eBN3Vg+@wWTB=~~1|&}PynS!-NAa`2@Y&yc z@qgiWyi=*i?>Kh$!pf*>q^_G(<|V!OjPU6pG9@hP{h2wL#m?*guFUH^LQ?$f6^?%4 z=$DQ`nX~{0y@EkmFzlD~OGjC_WHcF})7P~6MdyBqn!J$X&r3?-@P@K};W)8U>Xpa- z_2ruvpa0Ko(fh?e>_NVr2Jp==gx7pKe}DhOUkQ_gwNk=;o2TwtKA2QAO@p+$#S4#n zaamMLnw)P9U4W5|ba3z77#0)3{B?E_H^`vWA`H9`R_1L1d6n5@hrTe~y?$(1xbqvwPY);4Du1_^ zZ##VEhurX%Sd%s|;`#WOH?wff=e_RaUZ8MB7e)jifkG%I= zet*1kqi_A}?&D|9El063t9@b+-sbw}w|{=)jlKPr&%qumnQS7r8^B>a;LyR}o(J6S z?&bD8Kn`spQDAkc&zcMIiGSbu)yvO)!R2DZ$QEy8`t}GzO@GMR^NheKG`1(|N7|%-}}De*xjqQ_Gft?V7nT|%-w%W z{aPTEw1X|y<*6_3f8lpN z_4&zo^nWYL@;APb=YL`Uq#3~bKl1T!==+Va&xfY@{hcc>_f0)IcH+c|;b3XS`jA%D z+@8rF%JRh=j{gh%fO+XBheOJt5OBE5xQOdYR}wBXi1ObH=U87EqLZEG3%~g*m%jX& zfAfnW_`mIn;<0b^c{=_rd=qP5MD>4r{pIIAvw!p2kDk2mk$-ocIeq`e*oz!Yrrk`! zp>1F}VKj@Fe0PwGrKKERC%*ua>uoTPyaswMNVk@+u$E!Jgl4Kwf8pQkeD!mm{_?^8 z-hW$^y?-Vm{!ToLe=7|jAFj7W`3qGw{mctr`pgfnUVPyPPTl*+y{C_zTb@P3cslDg zkn*bhKwdj~E`J=jzD}#;b<+ZYG9SD)GhX`I7e-(H+^3(tcKOmjx32idWv~CroqP`e z)*8SWnK62{$dy@|kY8pv~)b=Yu1K zHCRdH)A9a}zjf`(?CPbLcQ3#4$}6{S-uPnEH2=mG#b>OwH~vS3&;Lm?02VO#7{eKj z@qQ6`N3S<{=gRu}g_X639^zql0Sa=JkV}om)3{ZryrrI+=VWYW%9T?rCf7#W%YP=>H!A-u`3}Yu!aG7lBVT zzAkQFyL#&SmCNUVQv#=4Q5<#7tr}~WjFFy*=>urgSyZiJ@MG`&e$&)9RJp8h*&6eT lu^{$RQI^dg4(ph>%2s7{VV>3EYrO)$329`>Xi#i9$Z9 z8A)UkFNg?|Kunk)`1#2oBq#)8B0E7!OaylA5(6<&agY?30C}lhpdc*?N^;Vmt|$$f zYSJJpBL{M_@}MLy2kI&cprx(^D#~i0wOa!WrP*PRDlZ(-<^WSoLC{l|023`S(9=`~ zeJyox)nf;DgB=iP&J9Ox_~DE-2ShosfR)iMIA|^ecBYbWaKAVh>#Bf>o+=pX?gld> zO|UT007r8LaIsPXPa7%la@-9*E}9T|L<)iqD?)&m4j3BfgSnXzn49kf%YFO6#@ZU} z?H$41!5I!ZJAs?4D}?yygQxo;2smmFhYq@dm!~Hj^EnKMy?o*LF<IXpq0T6mR z2tqHzk1lFJdkhV{i=~CGcoclRfPv0) zbkKc~4mvU!U?3d>{h3_wIh_ZF(f~%Yk@=U8f*-fgFjItwi9&jqDq?`C2W&9@KmewT zd0?)D4Stq#z)UG0{Hh>9YmO+qxh@91`DFNXM-Y1MNJ49#GQ2C)fq_R#Fi@ri!w;q5 z=VM`*tK0>1Rbud~MjA%%%fV!YBFsNmgx_^)@Vh}1%C6`_#nn9!7aIkc7yRLNW)zg& z41~56eQ3XI045?t$om4Yz7}n&0(PW01Vc+!uP5@ zFj}!6#-3Y1$4xi*c>5Ta&!Ogd12i@^!rRv`p{3Rf9}_S&H3h#XhhX~WFZedO3bS(yFte}$^9#S>_wqU{ zu5QBW>Kd%BZ^GKf7Hn;8{dwl8AKTm8|GNH<3u6sBdTP=ze)}J_|NXK>1p(60)BQz3 zPtWn{zvKR@)u)0H>_2F#6ngFd6NT9yFdaP$2MZ@BJ0}MR6C*u6@=tH}Uny9qtm#-d z{z|035(gDe&;DNs{xD}j5(g9V&q3lKvHwXNjCh3NfA`#s3a4jbqGzHf;0XjqMn)zk zCJuyvgpgB3{7;>zaC#PeLX!sCMqJR?>&M=cry@OUQ|~zF|iS`xOCXRo10nr8-AY^nH8R?xf(_&+yLW7U2&kt)L<3)G% z+O^D#BmxuC>AyA7!qHK+LF~tXRGm+Vr9^~!*{rXxPa4n@j%TE&rza+|FtM}K5)p{Qtu3vt zu79wM`jaBOF?f0wL?OhcRCSn{7zqpv^b8t3^9a`t3=V^vpPyfv#BoPZQ+TK`!jwqF zVv!9Ohofg^XJjHU&@r@*E+O#MB`q8dGdnv!Pr_k>PM;163jB;PrDtNI!(!VIN=Ae~ zhJexRnxg8wIzKm$$Kj@DW=s(|`@Fndk9;x0;qb^zMDRxHh$KWCjC$4m+vNiYetv#- zb_|D^nfZvoF^!wYKU5HtBl-}j7X8DY zpmjDTCORr2^t1p5g~4D5csv0!JTvnb{v*Pko=U*-hdmBa{{(dyW1^zM|AHG62n0+w z6+geaK4*YO;M6A%!Bh2NV#FbHDlH*4Hp&j+Z8|nHbCZd{j>DLIpIcpDAEU+7BJ7a? zW5Uu=@r(qy>TB0BGSbe*9DFywG(S5tqs=rkqk{AoZ#uc&ia_Y-aDVp~u_q%Tr@ER- zk>t3rzP>a+H`~obn3);DBlbjLEJCbyAv28@Pmc^REvGS6Kwa&N>dQ_@FTWw?Selze z)SsE1?Iz%n2@w^OkbeE77zPnQOM~7078yF3hI>i~6^=mYK=7+e5(s{Fc5dF7ARH7L z6%(J9nO*(jhAe@WhNg`=->3sjU2~Y2OsV$1iQEw8myij1$m4W)6eTtx<9c>=Z3CVL zg**T(2xnxv5eO{&?Ch$O>+6Fy0t6<)Dw5WJ*#?AC6`~3#!XxYv=kX z^A7YJ%qr5-R0*8ysue*Ih{mz!M5sElb8@QeJ=TOgPVAiQL?VvL9^fXjrb?))N~lPX z*jXA8?y<26X`)O_Y;0`Q^&O$(Ao26FFtJdzrzRCL;{JKxsu8qF^DJ=3nv>V zvd>WW0xFz^h4U{o^2x!>#xAWYA&n3i#7D&@WM*C$MV34&oWx5-t021o+rQw@j)+Di zAU$AbdUZ81J@b0C3=5(>vL~_g^YcsaBXE}Xf8*gLf=47st4Q!N=_O`nXTOj^79|8t z;+I71OoiY44>;0iL;{LvOibzt?RNXoLCmf)IovIT8SCL?6KJ}tj z0b#9zpe6Z{b&`qcfA4pQFcqZJ%v1^qc9Oz#X+&`Zj+lpmh3Vgx`A?;&Iw4XJ+p;4x zNI%&T){G1+9RJw;Kf!;l4XM3gV`E}NHXx*n$XFq8!~YxXKPqmj{6)e_q;`^tf&b-y zH2(L?c2g~c27#-a{Fh#CZx3OpZqPR37DZFb6#xNhIRt>Gmh}J_YDq!3BP9YufB+lR zQs?hd001FF2m$7(B@*uqQA_;4%X;cP2H>BPLcK@gum4(7+x}ll6e{2UBDbDe{~!7d zQSbjl|9|@RPe1=D|FOeAcG;%VAs_#;+tA;3L6FSr^Iwic|lr z8%PB;QDanUMiMnfRhQy|-O_x2;#4wO2tdm1V~Csfs}+4axMKQ#+8>A2PGLK-j$IC zC0QxZP}~VBa+07RCj-jz(x9Rw16nGQpr$AT8cMRrwKT{`%YgzC11l-WA??(xjI<*$ zv9dg9B5|?0iV|q5DuITY0undN!)|qDBvw`i9W9kV@v?@x254!jgSMt7m@9FDfg&&H zEAfHVZXPhykOWh0anRHHD{l5O;{gi;aj-KHg9E10ut!fBjP(ABjUD&NBXO|`xZ0|M zr>zVewvhujYbEe<)&bvx+7Rlg458jS$oYaU=<6GTiHR9l>@x@J{U%_we?Qn+TY#Cl zC0OjY`V%wT+1Z1G-2rfRwg)>q2XJz71Q#S9azRSxgW!7bAh;cJ{1Z>RyB+!yM|*mB zfX@+6@b&S6fD>L2w9Nn+Gs)3t+MU1=DviFj0U*;$J$Ly2k`_kCSVDkBX`1ZsO zzSY3IkY`ah5o16(AM$-hToP!MRh$?KdXnPrY3mV(gv?yw?Ws39_an_1^NfR zz))vB%zf{NVI+S2_I&~-CZ}LxdJcXfvFq%w1(;sggkSRuu&}fSORF2Ox`xEA$m0CJ z;?&Q+e?@9XKT{Wl|D9a^Y!FCbMg<-G->qJ(tgP(fh_|4ptgI@6V2=C`gapzmAt5dy zp(>)Pr>CkYf^2600bpZgH$@JW92gl%d;$Whq6mtQ@t?2>fSpZDqOr5}UiQQ1wj`3c z07*cg!Uowx|K^~|E~Y9W(ou3RJMH|K8oRhS507<6IU+*!55N~`Ruy13FD^pbYbPAo zNo)coCB-BW67wG=5uCCJiNqFJn0+}hX6t7lALH%&_Y2KMMA#V-1`cdO%BqORz|MXt zEhRp5YiqgZ^v#<$v#Svj8an_+W>paZk{CP5cDzbU3xk{kY@N@{OuPJoz(=B?fzOQ0 zA|iZ<*V6raYm1SFadmCOKR6{N<@{3uBhvoai&02~kHB|u5@}waCZK*VjxuV;$Hz9< zA;w^*ac86v5n?j=+VTV8yS&&TU)=qSlO6KLNrtq-;=bowDa-1Q79*WBqUf^T;AH6Vy9vM)6PgE#9WYjGc)Zx z3dMM;kB{IwM{VzBq+w@dN9d7u-Qq|0bF=gOW)c2;<0lBD&x@-PRLSf@Sfrh=tfS;n zLC80%e%^d@3wn$M^yNztJ82l%*=cCJ7@6DOMUfbpyO9nI^D!+h{^ScvOv^5O)LN>; zjy?F1hL6OD47P~d^47dAAK%*6>i6ix%bA6bN;)3X(0l~M03v)M%F2o}Tlvujd{q0^ z#ivji>|;jk3wF#Ty*+w*%0k1h;}cWDRyVd5=Wd<5e63!D#E3=42S_5OrpQXJ+?8-X zE$ym>@{uE6e$SqsBB_e7Bjf-ll$8;Hvf|P6DOooQjf8}R#Kpx)0;+l<5=W`+V5_WW zYO1Gb`-&>mh&qW?MHChFRZ0K&U#g0K04JM}PMJxl>ZywAnV6^wi2tFceyA!d+wR$; zV|b^v!(2pFM^9hhL|Xjc&4>s^MLk=j6J_tM^z=-SW^r+ie^FB}P9P$cmG$&2mGw+i z6;(;n$Non%a^oc;q#z_Dfw;ob;?l1FyOnzX<+w5e5f?u?@E@()L-_4&3hIxWhWH#h zRCfaLNtlNa_o5#0T&S6XcnZ`E{}0nY`1-%;hY(&=o>bmc8Gl?AL?%@>)lVTJnT+Ir z`6>S?iF*C_y_zHmIiE*-6XXnC9LbVmq97|F0#u(v>W|MM`M0kj3i8tb_!-imDklQU zauWaHXUKw@f;1>1euXmPSEwo}Aby3?AHPCPNgmWymH+q>R6jynOZAT*p`(eMy=!TK z?rx<&=j;aByTM3jH~8&kgZ;*`V7*5iOmyYJKvxa%8`QzbKpRXA5#Pa36Pzqm!PQz3 zTo3I2;}`5l&d&Gk+YeS27GP~<4UYD9aL~yK+4~*9&Dr+Po*xx_@Xwy_;qC@Uj~s?m zM?Jvrk#p$Z zFJxi4Ngc_W@Z{Pa$UNr(c`3)CDE$ajFP2ELUWLU&0x z3{`u=e1j2kMr;5ZotAI`IrF`gl!To7rb5=$>yVRk1Fq&2z@wskD7w@ZHI5;(=a|c2cr{9Fu$|~3oDzjxV{a`$hqq}a_+jd^~XC#Cd&Vx z{=aB}fB7j|$nh9n`=2f<;qlzuLL_bm}yOoO%cLgNzzaSUi0+)2j+x@UC!gX1I7cm_1u#BZNwLM(}*z02O*kQJ@Yz`#vP zIL@4qU}^2(CaMIiGBTtH3!Ct;kQ1JWJW!XA5jt|fUW}WYn?#~|CK3`d+&->yLP9bm z!9N{PCrJvq%kSLD{g>Z@)Twi`vT`H3BWXndiFpw=^++s9LDoZR{y(LE+NoG74VCu1 z<^Da4^gF1B*NmnnhSq;As>q6qLuy0GW zLFde7;wk!2@HMNTF6(I;J=k6WZ51X!LsW zq#RAVOhfAI4=jHj6j=Ux-+6IzX7TCn)U=MhNM%Wt{djn-cg;BK@yqY*mab`eYf>C1 zM_m>}kS~iSU)0oE$HVewSi+ed^XhCO>#xE#yDhZJ_?3Hzg+4O=;Z z`-r^M1|9dwvlgwdQM%Tgm=#QwT)cahG{`ZOcTB5`>N~BlvC#Z5K4i=cSIhb8F9Cn( z+C9;ee8YifTG}|_N2*wX4$69>C1q~nPTLPG*z_30HV9Nv^r#woie31cd-46l--St0 zAZHZU;N?6JKaDh0h)ZzQ(OUmnH~#H;J>wk#%pIAA6rlI`Jv|?bD$u=n>(=r%_TEPJ z-Q%_3)~XCqwIbP_*N>wpyS#Eg1#+UQX|uB{Ez&}8;Db;ev(Q<5sVp49pPhj~aE9+U z7RX1pek{-MW`uAe2<8d?i0F&qmaYhE#!uc$Ioc)#uJIvPMvk5FMpH5uQ-3yiQCZAi z*2;J<=?r9}^byzicc1D`8Gijlm5%`CS+rBEM4h3Y7&qyv)HSXkHUAR@(ymRMz2sfa z0JClabvK`{1N5;9C%$>c4_~dUA`PVa=>~1g^okDDu#6AsX#j0|gF3U$V~PF~&E+l`?w+gY$843~Y`^l`~Xs}VQkl}Am7 z-V8bNrS%DNy58w+%Yr-&&swEJ?NO8+d4bBtWw{p8yqPogct(MJD+mTm1@pl|Z3x3z=Yp}yXM@(bVIlujdn6RdC6 zk$uJ6dyuBT+?|JJIhoOkyW@q5Us7>71 z!TUP#RI-d!?baro=6|z5j<5F*e9iT2nDas@2_N6p&S$>56iYB&K67WKy=S*u*6d(> z#H`BvbM~KXP-EI%y7rYfeNlj4HSapn%zZagjthU)XlvV!GvptbxohG!cQ;SGy71(t zz(m>`Ck@XF#>U2b<8z%<23+_vN0}}v7{zE$jJHvo5p&7^x~kY2-X&Up7HCl%kU*

;xXb!%c9(xbQGA=v=$!NaeRK4?vH7oHs}$QP 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 literal 188972 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 z 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 EKbhYl0{{R3 diff --git a/InstallManager_java/src/res/desktop_directory/tizen-sdk-menu.png b/InstallManager_java/src/res/desktop_directory/tizen-sdk-menu.png index 80eb455ae303efa1ea17bd0db0c75a0e05451f40..728efe0f7381852f0ed89bdc6a96b51f6abbda5f 100755 GIT binary patch delta 15417 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

6xbqOa)&lJmGdTZzkB(jAtOoZ82B#S_>5= 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 M07*qoM6N<$f=^KVy8r+H diff --git a/InstallManager_java/src/res/icons/SDK_icon.png b/InstallManager_java/src/res/icons/SDK_icon.png index 96ba707b61c071afeea8fe14e5d1ba7b89cb60b6..ed832c6488628b2a6e74358e4720558bb6c108b2 100644 GIT binary patch delta 6357 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 XhD*x~@Xv$e00000NkvXXu0mjf%DrVq delta 7844 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

4@%RJp`Hj1p|6 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%0AqvZg@@R9sCaW9 zaXLQDlY438Zd`HJ8i$SUerm1ys_l5!t04oqN4$L%fk0$eE)w$-n)d`U;EdnXYNB@EYWT6Aofdi{R)4nTX_C13uW~rND5>lBp=iARe@4R zUcnw%IJ0J8b9OJpiK2l4jHWagQD8cH==F%@J3qtGJs(4i3Ei^iKkK7~6x|tj@fB>p z{2g5T@*kpv&W%(+MI7kb(79fxPU>*KrBgK@P?R@<0tOs6ruZ}G15nS0O!124s>(s zs38jhmO4(&#|@HJ^jF_RJ9Y1@sukZ(n5TcTc`zFNDv6!yl#twAc@w+O{~3k{KZ!e^ z|EFk)s~?-VG7h{>xkv7L2jCPmtEih1h{vpOw_Yt9+Bd_`?Dhhu@ zv`uqPRYQN{J)C>tTe$G-zej)hRor~ytGM#J|0k?Z-j8SnIvk=0p+#x61I-;x-+G)? zJdB%Jt!-|JXibj|>%Kz{L6AGf$};1P!8AHaW?cg)vmwf{D5;x6a3*E8$ni}f&e;jY zhun+RoZF(cxEdgW*e!j@^Okd%Mv3`iXW5o1{+11=aP8mua(^9?{NBmDzYYwoKc zg$K(t))Lm(0fv-GSuKZHKKGwcPCbCV&-^1S-~T0+7hmRj#}R5~2F4!KQiw)BZ1kQy zCR!e+tCUitrQ zo(?)5BIzW#SKkTx^;jFEY#^&03I`@%+eBxY#y4G0!D;YOvV_@3Vg{re7jg3Y{}!5; zxc&A28g=Uw`FIYx&Rz07C(zo+e742H7bYCpL|1=Q|A6`Wx=$qr%=mvi<%0(RR=GE2 zd}}}Rns+{U2}ciplAUNutZV%5K#a2=H<%&S4Nm;%PjKhL(>Q$e^H7f{pgzzrZr1Ej z4H(LZS_(HWP!CxIPQLd7F8t;H4JY3DDXxC@pCRUe+6IgxY5LMeplndf29`UNlwmQs z>EF#rIU{u)LQF_GF~xsAkZnjSfoG~{g`i=xae0;<2U0g3S?@YVuGYdD-jOUR#(B^j zQ$+fZYcI44O$)?+;mMjD)65U#M;}CU^U#^X%Erk|e0vcBlZ-+Dj9p@X>mr5=Pw?SX zM!RzG>R+%su}ZB#^mtc^a~ja}!y*JM-~2IlU-)yZKmJYZKl6WEM52MBP8!(~y1eiQ z$_1)UQ&m;yxJH1>;U$2pVyZu^QOgDh+SvU0G^9RxS-{kEm_hGcLp^n$qt6Xx*f<)O z*fOrS8p?PCE%d;ge*VuOA>j5G|GBTASXbq|a6GXfg~;XyiY^fnq^)5X2E>@KI=BpM z4shu+e}LRA(f5DZ>#xddO$@p|L^h&>|~Krfy|0T1ZuZ*k_gmF*7M%A{4@0 z5=Xqn7`?`0t(pBcgE?l+1q{IP_A5ls)|;~I>HsN6K<;5F`#_w}g5HHOJ)o}X&+vb# z)xu#h=vNgwJm?bRW&RR1hI=K zKC^;y*`98`kFwlFGePb;uWg90t)=)ThGrgsP0{w-KSuxFi@5Q*--Gqbc@HXK3ihtE znSAv1)ntET41vg!bFcg@4j%X-o(!L|1FNrK7#$v|5FrajYx`+$Rc@)CoqqlLhN{z`sjsPv~-+}=_oZ+xJsHY zSQ|%=+!8h?U61XnuVH-XQ_d(fq($$HK8`iIemaSR+e<528PQ*T16yzW7}vh=hcF-L zRtJAnQm+T6+ZUASdJ7TbxIvVFR7afs$$x_89=9L9XfZSrLi>Fdh!kKkS&zj{;Z z{B|7YxvCkEIv1V91SxbWTED!zD_DQrNUciaa`8}=I*x?VKwy>W zUWvXVb>e~XsMcw&r=*QG4@-&urJASp_-X_JK&gs!w1<;F{Qn}<0sG(h*U&Tf5vr3C zLQ3fSC0ZFUZuZf}0a^+nJ)ZQ=R7U}n5-{>mNF3!~7hP(}nEB=bHvOHekllYX#Lqdv zG5OlBdU|GSic&@lzJs0cXfhn&%(MR<2akLX!?}k!7@z&pdyf(!S%MC|{4msp0W&l($0-phGD2P*`Xlfygc`bw zFXF@t-@?H|pT@1He-$Mpm>R}fxfAYta$92LDIWNLND(1Z1)Z|*KO=v$Fc>Kc-yXo1 z^~Cme@BAFMpZF?AL4|r?{g4fjr#MfB90IJ_oWUz<2;&APpZ`;=ANV8=9{Yk1^=V2E zLSbs^vn#ks=3>1oNH;HX2mSJ2WBvG7pcfwHT{O+^Jl-pH8LiUU*7ZGdc0_M2$o{ig zUZ9y^90r&HId{aZIPrggK{!;k1P4ipM}oD+6`l#4JSM0k0i3~|kKC;{-v`q&YGxFz zjs>XYE>6JY0?-fFO@8mwLDk&eHfwA-`})v5U!D1m2nuIoHHho5ih>BsP?}yg2jo zzkoq-`^$geG*=#!Q6kznaBdnRLhRVxdeHOfH-CVeANx(5{ptUVYoGZiXlEZrvog~n zFokV{VvcbbIO>0L%R_4;Y&bxu8-$dQ7Tc($Qj_Q}JXJ!?OAYaQ{x~t7t5~AmTB*k` zpOX;U6bkNJle}E8@oOVOfcFpWZfZcxw!SG#?U)glAhBc9;D(|}nod@5N1n3#5}K(K zvRDJfOy!E1qHL%@F%MixsdF3|7%eLFqPA8@ZPJD^ZqR?m4f!Uwui*4^e}a1Ye(Zhq zUqQD{P&6w(dhxN)l-MX9MrdlR1(kJXhyoMExH&|1tcW%S3&z}IapN6~C-0e~VS}f# z$H@o|dT>}&;1%qB@t-5Dwz+fF;(PPsfw1^#j}Q=tBlOqa z!qNFhaqoZk{s-KC@@qg|K^@sEA$pPT!{jI)R1-WzLwt{`R3B*}w=XXo9K=J0@b)|_ zA7=K>Or&*4W#=e8m%W9+9AVb?c?M8TNuL7NkRjd$8G-Wc#v!Z-#fv_3qbeoQH(*n# z=D~zF-h-ZffUB*P(dQmr?q*A9GoX|Yt>^-kFpPhHIv!jGCyItiBKwJSqK;{skD?W`Lmj z*2l1X|7ENn`vMVY5wjbNUA9dUMJLa5Em+#|DM#}?fk6G0H?aHePjLC`e+(?PeLKS8 zw^e_JJWj#afM95b)oagU|H027)(y_S@GV^b>c56|Tg0cB&LB*RKcf4hbw&hhNQfO9 zfmQ}2RB9O&C{Ce>v184avWs4iQEwc%OnzqWyd`q49%7=Pb&ig3#-b;zGmW&(d*qLH z1$zpOnD|bW%87}}R4bW#!9V=!v$1sj9c+J2KSW>ZP%xB%dl4bN)v0lAf@z4U?R@;!p3dk#1*Q1L6*#?BoKE{3*btrC^Xegm-# zIQ8?t#Eq~1*FI6u*&Hs@LE)#4xPeHtK(s<@L3Gqa*&HA$9d#`(Ae~2Ql!B_1#U)=q z=G@J)t$8_Yf*kW)f|-H?bFEI}aH4;{uR=q*i!qETr|jm6;~=~~p@7A3yz_O5jXG1< z$^gw&Zp0L+xl^LoY)WH<&K)JpP)9dSo1*&i8@XeiNWVZ>Zo^WC=5g{#fIbOqvq27u zx;{i4Hwa~bl@am%mvH*;|9h-Y-i!4ozRA6=C;}KcB}!U2Gl3v%l}0e4TBU zaIRvjG_MCA6i;KV+6u5sgVfdv5`!7sWF+2&^^UyoMx~LHEHIdRNT%-3 zd?8zFB?%y9#ML&!au?DqU@-$)(Kc(OIwF=sVBByiU%kNhObkk%f=7RkDsqSvQL5q8 z%ilr&)^phV(jVa9q0f5HB)%bF+NAl3R2?ff=bl9OvIc>c0YMducYcoH;m=SNTnC_R zDE>^5nQI{m;yjW8i0ow|yv(z_kfU=0sZ`F6 z3Wha~N=#w7_jF5{Cm-tJjHWnNNOjR+MdFy{ILCNQ!H8Okikre1@8SXU>-5!!!@4aK-d7}p4OgtZZ( zhAy)1t1cj&?1@IX2Hz@kL8X&9n;A+|I>P|SotrrM-TyaI+2Gn2{}8r)hAXI?kc3 zY@8G|#l3R=ckX|MKLud8`LW-G1hNDt75da^Lo$+%Slqda_1Q;Y0G8L@!t(mtIC$*K zh=~uo_|_pL@?*;85at9|o4g#6^VxB9vzeC_*bFF#`=|)0#;h2=u(O8|Vob?YpF_r! z&@E_lHK#eql$9981rFwPt&jKs=B|eZK^X^+<8*0JB8`6_c&JGbFc`U#ifU>|H!q^y z^913FCa4g!)KTk~I!LR)<^Zx;L)w5~)rpvx?T8@-6h}e?zhXGraI=vKV#>^t6QDFQ zm&J92+}Bo0i0X*NrC;L0Fa81tPksgaAOAJfQqWM2Aw?lES2ySR18>T(ZK`TG@>pGZ z3FGcLBIbXRi$A><3{gBIw*sX=>WHirQF%HPiwKJ?Gzf-~!qX`LT&rT|-Jc@wUBZn| z{VqvZI>OLkwao^11F-Yj_i*Q_Z*nZ6hMjj_fLg=;BcFGMA0UW`!B1d!v&|AJ&rUX1 zNUKv|Co!d!f-tVxa^%d}b?}GC^M*s9k}2c}tE_+7QFtt^N|S*4D{%?g{Hr7~@4**l}&vCc%G3Ysf}be3LwDDh1}Z&-7w)v!zNk&y)oN zfRqc*hGaQ&mtuq%NJ*bWr*JlM)kfouHl#rRYHNnDTp}*En4T^`tRrGHf)cfHZwyYx zCv?|DZf~XeX#{AQ)G^^71m1KhA4hVjp*0}&J^BT)xnt#nT+86-Fppz(DOTNVP=N)MeaI?Hk6^v zD&mQ&2j3(xRER-?x;{W^BO9SEp~emkG&IT8w{hk>{|{XM#=vh=uRmpeKna9WjN|e4CB(>@K4z{B z#{o4&n6stZ$VmVkfhP_xhz1VSRcGne6xD#}Jf4sG09K{M2QdHQUE1$&kAgHOOBu4* zLgdFQS}(1X0p#`|FlV=)@0E9H$|1?=?3rf$={4@9y;-3p;;Fb8}16 z2_wPeP9PBUt;+fdz%Y)eweS?o86h$-27&In#mj$(?dQIQThIIsjz0EH&ceEduW`*s z3G8l*N1BQV((MmWPv6H`mx(*dd~Rjx6nk|w5uJqA)H~qj;#^*B!?;0PA0g@nWjN#( zq~AhH38#Pd7ub93D_HMd;O~DIyAL6A3r@ZGH`x35Z(=N?TNnb){rs-THm=LP+A=Ins$PP?|LtCfL$HbzS{1cjm@ZpEr>oI|mJ(D8F){rE6 z5TnBCi2nUwqDjR5XMYd<(M^QSfjj0p|3c^?PF=^VR}%KV{I5{&eG*4cd22n)`VlY0Y(}AO^uW4uE%;T4-Sv&#_xveieJ4{0&%MAm6&g zl*}ou$PBu38kREh(Jgn*1uSp8gBzdv9psBIQjjpMQ`MltjYJf7<1uHSa!`h4zJZw@ zLjK(R(5E08$sL`A;`ILHaT#(96`j9Bn6sfNY(2bom{{ z(03DqKx%c_-SJCG;=bc=T}5riZJ2LC|A9{6|Gy{1Y4<62z@mp`{&MZ;09H4yIHuS% z<~--2O=E)~VK&q-_^x^G17C)e5+r%9@Nxz7dea~Xae;;igaiu-aj`vvjjGp>HeF{P z65Y#xht-?k#p2=%$b0WYYsK)`7qI_3|3{S7Nq6G; zwHG7C^%_&Fs;$mV#SG(=fV{{kla$OMOWSWgi^YHKE4cod--D*)a3`wEPrm*`96a;e zG>5w=*M>vv{^CF5gRlM@Xt!`YoIopWlOcA#>!&wP94w!5@=o5I+CZUj5YXiA=5rg4 zAl(Y+`r}k2r@4xIN5Y4;L*^^XkNg0p+(Eh}y}uf0G;alBl@2lo>;w-ZD~^$`gP zUK7?<5zM_T-brdLs3YqX?l>KaUfptVxQCP9|F^Jig&SY~BMhhR#opKd7;Wn$!v0mP zUin+BUi&U|>jd(_b;#aTgxen=z54>T-uQnmh+~@n~z}_xz7z87+d4(zI^ZJ*nR6cT>i?xL5Un`nM5paya&w-==K@kKydrf4{MzM z*`MR!Q@`tJ1FQp?Yu6}K@H!Db)1Amy6mekgkV~yheD}pdiUCsAyslI417}BngkygL z`h*15R+)YGkxfZ4A_c(Oh%UgfVwr&~j)2p~6V1F!Rcp-INX*cPdmo^kdz1@(RSsVr z<<&}=fi+Eap5M{u%6L@unlL7smtqq4CU}h`?6Q*3;70$CqOI4nW-&|%-%3x2GMU;{ z*L4=7s^i0AIId?FZ~qvlpZkxv{p)}KEynYYBJE$r;_c@U>WJ{cn+V_gkEky{hxXEs z(SGrL$n{IWaD>%6KSnsZjdtpO9Dd=SBjt=3_$5vz|5l5`#|5!VF#mbzb9S0kQJ$)?gT=#4+7jUpC#iFdVI-Sw zk|RZ*e@#4QukRYv)0HR|1&)71rDIAkzcS3%O+@mlvs=WIg#dHVIY7GAltDLaj!?@0 zD+M}K3}+ri?0Uqb+bG=vZTk$`YcHT(eGj2uKtK64*b|?DtWKg`dK3EkPav&g_5RNg z#4tScDU?(9FN_b6ev{9J!`(qMEUG8 z``}39$pa#(Lr~sUnimKjPN}AjDzTY2Q}4zXEFrj3ctoD1L53t$d4#F+@%YjiXen|m zt1@G;>+HE!suQQ`45NRvroKz2CD7crp+(tgHBQ;%RKIv6m>DVh)C=;#Y*U0(pN1XWhF*RfGOm$tT?7CO_kEnDgiu=;`UQVQ9`X1z%KmvSwzj-0 ztq@aAUVQ`wgjog_Tf_Mm{uAyz^>rLP@>xV}IQ{B(vG?fb5mqZe1mmy)tRZzvY`^mY z;{HwSKloX0tGdqTbliy(DC9W4lz^DnmWIFxFW%B~N3RZRj{&aL9Qm{MOKx9;q=|`7 zqs?X&&PVnI2cdsuQGy_fqFMFaHr7;R>xsvwI)1~C-D%{L?%ag#p7-^P@qn9zuEPe} zHYjEEQHO`&HBaEo*}b&k`1<}(dXI$cfb0(aVhi13f!r^V`-OAsFz3j%Y1?9K22$6d zdFIBv*Y)`z+_@(bQO-Y1Kg;b8(AI|tuRVuw@-)_8`KN!VyJulLry;wiAd4-u&;2Is z#5vRt-T}}MZ(rgL``jbs;dpRNlz_}{jsng}FQ*meY3H?&_FqbKB@6TS#GD76XwN+V z({I7@3fG?c6+jH9-uMA-KK5m9uDTAUE&@@-;`L|Ic248y@h>_5bI?>=Dr^Inl ziYS{Ab@YE=BDh8~C(rtWpXiKg6I0k`4fIQd)O)g(AUjOpu1rbm2cE&v)8BygJ7|8Y z#R>DGie&u4Lh69%^D#8kGN9IRF6h&pD;Q7TH!F3UlU65IoEB#g3+661EEa@e$26O! zXC$1Db0Ca#ja`NUXhPjyo!T*vQKf1*yPQ8E_nm*g{SC>Bd?r=e?143S;^lG+x^)uL z3b4KdtoI4ly#ER0+m~UBU9_!}s9UF@C(i@9gFgH*4r~waK-SDgsk`TSf_Zd8^Jpu^ zb5+g*W182VAw=|vlD6D&EJXu(aDXJqWTmXp#u2-(e;57wHm-l_cd@m15tbH^tsTTt zfJA?3ek~(H$~gJb-=dtjfZ@dXd6;a~Vel@G*4ChTD#q=z&=7nUiK+T%_S^5RjDaF}%+6vUcN#dIaOBwC-gBZ>}g0gcS2s;$BoCoffxkQ-G|m~ zLBSW`jUw%yS}2OO!o4{* zYlME~!}jQrVs{bM6=Q~(Ve!U~C@6n?=ouV7^y}#NE}_5t8q6A#i@Y9V7;<)8D*#Cd zo>OKbe){=-SK!4h@m&D{k`vlEk*5UJj4B)vrm<^91~0#X9c8= zw$@O=xG57sP-TkHV#%Pt#!QdR$@?Jv7V61+VQzr0J7*ATfrWtn=q7akD#Cx;KSSHz z1?m9Z+C@GXQDa7bw1@b{bCA8u$a@#jv_Q{3g0O!Baqk0!)iyLQu=n(@aAlP`BrT{R zBl(Td?Og`OHR9nd#9`oP=^W_XFGxJ_+AU6Lm8Pg_=x$xcsh|EQ+<5xekm`udg(tAO z{x<5svPb$Av}ITsaPpVm#`S++`CsGAkNyL2=NfnNM!Z`yhn}l15dx)Yh{i8;1+CL zWBJ zarG_q2iKu@t|H_ftMGps%vmWRa1NLv$@TT#$6x}i?|m9AWLURE7S^Z-v4fNWVOXO- zyb6J!-@6PMju1nKQr1Yr8fRbpOI-i_zrfYc{WCoN?f(wF(Ek#Yh+<6(K!Ni={CC*< z^zUH%x&H_o*E|TsIH-4rp7}!=qw77*5G-&C0zuB%q4h3dvFLv`4YHxJIfO1&2xGmQ zuuLQ#mxidGQPCQjj)*tjLwEZ!u-w7nL!Uv-J(lnN9AP|SXPXj2mw5~;IWp1KAsP@-U?b5TtuRIkaS5%4*%@WDe&#+yQ-@*u z9O~{l=<)@4STg%8xOgxPaBY_oKmJ_dH3z$osFLtk>wAptUV)63d0lCBG zk$F1{_I0PXKf8# zP8=5n@(j~U-$Q)pQ>d#`kdyZzOF(-3GtjqRggk%uU!cGI5%T_Z)|&kS^7yAw&fd%B zZMlPV`AwuZpNCAFAXP|;zM7;=-YR!DqLh;5D5x$1h>T6~>?_k(Hk1J3AIu-}lu=D1#Frh@NX@d=G#GCJ9RVwa$_8(*Gxj&mlz~&-@ z>}0Q$denird$A9gRR)++GV6T88v;^H%sVa$LA$HO^wf-rJI#1Xl%owzC=w7C3$C{O z2eVqBbwv06OITii6XWU(jvoICqKJ4!GdcJ8_m`I`@cXt|1dTWeH!&)23w~quW}%N?omijcb}ZRfc4o&A>DrpZMlQR zpZ{NxKX`>6-^8Cu(gI^^Oo1}P=4g%FF>;}nkz=785fG?EvH>|PDOw#WYf*4y!c)p- zehwm|UsK=%8k(ZpzlyxMjS@4$og29N#XrR9U;Y*1!7Z4QfQnkMy!`=e_YC&G_D4AN z<3FK;)oBNln}7@(qDemj3YIKoMvuCP{D zftVv`qk)%PFu*f?>rfFPC_%7%{?8Duy@$;weid!^0^06*jAeti+=1-gi!Ku3mLbVRVA3A@^~nV9_o> zePtb4GC(VUMj&ShOk#h(a|5>6f}A*yZal*3XMc{phd+OI|H9&&;xZwS)849$27TVXjN!iRQ}co_`Q|Cxy`_>q&6&j0#9wV30v zn6W5S7~^E7vyK}oMLZ)!A{h4tdR1a#VDdPQ5TDGq+87fm6g*74zZ5gg^8hSlq#XI- zH${w?q3Iz3R`l5O0MZPCc;KQ144?Q_wDXUmoxTrk`wa5oEpCf0zlnJ96?D)4Cw7bd z68leo6FYDH$c=wV*~!u}6J#L)4Ic^z_Z@0*F@~97v0Tg|R8v|=vs*o~JA1Ns*r5N1L8wv5w2|*j0 z1i%RC2@+6MAYEdVd?^Ty9h2={tj|A+vOI}&a1$qf_P^lh@h`ztvGvwZfJC{G1;9X` zZeA?V+&f}AP2O$h2eJ-I1n!t2G~=$aKmPZEgD$zPi@#BFR8Wp8kG<^Yt#lsg2f0$Lx>r*j2MT_j6kcUAmt8K8$=qQaRx|6 zR}qclfSfusiGVcJ5Futb`Np%j{q#3+^2NWz;?_lU&%T3y{g3@B4(@*jJ1_k$VjBS{ zPQLL2T>sqfBRueNbRWFRm(YAa4{H0!hGD0y4!@KDzi!#k#UR81yPD>164L_#k1m;S z%=)UeI-@xvNCff%VX;8)wpmif`rM;fKlN3tANUl~?W;KP_K&do;1yu8#PZ#rVR`vA zte^bq#1034V(>444`L8L$kr4w_xxpLN=-jr88Hq_-7sGmpyHeI5W*aWXp=TXBH4N= zqg4hP^7AmX=CzC4Gh1<4x=eaSe-MrN9l z+J#3UxreErW>faZv}Kw!p@|!l$sjew#)^FC=e-*>%*106;Z-G$>PASgj^?7aKBRH| z?4!7U^Wdkje(*EMPy$_IXypN*?K24u= zMHg-@)yNKa0_Y2oeL9>)SZ>lRrf{aSv{O@eh!;b`e6r$)Eid4xaoK)UyvFESCs> zT}Rc9L(I*~uOM!Q?=n)ifOI`XoYEf?Cuf}Nee?$~_Dk|#Vn$f>2>lY)EvSNS4ek76 z7@zzK4(|UX^7=NmF8%_Gw|<0taFZ)I=gVmzfwXli#BzjI2jmZ4M|bOete^Y}j#E5s z*7{h82wlftlGZdYh|Qx0;>?M$Hi6TB8J95OKgbyLP({#Mpv@>sRh^|xVT!)eMrwl= zDm!4XN}`j5gcOrY$0DRpkUk+U7eMaF5nL=0mmO4vz#|A^=4hp9!|JUUFm@}H2R@G6 zGi(}W$T@kQ2Hev;kzvW-DdPwm1_S|ezeHH9&{WB8ZVgr|^HCKdSbtzdEO zT?{AAp_LJ3tk`|wFR=gEm*wvH##RFeuLa^iQ$>_*W5D zC-@9V^cOjyxw^?>WZA*4gx-_@_o(nQH?zBA!-SZD6oD>L?V<`jc`uG0`y%!q{w(7D zb*$cb4qNa181ZnA_DcX|vw^680TvKr$HpgRNE^_GHLns?bnm@{aO*NQ=N{q8tyZ8k zNKyAp_yZ!mYN88Q>$sUWAt44>t0b`KmMPv_w=t})P%6Lg_wJq z@N)-5#zUAlam~>j2=owtNfdz2S~-|zcbZVg z3Jrk+WdLQ^z^d!?QpegZC0Fnm7Au^5?eB2&>0d+GJ&zbOy5*Mp zL6|mQYIW1TqFHmqniFJ9q&9+rSo z25i6iBOE;V4A3us`SLplrVJ!NbRWEe(?9()>_72ktRMS4malyecfS6IND>jZb`e5k zJZ{eX&QhY+xJ_pK>L~?qW=$eH`=dU9hxa~-!?TY=w4rBOY2Lz)8wBdic}RzpS{Hju=VlobJ?K;8SV!N!7e;R(clzGHzOBCpi02U41`yg{b% zrXVeP@=`)V=$G6rt6#yUb0X8kevXMeX7$ZTs}-s1XRxCM#ue}+z>M{^$rWcDN3;gS z)YIkf?lPGMudNbm=Jv$svpOnt7-$2lxaa5J!v4p;30ZFYBA@<>u~qcTEf^+VOhFws zbN+I0h|n;9QsiO720Ctl+(Y`6*XUG$Po{tPZa0h@7^QIkLLG48=YNTK=L!x#@f%pZ`*YlQ>YHerHDs}(g#wf6d>T-@M66E1h5_mT^ScTw z%&-3l%XeQucl!hGV0|^kz-V@eZ5$jkHlh@QuT2DhXayqbI15GHI)iZMI>IEAW_{24 zU>vZx^h=cf1U4t`rESqw7cy_@#62S&V&BhjOYud$Iej2_Mj8dL!d2jE3o$MD&+_O* z2!!(31j6($cXp0RK&ylMjwz&-+T8f)gzl}M?TBbCh> zZGD7)-Pga5>!18>gdixMa}oi@yyi^hv|pi$h^}9{M>(PEI0KbPJ3$);0+K@H=p}OP zS?a+0w+pB-y71KV?LtOcA7F9m6%6-&3|f^oi^%+DYyA0D407>xoP7RIQMXT^ZJ)%Q zFZ>=t5Y(+xzEf9JQ>5$}Do#b?LBiU7VhVnL^an6!1PLgk2LKAN83#z;!PWtE zpfsDxSkIU!gceFlXv-5ww?E*5-$92I1W>{T+5+`5xMt2O+bM?NvAXGET_B1I5$hb|}RII=v- zJs;j$5jVHdR%d4KZk$vx5^(Z=rN6@7Cw~j71zHCxT7n_u01IGU*c7D}q&rt}&->3o z`xV;mImB*>_~7Hn-4Y?BnE^v00zsAx8@j6-7(vZ2j)S|yfN>nqOc7&bl#>G|B^q+y z0i_T$Sw=K9#Ly!yw%J&y!m5WvhX8XUy0+%IZjJID1Z=%322(3WJ4S%LmAma!fj({>Ez>pJR**S$&yxvSH&9Mo8Q{<^>oukCe;ZbVbf>aA=Fmzppl!CH3LXAE0iBnkIx`cA_ z!fbgkC5t-5h*&FD@BI`{DSY*_QnkGyVB zMz-Q1xVVzy2HF%Ch}{wrvS-Q#Y`ya{l!rbIJM#drSR(d|Suh~w2v{GW9o|N04Ot8U zWzHUw0(-^nULPCeCJWYqqntx{$ zXX~+xZ&O6r3|;X+Xkp`1%iugw#;2hv=>@q*?zh|x=OL8q4O$t{UwjE|xeJ^)3kebZ z*3uL14RvJwR%=7872`Xv!meLp8MJo;^~!sQS|Ogn9E`Vr0MxUg#hrF{gJ(ml(Beok zPeP(`oI_eMLFg8&1=Y>eK7WHYh+7@&&RK-v&{t`*7Y;B%?0O((V6hEbZbM_5)fZcD z{t$=vJ`GJv1iwbas(-1}mY3=yg4&m4WV*R1k)Ns%XM z?hyOTVXqc{@1WrcmjO9vHVcP`s4*elc#ruSDMQl&VX+J8wh%JoA~X^&L6qq1!Ki2e&@<8x%}9JbprdFPkc2_LbzYMtS);$hZF;_7-P3 zCejM5*UWEDTxlC0Z74z) z_@ar&OO%mUe;t5vfTalZD_G2&35t2fu%K22oE^vnfe|qzocihijDrV11IY^%PkIm5 zP&R|(O)AFCFbD3$n22)oT;fs-eHj(-bT->|<;d8vL_SzcP*N9h5ct*M5Ng zC%!Rb^195mpN}n=OzJm_UVR&7`y902_Pk+%3%?hQ~i zzX~!^zeL}6$X)WxH`aHlU;6O)IMPd2J4oXJAIjLFf%eQ~6;cL@FFki;3Z)4t`Bm6| zu=Dn_7#{l~HHWcBTy7yP7l{25ak2D{n>A3Y>d8Eg{0IS1nJMsup>G%lQ`N&`j!$i7 z!3{3`N^|C0RXz;KS4*7MB#$sK=e$r6Y!e@E7+{+XFjDl{5J-~h7f4-)>L?LL8;qxk2@d>hw4|1XgH=&&0yV*j) zTJY_u8)O(U6)uO-+B^zWX1=qkLPMaGsy1xD_X0K#d3#^to`yvD{DT0vJUmV^O3|cBupM6p7A=x&kqA+J|8WZJ+G7K|Kp*d4p z0HzKJ5L<(7)@Z{aLr}N2ppg%MB7}`vlYkTiCtv+GZawwujyGX&cJO(ch{_ z^LcuT8Qe{nx*p?jcKP6=|{ZtGYu*q(FA>3i7pgap&=`@nmxM z8I*FY33C@ckENN;R0$Z67d@)dZeW#lo@qlG_EDE7C=Bj0)i%NopFIgD8=(wXz4ap; ze*BxLv44!H|TK8_;_LPE+t zq8Q3>2x}v>jD(4|20;W;&rZt>HjD@y7$Odbls9SPTB(jMo6kT@h?!SR+Z^&L^yJLg z@vUPX1xF}b?>>*ir@juv>~FpxgpRQrMhwLKWlhp1ome$ffFQp-Z6vFbVEQ4LlFeLN zged6x-sKHI%B5jT2YSfAdVw# z1bs&JnA_#`H<6BRWAo6by`~MsXm~(18Pgt`-H14*iHL@JOhEDwrv(jb=Q8*|%at73 z5u;SQC56GDk|^K4$}!6Mhv#r?YpekcZT5Wx7*4$X6Ra43UEL|yMghm8l-&}JCg2-|G!osZh&rr!T)SdeqCl)6NJ8H1WBJC9u(|IOuu^-2g3>F1-o3C=pdXuz46^rNL5y9Nc!SW28?-2oWbW z7LdGzNXD$o^Z-F>8^Q6GD5NQ*HRRMmx^19aV)6bjF`j+^+F%mU_Z@8pKG~)G z9z1;}jbt+fVJbSuhuH(A8)~4++MHMcBX}yb4dCv7M^*j~TQC1Tjvo6Ws!&!Y>Nw<> zr)4>t)7w{(Z(qUT<6nZAAV45Fb9!-fh!*0U9B>z#kcR5J9?`;j#@A;db;NKjsN{%k zgbi!o1PH3fYU%b#gtDHu0TTQTtBoNx+K%URFdu>@z$()!gCGct{W7jeX*#-z{^}dp zJop)ZKA0Xx9b!No+bouZ4`&&8y0ui3X1SjTsR9NnC>ecUH|KZP} z?VKlL&#@eJ96gzyr+e_y#cDxqj9Z9_gtJsE+cClF&sv;x~4GD|H+?p31@ZWt3Z_prm8h{Wp8viQ_3C?_v} zqyIvb^Oyw4Y=mMb+nAC_>C-qMNJQKmpu71F)(?IbaMzqEKae^O%=-x3<+hP>|4}Ot zCOSRAjiyFyb%^uTO9K>({klFx-K?2m;^3Vr5!{pwQPbwJ1O?VAy44n90mreep>iaDb^49( zu7+{D<~WWp0R3E6qDF$+td$Z4Ob+Kg$qlT>E`>h#5{q7?>KBV+{Oj4F0%rkv_9uoOs%g*^;m{}#fnOE`S!^X|;z zsY0lbygyhZ>z&+SHxz;cQm)I|<0ufhCPpDa+y-_K`F-Yzg?w=)5 z77FC$*1Y#rn?UM*gG3>1RDyGVS9}EJ`{c4Yb80 zYT6eA5QrLDwHfp|4r|nLKpBoGB`X8M)weKgpYhQO%Zr#iN+J>mXI`&b>|iF?dh0o? zAOEs5sU3?P6QYpiLpy+?zws{0?s>%32}dI<;?xwvgC;-v9FVC<76Qlw`))vAy5Y_`k>jZn+(cvvwia!90}V# zG{)?n6K0jo{uFH^YUP@LvW|Q)>w1l{UPJ4^t13o_kUmN@E?-Aenl% zNVB>%1#*uNBTl~jH#q$C@61>|0cU(#i>EggtX}&*baevj2S3Gs=EFtE0TJ5V7xIzC z2pS-Z9azW+wIX`)*|cE2e}@WT=RqSxSfE^rBb0^~I>>lLYGxgMCf4z-hRn&0vFmvv zrQ`&Bo%E3WF#M#AUC)QuopEY(e07)KKsdODa_(VR9Z@IhmZ_ge-0Px|S7Vi69nu^; zg>y6TgmwbN)N$Yo>0R-}yoPvU(WIgY zlzzn+P)c#Mh;(JfFOoK=Wtu*w4yjvCViR=BE#~(s2kpVv zW0SqKw&v#gewL@@oT0^&dueo7BzV#mB?W@?o=P6iO!-4_b0wFKZ^$WVv zJTrNc)Y0f3+~5@$yR}?F6sWZ_j<#0Tg%)Toa@2``j*5r^jTx)Ae~hDZk3m*jvjvuz zWREm!4T~#pKn>V`;FD;rIt`6n!FE@J=yCI*>k~WE<}*99DM7pV2?5~L zy$HhrBxh>VgvuE4+DaPLj%GA7=RO13HHA}z>hvbM7et4_gO*1oe`_IzBCoL6zs?oX z`6tkSLW1QbEG~ewgybz?xee=FFvi9RLbkfJGejMsh)5vxnT zMARcBZR9f@TfT;Yuf8`ZmTh529>;pPjL}NgJA%4YAAfXlRn*x5g-lyxvFIz2J%L z%r8+N!new9o+Gjmt&FoyQO7m3RxB^Ri1kxnpEH&v3cWHR!c@>-eihxpb*vx$EZyW{ zWP#rW9V>+BJ5sGoA99(z2qp2YR5uIRysDv6Byrp^S*=5KAwZ??Kmzr2F(7q+={SVi zkq^=>xwP+=z;YW+sH%-2Ae$nII$^%}32OAFC_`zMZ~O>#>nz&VNnYRX>tO6Ejqp58 z5@MI<#B>TY&13J~WMu{^BQTDP=K@Xe5(8^s30z}^4D>5#j1c2?Xo8ZfsvDvLk#jN4 zwUC-$yW`-bf=J4&IVjv==2J$0LX^qN%&YvwJI`V7>0d=$ZTZG0AXT41=9QNq$sg>< z=EoH2Xb+`d&FS!LP6TZn<^Ua-A3G>gDg?@TsqH zlM*rmj6y(d1)+^-xx?btMXVqGGyvm<=WdMYbzmk1qRi^qGOW3O;GaUHK@g-CF5k;I z!pex6mykNp9yqQYAf9IeLW~J5CdhIJ$O~?DYC&j&>+?WkvtQ{m)MlcI*6Jtbl)~dS zPtP%vDCpjN4#Ua&p^II1tw9hRO39U&&4YFblh-A3D*+3+D01yH+aX7m@A(P2t5ca99T=1Pt6V$Pfifuve`?$22ZGi^vIhM#NSrL(3lZ;CXp*I6ysd&S6Rf8fi1%sCck92yK$! z;3R(&br_+WBcv;Dp)Pk&cFqu`S2i5oXhqul0OQVoIV^5o#CYxzJ}+`NS#dG>05>2y zH%_LVr9-w^gK=(#;0OuMZ=OY$hLG}yY5N$*ZKphH14G9Ws16eMuGEAmlayt_E;06)Yky^qq z!Gpv+$+KeEtY>7gY2|v&II`*2d+2U{fP)K9Q>hZjYB5nnRbVX8oFQG0ri#VUE$Her zvql0RY?(5eUFR~zvr@~aZnRhGK_$S-23xOxe;)@=e%)Wv;2k^ZuHDUd5!QEbbl)dj zNgeN|3pNg6Q_o^J@Pp_U3x>yxOhgQm-_r-u5VB;N7;0szcLZ6`s^T0LdRfh{h?g0|Sf`o52&)q>b}=<~u^GXYX7 zLf0d7D|ELmp=_U|JkEfaxL)H)6=oHGl(|1cRT&bl@XxnHx7bD)*I2&(EDoOjCPzvR zBhaQ;z57!fT=*FJo9|*g`{3QNVMvRj+YG{Js41yPBtSYg6zWiMs}&(FAv-5&R60B& z7EIOEBHSjBrXa`oGr%2l$F&iUGpbbLJT#8(FAno5G_mTmDJccPV@<817M)XnA*~MB zdF{K{Jn(5C_x|NgGIT07%tfkGQzB0Jl$gCMGcd^JJduxobpeUA2Uabwe@0{kE=FJhj9B6gGaCnG14A^@0 z`zYIIfHU{ODuW+m2v8-}!Nv`LV1{Cby4*#p1p$JTdiTC?&8j}Qk1;s+nJ=n&XWz^a zI<6PTOpwNX^f%ta(F31C&UYip&j})w;;Sog>44)CP8=(ZuOat9 zzeFh`^k^SgACh@z0_cdgK7wtI_{-N3Wpjj9XeDkLi^ei~Q&gEaZid)(aKDy+F`mWdwQ3pZfnjsxtGPgE zQiYK;+I5V7gLUi$qWBDs+mN=|M;1jvgyjVYf919!_>Or}rf8e4N}F??Lo3*M>xa1d z>rB49p1M(*jsmpFy668fk3Rcb>rsrdcJ^jJ~dG9); z77XVe@t_)J@bx#|!}`MG2o4kdXlj_vnuF939J&*KXmwm{ah@|AKsSeUvsG7#NJK@1 z3`eu*Qb5R#7}Jh8osZDkAo(~YT_*ellz^Q&0#?vAM?8T2C7_s<1bv7c*F(`y3(&(l zb;7(hs1S+5vh2F_7+EC_p-QMOJ)Y5@}E_)|CAsNz7Uh1Y&e(7*>_Qt%i^5Kxbe52CQ!*U^9Q64v*AY(h-UjybKI%gNN3*oWy?!3W@f z&1vz%-Ly=}YV@L52r#QO=@`L2tu_DO*aStN1cn$8B_ZY>DKC(6hBWg;b3o8wWkl|m zuzrcw+#GI(T9q(#w~e+^2$xs7>AJ&P$VWG^dGrf3pSQ}q;RvM79n_t((6Zs~Ja>S@ zld@y(v>6mk&V;)KODRZ^q7;eQ2hEg!dew2j>ZR}C;FB}Qmz z%=uca5Dc*O9nStd*J4W9Ru41`DFVHty8IL(CzxrPW(rh=#7x4L&_f&~c^te?%B{|H zgXjZjYa=CBWrU3dP#|>Ky_|q_y(8Z^SmvIW5+M$YoBO;YQMhKn!7cRH-^TENz$e{P zYwodSN8MaJq2~5ca#a}wdtce6HFTD&AV14h$d0@C|Jcf)k9B?zD zM!~U=dsx*2skJgW0K}Q7GELKeO^2Kocy}IBLf7|5>pSRfU&Z>qk4*|!Y+ZU0hfjX} zE>6Il0molp9No~}W)ucoZ`MkgB{{m-hHQ@9(qTZQ<4rv91)ip9T48ON2fAYF2|Lj# zppG+3OGxg~#trp(As{qGTMr*%!C+S3B22Eg;2V^7Y!G+u-vlmK7Z!wnqdlbS@8am8 zPxBfU+8;x74$M?zxDZ#`rh5w|SsYMJv z;_)EE(uP^)gb)!DNeX<4`I59@gP;{f1Hy8F+7z`_!rgu5ms6hOWJ65Yz4S{AC+|f) zaSu;>L|7DP?A%>w2qv(9@d%}P_H*O#xTymNd_ti%Ww#g&>K<@i+?rtqbgz96hZmm0 z5c_!^i@Lds6EHA&GMYQr9Q4ilYoxSF6`>jC z-dK!uft3wvRnF7`hcb{z9-kv=`R)0W&~tekoT`+{n!`gQbMLRpx18V-R6|0ZZOX9Bp~N*Rv$x1V1T-N#ir)LNEd*hjg|1D zal?8tMoh}qAQZ2T!@zvwaqa6vS|nob30^NFl8(#)>9>$_&oyEtI-}M?F{p%@UA_C_ zUt|BF&!KFcAveZ>5Pg=KQgjffBTcHhi7Nq3QQL^<>qKoM zL?U)x_%j@Q;y3(vujntob{9>^(IM(MFj>fvt>W@3@ef%b2u`zTt)cZhh-KhtBft$n z3%2hevW61OW@VdngnsCn??4)Hr2YsIc(m#+;{s6LT?35_f-niIrgB;^a9 zVwG}-6EFXN4fgN*IMlQL^8Qt{#Wov5Wv8EFgl>)~$aR=ysRgxc98$!Z)Fv85z;Q;f z2l|Kvq_LsD{3;Ia{}d1+7JKjC#V$B;_-FuXE533H$8Z0%Z&cO*Iut5ibb{0{N`8L$ zVszx!=psw%!{|oy6D=~2gV72+MXXhtlUkj@isER0T3R(n*f653H|_&b|L2eEG&S`T z+YLn8(1s27stEjo$mD#GyX6kOO4JwT?- z>qd!gcZlv5e#X5Gulh@7mGSMvDPh#St2S4S3DIV>( z6PF<9-+vAD^!>orNhgKWpeB@h42RqLe*~wNQ<6L64jh@5_%gpL_e6# zCn&AqGLJIEe65x`a`Qyo1n)&~q!}IozWBF)Nu9-w%;Zw@FK_yj)wwpogI~m>xPs6s zXs&_@?nTiMu(a)JbAd&JzKw)&v} z8m`1@sqWjz7zgri(8!{piQZ3mw>PLmp>!-Rq=4TXOvDtwl4abW4kKFZTp%3a?H{av zHmcP7C1NYsedBw${lque5UzH(>vn8O>N=XIMEElITl1u2G8l=G2ByQ{j(*mN)i*&? zE=Y(0+b{klZa(=9q`Qe}2wkH8!)J7{?`KE61UHe3KudMCZ$~4z7op<9RG2Zd!_}~< zUov5+i%ul)E7hH0$r}or6fol5r36TS=v z@gaoFwHpdKG5w8qVapR3&pphaebEswkvm>p%N2C7g}l8@)?Vsio-0zu0(efE)k^y* zHC~R=%`Qr{IS?9Qingb1K;Rv)HjKj|lL;ojP0UEkEu_3a%#mA@I?h*k6h*dw5r{PB z13dNfqDRWyYscJSvA&IN?-KSN`W%85S4Bsp6i_z<#F~?A1y(nxk`ZF&iqNOk9fJ5(Z>Yn62FMgjQh8hf4bF<;a8{;(WN%VT8COM>aBz_UeBK7X z-aY$6!Ynlsp_)3l{Jd2vn^gfx39I*C#^K{%M9B%^&UM6P4}}L6Mw)}L+=7G+q$-dT zFpM06o5ErsuTUGkz$qZ94}sw)xi-!QVYA#!y!K;wO!I8s=9fi4iUJ*f)}9nleJAeM zx5-R|m6#EiON6wAdT;<$9wO$-S~FmE^CC8jE!;W#5RiN1P)ND&(sb5vV-l3s0Sgcv zsq6DN2c{*^r88>fY}mkYlF1aniq*9@ap&ZHckuvD+lQP{hYg=>M}zqj;p;DjprV){ zm5~aX=zCQ-6?IC>c2E$1a7;@Oq5K^_pj99BXe%?N6L5b*8QlcrXS}(p#%EHKl71jCfJ%t4kUbed(1Kv=;xBOc;4|o4W{!}7L?@jEn!^!#AQj}; z6O!ch5>Or2W`HP?1&1I}(j;BxSg8(Z4OlD|{-qPO7ITD}Z+2jRXx7lhIvbdJ>>^=51tggI_?$#wgV7Q8Fr6A|* zTM?4)1HiP=#GP>R=}4^;3@M^n_5aNrR@7np?dNgpqdtKA-WyZ{LJS`6+#t$4h)HH0 zJn7N;EyRPX^g{@LS4)5*gzO$)%E37k;!sy|bZnY42xD?@vHMMC$3EwIG14O&#DPEo z$dQ`3HV!lPtSL7n=DfS91245AI@Mv?YlCxsS{9oy%-W^;DuUJJSFwKh8N|&V!iEGX z69KvoX|WCI8>CWH(L~VoOVr_rIm9tQLqk$UDQg5U-fD7x5YpBV&?Rw;K%@^t6lH8a z7A~kGvvb?z;KAgwYPD0 z*vH<3pT#OKvG@2_Dd{&wxc(0M!yC{ta{gJF%A}GIF#6)ayY(0eREJ`$72WK|Hpiq? zV14JKpMY9_8@VM%1zq1`Y+S8L5I1lOqIl@3T4`k5d{(>Obd^HVIW=`Hm+`ov$YXZSfK@^7#t9!(`b5@ zC`s&mR;eVj20HO1Ml3JCf%U_m!eV)Va^WGAllP#1Y@Gtm-jBuGzd$(JhnOMdiZZOZ z)Q=IO1jxb+eb*s`>;@?Jv($#%Eih&B6vuo-|9!;kCSga3rP{90pspH z*ni-EQ=UU?NH;E_-+Q0@>C~YP8$J(#U`=MG0C^fe`S)iIQjg)IGXhgc32MM%xj@lI z#cvP}W)-thW%5CoDyf;``_mAd^=uptPaB0wjBCi5U%se^qfiDFI(Cj$8;8?AdlL`5 zlSclDdNV9OTQoJ88;{^wcKo0s>k$Xzm~j|?Y^w8+xs~Gf#WYKekP>pgKurk}d#v^^ z~9foUUJ)F^;}KnYY?vA(9~s4DLLgK&sKwGK-)eA zjTx=mLhFg|6*|FSDMQKt8`tQM_K-rs@|~X`<)tG;1f#RB#Q~9U3#SBneW#2(%}YLi zuzn&+5VVkR;>v5d@#L?dx0k4Sw1Rx?E%Z0u;c49(hTZ#c_`s*3t6j2rZhwG${XIxI zK=R~H_0LWua8PgIL(>x6Wew;DtU355F%Qbf~z zA4UUZ_a2y5Y{o#$-MHd1b@y5|jkbv5M+PrU8 zRkxY~qf5gk)6@h|;`2xtd~0i1T(FsJ1JH!j11MIPU%|nBAII+HS5d);hgxZn7ZY@Q z?<3!O52Azv*r^K`E#ew(ta%>fp-KR`abNtM*7t}i5y`)-12QV792G53g8zg{NJ zvIu>iG0^a%10C|pDZEt!lK4e`7nxcKkY;a=sgN-57|kf_f-1xU+LYpxdzcm%!P>mj z4FIagCrnm3Y5aFoX`qSX>o{;2o)?)0Y2QkS1iJ4$3uVg0qmDpk%OylGUU-sOux7#2KSV zM74%&hM^Yja_fcx(Jl%W3221?aS2A!cJFwZJxeV2Nx2j z`6ba-5w5+1;p}7B6h(>*#bFkoq0~0J+O!rbp6*=5;?8A6x6-!d36!%BVSVq%D3(9E zjdbS*@~w-`+PRApunZf24x3|uNXLRxSnOIcNaWRO5LoV!j_w>g>ieFjm{U6?c+8VJ z`N`);Q#1m#b_yUOrHo-5ky56qJVs9O>o{u+LsT>a!9%`nv0+V$6lBKg5|h!W>Y?r( z0fFQyVMAoXFH5vR97GflporuZ#x##WAOdy9i8}35v;ku1%NqTE&G%tP2mZ5+z-9w7 zcKGGBGNAb@*=m^~Ph~S8FP7+HMj1Egy54;+Hv6Gf3&!;!a_&&dh^}8iU>G(>B&XKK zvda^lOgw=-xL4O`wwh`+lr?9Y3Rvh+8=I4zcb>!1L!ZRz&1az!kaHrg*iHNr1n9*H zXKuA^jia{B9rTxfUP9J_U;(z+#&GIBY@YlYYwo%Mp8w%TdjM0HIr^v#hUPjrKx;$F zR7GoZU0g_r>if&ue9pzJ-U(FLyzGZtI_I!xU+qzcr_e5VT@#6r9S;2zw%MdUg#xxh z>!W%`Fg(HlK3)kD`Llz0!Rj4!h#sm3^$wq>q?rG`&UyiV8fspkow*;?A3kaHuZX)> zLMwn)bhj?^O7$yo^0>g!7&>fxUgtqO9-3{+y?HGoU>R_Ft2n9zTG4e(We?)BH&YBp z2h>hZn!?ok@6}LCL&^!UJO0cl!ie+uOj6=ZGG?whC7_`K2e+X2XXtVVIJh+@oHi{E z!Q=~GYT?6wts^vbKv|>fI+QZ_&#A!r4!XlVEK!9B>}C$Mi9ysMH?{D=R8L!?%G6_=#JeYoP_-5=O_ZH-+iY0VxVdJ!h8YJ| zQ3ocnQ(hn3P_7=c;A^8i4UdDL%+bdNk<4mJd->yZ~*kQgzJYm{M)IyM@c zw$CDew}CtR#a*a6%!!NEz=uh3L!Bnwk4ZuM0stqMAP zbU9Xn1V|SUN}&M4uOTxaAOsGNLyA6F=B^Zpopg*HS{uEc zV76?C;%Pqx+A31c2;I`dp#7!rPM0TYK=cHEqbZS{O6KTrA2;eKg$iLZUz_@PoF`4) zy%)N5imRjbZLBW8$<5mu=5%#X4fBP4_a%({ps(57j z`P2dJdBKEEU&uG7DFn-Id8Ef97@5v7acCd2ui||^8eI&a#t~8Q5}*}ldLzyv-H^C{ z`589@SBhrHxtqsRA_*;L#G^e@z=E&TUm4Z@wP+yVste!5sXd70V4CKc({Rct@|ErbW2#Ols<Ii7moTIVl&T0a5k}81LH}7`yOM2hrok6SVo%#}5V9#GWUJ z6a~5tp&Y?VCG0RJlwqV?-e-V+l#DxsyH(Fs(+{1LRK!?QPpxF*I!*iq;x!!0ff&g= z4t&|@nJ`9m1v7d=gtSjgu?)VL8uOZ&L=sstj7C{nEL^WjLn8*rz z_Z?x~0_o08$n{IGm?33E*WSm`iSt-|@Fuf}r&KA(%(R*Kc$^KA)7PATS7-n!`JEVKCT`~#??YXMwDegurAJ&HmSKmSO)gQ+R zi7P&1QO#W^(Gsl`rl@Np8z&pakdSX*o3U{iMl6N{9G-g&ZMg-1*}p|FrZu$9Kq*%c zW)AzJUbUfHED=GGM{*p7N6iMhuTK0uDy-xPkbFGue<~4j(I$yig6rhH}I(1 zrV1H19CRz`*^;7v@4u(8%exswE1*#jJ@r~r_62xBKtvYIR)$04>KPxMBRyPH;4Zuvg6k%u2j?_|B+ky6l-3-V zjGmUsF^iDP7y@de8kqTb}O&jcYZAR^eg`YML|K8Ehn zO9(NcjvFUWxXH{We*=~Hfit3oz}VXAGBh8z#k+U{)8v$5s<==L*(Kz~g0+@>NEqo4 z8JuGm0hA4Ew(0}YRx8v9s${gipOh{S5}O(kei7!QjOmE4n-M8TltTE=ls8u!$y{}d zxwQgAIJ$%G>gyb&Po!3O9pqX;1xSQ)%^L*dI6E;_G$Q51e+SG0kUL7SJd7|-%A2y` zmkh&gCzDMpn7$?!Ro^br20Dz?}SW3vZF5&3$ zucE*H7TU1pe+v@98r+e-tu>^ak-7!ixB>bF520E}g*6IT?rIZaj+ljl@^}MRW;wzV zcc~%uvjIqAW(OoREkPSJB&5iY7}j^LoS9TK{($L7pK)??PE`is5QM2nFd%VWmm;?^ zh#fXN=YYiu7}f~;H;`{%rm1Lx94Y6FG^n%7tN!IcfBA))3j>b5z_djMZGdHjDFZhI z*eH-;jZhomk*ztbydnibI=F_KdTh4OB3*lrcR|XqX?^MHmmq@Lh#D40;4yxpxf_jk z(A05$R?0}mi(^rygMq2%iV)QY=G-XdF7xWGlc1Lpwx-36K{EZE%K4<=m)EjyXfhAYt9i*JDIlgfO}0xDg0qs2&S1DItP1`P6sE z{tg&Q%&1%EsD^19xc7zTRfVzwUH9@f0#X74|8q?V8ccd5${O*5-J#m?G6ZYEY|O67);|JDkuUKrI{A+D5|>Ofa?) zf07cK7NjVsWlExI^WIo&K$8w}?+S3@0mx#Bus%3eaMR$-Fh=)%hm_Fj=zK)d6$Anm zLIysvB)=_B_*E78hX{wau@68r01?du7|Sd!EoDQhx+%#9l{2ak1EPD3ty1bOT7gn# z4+lf6*$s#2-J&)O{Vv9H4`Flq5uo2je}Cr#EcY&=+q(j6obr^SljN&+UW}2LWMkSU ztemT_{bUXEdXT%!*e#t=D3r#R5w)z{s@c#MJBSB+kg`GB9Jv~MO(i$zmo^BtFa8_{ z_kW6Jer2|9bU(_R(xi%}L|a%XY!3W|G;I_j4jB@0L zPB|p%@f%YaHt9OMEq5}02x#@u1*rzvIfXQ=Q8YmEl&0el9vHA#BHX&-!7>5S>$oi!5D^YwN04~=<1Fv>P_iqsMQzp zfe}?&hB;+?@+G&?Q=9xs3z)9x-Wno&RXUxjS|DvijXlD6z!NfO z+8QF2+f5WfkFBIoQpBtb?gG4vD>%0S&3e>siC{1|vsV=f9 z-JGY0g@6d*a=upjT-_9;-f_cepoBH@p)`k3PBJiS6_z5)4}b6(&g|ShmwW|ntYOP7 z;KcnHSEtdhZ^9c~o)BH{Dr5fr=8#T$gx&K3vS*?Z%QkUYOqC^pe>SMX`GmY~6&~$i z!LMacu~PDSY>uVppSRvQhpi7@hBfC>H=EProAb6)6lmGNa)+(=e~E(!p261ZKj3WE ziDgztn$g4|N$>}y8WTP-%w z3|^8O+7&q^=s0p9f14s~v4wKtUX)Y!qb_%lHV4SJE}`GMLe+%N`szq|SM{s@*kT#{ z3uS$&9}4SJpNWNj!K**f>l!_yqfJ+}P%Fr>5IaVNcWeHEnP(Z>)=8v;oBVfup|8%( zGvN(TOGT;NRv-p!Uwswp3y-0B$2je{L*msMgwzHT!6a{Je@^A6s8onUR>q&Ii!czv zEV!uSIPcddzI901Pdpdp#>BrD;$_1K9giSTB=CV|88n3`+APs(Q_R_BO>c7>P*2^* zpD!d%22$_2emG`#t8$316ss`5_$~;kh~z(a@spb)Qm%=Y_ZfK^B6SIEn>Ll{vO_mPgZ0eL9ILR4b z3SnmVG0|PH^Y+hhc>ky7@rDTb+Ah)Ytd7jJTyXB5f9DpP*N!>&sK)INF=h@68EKT-|o>I|xN?*J#xL2E{?BL~yV9Ym=}eMXzu(J^qF z5vXdee+aPcQ>fh*y&c0E{oz%j(?noV*g^XU0+M}A*SIZl*_6_?&Ij3RNr@Z>Ob#yb z7yuT!f;2rw!GLPV1+WBnoY@>A<76P;xq6gC^uOO#$C{VGxSm&o*3^BzaRyk1NY$@; zFpH@o^#O~+8yN0=63eTvL!uywp%k7nDUotjf2PEEQ%_eHkILaG-}Ng;bMOUi1_X~% zZKV=_mlJ&#Q^tuYhs`q0_@+4A;QSTR7sLWm>dC_PmsH^NGtVgzVfle>h5pWE4Cfxf z;`%$N+9*nH4JOo2S|GAd19gZ&Bcs^#E+FMPkv~I6di&u`Shqs$mh5(7MuI>?L`=cK zf7$|*grPfuwtF67_cTHousFDa#nCNvbq&>k*fF+sa)!+{PU8B;+;_@Oi=j0L(TP@W ztE?63O6lMe4i#^YjB`hZvrH>`&bj7%-RY$Bla&dYe3N6(Q0wXMB+t(`H2&XP9q5ax zg(p?cE=MA)$i%l9ZA7~99%}3`c00VDe;W6?aG^(Y4ozzfWgL98>WSwPT<|fIDKU)2 z-Kqv{g-id)hmWI>;N=J(=2k0RdY(VWjy#}3P=>*Satv))`|3ubRBdY+*UzJSPYSo6n7KV6++;29S#q#4e|ChX4Ecse<6Jj z+Z;gX*% z>KHjkZcN%nC$&NnPqP3tpBb(`e|Qy}bB{qi@WpK6hw)*qn>EwLW1<|*IHnP>oGEoc z-E7cmL%&!+jW3>wpqsWD2Hpl>9he;@JV64)YdliPK(2Q=g4B^445uN~u^^bC3)qwq-Cb=BQ546gFMSDJ{t(f0@?7Z1FEl2OK(zUT zSx`3v4eiwp-BY?`j7XiMb(?wN?Kx^epx(s5on+?gGi}v@-@bSD!XM6}fy|pi)Wt61 z;Vn-RqJ*lHGOxLUe~&oK8y1<!chh_YD|T3DE)(UdyXlqRB;`#Ds-gAM**uxlg!A$x93 zm}g-j$h>9}AAw9U3TAEcM0<>u%$^Yej*-9qcZx*k^|==$a^nNX!ifk(nYSiN9piMB zOacc6-q7Skf8iz>g>@JlOQ*hLR&3pT3!B}0fbAVLBbF_O$Z|(X2+IowIKsck2@Wm* zf*NY$=BA8O&ae3noTnIBe>|1Pp&k=tV?>1^b{VZ(BGdsXM)!6*D<|=`n0C?}8M(B} zZLAUk0t~5)(3oJ$UBuLR76~m0ldopVNv7ogE-3lYe;Sgp7MLjUK?JQT+Q{Ue{%8;5 z>NJtBK12;}h;BwJq)e2gkPwCbRc$&aj+30l8X_!K2u{JD7}WIYW`xDcgRcp9n>@)J zZo1&qbAMUykO~ijN62z&WRWoN>8euYK)Ov44~7{VXW-uB!-wi3%xY`?vXp`R!05w#)rL}vk5i8MG10k$ z<|jH6)+s<$tsHFE!qm-Hkzz*OjL>eI(lOzU)S8F;xJo;@YKeqaoxRwtIBeawE?ZaM z!oh_n_!4(LLXLh4H(%*Fq^dP%=6uv$aG{Avf9pt(uM%)r`xVj=>%2B>5D#u)%sZ&s zP@9o1z<(TFzhe532O<**F+vZnPj}4{&RZH0A?$9bu5S-7lcCyp{=dE+e{-t!cIh`7k;mj6G>-aT&DtE}(*U2CoTexCQR zv-eIQ2TBr>Acj+d2!ap;5wM6NZKaCmX*=4f&WvO0v{S1yQ>WU|v9)9Mqhsr61*Bjr zpcE~l;fx$50SO2>kqUchJ z_a{YsUa!DKEw3ytJH=8<)K?TE7i-N)%Ip&-f$hbsCu-I_3zKkKBTvHeON#-SjPWgH zjRW0l1y>R@-#BV=k{YVGN~Un0P`DybhoIF3gi=wrj>(}xn%zQ82q(hgQD5#$f9-+? zx&Jl4Nj485$O?(si{5&;kAY{@oy(Eb>`gI>Ct|&lS_q7JJ)vgdgyd<~npRwDtVMk_ zdX+tM8Vjp#Xiq9i(-W)!6r72tlhPWhMBqc$Ng}|7{rOfDxl;kN!Ny(gx;`~LH9?~G!Itw<}u1?nL$7ES# zO#uKJl+j$2A*09)=$;oLYS^D(K+c3n#7vr4eaJ zQYxeoi`|n5X_V{K5~G57Jyc|>4mLIzr*47Dv__s*QtM`Uv4?SC?qQ5+6t1F1WymH+ zP<+EEDM%DmXu6&h%c3kt%T3lvfFOnkP+%-BJc9Y;)j*z*rxo%fe2GZh|0Hpo1;;?76N^2-h<>Fz31_c*yt%WY@P>u^wXGB&{Y0ir3 zP_CU`dB&_}&1RDTnGtER<#}{+U6Fs%0mbZ>0 ztq(+m668aXLR}W=xl~~PQIy@|vfO7Nuh*cOQKl8<^-APR%qm#bd0Z4+n-tC!Rc(uL z7{oYO3!-M06&;sI7KjZ#f~SuM1A=SbEve|#jOtD{H=#ilE_2YCWuU0L<>c&STJ8DV zkfP4-R9?n4e`|Ds3SQ@oGOa~~TdRB~L8~CHl6Ia3NmgRH{zt0V-v1&loOqm)B_^T98e@6&9q`%}Q1d^vgixC(GRSv^L zREmC?Ttx~L2Z?tY_s?S5c??1bV!oNPu709WtSG95lE6iBF^0tgT!FY4^jcI`RfxLZ zpk}IRIMh-IL62>@quuU``3v2zzMgM+5rqxMCBqz`P7wlhgJ$PIqF1A`c ztzuB7Jh?(8E=Cb7jdD1IaUoD8l9M?MqN<5;a6w0&Wb0GbYpHp&q+cNy!RQ9UJWXzy zfX3~H6x~jXEaBHN1W&1=A%cbxK?m=Pe=pvL{cE3r7)RB70$J&O zN}eX|@&vXRY)=e!j9snvb6DLfX-I+tCdbtxXZatVRqO!pG-3Bk58?dfH|j1oA%%pL zr1Os<>gg^?^9Zt=m6a(;?WK}^Ku&Z7ZLcUGj7cc>TU+wI9PH^_G6O1ci^`@WBE4>v zwvaQX^~wbuHbV`X>k<%D_)##Ne|s2p+(NO;7nSFeiXble0n9~Y;AOFcc(5ny6;-1k zC6Pp_aXbX$4Fyc|j1(f4d4(Dhs>N6;Ka@jo_O8k zy}K3_iPS|ksN@P%|P$O?)bz0uJpmjnmQ(qA3JHlhg+He{R0zf-=i$ z(7Mtxt^LIzf_x!m_ByoIEVfVi%M~F4P$c9!gY$&2_a(&jKK8dx$_tSaiiG=0-%FNgB<g6a6xm}wNm30lAphlsS45FFAj-zZuV5JVm?OCgFdgNuxZ)W=_PM&T%@ zCkzfC?Bhl9B=- zJHFMvBgTk;VQUFupiHwGW#r|mRVL+wuF!IBYnN%<5u4zUupGBk8ZQx3ArNLArk1RO zYm%8-8WkmLoLT6QRL3z%-Ec9;DF=!&mrQMYBHNOt#I4nmf76RtF;zYz$MeInE3s%j#ci?Jm@1zU|psmYRfq{}3KCn=a{o-)$bE=UC$k9qX7 zID7TYvJFwGd(soIRuXBv!s3$+>NN^hy7Q`O?sF4d7=y9QKwcxpppAjX)M_b0B;o@K zgXXDNV>PSBe~(?SC<<%UEkc3{L#-%?*!?emhSgtrs@N*(44x+q`o2U(bS{!;9!Y%) z3JOA*M4fC*7QLECiJS#M97YhgzieDxz_fb>KK~zo8SnYnC-A_jhw3@YHGi=3C#6e>dIvZhYj`zv6$^Bky<%{?0%B z8NB(<_u$8W;QR23J8r`huDKd#FYMvXcfJQd`K!N|YLW(>muoCWX`kdW7F z@kkKKf5XMnAe2Oy=Lx%fKQ3Hx6Hc6aKqYHgO!BC18mP*_CN%=3lu+voAtwik#?s^} zDILW-%pvK9%7CB6uYBU7F&q-9Er&cIvdkN)O8B-JvgE=buc_-iA#EQ6O%sqOOvkRo zc;S?&zj1^Uuns$jt8@PFp2YZzyCu@#J73Z zf93+*l*^*JQIb_DT8OK4kSnN)XIX6T1dUq=iv^&|cY`LGJ~70gD>k96 zI%82+n;6Ku%XD9@9gf1rv$uFzq7cL%@ly59i;;RRoPD}Lj5{{a8sU;cv6nE&+O{~Dfg^OH7y(ePzTTvCNd^{ceh zSzQ6rnB;LAaebg2WmWB=JS--hh$N^qOS42?`$;1RUm0J-aS$kv3OwVGus&Rg5kD+M zUk52i*Z}J+c__!e_*s1E@wehJf2%!Ad*`KtPjb632T&x;%7_Lhc^D`lplD)!Q4s_j zO;Q%ebWhv-GO#3sqV`SQmoou%u8@yYBOT^hUI0iuL@BdK?se}QGcfZ3Xt9M@CJg5v z#_HH(vAA#=eCeJfq?lK}V5gX5A6dja6jhOIv6LR86(UL@_nmgi1{W2af8F0lWE z2W97+eE8FN^s!%o6Z74erx|0dBH7ndk2E5KId>jr_V`s?UNWTJfftq ztl2B%govtM6r)+y#7edmms_Z|-f95H7U_A2|UE1m; zT)_hoDuSD3tcwaEq81<|k|+h$3NZkl)+nn(lxYQ?*ZzkU*0mHQN39&Y0vua(Co}Mx z-+vpv;Rk;dKlT5<4tIU_KHUCQx8mo1`0wH8fAohpx~Ez)=JkYE-2Ob=`=;06kACG} z;;+5%HoW^IAM-M=fB!|rwboueVjD*UAFx`2q-3En%CJCK?}_iXR1sIiDp3>6zEf7@ zl+#=NpbexTND14XwdoNy^aM(3Hy1gr*PrKbx1?NG_QfW z7J)3um`cP#MJ=o1R-2ve_#qgBK(Vg@IwHAul|m|g9pBF8kg;EcZk~98V^&x_|KA2GrX>?xeBb& zL5|6(sxqQfGC`Fw1KG)%C*du}QT~}Cf>x1?$rn^16o#ll9i?P(%w-mKVGtCYF5gwa znh{9mZbA8lTYC>}MkkMDlj zOYk55f3N=?@BHvbaqE+wh~v9Ec-NoajR3;g3;VeK8sI0s|NHQJ?|LuJ?d{?EYp%xs z`gi{p9{l_%-2N=dqCK&@ix+%#%cZS(7EX#kog|cbB~4L`s1y*j80R41?+`;bH;t%4 zjoURV1%OdF)N=wQQJkcZY>TbFlcG*Ke`!hv9ndS|L#&XKgeewg(88t;0$ktz z;{CXA&69Eb3!enaN>4T+*A}DKYW5o!AW{SwpHNju4D|}D*-5rrk|>{))dP^^{izZ@ zXq1?vOQLExb)JbJnIWzyVu6yUki-*GB2dtd%i-2LbG z;un7FKj6f%UA*vFU)5c~X#)#Z=LtsBeUB^5!5jBm=}B#*CIGu=-bQ2i!NEN7X830 z*y}0+V_L6eOe6FhNmFECSdKtd>QsyX0uJK<&IM!LSEV$0g3&Mx$aNM#dKR=;45Eb# zY87ObQ=+P1!DK1K6?ImyrWUZoe_5~E;64&m)*K6wip^JChw;qk#0yeq+V#*&Pb82A&p#+r%8ewbt^fHQiF=4P5d828bD0CmMb{8 z{943$g{}QZ#P3{;Dxn;03ce2(n3J65vSA{ef9w-+*(3M)?=r1cegzA6e_JWpx+)Di z0MD}sDF!W3ieAMi;518^EJ*C5x1+W2DB z)!i)JR4taXE>tEFW+qTpe{5MP%B_p;SYsU-3AnY&Ll#6y?QnDRJS!PXk_v;d=tLft zCt0Jh*b@VhYayX*8q_K{xLOb?U|24s7Ok_>2DoOoDKH?i_8@Yus9mNA4Osav3js`O zoft#J)+3+8!Oj(^!w!bUwp$*dREC-hO39e!Niu~)be$u|2wE)Ve_@?x2l=QVcoKJu|ECMctik=TNt)> zw5jO0bAcpzDQ94ie=x*2NP1*|`Y0$Ojtiv$$b%$}6MJnJgRHdxd3f@)Qak3<`Ej!+ z1=$X^=1DrgDh(G<-A>B7c`5TGoEb=Xk14ZLk_fb*>&sd)a+dfnDf%;b682!uQUb)7 zFs)apWdhe3Cr*6^XHQ(GmU4}}h*6c>tW<=B<9I2GJ(6pYf5dtn$oX|`(l7OvhzPnM z5xMA~vaIteSNS18sLCo(^-C&3Vq7!N_)feo9Cf0-=(a*(U5L;s;+~rI~c|!^rl%ba5U@YB?Jtk zl2>&JkHUz{e47GJCV_3HLA8AI zq+yTR9dp64{fBY(#I^E5D8WhmEfw=>r8ksNzeqoqf4n$`xZ0O-k}`3`f+?#x&XcRh zxn$WGSsWN?k`)^9f{k{?MTgOn3{^`;3K0}Xk+B&b;Js zdjtlCC|7a_gJZ*lMlX40#(IHvO+wJBYUEyFd3YA{*5yK2h(e&RhX)c3Fijd_4TLd? znJLRWf2*!19XYivO`TUL^IA22x))WmH0z0_5Gqg@5w~|xc26Qr7j%0g56L`FZZ!l~ zdPpM|YAG^ra{)z==&h}71jUBrver2o>AFvvx4c@3n7|}!Xf^=X)dv+Q4FRp)vvcXE2?61bdlK*Rw_!DAb zAq9+!gUQ}YHC;+ia)UHkBUlug8HiArL|b|kNI8^t%DQTaiv{HN zAz2dzxuOHABxvVZA=w&5T68X0gr^J=GAJS;1(79HCMO}(yhbe(7VGo!i=`1Ue+*I# zLq{PcBd^vHWH?V6xCbW@gd~Ip&$cD0W{Z+eRn{VmXQQl^D*WSGLHZC01y@9%&=`df zC58-PP(Wr!WPnCTD07C(EE29Ll!!z?ULT@NhnQ9ej;fXGFUVe+g?ku+L~bzz+%zlq znpD+YYQ;29Al+u{e(3>RxaP^~e@X~ib4Bf3v#-s#Fv@Zl!{K?v5RnymY*a8Qipdea z*~7{;UysBDMXEZdS^*L?pEwX_!=ozL$O)eqVnS6c-K9T(931849F{6!b@OT^3u|Jx z@C8(G7CoS8=1iAnzkovS#CM^6WS%GS4^YypE?~L3fV_JWHH|29)?KdMf0uINaV{w9 ztScgU$m?q5c1=qis&ht^#!}7aGkDhZnI%Ndv$+4}wa)v3D_1BbmEf~L9HEHcDg$1W zq6FBW{1`PP5jlK4ml;6CG)*$_MO7i^A?Cvav5}5Tpy*m~Tq1^qY|T(*MWY$2L+Gy| z1jO||w)P&u>Z+UM!J4O5e=iTA*#sD%AU>9=@~e`oqC}*gBPBvm3Vxk}bZ=d&ZocH^ zAnmS82>^)^KI^S1w^G5hK5%cclUpx!6LRpm&*}phJ5zG#o&#GBw}KyFIbF11Ha`Ui zN&c~X+~8tSgD|QWL5p7s0hRATUF?dwR+)UJJ~jfDUV=i|JKnjRFy2 z)@%!a!NWF~?~{xRZZuU=1HOGBtfwido-k+O?RtuG+vNdZb0LM1LgiUIS5ebl{2b&srdob8{3 z!ihB;oNYa)zaJ|)e-6+jDT==GbWWm*IqbYJVFOu{RgZE4nt|4XuE_raR*4lWEeQr2 zD%yb(luayGFIDxph9L0-6g>5ZG>+7i&uk1B0>XTNve@w`RB^C6aw^pe_|&X=2p~6b|&H zZe>pHRP>mOP6Z9+Df*tB&Eg|oY&%e#JZmrLQ3R>v68Pfub?&+%bB9^mZ7U}a8`Obr zHD3YQ|1Hk~mq{MW*V2uBMuzUtR`i zX#l4duy=e0^)Y}El9P64>!qI3p2D`x-oE+xaCHA zC>_>B0)`VYWUd0!xd=mXJUoZ>@}y=XljbIi`JbFde`{%@L33Ql^?)8KL;f+#G{8E||W9$%Dq=NCl!F@WfeTT$gw&b1^~-b`mF{y{_VSk3Ob#j0 z(pUu|Ax{XLF%LT`unk@cu{9d@g6a2AxqW8#(3ro+a2)>ob+?y9W8_WMk(L(bOQ}`X zry8JqG*_Ix8Ft;t52OAMgC%xxt2X796WJ`6f2^?uDiP0Fcd1SKV<9o5a7cU81w|_l zMywM!4&XRCpTu^VY*(oR%JmcmX_H|ODx5@04guHiI}8YAmV#UV-CBg@XE|>6MRS++ zVxCtWkbs+G8~*m ze_ieZ!$PlTH7JD_P*HF9f?G$7?nyrdTMplYlE!M)N#an>p!SLFQ9fH$NGySmDSk9#&9`2zI zTZ)Bam)nyc2JK;BI|0o=WI1a-Cp0szyk+!^BKuLFcCS zXUlU&{xXNImbK<6rql!y{?d`xv-Tpn{lV&cedzq4>PxLlYeHz_L$tVSIW-LSe;vJG zkPkWb<}-bhEgFG6Kg<$_s+z=sR{Qinq@|(@RHtCb`>2Z@QP}9L%jykRJyR1H5Sr`? z{fDlcL1V!X1;4Tk2?rH0IPU7=KTG$+Rx;Fb(Ld|KG-ycQuGX#dq)iR^wMx1lHeav3 zFy^hbe;!)vvJ$ckYv*e4T96LTf8cO&nJd6^S|H4;?qg`Bg_S5xP~5%Hrd%@Uw3?Kn zzQA4%be}ny+>KhZ2W?u9a0Tnt#qa{upF*B zJ#9WyxS*3%-UY;Yg*tBemq97&Lt%zR>K@GC51jp-@}U%Tok`cl!pARYf0uka;oNit z#|Q^a$Rr=z$U{tlT;Pe?tFrY=4CJ+&oVesCj6L8mf zr{}cv>yRwt*O=Ib5z$-Cu3~QpyX)Sj1vZKB7hF9eto1x-^XzK11={-Zk|g<7hfvVi zc?Ig&FB+3(#)_I^pk^SSf1mYY(4YMY!ohjJ5(6bs=Izp{Roj0_YZf0}Ns&tre*v50vs z-y;QtAlP3C=kDy%o+PCvb<2Bmd?%ER9bLig*yI?&X(6Nx0Cn8H{ z{onjknV#!tuM*+>f4{p2^EZ62EXd;^Quyu*^@$}#AJRfqxh^2>9ta*5pn0WZCOBhS zxG`PgxIR=O4r+5T@>*CsK+U4t@S-p~mk*)Ux!$2_L&Pffkkbb~Cb6BX*T>Y=SUT`- zE6I+{%)r*+8LW4%=m6n@LGjU*kDV+`W<*I_$Z3f@?jY|ze+Ki;74koqU5RPuB&MCq zFI9wix@9_@d&oeG^o#m{1~O6 zLBs-RQKL#!S&p^#S`R$-@mT+NKZ|_(w_<$bFM>Y)9)Gj_iq#E=2~7#C>}6_oN~x&U zCDw}Z^*@L7f54w1O#8^gj-;Yn6QggOn8$T$uZ@V625>69o_29SSRb~(-xnupKUCkNAo!)1>%Cm{x(0N726 zaHKBSx>;Gj1RHa6n{bEzThoW7_W%Fgf99|If9p8-sozEUn?C~HzD&m>O~gsvu9iAe zJ1a!Uy0rb*d9PS^N+t8`>**7R{!kHs84;qJOH~Vk-z_^vHrEYu>Q4= zVSd#=lq>sNeh{nw`yH77{x9R;b@yTQW4{Sr?t*tN!}@>vMXdhcyKwmW2QdBkYrt1s ze=9ZQ)1Hs@Pya5~Z+H;vAAc?C4Nvp!f&G|%%G$Pty8*b4H*5tbO`CPMI=VpcbSK;J z7^U9wN$jMv1J6EpW=TCN%gZor%k@|mJ4ktj?foxd>+lQ!VC(QvOvAQJ6f853EMc_$ zp_a+)-9EKNMAe$G84O8>&9!B#aOUchPG*ttk*nNXW}$n07A5dix5@aS6(6jC+q@ zac~Cd@EkC&Gz~x=f;1f<4@)0ce+Bb&^bZ%eCduktpotOs2Z_4|%Dy-5jQ(7UGbR1> zJc1rD*%IFdkO2V*nkH@&doG)QrgoG6fB%X1d;s*oCw$Dny>I~JZ&|A)ba>p=hV!#u zCR(%K`Weu{dC-IRpx*E_x!RudjbeHH@z=Cc;OWmt{P_Fi-+Ar-2?AmMfBv5awssNj zy<1M{ANXlt?;OH?AII>!zk>X<=gWWpo&U?`FL2W>;Je?|@Vva)iCQNVbYfkrK!jws zUb}~uyOkzfR8c9YD8WWtgpw90i>2rjxgt#mNbB=j_Zk_MJk?6ZF2FP_k@5<)Rt&2P zn3tC!tu83UJ#>>NYDylof9~I|c2x7XRLA)G)o-W23^3I(*jBDp&0ILbAUdHIk)A8u zhPk#Cl9`R1D;Ir5)L)-p_J@AzLm1!quMzM0p#1QmTS@7e-INn;7zzvi>pETTx-JR< zbn>w%*FPEYzPmyD=Mewot%z^_Ww|D9d^%|FEb0wUN4LQBnkzi~e>sdl|3l#2g zj`G}>Vg2;mkY4+L3SRDi`DW1mS@8B{;G1p%?!BwcHoMxeQNffwuUAm)7}It#MspSd z8>$hVI-v|pSNz7)Y)n2;Rv=)7cO-(~bx`J)-Zr)p)#B$NMn3a-1t@*H| z%8UQ7NB#m^|Ms6?`=5Uw(w~2%dxGT4C@LZ~)r7+(Z+IH=D}E63EB+p)m;YVluX$N} zm_P7VIpx0NAE7+;Yq9=2KZW|jSE8&|NO!&g<+(2dZn_2af0o-Y{qQfMUU}W-5WKtR z^V4p_^dr9{P@?z!C(wN#my_^)zX$A}L-}ie4}9hI$lvv2$glW8(Ed3em)J*RLs%x- zs2zOZu97F?)!4ON^`^i1JAXoDdVf2|M$hG`#Vd8|>hy4Tru&n92<@7=aqI)Da|XXbIO8;TfK5rZgkLbnt^ zCwjPq6EF;d+!dcfbQhI%J#5Z5#b3Y-+o4Un>EJxZx4jzU@Baqq@PcrnOW9DoaAi-b zl*FFs@Wgt<(=h3^3IOpF?`=Qf=?Ag+>F>q-9sdxkf3JTP!u_AX@?ZV;p!FW|fBsFx z?Oja&?N7-s^Si%{;g4R2>E%DrKImcew>$mOZ-KAA4*3=T9eC$B!hIjd_<#TRpo0q- zfBuJ%zw;kq`ia-dfB*A8=(<9(0a7JRDv!R~wfUoyBG8&Fu8cY?k>jXir+}DO7*}U? z^JBq?e=_6`xrnGYb{)6>ztqXgAUP|#eaee1r0LM}e+vka4{>@wq%!|m`qql2b!Q`PmlKWhd=&W zghxJ)@r}QT_~_?VV5uU3KwwQlviX`!0H|%0e^kZ7wr&eS%+a+9?!jrLwl@vlk&&9k z^Ku7q|BPcJYz8O{yokEoMaXMV$$l0Zu$wnlg-ux6WF(snqH2@nVbR&1)r3}{=QzsX zTzBfJOo(}{o@1N0whWVEW0KOYIv=+C{Pm4>8CValSimhM$N1#VO-w90h8n=0z)Tp; zuL!6}^8xbKairCGe}I~!zxs;E=ZrSffAd);TNqOtn{=zlb{?>QA@+HR5_v#LBM`+7 z8cW8w-q&S*L!4M3VbG*dIjPk486!fhPG7YlxdlRd{cI0m>Gr~^V)4e#{?1x4toN|q zeGKA-huc2Bo5!|?h})LM$8zj1KDwy{XB(u8AP)M##GPUkZvyee@re| z2j*9*es!ll=K*y!*H$bW-mFTRIt7x*R%iD$IaF05LthBD{iMBF(YF`D7n>^EpC`$$ z7`G7SwZJ1|((MkKY(1#B)J}mwO%tbGUDHA8kd~VkkXgwJaYP-KDAuUu329z|*84t= zu~nN4)=m7W$dD#g5c;Z)Fl;!_f3|^Q(v1lGMg20_J2UdIgHgL(6E|61R%=DfE9A7m zkk>BDU>hozx*@pjC1YgSO%PE)JUox}?qiVl*4-^&ikj#Rn|n*R z>Jui7i-0skcPfgEo?Woae=g?Om^xhY7y!^fFTckBCGzely1F=s(n)n*7K$e)qKqJf z(It6pHqUa^axgSS`+~SrW{`2IyS*ZHLtPgj~bWKa6UP%n`R0uS_yCM!lmbeXpYwOHezr;*-Kj%TRq@De{stF64< zucfQ4(8=o2t#6uo*aV)eCx1-vh_0yrPU)%AW_PKv-{GhIDXF%a_^&>b0oQRmzIAx`5TOE0Hd&w0{;Q6cqRBG`(OG z7Hl~4YU4q=K-{EWy5egOZ&LwX;uTywQC;b*cKYD6)_^R>y1f7tqGSZK%Cng?CZI{< zNduRy^K5rA`KHAm4(m=01LyOo;u&N%2$g>hp6|=ld=zP3Bab^6r#*eCw2kxqUO zSYxFKjIiEET<>)!n}1&0onnUci}DwOSrd`Cvoz|csnga~^^CX_wbMt+2}CY>wc|CU z=$>BD;pyk0fPh-t9zCeqg}L)ZQ}7Z>PE9c~l{g~gbqgYAYBisEgSm+z_+r5TZMr2l z#Hek})eX5Xu?7tG@O8DHDN$Pe#Q>=o6Luo0d`P=e&g?2+lz*1w;~rUcSs9D4$w#`b z%&d!`W(jo#byHq@#|68RRmodsgt|sv9#aAUP{I~CjXswQ^BQq=zWICAGQgc`rhVY# zQ!`j?Tbr7OqRFG!Wn0GU^O+gcG|oC)w(Hb}+)S;gFBO$@vpQ~=hFDKQMo9~VJatzn zwRN%zal7{&!++{LrtK3L_tx%`bIF-LsMbVUvtf^51*?6sUBf+)z_&l$&iK-=U`v$r zxl?dLK-EPt#4_(a!WN%-vhld^YKoVjmV##1vznPWvK}FcO4g@gC^5Ao~ zIP%>i{Hl?MOx$lZ4pJrz+Xy9t)))LkYjd^s>QZ+tI)4>{+gPSaVyfE!s2ODaoG{Ws zH7#McAwW>vhx4Qx^VxhS!Pla4)pC`FBdA})YT+_$AswF88uZKSF7Axxq~2>`6DHSH z`n=Y1^|*HGZE^#XGXM&E=uR^!br#t`%|mp_kaA_GH17oa6D-jO8WI<(`v`1xBiD0s z*?a8~6n_EQwdpV7K`O~}-GX+R2!bGfxgIp%U&lsexjd62DQp@Gu-=0qd#LzQHS={DYiOTwgf6NRXb`(Nkd_% zVT;uy<)b2Qm|#&X$?qUqRrw4Ap-VPNM&PJ5vVYE4K^P9tV_F`^c<`m>CGK8I6Bx7s zbZZ8KDtzSOL$`M8qQK0F6Z^_r8Q3L(BvyNcXufNUkI++* zl8<)4KwfN%|3l*?YFEcsE*faPSz~KAb3w9e?YE=wIhynB7a^x+=Gdeq!A%RGspN8Unl8l0OE+Oa7zlK zLV>b8WLy!ZL$Ob4=OacpO+nXfi%H@|b|j}!UTh(*59EO;86_miv*1nJWz{Q%&39aC z=XGuWoMTYBQB`kKgssMmTiwap$$T|kSz(|`7n*tl0ml4j(e>)pu|nW&4B-Yk$#dDC^2uN&C3Cjp85iA{kj+8HNX5zNYh^LC2yk@ZYP=5o$@RQ z3lW`fLdvq>pBd{A-Xgec4S#1&HdgtWQNaSDmNe8tA+^r*34y;v!M|jCpv$m@wAw?h zv)6ppK6l+5MUJlG=AMe6<$ZfPd$I^DA)e6TcGo ze*9xN^YCe0`xQ6iSzrHGF)Wt2=OZ7`RY&_WsMcnE>;~Dj6d*)Y0JlExHazs1Pvf2s z{RxKU5_i4lokE+Ugg~=a3PT%=bHhB?mqcIY7icGqDQA4G*FAVf+mZ$i?yUw{x{z*? zoD$aR<+d6OUPt?!QGZLMJS?#_?RCE7HvhAUMkzwC_1nlTt9pbfepgVt5-)3X9PY&h z6g#{}uQ+AWTxyUpqpsj6~y`R_va!7`I; z3Z2NLpZH_{%C)%miC>Ak-}f$j>LVXOtrhp)^Jn;mZ~HFX^nbKlanFZ8pg7r0LyaYb znJ+3*M5zUJ+(w!XF)o&P^zEH(XtQWu9Si_WdvT|z%BzqM-4=;4`E9zfhp_-CmMD$du2nZ@FkWCSx6S#miSJ-|| z_XykV6j~nSuzx;}dFwdF)!7EP?B=pnCEHTxQ-=ZKP4%;u6e8TM8&bAQdH_ohVgSGh zW%6jKP^sHm6dy|lj!s5(vl61bb=;3F;6zSoOq!J3{*J4zy%qrQ&}Tp0W_h*X&fj@G z7F$~Y7*{?12Hg7m+j04oSL4x#PvNfj+=){UK7gk_`+sY3)6<`UM^B%^bx*n(r$6@q z-tmWT$G88T{{aAS>uoQ<&Sl53fBr0Pz3qi~-OvAXY*WUwU;eGQ`ma15(|U#db7yhY zbx*)={oGICJAd?_;A8LlV|?<1@5fW0^E}-8b$8&m{^dW%Q=k1@+;q!V;naiooLt~yVPgQ2sG2OxnDyn_Xk?6jn`iJ+nwQuqrHwaeo%|-e6dTqGC%uMN z(y*$0E?JTv%8ZDL(8=*_*IKMAw3D&gTU`{EQ-3^No6tlHwUpMy`O>>;_;Jvbq=0d; z1pv5k_Dq9|gE37j?43J{o#Q8Q$6x<8?4LV_JKy+v?43P}JO0LZVE4r300_IsPhkK2 zIehq!--fHMdjf8};dlx_kTtF2Cw(-1Y7|am#Hl#K|kK#{1s-CVc1*--;*R@=QGCYo6yjUfYmZ zUFLH*n`i3EGIn9xCbD&evGZh9OK7KaOrpXua%n{~bFoCu2Ad{QH|X~3k~+GT%mwq} zn8J#9(|qpwKXRpfZ(DSP8*?XQA(z@6p??O9zJrCL#foNY^uADI8*?{&ESjH79r&l` z#o5tsikL_?(iD;Fv^oR;96NCW`{yq>@aCqc-hz`?UX8tTX8`~o{^Pe{y*k9Br{uJ| z?km31pOm}aeJ3bHJnQSf0gG|KeGfed0N6Ww2K(pEw(&qMxb{gm+S#myzp*Hzc2Dt#6Y^=u0vbl^{l0mFJy@dFn{YbVH6^2$ub#tVgoyB_u+p%-(GCcal z)41-5H)H3r6Wj;qo+TQI&R~pTfWLa$h~uCaMkrU;E^wU9)H(9>B-%ii8suP zpS}B|c;YS3#OVhgz_?uE*)Mq+KJ>P?;gF5KY=8xmTf?BFFrW@kU{`-Cl zVffslFR&$Kx}=U-BN7^i(D>C31*j?$)6Xo-hnU7~qz*bxWZdZi@*>ul(X`qoxtGYv*fT@>1*`KY>qv z==}f#x4z&-00?h;^}pTF|4DRdhtc@2?UwW*uyKl!C4Z{A390{iJHKtvpyfOpVi_R#)EVI*)$6zHi)s*<(=5D!LDmK1CV-zp4-R*%oN0z-oMn%Ae^vF(6?$J=DFQg`Bs73#5Ad!( z_ohg&K&|S zD4?@;kr;kjm%0)CP)m!hrS7S2pG)v&Gp+Y94}V(?Io$JMItv6`0c7qI>AnlIobLUB zb7^P}cC|~}w>INW)$7(rs5%oYnGqG6%NoK0ckOGIuEMgVuI?;;tfyq)R$p|!Y3kl| z9}AV*lrj4IcFxX3{e@;-HfDP!)9VZH^F6bsC1kN3Z^ipd; zC7Qahl56K%=x1A{T{|9&peJQ#%_C~jRew=kRe*&GlK*ouLaGu^TG~+CPt)4Gxh5?N zJvIU=5>WYnpY+}3RY^-aXCLoKadzUbuh8i=~BLM<&R zz|>>@MQVa4x>1`+zQ8D9Kr|ybqlMp4Gp@HVoZt;ipB}&(v}3-O7V1MAr+b`Mn16?D zaGrH_+8lGi<$2t$avk7Uzfg-v!^*fk0;D`j2qAZoPHpu^7m?tb3f3K4o%U@bdqR~g z{uXuWiK>A$R?S(hW?!W>Hh*dIwielCSR%|Txn9k~QT6vIwTVWxo<(nhGFiOM+vY=* z5W(Gx6*@g+ON?r=bht00@nDPt*ngjxV$M%~9R~}1?ylrO(9wxNH|=FCklnX`H@+jT zR;PeAdd{wtGMJNTEnR5b=X-3-T;l+_RL>rIHP+i`rrL^BZ>Ji@qnvQuLTu`-Z=qQ?9nocWL47Ekg{%l()Y`6GY}Sv|h2iv$D-*(YM}LP486+OI zCw#K+PW{v}1~%G8#%rL^=v<5W0C~CFhOF(}Y;BLP*ECn!|= zL;6M5+R~gn4l59HTws_F{8ZoEL2Go^MJ_xWkGP54NVhR=%;zjWr74-E)QIx|N?LTc zK&$uNgX3Et@}`w)K~bbz4Sz>TOgAkUwKt#K3tTp~A$)RWj?t zSxVJ6Ta(ls5Z;i#zOL$$n9Tm^(OI^E8I~Bz+L_b-b3?mJFT`svW@#UocFX226R1x{ zSnq?!txf_3-wHG=Z+99pl=zi5UQ~;^s@#zWK>7u-k6v=l9-4@52!HNiqmV#(ZW_#v zt!Vxo>vFlWi-lXXM%@hB>8zftvqV7!H(&U$-bWs{+cLqV<}SqD+z|QFA~fhI;Yewj zgql_Q?doGyUzFw@ZCSAF$(MFD*n?S3o^Pj`o)Y3`sSf>i+NyT%Mu(DhVCTiScvE3@ z6h%G#+JvOmW~^b|SASd12NA%zxSg$KWrU4Lt5_!FVYz93G9qk@t`P4XV?nQYC+wHf z6y?;3R!eDQ2ciwytThD9ZB|i2Y_Vc>b9}-*@4Cz9*r-9><3blj0S32RSShk0+lP`S z(n2Q@p_fM?q}(S9zo0wlqsmLQ+Zn zV%o>NyiBh!vqq9-Cirlcnc9_JTa+pOvWPKid*RR_NRojm&8wnR1u$cZOAPa2`(n8% zv1@JVP^=lsq<`L;7?Y^DJA*jsHpU=ORcn4LF}$JB17le4V;*at@eIKjf`B{6{W z>?_ZlmSXI`^i2pmZa1d1@s@?CSEkk%wPcMkkXO&=fExYOvf!*x7k+Sv&9ho9YRbB& zu-SNUW!Jcc{>?VUO_Xb?GH=cVJM}O1r;^iFyRNnyw0~}Rt4jvw8B}NFv}hvEjWJ5k z2cV7pOV9`~xe|*%n6*@2rIn)KPdB_b{)=S`JJ4Ng9SZ1DKiitL2?1NKvt7pQF z)EctA9Oyul><@A(Ym{->h^nam-P_-7USgtVL*XK=h}6hk>$t5u+e&%wpHR$^0iCTtG<+wf}~8N^yszK#SS(set2)u`x3ZAxaJ0{eC7%3EHJv z-f*CRI&O7VJmu>I({^JVOuC+sFU+o?35uijG8ZG%)PZSwYsQ~?{=jdB!Li+4$om;9>ZdF z!GGgUy@Th*)&qr3s!ta|z^$}^o78*7G%BN@$hB#=0Woq&SWf#sjPK1~=+JC7bT_5B zdvz=!2f=5iYV@>I5Q03AhPm0*5I7yCs3vM$1A-5`<%ahnn6m{qX~W<=?tv zt5hIvdW${qNIk+0mC=@C?D+qtyf9NyFn=i!tO0IcX74QsodKs0kRc+JI3RHL58R#o zF>DNsp<{>O*Sd~nY!eluyhzr3Yp9@~Y*9S8fh$7EsB!R}sLw|27q=ljnwYc}_8F!% zSLm)rZ-hD!QSZ%d0?*nWpvqn1rtWpMf#^Ah?PtUWKF>aQo8wY9y0WpEl`o#mM1O>F zbpi9@m^^$Wme|_mGFB5B8_Fdu5b_Mp`6yj5u&Ea?u1iPVWWn`Ij$9imb2r?zj9Y+x zAIlw%u}cDz4@+}HzU_bdNBHVHULt>|v+&r}9i(}}H7!ID!p+TZY3j_~1_iC)H%{Pp z{OFJ4$zSueKxKT#kN!BG@|@?1Hh&MBA_S1#}dsJ*X0rAD4x6qa6F zJ?)BOALknUG>e)rUrWY1E-;jprjBAGxu~jN+Uh;xCipekm5CH6bO{68vWNQ#gd42T z>eFf^OVMCQi2IO>hz>mCB@m+1@>M357Kn8^k}o*4^^m>=u_a~0jn5t2+J8UTxY2Dk z;itIs;qV&y1#>R?c7_%U-=DM8gMk$BHqY|KQdFi)_uvD#_DN5|3%~VMo6W9y9{d|% z{AGH3e{q;M4C_9c(4T*t_AoDx37DK315f5`rCUHyTiQF(zKxoK?#-EdV%e4G7{SesrBcUZ}+na4u@jjN#0;MYpp10qnlFLf#==+#D`%&G@d;eV>R=*=cbErJRm07axth1H^{96Unvy4tV%Z9npl@!7jSimR`` z5#w@+kG%c&@xZ6%S1y!DwFmrLxOJ%f+E^N;Y*XFk;pVQCY#Z9YYAESMglYk!AwT3x`jeG;K$P0g$> z+O@f6FxnT;X$uu$r`Kc2#hL6-@X2{gqKi!veF$}Y=rKgL1FT}_P2Xk3}vB_RcO z*L6elK$|;Vf6>ge6q*o(I+3x~j6*)edT|WP!!vUFjSCTibOf=o*g~8SR=3$N2Rz<(&2rJ&~8MlsZU!}X%*r)qT&4BsdGV{b~-0s!uO!)tNnbx*)k zp7T81_0G5B&NsXUkDfk-+g|a?j$d-IRJ=7#HW#b4?SEYR(T@0N_b{a`#}~V4+=#H9 zy2a5S8gJp|ArGk5?p5ck_E8jy!nk$~oU}p zZtv^(Mp>1ct1^Rf))POv02$nXqYP;h08S6%l6 z>|Ayn^Xd?Hz3Y!~=HV}3|BNI=p8DMV0D$}M{!<}mEtj|n{Vc9Ak#`WWAI|ln@auS-!vSLAnzr#L#hc>|s|qRDYm=kSt$UYz`p~s1y;c?klxT5{xNr z%9<251mM$K(T3&{*&N_fMh!Z+&DvS6+>r(q?0O*TZItR(K!1;WkPYG6)Zi@@z6Iw5rIs-TASTrHVYly& zs3d?VastBTQWpJF4egsDu1M-jbV)JM4>tM9sCVT{I0INwV*oJ$8u9$aH-u! zqEo}YGWIsfXi*SvAEIe(-@N(6xo zk;b(q7MXrQ5JisFQXwLyq0=Wy`C;M;S@gGhs}27vN=OK0M$K8p1-%ihsj+RROz6U> zy=20sj!|Sr-M^!5IWqssrvKRb#aH z?MtoPMjkOGVf>}2zhCfE&{^9d;4p4sG3}{EKn>K~PE=1*>Hwl@OMkm)7TZ9Q=2)vN zt2L`ZFXp_sBhh!fT@-6i!_|pLWuPo}Fisc16oEWry*!S^>a55oC<0~1-kC=)%@t=g zU+hH&x@9PqRAiz_6K3j_U45{ug!euRLvzu%HzT1T92`f+#ZOgRd6l@pz`2_bw?XO# zlkOr>q?ZWY%#ogp| zDOzeSKAQ^^d{h#MP;>S~D)iLVj$CTpGi}@!{Fgs`l{fazUdP%RP91d)$?QUkocBV# zBd)ZKmLif%h(H|M8rEJY4cR`*e*&1hxmXLRwyRTW%Gk7UrGG_KH32BQ@!W@Doh-|Q zoWf0M#u+glsSQ%I=|YI8$}sM`(H@Ry>JxNxz2LE8++~l@MW<$U$DP-t&63-6irC~L z_r4Z#tk^82NQe9|HFxL+&t%bL_WA0UnUV-QavTxnb!*(5ijX%ILEUiJ#RVPJD#WNz zBfY9~@tG!}cYhk1AeTDd4?7kZ9pA^5-yyj@mWZ&JSEBnfb$XqJHQ4#2FTDw|rL-!F z9j`%M0c#8Apy`g?l_r|7+N4irCJHjGM|T~_1II3#H$i8Nn?@W_0_zCHLTo&^xe*x* zg5F1k!sc<6H?C{$2eGD7simcWbfQpO2MWF3^m5q9I)7m>hUozFxU;e6c71czvt?_o3f7bs!_Jiy7Vw z25nM942Y;GN>D9nL{!Kn)!c!Wjvz>-&iU13_?^UuJ9oczttzZcF}l-#nVW4U}CsJSV0PWCib-b4`#TQB6G5 zbaY+li!boaAg@+cR$4#uZF+)4XliAO z)sJ=?6s_-Litgz)fovGYc37|i+Cv1@id1IgVAfm35qtc_5rS&G{xYW&wGjkyE99Aq zL$rA zJCb5f%#%EafUP`l92{jXo96ghUG^SKw7`8R5V!J2!B2hCxf#*TnraGc0%@3HOMgU) zU1}Cr07-?ZW|oQrLM>ntbvhJex(Z9tkm~1nq^!8m!o@s#lnv$INsI$EzpcO3og~Y% zDD;%6IV;lFj{e#Nqa;_6T*FmQ8WXNV22Wci99XG*Z(dv(rc5D z3n-Ci+_8rxDrtr;&bSMm4WLD`f`1ulUZD)z7|P^1cGk$rpIMyDz+AvVYA4e1mAT{6 zFtqE|k#E5_R2R=oJu0?iC${doZF*uz7mcT?iw-VU#j(tgq^1L-GNFvysBy$pD*`bF zuBad^r#*ye1qy`BB%6&|u{yFEhPtH1i?SgMOl~J$F(Q%%^95?b#fCIV}gQHXwRxcnT15YVigeqFb@74?DH+<@Pvf^OrM)_DdSuy*R? zY8Hb|g}p(EkicS$RI!Q!MwWUln&DejGoqAs89LS>VNvIH#Zl}!(q_Jt7f#W;9+_Gj zD2iIpn5$gK0>6u&eo;vkc7Mw?Kzl31Y;RmCqNF7%X<5V-kt>$#^FBi?;})X%RsyxS zw0g8LOv-VYP;zo{Co?adFo3~9>%`h= z_)N5*YF$&C1UvcoB1xAaJsfe{>Lqj@6RUGTU#^pBmP2yUg+*ueV}F=7|7vT&akYno zaU08=HwWOA5z`1RwW*)u2wtC;v9F$@H5YG^oIu5msMW_~nYff)blNs3rbP5L9XCs? z|1<8&lgNymMnP(5sgdRt#yab4R|LUqO?pT;3?r8Ff!Z{5^~ibSJHE6U5VAfY^HS&+ zQ@UNQ5H*v$NtTV)Cx1;+=R=6W_otrZtp?{>v*&)a$ftlg4oLIimu)%BePwcnT1zuj z>l~4xwNNL5^pQ(HkMcy%e!M|V1;kxOaEIx#h}er29^A{9NK!BZ1zFV%3#2mnJP#lx zfkJleal}xkE{7SN>L|9Kw`LR_`9vM^_g!%9#xOB#-efR+hkws_TL?{!2_+07EMUnT zj%C6yuf&8@L|9sC0mVUAjs^~h$Z3JayzePZ6#(U_#Z4Tg2^sPlQ`*AdS!=Z$fEsZr zYMholU`A4Ch9X_y=z}0{UPQgf3Q62P1h^ZIJCJuXZF@K}W25uz$?wphqoQj>J8`_z z?Ga_&NFqiNkAK$g1nFf}t|acFvrG}xg13W@5E^3<81fp2!ww>56_a+2j-IM3N?7JY zXE1U{5UDxK2Fd2Kn$YR06!*VS7cPX&xG(q1$o7SY1xg%Ro?Mxc@)|TBczP&x)>Jb8 zpsi6$MvMuS0#XRbOxVg3R^txFyz&TM29E3tPL&x$nSU_HQBENvJn30pG|tr@I3>Yz z?p8Du5F&T@b@7FG_hk>7LCbZ<#mp#ifmr8_6o3YOBsa|ml?sUjym=Wc^wNX*oa17N zlPy8Wq7Og;(PoS~$R;#tl5HeVJ0C4bA?nmHAZ}6f~u_n6*Ynt;k_ONu!RU0%D#K^9rftO?VPPvh}Q? zqbT`t=Bo)2b)I~+7gEAu7?9?bObke<2;R78qjRLBBzqV_nNib- zXeVu;w$0#*78nyki?7nc|J(oPpTJ%3d^_%W|9f0+? zm4Dan?)&Z4J{O5cSs%7&u*^U}o_uA;6hWncX+WwokOq)(vDFidoaLnrN7;nvswT2P ze|W=D-@rNU>s2JK8)DGKr8;WEc8kSlU%o#!?V!$*ZvVz_!YyC-^*H_D1Ng|>-->Cq z!n3~NoAKo5KCgAkoq*Iu1UkoR5;1mifq%USWLe0}-HXp|ZQSfYHZ^#rl)3K7Ps1Ir z`kv-3?(ha)i)z6|T_VyFGo~;$oUtl_N=z8IY#73O>b%=JL)XlqLkNd}5(li(4%Xu~ zro}OYm@v#MjOzN^n}PN3UU>P!Bcj6WGfHc7h#&l4!DEbe{o%S zqS^;G8GvX~uFg~vC2I6Au8hJ!4g=PMJZw{3f@{GzUBI~B$70$;ER*_AYV)4h%CvSK6Ne_XIjC6? zIM4Ecl8|R(2uOo$cmh}!2s-C2z41JX0>(#eF?CAAOX`AIJqPlG4`sqCB!4W;v!MDk zQlNI_hBq@)bbsX5FEasg7g^6<3l$1@+~Xe)0C?!r_iVhW?|A*IkroRO5w5!7Cfs`a zi*WhXkHe#@N0LESK zcsuUB`=fZubDobIZ~bbVIe+zeTzm6Vv48dqKJ=ge6HY(y*^Qs`nj3D!EiZU6F2DM5 zIQ_tVxa%E%h^wx@5x2ZRoOj>;5C1p3+N{-)EC?AnO zijk}C`5KJKqMID!h7M$2TRJz{x~FF;qi&d3YRSknV4--j{qtwUm9InUX}!Y!*)!NZ zegb!V+xKAq+*#cD`hVY4_4D^&_xN#_+wY$}ix2(5@8PN^+=y$x@+o-lo8N#lr@nw& zU-)7-Veg(eiS_Cb?|A*I@#v{9;Dz7*-Pk>OxsN+eUUfBI`0d||hwk|V{`j|k9n|5afz8CLdjUp`xvJ^jPn7KHG;4WjC@zp z?d#6l4Dft54WN<*7!`vj)-y9`80DI+qS%%a}v(W z`cS&W?PHf=@9bI6^SJ5OXX515*I@swxZXbewzpt?c!)Enzkus*ek!iL`6+&4-u2G6 zg8)4Hr7y=rpZYVLzW-iae%0e})e~;qK&O5958eV0>3>Q16kPk2Pw~_5s_SnA0Ni@V zH*9=3oPoqS} zGBAY!6$wZIff5?!ZZKSV$&bmcYv z&rK`&=idIC{|3|Q5W{kblUF?s=O1|(AvO!9jD8d;M^XPLfVd)uh@s4gd5zkso25Bx zyIRw>SW;85%#q&cX4@uJEw_%D+A2S^Y&h81MinjSvQX+g$ppcE4iz5PQE@ zZ2}QaKX^YL`ty5m%k3}5v%cZwxbf-FzzhE7cVYL$N!;^+_u!#V{TTq@*?;xrxazu_ z@T`}7Q>z*OE9;(KKtSDt_PkfT5|6v_D}V6pm%bbTaQeafd=~b(dp?P2b%-ZF_crXF zJc(Og_!2z%xwm0`aNrHp)i>OThd%XZm{y1Q%I7=}JI7DpmfK&9C+o}7UV?-&EU=18 z9EJrl32Ij|DH+R}F$4|%sk~tusGaJY0dIsXCc|*X_Pf>Ebe8g!)eY2|Xa%bd|9|zn zq1ZTqHYY10T!1nRC6!(pj5&-*)1lUj1S$fRvY$dC9oWI`)OFsM_5kXD&*py2#YF{# zf>>wdFtpJ65P%dVNZIJ_HV!fJLEVIUSJk)?5potBt%vu8GUvY<`m1U8_^ zg1uO+@U^daB~D)bIDGgIeh+8VH3tCG;XdB`#y4R1#7VsHRo{nkYYXpt(;GlUc=*Bl zv48dqUhwVTi$H|;z4^DXd;D^|;M>0!<8lk{`@R2&90#n&9n8ZvavTu2V1JnQu`DZ$ zd5sz(mOM*PZTEr%6Z3A46H#j3SRc9xzEi>&;K-vQs6hh^&~8Ej_hg%Tsm!`NPwrr= zBqx^*%EK^dMC_sbdldA_hQ?XM<`Xw!YsuQYT>2`Gj$L&%Q^z%LF#t_aI>jXhu0WY| zoIviOb?H1>9<6y@i7drOAAeL3=Cs6^4}Ig%M4oNcwV@&=YF7ofMDbdA!x(Ra-jMpF z$$+PP?elTV3to&j{OnJ5iIt=qW>fBjCR^vGn(mG@Iq~(S$!SC(b-EEFaTS=OXK}#G zi5MdG;}W|(qY|*cR76`~jmFm`^!J;3~yf^-NfHq1K3xC70HL7i|jG0}v zE=A2QAaDawO#1L?&~=EQnuQ0G4;4X@^@^2$mTSSh*u_{T`M>$ZBq9)S{!3rHBv)Lr zI)nTLV;_VDeGnHsV-*(|S$2MwI!}%m>xi5lUQC;YB@l92V92Wu`)@ouTVpi?k*Lk| zA1x+HK!^V@(L{v_TYr4jW*&=fw`_%cV*%<4F|pI>q9*_)4XAPOjZmxwi}|1f zV>T%~qa(Fe#wtdPWo~JtF?vZOpH<^56Pn6oUP z&Zce&K$aJR(f~5sr^?@`%*cyvB+hb>a0LeuBCx`#pr@i;!GGM%*O=o1i#lyc2Y)<54@nVlUw#U#X$N&|%6K_V{??7DmI2 zMRMa(QF1&3`1A+ghkHKoo=sJjX0@5*oBc2+pKs+j2#GpGguF&lCW<9`T9PL#fQUki z>|!==Z9qoESbq+EEI6Nnkh@J=OM&{g5$uSARMO*^B;VlzQs?t;RN~r8+jk z*vGht?_AVp+laaHPo^OWe_0>)sL`{P8PPnz9q6%wP}351kk291jFczg;+ZjA*I=e^ zv=_~&@unE+*IYR!44i#$9AXqyM-0eQ@l#wHkkZN$^&?lV8*(tZn46e$8-8oxf<3I2 z*-t(y8Go!cf>5*8bb2C!K*J!7NEOQcG;Cop?>q6KmW+U`r(Oh?Y%4UNS`!0Q-NVPD zC8o<8*wVp`uq?-dWqp7dp-d=gDL({lcEbil?DILydmAXq2c$btA@UbAzcZu3n5q*_ z9VbhhSrtu&9-9fv;E!Qb%5H_bJLyzhP=*mz8Gj~$D`Lq=8xwrB5}5d)U*dOSQS!hH z0&l1!fjJD=p7$hs*aByWBmyCgNGNVyAUA}UriMXiN|i44(?zv0w!g1-KxD3_J=ITB>oUr7RkJ>GGmAVhhZW0lYhzmFEVuX*b$e+)x5E?Y+}~B!6p>}f-|)Pa5+X<~NHIxvbIq8B5sR`GWlx@D^fC-U&hjD+0|J1#01+9iHilpb zxj0C3b;*=`HC?;6plAZ3fedr$ba8T`Ey{#7B|QPyWkD@f-DX-+2p0;7CV188cYoe6 zUWbj)YghTksQ%irfe;IUJblPIS=&Qf`er7=IxMhGTbN1Y@Z)@lab964E4h}q!-c5u z)YM}kbp8x38|g|GeM%iy+Q33~1LQDb)b#LPd`k+$8p;|I^=awkfbe#rqTw=_HzIAV z!7DDwSAKI$(lnF|8b(CYZ9^KQ{(r7TPJZ?BQX1u9EF!UjUZF9_ze7aed6FTt=7Mm^ zDprLwFs$?h3aEKTJOZRV)!MGk7PQw`Ee0-%Y7FNhg=gY|ISv@>EGLfcD$W0EF$pyc zh&HJYK^Ny8AlsBJ2EVB-gH1UTZ6rdHU*f787Tz@N&X8|eoW!Ri*G622ESo0 zpc=qT7XrD`VsthiMB-%%)-lhvpPSUkOrcahfBOQK4IiJb&pm%Q7yBNsRhjftUm< zT!ElhF;~HEa4n#kF)xl`s~mz$k@;YVU}NJ9qq2R3eku_wmP4EX6hCc|M&Jl>ttrN| zDKF>dHLdQ$?NT&}P=ivfDq{f?Ev&UJu|_(g#6e6eUE&Wpe}=`J?uK=8Fk(>m)eI8H zo-XnuS53<7SASG+s=pZ0t6$|F@7m#P9ZacPhQ3^>8u3crF}GxR7}U`drAiybmqwSL zX}~hC-OFd!FzM;u3n3uZEffk!K_>()PkBPzotpo ze27Oub5P^J*gPsyYWZeRelj(9Br1cVWt3&4kdVWG#8Z19^lI^>@6N?T#yHkD#p}?t zKvBRsfk7o>!C9^t>J%&*`b-`d4y3a&FZ8^NZuynGQg+M08C#yXBIZ<#$ZdAcbKI9OcR_NQfpei%HB-X+#8L z&NI@ug_c@mgK+Xk}qNH)ggv0R|mSu&s+6N6IlHO2NRWj0qK@f9Q65neWKxr4p zR*$NEA)(|6JgtzlSv~iqM=sG9yt@m`Ykz>r6)S>rh)7Yry{34M0YphQ4W*!lfKX+b zej*>>k+_2^`l)(Z72L5{Es7<2D}Rn7 z0tJ*ZBQxnXL4GEIlNS(4ofV_-VZh1Plbq#h+gV@0h2a=ZqR2)>sjP&6Qq_}NE5dRI zWu6czqG&f;C?YVU){H;{$~=M7h+1X+#`?kLX$4wr$u9vs3B&f3D`;Gx)`~+)I8kKF zp_v`>IZcyXyO4c(&GNva6x6%|4ZFG<&Y*v3A5oojr82@%YCvK_juJALqIQUKx1mC8 znMECMTv+2=wM(iMLmB`UVE0Krz!^FQiUF7970R&0ss`jFM(}|%7Wn{MN`P|1jOElA zx0!=`ZCL?1f|W>J`nM$;m2P)Yl|S9aJT~62Z2>&{gB+%0?CKaJ<~i#LNIKV3(71nY zA(D12f9BMp%r%JcGF6aO)(FPZy+V z2?3RWx>|vw{4A&i%mGDr-eVv^wsC*Ks$}r`P{vOwwE#);TVFC8Mw^Qq6UK3gfEm+j zE#?vxnx+_K*qDH#4~{?yo11@%BLKo&8FLs>2ExD@L*B7qz7BWIWmE<8XLP~O->ccA!hg_AYS!H9g+m-M@&*(znsyBat8oYbN zoBhq|`>mE$48nR|gVUfxZ1v4hJ6&y;ET$!(*60p3B8glmm2fOwz=d%e$MYVt*;!)% z#wB>p$kL9<>6sGBoMrE-wPXoVR6r?!m{6u!hn`jVefqGENz~bu<;5GcyPoF^3<)6x zlmc)Fh!PMiE*6s7woDgfPP%_s>g}7{eo&2NbCfX*)rw&peUDnPL>Oozl)BW4Ff6dH zj1ZTY^uw=p1`v@#z)&($2uMY~#1laRkJp+$2_py8qN^z&4GHr!qlPM6Jk8!EwS`uj zeNk@%wOFkgd6J=c9Fig=jM5((YM9adwAzqFBQw;Bc`isn9;z4x<5qvNjFr+jcIlLI z8gm>pkgtF!A`TH3hGW>xhZu$dHP6~45b{*Lfyi@4N&|*Pz`UN6m@mv7<_aon6y8Fq zLeGNBq~MWuF-g!(nFVrGW|{BJYk6T)Oo)|Hw9rj4A?qBqR?BS;sGPAk>|%G`lNZH6 zmn<({48lQV4U!pnM#+E0>0(mtNc}wy11i`N#@ubDE^QD!48khT895CIF<=^xp>V~( z(sFaC2+UY;0pn!tHk;L<$ajYA~rIoPfK*(u=Cp9)+BqNg&L#MgXJ{JkR3qsM)hc zm@9^H0T5wL5yyCikOCIdA-)v05%Qs~*RtijgOs2eV-y674S+Qq#-h4vt*EFN^g7M+ zq3LY5br8vy=N)i8Nlqt3Iuq0Go-!Zb~&a}}S0=A9KLq^)D1aSK2| z&RLH8G@_P*3pHV@PMGHzr7&`>xUB5sAZ+Q@Kt7B#Bt#V+Ms#h z{X4s6PCc?lN7Y8dFlNjZs7*2AR!|*c=Q)3C@=}`vQV4ogv!jDWi7ZWtt_K2Dw3`V^0YA5G&{@%@rv``M;}m zqU7r7?G}?u7Qd<|Q%oasqdvT@W^mCge0d~VQ|iJMKMViuAJkP1{s!z0M?U^nWc-< zU1?DDfn?mV*H8v9uR0VqRk5Rl^vimEA0ZXnpMCe$5QbP}e)Y+{2Z=)WhVeo>81sQ%*Ac~ptzGkGrD!ja~7vt&icC&cwC~SrTB8$ z)XdbT10IJ^vBfi1G$4hD>@g7?{XPb;DU7&!o-ox4%qxU>jW8Xct`87$M$x(9g}B5{ zK2&wMObu!-;HvP^F0{yzE2{i4Kq?(XgfhWFmDYHEJW)cji2 zYoFDp*VD4Qdw0!mnDJeRnoa}&?AN1=xQMFf%2|h34wZ%z^~=DBj-1B*Z}p}|`*Ix! z@D<^VfdFBMU^afZ;2~m@x(uzeYlz07KF^xi+I((d6R13|slklpyrCr+4nyqV5U^+o zX^466a`G2_lM}9H|{vTXHAD0U{myj&&SE9D7jrSq? zZ%@~}Yp%0DPCU|eZ|e8_^IzA5e&;vYt%f18v>WPGdrf_N+{yE~7Z~Mf9d)<{IjzlO{7A(|D(sfJpln*@nx4+*D1?$+iK(qKAk9Bn+IlA8> zExc6x#2uKuHii){Q=pA(Q#8|jU>lEVc*iG17lty2shetlU|d*G7n$Uo5*lARZE_sM zE8WcpJ;iUcd~AM{zjwNws{g61?8TC}$=R-LIkeqq8#1f`($)^!hXnA0|HhDPzJ4*| z?e2O@7YeSZYQ=9_f4E}6(I_*{;4d9sN z!XEb{seVpU(bO}_AvNgA~0325+0euH?Gzq9ef}x_>eT{(b(g+7Xy&5X9?| zBl{`K??-unH0A7?PRiGZJ&4Suees))fod2FB_twupZ0ZalFXKq)nvo;KlIa z&nW7DoW2o(IN3#7`;+F|vyA6Way}+EFJw8ABMkyK`OZ|GO$Yq-sBp--uIMKWkXj&&D^f6P~zs1mp4k z!0C7bpqnpRPp_MR*Fbb)xlNmgCV$AcB`Kk}c)z>dk;~1iL4)4pyt{rrpyI5U7S{n- z<(C|t?FFwU9+SyHnRhY6J#V_5^g+^p9v!P~ZB2SR&)#f@y!5*?C>}KMS-V;R`I9&h zZ2NimQ*R15?34N>X}_&>y_)$R%Ng|gJ^BGOx0)oeRjmh|O^jFDL*OlZTl0alWS;dy z-nW`U4?0VAhe&S&2JNtQ*%n2xCcnFQo94~p8jQz^nv=K)jGS{5+bdIfL52DqVc=?OfpNo_3xpdU}4j`?jH{C+?#1R0XB zWCkg+ZoEXYp?eez)T;0E$@?>cf&4u8D5hlI8=IR$G(dY5tH{t+DAMAeK6Nj&TAhZU z?K8w*)lKp-BxKJ^EI6|Je)9o<7~1d5SbERSVp=aN{7-1E$`$lNS$wynM-k&L)~N#=jz=BQ2;c~4d9H0^YKJU(u(xsW7=te2FSz0FnV&szJ&UUOILr4fVP z!E9`7o~!-u8(LeV{u0)Q8|D{63>_X^Irv}TC}DIh1~yc=A-p(O;KqPB0ru;HX|K;Z?i{U-wP}Z z!WKI(IIr@QvP^0dA>(i*mo+LW@bo3wARhRDJu>1eJBL@u|B$RQiaT)2ae3YpW#{Xa&Bw#$uEP6l>dE7H%&a^=vY8hC?mAo#g+|YY3p7=X z=QJ+gBf!8fdc|PyT=W!b@WhLTp5t;|L5uLVQVrtU_;~LUEP(jUSV4HzA1GY>T*FKJ z8L5P}f=S*IUI-_7Ri@_?%^)L)ix3X3>6aBl9EVf2qY_A-6G;Y1-v3?FHB`*O|KKEk*3%2KGC$s z&K~16Pb2hskx+wami_E0Oy`{(^ofayZG-lAgWXG^7qaW;`+?IDhmb8Lq#9idtegtq z=h(Q($3-wn|IN&o7Z7Jk@R!cJHKnKm6@AK&-Z+Z|_lRxI_-A{`6u@rbA7I@C}QY zRxq89_NZ;(L4m!ziiWi@CIL{GRbaedBol$NkK2zoI{mvH9FuRQq08Kt3Tp@&hJ}k5 zFcY|(@9Z39()o4tG2SP1>j{Ux>!=HB|WZBf1 zjitE(4+K?RWY6pOi<=3!*XNs0l83j1LW1Gko!gr`n;$RLyGymZ%^!iVj-d4FA;`zg z_zEGv`^OaUFI?^ec59vdKvS%q6G78uAHC;i8utI5FMSMc5UZ1BxnF?GSIy--ZRiA) zw8T=hJH1{I{PcM^6;|+(FblY8{0jS#8Xx>|4chWyFn7Lo0T8_BRBjaNzruEcZnsvu zz<~2t6-Z!CMe%Jde=vW{1Lz|5eLcMQd&mplIebUTD2MTR3$F_J*z@6!Q3mz#uCcX2~mi8KL#5Wq#2`ANJ$Wf$-ev#`wvi3oADMvcs+KsWaV0 z_;F6dayOdzyAM?-2=Nr*a9|3gb)pvTWqj@b$$yEbZ*z<|fq1?QfVtX!Reb-)ptfu)|w3*G}fPa`)$X%ZsM3P3YcTBuI*3>MJd<0}lR3 z1J&E%mR~xs&@!kk)Dh5h;*0l2PhdNyJSC`>vXVrcH)_z6C-p7|B-TA0;29g~eO*PV^Yvcs26*Z$$opN_%(e}z3g+LXe5$~0o5H0hcJ(n3 zJnQOE$Q63D=`8{wc=sUqZx-@Y_78Bu&n=HG;(Z@L3rlh!9&|963G!#_-r;mmxarn) z<4-zV{k)vb#zr@*u-UK}LKOX?EdtJ`mLky|);eLM(NUqBYr?_d=vl-%?TWjHvV;dg1Frt`!(&k<_7#j;iThT z#Q=<;34p*g|Nr!h|0yf}{}(6!Q_1{KaqUVxLi!Y^TRzdzy{xY37cPh?cIj8zQZcrJg-qF z5^xa)1}sRgz4~^S2*EiA<1kQ)*NOK5fgQ?MTymn#Ih$Sx&{GYbq&NI zvNI>A>osmJ;TsM#ntVLtbhah~iXt4cqCcSyU8u450yO3pbJr-%Eqo=1lb&r?g1gQ~ z*wu6QUdp=_U3D$2+7vJn3KZ`af|xeDW8VG1!MaQR7klC{UVch95%mMYi($hl%XdT^ zwD~FN>woQWwuKs)p^bNJ$ijl^UdiD-&1dkXN6RO5XW-_0@99!;ip_P+4k3d`zJ97o#?dtJb7SiMl?Z@$^H%ERf$ZzI1xM&d34 zil~bZeD~Hq1jK&}lFK+@$FPy9?*>i>8^dsp1#Eg}8>MdZ?>Q z4yq&NlsDE1UD)&aTX@28nWGV3+F<&SZbeU#^S7T@{Dsnt5Lu*)gh{#JaW>Ffu#8~YOb_?bzW=I$D=R-Dh^NdBp5wN<{ zi{|G=+&o5~lGU!Ze>KjT-;=)?E=+%)`A*7OqQP!DB5cdCraPjvp1n6RZPY?1n5#PZp#br zGWNHJ+L^J@!^AEQ7 zL6t+EZS>2!OTtoxguNn-C#j0>)1Fnaas9i)LG5-}#XnGOQ3$||ClAcmjGLEx`}cfO zhscSjW0Mz$a*efBL3vODXFmcQ3PoK|a>reFeLQwUwwN8b7-PP;g&#Dc{do9o!Bv24 zwOJ3{vzW@Og_Hmio@=Og{T|L5h^^(ZI$%C zW??DpY8ODyR{4iQA8cIzC+cL53Pj{dJDafuGnR60dSca86n^jWfYDQXByca@<0(9(Cn^ItvpxKHd3-cZj453Hx`6;HT@%#jGy zTI=~w7u*F&(ck0JJ+*vnQ)-5i&LKb9u0lRzOjCJ2fa`-R>)WzLkfC<7>o!vi&B-w5E_qqSFLCtjz5TV71Fq(bUN_iJB%9x3Y6+_=quhe)OX zM@$S*G#xG2Xrq9nw+vWr5#@of^EB;o+Fus0g?PqYTuUE{?y2hNEpeYRw`X8r(A3hB zDM(2pWPM*J#D#D?Z&=(}(6Lw2Lo|;YsXn&cPSdd;oB?)>1u~+e5u5kZvI|x~ArFt( z8^JCkkx7-m`rl51mCyo~7HL;r491Nl^KlJLSh zOPE+fHG2jojebb$N+U;CzzTwfb9`y;ZzKhH zc@C{ve#o#U(t&A(80Da?ZQyku8M^s(S$sRyTIzBj*|yV@_Ty+&zhmvxn^7C4nN9Jw!BguNHsmU06j$ zML_;(f{J}iP7W;K2M0$gtgd!%t;vw%%5iBh*c$KwTI%%UH#awT9Ajz%3_spMp4*59 z5fxRP_^*%Wef#MKar~FH?V|VdL4qs&3Qu?=r$h>g(2Rrtop0PSLD3wO zu%CgvXKI=z;f)v!ASJIq`+$Llp}opi82&x!(Y)JpVM-3IYicVAz9z423s(x2gxF6- z8D*9LC#KP1`{-X$Z4$rt9qp$xqmcKmZoa#>pMIKExX_ysA-_A)e`={}eX;i4f+S%j zuHdWJ&~<_a8ytx5!u?Ogfp|dR;c_#a|FV_g7!Jt?047_CSANjB{31a|+)|{hk)I)h zD@)W^f{}2%!~WBoJNSfOJ+GR&OsM7Rn}g`Le&ujp!udz?;8taaDwEE8$(KLxFF+7Z zf+kio5iNP`y$;FMx=APYoZt1>;kiPUzBS?Sj=bi$8|%4Hmlx`x=SB6Y_FOIZ@iF}e zjkQx<$^H`C63@QL=|X3x;ecVx(Xt#*6d>I}6@gJPl)0 zSc3g6%3f+dk~HzlSFbXc)-O#hw1_4sM97F>AzjB}G6!C>EH=Y8-{RI0QL6Y`ulJ!$}qi>0q94>yoN7aplu%-=lh?^EtfCfC3!jv6ejR~!E@(92hGtV z4MZ0db6M-22s7pk9`N%~$o$w+-biSPgu$Li&Uazt`i|2tN`&!-WD09_x4P)q{|_)3 zx>~Ui#2|UT3U~U?F`RG=V$N5aH1cB6q7(iL0#948LIFiXaYi4VeoyC{?{;f$i+Y|1 z9Qp8IOSOLddG~)Ttb#-3)|%)T}{ zL?q~G_(qSLiOO_c`!s{sH(T!_1DP~6<+yi~5ZK(xGkZ6MB1Z5;nY*~(4++!e95=3# zU}h0Xk9oc0gcrXY&?R51n1x2AP*V|$lIghqHon0iR`0@$DGea%?**QLAA%Xc=Dm1g z-h;?3DPn&ca|c9lAX(d6KZd;#wlSx8IuZknDz&r`H!XyTh5LJaIeWT6CL^Ys(A{da ziP9q5Vz8Oo9bYL9b6n1A2YJ5gMN!U2Yaz9~MwGO)R{ZptDb8Hk7QKhycZGNmHet;v zDpK-jo8^Tym;%f+lO!k$l2CFt(i_-*NyE0psZtfggJ*aYy5Y*_>}<{~JsVEBPbWJG zy9CU~1VOP%5X*T>!$i9qaKnH9E|BVN(@W(9n<<>Z@H6#!J)gp>LoyV!)-o?$*3YN&0gMYxWu}Z zB?36f?_Qgs(^Ja03$QE|F-Ia$Ar{b3Gt!eNR4ww6CAOJ|@h){!*@=VOWy}ZO=iOqm z8*`BK!e>{s#&lTLa^^)ZYiyTIPLMZ`qv7ghL2@{&^#2jH;f=}a(U(8A_S`t5kJd()m8P`_(`TpwoVGx>F-Yy_qarsA$9DEi_Zss#ds{v z2opf-O<*?k2Yg-CxGIly?7$1T>?HL!mUu~NMVn{fTzO!0jv7BTwb@FJrCy}<(zps5 z(rLC^eZUhVuN%1Jt-os-Df$Tyc#q!resfh^bTQCfmq9qs7l{>igilVVMn@qPKM-U~ z3X@cL{hF~5Quc$mw(Cby7UzZLFZoV7xp)mVt=#$(f67Cjl^Qroj_3 zS(!kYZih9F@}FVw>^7D0S6z``q2`H!m>lz^GBo{hy16JZkm5~VU5o~CDG^06;svb} zct(>67>a7w~K?7LaAEbZg38aVvY#6V}i~oLx=##C}S$^gk2^+9lgxf&QoTDmzW^o;{Fw6 zyCF3KJE>yVJkWi%r*rYVzuQu>%*;=pf@N0^EBbv=S`_>yN(rf+L$+Q$sD~zdDsB8& zvM@kFvybiT!RP>XfvAo!oU&YWjf(f5xoZws02lRVrXAVrYEb6*E{4ibQmIo4mkvO1 zT1mh@vK7v|%Ze>lnW~I}DQg4`9cRG|6?vbS!9g~eWcuAES_LU3#Gkfg7=orywkP{n zF)U}eoNforf|5P~dV_fN-IfaDc(Ykv5uW3I&V5pG?!ToM+Ya?jYi66tEMtf$Dx#!< zKllq0whM(?$za0?V1IXRm(iuHNi%^ntaLmAQuyw_zy1u-akFD}?k{Fyr|}NTEL0x7 ze4S%({xwXN%2>2--6)!NtcPKcC4X8sV$?aKX4wef`s0t`@C1=X-R&D?zgibQu<4F#$*G zG}+zk^u@%d8#~u@*L8eerVmRj97;x34Or>386)JQ5fhxt>e^S9fS$>0G~D4`P2!xa zu#nIO*fZC*nf~m->`eoUS#azxyvV1#Ql1g(Urg?y7$TD}Bxs8J40n>z2gxb!&Ymrk zKI*~HqvE|Dv#qx2B!0v^9{dH4Ys?y4b>Ty>`^dTYe5PgQr+bB`qKa8$z01Rb9KTmd zmoEw5BZD=XS(ajkYI*$k zOjui+_ypF`qf?m3=qpLkDwAR&(Mn$Fgp0?1y(x^_9>4uqL24^qc`^&YFTQ=5hxc1U zL|v8kG{#5@p_!_H{M1sihAeZIp8C!+E$}sWF!Ih6P-txZ8k@I7=vNG>j;Dt}M8~^?RIcv{I5TFMs=- z?^Gg`wBfIXe>H;K(ziT7VH)OWnGg)R4O)ki~0hNe``zEv${b0Q-<4D zV#9D?5K4c7CmuMJ09_3W)uy%!LNS{+(I5bE`J!vIwQ`b zvyyOFak5G3iCL+e?~BmMXlaDBdR~P}y4Y-|#gheEowuMj0waT@??)QD9MD5TV6vC{<{4Apnnrup_|%J>pmq1WnA zKjgU&)o8I3aB;c|^l@A*6+#NQ9xfGt<(C)2=oqmg^xGo#y}kVim=E1ua$3<^dVG?r z@j9gAdFlSv{2Df8^nN70b=EG^0?kfg}AKU&Ss(r;i=(;9Tk?1N7I>zC7oN`CMJze0~){yS@@)49-Ay$eh424bG7kUfDqPTX#G z{s*OdjytvcIX_Nmt`GWu>t^!ZCw+HoeY5|^#}zm2 zqB`K%xH#{x*`$S*zBP0h?3|X4}CJ84usO+G`cB;P?_5vJi%?kio^nejRr&ttmbE+Mtbhjw@p}#&o$;JAf_1+S85C|z9pskwABr;jp{W(U*Vt~Q+F$0^{E_i#t0%3kO!yADUiNRL zOHONDxY}g|o%*7E+XXD3 z`VI6U47fpKB+o9jyKrNpkd)nWq*Gtp)(8$17x<2$y2r5J@`etLG6gAtIkGCQVz8rE z`e{Z?v{)~)jb~~>%qr33<)ii>104c&w-rncCf1P%OtM@s(Gh==UM{i~1fhLce3jo2 z^ijc3*4=#ebMvlTZG}LLIj?hv|D$|EJLvyRda2=3_dmP;R6aJb%W*VohZ(_5u1oL3 z>}0PAvme=~4-mE=5@_=Hf(19I5q7?2x9?~saKKz%SRPHrK>7Lg z%Ox-R!S~q$q!H|Ay*a%NRwYlO(zfb5@YMxFfQ@F*{Mn;8O{*bR`LDGPO(pRp!fulQ zY{MFNfrcr{pXF#eF`30Ay%}9`>y~8M!<+-$kU-{d+6+3rIjJ~}67US(YMcesq2z7# zS;=X|P;AN2($A0moNVOZzp3An3ciD$5|!@3rKSVrU7)z0-R<`Sv;cA{677K2kdFL6 zfG|4D07SMq0Wn>4Cc4PI$?!p5OYw%ZdzoYx*dKhQk+*wM_UERzZ~w^ay?%Wm2znwC zyMhECDsS3VZ=arAFD8>aXxEbY(f}j+=L?2p^94EOXm#YR=*|SYid-h6Z+tD=)Y>|Q zTC9i4q6_sN0lu=!KwVhkuxTjM(>d!b6_83^mHM1dO2!~tHM<_hVDE0fDc6P1iaDc)EG*8dGm7MpJ#nw` z#?>`(FEo>N7(LUpp_gkT2`eJvS%pTUaGjVGRj)WBc=x8?O*_yR^RzToU@u=E07kAb zW(aeV1pV87hpd@>u_(ll4pvPm_>R+rQ zRfzXF2|IyDMmA9G_?z(sB@5YKkcG1GhIg2DaC=M99JRJR$nxlCZ%f&s5S#dHg6^3AvBX)5cuPh#)49aC4XQ$W{%FgvZZ{*QwH7%_rLi2+1eK6 zCp~|=#(ln!AyU%BTc7N+T6OsBCqxnrB!Xtx(?*teX9;l(Sk8@H{tcN3pKd{FLxYd$ z%ELqd+4@4fVu!=j{)e>*s^%WvVf_cqp?gbtgbCbVdbkvS7*nx`l13NFu~4jCs!1O- z1~85LaNhg3nNz9(=SH9)=dVOctKcbBq;axLC1%>C_OQoRjOpLBF&8CU)q|mb6|+lZ z&9NPs>U=L-hbPGb&1-2K2Vjfh8Y_F}*CEc51lrWwwn}WHAsEWV5sg*{^84yssT^a` zBPa8748bLBI~Nt|52@M9hD!1c`~B?Ntfj~yG5s~_4rNiu1`dFRhAkdKGtC^~Kkpmi z^v$s3&7>k7E$>ZR4M?4!lFAu9BK3p=_hYdnswlhUce+z@L}V+dpw-q_J_$qhS690@ zLiJvlTq&)@FnfsL)K>pq_K~+XB8K@bOqVBX@Mu$d2=y&?Xo;mK?&W3Cq8nCsl%;a! zX)*^9;pY&XU<;s;%wX7bP89=BAGd%oY0==}=OBhGUM00GGJVraca+u&Mp}%sY>R%2 zQ<+2~<3d8p4sF&#{)cZLxaX*Mwkx&x6Rh>Jy_NJ|=kQ41JQ&X=jERuF@z}cGa&a#* zTI%GB+hxBSRD%!S8P$QuTU-H9J_WZTRf|(gr}0w`2nT2fA9Hxc$KLcHWN>&!f=Tbt zCYz+3acj}c;-D2muW>(CFxl>qs=cYZ>|417;1Msst!N(&Up_!3(;63JX8)i}k#4>+ zPHL9PgkIPB^#pg73d%dpZ~A7y6-7p5tzknk%o+89xU$O*Y#~a;q0x|E1{&Xs9 z&P7Xk;E8=AdawUB#V=dC`u3zga0m1ZdiGv7zxWL1rj{5+(RP?L3<~0O4o5_*%;1fd z$3oz3P$~Vbq*a*O(p>&MaW=QmF?ty_hE*_+S_No*(DPG-hzCRxD6p9lSXIH1&E}U- z<|?cpxBM;f9iLSaJUFHmeBESw4%~!9S)UE)%_)^hKQsutkzwiUHvmyn3pzu?g>005 zK#V!Gz^277{nar+65j0K04i4 z0igCG@9XN<^=ab9HJLviL!2kYlq=3khy=&3Wbnv#da;pi7+<=+5^}LOleQE_MxY5O z))jEzDU(C^2&pq46%!oh)I+)Ql%!=QTB<619BMx20{vTN4iM&znfGNcV(Et(KAY5? zcOq_XKR*7+)gGf7;K#Z?H&ylQ7!VHKH~@b5!M7}skeWX4EJnxiok6Mjek|A$u-kd-b|#a-9Bw?Q+SBMBcmR zgJN>-)ddIkA3NiVDU{ETX^%UXn*pi$-mnMnXRL2p@qMETdV$X#{)o4iZ`A65{yT}d zp7C5wQe&|evLq|AuY8}y0>Mg2cyTmJU!MG3<%IH(`67Ivt`cIBoI85c;fiV>|CV}$ zMH%?PEw`S}FwvJj^M79E1TQQ;80!9qBuekyh#XIJQVP&uu1Cyn#%nW9(>-n7ZI34V zo9{$xJ#96|@%k_xSImFjPGGkIkIM?;E*p}gExioyO#;O{4>}kHPk8f=jjezp5ce|8V;tF}`?Cw9CZrG!B#L>rHUJUB~cN4Tz-i+q& zw^N1(UGE4BdDkkMej6-hyr@A3!*na@TMS>qDuEb?N20tZh5Wwm6EWX;k^S`uGs$k zt0O~+iTqEog`j6BDwY0>a8v4Y#m8@w_l(x5mi&P33hBWx(Egle>QT)5i0 zfIBQx%wiR(98b|5(5%=aX>IdPD>2Dya@Xvc%uwxj3Axz45AILd)xc+?9_25X< zH)8MnSCU%5vu5}27n9Rs<*u6y9j= z1Rw0DXPh|rGA`@FRK9{}s(V&$yMlVmst33JYV@t&V}1V^v6+5##-g^^cwqnYe&k>b zJZlIA>{L}7&aUdi@VR=}WRWcssgGN{_&M~CDi{Rr1E53N&#OeWbw>4grK=abIrtMW z2;I9gepEdEY(A}!;Slo8e>qCs%Cyt;pI`l*FXT=|Ep%&;1h>2RI!p}m$3?I81L@*#I5Min7)+1KD0cVHswSmFzPa(m98?B7DB@#$owNWtE z*9D7c|FR#&xBOq{JcESqXD1|EsVolpRJ(BK%1e8eEolWS58V?kq_$1jMAU#D?}d#t zv(0ta;8rl>M0`T8tH8uxJC^3|95(aQ7gnBbt8UnaH(xn#q_UXo$iOsV<=xeOcmLfJ zu^r*e(F(TSA9+dvX+DoMNmVbl-Q$1%XflvgG7#7n=V>APy1ZqYzNo2N%?r;Kvw{Mr z(YAV4CVK0A&SPv}WLc`0w4MdX8;ks?D^_wC4#{$qGk5H#ueUa+jdLE4p+Jo_5BTPD z?0PBrO&(11}Qk2&Y^i;lUTZ8`Em}v1s#BFM^}7oC4lI8dNRFo`qqf>CftkYm$? z={0(D@KLF;9a4I_1pQ=76}E4(ou^PcmhjV>Pr^0Aqc}V$*zeEHVM%m7Gb~dtPsI=5 z3z=+REEwLtO^Z|TF5CDbQ8+}go|+h~w_N5~=>aXpQf(=26_yJGmPPW4?awIJ7g5#B zM2kGS^NL9%?Wi=6QI1uWLt`td7$OuzL*83U1kG&(b3Oe;5e~YZFlFU&3M$_5SA?sh zfbI9rA-$$uv!zxD#QL_z!VNv#HsynOZpS=r0b@^v+^dWoR*apviv5tWw6CSVd zdOm1$*ejBBH4)K`srx6wepDuSaO^T6t5|we_e}RZvY> z!nUlUi#>gST&+Bp2-OfzQYr(8aJHP{P)|4c2Qf#J_J1i{3Hn7M+}cqx z>$G4rhU+kWWU~&V8jdw3$ed(O)s@&I5IbfU7XMX%oWX<6p*Qj%Wb1igmo6@xJqo6} z*2?P@5Qv-1OqNf%nv*vyS+FvlCC86WkhK#}-dnNlp-g&X%Pc{gGI1-=B+@KBzDm)z zt5o&o7y?&{F@2p*`5fn!8xVhG$Z&kOXVpmU5+p3!TZ#mgbO}Q3%!MAz9a}r9Dtv)>?_JpmuMWvG_>ePCwi*& zcF(5)xfR?58M{9?P&!^E<4(4jh7_|+8p3QYMQNnM&lo{Q+D+u>RIL-^lG3H8p>?mK zGH{~5#CF$NVdzdX^VXy6O3&EpohweJ8*hWM6Lc#^U0M}~g&{%~MEp58a>Av7R@B6s z-eM{=@)2?qv@+!GeM|zVkevu++OmCt#H^=^__W7s@_0$wzWRh~+-ih0WkdQ%quOct z>g|+~Qu^6)Ga>s!@~)GI6yU+d^C(WI<~*h2=!g9FBnyBae$fKCD!&|DNBoL8o>z~^ zfat>GIK%`7ZlQmN3D%9;d1CrM<{TMG&wET4x^<$=3_=0h8Ue!Imt7Dhr|+{f_Z(3q$1 zl9$>n@4?jljf6+$(Y9@dayA*MCW-2~T_sBa^!?H<@X#Ttvm+zusA1Ur=tTPp zqI^0ZycmhUMa&QIf_1M2zOs6N@m!sclI|zzWqq=#x5*&5NX{#=Wp5w=zH`<>=>c5<#%J5Y(Jv=>>{6_vh#*Y3GRop zwVB`$H-i{xUn@rHtjzz)#V{vv@H)W7l3CMPwG0o~=h%ABPFQ9s+i;Eu%=?|K{rdMu z5qAGt%PvhH__y}QBAGvUHHJ0+vTkKq{FGLj5b}tca?b^k_sv8vrV>cbt*_17a#x_* z7+h9pM=H&65yXxojxo~MFj}SaseL`W{j|An%^#=S#@9z8;}=WNU>P~c$EycO35(u*XhV|dwZ3^;NDl!f}A5ACX3-hw9LUe&)=eb~Rp z%SdjGLpu;$e1%H3fo};o7 zlOyFWmt}tx&D5RAiPp?q*jTQM|NYC>!xkuelr@Kl!&+DkvBW92;1w6|+=P7G;G9uR z3jT?+A24SNu?qjH;-2p$20DD$5mwGEMB{3*5YF|HcGV=4^3Ix6&0|CwhG@(C_7}5G zw}CdS&{^Z_;SJqv+UzOacYej6=z$OMF=hO9IFe@re!8OLhK~511)QeEO*AKizz{G3 z?sIM}dA{#mdcFKcZ#1opNC*ZV>1j7Uw}EUGs}mXb^)M0iT`o!u@$W+~B{QjPK}OD@ zEo%867wLs{>{RAeJ(6EEc@M!I5qv@Yq>G+T`?onRR~s}T5Ok_5sweVz`mMj@s_Hev z1#}MCY}h&()#Peh@#jmprb@Mql@@?r0UvCK(Num$A425fogW|A=W>Tki?j1cI9lRV z-rRE_eV35vvmRGWU7Z_&C>9g-cwRNfqqyX zObw9#DAb_^PFTE_R5D|~=cITtBn^2sDw%VgJVAI$yV4IwK|Br5!>ZIB&i0 zz$;nU@JG+*e%t;N`1246(q@nJPtGP&cX&4A3YuhYRuNTE(%trQ7T0Cqzw0Q(%1Pbm z-5F0?Nf>Z9Ekhd8z0(pi+Li{~1?s1oAf098kpJ9XaS5OsI~9z1{%y3!ad8h_h4<`U zJIG0+Z#d^G#XOyzeK@E!Uq-G7UXFcZ6^SK~tu$`pUZt8HyxBpj7+iz5!aXzVK+Ex z@MJJz03avuRu`0Ue-Oo9Z835&Iw{$dVfCY5YNac zVr4o5iI+7?cJx5FPF$OCP6=6+U}lr;_RP%0oL)+i3Mw(Q@>N?z;f~hr3FUyD0eVPV zP3CZ9m9jG0ExE^OqwAa%kmG`yHK-lJ^= zR#G@AJ-Wuxq}2Z|7=uhfVcTjAAvXPRaNYpZ(L8%6@3}d8+vwxd|&kDqpxkRcS zPuUNWH2Mu&&TxUt$$cJau5f;eXF2d>0WZwuonD1GL@!UY1+1bje#e<{Pno+=IijC z+rMIvr96W>g`kinCa8-*4scoH;q=0lE45Ueq6C^KDb8ZiX8_LFF_OB7l-t;j{JI8( zQwHPI=E89egl}Y(*X03+^e|yZZDqxkY00!zw9-R~Bl@R_0Fg0c(6UcsT7T&AK!a2g01&mLKAiC*FhSb@hTrX~K0E8oAu0 z5v%0vMCv(FPJs$-L+OzPW)f+T#A znQftLQ@?u8Q?pyKb@v(KKqFGm(LxX)v7AP>#F~@ZH3!V`wTLohzQy)jjxLv*Xe8wc z)wcQ2FE@Y7!B%pGgvMn#Va<;hf-@mRwQ0Jj!X{+c-+!gdiR#~B=HtkH-&TLS?V1mx zn3x1W*mlYuoO#icF}q_I7LOjpJzx7Gjvx3APJi^pIOUwjVDac7oV4d`96#_K%suoS zoc5?{{nkA_^A@tuD^t&g(ymxr6tM>X)%~_a5xM;E9;selq3` z+>d*2{(lm-?mh#1FL)vV;7OPN48Hb>zrxh)7VJ5{zTd(7ao^3?Ve!}@G>c;x9$st- zVd%YZ?Su-gZo^t%hN{r%z3`S^O05N+9x^+b&B8~e4af}?Mrl)ll0`=KYbtGNL!4lL z;xLTuBX*U>%-n&;kQzXep(P9tEzciUkL<6mV1H#{4pXyR@t8|rh?Rvo-1eCdV`Xt3 zkGb@Pn3~-RQ01Lg7Upp0^`F7E-DlvWJ!j)vU-%>zj~&997d|;Y-_-0@4Axe0+h;z4 z#iNJt=x4kDQ=1#A{_OT$c=RRD!;$;$#MeLfQ4IR4c+}IMhvNsng9CSd9RP6qKYkRw ziGL|P>S@oz(eK=e+yC*SDA!hT?j=8h-o%uy9puR)r^vL_LVu%{JXOO{WK>DnsC=b* zFhTfSD|8_b+Gox&NyUHZ;f)3+K~;ZadO&J-Zcz(`xWoJ9){trdl|Ue~Mf?c z)y4UE08f3y`Pf{~00Y3cufGO^wKXgrIe&)of8>iGjL^E82vCxed&=+#SSq52@gQfq%h} zp4(t}K^<1YG0fa5Y)_*xJcI#eST1R0%|nw!MPO{bkN)}iL-*l~$6Sn^d(XiGw|^x* z`RR|j80Fe3R_c?VpkStTMqS+!(yS87th)~v!Yx;Q5QF|ICMKsav;AZ&9X*8E?I(-- ztpNaTz4}8K^jFZEn8xgmld*K{NPl)iQI0ysNzR#Rq{|X13Wisr>V$9EeVM zMkQH6a!zcy%ucsaS_E2esrJl_uv2H`5UeOfjMo0Bt=J-?wqtOf2srlOy*PaD9XRW; zPr?2lxD=_wQK-HPvg{YD(Vr&2Z8|Ab4i?bJQk{{zne035#ej(^s9-nQE# zfAHDZy88_5d;BG}NBd6v+mZY3#Gt>5(;oF$OwDe^p7WoG)6RV?2L09eI$L+2j-%hH z?sw|B7go981y8`KkGv3r{%Qsk&6$H7wWN-1>FM~W7c#)*Bo&G@#G)E z?Dms!*Nva63y137gZ?VM^~I|&HM<3mzT|l*Ca3VNFMg_8WPR{{tbZ=f<55q09vHwK zU#jl+sHZ&-y@@H@aoyF%=(vT{krp1hsZU8H$u1A?b``Os1EumMRUQmc!Os1##rS}% z4v^$r3NppGtRI@)w%soJ$h%u0X}RQSMp6Mj?K~tnTGYx*a}c??$aW}(5*6wLbH<}D z#@-8`gfIThpJpf8x__2$+i5rzZiteiAbemcVZnCMxL6FBrQ^tTS}=Mn(nu8OT)iDH zhRef~6;3F<))i{={&b@tY+ho67KOQKnJcP6cGpnRLiPU8UEdyURoBQsG>!brBp+(1 zSECK0hb+j6Jsr9?JI*DR0g99TChh%PX0!}lWjY3G@{h95&wm!7&aQDVECNSH_){GqD|v58$D@~g>3DK)9Dbo ztid^osg3QY%YWT2%*dh^VPY<}q{%gU-*Jq>naHQ5`&-9$$0MPsbGg>I3i1&{P%P8d)il6Zk21dy3I9dxG-wSU-d1Eh31KPoR#7o1}D!qF&( z+M=hz$Sh0|Mw44S2-Ac&ZI^_0WL}i0D}7*9TXSMqU4!z}a?F}sNw5C0tZUPGfMygS z!v_sLVCro3$vr7r6kXEUB(G5F&Ttp5CI+kML_OfJ1W5v!8NnoQM+|NTUTAn&?tE*M zZ|+kEi+{z|`i8*3Bjz9)Dsh=(!+N8q8Xw3hL!(_q7#ZVd#jGt2p_S#2a@WVbpgwNf&Cp!Ri9`4c7j;0oUnGV@UMqul^U+0l{d=PF80EGAr5lDAFd z&^F<_E~DJwkj1RBT^dt7r0F6j1w*pjCVz48oJwJn&Vw6uE%RPw2=tsOfCzF2%Sa(G zsrHf0lLK+ov(eHq15o5#GXIS>~q6kZE(<79xylWFswk97?xs0h&Qg; z8^hB4mRxZZ*Pl$`Q3fWVR#2QXRijSCWEo&cby>2q*&iH-D$+ttGqtHzQZA=8BfStK zl~Ez2GsxTlaV%Xplf(=bs0kbkLO!kr^W z06K(+)>q>QYAJQhKx?ju`(9 z%?3&InPYpZP#1+)g@;RE2Oqrz=b?riw3FE|8Kr77kVg0nQ18Dv$*yn>p`aEA;tY-| zBZc=~UGNOjBd5^wH$_p1%74}g^uh}Wsa>!;kP)1d`6dfP3-7BGd8u26?v2R-HCBe9 z!{D4#WG7146RJ2tD)m;$j=9v!8qcDEYN$4wR%v(HFz%Vrs}Gc1F%?!|*|r;ZbWwsB zP)@eD5(;;j#~KB#YD~_obZse!#QBjIY<3(p2o==^L!>A9f}oLeVt)?0_PCYzY-XgJ z=a?EfZ#z~t}4@epIMn=NHi3B&MK)sR+*#2jV0C@K;&ZZQ z4d+19qR^qVI=GGT$sz0<-7BSVF>=&0sSclmLqG&7oF<}Xw+}ctSD+|*Nmwt60)^8T zQ}AqINlXZ{xuzJS5`RD@SHQVKuL3h$F}W^EK(3l?aYa)ZQ>r7m9#81>6_nRxp&SiK zE~d+fAtw4o;f)&oy%4g)fp(I!=Uft&EQ;?l9>EHLllgtnMuz3jb?m$KW(`(+zs?Dt zMalb%M$Zgi=V)A~8%|tIsDGA5;JuGu&58CXy>ESg3i8T$qJPlmjn5l8-O+G;_5w`6 zXD8AD0oRO6N_B1P50KN|>sZMZyqVZ9R`4)+b;iJS;M z924@=SGkX84TX3yB+emkqttkU!Psg$>7R=?7`l{6-B&oLyjB_A{b*BDi2~q zHfIj+T^1iUFMn0E^bV$qOuM95Ig%Wc%z%7DU{z6J$o}N+R$Le4B7_O;LcAO_V424% zVTZxSIwqJR#K4tl2bo%#_rVN{vuTKjgt`r|t?wj~YS|)l$to&!@k*8rVGQrI-OC5Y^Oo%@6XCPIKLIuaIzOwNT| zh0V)I9Mp7+yk4Fny_{CD2dHrMYy+e8oUC9~xtq{HZp&S4Uc{NaDt?xFr9-GRbvujU zilUj<%>d3am9Tj!IhX8lt1wijU?3)nU*6Qz;eT@%}-R-Ge*F_YS%%jV>E z(UBxBn%(qH0_Zk~KocT4y9&WBijhXH^k_^@8jGvYl60;zxH^0)Vn)CaJ!`Bsi9o`; ziGMW1syk4o3Le+{MFX_a&Ba-OJib=tHaZ_;=A<_n-mw+(u^+~Ziki8~WxQ$7vjLlZ zZg-m_rPe7uUs;x#1Lr;9+ciwQXOyK^Av;~;M_I@zrUmgB6>vqb3Zq4ltxS~{tqm`D zJ86VY7D3K6fVsK2db3-w{n3xZma`t2?tjILO|0fZb%qk=YGr>{cVGh7vU0MV?L&m) zbwXr>W;t?-b%p$jjbW&fMWPJv%z8|UC)o;orwnVZivcfS0%sr}GW#+(lmD5@F`;Zx zJi(kJb!Jv#Iaf6Ler9I|*SVWi(gJ{T?l2dR=Ls_J2c{ zW-?^wl| zEIn4r37nm3W3y{b9Uwu~a8A&Zka}A=5f5&%MU$MHr_6_{DNoj ztUP+e#^U@%1ND?;sVYs%6+|WkGk-H&(MvR`VLYmvp2hxG{|Zie>{Fu$bpUof^@nlf ztDncg8$MU}n}zlanI5@0rdHdg^<2v?ksm`H%L>T1?xqZ`-}@LE+S)=njS(d#E_6;P zQjlu&K9h@*3{@rv3*M~3$GlLBl7*0*JC z54}PYFAC>c=bdHm*O_il@Pb5y*>f(y1;6t?Y`f^G5&NvZSI1~(&p8q3X2Dn@aoiQC zE>~?hf-9=W4N9M&1`?YbHy4bHYVx#jO8dR0@7D&uJo^gH zq5S-CC{`N6j;Mky+a*(Mgn#O}%6B{p6d(YlFY8L3>ioA(=p7;59#?s9)tVEplMjo^DR5*MmN9= z>3}m+UxZOs6R;9x9Dh1_W^xGI2X3xL&SP`6t%rQg2PTeT*Qj--&LvlCGY63xxn>F1 zxt>`T&8Uk2@xHzHvGR?u2oc&gG~06^FH&EY>R4^Q=&3mM$KQyFnc4a?6FdX1HWnY1 zOsn5U^2+je=ks)afpEx(sGhx1gU2&mRqWq%Fvq`Mk zi|dHsL!~VbM7_~lf~FN94xNLDo~$zLI_Dw*L)b(*DaPv8h%BD)yxv#i2ob0SpgJ60 z0kX13%FO5m&n9zZv1Q#3;me;3=Rlh_Z zE@=vc*DgzsUVpDpeS52A*c2Y)?+NMU846C%<_dNOWpjvpk5$h$WOPjeL%67NE02oJ zTUIY7Cg5FCX=!;{Q6-xJ9?uLe%VuYYsLGv7I}$Nmnmku;kc3(hYmbGB8uiJMujMm_ z?+S-=!Y0#@ThdveBTfCVy$Fa2pKL)yLGSXx88xuHG?h zx35d(i=tORZ?R%^j5()FfD=$im0%?V=*YtJ$u>&q$ijYc6E*-0kZ7YKVhFr{E6*>Jq_+Lo7k8K?qD_sIVA$ zd$mW2#_v5)6bTOLJ;N1d@P;JMtEK;M=<;QWQjlS*iNo59 zPtRhwPoVy0|CF*3A#Lx^mhL=!Uw9IkjVs~V}{8Hga{d`)PJ^?1^DQnDA4devY(F$5|v zTYq;QWayORsNSoYC3OJ?!e}A*f5A)kdKIgf>uyMR{&Fy=i}s+kWy*C^l^# zG2C)w9N7>YscJ}<9#TRohGNv%bj0?8)tReBf3cV&Ti(b%?;(zIdyu*n>8f0ki3Z<8ow+x@PhxP1}{%m-d z@5r$^1MSET&Dz?U3cZqP<6MEV8~_Z=JpXmr^t2ZXY8pg$Ll{>MMvFJb#a= z$m|2A!~?>3FC9%4>MlVQ9g@YmBg0dED)%VCE3O{6*On5t2jMhL4V21qTE3 z2G@dtIkGJ%Wdtc#j14J4$(gZL0e_Wq#T@f6*{ukyX(yFC6AC$!i8zj`^VC|+=RF){ z`EhbKg$z?9V3g4SM2Dj(Ogwsz`yovI$ZJ8HX6xt6hg-Q3Bv1d>>%9IhUfMA!hU%~*Z?1yHgH#l=uWCxkmiEAQ0&xr?<-cjXDzlKTZ(Tl>c+r0 zw5*;qEGvjgg0!iDQDiuJ)PIQ!x}cy?2v8HLo?MP`p~w=o@kRcjQLpk`GtNaG)9T%F z?-l93W2#3K<<;&8#wazb2AS?de7=Bfx&qjJ7K$Hx6KMM`(Z}UX*cFD=3b&XdM0H0R zikO{%(?eEGG>$Ya@2hcA=xUnGezM?Qof~~)datWWZAbzsD4V5mDSr@_Qn1pw%&s%F zc0KWC2BvC4nQMli961bp*?8vcoQmcPB6E-;{mM+D^?HR#9U7Ll4C`|Kx6ANjLG|=k z!aeYijbB>Lju8r>V9(4NhuWB z;e>KP9+S-wPEsLSOn+^?Ug^nP#r;kux3sp5X3>P!t4@d;=*F&M3Z6?g-*e)MGSr6m zCBbDzet5~Z=+cqAHd~XjNycu-Qn%6}_XkrvoFqD3OjNs^b{am49PTwS&TQ1ddzbitIQ* zPTA9E8|x&hW>(XDwhPnE7&2Z1ayK<$vM4a|!#@MR_x#A!^Y!No9KHa(NIsvBfHvx{ z^l|aN-26V=mxvl}qga+rHSJ65NQd#?>WLD*pVSg-QD8lxDmXC)qIT(p7C}fS3KP3K z!fw)JQTpqiC4a<*A067IQUFl3>_}=A*ZEH7s>p)J5Fv_9OR^%*x@;$hv+4s#ynazQ zOrCT)7GLtq7@T}2h||hdg?;U6MQoqjG3U;gib=^0^stS+-QC`A?)3FcQD zA#uC$x;jnaMw}3iG#NFgpr1A=nv1XqIHBx*g`FbfvtcM9A4UbN5!B?<3YfBnnF`!$ z#m;~`rhlzLt+Us(=M3H#q{>{=)|0tnfJZCJ72dEuju8cyiABrMQ-HGhvMSN5N<=EW!4DeOn;2Owov(+-WZsf-^vEw{W>$lG64;5*JTtbK9nul_#M{KxMEJ0#X-)$m8Th7b&nj&-1e$ zE`JwB$Q7+ArR_^k6b1Z6&%}2weQktTbaktZFkGtL6s!8atsXQFSj*LBK{LA1`s=O% zWR6$}0&&x36?!(Y&%UlISa9gr3K3B!SS(BM;Ibtr%xc$-qV(QG)#0mIIawK{y=~6B zC#-4GX~^(uw+(P56y#8z_blA|^w)M&tbe+4Wm(;_xi54@YpddTU+Cvh_kkXP9fn*q z+KNTY;bV_jjG{`R(9mujn7QX62ACf_>JlDo+pJ?j-4OO%)HC)8=xB2f{oF}pQ$7Pi-Be`#(&Fo zk3CkuMNtoVaWvdmoYdOep7rK}oQ7*W$AD6vSf4^_n}M~Q@H{@I^Elo7XGQSLQJAzs zydkq%f`U;TXq8?AXT)|=$*W`cA!mfjSdj6GBVvAD z7@;*t`+V^@n1+MP>~xX83lef5mw&)o;R5XSdRo@)L|~XC_5)dBY1x87ZB7+hvQ$k){$c8@Ww&|pgXIYkG5dz&X9DlH@0FgpE zITlPRHJkQ)X-MNbSw4u2FeO_IC?v{A%CpOmXep;J0Ov{rDO@UVBiobsk5}jSp9oq#~HZi{O2o} z!K@wQW%b|^ZWEkg}rSFs>{1!!l$;rv}8z7IOdYSFp z=7*Q%@JnuUch?n}o9K+=m`YVk3+m*A*PR)hk{1TD5V=_9BIbjowtr#3NHAelb3hLa@?;Wx^gRNp)uOwIcA$)9n0Oj!+P4n@Z|Qi^tGMod=Sc=`*8f^N5qF~ zLmXx-c_@W55R5g#1b>=o^`PkruSoI`B-ys`*|uniy%=_KjYQr!Vc3nzW?|-x&L2b( zkZPFND?L09`CtDOk3`WYgj35xo}{HPxX3u=nTgla&&D_oxiTyiL|6Ugi zGc25{7q`FjK7VObkrZL9S42rQQLCG0>EW6R&xz!QG&mROLZMAm)I;emJ1U?Cv)jTA zavoG~|C}g#Sl<0e_+mO59#{;0k-z;RbCDMkrM?Uabxc6O9=Xn(%h4HFb%s74u3+j@C3a+#Bj zkRG+IJ=aE6n(p;*X!rRb_Ml3VAb!qfg{ke)HiJa5S6izYSj?}TV%6SDrVKyOffLV? z==tR*#8O^BxSv51(!yjNA(%%oz>ZLB?LqFkXk52YixSiNcJre2G;uSMkdQLH`V$VEt|Kg=y%lP0$u z((;4c&4MTjpg?7jLWFbVTGrLZ+z4XR`ua%ohtusthFMKU zX;ezRr82>3YG6Zc%Kk-^^pzN(H>6c#qSeLFUw=b?YFll5(TYSqSj!p;BlKC!kBwms z2dsG*V4Z3C<zUml^219x zh)`%W2co&ZqEtx%o>o}F9(Qi$A>?N^;BC3KhW_qz;k*Zx9E~tk!_}7;xnU?yx-q{| z0e@>hCSaX|M*?BP*ZWK44ikBC#@;*UR)+=o<3?nBY(nZd4`|y{+fLIGVObO)xne># z_8UUB=diOk0rEcPfCMj`aIK;*M)?Ku zmKT&vxPK5NRdHX-{mW4I(_!@tsu{v8M}NA4ASn>apjJUGV)Ty0Rx7a|&#$8hp^P?O z0=byBn{Qcf#oahgGW>4I0nKP*LnW8OI=S6)HVn)C71e80wW2Mc(u<4K2moc|i-`!U z3v<=M_a3hFamvh7$SHkr%SpSk8TD)zluT!W^TX=HNvhQ=72)$a5_;P#t0kp+5r04n zkn7xrz+D>y)|&%T$I5{AkemXMIhFXFfQS@J%z4h-LPZTYyCg3R{a*++Pr8)ZURn~d z)z!0Q>#QuyVQpo(@_^oh%GwjguMm2@3d><|Tx$m+0jzl#V9nzK)<`PVFmM(NJux36 z+pB7z-x_07I?FHnUKbr}SWc)1hkqzr0OV8y)L5Ljav1INq#o&2XE8&q5krOx=#*g= zLa;JhzL8Tsw@f+^%jwfGbO|(_Iyh zLS$5RI1a}lBxLn>c5=-aX8~(zgzE*YZNVGDtr8y(7ZS`6IyWSSYOkEjZoG;z$&OAe z1P{XirQ8~2cJW#gYHQC2&3~w%+$z+3c;BcpiK|za78!6kVZ`XkFU_Pz(rIZcuENEz zvN#WN4*j)NOfOVkkZQ##^4x^wSfF?~??pIn!W}90$q;A;-Ea$cF|5`3)9Z6>dJ(*H z6zq)9U$urI;b?|Iu)>Ya2RtDUILiH^Mqmba()-4osH_@>vu}A!G=C_hN^H_QCNgaG zFm>EmWUk_7v$$M0Q7C9=b$$-cIV>*BV|MW&tZY6N&J(z%=!bI0p;9wr5+wxrSRKPx zf2Xin-4+&IMTk8ztw7+xP$@8z8r+MRgT8 z*_l}A1$=4^f*A;p2a?uub}L& zVPbL$%Zm%xx%f~OhKb;)1j^d@2#uD6tJ{D8ymKHAVTh(s6H;vHsHN5eO!tDc_lK=| ztPOz7UiHDH)rQ?ME;Ao9`m|t22yWkgG`ts_`+dS6qg08MyMMwkkX0;@xkuY_Y3AG# zWxZxT6ccuI6LN;ua^LFbSeZW_+1=y_eDC#erH3oa7>eW1DjZkg*?9q2hZdf#lz|fl ztZgU63*rEC9)*YzCnK>Jb70C3^%D_zFu>B$!&p3eczht5N3iU!P)tC!%b{Fp285RT zM$pn#CbNBs#ed{gRc-68g`==vIJ~q&H|atTmCND$SPgRnzl7a&&N-|dxet@eN3lAy zqxOOnQ9wco2WM1u>M&f9>7YR6EqU`rEF*zA2XJEkH`vuVMAB3X{k_jS3UZhgW2*XGu)nH9f>= z`TD{2_V%EC)6xk+MyyEZionFTZ@|*w12}T`oqu31qpl(xqel)CTejuXCujzARM{6s zm?qFCQUwoL$lNxn*@o$9&x2$gRIBGR3|t@liuFvKa`>deKOwLGqE%Dl(S_W;6#J!h z2wzz^UaLG5jTD7*SUY+@W)|+n;?^^(wpN*dP1X1Lr~DZ46CW-W{#Y8EdG!z`PrHUVJEvCK*_-Z!F)6O*+8 z&c_M4@ZHsT;LQDB!1CrjK;$3R^A+`bbbkTPaI$e9K0^)OQhmXM3fWh`3zV#=-Yng! zl=f*W1IY*^sr6BM+_O!U!78k(_ZeBOVtOxBe>Dxsk;B@;e9ZrX7pz)+4t)PtFn@98 zv$3{mNA!9XCRmFlsfttNe<~z%?HOzLM*xwpyq{}UNN6HM2AUzDSY5>SFZ?Aof9qNh z2otWr#rwC`}~rnZA^`ukoBbCNs5{7~Y6{Kug%P29WajI404|>6T3r4BSzA z(F(JQuh+mVxiwoBtJI-b%hE+waDR;(_SaTW4*Hm!oI(+d&lQog*zd1l^LIXnWBXqa zt5TG~@S1(VRTy?)R|QB9-z+E$)TsJ9xn^rkwI6blUzL2w~qa(T{~6+<)qd0njNUXuF_3Bm1qJkpLu*utIc6caCLM}IfjEU+HM zL(AQ9)Ck4YyU-}v;Aku3P=thju#fV*&1YVjKMohiMV)C!Rw1o;;Cf7*@LpW?3lg~Qo{$n0ujOCs9&%0NtCq;cf@I4rpTx;u{L4z=m6|1v zlT*`}5Cj8=UT?LgLC>>9FMsGYmZ}wJkulg4$pIT8TmgSe_=dK_Efe!j zD9Xn|!fBwi3WG&rtgdiEqQef@P(ppM=|NM8bIdJms}BJBi;I<-f6V=g`h6BvGViLr zxm)kM3TuyeWi?b(Hnl_ulhw(kNJ8);U!+#tzXHGhIl z58U4DA>ju1t8Cb1n*R*$3Gb&!2+e%6a&OinN+!He(LbRoc$gqjzAENyn~qwy7U^Op z36~ugg5K=YHYg?7$Qf8cuKtQ_UNJK2MT>HEVLp1gScs5Q!&Ht4bo36)9RC)Uwm+h> zpN7*7k5c5pBtkNQ9e;z_sk{)*fjrm!WKxD#8EF*>W*+<|PXEk*!o*-j&HOe4NG_5) z)NldGO;eN~O^{tFv0y0Xd(48+(GWYnYgKStPH6kWZQ+>(43jhF#sKs%lj=j7{IV!q zt<_gkvx+9aV=hq?6CHhQv$j&KlMOFESX+f3^f56x1y?JEx__d||D0&cg|NN-zE5Cf zb`O|lD)@+kC#*bbRSDOAF%}~kSSDU2UM=2{f7|ty_haYnS2yeG1OrLyD{>vOwaQRx zkQxoh0{6lLO5=QZJmA=@7(IH~)xsk~a+K8fhJ9;D3rK~^a~{}A0$XJxCybuO3eqf! zWgfe_Fju$UihqcmMb8)7a^c_3f%{9?e&|a$a_Tb_GsdezgyGrMSf9-Qnh@<9H!b$| zRUx^zco3(5{ymsFc3(x>jqsB&CPK1OSCMd;v_aPGIg2>tW=ROcjdLUeq!Zxt59=G- z8Iq>U?!hMSlT~Z%gn&@`GRv+AIgKVCq=Z?yYQR>;a(|6#q@tUFdLoCl1)2W|_$3r1 zwfA%6VxhA6$XBpBa|RZ-o>Q3@rQMJUI?*d98s1*jMP_P3ZQyNfzW0mRdD90_3|92# z1%tec7kATbVHH{Afr`iRM~ ztfzozB(hH&);>fCE3;tG`x1k-HSnMhH@&H1{1#0c&IwkG1f`>a`Zb*V;8l2V?@MAk z%TZNrd&P+J;tkg{FXk#r)NQ!l`~%o|!~4)%JkltX)>W=!F&PN9x*JVpYdT1w^{5Oo z?0*EN(G9Xaj~v4QsTO@4z3@OHOdfx)a6V3UXymu6dqa>Ek{tofQgp5w;;D@<6d*-G zBF}5~S?HDWZOTv~hBq9k)w=yg%KO>xjig-VC7X+GYWaR_KXe_Ao%|$t@`1Njh1cMn z!{>H&4<+=1YrJsFomXSqw?7rvsy2tQihnAlAd8X+<<(H0hbx@oMn;1P+AsC_ZwLmg zmU9m`$h5He?sz~&yK1{n^Ip8?k=oT(Au9*>II6k^)&Aa|8VA*z%sJ~_Z7vuV_qi|v z5Lh^wA6wErrc@F$A~K-P>|S zxw(=uM$MVfo`mMGA;~BwLUya(_Fv-2OpOe+4K~B`~U^M(8a^K_y{`&eh6g?CUhc zN8?dmtj&wG8008<P%5fD4iCr~{86s+iXMoY zR^ni71%9vwH!)lHeYK%EDvbBba}ODeVr>pP?*AkX?|nh6;6s?L@IkKo!ha4kcYhqy z_kE%M%woP;IxUy!r5mD0Xfd)XLWF&V&|4EBMm5NxdF1-|fFoM2(2UEnjBS1=7!_Ts zvTPq&|o(KUpGjHIdozkfF$_ySgE_Mktr zyDE0ds^wN3y#=#(e-aq17>%4JY$91*R(ErVm3FqoQzLt+<|M`f2Gz){EH0Gk7=r|* zMu=es`EZBe23pDEg;6oRZS`u$dInpm+RdBQP_$^#DZsc$-ltDS1{$3hEg7OcWkU!j ztSv2IB6`3=cRo}|E`P*2Sn2)rihD4F1}oTl@5gZToL9j2Hi7&qChz$udUJQQMiaFp z1}al%cKuRQfaEqpA!uh;jMv6|#xTf6TV#kq@^`5SX@-yTD;um3cv5VLZAa3GbF(Bt zS2|40vCufNbHKSYBDbqfvbSx~VhftGzXmQ#xXG#L{fa_T@qbBIzFF_rfQ&4}h3!Arm#Yl-aDq+`9I?yYr$qcn`}A;+!z5gCEY5+MuLPNPd-oV(rvFtSv4WFDF8+ znhVKzKNWV-2!CG2-Fv|F!Rvv8H(;eKQ5FSyg;X)kU(`y(i$WzV&wr)A7(o zml`B%tS?Bp4KYZjVjVzq0583dEa0w9>BFjI>a3h$1jM;f;#5_f7lM@Bxx20j|3$~j zsTAVT{c0J07i*7K#PHkTfFk!ZIy8d1DfFjV(Y!(`F@MP(Wv_^`YHb_Jb9q&q?DTAk z4i75~8<{`3S(;9R4DFU&*lsaMB9zn9BO9PoSFObBI+Fi9p2j2b26KiZyCqihS%ze} z4qom9kvXFUwr!5tb+H8FbFRw&5)bGy-p{U}WxiT1cx<-{WS8-z z>|-9H(SIGhqm(ud=Ue`}dB0xmysNa7IOdTI`}g|y-lLqH%F4Wq=k?EA z=ViTefI-o#i!G={Gr5RED&a@X3inB`zN!3$4u5wzcjEu5cu*cv->30_R9D_oC7-|( zli=RO`0HBJM1B<7RZ4N+vj0)odEpbQgTUP387by4WHd^oQ7dAqXemXB4{^Xr2%TFw zHN}S$>$EIj9&T%k3l;r}(h*D&Us(|zQFw&Qr&$)r$_9f`_67qKW`rS?ze`_2GK9i~ zAAdHNYcCp%->VHyUU)nx59x(xlOEEyc*vSKF}-Q*;ozPORYWutkIoGxP0Vh=6Mp?& z*m>a-!3?Y|&f&o?T!n*Q`ZON;;-~UO48rC`GJEJaVcz7tpThFgFguB=wxNlK?MY!5 zniJD=O$e_((`s#iMNuSqpBhRh*HU>jFUdEpqP`*InJJBcnZP*h^94dDIXR>_reJ>wm1& zhRqLip*T@(sK57@mN7XwQ8S=*-Y1zc3FZewM>pZN*`_IqlweHEC{|aS1YSHY5qbi$ zeRE5^P@h>%w^2(2OonEI*t8iW7_@maQ1nm$(F2cVfKv7>`zEs(4xYLqKWqV>iKJPyiGIp&!~`Qt<$tO`So zOW9$hi~&}2jfBD4D%cO;+*Is%P&WT_DdyKzc*v?)6)6I?8uUSH1V1r3^3FBNI{veH*r)|3qbYY=5@%gn#dN z!e!Y0gv-GETR8INPvh7P*WmD%KMlXUkQljqKh7*fapY?LBDXBcrl`(}g!G#47BCnq z3k#y_(d2=)7|Dj-mcoOLC)DPsi!)kV1&RWwi;@I_QTeV`3@eI4<$&_5M909tjBGih zY%@r5nAp4}6`dcq2(c@#xPRkGa=*XtQy(;I18QMJpV^IuM*n!*4_t~ff95yvxc~Gi z?Em>c#7URD5L3HOH^b4owI=u7N`nov#dfc8I01#22cb+CM*`4c>a8$eE>6Q0`7XIF zJOt)v0cjhaWwKApOL{bxEwvu`mRCl+vpKI`=)f2V#tbgC!7{917k|dY_8sxFI-!c| z+{2Uuwt=|zHh<^WvHZ~enB0B(5D%Do$e;qc_3@Wt%f-(C16aQ2n>hN9AHm#>pTXep zgJL5$D;%&Ic5m8sjjnOVHlX*uQSLJ`qrbF-$;n9+MNb%=B%~H27aqD7Yzhz7Dh0~0 z1|@i92{f}=8)2LcZhz*eN$t_gg;?E+3>Szz5`=UOZ;}F-u-)6d6>f5}yZt(f2h1*T z!T8H>9{l1b(`}H62TXrv;~_l*lY1V4-LL#bob!8sgR}m_Uts$Wy%N2XPHm(l*eA0O zjg(kBARabnM(HxAw{s5G*1+YU@_4_+q?y3SvDcQEcI5@kwb8@ak8Ed@!Yxl&AORG zU%Fav>Kb8NZn6__~V5qf!`3ZvW!KDTY> zWbd)EFdxHggnwWP&3Z`-50l%mDLYuWU|DdmY0qWC@?h>b;LDWYDmZ?YX_U;p7*FkO zIAx!t0bK?OB21pNGdaect6e*b5W_B!;Vl<>Ro*22e(aX(u(mLVVrGk8LDdp^yF#^3 z?qB__x95@A{_;m+8#4w+9>nt3K8K|*ehlRU-`0HsUw_sGgy0pLli^5rWLN;uVFsiq zidqS)DL{si4InT-33@k%DJ0E|@>J3+WQJduhugYc5HAF2*DRHZbh%uWEcRKjn(MG7 z2gAmZrUSy5I_YGPD3CbQS{-XDuIah@p@aj~`ZD(+A{_eCRoHduOIq{1Rzp8Pvj! zZw#_GI}0~8rBZ;hEY$*W!g|-W+KN!-SKcQ)z<=EB@O4*X=QCd1>gBwFWK_z8e6iw( z7%Bsx9j9RG>6c^j>6fEC@*vi3{zvq0xfcG;n{-I<+{&!!udcwC12{LMd%qzRn>}|@ z0G%zok|{i-^e-!jM&yaeuZAcW7eEtJaFdg%9I-JP7M{t1(rgCwHF>_vAQ{EP6sESH zRDaJbd$rmucs*MGvO-o@mZeis1gcwHVtrDNe)($j7w6$NZSD@QrV8XCq1umJRWq>t z6ii%lIeJgK9Od#n%3D8=^48A-U;n&Wz9*T|)dK3mX^&S`!c{dKmg)>A8z7JQ8TC+$ z1WMzO;XOQW|JV^soxEGIl@xv}Jz|E6CV!1PhVhXN5|}z^CrB-NL^A^oy+qRcF_#tE z0rTNRgm&2G@O4*V=hI)j?mVy45OW?d>rv}dJ+&Eh@pDi-?%CkwMeuFc!rk_H;Px-1 zpNSxpuT1!j)#fN<1Bufi%Yf-BJk;-GmF+$H$B$xS$4<45EICgh#|}{IC#Fnj9tJIg3){aOSWQ#Ny;@Cj6 zTsWfvJto50XEMAPvl~q=_xSa77@pbku;zL8Z+?ubn%RW%sTuG^KU94&;BNmsdY}DE zY+hahFD*9VccRxUM9i_A0mX7=Hbyf>;i2If@pxl7YsZd)Ca0ouzXgoRFrLT7<)nW> zl5?2axvMhd!qs`6tBug-R?Ce2TCR;P3{`D$A}HCVpnClJPY=cZ$9|W z^f1_$3QU((ul-u@ZPV^kt57Z}|Dk`SXOR&Ijc%-iklMC*FgC!G3a9-=j$MCs11$S7 z4Ka6rq}`HWJj@-2$RipeGs>wMEWYebKyL!8y&jgl$MT?$vR+d<4$HZ%@UYu?bx|Uq zI`JiaL##Ucee{nXi#TUhNaSO`2!O8vB;QXVj&rI$D1blIQ*9 zX!l7Y#OS-sUw<|Fi*sR>a1crab+pdqEifzv~!;)$DQY~IB6ROjep7ow-sJ0$-`TWb0 z2(UI7V18u z7@8K{XoUeehfTXrjmGAvS!|8aiSZshD5If;iNv4MmvERqB)fLS5`&cc@XvoT2@er~>LV*(T zS6Xq$)z98z<?+NbX>F z5)p=w8UbM8#%q!V%in+XJkNLMd7~KOVC!xScAt&55l%UlI`AH=%vfZP#j?bT4Cy0a ze#nL1Bn)?_^uE7_)#Jw!aN1^^t~Y_%GxlQB$-6KyyE$u&6SJGq+cYCc4?f`}N`f!@ z((HFZvMpgGI+j%))kH>y8^fXlDqk+nVc~|Wg{SJMd|N#gj0b;RN5KJWh{Fq`rSqPd zP>YDr$&D=GvF1INox^hB(078d-9k2CgKc*e9$mNo-0{{HV>Igey%d{fuxaNmY}s=b zHl4g16SJF9Oig2Q>vl|SKPh3?u%US6R3`wymu16I#F#nYsLbb4yhOA=9I>hA#EJY(6?s>+|^ZYvVylf~px$4sXCnm>2PT)zdom_e- zJw>ubo(O+DF#*iXg0^jko7oJSm@v$k?!qHEffEy$+_pna!iBd@QnSzG`efKH$+@-c zYHCJhiJBCW@;Pm|~QR%nR9 zrN{ia&k&#Aw?v6{twd^BSD?WCsVNj&wqj!E$>@J=*#b8;HB#XrA(P4NJBMiW)Rzit zkek&Hp=;x7-Dwsbje40+tm1uCpYVeL*5>E1eBdE0eCJ-Q9zBA=^72@e1V>|xU!oJH zL6(NI@|A1Gr|J7K4bf*p`4Dd_p&>To0q`FElg`3m%Ps*g_+)fJaIi)0Zd#V3Kv_g6 zHqC!vV%v61?LGw)TeqRuG&2-7nb^7wMa>b+4HL;cFn7M1xoQ$^HR`Mf{Gi0j@ne|3 z|2vq!?;fliJp$if8!KfnjOcXbdc*z82>i76fLnNi%kxSr)<;WLJF`?|;qT^)_g zV>`(T+0II3g~SZ1zc22+7+Y`oct*catg3&Asfn1EtxtTEm=g;434LAUR{=0CHqD?{ zcQ^*i%kZl!C|6fhZq=KaMQ>(v=aTSN@yv{&%D0zz(Xzzq;sORsizwID%*BTsd4D`g zewP?!+f_f#ZS8BHL2<#;wSg!;-)QYKKSo(=ywYnd;*-@_iPk(+(ueuHn`(1b|E1?)DSHe>TGZ0Mo$$C=j( z9uKwA5eF~mG1##ee)BHS`~d+$xcYywWcYKj&Wv)qIZmZrU1q1(+VW}!P)tvwn4Zpv zRoV_j`*>~K*&Y`)YR@O%=X#9KEbbb;6QYyn?mU3T^oIV(0~p-*jfW-A^Xtg-()r^K z%9($?pm+3I63N?RI-3BwD zx&(9lX1{B5gIEb%5BpDmi%Xknh!BsEy4< zgKWIuVA~lO%$y`dF-gnBMJie@&+>^<1GVfDvBx=kT+Q*f4xy4ePKgv<1QQEL6V}I~ zUati@bl{$pAsWz_VK^k-WjR3c)vHEiN2BHM-6Yd4K_mde=)C%Jo@;-jV^Go`}>M-O20ZJ!&PWI9fs*KqS>t|#z4=>fy<%H}>0#uwn2wbL#FCTCP=Z8Ie;`358l z*)-9w{o)U)!jSYv<$J~`HB*@*)Dq?DkcQx~(KgcuAJ+(7^8|k+aIs-Xb9=(v>cRsm zfBi>WD&G^#^K7^cCotlA($iIj=St)COc5f#)=s-9`8*6(;j%GKhAUj1S943Xi)0YJ zH3w`VCu9pqlfP5o^+k_fkq0WJFd=sb7H!Asx+$in*XIIx9UgF4(%DQs>9N0YA(`?U z*P)m@)RE_nK+}KE<$22MnXZQUs*I{s)vo#~#rOK({oNO2FRI*PZ32NyFDG_dE@IAl zv!nsQ3_loPu(*KLV@I$ye>~e_OMVvjp_Wh_hnl1sR(;#F^W+)?|L#TMo;0Smu1ZrG ziOof5TUo}f_!kjjd1VvYF5XpbsTIkJId4G$`XT>W%!j9 z_(5M|tNlKvPdYh48}h|PrjV)Uz9|D0#dGK!Hq~>%er*-~x5n!+8&AhN^p+mv%PJ(7r3k&O3Y7Ac3u9pr zn)njy%av$Wb6e$Qf)wC=S$Uwc#9(O=tA`I^<Dic6N=kaOs5n!%=%c4FJ!GcmJkcPp*`#0`ItsN0`P4>!i-y$s#+3v)R6bN{tv zm}m%|SG!B?*^JS#sccK154ZC7rEj1ZVR#UQOS$X3_*n{}mKxd9Eu9Tnf2cW&;L!&I zluJwKA3cKALkG~GpUWDZz4aI7F<4#6Ui_As#Nzz2Sb5u-w_7@1eW6con!(ITCt=&3 zGckX2@-9rw%nD=Vb%bEiyUjJmt;!NXPvS>-qGhNl2|LVKz5e5vx#)SAKjqvZLPV@t zC*dj<%A-xlZHyDly3%D+4Vy3wYs~d?xEdBA&lsG19;PNXfd(sT@pig~tonV((*jS1 z$TffV9=y5=zqSglmF+pVJ9Ze+)s`LNmU1&0Y2b$Q0+m1XSyhd%+WE@r)4T&CxZ z0)c1U%?Q7f@JiW)P-nxg@_uFQ{mP~=DFr}X)`d!Zz7plh=ZVA8E>9xE9EE0=_rQPZ zD*XIB{QNw4byaN*U60r|mnBw@AI(<7ZA)%)E9kmyo?_}zmL+^$L0fO@CMGbobsJ`O zpRzs!90!BUa?FOzj@aKFzw1_$K(_&yebbLrG%4w!yy)LbqiI5_GDi8mEbFiO z?{)4+_C7L9*MIjr9+k{dx8ZZnQPqD<84OUYu7FmSt7SC73lTMICr-c!%axU+E7DH& z;*KZKZ=;NBMrczABg4a^$*6Qe_lM%n&1USL0yN$Lts0kL{;E z8b|hAq^e(HvH2*hgp%LcRJxoRE4(&X=f&?NNS&#M6+0$|caL({`RLUK>z;#x_a>yy1fpRc_UtPgqc^QM%RrIDeVS2|7fWp2H zQc`oW_1I(zWN3P!|2?iYjM7V%OQP!+@*HVL?UWuK+hc+m$LEgW^iTZ>R$ln)SlE6> z?MbDs1X%H`|AB-CwDo6yMiH&R}I3D@TD% zJ9i3|Qz`2a91chRCTX zVO1KDm*G-|+*16lY`)CTREDrxhvFKBae@`2J!R8P;qB)F3`{tOX;)x#F@Y)P(6eKV zP&P(hX1XJu;RY+%bmV4iIer_qPfuf}H;IX&2S?2a zq%|^~*NMMF8)5jl`CV;{9Y#pxFtu%4e7tP}c;O)WON*mb)$@OI@cn)^1*oKdr7FM3 zL(8&R1T;<#=)}Gc0x8CC0?V|}@v|$vYJ6{4QZ0Af9=PvYc;qMFhI@bT)i`$Q`As;I ze7OX8Ho4xAP^)u09dbjTw0Um84OTEccL%2D?!e^nZ#F$sv6ZP=WZ(e!YI`^}%eM8U zT0Jko6nLJ4&3)G?78|%Y&-u)aQ`Epjj}hb!n&nPHNUsCdQ(Km zR+|j*N#OzX`g7Pc|7}by-G`~UZ#T)f>1xRJr83Q@xCnnHOvULOMLka7s4-7uWcEXA zk2Ep68O7v8_F&58fulAGY@2U&ehyPxx21TZZ%M79eA_yv;w1Sosml#&PvGoO4NRpM z4_ZsRrVa4+-s7Qz4`AC3AHZYo{~GSS=#^O5u@B_AI;XjU1BeENjN#>azt)3Jtj%F& z;ZDrX-Hw0B)kC!qH;a|9rmI2i*OOfa*lZfgdkDGpD7pc=A6inqiUJdxXO<7cqy$ zF@Ah^B)cq&3+PQvp*OuLpOV$#-BH?09;ZduOI)mgKE`Fo5;7BDVw+EMu=Al<&K)10 zJBG!jui?~#cf*}^F^-<{SR6g|ak|r?s#WX#YA=7uFqEt2{!=T5uxb9=m|3_JlWT`N zs`e_hG8`zl08YIcq1z}!g>Pws%D{%eGXOBTZF}}&&cS8t<*5*W)#JzDCMMvDA{MC< zF`+TxqD~J;#*5ipFpF4{(HG$s>(AtqWMYi!H->S}K_7>X9s(Wt1PcFg>^p5A{8>-H z;?{pNvAStDRyXZZ?KjJ4jt0mcy|p<^tj%F^{vPy}4q$5WK9FCnv`$@0J?`r`BbKGqiIF}Z(v zixI!9%r8{$!=#=&LvSuHqgG;qc(39IB?ke!@(GP}Kn}&B?%c5IHWb);(k}F8w_yIr zVJzHrN43kN_l^2{FRs>FDIAL4L|nPLRvTSW6xB(s`FnCZysO=etG8?_WJy{9<%1kW zGlt0ff@N`C8C#V>A%hbBE(#Ecf`osH0>!48A-($X6v7k36IzH-nuUOJX&HWM8pY(K zqVb2%s8u6){1BXz<4sEV5fu^A=Q9SIskpOb&CpCYMmsSzjgwA01B=IxVe#0Js)yY3 z@q1ZTUe0?4PxMd}fd^GIjH1}8DDvQ_b4t`(a{82q6CaXE2d2h9Fu)F=6M%nbKqzKr zGsm9=XGL3X+lAcj?X&?l7-aRmKR*w*V~6Y&Rxc&0m&s2YSVS6DXFGM#zoh%AWXGo|O;|e``Y6-K_+d=O85Wj=> z7%VKHw|TRAo&fjAuXU0UjQ1gQR>P_evEI=X6bg(O!;6wN@VJz@=}~S!^>p-CmT~;R zL+G!q!WBhi((r_jGY`xYD44;HtMA4jgJ*QU$_qp7Yd3-0UApUqXPAF!c&^9{>h*wL zuUQgkE{Fzh;S6B}s=I=0V<7c*kltJrV!q!;xw3+ZnVF!+r--lK`|;Pc%1z?P0HfC1 z5z)|SoNMVRLPNb@mT5%b(sqw_yJ8Aq>`5E5qt}5gt4|d-RH)GQy$|iw998Z;yWjxca{po|&9X73)p- zMIuh=YZ3%0FuL)C#@i_)(*~GBF;Ej5KtVuLi&yKlh$bQl=+oXTgX>?7erV72hwgya1MZ@J563XaR za0i1{8ez=CEJsihNZXd&WQrHbKOC)F-eQCXHk#SC9n)L3VD8`ntSv8zT#zFJyYh~` z8iw&GoHyzZMV+KjYJ}eXCdpmg_1yc71RbkZY zjTFF!w&K*2EA>nU!z;Q_lZP~QMVHa55zZQmlZ$3^M#x|g6Ub49;p-c|9NKo~R+!$l z-KV0zvV!9WAH>?)YLyT6dP0iKgC`h;ukyb_tkmlDYC|kI1`BP3-wk-ifeY6}@RrK5 z&ET@-h=PAi+QTfF^r#8dEjeR<0JBX4KI?4EA3lV|<3}+O_E~V_@qDj94-+B(UkKdpIY@S(-Xx1&w#PFg=9OCWFe31HV z{Xu_RzGHW(jEn=0V^lW3qa^mUP>#X@^}eMVHuR-TCn7yDc_=5Q5azQL6BF2Z#$GJV z9mm4qgOwtIpM)#w0);(%k7I6FBulBAcUqulhSS#%&y>s<1X*7J)GGneh_`X7{T$Y{ z2Gl}Cu_&UXMgT-nVZ9rP(yGlXk}%pD_CkNnnhDJ45p%#si$#i)lc7*GIY%4PP8kEq z1x%BxB%DL7B(GD1b|cJP7%>m4yDw7Ne$$q%nBKe@bB7LMWnmr@lT&)fTAdq82uFIu zXqZJ&(UndBo?!;o*f#>e62_qXlJKC^FX6Imn-ikKC2B1y8pF$ZJ7bKZTM`VhC>ehP z^7(%Ma5`3ASGcvH$dDGgdcZV-gh%@Le09venW-HOKupD{V!zuJ*uMKztZd$bxq}Z? zL)Vj&=!qQB_v-4|_sj~`MqR20)JC{IcxKHHP}USGW^+spFtqL&G^&8;?l9Zs?J_x{ z>7Mi$7>rwld{FL@5?Gj^gi~K8<>XSxEIUcXoO?JGlR0kS~*aWre$V98E18l z1iqKaixc%z*HKhtyj`vmRzHK1%DOP#ctj7Vp_K4qxnUI9gY3fZh|t0jGlqZLYC zP@0^$ATjiUkDrG!bHJG#kqi+b3qB{_&K4?r4Bl@ShsXBJnMQI@6ZK2?9J3m)oLugcNrNWCT}m2hjTjVR;oGKSW|8I+;C zN9(A9N5!$F7ipIBX+cg$*RTQXt2a~tC~6~YgJ+i4R#CE7RkZg$K2AlAc#%*G=x+bb zDH*{4_sAJpDmX|Ph@Bqqk0Pm+N4_KDyO-`CCfrV`E1d5`Ug=f|VC6?D# z67TISPg3SZu{X}@!ng0c5f!rMkdp1@!-|Sgyj@~|>j9#3X)?D?#bvIp5j>{`p>^|I z8Kan@qcJMoT-dSw?5-s*4J|D_hEp>$*mc%E%pW<7mHD|!1)zU7(ZDsa&#ZNs0jlJC zMUu`8EG#WV*$eiZDI~h`T8OSgIIf&+7^uh9c{XJrl+nB$lo!nzv3!no<$&#M7fGe3 zJb|Sxe`B;9;6{xrIauB&sD1Pjl&?HwW5AAnHu$9^RH}T2^U+;Y zWWO74mw3wc^n$y*jjc>`kLg-;%w?k~!kMj0-QF_ae9M)3wvA2MLd8e?&AG0X2$XHs z6qA$Kxo0m{=I1bX@Bjw=KBmfPOnMLYC5mz)hUm$%_J)5GRbjHUyo8n26``1#r=qFq zwyUGm!IVh{ju7`2r{R=Tfs}f?6esK~WX1}?+y!NLr9DC|kW7=qwB#Su?g_OVoH>X? zWPj5RNCWtDX6Bei)U=klp=5vuf&vjRy?F~JXJ#>f@z=P(!yFflQSiODHU`l%R- zy)P?+as_|p7Z<8lnUMC)r2$PxDyY>%d%~8L4k?BznK-0-zr(!UP#{|1f7#iRhp`Ar zPPdr-wafA(nlBe3M~y#6EvlW=R(5BZAzIInk`vm%X)R1`B6#0a$+;654bD+g6NJ#d zZP#wB)t!|7>MACt)-dR=Rfae<4PQ=T;7jytVr+j@vZ^mW2WNJ}>DFi?^-DsqQ&99< z5qdK^L6iW|qZSpN-4ReLn`U%2Oe@IU&d3gUte zb!l5{xWmi;A$o?oLQagc#gMGWvff)7a_|IsjLnQdW;Rn25w@PZ3!6_m3FTV9nk{w? zZp#h~&U!4$Q_pGeYPG$+4wg~vD}b0nTnT?dlqp07At6Wd{w)74r0tH~1{%zdRaA`X z?PO}^eGoBUPYCXagnAGw#po#45$UvSv~CW{;dOE`O&$MQaydrZ%KF@RKuq|f7j7V; z)&i|2%CbXT04NC##ik1X8$9kgSpMOEg>rH>ZUHFe{u8-~(KAq%O8vFjV^T)3PA7lF z*vb3MeH+z(`8%vU0Jpd}LQ&BM)1-q;a`{bJ8(yQLKaK(B2F_cdn2zLGKpWbF4ySOX zf;#ys936#Fd)FmLo=IgzEXflsJj13)0-`RZd40d{u~>V_uc#d-ayvQ6YBaz`RL_SH zRmE2*sHlNAxb{>mBz+l8fv1kNq+ox^E|TOKb`}-33QpINvGT5g$B;Qa zz6{1UKshKY;~Nan@2`ym!{oM>49m-Pduy14ukJ{+6HW8|;*5(CLB4Ahp@o)^i0Tj zMTG_>${OeNRco>iyJgw01jQbrh=6oQW_LX8h!k^ z9%>Ro=F++wuyzt`&a=Y-3td$N9U%?`!}m8GHJnSj{v{mXLH&lv4U-8%D6%3g&{Je zF_FjzwISM^kRU>G_!1b6Ui~ndx3iUP=6L%-ige{FRf0~GN#ljC#` z9Hn&rtPDqD*zLXN?$>|JK|6Z5f@)Z!okJHw39Fe3d(l-SfsPB1eG@L3K{H$6Uh!|? zjdyFK6lurRv~IXb3XSnW86u1PFg#9g*CM4g4RVd--jMYV!HICJZfnmcD&4`LUwOXT z`wja2Xn?EBOY8A~tc)-hireT;Z7w6{33UgfXeUD0DY6W-qd1DpC$QfRx z9#J;m1;kPcuU8KG==ayq@2{ck53sVbgp*G{1M_po*4c{7v1~_RIa@Z2l6q@}OY$Vs zQ9`o}h04%dvuKRzMDg)G6e3{BhC#t2`_&}T^b@8YJX0$&X=X?{J5Q` zVe+57shWbw!7L;UlEqABm}%yAgXARdqr@vpf`N#y&CgP7a){x@aRXy~RkiEuLZhyB z%YGGhYXdBOiBr$okLj7&G1)L#gK&u_7_}0XJzdVodnD2k(WB%=kaEV~w)k)qn5C7} z&_dtRtwnzknrj?#`qjS+Y}(uyQYXxU)ZpZEvsg|T!!ShN2UUEKs+gPVmq8#5i&$*J zt*?jlgBNT7B zHn^nCxQEGfB%#+{1TEp&R{ZG%9b!i({B7#FuR&h1=aE$#%^F$`X32QTG$hvp?W*!^ z3ahjbf%1-ahZ{120WdjUsC1(T48|vNzp^G*4C-ok(C=eyZ55j~Z^rJuXSKjz!*BoJ Y0Eo0;W?=^5)&Kwi07*qoM6N<$f@c(C2><{9 delta 101783 zcmV)3K+C_(;{vd%2C%*ge*ubHNklsXg(iT1G=YTVVwy*DAzUu_C3yw{F(e^Cc!5WkD66sFUI+s$6x>K6|e<*PLT~<7?=Gf9E|2=)O8sCfp*gg}IxGh#}}^NbK9L=}M_RV>okwwqxq`+K%nT|O zkrY+z^N3cvb{rs5AyNS-R2g^Pe#>_Oc-a4Y0>BXf#{tX$DgaegWrE!tyGwrYIY6s| zm=Qt*g#cy-`wbKo5ZPj7W`r1_s;E*?YVL0ist{k4AcBfQ1qej8oQa?SiYQ`ahzM#a z04au;K*R_fe*gkV0g4PFKvkepL4g4R%A8Sa0i@aj3yc&KL<*z|R28BXwG=1>413t- zTOO;UjPhgK#U17L=Z6m*aILHq=Jwq=z0xh!Y(2Z8DK&T z_C2b$2#E+)0A|L?{$daVsvrb_2z9mvq@;k_B5OCvo^%5FEo35l?8$y8a{!0rJ0Sof z-#rv6f8q-f_J)D}_kjs2_Vsq*6ktFUw)2Xhlmd~8;=3|HfK*5+pg(hDL|@%7#PN6Pr1D;@;qS}Y5MUo$een`j;|L}o4Fkq;gntNI0ON=E_#&Pt8T>WMfV%rqh zPLf)SZ6u_aOGb>bFT|WDbw8R{)!4k2oX#bq6!U+$N^OZ3cJWsiXWGNJs|dUD@Q=Zb~+Id ze+Mwx(MSa3To5?eO;y+~R4ZbPs4BLws%_)MzMuo6P(dzsVQbAmC4`jhX83L= zP$Xg~+wRKDh-pBrf*5QStM5HA1XS1#83?GkVjKpPQtXC{B7(uJ2w{LKkfmTu0SY?` z2Y=GrZd7ZdR$JTlu!^A8 zYR7f8>)Jl2J*+A6pJTTEE5*HDg_DFQ*jWww(F1d(#`JD@$yid-w8(w|yl>PJS5e-R>p z!gfO<0uk)%Mf~CuLaV<->_U(|IaRG*49s9=h*U(c2UAME%laZFLW~iB0K|4-OF@Xq zc2pvJTD??=G5PK&US|e>7<`8%f~aE76O;s66fp$<3=De!gVkot04YLX{~E@a1}GS+ zg2;?oW`w}L``JQ}TJ1CVZp|Ege>Vqm_T7bS=ZPuy8m-l$Rwq{f*#YBfg<1=y^?Ktt z6o^z`WVXYosK1YZzzit`C1^GCGP-j|hj;dGa=uaLqqpBUN0H9Uu*zyHIP}C|Q*rH6sU^gNJi0_Ch0x8)plo$CR zThuB7wzJ+YHUUg_p~*fdO0K@c+OgIeBD>(!_I?lp#BA?rF5nowg7jLn+5;@LqSS(U zn*F^Me*g(mORuL@0P&xZf9KiGE?D!T3QW_CwkgEmL$OP2_-v&`@#XQe;?Y-ovrC>F#Z2J}Ry4Pz+ zCeU;o5Jh1Ij|WbE0TQz}6$}vDLhzc2M6D@kMXlI{Mr2SRh~EkofAQL`+A+e6QVOb6 zt5rhi1uirB4YQ|2sy7qjHIV|fDq`=DeTT9A-MVxUKokOdKk84a)Y9K)Db>Et+90GM z0e%eU*^VrQLTW~lYKzm4zbe)Z+iqJ?YDE=ANC8@{YZk9*IasM+oh?Ds>bRJaH36#N zkdSk>69fMKq$0$Ge;BRHPQ$qDXdthEQ#OfgO`Z|Varw{}w*(t%kIOjPd z=ZaG78Uc!steFXk`-Y=LU^0}zc1lA#N-4-C+m1$rA_WS?dcC$rL#fyHRRx$Q#9E;B zob$iWjwfE)~>VAYPBD`fF-~2JE%fVUc#Ee{u}o9kU-(!RyPm0=468sA1D0G+sz6IYAVRI$7jtB`9jw|Hi|@RxA*y1{7^yuV;D~V;AdZ=l*Fqcu zC=kXpU|g+GN=DAJb^Rc37Njri5Cc>NMHE9CKp_}*=^dmBP;0iGj>x-gAf^E!CF}0{ zE^nVPe};$@6RHSevYn6skk_vv1kBT9^=nEHe|S{wa}HzbuMvVhh{X0#jN=G^0ks`C zq~P~Jy~7v86rgI0vcYA*QaYR*4CB9Xj2%X>b{@-$_l3d1Kw>F=_$t{E?VT_?E(aK} z8$v+Ur9f{roq@yl=fDgGfz&!{fufXxQf-$le~q0)%)s2=6GsLUBc*6~8xy#}2>w|>Kn&KQf(RidJJyQ*tTJchx%eWdR!Jbn zxTi@{u?N6vstjhvuo}IDv8IR!R)5ukd7hBx**>2tv=+=c`;H};rnNysY&#O5n5MM> zf6UQ-4tvAZ9?V)R0!N3ItQ06UJAfU%b6@V0J+}-(00%}D1%&!0!%SGpI6}!8CC~dg zf*G|M2&>E}Is0NXFqA_8n4#5iz?y9up=w_ntmCueRF|zN@G^Ob5mo#{ve$bXT~<{A ziCwf>tll&HP!Pj_BH0_1<=BNEk8PoFe++gcI5yURZfj70QYvEf_bG~$g4Z2}1Lj;Y zc-^*MPe?JKRz)J4dJwE8Vq#Pj48veRt>4_35=t&UU0{@I$M!VmehP#b9o!}iX*5ut z1L7D_O9hWMQ5e#IoU@ezst~UiQ;3-T<|=^g?QPUjkxRyq22^HS%(@IrLLjS$e``gG z5gf>y#(?#D>P<@;R*+gC+DeRK<&`&B!J(KGBU;U7r=IjOsnoKs-Opf{S{y(&EGxvg z0G=U1Yqh#;V=>t%uJ&%Ufv_BG_n;U+O#URcBAM)XWwv8Zq%S6Q_$6m61IUqd5nG@! zBoH@%m%K<q-3>D2!vd$NFT-(1Oin-iotf^pd0m# zAjV|CHd!O%a45!M1t}TBU;wX;wrp1##{qGO{`oS7n7|zD-(lCe)C`VfjSm<(XM|u7 zl-+QHra}xD#?f~t_8lk~t}4~0C&6k&fDqGwQYx4OQW}ubfDjTyD)Kxbe+{q-SAlOfXA5AtW$I?_jOYPAOSktX5|$s&}J=TnbW*Hfs%xc|9Q>*hY*2r4+1pXArT2 z-f9hlH+!;la0^Bote%_aT__l&iok?47&;MSaFoLUeL$@&Q9GJ*e<>g)1P)*pZ)~!I z`h;45EZPacLL@5ZdIXm8vA%cVhS3ywO=!0IRR`a{KF52?0TNe#mAd73RIFZ^v+ zYzwK?OxinIGKPTFZ*4Zo)`6qpYF@dwy3+8liVz%bNw#AW>}KYYt;Vbd0SOdynE_EB zzynH(6a!+4c8rste~K;SloCV>O38rw^db6#>oZ_$M6xZAogI{tQJgRVHApH30{82! zC?#7tKsK=;Cd3eJKI?#WN(mt{<~$?M1{4qDV5L)FTYMmJ^aajVPukI%oVZY&uwnHu zg|H9_yu1S1RK`ZG9HLEJpcsaPz=U}{0SYTe+SIHH<}!Q9e=PmMKe;1V1htP&HjXy{ z6u7Tu@$II~XRYO?juAFMm^Ws>%w(_OM=p82p{k(3D7o~Bfh{!kaZ&M3lTd1f!e-MP zY~fM}_T;5#v5F^hS3OHbGB}?7MBqZ9K&7g7UG@Q<*!cr6Nf1Qvt5LciLNOr20&1Zd9>1aH> zMQ=-jFTLLUa&ap?0it==X2R6Jo-8*e*bh9QMI}tCr085k#x&W3RI=@Q>ijAz0&jvPZB;wdd3!n3A)N zqL>iV2-MOG6a2LKp{Iuw+wXDKn_fkZBE_XViIumJH3a z9oLR;q3xu;=tb4LKIsJ0Qi}gvtCNb4;owsYJL=I%4yEMY-HF-}I?oewE{JKgnXi*% znG*;=nI{AT(7+-HwPH{O=QS`LN1_Umj5=o^1Qd>-aT^j>n3OOHAe2y~Vp>m#e?vmm zf^jt1QCI4iIEiBLCUp4OPB*%nr@ z2PcGpX}xw@mR;-Wg9Y^tSEL$4Ne#bbpW9306)GW(D=-Db7*Krz#6Ha_CEJ75P>7S= z0UL;@Rg89%3z!L|WN=L2VF398e{6MOEfok$Aq!`p@RgqjT=GhQ7~A7EPCfHnDeAISqb*MuDd))+tkPufh|_&u7XMiw}ttlD?zXOV#u7K zbH?tpgX!+i;Lvkkj5EIQ8!?`CHgxA{tnax6J2!p|)7>{?eb>z>k3G^?X=ZfO&e|F~RjgSo##&Km0qK{SQJo`k2_p<{MYBo)WR)Z5_Oi+r@U@8cs zJuxut+9+zHc7s<_@kOryrG(b%B~ zR)EV2OmoAaVTHNOh=83w-n6Xqj2IHeaWLjH2SYB%d5y3piUVT|Td2j3)G-aHDyUVE z#^j)}b>5{Ee?tO7?3icC*{2^BySqC`F#v%Pq_L1PhH=0=P4@YTFiiyr0K+Ky!u#9- z$?+o%0U8FU(hx{9LKO%J7>t^;QGMER=!GV6uwt|r+ZVvI79j&zKk+c;_x=IWq0_Ls z^c5H{y4(a#!wP)qD{=VJSK*ZQ`a4H4-E#|eZ@L=mf4gtS`p%nB9)Hk}dIqZFjns&* z+{b!Sy>5hc+pN~OL>B_pS}_cR7x~f17JbO>ujQjY_U>IA)V3R!k%kdD&xX&jU@iqi z8jxrJQ9vz|VQ1qCIq!Bk!#vGK3J}4ZC+~6t7(kxZh;c$-Mu;m+AZQ%zSdSxAos{dJ zeQ+jse+a>5yH2Br*KjI;Ml3=xL7!v@1Vq*(HeRMpTB6tcMkE#mq!`<#_@F?gBBg{} zjqN_HM$}SJr1&S%J|R7+1z1A@q=3q7Bu){Os(q9s)kkKcJ`=7R%w$uyi3sX_cVf8W zDzxVQM2k=W}Fi zyKlzMjaOs3`zB2H+=}_3&l;oGn;8igcuRn=ueHp&rGOd zBd|Ew)TW35-3Bfj;982hUXu_SQ3PeoSbQDDx81p=1NQ0pXxd6J0 ze^3h6(=lvqZ2>WX!-&!_NUo4-Gh-tJE2b&C5KH$c|8lXJbah?LYFrss+E4_|h+#l* zMiVPJEid>3?@dOY04FgFgN^hE>ZL#gNwvB$q&~PfnO}6)x#wtz!JicSfKZnxGW8oH zrC3AYi?GeR8xlaPEo}YJ&m)uqo#)Dat7z(zuTWttSF8zz5?;`SAu*YZZ5|5 z=e{_x{GIL`#eB~#Sl|2!`~A)vp-(>CF~2r~BbSLP&^d#xW;D_Re0EKH@Ucb+Z4~-k zGGZE_BGxIoE&~op3~6xC8-2DN0(Y8xEklhBxGoemXM|)}WNFhc zqAp)m8^CuWM=jP2H3D)G!9BO%c2cs;NX)3k&~o^Ev`EFmXm_0m+O)&@W(s3WG-ASf z2j$jJ0+(KaU;yLaxDz%mn3jV4f2oh5-0%tT1uq0$`3CTzQ}!%AbbZO@;3g0-4#f4g%WZNdLQpdz>{Ahg1sueNCUZxlk!ex^#+Uuh;MF+acf0^W+ubB&2 zE41z+PZ4P~pkT}1mn#BQZA_N4QT}r=?x4El0b)9mVW5sgNEK(RyI_iZOsW};w2vl)LjXdXO`?m71KS9u#<kY1tPZLsM-`N zm)coRU_zvToTuI-+Pc{X4rnsTWMs}#pnVkV-KP@=ctf-UpZB#|3B`ukbklXvZ?Gey z#&p7+aQf6u(A^1D4 z*9D)QD#SqU7@=T9VodAFu5+!1$vIhqf{)c!t3Hir4}Xjef19Tc_^Ue;5Jl8%v*7@s z>>9Zutr$}+hz{*AGxB-|qBgVTXrs9h7?U?lF+^i8mE7w(4(x(=hA1z@TsAg$o@S&m znYg~p9YWH5@ByQ-UQG2wA%Im~pWs_^>wcWJ&aMv@SDrPQri!2*KZ>^Dwy^`?ul;hwn?Hg4k$1VqA;N?z)>sYWXh)R~<%_d=NB~ZQ>0KxS z0hs5>=}ZX$glU>=#|ja(dZ#JQLUCrwJgqUb#)~^6e+|<#cdL;+&q#w=V&r*pX{@5a z$ObV)hfRPKqu1;K%y$106ta8VI$H{m;Q&$qs20rAgvg8#2}uWU#*EDrhluP9Y$?U> z`yxOehY`ieE9Cm2oM%KfX+V>8o;(agWEK(5W)NS$jnxujw3)Ei3f1XFy3v8C69H5z z%8l0|f4=0EMkYAHA~f|~03A99_5M$Tjvc}7^?!|BydUwL7hpK&c}QnI#}-BVp55cn z_rD8z^4OxL8S)qO&>Ki{=v zROHTvHs=LFt{JOg3+w4PG+1pMQ$k|FoC{*KfB9-kg8@ZeinVcj5 ze-O$I*FgXNciO=JM2nEzY-n{DwTm~L5&h7e$Pe8KP9xIU&%QmRwQP10zz^8qRaA&$uN1k&mf zNTcD~O^yKD?@gTVIzg<)Z73?n)zCXnfA*g*A~w%;krBZNtg3?b&Mx9GctJmOV=07@3}y{9@G$Vyeh^JyXp}Hlw#^`n@bPK z#aPizj4!SM3L&|mzaXUn!baK%`?cm^hgCQ*Af|f&8LI)#Y6-!MPa>-kopwY_f1MoA z)M>ijMZV!0q?f+xgo`kpbq2~4M}gJhzE$fc?4f|>8Polr!Ti8&2&;ogr(cNi+>60+ z^s~G`ulX?Q)gM5(q8qHuM^e;UPzn(HF? zaZ+X@3|N6JC^uY#`0`hog8mtc5Nt{|Z~&cp9&qHLZZomiK{$q|K-oEpx_b+D@4FfC z;At4ncrJ$1E(Ap*Ue()fgxq{R;!9tN^rpXKH*sSDN^@i&#&(K$1!jEom;Z?|z9C(& zV!kYD{JmOGt8*2ZFbtz{fBnQn>$RF8l6W)Fd|;~9?s8DwhOOO;TC*$UDu{zgI9=ac z%LEW(7?OW&u@0MzGC$7~hG7dS1#1SR8apK=AbF+WWl(V&6LOQMoHJ5NnCFbqNfo7J zpW`Z~^)9%L{!)SG;!L!x&RJL_$^De@#LoD~R|a^+uu^mS*sWxd>Q&Ts!-Q-TJJQidr&;afJ}XrJm;3 zGK(TIFs2d2E=`TmClJyXJ&_>~C6_LA&vQl?2JEia7#o4u??niNoW&Jy+O^Li1Yf{5 zX{lnJdi%cUx)d~mFBfo3kOQ_f%Cv^o?0RkX>5^f96xeL?e;l$?+MhMsLN8^q4%m%l z$Z1YZ2h81)X=$^YsAuU}Hzb+sU6fCM!frmp7XzS7;L}d=Av%K&oaK5}>h!DjT1;3v zY+dxZ?e}uzVeH=jDIB})eb{~ICh!}-#Pk^1bQv{gNX|&L;>y#{z*Xm+i+BITx8w0U zZ*jcS78pnFf4l!`weq8}T~u2<=9pj}INge(R9F24clL5gse`b?FgOF+We9$RrD)@< z#{Cl&)FS;j58ix<@3?6g+=iK5EdobIoI2!R z6%)p<{&whdUWnQVwf_6zm~hnv&%tv~Jp~{5_dkNi@4k5vKaoGZ9e>nru4#zB)BW8Y zlQ>vIf6~2Eny;caU$uP-`wXSnSPJg3qPjptO~h@=J#-yOsl^DYQZcT!d?&UYr{;o` z>^L?*Kil0*hhnmcTJ3Ab=4cA;%=BDmm#_xYeKVsL?M|xJjn6=ci`!VuSRq4eL5>l^ z5k#R|e-JNnQ}pqt?Zzk1i0%uGnhlnT(3!hdf1-7{_MyD<1@@RuZg!s{f^z*Qfc5UP z79kzng1QkB9XiJsmUd?V@mhkY5$CBrDZTb=96>tsxfs9U{{uSjV#vm>S98Wir<{g2 zT=+a3TCMQczw*QQ%=`YJKmF>Ry(+rJNA)A9p)WRVs9h6m8V#3G5|HbJ^}P1o$6h1$ ze`&))BNI`?G+;f=?gnOlEu|FXTA^w+nMxZI8k{swQ=d$kpgg!+RrChIL2{qn2VZce z#48S#lbbFPNEcGCR>3q)s8SpO7*ML)x)IC;w%BK%=M2dc^3z9vnjvX`j3dG@qU71l z3k=$-QjA?A`;le(4Q+nV=8=p&P{yWBf35n#t#0XS z3q-+oz_blYE2mVop}X6iNnQ43e~tEaM1*kRi?I6ow}DPOZ_nb}=76i7^FmyD);Wlg zar+1U2zR{ykK9?)$_f(<$-=DG#fBmT!vSlSF6ks^h?H88Mq_)JpGt(1_zgEpe~RXQ zm4=nux|!TD1jc$YE8*SU2}KIlYhyCI*AtlS=Lfe&QHaYT7jgqTj;PB1pFLF5JfW&0 zr2*4CV`q2AX;#5Mx7ij$ft-!@W%KUpgatD-(ptc9uOGJ+Hb%9T6qt805TSAa4O`%} z>Og;LD8+t`;C394yBu_LZR+yhf94+J$FR-&h`BpisqYk<)Nv4@eCiq#A8jl`G|6P! z1rMHM!k=3Ggy!y)pjhn6s4Yh#giBwG;Vs_>L}cFZ&4#=PUIIz33XA$Dm118gSIED|Mv+SCi zH6j-5PMU8t5#pP^9^p-22Q3q{tRZ;~mV#GYcrjjl-gB@unxOm0y`RCye)Ffgu-ycb zzT0gWOftn@UQ|B?+5=&m{o)GM>?ll-9l>m5(AH^lh@G`;j`!Bse>GRFl#;_2ZqH4y zo92IR@_-lu(y-OF%I0O0`umD8Ht$Uzq1A4wk+X@Dpm4p0q7?0-EWjEeg&Hg)73=kG z2anggYdfg`l8 z-^EOPDIKNPap>N2e+nRf>Ju1V|7IwwSyha2+5Lz?htBO%%Vs#F&v*!!2s*3~-~5fB zbDwXE&q3ugPB|NwJ@>`fUac?$MhuK2_k9L`@vpxPdH0y@ENw9}8EcocyM&4q_r)P+ zd^j7u>ouBDk8%1KRR|<@Jhyu^IDr7#Y=cdNUqzsG?i4z5eRN8x@6f}L ztS+t*MXCk#s+xP5x}Gj0|e3;yT2kWb!%${CD4veEg`>>bZNzG_@HNz40))XZ8OrnDct!LAo_vqpA^+ zVPuXH)T$lG&Lz7uR_G6BOaqvL?Qk3rB0GL(oqeh9e=3kt2f0OU5nI!RK1m@_466}o zwcTr@?iWa2x~RI!u3(xb_mQ!AbhqwxopX!{9MB#1)jMGhj3JpHpdH~RM9*_xEbmJ3 z#z}n=V;c&W44rp7apB~wIhtontz8<~T@A>ZkJcJCD_ml7f}ig3DsDCy-SHlZa^1&K z*E@R_e<7cJ*ddmHc*aG0j<{Aos@F^5{1+m9-q#pyzf3@xu^mUe^o6g*xo2Ep$5mvb zozKVd?tl5MIR4lJ{p~g8PO}^#&&y~e%(n2GT8=1~OM`pgZTbW@Cy17NQe8f3oqK=_ z%P^OMg@fG|vmj^73z=O&6}%}BuhU{`(F}t*f1|3;eMm$a{8elA+J*qF-SbDM z_5M7fDR@AQxB4}2dc~molXTgjLlJPz=t4%oVr;4Cm|*$j$01C85w^ugWVRi=eVXHP zf7jbvixaEQvfAq5msT%)~UDwfOvD5C{r#dD!a;GllZn-wk zHup8K+7{I`t=+JQyP&C&S#5u?My&~~svrN{;IVx$qM03n>83(tM%G|oU9IOu~uQjCy)apuvuT!J@u2l?p!7h(2*{7nx}QQ z!xbsWxwti3U2KBcrY*)h^clBge+FhzyQar`A%t6Y|Dr;TIqxB=<*7OinHA89PRg}*_fh8+U++K)qa zclsiv)3$sEwEx0cm-OyiL&WgnLI^*zZFTnFJ`C=S6c)Bk>f7|)&_zn2X zd;T+S|KR_$&*A@pgZ~~uoWL;wPKFSWIXiGdB|@%7$FGXcI3{O5x3L&}ZcN0ezAyyR z<(~bRZ}ZS*(ArQ22&Q?)?3!Rh6}%4g_^lRq1;_KM8-f?V@l`9Pc`{Q>Hzl$~Q!$RC z!9E^a7F=&Ut=E=$!m&3xe@1{PP_K_`Q#$(Sl|Yy#doA+|HxRxtw{xET!H$bw+j#?k zB87c;MB5n1=|Q!C6g?lrCJyjP33?$5-${tMlM`qYH|#Y9cOG2*?c7{-+wznf3A8Fj*QJBsUZb&;AnQMO4s%?-kgh>8cfY83%@#2Eo z+_3<*dMYIdN1$1`idt@%6p&i{7x%dXpYY43y#ndqpNd(h8LWDg_i3BYFBYZ_FE_fDjypQj4v% z(7}L^hTdS9Fn($D+9FerXt3Pk!39i=dA6p-lzQe96H;7k?p)I*{+ZY7wS^DW22+tc ze|W)CH;FApNiF=b*$u1FrA~eUT2z#0zHWr*wbcz`dxAp(;sC?}JS4o7Jge#0JUQ{MefC=>Lw!4{q`J`Dlk^h+_m@XIkCJPTtCNFiWo&BjLUhxs_(|8Kto z^Ul#F45R^mO~2AYqNS(jE;X&=e!&-7e`CRje^zrWmEPeOcY$c3-EkPq=551ZJ-MfJ z_DmBIVab5{qkxXnIbBg7ALd_1@@!@DIW1fK!`r~)h?_mbM~wd z58BD4EATi3cfAr9rYE;8F@{VUlFLfrc_A)@Dt?5g*gd(;bxS+t%dCq-pQ|^be+v2a z+Ycd-Tj$zLDmmJ06DfgLThI`J5P*`c7J`^*Wi#KVHkGlFkH}Jtw~UT1;k)N<=;Mz- zMn8U;p@D&5%}ffx7a!Z=bBHBu)P5iM+3&@ z*14tIe{gfFay+dU-aZ32dyLR`f8Hv^x>QwjwJ+666Gh3@BeMh|cH=`}3>?5xuwq4o z6E8vltqwxd3P^*?1R`QIiD=n1>U{Bl!z!ikJgTx}!L_5kU2|O?rVdfTqH3*-3f=lw z)SOUTS3j+%?y#?_=As5bP`kBn^|0?!q|ch`enxR2n4%tOK;dXRTu7!5f35{A1;IVv zbR&DWaRVDmrO~q5*P-hyHopca*IezLaDc=Bb*qaQ7-I|=99pr4W5N4k4EW@4yaPw> z{mce^b|X?0d&$|l;n>i!9JI%O`8)S{G)4~{;*hKd&5E8-Q7c}cS!xQIuGLz51_StJTWnYi=GWac* zvP_UpW&zG1P_%*+HAAK~P_x%T%XV6;bWpl6Rj6|XbwR*g!r4`5e^@lTL=5@h`>lpL zXSCffnm^y*pmN&yy)_&m2Hf=D{~bR2;s4oRx3g;;b8NHFPK<4yc}xqlg+s^cT3su> z2wz4yJwUq^)(vif>7>~Qlhx<9*7UodjC1hjDfjVSi~~X-&v~mG(Gr4Oiy2@B6JZU> ze0N4BV0XtoRuzR4e`XLk4tuEoAx8I^v6---MJNO`w!3AQj7}CUP8Tbk8t1+t{^W|+ z&Ys)n9qBNveEf*c6A01G-d!(aJMca!`4NJ;-T|a^=XL3Uf^Jyk96_SswViC#S>mba z+=VW!C2tF~FIEENp1UEBJqj`Qr3tkIW7t@Pt>I{0?*kwEe-qsK-v6?97bDtZkh#R0 z(vnB#VkhdeWp#7(rK#%Xm#vKO`EbkiW&iw5E>Py#it`qK5SHv-X!CG(w=HG|`AgT< zSVKcy$dp3tl&g7KdkPUSt=Bf;Sg)ZagYz1pjo850E!9+t8`-|iM#M1FggnnZBExQF z>}i-G+QT{Lf7wcpI3U-8>=`UYYBRtxhO=XTEvd?a#<@2|)faB9`!EM=UiIDCsZ;M4 zr~7uCsq+G>lMcHrSu+CH>g_spguZhN{eQO|Nv^#bx(eMLbc_L`cfBcY)O{h~!K>ee z>wojd_wp1s*fMRm(+x+}c8s>*okh2@;DyrFWV|uSf3dDVcm{79n^C8vajykKNQ+5l zmlK%BwD~lfz`x`f*`q83Fqiv44%}KYlL?lJ3;k!~+JyziVrC;akb<-#X~h^B;=VUD ztRQ4oZYd6(Rg}gRm~A(1B|^KewKmSH zXVG@Q-t~rM)OP&A+i~;n|J=rIM;#PzoWag=@rR+hU|u&G5UooJ(`L}Lv?I6$F}B1e zvLK!6e$-w6>#?&^%#b{$q3eRZpf*^ekyc}Lf1Sl5a}C|nLObK91<$CE=XCfWK&89p zM_21j^VBCSl4o$4!6Hb*h(Zw(0xHblJZGB?$1%AlcIa*v!7Ywc8qDKQs_&L{NhtOD zSzYBvEz$zU{;nRpT}yFBxc3VC@P^@*;?r?H*zmcfrg#2Z6DYY#taIdgJ}z$r*lk8Q zfAAjL3?hQua~JUVV~8R6(Q9Kh1Dvhl*m>vT5*gL&uajoJ=-{D-wUvNsmC?^cbE zhX$9lY&+3CpmY-rwNYZ*`Aw~6jPJ&NQL*1SwO~ix(8IJHmE9@IAQ1zLJ+QkN*;O`F zhizB3SlR5u|A5`yT_0%~Fh5OZ{@t`Ff6Y!LxDXvA2vSg|9h7MTg$M}=ltu&(u!b8; zT6z?9qOH0O3p1m*u~3_4wZp4TTAEJ`9H>_nlsWrM*=k(l5blQ$XaWV#JF6Rdj7H$} z%vmfEsI{Zx)SJrXhRV|MHSXLq-VhN3H+=#_SQcIi+;={mcX7k-{7dBBV@sF1e;9>s z1hh~u=GFDWo6by|1c4srB8&R1;ezZk$~NlK4N6mko5WetQlzWD>P9ek2+@4B-BqIP z%C%}21%=2ShE2}L%Qg|h2EhYl(W|cSP&MJYnFpo*IU9d34P%dNwR#+=^8_v#wamz_ z>!s#v1ZuZ9$nT<~O$3>yd5$*JNN`Cv;z zvOvEIqUH}Rdw6sqhQ1IK+UJSwcD12#B?IP_27CmU^1dXv%fhOu0z-jI~q`Fd>!+CbL5f2)O0D}uRX zZ8*@A=N)qlHXX^6%}IThTZ1%O&nv`C#w|ClSdd@~ z6BqSbPQj{>^>Nho4sxxSJ-)0hZmGpAM?7UIrRZ6G8FMb(>9qQh8$WY76hLsWk@|?Nf3aQ-{SPVjd^hzQW!7Db+4o|9#tR*3k)v&hjO@uOkKT>x z*7y4kXiuEx9o+oiezGsV&GU9yh`K?Hqz!8j?E~_*12+h$C--#T9(w3?=QCvPf6d-J&#nbzR58M8 zjA0`rka~P=x8ZOHTjnMdxA!xSqXj8y!ODf{7!H7jErd91(CpY*Ehf}r0w&M>XaPV{ zTj*ry&8aDF>~mK!3pd>d4ilRTepCN9Jg6z%NR64H8=f%Aj7ZHHzKL_tLD+8Pt7@2; zAI;4GsMTVR{P{0}e~&+o(=NIKM~*&6X5$))Dp(1@Nvv&F zF8=db7fC~47oK;#lKW1Q;^2wz*#$%H-oT4dXk$8y3MelUe}Y;IN_AJ%V171H6Bh=$}2V0Mkzty~skfqfZNs&6b(D>yO&rDeYA zbpZV7(kd2r<#w@+n!^!p?HZQVA!6e;zo^}JW@C==;0OLQ9{j*>?{UX!!+#|Ol>1TH zGcVfH=M4xof2hdUU}!8IUQCX3gO0y>{PqlOTK;X>U3i0X1b15vo@j21EHu5bJDaxJ ztfdzfPk|2uL$q|QiK<=q;B#L>=#Hc6J8U~O#4Um0Nd`p5A&hYW*<*}|9w;piu{0C$ zZbeeft(D2@wz}Ri9dI;zwos_MY2|5h>pDjD**M1pe?Tw}1J*8jY8Eaj1eE5Yzn`F* z;97*n8{-gr>bR(lm@NI<{VLe!Q@&-B(z0W@BCK!E%^85G5A?-p>K#LCOLBuk-#g|F z=ji3&U8WsvH{62_((<*sAt`7n081&bRLku>wS{Wp?y$k`Ziei3&>*G}sChzFLJA2q4ybcR9Fm9h1V~W`En>8q z=dLZ<2OrRO4l^Y8C$Q1-b#IP_c#2Mw9(D>ke=SDG-G|xnLTOZX&>pA#?yl9noEJsh zUhxnwvd@kAFK@b`c7e*WqoGR#JZTdRrC*|CRW?NTvZ&)AEeUF2&%o=#hWA-gy!ohz znlPu;a!uOGJ}IdF+6^OAr!H0BJ!&HZyDv*KE;66O;oNe4Ab?xv+4AEV;mRK`_ zf9Xteu3o;F_1@rlCDrXn0&(BjxXz$?jjD=K|ku57b`Nit!o*$?P%U(SX62s)T>%@ zQnULdm%W-$-BU5e7sHS|>cR8sVsJs2o2)atd%r*YWR9*2&g$mk)hJgMo0UE3oIRL2 z_yol1{7$ovk@o~c22N1%xUaHC$g`7Fwj6F!RL6hW)pBNt#Zg(kbPgUUwtMvX1pASo{!I7A=MIrYdv+y-SeY?7JW7|3?N zJZGfAykDC7Y@TK?Yv=Mwt;n+}f7}o(eH=~@<(L5R;KdCZzD2;=Zab~lC=Q6%YIYqh zRX+IZWoPE(TslJlvOrD0Nj*ZA10#(C0!LKIppt<+fzn_eFkbgJ@@(7bn}B{H#HRh= zfZT=5fQ7U$*+R7D!)iOBh2GvgfxCx`huySA*$QTp=WZOg8&F8wtv0n9d)zhK(SN?7 zHQsZ?_W>?C4p=wm*P=_zYqPS5PC|7bY#VKA-<{dxDB41e8%J*Yy>J#ytM#EgoaevjqYc6RF1-dr)C}5ZEzLa*m=ZOaz~^ zYhdaUufeff;)y#z#IRtyARzLv%zxHvMi4(FQ%9Hfq1#V$j~{#^Q{%NkCZ6>Nah8 zW+G4Eg$}krGE1}3cioMwlLoW2Zf?m!F@i;NMA!tZJ99~w2Bqx^CfC$19)E8n*H&j6 zc!=(LV72H{REXPsU}OB)#P5nW^>Ke_U*x&W9X&|N99226Yg;_p)rlD~CD)$WRHubb zwq~pu(VKF0=k7ltAYmU#No-aWo3cvlXhVv2-1uBH#0A?^ zhghW8Q{6B+$3T`*n3EhA%ztj#?b=Nzpc^1{Ko%Rg-o^l!`l9FF`Rc~tv722s09lvM zWP)^A=9Id?Cz~YJ2BP=(>to8|5%=(gN`dx-|22+ZV;L)~i7S2$n1a{N==?#OM%Wmw z7ih0Vt`KqOOePvKf^^_&?GNY7=aaj3cZ#W#5=F3B6T4|&{ihu0DHJQ^_DQzBH z0cin5t)zf4vwdV2rGOx)VL)ZmtdOdgEoDzBa}p-y+AVkCNWaxI8`|I&NXS;a)?&_@ z6harPn^XJ(f9OWuu0bJQSb6h845)ajImkMyMk?LFzgnZKdnVkAqbeIBc7B(Ot+Gtdk8GmcrJ*DemH;veB8pM7Cis&A_N%Pkcf3TZwmf0Gk;sM~Tj4}Mx zCJMC*LP~vZ3x~JZgKrv-CQq~Nav;p}gyj>3GwU@pPJaQ zpgzI@Y9j`;v`Amr=KRhZwu7?aOzMk{H|SOy=H(soQ9PrQ)jdZebTh5H!8+&)v%NFq z9JCR?+94udFuAs?Z-Ve8moCa_J5Bq0-tbBkzp1*BMIu#}8r1LttItHdrsS^B zYqg^|tddgfV1GCT-WUS7VBPD&UhlOBRh`S|?>JWrE?jt>M$SNk-9%iD>I@+m50NRF zdc0<6UZZe;q!AwZxQ|gB$RbL~G!8LFBX>$QcdQMDOz{Ad22?kuObfJ8uftS~zNJ0R zzAd1(pDa6=c5@@`qpeK>>*l<<+pIZerW*@e70;q!5Pwk*gIT_pdf`d59J5Wn*=|u#k~4b>`7DeG-DVCMECuxMGzvpbsT|dAvJ_Jn3U8Vv-%(c9u*OsP2QgRWhS}= za06Xpz<<*kNCU#kfb5e`N-}zjxgl`sObK&Z(tf;0e1v#i?Bf*#);hxVMc;b@OL(Vj7Dd=J2h^55%Zl@aK&q{`WwIhL+|-B{OmvfK^%ShX}sx6 zz8v5Dy>G)g7d!`l_}jmR-~RXizePtE2Y=@UGQR9BUypzIUEdEt@jL(5FW}Q3|0urm zpZs$iKXw$yj~>N;{Fxu`(cI0^s?~)M?sa#Eo;+l*rvzXj8kDMi;co^;HX#$7u>-bv zuoxmjNd8Dk&kAY2Eus-o;W}ZXU!@pr;!z7?iax_`I&pJ9=&omK2d&-vvJnhvA*d-@2z>5E>CV@HnQSO4exaPeg? zJ*n^e^FREr_zyq*4*b@;Kep$6{C|g^`EmT=Z~dCXL$&}ezU-y=rT_ZQJ>UPWU;PDm z+rRi}Ty*JWxbrhNr* zhxcIV{_Ww@y*SQxw2QPTh<CJb(N9&p97&|Bi1$qk~W&vxjR@v4NnTF{j$PX!ay@XC0N= zkN)VygXqCAmQucq`)YA#DyM?Y)9edHI`q^OeI+l12{?(OiXsi8+Y>L7BFP!U;7Z8K zK=51`@2W#jRL!l;vs{^hoxiC246142!(@hqR{xmQtA(M2g=!B0g@1@b01aCxAk)Z8 z#V0@Z!T+TN_{pn3eBxXQ0g9jJV=?UJj!sL`@QBrO9%NfWSnzQ-m#RzahB?hO|{g$oqa;>pv^frSZGkY|) zbnfm}ZH#Z)>*BH)mSa35Qe&%TA0NC)F)8o4BL>_V%W3rd|KYM5{vf0|W^ zGo3tEET-7W5sgT(50`vL>c#A0n+0#n0Z}4Iv(qI&Yek9#EfdIr*9yg_KJih!;|IPA zU;B@~t#?f4oPQzCz2G@}e&F?2f21RK58Zz+e&yf%7%qPCiGO!0(Tcad_3QD?|M+b< z)OW&Vc6*|_?x)`V{W$jYQzu^RANw%&B&m3F_0WCy;@|(&kKv+AUvlDI_0VDb+yCeH z@Q=UoE1m`CY=YoT*3kS{I@H4ig5Z?5d@l}t@i(3DXRJT{0X*@mZwFLx=S{ z>seou@4F4h{(tQM#_sj+H~6a(&iX%o3B$!#V)w8AJC6O2UqlSa{>`!2;gTy5PCFO7 zSHBZV3?^rSJNvsebRonZ8d+-rm=Sp}C<#Ddh4|NKwQQ3VgIRL;uG@rC6i?ouGBP>Q zfCC~-3tCyalc?5$$O85FrY1y^PCb$i$$ap=e~u5m?|;vFz46xX{Xx9-d*8O_2mau< zeBFZ6{Y~;IXF=a~^QZBn-}|k50N;a$Pr>j0WOXMW;@@4E@w8_Z+EbLon`)n%{li?2TMAj;zp z?xB|*d4Jdc4P^$MdR||AvU?QyzS{r*<0Y>|y6_U5_8tEQ;dg!#J6Hc{=RX2KIRByr zoq(NM2Veh{IP?$Rj@@_vrjsZXB^Te(Y>JYGp&L=zE*_xDh#VjgBSthTe`7?kb-#1Y zAR%yS;Wo~v%qMS98BGA~Nl9!j?W|paIc4q6E1w&2H$uk2s?;E#RX9=9%Pg7;c6o_bFIy2pR} zCx0>D@IgQY<5}n9lyCn@qzf*=;eYtU*uC{ytP;4LCa8{tjKf5JcMMBAw2kg(WjMP=Jz;)RZ^;f`3nNtTuYNi(4oxdg5nX$BoVteXjfWzV*9t z^S=J2XaB&z$M$Q#!tFP-5972` zxv+O+Sqm5y<&pc4@4wytVe8;t7b*pG>mW}3o}cfF@A&)w8=m^LAMR6^kblx5n{W#j z5Sc=+WudrPQ{VuR4AttTPe4qgHL8u1>EsR-G4mxgoLKhf5ltQ!z{t~VW?vz6X2&w6 zFky7l-kL#q^07|bpw=6G+>rXuy$~9II&6xVPEgpBtME@b?R5OmPygZx8jBC%_kR69 zEHtmrxs?8vPMl8seII(ypMO596Tj%iFL@SRvqaXqFQ2RBnt!r9`7j>)4fD9+?L#=@ ztv`k{zyFsoTyV*T505^>`C)PKvYTC@yGJ*k=G6BZKK&e=@&Eo$h!EHOauJzq~-`ady{C-GT=w!At=3WDa)6YXV{XB18jv?Q7 z8$<+iDK_zN;8~sI5Mx3ve$qK+IJ+=P#S;UFJuh!DAgEI8`$L3ial>^*hz_EAh|kH> zv8b_}0aPEV8@tNlpqhX>1k`DE25(&Ci>B9dHi`Sm`Hb*HH-D76dQLWWxf3iF-$?=B zsxSOfeEHY?{S!hi$B!L*7TboIPS{Yq`Qo$sv9-rh)gK7`97M_wzWZJH&0qRiy!HG3 z3I66SUCg1svvI7!VDAo9f%@13c=+G_?>KnXSL5_=cpG^85DtCOH=*tv#nE^D+6E14 zgS_ig4`RaJAb-=nm}I{HHUNZl!NoZIkA4`B{mi!`a_H(FOIWAgFeUef2^&eJE$j?gHguW&vjOi$1wzdlSWF7olOB}@!FGs zKIaTwe<~+#Dw}-=MSv8%#9%+G22@p?_nhbApZ%MkJAWajcgf{1!^M}stnV3j+;S7H zzxqRX`pA(JF8*)(KmS=5s5d>zv8SKLCqMQf+;QtoeF|}+V&T_+>1Xls*ItDyUVGK& zC>PM9Df+k#Mi{WkL+NJZDuQDl{$uQ3|9+hJBfpJ!#`!q>#ovUZ@A|d=(Dhvvi~o*7 zL8}9OcYkdBKme$ZKZwVE{(HfvpNDgP=r^rf{(C=wqks5|T@D+VjYbv4-SK_i3r3x1 zgcQ1En+GNNygGTNiK`sF#tVUf0F-rscm{Zr6YOgTEV+2CAzkdfu!WlosCs~L=%XWc z-#GH9sYX+8ga!Q^$7(08Dvav?Igd-lKmAw#-+yPKmOr+o&~ONN(UCXD!Do!bRxp0TPp~t zJICvE9Rw|`MZND0C7#i|3i_B2%I$}ROyD|Wkc!HI5E zvxfDYu@f&q!X=l#9ItrI8}>I_e(_6i#eeIr!iV4c=llA;FZXK8qic$rFw5#d%d?YC+J7~> z<`z#DLo!$XT9*j7=D@HIlhgFI4{k@+8VyHNOmw~Jj>UGo zJ+q+SoE&g80n{T8J@BkI_Q-?x7Kl46!I`EudX0R;LW#icw;`F!v7&b*Hymbh} zb8JUD_K`o?u)MWjr+nQH;Lz?-qzhjJ-a6R-{;B`|^U$Xr-s97~N8v?;Cw}{1;q15n z26*crPWjfKz|;Tnp8{IIPz>XU3g3}ui<2;&0T$*o2LvJ%EaZc*q2KNUf`49rTe(n0 zK>NS}!=baze#fS$n>TDL#QlmD0`d+`-27Xb>j1e4q!TlNr3=01&f9UuS!dy*OE1U6 z58Q`e_}4#*`|iFA-lKa3lVOg;xahK%V4f%Z!oU1s+;Hv3{Tg6H>+Cm_6sLUA zKg5C8e=lOrePov8Pm7 zb7^&7$+ICNA$W$JU{Tk|hKt$~(c4szN1uG+kDY#X9KbGs2|#XCEC6`NJKh00|FV}E zAJ8o%c*FL#3DjGjt$(>)>4xfwKqN*0fw-1fmh6gV<4^@5Mb`?bGooz>O}dz#!+r30 zLpa_HjTFx?6?dHn?{VaJ?5%2_j4cm@nRKf=rm9OO#S@TPN_w*@YczdpEYM|=wbAyS z*3?|Znw&F+WQIT50No8q0?=KxHnl9h@gRMMLznaf%@&8Npnr`ii){=_d&iq$!>h4n z9S5c^7@y~in9K>Ih#(9DhzFBcmb~a=9PTk?f*|K=S|D1S_-mdw7}oZlrB*z2&)p}< z2LyK)smOMI3k>um4c`5Re#5#B1MmeKKxC?~)|^;cQEShN+4*n8DS)l^BXuw5s(Vyy zO?g&DT`|`t3V+%|V9eA(_h^jG^1Ak;X;IVhhI@kDj71rzK4o-j|1*4V$SLx%iPAmN zp!wB11)8zI4LspK$u41C!d%sc_Ow@$>oU6G(7lC zY$G}jOUwf;g+~`88F{vL)~__Fr;{_AV!zc?&D@8&P(JkZ&n`S7awdrG5ytmsU?ZQT z`9g>8B!3qC^=(H~THF-idfu24qT8LJ0sORB2Akz=*fUk>JEX%qA(_R7*6OtT(47s4 zm(s{inr;t^oM!~0t{pLLPc^3nB?#G0m)FNEfRQb();5Z;qyRWYE;;HEQ}hv{hk$q1 z_dZ}4sb)MaVwSE-j2O@b=o~{w_9eun2Jo2s5Pze^J_YymbcgxY5t+|O^{14(icGXR zNJB6jBeoHbW)? zgi%Rdl*D`Fw|_ewYfP;z1;H<%SQ=ztMy_I(Tdt}S@#p{$vd7hj=DE_OoIN_rxMCz> zPn1?SODxsEXg^k)@i)|cT%3*5DC*UTvVU!{wgu3{<|5jG&_+8lujRBPV3K$sjZU9~*Mh=6)3xk7%(xk!6wC zj?)tBBS!$iGg(5{QmZVrVY3Kn4il0KD8SEcBX8)CFhDY%qTnsFn# z2cR_-+*8zz!sBCZ*R-}_yd_3*E2mBP92vEVrCX7!=3A|`5hw$K>uJfup8F`PrDyta z)C`5lM`pH5ao5&bltL4qw-BG|o`2BmJz2K*Ny|3FbukbD#?z`jCRU?HcL_O+tL!Upa#x6Ry`pg!%1!S}9mN(|$WVtHj z?)`PzL5K;n5-5yFBw+Vc>}$avrdkS6izhOjtSr+zt5%qH*CjE1r*4|*6o2cO8s$h- zEJvhNb5DrWi)QNSlh%3GmLjR{N7wT;0u;qz4(bcNGnYk?Jf47@XUD!MIL6+cipR~e zi+QBxMOH}ekm{k*L@-#1Jo~ZKZaJrro>GL?4Ywne2?6d#AC|DjmfNKd1;PM}d+cIq=jP}X9Dfy{ZWa`hfxaeSA_Pv>F;g)(M2$QUnlGX%<~k#}QDsH7 z5vkf{!_0_rL~*lAv-LGZ!hwp;b|+2-gln~N;?_3iQV_fW+w`kuW++AM!QY z?+^u~d&D#ep5a;CStHdyh(bG{OsqDN@mfQ4i48?)KE+}b?q+GJ=6~4ah^Ep010#^r z{RirHz}>P|6g(uSidi+!&EA4cWJAp?T^33dIkA@75v~fNgc#jALj^>xM%%#gLP+i) zWw z-g4^-#6|PW0YZYr=6`^n#s1#3zX@qbeTR)P^&Pq0Yv~O5h3RCai<5)%+G^ggg zZk{tld)mC?3}Zkp6|qHz`k0SZEGM!On8luMQ4_JaG;v`bqkofPn`RcO?#Qr2%c4bY z2~58#+D&{I8;R;0HgD}HV(06roBM<~_@Z@ut@$sLb%)GLAa=tlYpLC-pFAR~HBqYY z6e99PVo*$I4F)s9#++HI)yshhOvy_KPrf7t*dD-DvLKrwCEHa+dNY-?+X2I!UH!BY zvhZy~rhHWEi+@qHA`$~Apfo@r&kiZ`l&Xknu+$`v|EdeW3W#>hvRl4Ye|Sr+_MX_{Uje~5TFgQfL5!n4;Ix3- z)=e|w;8t+O{r^BHHJc@e+lwdyN}e~&;T>NUb>@trC4mwYZnim3cEnRaBm&3k_hBEh zOeFxf6q)oL`W@eCT0)(&~2(&Pr{ z9@A}dVo!b`2BJG&)nXlgu@XYH0>Q>wwF$#vF@Fxh4Vp@xk%nYtf!n)P2gl7xpBIjz z2Y;uO%x)t_tHHza&{*ydgQ~d^gdugaqg)CGav-|7Z2>67x?OX`Rm^!t8dn?Oy8Bu; zC~CuWz2*#Z69ce6SWtvoplJlc7V3KUgc_gE4Me+dNuH)oHdyS;*tdFjQT2sq#}WZC zp?^>SZ5`;_FRMbPH8f|CT31-68R{ylIF2^@aT^M_o7NJy#l873TVNy0Rt0jg+Nf4> zLv`*Tv1Rav&LC;{VfQs|MoPpet_tG~d%1RuHjCcH1uS$)qM80k_vj;ZBUmdm zPpH!_qAza&VN!y|gt*#91wb+M8)@#UY=25aAC<)zH#`X~sj`p6dgpBDfGQADvW1d! z&v#y}R^6GanU<@&pEjebmfup{%{8RZ%`k1m=jyp&%$=B`LsCmjZ*?l4>>f8y>0t|^ z`!Xk*Ed@MqSL55w_0JmF=CwZRsswNxZ15vy&4n^UYqjHrgLxQd>#&%D**1{vu78b9 z(~r6a`IKTivEzHm<3x!Fk$_U{0+K+6B;N%?Sdxvp3M~*Ip?}*^q&S%4 z1M7x8ujO=Xy8Sl;NMm`Y?ugF-s#8gn@$l+BhM3%KI3_wYWKFI8z`H4c*(A zM8Q;@^$@(vO`Sb$_HLmwX^f%+gF-e;y(uu*TXjvcRRx4nElntf_$;UW&O9OR`r2l@0S{b`DLPry3h)-WU;%sf zz!-wh2ysA)egr|fV4Q=GoGA2sVQge8XLlJ@K_^_mPlq(zDnE+c6#5XsTL+ z#H$045P)EDtPM;LkvG`PhKJ5`#x&26Qk_DVG0zi36hlgVC$`)Wa`2rE34pr28iOMD ze3cLal9LxgV2^0COk!ump_Ys|HodWrPWKbjz^j80_OX`CNPY{A^Ka=rF%4GeVo}6d zCuB?tcGbOX*nhW*0@VlLZ1@RkS!T37re2qER!heOlY`UVFf&`H=@hWqg9+IO?m~y~?LDt-0~46KytA&>L_0A=PuyH$5^RSxoG>sWLO^*!oigUC)@8MhzPvyY^tsAU4XPctY$ z3~4}_XHZIAFQOo5X<#EejYtta5~_{fu*seC_$CsgL4_E)<9fU4Ol>y{y=Lq>2qsi5 z?sXjeXn(OCSG4wK2k;b6)J`GGwJgSuY3O;kE$LEyJTVNT?Ivu1E8OyoJl>wUZ)wn4 zt;Qr+ih%EoF$Uy0+t|)`UXd2$qR4YW^qR2|HN@qk90GzvRxufDV)J~fg;NSPZp#z2 zI!-tYU=j20agXoDTckD+@ZDBqHUa^;j~_Dx)_>jSS|C+0j05sCS=}y1EN+SJAqLFz zjB#8!u{Cy{ptJ>6<`D9>vy!w}KzP*P0J;mawHCWNCCCL znbA(gce-3H+Os`c28B&1#4a8Rw1pizb%#T+2BlekI8>q}s6>D=VzS02dQ-rGQQZoJ z;(y{|Z;(PoO2O=I0WZ#r*KvM~cHM1oAw9#UiQMhT;4Y=?)GqY^8m;CW5j@w#nho{w zp>gk4!>ap7=R7;CLN?hTo4mx3fZ)N^#NcSBL7ugnQ8qHDsp{-uNKB~HEu*A-8E`Mc<$)pwJ3%CX3D26n4bfCCxbIX~w?%!Xh z)NbK>(hKm+YyJ><`&1k|`y!M}uY#%~J$5gK2X6sA^{91|L_QKypgJuJKExJ-1@fFd z3CW*WSNw7a$XUI6GYEjmgf0Y2>uG5`S~qOclwHbbMLj`KYC)vf=hFt$7|P#R-G5Cs znyVl=T(LwOx`B3d_H@&~$YLw92*b6LWjQ)ioR-WyZHDO~ESZTeTPwb zgEwRQ?(0Ceei+OF^XcbfebK8hpL#xMy^Gbuw}k%|;80!k?O zR_{&=4zUCfiWIPDhcb+q3G2R`#L7+cKqguuzxnJ|wvBvQ^1>xdX>{yQJ%3W3F%F~A zv%Ka+tr%CM@%n0Uu3_=!#XxUJ?K?Qba(>~k5(nzAjd21O<8O`|zA{d7nCIMy56w}& z@eiw3|D5VGc5&^Ac6*OTQf%&Vzvwu~{6_|#zYTy4Q8_I)8*{w_pNwIVQ~&c#_U&erIY0Y+&gO)QZIRVdyXvJG~#y(-Y?kmXepa2R5iH*9@Y7 zKq~Aksi7g)0xl1v5Q{cS-h)~V|_-vNI7e(QLX z!yl;bvJOxncYTj;kVDXD6M)WAA!EW|E z+xLD7Tlak$tIvKK<ZN}NvF>8~<_}?b;$AQXtk1a!$1i+2%7If1E8BSr*o zehKPklh#hSi@Vdj%(=;GofMK;Ofw%gj#bKY}rU~A2s0moEKpA+3QXDrV2Xp7|yu*zeC3rjz8~}IQG&n z!SKK>ICSSnvGvFu=GLBP)Wc^$&U!9(&$|RAj(?!Mi*)2cfC%g7zYO`*bAjFC7#_U~ z+mGA@OglY1g&mb|y3;s};1Cc&%aKh+7HA7mJFQ*(Vly<)h{Uzd`zE81u=Zj6SbrlENv22@pyW1hF((HTD+1)3-0Bg;d!+@CAo&{&3 z7uh+6t(!l9Z2;@%ybO=M>8%)_xF1`$e}5Dt8S&UtkfTpvBQVP87h*o|63Btm z5b^|)jC%S7cZ)N=wb%0f;oHhM+yyO zf^$zsH}s$)z;Rjt0|_E4G(==-#N$S^Adif2s=cchgEL^HW`~a$MYAnd*Z5E?r(D9Y zA6+n=`{u9KeEA!&`s81LICeL6t$)Sr_Ek~m$yWQRXJO|>Zv<3v=!W+q9DTybolOWm zuKI{A1V)Vmrc=+y`kWU)woe6AF|SSqlOjIx0MhOejE~-p;i-oVrl@8S*XNyTM`X#f zv7ys40&B+J>?0zA*)vto;0@880bs~{pnn6eR*%*W zlrw;7Hh4nRj`(KYj+QJ1D*+5bSxAkdVh=~P8(1B{H6ERDCyP{{QAhi^4S9f3rHBZ* zG%_t=7^3<2Fr&=Vp0Q>NK?Iv-C3?D%#AI0I&M_lMG_0>?FoizNVE}VBFul1$lsvmq z(ev|UVcLKQ58rwF$vGnoJAY4N=hO>uVBE6WYtBYKZM%brbJqxX`UxDm_D>*j#IfhU z67}@+G2C?>R(D@-6NH=*hry4S3YH1u!*^lz$elgFd3QJjIqzc3r=5@W*)PPAmwYio z-o@5q_h5MBE{u=fg}C!1au%qYBytEST8yTI+GU}l6)He!ENJH!wtv*`wvdB!`$AxM z^K$yX!yDWt6U1OOX9$a-NCrQ6O{fx_dhf3B%|(H@AEV+>OrP*H3Vmadt0j>OD&mm( z_^r!EAwF?ok9hTN-Iakg*WNJ??!uLGMXrWM7+or&mfU5d7D!WFyKL`Yq=IS%doXzg z0rRxcm4`0*v^duaP=7=&1+^5UVd&GMCI~~58|-Hi!XaUN@H3bWpNsM72Z2Oj2a>A? zAX{xxQFDb*0Hz(RZu~1K6y*h1;K&z#3(^z!Ve7V!pv=2wg6M4KnsWy&83BVH1Ma*A zqkJ435;!oXb6$w~)N`?W;bl1Tk}m}3HCB(_jn!lKV0`#4V1GW2pbeJ_Aon%lu55H= zo3n^j1<^GdwPd@Q9NhoLrT|S@S4zd;A}NsVX3;I@N-5@8z|D4}_G7yi%iBn7bzGiI ze=99(IU4UV3@e9v0*2M9=kEd0YdJXI($s&`?%EhhVuqknP2m?~>ORawiChaWk zXV_f-?MLu)U;k#6VGGAz_jNes6MqD)8M#WITo_T*&iIzrz|99aaF_4l@EO>>^z#5I zIB?@%L7#dQF?zA8CUR-)3!B5bxZ00UZ8ondKn|RV^?%_rQO~##)0xkMh+_4~T{!Ug zJ)mPxfsQ{84vaDvr%zSuMk#iyxE?@LDv;cPp;S*Tk9}@kBzF%=rifgu3mnr3B{y0U z6H(BEEF94A>EN-ea=h=>Et^RX7b!emU zYI4;!`hRL}5Ys$iNT!HmHX>?kwwjBTNmSu{%;JQOg%=q@G&Xe2{{BoLmbSMb^9(Jy zi|eZhqH9bPK$)|D7O^sHLrI#zN0TzIqNxCpZR=D7rh!Z?c&tiK7=%^-Sh`wC!m5DA&p(%tg(PxR8C2uDCP!V zecoNkly*}6cr>n?K#-@klQAn&iWqo>oGo8BQgZCfx>crNfUlUtLl|8zol-vqs{66@ ztbY`TJIE&vdCtzVw#Er)LE&CvYz7B4qfcEdd?TB#J4W+tsl_oxCTK8nK^z8CDAsDg zIM``yCd3K^hLqCDtKxJ1Rs#kJ`_hEa^I!k@3MTA6@0HMy zu)6otzEA`uOE;i&&6`oYTVxj$?t$(4RDT<02aZ4$?7Z+w%xAp-;n90=@Q$m2Y1itJ z+UWJ{S#*RUj>a1-CU$SS;hKvb8CtPDtdMKQ)6cyE$6x-XIQ>(9hSlBI+Yar?THxyAHfq9fhPtnxh*%RuZI{m0jCsS8LPXAM8_v5DkN{-g9k^MpwSTmv zS~p~n+KCdiMR@tHpOQ65F$A+bCiZT0Ng`+lq2#m|sU~5N;u6drl5M+Sqq>QRn}<>- z$;N21=dcAMnJ1S+|QVuKkNw^8Q_EUnRklS>SLDW$lqRGp}6Z1jgtwg~~*leqoa zPvXfpd=t{$*BPK$+mq(W=|w@wEq^%zf!IA*y2Z1r{k?mll(4$%I;`%z2Km(UaP&2A zfy5OKUiW9f(I+78u%xOO6exKOtSiQG1<7-diYKYiIfGNcTxJ9gIPLx$z^9#qqnEw` zyBA!BQ*Zi9j5|*m9#*ZsYm8+?MyVMi2S{Kb1g~$zoe@0LSqYj8VzMqU1%JZ;K?cUg zxMfG;umz0?bDl7`dAH-)sErX_OZOl&vWC@k(u_GXz(Em-A*`6^ig8RHpI|Jb-k31= zq72)sRCNMWONwKUb#6fG#LY{2VJ9dVBYlMu&Is$y56ztG;9Mp z19NUJjNWK@m+gUkR5qy8KsLbO*cjl<_7E^;9Z$K*27 z3RD~4(73W=?bwqz@X0?1#TAZU`Ucdk!`Qm_Q{X$Vb1MoXVK$$VTxXL&Ixzu(5Xo#e zs+(FK`t*BH-tdh`Pd$vMUvw2XuW{N9??Z^m(Rrtr2Qs$t~p!nN?Psv7%1yChB!Ls&$xz&0|FFfTARA8Rxpdx)a>hqAp#|XgY)Ky z5Xkd&37FRFzRPI~RP<>`^9bY+x`?ZK(z#0Q=1C|8!!Y`;hsC%^jLtTff*8q4Ct|}d z#Y9ZTl>`D0W>8K>SARdE4u9nLP`3`_ z$QOJoj$Zy|V0FN$NbI}MfXHc~W)VSIQ6!ramY56GSs(v>po2yE}yk4W` z9R#hQvPRxHYCtbBG$!mSK|(-QnJBj?jVt2~iV+6P zoQQ!cAo2_kHGkNIL5R`lTe(y#LqHfti*IdEi#eSsI2i(A`M?19cZIt6lNk^YRKJ`4e4Qn=EOHs*gY)v7evN3Z@h|mxa z7zkQ{VvCNO(7iZ865`%I>eAdgzRvx;W(tk+?e= zG{&{KN?&1#?x%n3_b{D)K2j|>@1wtq>AZ{Z^ees;G;Vt&l^s#TV8Zz}hi!h|;$tih z5h+Du**F(2M$5}hX~25D_Ey;hR=LcGLj-d~uG#zxS)FW=!DYfo6(|*Ph|ri&i6^8}w_;`>QA+R6S#=C4|L#QCP z?wp$aF85LcM95txU_YyrYz@maTiLR^1FUx-6d;`3lhnD9PWxxxhd-dyVnwTud$u0D z4f)jbFdTUZ8awPXYq1O)Jqu+9L5hyVqsBEWVH@||j$a<><*)sDCpr!uYv zNVVxu7x#OjdT={lsWt|)qmaBVSUN#efC5UjzAh9oXjVs&S04>j-CkM z*i~t@R`(EQ2XGDdE1tSkR4fb+0w_C<<=%ty4i0|m-8lTQKS13+1y6p#Te17{F9wD! zbLJdvd{(7&6<0_jvIsN;oO%79V&{_A;rMCif}VO5=Y8n6Pz8A8&EF0=bS4S}N`F8~ zD=RUanpK@)!W@jM#ANow8oZfFh(0b8cSA^QE}^AZmszV%j{>0*8C=08`!wF4Gq4$0 z@9ttdGH6}{QlLbbLxQFONP}UCLqZzOBH08^YVu4bRDqWj#<^5cSL#`5QnEoW!#El- zKm`KlJEj02Ad6tivuS;+I9-jp@qfA*oqO{s?h@fRWhuVEf(xf=LFEA)hdvRBX&>%b z6e4;`rR39eI7jGh24?syel zgcV#0Ib|#KYp5IEht0**5+ie-QOb-IO;SmosU})5t#{1gqL{53H{0P5K&yk+rO&eg zzz(V#4=?zUXXCcy6nJx8Ab&_vq%@dcA;IA?yKf7_n!ys0hJ>08Mj}7zoBc3c&8SlQ zv6^5`2!?rbcfc}D$_xynl{NEZ-TTSnfET{@^HdZDEc;^2&$|N3jPbMALvpb(niCUL zopvo1<7n=i)vdfZaksN&GB8&iC?=?>tUO}W0&!>wIdMpVdr)EQ1b+aHTiAWc=b?s# z@y<`;z+-oM?5KJ)g3WWm#(;k43%?a--t;~UPd@0hBEqpVpNFHDy$OeI`2e;axw|u| zjcC!V<^;s?n=^`EQ|M&Ie!NsY1RfHWT#aXFxmm4DzaQmkfq;i1;*7j-JO zlho$-Tq~H&hKb4=hi`lz&iK@OP)|P(PkjDcarBZmAZ{JBF&iT-9BcJ(PJo%cpK*nu@*2h(kmQ7=_J|i$H)Lj{D`V(SAf!lSs zDUv}SgmHU&QGds=d&CR_LQJSqFz1Xw(H&(2LL5-V^~|1`64PKJq>!MsU;rV^6G#9a zSJ2e~)Fx6IOvX^0$N;h$-01)8qIkkw%+H(C;1dkNG-pT=uOkZt;s`(h$b5ZbNT?!y zDp^QcGj4{!+>!_k;{a6 zT4S2c`)(Kp6txkbkflb3XbuU++9u>FL$qRu3ALqDd1gpeAdLftVZ;EpKuEtZth(!i zh?glorX0r6$QoXz3=m*<*Jjt_HYjbG7z{9Tpk{yVX=#hJ4>}Bsm~|Jc`P7ABL(L zNUDEIg+@kk=!eUMQ*QiAoc`&*Kt26jJo)+Gf}7DUM(GQapX-mqE7}BT)}a0mI+~+Cx=g{lQ=*D zX&6B%BIknLc@0+U+UGK(3NQ>StcGphv3-BhLZF_e}Pt&hmfer!x#AlE*hhM+I8=4d!q#f65CEXu2$9r z&2!^TfGHqSXlh-Q$yAk|G%6&5)IOzqr`@C16#8vOC7GL2NR(D>D^`&nxPhx)$Q*P$t zF%2erEcV2-Ktt>H0&4ZV31ZaZAF65xq}ip1i^m`UHU}#MuEme{&}sfvoSq+}JK=jX zu#r^@VvJ8egfnk?HxAx$9d=%H6`p$a*Wl2jcjBp6eKo=*S0J7DJgm01z$qey0Sdfc8`{Q^AsrvDA|_Njl!c`}&EKXc>g#SoCv07QmLHi9YuN&`3r#L*~EAtoRM z48sZ(6NZ)T{302(W-B>3fI_k;21Cqkagx<+VMrc75sXL?2fO*fp%5~QH_dCXdpwt6 zM8gcv4ZEV(9JRuG4a&NgUQfr?HH@0(6MDOXU>>+=KuCv+45gcXr z2#&q-t5Am#bmTFt9=;u0kKArgkeamwsbCn*RbZ|ah=U2uoh?&qHik^|IO#f5bm~!a zKNZ)S+GvQozcYj3*)b-i#FDx$Y)9`fu7F?*TOr^fb_#s+IcZ{=QYuz-6vK@l0HuJV z&wm9DTyz=o`4k8B}xZ(XceDE+Hx#BC49=i*t-1L{$ z(Kp{~Q7HTLCz~BwBtlA~b)^E#Q$`BWt+3sR0n&*bAVvtDGU~h4>lAmQ zsM)=Cc=4XuC_A)TSG{Ow_TiF0K6E>_9=g*Yv|)wavoFTeulsw3BOQMVw0j)W3toZk z`)`FvHN}?C3q{r3?Ab$9J46Od-P(sI?|Z@DK)OAkUaiy8v{>7b4ty2Zr4v zs8ey5(uy#S(DgB#@!{XW`i$q};V=3w9K7~VaNy{ZHuxC=B+nQUVYe0xD`Q2Qq?1u) z?!GwM9Qes}E91Cj-EouM7MX0ufZR#OLNXpBHDATn$+Fn2aP`S`9`9oH&7``PBp!Ap#N%z|6` zqm%+(@8H1wH-H|x4bvGH;OO&Tjp>|=aO}WoIQHZNSUq}|H6KL1U}bJXor2Yq4?(A+ zSYqL<>!N=afa1a&IsPOL-|=xsnR{3t_sI#|LCP^V4_VpT+UmzJyqkvau+e9kRVq>( zz$qfe5t)p!9mf@D`ylxI^9?!(5fdjIzw*lvrX3u->pC2G^e$+rDAP`tgdTX}vpD#H z-@@ZB`!YN^Y~j@F{|u?lP_L`ZlSaWXY;MjoAhv(w%~hP#VBE?Slk0tL99E@Ct?>`)|PJK-uwVLwEE0atH`bJg6l&l0A(`a6#1M!4G~lI@0V=kfii=gHO=DuS! zx;b+Mq@c`m7nzfax$Osnn%OiWM|Xdt8nG_B2ng03sE7A?CS7*E+Sb9tP^l9a1vskeO;Ph9qSNJk&Vfjh3nbn1CH_S{#10Gx8m2f#-jvMGrQC=7_q zc=83W#<2@7!x>lqA=1thF6K7ce)F7RX0xXt_eRtuh+1nk#&Hqbap1K6X-0qATJ^A| zQtSq&!Pv~KVk{YF+*I*Y&gNqnOyDK1K2)FYc3rU7$7PzKAzGtX3Ro(N1MeXaW@q9+ z#bp@ij$%;DZzd(wJh}KCh|Pgask?zaaLWxRw*a5}cmILH{pqH8ZO&9>nLcm;tAeYO^szo$uO?W(ybPoWsX~5w-**7Bu{U8;x%u< zSy%rLKnjjN|4OXSdI8S;`0qn&#!L}UzxeZ^VZg!rZ^G7NcP-{UQXzli0UUYJ8zCT^ zdBa~|_xMqhiN=65Brw~|n0;nkU1K9vF{J1ugN!`Q4&+vpX%}HwEyn6z=$B$;OJo}l z=DAoN2~kgxl3J0rwt-ra%hUm3HT(+GG+~Hlh$*s2N(BKN5_H;K3;@)oD7FSX@6Tgy zrD{)uZ-z#u)Kf?icM*TH8uY>2ZaS$27*2WNW$yr_yW&e-8h}Q(5A!Z|pLYeeAG*!l zQ+J+1y!~qIy!cJnz2I_;Pu^$R4Y!)D;xSNejS*Z(UaEjZLC#yVqXSEF3J1{OVkM4H z4tDcWLQJC_`$V8&1xh0jl5hV5iYme|x*L{RiU~2oxCI5Hk|2Mj0omX!)I+BuOgrF` zvAz2w((VyFdifV&c=T@2`Y6T+?!fkgw_^94i}1uHZ-9>5(8ulvNk)R;;A3}znef=< zUksktI8cxK#3uBeha8@;ED>}a2dj&v{IipL16qm^cNc{`WgpFXjyEu4P z+;Z}2)gJw7c&dN6)vh~SRPh7@F)QX_3#Dd{)oBqd7G7zo0|tl(_cvSw_u37X`UJ%D zqK`lE*dP0XI}TtMzyu(-#RmZIc*i>sYjbvY>bj}wi^&{I_F%l~@$!q^LrNp~x_6=; zJRMKG{u^=du4@tRy3Uh-Ml_dWPUF&^SAn)X-(dKcIEa6m(v~^W2Rl}@6hs&+1y#Vo zoj>!8vNjr4j0wU7turD;u$UcMYkZiZ%}{eS`c|o6uOU}=d=l#yz5?myzlPKqeC$q~ zHm&i*m0yKZKk>(ic^4qUq5E&b)}7Zu&U_AzzUFHHsW|mBAHcBl1crxh!&&#;j3-|D zrFiUxSK@!Ho8E_f^a+5IExgDU>J1=;gyM+;xi^27rpOcqpLE1%tO$ushNUbN0p=UkoZ_tAtdgwtKJz7$e6ww4&Xfy!=r~=AmRc2+Gtn@xIGJM>K zYtGqwtu?0}zPa~JJSpP=V^kF~BknzC@3p4+zTX!DCH9SS^-@M3n@nT?;fm$XO^mCP zsI`BfG&1(gfN=XdcK^%&9Zf54{`&t8x_g=_D~|RJ!bG9aEf5ylkba2~F299y&;J>&edCW&Pu>F?2grZ8MnXk*{Y{*H?tj9`U;Z`r9{Cb3fAx=X z@X+TVd4Y2;e;cRX_yMkb_MhPBsjqvy0|&t()cuWR!)w&Z2o{(oZ;sh87-H&SP~!c`^R<7d zOoL^Y-5ZY4y=FE?R4@X=cfxnE43-Ce=Z}n7e$L-wjGmhz(>4&TRoI#Pq1$J$c>M=_ z@G^(d;^I_Og)O&m^x5Bol?`@Z`p%p>Zq4IU(NKqxb1ck>cTjh1`N+)UyJn)JgBJy< z>#!a+F!#`6vR`^^tVE_z#+0~lS2lk?WgNJl4HQ#`#A|Qwu`grm;)@8kuX7o0(-jnO z{nP&li>q&8b@At%^gDn&d!(vZ!0ksqhs`}tVtIH2C*OSmx<17EfluJ@zNc~eXMchI z=r(F~a)AH3Q6fqm=QR3Z!~ERg>$|NH*V{_RGf99*N zzx>hkfHp;p#S?!QqZ8eYSx`_PyiQg@cpwYowGwjfX2=i#CvuX`-fAOK zqLn%CB&O^yK_z-*y+$23SY7-D4)6as_ux%kpT{fa%=6#E=KNz=KlwG1tX!SKok2i_ zVfUS%;GSpyEw-<`hO1A012?|(2k5WAhYLUb3*7$LujAUM|1sLu4kUj?G_C(2OCdYnn8VERo+2mAKPPe9>$LZk zNIF*6EoTpS$eA7%EeMMhY|1_M8>yCKqUvP8S5?|XOLf1_M^{7#^Zn*=_AZZJbylF^ zINMiZMqDnS4%#*eCd1+h;RKAyMOiHVcb2BJ74(c2wS^U(nvtg3+E}T z|GAY>@PJzdDU6KC8;q2p792fB&#!t!gt?Bc`3G*)dtn>~G-c3YD;3tNCxUKJ%7$B? zVMMrd1HiIu~nc?b}|HuJGG`1sf@JxS2jzDg_hZE2K3C{iO zTR3>)^SJV<-@(?EH?Z~gk8$lw{}RK6r_k-3Kv--e#2zXhY7?lsiMd0_i#gpujhhpC zHVVcvLIRK-G+t^$?lYiDsa2x_+x*m<%t1{R(1tpW{<&fn)Y^Qz(91o+Fl%LwN)mzi zBm;|;!^g{PxT1e2+8@qxOh^@Psy_NA#JMCKG~z??Qhp^$po~csvc7}5djZ(L&IeQr zg8Hyh1i?2C6L@m_cRS}vY-+CW7bsocw%iKV8 zy(7suzgxZeW5mN7xb(R{z}XkRg;3UP1{!sgWhe}xfkF58aN=iwiB=kpp7;{hPyZ_V z%dcZ|{!tt}{smn4`CmY=hJ+Q085UTP*Bl6fWI}wMXMyG(;VyTOkWjUvHbT;?dzwpe z`d4c{bmxC?KjqAl$34Q$aULFv!Wmv00c&WD;*e;O5v`I4ECLX%0AqvZg@@R9sCaW9 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 Hu0mjf#zSdj diff --git a/InstallManager_java/src/res/images/install_manager_graphicmotif_003.png b/InstallManager_java/src/res/images/install_manager_graphicmotif_003.png index 235f617ddec7865566f269e6e996469c46faf6dd..e84c825b620119af68f63388655cccf2888a8c9b 100644 GIT binary patch delta 43151 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≻x7yYOYm0hZiC`o_z)9P=0iDTF`YMrTb$<^A-L8L~mS;BR$7ova|Vq))=*Yn=T z$~VFyL}=U4Y|nwbNPStVV>NgAb8-5QybTjGv-M|xCU^#1Z7e=2nO48!%z_%3>juI` z)83@4x9#$7RSR`IT7EBW4(F*x5m2qK${YeNhn*uCwC;swlUTDC*Ac;oN?RU?dZV`l zO)EegItLLwS!LLD&P4)-u!(e1jMc9ZSv=u+y|2a*B2WuJbvV2NWMz+(nb8ZLP3FkX z>7|N)_V`A!ssnAC!zr(R3wA#9WpK4huY(S^1dh5o!7H*zFYK)-T+$Q>uU(cNyVk<`DTFtDbGh=$ZtEa8cz}9u=FntX@n^z`LZ<((<&T zN;U&Lo*7)0&CU=}l{=SqBx1NUd9L0d3AG}B)*cHLHR_WiU(06<-xUt!po~RNm9jK2 z6ae(jI2U_=_~$Tn*12`NveBTfCTXg08w}Fb$JD84*5Dhi-Z5;quS?~NqE|p~v0`>dqtTm)zE`~N9b|ZA(kN4AOt2dR9K9>z1pKhWcx2U~z@U9_r`LaYQ$gtJKVeQ4IXR-T@zliDcE{owd z6c$kxD~8+32#JkX6wxD8(=k^y8Y^nP2S|*uu@j(hX|H}) ztReBf3cV&Ti(b%?;^~FF!-+u}WN7aSrI(er44<`!_3V@WYR#U zy^?9;T!FG201V9hz+15Gd9N1KG>GnoFsuagvtBV2A=Sk!XK=hPjczo5D*vddTe%S=SMf?CB(r)w77zi(sxK6O4YvjG!3kn4E5b1d>>%9IhUfMA!hU%~*Z?1yHgH#l=uWCxkmiEAfGoX(|cW2YC{r8LD?*gOM$SIf|br?cAcrU>xnlrFjW)ETr&ja z$YJ2i#xrN+SeNs^U4|bEs^`A}?)h)1@jK`cT7Pe- z4JOAo0?sqb|rL|==izc*Qbwb=gH+B_M@LaO_o)cG;p*FlP2`)48!%MzJch54l za~Es*qyH9k&Lx%6FyP zh&DHrWLssqX|2uNayl@wixTNbqB@QtT{-qtJ19Iy;J6j8$c_W#ls$d6u}-3DW;M-c zyD;61A>%b5cT*E4ivknh`;+hoE{R+{Uw^*9;S11<iY#~x5u(_%BrEc)%XV@&t3H6l>lcN?_;*?TTe4?a zmdY~>?+|H&^JUo#{}5s7%nNb!>VFMP&j{mVb(yt6DYCFgFu&ReiQA3W)oBVh;)HO2 zq{*l`1^u*1(OiT@zzJpdE9?{*pAAC^`7kPAji4rMWMoxP?# zXYjrtRpy$up3D^kTw?RS9DS&1&2gIBv=kXc6f5u$wwxmrPk9+0eaTN%C!HZWKxBo>>0o9|$@txv=;&~WTa!S3F42+s9{!w^o3?z6x=4ZLd7hv3aJeu-u4qjuZC`q# zDBv%D5x#ZRn09Z<1sS zqGhPExn&G9_xXtk?n%$Z{m=i27AQpX_oR_Qfx zMr)rPizVVqiPqfd$9sSfU+ ztNXB?bDfYBS7cCvWlG4a3)#@;+%}!`@hr=7EJC0gh68pLAW}#t$AU?vX49T84QX5_ z%LkDWretdEkp#(ZjK)zZOfo_Jh6jMh$IDdNdnKTSMru z`*w6qq*rWu>pVt(4lW8lM`EK>UO59}5)oQM@F*Tlg}=7yNq7qq14y#}i)_y{B{ov3 zjH9=M8^Wq=DS64g0}`2AN|sOy1`d&uI!jxO)xRfppM?i5`2huUcvC=dhtY%rf?JHR zGgm|=G-sYKNCGQ)Ikd5l4C6er^qn$<-=ZimIXSs`1LRSER4=oA+x+md9Dd1d?(VuG za}%9$98;-kX+fQw@VYaDQ}V(<79tnRT*Q2^)HVzl>D<&5?tAtdV|B>Z)4>)E9F0bK zMPoD`nIZ(^dQdb|goa8bwHy;Y@A~uEJ$G^+oJ2q*OMNVHqES6xj;EJDd3kp%$Nd_j zE4Pvs8lxS5o@2J@)v?^YJFKTI3{P%POJCcW&Ih5~a}e`;&yNq+hB(Yv@=ywAAQ)?e z2{hB{LDLmpk>nvrvTfnBZP5^WG3?|TiM(;bup5=l!ps?+KZqhA)iAMFLZn*>W`>n@ zB`JLAD5<6i)Ebi03ncwK-gAqXw%ilfuu|G`;lK=kpX&AS*!eH4z}>jQmIX+wLt;CW z5(JSl;kE_y<4!NDjaM!tm%^h>_p0uD6Jp<(YElV0mQTjW;7>v$dUSeKo=-;^ZQxep z6`VB5j+P!qDF%?OILQ^d=*mZcJwp|t^yh|lFImk6q~@q zR1wmDVKk!x)_z35nhjtbx`2?FK&P5ebS~P zDZ*H~ieRyWVm!!;G26Uhx}a4yn?LYt_lhtgekR6q@8w}l(zJgDCOIZ^bmy6*z` zVmcZgSPaI8Fy-n3AU8%yL8P%AZW+p&5&hwR$eJ0k-z;RbCDMkrM?Uabxc6O9=XujDE6BJ^oMj24sdU-Q)nUjr>9<{AK*G5&E?)C8a zzDq#tL6syy{G81SQ`@6$28m*?wpKH+m|r`^s=b#?8GfJxC!QtI^UF_&rM!S}KZ7KH zq=m^QLNJeFfE}UM+JoG6(YS7*7A2Q})Lh+=_@fnZ%C`gM5~LTzk&YL&f55*6^VSXmNgVc=(Cs~8^an7So1KzI@9vYsTml& zN@Kl7c-+o}hX%lAHY6zn9OuDVa)K=cTEJ@CLslEtGrL3NhnI2?q0nd!M00G!ZbYp&_0@i*^z&Zzy1j2@| z_m{{WCi3Epy?4&74h!W~?oLE?`e@0_1(n0SR6>;aWvsjPeWQEiWjUaQ`4ks^Y$u z`$`U2LmXmg6GwRtcD4EU#=ZDpYlT@o$D#GV;B=ojfR!d6tB7hbk*SQUWyEX=FHV34R zl>zM`IRzqfD)Bi15h<3K^PIVbiW+csNnRNGzYuJmbSbmFv?OAyt7psBSzB7b#@cG- z0lf#6wI_^UA@q6`mc!tGxYiCt0$B4fz?#PetdUfzVc;wldSX6CwpZ0azct3Fbe3QC zy(v1@u$)j24pFuM$f*XXu{d$%FxuxyJ<_YrVuo5Hh71?bDZ?y;U}d&^Bd2=EDFzA* z*4N=THo)_b!j&HE>i1KI6Ck9`;J}U*-W{;Gc)Hm@GqvmQqV7|Fi#A}J2W9AXr#y#_ z96Xg3o>w@f+^EZ`r<-`b1oc)D@(A`T@{Z)WK?xH4#y!RWc7D; za?KcL0c&Z5n+2?YZNVGDtr8y(7ZS`6IyWSSYOkEjZoG;z$&OAg1P{XirQ8~2cJW#g zYHQC2&8VQ5Q)t5=s68E`pa#OTQ{&7?-sX=y92!o{$*ya;j*{f%`@FI8TU zYQ-t?+=S&=pm;d%ML2H49Vzz75NHP7a0_=atkwC`>vL^?dJ(*H6zq)9U$urI;b?|I zu)>Ya2RtbcILiH^Mqmba()-4osH_@>vu}A!G$^D>Y|=X>GHmrQb=+8FuHt61xLh|; zC}?PXaRJUbEH5o$cKI=^&7BVC30zb3L%HKnshKf}5`uiJj^V4nQ`oF-3yZEIL@D4? zL%VNdSZA1j;*EegN9K5Jt%>6uazsYcjgs@kZG3={4Uk*ZqPhy4>`W~50zS0{!3>1Q z@z1y}!N{+fMoYrgZ9o9tIgp1iL{q2c})&@XkulnH9YQydr zmzj?leOj<11h;QL8r}=e{XXH3QL04BU11o=Di+Axqiwk~b8d;UUNawx2|Kz8IYVo? zZ}oGmEzU=FH#q`7cr#q-;mR_G;`p-)$5nWCUI5mig=Z^e;G_X-+X?Z4IKZ4oA!5YI zNbJRb9GLP${X_&F46t(iD3*^O9UqA15iGka6cdo`awu1t0ior-5wvub$!uR@F?m&0 z+q!GvDC`#wFYVAxy3j-AayUO$!`#3xVRxN#4jacF!sP04tk3MOy&y#tkWj+G8C9J+ z3|C}2D3sVW#Tf^Uo!mgvCIIV%IwjU#G#w6qj-Rm{4B~NFoj(>sZhvhJgZ0(Q4->F* z;y9wi+=QB1Z#e(2Ew?i;OlGcEbvdNhb1vICX=PxWicK*zI=nKQx#M>EFiv{GIf5+! ztS>FZ4MRi@E6a=6b?gotoq8^qJV0e_Qv^r8G8RA^VMq%C=Z>T?*76^&F~UaSARlgj zH4`QeScfWgu)d0=qmN^C{y2O&K;a6MgFZHvmuk_XdJjwd{G_%_sbUns)V6I(DK(s@ zm8Hco4N$hAhNzvl$?$fmsIuS*%4zz1f0pAx$o)O7Zb^k+Z>eD|iU@j{&hQmegY|Wk z{XQlpCnMzy47dkB2io^Na8yAuL8Qoki&RP(VHk;|8mtM5T_G|!Uq86s-X64XS~?-f zh!yEv5t#VKEm%2v7{~6v56orMRfJ>o$YEmp&V2d=&47+7`@#s*1o~vE;2{f{+eS6p zFg@*gkgS7h^?Zhb>w{mho{3WqpH%oK>)YHB>XklUAHzqAhFYfJOB%0tnANKrV4 zjpGkvX6ZpJ?>M_^%f%2}84Sy+m;?3~LUC=HA?!N>c^5;nqRO!`EDKm?yrKhP^5MHt zJo6(9Ki!>Iunh^m}%tA(ydBqpSCi8kc>c*S|6py zJ=;_ntiq~#pOMunruRbiSJRLjIczK~#{4gM!K&5gzz=^36KB5^8{2kAuUBD$wOEp> zI7R-aLNeE$v37q15c$gcxn_lgCNgB883Ky+W$gOgpJ49mH-JExa0Mo3w|5Vv6JkVZ zB7x8JrNn)W=j1V&slCL1@J8eVTEeC^fRx9_F^OhQw``JN;EvLZR+v?My#{8P`ieP-Mh@8cKe*<&h`V3ASdPS^CQ3k_n_5oL6*nwRY zAU%AupfFIQ>hI*5t)VeRka?j)7O?IeeGvOT^L|VoeIWLor>3`m!IfoFEHp#}!G(m$ zWcgIm96jSd)qhy1l zt&Bqv68gbD%JVj#d2MkXE{=;j(~hh{TJgxum^$s5Sew~bYqvCEIH=vnjIchjj$PGD zrY098aNRv2B`98h%fHq=f}-+A$XB5QZ0=f3ly0fh9yPLi;zuG57G74u>ZQ>#kNQ8ZuXFHgZouB>@v-N z2KR*bQzV3DzFE09>k%arUa07wR24i-kSJdjbGA)Kty_z9F_VPLjtfC=_GufG5^UrQ ztRPo^MK-U07#a1VMY+DT7(HDqM98UODn|r5elKR`zmAn%=U4XAaJu19iaeM^NG7mj zFgukO!a0!Vx}QwS@G2v%BEig~_u$Oy{}Uz#Yij1V89;K8+@XdGNN$><{AhygN{IzS zG2dergpP*T@olSu+j2tN7j6sBEMS~%p3mzQzss( zNV^e!62?SGR_ZDeE|WIMx;oaFz zdB=H`c~RO8sh|_Ra-!kwRb6DJCe#Mr*4%@i$DZ5%62)Lme_k-iyLfRo-4<4nMJ^bB zG-oNp6gI!0AsYBZV*%2=aSW;rYa6zriNqkfBtK|l@U?bvlavRlR&21#M!MmnrRe}S z62m!&K*c9+LKyod4|dhA;`QZ4^g{7LPHmiYF$Zi6k!p$CJ&#_4jj6rW?6CE-t}@41 zn4s2Rk>QtXtF5bPH(154yFP^3`#&Fl6=I1BfigA*Q%Rwi!a?S8Qv28#BnxKsNgL!7 z9fDIDRHp4F)^oMWKA5~u4~aK`D$8X#Ty0&CaDf1@%hE?oj%7UsL?e-X;;{B1LRgsv zgWi`IY;1rBeYoju72~&P+Hg*=Vk9UX4b*R7@1xh?(F3oE?JP%Cwe1xn&WksHT+_Um zt0+;o;d+aYV9zaogx>P8MxnH>avh7wK(N)_XewLNK?$_gXqKXL)eui@e4zj-3KDr7D z7CXQ3$+%XvIgC|QDFs=SL@2L@@;qGO6gM&&OwfL*&woQOV6~ikxIw0c&9}z`D%w@s zeVX^;J&)9`whCD}xW`e|HK_LY_S872-ek^M?`m_wu(;2K5rEi&L;RV4h_JD|grexx zxnH4l3nLKiv?1C}?mLcs5o1Qls^j1W>)82~|BmT}`%}b# z8)U$l{dzeuA&f2r;Tb4$UJs#|IqIa)oAGmSt@7JHe>vT9sw{$SPNZX2i(B^u~al zE{x=6CCRE$Ozjqb9tKy-S=JU8;fkK3Ud2L#n!HeQ1J%WYrdR+N(~I|F?&z&p+WRyx zRZvvDatHupV&!pc`}+SvZ{@LU6wuK!c&8?J&Y=-84GQbEs0o!aUvDC7EwX70QkNQO z9+?>A_y#y)0b)3KG7LwLCf=0ioH8Pi-@_q+Xb-#1NIgw|9oC(5nN3bm1q`Z@Sy@~t(=i4KN{tZ14DyK%!40&M#|xuk zdfV#Nj`a+Gwo;s&(V|m;agn@FpNtGNIx$)@M0?7H5Kh=wS;9p0fQ9aSsE}NU zb+FR==@s{21`XD*zI7tqv$Q%+Zs*Ok{GB=q1p9IO#zbI2!)`X zT`^u8^BKb+8*Pyx2Fc&1BBU8U%CBs&Lf}cUA+{ZVNh8k9k_27pFfqqM&u^ngH8#kLwG8kl8dgQPKYK<-c<$U-J+a4EA{hq-m_ zdw1u5MQ`vPmKnr3VN?e{oF}zGNu7}VDgnjXsejm5UNT-zgjzKhlJR~j?4l98jJx-M z=_5A-M{dDdS)wco^a`nBn!l)(h!=%QSe^r)Pl;k)%ckR@jV?7v)>vPVavNfhOvNUE z=m1`NA6dX%o6?6>$<$dn!w86Tqr|DII4=Z$DY#H0JwGW;&r9!wDZWYKb<4M`aJVc{Act@4ZJkIhB=p8OZ~Vi3p}GHndB2*lJhn_%%IW`+gYh8+e-h zEqGJcT0OVzr(**v0YHC!4LqpxzoJNg4AJI+7V~Sq!>G^epSjMW`A z5r!aq`pt%0jaLMrAj`5CnmwYiSgI9riuJ0w5ycj zzWvaXu;;R8RtJH(!!uIMVaRBdNTXK7RMAq35+CA#lMp($a%zeXC)R0Mz&zZ4HkOwv z`W2-km?XZkB0Qq-2$xT@ERdBA2BYi^1}Mx3Ln?olzJz25g$qAyF4tZ(7{6B=oV@UO zP#)3?&n7*jZ}E^dabkMg*u%j+8LEhAC?1^~N}8D6j%WPRd$H%TXM!2nSYE)RpSuP} zzVInL_W4idix`B>i)8lDal*WR$$3A8<*8wI5>;(O6A#;y!Y(u?rstXvUVWzZ+5n59 zNb){4luoXt@GxJ|CM6|`8_xv5ZLGsjO~*vki+w0I|FyrfWZ*z;3(yr2VF2NU2}zGv z784{3k_gR^-RdnoB;aOet6q|ChS9z~FpSDks^9N_>1%PyWzUSEqnO!$jx%5M8l3UM zSEIkYh{IpF7LVWbDLj7DwXHfb+M|ZO6g8el4I#l^1YxqyN^RKuFc*pw)rR_ee`OVu zlM^)qTIYR|8IxdsFm!YiZkuhIqDTqG#EfEny-DE3;}W4KAlo;$#0&MA)pQ%RG{9tN zHi%7|L4rYZb3oBU0YndfJeC1U*|Y4M%zCgUW!U$u7gzHakf~06WzTHKX;-}p`>uKw zJOht^;aVL1;-_%@i`SxDTM?}{R^V|^hRQL|EXp4z@?cdMYFx?=BV`P*nrkEsHrBy@ z0OzJ+$Ahx@pGz^nuEIlB#i~dVu+^Xs+93Fe$&q)iQ6|5&BN73Bn3q+xt$^Fw`#CQu zf1;^rxNS38h1rn|FvlVuhtR;xnE%FI*mcP>mEp13&J+H<`x!69u4lXu%>Ne0zW6De zxaB$={o<$KSCM)aB8XlV40cRu|poc)u(jHmvmPvX$e{3cGh@|Bo6^-MDy zty^ny->o#*Fk5W*8ix~5hmw&7VO`?R{E zM`PJi>ydAHWyCw1^Xi2TjDcXx;8Ghb!wPm`OzhenKdTd}xXwL6Iba)zYj2D9eHE*Z zJ&ehHXAbdzsfP?IpgW#+6}DgT0x*Ep2kyb~&wd08w_cCI(MQEbZdN#8HSFHB>l$6- zjBP;geWToeXJkfyWd)OylPHRwFgi&{Ek-UpbT8Nx9;{Uglwl1@@Y)J!W=>3 zv+nW8WKo4(I*)pW~eW`@dk>2%->Tl>qSe@ zF4g9dJtXyd=*?|MS(Z(RFH5}@b>tA7Y@Dp;Lp*oxezR`o@h@DfH+2s&Jhl1JXAH5v zq9^u$pN~DS|5+S(#|LoMFa9C6zwq^#IO}}9JWz#E?gXFPwsW%gSX)|*VKzcAg=W2^ zg@?)Q*pwYCT(B%S*tF*|VR^7H5BM@AxC)M+Wf~=OFUC`Q8&26LX+W1jf(VnR>`9Js z=W5r^BE+yuWO&PkUX?eAzn{3{CTuJ%pqSZzu2)dCgx;=D?UVagf9vhP0J~my0d_KD zaO_d6e&sV*`TXCYeB>LtPvFbCfDpVwb21$1jtmO`I?R9+MNunZH3i5pvH=9W|&i2{j# zGp*IJrsA5Os~<`@P^~X>A0oozU$_RRUiF&RJg?OdRkRXn?;VCpyHCfq7rYMBFL)gW zM<2!dZJ)*3O&hpO)_ALpfiJ7xbcla_GV|{rlwR1P?n`y zAWqoqx>j2e%KXavga??r9lhyV?0LbfTfLk&kc>*1kS|vJ5JP1EwEHwnJ^yMFBy7wDGvDtGc1<={TE1AMWO8>Hdf@nmZ zi2Q1Za(M|fF$Fg{naU9xqhaBhEGW%pKwp#Ry9|<1OiW>F*D3YPvRA9kg4d(XFDqnq zWm!5EMWDLHCDteP_!qB5e|ZsZ+gx{eHB}%F3Dth&s+xgar(xpCtI>Pj)hJgNQQmnY z$~$iazIvlsz9*T|)dK3mX^&TbRl-#@9G2<~CmSG-`5E<4iv&vJkl{T%Z~w$GOzqvL z*h&h&l^!ueMU%!I!}!Ps2~3@`2c#A~qM3n)ULxuJn9B<7fcbDDLOX18^rmaD=lQSR zbe`8~h&d0K^{Dl!o|*$)@iG)oeJOZ#8GP3baChAZ-2J)qGZBRHl?lIpvDzGkY#?zu zWEn7Bg@^i`tg^jFfBrZocJEQ^$ddCEa@>$IWb(AEvuQI(u8hx3PR3{`n-+m0$78Bu zWpTi^N^u;wdg6enu{OVP^(aexf8_QYhuZ&xGn9(d_=XF)Qx&k*jiQe4yM1Uz6 zg;Wp=#^Sn3PMrqX+ctxV?K`SgsR2wTv)L~ztsRjv$QEfZ#Ib>Bxo}3$WOy-VH=11T z{LOV3p4t9{=6UvSevGP`*@W_`8Sv#VslFI+ci)KKr~d?Vt1IA@wN(59VzNBx6e^qC{kN*6Lh;vqj zlpbax!PwbMi)?DwZcJ?3rg?^}v2Q7SMqP@kqZJ`}-d~P(pEN>@zRTjx*P_3?0Jm-X z|K2=r#HzX#8rrcB<-S8G4&R5qFL8Wn5zaYG_IjA=^)OlVqMnOoz>G{b7^mp@p9d0`R(HUaN;XhL1XFmhDLiE8wYQDq$KVHpxJtF*0X79gf77BHtuP?xux;Pz(bya{ zi>(nlG2Vj*Wi+%fk=Qo&I${n8wXb(GFpM<9rCZZHaNIo4^O$)a%x+x~sz)J3Fazu7 zJzHtnC`7tz`YS$QiSLN-V!P$K?HEAF`Z*?X)#ek293Wv8Tm z{N&D^NqaS$fA{Sycw1p>hp9GCo9OmgfZBzLeoi3meTjR3H8>vhS3od5t|mJLS{W9ERPGM`8Fg5iAI2gJl;f} z$D7Ray1gx9WBaKX?AVw6yp3mUSk_+k-fDT1(2XF1@AcrPx53ZMf~Tf|UatYKMYTRk z;gP#la~TcoiZWZ@15~0IJDt@CDfo@V=73s9B{I?p6}_#QC-&ocz`W|InX4GGiXrO| ze^-~V5{+=U=NUK8^P9}`vZ37Msw;<{nH&o_fhW0ka_OP;6v-BOBJjinFf$9&B<)`!NmCe`iAZ z5N|7?AvWUy@E-kB&cR^&sRCZ`$>@UMV2j+{v@Az~vWQS@o594+U6|T;8YXt^M6qpV zC~PvZV<(E5BbXZ|l6he6d^K~`B-(1!Sr7O@iM9C?SbX?fSbXRKtQ|iF-`^N3WiX8B zbme-({mTgawDy2oc!H~oSo`wzf0(%J1;e?0U1Wu>jz;FOon(bzqhBaiRm9Xp%*)m%K1$391^k4*F7m4Y7#G`S(5pKfgVj~|^);01Ybv+u&CH@V zGuOE!yj46iW2o}&C0?{FvA(>7!OAkqjSX}0AxGXHkCNXdM%i}Nk8|7jf6DbJE`7c> z5XI*kt$pUlXv<~C0dg%sVa37lh&{+NR?dF`cHa4M198X&IQp8a@^f3fk*X-=neNgs z48Jd?r_tNC4FIEDTZiv&R8wg)v&QF8YY}M`V3EmPb1+l6v4Pdc55o@z_;%fzUT`h* zW%qm7gEexqPuy>C&n-=ee^gw+ZsTb)Hs8XA9y))Vd9C2_P#Ya_@PZzL-3Q?3P6aI< z77&E1A4`Tm7wgO@x0~Zs+SO%tdaW(5W&p+XG>Ylzj98`ZK(vq7#+~hPQKR;J@_lZ` z_{`$2(K{hJdG5{wXiRVDk3E9HLtlGB@;twZJTIL;?l3;@>#yqHf2;eS8h3C6;|qE- zM2$Qe*S+Za%B|OZwJg)F^Xcrdm->F04wI@-Gu3S{1F9=jn*(w-y5+?#M>f9A2S*J= z%e9{tE9%N8h5^$6;6M4tt*y6id@c`4hZEjjRks%$%Fx)u3FC7(F6)0N|HMNO#eH8UCrx&%WCWQg>A!GP;FaT@_H%tZZO}=Y4LH?_v9htl zV41cp=;dvnM(@b|-4$u8@oWOb&Q;05dxw0l{z7eRE*fOx1qVCN!eHhUA&N;_CN5IZ za(R|dlp3gImxw*i+2d-CzjX+e+;K{z=pvX{K$@^Q7WHN=f6$==_oNKbfW{2NA@MHD z0g5kQGa@@0Er0JOnRW>x0T4##)tB>J8y$nnCj7eEJFXvinid$hz_g`Wc`5D_mc8U; zD>zYSuz6wIusO9b)bm=~b^8szv#4~LRb!*(eVesL*Gap|?mgSwjhRt?;lpF)dEDmJ zI`TY*{yAJMe<9pfUz~*D=HDE@*Cay>PB~9|JV9Ucg7Or4ph0*&R|KE~#E3>HQx}`( z!H`bld-X%{#w@`U8TI|m-uNUuprBtUqX|MlIiVUFouvu@SUG+eb9a4aY?A3Xd0xZK zlewP2_oN35zbl*jKp0ZsX9GIL@p|#DFwB#F*e=KCvM8EcnKcosn(i@fU8Kcxp zWsXowl&eD;g2zVNOdot)BXrFZkif-;Aq$>n z8J;VR*E2RbzaRa)h?1j^wu1(g`AKrAWi;Gf!7y3dPN?n zl){AEe;rt~9joi6n3~?43*=3Bz+p*eGxem${>Fu5%CFsoV&UN|L*U*G<#9y7Hbm-TzWaN({d4W)|({_0A~2X0E6Wvte-fBjm7zF zi!J$C+=p61aU5!rYFPDc+n&8O2>$Jh!aZqBe{EfrrZN(ni_o^Rj9c+9BEst0DrP?O zCs=#=Pn%()5!z)LV7Xy_GzfP1ca!UhpG9bm-cR6xE>^`HAsR4aaN4Ety=hQ?6$D^V zR$;g(7)4RQwlu39Ak?gmRqHs|V0M(J!IdQjYpd{UYw&}<##Z}%OrNqhK^yYLMW&Fc zf9Jj_0~N({=p44ybHRRN9sSi+3|3dhqFaq!gk(c4QvR4+rbi=&=kVOct$%~w;^StR z=p^#IB-|RW$80(EWvm~49BYps#$ahNF+KqB8yn~^e=V9EuN|kAh=x=+OZTO?WZ4Zlhu*dsY&&HS zb{;qzGpFurrS+e@0TOllQ|aNxn7o&vdvR$2dq4AETZV~-;CZ#X)Sk^49h=Iw^!acr ze_#3riV=nfQMi<+UK~G5A=FYMd%C5wA?pt{XAwO5V1ROE1^wg4u>SaA^cNShe@16- z{iQ_=*4MHZzhx$|IKM1b-gf5gmX23n=#$%KFmuW&*t!2~%^_z&7Zvoudl;ztb=Q1d(Q2S z9Y*w+KY?wvYE~lM)>6<=94A2hcT5O;DaH!~l*B%^Bde#WK3{L!3?^n~tM@+`puf6; za&2vM9xxv^+r8j0;i4|jxVpBAeSiDAp!Mafmy65vyip+Vth*WEcM@JHf142MY}i%a zudKaa*%T(F0I18lP>Ii1qTGA2I4te*Br?oVXm)uItgpi_F2XM^g4fs8*3iv}eREl2 zeg1g18g5&1lUqU8ZSxdUkFqS`>k8U>TQ@O*sU15pv+uOc8Q?e=WR_z#WOl^ z?F?LJB`k-W!Wk$B1Nikd3|3b$SYJnPdK;#9?*=IB`yeGXCtHtAra*?K7y94hYQreK zWVs}|ej(41cGOPkf8nt`CYUk5Z~|w3@^`WJ%3s3LuCr=SDh*ELdaB|@9C9GmOlAss z8@F^mY_8`6++y>@`giiR{Q%f|G3eM=qhIjeV}cx9MK5aRF9`4)ID#4qVevUxF3x7j z+he0zn!ioV&FNJQNH^PuaNS?4pcLQNMb2Pt6>Gk%9dNB-luN?3V1 z7Bta-gkbqlaN4w_azuqu-0{&z?!$#2`wh$;doWWdh_EV+$jfjkLvAVlRyJSeXDUNj ztwV7Q!#Kf;(VnvDrtq!{0R|?V!?Y_fS4?2aIrQupBe^EjQYO?I@t_d(WOxR3`;%g7 z8oim>{A3%Ne*&XiUB$}bN3pRmpBSGs!i}XRm3PNodn^h-N7>FIdqz1ZF&Kly>bmAo ztuD$??0d+P=r*+8mn9y1;2vD~@!zVAFyvopVNn$fC8+*tj7WS9>aVgf$dK#F`;*KE z2W4aAWu`mg8E&wKZO3lM_W8T8YkC?py-7?IJveGce;}=q>AX(-9oh)P&&}^@W9%?O zB8RD+JLBVR6Tk}x(O+2}t*TyJfbaLSDL^ItD^>YL9$J>oBA{_{KqvNn5J)k86IiB& zj-OrWRpWcZl4`l*_V7br#|5AGZ9MorKYe z++YpUe+&0wdf{G7&fnAYOvP5FW|4sd;H&N7)GXW9mumIAT*p?`OXhSnFU#c6T)dOJ zb}O}dONVzfK2XfwWA(%_%BU*d_JG;;gwJ?Z^Y>CZ7+I*I* zaQLCGWB;}9!Oly*4-a4PQk1=E71k|Xs`-|~}I-b2W(N6`(~{m_!?RTP+*n^j&lUc?+0$N2Hxk?gW8FQGRzh2HeGd`eb_ zcSmV2d7KtqFLAK~`WTlTOUO)siETd3f5Fa&VmWs_zi30?f1@wL zE!LmOC&|PZ)o%>roP$0dKmIuA*vC=$kKy1M2jS0o29|f6jrDE&u)gh7)qb;#=4gQI z(c4(S#Kr<97au@x;}zl5e3POv#6#GC{~_ogjwLYAHvY~ zsbvRkr+2lXp9mY|ao<;O!TL?tVQ$AR>^fx+c5a&icAo?8O;^}eF^&GVQ!%srtxC&y zFaY|im{>hrxA@Aq2d)gu2a6(<4hf1MgCemwFIi541;}BiCV01Gm#7SbJrK2@At8>w1~;M?MD2vGQUv050iTC48gg)j9Q5a z;=PI=lpF-?$|p3^0XYUdfv#>mW0?Q|kRXyaMkKfC(@^aoYe|VyYq6j>wqG1%p zRz;BqN1aom-jdU&Je>HDOgb<%{(%8@0G$Lp141z~n>qe0I4jz6+b-mGZ>J5g!62*e z{l!JN-MeM4uzD#`C2uC|_p)!cW3D5qmZcDpGAgw`r&%jn|2ypsr&V=&u{X~@yK@(2 zcJ9RdV~=8EbtM{MejQ1gQ zR>P_evEI=X6bg(O!;6wN@VJz@=~3=F{Y>=NRxyA0G4waqf8mNEGHH0i$C(G_2^7p= z$JKXZkij!LU*(0N_O+Y9?JnKT!ZXY?JXd4}^?E?B*DMJ%7eoWMaE34f)m=fhF_3yY zNN+9*G2ic_TwBA$%uLYZQ^Z&A{rKxzp`a1mNB#Mci_U>X`m>b6f zve|N!Xd>72nt1gE%&izLN2C^rr9I4}ZQ3b6OkF>xe{%)4?>QCIbK9|a^l=O})+@v6 zc@Z8wJbUzto-)Fs5Q_&lbS06U$dW~P)7LegJ&E(Jg7V+|F!b7t9l%oN$ zpB;12ko}}#wn_h})99K`O%-~1V*{9)iiXQAB$Uys;0^|@G{TsNS&pD2khU$k$rLY= ze>hsVyu}C&Y&5fT7pAvw$HI}r*jQZ=xgbXde|F^^do>K>Q8;hZABs9jq0|V!P4EoY zhEPF8Jd(%|M%dHq$W^N%r1TpN_jd9=3Z(82s=}z(8!3PdZN;f4SL&GzhF5fvDSdX*3MdP0iK ze}g9&g|G6zLafy4^=d;bI0g%Cgx?N$#(@jhMDUi%vd!SK<%ohz+QTfF^r#8dEjeR< zP<0JBiOgDcM2}-{YOik*Fdowto&DYY_4y%NAgjfl&sY2&#lov&(7A(t# z`xJ=f?#j770o(WN#mtVKIC1zn zfM*6^lq0Z)w8w8y0XEO9Ml|b|W@32JBM$L)WnJd_ht2=m#Bi3#jE>i||3=CO42NTo>NC*g{^Kw%Hx74YMdJy3$F&Gt9sSfBQxNSi%^T zUlJaa`XyYJZF53YxJ0c*MPqn5Z)c2AbW4IE7A0dqKHu*jPRGjY3bz&%8PY;m512-f z@JJt@ua4O_Gqs}uh^aVL?035YyY`)qwYlwBIPzFEbUitVp2!h>udbeb&#Yi=)TMer zZG@YHXEyu*Wlf=CHpkQee?yy|L8A(Y?hdnE-Y%0Pn(j%Dfx);%NN%5ne|>DF@)bwe}K@(xSf#r!5R$^lAcg_liaXNA_FlZ8X1kPevNjcZht}xJv2FC zRVL)TgPa7k>&J?T37m4~eylFeWAW(GDlAWgesW`szE?(JM>!v>jBp4%v%I#7vMg2i zsrpl0@KCpURgOkS>NPp3gj-u}L>X_FF|-!WpbX_b+C&vRe=3eGy-2g1Pt$U`tJZwG zCe*VQ1eZNd%Bi?>9w)2{t1>>OdA-`mGaVqAT+i&-*%T=&E12|CRXAo}f1ilDh7Dj} zy`cg?Q5#_!JhQs7j*`8qqP_R=aVl!Wi-cN0cl&Qn$p{9xN6yGvAsOrKtikH%EjDj} z=uYBWpq17Fe}gm9zAadlmT4gHz8rh{a<^v9`ESsQ~mQ8n`C*nYAu6K$U#2NYa^srIn>9d%>PFg+y0g3(<85 z$Ca}U1NFE%&!!B7GMcx8@}fB-md~-N9I&13BB}J0C$O~TZ;X}$+^BIS2g~~ewU1tc z@|A~de+<~s&j!Dg#0pj+P0N!|jyHkrr|iMZ_8mBJ_%W=lt~9c`T=NaUdS1Ug^WW;eW1&BKDvvF?04hs5>L6AUT~MUv6X4=Fwy`N&sQ8G#IoGuke}S^inqqPid-fl|+TsEhjvU6I-^Wxr zjY;ppzC=+@#1K7M*4}WUDoj>ZSFpCeCKOZiR5VrHc6F3Gm@?_W5#rwBG@OzukWz1# z;)I=r%vd3qyPyoOv`44~l4)|7mi&X-J)xF^GY4^q>~GouX#juD%pB8*n$|Kmlnn4d ze^4L-rsuX}a%L8b$BtrUaRGzD0233Fn3$Zxq@RkR*!!|FC|6){d8ulZ32EP48qjp4 zf?7SaCu~{ikYcEki9@>gJIvb+1)>H1mz^zn0*jF3bc@+vyDU$l`Ent0)cAAMqS{Gq zWp|btqV)_ZIiU@l*22^#g7;08oI8=xf8ZP?H9-jNJ5Sw*jk=T4Uth<>)CLCqjmi+G zrs2y;419@xO^l67R`tc_;LL6~-5PDAen|*+3W|O!LT^SVh!P-r)S{xZI|6ED(~QoB zX=R(_0c3TuS|r)pHgxBPoSMFIdp|cj!^)f)e9!P+(e#6lG1l@%2oMix*I#3n^9o1DPGz4TDIgyK%FBR2Tzd4*vtrIW-}!bVaMK6e=&E;DJVDk)oihIaNBodaL!Xuo_=0~SF7#qb+C+T zUjf7v;z|&rOd%==2|1GYXZd#_ZFk}>&|q<_qGD8UCsQ-;gNXTNLU2bU)Pqu>iE}^%Q4zk*5}3pV!|K2a03yw7HBn5mL1{(KuK^Yf3{Wl-{7e) z!|M0`Bb1Y~aSK2x_n*i`jGlqARO+wI9+NVPbvhx&PTptk+o=A_-(l?$xaH*$ii$Rv zCLLsw%Wuls@ER5UaSSjwaNY{VbR^FL+Rz?!IE5<})X7)j=qQBRyDmBMOe!m4NuFro z88$@{5Opcd>-&RG!NzO;f4SOmBDa&1tVRQDMD=_KQB{0}f{Ge=gKJO4LeiJf6nN@L zOA40kB1xWMXHj9R;B*}sd*2w}V1Tl$zQ!{^qE0WEgE8`drz|orbG%?^lH=EI_$d*A zRcFABu&X5XQZ`r7?L~8dS%_~Y+(m{9dNUzUBmmQM82re;gR`}o*5COQl=;k6o1duwB59Vt3V*eC@Rvw$>ZYT%V2y1l!LM|zQF+f{>C^kOm1t* zu)JKiw}wgh>W)M^(KO#L&bSysl#t8zD2=)Gw;@bAa|}4U)sluTXbfJly!u}N+vck6 zJ5Yp~SU9xiIiaE#e={5$4UZEq$(Cp;dTA+Lb zgZ^L>Ibc@zW%RC!HG;NDu2zF;>jp%ukTSqCsl1R)LY!|OijE4U^D5q`5Xkg^GKGp4 zY!(2(^IivBd}Ul1O={f)#W+l8Dp=_ur9rWz(Z`?bp(Y_@e=e=NF-}ckCAfy=K4MW} z&p}!GSY$MYH)uldV1PltkHH9g?pkrcHl{@vc9+n!45i;z(1Gv zbZ)x5f3un*lNOwDKKK>?B&SUhE7)eHj2nbr7$QR&6N!9K8=}n#2_htiFM-kM)eob2 zJ6qX?4o@_^f3ga{gF!I94fOkc^f%VWF+dS-GdWK8z)?!)&&qHlhTYzK?taZ2w4;YB zsD?G#IdmbEu$rl`7hOdX=(qscH{p^QG_xJ<_5Tvyc(*o6k#<~7>xP@8&=?<-A+pF1 z!{hXJEmB(3AlFFl4O#yXoCwG2w)T9Y(j5%?mFKIyf8U_rj|RBDy0RG$$jS(Fp}39i z)aEjBo=|r%igqG|og&LXI|^hKxg51z09opKB6F6Jh->XhH*eIv@}GdtJYP4WZPnYs zZ6jg0AyH)6)sbqbwE=M`dPpoplofK4UgnF6oZ(gK5oPmTKrE&3dgY*xet!e~{szka z0BdV2f7pBGSy)^+vB_3kj%7On%h|GFl+;@*T#_f5juM(>C{%{tqFrdaIBg2B7Hp4w z;res94F2dYxe~=QzrS8%C4wPwzUsBrvAF|B@5Cw;$FLo}9~v)6m0`xF9i^kKL-zvv zO1!D@cop3&gxb=V+UpGl7;IF=H|TGmKj`DsfBgqAw{!PqbHE`Ja;<#3_Nv8;UT&WK z;k!9xDnsCIJ>uMelkj5Hr6H1`_U9z)d|9f_kK1zwCjZ_qR#Ol;n1zHvvY5#XGtJy? zkeuXwlz2r+Fc9&z`B{oh4l%qqZeWbBs&;){Xw=ni*{{NGZGfdOar!xjFg-InCL1Pe ze-JM51fy2MvZu=#d5=UoB6^g(2vW}Y+ZG>=0<*M|8d~UEy0s`mbB#kz|HQ8W+vXZW z>V#R48k~G?7Rw1^7>3CEpo$Mt6?0SlG6;lW5sOW@_4SZ`@PbXq^|j|4#A>%PzJ7lL z{f%{yBOJKk$s^&iqp@Lv5$2}iMxxuKe}m#tpvde`YlBPLjC+_&M-qDNMbHwSZN;BX z&>?no!r!J|{w5UrFR0pR*3fb=OU6s4A-NuCSCwy5Sfzysly|f{+>j9rfXVSfr5in9 zFg}s{l{L9yP*=Nyejghf>)19ohkXamX@S3n-~N9C03lRmyUCJKzyJUM07*qo1w^hw FV1kJ2RtW$A delta 101826 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%0AqvZg@@R9sCaW9 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 delta 101753 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%0AqvZg@@R9sCaW9 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

TmKVxQ5_6|L!4+%~?yNW;bs}WxRA-zsIB|nw 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 Hu0mjf!FC3c diff --git a/InstallManager_java/src/res/images/uninstaller_graphicmotif_002.png b/InstallManager_java/src/res/images/uninstaller_graphicmotif_002.png index 6bd19b78b59a3b034a2310801f8d0c7c38d7435d..f6aa70ecc63ac1adbd88116d5b7969afe4648fc0 100644 GIT binary patch delta 43284 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 delta 103205 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%0AqvZg@@R9sCaW9 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 diff --git a/InstallManager_java/src/res/images/uninstaller_graphicmotif_003.png b/InstallManager_java/src/res/images/uninstaller_graphicmotif_003.png index 65ada474b6ab07b4ffbff1629817f89cd324338c..38195f09cd44295f9b441cdc31950efea3ee1546 100644 GIT binary patch delta 43331 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 z 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 delta 103137 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%0AqvZg@@R9sCaW9 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 | sed -n "/^java version/p"` #### Init Environment Variables #### CUR_DIR=`pwd` -OUT_PATH="/tmp/tizensdk" +#OUT_PATH="/tmp/tizensdk" +OUT_PATH="${HOME}/tizen-sdk-data/install-manager" # list for pre installation check. Write including 'space' -INSTALLATION_CHECK="qemu-kvm binutils-multiarch debhelper fakeroot realpath procps libsdl-gfx1.2-4 gettext liblua5.1-0 libdbus-1-3 libcurl3" +INSTALLATION_CHECK="procps gettext libdbus-1-3 libcurl3 expect gtk2-engines-pixbuf grep zip make libgnome2-0" pkg_list="" +# ubuntu version 10.x and 32bit +if [ "10.04" = ${OS_VERSION} ] || [ "10.10" = ${OS_VERSION} ]; then + INSTALLATION_CHECK="$INSTALLATION_CHECK qemu-arm-static" +elif [ "11.04" = ${OS_VERSION} ] || [ "11.10" = ${OS_VERSION} ]; then + INSTALLATION_CHECK="$INSTALLATION_CHECK qemu-user-static" +fi + +# 64bit ubuntu case +if [ 64 -eq ${OS_BIT} ] ; then + INSTALLATION_CHECK="$INSTALLATION_CHECK ia32-libs" +fi + NVIDIA_CHECK=`lspci | grep nVidia` MESA_CHECK=`dpkg -l | egrep -e libgl1-mesa-glx' '` #################################### -echo "$CX=== Preparing to install ===$CN" - ## check the available space ## if [ $AVAIL_SPACE -lt 5452596 ]; then echo "${CE} Available blocks: $AVAIL_SPACE($OS_BLOCKSIZE) Needed blocks: about 5.2GB " @@ -48,9 +59,10 @@ if [ `whoami` = "root" ] ; then exit 1 fi -## check the kernel bit ## -if [ "${OS_BIT}" != 32 ] ; then - echo "${CE}Tizen SDK doesn't support 64bits environment yet.${CN}" +## check the default java as OpenJDK ## +CHECK_OPENJDK=`java -version 2>&1 | egrep -e OpenJDK` +if [ -n "${CHECK_OPENJDK}" ] ; then + echo "${CE} OpenJDK is not supported. Try again with Oracle JDK. ${CN}" exit 1 fi @@ -61,11 +73,11 @@ if [ -z "${JAVA_VERSION}" ] ; then fi ## check the pre installation packages ## -for INPUT_PKG_MANE in ${INSTALLATION_CHECK} +for INPUT_PKG_NAME in ${INSTALLATION_CHECK} do - CHECK_FLAG=`dpkg -l | egrep -e ${INPUT_PKG_MANE}' '` - if [ -z "$CHECK_FLAG" ] ; then - pkg_list="${pkg_list}\"${INPUT_PKG_MANE}\" " + CHECK_FLAG=`dpkg -l ${INPUT_PKG_NAME} 2>/dev/null | grep -e "^ii"` + if [ -z "${CHECK_FLAG}" ] ; then + pkg_list="${pkg_list}\"${INPUT_PKG_NAME}\" " fi done if [ -n "$pkg_list" ] ; then @@ -86,34 +98,21 @@ if [ -z "${DISPLAY_MODE}" ]; then exit 1 fi -echo -n "$CI Unpacking ....... $CN" -mkdir -p $OUT_PATH -cd $CUR_DIR -tail -n +"$ORI_FILE_LEN" "$0" | tee >(md5sum>$OUT_PATH/checksum) | tar xmz -C $OUT_PATH/ -echo "$CI OK $CN" +mkdir -p ${OUT_PATH} +cd ${CUR_DIR} +tail -n +"${ORI_FILE_LEN}" "$0" | tee >(md5sum>${OUT_PATH}/checksum) | tar xmz -C ${OUT_PATH}/ -echo -n "$CI Checksumming ....... $CN" OUT_FILE_md5sum=`cat "$OUT_PATH/checksum" | awk '{ print $1 }'` -if [ "$OUT_FILE_md5sum" != "$ORI_FILE_md5sum" ]; then - echo "$CI Fail $CN" +if [ "${OUT_FILE_md5sum}" != "${ORI_FILE_md5sum}" ]; then echo "$CE The download file appears to be corrupted. " echo " Please do not attempt to install this archive file. $CN" - echo "$CX============================$CN" - rm -rf $OUT_PATH + rm -rf ${OUT_PATH} exit 1 fi -echo "$CI OK $CN" +##Excute InstallManager cd $OUT_PATH ./InstallManager $* -if [ 0 != $? ]; then - echo "$CI Installing ....... Fail $CN" -else - echo "$CI Installing ....... OK $CN" -fi - -echo "$CX Done. $CN" -echo "$CX============================$CN" ##source bashrc source ${HOME}/.bashrc diff --git a/InstallerStub/linux/makeImageLinux b/InstallerStub/linux/makeImageLinux new file mode 100644 index 0000000..322b5da --- /dev/null +++ b/InstallerStub/linux/makeImageLinux @@ -0,0 +1,36 @@ +#!/bin/sh + +if [ ! -f installmanager.conf ] +then + echo "installmanager.conf file do not exist." + exit 1 +fi + +if [ $# -ne 1 ] +then + echo "Check your parameter. This script need 1 parameter(binary file name) " + echo "ex)./makeImageLinux ImageForUbuntu" + exit 1 +fi + +##download packages to './binary/*' +./InstallManager -onlyDownload all linux + +mv installmanager.conf installmanager.conf.temp +echo ${version} >> installmanager.conf + +currentDate=`date '+%Y%m%d%H%M'` + +zip -r $1_${currentDate} binary/ pkg_list_linux + +echo "exitcode="$? + +rm installmanager.conf pkg_list_linux + +if [ $? -eq 0 ] +then + rm -rf binary +fi + +mv installmanager.conf.temp installmanager.conf + diff --git a/InstallerStub/linux/makeImageWindows b/InstallerStub/linux/makeImageWindows new file mode 100644 index 0000000..207e6fc --- /dev/null +++ b/InstallerStub/linux/makeImageWindows @@ -0,0 +1,36 @@ +#!/bin/sh + +if [ ! -f installmanager.conf ] +then + echo "installmanager.conf file do not exist." + exit 1 +fi + +if [ $# -ne 1 ] +then + echo "Check your parameter. This script need 1 parameter(binary file name) " + echo "ex)./makeImageWindows ImageForWindows" + exit 1 +fi + +##download packages to './binary/*' +./InstallManager -onlyDownload all windows + +mv installmanager.conf installmanager.conf.temp +echo ${version} >> installmanager.conf + +currentDate=`date '+%Y%m%d%H%M'` + +zip -r $1_${currentDate} binary/ pkg_list_windows + +echo "exitcode="$? + +rm installmanager.conf pkg_list_windows + +if [ $? -eq 0 ] +then + rm -rf binary +fi + +mv installmanager.conf.temp installmanager.conf + diff --git a/InstallerStub/linux/makeLocal b/InstallerStub/linux/makeLocal index 9092e80..38ffc25 100755 --- a/InstallerStub/linux/makeLocal +++ b/InstallerStub/linux/makeLocal @@ -1,13 +1,26 @@ -#!/bin/sh +#!/bin/sh -#local config file -cp installmanager.conf.net installmanager.conf +if [ ! -f installmanager.conf ] +then + echo "installmanager.conf file do not exist." + exit 1 +fi -#download packages to './binary/*' +if [ $# -ne 1 ] +then + echo "Check your parameter. This script need 1 parameter(binary file name) " + echo "ex)./makeLocal tizen_sdk_local" + exit 1 +fi + +##download packages to './binary/*' ./InstallManager -onlyDownload all -rm installmanager.conf -cp installmanager.conf.local installmanager.conf +##create local config file +version=`grep "Version" installmanager.conf` + +mv installmanager.conf installmanager.conf.temp +echo ${version} >> installmanager.conf tar cvfz InstallManager-Local.tar.gz binary/ InstallManager InstallManager.jar installmanager.conf pkg_list_linux @@ -21,8 +34,10 @@ then fi currentDate=`date '+%Y%m%d%H%M'` -binFile=tizen_sdk_${currentDate}.bin +binFile=$1_${currentDate}.bin ./makeInstaller InstallManager-Local.tar.gz ${binFile} rm -rf InstallManager-Local.tar.gz +mv installmanager.conf.temp installmanager.conf + diff --git a/InstallerStub/linux/makeNetwork b/InstallerStub/linux/makeNetwork index 0b02ccd..9b75f94 100755 --- a/InstallerStub/linux/makeNetwork +++ b/InstallerStub/linux/makeNetwork @@ -1,16 +1,26 @@ #!/bin/sh -#local config file -cp installmanager.conf.net installmanager.conf - +if [ ! -f installmanager.conf ] +then + echo "installmanager.conf file do not exist." + exit 1 +fi + +if [ $# -ne 1 ] +then + echo "Check your parameter. This scrpt need 1 parameter.(binary file name) " + echo "ex)./makeNetwork tizen_sdk_network" + exit 1 +fi + +##zip files tarGzFile=InstallManager-Network.tar.gz -tar cvfz ${tarGzFile} InstallManager InstallManager.jar installmanager.conf - -rm installmanager.conf +tar cvfz ${tarGzFile} InstallManager InstallManagerP InstallManager.jar installmanager.conf +## make binary currentDate=`date '+%Y%m%d%H%M'` -binFile=tizen_sdk_${currentDate}.bin +binFile=$1_${currentDate}.bin ./makeInstaller InstallManager-Network.tar.gz ${binFile} diff --git a/UpdateInstallManager/.project b/UpdateInstallManager/.project deleted file mode 100644 index 3bc2eb0..0000000 --- a/UpdateInstallManager/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - InstallManagerUpdater - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/UpdateInstallManager/.settings/org.eclipse.jdt.core.prefs b/UpdateInstallManager/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b6a010f..0000000 --- a/UpdateInstallManager/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Fri Nov 11 13:51:11 KST 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/UpdateInstallManager/src/org/tizen/installmanager/updater/InstallManagerUpdater.java b/UpdateInstallManager/src/org/tizen/installmanager/updater/InstallManagerUpdater.java deleted file mode 100644 index 2d643d0..0000000 --- a/UpdateInstallManager/src/org/tizen/installmanager/updater/InstallManagerUpdater.java +++ /dev/null @@ -1,125 +0,0 @@ -/* -* InstallManager -* -* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. -* -* Contact: -* Wooyoung Cho -* Shihyun Kim -* Taeyoung Son -* Yongsung kim -* - * Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -* Contributors: -* - S-Core Co., Ltd -* -*/ - -package org.tizen.installmanager.updater; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.PrintWriter; - -public class InstallManagerUpdater { - private static PrintWriter writer; - - private static void initWriter() { - try { - writer = new PrintWriter(new File(System.getProperty("user.dir") + - File.separator +"updater.log")); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - } - - public boolean moveFile(String from, String to) { - return moveFile(new File(from), new File(to)); - } - - public boolean moveFile(File from, File to) { - writer.println("Move " + from + " to " + to); - if (!from.exists()) { - writer.println("File not found: "+from); - return false; - } else {} //nothing - - if (to.exists()) { - writer.println("File exists. try to delete : "+to); - if(to.delete()) { - writer.println("deleted"); - } else { - writer.println("delete fail"); - return false; - } - } else {} - - return from.renameTo(to); - } - - /** - * Moves new IM to old IM and run the IM. - * @param args args[0] is path of new IM. args[1] is path of old IM. - */ - public static void main(String[] args) { - initWriter(); - - if (args.length < 2) { - return; - } - - try { - writer.println("sleep 3000"); - Thread.sleep(3000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - String[] imargs = new String[args.length-2]; - for(int i = 0; i < args.length-2; i++) { - imargs[i] = args[i+2]; - } - - InstallManagerUpdater upInstallManager = new InstallManagerUpdater(); - upInstallManager.update(args[0], args[1], imargs); - } - - private void update(String newIM, String oldIM, String[] imargs) { - boolean bResult = moveFile(newIM, oldIM); - String imarg = ""; - for(String a : imargs) { - imarg = imarg + " " + a; - } - - if (bResult){ - writer.println("move success"); - try { - File toFile = new File(oldIM); - toFile.setExecutable(true); - writer.println("run IM"); - Runtime.getRuntime().exec("java -jar " + toFile.getAbsolutePath() + " -updated " + imarg); - } catch (IOException e) { - writer.println("run failed"); - // TODO Auto-generated catch block - e.printStackTrace(); - } - } else { - writer.println("move failed"); - } - writer.close(); - } - -} diff --git a/package/build.linux b/package/build.linux deleted file mode 100755 index 3e04c7f..0000000 --- a/package/build.linux +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -ex - -clean() -{ - rm -rf $SRCDIR/*.zip - rm -rf $SRCDIR/*.tar.gz - rm -rf $SRCDIR/InstallManager_java/dist -} - -build() -{ - version="`cat $SRCDIR/package/pkginfo.manifest | grep "Version:" | head -n 1 | cut -d ':' -f2- | tr -d ' '`" - $SRCDIR/build.sh $version -} - -install() -{ - BINDIR=$SRCDIR/package/install-manager.package.$BUILD_TARGET_OS/data - mkdir -p $BINDIR - if [ "$BUILD_TARGET_OS" = "linux" ] - then - cp -r $SRCDIR/InstallManager_java/dist/linux/InstallManager.jar $BINDIR - cp -r $SRCDIR/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.png $BINDIR - cp -r $SRCDIR/InstallManager_java/src/res/desktop_directory/tizen-sdk-menu.png $BINDIR - cp -r $SRCDIR/InstallManager_java/InstallManager $BINDIR - cp -r $SRCDIR/InstallManager_java/installmanager.conf.net.linux $BINDIR/installmanager.conf - else - cp -r $SRCDIR/InstallManager_java/dist/windows/InstallManager.jar $BINDIR - cp -r $SRCDIR/InstallManager_java/src/res/desktop_directory/tizen-sdk-installmanager.ico $BINDIR - cp -r $SRCDIR/InstallManager_java/src/res/desktop_directory/tizen-sdk-menu.ico $BINDIR - cp -r $SRCDIR/InstallManager_java/installmanager.conf.net.win $BINDIR/installmanager.conf - fi -} - -$1 -echo "$1 success" diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest deleted file mode 100644 index 20ebfaf..0000000 --- a/package/pkginfo.manifest +++ /dev/null @@ -1,16 +0,0 @@ -Package: install-manager -Version: 1.20.0 -OS: linux -Build-host-os: linux -Maintainer: Shihyun Kim, Yongsung Kim -Source: install-manager -Description: InstallManager - -Package: install-manager -Version: 1.20.0 -OS: windows -Build-host-os: linux -Maintainer: Shihyun Kim, Yongsung Kim -Source: install-manager -Description: InstallManager - diff --git a/unittest/.project b/unittest/.project deleted file mode 100644 index d57b04a..0000000 --- a/unittest/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - unittest - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/unittest/.settings/org.eclipse.jdt.core.prefs b/unittest/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index da5a3ba..0000000 --- a/unittest/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Wed Nov 30 17:51:35 KST 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/unittest/src/com/samsung/installmanager/tests/InstallManagerTest.java b/unittest/src/com/samsung/installmanager/tests/InstallManagerTest.java deleted file mode 100644 index 6e9c126..0000000 --- a/unittest/src/com/samsung/installmanager/tests/InstallManagerTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.samsung.installmanager.tests; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import org.junit.Test; - -import com.samsung.installmanager.pkg.lib.PackageManager2; -import com.samsung.installmanager.pkg.lib.PropertyParser; -import com.samsung.installmanager.pkg.model.Package2; -import com.samsung.installmanager.pkg.model.PackageSet; -import com.samsung.installmanager.pkg.model.PropertySection; -import com.samsung.installmanager.util.PathUtil; - -public class InstallManagerTest { - - private List parse(String resource) { - File file; - try { - file = PathUtil.getTempFileFromResource(resource, "test", ".list"); - PropertyParser parser = new PropertyParser(); - List propertySections = parser.readFromFile(file); - return propertySections; - } catch (IOException e) { - fail(); - } - return null; - } - - @Test - public void testPackageManager() { - List installed = parse("/com/samsung/installmanager/tests/installedpackage.list"); - List repo = parse("/com/samsung/installmanager/tests/Packages_repo.list"); - HashMap> repoMap = new HashMap>(); - repoMap.put("http://some.where/", repo); - PackageManager2 pm = new PackageManager2(installed, repoMap); - PackageSet recent = pm.getRecentPackages(); - //check depends - for(Package2 p : recent) { - pm.dep(p); - } - //check conflicts - for(Package2 p : recent) { - pm.conflict(p); - } - System.out.println(recent); - System.out.println(pm.getUpdatableInstalledPackages()); - System.out.println(pm.getInstalledMetaPackages()); - System.out.println(pm.getAllMetaPackages()); - System.out.println(pm.getNotUpdatableMetaPackages()); - System.out.println(pm.getUpdatableMetaPackages()); - LinkedList Msel = new LinkedList(); - Msel.add("EMULATOR"); - System.out.println(pm.getResultPackagesAfterUpdate(pm.getPackagesByNames(Msel))); - } - -} diff --git a/unittest/src/com/samsung/installmanager/tests/Packages_repo.list b/unittest/src/com/samsung/installmanager/tests/Packages_repo.list deleted file mode 100644 index e71209b..0000000 --- a/unittest/src/com/samsung/installmanager/tests/Packages_repo.list +++ /dev/null @@ -1,319 +0,0 @@ -Package : toolchain-gcc-4.5.3 -Version : 0.16.6 -Maintainer : ha taejun -Description : gnu tool chain for SLP SDK -Depends : slp-base-toolchain, i386-linux-gnueabi-gcc-4.5.3, i386-linux-gnueabi-gdb-7.2, arm-linux-gnueabi-gcc-4.5.3, arm-linux-gnueabi-gdb-7.2 -Category : SDK/build-system/toolchains -Size: 5068 -Path: /toolchain-gcc-4.5.3_0.16.6_windows.zip -SHA256: bd77070bb6f2ba35d27929084cc4738c04bd07a89a9ad2826812a22e947fd9aa - -Package : GUIBuilder -Version : 0.3.6 -Maintainer : Changhun Lim , Hyunjun Son -Description : GUIBuilder -Category : GUIBuilder -Depends : -Install-script : install.sh -Remove-script : remove.sh -Size: 7662078 -Path: /GUIBuilder_0.3.6_windows.zip -SHA256: 63b2264b369f27d4c9d6e553587a67d921b151e87a3ed9cdde2917e6d658dcc0 - -Package:slp-ide -Version:1.16.245 -Maintainer:hoon Kang , taeyoung Son, sihyun Kim -Description:Samsung Liux Platform IDE -Category:IDE/SLP IDE/Workbench -Install-script:install.bat -Remove-script:remove.bat -Size: 112081040 -Path: /slp-ide_1.16.245_windows.zip -SHA256: 93512e98eab1fdbfdf57a86964b201d68a54a57816e131b94db56d5d4e394237 - -Package : arm-linux-gnueabi-gdb-7.2 -Version : 0.10.0 -Maintainer : ha taejun -Description : gnu debug tool 7.2 for SLP SDK -Depends : -Category : SDK/build-system/toolchains -Size: 10639372 -Path: /arm-linux-gnueabi-gdb-7.2_0.10.0_windows.zip -SHA256: f797baa924170c6dd66aa0cf52d56313e65749998c8ea61de22a79ce06482e64 - -Package : smart-build-interface -Version : 0.13.0 -Maintainer : taejun ha -Description : smart build interface for SLP SDK -Depends : -Category : SDK/build-system/base -Size: 1688171 -Path: /smart-build-interface_0.13.0_windows.zip -SHA256: 093808411cdd0cb8dccac4bbfc84ada7392c4630052df0b4b50f856ac014a539 - -Package: slp-emulator-image -Version: 1.1.91 -Maintainer: Yeong-Kyoon, Lee Dong-Kyun, Yun -Description: Samsung Linux Platform Emulator Image -Remove-script: remove.bat -Category: SDK/Emulator -Size: 221298348 -Path: /emulator-image_1.1.91_windows.zip -SHA256: f3a480a88ec2ce628d7530e11bfa6697d719fe521ad99874c4c2ad5f43b15387 - -Package : rootstrap-slp-emulator-1.0 -Version : 0.14.162 -Maintainer : hyoun jiil -Description : i386 rootstrap for SLP SDK -Depends : -Category : SDK/build-system/rootstraps -Size: 160261762 -Path: /rootstrap-slp-emulator-1.0_0.14.162_windows.zip -SHA256: 1acea77cc051ef3d7e1439396979a11ea3d614d054bf0e24e014b378788f28eb - -Package : arm-linux-gnueabi-gcc-4.5.3 -Version : 0.10.0 -Maintainer : ha taejun -Description : gnu compiler 4.5.3 for SLP SDK -Depends : -Category : SDK/build-system/toolchains -Size: 114253719 -Path: /arm-linux-gnueabi-gcc-4.5.3_0.10.0_windows.zip -SHA256: 0f48917ba380137de02415dcece5b816f6ed77f1fe8f8a6153591a7db7d871ce - -Package : slp-base-toolchain -Version : 0.16.2 -Maintainer : ha taejun -Description : base tool chain for SLP SDK -Depends : -Install-script:install.bat -Category : SDK/build-system/toolchains -Size: 289526856 -Path: /base-toolchain_0.16.2_windows.zip -SHA256: befcef30c59b6c046c7c8318652140474401b98e0e31a0b43c15723236d4b929 - -Package : NATIVE_IDE -Version : 0.16.71 -Maintainer : JongHwan Park -Depends : CodeCoverage, rootstrap-slp-device-1.0, arm-linux-gnueabi-gdb-7.2, Profiler, smart-build-interface, UnitTest, arm-linux-gnueabi-gcc-4.5.3, i386-linux-gnueabi-gcc-4.5.3, info, toolchain-gcc-4.5.3, EventInjector, rootstrap-slp-emulator-1.0, slp-base-toolchain, document, i386-linux-gnueabi-gdb-7.2, slp-ide, sdb, GUIBuilder, GUIBuilderPlugins, Efl -Description : Install NATIVE IDE. -Attribute : root -Category : / -Size: 633 -Path: /NATIVE_IDE_0.16.71_windows.zip -SHA256: 226a848d5865d40b1175aaee4445e33b0c24b779ae0d390d8cf27af984f61586 - -Package : i386-linux-gnueabi-gcc-4.5.3 -Version : 0.10.0 -Maintainer : ha taejun -Description : gnu compiler 4.5.3 for SLP SDK -Depends : -Category : SDK/build-system/toolchains -Size: 120422681 -Path: /i386-linux-gnueabi-gcc-4.5.3_0.10.0_windows.zip -SHA256: ba9601d18a228e83ae8df97adc1007176f65326cbe7dcc40fd4de11312270830 - -Package : Efl -Version : 0.3.35 -Maintainer : Changhun Lim -Description : Efl -Category : Efl -Depends : -Size: 46924949 -Path: /Efl_0.3.35_windows.zip -SHA256: 8e55b402087e192d32942fdab21c91c2e020dfb74f714821ff03b08981b6f739 - -Package : rootstrap-slp-device-1.0 -Version : 0.14.162 -Maintainer : hyoun jiil -Description : arm rootstrap for SLP SDK -Depends : -Category : SDK/build-system/rootstraps -Size: 209315907 -Path: /rootstrap-slp-device-1.0_0.14.162_windows.zip -SHA256: ff800d4b70153f110383e6842ea9b44fb9e9562e25878342701c549dcf7b077e - -Package:sdb -Version:0.1.35 -Maintainer:Hoon Kang , Joogwan Kim -Description:Smart Development Bridge for device management -Remove-script:remove.bat -Size: 146872 -Path: /sdb_0.1.35_windows.zip -SHA256: 1dffb8554c1a15682313dec96039bc1f3eb2177ed276ec1f15061583987217f4 - -Package : EMULATOR -Version : 0.16.71 -Maintainer : JongHwan Park -Depends : slp-emulator, slp-emulator-image -Description : Install EMULATOR. -Attribute : root -Category : / -Size: 476 -Path: /EMULATOR_0.16.71_windows.zip -SHA256: 598e026e437b75837a68f96d5b69d9bada060387ed96a7fc937a70fc5c972d64 - -Package: slp-emulator -Version: 1.1.221 -Maintainer: Yeong-Kyoon, Lee Dong-Kyun, Yun -Description: Samsung Linux Platform Emulator -Install-script: install.bat -Remove-script: remove.bat -Category: SDK/Emulator -Size: 27050568 -Path: /emulator_1.1.221_windows.zip -SHA256: b35a229ca04ab7b96b733939388dbe2f0a2b4ffc3f63cf4c20f890f7a88a5831 - -Package : info -Version : 1.0.224 -Maintainer : JongHwan Park -Description : information document for sdk-slp -Category : SDK -Size: 42649 -Path: /info_1.0.224_windows.zip -SHA256: f5c91a5a05f59b0dd03e1a3cfb3022b48ca4146295b09e8b43947b595ee69a32 - -Package:EventInjector -Version:1.1 -Architecture:i386 -Maintainer:juyung Kim , jaewon lim , sungmin Ha -Description:EventInjector for emulator -Install-script: -Remove-script: -Category:IDE/SLP IDE/Plugins/EventInjector -Depends: -Size: 223135 -Path: /eventinjector_1.1.254_windows.zip -SHA256: 991e094481ce3ef285c0e0a88c3ac0ae882ce778efb2191d9b7c722d39413d92 - -Package : WAC_IDE -Version : 0.16.71 -Maintainer : JongHwan Park -Depends : wac-ide, EventInjector_Wac, info, sdb -Description : Install WAC IDE. -Attribute : root -Category : / -Size: 487 -Path: /WAC_IDE_0.16.71_windows.zip -SHA256: 62f972aef511cf72145823ad8d44b86e7ec5c7490056159ba18e0e72e28b947b - -Package:EventInjector_Wac -Version:1.1 -Architecture:i386 -Maintainer:juyung Kim , jaewon lim , sungmin Ha -Description:EventInjector for emulator -Install-script: -Remove-script: -Category:IDE/WAC IDE/Plugins/EventInjector -Size: 223133 -Path: /eventinjector_wac_1.1.254_windows.zip -SHA256: 60ff7fa5da778f4997a361a500dc7488c883e7dc529dd559a91efd9674a97499 - -Package : wac-ide -Version : 1.16.221 -Maintainer : kangho kim jihoon song -Description : Samsung Linux Platform WAC IDE -Category : IDE/WAC IDE/Workbench -Install-script : install.bat -Remove-script : remove.bat -Size: 181060397 -Path: /wac-ide_0.16.221_windows.zip -SHA256: 3d4169b08a067bb0ffa582a2f96b05e3784249d6a3de4f0ba278952da33ffcec - -Package: document -Version: 1.2.147 -Architecture: i386 -Maintainer: Shingil Kang -Description: Samsung API Document. Provides API document for Samsung SDK developers. -Category: SDK/Documents -Size: 27098678 -Path: /document_1.2.147_windows.zip -SHA256: a2936d618bf6f92e4c68f566c7817920575bb416fec35db3f8f39ec3b1d58001 - -Package : i386-linux-gnueabi-gdb-7.2 -Version : 0.10.0 -Maintainer : ha taejun -Description : gnu debugger 7.2 for SLP SDK -Depends : -Category : SDK/build-system/toolchains -Size: 8984057 -Path: /i386-linux-gnueabi-gdb-7.2_0.10.0_windows.zip -SHA256: e6a836794e7697e5d4bf16591b3b08e1b6b434ac9100fd0303538224a63ab260 - -Package:UnitTest -Version:1.16.246 -Maintainer:jooyoung Kim , sanghyun Lee, gun Kim -Description:Unit test for SLP IDE -Category:IDE/SLP IDE/Plugins/UnitTest -Depends: -Size: 2085403 -Path: /UnitTest_1.16.246_windows.zip -SHA256: 8176c23c1885cfb1e464030f6bbb0bd8daaf2e1bbd805bd97b49ab05f8660592 - -Package: Profiler -Version: 1.0 -Architecture: i386 -Maintainer: Jaewon Lim , Juyoung Kim -Description: Samsung Linux Platform IDE -Category: IDE/SLP IDE/Plugins/Dynamic analysis -Size: 43006227 -Path: /profiler_1.0.247_windows.zip -SHA256: d35b8bf41bfe9f3a4662a9e4c184c64d033fc55de97a2108432c0fc94ed84008 - -Package:CodeCoverage -Version:1.0 -Maintainer:juyung Kim , jeonghwan Kim -Description:CodeCoverage -Category:IDE/SLP IDE/Plugins/CodeCoverage -Depends: -Size: 326181 -Path: /CodeCoverage_1.0.258_windows.zip -SHA256: 86e47fc38a1cae8011ab2872db0ac7f772354cb4307c00e28cdb46636ad27a07 - -Package:GUIBuilderPlugins -Version:0.3.294 -Maintainer: Changhun Lim , Hyunjun Son , Jaeyeol Lee , Yonghwan Jeon -Description: GUI Builder PlugIns -Category: IDE/SLP IDE/Plugins/GUIBuilderPlugins -Depends: slp-ide , GUIBuilder -Size: 71394 -Path: /GUIBuilderPlugins_0.3.294_windows.zip -SHA256: 39f4f687f3664a53885a7a07dfb467f1663154af437d93c09ee23e95ec1119e8 - -Package: meta1 -Version: 0.1 -Maintainer: cho -Description: meta1 -Depends: p1 -Conflict: -Size: 0 -Path: /meta1.zip -Attribute: root - -Package: p1 -Version: 0.1 -Maintainer: cho -Description: p1 -Depends: p2 -Conflict: -Size: 0 -Path: /p1.zip - -Package: p2 -Version: 0.1 -Maintainer: cho -Description: p2 -Depends: meta1 -Conflict: -Size: 0 -Path: /p2.zip - -Package: p3 -Version: 0.1 -Maintainer: cho -Description: p3 -Depends: nopackage -Conflict: -Size: 0 -Path: /p3.zip - diff --git a/unittest/src/com/samsung/installmanager/tests/installedpackage.list b/unittest/src/com/samsung/installmanager/tests/installedpackage.list deleted file mode 100644 index d0be0c7..0000000 --- a/unittest/src/com/samsung/installmanager/tests/installedpackage.list +++ /dev/null @@ -1,100 +0,0 @@ -Package: EventInjector_Wac -Version: 1.1 -Architecture: i386 -Maintainer: juyung Kim , jaewon lim , sungmin Ha -Description: EventInjector for emulator -Install-script: -Remove-script: -Category: IDE/WAC IDE/Plugins/EventInjector -Size: 206116 -Path: ./eventinjector_wac_1.1.245_windows.zip -SHA256: e50c8b54d46d119468b36850b98ae8e53c81a628668d6f5fbc59493a2704d2f8 -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: slp-emulator-image -Version: 1.1.86 -Maintainer: Yeong-Kyoon, Lee Dong-Kyun, Yun -Description: Samsung Linux Platform Emulator Image -Remove-script: remove.bat -Category: SDK/Emulator -Size: 221007566 -Path: ./emulator-image_1.1.86_windows.zip -SHA256: 68fcc94883592e1d3b8366ed703165c12ec76e560f2ebab8caba487d55667f53 -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: sdb -Version: 0.1.35 -Maintainer: Hoon Kang , Joogwan Kim -Description: Smart Development Bridge for device management -Remove-script: remove.bat -Size: 146872 -Path: /sdb_0.1.35_windows.zip -SHA256: 1dffb8554c1a15682313dec96039bc1f3eb2177ed276ec1f15061583987217f4 -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: EMULATOR -Version: 0.16.63 -Maintainer: JongHwan Park -Depends: slp-emulator, slp-emulator-image -Description: Install EMULATOR. -Attribute: root -Category: / -Size: 476 -Path: ./EMULATOR_0.16.63_windows.zip -SHA256: cb1914c7d2a0318327cce3f5a398eb289a2361d1def4827d5a1c83108f0f03fd -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: slp-emulator -Version: 1.1.213 -Maintainer: Yeong-Kyoon, Lee Dong-Kyun, Yun -Description: Samsung Linux Platform Emulator -Install-script: install.bat -Remove-script: remove.bat -Category: SDK/Emulator -Size: 24493356 -Path: ./emulator_1.1.213_windows.zip -SHA256: 793ac5e692faecc7e8749392fc93883078954c058a298171ad9da2909591c458 -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: info -Version: 1.0.224 -Maintainer: JongHwan Park -Description: information document for sdk-slp -Category: SDK -Size: 42649 -Path: /info_1.0.224_windows.zip -SHA256: f5c91a5a05f59b0dd03e1a3cfb3022b48ca4146295b09e8b43947b595ee69a32 -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: WAC_IDE -Version: 0.16.71 -Maintainer: JongHwan Park -Depends: wac-ide, EventInjector_Wac, info, sdb -Description: Install WAC IDE. -Attribute: root -Category: / -Size: 487 -Path: /WAC_IDE_0.16.71_windows.zip -SHA256: 62f972aef511cf72145823ad8d44b86e7ec5c7490056159ba18e0e72e28b947b -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -Package: wac-ide -Version: 1.16.221 -Maintainer: kangho kim jihoon song -Description: Samsung Linux Platform WAC IDE -Category: IDE/WAC IDE/Workbench -Install-script: install.bat -Remove-script: remove.bat -Size: 181060397 -Path: /wac-ide_0.16.221_windows.zip -SHA256: 3d4169b08a067bb0ffa582a2f96b05e3784249d6a3de4f0ba278952da33ffcec -Status: INSTALLED_OK -Installed-directory: c:/samsung-sdk - -- 2.7.4

wrJ<9M3{92zn~O4g z&gg!R;1Xk>4QMWsd4N&#!RWG#d^|*Hggzv)+-I%TK$=eq zhj~Td?B;^#A0Ki2v^OIlbowV|Xf3qk#OYkw)c$0~TdjYxda++}ZPtVGuk;zaW5z8U z9o6n?Hn!i`=|n`FxG;3DW*DU>rMsA=5#eZ%i$=~@-sp$GF!K>X;r(n4icbhF_gr5{ zwVtGzw+Qs0A}`dAVywxIG$R&qP-UYPI4^U0w5q`&n>v1uIy&T)Lz!j464`}aR01i& z2n+(GzAKY`tb+kb0Wqg(qo!+|LFNc7bMbZ8W;%7lMMhR zJYFyL!eem2libAl2Lg=*25dUwNrdC7o3)EG;4{Srm3m3!2}CMP6f@6zBE|t7uRt@w z;9VN6@N^NEUhmz#06RES6RBFm9G$aU#_NR&lvQ7z|E9XZsI|$EhU5ceXGPiL~}clA~&Ec1#>$jl%)z!o^I?)2SdZG(UbthLWlR0E01s| z5C-r_84Ss_d|3ua#UT22xPK1yh$qSZkvs2LnPIwXDeIeOby>09ZRII5MHuWPfluRe zmRN)I^~x#HnHS6P;me`71#BX2cW~h1%raaTEoj@+44B3D#R#Q=p<^+fB zz4#|oYxD|do0sa#^D`Qd$C6UsMrAgT&J0%2`??&YW0>G3lW#|s_V$1;S{DNly_#1+ zgwGDGn}o@gT=N1*oTeRIt8{-ai(r%1g=2J>h~zY*GFaLzI&dB)0M z@@oa06Z@1rTScvwGpWYO8hG}3Am@1MzcL|oAZ-+>RNaSa_IPuq7^%?NpozRb zRlCjszqHRFa|BFq5Lx4d%0t2qKKV;Yu~SR&z^tF(8qy_h(O`o8UN%oV6bKk9U=8r4 zZgLE#=kv2`;sCAQWK4Kj|G$SqV62h1|4S5IH{Gv7Vv-W zNSF^9+(o?3m4v5$CdwJ;;a;03m1ppGEH8b~)AA^6@4F+U|`Wyz+hIs?Bo`>LD z`W?CAs!zK=`50<-`N9y$y>rq`0uFzi4Tah zaH&4^%s$4VlFHxegrbo;^gwK*xTO5=zGA2P0&3-11W1qgG1_Bf;Kz8M2#Ac82CQ1by+bXF)cQh~ zcTkX&TmQLEH(9Fh(>*$O8W??x!gF0P05ru572o6U4|~I)ZVz+ zhaCDOp-=vKxWQ-b;%%JEGVTuOW500OdVE00*63Gc z+$d{?&DU}N1rZT3AzY=OEjHV#m=-v3>K<0$OzgUh28f|r2@P5Rfzn9`$?!BqV=RJ+ zSm+nlw*Jr>jJ>AUz-Lb@d`LiJ4aO3(shQh}51M8o9Dp@@{tz*B?`#&wZ4gbyPcR0y zwlC}5|egHB$Xxh@Jr7=Cygz|W(>UMGlc#%RiMgTtv|drVBb6m+DlCuG)BlE>uY2sqB`~W zYXq)O5A~`{qY0_J2BLkClw==_S`%6-@SLe8+l#f=sp^h6VR*BhY0Q-J`VAz{CC-p} zO&mw{j&0A~_e~95HP?VYTdS{N94i>!dQS7BLeZG7e7ZOqsc&7lKke`XH?WmQrq`aMC4)u;O(6OulJB#8fz2{Aow8t6Sp2PE~b7+F=J1)vRHtb zs&mSNR%63IWy=PZQE?cwWcETCn-BNJy*=b=FW1MQ+HOx$F&);Q5MHJ6K%5mATQ=zG z0DV~fQ}5REvIF3n_4qiTkhs#!nTEmv;GejWR`ZCYp_AB!`vw65Q(_H&JR5Rj>3p*$ zebO}qo7?JS2A`k=KR=HFD9cK|e^bYNQnEb-gJEsiWt3&A+{vi;HBtHvKZC2J;talL zc{pM6%zs(WsyW%BGH*XLhu>qIyRuMXZ|`Lo-!dd)o$R@yf0;Y(V)nH_Yh>~(3FIK7 zaukxCcAP|2xrBn!1dnf}~iJLgDX*@0D_(xco0NNvZd}(Mgt%sW_Q6Begz;2`p`EdpnCr5q9rk z(ME%pD-Gc_2iFX78=YDuf5$tj<=P>PsIW$o$jSV@F=oE3cDS-9z!4k!uATuSY@*>t zU$E9xNpH}g&!aY?>-6mg1kPd!MmeXL4i21K?N34S)cZJA>+Dt#K{?e)1^TH{vYZ(2 zwc;eT6oJ48-%OwI^p!ByeTl4fn6ucWawn>Lsz8B^-Ze+|i{?(SOD;Iox2Rb&+t|S~ zXDO@3D-9hF>Z?Ca9&oJ*@yZgM5i{%}5|8}a@ae4&7l7KD$xX(?BPc~n^ zy{Jqw^NJ}BI^YHFGjKy7lgIV!{Ka&`?Dvi>*YAX<w}SDvy;9_k)(r9cv>mIgd=s2brC!D8&CI|QzM@>U#^?H&2f zBF}^yCes^G4RIxXQ$;uLt51jO5``;ytlSKAs_z}M*?KfyQ2NWat zcrz(URz{L8SHk5iF4u_SwUjHqW`S34^y-$va5!R-m}&O%DvFDfi%U5vN86D}yb+SV zmQQ+7D8d1J@xqm`?gSJu)J~C%#Q{(<;~O}V=~WQseK-S)^l6Wlb?HSVM_F>8m05A< zDF_5Jtmh-ki5RvXSU7-vF!24NMvYFHZPMN%Z05H0a?3H-WX&;H9nAC|xN}4G^@()8 z)MM?_tY(a!g#}UIv~+g$`kTF5o(l9(KY?^Qh6lLQKw!3z{0u{?Z1Y1)yj0`g)Tpm! z0x**N5@f#A;f85GHft9W2Y(5Vl9|sF4jPf0Lmj{&ufkV^6FF{V`$Aj!a%*R*!j!TG3~hECUOq5>=P)9k_cI*ZUx&fO9OP z9OTPJ$?Rh^yeS*&6*@nVHlD7{__S0Tu7C>i_JmuL79xa_ozv1tPtnF(m?>n-k)ta z>6jhsSHU0#q$D<`i{=xp+H;84GIUK>zd6+TIk!-pZ@hUnIn*<+PgZ<^g9kJ8!}cqp z3TgSdR?3e%>99@@-wX!06Aew`>v(b#hH9S`}A? zeteFo&*u&!HpFnnNX6V!xkN}ddlIaCx#7b4S3ypl{DiEH%0o`!{&4P4-M)lK{hJ;C z2^MIG^&kct@8Mmpm+u*su?r##*lJ7m3n4nIdv@+|&M#sIX9n<}%2gUJ@J=lO(W+($ z(2$(WuK!g`TwA#D>vNw1_zsuT!=F#9h`;Gw4QmUO_@ggXSDP@btl&Vn59@p^9_NPs z2BIqyWglI>9j#djR>zR1-A~39VyZztAR01g%;wp6sN~5N(;m@K?#U`0!BoS_&6y2GC1i;+l}kpQ_No+Px+r2bRiJ4V2k{^|J!a=X3m8J~Ke5V@>s zDX(Rllm@VGZ6f^w19p*1zprMD#;6Kk6Z}wOUdFMW;uLi>q=@NBzQL*W)KG?pFf87N;=F( zoK**MH=56BUjL<_r*NCh@t;C);-?-eX|ymrW3Y`n0EVdqQN%7wZM+B$!Pm$vkkud< z-MRRXngm0bD+@JeVPX1bCL#{c7fU)o9Hrdw;0?Q>k618H#)Uj&{G+FzUq8YjT<{hK z0IDz`ZHq8=+W`X@Q(Zq_w80coKh}mnXR3qeU&PF{14XR z%^8l>EM|bj2}Tc8vNFR*{fqSuw`1wz{w6^56ydPGvg1C5Zh28b*4On%k}A6xca#pq zN1YDvQ3uD>#|dHa><;CHx7#y1wm3yih!+w=g(JHP5UiB!%ojL;>y?SYhW;f1?77N# zZb!a=GylMb>z?=09HD`4Vs_z~=PtKGNr9C6;bXB1*$2#bE;~?1`MOas<4z2B29LG} zA(PaA9k97ikA1E6erC#iz5~1G(VEGQ(S#pu6G;V~Db7fiWXpC&M$vUKm$Uvx0>g#$ zf4(VdE0TvR(jQYcQ&PT0j$Zq;YSI7=-up=HTHpkj{THf^#NBf}<3G*;@P9uMbnnVT z&Yt=DvcaW{Ut}wbdxvByh$kf~29{08N0jGhYhMqDXJh(E!9?*m{efBbh05FBN;}`eC$@ zh4R$FmwaVX(-}^+2dC5N6m;#WXV?MvJ%ihlh{QXWyJx3k$@QaeyACHM5(vt?p&^)C z>Xf8Cs7NX`2;l~`WQDr%oI5-qt?%97-~!JUx=s$cJ`7ue?X_TH5* zBjqq@hw~SZNy0UwrJWhQNkH4C8gw~W8Gc#-qgFp#2-eF}^MyG(rdj2se{3y6wP<1@ zhlHXXN30G~rX)DCA1_Pom5AlbioNUaoY-O{QdQK&IE@PYb-%6=Lf67?b1iT#2EHc} zaUSRo5$CJ7TZ0$IF!t8AyRbX$J`GU?{;Y6-KkK%k6g;S0YNI!~+y(A`X1|{&sDCy89i2 zalLo+V2n_>cII=!-m}GFgmIq$^h4IU9xmm|ovh?T`zPY$TT99*rK1OEj5vR^=UK4P z27e5;eYs&lE<;TnX#S`kZ*1IEgH3-KZ6uZ@MinvVfg->A0x~j!1efzKN9XG@oRFIq zz|b&UP6Ivd)XTOxSpMP5kDmYB?g4;}8ua#wA;GSc!ETm3YM|iG8~o}@?pDtd@r4RX z$cqi&efkV&tscDhFzHSwEH#$X0Qfc-1HdJ;yo&g*M<8WL``b7u18Gg@K~jNRb>Ecn z*;quY7~pt_%W&UK411^{Fpx}t5BhPLXoWB%MuosSBPFs3 zvR>W8g#ijx<}kZKo&E}XPNa-D3z#6kHOIFkrBkj8`>l}%$Sn|r=QUVUR zvrL}SQJ3Qpl~VpD+Ja$Jkz(h0DLQ*si}9qH!WLUnuq!b6hOcqb@!EQW;(f~d!`3d0 z(}J+Xbi@hsDnpSI@}Syqi?!+(evSmZ9Ot@~wb%fKans{bBSbG{GI#<@?YBTUk^6%a zPc^M*Xc0v))92b4s#1KizoycA%DToSfFHKX!8h9}vgfKAlDgjQP%8}sJ=+Vc#8bOO znxLUSx^9f0+5Ka6AyY_CD%|ChxD6^7eJsGEs?q>E%J(6kvaNRXsayc1MG)A+#e)R_ z4c{8=9drW%OJ4-m3Fg%z^n@-&1P(&~x>k1aH3X&w7`n4&Y&Aw#%sTZ*H;p#eqcSRk856b=<`m}=U=nS*+X*GXs-iT51AtwjY2m0%hxiv z%@vcxx}O+PtOgLt`Go=_%>FF4Z;`;kuQ5Y~JsP!n;GD&ePg61!YP7A-9|zr_ZM0NS ze(AXdw;YX!{zv5NIfHGf7X+R&VCV3CK-U|AP2APq)CMK&em-}8ZvKFJ4R@~L zG_)yU_w>s`@}Ltn8wlx!q%ywADor4KYXhj5aa2dLjwiW+iZVX9#Ebo zguX9$S1QvVMc^)5&}LQctZ_I=sLSb1wVMaG)L-{Q6{CXmVEw(-h1q1Zs*h|v41~v= z68!FZ&)XJ#24-gRz8~4B-B?Y(;u|~PUur-6PNBz(X#6n86lqu=~}#*nA1< z1pVH4jSEEXfJ|Y!^6WX+?&&*`OWXFlM4w8!KYN*2~;{Xx$a}v86A8JKXtKrltyXoNeWr{__(ZC zen6To8d+>As@V@d9d z@R-p)Wh0VdD}rP2uu2AaDa-%46L!(|df8M)w5>LH2Pl)^7IWCf=@!|h2LZAx^0(jK zRkVIP@I;m8IKIH5)P>ttWZ^&e0orX*vrZ(zcJR;5u=4f(DxZ7GyplNY`-tP@0*X}* z>}Fdrmn{Si!eOc4Hi=sCnWx#m6}$B@#S&kVGRkeBg2n#he-{ZocVMRtHc>kLE&3dT zteat7cCRXJ)#@PHCT2JeR+4B~XU+GUmu(X`6PFV0^A3yzYcwS+E6=37<{rv3(J&#H zDP1Rx8i`MkA)j#l8b#BkQ7gGG!%zE{^M|NvF@g)coHcY7$>jO2pMhuj*hCrT=p{bk z%yhYl#ekFD4w#&zI@yy@StAt=dORo5RJt$i!poKmpFJAh7<3dqQc1XqFsPw~`lTH- z0Ay=zgnqSss~s+}Q8(bzRvdh&gQgM;z`_wDdY{Sz9~f|Nrwe(jtu?_VQ<7d^WdNkV zDIJH7Fal+G#}7WQHT9pVq0tiQKDTcsOm@^9PPOY?it=!AJ4@G$a}!PVHjf6^3QKGR zhddkq-jKhw=R0&h$V1BK%ei4DYil729(2F?=TE%eW}a*+ZqOeZ)O)g9;U$aU^U@}! z6NjhNA!PWE%+*AMa7%iZFM4LMh(7-~h3#Pl2q5H*wp1qYD&2B!2Hr zRhn51V)u8qK@k2pV-EhKDXsMUHJ8iNhiUr;lZ`4 z-HpY&``xsDE!AjYFG1sL`)9)<_T=VSFMS=3kKgLt_$ko7KX3)emgY@xOcHQ4u)JNw zBdxfIwQ`a*jE;_WW(4|P;E>Go@+u0uEYu>yd%f+oCaAlNW1iLpUUO0TWaGTO2K?&) z(a)0imk^u7h?Rzwy1K=x)Opsd-b`p%{g)tR3MG6E^0RO%1?4>G+2F}?Z@Fyp`}^wx zJfb8vc$4+lfH~3kmbFBv;0V9*M@Brh`C%uguI=i!uC2V6?%%7mV^+||1^M@+Q;?0M zqE#?cfB|F^kGaCe&QF}xV>Jgql(%~eZqL)aErr#h(ADjzBq2qY*EiiXVaHG@Q`6Pz zLXR&~56hTYP}sy*ya!%2iBS+KH0Go>p8iAU;n zSe$DD`6&9{4k&nTdW;@(WjZ0FP6s8In^Bt_KdcC=C`uuF80gg>RY^MaZ!D`* zT3z5s+*QXA;7>pjrUJfO1!ee*95Q&MtJ~57_UH0kxVB}?F%XIV^mqlnCs1)EWp-Az z16RJVqmPmvOmP{D3B6v9+4s+M=g&Z^_+WW9#vXIIDzxTPzM){(CWN0@Agk=PmDdE{ zKkJBXK3C(?NCjUPPn(I#*B+ui>z(8)KWZWuVGHIVgq@o%){wCoA;WtguzUDg>%raC z)h~}-tQmc8NC;OjlaxnxjSJ~8G+z67M!l3|p?ER))6QgIr22J4NxjZ^1%oUw^`WL$ zDIqFESt2cqI3zciVf_{}_xhd86?kB6A^QulPpYBz4)s=7)Eg2#=hyihR~#Wmn|>VD zLSMSI2-}@11g7&2hFpC67u7oti?=yG99*>>?>{~!X^shL%SE*VvPxtq#4F!Aud4gx zFLQkx3_hf<0vr+q?lZS`lN`FD^J#LW;Nl(qEVu4dsiP)~dxbOUc8kK#qQkhij4w*Y zl}R;p?%#B3Ps-piItmmSv~zTns_~*<2EHgD^vnRrJ@SB4HcLC2y5r?-cRD8PN=Wo8 zyKlkW31A6(m5s%w0N$lh7Te+co}7OuP|%aOh-J5F3RO>oebig??w@hCz21i8s=FNf z@T&jkUhIkF9qZs+plqqHS%ST2Q>!lh&;4;J?}_cblQh#A&POc?SIJ8Rn;*^4&`DE5 z>g?ZS+mU-74HDUkAr+JPRUylgduYQe9{-SiMexUY9!K1_uR>_OmGnS;2=@*qKx4%j z!+apq|I$m}{=9u#j0Y+sic;`E7{*w45uLPZ^S+oPtId+z0mW*JvKGhE{@%#KP~OGV zRet11x1vWt*7o-B7N~_&9GeH{8utl)QtM9STQ}c6Mc(oxHLvY4RRa=`p`^uCc+?dv zP%1OH>?D)?QAX!JFl$6~>{RXZHI3I~*N9_S*j|jN$X%e3WH$RKN|3;ozENn7 z!Cc}BxyR~O5?L!9HMt|yb$5gFvi(#4*l!(%_HmQHMg@J9YDOQ8d4Nve?tJ#+_hSs<4lBYcGx^r9B+&JV_&t#?Q;hS9`tmB_7o8f5?C^s5 zKU$-Fa2vIu_W1npd@ZbZ;H*Dd$gP?tDglL6@Ex8>_j)ND85=`yQ8*D(eWPHBF5sPv zQ|Z+|Q-k9)JgwcAiuLAyp|FM@;@UjnAkAqRhq?@K9Ag}euxNR{^Av(RKmN%v&#U#0 zU|*=sgpgwYCJW_~{5jCxL}tyvchblqdoksX6EbkTQh7?g`1bZS1DCe%(;*9r(`LL7 z(xxT{$8OW2(>ip)jZ%Q+x^%KqJ>namb^EiVwX-!|8%}fAPPP~}e5PhN+n!z8One`^ z(1__Z1n@|d+W+8Jy=y~2_(1v5Qk$tnluXh+pIN@RRldgvkT(@=%y#%BR*LI%d8Vkb zTT(y$#AANA^7*s2@a6krIB-+`M3cRqfq6pYQ9#RVX|$hw2!REXb&U{2Tp_E*+sdrp z?$atdqRWQdSTK=D|FRM6z28%)+iQI?G+u9vI8&K^3UFL_JIruX7fBI*{YLPME28DOc#iW1Nyc|TX^vB06KL|- zZmbjk-0+`|3L+r5hn$N~sw+Rit38oMvhJeicbm_Qk?~+(vCsNa&}r#o zmx}90u@OfTt4$+gOvu#vBaH%Fzg?At)h&j~&5HmYLg7shQDu8|?j{TF`}0p#HKNns z7@sJBh5eG0pLr(r=fYc6e5Ej?RKnus#Xj(SKgQRaD!aFH^My^&w%5#nKljl@OuVQ0 zFldK+T*6-xE)$3y*>%xNqLlZUqmzKQtq#C+=G!ti)Jm@Pl(vfbIDMhNx9$by_e%JU z%+QuqLPXa&1b+);!lh8zL|?&sLD@OnpWUtHxwHv9;9;1S#j7Qk_>%hpW}Zc>Yyv)P z5o!^MJBPh({~1P81s>e_u{333guxRj;2Q-sX>6?(_^0CGs5Wmlrt)8N@9XxBapmG zx^5WX4^O}2zR>+UNA=0*78olf^^LC+rR)9$_FsB%he(6ZW6M9stMNQ8 zUUihsn;O8FRji0igN3qhszKWtfIRD_dE+`9UNQQ@)BNy^OI#i*Z^b;%swr+1;F^I3Rs_|0th6(66&ObqNI9Y&1qdKGHVIGKl8 zj1Rkch)qz;pbva&6p0Hkz_)gs@r^Gb^!9<5-a!DnGiw1kS8jY5mZ=g_N-ea^mw(xY zm{Tf607S^%7;+m9g~sG+rF@jhxNRDi1ghbM*Y%;_}r$-@dF{ik>9^ zAUFrhRsHz$*sxBMOk7d;#XQG(tqi@PC?nFgURxF#G)ntMyy@**se1Db%ffVG7?e8p zqGa~kDo64`I_}at`VC}W20GDD*<7CUkqSX(rtHtS zBCr2+E_8<7rsKvx^TF|C-Q^x?!QFTL;#H+B_W=ggn`XvM_#M&K7+*Yi(ZpBwlH-@~ z$!9IH^<6gNiHcDto8jC6n`hqsCRqig^p-}u0>tsP^-({pv>os~9A;(~!z%)n3PK;< zw4Wv3eqixw_Dqp~_1AXJWd2=(-AlUv!A|Mpbbc%8$0{!pf8Z;Pj^EBaK0+&pyak(o z;FsjvuQA@^T_@3D=-M-R;AN-u2`;>Al7?WiW$f%b=t85u6Guq5K#u=BkC4%)Pr_At7b{SDVzR{r0nW=!05>r>U}iT8PE1aoM@C z@WsVoZP{U-BCtSnHcpnzt!JR8jNiz{=OcJDE;!P}T`*5?e_4$#jM`q|>cF2J^Q6aAHU_QL$ieS?zxv~Z(dYYrIiZH0C&n$pPKy4BSkltcdVrT% z!x+sm1l*c43d6ey?d?|fE-?nPabwH({a6uyz8xDq6lwG8^4V~|@%i(_y5;fGX7Ivb z+q3dvL#mxBc`v(U&gYemSCnF!RT{3tRm!l)uH^4yJ4^L6R@}$WkDmQ!Kf$Zi75DuT z9kiqG8S~@x^E0oW_`lqWxbo`zuV498#Dh27L(e{mMC7K;&KnW}1ka&Oa6;cIfmC3p zf0SGZ&$^g1I5W5)v|eh3&RA;QT)>=c6%E}l-QG>nT83y?XEeg=K#$jxEYR;~C&rK?Nu zxNva5{=y#}BVEGVb0T--KamTZ%*nC8WOS5duGc7EC)WmyUN?Lg;VHTsBp3I4H?Y0G zltQ}gn$UIX%frc?r>lao(PnR-#;l-=hK!?jrKcPXk^`@kes&8coxB~nm-ne8;!~`o z_u2vfH)fMY^a(GDCI{NlG|QD{KB>yF2R-OlH{Weih)MA$e3sBDIRGG{#g)1WEtU*@ zU%ejL3!uymBQTs3d`e-(4E3iSH1Hwi!SHS&%6)LDY|Jh1mEdIsd)m|ML9Dv*`wm)@ zhu`Q=cg^T{u!O3cw`0Yhx}u*Ze7D3}Os(aE2jgE?*lMP`F0|RQzzWmAb46!ErlW#R zv-yY*;H|3&o(0JAYOa9Ki!6J+Qpn0ofX{-9^Ul;cJ$_?QB?jw_~ zZo=Quof~(Dx288k2*)+4Z+=eQ-YnQO(d&+qJ2C#E-}UO9qx%YbahIc70NKobq zJh-JHzrS*=VJH;W&MpyH{GRnUU_wcarBwam1V;EDAG~AdmiKxtN~`0?hN?SxjA>!e zv?mfdCq?vmU!Y7@(6Dpe)-{Ask*xtZ{9>$y7uJT z<&wkCs|YlQXr~1)Pf?-^yL~Hqi(e=_p`BkH95j@kzy18{{)z{2t*op5G<-6+V3H6T zd&t@GTAk*0_Rg>Mv0?_paPq&NE$UJIjkujJzRw%n32wxvqd~?K65_}tuvK0o0yPkN zeDmkF=%4D;yIU7LhSr}EzK1mbyt*u=Mk8X8Yq!E&iLqCRvtd|~rv@kR=SlIw!%PS! z^3I*3FY8Q3>%WV$q3#9P%4JtDV{~m<8r$Li!|io1>&b;5Nh^1ihbn?Dv);eEXn&b{ z>*w~P;V9#c@4vnX#(*0|if8XAc>cUY$Q3y<{yTD2=E)s%SI@g&2!EoBZ`)(0zZV_f zJyO}xf5zru9z4Q&_qiP+DBf8TWuD8I=Lkr^j`{8lA1{9C^pfZuEHCUFSjiA{i)a=s zu^x(0bn#T9QZ}7o+adr8zLWz>@{9e$_IEqz+2A)SX)V zcbkfWc2{26IWv-cbdRfg5*_713%u?QA*L5!f7Jx^o9oZ55Vpl`EP(Yg+z(cK9A5+N z6fg6Bs%vSg1JPHtK+*JuQ$=)wt5%d11ie(K>RLw^);S z)`gG@Nqyuu9|#@Fs9z~uKchn3&qCgH!!Gc?FKr9>rB5-4eSalJTN%;fbJ5Dm@1mhh zT}O&Eub^NZ?*#EyPEiMs8;@e}t*cM(ZhoWNcu0+|w4UlaZ}G}EK7IV;Bvi<(?QDuEW-j* zbZvxet;fS^>a=g}FElX_YO{0+YuQucI8$7?ksToB_8GamC=GxJ+~}@kIs==kIXEuo zQA-D`Bb6i!-IKG0S-R#a+G+kjS~GD8S=#n-Me!5{HG5mjsjX>RxObq#bE!M)Lrzw-ZSvJS*D`nI_m4;1p4|P}`{u`S zs^PzJiAmcK;~z`Qci;Z_*o0v{xx1Ti_V=$ZL#I(u`30oHEK7Oq2Vu1z@~iIX`H2Kk z!7z+)KEYATM?LiU!=zW{!It$UpdY@Re=)iXpH*1Av$^z2ON|3R|6Dl+1K_hj=cJ_e5ZE~~knsVC-t+Ko z1Ua}wC;)(eJoY$ZcuL$@azh%p`#rSLMzmsb*ZA((V^{IrNCEdQCVsdcfvnqGWFh7D zEW{L8MB$;LM0t+80i~99^PDr~FJmH!tP@ySNr;Q04Zv833G8jF1Sw!t#YQ5MjtQQb zJ6x!4-s2u5myqJ{*%+mHOw}RDfTP1%t<7yKE0WiLixSbf?HP92BqNc=>LIUej64of$GXxP!2&Y}*ED+1{Zw zpzYg#Y_YZ4PH-ly$>E(V!zx-Efah+gu}XSGLW-b1U6^?obi*P8^%q+q8;0C5+{}@Q zEQFz>y{IxkJ&Q`p6xKN>grvCJ&(a^RZC)z38Jit%bO&?&ik_?bITzW24ae&2TAqstrLjOCDj z7xzE#g^!GvK7ae$U$w7)PDIUYyZy+wpZopWeQ(O5i*J5${q(O6zb2|}JHbtfxTgD@ zzArrpq$i)QqNGd-6-5&7>4yTyc>PMHMK+}J3_4SJZJ=P zCadXo+QzbA94w#csiEeoDltos_Kg>R5t6LRWfecoZG*8!n}b$CtXP#c2GkQG5>-Pr zTf~7ei|WS2=Ir8`{PZ)=!a^N#6a*tz6&GR^GN}#LV?PC$_RR-#U93k4Y9m`@_7bDtAqromU5z2on@QN z?5%T5>$$+!ZpOhoKekKquJ;6gU=FPBoanyaJfeye3E8!RBt%g~tI$FR$F}dx+cE*{&2B{CqD)koX2yG> zJ2w4hI&_@26N6wJK}2H=beuzx4@#z%6=iFr8z|pqg!VDc#MuFURk%W`h3kH@W}#O3S@ z9n9k4&E8BZJ|_UiIIQ3qVC=B5R7OSW?gxnnKYWtvx-6Xw&2-w10}14?CMYaovA7|) z^K^pFo+i39(#U&d-i+h{f}kQ`mHZrzVsRX_RHy0gpBF>;pgtY_s8jQ>(&eZ z?DiLaoruB%J{xT{Txnx)vHNydSA@9v^sy|Uf14V%E1Aixto*GX`{~DjFz9& zK2?k;x8rfWT>UhWD+mUIiF!B;K(eBb6l|mw3E`QU%i$2gB*i*^pyTB7jF{I)6&A7W zbR1@X%-5_kWYBmT$Z;=9SLl<(EEj``cfU?QSL=AARoCXFlk* zs>;QeKXLfXhh!LkWc^@Yf=JjSDUnZyrc;FH=_IPM4`#ijP}B9Ya?8^RoY=|~5*fX> z!l0#M#dXeX$#kGS?F2_G!co=Y$^8h`bMS+(6nRr~`Us-V_tnUd!zIlveV&n>VNhpqpYM4qn=e9pNE!P1a8P*K32r|%=*FJ`YrM0YYuB5d-?585(0-o5`EqTwI)b#WavvP0R!#;MfQ1LJUh&i@B5Hn2C#7nnJvvT_vn@>tkRd@@l-RWt7ddTl?sO0iLU_E|)K=rGE5?Wl0E(T&I+q99H6VpRXR5A>MXTL@h@dzOX*5Z-U_lc&OjD@z- zqI%7=Uhmbc$|-;Wc^_{NKe&wYrm@0jX;nf(`$#89>%HHtIBgw=*`o0@LhsfyQS znUTW=F-?!d#UYEvGG6|HKXLn0|K#%ewTL##&TuJ?+|u225iUrNM7c73I|*}2O(BZ`}Usr-vUezx85f&N;^z+niKnqLH~Qi->&jhyUd#Kl1-1;k$2n*BeiN zAYwlJ*?(GxTX&v#_wn)(-R_PzzPWz!1Ym?-A zg@&+@*d>B(j47IX!;J_tgpZ*?HZu=LR%?XkdW%ojh?gH@_?`yM!WgWZOQb?YrgA!M za1MdNoQfvpJf6ff=3EX3e){QW5E9hdSt55IW^K#fiAzAI3)#ZiUIe-C{Q75qX9PX+ zc>Kh_RO>CCe*c@FxivIi{>t{n&m3R))bWK+Rh9Da+fAxn*nV!? zziYbPy^mr4agLbZr7V1Qb)vIWrgf-DpsRB&k4W8vUob2SaS~zG+%J+bVPwyIyMcED z*Bwl@&j*!=k~mxPwlJZKCEW{upzUt^Xq~W$JdY?%y~4=0YdGsBFa>7ovb)TDS4H1F z69qt4dt)IsbvG#z5N8x?*L!@C&M*G#HQx*T)~ON`d$@_6H|HqZ4&K>~45PQjygLZ0 zYBAqS0iYrpYt0kVIIu9sxEe7WdJ+*Vha7p`mBNi=q`Qt`W{&UxqNoz0Iejb(#-@r)D!aTz#JpW& zw3?XlUIt+zyNDM20Yn zgbZdH6x-=E2BPAcJKctVIL4L4s)Zn8~-i3Q*J3u>fk@ZDlz#xkyZz zx@XNulAnc)imgbV~hY>&Oopa0-?|D(jRzWSBJ zmp{4Qd4($~%6(hL@JPS?$kjW3aC_{n%PU{H_?=(X?|cI&x~XP=6r!BY=Ri@y^+wwz zO-xOgwmBiRSjHe4QFDy-!N@gCfu9kJ_rnyK|=C(Cmk=aZarO9!Zu2}*C7e|#Q_U)=IH?fl zOieT^&|LaFpFT~E_uMVYj9wkqt^%TS-o}1}ckhVvC&Pcrvr`jm9~1ZHwF+`BcRy>1QNeR}aTr*C}e`coeP*#~NI z-h(r7ZGUeP_UQlUX?0}_y! zGC^J+*QH`7;S&jGM69>2-}ZyoZ~wvd%b&RXoe%44-`H~xDYJ$su@u)mv`0RB0+L97 zWmMK;3tGF)x5|PtirGX>luMOJY^+$Ny!7Kg{p3IS8L?57v7I8^L@7%p=k;A3T3e_Q zrw}J|`HZvMfGxx4hDH9lyA|PLSxoL;U73!`8cX+Z*N;3`hs!%pd{3^Ibi6}{+jV{C z{#QOn*H@RXzcg63>yvT$Jen<8iE>qcM7rnLKrxt+R21b*Y^ue)oldGlm|p&=zx4R8 z{+*Z;5qLH7;np^sfh9mJe4gBp zvVe^y>Qt64OKTc;KTcJdTkx~by)`}Iu+4bFsaV)&^P@1{`V5@LO)C}cFxcj-;%2S! zKmPZ8&X|609TlJJo8El;o!@(Zc=~Of-@`1#rx!nceDPDK7e8})@l$s{{-Iv%cY2Iw zI|pfxdLo^iyj!m9%n{m`p^Wz?9j1a6T`xG#$_;QSGQDore0|01M(fhEZ(H6ZOvrrL z=$+rr<2}b}b{x|F(RP3*D%oylzjpvV#qUN=iE;wRcG{ykXt)1uPy%6p2)i8g{2H3t zBR8RMd+Ksyn0WELQ8Pl0;p=Lktoj- zP^_xL!XY9=)TBwvsO4}@CT3PmpDapQVtDKeaWpD2r{jF&j*!$&)8)XXl=9lUe|UZMD;MASx|p7>@1(o2raPybNp0J9J?${f}<U#jajBIXzd z3M3ltWm%GVGK+|xwm4obW>xI&Hbh7wecLvSgNTk9V}P1}l-1(5ulJgj6;1k2HAYYO59? z#T5zaP%_ki92xG&bU-mWQ?+*=d48N9bhuNOj{nXRXz~et6c4t&nAmMvVgd+ULD_}Q%tDV^h8zW{u{9FHr znA4}noWG}z%A9(*ym;Rau5Wvf?4`65%9(}v_`;`uwiiEreDTw#7e00M$q(O4o@pxX z&GZSMpnJGTf?m4q7j_@~ktLEBU+X;7(+P3q-p(oin6%B$v&l=FBMbl3@pbh*_v@cAQ9q(tuaGgDJECxmma%V{xT!4;=WeznamYlfM z_mX?-oLpNytz?ERBb!oP9m&!NhpH%x98br8wwE#y(#SAee;ZD^mKSUSl32*S)DUVI z1Ca^R_GZgiu208d10I%$j~MHir&I2{tq$W9tt_A0vMyBYEz-{nHyi0es&;vcv)GSR zK){MwW4f9mjjNZx9g`A7+&nv`Z8}xyu=Mb7AhGb_%J7m7ClC^tCc-S&J;pK+&)1KC z2CQKYD=7P!rDl+$jK!e0BckJ@&s{(9o_y%BDq3Fs%HeCD9k0I}bBk>gDp70ed1|)X z@f|;O^~8HB^7a>h^YE2VgnKI+m_XD(2)rozdl6<;+qMnoOr#6E0GWuyh7y%;(`@(* z8|o43a=-(Z#5M-0@>to1EF(+!)&pOE|H1$E(;xnSZKtD}`SEB%ema?uRL<+8O3@54 zn%nekySR18ndgi)HQBapKK}M2>G7HOZ?Y`4)p{wX>)T)Zlx;`;%4cjW%QEJ+A)gA9 zmivjBw+$j-6V>p5SLCv4l1wKSI-O37NcpS`R%1@8I-X7{!`%-DIN)nrhB3c?@z9f} zC*J+0&wXf~CU>G|n2pGam?9bvKK9zXez?YZ-|znVvxg|HkSd+zF~ z_vQnS5zbqpINXx!H^%GVT)yyIhgZKGb8^#7qRnA>w{TIVO+N(vFwR5Afk43uEXR285qU9UetE&a~o}5NU#fy z2;RdkK{d6rCa}mO#8j98-|};BeJhCFyj$&HNa|jxqe!x8e#9QJW8cjZuQP;2wf>d= zrQCYp|3@8lmpNrla@X~8y!GA7d%jPWLzmM1A7MII*3*lhKE3$q?ZwZ39AEs@)h9lD zHq>n>Z?})ft2&=?XG{8>*wieT^Hj7OBynRMOnVMYcS$$tr=mA9N))i0Y!KwX{)74A% z>3a8;qjRvLT6>rYK>){QhPEIugEAEBo2nsILzu@HJ_DC~`X*z4RF<;HvV<6)uErQR zCb(*UER&d&1<(@<&(j>splZttqzfPn1Pz?KFJsx}Nsx~wDpfOrxP}dIb`VX<%re%} z!ShHJK4XkglxO3mHc07WEbY%+m1y2YBP%m1)0Pp_vHl5cw&qqM(&jsZcW*BpON(n& z&5S4!IvegL!qT~aU`#AS+EpIIrm6XyPyi!2GSbJo zmd9AeoRgC9i)A^8Y8C4;wk^i3TTvxr;jxGfzP$b7AO4Gf%WE&|_3QV2?zb+#^9`ez z*H`ReT&L^1t69uh^F++)Q|^EG?t_oVLyvE_ADOlYtDLS5SKs1SUm7pJaLDa=b#=JB zMUmk1!+1~FPN%D3!(%SXN>#_xwTOsd?=V4|q?_hsCTIbJn8fiiQ91=E`cGWwFAefF)HF~)F@X62kyNjpZn zu*JzrX5CYDdTF{tUJ1Uw{^5UV{NRuCoWHk@y34$&qdc8O?XB;&_k17U_ki3K(Vikv zNALZA{nLw|K7HYnr!Ri?^uFJ5+fFz8I-G!h^d=jB0Ppz^d+0oqq5<=Ee0O&h`>fWK;JOK- z;o5CD>ZYAJC+BqDbt`sugD+G*RZP7-X)G)IhE!@Kzap~G+O<+Ei=n0x*|x27NFX-~ z?;#lYZ58(xpfa3abBQgLappcG5$)N&flyyKeRtYY zrH7b6Bc-a5slw26XVw_v6PbMlp`NOL`JCHh&)t3Ud-$Ozh-iHCh4m|+8h5^Pav!QO zk6Ia3!rC&2$YoiI>gvHKuRrjU#I%0%OUq||S&mmX4m6cfRY|6rRMIlG@`zkYy=VS#N)T@sIq4 zt4E$m;;~&(#N)sDa}Rv(H;pq+Cr;lUdP~~+okyOhaiHrvxm@Tx-TwM#>y1}0U;S#v z9EZbpeZ?%rKoHmw3^!C6_TvnPtjJK&)9I8M!!(mrc-!VOhQ}PXz;)wvePZc^qHUYY zx-wOpMXAlKa$k%Ux2R|}FT7NL1uo66e*YgoyztS(-EVEjO_W76A~)aGMsUjl_=Uy>E_#y5=RVq@M+XIi!=fBtA{QT*$w{DL; z&!;;VU;Oy3&wW_G@LM*oar1-6pkvvJ4@!R8dK*RJF+I*PL~hICa{`io$*f36`v|E8 zJWSAALwY{c;zr-W&@sZS;~r8bIkDQ3rz#f9t4|Po7ThH$*PeG;g|2;2LnR$DE;Zw&KKeK)D)2A0def9BQ+j+Tk1NLThDlQU2m}OtH-Hffx zox`sCOmo#l)6<5eyzkrEM`mB4^;PZ}Gy`hO^YFSmG@SJnrPXDwAVM;h+c?c-mC3kWF=AYvjau^~dWyFcHf6#~QA#@NYRv1dZi z9vy>;2RU&8#pnLMsKSe-3@Ngq14{qSuFD8w+D=nM#<1`JNd^sgxD$&tDwC{=oua7` z)%EcRk3D!FGKS)5lowK;lB-OsNQ6mIyyR^ZsxD*k8DR_}qtYfASZ{>#vrL(m@sF zUSQc&!sjHjR8&RhgO9!b?DzRI@3R*_cIy+rH1b4QsMdij)w7nIAj0n5ik#gNGRFWo zNlCP*%t&F*@TNxV0F4Dkl4Ch!OlHF?Au+0yW!2>n#9~X0q2uta_x{MMAN&bonz!C$ zSKldJi0F}jPyY(BQUqPUVc+`tt?O6E*I&@n9VXhYkK?dbRn6cIlo8@QU0pBBg6+8b zWF}kI^sphj0$wYFxx)R-L?Pzw`g%PaB0Q6-{NnO5Lv(Ovan_jJ0xKhoe}6^_^GF!hPDA!Q;}=koU)3H zvoZFZ6BZ=2lPy~e;1ju2K#&iA?cbFL9{#V^(dr`VJg0tl9c6cZ^oja?Kg@4=hC3U2 zA4%^8d+({Q-(6Yh^x|i>7d|z=_}SBopT7Qo)Q8bZ_jsNKhVzmEaRGR+qGUhhdb%lRVLpCVYW)+>%L&T;$r?cqcU~>lT zUGCfY;48Z2hRk-ekLm60=IU6yTbS!BYhgM{Xs zDE7Nq7{QSM4D9PIWL@dBEkh6tV5Tr4&K@P(iWrQ48yemjZSGs`*#o9lL`CVD32L6= zyl~`B6JGO8TS&Xsi_D~mBXhNZMK24_H^1XM@BhieS3b2~z3N4`U-^6%S2+29Nkn{l z6^&)gZ6d05v%~fKe_}rN+<5tm7oYpJ@y08WHxJGp4aB|&Z9;KxDiJm3G*v{l5zDe@ zdZRA_ez+|a9=p$KOTCFqI3t&3?XH4IRi@ADC*Gs$!sBp!Wwg@Zd>H5lj9@Zt3ecNmu$E)jgJ?N0i%9&YV z1Lh%eJYHQ~-kzroTV!DhpLpD0T+`1cH^&v0v+f=d7l(`K^PHiS1S>I)3?x9dqjI<| zhdGl}Dso6w#7;4xZ~nwzeDjC@E)`GTl*O}7rz3u-%BVv6LK`_HWkv*lB`vq^KL35E zxBbAy@BZ5TAOA%d3lRq4mJL=Li4iCl@QEzIEmSmbKRlm!`+W1;uAhD{5ncZ7hxOZE zKYZmAdAug(I$f(84BJsYlL)JaJvbT63EACpG&?L7>|9DJu3}N$zvjHy>g2vkLa1ex zsih8|+afhRK-W-JKq-KK!3s7y?cqc4F!#vH;HRE`2H90@w0aJ>j=-cP@Tgx%kuSZh2U#9}qU)$T&90;5UJpD>@BKb{ z=lkh~9klZX^Q(w>j_Y4B()f?abfBcQt|G|HH&Qm)RaLxgLqG!?PIo=Dy8F;)M za0bVzHZkZjuurS9YxwSgUK_BjoqJus$C(zDPoSdP%};M4IL>~;tu|=~gR^rG?S!D- z$Y$rwWiy-FCjKm?ZJVUJC*)4}Ja@KPu}EXuJ6^pHnRFHxf0y-t+eGv?hw2V*igpi; zeR|&kLZpB2P8%+NRucy!zsk(mmddPbzXI@q!C8Zk9eNQa&I&1F8*n#mcX)&-_1z$q ziIEFldN~#m)(li!p>n85$DpctIwcX*ieS|x+9_fZ$*jm2rox8Y+&QPJLght8YQiEu zT@JUxH^UMUtwTg)F6-)ZA~zA%A5m4AV_7njn|9NIWpK%V0PuikI3gnhUn4y*GHz?eE6OrkmA~rND!xLQ*Ncm1R)aLZD4BU7z zCuP;;{l_;wDK^4=KKp)AtD;<1o2Q}*JMeaeCwIL3;!07Xdgs+kKc*Rv!%IK*=f3^! zKcL$+BuyIAmx~9#@KL$*y1n+wtmJ!ybD-BP8VA1n16Y}aS!^V=7T*ywN zvwlxaqe=nh38$^>8;6sKM+~)lkT&v|sv{GBLQu-ctXh`g?)=nKPxDRrwo_zaw`rY>M zTTn+)M9G~z>f#oC-w)Gs@2vH}%)4;pyDI2+l~VeztW=r5^}qkux8MAw*a!CJ(=y$E zyE{B5g`q5+O^9HdaNc+B9N;$71-r2wAYsVfK{;LQP(gP*_G}o`Q)X-9SctysRq%Jo zRb_7#`5f4NPJp7bMul%w#?# zt{SU}<>?B}LCwa>RMpezq+?W-sZ|7vL?wjznUZkQKJ{0~Wd#XHDCW%UwAWVX&L6MDbmF@B zY^Nc(rXj{FD|yed6=4<=;fz?;1*Yvj4tIX=kLS2}=p#QX5yT=D$0y&F({Fw4Gb99m zc~us%tGEBa-M73e*IN&M?B~XR%U{fj&J<$yZOXE=94gWVTA(Vb0mqM|=qNO;tUBD< z9(@k&@bRhlGIJ8i#ckQHi--=l>*{sdom+2zy8GyJetAC^ zKk$v;z5L3j{IzdQ-&R{}Jyb?7GNu!;0cx%^GZntR+SCwQOvgKK*m7W|3||fhEK^R~ zXF(f=QhRwT5~!cZ45K5q=mfE#Ap^c31@npUCJmuCXtA0KJeIUANUt2^49PE+IaC}?Z(#@ zLfP>NmEa$QPu`8HbB|^MZX~xK`o@3%e{J9S#zVjOAItS?e)R^qpM3*?-y*zB%>=3F zL@Wv)W?@dsj$Nukcp~82ii(`P4;c|T)@5!dQKQ}3C7GSnGR$Ou+cq?d7;=2Nh^jSN z1WTwh(}kaU`WYmdz*+*9o+<_=#q`;V{@laF0ee%E_c5+jB^P-HqA?GD{oj)ZA3+`E zNZIS?ouB_NS(N87KK7rZ8q2K*mM5NHpMAeB7j$nObtfJ5-rvU`_yJlE)Ho{FUNPxh zI`{wiJrnBo8^82_`v3WVvLmB(4|sddTx)*pefK@^C;t4uc9ZV%-T&NcX@r9M#%tgC z`M>wK@4oRm>dl*8`z@+xI{4lYjEh+`jMrGc*HAdmU%$tz)d&B;k9_YB{s=Ms{LlWam%sMapZZgO z<|qHef0v2=(SP=Le(F#B_x{>X|LHT`sdb{ejeQTD1h}Hb@~UB)COYX=wAAgk^49hC^YdVyryfxkyw!W)T_77(+!i_so)E9Uh)3DyQS7 z;J&*LGqj;ZJcdaLDOcs3PP?ljEF;7$e2NZ8++>V@vqd71sEj?bx3Y+3y~w$-PsC@e zhZP_MT$;^BJ8m*@aTc|0th<>YYjaswFmcYox~iHPb2_%fs!GWbB6{~N?_$-%mwp?xuj{AZclY_QwazWX|>#CoZxD`6qw!;J0!L`2G$A7y7F1Ty(bAK$@G>JA^4l_FF#m_w3HMDZ-C`$C^i&NFCquj=PV)^J=}l#&-XgKDxg6 z$#V!s##|5U@wfqzj_@&TJ8jG1kW@l+y1rIhSePQ2WX2JED^{hdIp?~rC`fZ|EW9k^ zbljG8Wv0{d=pGjrhy9e0s$iCF+k|yl?6hrTEI#L0hR;X}6)Q0w%h!JFUw!zW{>&18 zCnV^pb)cr_1Y${4o*^Uzn=7g|Tdm3p7FCw%lP~VOe*XKepa1?_pZm4tpZ$YfyiOHu z91X%9U_XRT!VS0~!z?D&+Yi3-NB>8Byfa>T@%G1lo_yBaeA`rwn0!t#+eb-fQFkAz zB$DpbVN>wHQ4xU$S!89PWh5-%5grVGqGwY&=49ch8n^Dx<6SNiQMetQNtaa>bJ{SE z7-m^qlo7$tKKmRX9j1y1R*gmmcA6zz(ThAnLB)m;u!^en`Y3cl*+RaPPW%XQ2w_pAH$N%`>7CA?%on3qA%v!0UH$V0CfAIHy;r4wG&_B;V zpa1kH{_>yviOl@oANrAh|Nr)%oqzv-@jv|Yzxt2=VHMrJ|AD{xOTTgZ{(p{d`@i`& z|H{w*?9X7){73%upZmA|cYou5zvf^3-~O9_<>!9(XPEi_@?ZRyZ~vb6;Wt0`=}-K{ zKlb0)sj|D)mWql0^k4W(fBCQfukdAeUVrVc{q&#y{AWJ#FaMQ)gNpv-pa0ix-~YfL ze$QJX({|b4K5fg{{1j6oZX2BJh*oYY${w8t@o}5~Q3ugL$R#^DnU|G+!(rfOYIzQ8 zgX*+n6A~H7z2H&BKDAdJ;GLUAWO4sKLhjjyq*wbFa(LP@TG*SJnds63}pb#1rl z$jJ$=YpFKNA|KGax<=?*ltDn(zomsXVifMcJiEqCBho1h(e-6Ke zoTtNBD1&?|l^>6PwrEB0#qHN0d*^G9zE#xLJKtPh{P@MIU$(K#?Sv1)W2%@itEqd8 z!N8c7*K7BPdJFPTQ5RnT^wbJPMJpv9<6Igad&cTc+CZ zxq&Tsdg6Po-}htkt*_qx#6Q;WyiEO4k>w7BD`z_Lo?*o*O;#Wgn{R&Ww|?SZec(6$ z{u}T8@drNk^W%k&<#w#LkOLM7%dOoJ3HJ1=u)SkqqzD(4u)>M~z!fw33^TzP(3##H ztymy17ON9~%RI_1MIFmPJA!9_x7ZaVrd5&NzJ0s%AE>AxRHt*o7wx>t+#7c2BLN?s zH*<96-7{5Hy!^HChyKXT*d#*4$~?dP^*l}%&F_4TPIt~cPZ7@3)%@m{ufOoyarZk! zY4^Qp_qbvD<~Qo2AEEEODrR!~KFXp@%Aiciq)e`Vq)N)f$p|gf{Ja0Bdi5phWY-ko z*xk;~=6qH4r+)e`e*cgDIQ?_}^QK21`}}7<_2n;o?l1q({+(x@f5*-5Kl0em{k^}% z#DDD1{wqK7lYjJ|>wA9ihkoR5{)hiZBKqDR`q6*qKl;D_*Z+%;Kl${3@wfhy5B`B4 z{d0eR>95}V3UA;4z_0)EFP&$~vykTB{lEV0Wj)}_mh~`}M#C(IeYVPORuWVe@**+&$;*3m{eu13}g<0BqU)-n5Qs^2&haAwyljIwmxk;(Axg` zu|=@$pA!n$t6ofz$NC=t9JXb1zHIH{Z@4NR}>-Wdn@3}W2>0jIT$)lul ztL~{Y?6ucg-|y%9<@@jY{xE&TwKHm%YH}T5brf71b*f@6s6la2fVt+6t_g;z18pL5 zicBmsx0pWF!A=bs@_IVp5K`}tPk~)!5kxeKu8PoDs2N+gyvpVcfdrG5_^fi(i@7s@ zr;x*FE|pkAftA;YEelMp12jp(gXoUM44W~Q-mTP+M(hPcH*baxEF6K0F$M^UL@qhz zkYJVSNl6HaQxo$vB8=og|**&!{0Xx`zd!! z0B)reLLhE@G&leBmo1$B?4@nbl$FEo4$^eTozbt`!YhZ}fV_-v|7U*a*4f?nj2^s6 z9=Uz==p8c;-z<;ZHoN=YcE=rQ@cq5(y$XLdiW4Bu?($Na}LO$XU(XnSIZBlW#g^>#biL?SISxx~^m7Dx*7m z5NBpxdtNx=rB8%t>YCA&2_y0W5X$nh9C&oYj=N^J-^NQvmbadI_?fR#X1CXp00Y%?ud znkGqVSV+}WO9XimvuSasl*Ap=(xLs&`r*0zt}j3Zk&(!OBt_tHFdd0RL{Nl?`rJo8 z2M+F+ft@MQ2lK+-=HBbuZhqn7*R7m#0coZ~yOBss_6kIEX0}q0h*)BOni)7@2j}I( zqkRt_x$MoyeBt+&&U)VR8P868AL7zk(UAJbXC(9oLomCU0}jcR!YSaxYNjRfXw}TY zG!7A~sUhTA^^buvE;+j?5OZqXDoG!!r%S3ezq+D<7$aptL^%9p7(^0v99oK?@OUIV zyHArriJ6cbR1K!AqL@v8sTmU5!F{^x5kBtZRXmTdAz<4AEddeD9c}Y_rYpT^KZ=O` z-iQ0W4=>4go1;!_k3L1_j;d|reRtU1x6!dD@Wq$oiKjS%57S*hj5S>}rgKT?hOa($ z*9~#^0aUCSdNOkZ8>FjP0rdY@U&kDOqJz(^Tfg=fpZV;|f`K@H`}kk~Klz$lzab96 z_x`8f{ulkm$B%qhzux#0Kl8v{cYNiuf8%CV`|E&+Pw0=2J@F)Pzva8v0>G{Q?ZJ48 zRuh-&J~;x*B2+TWj#J=1QCzcXgEt@=pgLcJ8W_k^cdDQRG&5jfH$WI%o=VI?QdgEkX)6BO5bB7l6p;*VULJ6i(6{k0<@UB5;cTavM~{e09L^i zr-}_S144*AG5{y$u)al*RUBaoZDToN7;?!?(*l6z9)bGYrzW|^g2t01ckQ}Kz)Lwy zF0F*e&dsbSGNW67#p-%E36^+zx%Am6p(N6dB0#BVN{yO-IoHz!-Af5Ov|Gs(9WfIi zIz)t=4v|k98OCu}C^<(2aRj+=lZeO=`rH%NelDOQ$Xs%flyK__hc38+wQRihlf1M* z3@l<4cOYm|(v8RNyX5uDC!IHX?4C_`{PW!X*B7n%#v!>v5zocUP=q43-n2=nXi>-1 zv@sPM!YZnNwuPIdMOkDrS&8wznK6kuSf33bNh(EaNE~7A3xfCkB&8P3n8d-6z%)y0 zTv#ymB?~hEiX=o_c*e{7t*31M-sjtu1pr#ne$>n+q0)6D26b$c=-x*r$3Jb;-bVlo z3{*>E&MTdP6Qcz!!c>G^UA31Zdp920P4|5p!Iw6Fow)q;moBxl0I+V~{p%mPspJ|T z2>^ZHx1)v$OCK>N>h7r>r6wUjat{jtq998oc$<|{aw&j_1mvcs+O+MMG51+ji4e%$ zl_)L{D2!bJGtC)8g)rK2=VZJ=4)1S-jmSo0>pLdWUKRQ#jm#|&V3i$M*9;|MenYiu zMSP@y&={VW?JN0006nE|O}eq)H@NOCqUgYf6OZ z1flrDVL6qWRAV^?zXO7&)I?OY6M-bpc@UR>AfQKzvx8NY7Eu9nH*y0)s$rx67@xYD zu z<*`5e&r>h!V8f_Mcr~AG0PgL5?9uFUGp#f18=_W8bq93 zxBiTC&;J+w##^qxW{qv;abNHGwcmQ$S?5(MY#mzolWcvxR-X8O!2lTGTZ8Am8e-z# zs`oJz&Ss8l96J$^7rkA;U8i=`n4X1y`+}GqV_yQHRWq~5T#U+B-&?_{8~peYA`6I- zQWu^pBt(|_f-@lzaI&sL1P++$u-r~ULCwv%M`EB5N%lSk_k(LLQ#T1QGclMFb16CJ zqGm{9(lBV;6o^ow(nN}?Ytu*=7K>RkN(fF!O-j}1Oyp)IXY@*RN21bqZVqODx$oUQ z7mb8fBobzxnQKO^XxE6S=AuQKghZ~2kqGBN94ZrH;aFJKArE3M#pr_1_H^OwE($VIPRf5YcDT=(f_Wj=8=3I`l%vh5lBUh(dO zm%P5;uyyN~KXlABpIF{>lEq?wkjT{xC<61st5Zs@S>@6ca|g6i0Fb2az|8BTb+_;V zhw-ea4!cHERgwfqp&>81Sh2p(gcORzoO>XQ%#ivF_kGyXL=qqtE#0-9%TGL>g;H&?e@TOEotJK}bSwCqU$g6%T2S05w}s z0YOSPd*`<{{Qd9X(&59e|K;VE{p&34z@tV&5Ro9uhafKJTuK2m+4aDNYd(4KB|q6L z?A`izzvX?m??->#HXe(JZi-w#$fg5he28k!r4XVcYU!ub6s|OXLDy2^`$}JYh>}M{ zwcPjps)wRXkQ-ulwOXL!7;-}gHDyUe66AAk3DAQz>d%T!7sz(c@V2Kz2LX53G)2P zXaCnJXPx`TcfRZYyl5@XANj}!eq+~;M{%uf?s0NoxcT~P{^E~*=Z!z{Gf!yy7Uz$A z=r`YY`72)Y{8zl@3BUe<|L|@zJN=x0Sp~iS&fEX!H{bVE?eyIGe+|Fu13zvgS-CqLM2zdM*9<5SPu^uzC_ znf28T;{X8Vz|QX88yBwqd{|-_DWZ%v|M)MZlg?bZ^{R!heR7Z=bBMD_&Z%i|ybjwL zJG{rVm?OC7KA3Pde-bC2bgI+<)Kah=LGI!T8E@ukhH4bqoQsDdK3i(r_`O7=ZUlrP zX3EHY&f&UYNz*hNcXt*<)X55oM0SAza9!oPNSY#hV&7@?kEPP}F}VqJt*W_@sv<+v zv}Rf~6O!i4Or_7#Bmh@#%#?B$(gYxqDiq2rVi1Nm>~luMf4Csmpk{Ys>bkCJQaIKl zeUFK~suZo}hME#kBhqyfNevM@x%CDBoD$Zt4J@4VqW;|HZM^1_d}t@;43XH1P>S;0 z`o%LYSvmcZb&uSBW>1J+7EGb2$tqkp4D7aTlB23Y)Z8&D( zf>%<%eDvr3TT02eBDl~Ezz`ACq(LveFk0>jQM*n{pBUM!5$;xcq2!iLO&Ft@;U-18 zK-W#AY1`EH-2{kOk~9nsa}V9L{*jx(VP(8=@wl@le@}Z3F|`LCUBCB%(bE3DiySc* z7H-5fhA7ncxtSSj(KSdHccf<2t}L&#ZIeX$T)LH&)TAag>dr)6H%X~+kN6!AN_Htq zoKnNIa%jN~g%Y;lu(GmZxI)N15H(}6?CQwmrmAHS+N_=*kt14DW1%M4198Ot5~2vp z_V2fke|$f$-?H@bpY&4ZZvW?I_k(6?rb(J=mDIu_L;gWdJMVY1LofU3qpte+=&q}q zhi{#K@jGbg@Z43Oh!7MTLYIT*6@d4erT{>kta7$BkSqYeBC)thO`~o#(bSAch`=L( zwQay1%fy=z_A3J>6-`yuQc6i8@m^x?C6W2ge;jmBQY}m=91X&vW<@Qaj=8QQz5axqDcm;r33O*Vmf4V#tTgJ zf6)*8#z)@&>udg_f9>9Vk8ky^{r7MC;c1-sw6s`7c|Wl#h1lWafAGOS|Gf{arfm;j zuX@wlo=`yn;E#UueYD^t-o!p+xRi}*Ob?-RaGKj-Pc z^ua&+jrY6*2K&noeovTEY93BCO4pxOe>2)<*PrmK|Fhk8_W!1w6Ox&?$DDNhFMo_? z*8Si&th?-oH~!Gi?EaHqC_C;oH+L3yIqA&NSr?Day13hZPj}A^gjjOVENU)Eycuu# z_a9xpg` zXFvNp>_#HFWEqXz+&3Pxbnc6^nVEg$=1pJu(B8}5+N{hU_wB!qeI+$SxifbZaV-vj zENI%7J~Z_)Z!mL0k8liTAY^qdxiE_ZM1TnbI(nsrU_I|*G0(&SHfmCfe*~rxRs-gm zvo=kus?3QJa$PipKMA$ugO~mYjAu7|`_ql~7N!L)k;jPUlcj~G9XBcENtZ?=bU^gU zq~mVIQWEVQz)NYG2DGS&tHqdv2uoiG(aF#RK+~b5T`k(qw5RHSO$y?MF^}#=3`Z1@zH)q^hNKNyHTu z84^W!LxM)tg83I~^_najviTr4mO=r!j2pRn=p4*J7WS{d>My;Sf1R9h@%$w}+&py4 z%&lJwKsf4zIoG@`t9n;LH}oju%p4OTcjFN3Ar;Mm9yai4h-Nj++;9z@ zc(MaJIT<=Q&dy*oqp88sI_MUlBHUsxj8kXi5RL^nWQ-spv@ywDP)vzi_%w$Ba8RE*W#vOfxf~)pcM@s6u|?2FyZ< zT($3eX9jZ?W~|w5WzA660h2H|C|KNM+jf*y1$j_baY!w?%_l8h`orVB4{ZIy@0H04 zB^mgTf7~B^^745vLV%68e>KhTx0!W2U-b)fw_Q2fd3O&eNeWu-%-h)@Gr*90k3a}& zYJ^TmoKi3*2H7oz+ks-(5GFrWW_EC9GVn+XPECT~{l(PINln3#5INF{%%gi{WOrjG z^f1U0vrJAr`{2`GK6m3k&Fs9Fhzhuf5V5MNe`e3_4oqD7f*}nreP6U`8$n;U``-S9 zbMT()h$&QHk;FF|kNcIr8ISU$Yeo$KGSg&b(lo6@L0?j7y9C$&w0QI3MeTx zf8gGvCbCVmlwSL|QxZ|`dS=djPsEfM8OOJNb@3%XHTTfXF@*x6ltzw52Bw|&V58QY ztxT9u9f_o9kHPbD9B@S%n~}9Nm{PI`JBE^9v4G_xquamH-1>Dr<^1_qzlW9==C1pD z>Xss650Ro(i_bOhesHGfkypHH!`J?Yf0o=n_`T-QI~FgzVsiH7v)}v+>Q{o0L&BPM zpwvMz1q25hGOAolAK_(Hkwj82aFIx3fRQ0H7)g<0W(6rVq>AXoTymzAEUfkbr4&LG zM9R5@sXV0=;2Rr~u2<^~RkOATmr_mt=2df4=>fHC3<4zD?Kk2Z-d-DFaKl##@i1( zd^fIE;(<^*T!^NY&p;bR^kyJ`r}RF1vXQ4xRil-7u9pKmVoAd~$LA@Z%h(Px1B6fA`C` zTz}0i*I)Z&-{o$OOw;z(E0x|IYBJIItV`ls4}JMB_I~nr;;E!*c6Y=+*9u%8<Ll>ZIy{lP0bABf*tV^yA%SZ_VFw@)MkqNq zO`~SSVrB>i5k*oo>>DP@fBTNyA{fp}b{1waL?<9-DBNPLUh8?~sB1q3ONRnE8Jnm1bDrOy z`1JO%JJ(7viEB2`c0Pk$|*h7P6uw;DFi}BuXL}M7Qb!Hv>;1-O6&?j3Ph7 z&82B{!y5sd&CnJIxQ02`?0LW#S{N;@8bE0NFcx_i&F ze{A-F?*gFq#m$hhf0R;kkyacqjoScjBX~-ZOGE{LD!MBYnhwc&EDj1zeb-ZB0Ce=e zn~2ExvAaf(-p~u-M=>`y3;y}8|R`EMIzj^4Ugnl)j#^SC;jy+-t?BAfAeb>=Z`$qoObQkfBDEKe)@GU+WqMEC;N+49>TyZ49Hz% zFB>9Gf168PURaIJ8F)fOpcPJp(+AOQzdQ1oL)yA>&kegi^zTmim5&2Jv+Zm->CFD2 z@2|3mVJO=Kh&cP)*B$i}|G8G^<%Ry$Is z6`qb&VT>BbEP#jv7!QynN&JX-FaD$hgZZy73r3 zv>P2crEX=C+SKQa?#LVt$XH=Alev+gnTm)zGMg54gOnmy2OiANUq_>WKy_W$j7H?3?hKf{4zOjAe*5;-!Gg2uge~GMQBpKcIH6S|hnt!+XOMhbSSaO;i-te_Q>rZ>; z!5{kh4L5%YAG;sO5h_;9tPC@iCQ@-qQNUmikt2b7^yLstq=>mhh_P!a1}(OtortImp8uLR94Bx0dYA{_D|o^;?j#H0+C$2W zh>ZTrNB+_Qo~Ru5=@d7Xpb%st9|kh+zH;|>tNrwfceE#;4K>v#mP;A{!kS3xPh=Td z%;*4D?)q-G{qFd0GtYQFJf7hcJ_Ye|2T0#3q@7euZZz+pMf8r_mVKCQ8c1BXykM?-3k$S@4>k%N~93+KM* z;1B)6+&$N>|LR9^;eeaEnQuPsz$@RgaM_QK?z?W|m;ZR?fg6|viTY-||CK+RCi5Gv z`Bcf--L&LBXEj4%GehL|;11ic1&Is{0n?}nSa-ZCITvY?ee-mNROhnu^{YpR0De80I^?d;7mzGxgu8+ZH(~RoI&I=+-lV(;99d-Lx zw_N>Ko38peJ$B!L^Ix&|vbP_2{=Zr}?UEtk&;blwnTZ7{8dfc-VIm@lR9P1_(kpdk~ofP?1@{R%Owf3zNJ5&|v7-4LMU9KNh-b&J!J z35iI!&Uw|`v?fqFsH&>MWNCEUH`aaW!(=x9Bfq@(;&<@6jnm$S2}5BpGkNbNy9+v2gy27hn8VoZaMrr8?6k9)M~I01GDp2j(GC2eIT*azTQUdv^l_ z4QLmUf3T#cjd)Q6*S_m4SY%jKi8-(;=HO}+-F;CVv{gY4hw0!64kNv?1)~?o`q9p(SxJz+Oz{i?jU;k_W z_H92PGCKcP|Lcc7{)ZoY!pfJ3tmXzyU)tfr2!MzSH~#aW(OrMyfBcJ0SG>~)ia8R+ ze_20NQ2&A3M5QkP;_}Vkh+mh@$4&q1sx)b4-O=ylcd1|F3-4AX{0 znGU5N#emQOfm|0{lG{+#D;yy`DDfAcS8@qn8ff03j2 zTTeasiubI$@gJLqZgK>32*hBuVVH-{9VSbYxh;g@qoK%ys^RZMB4k>CK#LJ#laiT< zuxec8k&w;Y)yyqCIRt1Hyh#pCR$Pym#gUUp&SgAq2_=A2u2zmY`M^v6tu-^7zw*&` z&%^N`ODThQA(x^^=mtQT`wkpMe|QRqGce?kK{8RMV^3_mDOhmMhzt2%JPYwi$nQd5Zo zp)&u%n}Wog(23AF<-TVLGml0*ZE71zl7u;?Sh*Bonu2QLZJLAuJUE$=7ax=|sKVdr zO@XF$CE$OEhzIxUeRr;{qqKEn?L^lfA9LV9+tiI^Xh7m*ZAR%Oe{bezyueFmxwA4M zFXx)YOU>TiF3_MB(e`fXMl zLwwxx0AAC-aq6F)DshfJA($T1noBe5j{BuQpSiHoqmF#_6MO#T7oc03s-T5an5?Q2 zj4_H_{7iL-byM7Tgjr3&-O-Eb^ddzFMN8!{n*)M~NJ=r$f29E`(lm`kR%lTK?18`v zm;s`yMqIWC3vrOX5rByka|A~W33CXDoRYZ#azMdwI8n%G`5p#`QCW1+7A`&YQ`mx*AVktF}k^>TuBq0KG6XB}3Axy&E zwx{oY+0W$he}?0~`r*;`TUZUym(PF6zSsQ++pu->mp{DmJAZ3|ad+n?dF~g^dBOa- zFFg9nKgIcd!MNa>yy$?CyAs0b(s#7y;XJ$9-TJDg6Fr_zNf#XToxhpA z`xL?Gfs z04yoBqfyCy>AUJc1Sd(%4M|Gv*cA||X~q!S6EiIthyf^PB@uN)0BIPJnx^Uc-T>S+ z_oeUpf3|G^pzk`>0^m(MnsmL#ta9=2x`%Gudd**Nz2>jiJ#=%o<&-_od+UK0yz|hR zmoKJS=0wO5lqTGmLDx+XK&=F+DlmeLG;_E8^O5skh7MdA*T%$%r^if2S2Op$8= z-7Gje|m)Nql7QhA)0({rCPM zKkd>(ulx5)=f5=Ylbi1U4iYb)|6(A9iYQ@iMzZg*&0qf0$j{XlYzB_x z2?@4Qc=<>~+<_^UhRCT6jrZ{RiYcs9$Q0boUAz<|XW&XE#syNI5_QU5El@k79G;J~TG@=|Hqzy9z|F@(>0>auY5g&0p8WKg(MXt+urTkt=X>A!@UISlx|+oryTzK# z=|CJX<(OU9V9{w&ba1N3hq_pf1cN70f9FDN8Y=AwVNLAH59~x?I#dA%__3dQ?*-4f z{0ZOo{$G4|j9aIRRd@ftsGwi|yHBo_*RK6K?!;{$|NRf1e$M$%aMZl_KYic_M%9BF zD>U~s-BJ(L(EZ?7{-WQ%z%$N6f&$yPhpW8eFStADR+KfnKP{wojfx)@8YE)Gh?`_+y=(E8G#W_Q=3NaWS` z>A?aFF(^waY7)FHjJV$cOXLP1d;I> zRH8UWMBRvxG4?(L5m$Hyj@G)G!V~V`anE!xvmZxj*_lpQgows;V20Sv>EB zW!+KZ?|*aC-+e$`6&aD3IhK4Sjpi?ZdwXQh`l~;g)l*97kqlTFV!=Ije{fY}Vn?^p zOoS>{jXTDS2ra^Dvc@qUsafK}aBD$KJG1J0X z&tE$Af=yTdH67jqM354(u&@~*NqCa1WH3ceMu09z3}D2Jj$+x>xlJW!CMvmSA}^kj zIM_^HI?|2}fhZw>B~tTAf8TREL&TG!4WpWhQ0Y6%hAlw!HsDs8T~WEFM!+FblKQ@9VO2{@2iD(nb&%%zE!&pPecs`X zCvd+qyX&6j;qSv_p>1PO30^WGw&QWm1xf~F>X!iwnap+6H0qvef<&)#>%&&tC7jkjJoclWgm=Uu*Z{tL%yv_7!<{%T1W^0&@ksdN~39M+cpYhYDbzH>Q-XZ znHu3JA%j0Euzbv{=9+U=>JNrmX6kd#%z#*mR>eQFWdkrGDQbY0f{{X@x-uNk9lY>W zdHt57f4}p$v@-7{_gl6tp7&yRoBQ5B(&0Tt6;l!rE4?W&Clt!-j-G$+kIme6rR?7U zBIN3Isq8VHb@gIS0=!1wz_}NZqKc{MyIzt2I7#X!6L%+Ji{Ux~A=Z?eB*k0?OSd^N zVUos*5>deCBIg*;6LZnhNNaUE;fu$ev2^wee`dGew)x8+rqs~Pdd-~{A2(=4O||3| zKwt#W9QS&UQ@iBRXyj&H&S75iu1MmDRR%{wD3cXwo1BYhg`AzjuE1W(D6y6T<}<>o zHQk=uQECYjSph|`k`2j8`mD^7yN*R-R{X#RPJ#~XuAIDEAw&mkl9-twLf`i(HSt%f84p7{RV7A%0M3yEJ|sU6f1#Dr zXlSo)Dnt#BPVkRbmi3nJ@dX!STwFHJ_?{I+Mq*lbyzjl+AD=Z%C!NU`z8DZ7_l`I> zcl608Uo<3gcI}R(5@?g>z#RdA#NCP;`1jt_(Bl*8SE;Kk>whc;{^&`psWmws<;D45d)M3l@Kay--$lyQuC8`D@yz%Tm>N^q zNTjlrg}s0M!TD=Gzx8eJn>pvw7{ea(Q}6E{xjXOQ;g8>jQp^J)4tJW3e>$Cz|G$yziEtcG1#l z&*I$=ZM^O?I9V|D?2Z-8?cs%R@a}2PSvviab=Q0fCQF=Bxaeahe^azDCqi^~@?e6y z1OyFG)2PoG0I?_$mYmTcQglLQ5lMND;DjQgW`M+G4#0#CAVfJAVv12$V6kcF>;Mo& zdIxDnxtTe9(Q9#K@u;gl=A{sm*GUNyabBK;s-6&1({wA#(Xgv&DJCM7e?-_et((@j zL`9Y(5tQ7sB+I28f6um)!)5(eS={fT?-I(nu#mY=x;{*zx}1?&!EH&Kwk@TMM(qlD zN(~@(edd{UntK!>FwfEUaX;x;f^wBp+Y~iMK<0ijktC(`h=eszXgI(Dq-pxD>z8wq z)Q;NRXJqKR4v|_OjUK&g{MbDJp1EB)^U__XU7}Xf!oiJ?f7}8Gc9HO?B{y##ykY0_ z-#LEprijG^1q3qB?m$4C5(H-v837EeRZ>K;`K z@C1YVa8r*u!VZoY{J_%p(xecZJ0Q;=*mCWsij0@ey(}MnVtekh;N?Fm2Y1<3e_tNH z7e%}sd7e0ee>`&g=7(-Q^1L_sxi4CG^(RF;1r-!E3$}=bnpH86x) zied`|gj7dQRgY6{y@4*gI5JFYS3!hGxc-FD^bQpifAFk}`Ly$DNzO%90`!L1TE5HKEm4R^Dr(8<;j z6u1p$PJi-}7r>_Y&+q-U_dlTpT%14hfnR*jng$fsEJEYj4o{wG3R8bhjR&7vcj}xI zpTe*Te|Z00xBu~fdEc-8?uY+3vZ>h63~^?0;siPa5#u0p7*@%Xhwgmzx8J$>ig#>z z+xw!9ZhXbt_kZel9_RaC(LW#rRAU%y-L{^raSG1>^=5}Dyh#J~b(F&K!Hf3%oCt62 zAkHiby@Mq2z=Mip12L;lgBF$)id{r83!+YD5in;-=B6cw7cw9fMO9dkgK!IGD$Kd$ zAQGn}DG9Lj05n-DS~w-IjxiEqH8V5ycp<>G#D@{U)d4Y}G$z7*-!*N^0N~K~UDKp` ze_3=lx26#{bT>%?0L!Oea^$SbH{brX4R>5+O?&8^7v`;}jPJYt=&yX(0YmZ=z(ohw zoH+>ro9p}weu9^eZ2J1g9SoSQWCI{(AOJVvRGHfbrX@y>;V58c(GCqbNy(X5h%9U~ z>Piu!$IKi~bVs7Z1cc<$=Uz)8W?*5Kf1)`UY($96$O)NCQ5He~@^a+Nm*g$mHs0_# zIJDOgSj0<-s5K%c1}m0Q6O@vevB&C871|~tHvpQuJenPYJ209#pcXYEZrU15U5buI zV?>zSdC$u6XKlLwkeTP)r=~Gf1S+{7&(5f7(VSxbKj{MFz(ReWTM@JDW+S40e`Qgc z)`}G?GCSu8eb=SgSq3XP0~jF0LY)xe(ZmdUV>@a}Dd1>kO`BBB-TS_{d*osg zbIw_q)RYk$>*S7a&6*OkZ#d@gsTb)px4Jv;xqrjMw_;u)Fq&IuM~aMCO2~@LIBmy}JQRz!+IZtv?e|99EqVDVO z1XT;kc#P^n!2wfBsyZ;pK_qN27BSamia-@&wu4>0UpPn-MwS`mp=1Jc#84nhyK?WpS1Yx-m(45fA^`6|KSIp+94C*ZvWEX zed?LdzWh}`@ObKT1zwxn$dx3T>T{?7Zf9L-Q0JJBc;{!`= z^+}sfiig4V`0Puj-j&dmOrOJrYd)734-?|vkNtY=M>o9u?UUQSxpManh{PBk7}ipV z2;EuO%z@C6Nplz*;u0e)fJkVOibaHV?ixFPR3>pVAkw1D)nJH3NNigAJ`+OIj)4SA zt~OeZQy_R=rKkZwf0CwNt*{0M*62Xz9bx5J<$_O_exBq+M)r zv?xfjoXstze7ZpNlJhmODq6n;&Ncu z#)G?Jw>dfSyu%m0sx&is{g(Y_yy`Ikz2W##AM|iRXk=<=>V9ZiOhk9#v-Is2?5;>ue0|5(3 z!qo7^e=o%?M*~v7Wt*OM!NT)@Z0`Hlw0j>aO3|J~cv2g~FvA$&5_7FT|v(^?E+g zbE@4z4N1a7HsDl;qJkbjph`e28Y8RZ1g{?ze_LMGTW;VBE&*_uZH5&W`RtY|$DP~2 zXFm(qZHx*!x8va%4lUgnx4e_`0x%m?IVXu-UWq?s+8?8JyDfQ}&bJy4Pe zAmyA>(*QUKnpzTa0CZDTB$AW}(NdGZ@}y5qf;!BGoU;QoB1{BGkslesHb|^F=CPcM z#;B(BoddS1iGXe*BoG7w0(Vnssbpk^VU0q5ls5C%WU$+Wq36Oh@)@y8bh`vZSgOdnrOM zUUb-QVk$-5y_|gh!o{!I`1L=7ZUulq4U?FG6{W<05!_^IhD0m^?o25zC?uFf)S)@J z!!{q+EbjN55t)e`z|}ZFGw2AEe^QFYXOz}b)QQx98|jKkYRsJ(AWtx_gy={eN^f}7 zaR)E{;r8H;jbHs}eXlwKkz2%WrSJ(O)X@h5c9TiOpXFRe?IO+C24TTFCqy1f266G81txQ zM9eu8v7t+11n(CY31K`t;{aXmffCP-bka$Zys}8dxz9~ATA8efNXdQEj_O5v^4uS%Zh8H+e-lRyvjh^cBK9<5#tDhCe`Z1?r<_%iM1SV! z!ia!nWtnHzp}SjQA~N%ku+k7~>~5u~X=nfq5!4DIMHUhwgj8(MJ%nk*prYPwRr*3v z-w+V=<{Kgtt&Nk_ z<+NA4@hwlfgM6wA3IK2V$#)~d(!%`i9ozp!8r>`2@D_M-dkjvK=8(wUe*P^#^aKLK z+OhAD5NB>0kmYLrsdL;Zy1z!R`%#TDzh6~05brSz5Jb@u0!`3TA*ldbN)XEc$<#uU9l(@gib#f@ zOCN8Q(q}LesTm+@)fSqPKx#qNOAZib3BR2IA_@@`6Jefo7VuJYHOr+B5sc>px=)M|}9udIUD4$ofXa z7*Nsj;}0Mf1ZkhiGhMX0U`o~DG4nc=#Dzc z4M-X-#Z{x{#*|Q+Fqp-CD$1W z-TzvD`;~(lJceZEfF;+gJZ&>C|WS zTTY_od2|onItj-jjD<=G?gy*6nK9Ow!(22bl3EI^EFvdsM%5AN00^pKq6P=77{Z{g zngIZlIGB~1T#2F6bkL&i#)y{t(ogzb59iN(L~s69fAiJl=BwA;{MDu7&e-(Lzk-#e ze*-Uh$Khwcsf_1>=E%aPN-In2uKcrh$DM~>{d4)0XACSKV39x|;4tLZl9?C*5GWq4Q(ec+!z z`S7*>FeJ6%beX7H$@+k6q_+c{9l&A)7c0-zTH_TmK#1yt^~Gx%$)3j^J?4ay)+{pT z1AxaKuvUv#mk5_0Uz6^?^Y;G>r^*wG*&qGp`+obs|MkD@H$EACesTUt%#Nyke+X%5 zasJod^|n9!)IUCcCj5xI0oFKZ!s2N5IpY4!ZQOzEG5He_Q*?q zvVHj0@k2K`V&W!iK?h1gk^JhOB!wOV5Q|z$7>pYLAV!a^r&`m(Xyx#-j3aYR+9pqW z=2ZGDXj+Oi$#NkCBOwuIf6=}t0#@~$qq7;-K`2cMeZu5~Gw08F;oRNVjCS9nrGOz3 zg(AZpRf{mErYSi~!x5WWvI0Xm{LnoTuR>FvRfUNqdF)(;30Ro=uGg%oNpYG<;?VyR zAu*Ox#=GvBoN!k2=-Imi{`+6&(hIW#C^!=m(&+FmZ`U1n)yEE<`1HLm`?njvf2Hhs z2oPPP{ZK~`VMDiKe`W=pdM!jTH9<9iV%&(Exn)AqG{%)>)xv@44&_CiAEE~$HISS` z;xhyHrDqX$FeseZR5SDy&*`T7cKX3x&1l`>i(j+xuJ3HV>aPx6{^rf!{ru<)*Om=i z54`XlyfQy~+t=u^`y$AA1H_Uuiwv(# zo#;~iD6X3B&4vL=&T!Jnc-#rVi1#c2v6DE7&Cc4wgFrGm@v?O%K6})*ZIV_biAWMj zl0=#$JFokvf15t>+ja67_9Cnq;MLwz{hMLIwxHNd_r?KRm`0^eJ1QcMY3D#YicC#k zJaYK5m%Vy5r|duf^4^_0XtfVp&9Use?!~YDk?D8-{(t(VM<2W&0Cqq2=oN2#OVf`2 z&kNyaKK_yKe)H>yu>FC17w6}n{lb_1AO6O_`=5V$f6MjP?B22c@|VA6^Oj?#2AEI% z=^qWr=QvG1-?d}=p2v1v{_G+&WXU@5F=A28%r(ZDbEO&kQ7ol_xFmukO;5TfHX*LN?1v-ZW#QU?&;yTAMP{Hc9t42VSr-Gq=*(xW-1<$MKM-TU z$Oi^+NG-cXrVUg0?6LMzOc;wsz<7&B+#Vpsc858YTmXzkf~uNJ#+p6C2?u~&1)qeS znB0w6lJKPKIGTX^i2`DV>d3^1#fB;{wRl!pe`;O@i0bGxJ+QApSbK{L)kX`qKtCpgs0K}Y1DZxY~lGV|KS!z<{5`(#e zf3UD{L-iGo<835;CNwQf4k$( z`Li!yKK3l!c`s@S{Q(VX%f6csb1CXth&bkv4uFhaO3e++1+>6u1`yEI44C4&sWtM? z%w2;jgg~*NaWjh852hHpgbc<3E2EZ7mc=0>afyYLNca84; zcC-JHl~XTTeC8{>ot51W*r0G3e{H{`Ik@w{EB-AvGtK@-+%3G_(QcS4F%vUFuzQFI z`o51Cg&^Y;RY3=7T??Li%4s%K5he!kqAJWe7aVNPrDP%ofTG3JLRb{5E_W|#Q(#^U zQVcxg6@X}3LM_J6e=+~$&wv4cZU>MUiHUd;(8FnF(|9yH)9@&zapERPe`+KpX&Pyo zH2=WO*Zu&esr_Nv8&BUgU*)A!wZThx+jcC4JzI+}atCC_`s8-5%Bzxwx|y6HRD)SxH# zr=4^DE8p#um@Tj$nqSX`L@%*Q@5Z3KhQ84e;fM}!NXefb5?xg5a1{C9t|XXg$a zNEcJoZ&f?1#%T2TfA>eT7rpdJq{zz)i#LAlz-K>P4(yCqW%KLbv-$Nu`+tMq*=@gP z02pz{xqoB;AGaeNf`wCRO0e<)B8ChB!c=XX)ZB9)x*;OhfeYb?s6~Tm0Ch41DJ6IBPCRGvycc>i!~HVvd3gPO-+_L@ zu9h=U=;xut?cU;3GibjEOkEN$p8Mkd*i+YE`)NS%Vrp3dz(QCd5r5=qfz%GyJ)o;` z!w6_<6t~-y%swqJMyg6raLBn2?n2X!A`{Tu+EMF{ zB^Q~QaYQiH$%>@5Z{{W^oil&p)2Umbg?+PoA4&%v4fzW=Fn=ZUGFh24sX?J&NPzf5rI0?~U&NZdFd0nd@X_QgeBUv0~iadd0XWYUBZ6 zWE{CPrj}ea7Zi>tZ?8QOFtS=i+-Quu0}6!9ZpPA(q`*OP(;{=&RNZ~@w2KgZ?!lYE z%*_s5_LkB9M}Nn+UP*$+4ffsA)1Eas^VxiO@62~U&;5#sxOvf>&$(>r)QdM>_h~q= zndC1MX!P7nT1q%& z>n<%u*+V`k);M2}qd7h*UQvZO1dgtjcN+xHgKq?2RkpMy>IGL}PXihv8sfDP;zKOV z<1L|6Sbv}oWg21iCjta!I*i73tUU~VhiYE^vTLA&G2X`^6D|C{QTD*8-T{Yn^64WV z%HA-|UKM%8wMT)`%0MedQ=N_kaG0~N=Hd;!MkK0{>dZ($$U`h0DK%_8Vh!Y}b)bF} zgA~&^7$K3cstQZrcL8i&6P0JBXnh$FNf?_M>wlKw%vCKz)LI~`Dm*#hy}pW@!oW$^ zw~cuTOt~3S4G~3RFfBmXG|+Vbu0=T|bT?CJng~sb_hD>?kg)H2W=TmVUDvb&)h|b8 zh}S3uFcvX&*nI5#v){OM+QoAZ-#C8ko|!wYg4CFU_Z=~TdpOWaE)laDuX}7oiBQdY zYJZkr@RoFV_vo%`+>9DzBtTU^ z{OmU!b?sl(No?+j8)t?Rq+(Sq#DajT#oUAwVo-bvNg_Z%Uq1JR{c&f_-gc$zdzh1e zqnXBRz)CR#5oTsBC9>yO1cCb86OgoxtA7Gx!^u3b#8z_ONP|qo)!0Bpx%4SDdD0_8 zYFl(Fxi>K81R-xpZM02Q8pE>p(l;Laz0VH&BQ!6i>q!U@t(beD9AH?Q45C&ps<7(^*MeH5f;LP%L{XDUBw%ODuuJ0&`?^vxCoi-7(+!l&VIY12{U^{8^Vz zjyrS14WCW(`}^F7e_D%rQ5Gy}1Q;Qm0M03CpOFQ$07sTHkR+D|mX}oX5UB*wW`_%? zLa#V(Y>~!<#2gT8WCkE$ViudqK7R;~yzuRtulg(30*F@1(#5ZFwT-uY(Ht|eXy;~m z-IkS0Uk8XYw|~9e|0seJQE6rlUit>?mN$O;(~heFn&{Z)p15vI&}X zdHseBs}^r};s~I?QVKC+RAa1BSujXgO?{yKL{+XH%6hs+NNYW&!U;;=cYkpF3ApW4 zd~^a6aA6Q3;UqjtGD^~lG{Pxy5{_AJIkNZL|LrI9^1_tlN7G=G;n*G`$pR$gSkJ>s z!>@$&`VOv%+%X$j+rQT3oUaD9Kt(lq9Uu=w+!|1`3eokD;728kOz9yP6sNyf)vEDG zs(u)!jHjuur2@^T2#FyNe19sLUX7=rI#Q1BtsUp;mI1*bR^v4oYkHv=E*Jysb~@>G z#8_`v2TT2F10^`#G;wjEiWsT02OO};(`mU^gFu}@S$ZY=;^1=MNI#^ zR*^WDsl`{&o|!jb=vb_rpDc| zbhYpg42NJURheWpynjhxi`i$b@zW~{bP5`?tciDjv$MOzz|Q?=Z;wbG3RV%SYv3V>-(TU8>(g{ zL;?i0D!8Q7<0*^13TIscOJU%HT`j?j~}~J%_2V}wN1^JjL0*0NlkF;qA(1S zU`8`9nP%p|p>6~bkOw+F4nTFcdJYUe46xxGiwa}KtbZW5l}vz>Q=ZX2aFe@&q36sy z?(!`sEu8&=@k6%|BBoL4I_X!Mhi-0n-j`2##*quI@bNm{^`N+>`)_QmJMglfrlo_; z!U4A$A#A3VP+5zGN4SN@lqIsK5O~w3jZ-XcAdccS4*AB^A1TZ@q>YD@u-<)!vDLI{ z_#jAG6MupoKOP;No^u)Q&c5Op%V=t*=aL4#o5CU{Wc{K4eexTzJJzcm*U`Sgz4WAVCrHV@KV#zY^cxD z+8apy{waeAYZ+bx*~fvhM>W!@)>?-Fd)$|BNltx(kz_(7XFR>9MmT*2GV$-CUi^f1zwS?sk3DoKhg9E!`76BD%V5ud| zA>0de2_kT6h1pz*YP%vy)GP%cn>iv)9IU1rGBHJlu$vpPEM4@P{V#vl=)jIGSAKNv z-f!d5AyZUI1O}xe618f>k1JKRcmZ%-^?!Na=W^C_Cuco({dYf4^ZTbx1M|2s5P*|# zDVc~!#EMc%=0?DPklGdz4BbjeO^Vx4$%U8^Fmtn<+DSWSxhrX095QmB+P)bX66I_q zM^r|y$?njM+NK$)6^Is*nMjIe7BLG5gQ{6-#z+A?Cwb#t6c$rn`(A9Gk*ow2*3qX zX~t#q@v!F+j=UIi-u-|qA36Mrcg;L}6KZi`3XGTLX73}T`>)q#cIndBt{iiE+VfzV z-#>Tnw^z=%bm^I|oO$dn@4GkvMa0yY$jnM9!!T;<_cJ%=4I4H_Pf$St=5Ya6RjdZe z+Hh#m*xXDF4>%mraaG6Fb${iwkD0m{8~|X~E_mgupcgpoAi{|o;gLuy(k5xv^q`QJ zzx#*pS$yoiX%(y>V_J1>OdGl?wMDYkx!`K$itQ{7%}#_Bulen@IL3)dQ--zs8lG)b z?xC$5#mbJBdq#7s-fH-3Y{q-mj>EH)es@XIa_NLAUBPb9BH5&!u0yh6ex_4frK#1 zOhuRw%)m;iK`R`OlYcx`J|!1!*h)a*<5i9wCyOw#xeGHOa+1JQ1}w0$J`hdS&6zOg zB1!t($LBwKVoPJpovX26l=onvS(Q#i$84M$0Fad8`7_r*$Ds{|F+jEI(=S_3KKz=W zAMJf$%h&!#^XMJaEfb-mC^2a+Ig6x_(h!lUQ7{y>0ANZI;(r%+pMTL$K+~+d>5B;+ z8DmZvdwn1bu6+bY023G>6Cx86)ZG=Cnip@{q(x&^(KL+$E;KWJ8XE~B#ikScF5cx% zY|`|jSww6sR{RmqJ`zP$QYfu(_^?>C#lxvh zB*QQr>LIS~V1LL$MAS5i5OeMmr>>uPkmVSOIOm=Sg(cS5fL?O%!Q24DVUx(9EV-F5Hi@PF=Py_xo1A5q@s8gMQ*FQr4b zF00J06A`5N=nf*7;PVY#O0);&Kr2Tkr#_4C`))AeL)evbAGbZ4-`C!A-O{-)T0ZUK zX6HR*IWTagWJxIu{<&m=V7Yq?guz`^3DMmcOaYCAA?WPG9IIY->jIt-i4&k(sNt-D z4GlmkV1F6`EplMT(lcK%e&}X*@S-eCguHaP-F@Go%ihxLd5}tWL@Sw@Vs)Mt_KhC8 znGfw*dhQ#$(=NcpL+c;DN%lT` ziARZB;o5@=OX7Pz^WXO0d0iAjCawW`YlO8}Lrh`d?1bAd&Uzfcd#kCRq1J=iMLEWB zEUJQ43)C8lFAj@6fViR7cCZq6YX=+^x6b+k4Yj)eTnikiL-w^Lw3f!&eMY@yrr~$2 zseh@fg_DM67105Q0{D1PKCQ_EuMd=&>twq!-|MdoB|rW@4P7-2?_HWQi(=9nBV|I2 z9my1`jMGzP*l)&twC=D;R+V4_C2D#(#eslB#6Ij$W7{;~s7yp+Q&5{}X}}$6 zTdb$zhw$J|4)X?v_);VW)auU6u|tZNCx6B=O5C)q=PqOyri$Rg9KwwlHrAM0Ktd`d z4=Y=6L^n$!p&^W5#kioj0Wo+QgJo9@@rAmvNKqwlt`Bt}Ai4oSDVc;2c_8k3skG<7 zg8&QbF{d4P`MWk>_qXl6->s7vgw9FY21=iE9vr0_M$*V)4%I^R2Z(6R%)wXx!hgDZ zzBT*EZOo#o0qu+FePj|uVPHw7YG%=jA=L#+z=oKK80+K-0UR?oOEc?1QXPZ1BZ9TF z+%Hc@De-~I(x@~|?l?XjfP~ncaMt`~Z=HGU&i2MHQoj-%08AO(h!h5a@U7JmPsO7l z5~qYrOcG%oh^X%F82PRa6&%APIDaJe5CM^(hvg|Q85oDwbh1rIC1=10UZV&@bsz^{ zJoc>Fop+m;kk5o_jN^Sfj3`yLItR&8no;XHMdJ>+FG!eLaYIKyrlKw)s=cAec;@ga z7aczD#gkJn=#Dyx_ddGm!S9ZD-XnV+Z1OU=l@cg#kHsXR5K)}pT{oc+(tiRl0hMg( z&IwWybW@8Mc~xhQSURZ}dIu3%IquBS!?z5d9aA+#$fX3LS=~lE?`n_iKKRm~a!$Pa zf#IId!8VIKvXyMEh-_v+5RuH_5hLO5?$S~X)Pj58WI$#YhcCB7a{zGTwRDp_jd@Ik-de1Y!_hOqqT9H%(PmTrc=X;W3P>J^j?0*R7UPT&-Zid#eF(P#FW!EV-}@k|4)v zw&+w?Gc8vz9lh3o(lAF5u3h=nk{FnKB8ufD4ktv-S94!m1Ba0{*O~J$Em#d99WVuJ z`rA0oY1*x>K8E2V&3{aTu816LI#uRc9qVOakp39d4lmZjWCLG*&@@t1uzH0WN;DCn z2nOqE2=HSPbE6^Z3xmnFhO|q#y5EnkHEx0;B9dI#`#zrE5cptFQsYA#zF0Mu8W*3E z6t&vNA(Wg^B$AvVXelhz&S2@>EbQ&oP{Cn3bTh5PhMM8W=6^OF-B)vk6*Y|~Hac=M zZQI7u*v+719Qx^iv~jSwh|M*EzK6Lng^v^5RgIXmXb@+j-%U-^AAR!TIhVKlADz4V z>KG=Qxu+HheX^{kh?x64%*n~L0(bgcL^$3a{YmE@eBPUny5^Iza3DCnQ1gx`-1K#r zrUekfh=R06&@mJXUbhx~(UhPJ7*FjyVoMohOBt)H~m zCPekB4MbS@NptUR?WjQjQdDpzilk&vQv+tkh{H=M?tj_wIgWuu)1(^F?i$<8Mj8N8 zR|3czj%o5D=ZUF01Q=DL7pbo`5dmq*scj+!g$F~0=3biAj@r@}M3hEQM#j8!)V9Ot zy?F7I3zm*QSC$WLyzkqi9e1_6ADHRqiG-L%Vn*t@WOD;kBmswF>HxWPF$gWH4$i~L zOhjHLjDM((y(1xkX^Ll*hZ^8M!*e%r~kPsYOI&^g5t`D0)iOabBs0kbe=oZvpCBuiGLb5Uyc4qF+s-NJK<%omV?{~w^Do1Hm0~Dl6dd; zzJK)Kmp?Yl_Ue2uhB7{_e5>tOEuFQA0gPz%+EB*ix%wW5RbOq?YO7rrZ|;D|T%j5^ z@Elfmgmu&q7vWHNLI9pBC1A*q!P=X`&@uW@=cnoA=&KrDShIo*3+#~TU9S$bsve@% zIdEJ&@o^*Hm;=XV2%^?b4J(K|eX{Cv8-Ml2JrvGU%?{Re>F`_;u0DN45t)PlftQQs zAZ`@V)tb9wRZxfK$dSRcE=9nnt62jNPvkHd=h_w%nm;}TeaLtxA`}keXQ+GXH6>~V zh7K0vKI8^KC{km^rjz!%dSH@B4I)xxgfJcW5DHQq$$^qaA}h*CtY|#F?yAMYOn(-) z$>Gve349tfF-gS%`^iAp;@Zti3c-R`xGM{DlvQ^Z;hZxgAydvJSWxbc#E#e>b<&X+ zzGKU`{&Hp8`RV?f0I{g@cvkxkN)9Ol5i=*OI1v(IBrvlkrMMj)y5#j`<8d3W`BbQJ zs@vN%coAlf%r)%KQ8>jmUrQ!LVt*kb%@v4`M6O0i+_cWgQ@boJRyYmV`lD7Zc}?DS zw#}@!(HtWBXjV5JlTSJa5%}Ql_*5H$7! zxM{pk5YV(RCr%P3dbgfAsVZ4n-h9&d$Sy58@}SHC5sF$8QB`w|>n018QdpYEjRXky zT_SF=X(z{=dgzpk4xfDC!ZBwc%en_|T)+2$x!w2ip2!C8s;|iczn2D1$ZO++L&6G(>&LNRB(*%%@K6!k2XM8Af zE))m|_edngK@`FVcC)^ zS`-|3-TDo2-bt8V2awnxufSY_@mO;-5s|sxv(^Y+0v1@JVFHgFG#c_BY0YBPano^W zbjm2nI7utgu2JOfzklf~cm2(8S0ept%^0X)H6O!kC`imdYXziXu2`qI;S*TnDy6WU z3@E$0@ATE(+aQps*x^C{5}MV)zrj_L9aFIq4iAiKhRL9zqQRE#7L{Ns$c>ppO`02E$bZ4*_c*n2%KWWKsM8SE z!HH`%V`2K#VJ$OJ`M?2KR^vir^BS?5j+H#?W*ndwMyU7Hn8{=C9fyp+Fdd}Wr@A>a z51K1a3q%mc>?alwLBt{q%^#& zVL7FM_6ZAucYl*^*jB_w+&#LzVYEs_00h#+pIilngpm#wZ?LdpTM&6FJ{Qyq4NSNy z|1nFAur#Jxww^NoqIYcl@*mPC->^^kU(OiGb(`JwCp1I>HoGc-tFgZXx zMSa)TsefIaa=q3MI~NwI^8=`>KF5f8q142{xh`m!5h^1?LT~J#2pq!Wl5>+rfELND zDYYI+V1LLt=Sa1R_gkbZ25z*J(&ptu+b*2leIJV;A+u2Av}=iNQIneB&KI>RyHO=! z;3jW6Vd=Ds4xaX`#pBPic5ZIZy>r`dpV|9BbKo%{FS)NQx!k9eVmXofOoUb)L7rN1 zz})v$8a?RtRc$I~W#TwL0XY1fHSyfE^eeB>nP{=e>!#B|NyB7#Yz49qYcYerD9-Vo01EHByhf@1Pku z0%$?6pNKF9?IX+P~c=OCfYXL@Nda z=Em#Rtpo6sk{QGpR^p}^DP>k?wwiSi8rPuUX~<>-8d}BgP209`q>zCPz>$FNf+rfE z^xTouX0%C?L^#Q0&x5!9*?*V{Yp2V>T7O4}YKa5nZ|J^wIs&CCk6r`0U1KHjA-JyE zA?l-zSJT1~NK95;3iWbot`bm{TBLDxcNn1H>9V%+C7@<(5y2q(b$6}`7+9NLJ{^bR zDubpL*-)`gOXD=PrYemG;g7?#5t^E$6xL*{fmRwXtHtX+SZDw|_c;>5;TRdv8f->ljJ zLIBjhk8to4z_W+tx3Ch`MD5=#G0@yW<|EGv_TQA9()TH+}DOwC|DN3h9vD6!be&3z}Uh4ZWt7Kyc~ej5habihoDs)Pl6m zqJ1Z>ZnoUa)azd}TE658NKK{0%&fBwTYPo{q!#<(VlkfcnGN1|2qXs{#l-`XCl2*6 z@rso-A`+2ccZaxax;hYMW{Gz~O{-u8#3_GO)taUO$H3KzBrxwwuUQF!g%D}db>NUh zn3+f%h>5cnAwptz8?y7v5r3ImLT5_SBy@JSlv+1kIpLi3`yRvy_Xh8Ck%pL9Qo@Kt zP08E<0aGKJwoFdGaNlW{E}d}B%G^=w5AWLa*c~%_?r#q~%6Z~o?qM8?-C4buaZ1D~ zKowQ6L4?t0BDgvy1|)EE1kD<>NB~dLL@r3gFqERgM4Tf18xg?^JAXQob0b3FhD>o( zcE_JRv;7vcVRPb;ORgutRP2HV0HrSgD9eZ2`>tO;?c&KruavzH`|>>0$t4UtcE$QP zLU3cO90?NAZi3C2B!x1%n(NGv*-T^U=H^Y)R5Vqkm62%?NoEGk$hT~34($wEqr~89 zfUY1w+VgO;c;Mjk-hV9H??{%XEswcJIC%g}f?^GQ-yV2$-F?@=;oU1Io_px>x3cSa z&;2pQR8tWlBHp-ZGa(mM5gvxGP$dk57*$p4fg2>%N`tEb*R+OY8<8n6nBHoPNaQ)| zP*?Wuo;mwPChkv377zw>FtQdpx1-1PR zTT(R%)P5@_oYQ`Bz}6F0ooXfGa%63pxtp1ATzl(dh&{1uUFiX0pmb|6kQ)vas2XHz zDP^qZrB4^ktJDR=K&DMctix282He8b%~|8eiK&;ZwhRb88iL~LqaO_>8;d7!iq zA~9PHTdjN5A%9kHh<~yHVl|COL-d-RGT4iT#*Sz;#El^8DL4SKpc{bI&=Z8IZ4ri` zyok`zcq1WD(4$nTYKi0CM}UCRpk|tSXk%{7>~5hcG*y-qt+1{!-UQ{&%$t;0IG(st zN@_<=LYfiKOhbYZ%NR4QVY;eK+ai&xM%F?^Bu1MUDSs~216J41q(z|_yA?(#YRoJt zm0Tj1SnC@V>ROvA6lRgT)yblD<_?|>8ihk$ua^~0Km|BN5EFS&=ba+$K0!! zb9Lf@G=HqLX*6~eEj{H907N9S6mH^MC(n41ZrU1GJU#XlJNhIa&%tQyvm0#vQ8-z~ z+*@jO(=ns_Z<59R2x!DRAblT$BR+VZq!Vek3}zsK9}YIonC`V}Bju+n7~ zL6mqqo0@|nauPW72)g%cWMa02^8z+(+oLH=q zaerzGB?75sc1Jhh>WZ>Y$oRY-oO?KSVZ2$hk z3*YXWj+MvmLvWAD0V2nd#5_0?f{aM!j?8R|B2El$5r0CFoPvl!MkcY6wMxWrm@iUH z?Bu|Xr3+sBnGR_2i3(=zs9u#pl1RdE|CoS&Xt34h|O1eHIo1MCJf3 z0XWa^TX+9;bN76E<>Y4^x#Wk_o`+%SAR;i4s`94In}g~ZBfhxqMfB33?~Mhx4VLga zzO!KvI#t_MjMm_X99k@#3Nve73IOGm^=CY%P27lxNLk!>>xX}~tSr_8ovZeNnSXsC z9}I09)oX*VNxmF#fc4sfD8bH+P3j<)^{|XjrLzN*A@(R03p_wdSBJD~WJ-ZOgSyG{ zK+<5;N+yRoULLf{VF|9MkC`F(G$|#XUYh#DaBBakjMgbpA)a{%&gWp=aWj}|gb>|) zRdE^*xXOCCzM8`yTSG0lYAk7*f`2(QbM-#tP#rH3iW2^?n8)I(#b&jGj1^ltYQeZRHi0VU%lrgH=d7-%hGi#gFcYUPL5Hq+*N`JXz2NzBb zU?L;}rE{&a$x=#16U5z_DFTY?-;2=IiiV3$o75TvbfTtAWF8%U!P_=p`$_7TV_lJt zeVQ-LH-~q}J4lN%CpS0K7~4h+1tBvtjOXSrdowK`*>L+m8z>`3lA@Z0S|@ydq2V%D zEqOY_AQ8<4Xf-5&gbc`=mVXc-PoO9#A)-=p8OU zMnqC69fPQqxYFmGk-2m|u^^GfODv+Lkg(NRju0UerPSDPurP_K^|`A&ij=Y{W9&*m zNRWejmE-6xS{%HTEPtFF0p0s<;#N3~G_+Y-y3Hr11COefq9uvMyG4ttmFcd`R0qJQ z#&}Y|NB7+T(#*g3oidrH`F&N?&Forj^Qu~r%O1XKi+3|}!lngNW-)aZ3S*uFs25_1 z2sT1uVK;;5vjK#7a>|A6LpMd`vQokzM*tz0i_KlLa=3lu`+o<18TVamum6IrBj8$=mL(+ zwL=W0dl-5gs-6=G!B*Y+;6{Uw5D>Iz$b90lmIDuaUYXr`k_aEZ^PBhl)o2(;rGI+)LpE8pqxI4n!zYpWym{>lhhbSI)I^P%(jpMO2Bn4khXD*BEF9q? zsXsTa2CMd&y5p<|;dE|12&tmIgW-X}n!arnu{TXrugN5XP-q&HRHa`cp)w_w)nV`I zLfQw^?UeIScLzG?o@zCxIy;SrLc}%0k~wB0v3iLoa)0VPnf__jfU&CT8kUNLQ*1=d z1{i#_5IbY9@2;sFECvHwba*k)%vlm4n-&p{pg~iMMh(Ly#S$+V3t7?X_a%tsD*_Z# zu4pr4WUZ1^ax*n0jF|)tuP<46=kp|4gCJFI$qB%P1rQj~5sHlFU-YlmU-g&1 zyu?JM6eC_b=LO??zKwZe5hkT7lGLn84GtQo=nwRmQx9MI`tjY@&OCOvnj(-BnkvgM ziV!A@@ivr_-GESt37OoChyjtBrp{NuF^z$Vt$*-f{)-n&5>2o{VF1*lj>{*U9+xjY z{xm>Z8>Q!ACirjkY3fCJ0iy5 zFrXtP^%BrW2S?(_xs3OW=HjNDB<_qAC4x|5#!5s8rSCa4v3-jyZe~#(xIYAlm`l#N z=g_T2W5B5<$sn40QH_-yy16Qj#<;w&e1GZ%GmqXLG8~JH7;qk_QkBvtTw+Nv(AkLD z)zZR&_KvGpp8lfA(=HzGeSl&X4KZs?wNnD00zsp-tjAY7_P#^L5LLxhMns~Cs;08K zcirmZMf!(kF z9xo9@IB|Ii9YIKc1F{njFV@kF ztX8JF->HW^gsoM&Ok|}z4nR0`jrFhTRTDI5bB6+3E$7p$o@(bq7m zmLU>^>JJ2WbsUO1gx8Y^EP5l3ni2Tc=;08_t7UjKIJM3sh}_Z5kttH_U4MN_NSHc= zgKQTcylJXNbfScW9La(%Df~8Wk(1T+al$b%a{ayNZb(piRZWtlO{FiA#H@asn+mbJ zxhonK%Upvy+#yo0jgxT2Q!pU1G}w1U{QuGQXVI2k=Xoynb@Tt%-n;q+KvkhB^Z)?@ zAOSXFBTAxZil!vXKC&HK@qclAMn>Y~!e@+(%x2h5m3u9Yo zBlKl616ZpM!S45Kkxe9Whqm=d!&HE|Lz%HogaoDJHHyz{ySd$Z)ELSuKTKV__~uvavOregIhOR7=S>HXw+M7A7qD zE?#QQPvSD1NLo%KAIAUyA)MhrK!Ev~N3R|}ZZytzZ;T(leSh@5S5>Fza*cbq*J zc-RE9b*Kw7E=_ed;&jxkHCu{YJvsv{rR5MKGmj3}LBS)7-98Wq;w>`>$@i`=jf>`rqFDd;d4x zx=j%vWr&_+@2fyhe1V!0Q96vRnQwD=O2E2Pg9RTLdSg}M49FQV&OuxFqYcolwJOKE zw%Q|R>BAGY1|mRrV3E%2L-*FWk;-w;NOTWEkKKf?&bItkx>T z#N=){Vt?j@yBZ8R4c1vh#e_)idSGx2K&AxGH+wK8D$F~_sl_525UJ0GEql@|)V?A_ zcKcNR94uN_$w~oE6JiU-AaXRV9lSRRB@-tvMvY(#(Mwu#vTXi0cjLxOXoBlUOS7Am zw+DEjT}>>rkBrnri)f#*@bsU#s^%vzOU1eYcz;Et47U{_lfs-?xD@I!&DI){aTFv( zN;7d8hH%Fu+Nwe>7XboL^W4p7d?fqViHR^l&}r*p=#zS~{lY!nP?(r)ZWDZR%#Ov=dj;h`9OrzvIlu{^ECSzSDk8 zSxDZLK%(xNiEzl~4I&ZdvE&Qy7A-p~1!pq~=cvR0#6DH8P66OS$c{i#Xl0R0%qLP{ z{@?Zw00Cj`Zds?$3Cv)*2s6ygg4Q}sS%1F_9<|nRPnSt5%HiPdW@+7^1RuB`;55zM z)BwV!3Wz|!Me?GUA171KHA+^f$}m`%h5-oxsv85lxmq>L9TqWj-dx?()Ozbt9vetZ zrIhQ>ejQ{8AlbWl=)ITA?GFNTogYk`0* z;b>H%2tLcQuFSuOk!+}qH`=^mt2`ZGGl0sH9=$shNy&W&m3OYT{t)6AoZ zZ0#G!BReNEgjQS!E9JJQJOR+-pb7>NStPfH>3nO;SIC@9`@$lT+^t4{R(!-}LLp9f z)hfplE&H*uZdu;9R*EPgI)72KM6L?d5EHxAmvfyx-hw|E2dLd>Qem^SHJ^^V17^$@ zd#^P|GRfS#Xp3pV&x0Kx%q&_isKvHg&}HQs1K?cp^W5`Pe8?&j(Fb<;*x zN@ZFYBPKJNjWEsKqm~l!y=|f09K?CQOKUs#AEB!zVucm49^iAN=3z{&pY$Ni`>A@zW=Vac)+rmo0)m-^2KTmPaF-74VN5%q6BlCL+uZXN*ULBct!*JJ0j%nUJr9MGkZDlYbXe+$+QrysAq zNz;6|`93c9!3VnaK`eHW1*METo2=CVN-5?xWP1TIy8{7ptA8*PGwjS1(8GsPnNlJ9%p_`UrE%gS~2|UWUZlQ?GTmV9sb1p*wSY0MH zI%g&u)~-GO*U$a*_wU^G;K?_?Gm&gQ^A)Vq@k=lH)^*OXFCno2hIu6_rWQuoS1K$> zXw`I5E^L#LaDM<)Gfo91J3*1A<&;NQ_V%<}J7IX3dYQ4OI#@B#fT$4FIuRGEDpHoq zrEnoh7ziwvOA#^iQpO0wyqJa~pp^2_Ua0ZIcc!}^nqB-!MGgY6MfMnEOehldC(_^p zMZz2rk{r?^f`qkJL>S-x!T8?myPy9}nD4HC=U--E5`V#6y~WY<`LN=SX*G9R+pzsD zCN{I|Q_6>D8vQ(6@`{rI_lV)WSLYACP~QA*Iz{pchRmD~UUMuG09tD)MfY}RZ+)-a zxVZUO{7muvJK-3{Q)-t8W0noiF{@eE9I; z#A5GdYyO0mJ%={^GzU-`4SY4L9guvv!}(&hXKf{sv8rcj;Jpr9NJXgYHoXeX4IscF zfjF&tp0gbKpi87-8CE}wl@5}Y;KnZJ{2NywO{ zoAKNgU9aQNTGtylpLaX1yqk4B-;2=nXXq>dpI>cU8ceeW@i- zlk5|%QjHpnqUjcx-C=osX}tcFxS3ZKH0B<{(s&f8W?`BYgWmLjXrC^YexXQfcLUb+ z#(%ZQVk4B%Ou5na0*Q)fH_GXkNLh~_GqDcoZ?q<25KcD`y}C6~8edP31#$fH-Ga8 zYysg!dgX^pYwmO!=$j}aWRUQXB2E;9PDDHckrShgMubwFOLZd|3^8)Yfvl$Hic*MJ zwVE3bvtS7l9@qAc-gW(%uigF1AIWmt0;aM)?%de8^5)vD_wU^I)coNWhH%;23J7;2 z5oWPki*O<*Biu~0wJrDYnU2c@gn!qXamK1D!ud$aDpsvESDwtwT%?ExG@b!EcqBf* znJSvkm=Iu^rlh(GbIW=n=Nc=~|6$+(4lNRcOfuize(?F(rI$G@2wX-+O3gA+m(Ziq z3027P!>TfiTkRgzNGBmjUAz1WF7|f+%KwJ;w`uD`j8uIR0Fcl2=2g$~0Dr9&XKSdM zmEGP_8(AHJv65}6L2+sG{rM-pI==fNu}pPp6<>tm)|z*dP|29=K!Cu#9lCjK=ktGS z{py>(TyVb=6k%`O1DJnK3K)R6e&gcJ=l<%kAN@x@dh|GFX%my0npqp^!qc*wzWf}& z@+r{x&bfXitW#~!kVFi(V1Htse64hiy2ZRBT@tT@t5d4!noZ!Pm3!LEJ7lPZUXZXw z15=0UM(1eRkL;er4$4Q5P8^Kpglni@tuD~i8bh^$L0@0k|LDY{%muLZmw=yd4Frm{c#2|xK7~asw`!B z^vrbMQ~UQnJ>CE8;@p#V@+@tAxN-5vhcEqj{p#!EwKs+vmvDbaXNOVTB1({(l&6 zUY5N(Oe`$X>%Zz$g?ZAND46u~^ZwT2{Ih)Y=uzqk{WSPwY=Bt;f?D`2R_!A0=9b0o z86AjJ8&s`{Z0XT%K?3cRyM(P%zPR1**|3Kx6@Rv361PQP`{>NI6SzbDwrXFRq^8`4Z6z$D1?p z0hXvuUA>ud)uP?P6PbB+2u98Zx&w6WUt;s7iMRb+n%y+HgS0|9w9Rkk1>KBT+>{z& z-+xy~+-RnlgM*)%Mog>uIoW=U9B%fJqMLN1WKD#xt{XsE=bMMB)k^&b-_SS2J+~80 zpD^z`C&)yBgLhMO8?QkMSfwQ8Mo1AR$uMeTfSENYEwS}#t-QDNC9Xq+RYO7p28hzH zXqg~PgtsuSaF*^?ikNz$^KyvST8C1QFn?789!gf+hm696>9W?Ei|?>-H$W^R0BBk} za4~HVU}j8QhJgvqya=lqAZ>o-AD;NZzZq`5KP{HXGzIWDu;vw4rSSekpPYSo0hjwW zDGw$4aBu*UKyAPM@a9+k;l_Kfl-IsBjI*pB%!Edpn@!sy!voy&wwjxgJo1S+5P=wn znel&EPn?}U^6AC>&*=S6El=JHMC0b=jkmvFF8p}o>Z`+**URn=pBBUeLfEn*5o6f6 z9%&%I`JtV>M~|Gqx`h30yz(}``wG7ICcXL>xcPn?Uy#ZV{}A`KkQrHM`xbfajy7@d z1HFnU+;fO;`*p#pnsoS5gqQ-6q&SNQ1{Hs2c7y;9cR{qeWP~sURfNbzOfFLqp{g;F zc|f=fW7R3E-&8G|ZQ4y03A-eC=c!+&Qck}4ZKjer1)t`7cRxN}d99-gf*IGgJ~(pe zCxCqC(a-9!d&0XMGMF2I_iamfBdVKwh)4_Z6XZI!J*zw*0!1hxHi&=j z&V>;f5LGJ+BLlLyIyFM9Be7OvCT6MA()uoWT27^uB(_FGDH$a)1kkD^Tu=F55Te4}FSHpT0|{+GrZEYUPv+ zV@2P;rA-$i68)T@imYbzZc6IGnkLfb-jql>U>sKtpoAr?oGX8+ zTi7$xmRG-6z2Ym>@PT=gF;+3B)+H23V6`!3rI;!bYuhPOo}ej~WPT>MW$q!&?&0R# zVjqZ16$t7An!&bRz=6=!TIMXRI)#%g-(bR=M5^Wt$Xy_}RshCv7Sn%%kj!eU{06Yv ztn9T;r3~0B&#aL#P=u2zkP$3%FJ-*-`Txa{m;b2TxTKS^NJuevTg<)c%H6QI@9FhR zKhavTS^If;>i*kb_^lJ)`ki6_Rx1+V^dz?e%S-_zgOdxVc{}g6=0+ro6X&M;o?1Ti ziN*QnmS-N(qj%Gt57&P${Am5ckJjFMdA#zv+_*%$cM!l$Q~7CKk=$ZVBut22Cmq(( z^W|H&WBpK!YhVsmp)O&$NNa9dcIB0C@rRdFJ_0k@-%fqoATr%&m{>ldXd8d=Kq5d+Pebxq5hyEZ zsbR}}N#*AAzkYc0ox@k($hWhF>!e}6fA>R&H!nhZ1Cdpi5HOjJ^X=K?pRVoR+I;kL z_2j+0bAuMU12YjhBC#YcJ?EZM3Swj{dym7xw48=Px*A6fq7=Zg%6zw+x7R5@N&uwG zI;;(Dsx_0%z|4PC3VI|zj)(&c0JN2nakzPeX+>u6;8K9Vt1Z`$4tG98$P@^fTj+$P z&^SUSNIbxEF8~1fux&D8yNKj%m99&f$p*=)0#Wdb|RKgOX1z;NwneDvtC)NeCZXbvleMVh9lPkDJJ;H{nG(~DRkdwF zJ|eDShY){d+fkDy4g}S9xya6}_H0Ko*96o>qdX*2mk^qPyF>o+45p8i!(>1O2|?X* z``bFCd&xO zl-s@T#A$R|4e@_jfSj}=$hyvEhd!uBZ8UjHqBpx+ ztI3R3Eknp=nkq;OU?du(}7Dlv)wn-wiYKQZHWfEJbD_0_{Rwn!{ABOUKyu&Arw%3$u{OYc&}ptn1bxB34yIShA!gSfsgv0THl4 zz(s%ZhDWsO+4ik3{?_52eW%>GgjwayQXR=A3?w2E%JSpIgP+{E`Z||Via5m9(_fzM zd-}w8euuNOt4-br;n}_t&~UxU`T;;MYxS=4+Yf(g|GuZ{eIKiLod@RO_O(Or{BV5t zhwGPLo?U%|x2{87U=s;igQHsY7X0N&D|3JG0Ik|qk7i&BB+kR~*xkI?kvD$?^W8Xp zce6y~v4?@1SIbM^AKDmDR<=!8eKM$8y{S-u){NNQq$Xz`${OaTTui9M??L2?`)wK&R zB1RgiQV!(KAxY;4)+HZ5ejJeiybObx5%+LDl3O#`vPi8{8Y}Vv*NO={>a1<#+*gny z>qVVQpYG-+GXZr{i zvDrm)_=bR0%~=|2+pwD`;C?4qK_r+ZFLn_Sc?)ZylQuEt?X2BZ@;#kRIM6V^dE>!$ zA)ytk0Xl~PS6rbE(;#YnH>>PRth(W#o!{+`MRY{S9}72eK7(bwAdr7n!6alhGivWm zcJNk{VwO~zK*5L{gY%vjVI-3ATr+1`ZB;RncEr@Um58copGJ2tQlJdJ++VrN+Nt#OlbdF>mIwn86HO01bLi^p2jq`N zRhYY)ItzQRzDi0?U#XCLFpIfo^(?2&RfI{n?(d#`k{3I&e(4 zM1}|}V+n`wX#2AWn=FfdJe5szVFnCDCd8C;6L*o#A&{8YKp6(`AVy-DpLufU{Bx(@ z_(qxLVHy#tQ-psnrX?{Ev8^8qud%%u;Xp(@Eyk49{Fqy zJT$+ZH&m-r8JNvNwbe$6$S_kgNT&s3m=STB!@(_Ak6JaW3$pCll8D<-o$l@|!9hS6qRBQM5Lqmf%h9~GCw6~%_OXpCuXB5tLj!+tq<$G1R2-3WBMV@v(9DRf z_ZVYEyK9PVKF;!K;{l|)cI{2ReRbyxe}@q9#-)yGw^ey%K5wlWmH}Of*wna4!Y9&j z8r8TIH|5#d^4J-=ahZrPq3Ep?OH6B`{@P^afs7c)gfPsaPE0&(UMzdJ?|k-eZd`pM zdEMb5r9^*&ABm~8bji^pN0VKWNYCzSYXGqD$Y54JBfS0RY!vwgEEtVPB&i3yv?(dGGo71G&1dqSFpmexBW%NX#hR4?aTV4 zyDIYrLTc3VPNFmS4x;NbUz@j972M9uy`mC5vQ~ehrofw~mx|$@~x?adIlMnn2AvUjjQ)pU@4N%`_$b z{6>FTlbTf&3bTG&l5h)m5zfpw5eEXet)z~I15{1SQ#Bh(aboa%fHu#cm3W+rd z$nY5wlAEH)if0KPK;*TOa01zZIk;e5xET{`tx2YDry^5Z6b0lvFtsO-NUKf*A_XAg zoiF^|jW@qD+^7fC`F8p}ogSTnxL!9;kfyXsN zW~`UhM}4zZG1WDI1T__&6znYScddEjl+=KB3Iph@h6^V(ov(xOW>oif~@grn-c5>4B#%5@rywzH{Tydp|`k zw;uhu>BwDj=K}`hA`Zw*7=aiRZgt6AkP8hXAR~+GRK{UiRxX8^bXj|DFstnv1HE}u zfGivXNN_n#ge|7r@?(fagjh7;MhPziLIhWnB9Z*rfaQsMhs{gAoH`ASQsRHgTca)J zA_K@k5a}Q6tBP=|St;7_Nf;4a3KC&pfagrvEHcyn+B-j*?tXaZ=YDhe@Ex4*WI81w z&#h)d2oVi9>hzI;HC#2^Wf=3CKW=@v`|&TYz4x+PgejN8L}u#l!!RI{sR~OT1K_|S z5ay;>X1bUYi|pMV_HJ!{@wa~tUwPH1MYbNTP8RQHFdsd7R9KqiNa%^uZco2t#=5XT z-v~lL3SZ{lM=!`)3^(s1SDI#9*x;k*O550F7c&z?WPNu&x0xuPajQx) zV)}@*3*E5V#DRQgZmSNg#PndZrM2OEmA`2cLStZhQz&~oQ4Y}ggiRqq zK4M*N9WfAD_?%X4Q_FvozcnKRAY)Qq8|=b^go#;IMe+k??du_Ih+qWF64MAUC1#hw zm;2aaSIkXm2=|~Ys7P~-8#Alcte<2et5rluB(tp@0vJZ4xVHCIUgt}}KtfOpYF-#i zGQ*181Q5*9_U434bmt4dHGB1&!|f|6?K>b0gD>Z`>gwH+?^b^%oZs^pVl0o}H^2Yc zLqGTrWxkDoixX$`^h5JUJ~hAZnZ>!s_Ya?5+q<=X<&BM>{rT+TOY-iIXSd!TcWx8HNZChpd_dZ!WDHFZ}iL!Mn2y zKj!5=EayHHM0S7Z{S64Qc8IJd77my5vcChSEJA|B#hY1-X3(N>E*^mL>z)vpLA$16tf5yCbsbO$Ph`jipU{y>#1KV zyPJnEyqJNCsV<4AX59^<<`w{AT<-7O{n+}=%f!5#re1%v00dE0k+{jl5N5_m4pHXY zhpxRLJ2!4U{_~5I_sQ-pSk6lstST3YmWp=4K(}OXIuC&)rGQ(Vrd+P%!+BB_;j9{T zZ$XjH4zzKY)mj1E)jIMe3CpBz#A#${8SX%^S~D>ph=oxPohUmW^c6>6mYE`ej5Dhf zn89q#-LQXeJt>nPOr}Nzxntsz+J^NAEVPdXW<9OR&C7@0e|7KaFE8)?*m&jje6*$Y z=>VsLj4a8uH!}xkW)fy*b1x!DIDg>dvkN~7fMJ}uYo0rv_R2h)3L}!4iBL=SSzsw) z;Z{Y8ZEqfV|FsXk_TQEpmu2rxIx$rZ2_*~o5cq%Cu@kK?2GcGmW~!Q>UL(e26aY3x zD~r@xxdj`DnbV8hjVdjxkk+9zo2+pgO zHfU4UYPXszt~@50C0)oKD>7iTYD8-F-B~Y|$7i~w4$89oNx$-un#XGXcGs1Esz*4m z@pXS2n9!LT-eHBo%PU1hu(0=OI-jH+g`ak+j-P9{gtmw4B;mGw%N_=9k)eY(_DbTX z-eN{Xo~@n$+-d+K+0`Fe9>=OaGtc#Gvh=XkEhsxzTCbd0F4$J-TfiBl@OH?%!q%WE-Q(2O&FR*c~y~`*Fz#Cw9GQ5IZHkF z)5IJ}mas}Bxd_O6WqySzBv{U}o+}K7RX(Q_H)}TzY{*b!VPlr|zK zrbr)TkAWucDyzJ2{o;Q!+q}5;-m5}nR)M&NV6BM*1H>{Gb7Q6eWaj0Gb6d}T&1HWW zc5m$8_w@3_ee?UDMucH+d*k(Qt-trv@#0U`ue~+w-lS=6)qu#u7}>#cgPwYn1=4uP zr@5fz=0wd4b7puV!m^HnIb~ZyGF9)J^2{9&rJV@P0ugr~`84m{I`aNYK2?D5x}=@$ znDz-MGowK4!noY8Cph}{)*qVV>~B1rQ~PcjfAAh#B+ zzVk;UGIPgZY~0;;zez|e5VV+T7DAw_0i&jAOBjhF3<*@Ha3B_D_Ctp^KlbJIOFvz| zeT|4~o!m{hAds4+_Ye_?lH>>TGmoxcf0vkr2>{(J^CT9Pf{4H^a={7&YL0(l2p~3X zTz%v4_O+dRpW46g<7`t|?m{ok)vC<7M+$V~aI2Mv0y0p;bhxQG_&5|b4-6)%Rr|jJdRg&foaZ@1( zF3mmT&cqhMUCz|hlco5{d+FvC&SoTLtu>2@B3y<-fbN0W28hwrvVa(73<2RoDLySX z-u>b3C%y_gm7UEbZ1=}85i_4Wb;``lQX9$IOKio(n1!oh?nIm%iY|ZkrPImXt&^h6 zy{+zA` zwoH_fmJaFnHcPZjO2;8jiM%-PPP}--i zhmnvFvQdoFQ&xtg%X|7jRJoK?;<6$-**;n|QGW;CE+T9lJ6V4x5k$;POzb>hT{06O zA+@*|vry-FFiRxwvlL4pCs9JXQe6ax)y}Cq^7;im>RN=C_(2$Y-a7sJFWpS)CGdqsz6|FB4qBK zU5OCbAX;Kt({-8PTFK{M?h^Bz8~{l3$A1n14qyCHUawo$3=!RNF{kAY&G&e*>%#_3 zi?ZAg4`Pv0JOWs77_)|u!Wn`&uNi{OB6oWRE7#Pi;ay7+@IV3{vVWp8?^15fWHzo& z-z;OmfX4N6Zx|+1W}&SQ*Wdcy-p77^`S1(F2XB8yt|rB&5da?Gr? zjyu6jJ?|t%Xx_)fjyxfOL zO@k>PK5`@rXog|%*8c*UHaYj6%1A#CnHy1V0kOx*51K49+@8}+BP&+j%# z&YT4`+3O?{rul=OrX}^_XsuJCi!j^%2!Vu!&{WmJgG*_}@c^1A?Zn>?BOdpPNAu~XPOHj+=4{%lCi$N?h#rQiFBIMX$=klZ2|^_TfguRhHGyf ze*4eEJ++@jAcYSUf#?<@j7X}LglKl?&U0Vg`sA;bJ0Bc*{hMpo--YEKXA=MfL%Pk` zW5p*)QK3_cl6p-LfhvLlzT5`{V(fp#jb!FhN*Zs{t%@1pF9nEzD8Vfb0T7HNWgupv z;$eG_e3pd|zx%_?1bcXf8ncf%<9T^&$1(#F)&&=#Qh)`=8H-Rv$+I4ShQTAiEf6U| z0YV84NMuifK#~k&su>XK;!}9@c@ZO|IH9iDjnhb~RNSMKQH0G@J&LfKWo&;lKP>LL zeecuDGmqc%>K|F1^5Tdjh$K=xS8!Gl*U; zh?8oHmH}aI#DajsILjX6)FX z1sOn!d#KixZiPtGR8_Tbrku1OO1HX-b`q znBAf@H+wK*aDgx|Pf(Z0FkE;^?>fKp_~&MqUjjgBopi`Yj~!#?Qpz+*C^Wi2OTIexwQ#OW6Jmg!B9t1gySdw{YPjLu-7=?zt25Fe!tzx2u*@d@7uMnq zLh3}lG|x38eLm+KR*5*VUJd@&M&UNLVhCJz}ygW90QTrq$xYg9! za~v@&0UdcWaA9c|x>eK5D!>qcEj!PdEOJv!qhKCi5ow761ZL?+Ipih=JB-)NQe?_N zWWHMnFp~g^g0<$RBp<~2!l`K{ZHXx`U$SgA;}jZL*wuj`BDi!uCkwLJvc*609hJpx z0NDXUOsr~v5te@owl;hx_%s6cAOAdWZ_Zx(vmBqz-DN1mXcM9!=Nc7}5s8)$eq!sB zzk1~2Pa^!#+uwsSqpcf&4YuX(d3dKyA-|UtqF0ErR`uw>YlqP)_>?nbtwv1QamP|p zS&6nmXnlXk?7iXK%|ti?DQn#bk#PR#&jrB7+uslOX}Nzy605a^hg(}&Lv#_dfKO*1 zo9*2KmJFqFGe`rnBvi@GTGiyry=hr@k7k;00*8*?j6foD=Q0QjHXR~2`sLWB?2rvu>+CVkzm~5-CNXpAi}JX2$_YYWUqhcDrXTo1#%z}c$)%=GWlj%WZSwj zF&kl-GNxn+-*1_{1Q*mrdFy+A9C?7gW zOQ(Kvz`Kf-HxtlIR-zl1|VP*q`ZHAuJZMrAJk$)*ccJr65MKvo0yy{#td>~t8E1KaF}; zx8_g%{B-|Q!{%kEOLwE}${A*$HF_CIv=9!KJ0I+R{LACTm(0A~-aCOk@dhF#Lzr4E z03tt1*_emM#OqWEYdX`0%J`8Waw}6!Y0at|eRCUt>*3*y&tI+hAbjn{F+E!R0Y#^kz z;Yjdf`ks>smjPryXz}fs2qeJHN5TW+Z0pTlk^7+2BCrX5oqiJtsOtIEF>x;^Z>vPJ zEPU<*XoCZ1`)1Cvts^cU%H0;l2VaV}w)aR4O|pR3MK~9(D?oo>3$GwXgdnHG6jw8S zth!<_90;k~6AntwGAY-M!!3|{z_fra5Cg6ZI{;wnNX=h_JsQ$-XnpgMUmEu!AH)M- zZ6h`u)Vsq98q#{&kdqcKEGXh0oJ0#IPNb(Qm%>>$Pn3o@@6GUTo-P*=Nq;{JXB30L z2|%?r<1kUSW;TCIV?;O%QHz284dlp&UT-1ueSz=M?S=YMTFdEc=g{O)k${hd$!#^FmZ z((NluymRuwa_w#C3vV|~NjCRFMM}fr0;no6G0TK3W%PgLeuT9UecC%)mY=w>`x^$U zYBjA5aj?1`=c~rd$PPfn^G7~Qh~t}oPRtk%NM_d3`^?P9$Uww0R8yX3i4j zTmj-zhEj?JjB7I%ZZZrYc%U$ej(+KlQ-Q`A>KmWM@-K$yYO_#e6mfK%{?7X1OGA1%P3ure>OUf%LQmkky)x zVu&!ccB*ykGa{j^Zj%tM0b1tu=49{DtZG{_8Z&cRu|aEM?sKFt-O0L1ko&PKLo8 z2mya!dH$K9QxT`xElbvhlRV0 zY?TlrFmGM;+{bQx;;*j1_mhpczAbKc*ZJw_-G_emU3Y_NzPR_Pa`lZoU)&TBv{p6i zCD!D5)p6(aijC{xQ9|7!6TO)i%773dcVc)<(~=o;4gg}e3e7Ojt8Klc*$01V|IyF* zkyD3W|0WWJd1i#NPMn#9hd>Z1z(s+F*_sd)2o|27dwTfr-C-OcooON-;DF#!ms6Ve zT6!uHvdX>9B0mDmsn#^VUi!C?ie#d^=i}P7AOfQ!_(cknSQrtTX#j|jS4V_VX#f0k z^Sd5A_0s$6V`@BzRpTOgAB7AGs(FjQ699iK?|x*s{8I>E zDJ&8ZuAZV-`q+>tH+t#r=}1Cg@Cn3g&_h;eDUOe;ns<^$l) z?X`DbtY;tFd+t|c^K!8T69TdWf@yx5&AgeIWUR-}l&uds=`f$XVA_nLDao{?1EqP+ zAs~4gBqKwZC+*TjN`!w$)%EvZ-TL@1gH}Fu@}#RZ*g|H-O#7J(?%`eA%r#aL3s(%5 z=zUcQl+H(Xa$P&vuuag-(wWcNe!J-kXLA_!7LhjfHsV^WNQAA47n;mV-Nl={w-wYq zgNfKGpAP0Q3s?o5nnuyvS61jgq*m61O=oU;!bcrHu&QiLfg*pOw@6Hg7QOlmA~_F@ z*w3|TY4 zejjO&w`3H^hb!y>V)ta~}zL0OyT`vbPZi2iN_L`-K8HmgAoc1JL!t_vg_X}p5W z|1$}v4{iR~XQsO!IsU_c*BZ;2``*X7LE6cYO$s4XXqYl1v7i(^{lK9+SBV4|+|&05 zl=VR(Qlx*8FMHWI09Y2esOHq-;hhXjt#+_Ci)E29c34lixfzMLS}CHrYE_p~L?kN+ zrOa4(>*HUs`R>sRKZ3CI3K#$r3L$Yp0Ci;%HO*jhPF;i&X8hTB7}RG8WDe~nYoFy@>(L0tYcy>i`_#vFW{XI zx6ePnf8zdOxg%biTEIj|%jJ}hf?BPr2_sasa455Yz(6;ZBKbeb&iPPB5m%!@0-#l& zXT&^$nbaLvV0MUiZ>85&>*NrLNza&gB8qyWW#o2-2u%&laJJqwv{X$$QZbSljl8?3 zNC$uIG22v}oHX)RQ#&6vFPF=&?0)K3r@J2+-+vw5XjrE%KTwJTOkUP^zWn#6^Uv;o z@$c?`_P^SH_)~huXr@XR5Iwy z4G@?P6hv$VQjrFhRWz_o-z|Saxq>1*2zR6;m9BwRnTeUEeQCU`J{(~vdmn#X3DtZmAR9AL4gHalh>0-ur?fIh`yue!}3bl+#DD|Ode^rtduyLu*~74R@o~7GBOk0 ze1V=vDPW@Mh>3)`lPD?|_8QS}+g5*-nOs}QHTxXAmpDQ)T63=)txPcmYR|PTm-ISC zBTGatxCX15p2j5Cz(JQzZiQq1*cbHhiNmk|X^Wqx$!M4XAcp4GyL|AIJJ0{M!!P~8 z+Qk=}qZ?`Oxvw30>)W({r<&zmZ~5SJ!+WoUTTY@jO-P6+-HV5jhnW6u55f9H2H?VT|d^hRSw1m_aN z3;{u_U~22s_OD2K=matq+ecu4NQkuM(n};GpzV5?njRoVSOk+`_ZhKp&N>-G$cHR+ z-PP1u#LELbdJkRVGzi>9M2LS8K%~GhUVrxMN3XuJe)D~^YE@ZS&BtMu$z}*pRVEII zB7<6`jv)@h#bQZJ4qmIW5P|5S6F%P>qB4oOM&P-M1gjpl#2)GJ= zce1)gI1w_UA`^*Qa@WaJ55`S*h`zLL>f-94<%TCAiH{&`qE74Yy@G&SKmWhv`L=9* z7-i(F@&tfG$8P_^KiGf&+;7&qA3+&F3LwOIsGhucI{)nS@bgf{^1-{!tO(fro0v5( zoatX8QlQc&iHwru0d>2LCAvv{H&dYN-e1+QR_2YgiK=6mdCN&X$G4UMsyURMd%o>ghi zRq8pSgG!TCk6IE+%~#!ODb8RA4`UxG8g2Z*6nC)q?Zac{Q_}_3!nloh2$1oll$+o{ zSBSPh$T$#FtTKOL9lSv8UD4aNo03Fe<``}nwqZ+riIjYk^q_6NbEKD+XSD$XApm-B z5Oz0r7-nOhI$R__sKgBJNvlUhBI)C7%Qd&)t`r~yRjpN|WUXnQrpblZoNVI2FO|bh z;)_=Zs01=p5^-(!CnRKIDXKL$L-{6jw|@WVt9}Fk+*^97RG=;(hS?Z z9IO$tU5d@g(M96`wm5^Xlkq`mYojYn25wS=a1|$Lx83zPZQ({^kIeqit&m4a9 z+hy-IH1wmJ0hi)xhz>y?*-{Z8FiC4qlY$Y2IiG(NQpg>MIG7c2Sne^AM?z*CiB)Sh zoC#*Ds8pMZ2q36wH7mk|1c-+?gy-H{~+)$3haXN$4b1|Hh5=N2xlkl&AV5@R+3E9WDqB}&>*~hqe^xHNL^m$*-c6U$ zkDs0HdrFU=nO%ITNXZ0AuVK!m2Cahl4gr6z$!Zr7b?dKA@X3>>s1-V9_M;(qL?lyp z;qKw-`^pQEdqjd*p&_1Y)qEWe^hQDiRI}AiQ;OtWLxep!y?;5R(Le_P0Myn^uo^^x zRuPQE!X30#H#B+XUQ%CcIMisx0tqNd39;2|W`#NgMk;?fyhUyq5i)zuanR`rt%`q~ z@?MsU#k{0q)|Tb=C~HSkWRC-6L_eFYp^@^El}v-CfUP>Z33F7+SwB%AiB!yseCAy)HL@n_FvV zBo@zmdh=wZF}SUAn@zxjdQVIHq)LC^9A~ZGFrcYrUol{!pGi0`3{2>rKl-eTD$vso zd8nl04iJL`Oupl}a04Hp(h0;B|bwfj~A^wXJD3Lpx4Q`XJ7<+6jB zQ6%3GiR6}22)W@G%oiW~`Q_Qij(_8S$OC{_hyaj-2lgt=cb@(F;_PE5zyE)`c;k{c zM6e*C59`~X{M8db_}vJfYVGM8UYvb&{rbCrsI@`|YGiSOLzY;Pk;HPr)U>Kt!9JjM z(S&Aele(%|4C4q0mOeN_LJC4a6fTGv2nGQ3d!N|9@9C4@`&X^}JkyzkgjmXe!x{*q zDOknc*yV|ULCW1;xR=n~d!K(Eu3rFm6s)!OmYkq0kxqPn-Voh0dgjpua9DxDB5S4+ zBG|eJJuHlnz#O9q3=l45?AnqIWeh|?THN#K-d&Fze(T$^+!JIob2B7C0IgNV88}u| zpfFEr8`V0gDpR|CI);UpG7>XWVdmwu7{d4Oeq?t0O12Z^6iF#B>*XR`qy0JyhT2!^RUAZxAbdpC}J__h;oJ^Y#J&}rGZ zLE%Wi9S)P*Pym7mMq&ghW%7Jcil6@%qn56!N;-uN&%5VIW2 zDER<)Pi(a%+^xqkdXImT1`(BFb=g^-lsHKsbkmNj%ae!?BJ$X-uq?E)aX0`IS;Xw> zTf^?nTVMQpFcdSp^PB(YC~I=(>iV01Hh%cl@~(%z&6(>tibrWEHJ+-F7HZ9x-Igj#u^CgBWC`d^q71E2LatmMRD+V1v9DD-u1>2zT!(9v~l+` zx#kv*$WV5;XV9gU!^FW@xgyLpI3jdTa{f)Z-OSCb`|9rrKj2B_!>(PS(uvc$7_$m3 zKN3JpX3A2Ualj1P{Us8I)Vk*k(6y(En%vjuCrNO1hqQkb(ZQNIlV`nL76Hl2fUfSw zrKAY&4J?4nVyYs=%yXa(p3|1i%d+WB{hw2DK(qA zKJc;m`R7i2^S8qkS;8X1A|QCAuzL2f+n@Q(Ll=HDzWgV;*w3wsYJMef>+^r-P6a?J6@8jc@*IX;H*i@4v6fHwZG|q6C;j}1HJfhJJ-AftLbQkJr?v3cw z`nfCuiFC18-uKk{jdzeZBZeta~~+c znr#SLE2aLNK^<%m7(x;mEW+J)ANyRC@yNv=>te}>%sf>kmh?;K?bJ+5VU_`#)meyG zqyXSlYq&#TDMed?03$+VV2Z`52WFd>!)r4UBUjZ@Mzn%*1As9A7D1WSI)Q6Au#lN!01@Yt3JH>gFja-M!@)f4ZJB%DAd+d#3vs^UDW~_6 z3ktVZwAGuk!W58jm~omnI|n8|%goYY(X4-F9>7fI?rzz!s%i+B#HAE0i%3Awa&LU& zyK&_7t-tkuLBewFXX_WfkKw+3Yr1ijF1)HYufq0isPh=trOxT*dv^N4dis8<6JLFE zwE#{efScwQWvVEJ%Ru3cG1-(SCuTl&>{#Y<5}+InT9gVP1OzcMN{Y~G*62k6{fd8= z7z8%6jJw1NjMt8>wsz_a2efc+W;y6d3HoSyvu%5u-*n>S8D z&g0B^2*F1hKRp_49~xyUR>wfwoA&t?5A5C68@Xe3OX`q9Uu{Xl8=eV?+fKDPqzEw5 zd)(qveW{swk=0+Czq$$(<;u#3&fa#L6#7m2uV@IY>^wM)&BHf9t~?}cR}dWL@svkf;e zv$F{#Oe-KU2M-V)T9L@rklD@6oCq7m9$KrqsY;Pm$y(g=;QZmw9RK$3WCqUENZ3_j zw!v$Mwx9pi*f@IZ+yC5eUdzR#Fh|Q+!<{F;G~2v9+5LE%DKtNJX5;qN<#IvX%Cyabi?p*m z-{*u4h}!c)`Ddw`X9PSe1`td=(fQdOZ>q$_v=V|>MSx)#02~3CBoKdK9JinTIDX&8ovXEK z>lh?P$g6pN)__QKG8x1J#=?u`WM;|J*IGS15Tp!gHyg)dtrHf)qiV$#ng}G!4Q>uM zranzt2GPYHUwL!m=H-8#vme{O`!Q1W?VHR}q+nox0a6iCRU$@r$lSCP5pvDS*e(}h zBb`&bfLpXxeL_ze+ZwfP z&7ze%p-3^!F75`%3-`V^>w^H`;*n43T@Tvq5N&_RJJSNaH{W_RaRR#9^eoMu_G~uLyuFT0=t6TDkCzPyCV|IWc~C`S@#pK|p|T z=eaLUC+_CO-tm8L{|7*du)Rl~TRiwNp6?#{*1uA?@^SmCe-8kT{OFI% z%?~`hB_=(OB5#ENDXFh`{{R5kL}{(U67JD)fGyig-3r+9oY6o$ZVZI&l#TAY@uYa< z5a4ckFwY-)%00#pFUev*-x1lRkPc&Y<&Su>`cIzc4}O1a|Iz2*|Ifcp{^x(bc5|X{>Um)6~b&&6Qdgf+h`~dXll9KH8VngDB}PT*}qXw-M|0HXODjO z{{_TeE07?Oo0s*C{U^S#b?%Ad-}|3r_oh2=83=-?sF_)evtfDstQ|hN_WCyiz#~m+ z5W&MZ^jjWSogy&6fjAsl1W34uPfH}MRfj<$fFgH?WL3*JHh*I?@im8r){0zMxM~$H z0SLjugyyAxh(aunpIbcqsiQymw^RxtR&zmwaos&IjFtdS&NoUPY7VL-Fs87J=si9@Z3!JqT4`DYs7kTvMxs%0CBdyW>&{xthJi@Y-Be@5_2uX zfW(Z91nzF3)oOAv!`&uzuY>{(Y{>wiR>L9N;N1*di}19&b@=r^MWo$xPtQO3tFv2| z*RQ;P5r`~f4yA5D;;4omz&Ui@2G)l~U9^qgm-t1D4dA%uF>1 zk&#;2B|$y+7`h$);lFjnJ>Dp4a`Nu@)K?dO_diu`T?03M{rmjJ_wDM%xc|{|=L6lj zVJGfcJpGFsuYaqB=pc&B%rxUFDTSKPX*SELed887XbA9ORY@Bfv~O6+E@^&J6(6qbKtr6%fZzyB0HWM~ zy522$aG(~plxl`F01&O&1~D2fz0csS;i&amyEo-3z?qXC4!wJ%S%H&1lufa!wc#MT z5S`6Od5uciUsB6^a>GnDK~o60|JWxNPdpzR$2!~*+IqZ|tT6y0$;uC$t$V8p>i_4z zqwnW{+Q#(1{CECNqMVHaJbw)R-v@txlxNcbA|Ngwep*SguX|-ENQ4k2!YR=?fXgRe zn1B59dh}%e9zA_-{_)T6Kl+I@7!&uuqWhxisWbD(Ke_jXUyJoa1etwo+wXjQJIVG7 zzwE<^T93W>r^Ehs8f#5W&42{6K`erWYMnfgM39+?iN!UzWwe`9&Qu9mhyo&i5HOiu z$QJG`8$jbYE2Shv1`>KmIF!;p9@f+(;*?_9&8^ljrL_$TrH<+(7AE3S(t{u(ndixy zdzcfk41?YM;QpgOckFxrQ+V`ynIS}+xaa0q{`WNBKJ|zH54>|j)gq!42_#LwIx`V% zJ@@tFKlua5+pR+Yr0kpxxQGaUYa7Ty!c7zgVcex+&jJU0>55ved4MaQ)0WP^F1x#N( zF?twe6R<`EFqO$IUo@(<)g*~%#`c-BzOD?j+wO^>D!9KpKYEX=p$7zL-&}YoA@VR{+H{%1jS0%Y z)eIui;T3>P+>$zkZa$WOVH`??RkZ*oB6H1mel9YbcOG%MTujrH?T>>9xQE%sdp|w? z?SD}=-@oi1C=AAp9D#%-bvY@eSC4Ri00~nv%(a8VAi}Fj z8HQnyVW_5njEsKduIa9aX`0i{b-8tQ_UgCd=;@um_K)o7T`;V}+6I)tp87d^;?ocS zH?K!{x&AHyF7A5BEfqLtmfWI=4BR%pK&Am$tL6>c!`0NxB)Ro!Ub+{~Bcyqys6{rr z)wU-KCDr(z*UaO8A;qZl=A>|h){H_>c5dg9ISuQ)*ww=)SCh-~_}#M`?-7w6ISBw| z=T>X^ZcP-HT*qXXt&Bd@94^>f!HtO%e&)RhvwL|AAQBI zy7EwlVrCI;-L9RruB!k~8c-U@suy#nwZ4?n*c*Y~lOYIyVHSCerZ0N!!YjkuFD0sD z>sS8)0Ia?F;_Tg*SKUF0@&^FEaploLsi{1fvh zURXZz?D+P7%i-EEgaAkX)Bk|O5J=N~kItWX!PXD&fBbVte)z|bio~i;HQ>$*U(V~) z(HH-?>}*xHQcAe9usNhDsR)CIRh3NNs?tE3@W#Sm=FX}Uk!YQS$iq>DdWsfg29WwB zsTmWgTh{HFY8eJs%jM}X465qkR^5|5olQ(J4dV=d2pxdjt12Q0Q>|5@ajXDYlT4DW z>8fQM0AP9i+~SeXocP|qsj4ijRf&kou=U*6eErCYZ~jx?z1)zi<27lrjbcB1%poKmbcx z1en5qT8|ax?vNOf7{g5SLfmZI!UV89c6Rab3rBzO?*otkGy;TzCF+!{D35SgCJqm0 zM8G;t<7~~n0-#5TkcXm&t4d)EUoMxpvuP*K$*rrZQ)X2IoTvmuxSG3&6da~$LI`Hk zYQs2W4hy*uK)6A|VceOAJe*WD4<{B8D((?~rXoUR4CI}ApMv#6$KUvthcQX56{#Q* zSjhUidho#R;LQ>jAem0{p_FPtvvos+8OJaH00UHWw_3R5wS3ZLAA(<6ot$t5pfU61>9_$Rjm|(h(jrDR~a4D+xCMF0BTy&mgYW`V&(hTlHm|I`_txHj6EFDM;d1lp#!KIx&OS7M_~TK=@q>#SFaLQg=gr=I z96E>wDXy-?f{(py?^TN)5$Z7dmo+7o(F*O z+NI(0n{wl7x|z(pVQ(954X_`>d1oc&S{2b&z1aw@))oQWeEx|q>Csbv0Ki)}XYan; z3lyoJ<+)hRduBrI15}c=q%8H6MQM`?KAx)Yu_% zi-sf|Rw47q=3E2<)LVIfZ(7Hi4(>)I;o2MHor$phDmoD?_F4fz-m3t)l&U(;W{6BI zYMQQx7MaMVHW@4&!lev#x#aajI$toPRU1;Y&%SwRp<7I$hl>OeB26dm-Fy0%PJQQJ z^ya%jk?GtMJ5PS;=&OH%A6_u6;Nf7_ssr6zlQM&d%QKHb0N=QO|!V=BWyRi`LpP!U}si=tAiuZKi0xhs$mF=A?@NyiOD>X=Z=Kvnt*)eJn!Z19NX z@w3ZEK6Ug5|6a8M1kKi|lsYYGv2R5r-A1*hSwW=KIx*r<3PunX2Mbd-(^`os5Xpc7 z5Ph6)DN1RBWI8c_0I}`YiO2yBlm(Fl0?J6p>{UG?D-E1bEV7*!2+M5HWo@Y9?u#S{ zBz8ao+Onr=pNW`T1~anDh>-Gw~#I)EO%7_F=0wUF{tRJG~o}W6e^iDt}OG_O)PJXHji0SV2Or3gZ;OCl+Q9Msew z5S|eU)wMmVXGZ`Lmvdx9tKp`1pSO*pL}bYI=-nYhtRIK{ZMyeyxbik0IwA9I0Pv0D z;SNFo80I9Do~I&3P4mc?WRf7{LOzEU$@;@&xoHl6WSw$XtBRzruK=J2MtG4@YZZ}% z)j>c~UZqIq5+qB{rIch|ggd#*_H8|K!qztssUA52i0c<#+kfy$J$VM+ebtVg0tBA# z(*Cvw>d_OspZet}qio-bGA!?V%#NNs{QW<|x?I(^1ca|2-u~Rzql~n_!~47S)ERx| z)OwkJ%`Uv+>xZ{LpTD##TQ~LSspb7oOlKZE`tAS3``Zoy2zKn$&gpY<{c4n|1zH+jD69(wNl&L_SE0J60S0LwFf4=m3-aOlNv@RfHCs>A>i4U|lx4kJM9 z@a0~BirvTx84z83>{HX(2LS-<^3aQa>MQiFHzs~S8f&5Dt}IqC2LKqZU6{^1IDh>4 z!`H7u3p4`~Fp;T3FPo#=oB2z-U-`#F1 z3M{FQ5SIjNLV!k~n}=h7nw28%0O2LO9RjU4jfVv?wGu%9S3?mZ!oXYvAQ!MbD3aNa zI#m)`r3F$IZOK$bDP=l-@7B-#=E*;Q{O>YoOhi`3-4}iXx2~W3lYfk}^<19=Hwa5& z-18*!0G=J*dGZ%d{?UJzUN{dl*R;2^Mt2V(sz_ee3-M$IGUH)p^Sy2>i<+ah8TPu8 zyn{`3iU1~NNn%MxLOECcRSlVh3wv-O0IDa>?!NHrr@r;ivKTJPP=Sh8cFV4RQ$+Bk zav4HBI6O>*J0JA{gY#f)<(p-th6s1up6#4eGod;f+-Mq{!j)D$>6_$XX#&)0(a}M2P?gt!6(GVz#(Y8a|eFDnm(W-|KYzXWvESy?dYDe)d<^Ze1>amtFx6b7M?D zHMn}r_kx&*HPFeY2@$z4>}|n)Pa_h5TN;R1v`$FGMLv=U4rB^9Gvmg4BVaI9cPBu| zh+$xOFakxWj04v&ASSQ1*+*JQa1c{cO>$aDQY;{<_AZTa-A|sgBd0yA&Nfh9A$ljQ zVqKQ4>p`?Ud0!xnx30v0av!#DVnmeL{GNyP*qLzK{>0aPZ9}v=`0UO#n(twq4>vC7 z9f$`Bvv4ym0tf9nYtz|d?5vppDlKiu@a^#w~RVlVea<+;a z6S-PI)LQeu9BzH6M^8>C&-jJcrjz#o!0_Ii`wxC>I(a7C>+v&x04ST+@+m)m{P`GW z>u)1%MsJ^so0BTvuX z{psSNr=!exYxB@|e~;Xt4BMai6+3ov{_xZ5KmCrG0brEbq3`~lY+jwtKe7MJ7ov=Z zzxM~j%?}p$J+}9M@y{*qdGIiN1CjQhcp=Jc{f!^4zx%Se?|$ZM_4L`r1CJlN_*&Cy z5om9F_U=#jo_rnv%C(DS^C}?jJ@GsMuD|ia@tv35tUmVK{u3|EpM2rS2bY@4ifv?v z@D`Kob9S>aHJk1Vbe_2j*Yi&u0-vDFNL1)&J(B_M_QrKNx=Y z6YRgb{`!yV>2rGQ)Z&q+XYahSV&u9R(7|e%O=mBCXYt$@eB;RSk>*$8tT!weNvb z84`kljNt%(Zb2L#jOHGyI$K)<8lW!S01Gnobrn%EoU7X)`PStMrluKWq1^3dl1CMh zV4S&4B!z@i@aF=n#1#rhLxQkpnc>~%w?6eZPXEb&&$g^uc^LK{`Rx4eN00vG|BZKU zR2g}H7hJRAJF<$TuhfHmpt45<&quzylc&#%phFed6om zrI)abEG()hQtQ$^2uX^VX}B}y{lK#z!A%LNPFhMK=7idqIWyPga+r-NN>gF?uoLID zpZ~Sf-}+}z=Z1)D>rs_-q3Nf~Y`qAnAp{oDT7f0E(gO>3?qLD-mb=As|B3$q3LXa;ZT)cvxO&2?zoV!vcn3#DJ+zNGOz93zg)w z0F2`Xf)^-N>!h`?v?yfz+%iDax*P;?nyc@Bk&I4^%sgyR5ksh|qc8(91{N{XQbr^e zsu74R5k4cDOe4`h%yn8eppUmgL$eg)rRtQ!Zc=a&!Bk}&m&*wea*tTm@+q?Vh1;W zH6&+dHBD=0{sv}&Q0`=#AZKC^<8UNI*#Ou_02xXIxH$>schNxRh*Fr4>Y)?U;gfdP z`MPm}>b}no(KP4XJ2c;+oz1m(zwcYO{MJ=^^M`uko(RYF!#K@pZ)>@6eE8r3e|V9` zS-E|M>(Wm>EH^G4dFl5F@_1Ig?`b4|THf>M{{7GTxQ5F)5yh~E%Y6zPKD_8U&2C?T zX_BgQDp6~K}PquIA(UW%ioE|#~h`fC}BBG4-)ENL6-+L=hyK>`dJ$1I8JU4rP=aud` zMFgy;&H+HV_HNs}UVQz~og2B%tf$Wc!tA}Dkt+bkaxq?hWB=F}>Z!AN!)-Xj&8tLA zd%JBuyLrvbaer%dsF)1(^jQEHFTWKIL{x5Gt*6h{Q)lDCtNEhlpp|8%UBq+TIOgj| z@~g@*1uwn1|Ktm{e%NN~xY);k4sC2CAX>G_6oST0eLR1nOV&lnHU@ZDTvwJog>VoFfmten4}~VS2GMq zCU%AvtPPimm}_v(p4?}&N=1N(gaeVs0ufr(%{q}tk}$5P@4xe@zj4=}{y%A&13(%0D#zC1DBs3roYc-JGnCVI1@^Em>-c4o>jA0mR)qx0+)!a_p zxAolDPkiH_*m4icSOajrj}cOa2sd*n65+MhWKPvusYRg}(_rO)N)g$y=70zS0YxMi zkjObl1$3iV=2TeB1=^SoXiI1>aJRglw9{VaD=;><|;j_Ma+#! z0Kv2}QQ-l=DF7IMahiNsC!1WAsi;rM_n?S6?Gv#u*U8eARuO^Aq%~cFwp}=|P@w4U5H4np&G*UEx3 z!?Js8xOHWC|J9A{o4Hmpa~NiO&;Qjpd>3%xqsL?O3SN4R?!Mn2dM55{f`e>duTkk$xamlk`zW)Z_QmL#F_7`{`fyaB*|O zw7^)7#!OPD%FLw<&>$C){a>b)nbR+jbRNwb5JYp&CXcM6BSr``H%3mD&~WowK5eIa z&I4k(c@-kct!sMh)O7ZI3^M>In^zF29y^i0^Y&MN{?12_fqMFkcdZf}+|4(R008ap zGO@YEaw*rZWNOdWj{pGgZRcGK0BJ9U?;~a&t6(N&7eqT+vU9GJb-~Q)@nh|a`RZ@| ztAsSoHrhX@i9dq0wzK5WF`VY!C`&-ZL9ALKRwZyritzU7?c-y( z$BEN_`=9=D`)#^hd-+@W_U*ra^|iyX|M-ua@s<*$gnu~~gX23dEzdvh>qquJ{`rHW zmar-C*~teE0KC}8SHDNEVGJ|7_o3wjPuS5@i$|UrFTL@R0=dBSF#+1zq4wuZ^N*hB z%+=C69_~^E0JIttML-cr1$~+-4?~z??^82#VxbQH4<0Bik!xBNi4i!| zk(p;R3J9$-6q_oG7!Ny7e(A1n{9~FHT6OFBUyE_$=wJM6nD$kThGGsBP9<@1lSLGN z;$9xe7EZH6i~FBB`RD&*4Pe3yN0~v=|9BX*Di_hJj8JkzETz=RodrN6x?Es(<4`(wJ>R*19?pPN7}8=|#>QB~V3x2NNnWC;(L+u z5UM)P3K?3RJStJfD~%9?f(XHDmB$qn~Z6_Lzz9Atm#lbHxJO8~dZ zkYn z!f*!<0=4A?Yir?FZeN-1I!`x$uVhZN*ZuYX*V*C_5RSkYmNlXP?!iIG0TiJbfGK5g zRWk<&RCSAb>Uifg8v+?A*K@c!$|d!MZL zJU(1~mCih<7hmV^{wI9zEkE}t-Sq&z{o>kde=*ID_^GpW$8Hwr zOoM7ICHKk=;4=)p)|620d;mMQaXDZA@Ml_8T3JeCj<>y?X2asXCjw&q!YeuPm<&TNnemMyfJl4WtpL5dZ&pjh z7BMsfIi&zfHu4e)`>==YKKExc#xu9{K6F(pZ#Mg2Ym{ABafru*4h| zd5~#ZGG~Q55{XxT%XR)VEu{=d3@oVg{2Q~I83{=mr8!ry2$XrpU?GHQxg=?I*%>G0 zVE|@aE*(Ia1d9c78GuQr3S5}bnIpW+)=Y+-PyfcrAN(#XcK6Rbw*C0eAAa%ohTB&% zD2ZqxGo0ogZlnF>*YnT2!haBS%z9CB;Ycr zhtCeNnYxFWjO*D3OhkYb5lQ@UH&fMGi3qbMElC2vm}S_~u5Qd6Kps|k*nRYKr@#46 z3BAlVY`znS*_T3uW;IukiCZ=B)GEUb8O=?YOjU*95|1fY@D7K=FxL11_Y7dIDX zW?9{LkwnM_nS|u(lCd zSrb-BqE?bJO;a)+!+o-;l%a?$mJ>1|mNXcs8Vj4MMQa$%uM?S>C2Iw!aF}6$ni7(R z>SV$U?uAfZ{gVKkKk&@X^IxCcxG=u|dXFc#?eFk7!@BU3_a*2pz{9eOv;t&@8nmXS zELHS>@bEGebA;=aJom)%o=4&4e`V}Ad2F2$;5ytI}*6oOjXbt!!UpwAV{OfsgC2QS|OTv zyXsIVS^V80t7xs~4sRo?P7jc)5Ci zAt09bKQVvuQ?$Rc_Rh=0wTsL9A74EBY}vdL%LR_J|c;|l83yi4!DONjN{L(B6|4x3jHvnIZEF~$M!o|p)3-=O^+Uq4*WKf!Omj1bH7 zj{^Yh@9>>l(5SQ+(U8APoY~$y3&SISJzjnw62tt_kK3_RO~}1*W%kZby%%pKVSqcC zs3mL7a+`?EY4+1NKtq{Yxp8H<`1*AI$^P9pN!h}M**)a?)x3@@KJmr1*MEq6+c1pv z%tHXccQ&JS1+`m1XuvRAJox0|k!SKNr2TCmUj3d_uH?!)!vl{`r_L_VoS&|LU&d<} zk*U>F14c%1Tv@npAISqiHFt=;dljQG?$O+&45kJGS@Z!2HdV;>ysieLQ-*omg2w^@ zt_H#~&Mc{x?N;tU1*|d&Fqs3g2y-Br2bCeRJdS{6pka3N*{`4c;lDNa?N9$E-nnt& zkN$gr#+ubS(b|Sv#c%{1hB2#uLj9nOXI=?CBOra zg>d(_9lM9NKSbubSg3g~P!hs|k!(J5;wThA=oQ=xkxv@t$b_whKI@4%>!keXslA6^ zIQ-h5Ntgq=D-la6X^Rc;yeM^mHS1JG*tC|y%VizchFWVj00yEkgHr_5W#yr0t;{mj zIt(LP6XXIb&;Z%pE$r@pLAbWIVT+wQJiJD-(B=AUP1Qm@iXas!?ruip5uR?N2u8|E zx=D2$Mgr8j7^G16verNb8JGYghOlX>?miB)6wHuFt3m)4R<-Q3$&6z5#0|q3ghJBD zGx;wIW{QTjq2!_ykxey+)b-1+lnXD#-RF0n`bAjmuV4I0*qmg4Aa`NjmqH@06Xgn; z&>Td_G_qGDz0+yx;AAXN@nNVZ&rK)pjbS~;8KOYlFSo7@+naLnC1P$gP>3iajq5ng zGkw~6?xHzwk}n5gB!b}>P%WEwATGU9-uUkH#OIce|2$pzA%d4jKJIsJxw*I@!Fc2t ztRIr=7q`Cn_oOa=aK5wtjo(HhaA#(4M-mGUh|osk30FZuN|3MNRBf0+sJo@~N{wTe zmP4cn7mMK0Ki4GRzfa2w_AtJG!5IE z$gI&t(W_jl{5vj8xA^?Lv?d;6v7?1Ogf)b^MDI`3`k|A((Xd$Q}w(mb&>?R~DhV{niF zNCF@Ma3%o+hX}^Rh{&-jt1>Hx$n0vFwbZ7zmdT|5M1O!D^q>blNa{9ItGd*cSs9ht zRh?NeGZ?{t86?3000}qSN=&kwc%yRYi#v{UjbkO>(ereh?O3 zx_N8a?CQ}IcmLx5@Y@sGa&u$lCx0E&zkK(H|HuDqExPaL{}$sbyl$?DX7B&1op>Va zn4|)v_BA}h9f)S{|7!2WALxlEw@*Cz+h1+v{a+*R`r$c)ye1Uw8g1n8OJ5h&8MAu%y0CN~$!(Djl* z7{TIg#4Icr&Ap_y-m~9N4>Tilco1T4A^?C138b5j2#|%X0aJ5F5+t@j7U2MkC^AGC z3qYOSe)(SuYR=^>!b96Cu zY*LD9>wsBr5Qu1jxcl%^cHp7?=l?^fI%2Y$n<|nJ1F}RLd)fwiy5{R_mYp&pNfFgW zS`s^GJAjEt9S13SHa4)K3}KGxW8e^fE&%9&YON5M10e$@dL`dQJe9lss z2!LE$w+T;>kfzOAV!TMCfPku!2$-guIfbu5DIRhHW(>T2W&PG?ZCKlV`n#}yvVY~1 zU*r64n9J66J9rfD-i)@FiXTGG7N1xk987I(UH3nzhmQHa2chkGUBz*?T)#M6`+)9m z=1?L}Z?@J> zzc_#Td*$Xuy7CSjJWL0VfU4Yo`w}DU&?Ae}-;g#R4;_2pzyIIky<1c&B=M-LpNhL# z(<}#4ThKGcSv(xw0~r7^LnFWEh?>+T`ukH7>{bs&@a{V*@`QOf;d_j*M2Y`C*QoZ!P+`N{%0%WG1Iurpx%*(;D zyO}Gqc<0McKhX8h;s5Xda5+Q&|MCAXSD48y4hR_M^}<_=v)}ryKhNekM{iLtf5^M{ z7bl<9qsOxlk((R!!dtX;1OC%Z@Pz%lR&H(#pIv})o+ECaLTsjgXfWWN?bVC#?mY8# zFLnFOx7XkKDIi&E6fUKx8UUa$dRVTwio}H4PwOW!t19sCSr3_&Zi-;OfmBP~03QNdv=jDI4|I!<`zW!&k z%kLg~?;pY}JgaGj=k0ncv}dQ?R!u%J=dItG#s70^R@`Wv;i_BIgw;=Pv(e>+Ge$ki;;^UpfKv# zl@JrZ`q+?bkEnskwS;#W9lynQoEk09`WSIlm0$_#Es-t*#_2zrz+ zs5TOIZ-ofAZ)~4>dF|F`C^R+|VKoirD1!w=m;|s}v*rk9K}6P}XaEo_H9P)gg!enm363nI}CT6A7ob(1nWpVS&8_zsDshn=W0B6AYVwY_I zgj#Bz9!#Zw=_o7?z=%QQ+FCP8!$JT+7!?aEQcZPMXJcz-DpaJ@*7i~bs20O8YpNbm zXES0UpSdeDX;UfET8jV<5UB``6h6*@#UYG`F!g96;0|U!)S0@srjh1DH^9u!0y9g@ zf8Sh00$@7rJSU<_MI~Znveul?97;d{@b0~XZ~xDKR)+c0-`?Bzz{(dN4x1a}fuk$i zw{hQ^FZM714;}P_`#c(W5S7hI3QbVfLLmUo|A&!KT(Fn z00?dFb=BSR#G{W5!{Dk@1|>FaOZ1Vcb*yi)n#|2jq?lQszY)a*mrr_Mu0``Ua_hJU z>*q_)<;?j*%2C53iB(A&%aqEDCXJ=#!_$R--S^ehH@M4_nWkV9@+snO$r93uEtyq9 zcbI;4mjFx=B|YoA?-jE<4YU4@Cbm`1d!vX<*(NweHgyWZ66wDD`F=YGEi-N0jWhR{ z$W)gG(d6d$%44GZB-Np(B22NVy_Ly#7*Lo3z%p)n0>|U>SHy|E0DbVBH0dQzvFE&h zLLhM#7JWmkiajA5Cqh(D?GEpiQ@$=F1;GivigE4108=D*0veeaB4xLX)JNX|K~e(| z+L#7PATl)(>3t$VSO8Jzn00gyS5HB>8J7ZXCWE-T85fB_Gwqq@2x^vmHdS*qKq|9= z0o6Ug+hUYjRU0$Y%6?z$0unM?AeMoDMGOdqq^`u{=lI}*aQ*TZU;Agn<`=QIeemtS zhrRncpMyJd%JAIWL8?W>VlQLbghZo*sRN>L3GjR0{Hxi=ukr1x8Q!339>y$LB0wMb zI|)Zb3ob>(6o~Ge`Gd7L|5jMC=rfO0+qyYoFo}atyyyxL+D1f9CaM2cekvh5umMA`z8STMkQR+@l2k&p;RU^q%q#GR+V zH{85D+`S&)p=NFXsAfcxM)nAQC6Z7zZ7h{Akhp)?kP0&d8aPryih_`}wWK+jj)fSx z1i?6JDFVIT?Ny$5!^XeDnHDhCmoqA)Epgd??b?Ton;Ytr#$B z%dU}$nks-7;)qx*7K|Q%g-aeaV_QIgNVUx7ECR%64c!t%N=#;6M9d?9{SkGj+H?XG zWQ-#kI64qw)25~bsOBOW)s+u?LeK~)+PtOOR+s={=fv6Z(X&y8;nrtbX8{EBT^#rL z?)7qe1KNU^-92SCh*Nw*j;ScURWvRZOyq7{YM!=$K+BD34-}!OE7<0)n)A_YdbG8S z?8>t%kD(k=_nN>W+~M$lqr2bztM=F#2=Lh&xbwIhfO7Q%y7boS>wiNcdi3P($(J5{ z^WVB#;nF-^t(e;gl45Pd%w}R-?9F?28{imF3QK;}>ujd20fL*?QpeW%X`bFecREkQX9x)T5XN)Zb5#>{zOe~%3gliAN*>p}RDv$S@?z zw<)t7kesIwl`J3#Vaj@met8i_Dt@PEx&$T06t;^~NOg}^$=PSJ45r+~DWx3KU!BC= zl=eZdMfztbNyX5AqhZ6{x&Kl<{ViaboYTKJAZ31UlHv%a$_2qaFh!X8xusqz>2{{lbmPVy8 z)$!Of)aLchRm%^Yg{NiK!@}HMsK;cO84W81ITm{@f{B==)SBl=zQEw-7E(BXdh7@| zmtxkKiXdgag7-uPQs?4mWu@=j_da`cE5?DLr{9|aki)YZ+X z$NwNAn^~74C7*vnxbZ!^^b=mqwH-f6fBADBp=6tNj+f^jtC;+fF40C z6jN?I3lRne1_I%@c4+7L*?m{u#oaCSDaR0~wNaRVQ8@P#-U85(g_&F%0CAF>BRhe7 zenqt{3;HZo!-Kg51cXwQaD~Xc0YoN100(A9W&(GtO&cHPA;13<>EmQqbeMk<97i#4^hrZ5k@>gI$2fgUcQu5JV_MZ5!? znG)!KWR{td9>@}|faunU#3KN3Y-8HVFu(vxt$-9}9?D!Wq7Z@Es9tA7OD%L+*?Z(k zKlo7Dxidd}isttZeEbVnb16P9KpU}m>Pv_`+1Z5YgpZ7Gq(DITki0tp%*;(i#MME% zaUvJAuEx5sGN5}m_!0t!6i#=qOdU(VrYPb?mO3J~P> zRlfE~xpy;k%$(zL^Yhukqq|SOvUc$|89kBxSO7?=?k2T%Oj?U61}gwTFn|Vr;K2ua zeijlDnRzBgWe3@F908UQV;+$^gM`P1I})cegnMF!cOk7C^u-=c_h44Q{Tc4k8bo)0 z>&GrofM>Uqj+`Fo(c8_X{0(CYQuk!1rKU6^&u|i>0!;ehY>+*TDCzg;iPM<3rekkh z`-~T;f7>akbOLZtkKnR!L}Zef(qgBGux@W;;ta4%;&u{%Df7VlZ|%z@HRvfo0hr%8 zI|abWbD7Qe)MF#&IyU-jD{qkia0`}y&YbGG-=cOinDq!};fZ%o1R2L1Nq0B*Mb+CSor6Mi7%b z1V-*Yi6sJ4i^&?vBaM;9E?$;zTd0>XS^(9AS3O9p0 z22hc-@RlO~$z~*Zqg`FV5vJWyngkE1!{A6xW&Y^d*{w^AK{=;M$cHd^xCgqcB_Ov) z+(iT<2N?D83-%5_w)@c2`!2tZ<8IH2$QRI^iOkeIxD+I8sxXOo(L;!TvfO1BBqqdC zOIqiIOaE;NBS4tVt<+hm)dM(rNkr~SR63(GtS2#(AYl`ZAC9LL6t0nwVKok>IhA!VRw7K?cxQJpDZLEULEfDx&&mwY%nq=G1YEF|2O z7j=fF$=k{j-z}s_zVgJ`40r;`s|a+mIs*o{*Za4c%vL^nt!!L>ki`zl0O(l&3QO6% zzBu&)tn91zZW5D@JqSH1$C-PXzXB0MKr<~;RMipr;KB6{0wr{}lq{!qgCO43CUwxu zR~W?X$tPQor({XXZ(tgmec@*HuCEUy!-~Ak&EM ztJXGW3@n^Uxr9vrsgt$OvZvdh5P3@II%mmH9@+3$v^^xXsS z6c(IEfA*t2F+IOUzo7|BC9rPS2|(_l0)c?pC5U9lZ0gLE2%+#yZ8IbY6424Zxs?2r zxVw~+3)GIy>w_u~Df#YMw^Vk!6G|0IZZMh!mO{ixOpM{cXI`=WhtZ7Z_w$CcAVFPBpFebnBBgJv5eZ=PJOAa{um7fo5^)3+Da#L1w)C8ghRfxOPLiQs#KIh+qcsZ)G|>VDee4`jDrNJ!xB$H<{_C##SFvR?eG6@)<60&+_?^& zlMbdD<|LU&lVn;U#MTr%h)9IfkAxx+D77#%0jYO?!Bl_~GKA;cI3OS#BFPvQ2+ZOv zJgfnR?|Wd_x|)EODM!dMx!&BTa^JCcyNR_^pVYJCsTXv0egCCj3!<5(JBUS8oif{; zL`nrD)lsAm=sExlIqN+j&h!XGv|d%CPnNTMJcx+_J-lfX5<+y-{(Jz28)rUzw<>x7 zSZl+7Fo?+B{)bn#Z-7U*iBuvo4|CHt<_Xz!B;q2HJ95?LZp1W>3q+F20JLZ=!`hmT z+~d<#q^Nl=2!uIH2TE1|5J&+T#x^oxttB!F7##_jvkj#Pmy#P92O=&tXEKDGO8s>B z%nv_4f9z}e&}rV=t{?q!<;Ewxx9w)*`XjP`vo%~jfB*4UOon>z7U&qrRBC-noa~NN*}z3OR1^b&xvM2F!DsgK2*yvX-F`?dq(61QlAVX=0rWqcPPTiM|C&E z$d4`(FCKYf?b?MDR1$y;s~83dsaIdQdFk#`-!1cPS=`T`TUA9mJ)T7}V<%M)X_Rt* zH%8+1^+Q>=CbVdhXZGWg5Nu+uPR&z9cn-&VzUFi^Z0KJ+S5P+$q&8T$Yl9twp z)W7s0YVR7eHILxsOnADLvk1uAeM%&MoqmQ)w(H*vG9{zGK$x>5FjFEA2K1k7MLcxrd5p1M2QlDnin62?;2l`Tj<5HenQz@m2kQxj{}D z9tmZ>D-oNG?#?7#Z`D_Z1(rfyCTk5LU!uU@8YFapqI;rVGEbBc^NA#4s56ELHy{L* z3~OdCKt#w=n6_@U=e|V{@Zqoh?VmuXE*54^=#lxm*+Z3qTydEIMJTD}Kq4dvm_K$- z#+})Xi`W&~U8kMo>rBD|1ST4PTZ1wK9VJ8T^Y=yc{STjUrpy?l8oYh_c-i3-<}*9%GUoP}5f05i6h_S}5GFp0s0 zXw6D3go!2w4`U>tq`Nuhx$ePCE|pkZl|sWk>Z%W`GVWydN1i)ws;1L_qXdZQ)9|b& znHYeac>e6Ge1CKGiwn6fO@%umCo>s5CZK^rxa2rZE$>={R7diJV1rC~O3{Y9xfu~7 za!$N5#%mlGke`;{+U%s+G$#aZ>U}PSBpH~9i-Sky=G6?GVUe-5fWR>KsHJ8&BXgl5 z;gCC~T;?!IQ^i046k}lD$2HIv< z&hI_-EogJRcPCxm!2)5XMo5SqFdpG%mVzPc+ZOMw8uZ=+2{R&pZA!O5(H@ro7I2FN@u9nays7FVYf;!2M5_dYxsD3+dEmmHci(UO;hw!Ge)HU!=R7l$feiJ+FKV*K*uPx(rKYY{sNJa93pRW%%CAcU{Fqkx zcgi>P!R8Efdx!Nyz7MO`t=|y4|Kou*tsWEDXK|5RxOB3^bN-w}D`C~U%;jB47$Kxe zhgt<8GNJ8FPoS+)U-}qZD{es|L!kHJAEcjNtU!&JR5KFF6AbftmSEgTBjsoW;^O!Be&7kr@dlsJScy%c7_+p48oW zTXgyPJYW?mTJp{M6Xu}j3y{vsFG^qHtJCe!;-oM0KIQaRI`ivBLH^Pw7>45|B1ZLD8~A}`cp~A=#of%y zF0~HE1PY+ZS@oVu0{M!H;L%UF?kEo3-vTCVqe(_T&+fKpQ=wXT6@S-!ka|rwvWv}G zvOh;&@^nL+SQj+*i=+%$06Y&Yr^o=dx{Kb_mkjfLkQ2rQ(M1(MGL0!1qig7$q? z_+RCbS(iZuwK3@3?1M#uBED{47#4(3=glO8`Cp_X!pYS` zVK&iXlH%WlPIq&9Kj6Q8rHz>ZS;@mOz0~3d2h}}Md;=}{T8bev4mgU>ms)x6Tr03) zDV=^LS_3woiJzp6Ht0(OK8^RHj%)i}-c#(HlGyvbF59Q4qFCksH?4o_HZ2mUAnO1e z{e5JcnPm>Gi=2r#sZGD}+Y`f$D6UJ5T(Bhu7Qd#pr3y3gmxEC~uw1&zuay>e7SDa0 zJjc3d1l6rY7y=0pNw%MC7mI>Mpw3F1#I%Y`2#QAc?R%r|ch~LIsk~khmV=ZIUJE;> z;@#bCGtW`J$A7vczMoQCiSu>2@-+9kmEnvPC~43aKU31LQk3ae_$Z<=N8yE6ZjE)u zlAlhN!PmkoNEj4kqQF0_iK#nsc~gT!fpOhx6dzJR;yd>xK6+S``tlvqx~FT)-RUe?wPG{%H|oN z=#5I`3We4PQ2!ZY8A&|=7R8>Zz&3|za;fo&+59bAK{b(odv4*Oc~bfM$2+RGc<)&l zBi=ML@&p@WTSj!_`B0nEpoF;F&mDZCICW zkwylr+^#-)-`4?8>={PkGlnh=Jo5Attgy}*3|IjPYdo)jmib$P{@McPOGxOlj50e%->3yF zM+4aHCH%7cK8*D0^6_DKA0&_epr+SWF86F_$qoK4AC=ftVV-FjO6l)fz4MEP}kRPYT~U`m*~=Q%|JnPLi#gF z+GjmIl}9zH=F=vMU{l#Geu~uiw;v3`CI#SsqiOJ=q0}1!IH(cBGzS%!1<}NCc8bqi zEJz$|QAInjpW5_Er#|YUcu!ExDFXDKi)*B?kwa1wQrs#4= za=i}ymyW^D8^MhYAyLHSC=mhzNEP{N*LUkEji!`a)Z!X-RqKe+Jm8{_6GThy(7Od@ z_h*4yFqOWws$O{NLZa2Mz4$r^RYfFi&~XIsG!&u|W08K;F!4}Dvj;mKEaG_!>N@|poZ4d2Hz zk82pxn*FVVPr=pu6Y$xcTAXtW3&`QhkarTc#AceFQ|}+-ke~&MXhiEC6HU`%nqXAv z+ciC-21JE9EDGbQF$V?ZFqIGy=k^dN$Pe%DAOSA1qQwx_Ui;#+c(N}g;{3c6wv|ei zu+u);L{E{hMx*5Y^~?t_r8#ZRE#c5TClPn;QaP0j!%(g^U=#(80T0~|EsQ(c8LN1V zBf`VdKic!vJAZU59I$JAX2C=`pddrcC|6+BOz8H59o`<2@mZ6I*3t|QMYwuFmnHph z-j_=XZ9f{(+)vHkSV>=Y`K`W^*4xwF#TkjUX}2n|R8t(9p6YTNH_3IfHqhOacoC3&w-S3}h8etXU0@Cx0ef4UnOZ3<%YA_CTz0|85ZK_-9oc=@_R}+_IG^ zklO+hwI>`M#UY{{T{pK?FWAzG@r$OL;$&O-nsES3Xm|xjE$x#2vAZ3uARBsMk45&< z?XXRZhQ%4cJr~6-Vx0${V|DMr zOWj+P3O=yo@WBL?#o&8tnQ#BDr^&wq9h))eF``%>&n^mlM^00tQT&lHfh?owP8Aip zT5dp{T(<3xmZG7mwe~i-plu=Ef32dNOydu+B2%k=+zL8z9z3=3tjhj%iPIZc6;GMvx^vM$gi{y$XvjyZ zReOnXcqhSVF6Vr&A6-vWuTmyg{pIo{k>A~t=dL;3rKiud5q>R?6@&f(hVutp)w}y3 zd6jKW#UMJ#MOy#Q7Z0(4Y;N;S()@b#&=ihaj;H*_rJT+6P~O=Bb_+O6keW_Xyal+n z_D@THNpe0K@WIjr#m9(&$B$ROcOm>}aWV9Lq_UiSePmx$f*wCfJ6shslZ!8zw>As` zaTI!#4}~((GgYIM#%UwdTr}i4BBF>lXoc1hEQ{U)U(i(Q+W;PCbpKUs0}wqt6#?41A^&pvbEx>G&vbjfMk!ohsctSa z%m#@ZEu@G5)#-Be!HflQV!<_^PKO0~)&>fkQy{Dm!H-DL3kb!*z&z5ZN<{`)<&coA zDF+g8Ql5Ba>F`FLh22h_-?EX6_BTX{k_I~|PBM(GFhsdoLK}5NE5UiqNpu} z!5f3w6@TKytN@40XhJ01X*-f=_&n0hDzRG$Z>hw=yvROYMPC?mlz399izi@U$-9CU zow~|$!N;TJnUtPdZ~8#mEL}$a*j9QJvSte?7rn&jm|ND(z!$r;c`7Nz0)nA;31N_%UprB2@1Xs)Tsh5*E}kA7?Ad&}^pKPFi5Jh4Y)nz;Xfpw$Bqw`aFsCHHl9l zO|NoWJSB@NsnwBB@xpXpZi~1M#c5K$$)dl$oSxlVl&OaF&$vPTf~9vKW>B|h?ag~) z`Xmf_PVd*-vD5{h$A2>i@p3;+N}RBQ4PM&v9gtiSFkBC(%Aq|(qs~FFxTd~pmKmu> z7T?eB#qpf_==-nvny?(?QAE2AMSrofH;h z9TX`_bd-E6jC^&%n11<;mssbm2JUjS5;2Q9d7||QPXwyZTkY_D&?h_vcVTx zwxFgR+JO|jqKw0jmReFxqE!5X^k1}PpDl-d_|>a1;=lw0-b&nOe!k!Q;c@g3?sCiB z0ktH?&Z6vyD#Ne9{F0w;bD(+#(y4RqwREGqU zsD1_?h+I?LN=cdDfy`0fXS(+rq~_qD?XPC*!I6wS38Be+N!kJ++@toh;@ZgXsg<^6 zD$oGsw-HjnT+y;ET*{&lLLBTi4dE?ES8q#T5yNxg--MNJTP8?JfHQVp6@P1zvzAce z|0=)KSCfPxL(41W+PvDdWLtrv;N@Z-^~ob7t*BU$ynJ0gFU65g{fAaYDQ9VvGxn&J zA(;8VR1T^A7EiCAtnYh)Sgs(HZ{DjA4507s8@?I7;N)WNR%RoW8SCF=v>m@H3@^d6p`|UHakg`# z{AsPss6zKdOCt|#ZX?df_@q^nkCNCnSz}OMgFp~^P%Q*pmEOi?bshW7ubMUikqwUV z^{s%958c!4(#<_MO=`DnqLHU=?<+m7-t5JDrx}9A3l4GNn4-mwz`7`u|iKdRnNYV%hA= zHKwM+n9TjwP?Yf~YT3Rqw5(5`AjiM*kG^`y9!3=!t4I6!|zXs-sV% z>}a@=@OD9EOSNEQ&vMWJd{j!kTZRUdLwE*!4Q|abuqy|G1No z*QlDQeK{(oq6e0F`>ETtbg3ZoAf{>=5WCdF!cazK4HY}3$HXKMw#ZmIv08i>W%%5o z^+WF*ThbVkXFbPOTINK4gsFvBhq$_`~OS!^_e@i|Qg48|t;5T`-_wcPjY z%;kBvYd0fxmw=oQEQjSK6$$rrfo`28vWyla)K~PGs!=I(ERG7X!eBs5JZKyi^cEyP z#@LD|GZ6Zy5MlH(FBgH`I~NK3@V<^-AE!Wk!w8~M)kq9@wcJy|NnVuV_CYM6DM@C~ z>SbHj6jTVFQH*0)77>7t#4FHtS0UhG$;C#28$``OK-$4U}Gj)W7&zZb(I}Z#e8Z zGO^6^F4L1t4jQP`KcJA#MQVp2S{aF?W;ty>v7)4iFyn|8L}?j@`F;T~%IIc}B1Z-d zDizK+o!3t~+eHRff3Tk)g@l)%F+cxu$xd7@q(6eRlo}s!wzJV|Oj-J_ybepos>S8% z?$!$_>j}Khw>px#-}l^_S(>ZE;lBIuSVy$*oa>@rOT7%LV0g=4!uq>lrT`--U8t_e zL>RsD`Uj_`+I0u8r6n*YU?f8io4)`4sEPIri9R}ceCc$a05{ETJ!SD1g06sa*h9x{ zgqLUOL(NB-4sA;JHFA_89bu|pX_J2R-(umE``U*VztrPOLvHqBz9jO@9`UrFe`fF)kHzZm?6T}2+ zJV5Log(6Lrcdug2I~KaePPg`p2=@i@IBfp=?>}@}R}{ub^i_&Wy! z^Q9H8+}gsVGj+g{DxRQ{cIx4o8dY--t92Nh$E}=a$W3hSlZCOG*j6dNT9QMz6tUPE zh-cK=@GL<|zs*}MQ@pS;3-P$m4V0)03k$dKy^?VJ*D5CH5>Fg{Tw0v=u3x zozzQ4diEEetcTK~j8BzSO~A%F;kH#n|$7wJKf{W{@BQmh9?0&16hd^6Fc4{ zJu60!pOk<=p6Zmcl%aIhUXnkNjGEm`fj4`O#Ik8V_Ry8r<)oi<;9>a5&o|#WFvBCP zd$@jukZB_f*xmd$nm+&S$*^tl9>5}nCIqX}bV?48T(&TL4Vri1yJU;Xr(`dqe2~5MlTROVe??Bol~#%Z!l-M7$v@@x;eI554CBG z^!kxK4sagKjh&?dE-||{&IwJ7~vt@i8Js{EbD9 z`MD)>W$}UWJQbHGuI5JBHXB!yq@OoQpa7IlChZlL<>4#F9K$xhk2}kBbCpjCMgq%V zq|Tp4RPB`!oTa~Tj?#;zR`JpV5K2igbuk7!!bB_H=S$m{OwY5v5KJU0EDHGlY&4-l-)F!uE9K%{_jP)X4sGjk}yj416=k|f#i)Ko67 zBKKqmi1%m_o{#YEV@M_Y$VH+=9-elT>sH-};GrW|qULezZ9WPgm^yFynw}+gy|q=T;(YN-zSTIn=zW z>>w@$*u-v@3#ClKI`mDMn%u`v?_C<;^iYaVj11yI2wPiw)-o=H3dzR(?bI*Ew7^apU*5*h?EF~3wjvwVXbo~@S zX<3qg$$)1=Egr`DbS_v=F9AnlJRF}d^a-*1Hk9H+iZ*UsVb0*n_s6~AZQ=dQXx|Rk z8l@{SmdkuH_>Te~!x*l~m7me22IDFv+=R4_E9oryL!lil;J&dh)UGiCJbBPmfrnxg}qud59Z!Ax0#_Yjy@Z z)Tz+(oQly5O85uhZJ(G6dC4m+D=xWLwju;;1tVm3OZdMPi>`7w-4SS3Fy-*H}J-%BG zYVwL~|NE~{VP!Thr>Y`Z8!cP|aTa5=xzKkyL11?3;R`)s)ph+$gJD4mY|B(#3O}01 zExcb)C@%v(#{-WOl@yO`!=o$e(>dEPg)mSaq27wjyg5?j8>j9zMPo<-PQI;HjU`#t*z2TVTVr+JOgxGol3Vf*ZiBD$_E|yQ#(4?+0l33 z+~lU3`djw5_VGE?|B6D|_o(d@ z06E>9l~M~kWJ&q$1J|Yx>wCr7V$K`A3rpK0scYho?Fh-^PE79B<2w0+1M2yzwtxNU zOJtxl=4$?^h$O~PqK>N#d|O-F^mHS~w)446agT@n?++)xwnqkH>DCq&8c(j1T};J2 zKKc2%*dE+np9(uJd!O}&?_>iG_V)I`ivfH(zq5a=*;yj~ccZ5hm6etD4)$&6tFVTK z1{dtO7jcVr7i0SE&S$$*<7BQJJ1+y|E8}V?pc5 z`tJ-(rLPvZC$gkZ?^v__#YnyW^-;voNv|5Vc)DS6?|u%@dVO$laoKqoKb??rIgEb|GD9~(y&Ug&yh0xrtG!V*yV&-Vp(kDOL*dvSJ-!AxZl*C!IH48zPl!Ia3M;H% zJG@o~dBVSOBUGq=-yc2n16TI%3kD7 zI%jghm5iF~oayzHw|3kX2|*(CQE(>AgD_eS3>or}Q9pHpte4HY6R^bUG#l@XUlTmb zw5N_u#~&@nO5D#&GALq<+iI@DvM_;$ z{V`ABMPNbHkZ`#eh8`814|11j6dxv`uprric!<1g2*x^=ITFjR2rL_}i|-)_o4Iyi zS>eHe{S3w!W0WC|qOZ1)35!BWp#IW&dajL|&|S6$(-#4`bFRh)zllJVg4#HEP=|cd zO_3N_o>a4_B5`C(G9UedZ#!#Y!E`R9)Vs14;!@@FI)-!qIabB;!`);Zez>&Dc%Rxu z-SRg+-jXuI;$~QNTyUT7@3=++Vtg!3D@<7Fxy+$&rX(kq{Ra~Mr=wLpEu)F5F9o1q zmR27;9`1pa)JNAx+sEf_fs`am0fpmoufO)j2cE;|->}UTC?&9WX2R73=_#q8dD9VH zV}j-jVsZw~dhp&qop8TEh2oX)f{h^6XUSsVk%dw5UPcIF$wKqL%O^Po@99rnL1L*E zk(u(2_bodB zW=<|>NuU@H(U<8u5JfSTF5isG!1%K}#b{ezKK~tX{u^mK5KB{DhkR*s|L5kr|9Lsu zZYfNCb064S0Oe^uL+Dy*zqE9o_xu48+{~yH~or@{AOXNe2fwYiOYSH=rqfHYxwT z?PAI2sQva#M^n=I=FE=r-95?!aQATce>gR*pp&@z70HdxC7CE}@wplv9xngxf7u_M zE`58=t^2!t%}3BptynX&*>&&N+)9h|RoA5ldgRS?_Foh_ZFE-u^6&4;^N}c*NYQ2>{eL-AQU= z9Jy?N+(++(rvFJI8r#qdU%xr$wq+-hyo+n1k@VhLs^cy)g^p*4x}c$O9$lQO<*5A< z4eFBDy`&RTx1(sNS@S-qEY}xqzyIqX0&J$796Jw>(s zwaW6xi(9F<{0EP8&Rr@|k`hvvR0yB@=4N4|i3O})TS(5H zu%Y<9)_pfV*(jCt`*Sc)MG!UEa9Sv)lHF34nh^f$R7qK7h`8Y5(BnU$)$gY*ez<|3 z$|TmgAu?}OD!ZfjlFZqNIa;F>4HcWRXLPcCXVX%lFiz^~AtpQyQ|F@pK$%U}utIN5B6Tjuq9JK-duWX-tiCrs$KZQ!J0L z;Pf9?P_RP!tGsw(MS4+KO`{J^FSyyr2ncF$gh9h)DD04w63g;N_(W#^Ag$Ne?G2Cq zmy7xA2S|8U`JR;>cl=ZIU~wY^9}|Nym`m;@3mK+& zkTXg@e3G+83*V{UOD#Q&sS9BZa}Hwe7ft%6iHHC3My|}%%j$IUH{h|84j^2lY=^tU z>z_dWg$@4v4Iy&1*H)=yjxKZ%E7f8*X%MYT4**2erA{Nodkg-?FhADe05cLdyXf@a zQ*@>d$m#Ct-$*JqX6N<<*IKjR&g7WU>zEg~5WLaM*VsFYP8{^F{R^l zTpZ-IJv^H(+}_$!hjtxG^IsFvNqFWYeO~VlF8Y=_hD4HsGJqoq89QSWX`c%_!evlW zSbe=vEUl!WZ5!H~3kL8hG%`fMAjkG=uk2UV0I!R`KF`fNjXSbRC zu$TR=)zx})i2_tp=QiIHODCNr{q>t^v+wmGg1_gD(R9^{0-G`VuLwa$ZI`Hpv$;wm zq8DOG-?#cyQ&;_WR(7)e$U*NO#~hdKTwG4CYTn06oJ=B-0CFn-wJN*4onz}YvhsIB zeSQ6jro(dMHQEi7xEo|dL#WP#|9bZT8t!j*H)FrQTWrKb=Q5tU%Dj+vuSog4o*&y^ zW76umx7<|gh~5&kgOndDX@e?EicIA~gFp{xQWrg2_q~&C)oc?k4m7sgToDKM^zcBC@K+lT=_SXbRZ^EBU?+x5u zyap{SHf4LbPuHiRVd!G8a3tIB-?sXR`*G)k4y&erYYRR|`g(5yx)IKbZY6X|=L=cq z?l|tInE$@k>az3arm}}fibnxS1^dc6!wC!paKX}QNiMZR11Rfo&yTNPZ2bp~ttv<~ z@2poc3JA@|)Ns#-eZIV26TM0YHnUW6=vmU%=I08~DqCXaXD>gY;#&Idx*#I-8-LdO zrdTf?&pN&u2KT|lPJ}TKSmy1YU|7(Q1q{!cP?LAi#PK)8&2X;I)W%q_QCWv~Hb7_$ zQG*n}J+Ul-+s9|$V9%JAZ;+8WExpjNPx7oaVrV_Xom+XRNC-AnNx%n z<;`_7Q1m+>gFt_5!py?z$f__LK!(9ohF?}j>}DCv=mpE8^oTi-o2`6b3xVTEgI-4B zK_eG^Vd`+3()=dLtKF&!^7zHfr+0_;8d|S(Q2VevSH&vMZ}^EyHANpw?0MbsWb-se zeJZnA`XR0~G+(Tq7zTLc3E~IX>c~|m*ERdGh7VXWVzBgyOTaSq;$A_pJAe3*O8fZi z93CA3k97R+nOw1625s4QX#>CFT9fP5q4Ylm4X|N2|eq&okC8yFjhDBw3Sy$opmkr+uLu1zbt~D~Ve6I(DJ;w`wovc&_AtJx%z5>dHL~7^dzjnYJiJcnN7|*<>CgTAp-bF=Ix^7J{o3RG zBS$-_xL=w#TmuBFs;EK-QUi4Up6lzObW(mdGicN1e%IPaz-%H%Db_yFszcPQMX77Q z(SgGo9r-UeG{(UmSV@FEE>2WGb_V)*G^EFbH)&6omKHimR|AijL{grcbLyalmBqii z#2`h!`Hw$#(Q%6J_WrD4XlM+r-*sUs=>MS$`n|71iRk?A&Ng4i(l)v7ogj9yCyuVr z^QfCUY1zVm09lc=u;>fKR}j8b>czQFP#eiprsp>6W; z@IeQL_V%2t`=B?WVt(~Ej)}+;Wr9Uhg!XX5yX*d&TzNW^tCHx=AF0_T;`dfYKjJ_V zzZ|DA4?8*jISRGq6PRiR6#E)r>3n@T<7~TL2FplNpf+M>uAvStBxU8ZlkxtODa5JM z4P`(AUl3_s@>;ly!x7r+w;p_rBHNz{I}3@SjqD*a3@Wp2_N8BO(yYsfW_~6$d!e!` z9+BVUo9YxIWc^4EjNXbUDW_nGQp}N?bIkGqlsth|X_VVuJv?3HkUTO1|gP7ZZ*uwlSql>ob10X^#+&`tv0ul)Z8y0Rb)Qmq{u-?klLb} z4<8Nn1DZ(bJ-7pytTFcXKnFv$W~T2;*(Ao@uitcHZ%XJ z>w?#>CoYiwu=ln@S7zq?nlC^kRT3C`BgYiAw9cRB7ACi8L2#N@!2B@iHr5~>5=GyA~ z%F&dO*WbGN2B9O2PM@8LwUuU{!>bx}FyiBJugQY7bc=0bow}vS>6ki#YT73a#QL%|GkakY^i^}q@d&LV)Q?LEXyL>nM$8?G{R@++K{&aS=hB&UZ zXG$-i$t5(IGKHRyczU|h)r^j27J8F1JytU<#=-GILP8puVs&npsHLTL{t4;Jk@U$6TcG+vz^PZw*@N_wBQ zT}m%3p*yelI-^5Tld<2&U5ufQD~*fz&w|hl6q?9!xALLZ)s(zg= zqky6aHY~rCQJZI8yCOQ#CynGN*}0v)U->Ejf4KNhHuywvNzADNupkQ(YCXT(tU844 z-kIDUa`F>FNMe+#b7V!(m3-bGnm$WKbvgm+OVBgXv_e!J4|jh&3?nUsY5^9xJI(`h zwMDQnDU2Gj3&Lzqyu|*L>c$e2kP+hRB^#bx>GGdIN9<0wRL{rz?QT_z{g*!3B9LiS z*M_#grb#?$m~5U_22$ZFO7E3ngXnpQ4BF;ZWqZ%2Kw{O1p_NgJCuN2&!q-wOO)bFjZ5+V zRV@|#XAv>)s7kwWfsnim&JzfGH?uLKqT3AhH}Jjv8iPJs3HP7y_>q+|rZ^V%r!vr( z#QclB9v3|sS1j@i9(~oXj%5oF0D`x>;A`hr|0RuA>S;L4@RY4P*M;2uC4@03T^Qy( zQ-Z0?OSAIAK+R~YJr@U;DKffwjF*?&qw49aTX)lk%~@ffca*YA=vxxyjw-2{8P5er zoZ1^@VH&V@;b@TXv4f?cCc8FE*HdQSw+bd_o+Z}D>9Ja#p7bC-T;fI>Ai!gWXM+UY z1xXvvLZj}pGnjJ;j#&50Zuh_Sd7Rz2NH#yk_uvjr|B?g)v5|f^E-0}%i{?gJP(hno z)bk?W@vA2?Z}U4uBw4>kIh2AlO6)eq>Abe$$0{q)?lt^_gTAoP{}BgmP3k63)CG3f z5_ld&fQPmK&%HtlM!;-yzaLE`q}Fa{W@b79w?<+AXQAyJ958yR9b5m6@=s()`naP* z26P&P-(h@caVy1$OJnW9GM8z4Ykl(#`hgkk{}a!5n{;byO^=&&k5|i0F8?P;PBl?0 zEe$OVK8FkcN2iTwYGI!c;|af~GGdPpw{prnU6F>8osyNG^_^rHxrfz{l>d zuw%R14(dN4s#Gphsn1)3i#yrBfyKrDzdHB)JTX?%+wJ`(`ulLVa^!dP{SoO%!uSk{ z=3Bt9HrERR4C9prk;g8a;!{R2Pt1M0uI;bBlsJwCERO;=m9K1WeO|A+gUE8jt)Klt z(JIDB9>Go*)p2oEqOUc)Ny5UQqms7ThATTg5r=k2KZo_vAD&nLn!Nx{^&ZRNLae;4 zt^Thp|KY;+ayPlY8b2wHmss=UF75}c$kME&v@m>Jt<4&WJFo?aBDdgge+6R%$h;|G z!s+}L2>G05L4`dbg8`xQ@LdD1E$_8+lU$}`PrSioDY9tp46-mR=L-_#Xl?LzH8#Sz z^nM)gGRkgF7d8nBl&Ah(Q3app;D;$tH_ZugL2x^NmlQ^bks#Zpy|7h+Y*3VQNx@-E zeG5<-?HMDy8#JLbbNVDBDXHRU#Jc)H3D;oN)fOVB&p>?2wAX z_Opr0wtEkUcUUIr&azKu<3UYi4M_yeVQ>&WEAhY#FY_*FADdWIQAJh4B1UR3Y)azm zdstN3GEDdlRaXS@WF8RtMu)Wqu(WQYW3yGEf_u43BkMQ3fKIwFl8&5|18`us-qjH2=nBOP}mXk$6*eof&$%x+;b+WwO5S9Nyn z+6+NDXA`hMleV{l^$8h1eegs6u*=QM1lzUWRWpruf~m+@y|_+*icd%(8H^EMVEzwH zF%%9uu6ovP{kP1?x|Kn0QV`CVybda`1jQ||unhA|ojsg!{5tGZ6aSgY>_}#LvYb%p z-wUP!j8>Dce_@$VF+Snrq#rmh8kSgp$hED;?E+}LBVO>zDMrfEH&J6tou4J{jAvZ~ zkL8c?L4m#BR#_w13cX+y(qwwZ&VcMhSmrX}iCRcimd>Fwi z(iauBM)zm)Qx!Z>mCV1GS$BGW_~KRY1Cp?Kb~s$&q;&nvKcXc4V?7P=41=2J7(2>5 zFp4c02JxEtZ6RgvV-X5fy0nb~0uJe!hrH!ens(%9s;J zc$Q^D5I!IbiZZsbZ)G7?3EO;_*kN&L^sGOT$P{1kmmh2#82mh+4#MPOdUXfp8hJ>m zzX+Ki#@q=dTTixkGPh{4$)R}c(lh^EdJgf}mK;+*U{6GOaUnNLo zbT4zk?kZtGaj|rbnC2*X&P(h3hy6R6l9mqb@h_{+YW6{wV?Gi3hvLipiu^816d2&%b7 zjrKK<-T}X!88Ty-C8e2csAEDNp)mS_H=dd zqYE3YEn#@CJu+FmIkj%V%l0uVC}jxEWa^&tXy(|Ip>|9d7PuCeRU!h3=n$z6S>q9F z9sCw7a&3WCE7_{UC47hJLaj+;7QPNu;Cx|a#UeE(p7dBCapk+L|Jyyxjk8Mbcu_R%=Alpg~ltQtoQ)Wk=z z@w34u-p1Tx;;ySJ76{~+9Ow0iO<`_sl0)rC`h*EyVd6zmV8PKpm+%?TjwrYm(HU7zdP5S40nT90 zp(?_X$uyH84hRg2s;dvMcpvlX=37dRQfBJ21rG?W+uFLQK1P^Wk24`8WV8tMrlCqf zps9m@xf!jYgbC76h2ts@H$Hw^YGXp5DZ~|k!{Z_>Wp~xpcXIH}y6fpXvIQ0iw}(BamW3!H-c5%^Tc#m$2&JH7d?P=J z;QbNtG6&H)d2E7u6#}`C>`a6NPa`} z`)&Cy%(Wiy{{vA?cD7op)U;@)Am>%;I(8nH%?B9fFgP#@BAc4W(kMH-DikVv7RU?9 zg&n7Ox^=-+%PT|bh)+Kis4UAO2TSIY(ur|hR7w(?h@iMV!{q&pX6^WHMQl#Hxj(KI zN)-7_ts|cNHBVt@a_f}Y;BnJ;8ocKvnN@Y1pc8Kqakgwcaqwp8iVo4Ey!^~>h#(PA z9RdzO8UJZWer~`-Qsv8k75}OIIyFKIuU-LfWK43l1H7)VwfZ-sh8RjO&+<_-mw61?+q^vq7Qi)+xkz~^zPvimHT)F)c#eMaJ$jne@GNHRvF`El-u=%Tc8Y>kS|VHXGHZC;)ql};^vO^@=-b1omFmRA%zd$9-LK|ln!=-Je47i zM0~;F)q07XE=W^~=c8{duIGo*_X9=UYP~io5~)R;ru!PDctnS_c$9N?M^a#?(#fME zEd8OmMKt+yrtkWw!BS!+Ro{HndaOAwb;Vn+Kra%G$Q6Y3%g}RZFWVm-v-=!h9kxAE zV#)b+fg!=npmZS_4h0F~&YG$Xk?ymT4;hO=&i!N|C73Fl<+fa3bZZE;0ITX|A?b^= z)qllS4OKJL*#}F_EtST;_)E(ak(4_GfwWbORyH173W6VqkHf3=;jjC+?Bux;rf}Te z%7&S6*so!R9p2If@WF#HR7(6edoj!qrSq1Y`t5LPfBc9s&nkb(SVqug4q`SUwNJ7GlqM2O4 zBwH}XBuCr}nm9IMyN-yao+8@Vv%z+TgKbB*bb#PEF zXXB_oot;l)^4sGT>fIF4=CXJA3_;IJV%$oI9me85nUC`k2XVWHzx^#&AT;0ICs`ZY zIktqpu$|)|dd2czt+q|o@6ilMoT$OeZ=K#SVIqE)KB+8g(Ax+&C|L|R8+F=*t*%A& zj(Fm<7pr6_)02*jc>}#4+@+QZ275uFZKPIjLKbH)K{<8t`*`#>B1EU!Ox=QQ%xczy zP)nsK@XlgZB4?EK1CB!*U1|Alr3XW}te}gBWrq{vltt_b&tf7i2w~!ik9uzzIX>38e`pLgDP~)5vV5LM5St?wYZnS;|b{c{c|Z zLd?n`hd-W_0BcG}8L6G*Z&IU@7^AKQ#c=A2)6O{0Vj_cX0EvGS;>}17?ihsOR_fr^ z+|yJ|Inn?KDkWJ5ITG-u&7+iA|C|wGub6Q{Iwx0*2|1I9AQGZ2kd*;(25F*jnka^}cJA6A0PxPEl+ z$jQ2W>)^Zpuy7X=U_-71YS2hTb+mEB4m%)sGc^|ReGk~$0XNtEM`Bn(Bq%e`1@KVN zAi&y4cdjvLxp9$pHjxNDHT(;f3Y^h_!9-y}rGP7yVi|vgqOLjuV#}p$|5#z73zx6V z;-M$&y&KlTV*#y=2alD#I}w34l8x>PKq&0#)<_H)BM`cW=N=S#GD{E%6n8CqcM}c@ zcUnzBgGkc6%20Dm5>#>hf$&DIi~UEa6qjNMwphfzfKt&d6McF2E?__jYt zZRk#i3^G!a!sfnm^}X$v{v^U@8}Bnps2Yn5D=^MIQr}m?J*^@sCIArxLS|@lTtc%6!7g3xR2(wPsAxn1x*1^5s@VY zBKm(9pRTN}Z-4h+3QPk}cTbFRE_K^z$Qh^15nz@TIU#4bAGfjP!WyQW%ht4%Vs7ri zJ*h{!QyY@N31;a!@;n?fwJAXj{oM+mS}3qw7-WPQGX%M3x0Lhb9C#)=va`jrZR*8o zDXLny?K(CSojm?zA}9QW&_k#wC~A$kb8G(bLiUmD|~+x!sWxx$!L}yXRCOUP7Ymy#|7%7AV_b=C30fe5hnpR7S2s71qJ1H(6`R~;rhG(fl6_+Qfo$z zn00$KIxq@Sf&8XOroja=Z|lz2|MY**TR#eBa5aZ1OdcVyl$r^RQpm$S0=a^X)QMp1 z;c6x*ZYre)c=W96B2s{vM4So_b?>oftLjs?qixCSF}z zHEnx)dm=U5%od1(brvi8vvYs-!;ft*7O;ZzTF5=zu@pjVZZOVc=NU?LW5O=hb@(=iQ2L>!nHPltbqVK&V7=7B`a zKv;yewd4;3KsWah7e*k^=1f4l_ekenW)bM4WvW)P!~+}&+Bgc6xpT>O3P~uOA~Jz2 z$8og(&A+|-wSPuB=Z%k;IBaxYAsKA3m)wR-#TDkJt*}I<7b1j*NHJ9w>0VGKZDVTa z0KmKf7c>Rz1G!Q;kaB+yN2yPYh)`7%mhRF-Uxrw?&v|7{=X;DDk`0I%TM3Y0_F$rN z`5l!(+SoFo45pz{E#Y$eCux44AZc%}5rrn0zt- zff=hL%+cqoL4+w~o`z|;a)UeyX-fRbs4^rncM%Sc7Hqt z!M4Dh;fuW@=&7xJ2#jA5dJ}BT0Kg16{m2{_=)>xO$k=W7XvyLLL=nj#g4Fd%1~De$ zjQUU!5Q!NKNctU9OG#Z*06GN0S1?`#0)j9nrpy~JQXtLe*a7UGiB3ou&P4)%fO5*u zrD{t#RiAh>v!;LF-@Ohi5vHn>(S>SZCiI@V3Le11s#a>rSHGvx07?h+u9VtMN zp(c{vc+fCGp1YAL7X}YNQd2_Se&#zXSI+a!mIojeZHugPQN*+{VIa7fCmItOz1cX1 zlu+YZ0-zKDj6%iTJ)+KrAVFp9_{)!F=T0imAS2MH6!+}oy=ky`01JgR$HAFooX0p~TD+KbF((!j=47`9 zFrmAHMJ*-90K#0;s3`%eX<;Ej0#+X*h$TA_A9buy&28t=v#WQm`mkng6gQaPmCb95 z)d$PHFTIWVad8VE1||&Tl4+xW#2C?<5_9S~GaY}SM-)S<0l+*WkTQypn3!E7+=AH6 zQin-Jh!`Wr-94;AEKL^>eTIbA=>8oMCZy7Kh5)se7qVsxk;G zKw(}WMyV{!k3J2=fru>n=rhCnzhoQ38lf2i7io(Hghx0NwZ%xn1$kVIOh`nFu_1U` zT~mKIRO^sooG8UTY_SK$K}xVJ<~s#xsIv&qI9)|RDgc2T;R=BwCA?XLnn{sdNF`5% zMY7)_!i)hYq99JKtU(x2xWTxqK~x54^9=t$B5g*Yh+$@2N{)yS$uf4{fF!GnJg#H^ zTmSa{nLn7_zf1RT7G||Y@T}CTZ3Kv1-=u%yQqw$*eHGPhWBFC4Y@D9uzzl9UtVPC= zd2pfDTDXOKWihuL6{aj-nBVYkWq55Q7DHMxKM zsu@Nth~9UZ8MG5QQ;o!@L3m~q_f*blVLNr=p2;fN?2E8_h)8Ri)UNR0Leq_|9nla8 z7tE19Mv#){qGl|TG0zd!LrB9i)zm$M)*XQ~M@9j&VaS}gZb&6berz9=BLq`T+n;w~JD>r8 zM~EcvGqB^RW^(UxQzT*?bKUOl zG0qJTiG+oj$CZP=?}62if2ke_KnSJI@)`E3;-aI z);M!VFpL83$c2hn00DTN>B@frByt&K?=Fpd5U_UfEx2`!todS>OxaY&IjFiRm#Xf7 z%GhiBa1S?T_6TIjJU(p>Rj3rQ(UDLH-9oC4V<7o5%ON0K5eMQD-o{ZA@C}5mjj1)4 zE`vAMhDh#>a2ozYsA=$Ev;BDe(;%-NO_eZ)o0oPT|K@DxHeg`%8OVQ9Q#ZC&m;tlo zLa9|vIS&)l%ilqG;4t3i!t4ZESyT(q%{fp3#&CmDvgeA**Qs)KU;Ay2FgqZ=V7+!Jv6@VaNnEu*&cs>^I@ zk>vNgl+uGQG^2xaJ-f^qrQXzfu%u&wbNZT{3M|imtuQ zMKbgt~3j08F)SYq`54 z92q@Sn}}p@ibRkT>?!3Y5m!AoJLTWR<`YZ|!ZcmQeVamvA~pHt(BB3(S#V{Y2N!G$*||GxT=2FaHw*_i z8~4yXtOZy~&^?^Es|8c%7n#n807$AWNU#oUnt}sYRqxR~DWA?)50S#d!vfq*JwS$; zwJ|@m=8h3+!9^fk)j2=jrhw>ShyufG=ft`F*FR!gfTea8+?@)C3|?2txMyGx7#`4N zcZPof>XuDsKC{FHi9MVEiIK`wyA$VUF9;CG%p?=wDVMU5Clt6NqPmL+bM;X3$PlVb z!b9c&%*7stYe2351AvP}%KOu@k|V{!5m00RLR0NwHTm%DZu=vr*i~;`kB{HR#U2vc zsBSIH5Caj+R1npDayJ5(o}|<>g#(f$UyFY<9djAhA*Y5?$|MT!4S+ zPRvEUd(!eKBi6zhdFR2$Rz5#ZA}LJCd7rsupiL%| z0Iju5U*`u8AITk3o~I&7BaG;7PRr|%bHN&534nkcj*Y_U*mF)HF!ZN-zBCUpbI0_-UdCHv=2jv;Xj{Wb= z0ue+CQjhw|ub-5&o@v?_bDa)u<|5q9bePgA&b*XtF7sl_CK6Jl6B#5-ec%8+P&1~L zc)~E5C5^UyB8|)ZQphqe=gc`4?(KO138%c406h#T6@2I(Kq(wy08~>Z?xcVCfNbOt zoQTXLlYWUfx4fF8>D&i<5F_^aXGoGenNx?=FI|Lg{vlS?&ZZ(GuzVitcUy!*93+<*Qb!&>BZr&fmQ0L0{~0Wm-R-0GK~Myb>m z=ElT;*tE@G{Aa6I-s7z=DT`c4L|}>Zf0ual- z1G|r&xp(U2y(6c}?$*I8@6T>um3z05aPhz~TI_lm>it{$F1{Um_kDjpcU{$2^?8;}O&bP;8B58u zzDXXD$xs}fI11SHVxWJT&JD6OssW&|J0SF|H%OFBF7=U8C7w&59t&#YVs{%Xi$$hF zVP1=9UC~%)EeaNPRMx~FmVEFBm2l)@@Rh(qF{!y5{TXw*fk2| zW~P=5_onIaCZf_Y=V8>L7H00u!b1J_L)bffdS&Zcm?dE-2VJ2f%FM0x%yfvG0f4|5hN0U;t-3YfWR&v8uSdCq1rBg!+u zko2n_)m20Mv4x#aE%6_L7({Ju++ zT}DGV72Dg%gxnmWAd#&-pa&lsu74DPQ*jRtq&8Y`J)8c{SD|a`t*3D%^MEIfO zcJS!%$*(EN^)M-H5i>UmnN2n4$_~M+`)OSC(=Z}%neXjACV~KmGFj!IQLo z>%gbKl4~Cg^ZNnrNW!%H$kY2jf4APgR<^D~Q@(zQwCQ4w;h~M(LRGa<3i`4DB@6`X z)9-(-Hppqdiy$zCy1THXVbn}BURz2{4|ErG^zauC07TBe5_2Gm2=?gYSgN`rB9L(y zfQ4H#)t!@H+js4KbaQLojc@LnLCP$;X#0=Q{4RuHI1+0F(^7v;YAPblT%-g5iDaTG zWQHSj4*-i~1(ueoKp==r-317TK0O%VM@~wzKKh2%zrV+gp1O+DL5^S<^eBc^OabZ&GC<1Fr-b6nWR09Q0RdwQVp4w- z8XnofM26&~S%aiKaJ<~v$o@Jah>F`7Y7tJeRab>hhKamNJO`QGi%*E?sz5|ih&Y`N zxyN3)@#)>K{gc^^ixf_7P6FTvkvtqz#i@^ScP^4i!x14hi;K(}R}l_#vmgYff|4## zACH`#-MpA3V=6e)!pDqlR3xOn@ArRxe-eZ_lofQHe3Jdq&S!UGP&=<5TL1qtb!I=7 zo!52W(|7Kzp4r`Ol44UFWJ#7y(UJ_u0URfYGayLvls`0YK>)+aLjoiSf+)6zNR~uV zoW!9AHd$R&_nvPLd06{g`h_4tqFHtCIp47MTE8V&N0E6%#OG^kNs5S#(d&OWQY&h3 zqsZx2r`i)Q?jmYY#h6D`3sMq8CJ@=~e;w0AWQ}kEg*CUcMD4hvQXTN5Kyek(tu%WR zRz+H<>T5@K@Qx{y+Qz~ajb3Vc9RA0Uox3rE1tuo#61VQ+-j+n!a1ecjK$?OY3fR`! zKoTobL^CVXan#{{A~94401|(@FyZGf&aRsR{!w+CF4r(aggJ3a6Y<6*!STe^`1evZ zk1!h$!-+Y4!dL+v9GDNV_jrqi$kstE%#k@veM4R$sE4B!Ri!&#Q85FTyhymBiotYb z6*F_Vy)qzocf?a#Y+&Z;A!8xo3UBHKGci{()D9EzxsGKC_b#MFf(U;XT+A*iQJmYI z@OXfUkSamk6wO&?R#~FzQMOxJXy0tlRrKZCe|7U0|BZdZdz_thZi@;!&eoT{wS4jW zJY0zitNENc_UAwPcQ^j$f21x)luXY^Rw?Fm7vicgvt?PBxNN8jhvNfLRhY1&NR(^r zFCYH#)$2c+58hZl{ndZXkAAj%_8U8Y3NfaH0lbd08;5%j&p!FJ9xvqL%gdME*#G`l zIS)#eRgy8UE;3>nmhFiZLcLlQ^aJUd>Y}U~dn%GmHAQz*A&#=`vgl$eG>{eZP$sHk zTZY&mXdz&K3o$D(n@UBHDBGeoq)I80@_6kojoo#Q z8otw#BUUlkGAtsB8Dm{^edApSPi9sd;1a8eI{@{nOh`ia%tn<&i;Kf?i>$2UJmMh( zwWxf>Z$^~6Wl0ZWW-}B{ga^`R)2Esx$=EHBZ~+pTJ^zcV+xKrg`;5vNets@}{^W4| zp2SM)0gKoeR>^;0bs>aSMJ8m!xP**YG>MhSh6qc*dbU_atT3iBM+R-VwJ{cAj`WOK zzLu}DTw@*caKJk*M46u9xXwzinuQ<(j+oFexUnZh#D4b`ee!WJ+t8xQ@T$;ZyrmZ? z;40M!uPhx3lwAXNn6@Zg!S);;%q+q&*R#*wJ^#ahYEOSZrf?;4G0HAP>#_=FAnEZf zhC8lb;0j^c#L0D-5wlQ|E?ij^^QAZTpZ~U3$to~^@OYDuN{fG@Bg4%Glen)k1_G3@ z;Xp6JK&_|(35y3WKBzj)euXzwLgR`=VfE~#pJ`i6iMYlX=$MJR@VJ8vhbt1k=+b`CXay9EPNpFfx8>prRW6aM;ydZ3fb2hjN5U82SJ)-%4 zf_Wu=y4XH_0CS|jB;5qn+K%32st{W7V;AZL6wS}j31`P_V2$BUZ303hEC4jmb?wX( zrd~_{2%xcoL{I#2HH(wlhUpsDX1QuCyP87astA8p!w*nZX3|yfOe{)WTb(dfifPP= z0dHlKqxp31R_Q6K;BXRK)f@GDx8j5toAEukANhw0{HIG3) z!GS{P=(w&pF~CxSB(5TU2aQ3cQ!BDiti+U&o8647V2q*@_owL-Gg?X(Ve~nm^SVma ziiv-2-kY~y+M*ngvxu4=+0cdYtnF%rxb1|tc;bF_DjLb5T zDw<g|dQ*mDwu`V1XhGhO#6w7t?eP zN?%u`l{5M+BTxb=hYql4)kdsGVTpfsITTY?1d?){Um{X57F?p?;})Vut1@$X zS6^zA4l5%lvAclyo_cnjDq>EvMO89F#O85gWv<+4bg1ZoJOUoOu+ z_4S}kvg|nm7iba!wV7+XFqmehsWOwhi?u1DQ;tvqbri9(T)g}T59Rb+Y^zSwdi$D1IH-U2R>@3MD971c%XxAJovPDxvwfa6@9@Aogs3Ra60K=$ z%S?D8Ia?WEnuAu;B6eoN61II5sxl|24osCcmM&yv@l56R-&#lY(TYm&HEma^&YlwE z&uqSN79om*i-p?KzH6p#|LGf8VrHW@I)Pf{9ylvt0MLdbCZ7(oEHi&}QI5*Y3=$6S zBP+_Mut~5)L{2?%>TfB z4iB2DqNM>v&CGx^CyO!h%#ut4LzM(x<;Q>aA71$B-%vX23$z84Gm}^rvm*9ucZgZe zpBS_ItfYAToz!vd<6nQ^N1yAlO{ZpwGR8*Bq8uJ*7%hLIq*AqTXHzPwBsM|3 zEgMjkRFoBDJI}J5On9(~NRBUkOAeRI@i}UI;G#$zIXp?KDl$sftHUeb-Cce`kt71F z1Efk76CH2Aka2 znUHuERfT(H;--J7s)<1iZKj_pF%eN6MpQA^dFPeoi%+;xz@ibUaH1T_a`n~m)=QG> zl3B&L=nFC!%o(vP1G+l~eY<5$_adb#RbJOsnb#E{`y!&nhOb9P!wj_>ql#thiijzx zQi(*_Su=|%iA2X>Q3&{~(yFg8jM&^pRWa4Lc~8{n{HcGZ`}7St7wyBWPzAPoNF@~j z<5biz%L>O~QsFUFERUN?D_oHju{{0o{7?SX?#YLeK`bmrk(+s?y6H$+rLSQBK-80} z1nLwiEb4D$7k-R;ubn-5uai7UZ7fCVq*B!MG$Iv6yEX_`$)9oBQSQe;rUDUj!9f-naj_BF7#QM%&j(;PMuymr zkxOabM-??J>-zfY3QX<>Ap#eorw>`O?2QXJ3p^yp7vBs~`|xK( z{n|FEab{9|Eh_t)*)!YC4_TT=eQ%$`ZW;|L&rph8_W~LD>1M;$C zUvun^uf2Wo+B?U4ukRked+q(7o;`XmzkGkn3IsD{R+f7>N=Ue|!Op^|%lVr>I{VR!)XmPu!YY;`hX-$6`{WnM2=%LkzhPqG^q_wv zR@Gs;Uaa?DfgEAw6DpXLTo5FozrEL}p&;b)=M)TsS$frJkdj5aTzurIj zT^k&6My8QB{AWG#&^$0FT`w zqO5}9DBiJ%T$aJaJ|`13y{wxuUDZG*#3wR#i+f;<1SLdGP#Ob(u8RWH<_oXxKm4UiRfKSHWv+k62)L0y2Pp%x-68Vxe)SLWEr1cAQ83BvhFMdrK%Ck!w9IA23bhT0jZ^bkx>tT(+nx z=OhAMpUg&PsmaARzBj)3SdUlbE<+m;UL|6lj@eBKD@ze;#Jq8T?}x0ER#|Af=mTd~ zq6RxKR{wCP^cH_Cz>H2JIN^v$#}p~kady3kGM!k+CsUe|F~xciBCRT)%EaYdLE*|G zR6Es}YsTctoKq@=D&|o#DrWgCUnNt8r4mch%$WDTx&P`Bi$;--p)4_H`C5^zjBik{ zzP!5rKyodgHC@ays3=)^ox#Mm4EM<-HU;py)`wT3Dr2Qg*P&+Gbo8Xit@sZ}aG~}*WQ51PSI49GVP0^bY6^+2p>ik~AQCZh zuVs)YRb>VBagbXu@5yDt$w-lc8jSAXqkR75c=q|lcmDD2^WQ2lja{Mcev>^mBPzlj zaM@>P3QvFWKi$%O=_zC0dwA{9d)=nhAoq>0PMC2Lt~7|NB+}tb;hyO6*)UF6_OZuC zguZb1E|LTtbUM;_Qbogt>Z!-OQ18Voi0)>@7`E})gc%um*!`bXo*hx_wKbA}9s313-Q4e7%U z#ze{f`r);=uU`Mb@x?dxzyIa#y}!Nw__unz+9t=I7=)WK(e&^Lsno6O4WBBDifOW* zfA61N|K0zI%L~d>sc;v}_KsJFm%qJy{L401qdp4dbnfZSs%E3HU#yj>84=!Bhb@0L z*RD2|UN2a67!|p%kmbt*l}Dt?0%1VFMagAn`!fya3hZ<~r>bCg46*g@tJj{qkH7<7 zpXgg-R7FnLVYci^sP&2Ua=rU-Ih0Eyabz(E;gYheBW5xu;5We_1SG<)cHy>^t#hgA( zn9}|1&VIen^`ddPbMqg6`e=?Ej*Fl0H*w1nIz`lvE0 zV?uIO8?4&58hEX(<}o`8kCbd-;}3001L$pqkgFL`2{IqNvHSElqAFsdn(nmC z(Xb;(8x0w&Tvi$?MKj5E6cc|*yxLlZkg2Ooy?gH-5hGBM5#5mq`BgfkDZ;82k<{p) zv|%iKJRWfYf*%iC-3E)tF`)&d+H$@adSF_H^Dhzzjqc3BF) zW2>5r3^l9n(gJWlk&wla0rjXbO5~=9;s#mSUU-Z~BN9-+O=?KlMErl##}eUqUfaeT zxN2i|tU8R*3KvPl>27A|@Y7)kTEK^a2#Tl)aVC!DNyMf`-QT2u=i&U-OS~D(=(72z zdRkm%!>BRJPNE_TpD=eGikaEN(SEoYzE6e=oZUD*R7a*OT-L0RKp=p0Vg)Q&DjI_- zdlp{QR*_10c@o*W9vgpyWDD~=vkrz}=whs&%a5kF3@#GDn&F^go9sKi#E7l(u2dSHH~8AP>) zt6I#dYE_g~s!}XS7(-1iF<$nhl+!C*m^h|!&AFz>4i73EMINe3f*4!7<}wRYiB@{H zZoG0IV_8?1F$gvg?(+>%Nl|8i$B8EmF1dN@!S4L?iYR|76G>ksGkxW7Et>9XBW-x3 zh}y-oM-nk>rwQ8b(P#H2S5&cZ&NbY(0ShK6 zDI_HnGgOT#%hyn?LWu|?C|H@Q29!D_WmVmMbvb_=6|&V;A{l~sw2F#ac$Y@7YRxIT zYn1_$0jPgFZOg2Z(}QnbfSGK!krws1wXM?yi3(FfUN&p0np+Dlj4gk4J^{9%{?V zbVPtrH&rwfw<{FGR75hep?M%18xj zpE2VUtgRlCS=4NcabaUipxCnlOEY>8;Gv}||N4^J29I=)A`{()E!EA7MZ}zH+?Fw} zO4AXr9$@}aWn)An4k)J~O=U(h#cDEGrLuoANry#5Y=9xy_8QO?UW8+Tqz+9-HkYZ6 z5B`AW)%fD~EP?=~Y^12Zh+&vlNupP;eCOuV-!aMKcmB=2pZyKxbUZ>4I(C`C#D4A0 z@y#DyeD9yE*YEB>`G04>`XA$?U(n$^S*;w$*W5g4l?i%Rp$-6LM=WX)p=N(& z#!MIA`HLIB`tNE|J{jevXc$^25$~>^9bWz8@#tNyN<@%1$2)_xB3xrHYPBAyYjj9N z33>T8dZeMd1182w76m;l-BAJh^?`}X#vrp2VP7eNHpeF7Pwo>~&>Uxe^WOf;--k~w zbU{-QM><8a8cXL!GTg=}?m*O-mxq6s-r8M0#fkv6KW2!Tir^ratf|JkGZL=3N_fsA z1t71gW?iS)O>BktN>$hfC9w%*QN;|8A~Pc;Undg*4p%W%&30#n(R@~Tgijj_ivs@! zc2ZBvsF?V0@6toq z%p5*RzJ`zaT$xCgv%G%CE}m@7o1Bi`Xb)d$BhcB<%1~XxS7M?{-d#^$s}kgvh!m4V zNfZ$i1>81GQ}3xyR}daAa~^*$zV+w(&)=2ZF4qGjThwHNt~^wcZOe$v*sdZV)8&S& zpyM~bv-|8_>DH6(A{Eh0Ct}?3VEpXvdS%pH;u6neFA+FYQ4cdf&n$i6g*(`sdtJ+5 zk$GHq`+XrxR6SETm7KJW(FPurZhB>Pizj?8!ppK$t9&EFeY&)_rBr{_hRwOEs?P~! z1Bn`VR|4~Ov&CF-gYRS{KOIE&$W zdKwHPKBU5ZUC0s@BH8A+^0oWGhA?G>nL-AH1zlm}k*{gdsQC=^nNQbc(aw++ywGZ+ ztxRJOQ+g6t3$3Co?3q+0%dY0!u8bP#F`ZeKF^G7bvxrSc%qf4Wtg2$+Gnq(+gj1EM zCDHlYe|7z5|D~pjDe5r&xMq7zow$UpyX1+Fjp${LAa_{rKAB_wxLi>0p&$RmS+6mCyT^aO6B1ErP!D(Q$1o-0!;SmP;k=F)Xd*||w=O#v2Y6W`Qga1I2KHSn zg^*a0ll0Aq2WjEroA2EE{5O8M zVnyhl8|zts+=`lJm1qmjt0$$am@wt;2G6Tn50su!L~MV{&a-5x%5*fZ8(w#+Z>>`|sY#F{zs5`1$)1}fbzFc2^i{^wUY^gyA@Y467=EMv$t?P@*IX5=eDb znUq3|GSRsH0v#@GUSdR+F?%Cuw?xTUaHc%XRxoJgiqL`FFf5qqHOBC{Li9)^5x~S~ zb4nunEy{LzPP^UJ8$aAVdOuYuCX_QZ4G&St%8Y+p#?mQ16?~DH+#}RpTz=;pyDvT= zpWu(;h_5y}m5crrAu0k#79&8=aj8ni;&XzhC)~zN^k?hMTeofVc5-X5qGs#bsmGI_ z7P~a4o*n;SRGSel(W*Aaz+D^p3U?&dk?U`Z6Ky5WC;ZS>3dpE)QC0Ua)y!aKj7Twv z#?F80KAB}hx~Hf}Q+yrQP*gfhU#keS)eRU3xj@IzCg8w8!E8gbwh=715Doc2L`?PS zc-)51Jm*wX^tGZ;m8xtk$oy>OR^8nQcm)pfsy2^D7O6m5nm~_(*;+)@24cchWh&7r z4n~j*jf$}KGErsuT!$^F)=^O+8q0FRyDxvcT@f9R$1V6Il$k}nSTlM|q1UA_!=hz2 zrmvKJa+-6FF<}4mIg4nF#eH_eD-klH6)tEwwt>%~{p-x4w$7<0km*|OR}tI!@oMw3 zF_vbW&oJ1A-4+EA0)I1+cei4m&LVh?RV*?$QMaMY_%6byjgcKROBQ93%X{DCh7z=w4U9%_31B(#n-iN-M@JKPcGj45iMuqqo418 z_jmT>13F$*WRLop=bW_cIh>ed`V4RFO`4||b0u7W+8kgGIGuEs)maynufFpaH$V7s z%{6DBqukS>eVuYX%e*{%;}6G^4>y17gcQt8S-f9@mDVfh3av#E;WDxH*ry8X7;K8$ z0gEuFPbUF_t>0xKDOS6FE5l_TJD(p8)i<-$#>u*HJiA-E>@PkSs_8Cjox;lEF+?QY z!*lHR*l(D{Oe$H1&B$F`UEF+Wxq8M#NmRRi=^|!Tnd`xXgv!G+3Y&dVRYZSF`o*m5 z9w<$--O?5%>!><?&$E!EU>+La!CmQ&3OLw^5%o3jxl3gyDlOzLpiUm4n?%= zcH!B@Q_Wr$5nd1Lj3}mvSww$kOF`rpZH;8EI!4S1pW~LhW2|NZw6IzFR3@^KMC8*{ z!c&DZ%I~~P=bt0kjlOGccPs0#N;1=qO6o4=8kv--!e!F+{4f?R-G>C4eR!uJ6W}i!5gD%(?^RLU2cv!C|2H$ z{8cByIQ|iLtg7nJt}0dE&muyY(ewmE!5ARK%J#oQ22r-$NNwI9sYa8tsm*o8giJ(i zSVn;83&wO6b$SG>3MPLMMnts}AO%a9YnK2Zb;M%~HFI~sa&aN>aBX`nGgD-6v%wP6 z$&AdbWm#HO?tQm;_sbYv3&V`q00KYgZTE0hTXws?KQkM47ig882n2YFAxbohu@Z@^ zrjvVgP^f>MHuUuPITIImrc&xAP9{<{GeaymE16hrFck|oLYaRF8B3syOd5}Dsvz(+ zuCA%{T1?vB$v~x#!m3@xEFOtgfC%>h=&EtpDasY?@dnID6%fnJ?8A*&H`J;|798qD zBF*2R5~3tE^EnZ6N3;>B3ioMZC{@zknQ{>jkr@}?|Ccv@_Fst#kiXh&dmCW6cyqby z7%X!6@cUOUJbZugXMer!Z=FAU`}rF`%H?eT(J#;5`@g$qpV0AgETav>6`9rWnq?Q> zrFhU-DuI0Ga2GQieLOlV6&|`Qr|+6o$#%Y+#qF2u)8FE4LKAznd8m-?B_^I%R}a3k zeEu8J!6*R}#!;qhq4f$*neB4cw)V_ShrdHI(h%EsU)O&Fp_-@I#wco_x-u6lEoYju z!g)g_vq&cj)rz9&o>f<`{?Xa{KL(Cb#BwXtRW((^Ziil~Vlo|7i7Rhqh;aI>Yj?Pu zM5|;`t$Fa{p)$~e9Ys}SV`OnvG}@yRM|ec2`#`p@xT5-m3@}EKnH|>^FOJ!$ipW4n zgPE6QpBaCf(b^d1k9H(9y>U_Xn3NS`SGHUHutgZFvPi|2eWh0g_HQ6dGcxAEJ=g@- zN>N$n#q(R=(Bt!w>+~sOnMtCy8_S%tYHPaA#DY-~Rb|V0O^Fl2OH7W+o!;$?ek83m;j0IAON|RPABYg6*&$(hT gKV2Funfd<@06&IBn9w~6s{jB107*qoM6N<$g1?CnegFUf diff --git a/InstallManager_java/src/res/images/uninstaller_graphicmotif_001.png b/InstallManager_java/src/res/images/uninstaller_graphicmotif_001.png index 088ad0931df5f932244f33a3ecd4746bb9c8c9ff..a01e8311edea40e5aacc7df8cad715e6bc6f11cc 100644 GIT binary patch delta 43187 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 delta 103135 zcmV)3K+C_DsXg(iT1G=YTVVwy*DAzUu_C3yw{F(e^Cc!5WkD66sFUI+s$6x>K6|e<*PLT~<7?=Gf9E|2=)O8sCfp*gg}IxGh#}}^NbK9L=}M_RV>okwwqxq`+K%nT|O zkrY+z^N3cvb{rs5AyNS-R2g^Pe#>_Oc-a4Y0>BXf#{tX$DgaegWrE!tyGwrYIY6s| zm=Qt*g#cy-`wbKo5ZPj7W`r1_s;E*?YVL0ist{k4AcBfQ1qej8oQa?SiYQ`ahzM#a z04au;K*R_fe*gkV0g4PFKvkepL4g4R%A8Sa0i@aj3yc&KL<*z|R28BXwG=1>413t- zTOO;UjPhgK#U17L=Z6m*aILHq=Jwq=z0xh!Y(2Z8DK&T z_C2b$2#E+)0A|L?{$daVsvrb_2z9mvq@;k_B5OCvo^%5FEo35l?8$y8a{!0rJ0Sof z-#rv6f8q-f_J)D}_kjs2_Vsq*6ktFUw)2Xhlmd~8;=3|HfK*5+pg(hDL|@%7#PN6Pr1D;@;qS}Y5MUo$een`j;|L}o4Fkq;gntNI0ON=E_#&Pt8T>WMfV%rqh zPLf)SZ6u_aOGb>bFT|WDbw8R{)!4k2oX#bq6!U+$N^OZ3cJWsiXWGNJs|dUD@Q=Zb~+Id ze+Mwx(MSa3To5?eO;y+~R4ZbPs4BLws%_)MzMuo6P(dzsVQbAmC4`jhX83L= zP$Xg~+wRKDh-pBrf*5QStM5HA1XS1#83?GkVjKpPQtXC{B7(uJ2w{LKkfmTu0SY?` z2Y=GrZd7ZdR$JTlu!^A8 zYR7f8>)Jl2J*+A6pJTTEE5*HDg_DFQ*jWww(F1d(#`JD@$yid-w8(w|yl>PJS5e-R>p z!gfO<0uk)%Mf~CuLaV<->_U(|IaRG*49s9=h*U(c2UAME%laZFLW~iB0K|4-OF@Xq zc2pvJTD??=G5PK&US|e>7<`8%f~aE76O;s66fp$<3=De!gVkot04YLX{~E@a1}GS+ zg2;?oW`w}L``JQ}TJ1CVZp|Ege>Vqm_T7bS=ZPuy8m-l$Rwq{f*#YBfg<1=y^?Ktt z6o^z`WVXYosK1YZzzit`C1^GCGP-j|hj;dGa=uaLqqpBUN0H9Uu*zyHIP}C|Q*rH6sU^gNJi0_Ch0x8)plo$CR zThuB7wzJ+YHUUg_p~*fdO0K@c+OgIeBD>(!_I?lp#BA?rF5nowg7jLn+5;@LqSS(U zn*F^Me*g(mORuL@0P&xZf9KiGE?D!T3QW_CwkgEmL$OP2_-v&`@#XQe;?Y-ovrC>F#Z2J}Ry4Pz+ zCeU;o5Jh1Ij|WbE0TQz}6$}vDLhzc2M6D@kMXlI{Mr2SRh~EkofAQL`+A+e6QVOb6 zt5rhi1uirB4YQ|2sy7qjHIV|fDq`=DeTT9A-MVxUKokOdKk84a)Y9K)Db>Et+90GM z0e%eU*^VrQLTW~lYKzm4zbe)Z+iqJ?YDE=ANC8@{YZk9*IasM+oh?Ds>bRJaH36#N zkdSk>69fMKq$0$Ge;BRHPQ$qDXdthEQ#OfgO`Z|Varw{}w*(t%kIOjPd z=ZaG78Uc!steFXk`-Y=LU^0}zc1lA#N-4-C+m1$rA_WS?dcC$rL#fyHRRx$Q#9E;B zob$iWjwfE)~>VAYPBD`fF-~2JE%fVUc#Ee{u}o9kU-(!RyPm0=468sA1D0G+sz6IYAVRI$7jtB`9jw|Hi|@RxA*y1{7^yuV;D~V;AdZ=l*Fqcu zC=kXpU|g+GN=DAJb^Rc37Njri5Cc>NMHE9CKp_}*=^dmBP;0iGj>x-gAf^E!CF}0{ zE^nVPe};$@6RHSevYn6skk_vv1kBT9^=nEHe|S{wa}HzbuMvVhh{X0#jN=G^0ks`C zq~P~Jy~7v86rgI0vcYA*QaYR*4CB9Xj2%X>b{@-$_l3d1Kw>F=_$t{E?VT_?E(aK} z8$v+Ur9f{roq@yl=fDgGfz&!{fufXxQf-$le~q0)%)s2=6GsLUBc*6~8xy#}2>w|>Kn&KQf(RidJJyQ*tTJchx%eWdR!Jbn zxTi@{u?N6vstjhvuo}IDv8IR!R)5ukd7hBx**>2tv=+=c`;H};rnNysY&#O5n5MM> zf6UQ-4tvAZ9?V)R0!N3ItQ06UJAfU%b6@V0J+}-(00%}D1%&!0!%SGpI6}!8CC~dg zf*G|M2&>E}Is0NXFqA_8n4#5iz?y9up=w_ntmCueRF|zN@G^Ob5mo#{ve$bXT~<{A ziCwf>tll&HP!Pj_BH0_1<=BNEk8PoFe++gcI5yURZfj70QYvEf_bG~$g4Z2}1Lj;Y zc-^*MPe?JKRz)J4dJwE8Vq#Pj48veRt>4_35=t&UU0{@I$M!VmehP#b9o!}iX*5ut z1L7D_O9hWMQ5e#IoU@ezst~UiQ;3-T<|=^g?QPUjkxRyq22^HS%(@IrLLjS$e``gG z5gf>y#(?#D>P<@;R*+gC+DeRK<&`&B!J(KGBU;U7r=IjOsnoKs-Opf{S{y(&EGxvg z0G=U1Yqh#;V=>t%uJ&%Ufv_BG_n;U+O#URcBAM)XWwv8Zq%S6Q_$6m61IUqd5nG@! zBoH@%m%K<q-3>D2!vd$NFT-(1Oin-iotf^pd0m# zAjV|CHd!O%a45!M1t}TBU;wX;wrp1##{qGO{`oS7n7|zD-(lCe)C`VfjSm<(XM|u7 zl-+QHra}xD#?f~t_8lk~t}4~0C&6k&fDqGwQYx4OQW}ubfDjTyD)Kxbe+{q-SAlOfXA5AtW$I?_jOYPAOSktX5|$s&}J=TnbW*Hfs%xc|9Q>*hY*2r4+1pXArT2 z-f9hlH+!;la0^Bote%_aT__l&iok?47&;MSaFoLUeL$@&Q9GJ*e<>g)1P)*pZ)~!I z`h;45EZPacLL@5ZdIXm8vA%cVhS3ywO=!0IRR`a{KF52?0TNe#mAd73RIFZ^v+ zYzwK?OxinIGKPTFZ*4Zo)`6qpYF@dwy3+8liVz%bNw#AW>}KYYt;Vbd0SOdynE_EB zzynH(6a!+4c8rste~K;SloCV>O38rw^db6#>oZ_$M6xZAogI{tQJgRVHApH30{82! zC?#7tKsK=;Cd3eJKI?#WN(mt{<~$?M1{4qDV5L)FTYMmJ^aajVPukI%oVZY&uwnHu zg|H9_yu1S1RK`ZG9HLEJpcsaPz=U}{0SYTe+SIHH<}!Q9e=PmMKe;1V1htP&HjXy{ z6u7Tu@$II~XRYO?juAFMm^Ws>%w(_OM=p82p{k(3D7o~Bfh{!kaZ&M3lTd1f!e-MP zY~fM}_T;5#v5F^hS3OHbGB}?7MBqZ9K&7g7UG@Q<*!cr6Nf1Qvt5LciLNOr20&1Zd9>1aH> zMQ=-jFTLLUa&ap?0it==X2R6Jo-8*e*bh9QMI}tCr085k#x&W3RI=@Q>ijAz0&jvPZB;wdd3!n3A)N zqL>iV2-MOG6a2LKp{Iuw+wXDKn_fkZBE_XViIumJH3a z9oLR;q3xu;=tb4LKIsJ0Qi}gvtCNb4;owsYJL=I%4yEMY-HF-}I?oewE{JKgnXi*% znG*;=nI{AT(7+-HwPH{O=QS`LN1_Umj5=o^1Qd>-aT^j>n3OOHAe2y~Vp>m#e?vmm zf^jt1QCI4iIEiBLCUp4OPB*%nr@ z2PcGpX}xw@mR;-Wg9Y^tSEL$4Ne#bbpW9306)GW(D=-Db7*Krz#6Ha_CEJ75P>7S= z0UL;@Rg89%3z!L|WN=L2VF398e{6MOEfok$Aq!`p@RgqjT=GhQ7~A7EPCfHnDeAISqb*MuDd))+tkPufh|_&u7XMiw}ttlD?zXOV#u7K zbH?tpgX!+i;Lvkkj5EIQ8!?`CHgxA{tnax6J2!p|)7>{?eb>z>k3G^?X=ZfO&e|F~RjgSo##&Km0qK{SQJo`k2_p<{MYBo)WR)Z5_Oi+r@U@8cs zJuxut+9+zHc7s<_@kOryrG(b%B~ zR)EV2OmoAaVTHNOh=83w-n6Xqj2IHeaWLjH2SYB%d5y3piUVT|Td2j3)G-aHDyUVE z#^j)}b>5{Ee?tO7?3icC*{2^BySqC`F#v%Pq_L1PhH=0=P4@YTFiiyr0K+Ky!u#9- z$?+o%0U8FU(hx{9LKO%J7>t^;QGMER=!GV6uwt|r+ZVvI79j&zKk+c;_x=IWq0_Ls z^c5H{y4(a#!wP)qD{=VJSK*ZQ`a4H4-E#|eZ@L=mf4gtS`p%nB9)Hk}dIqZFjns&* z+{b!Sy>5hc+pN~OL>B_pS}_cR7x~f17JbO>ujQjY_U>IA)V3R!k%kdD&xX&jU@iqi z8jxrJQ9vz|VQ1qCIq!Bk!#vGK3J}4ZC+~6t7(kxZh;c$-Mu;m+AZQ%zSdSxAos{dJ zeQ+jse+a>5yH2Br*KjI;Ml3=xL7!v@1Vq*(HeRMpTB6tcMkE#mq!`<#_@F?gBBg{} zjqN_HM$}SJr1&S%J|R7+1z1A@q=3q7Bu){Os(q9s)kkKcJ`=7R%w$uyi3sX_cVf8W zDzxVQM2k=W}Fi zyKlzMjaOs3`zB2H+=}_3&l;oGn;8igcuRn=ueHp&rGOd zBd|Ew)TW35-3Bfj;982hUXu_SQ3PeoSbQDDx81p=1NQ0pXxd6J0 ze^3h6(=lvqZ2>WX!-&!_NUo4-Gh-tJE2b&C5KH$c|8lXJbah?LYFrss+E4_|h+#l* zMiVPJEid>3?@dOY04FgFgN^hE>ZL#gNwvB$q&~PfnO}6)x#wtz!JicSfKZnxGW8oH zrC3AYi?GeR8xlaPEo}YJ&m)uqo#)Dat7z(zuTWttSF8zz5?;`SAu*YZZ5|5 z=e{_x{GIL`#eB~#Sl|2!`~A)vp-(>CF~2r~BbSLP&^d#xW;D_Re0EKH@Ucb+Z4~-k zGGZE_BGxIoE&~op3~6xC8-2DN0(Y8xEklhBxGoemXM|)}WNFhc zqAp)m8^CuWM=jP2H3D)G!9BO%c2cs;NX)3k&~o^Ev`EFmXm_0m+O)&@W(s3WG-ASf z2j$jJ0+(KaU;yLaxDz%mn3jV4f2oh5-0%tT1uq0$`3CTzQ}!%AbbZO@;3g0-4#f4g%WZNdLQpdz>{Ahg1sueNCUZxlk!ex^#+Uuh;MF+acf0^W+ubB&2 zE41z+PZ4P~pkT}1mn#BQZA_N4QT}r=?x4El0b)9mVW5sgNEK(RyI_iZOsW};w2vl)LjXdXO`?m71KS9u#<kY1tPZLsM-`N zm)coRU_zvToTuI-+Pc{X4rnsTWMs}#pnVkV-KP@=ctf-UpZB#|3B`ukbklXvZ?Gey z#&p7+aQf6u(A^1D4 z*9D)QD#SqU7@=T9VodAFu5+!1$vIhqf{)c!t3Hir4}Xjef19Tc_^Ue;5Jl8%v*7@s z>>9Zutr$}+hz{*AGxB-|qBgVTXrs9h7?U?lF+^i8mE7w(4(x(=hA1z@TsAg$o@S&m znYg~p9YWH5@ByQ-UQG2wA%Im~pWs_^>wcWJ&aMv@SDrPQri!2*KZ>^Dwy^`?ul;hwn?Hg4k$1VqA;N?z)>sYWXh)R~<%_d=NB~ZQ>0KxS z0hs5>=}ZX$glU>=#|ja(dZ#JQLUCrwJgqUb#)~^6e+|<#cdL;+&q#w=V&r*pX{@5a z$ObV)hfRPKqu1;K%y$106ta8VI$H{m;Q&$qs20rAgvg8#2}uWU#*EDrhluP9Y$?U> z`yxOehY`ieE9Cm2oM%KfX+V>8o;(agWEK(5W)NS$jnxujw3)Ei3f1XFy3v8C69H5z z%8l0|f4=0EMkYAHA~f|~03A99_5M$Tjvc}7^?!|BydUwL7hpK&c}QnI#}-BVp55cn z_rD8z^4OxL8S)qO&>Ki{=v zROHTvHs=LFt{JOg3+w4PG+1pMQ$k|FoC{*KfB9-kg8@ZeinVcj5 ze-O$I*FgXNciO=JM2nEzY-n{DwTm~L5&h7e$Pe8KP9xIU&%QmRwQP10zz^8qRaA&$uN1k&mf zNTcD~O^yKD?@gTVIzg<)Z73?n)zCXnfA*g*A~w%;krBZNtg3?b&Mx9GctJmOV=07@3}y{9@G$Vyeh^JyXp}Hlw#^`n@bPK z#aPizj4!SM3L&|mzaXUn!baK%`?cm^hgCQ*Af|f&8LI)#Y6-!MPa>-kopwY_f1MoA z)M>ijMZV!0q?f+xgo`kpbq2~4M}gJhzE$fc?4f|>8Polr!Ti8&2&;ogr(cNi+>60+ z^s~G`ulX?Q)gM5(q8qHuM^e;UPzn(HF? zaZ+X@3|N6JC^uY#`0`hog8mtc5Nt{|Z~&cp9&qHLZZomiK{$q|K-oEpx_b+D@4FfC z;At4ncrJ$1E(Ap*Ue()fgxq{R;!9tN^rpXKH*sSDN^@i&#&(K$1!jEom;Z?|z9C(& zV!kYD{JmOGt8*2ZFbtz{fBnQn>$RF8l6W)Fd|;~9?s8DwhOOO;TC*$UDu{zgI9=ac z%LEW(7?OW&u@0MzGC$7~hG7dS1#1SR8apK=AbF+WWl(V&6LOQMoHJ5NnCFbqNfo7J zpW`Z~^)9%L{!)SG;!L!x&RJL_$^De@#LoD~R|a^+uu^mS*sWxd>Q&Ts!-Q-TJJQidr&;afJ}XrJm;3 zGK(TIFs2d2E=`TmClJyXJ&_>~C6_LA&vQl?2JEia7#o4u??niNoW&Jy+O^Li1Yf{5 zX{lnJdi%cUx)d~mFBfo3kOQ_f%Cv^o?0RkX>5^f96xeL?e;l$?+MhMsLN8^q4%m%l z$Z1YZ2h81)X=$^YsAuU}Hzb+sU6fCM!frmp7XzS7;L}d=Av%K&oaK5}>h!DjT1;3v zY+dxZ?e}uzVeH=jDIB})eb{~ICh!}-#Pk^1bQv{gNX|&L;>y#{z*Xm+i+BITx8w0U zZ*jcS78pnFf4l!`weq8}T~u2<=9pj}INge(R9F24clL5gse`b?FgOF+We9$RrD)@< z#{Cl&)FS;j58ix<@3?6g+=iK5EdobIoI2!R z6%)p<{&whdUWnQVwf_6zm~hnv&%tv~Jp~{5_dkNi@4k5vKaoGZ9e>nru4#zB)BW8Y zlQ>vIf6~2Eny;caU$uP-`wXSnSPJg3qPjptO~h@=J#-yOsl^DYQZcT!d?&UYr{;o` z>^L?*Kil0*hhnmcTJ3Ab=4cA;%=BDmm#_xYeKVsL?M|xJjn6=ci`!VuSRq4eL5>l^ z5k#R|e-JNnQ}pqt?Zzk1i0%uGnhlnT(3!hdf1-7{_MyD<1@@RuZg!s{f^z*Qfc5UP z79kzng1QkB9XiJsmUd?V@mhkY5$CBrDZTb=96>tsxfs9U{{uSjV#vm>S98Wir<{g2 zT=+a3TCMQczw*QQ%=`YJKmF>Ry(+rJNA)A9p)WRVs9h6m8V#3G5|HbJ^}P1o$6h1$ ze`&))BNI`?G+;f=?gnOlEu|FXTA^w+nMxZI8k{swQ=d$kpgg!+RrChIL2{qn2VZce z#48S#lbbFPNEcGCR>3q)s8SpO7*ML)x)IC;w%BK%=M2dc^3z9vnjvX`j3dG@qU71l z3k=$-QjA?A`;le(4Q+nV=8=p&P{yWBf35n#t#0XS z3q-+oz_blYE2mVop}X6iNnQ43e~tEaM1*kRi?I6ow}DPOZ_nb}=76i7^FmyD);Wlg zar+1U2zR{ykK9?)$_f(<$-=DG#fBmT!vSlSF6ks^h?H88Mq_)JpGt(1_zgEpe~RXQ zm4=nux|!TD1jc$YE8*SU2}KIlYhyCI*AtlS=Lfe&QHaYT7jgqTj;PB1pFLF5JfW&0 zr2*4CV`q2AX;#5Mx7ij$ft-!@W%KUpgatD-(ptc9uOGJ+Hb%9T6qt805TSAa4O`%} z>Og;LD8+t`;C394yBu_LZR+yhf94+J$FR-&h`BpisqYk<)Nv4@eCiq#A8jl`G|6P! z1rMHM!k=3Ggy!y)pjhn6s4Yh#giBwG;Vs_>L}cFZ&4#=PUIIz33XA$Dm118gSIED|Mv+SCi zH6j-5PMU8t5#pP^9^p-22Q3q{tRZ;~mV#GYcrjjl-gB@unxOm0y`RCye)Ffgu-ycb zzT0gWOftn@UQ|B?+5=&m{o)GM>?ll-9l>m5(AH^lh@G`;j`!Bse>GRFl#;_2ZqH4y zo92IR@_-lu(y-OF%I0O0`umD8Ht$Uzq1A4wk+X@Dpm4p0q7?0-EWjEeg&Hg)73=kG z2anggYdfg`l8 z-^EOPDIKNPap>N2e+nRf>Ju1V|7IwwSyha2+5Lz?htBO%%Vs#F&v*!!2s*3~-~5fB zbDwXE&q3ugPB|NwJ@>`fUac?$MhuK2_k9L`@vpxPdH0y@ENw9}8EcocyM&4q_r)P+ zd^j7u>ouBDk8%1KRR|<@Jhyu^IDr7#Y=cdNUqzsG?i4z5eRN8x@6f}L ztS+t*MXCk#s+xP5x}Gj0|e3;yT2kWb!%${CD4veEg`>>bZNzG_@HNz40))XZ8OrnDct!LAo_vqpA^+ zVPuXH)T$lG&Lz7uR_G6BOaqvL?Qk3rB0GL(oqeh9e=3kt2f0OU5nI!RK1m@_466}o zwcTr@?iWa2x~RI!u3(xb_mQ!AbhqwxopX!{9MB#1)jMGhj3JpHpdH~RM9*_xEbmJ3 z#z}n=V;c&W44rp7apB~wIhtontz8<~T@A>ZkJcJCD_ml7f}ig3DsDCy-SHlZa^1&K z*E@R_e<7cJ*ddmHc*aG0j<{Aos@F^5{1+m9-q#pyzf3@xu^mUe^o6g*xo2Ep$5mvb zozKVd?tl5MIR4lJ{p~g8PO}^#&&y~e%(n2GT8=1~OM`pgZTbW@Cy17NQe8f3oqK=_ z%P^OMg@fG|vmj^73z=O&6}%}BuhU{`(F}t*f1|3;eMm$a{8elA+J*qF-SbDM z_5M7fDR@AQxB4}2dc~molXTgjLlJPz=t4%oVr;4Cm|*$j$01C85w^ugWVRi=eVXHP zf7jbvixaEQvfAq5msT%)~UDwfOvD5C{r#dD!a;GllZn-wk zHup8K+7{I`t=+JQyP&C&S#5u?My&~~svrN{;IVx$qM03n>83(tM%G|oU9IOu~uQjCy)apuvuT!J@u2l?p!7h(2*{7nx}QQ z!xbsWxwti3U2KBcrY*)h^clBge+FhzyQar`A%t6Y|Dr;TIqxB=<*7OinHA89PRg}*_fh8+U++K)qa zclsiv)3$sEwEx0cm-OyiL&WgnLI^*zZFTnFJ`C=S6c)Bk>f7|)&_zn2X zd;T+S|KR_$&*A@pgZ~~uoWL;wPKFSWIXiGdB|@%7$FGXcI3{O5x3L&}ZcN0ezAyyR z<(~bRZ}ZS*(ArQ22&Q?)?3!Rh6}%4g_^lRq1;_KM8-f?V@l`9Pc`{Q>Hzl$~Q!$RC z!9E^a7F=&Ut=E=$!m&3xe@1{PP_K_`Q#$(Sl|Yy#doA+|HxRxtw{xET!H$bw+j#?k zB87c;MB5n1=|Q!C6g?lrCJyjP33?$5-${tMlM`qYH|#Y9cOG2*?c7{-+wznf3A8Fj*QJBsUZb&;AnQMO4s%?-kgh>8cfY83%@#2Eo z+_3<*dMYIdN1$1`idt@%6p&i{7x%dXpYY43y#ndqpNd(h8LWDg_i3BYFBYZ_FE_fDjypQj4v% z(7}L^hTdS9Fn($D+9FerXt3Pk!39i=dA6p-lzQe96H;7k?p)I*{+ZY7wS^DW22+tc ze|W)CH;FApNiF=b*$u1FrA~eUT2z#0zHWr*wbcz`dxAp(;sC?}JS4o7Jge#0JUQ{MefC=>Lw!4{q`J`Dlk^h+_m@XIkCJPTtCNFiWo&BjLUhxs_(|8Kto z^Ul#F45R^mO~2AYqNS(jE;X&=e!&-7e`CRje^zrWmEPeOcY$c3-EkPq=551ZJ-MfJ z_DmBIVab5{qkxXnIbBg7ALd_1@@!@DIW1fK!`r~)h?_mbM~wd z58BD4EATi3cfAr9rYE;8F@{VUlFLfrc_A)@Dt?5g*gd(;bxS+t%dCq-pQ|^be+v2a z+Ycd-Tj$zLDmmJ06DfgLThI`J5P*`c7J`^*Wi#KVHkGlFkH}Jtw~UT1;k)N<=;Mz- zMn8U;p@D&5%}ffx7a!Z=bBHBu)P5iM+3&@ z*14tIe{gfFay+dU-aZ32dyLR`f8Hv^x>QwjwJ+666Gh3@BeMh|cH=`}3>?5xuwq4o z6E8vltqwxd3P^*?1R`QIiD=n1>U{Bl!z!ikJgTx}!L_5kU2|O?rVdfTqH3*-3f=lw z)SOUTS3j+%?y#?_=As5bP`kBn^|0?!q|ch`enxR2n4%tOK;dXRTu7!5f35{A1;IVv zbR&DWaRVDmrO~q5*P-hyHopca*IezLaDc=Bb*qaQ7-I|=99pr4W5N4k4EW@4yaPw> z{mce^b|X?0d&$|l;n>i!9JI%O`8)S{G)4~{;*hKd&5E8-Q7c}cS!xQIuGLz51_StJTWnYi=GWac* zvP_UpW&zG1P_%*+HAAK~P_x%T%XV6;bWpl6Rj6|XbwR*g!r4`5e^@lTL=5@h`>lpL zXSCffnm^y*pmN&yy)_&m2Hf=D{~bR2;s4oRx3g;;b8NHFPK<4yc}xqlg+s^cT3su> z2wz4yJwUq^)(vif>7>~Qlhx<9*7UodjC1hjDfjVSi~~X-&v~mG(Gr4Oiy2@B6JZU> ze0N4BV0XtoRuzR4e`XLk4tuEoAx8I^v6---MJNO`w!3AQj7}CUP8Tbk8t1+t{^W|+ z&Ys)n9qBNveEf*c6A01G-d!(aJMca!`4NJ;-T|a^=XL3Uf^Jyk96_SswViC#S>mba z+=VW!C2tF~FIEENp1UEBJqj`Qr3tkIW7t@Pt>I{0?*kwEe-qsK-v6?97bDtZkh#R0 z(vnB#VkhdeWp#7(rK#%Xm#vKO`EbkiW&iw5E>Py#it`qK5SHv-X!CG(w=HG|`AgT< zSVKcy$dp3tl&g7KdkPUSt=Bf;Sg)ZagYz1pjo850E!9+t8`-|iM#M1FggnnZBExQF z>}i-G+QT{Lf7wcpI3U-8>=`UYYBRtxhO=XTEvd?a#<@2|)faB9`!EM=UiIDCsZ;M4 zr~7uCsq+G>lMcHrSu+CH>g_spguZhN{eQO|Nv^#bx(eMLbc_L`cfBcY)O{h~!K>ee z>wojd_wp1s*fMRm(+x+}c8s>*okh2@;DyrFWV|uSf3dDVcm{79n^C8vajykKNQ+5l zmlK%BwD~lfz`x`f*`q83Fqiv44%}KYlL?lJ3;k!~+JyziVrC;akb<-#X~h^B;=VUD ztRQ4oZYd6(Rg}gRm~A(1B|^KewKmSH zXVG@Q-t~rM)OP&A+i~;n|J=rIM;#PzoWag=@rR+hU|u&G5UooJ(`L}Lv?I6$F}B1e zvLK!6e$-w6>#?&^%#b{$q3eRZpf*^ekyc}Lf1Sl5a}C|nLObK91<$CE=XCfWK&89p zM_21j^VBCSl4o$4!6Hb*h(Zw(0xHblJZGB?$1%AlcIa*v!7Ywc8qDKQs_&L{NhtOD zSzYBvEz$zU{;nRpT}yFBxc3VC@P^@*;?r?H*zmcfrg#2Z6DYY#taIdgJ}z$r*lk8Q zfAAjL3?hQua~JUVV~8R6(Q9Kh1Dvhl*m>vT5*gL&uajoJ=-{D-wUvNsmC?^cbE zhX$9lY&+3CpmY-rwNYZ*`Aw~6jPJ&NQL*1SwO~ix(8IJHmE9@IAQ1zLJ+QkN*;O`F zhizB3SlR5u|A5`yT_0%~Fh5OZ{@t`Ff6Y!LxDXvA2vSg|9h7MTg$M}=ltu&(u!b8; zT6z?9qOH0O3p1m*u~3_4wZp4TTAEJ`9H>_nlsWrM*=k(l5blQ$XaWV#JF6Rdj7H$} z%vmfEsI{Zx)SJrXhRV|MHSXLq-VhN3H+=#_SQcIi+;={mcX7k-{7dBBV@sF1e;9>s z1hh~u=GFDWo6by|1c4srB8&R1;ezZk$~NlK4N6mko5WetQlzWD>P9ek2+@4B-BqIP z%C%}21%=2ShE2}L%Qg|h2EhYl(W|cSP&MJYnFpo*IU9d34P%dNwR#+=^8_v#wamz_ z>!s#v1ZuZ9$nT<~O$3>yd5$*JNN`Cv;z zvOvEIqUH}Rdw6sqhQ1IK+UJSwcD12#B?IP_27CmU^1dXv%fhOu0z-jI~q`Fd>!+CbL5f2)O0D}uRX zZ8*@A=N)qlHXX^6%}IThTZ1%O&nv`C#w|ClSdd@~ z6BqSbPQj{>^>Nho4sxxSJ-)0hZmGpAM?7UIrRZ6G8FMb(>9qQh8$WY76hLsWk@|?Nf3aQ-{SPVjd^hzQW!7Db+4o|9#tR*3k)v&hjO@uOkKT>x z*7y4kXiuEx9o+oiezGsV&GU9yh`K?Hqz!8j?E~_*12+h$C--#T9(w3?=QCvPf6d-J&#nbzR58M8 zjA0`rka~P=x8ZOHTjnMdxA!xSqXj8y!ODf{7!H7jErd91(CpY*Ehf}r0w&M>XaPV{ zTj*ry&8aDF>~mK!3pd>d4ilRTepCN9Jg6z%NR64H8=f%Aj7ZHHzKL_tLD+8Pt7@2; zAI;4GsMTVR{P{0}e~&+o(=NIKM~*&6X5$))Dp(1@Nvv&F zF8=db7fC~47oK;#lKW1Q;^2wz*#$%H-oT4dXk$8y3MelUe}Y;IN_AJ%V171H6Bh=$}2V0Mkzty~skfqfZNs&6b(D>yO&rDeYA zbpZV7(kd2r<#w@+n!^!p?HZQVA!6e;zo^}JW@C==;0OLQ9{j*>?{UX!!+#|Ol>1TH zGcVfH=M4xof2hdUU}!8IUQCX3gO0y>{PqlOTK;X>U3i0X1b15vo@j21EHu5bJDaxJ ztfdzfPk|2uL$q|QiK<=q;B#L>=#Hc6J8U~O#4Um0Nd`p5A&hYW*<*}|9w;piu{0C$ zZbeeft(D2@wz}Ri9dI;zwos_MY2|5h>pDjD**M1pe?Tw}1J*8jY8Eaj1eE5Yzn`F* z;97*n8{-gr>bR(lm@NI<{VLe!Q@&-B(z0W@BCK!E%^85G5A?-p>K#LCOLBuk-#g|F z=ji3&U8WsvH{62_((<*sAt`7n081&bRLku>wS{Wp?y$k`Ziei3&>*G}sChzFLJA2q4ybcR9Fm9h1V~W`En>8q z=dLZ<2OrRO4l^Y8C$Q1-b#IP_c#2Mw9(D>ke=SDG-G|xnLTOZX&>pA#?yl9noEJsh zUhxnwvd@kAFK@b`c7e*WqoGR#JZTdRrC*|CRW?NTvZ&)AEeUF2&%o=#hWA-gy!ohz znlPu;a!uOGJ}IdF+6^OAr!H0BJ!&HZyDv*KE;66O;oNe4Ab?xv+4AEV;mRK`_ zf9Xteu3o;F_1@rlCDrXn0&(BjxXz$?jjD=K|ku57b`Nit!o*$?P%U(SX62s)T>%@ zQnULdm%W-$-BU5e7sHS|>cR8sVsJs2o2)atd%r*YWR9*2&g$mk)hJgMo0UE3oIRL2 z_yol1{7$ovk@o~c22N1%xUaHC$g`7Fwj6F!RL6hW)pBNt#Zg(kbPgUUwtMvX1pASo{!I7A=MIrYdv+y-SeY?7JW7|3?N zJZGfAykDC7Y@TK?Yv=Mwt;n+}f7}o(eH=~@<(L5R;KdCZzD2;=Zab~lC=Q6%YIYqh zRX+IZWoPE(TslJlvOrD0Nj*ZA10#(C0!LKIppt<+fzn_eFkbgJ@@(7bn}B{H#HRh= zfZT=5fQ7U$*+R7D!)iOBh2GvgfxCx`huySA*$QTp=WZOg8&F8wtv0n9d)zhK(SN?7 zHQsZ?_W>?C4p=wm*P=_zYqPS5PC|7bY#VKA-<{dxDB41e8%J*Yy>J#ytM#EgoaevjqYc6RF1-dr)C}5ZEzLa*m=ZOaz~^ zYhdaUufeff;)y#z#IRtyARzLv%zxHvMi4(FQ%9Hfq1#V$j~{#^Q{%NkCZ6>Nah8 zW+G4Eg$}krGE1}3cioMwlLoW2Zf?m!F@i;NMA!tZJ99~w2Bqx^CfC$19)E8n*H&j6 zc!=(LV72H{REXPsU}OB)#P5nW^>Ke_U*x&W9X&|N99226Yg;_p)rlD~CD)$WRHubb zwq~pu(VKF0=k7ltAYmU#No-aWo3cvlXhVv2-1uBH#0A?^ zhghW8Q{6B+$3T`*n3EhA%ztj#?b=Nzpc^1{Ko%Rg-o^l!`l9FF`Rc~tv722s09lvM zWP)^A=9Id?Cz~YJ2BP=(>to8|5%=(gN`dx-|22+ZV;L)~i7S2$n1a{N==?#OM%Wmw z7ih0Vt`KqOOePvKf^^_&?GNY7=aaj3cZ#W#5=F3B6T4|&{ihu0DHJQ^_DQzBH z0cin5t)zf4vwdV2rGOx)VL)ZmtdOdgEoDzBa}p-y+AVkCNWaxI8`|I&NXS;a)?&_@ z6harPn^XJ(f9OWuu0bJQSb6h845)ajImkMyMk?LFzgnZKdnVkAqbeIBc7B(Ot+Gtdk8GmcrJ*DemH;veB8pM7Cis&A_N%Pkcf3TZwmf0Gk;sM~Tj4}Mx zCJMC*LP~vZ3x~JZgKrv-CQq~Nav;p}gyj>3GwU@pPJaQ zpgzI@Y9j`;v`Amr=KRhZwu7?aOzMk{H|SOy=H(soQ9PrQ)jdZebTh5H!8+&)v%NFq z9JCR?+94udFuAs?Z-Ve8moCa_J5Bq0-tbBkzp1*BMIu#}8r1LttItHdrsS^B zYqg^|tddgfV1GCT-WUS7VBPD&UhlOBRh`S|?>JWrE?jt>M$SNk-9%iD>I@+m50NRF zdc0<6UZZe;q!AwZxQ|gB$RbL~G!8LFBX>$QcdQMDOz{Ad22?kuObfJ8uftS~zNJ0R zzAd1(pDa6=c5@@`qpeK>>*l<<+pIZerW*@e70;q!5Pwk*gIT_pdf`d59J5Wn*=|u#k~4b>`7DeG-DVCMECuxMGzvpbsT|dAvJ_Jn3U8Vv-%(c9u*OsP2QgRWhS}= za06Xpz<<*kNCU#kfb5e`N-}zjxgl`sObK&Z(tf;0e1v#i?Bf*#);hxVMc;b@OL(Vj7Dd=J2h^55%Zl@aK&q{`WwIhL+|-B{OmvfK^%ShX}sx6 zz8v5Dy>G)g7d!`l_}jmR-~RXizePtE2Y=@UGQR9BUypzIUEdEt@jL(5FW}Q3|0urm zpZs$iKXw$yj~>N;{Fxu`(cI0^s?~)M?sa#Eo;+l*rvzXj8kDMi;co^;HX#$7u>-bv zuoxmjNd8Dk&kAY2Eus-o;W}ZXU!@pr;!z7?iax_`I&pJ9=&omK2d&-vvJnhvA*d-@2z>5E>CV@HnQSO4exaPeg? zJ*n^e^FREr_zyq*4*b@;Kep$6{C|g^`EmT=Z~dCXL$&}ezU-y=rT_ZQJ>UPWU;PDm z+rRi}Ty*JWxbrhNr* zhxcIV{_Ww@y*SQxw2QPTh<CJb(N9&p97&|Bi1$qk~W&vxjR@v4NnTF{j$PX!ay@XC0N= zkN)VygXqCAmQucq`)YA#DyM?Y)9edHI`q^OeI+l12{?(OiXsi8+Y>L7BFP!U;7Z8K zK=51`@2W#jRL!l;vs{^hoxiC246142!(@hqR{xmQtA(M2g=!B0g@1@b01aCxAk)Z8 z#V0@Z!T+TN_{pn3eBxXQ0g9jJV=?UJj!sL`@QBrO9%NfWSnzQ-m#RzahB?hO|{g$oqa;>pv^frSZGkY|) zbnfm}ZH#Z)>*BH)mSa35Qe&%TA0NC)F)8o4BL>_V%W3rd|KYM5{vf0|W^ zGo3tEET-7W5sgT(50`vL>c#A0n+0#n0Z}4Iv(qI&Yek9#EfdIr*9yg_KJih!;|IPA zU;B@~t#?f4oPQzCz2G@}e&F?2f21RK58Zz+e&yf%7%qPCiGO!0(Tcad_3QD?|M+b< z)OW&Vc6*|_?x)`V{W$jYQzu^RANw%&B&m3F_0WCy;@|(&kKv+AUvlDI_0VDb+yCeH z@Q=UoE1m`CY=YoT*3kS{I@H4ig5Z?5d@l}t@i(3DXRJT{0X*@mZwFLx=S{ z>seou@4F4h{(tQM#_sj+H~6a(&iX%o3B$!#V)w8AJC6O2UqlSa{>`!2;gTy5PCFO7 zSHBZV3?^rSJNvsebRonZ8d+-rm=Sp}C<#Ddh4|NKwQQ3VgIRL;uG@rC6i?ouGBP>Q zfCC~-3tCyalc?5$$O85FrY1y^PCb$i$$ap=e~u5m?|;vFz46xX{Xx9-d*8O_2mau< zeBFZ6{Y~;IXF=a~^QZBn-}|k50N;a$Pr>j0WOXMW;@@4E@w8_Z+EbLon`)n%{li?2TMAj;zp z?xB|*d4Jdc4P^$MdR||AvU?QyzS{r*<0Y>|y6_U5_8tEQ;dg!#J6Hc{=RX2KIRByr zoq(NM2Veh{IP?$Rj@@_vrjsZXB^Te(Y>JYGp&L=zE*_xDh#VjgBSthTe`7?kb-#1Y zAR%yS;Wo~v%qMS98BGA~Nl9!j?W|paIc4q6E1w&2H$uk2s?;E#RX9=9%Pg7;c6o_bFIy2pR} zCx0>D@IgQY<5}n9lyCn@qzf*=;eYtU*uC{ytP;4LCa8{tjKf5JcMMBAw2kg(WjMP=Jz;)RZ^;f`3nNtTuYNi(4oxdg5nX$BoVteXjfWzV*9t z^S=J2XaB&z$M$Q#!tFP-5972` zxv+O+Sqm5y<&pc4@4wytVe8;t7b*pG>mW}3o}cfF@A&)w8=m^LAMR6^kblx5n{W#j z5Sc=+WudrPQ{VuR4AttTPe4qgHL8u1>EsR-G4mxgoLKhf5ltQ!z{t~VW?vz6X2&w6 zFky7l-kL#q^07|bpw=6G+>rXuy$~9II&6xVPEgpBtME@b?R5OmPygZx8jBC%_kR69 zEHtmrxs?8vPMl8seII(ypMO596Tj%iFL@SRvqaXqFQ2RBnt!r9`7j>)4fD9+?L#=@ ztv`k{zyFsoTyV*T505^>`C)PKvYTC@yGJ*k=G6BZKK&e=@&Eo$h!EHOauJzq~-`ady{C-GT=w!At=3WDa)6YXV{XB18jv?Q7 z8$<+iDK_zN;8~sI5Mx3ve$qK+IJ+=P#S;UFJuh!DAgEI8`$L3ial>^*hz_EAh|kH> zv8b_}0aPEV8@tNlpqhX>1k`DE25(&Ci>B9dHi`Sm`Hb*HH-D76dQLWWxf3iF-$?=B zsxSOfeEHY?{S!hi$B!L*7TboIPS{Yq`Qo$sv9-rh)gK7`97M_wzWZJH&0qRiy!HG3 z3I66SUCg1svvI7!VDAo9f%@13c=+G_?>KnXSL5_=cpG^85DtCOH=*tv#nE^D+6E14 zgS_ig4`RaJAb-=nm}I{HHUNZl!NoZIkA4`B{mi!`a_H(FOIWAgFeUef2^&eJE$j?gHguW&vjOi$1wzdlSWF7olOB}@!FGs zKIaTwe<~+#Dw}-=MSv8%#9%+G22@p?_nhbApZ%MkJAWajcgf{1!^M}stnV3j+;S7H zzxqRX`pA(JF8*)(KmS=5s5d>zv8SKLCqMQf+;QtoeF|}+V&T_+>1Xls*ItDyUVGK& zC>PM9Df+k#Mi{WkL+NJZDuQDl{$uQ3|9+hJBfpJ!#`!q>#ovUZ@A|d=(Dhvvi~o*7 zL8}9OcYkdBKme$ZKZwVE{(HfvpNDgP=r^rf{(C=wqks5|T@D+VjYbv4-SK_i3r3x1 zgcQ1En+GNNygGTNiK`sF#tVUf0F-rscm{Zr6YOgTEV+2CAzkdfu!WlosCs~L=%XWc z-#GH9sYX+8ga!Q^$7(08Dvav?Igd-lKmAw#-+yPKmOr+o&~ONN(UCXD!Do!bRxp0TPp~t zJICvE9Rw|`MZND0C7#i|3i_B2%I$}ROyD|Wkc!HI5E zvxfDYu@f&q!X=l#9ItrI8}>I_e(_6i#eeIr!iV4c=llA;FZXK8qic$rFw5#d%d?YC+J7~> z<`z#DLo!$XT9*j7=D@HIlhgFI4{k@+8VyHNOmw~Jj>UGo zJ+q+SoE&g80n{T8J@BkI_Q-?x7Kl46!I`EudX0R;LW#icw;`F!v7&b*Hymbh} zb8JUD_K`o?u)MWjr+nQH;Lz?-qzhjJ-a6R-{;B`|^U$Xr-s97~N8v?;Cw}{1;q15n z26*crPWjfKz|;Tnp8{IIPz>XU3g3}ui<2;&0T$*o2LvJ%EaZc*q2KNUf`49rTe(n0 zK>NS}!=baze#fS$n>TDL#QlmD0`d+`-27Xb>j1e4q!TlNr3=01&f9UuS!dy*OE1U6 z58Q`e_}4#*`|iFA-lKa3lVOg;xahK%V4f%Z!oU1s+;Hv3{Tg6H>+Cm_6sLUA zKg5C8e=lOrePov8Pm7 zb7^&7$+ICNA$W$JU{Tk|hKt$~(c4szN1uG+kDY#X9KbGs2|#XCEC6`NJKh00|FV}E zAJ8o%c*FL#3DjGjt$(>)>4xfwKqN*0fw-1fmh6gV<4^@5Mb`?bGooz>O}dz#!+r30 zLpa_HjTFx?6?dHn?{VaJ?5%2_j4cm@nRKf=rm9OO#S@TPN_w*@YczdpEYM|=wbAyS z*3?|Znw&F+WQIT50No8q0?=KxHnl9h@gRMMLznaf%@&8Npnr`ii){=_d&iq$!>h4n z9S5c^7@y~in9K>Ih#(9DhzFBcmb~a=9PTk?f*|K=S|D1S_-mdw7}oZlrB*z2&)p}< z2LyK)smOMI3k>um4c`5Re#5#B1MmeKKxC?~)|^;cQEShN+4*n8DS)l^BXuw5s(Vyy zO?g&DT`|`t3V+%|V9eA(_h^jG^1Ak;X;IVhhI@kDj71rzK4o-j|1*4V$SLx%iPAmN zp!wB11)8zI4LspK$u41C!d%sc_Ow@$>oU6G(7lC zY$G}jOUwf;g+~`88F{vL)~__Fr;{_AV!zc?&D@8&P(JkZ&n`S7awdrG5ytmsU?ZQT z`9g>8B!3qC^=(H~THF-idfu24qT8LJ0sORB2Akz=*fUk>JEX%qA(_R7*6OtT(47s4 zm(s{inr;t^oM!~0t{pLLPc^3nB?#G0m)FNEfRQb();5Z;qyRWYE;;HEQ}hv{hk$q1 z_dZ}4sb)MaVwSE-j2O@b=o~{w_9eun2Jo2s5Pze^J_YymbcgxY5t+|O^{14(icGXR zNJB6jBeoHbW)? zgi%Rdl*D`Fw|_ewYfP;z1;H<%SQ=ztMy_I(Tdt}S@#p{$vd7hj=DE_OoIN_rxMCz> zPn1?SODxsEXg^k)@i)|cT%3*5DC*UTvVU!{wgu3{<|5jG&_+8lujRBPV3K$sjZU9~*Mh=6)3xk7%(xk!6wC zj?)tBBS!$iGg(5{QmZVrVY3Kn4il0KD8SEcBX8)CFhDY%qTnsFn# z2cR_-+*8zz!sBCZ*R-}_yd_3*E2mBP92vEVrCX7!=3A|`5hw$K>uJfup8F`PrDyta z)C`5lM`pH5ao5&bltL4qw-BG|o`2BmJz2K*Ny|3FbukbD#?z`jCRU?HcL_O+tL!Upa#x6Ry`pg!%1!S}9mN(|$WVtHj z?)`PzL5K;n5-5yFBw+Vc>}$avrdkS6izhOjtSr+zt5%qH*CjE1r*4|*6o2cO8s$h- zEJvhNb5DrWi)QNSlh%3GmLjR{N7wT;0u;qz4(bcNGnYk?Jf47@XUD!MIL6+cipR~e zi+QBxMOH}ekm{k*L@-#1Jo~ZKZaJrro>GL?4Ywne2?6d#AC|DjmfNKd1;PM}d+cIq=jP}X9Dfy{ZWa`hfxaeSA_Pv>F;g)(M2$QUnlGX%<~k#}QDsH7 z5vkf{!_0_rL~*lAv-LGZ!hwp;b|+2-gln~N;?_3iQV_fW+w`kuW++AM!QY z?+^u~d&D#ep5a;CStHdyh(bG{OsqDN@mfQ4i48?)KE+}b?q+GJ=6~4ah^Ep010#^r z{RirHz}>P|6g(uSidi+!&EA4cWJAp?T^33dIkA@75v~fNgc#jALj^>xM%%#gLP+i) zWw z-g4^-#6|PW0YZYr=6`^n#s1#3zX@qbeTR)P^&Pq0Yv~O5h3RCai<5)%+G^ggg zZk{tld)mC?3}Zkp6|qHz`k0SZEGM!On8luMQ4_JaG;v`bqkofPn`RcO?#Qr2%c4bY z2~58#+D&{I8;R;0HgD}HV(06roBM<~_@Z@ut@$sLb%)GLAa=tlYpLC-pFAR~HBqYY z6e99PVo*$I4F)s9#++HI)yshhOvy_KPrf7t*dD-DvLKrwCEHa+dNY-?+X2I!UH!BY zvhZy~rhHWEi+@qHA`$~Apfo@r&kiZ`l&Xknu+$`v|EdeW3W#>hvRl4Ye|Sr+_MX_{Uje~5TFgQfL5!n4;Ix3- z)=e|w;8t+O{r^BHHJc@e+lwdyN}e~&;T>NUb>@trC4mwYZnim3cEnRaBm&3k_hBEh zOeFxf6q)oL`W@eCT0)(&~2(&Pr{ z9@A}dVo!b`2BJG&)nXlgu@XYH0>Q>wwF$#vF@Fxh4Vp@xk%nYtf!n)P2gl7xpBIjz z2Y;uO%x)t_tHHza&{*ydgQ~d^gdugaqg)CGav-|7Z2>67x?OX`Rm^!t8dn?Oy8Bu; zC~CuWz2*#Z69ce6SWtvoplJlc7V3KUgc_gE4Me+dNuH)oHdyS;*tdFjQT2sq#}WZC zp?^>SZ5`;_FRMbPH8f|CT31-68R{ylIF2^@aT^M_o7NJy#l873TVNy0Rt0jg+Nf4> zLv`*Tv1Rav&LC;{VfQs|MoPpet_tG~d%1RuHjCcH1uS$)qM80k_vj;ZBUmdm zPpH!_qAza&VN!y|gt*#91wb+M8)@#UY=25aAC<)zH#`X~sj`p6dgpBDfGQADvW1d! z&v#y}R^6GanU<@&pEjebmfup{%{8RZ%`k1m=jyp&%$=B`LsCmjZ*?l4>>f8y>0t|^ z`!Xk*Ed@MqSL55w_0JmF=CwZRsswNxZ15vy&4n^UYqjHrgLxQd>#&%D**1{vu78b9 z(~r6a`IKTivEzHm<3x!Fk$_U{0+K+6B;N%?Sdxvp3M~*Ip?}*^q&S%4 z1M7x8ujO=Xy8Sl;NMm`Y?ugF-s#8gn@$l+BhM3%KI3_wYWKFI8z`H4c*(A zM8Q;@^$@(vO`Sb$_HLmwX^f%+gF-e;y(uu*TXjvcRRx4nElntf_$;UW&O9OR`r2l@0S{b`DLPry3h)-WU;%sf zz!-wh2ysA)egr|fV4Q=GoGA2sVQge8XLlJ@K_^_mPlq(zDnE+c6#5XsTL+ z#H$045P)EDtPM;LkvG`PhKJ5`#x&26Qk_DVG0zi36hlgVC$`)Wa`2rE34pr28iOMD ze3cLal9LxgV2^0COk!ump_Ys|HodWrPWKbjz^j80_OX`CNPY{A^Ka=rF%4GeVo}6d zCuB?tcGbOX*nhW*0@VlLZ1@RkS!T37re2qER!heOlY`UVFf&`H=@hWqg9+IO?m~y~?LDt-0~46KytA&>L_0A=PuyH$5^RSxoG>sWLO^*!oigUC)@8MhzPvyY^tsAU4XPctY$ z3~4}_XHZIAFQOo5X<#EejYtta5~_{fu*seC_$CsgL4_E)<9fU4Ol>y{y=Lq>2qsi5 z?sXjeXn(OCSG4wK2k;b6)J`GGwJgSuY3O;kE$LEyJTVNT?Ivu1E8OyoJl>wUZ)wn4 zt;Qr+ih%EoF$Uy0+t|)`UXd2$qR4YW^qR2|HN@qk90GzvRxufDV)J~fg;NSPZp#z2 zI!-tYU=j20agXoDTckD+@ZDBqHUa^;j~_Dx)_>jSS|C+0j05sCS=}y1EN+SJAqLFz zjB#8!u{Cy{ptJ>6<`D9>vy!w}KzP*P0J;mawHCWNCCCL znbA(gce-3H+Os`c28B&1#4a8Rw1pizb%#T+2BlekI8>q}s6>D=VzS02dQ-rGQQZoJ z;(y{|Z;(PoO2O=I0WZ#r*KvM~cHM1oAw9#UiQMhT;4Y=?)GqY^8m;CW5j@w#nho{w zp>gk4!>ap7=R7;CLN?hTo4mx3fZ)N^#NcSBL7ugnQ8qHDsp{-uNKB~HEu*A-8E`Mc<$)pwJ3%CX3D26n4bfCCxbIX~w?%!Xh z)NbK>(hKm+YyJ><`&1k|`y!M}uY#%~J$5gK2X6sA^{91|L_QKypgJuJKExJ-1@fFd z3CW*WSNw7a$XUI6GYEjmgf0Y2>uG5`S~qOclwHbbMLj`KYC)vf=hFt$7|P#R-G5Cs znyVl=T(LwOx`B3d_H@&~$YLw92*b6LWjQ)ioR-WyZHDO~ESZTeTPwb zgEwRQ?(0Ceei+OF^XcbfebK8hpL#xMy^Gbuw}k%|;80!k?O zR_{&=4zUCfiWIPDhcb+q3G2R`#L7+cKqguuzxnJ|wvBvQ^1>xdX>{yQJ%3W3F%F~A zv%Ka+tr%CM@%n0Uu3_=!#XxUJ?K?Qba(>~k5(nzAjd21O<8O`|zA{d7nCIMy56w}& z@eiw3|D5VGc5&^Ac6*OTQf%&Vzvwu~{6_|#zYTy4Q8_I)8*{w_pNwIVQ~&c#_U&erIY0Y+&gO)QZIRVdyXvJG~#y(-Y?kmXepa2R5iH*9@Y7 zKq~Aksi7g)0xl1v5Q{cS-h)~V|_-vNI7e(QLX z!yl;bvJOxncYTj;kVDXD6M)WAA!EW|E z+xLD7Tlak$tIvKK<ZN}NvF>8~<_}?b;$AQXtk1a!$1i+2%7If1E8BSr*o zehKPklh#hSi@Vdj%(=;GofMK;Ofw%gj#bKY}rU~A2s0moEKpA+3QXDrV2Xp7|yu*zeC3rjz8~}IQG&n z!SKK>ICSSnvGvFu=GLBP)Wc^$&U!9(&$|RAj(?!Mi*)2cfC%g7zYO`*bAjFC7#_U~ z+mGA@OglY1g&mb|y3;s};1Cc&%aKh+7HA7mJFQ*(Vly<)h{Uzd`zE81u=Zj6SbrlENv22@pyW1hF((HTD+1)3-0Bg;d!+@CAo&{&3 z7uh+6t(!l9Z2;@%ybO=M>8%)_xF1`$e}5Dt8S&UtkfTpvBQVP87h*o|63Btm z5b^|)jC%S7cZ)N=wb%0f;oHhM+yyO zf^$zsH}s$)z;Rjt0|_E4G(==-#N$S^Adif2s=cchgEL^HW`~a$MYAnd*Z5E?r(D9Y zA6+n=`{u9KeEA!&`s81LICeL6t$)Sr_Ek~m$yWQRXJO|>Zv<3v=!W+q9DTybolOWm zuKI{A1V)Vmrc=+y`kWU)woe6AF|SSqlOjIx0MhOejE~-p;i-oVrl@8S*XNyTM`X#f zv7ys40&B+J>?0zA*)vto;0@880bs~{pnn6eR*%*W zlrw;7Hh4nRj`(KYj+QJ1D*+5bSxAkdVh=~P8(1B{H6ERDCyP{{QAhi^4S9f3rHBZ* zG%_t=7^3<2Fr&=Vp0Q>NK?Iv-C3?D%#AI0I&M_lMG_0>?FoizNVE}VBFul1$lsvmq z(ev|UVcLKQ58rwF$vGnoJAY4N=hO>uVBE6WYtBYKZM%brbJqxX`UxDm_D>*j#IfhU z67}@+G2C?>R(D@-6NH=*hry4S3YH1u!*^lz$elgFd3QJjIqzc3r=5@W*)PPAmwYio z-o@5q_h5MBE{u=fg}C!1au%qYBytEST8yTI+GU}l6)He!ENJH!wtv*`wvdB!`$AxM z^K$yX!yDWt6U1OOX9$a-NCrQ6O{fx_dhf3B%|(H@AEV+>OrP*H3Vmadt0j>OD&mm( z_^r!EAwF?ok9hTN-Iakg*WNJ??!uLGMXrWM7+or&mfU5d7D!WFyKL`Yq=IS%doXzg z0rRxcm4`0*v^duaP=7=&1+^5UVd&GMCI~~58|-Hi!XaUN@H3bWpNsM72Z2Oj2a>A? zAX{xxQFDb*0Hz(RZu~1K6y*h1;K&z#3(^z!Ve7V!pv=2wg6M4KnsWy&83BVH1Ma*A zqkJ435;!oXb6$w~)N`?W;bl1Tk}m}3HCB(_jn!lKV0`#4V1GW2pbeJ_Aon%lu55H= zo3n^j1<^GdwPd@Q9NhoLrT|S@S4zd;A}NsVX3;I@N-5@8z|D4}_G7yi%iBn7bzGiI ze=99(IU4UV3@e9v0*2M9=kEd0YdJXI($s&`?%EhhVuqknP2m?~>ORawiChaWk zXV_f-?MLu)U;k#6VGGAz_jNes6MqD)8M#WITo_T*&iIzrz|99aaF_4l@EO>>^z#5I zIB?@%L7#dQF?zA8CUR-)3!B5bxZ00UZ8ondKn|RV^?%_rQO~##)0xkMh+_4~T{!Ug zJ)mPxfsQ{84vaDvr%zSuMk#iyxE?@LDv;cPp;S*Tk9}@kBzF%=rifgu3mnr3B{y0U z6H(BEEF94A>EN-ea=h=>Et^RX7b!emU zYI4;!`hRL}5Ys$iNT!HmHX>?kwwjBTNmSu{%;JQOg%=q@G&Xe2{{BoLmbSMb^9(Jy zi|eZhqH9bPK$)|D7O^sHLrI#zN0TzIqNxCpZR=D7rh!Z?c&tiK7=%^-Sh`wC!m5DA&p(%tg(PxR8C2uDCP!V zecoNkly*}6cr>n?K#-@klQAn&iWqo>oGo8BQgZCfx>crNfUlUtLl|8zol-vqs{66@ ztbY`TJIE&vdCtzVw#Er)LE&CvYz7B4qfcEdd?TB#J4W+tsl_oxCTK8nK^z8CDAsDg zIM``yCd3K^hLqCDtKxJ1Rs#kJ`_hEa^I!k@3MTA6@0HMy zu)6otzEA`uOE;i&&6`oYTVxj$?t$(4RDT<02aZ4$?7Z+w%xAp-;n90=@Q$m2Y1itJ z+UWJ{S#*RUj>a1-CU$SS;hKvb8CtPDtdMKQ)6cyE$6x-XIQ>(9hSlBI+Yar?THxyAHfq9fhPtnxh*%RuZI{m0jCsS8LPXAM8_v5DkN{-g9k^MpwSTmv zS~p~n+KCdiMR@tHpOQ65F$A+bCiZT0Ng`+lq2#m|sU~5N;u6drl5M+Sqq>QRn}<>- z$;N21=dcAMnJ1S+|QVuKkNw^8Q_EUnRklS>SLDW$lqRGp}6Z1jgtwg~~*leqoa zPvXfpd=t{$*BPK$+mq(W=|w@wEq^%zf!IA*y2Z1r{k?mll(4$%I;`%z2Km(UaP&2A zfy5OKUiW9f(I+78u%xOO6exKOtSiQG1<7-diYKYiIfGNcTxJ9gIPLx$z^9#qqnEw` zyBA!BQ*Zi9j5|*m9#*ZsYm8+?MyVMi2S{Kb1g~$zoe@0LSqYj8VzMqU1%JZ;K?cUg zxMfG;umz0?bDl7`dAH-)sErX_OZOl&vWC@k(u_GXz(Em-A*`6^ig8RHpI|Jb-k31= zq72)sRCNMWONwKUb#6fG#LY{2VJ9dVBYlMu&Is$y56ztG;9Mp z19NUJjNWK@m+gUkR5qy8KsLbO*cjl<_7E^;9Z$K*27 z3RD~4(73W=?bwqz@X0?1#TAZU`Ucdk!`Qm_Q{X$Vb1MoXVK$$VTxXL&Ixzu(5Xo#e zs+(FK`t*BH-tdh`Pd$vMUvw2XuW{N9??Z^m(Rrtr2Qs$t~p!nN?Psv7%1yChB!Ls&$xz&0|FFfTARA8Rxpdx)a>hqAp#|XgY)Ky z5Xkd&37FRFzRPI~RP<>`^9bY+x`?ZK(z#0Q=1C|8!!Y`;hsC%^jLtTff*8q4Ct|}d z#Y9ZTl>`D0W>8K>SARdE4u9nLP`3`_ z$QOJoj$Zy|V0FN$NbI}MfXHc~W)VSIQ6!ramY56GSs(v>po2yE}yk4W` z9R#hQvPRxHYCtbBG$!mSK|(-QnJBj?jVt2~iV+6P zoQQ!cAo2_kHGkNIL5R`lTe(y#LqHfti*IdEi#eSsI2i(A`M?19cZIt6lNk^YRKJ`4e4Qn=EOHs*gY)v7evN3Z@h|mxa z7zkQ{VvCNO(7iZ865`%I>eAdgzRvx;W(tk+?e= zG{&{KN?&1#?x%n3_b{D)K2j|>@1wtq>AZ{Z^ees;G;Vt&l^s#TV8Zz}hi!h|;$tih z5h+Du**F(2M$5}hX~25D_Ey;hR=LcGLj-d~uG#zxS)FW=!DYfo6(|*Ph|ri&i6^8}w_;`>QA+R6S#=C4|L#QCP z?wp$aF85LcM95txU_YyrYz@maTiLR^1FUx-6d;`3lhnD9PWxxxhd-dyVnwTud$u0D z4f)jbFdTUZ8awPXYq1O)Jqu+9L5hyVqsBEWVH@||j$a<><*)sDCpr!uYv zNVVxu7x#OjdT={lsWt|)qmaBVSUN#efC5UjzAh9oXjVs&S04>j-CkM z*i~t@R`(EQ2XGDdE1tSkR4fb+0w_C<<=%ty4i0|m-8lTQKS13+1y6p#Te17{F9wD! zbLJdvd{(7&6<0_jvIsN;oO%79V&{_A;rMCif}VO5=Y8n6Pz8A8&EF0=bS4S}N`F8~ zD=RUanpK@)!W@jM#ANow8oZfFh(0b8cSA^QE}^AZmszV%j{>0*8C=08`!wF4Gq4$0 z@9ttdGH6}{QlLbbLxQFONP}UCLqZzOBH08^YVu4bRDqWj#<^5cSL#`5QnEoW!#El- zKm`KlJEj02Ad6tivuS;+I9-jp@qfA*oqO{s?h@fRWhuVEf(xf=LFEA)hdvRBX&>%b z6e4;`rR39eI7jGh24?syel zgcV#0Ib|#KYp5IEht0**5+ie-QOb-IO;SmosU})5t#{1gqL{53H{0P5K&yk+rO&eg zzz(V#4=?zUXXCcy6nJx8Ab&_vq%@dcA;IA?yKf7_n!ys0hJ>08Mj}7zoBc3c&8SlQ zv6^5`2!?rbcfc}D$_xynl{NEZ-TTSnfET{@^HdZDEc;^2&$|N3jPbMALvpb(niCUL zopvo1<7n=i)vdfZaksN&GB8&iC?=?>tUO}W0&!>wIdMpVdr)EQ1b+aHTiAWc=b?s# z@y<`;z+-oM?5KJ)g3WWm#(;k43%?a--t;~UPd@0hBEqpVpNFHDy$OeI`2e;axw|u| zjcC!V<^;s?n=^`EQ|M&Ie!NsY1RfHWT#aXFxmm4DzaQmkfq;i1;*7j-JO zlho$-Tq~H&hKb4=hi`lz&iK@OP)|P(PkjDcarBZmAZ{JBF&iT-9BcJ(PJo%cpK*nu@*2h(kmQ7=_J|i$H)Lj{D`V(SAf!lSs zDUv}SgmHU&QGds=d&CR_LQJSqFz1Xw(H&(2LL5-V^~|1`64PKJq>!MsU;rV^6G#9a zSJ2e~)Fx6IOvX^0$N;h$-01)8qIkkw%+H(C;1dkNG-pT=uOkZt;s`(h$b5ZbNT?!y zDp^QcGj4{!+>!_k;{a6 zT4S2c`)(Kp6txkbkflb3XbuU++9u>FL$qRu3ALqDd1gpeAdLftVZ;EpKuEtZth(!i zh?glorX0r6$QoXz3=m*<*Jjt_HYjbG7z{9Tpk{yVX=#hJ4>}Bsm~|Jc`P7ABL(L zNUDEIg+@kk=!eUMQ*QiAoc`&*Kt26jJo)+Gf}7DUM(GQapX-mqE7}BT)}a0mI+~+Cx=g{lQ=*D zX&6B%BIknLc@0+U+UGK(3NQ>StcGphv3-BhLZF_e}Pt&hmfer!x#AlE*hhM+I8=4d!q#f65CEXu2$9r z&2!^TfGHqSXlh-Q$yAk|G%6&5)IOzqr`@C16#8vOC7GL2NR(D>D^`&nxPhx)$Q*P$t zF%2erEcV2-Ktt>H0&4ZV31ZaZAF65xq}ip1i^m`UHU}#MuEme{&}sfvoSq+}JK=jX zu#r^@VvJ8egfnk?HxAx$9d=%H6`p$a*Wl2jcjBp6eKo=*S0J7DJgm01z$qey0Sdfc8`{Q^AsrvDA|_Njl!c`}&EKXc>g#SoCv07QmLHi9YuN&`3r#L*~EAtoRM z48sZ(6NZ)T{302(W-B>3fI_k;21Cqkagx<+VMrc75sXL?2fO*fp%5~QH_dCXdpwt6 zM8gcv4ZEV(9JRuG4a&NgUQfr?HH@0(6MDOXU>>+=KuCv+45gcXr z2#&q-t5Am#bmTFt9=;u0kKArgkeamwsbCn*RbZ|ah=U2uoh?&qHik^|IO#f5bm~!a zKNZ)S+GvQozcYj3*)b-i#FDx$Y)9`fu7F?*TOr^fb_#s+IcZ{=QYuz-6vK@l0HuJV z&wm9DTyz=o`4k8B}xZ(XceDE+Hx#BC49=i*t-1L{$ z(Kp{~Q7HTLCz~BwBtlA~b)^E#Q$`BWt+3sR0n&*bAVvtDGU~h4>lAmQ zsM)=Cc=4XuC_A)TSG{Ow_TiF0K6E>_9=g*Yv|)wavoFTeulsw3BOQMVw0j)W3toZk z`)`FvHN}?C3q{r3?Ab$9J46Od-P(sI?|Z@DK)OAkUaiy8v{>7b4ty2Zr4v zs8ey5(uy#S(DgB#@!{XW`i$q};V=3w9K7~VaNy{ZHuxC=B+nQUVYe0xD`Q2Qq?1u) z?!GwM9Qes}E91Cj-EouM7MX0ufZR#OLNXpBHDATn$+Fn2aP`S`9`9oH&7``PBp!Ap#N%z|6` zqm%+(@8H1wH-H|x4bvGH;OO&Tjp>|=aO}WoIQHZNSUq}|H6KL1U}bJXor2Yq4?(A+ zSYqL<>!N=afa1a&IsPOL-|=xsnR{3t_sI#|LCP^V4_VpT+UmzJyqkvau+e9kRVq>( zz$qfe5t)p!9mf@D`ylxI^9?!(5fdjIzw*lvrX3u->pC2G^e$+rDAP`tgdTX}vpD#H z-@@ZB`!YN^Y~j@F{|u?lP_L`ZlSaWXY;MjoAhv(w%~hP#VBE?Slk0tL99E@Ct?>`)|PJK-uwVLwEE0atH`bJg6l&l0A(`a6#1M!4G~lI@0V=kfii=gHO=DuS! zx;b+Mq@c`m7nzfax$Osnn%OiWM|Xdt8nG_B2ng03sE7A?CS7*E+Sb9tP^l9a1vskeO;Ph9qSNJk&Vfjh3nbn1CH_S{#10Gx8m2f#-jvMGrQC=7_q zc=83W#<2@7!x>lqA=1thF6K7ce)F7RX0xXt_eRtuh+1nk#&Hqbap1K6X-0qATJ^A| zQtSq&!Pv~KVk{YF+*I*Y&gNqnOyDK1K2)FYc3rU7$7PzKAzGtX3Ro(N1MeXaW@q9+ z#bp@ij$%;DZzd(wJh}KCh|Pgask?zaaLWxRw*a5}cmILH{pqH8ZO&9>nLcm;tAeYO^szo$uO?W(ybPoWsX~5w-**7Bu{U8;x%u< zSy%rLKnjjN|4OXSdI8S;`0qn&#!L}UzxeZ^VZg!rZ^G7NcP-{UQXzli0UUYJ8zCT^ zdBa~|_xMqhiN=65Brw~|n0;nkU1K9vF{J1ugN!`Q4&+vpX%}HwEyn6z=$B$;OJo}l z=DAoN2~kgxl3J0rwt-ra%hUm3HT(+GG+~Hlh$*s2N(BKN5_H;K3;@)oD7FSX@6Tgy zrD{)uZ-z#u)Kf?icM*TH8uY>2ZaS$27*2WNW$yr_yW&e-8h}Q(5A!Z|pLYeeAG*!l zQ+J+1y!~qIy!cJnz2I_;Pu^$R4Y!)D;xSNejS*Z(UaEjZLC#yVqXSEF3J1{OVkM4H z4tDcWLQJC_`$V8&1xh0jl5hV5iYme|x*L{RiU~2oxCI5Hk|2Mj0omX!)I+BuOgrF` zvAz2w((VyFdifV&c=T@2`Y6T+?!fkgw_^94i}1uHZ-9>5(8ulvNk)R;;A3}znef=< zUksktI8cxK#3uBeha8@;ED>}a2dj&v{IipL16qm^cNc{`WgpFXjyEu4P z+;Z}2)gJw7c&dN6)vh~SRPh7@F)QX_3#Dd{)oBqd7G7zo0|tl(_cvSw_u37X`UJ%D zqK`lE*dP0XI}TtMzyu(-#RmZIc*i>sYjbvY>bj}wi^&{I_F%l~@$!q^LrNp~x_6=; zJRMKG{u^=du4@tRy3Uh-Ml_dWPUF&^SAn)X-(dKcIEa6m(v~^W2Rl}@6hs&+1y#Vo zoj>!8vNjr4j0wU7turD;u$UcMYkZiZ%}{eS`c|o6uOU}=d=l#yz5?myzlPKqeC$q~ zHm&i*m0yKZKk>(ic^4qUq5E&b)}7Zu&U_AzzUFHHsW|mBAHcBl1crxh!&&#;j3-|D zrFiUxSK@!Ho8E_f^a+5IExgDU>J1=;gyM+;xi^27rpOcqpLE1%tO$ushNUbN0p=UkoZ_tAtdgwtKJz7$e6ww4&Xfy!=r~=AmRc2+Gtn@xIGJM>K zYtGqwtu?0}zPa~JJSpP=V^kF~BknzC@3p4+zTX!DCH9SS^-@M3n@nT?;fm$XO^mCP zsI`BfG&1(gfN=XdcK^%&9Zf54{`&t8x_g=_D~|RJ!bG9aEf5ylkba2~F299y&;J>&edCW&Pu>F?2grZ8MnXk*{Y{*H?tj9`U;Z`r9{Cb3fAx=X z@X+TVd4Y2;e;cRX_yMkb_MhPBsjqvy0|&t()cuWR!)w&Z2o{(oZ;sh87-H&SP~!c`^R<7d zOoL^Y-5ZY4y=FE?R4@X=cfxnE43-Ce=Z}n7e$L-wjGmhz(>4&TRoI#Pq1$J$c>M=_ z@G^(d;^I_Og)O&m^x5Bol?`@Z`p%p>Zq4IU(NKqxb1ck>cTjh1`N+)UyJn)JgBJy< z>#!a+F!#`6vR`^^tVE_z#+0~lS2lk?WgNJl4HQ#`#A|Qwu`grm;)@8kuX7o0(-jnO z{nP&li>q&8b@At%^gDn&d!(vZ!0ksqhs`}tVtIH2C*OSmx<17EfluJ@zNc~eXMchI z=r(F~a)AH3Q6fqm=QR3Z!~ERg>$|NH*V{_RGf99*N zzx>hkfHp;p#S?!QqZ8eYSx`_PyiQg@cpwYowGwjfX2=i#CvuX`-fAOK zqLn%CB&O^yK_z-*y+$23SY7-D4)6as_ux%kpT{fa%=6#E=KNz=KlwG1tX!SKok2i_ zVfUS%;GSpyEw-<`hO1A012?|(2k5WAhYLUb3*7$LujAUM|1sLu4kUj?G_C(2OCdYnn8VERo+2mAKPPe9>$LZk zNIF*6EoTpS$eA7%EeMMhY|1_M8>yCKqUvP8S5?|XOLf1_M^{7#^Zn*=_AZZJbylF^ zINMiZMqDnS4%#*eCd1+h;RKAyMOiHVcb2BJ74(c2wS^U(nvtg3+E}T z|GAY>@PJzdDU6KC8;q2p792fB&#!t!gt?Bc`3G*)dtn>~G-c3YD;3tNCxUKJ%7$B? zVMMrd1HiIu~nc?b}|HuJGG`1sf@JxS2jzDg_hZE2K3C{iO zTR3>)^SJV<-@(?EH?Z~gk8$lw{}RK6r_k-3Kv--e#2zXhY7?lsiMd0_i#gpujhhpC zHVVcvLIRK-G+t^$?lYiDsa2x_+x*m<%t1{R(1tpW{<&fn)Y^Qz(91o+Fl%LwN)mzi zBm;|;!^g{PxT1e2+8@qxOh^@Psy_NA#JMCKG~z??Qhp^$po~csvc7}5djZ(L&IeQr zg8Hyh1i?2C6L@m_cRS}vY-+CW7bsocw%iKV8 zy(7suzgxZeW5mN7xb(R{z}XkRg;3UP1{!sgWhe}xfkF58aN=iwiB=kpp7;{hPyZ_V z%dcZ|{!tt}{smn4`CmY=hJ+Q085UTP*Bl6fWI}wMXMyG(;VyTOkWjUvHbT;?dzwpe z`d4c{bmxC?KjqAl$34Q$aULFv!Wmv00c&WD;*e;O5v`I4ECLX%0AqvZg@@R9sCaW9 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 p}15Pvy(RmL)=#E<1;VMIL=4hbg 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